anti scroll

ブラウザと小説の新しい関係を模索する

ocaml

jingoo 1.4.0 をリリースしました

jingoo 1.4.0をリリースしました。 github.com 新しくなった点 Jg_templateモジュールを部分的に改良したJg_template2というモジュールが追加されました。 サンプル これまでJg_templateモジュールは、次のようにmodelsに連想リストを与えていました。 open …

jingoo v1.3.1をリリース

久しぶりになりますが、jingooのv1.3.1をリリースしました。 Release v1.3.1 · tategakibunko/jingoo · GitHub 変更点 演算子として、新たに+=, -=,*=, /=,%= がサポートされました。 匿名関数がサポートされました。 条件分岐の構文にて、elseif だけではな…

opam2のインストールについて

2018年9月にようやく正式リリースされた opam2。 公式が提供するスクリプトでインストールできれば問題ないのですが、それだとうまくいかない環境もあり、色々とインストールが面倒だったのでメモしておきます。 ちなみに以下の内容は次のスクリプトで成功す…

jingoo v1.2.13 release

jingoo version 1.2.13 をリリースしました。 https://github.com/tategakibunko/jingoo/releases/tag/v1.2.13 前々から「UTF8モジュールのためにBatteriesは大きすぎる」という声が多かったので、それに応えてuutfというライブラリを採用したPull Requestを…

Prepared Statementを少し使いやすくするeps(Extended Prepared Statement)

通常のPrepared Statementを少し使いやすくする処理系 eps を作りました。 epsはExtended Prepared Statementの略です。 tategakibunko/epsgithub.com 簡単に言うと、こんな感じでPrepared Statementを記述したくて作ったものです。 prepare foo(age:int, na…

GADTというものを知った

最近OCamlをようやくversion4系列にアップデートしたのですが。 その際にGADTとかいう言葉が気になったので調べていたら、ちょうどわかりやすいエントリーが。 Detecting use-cases for GADTs in OCaml 上のエントリによると、どうやらGADTというのは「代数…

jingoo v1.2.5 release

jingooのv1.2.5をリリースしました。 ひょんなことからjingoov1.2.4にバグ(割りとでかい)を見つけてしまい…緊急でリリースしました。 旧バージョンを使用中の方は、アップデートすることをおすすめします。 バグの詳細 具体的なバグは何かというと、オブジ…

OCaml用の麻雀ライブラリ

フォルダ整理していたら、二年ほど前に書いたOCaml用の麻雀ライブラリが発掘されました。 しまっておくのも無駄だし、バックアップも兼ねてgithubに上げておくことに… https://github.com/tategakibunko/ocaml-mjlib 一応、ゲームやプレイヤーなども含めて抽…

unicode substring of OCaml for application layer

cwn経由でextlibにUTF8.substringが定義されたと知り、じゃあオレオレな実装からサヨナラできるかな、と思って試してみましたが、 assert_equal (UTF8.substring "hoge" 0 5) "hoge" は残念ながら "out of range" という例外で終わってしまう……extlibのsubst…

jingooの更新(white space controll用のシンタックス追加、およびスレッド版パッケージの分離)

ほぼjinja2互換なocaml template engineであるところのjingooなのですが、久しぶりにいくつかの修正を加えました。 {%- と -%} のサポート(white space controll) マルチスレッドバージョンとノーマルバーションのパッケージを分離 1.{%- と -%}のサポート…

OCamlでObject-relational mapping(ORM)みたいなやつ

ocormは表題の件をなんとなく実現するライブラリです。https://github.com/tategakibunko/ocormocormのMakeRelationMapファンクターは、schemaの定義モジュール(Schema)と、データ型の変換モジュール(FieldMap)を受け取って、(string, string) listをFieldMa…

ocamlのネットワークライブラリでfile_descrリークするものが多い理由

ocamlの通信系ライブラリでUnix.open_connectionを使っているライブラリは、Unix.shutdown_connectionを呼ぶだけで切断処理を終わらせているものが多いなあと思いました。最近さわったredis用のclient libraryとmemcached用のclient libraryはどっちもそうい…