type holyshared = Engineer<mixed>

技術的なことなど色々

2018-01-01から1年間の記事一覧

HackでAttributeを表現するためのインターフェース

HHVM3.29より、Attributeを表現するインターフェースが追加されました。 今までも、Attribute自体は使用できていましたが、以下の問題がありました。 タイプチェックがかからない。 Attributeに依存する処理でバグがあると原因を特定しにくい。 ユーザー独自…

HackのコードジェネレーターをHackTestに対応させた

Hack用のテストフレームワークが出たので、HackUnitから置き換えました。 github.com そのついでに、CodegenにHackTestのテストコードを生成できるジェネレーターを追加しました。 github.com HackUnitからの移行 名前空間をHackUnitからHackTestに置き換え…

jbuilderからduneに変えた

dune1.0がリリースされたので、jbuilderからduneに置き換えました。 作業内容としてはそんなに修正箇所はありませんでした。 github.com 作業内容 jbuildファイルの変更 jbuildファイルをduneにリネーム 設定ファイルの変更 コマンドをjbuilderからduneに変…

js_of_ocamlをjbuilder(dune)で試してみた

OCamlのバイトコードをJSに変換できるツール、js_of_ocamlを試して見ました。 とりあえず、jbuilder(dune)を使用して、JSを出力できるようにはなりました。 今回はビルドの方法だけの内容です。 必要なもの opam経由で必要なパッケージをインストールします…

Hackで書いたProcessパッケージ

Processパッケージをリファクタリングしました。 https://github.com/hhpack/process 主な変更点は下記の2点です。 stream_selectからstream_awaitへの置き換え IDisposableを使用したリソース管理 stream_selectからstream_awaitへの置き換え パイプの状態…

ppx_inline_testの仕様が変わったみたい

ppx_inline_testの仕様が変わったぽいです。 今まで、テスト実行時にコンソールにテスト結果が表示される仕様だったと思うのですが、デフォルトで表示されなくなったようです。 なのでテスト実行されているのかがわかりにくくなっています。 テスト結果を表…

Hack用のコードジェネレータの新しいバージョンをリリース

Hack用のコードジェネレータの新しいバージョンをリリースしました。 前のバージョンでは、デフォルトのジェネレータしか使用できなかったのを独自のジェネレータを使用できるようにしました。 サンプルのプロジェクト下記に用意してあります。 https://gith…

HackでのJSONのパース

HackでJSONをパースする際にjson_decodeを使うと思うのですが、JSON_FB_HACK_ARRAYSが新しく指定できるようになったみたいなので調べて見ました。 また、JSONを扱う場合の実装をどうするかも検討しました。 json_decodeのオプションによる型の違い オプショ…

Scheme手習い読み終わった

定理証明手習いを途中まで読んでいたのですが、読む前におすすめされていたのと、近所の本屋に一冊だけあったので読みました。 最初にちょっとだけ読み始めて、載っているコードが非常に少なく、写経しなくても覚えれそうと思い、 ちょうど真ん中ぐらいの内…