OCamlでもレイジーリストは便利ですねー。参考のために、某案件で使うために書いたレイジーリストの実装を書いておきます。バグがあったら某案件のプログラムもバグっていると言うことなので、痛いです。ぜひご報告をお願いします。tail-recursiveとかも一応考えたはず。メモリ効率やスピードは計ってないです。ごめんなさい。 本格的に使いたい人はOCaml Batteries Includedを入れると便利関数が多くて幸せになれますよ! http://thelema.github.com/batteries-included/hdoc/BatLazyList.html (** lazy list @author IT Planning Inc. @version $Id$ *) (* Copyright (c) 2007 IT Planning inc. All Rights Reserved
名古屋Reject会議02で話を聞いたocamljsが面白そうだったので、OCamlよく分からないけど、ocamljsを使ってみた。なんか、シューティングゲームっぽいものが出来た。 [ゲームを起動] (Firefox, Chrome, Safariで動作。IE不可) 遊び方:クリックでゲーム開始。上から敵(水色の四角形)が降ってくるので、マウスで宇宙船(緑色の四角)を動かして、クリックで弾を撃って倒す。敵に当たるとゲームオーバーなので、ブラウザをリロードしてリプレイ。5点ごとにスピードが速くなるよ! 追加仕様:150点以上取るとエラーが出るかもしれませんが(未確認)、それがゲームクリアということでw ソースコード(game1.ml) ocamljsとは OCamlのプログラムを、Webブラウザで動作するJavascriptに変換してくれる。 id:keigoiさんの記事が詳しい: http
Video tutorials for the Coq proof assistant 22 February 2011 Andrej Bauer General Next week I am going to a meeting where I am supposed to give a tutorial on the Coq proof assistant. Inspired by the Catsters, I decided to prepare the material in the form of screencasts. You can find the first few tutorials on Youtube in my “Coq tutorials” playlist. So far I have: Obtaining and installing the Coq p
ユーザーズマニュアルの“Interfacing C with Objective Caml”に必要なことは全部書いてあるのですが,理解するのにちょっと苦労したので,自分なりの理解をまとめておきます。 プログラミングする際に最低限必要な概念をまとめただけなので,詳細は端折っています。 正確な知識を得るためにはやはりユーザーズマニュアルも参照してください。 (c) みっちー|写真素材 PIXTA 基礎知識 すべてのOCamlデータは,Cのvalue型として表されます。 value型データはunboxかboxに分けられ,boxはさらにblockかobjectに分けられます。 unboxデータ boxデータ block: OCamlが管理するヒープ内に確保されたデータ object: ヒープ外で確保されたデータ value型は,32ビットまたは64ビットの整数として定義されています。 unboxデ
OCamlでOAuthを使う方法を探していたら既にooauthというライブラリがあって助かった、と思ったのですが結構はまったのでメモしておきます。 まずCryptokit。これをooauthが使うのですが、ooauthがfindlib経由でcryptokitを参照するのに、本体のcryptokitはデフォルトのままだと標準ライブラリのディレクトリにインストールされてしまうので、METAファイルをこんな感じで用意して、site-lib以下にインストールします。 name="cryptokit" version="1.3" description="lib for crypt" requires="unix num" archive(byte)="cryptokit.cma" archive(native)="cryptokit.cmxa" 次に、ooauthが使うクライアントにocurlを使
Field Reports の拡張モジュールを作成する際に,メモリ管理やエラー処理といった通常サンプルプログラム等で説明されていような所で色々苦労しました。 注意点を記録しておきます。 メモリ管理 OCamlのGCと折り合いを付けるには,以下3点のルールを必ず守る必要があります。 関数の先頭に CAMLparamN() を置く。 関数内で allocate したデータを格納する変数は,CAMLlocalN() で宣言する。 return文は使わずに,CAMLreturn() マクロを使用する。 CAMLparamN() マクロ value型の引数がない場合は ,CAMLparam0() を使います。 value型の引数を受け取った場合は,CAMLparamN() の引数に含めます。 CAMLlocalN() マクロ 関数内で alloc したデータを一時的に変数に保持する必要がある場合は,
OCamlで作成したライブラリをPythonから利用できるように,拡張モジュール化した。その際に,いくつか苦労したので記録に残しておく。 なお開発環境は,Mac OS X 10.6.4 (Snow Leopard), Ocaml 3.12.0, Python 2.6.5 である。 一般的な作り方 mBの通り作業すれば,サンプルのような単純なOCaml関数をPythonから呼び出すことができるようになる。 しかし,実用的なプログラムでは外部のライブラリを必ず利用することになるので,どこかで拡張モジュールにライブラリをリンクしなければならない。 OCamlコードコンパイル時の注意 C言語形式のオブジェクトファイルを出力するには,-output-objオプションをつけてOCamlコードをコンパイルすれば良い。しかし,既存のfoo.cmxaライブラリが存在するとして,すべて-output-objオ
今の会社に移って半年経ちました。めでたく試用期間終了です。といっても別に試用期間中に密かに首を切られるような事をしたとか、逆に試用期間が終わったからと言ってこれで定年までのうのうと働ける、という訳ではありません。未来は全く判りません。まあとにかく、一つ区切りがやってきました。 金融を知らないQuantsの仕事 私の職業の肩書きには Quantitatitatitatitative という単語がくっついて超カッコよさそう。普通は Quant というと、金融工学や統計数理に詳しい夜もブイブイいわしている超イケメン20代を想像しますが、私は金融とか全然知らないアラフォーお父さんです。それでも Quant です。お願いですから、私に何を買ったらいいかとか、聞かないでください。金融商品とか買った事ないし。というか、逆に教えて欲しいです。 私のチームは、本当の Quant さん達が開発した、金融派生商
事の次第 @camlspotter「めんどくせ、あいつに押し付けよ… @camloeba「おれには強く型付けされたコードが必要だ! あらゆる実験にたえうる木人形がな!ぶつぶつ‥ @camlspotter: 「キャミバ様、実はこんなものが… @camloeba「ほう… … ||||||:::::::;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::| | |::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::||||||| |||||::::::::::/ ● \:::| |:::/ ● \::::::::::||||||| |||::::::::;;;;;;;──────;;;;;;;;| |;;;;;;──────;;;;;;;;;;:::::|||||| |;;;;;;;
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く