タグ

ocamlに関するjoan9のブックマーク (24)

  • 大事なことは全部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)
  • OCamlの開発環境の作り方 2012年暮れ版 - osiire’s blog

    この記事はLL/MLアドベントカレンダーの記事です。 一時期停滞していたOCamlの開発環境は最近進化してきています。2012年暮れ時点における知見をまとめてみましょう。なお、これらの進化はOCaml開発チームはもとより、OCamlPro, @camlspotter氏、@m2ym氏の多大な貢献によるものです。 OPAM OPAMはGODI,OASISと同様OCaml専用のパッケージマネージャーです。従来システムに比べて使いやすさが格段にアップしています。現時点ではパッケージマネージャとしてOPAM一択で問題ないでしょう。 http://opam.ocamlpro.com/ (aptやyumに似た)単純で使いやすいコマンドラインインターフェイス。 ビルドシステム非依存でOPAM化が簡単。 デフォルトリポジトリがgithub上にありPRできる。 ダウンロード&インストール: $ wget ht

    OCamlの開発環境の作り方 2012年暮れ版 - osiire’s blog
    joan9
    joan9 2014/02/21
  • 金融と OCaml - camlspotter’s blog

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

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

    以前書いたとおり、OCamlとRubyで簡単な家計簿プログラムmohを作った。全く同じというわけではなく、後に作ったRuby版のほうが機能を追加したりしているけど、面白い経験だったので感想を書いてみる。 客観的な比較 サイズを行数で比較すると、OCaml版は279、Ruby版は360で、Ruby版の方が機能が増えていることを考えるとほぼ同じくらいといえると思う。ただし、Rubyはユニットテストが作成に不可欠だったので、それを加えると499行とOCaml版に比べて倍くらいになる。まあユニットテストはOCamlでもした方がいいのだろうが、あとで述べる通り、しなくても動いてしまったのでユニットテストはしていない。いずれにしても、どちらも同じくらいコンパクトな言語だといえると思う。 OCamlのいいところ これからは主観の入った比較となる。 よくOCamlは「コンパイルが通ればバグはないと言わしめ

  • 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
  • [OCaml]書評「プログラミングの基礎」 - あどけない話

    僕はよく「関数プログラミングの入門書には何がいいか」という質問を受ける。そのときは必ずこの(と他のいくつか)を答えるようにしている。書評を書いたつもりになっていが、検索してみると書いてないようなので、反省して良書を紹介してみようと思う。 プログラミングの基礎 ((Computer Science Library)) 作者: 浅井健一出版社/メーカー: サイエンス社発売日: 2007/03/01メディア: 単行購入: 17人 クリック: 409回この商品を含むブログ (127件) を見る 書はプログラミングの経験のない人を対象としており、書名通りプログラミングの基礎が説明されている。使用する言語は OCaml である。著者の浅井先生は、お茶の水女子大学でプログラミングを教えている。授業の経験を元にしたにはよくあることだが、内容が実に整然としており、例題がこなれている。 初心者を対象と

    [OCaml]書評「プログラミングの基礎」 - あどけない話
  • 構造的部分型の比較 - osiire’s blog

    私はOCaml, haXe, Scalaを勉強してきましたが、この三つの言語では構造的部分型がサポートされています。せっかくだから三言語の構造的部分型の特徴を比較してみることにしました。 OCamlは全て型推論してくれる代わりに部分型への変換は明示的。部分型変換ができるバリアントがある。 haXeは全て型推論してくれて、かつ部分型への変換も暗黙的にできるけど、場合によってはコンパイルがとまらない Scalaは型推論は(完璧には)してくれないけど、部分型への変換は暗黙的 全部違うのが興味深いですね。ところで、それぞれの型の表現も比べてみましょう。 (* OCaml版 *) # type t = [ `Const | `Var ];; (* 多相バリアント *) type t = [ `Const | `Var ] # type tt = [ t | `Exp ];; type tt = [

    構造的部分型の比較 - osiire’s blog
  • ウェブブラウザで関数型プログラミング! 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
  • Haskell厨を6年やってる俺がOCamlを仕事で2ヶ月使ってみた - keigoiの日記

    Haskell Advent Calendar jp 2010のためのエントリです(17日目). 6日目の id:camlspotterさんの 経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた に対するカウンター(になってるかどうか分からないですが)みたいな感じです. 近くて遠い隣人:HaskellとOCaml OCamlはHaskellと違って副作用があり,更にHM型推論をもつためプログラマは質的な部分の記述に注力しつつ,コードのチューニングもできる. つまり働くHaskellプログラマがシリアスなソフトウェアを書く時に使えるほとんど唯一の選択肢だ.しかし,同じ静的型付けの関数型言語でありながら,OCamlとHaskellの見た目はかなり異なる. この記事では, HaskellプログラマがOCamlを使い始めると,どういうトラップにハマるかを書く. なかでも,

    Haskell厨を6年やってる俺がOCamlを仕事で2ヶ月使ってみた - keigoiの日記
  • n個の対応する括弧のパターン(続き) - YAMAGUCHI::weblog

    はじめに こんにちは、OCaml界の桑原茂一です。id:nishiohirokazuがtmp.pyの解説という記事を書いていて、「あ、そういえば前これ俺が問題出されたやつだった」というのを思い出しました。自分の方のブログの記事を見直してみたらメモ化をしてないのですごく遅いまま。というわけでメモ化をするようにコードを書き換えてみました。 関連リンク 前回書いたリンクはこちら。n=1 なら ()、 n=2 なら ()(), (()) という具合に開き括弧がn個で考えられるパターンは全部で何パターンあるでしょうか?という問題。 n個の対応する括弧のパターン - YAMAGUCHI::weblog 今回のGistはこちら http://d.hatena.ne.jp/ymotongpoo/20101209/1291879286 — Gist 測定環境 CPU Intel Core 2 Duo L75

    n個の対応する括弧のパターン(続き) - YAMAGUCHI::weblog
    joan9
    joan9 2010/12/15
  • キャミバ様が id:ymotongpoo を木人形にされるようです - camlspotter’s blog

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

    キャミバ様が id:ymotongpoo を木人形にされるようです - camlspotter’s blog
    joan9
    joan9 2010/12/15
  • 若いλ彦

    BGM : http://www.youtube.com/watch?v=zvuC7D_IBuY 司会者 「みなさん、こんばんわ。『若いλ彦』の時間がやってまいりました。司会者 「今夜は、若手関数型言語評論家の方々にお集まり頂き、 『2010年代のファンクショナル・シーンを考える』 と題しましてお話をおうかがいいたします。みなさんよろしくお願いいたします。 ABC 「よろしくお願いします。」「ども」 A 「えーと、ほんじゃ、まず僕からいきます。まあー、ぼ、僕の場合はね、コードを向こうから、checkout してんだけど、今の Haskell はさ、なんていうの、こう良いものも有る、だけど悪いものも有るよね。B 「んー、僕の場合はね、ちょっと君とは違うんだけどね、あの、 Haskell プログラマの友達がグラスゴーとかケンブリッジにいるんだけどね、いつもパッチ送ってくれるんだけど、よく見ると

    若いλ彦
  • 経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog

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

    経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog
    joan9
    joan9 2010/12/13
    すげーおもしろい
  • Island Life - マイナー言語でお仕事

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - マイナー言語でお仕事
  • プログラミング言語の特徴を視覚的に比較する - Radium Software

    The Computer Language Benchmarks Game のページでは,計 32 個のプログラミング言語処理系のベンチマークを集計して,そのパフォーマンスを比較している。そして最近,このページに新たなプロットが追加された。単純にパフォーマンスだけの比較を行うのではなく,パフォーマンスと「コードの長さ」を関連付けて比較を行うというものだ。上はそのプロットから一部を転載したもので,全体はこのページで見ることができる。 このプロットでは,縦軸が処理時間(上にいくほど遅い),横軸がコードの長さ(右にいくほど冗長)に割り当てられている。このようなプロットを行うと,多くの言語は3通りの偏り方を見せる ― 左上(簡潔だけど遅い)に偏る「スクリプト系」,右下(速いけど冗長)に偏る「システム系」,そして,左下(速くて簡潔!)に偏る「理想系」だ。ちなみに,右上(遅くて冗長)に偏る言語は無い…

    プログラミング言語の特徴を視覚的に比較する - Radium Software
  • 開発環境 - OCaml.jp

    このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

  • ナベアツ算で知るOCamlとScalaの違い - なんたらノート第三期ベータ

    学び始めて最初っからずーっとなんですが、Scalaが従来の関数型に対してオブジェクト指向とのハイブリッドだと言われるのはどういう意味でなんだろう? という疑問がありました。 関数型言語でありながら、言語にオブジェクト指向機能があり、再代入が可能な変数がある、という機能的特徴だけ取り上げると、OCamlにScalaのような呼び名が与えられず、あくまで関数型と認識されている理由が説明できない。APIのデザインがOOPっぽいか関数型っぽいか、なんてのは、いくらでも作り変えられるから言語の質じゃないし。なんてことを思っていたのですが、最近謎が解けそうです。 どう書く?.orgのナベアツ算をお題として、ScalaとOCamlを比べてみました。 http://ja.doukaku.org/233/ 「3の倍数と3がつく数字の時だけアホになる」コードを実装して下さい。 また、余裕のあるかたは更に、 「

    ナベアツ算で知るOCamlとScalaの違い - なんたらノート第三期ベータ
  • 書評 - 入門OCaml : 404 Blog Not Found

    2007年05月25日01:30 カテゴリ書評/画評/品評Lightweight Languages 書評 - 入門OCaml 「入門Haskell」、「入門Common Lisp」に続く 毎日コミュニケーションズの「入門ほげ言語」第三弾が、こちら。 入門OCaml OCaml-Nagoya 書「入門OCaml」は、読んで字のごとく、OCaml言語の入門書。 目次 - MYCOM BOOKS - 入門OCaml 〜プログラミング基礎と実践理解〜より抜粋。 1章 OCamlに触れる 2章 言語の基礎 3章 型を理解する 4章 モジュールシステム 5章 オブジェクト指向機能 6章 標準ライブラリの利用 7章 OCamlで作ってみよう 〜MySQLと連係したバグトラックシステム〜 8章 OCamlあれこれ散策 で、OCamlはどんな言語かというと、こんな感じの言語。 let fizzbuzz

    書評 - 入門OCaml : 404 Blog Not Found
    joan9
    joan9 2007/05/25
  • 数理科学的バグ撲滅方法論のすすめ---目次 | 日経 xTECH(クロステック)

    筆者 住井 英二郎 「プログラミング言語理論」という研究分野がある。この分野の研究者たちは,「ML」「Haskell」「Scheme」あるいは「λ計算」「π計算」(円周率計算のことではない)など,多くのプログラマにとっては聞いたこともない言語やモデルについて,日夜研究している。ただ,そのような言語は「難しい」「役に立たない」などと思われがちだ。 この連載では,こうしたプログラミング言語やソフトウエア科学の様々な研究を,できるだけ普通のプログラマやエンジニアにもわかりやすく(どちらかといえば理論よりも実用に重点をおいて)紹介していく。 更新は毎月第2水曜日(1月のみ第3水曜日)

    数理科学的バグ撲滅方法論のすすめ---目次 | 日経 xTECH(クロステック)
  • 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

    joan9
    joan9 2007/04/06