タグ

ocamlに関するkyon_mmのブックマーク (12)

  • ODT: OCaml Development Tools

    kyon_mm
    kyon_mm 2014/08/12
    いつの間にか4.00.1に対応してた。試してみようかな。
  • OCaml-Java

    OCaml-Java The goal of the project is to provide seamless integration of OCaml and Java: run OCaml code on a JVM, and manipulate Java entities from OCaml. Third alpha version (09 June 2015) The third alpha version is finally available, fixing several bugs, and enhancing the Java library. New alpha version (22 September 2014) A new alpha version has been released, fixing several blocking / annoying

    kyon_mm
    kyon_mm 2014/07/15
    yeah!!!
  • Welcome to MirageOS

    A programming framework for building type-safe, modular systems MirageOS is a library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms. Code can be developed on a normal OS such as Linux or macOS, and then compiled into a fully-standalone, specialised unikernel that runs under a Xen or KVM hypervi

    kyon_mm
    kyon_mm 2013/08/23
    プロセスもカーネルも存在しないOSをOCamlで書けてXenで動くとか、カッコよすぎて一瞬意味がわからなかった。すごい。頭悪いとかいうレベルを超えた。
  • CFML: Characteristic Formulae for ML

    CFML is a tool for the interactive verification of OCaml programs, using Coq and Separation Logic. The source files can be obtained from: git clone git@github.com:charguer/cfml.git For installation instruction, read the README file.The developments rely on my Coq library TLC.All the files are distributed under the GNU-LGPL license.

    kyon_mm
    kyon_mm 2013/04/29
    Caml系からCoqへの変換ができるっぽいです。あとでOCamlで試してみよう!
  • OCamlでPython拡張モジュールを作る

    OCamlで作成したライブラリをPythonから利用できるように,拡張モジュール化した。その際に,いくつか苦労したので記録に残しておく。 なお開発環境は,Mac OS X 10.6.4 (Snow Leopard), Ocaml 3.12.0, Python 2.6.5 である。 一般的な作り方Not foundの通り作業すれば,サンプルのような単純なOCaml関数をPythonから呼び出すことができるようになる。 しかし,実用的なプログラムでは外部のライブラリを必ず利用することになるので,どこかで拡張モジュールにライブラリをリンクしなければならない。 OCamlコードコンパイル時の注意C言語形式のオブジェクトファイルを出力するには,-output-objオプションをつけてOCamlコードをコンパイルすれば良い。しかし,既存のfoo.cmxaライブラリが存在するとして,すべて-output

    OCamlでPython拡張モジュールを作る
  • OCamlでWindows用DLLを作成する方法

    同一のコードから複数のプラットフォーム用の共有ライブラリ(Unix系OSなら.so,Mac OS Xなら.dylib,Windowsなら*.DLL)を作りたい場合,どのプログラミング言語を選ぶべきでしょうか? まず思い浮かぶのがC/C++だと思いますが,もっと「モダン」なプログラミング言語は使えないものでしょうか? 「モダン」なプログラミング言語とは私の考えるモダンなプログラミング言語の要件は以下のとおりです。 オブジェクト指向または関数プログラミングを取り入れていること。リスト,辞書などのデータ構造が言語仕様に組み込まれていること。GCが搭載されていること。segmentation fault が原理的に発生しないこと。2年ほど前にこれらの要件満たし,かつネイティブ・オブジェクトを生成可能なプログラミング言語を探したところ, Lisp/Scheme系の言語と関数プログラミング言語の中から

    OCamlでWindows用DLLを作成する方法
  • Syntax extension for Monads in OCaml

    Syntax extension for Monads in Ocaml Jacques Carette, Lydia E. van Dijk and Oleg Kiselyov Summary This Camlp4 extension provides some syntactic sugar to beautify monadic expressions. Example: A simple but realistic example of the use of a list monad looks like this bind [1; 2; 3] (fun a -> bind [3; 4; 5] (fun b -> return (a + b))) where we assume the appropriate definitions of the functions "bind"

  • Camlp4 チュートリアル

    Daniel de Rauglaudre 氏による Camlp4 - Tutrial を向井が勝手に訳したものです(9/23 2003版)。 訳の指摘などは mukai@jmuk.org まで。 1. 導入 Camlp4 は OCaml 用のプリプロセッサだ。プリプロセッサとして、 OCaml プログラムの構文拡張ができる。といっても、 Camlp4 は他にもさまざまな特徴を持っている。 文法構造 quotationsと呼ばれるマクロ OCaml用の改訂版構文 OCamlプログラムの pretty printing システム さらに: 拡張可能な関数、関数型ストリーム、 etc... Camlp4 は構文と構文、それに構文だ。構文拡張をするために独自の構文シ ステムを使う。しかも自力でそれをやっている。 Camlp4 は構文レベルでとど まる。意味論とか、型とか、コード生成とかは知ったこ

  • 構造的部分型の比較 - 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
    kyon_mm
    kyon_mm 2012/08/23
    Haxeの構造的部分型が強力だなぁ。。。
  • Oops

    OCamlPro tackles complex design challenges (blockchains, Domain Specific Languages) notably with the use of formal methods. For that purpose, we promote the use of state-of-the-art programming languages like OCaml and Rust.

    kyon_mm
    kyon_mm 2012/08/03
    OCamlチートシート
  • にわとり小屋でのプログラミング日記

    この記事はTppMark11の問題をCoqでやってみたという内容である。 問題はこちら: docs.google.com 命題論理式と同値であることの定義 命題論理式の定義 Inductive Term := | Var(v : Var.T) | Neg(t : Term) | And(t1: Term)(t2: Term) | Or(t1: Term)(t2: Term) | Impl(t1: Term)(t2: Term) | TRUE | FALSE . 同値であることの定義 変数環境を表すctxを Var.T -> bool の関数で表現し、命題論理式のevalを次で定義した。 Fixpoint eval ctx t : bool := match t with | Var v => ctx v | Neg t => negb (eval ctx t) | And t1 t2 =>

    にわとり小屋でのプログラミング日記
  • 経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog

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

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