タグ

ocamlに関するslay-tのブックマーク (6)

  • 自作OCamlコンパイラでセルフホストした - molecular coordinates

    概要 ここ最近作っていたOCaml*1コンパイラmlml*2でセルフホストを達成しました。ヤッター github.com mlmlには以下に代表されるような、OCamlの基的な機能が実装されています。 再帰関数 ヴァリアント、レコード パターンマッチ カリー化 モジュール また、多少の標準ライブラリも実装されています。 mlmlの特徴 ほぼフルスクラッチ 今回LLVMやパーサジェネレータに頼らないコンパイラづくりを体験するのが目的の一部だったので、結果的にフルスクラッチらしきこと*3になりました。OCamlの標準ライブラリ以外の外部ライブラリを使用しておらず、字句解析器・構文解析器は手書きです。 OCamlで書かれている セルフホストしたのでそれはそうなんですが、OCamlで書かれています。 また、言語処理系を書く場合ランタイムライブラリはC言語で用意してリンクする場合が多いと思いますが

    自作OCamlコンパイラでセルフホストした - molecular coordinates
  • Haskell、OCaml、RacketでGCのレイテンシを測る | POSTD

    James FisherはGHCのランタイムシステムが彼らのHaskellのプログラム上でレイテンシに悪影響を及ぼしたケースを、ブログに投稿しています。 低レイテンシ、大きなワーキングセット、そしてGHCのガベージコレクタ:3つのうち2つを選べ この記事では、その問題(基的に、レイテンシはコピー時間の影響を受ける)を示す非常にシンプルな合成ベンチマークを提案していて、さらに「50ミリ秒のレイテンシは過剰」と言っています。それで、他のGCがどのようにこの問題を処理しているかを見るため、OCamlとRacketで合成ベンチマークを再現したら面白いだろうと思いました。 細かい話は抜きにすると、要点は次のとおりです。OCamlのGCは古い世代にある大きなオブジェクトに関しては問題はありません。コレクションをコピーするのではなくマーク & スイープで処理するためで、このベンチマークではワーストケー

    Haskell、OCaml、RacketでGCのレイテンシを測る | POSTD
  • コンパイラ中間言語およびその最適化の設計と実装

    こんにちは、びしょ〜じょです。 年明けに買った対洗濯物用乾燥機のおかげで窓を開けたりカーテンレールにハンガーを吊るす日々が終わりました。 ところで2月分の電気代はすでに1月分を越えようとしています。 1. はじめに 今年は4年次なので卒業研究! ということでjoin pointを追加したコンパイラ中間言語の設計と、その上での最適化を定義してやっていきました。 実装はこちら 卒研発表をスライドを作るためにも、何をしたかを噛み砕いて文に起こしてみたいと思います。 2. 関連研究 PLDI 2017で『Compiling without Continuations』1という発表がありました。 継続の緑のをもじったタイトルですが、CPSと直接戦っている感じではないです。 join pointと呼ばれるものを明示的に扱うことでコードサイズの爆発を抑えたり高速に動作するターゲット言語に変換しようとい

    コンパイラ中間言語およびその最適化の設計と実装
  • OCaml on iOS 7 Released

    August 21, 2014 Pansophical reader, with your bafflingly good mobile OCaml project, I’m ready at last to release an OCaml compiler for iOS 7. It works for all my projects, and I hope it works for yours. It’s a cross-compiling version of OCaml 4.01.0, and I’m running it under Xcode 5.1.1 on OS X 10.9.4. You can download a binary installer here: OCamlXARM 4.0.2 Installer for OS X 10.9 You can get so

  • 2012/08/26 Java基礎勉強会 at 名古屋 資料

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    2012/08/26 Java基礎勉強会 at 名古屋 資料
  • 静的型と OO というものははじめから… - camlspotter’s blog

    OO の方面から、「静的型とか別に役に立つとは思えない、静的型の人は頭おかしい」 とか関数型の方面から、「静的型が役に立たないなんてはずない OO の人は頭おかしい」 とか良く聞こえてくるんですが、ダックタイピング心理学 とかいう真に頭おかしい意見を無視できるとすると(無視できない量あるんですが)、まあ私にはどっちもわからんでもない、という話です。 型をゴミ箱に捨てておいてから、後でゴミ箱を漁るなら、型なんかいらない オブジェクトの静的型システムを大雑把にいうとまず upcast と downcast があります。 upcast はオブジェクトの静的型をそれが属するクラスからそのスーパークラスにを変えちまうこと、downcast はその逆、オブジェクトの静的型をそれが属するクラスから子クラスに変えちまうことです。サブクラスの物はスーパークラスとしても通用するはずですから upcast は失

    静的型と OO というものははじめから… - camlspotter’s blog
  • 1