各種PureScriptパッケージを更新した
追記
本記事のパッケージのうち、以下のパッケージ以外はメンテされていません、ご注意ください。
- purescript-crypto
- purescript-mysql
- purescript-simple-emitter
更新したパッケージ
先週は、PureScriptで仮想DOM用のdiff処理を書いた - oreshinyaのブログの続きの作業として、仮想DOM実装への組み込み作業を行なった。 ついでに、ほっぽっていたパッケージのdependenciesの更新と整理を行なった。
Dependenciesを更新したパッケージ
- purescript-cherry
- purescript-cookie
- purescript-stdout
- purescript-vary
- purescript-simple-emitter
- purescript-refty
- purescript-pure-style
- purescript-rout
- purescript-crypto
- purescript-conveyor-cors
本体コードに変更を入れたパッケージ
purescript-vomについて
purescript-key-based-diffを使ってdiffのとりかたを賢くするようにした。(ようするにパフォーマンスがよくなった。)
組み込みながらpurescript-key-based-diffのインターフェースや処理を使いやすいように調整しつつ行なった。
内部処理が複雑めになるのでテストを書いておいた。 jsdom-globalをFFI経由で呼び出して、生DOM部分のテストを書いている。
purescript-mysqlとpurescript-conveyorについて
purescript-affという依存パッケージの新しいバージョンに対応した。 このパッケージは、雑に言えば非同期な副作用を扱うモナドで、基本的にAltjsであるPureScriptにとって、とても重要なパッケージなのだが、 これにそれなりな変更が入っていた。 私のほうで行なった対応は、インターフェースの変更に対する対応、そして、AffをFFIとして定義するときの方法やその使い方の変更に対する対応を行なった。
余談
PureScriptは公式であらたなパッケージマネージャをつくっており、その依存解決をpackage-setsを用いて行う。package-setsは、公式の人間やコミュニティの人間がPRをおくってパッケージを加えていくことによって依存解決できるようになる、という形となっている。 そこに、拙作のpurescript-cryptoというパッケージが追加されていて地味に嬉しかった。 いやーしかしPureScript 0.12から入るEffからIOへの移行はいつくるんだろうなー そのときはまたアップデート祭りだー