タグ

ocamlに関するtakkan_mのブックマーク (21)

  • 少年オッカムル - 序 - - 暗号、数学、時々プログラミング

    少年オッカムル | 17:56 | 「それで、キミは大学に入ったら何を学びたいと思ってるの?」 と、リンダさんは言った。彼女は僕の通うK塾のチューターだ。地元国立大2年。現役合格らしいからハタチってトコか?結構ファンも多いらしい。ちなみに美人というよりも可愛い系。正直、白衣はあんまり似合ってない。それで、今は高2の僕が来年ドコのクラスに所属するか?を考えるための面談中だ。 「えっと、、聞いてる?」と、少し困った顔のリンダさん。「あ、ああ。はい。」と僕。大学ね。。大学生活とかって、あんまりイメージ沸かないんだよなぁ、、、 流れる沈黙。 「・・・うーん。。。プログラミング、、とか?」黙ってるのもアレだし、何か適当に思いついた事を言ってみる。「へぇ!」 何だかちょっと嬉しそうなリンダさん。あー、怒られないみたいで良かった。「キミ、プログラミングとか興味あるんだ? なに?やっぱりゲームとか好きなわ

  • OCamlを使ったシステム開発まとめ - osiire’s blog

    うちの会社(有限会社ITプランニング)でやってきたOCamlを使ったシステム開発の概要を書いておきます。ふと思うと今までまとめて公開したことはなかったなと。別に隠す程のものじゃないし、もしこれからOCamlを使ったプロジェクトを始めてみたい人の参考になれば嬉しいです。 2006年 某証券会社のWebサービスの一部を担当 株価を解析して、その結果をWebAPIとして提供。OCaml + MySQL。HTTPベースで提供されるXMLファイルが生データだったので、この時初めてXMLのパースにxml-lightを使った。これはかなり便利。その後も使い続けている。nc(network cat)ライクなモジュールも作った。行列変換のためにC言語との連携もしたけど、特に問題なし。そういえば、この頃はmarshalingが好きで、DBへmarshalingデータをそのまま保存して「Objectデータベース

    OCamlを使ったシステム開発まとめ - osiire’s blog
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • F#やOCamlの日本語サイト - CamlTV

    関数型言語 F# や OCaml の日語サイト『CamlTV』 - インストール方法の紹介やCamlTVブログを公開F# とは F# (エフシャープ)はプログラミング言語です。マイクロソフトの研究チーム『 Microsoft Research 』によって .NET プラットフォーム向けの言語として開発されました。他の.NET 言語と同様に .NET クラスライブラリを利用したり作成したりすることができます。 F# は OCaml に似た言語構文をもち、静的型付け、オブジェクト指向、型推論などの機能があります。 OCaml とは OCaml (オーキャムル)は Object Caml (オブジェクト・キャムル)というプログラミング言語の略称です。OCaml は関数が値のように扱えるなどの特徴をもち、関数型言語に分類されます。ML という言語の一種で、もとは Caml という言語でしたが、

  • OCamlのまなびかた - まぁ、そんなもんでしょう。

    いけがみさんが素晴しいエントリをあげてらっしゃいます。Inemuri nezumi diary(2009-05-03)。そこで「OCamlのまなびかた」について思うところを改めて書きます。 まず、Web上のチュートリアルを読めば、ざっくりOCamlがどういう言語なのか分かるかと思います。次の二つがお勧めです。 http://www.ocaml-tutorial.org/jaObjective Caml 入門 一緒にOCamlをインストールして使ってみながら学べば、より効率的です。 $ sudo apt-get install ocaml; sudo apt-get install ocaml-mode lennyのパッケージは3.10系でバージョンが一つ古いので、こだわる人はLatest Objective Caml releaseからソースを取って来てコンパイルして下さい。./confi

  • OCaml/guideline - U-Wiki+

    Caml Programming Guideline 和訳 原文 ページの和訳は未許可翻訳ドラフト版です。 This Japanese translation document is a draft, which is not yet permitted to make public by original authors. Japanese translation by M.Ukai (ukai at sansu dot org). Caml プログラミングガイドライン これはCamlプログラムの体裁を整えるための、 ベテランのCamlプログラマのコンセンサスを反映したガイドライン集です。 が、誤りや漏れの指摘は喜んで受け入れます。 コメントはここに送ってください: webmaster @ caml.inria.fr オリジナルの英訳者: Ruchira Datta このページに批評を

  • 一年生(一般教養)向けOCamlプログラミング入門 - sumiiのブログ

    大学で全学(一般教養)の一年生向け少人数授業(といっても20人でしたが)を一回(90分×3コマ)だけ担当したので、OCamlでプログラミング入門をやってみました。「1 + 2」の計算からはじめて、一日で2Dグラフィックス、ネットワークプログラミング(HTTPとSMTP)、3Dグラフィックス(OpenGL)までやりました。 …というと無茶に聞こえるかもしれませんが、CとかJavaとかでやるよりは、ずっと簡単だったと思います。提出されたレポート課題でも、多くの人が簡単なループや再帰ぐらいはできていました。ちょっと著作権上の問題があるキャラクター:-)のグラフィックスもあるので、一般公開できなくて残念ですが。 P.S. マニュアルを日語訳してくださったocaml.jpの皆様にこの場を借りて感謝します。 追記:類似教材として、東大教養「はいぱーワークブック(HWB)」の「17.4 プログラミング

    一年生(一般教養)向けOCamlプログラミング入門 - sumiiのブログ
  • azito.com

    This domain may be for sale!

  • exhaustive な switch - まめめも

    OCaml ではパターンマッチの抜けを警告してくれます。Haskell より OCaml の方が好きな点の 1 つです*1。 type t = Foo | Bar | Baz let f = function Foo -> "foo" | Bar -> "bar" $ ocamlc pat-test.ml File "pat-test.ml", line 2, characters 8-44: Warning P: this pattern-matching is not exhaustive. Here is an example of a value that is not matched: Baz今日気がついたのですが、gcc でも enum に対して同様のチェックをしてくれるようです。 enum t { foo, bar, baz }; char *f(enum t x) { sw

    exhaustive な switch - まめめも
  • azito.com

    This domain may be for sale!

  • azito.com

    This domain may be for sale!

    takkan_m
    takkan_m 2008/02/15
    期待age
  • ocamloptを読んだ - mad日記

    ocamloptを読んでみた。そして色々と改造してみたりして分かった事をメモしておきます。 整数値、アドレスのボックス化は2倍して1足すという方法で行っている。 例えばprint_int 100と書くと実際にはprint_int 201という呼び出しになる。 四則演算などは、この変換を行った状態で実行される。例えばたし算の場合は、足した後に1を引くという計算になる。 これはRubyとかでやっているのと同じ方法 どんなに小さい関数でもlet rec ...と定義するとインライン化されない。 let recと定義された関数が再帰関数であるかどうかのチェックはしていない。 [| ... |] と定義された配列と、Array.createで生成された配列は実体が異なる。 特に[| 1.0; 2.0; ..|]のような配列は、メモリ上に直接浮動小数点数が配置されるが、Array.create 10

    ocamloptを読んだ - mad日記
  • 新しいOCaml本 - sumiiのブログ

    http://www.google.com/search?q=%22%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0+in+OCaml%22 (via http://d.hatena.ne.jp/syd_syd/20071022#p1) プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~ 作者: 五十嵐淳出版社/メーカー: 技術評論社発売日: 2007/11/29メディア: 単行(ソフトカバー)購入: 11人 クリック: 169回この商品を含むブログ (51件) を見る 追記:「内容紹介」の文章は著者の方が書いたわけではないようです。:-)

    新しいOCaml本 - sumiiのブログ
  • azito.com

    This domain may be for sale!

  • 第11回 クロージャによる超軽量並行プロセスの簡単実装法

    最近,ネットの一部で「Erlang」(発音はアーランまたはエアラン)というプログラミング言語が流行している(参考リンク)。Erlangはスウェーデンの通信機器メーカーであるエリクソンにて開発された言語で,エリクソン内部や通信業界はもちろん,Twitter(関連記事)などのオンライン・サービスでも採用されているという。 Erlangの特徴は,複数のプロセスが通信をしながら計算をする「並行プログラミング」を,言語の機能として強力にサポートしていることだ。C言語などの逐次プログラミング言語は,プロセスや通信の機能を内蔵しておらず,こうした機能をオペレーティング・システムに「外注」している。しかし,そのような外付けの仕組みは,メモリー消費量や速度,開発効率などの点でオーバーへッドが大きい。Erlangのような並行プログラミング言語では,プロセスや通信といった機能をプリミティブとして実装することによ

    第11回 クロージャによる超軽量並行プロセスの簡単実装法
  • 初心者が書いた OCaml 入門

    This domain may be for sale!

  • MYCOM BOOKS - 入門OCaml 〜プログラミング基礎と実践理解〜

    ■内容紹介 (* プログラミングがもっと楽しくなるOCamlの世界へようこそ! *) OCamlはフランスのINRIAで開発された、Haskellなどと同じく強力な型定義を持つ関数型のプログラミング言語です。型理論(型推論と型安全)、柔軟で強力な型システム、モジュールシステムをベースとしたオブジェクト指向機能など、強力な表現を可能としています。 OCamlのような型付き関数型言語は主に教育や研究に利用されてきましたが、ソフトウェアの複雑さが増してきた昨今、上記のメリットは多くのプログラマにとってうれしいはずです。世界各地で関数型プログラミング言語の利用が広がり始めています。 書ではまずOCamlの基礎的な事項を習得し、少ない機能でも複雑なプログラムを安全に書けることを体験できます。プログラムの構成手法や抽象化を支援する仕組みに興味がある場合は、モジュールシステムやオブジェクト指向機

  • Objective Caml 入門

    Objective Caml 入門五十嵐 淳 京都大学 工学部情報学科計算機科学コース 大学院情報学研究科知能情報学専攻 e-mail: igarashi@kuis.kyoto-u.ac.jp September�24, 2007 Contents Chapter�1�� 1.1��関数型言語 ML と Objective Camlについて 1.1.1��ML・Objective Caml の特徴 1.2��参考書,資料,マニュアル 1.3��環境設定 Chapter�2�� 2.1��インタラクティブコンパイラを使う 2.1.1��簡単な使い方 2.1.2��その他: ファイルからのプログラムの読み込み・コメント 2.2��基データ型とその演算 2.2.1��unit型 2.2.2��int型 2.2.3��float型 2.2.4��char型 2.2.5��string型 2

  • OCaml プログラミング入門

    OCaml のすすめ OCaml とはフランスの 情報技術系の研究機関の INRIA で開発されている関数型言語 ML (の方言) です。ML には多相型、型推論、ガーベージコレクション (GC)、 データ構造のパターンマッチング等、プログラミング言語理論の研究の 成果 (すごく最新のものと言うわけでは無いそうですが) が詰め込まれ ています。これらの目的・効用は、 コードの再利用の範囲が大きい (多相型) コードの記述量が短かくなる (型推論・データ構造のパターンマッチング) バグの入り込む余地が少なくなる (GC、関数的(副作用の少ない)プログラミング) 等です。私は OCaml を研究でのデータ処理をはじめ、作成するプログラムほとんど 全てにおいて日常的に使っているのですが、 とにかく開発効率が良いです。 コンパイル時の型チェックの厳しさには慣れないとちょっと面倒に感じる かもしれま

  • 第8回 独自のプログラミング言語を開発してみよう(その1)

    例えば,1から10までの整数の総和を計算して表示するプログラムは,MyC言語では次のように書ける(これ以降,このプログラムはsum.mycというファイルにセーブされているものとする)。 { zero = 0; minus_one = -1; sum = 0; n = 10; while (n > zero) { sum = sum + n; n = n + minus_one; }; print sum; } このプログラムは,個々の行が先の構文と正確に対応していることに気をつけてほしい。例えば,「zero = 0」と「n > zero」は,単に「n > 0」と書きたいところだが,今回の言語には変数と定数を直接比較する構文がない(!)ので,このような書き方になっている。minus_oneについても同様だ。もちろん,このような制限はあくまで説明や実装を簡単にするための「手抜き」に過ぎないので

    第8回 独自のプログラミング言語を開発してみよう(その1)