haskell-jp / sg-ifl-tut #1

@1to100pen has joined the channel
set the channel description: Implementing functional languages: a tutorial 勉強会の連絡用チャネル
@takoeight0821 has joined the channel
@kakkun61 has joined the channel
Yoshikuni Kato
@Yoshikuni Kato has joined the channel
@ねこはち has joined the channel
@nakaji-dayo has joined the channel
@khibino has joined the channel
pjlester*.tar.Z らしきもの


その内容のコピーっぽいだれかの github
最初のは V1.6 github は V1.10
プリントアウトしてたのが『Implementing functional languages: a tutorial』じゃなくて『The Implementation of Functional Programming Languages』なことに今になって気付いた
Pack ほーん
項がスーパーーであるとは、項が定数もしくは、項がーであり全ての部分項がスーパーーであるものである。
Super combinator - HaskellWiki
項が定作用形あるとは、項がスーパーーでありかつでないものである。
Constant applicative form - HaskellWiki
スーパーコンビネーターの定義は次と同値だそう
任意の `\x1 x2 … xn -> E`(`E` はでない。n≧0
n≧0。)の形の式で次の場合に限りそれはスーパーーである。`E` における自由変数は `x1`, `x2`, … `xn` のみで、かつ `E` に出現するは全てスーパーーである。
書きやすさのために ExprNumIsString にしておくか
動く gofer 初めて見た
Iseq は解決法としては ShowS みたいなもんか??
... Replies ...
先に落ちます
お疲れさまでした
@ has joined the channel
@ has joined the channel
@nobsun has joined the channel
組み込みの中置演算子、結合性(左、右、無)が違うものが同じ優先順位にわりあてられることはあまりないように思います。
優先順位を利用した括弧の除去、表引きで実装して動いたやつを置いておきます
https://gist.github.com/khibino/93f9c582d91c1fdac3e400d159eaa584
今日のところまでを、github に置きました。
https://github.com/nobsun/ifl-tut
こちらでも括弧の除去に対応しています
あ。だめだ。
修正した。
同じ優先順位で左右の違いあるときは右が勝つ。
あれ? そんなルールでしたっけ?
左右無しが混ざるとエラーかと思っていたので、混ざっていた場合は括弧を付けるようにしてました。
いや括弧を付けるべきですね。それにそもそも結合律が成立することを根拠に (a + b) + (c + d) を a + b + c + d と表記してしまうことにも抵抗があります。injective じゃないので、構造を失うことになり、read . show ≡ id にならなくなるのは気に入りませんねぇ。
たしかに、結合の向きで復元可能なときだけ括弧をはずすようにしたいですね
続きは明日考えよう
おなじ優先順なら括弧をつけるように修正した
@igrep has joined the channel
@1to100pen こちらのチャンネルですが https://haskell.jp/slack-log/ に保存はしますか?よければ https://github.com/haskell-jp/slack-log/pull/55 のマージ後に対応します。
... Replies ...
set the channel description: Implementing functional languages: a tutorial 勉強会の連絡用チャネル
過去ログは https://haskell.jp/slack-log/ の下の sg-ifl-tut
@igrep has left the channel
> たしかに、結合の向きで復元可能なときだけ括弧をはずすようにしたいですね
>
> 続きは明日考えよう
といいつつ考えていなかったのですが、~私のコードですでにそうなっていそうなのをさきほど確認しました。~



とおもったがダメだった
直せたような気がする。更新しました
@ has joined the channel
Template Instantiation の Mark 1 までの実装をpush しました
https://github.com/nobsun/ifl-tut
@cutsea110 has joined the channel