レガシーコード生産ガイド

私に教えられることなら

Elm

Elmの練習に簡単なインスペクタ付きSECDマシンLisp処理系を作った

Elm

(追記) 触れるようにしました github.com タイトル長くなりそうなので簡単に書きましたが、ツリー状に値を見れる簡易インスペクタを持ったLisp処理系を書くことで 静的型付き純粋関数型言語である程度複雑なデータ構造を扱うロジックを書く練習 Elmアーキテ…

Elmで相互再帰している型のモジュール化

Elm

個人的にElmやOCamlで好きなのが、型別にモジュールを作るという整理の仕方。 次のようにFoo型のためだけの関数をまとめておいて module Foo exposing (..) type alias Foo = { foo : Int } init : Foo init = { foo = 0 } add : Int -> Foo -> Foo add n x …

Elm設計メモ

Elm

最近、どうにか中規模以上のアプリケーションをElmで組めないかと四苦八苦しています。ちょっとイケそうなアーキテクチャを思いついたのでその簡単なメモです。上手く行っても行かなくてもある程度書いたらまとめたいと思います。 モチベーション ある領域の…

Elmでループ(末尾再帰・末尾呼び出し最適化について)

Elmで、List.mapなどを使わずに自分でループ的な処理を書きたい場合についてです。 関数型言語の手法に慣れてない人向け結論 「末尾再帰」が使えるので調べてみてください。 慣れている人向け結論 0.17現在、末尾再帰は最適化されるようです。末尾呼び出し最…

静的型付き関数型言語ElmでWebアプリ(SPA)を作ってみた

Elm

以下の記事を見てElmがかなり気になりました。 elm-conf 2016に行ってきたメモ - ジンジャー研究室 再利用可能なコンポーネントはアンチパターン - ジンジャー研究室 Evan Czaplicki「脱FRP。またはThe Elm ArchitectureからSignalを消した件」 - 以下斜め読…