Lisp で言語を実装するのも、実装した言語にバグがなければ、作成された言語のユーザーにとって安全な宣言型プログラミング言語として見えたりするわけだし問題ない。
Conversation
Notices
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:43:19 JST
きゅーけー
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:44:42 JST
きゅーけー
マクロを上手く使えばむしろ安全な言語になる。間違いを減らすのに使える。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:46:10 JST
きゅーけー
Typed Racket のように Racket で静的型付き言語を実装してしまうような事例もあるし、最近は Common Lisp で似たような事例があったはずなんだけどまだ見つけられてない。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:49:49 JST
きゅーけー
あ、Coalton ってやつだ。このツイートを見て知った Common Lisp 上で実装された静的型付きプログラミング言語だ。https://twitter.com/anohana/status/1436414946053529602?s=20
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:51:16 JST
きゅーけー
え、型クラスあるの?それじゃ Typed Racket よりも凄くない?https://coalton-lang.github.io/20211212-typeclasses/
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:58:43 JST
きゅーけー
型クラスがあるならモナドも書けるじゃん。モナドトランスフォーマーとかも書けるのかな。もう、Haskell のことほとんど忘れてるな。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:03:43 JST
きゅーけー
intro-to-coalton.md を読んでる。これ本格的な静的型付けの関数型言語っぽい。
coalton/intro-to-coalton.md at main · coalton-lang/coalton · GitHubhttps://github.com/coalton-lang/coalton/blob/main/docs/intro-to-coalton.md
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:04:39 JST
きゅーけー
これ Haskell じゃん。夢にまで見た S 式の Haskell じゃん。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:14:47 JST
きゅーけー
coalton は副作用が使えるところと、正格評価であることを除けばだいたい Haskell っぽいな。これは凄い。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:15:30 JST
きゅーけー
Racket でいうと Hackett に相当するプログラミング言語っぽいな。The Hackett Programming Languagehttps://lexi-lambda.github.io/hackett/
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:16:57 JST
きゅーけー
Hackett はちょっと Haskell の記法に擦り寄りすぎてる感があるんで、Coalton の方が高感度高いな。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:18:07 JST
きゅーけー
Infix Syntax とか導入するのやめてよってなる(Hackett の話)
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:36:30 JST
きゅーけー
ANSI Common Lisp が 1994 年から更新されてなくてもこういう Coaton みたいな言語が新しく出てきたりするのが Lisp の凄いところだな。これはユーザーに言語拡張機能を明け渡してないと生じえない。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:42:59 JST
きゅーけー
Coalton 使えばマジで強力な静的型による検査とランタイムでの動的な変更の両どりができるかもしれない。とりあえず、明日は末尾呼び出しの最適化が現状の Coalton に実装されているかの確認だな。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:47:40 JST
きゅーけー
お?この実装で tail recursion になるってことは末尾再帰の形に変換されるように作られてんのかな。https://github.com/coalton-lang/coalton/blob/4d64379f75d6c3550e53a1f6961d1254e169609e/src/library/list.lisp#L110-L115
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:55:10 JST
きゅーけー
Coalton 標準ライブラリの実装をみた感じ、真剣にドキュメントを読まなくても Haskell を学んだことがあれば標準ライブラリの実装を軽く眺めるだけでフィーリングで使えるやつっぽいな。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:56:13 JST
きゅーけー
マジで型クラスあるのテンション上がるな。これで抽象度の高い関数書きまくりじゃん。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:57:36 JST
きゅーけー
そうか、私は目を背けていただけで本当は型も型クラスも欲しかったのか。。。やっと気づいたわ。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 04:02:56 JST
きゅーけー
あれ、抽象度の高い関数を Common Lisp から使うときどうなるんだろう。動的型付きの世界から静的に型付けられた世界に入るときどうなるのかな。
-