タグ

ブックマーク / camlspotter.hatenablog.com (13)

  • 大事なことは全部MLが教えてくれた 〜 Apple の Swift の mutability 周りの件を理解する - Oh, you `re no (fun _ → more)

    開発者アカウントに金が出せない貧乏人の方々が、次の AppleSwift のコードの挙動がわからない、というので盛り上がっております: let a = [1,2] // a = [1,2] var b = a; // b = [1,2] b[1] = 3; // a = [1,3] b = [1,3] b.append(5); // a = [1,3] b = [1,3,5] b[1] = 4; // a = [1,3] b = [1,4,5]もちろんわたしも貧乏ですからわかりやすい炎上案件を待っておるわけです。これはわかりやすいわからないが来たね。 だいたい b[1] = 3 とやると a[1] も変化する、これがわからないという人 b[1] = 4 とやると a[1] が変化しない、これがわからないという人 二種類いるようです。私はまず、 b[1] に代入できることがわかりません

    大事なことは全部MLが教えてくれた 〜 Apple の Swift の mutability 周りの件を理解する - Oh, you `re no (fun _ → more)
  • 言語の実装は関数型言語で、は本当か - camlspotter’s blog

    表題の様なことがちょっと気になったので、型無λ計算の big step semantics (戦略は正格評価)を実装しました。まあ要するにしょぼいインタプリタですね。 FP でλ計算を実装する まず、普通に関数型言語(OCaml)で実装してみました。 λ式の型は t (term) λ式には整数定数と加減をプリミティブとして追加 λ式を評価すると value になる(計算止まらない場合はさようなら) value には引数を待っているプリミティブがある open List (** primitives *) type prim = Add | Sub (** terms *) type t = | Int of int | Var of string | App of t * t | Lambda of string * t | Prim of prim (** semantic values

    言語の実装は関数型言語で、は本当か - camlspotter’s blog
  • 金融と OCaml - camlspotter’s blog

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

    金融と OCaml - camlspotter’s blog
    joan9
    joan9 2013/12/10
    “問題を上手く言語化できれば問題の九割は解けたようなものだ、と私は考えるようになった。ただしそのためには問題への深い理解が不可欠なのだが…”
  • Real World OCaml が出ました - camlspotter’s blog

    一昨年から少しずつ書かれていた OCaml プログラミングの、 Real World OCaml (以下 RWO)がついに public beta になり公開されました。 ( https://realworldocaml.org/beta1/en/html/ ) 版元の O'Reilly ではこのベータ版の状態の e-book が 今なら安く手に入ります。完全版には後から無料でアクセスできるように なるそうです。( http://shop.oreilly.com/product/0636920024743.do ) !!!!!安く買いたい人は http://shop.oreilly.com/category/deals/early-release.do?code=WKERRLS をよく読んでね!!!!! このは、今まで外に伝わりづらかった OCaml プログラミングの最前線の一面を 伝

    Real World OCaml が出ました - camlspotter’s blog
  • 関数型言語を独学で勉強している学生です への答 - camlspotter’s blog

    http://oshiete.goo.ne.jp/qa/7896221.html にこういうのがあった: 情報系の大学3年生です。 僕は関数型言語に興味がありhaskellやlispを勉強しています。 ... 昨今のIT企業は新卒採用の際、学生時代に作ったプログラムを評価し採用の是非を決めると思います。 もし関数型言語で何か作っても評価されるのでしょうか。 僕ができることといえば、やサイトに載ってあるサンプルを少し改良するぐらいです。 そんな作品を企業側が積極的に評価し、採用してくれるでしょうか。 ... 自分で考えるべきことでしょうが、調べるばかりで頭が混乱して日常生活に支障がでてきてます。 全文はリンク先を見て。 答えようと思ったが、ログインとかユーザ登録とか実にアホラシイのでここに書いておく。 関数型言語は実用的かどうかについて 関数型言語を実用に使っている人は、実用的だと思って使

    関数型言語を独学で勉強している学生です への答 - camlspotter’s blog
    joan9
    joan9 2013/01/17
    関数型言語を独学で勉強している学生です への答 - Oh, you `re no (fun _ → more)
  • ウェブブラウザで関数型プログラミング! js_of_ocaml - camlspotter’s blog

    js_of_ocaml が熱い。 GoogleDart とか、そんな場合じゃない!! OCaml で書かれたプログラムがなぜか JavaScript に変換され、それがブラウザで動く。 JS で型がついていないオブジェクトでも何となく型をつけて OCamlで型安全に呼び出せる! 既存の JS ライブラリ資産が、ほとんど手間をかけずに、そのまま関数型言語パラダイムで使える! え?よくわからない? http://ocsigen.org/js_of_ocaml/manual/ の demo を試してご覧なさい。これが全部 OCaml で書かれている…! そんなわけで、 js_of_ocaml 体験記。だいたい実際に行っていった Hack を(行き止まりになった失敗枝は刈り去って)なぞっている。あ、ちなみに当方 JavaScript に関してはほとんど知識が無い。JS に関しては用語とか間違

    ウェブブラウザで関数型プログラミング! js_of_ocaml - camlspotter’s blog
  • コードを短く書くことと読みやすく書くことは違う - camlspotter’s blog

    module Z where import Data.Char data Foo = Alpha | Beta | Gamma | Delta | Eta | ... | Omega deriving (Show,Eq,Enum,Bounded) parse internals x = head $ (if all isLower $ take 1 x then [External i | i <- [minBound..maxBound], map toLower (show i) == map toLower x] ++ [Internal y | y <- internals, map toLower y == map toLower x]) else []) ++ [MakeIt x] data Lib = External Foo | Internal String | Make

    コードを短く書くことと読みやすく書くことは違う - camlspotter’s blog
  • コードレビューについて - camlspotter’s blog

    このところ立て続けにコードレビューについて話をする機会があったので 私が経験した最高のレビュー体制を簡単にまとめておこうと思います。 利点 何故必要か 何が嬉しいのか コスト うまく回すためには何が必要か 細かい運営方法 はっきり言って当たり前の事しか書きません。 私も当時は当たり前のことだと思っていましたから、特に気にもしていなかったのです。 ただ見聞するところによると、これをちゃんとやっているところはとても少ないようです。 ウォールストリート系のファンドでもろくにレビューしてないとかどういうことなんでしょう。 だから時々会社が吹っ飛ぶんですね… 結局は、ああだ、こうだ各論を言っても、ちゃんとやれるのか、それ一点に尽きてしまう話なのですが… 利点 レビューを何のためにするか、それはまず第一に自分達の書いているコードに潜在するバグによる損失をできるだけ少なくすることでしょう。 型システムや

    コードレビューについて - camlspotter’s blog
  • キャミバ様が id:ymotongpoo を木人形にされるようです - camlspotter’s blog

    事の次第 @camlspotter「めんどくせ、あいつに押し付けよ… @camloeba「おれには強く型付けされたコードが必要だ! あらゆる実験にたえうる木人形がな!ぶつぶつ‥ @camlspotter: 「キャミバ様、実はこんなものが… @camloeba「ほう… … ||||||:::::::;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::|     | |::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::||||||| |||||::::::::::/   ●   \:::|    |:::/   ●   \::::::::::||||||| |||::::::::;;;;;;;──────;;;;;;;;|    |;;;;;;──────;;;;;;;;;;:::::|||||| |;;;;;;;

    キャミバ様が id:ymotongpoo を木人形にされるようです - camlspotter’s blog
    joan9
    joan9 2010/12/15
  • 名前を考え付くと後からプロジェクトがやって来る。 - camlspotter’s blog

    先ほどのエントリで イカに Calmar という言語の名前を思いついたかって書いたんだけど、Sphinx の練習で Programming language Calmar の架空のマニュアルを作っていたら、同僚がそれを見て、おおぉ、もしかして Calmar って、これこれこういう言語!?ホスゥィー!!何時出来んの?○○型も入れてよぉー、とか勝手に夢を語り出したではなイカ。 まずい。マジで Name Driven Development。Calmar: Terror from the Deep! カッコええ! http://laughingsquid.com/royal-de-luxe-presents-le-calmar-geant-a-retropropulsion/ ていうかフランス人でも =:> を見れば烏賊と思うのですね とりあえず Squid operator =:> を入れると

    名前を考え付くと後からプロジェクトがやって来る。 - 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
  • 経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog

    今の会社に移って半年経ちました。めでたく試用期間終了です。といっても別に試用期間中に密かに首を切られるような事をしたとか、逆に試用期間が終わったからと言ってこれで定年までのうのうと働ける、という訳ではありません。未来は全く判りません。まあとにかく、一つ区切りがやってきました。 金融を知らないQuantsの仕事 私の職業の肩書きには Quantitatitatitatitative という単語がくっついて超カッコよさそう。普通は Quant というと、金融工学や統計数理に詳しい夜もブイブイいわしている超イケメン20代を想像しますが、私は金融とか全然知らないアラフォーお父さんです。それでも Quant です。お願いですから、私に何を買ったらいいかとか、聞かないでください。金融商品とか買った事ないし。というか、逆に教えて欲しいです。 私のチームは、当の Quant さん達が開発した、金融派生商

    経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog
    joan9
    joan9 2010/12/13
    すげーおもしろい
  • 東京は金融とか、そんな事は忘れましょう。 - camlspotter’s blog

    いまいち論理展開の判らない記事なんだけれども、 英語公用語化と都内超高層化 楽天英語を公用語化する、という話を聞いて、都内の超高層化を思い出した。 三木谷氏は「日人を覚醒させるキッカケとして、英語を公用語化する」と 発言しているようだが、 「覚醒なんかしたくない、背伸びしてグローバル化したくない」が 日人のマジョリティーではないか? で、なぜここで超高層化が出てくるのかというと、 「東京を国際金融都市にするために、土地利用をもっと超高層化すべし」という意見が、 グローバル化論者からしばし飛び出しているからである。 (後略) http://anond.hatelabo.jp/20100705201646 「東京を国際金融都市にするために、土地利用をもっと超高層化すべし」という意見も良く判らない。当にこんなこと言ってるの? 高層化したって東京は国際金融都市にはなりませんよ。 高いビルで

    東京は金融とか、そんな事は忘れましょう。 - camlspotter’s blog
    joan9
    joan9 2010/07/14
  • 1