タグ

ocamlに関するpoginのブックマーク (11)

  • Elm 2日ほどやった感想 - mizchi's blog

    12月はなんとなく新しいことをやりたくなる。ということで、elm をやってみた。 大昔に触った気がするけど、文法が Haskell っぽいこと以外、何も覚えてなかった。というか当時触った signal とかがなくなってたので別物になってた。 作ったもの 勉強がてら作った、球拾いゲームみたいな何か コードはここ https://github.com/mizchi-sandbox/elm-playground elm-platform, svg の扱い, キー入力、乱数の副作用の分離などが学べた。乱数は面倒くさくなったので外部(JS)からSeed与える方式にして、気持ち純粋になった。 (自分の)環境構築 Parcel を使った brew install elm # OSに応じて mkdir elm-playground cd elm-playground yarn init -y yarn a

    Elm 2日ほどやった感想 - mizchi's blog
  • 私と型システムとポエム

    最近巷では俄に型システムについての言及が増え、型システムポエマーが増えてる気がするので自分もその時流に乗りたい。 完全にポエムだけどなんかあったら随時指摘ください。直します。 TL;DR 言いたいことはまとめると次 型システムは程度問題なのでちょうどいいところを探すべき 型は万能でも強さが正義でもない(だから未だに研究されてる) よく知りもしないくせに計算機科学を侮辱するのはやめろ 予防線 あくまでポエムですので中身はないです 私は型理論専攻で学位はとったものの研究者ではないのであまり信用しすぎないように 型システムの過去 型システムは大まかに次のような利点があるとされてきた(個人的主観) 「異常」なプログラムを検出する仕組み 静的解析による分かりやすいエラーメッセージ 型そのもののドキュメント性 IDEでのcompletionに貢献 最適化に貢献 (数学に正しく裏打ちされたsemanti

  • 型安全性とは何か | POSTD

    以前書いた(C言語についての) メモリ安全性について定義した記事 について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単に定義できるほどにはまだ理解が浸透していません。特に誰かが”Javaは型安全な言語だ”と言った場合、これは厳密に何を意味するのでしょう。全ての型安全な言語はある意味”同じ”と言えるでしょうか。ある特定の言語について、そして一般的な意味で、あなたを悩ませる型安全性とは何でしょうか。 実際のところ、型安全性が何を意味するのかは言語の型システムの定義によります。最もシンプルなケースでは、型安全性はプログラムの動作が正しく定義されるように保証します。もっと一般的な話をすると(この記事ではそのあたりをカバーするつもりですが)、言語の型システムはそのプログラムの正確さと安全性を推論

    型安全性とは何か | POSTD
  • SATySFi for Windows を作った - 簡潔なQ

    SATySFiはOCamlのような関数型言語とLaTeXのようなマークアップ言語をベースとする新しい組版システムです。 最近SATySFi for Windowsを作ったので紹介します。 SATySFi for Windowsとは 今まではSATySFiを試すにはLinuxMac環境が必要で、Windowsを持っている人はVMかWSLを使って試すのが一般的のようでした。 今回Windows用ビルドを整備したので、これからはWindowsネイティブ環境へのSATySFiの導入が簡単になります。 仕組み OCamlはWindowsとの相性が悪いですが、今回はMinGWターゲットでOPAMを使いたいということで、Linuxからのクロスコンパイルを用いました。 幸いopam-cross-windowsというプロジェクトが既にあったので、これのコンパイラバージョンを上げて、必要なパッケージを追加す

    SATySFi for Windows を作った - 簡潔なQ
  • そろそろ Jane Street Core について語ろう、かな #0: Core とは - camlspotter’s blog

    Core とは Jane Street が開発、使用、オープンソースとして公開している OCaml 基ライブラリ。この Core についてちょっと書こうかな。 ちなみに、ここに書いてあるのは一ユーザとしての意見。間違っても会社の見解ではありません。念のため。 発端 まず、このエントリの発端は、Caml-list に出現した「Why don't you use batteries?」という長ーいスレッド(今長さ57)。Batteries included というのは、OCaml の「標準ライブラリ」が余りに貧弱なので、それを拡充しようというものです。古くは extlib という 3rd party ライブラリがあって、それを取り込んでさらに拡張しています。(Batteries included も 3rd party。念のため。) OCaml 貧弱標準ライブラリ まず、その、OCaml の

    そろそろ Jane Street Core について語ろう、かな #0: Core とは - camlspotter’s blog
    pogin
    pogin 2017/10/04
  • ML系言語の型エラー報告を改良する - camlspotter’s blog

    さて、お約束していた OCaml の型エラーメッセージ改良のための改造、ある程度形になりましたので、公開します。 hg clone -b typeloc https://bitbucket.org/camlspotter/mutated_ocaml ビルドは configure の後、 make core coreboot world です。インストールなさる場合は既存の OCaml システムを潰さないように注意してください。インストールなしにトップレベルを試したい場合は ./ocaml -I stdlib 。といってもまだコンセプトが理解できる程度にしか動作せずまだまだ不完全です。バグもあるかと思います。 さてここから簡単にアイデアを説明します。MLの型推論についてある程度の知識が必要です。 HM 型システムではプログラムの各所を見ながらそれぞれが要求する型の情報を制約として集め、解の存

    ML系言語の型エラー報告を改良する - camlspotter’s blog
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • ocaml-android - ocaml-nagoya

    2011-05-13 ocaml-android 2011-03-29 ocaml-nagoya 2011-02-03 ocamljsメモ 2011-02-01 OCamlテクニック/再帰型(Equi-recursive) 2011-01-01 camlp5 C共有ライブラリの作成 2010-12-23 活動記録/20080529 2010-12-02 ProofCafe ProofCafe/Coq01 2010-10-07 ProofCafe/ProofGeneral 2010-05-22 ProofCafe/crush 2010-05-21 Fsharp 2010-04-25 ProofCafe01 2010-04-22 論文読み会 2010-04-16 ネタ記録庫/OCaml 2010-04-06 ProofCafe/Coq02 2009-12-15 発表資料 2009-08-10

  • OCaml-indent: OCaml で書いた OCaml ソースコードインデンタ - camlspotter’s blog

    OCaml のソースコードのインデント整形には Emacs なら ocaml-mode, tuareg-mode, Vim なら ocaml.vim(?) や omlet.vim があります。便利です。 でもどうも細かい部分が自分のスタイルと違ったり、特殊な改行をするとボロボロッとおかしなインデントをしてきたりします。あーなんかヤダナアと思って、(私の場合は tuareg の emacs lisp を)直そうと思うのですが、どうも面倒です。Elisp は慣れて無いのでコードを解析するのは辛い。 そこで、じゃあインデント解析部は OCaml で書いて、解析とエディタの部分だけエディタ固有の言語で書くようにすれば、Elisp なり、 Vim script なり書く量は極小になるんじゃないかなと思って OCaml-indent を作りました。 さらにインデント解析もできるだけ手間を掛けたくないの

    OCaml-indent: OCaml で書いた OCaml ソースコードインデンタ - camlspotter’s blog
  • OMake のための emacs mode: omake-mode.el - camlspotter’s blog

    OCaml とは直接関係ないんだけど、 OMake のためのコンパイルモードを書いてみた。 OMake(私の興奮気味の紹介) には -P スイッチって言うのがあって、コンパイルが成功/失敗した後も居座ってソースファイルの変更を監視、自動的にリコンパイルするっていう機能があるのだが、これが従来の emacs の compile-mode とはちょっと相性が悪い(compile-mode は -P とか想定してない)。なので、面倒だけどコマンドシェルで omake -P して、エラーメッセージを見て手動でエラーを探していた。 ようやく、ここんとこの金融危機の余波で増えた仕事が落ち着いて、気持ちにも余裕が出てきたので、懸案だった OMake のためのモードを書いてみた。はじめは compile-mode を元に書こうかと思ったが、、、俺は人の書いた elisp は読めないことが判ったので、スクラ

    OMake のための emacs mode: omake-mode.el - camlspotter’s blog
  • なぜ次に学ぶ言語は関数型であるべきか - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の情弱です。ちょっと前にOCaml系のエントリを色々と眺めていたらYaron Minsky氏のエントリを見つけたので翻訳してみました。 OCaml for the Masses - ACM Queue Yaron Minsky氏はJane Streetで第一線で活躍されるエンジニアで、Jane Streetの技術ページをはじめ多くの場所でOCamlに関しての知見を語ってくださっています。 Jane Street Tech Blogs エントリはJohn Hughesの名エントリ「なぜ関数プログラミングは重要か」を受けてACM Queueに寄稿されたものの日語訳です。 なぜ関数プログラミングは重要か Why the next language you learn should be functional YARON MINSKY, JANE STREE

    なぜ次に学ぶ言語は関数型であるべきか - YAMAGUCHI::weblog
  • 1