2009-01-01から1年間の記事一覧
Scala is Not a Functional Programming Language http://enfranchisedmind.com/blog/posts/scala-not-functional/ Harrop 大活躍 Scalar は関数型言語ではない、closure のある OO 言語である。 読みものとして面白かった。両方共妥当な主張。
良い子は真似をしないように。たぶんすぐ fix されちゃうと思う。 $ ocaml Objective Caml version 3.11.0 # type t = () | true | false | :: ;; type t = () | true | false | ::
let map ~f = List.map f let _ = map [1;2;3] ~f:fun x -> x は ocaml では括弧が無いので当然 syntax error ですが、camlp4o だと error になりません。 似ているようで微妙に違うパーサが二つあるのは良くないと思います。
ニューヨークで OCaml を使った仕事 NY で二件、ヘッジファンドで OCaml もしくは関数型言語系プログラマの仕事があるようで、ヘッドハンターが連絡を待っているそうです。給与は 150K$ と 120K$+bonus なので、1500万円位。私の給料と比べると、、、うーん…
OCaml 3.11.1 は二週間後 という電波をどこからか受信した。バグフィックスっぽい。 arm backend / OCaml on iPhone Caml-list: (http://groups.google.com/group/fa.caml/browse_thread/thread/e411d2051ead4b4/4d6185121fe2efbd?lnk=gst&q=arm+backend#4d6…
alpha1 が出来ました: http://jun.furuse.info/hacks/gcaml backtrack して overload resolution を行います。ほとんど Haskell type class と同じ。 overlapping instance とか fun deps とか、そんな面白いものはありません resolution 上限が無いので変な…
by Stefano Bertolo (http://www.flickr.com/photos/stefanobe/3494646364/)
さて、じゃあ今度は plus と minus を同時に使ってみましょう。 毎度あんまり面白くない例ですが、x + x - x を計算する(つもりの)関数 id を、前回の plus を参考に書いていみます: let plus : $:(d : 'a -> 'a -> 'a) = d let minus : $:(d : 'a -> 'a -> …
Type-safe Unmarshalling for Objective Caml http://www.pps.jussieu.fr/~henry/marshal/index.en.html This type-safe unmarshalling does not need any modification of the OCaml runtime, and in particular uses the current format of marshalled val…
先物売買してる奴らが俺の名前を連呼する季節になった。ビクビクである。 もちろん向こうはこっちに興味があるわけじゃなくて、六月が期日の先物に用があるだけである。 アメリカ人は Jun(ジュン) という名前をまあまあ正しく発音してくれるが、それでも Jun…
えっとどこまで話したっけ? ああ、$付きラベル引数($-arg)がどういう風にコンパイル(というか program transformation) されるかでした。省略可能引数と関数抽象で dispatch を実現しますと言うところまでだった。 じゃあ、実際にそれを使って見ましょう。 …
パッチはここよ。 リリース段階でも何でもないので。期待しないほうが良いです。コンパイルの仕方は 慣れ 根性 コンパイルできた場合は今までのエントリと gcamltests/*.ml から推測してみて下さい。うまく動かない場合は、おかしいなー、などと思わずに、即…
まー要するに何かといいますと、type class の dictionary passing とか、GCaml の flow graph dispatch とか、SML# の polymorphic レコードの index passing とか、結構似ているので、dispatch だけ、それを何に使うか特化せずに書いてみたわけ。んでもっ…
型レベルプログラミングの会に参加して昔の仕事を色々いじっている内に、いろいろと思うところあって GCaml を再生産しています。といっても取り合えずは型レベル方向じゃ無いのですいません。六年も前にやったことって人間覚えていない、というか、意識的に…
caml-list より: Dear caml-list,I'm writting a program and I'd like to set up a menu in a terminal.I'd like to learn from your experience and if possible to be put in a good direction. I'm studying the Curses module but there is a lack of d…
なんだか最近新しい話題が多いので気が向いたエントリはまとめておくことにした。 [Caml-list] [ANN] Diamondback Ruby - Program Analysis for Ruby http://www.cs.umd.edu/projects/PL/druby/ Diamondback Ruby (DRuby) is an extension to Ruby that aims…
ocamljs http://code.google.com/p/ocamljs/ Ocamljs compiles OCaml to Javascript. It uses the standard OCaml front-end, so the full language is supported (the object system is partially supported, should be fixed soon).Included are several l…
module Num : sig type 'a t val (+) : $:'a t -> 'a -> 'a -> 'a val (-) : $:'a t -> 'a -> 'a -> 'a val int : int t val float : float t end = struct class type ['a] _t = object method plus : 'a -> 'a -> 'a method minus : 'a -> 'a -> 'a end ty…
module Add : sig type 'a t val (+) : $:('a t) -> 'a -> 'a -> 'a val int : int t val float : float t val string : string t val int32 : int32 t end = struct type 'a t = 'a -> 'a -> 'a let (+) $:d = d let int = Pervasives.(+) let float = (+.)…
は摘み出されます。海外の友達から聞きました。セキュリティには面接のアポがあると嘘言って入ってきたんだって。そんなキモい嘘吐き野郎誰が採用すんねん。まー、そういう事です。
有言実行: 薔薇を買ってったら妻もトルコ桔梗を買っていた。和服は安物ダヨ。 しかし配偶者に花を買って帰るって発想はなかった。さすが北欧人!おれに思いもつかない事を平然と言ってのけるッそこにシビれる!あこがれるゥ!皆様もお試しください。ただし、…
たった今、妻が電話を掛けてきて、何かの拍子に部屋に閉じ込められたと言ってきた。窓を開けて掃除してたら風が吹いたかなんかでドアが独りでに閉まって、その拍子になんかドアノブがおかしくなり、全然開かないらしい。幸い携帯を持っていたから連絡してき…
私の就活してた時の経験では、募集した人のウェブページとか、ブログとか、積極的には探されてるような事はあまり無いと思います。でも、見つけられた場合は、ざっとは読まれるみたい。あまりにウェブの内容が際立っている場合は(良い方にも悪い方にも)考え…
『マネー資本主義』って用語あるの? なんかNYCで俺が住んでた家の近く(というかNYSEの近く)でスーツ来た人たちが大挙して、こうもり傘で空中浮遊するっていう特撮映像が弾けた感じで良かった。こんな感じ: このマグリットの絵はポスターで持ってたんだけど…
id:ytqwerty さんが GCaml での type level programming の可能性にチャレンジされていた。正直六年前の事なので覚えていない事が多いし、そもそも type level programming をするつもりの拡張じゃないのでいろいろアレだが勘弁してほしい。全ソースは最後に…
懇親会の四人席の内三人が理学部兄弟だったので、残る灯台の id:wpw を偉い子ね、偉い子ねと褒めることが出来た。褒める教育。教育者として嬉しい限りだ。 その兄弟のうち、サイボウズラボのMさんは同じ時期にRIMSに居たのにお互い面識が無かった。改めて亡…
from Ruby Strikes Back: http://oldmoe.blogspot.com/2009/04/ruby-strikes-back.html ConclusionRuby is faster the OCaml. Wrong! OCaml is a lot faster than Ruby. But thanks to hard work by some prominent Rubyists you can have a Ruby setup that…
OCaml 3.12.0 より明示的に型を書くことで polymorphic recursion (多相再帰) が簡単に書けるようになりました: let rec len : 'a. 'a sep -> int = function | Nil -> 0 | Cons (_, sep) -> 1 + 2 * len sep let rec ... in ... で定義される値は、in の後…
# let id = let module M = struct end in fun x -> x ;; val id : '_a -> '_a = <fun>なんでですか?あんまり考えてないってのもあるけど、ヤバイ例が思いつきません。Caml mantis でも、 What you propose is changing the value restriction to accept a local</fun>…
妻の情報が漏れました。今日の夕刻、プレス発表前のにとりあえずの報告電話があったそうです。「お詫び状」を発送したそうですから、明日当たり、もう少し詳細が判るでしょう。 転売先でのデータ破棄を約束させているそうですが、そんな話信用するほど馬鹿じ…