Hackett はちょっと Haskell の記法に擦り寄りすぎてる感があるんで、Coalton の方が高感度高いな。
Timeline for it list by senooken, page 100
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 03:16:57 JST
きゅーけー
-
きゅーけー (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:14:47 JST
きゅーけー
coalton は副作用が使えるところと、正格評価であることを除けばだいたい Haskell っぽいな。これは凄い。
-
きゅーけー (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: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 02:58:43 JST
きゅーけー
型クラスがあるならモナドも書けるじゃん。モナドトランスフォーマーとかも書けるのかな。もう、Haskell のことほとんど忘れてるな。
-
きゅーけー (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: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:46:10 JST
きゅーけー
Typed Racket のように Racket で静的型付き言語を実装してしまうような事例もあるし、最近は Common Lisp で似たような事例があったはずなんだけどまだ見つけられてない。
-
きゅーけー (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:43:19 JST
きゅーけー
Lisp で言語を実装するのも、実装した言語にバグがなければ、作成された言語のユーザーにとって安全な宣言型プログラミング言語として見えたりするわけだし問題ない。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:38:54 JST
きゅーけー
Haskell とかがいい。型クラスが欲しい。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:38:23 JST
きゅーけー
実際、正直なところ仕事でプログラムを書くなら静的型付き言語を使いたいと思う。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:36:47 JST
きゅーけー
SICP の第四章でレキシカルスコープの Lisp を実装できるのでいますぐ SICP を……。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:34:39 JST
きゅーけー
ソフトウェアをランタイムでプログラムを書き換えられるようにするなら、ユーザーを信頼するかどうかという話になる。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:34:03 JST
きゅーけー
トレードオフだとは思う。プログラマを信頼するかどうかという話でもある。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:33:30 JST
きゅーけー
ソフトウェアの局所的な挙動を変更するのに再ビルドするのはつらいし。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:32:57 JST
きゅーけー
自由ソフトウェアの文脈でランタイムにおけるプログラミングに価値を見出せると思ってる。Emacs がここまで発展してきたのもランタイムにおけるプログラミングのおかげだと思うし。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:27:23 JST
きゅーけー
Lisp はそういうプログラマを守ることを優先したプログラミング言語ではないというのが答えだと思う。Lisp はプログラマを言語設計者と見做し、プログラミング言語の拡張という強大な力をプログラマに預ける。その機能を使うならその責任をプログラマが負うというだけのこと。
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 02:22:33 JST
きゅーけー
Scheme の継続あたりもそうで、これも下手な使い方をしたら危険なのも当然なんだよな。Lisp 一般のマクロも Scheme の継続も自身の言語機能を拡張するための仕組みの一つであってプログラマは安全な言語を作る責任を負うことになるわけだ。
でも、それってプログラマが一つ関数を定義するのとそんなに違いはない。関数を定義するのだってプログラミング言語を少し拡張してると見做せるし。