タグ

2014年11月10日のブックマーク (10件)

  • 金融と OCaml - camlspotter’s blog

    関数型言語というと金融で流行っている、特に OCaml と言えば金融御用達関数型言語として語られることも多い。金融業界に関数型言語を持ち込み成功した最初の二社 LexiFi とJane Street Capital は共に OCaml を採用し、そして二社とも今日成功しているからだ。 今回はそのうち LexiFi について話したい。私が Ph.D を取った後、一年間、産業ポスドクとしてお世話になった会社である。 金融派生商品(デリヴァティブ)は様々な日時や条件、依存する別の商品価格によって価値が変化する。デリヴァティブは先物やオプションなどのような一般市場でも流通している簡単な派生商品だけでなく、会社間でだけで取引される非常に複雑な物もある。これらの商品にはそれぞれ業界内で通用する名前が付けられ取引、評価、管理が行われてきた。そしてこれらを扱うプログラムもまた、それぞれの商品ごとに別個の機

    金融と OCaml - camlspotter’s blog
  • 最強OCamlでセッション型を実現 - keigoiの日記

    この記事は OCaml Advent Calendar 2012 の 18日目の記事です。 OCamlでセッション型を実装した、というお話です。ちょっと時間がないので簡潔に書いています。 ソースはこちら セッション型 セッション型とは: 通信チャネルの型です プライベートな二者間のメッセージ送受信が整合していることを保証してくれます。(定義によっては多者間) 例えば let thread1 () = send c "Hello"; send c 123 という関数は文字列と整数をチャネルcに送るが (send c vはチャネルcに値vを送るプリミティブとする。以下同様)、 let thread2_bad () = let i = recv c in let j = recv c in print_int (i+j) は整数を2つチャネルcで受けるため(recv cはcで受信した値を返す)、

    最強OCamlでセッション型を実現 - keigoiの日記
  • Monad にしちゃう functor を通して今時の OCaml モジュールプログラミングを俯瞰 - camlspotter’s blog

    これは私用の覚え書きを適当に整形したもの(というか Sphinx で hatena 記法にしただけだけど)。だから他の人が読んで判るように全く書いていない。OCaml や ML のモジュールシステム、 value polymorphism、さらには relaxed value polymorphism、そして日語を知っている人に、ならば何か役に立つかもしれない。多分地球上で数十人もいない。まあいいや。これ見てウヘェ、と思うなら例えば F# みたいな ML モジュールシステムを放棄して class 階層を採用した言語とか、 Haskell みたいな type class でモジュールを実現したのとかを使うか、それとももっと超カッコいいナントナクヒューリスティックで便利キワマルな型推論補助のついたモジュールシステムを考えて OCaml に足して公開すればいい。正直私もここまで来ると ML モ

    Monad にしちゃう functor を通して今時の OCaml モジュールプログラミングを俯瞰 - camlspotter’s blog
  • OCaml の let と let rec はなぜ別扱いになっているのか、決定版、もしくは OCaml 暦十何年だったか忘れたけど仕事で Haskell を一年使ってみた - camlspotter’s blog

    はじめに断っておくが、全部Pros/Consのあるデザインチョイスなので、こうじゃなきゃいけないってことではない。ただ、 OCaml はこの選択をした、そいう事だ。 前回の「経験15年の OCaml ユーザーが Haskell を仕事で半年使ってみた」 http://d.hatena.ne.jp/camlspotter/20101212/1292165692 のような易しい文章ではないのでわからない人はとことん判らないだろう。まあ勘弁して欲しい。 あと、面倒だろうが、読む人は全部常体を敬体にして最後に「と思います」をつけて読んでくれ。ください、と思います。 Shadowing は便利であると思っている OCaml の let は非再帰なので以前定義された名前に別の値の束縛をオーバーライドできる。OCaml の人はこれが便利だと思っており皆普通に使っている。詳しくは http://d.hat

    OCaml の let と let rec はなぜ別扱いになっているのか、決定版、もしくは OCaml 暦十何年だったか忘れたけど仕事で Haskell を一年使ってみた - camlspotter’s blog
  • Effective ML 9ヶ条 - camlspotter’s blog

    私の前のボスのハーバードでの講演のビデオが公開されました: http://ocaml.janestcapital.com/?q=node/82 彼は早口ですが、まあ頑張って聞いてください。普通に判れば、アメリカで普通に仕事できます。判らなくても仕事できますから安心してください。 正直、この Effective ML 9ヶ条と Jane Street Core のソースコードを見れば、 Jane Street での関数型プログラミングの秘訣は大体抑えられると言ってよいでしょう。学問的には新しいことは何もありませんが、徒党を組んで関数型言語によるプロジェクトを行うには重要な物ばかりです。 この、Effective ML 9ヶ条をまとめておきました。これを見ながら視聴すると良いかもしれないです。オリジナルは 00:47:13 で見れますね。 コードライタよりもリーダの意見を尊重せよ。大体において

    Effective ML 9ヶ条 - camlspotter’s blog
  • 多相バリアントを使いこなそう(1) - osiire’s blog

    以前OCamlは学習コストが低いといいましたが、私のOCaml学習の中で唯一多相バリアントだけはその意味を理解するのに時間がかかりました。ただ、分かってみると単純な話で、誰かが噛み砕いて説明してくれれば回り道しなくてもよかったのではないかと悔やまれます。また、多相バリアントについて集中的に解説しているWebページもあまりないので、ここで解説してみようと思います。 多相バリアントの基 「多相」バリアントというくらいですから、多相バリアントは多相的なバリアントなのです。普通のバリアントは多相になりません。例えば普通のバリアント型、 # type card = Joker | Num of int;; type card = Joker | Num of int # type in_data = Str of string | Num of int;; type in_data = Str o

    多相バリアントを使いこなそう(1) - osiire’s blog
  • Python 3 で少しだけ便利になった datetime の新機能 - Qiita

    datetime モジュールは Python の標準ライブラリの中でも、使用頻度が高い割に罠が多かったり使い方が難しかったりする、あまりイケてないモジュールだと個人的に思っています。 そんな datetime モジュールですが、 Python 2 のプロジェクトPython 3 に移行した時に大分コードを整理できてちょっと感動したので紹介しておきます。 unixtime との相互変換 unixtime から datetime.datetime への変換は、 ローカルタイムなら.fromtimestamp() で、 UTC なら .utcfromtimestamp() 関数で行います。 >>> import time >>> from datetime import datetime >>> now = time.time() >>> now 1415542873.099776 >>>

    Python 3 で少しだけ便利になった datetime の新機能 - Qiita
  • インドからの一時帰国。久しぶりに見た日本で考えたこと

    実は10月末に一週間ほど日に一時帰国していました。身内のプライベートなことでの帰国だったので誰にも言わずでしたが。ほとんど実家で過ごして、しかも平日は仕事もしていたのでほとんど外出していませんけれど、とにかく日にいました。 それで、結論から言うと、日はすごかったです。何だかすごい国でした。その話を書いておこうと思います。 ちなみにこれまでも今年に入って数回一時帰国しているんですが、いずれも週末だけの弾丸帰国で一週間くらい日にいたのは今回がインドに来てから初めてです。 すごいよ日 インドから日へはデリー経由で成田空港に着いたんですけれど、久しぶりに ANA に乗ったんですね。これまでの弾丸帰国はより安い Air India を使っていました。ANA なので、機内の案内がヒンディーじゃなくて日語で流れますし、おしぼりも出てきますし、オレンジ色の派手な色遣いじゃなくてブルー系統の落

  • Amazon.co.jp: ANYATE 折りたたみベッド 簡易ベッド 折り畳み 室内外兼用 折り畳み式ベッド アウトドア キャンプ用のコット 収納便利 耐荷重:200KG 専用収納袋付き (ライトグリーン): スポーツ用品

    ryskosn
    ryskosn 2014/11/10
    簡易ベッド
  • 僕は自分が思っていたほどは頭がよくなかった - しのごの録

    Redditで話題になっていたポストを訳してみた。 僕は自分が思っていたほどは頭がよくなかったという高校生の独白にたいしてつけられたこのちょっと長めの返信がとても的確で示唆に富んでおり、多くの人のこころをつかんでいました。私自身、勇気づけられるというか身につまされるところがあり、忘れないために翻訳をしてみました。 まずは高校生の独白から。 僕は自分が思っていたほどは頭がよくなかった 僕はいま高校の最終学年で、次の6月に卒業する予定です。高校の成績は、いままでずっとAを取りつづけていましたが、去年始めてBをとってしまいました。もしそのBがなければ、卒業生総代に選ばれていたでしょう。 総代にふさわしいのは自分だ、つまりクラスで当に一番頭がいいのは自分だと思いたいです。でもこの一年で、僕にそれほどの知性はないし、僕より頭のいい人はたくさんいるんだということを思い知らされました。 また僕は、自分

    僕は自分が思っていたほどは頭がよくなかった - しのごの録