Common Lisp、SchemeをはじめとするLisp族全般のスレです
■前スレ
Lisp Scheme Part40
http://mevius.5ch.net/test/read.cgi/tech/1426481152/
■テンプレ
ttp://wiki.fdiary.net/lisp/
■関連スレ
【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1483498849/
【GNU】スクリプト言語 Guile【scheme】
http://mevius.5ch.net/test/read.cgi/tech/1239985829/
【入門】Common Lisp その11【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1411307361/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
http://peace.2ch.net/test/read.cgi/tech/1272469779/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
Lisp@UNIX版
http://mevius.5ch.net/test/read.cgi/unix/1019926525/
探検
Lisp Scheme Part41
2018/07/15(日) 02:05:28.62ID:oGr67yTf
288デフォルトの名無しさん
2021/01/17(日) 08:06:30.53ID:MtDeBO+C289デフォルトの名無しさん
2021/01/17(日) 11:47:31.37ID:9ajuvsmH >>288
defgeneric/methodは勢いで書き上げた触りたくないコードに機能追加するにはコード触らなくちゃならない
型の付いていない複雑なconsはどうせdestructuring-bindして振り分けるしかないんだから分けてdefmethodする利点もない
define-compiler-macroなら一切既存のコードに触れる必要は無いからすごく便利だよ
既存のライブラリに手を入れたいけど、直接書き換えるとアップグレードで無かった事にされるから嫌、って時にも活躍する
もちろんリファクタリング出来るならした方がいいけど、取り敢えず動けば良い時の話ね
defgeneric/methodは勢いで書き上げた触りたくないコードに機能追加するにはコード触らなくちゃならない
型の付いていない複雑なconsはどうせdestructuring-bindして振り分けるしかないんだから分けてdefmethodする利点もない
define-compiler-macroなら一切既存のコードに触れる必要は無いからすごく便利だよ
既存のライブラリに手を入れたいけど、直接書き換えるとアップグレードで無かった事にされるから嫌、って時にも活躍する
もちろんリファクタリング出来るならした方がいいけど、取り敢えず動けば良い時の話ね
290デフォルトの名無しさん
2021/01/17(日) 12:14:47.80ID:fZnccXPg この場合、 alist はどっち側に分類されるのかな…
個人的にはだいたい alist で済ませてるけど。
個人的にはだいたい alist で済ませてるけど。
291はちみつ餃子 ◆8X2XSCHEME
2021/01/17(日) 12:16:55.56ID:ERThMJgw Lisp 的なスタイルだとかなり短いサイクルで開発が進むので、
リファクタリングしないまま手の付けられないほどグダグダになった状態は単にサイクルを
回すのが下手なように思うんだけど。
まあ上手くいってないときでもどうにかする方法があるのはありがたい話ではあるけどさ。
リファクタリングしないまま手の付けられないほどグダグダになった状態は単にサイクルを
回すのが下手なように思うんだけど。
まあ上手くいってないときでもどうにかする方法があるのはありがたい話ではあるけどさ。
292デフォルトの名無しさん
2021/01/17(日) 12:22:48.91ID:16Ro+9sx 既存のコードには手を入れず振る舞いだけに着目して付け足して行くってスタイルはaspect oriented programmingとか言うんだっけな
まあ盲で付け足してゆく事と同義ではないが
まあ盲で付け足してゆく事と同義ではないが
293デフォルトの名無しさん
2021/01/17(日) 12:36:52.37ID:16Ro+9sx >>290
plistの方が好きだな、pprintでkey-valのカラムに並べられるし、alistが要求されれば一段flattenすれば済む
consの数も同じだし好みでは
ただvalがlistだと(a . (b c))=(a b c)とformatされてしまうので(a . ((b c))) = (a . (b c))と書いてる
aとリストのペアなので意味的にも正しいはず
plistの方が好きだな、pprintでkey-valのカラムに並べられるし、alistが要求されれば一段flattenすれば済む
consの数も同じだし好みでは
ただvalがlistだと(a . (b c))=(a b c)とformatされてしまうので(a . ((b c))) = (a . (b c))と書いてる
aとリストのペアなので意味的にも正しいはず
294289
2021/01/17(日) 12:38:34.26ID:16Ro+9sx 最後は(a (b c))が正しい、.が余計だった
なんかid変わってたけど289です
なんかid変わってたけど289です
295289
2021/01/17(日) 12:54:42.47ID:16Ro+9sx 真意を掴めてなかった感がある
alist-pとplist-pを定義してる、よく見るし受け入れられてるイディオムだと思う
deftypeしておくといい
すると振り分けをdefmethodに任せる事が出来る
alist-pとplist-pを定義してる、よく見るし受け入れられてるイディオムだと思う
deftypeしておくといい
すると振り分けをdefmethodに任せる事が出来る
296デフォルトの名無しさん
2021/01/17(日) 22:27:16.25ID:MtDeBO+C deftypeしたtypeはclassじゃないからdefmethodできない
コンパイラマクロはプログラムの意味をかえたらいかんし
パッチするなら別定義のファイルを追加でloadすれば上書きされるのでコンパイラマクロする意味0
嘘ノウハウいらないです・・・
コンパイラマクロはプログラムの意味をかえたらいかんし
パッチするなら別定義のファイルを追加でloadすれば上書きされるのでコンパイラマクロする意味0
嘘ノウハウいらないです・・・
297デフォルトの名無しさん
2021/01/17(日) 23:38:13.35ID:4VqziDiv >>296
そうだっけ、ごめん確認してきます
そうだっけ、ごめん確認してきます
298デフォルトの名無しさん
2021/01/20(水) 01:48:17.88ID:9Gv1v6nA alist vs plist はalistの方がassocが(lisp的な意味で)簡潔になるから?で一票
assoc[x;y] = eq[caar[y];x] → cadar[y];T → assoc[x;cdr[y]]]
M式、[x→y; ...はapplyによってS式(QUOTE (COND (x y ) …に展開される
http://www-formal.stanford.edu/jmc/recursive.html
pdf17p
evalのボトムケースでもある大事なassoc、俺にはplist版は思いつかない
evenpが欲しいところだけど算術の定義がまだだし…
clのcx^nrがn=4までなのもcaddarまで使ってるからだろうかね
assoc[x;y] = eq[caar[y];x] → cadar[y];T → assoc[x;cdr[y]]]
M式、[x→y; ...はapplyによってS式(QUOTE (COND (x y ) …に展開される
http://www-formal.stanford.edu/jmc/recursive.html
pdf17p
evalのボトムケースでもある大事なassoc、俺にはplist版は思いつかない
evenpが欲しいところだけど算術の定義がまだだし…
clのcx^nrがn=4までなのもcaddarまで使ってるからだろうかね
299デフォルトの名無しさん
2021/01/20(水) 01:59:40.44ID:9Gv1v6nA ffとかappqとか見慣れない面白関数出てきて面白かった
first/restは単なるエイリアスでなくL-exp(線形リスプ?)における相似物としてちゃんと別に定義されてるとかも
あとpairがpairlisに改称した理由とか気になってる、次は1.5マニュアル読むか
小並感
first/restは単なるエイリアスでなくL-exp(線形リスプ?)における相似物としてちゃんと別に定義されてるとかも
あとpairがpairlisに改称した理由とか気になってる、次は1.5マニュアル読むか
小並感
300デフォルトの名無しさん
2021/01/22(金) 02:54:51.68ID:GlnM3g/q consesのカッコのネストを無視して初めのシンボルを返すffは、左端の簡約だけで導出が決まる特性を持つコンビネータ計算(SKなど)にとても重宝する関数だよ
applyを.と見なせば(論理学記法で)SKx = ((S K) x)はcons((S . K) . x)と等価
.
/ \
. x
/ \
S K
(ff ((S . K) . x)) ; => S
ffでSを得て、そこへのaccessor は(dfs 'S '((S . K) . x))で4行程度で実装出来る、carで潜る時にはpush 'car、cdrならpush 'car、その枝で見つからなかったときにはpopでSへのアクセサ(car car)が得られて、そのノードを公式に従ってsetf '公式すれば導出完了
lispと言えばラムダってイメージあるとおもうけど、むしろコンビータと相性が良い、特にclのラムダは細かなコントロールを求めた代償として明示的なapply/funcallが必要だからなあ
あとdotprintとか定義しとくと便利ね
applyを.と見なせば(論理学記法で)SKx = ((S K) x)はcons((S . K) . x)と等価
.
/ \
. x
/ \
S K
(ff ((S . K) . x)) ; => S
ffでSを得て、そこへのaccessor は(dfs 'S '((S . K) . x))で4行程度で実装出来る、carで潜る時にはpush 'car、cdrならpush 'car、その枝で見つからなかったときにはpopでSへのアクセサ(car car)が得られて、そのノードを公式に従ってsetf '公式すれば導出完了
lispと言えばラムダってイメージあるとおもうけど、むしろコンビータと相性が良い、特にclのラムダは細かなコントロールを求めた代償として明示的なapply/funcallが必要だからなあ
あとdotprintとか定義しとくと便利ね
301デフォルトの名無しさん
2021/01/22(金) 08:32:42.17ID:hEWi2BMh jmcはラムダ教徒だったろうになあ
いくらlispが形式言語処理向けとはいえ、機械的に処理するには置換が面倒過ぎる
いくらlispが形式言語処理向けとはいえ、機械的に処理するには置換が面倒過ぎる
302デフォルトの名無しさん
2021/01/26(火) 22:54:00.78ID:+x6NTk+g >>299
app(ly)-q(uote)?直訳するとこんな感じか
(defun appq (m)
(cond (null m) nil)
(t (cons (list 'quote (car m)))))
(appq (cdr m))
>(appq '(a b c d e))
; ('a 'b 'c 'd 'e)
(jmcの)applyは関数fをコレにconsしてS式 (#'f 'a 'b 'c ...)を得ると
common lispではformの先頭は関数名かラムダじゃないとダメなのでevalには'funcallか'applyを追加でconsする必要があるので、組み込みevalを使う限りは循環定義だな
app(ly)-q(uote)?直訳するとこんな感じか
(defun appq (m)
(cond (null m) nil)
(t (cons (list 'quote (car m)))))
(appq (cdr m))
>(appq '(a b c d e))
; ('a 'b 'c 'd 'e)
(jmcの)applyは関数fをコレにconsしてS式 (#'f 'a 'b 'c ...)を得ると
common lispではformの先頭は関数名かラムダじゃないとダメなのでevalには'funcallか'applyを追加でconsする必要があるので、組み込みevalを使う限りは循環定義だな
303デフォルトの名無しさん
2021/01/26(火) 23:06:50.96ID:+x6NTk+g 誤解してた
M式apply[f; args]の引数はシンボルなのでS式のapplyに渡ってくるのはfunction fじゃなくてシンボルfか
グローバルでdefunしたfなら多分呼べるはず、試してないけど
M式apply[f; args]の引数はシンボルなのでS式のapplyに渡ってくるのはfunction fじゃなくてシンボルfか
グローバルでdefunしたfなら多分呼べるはず、試してないけど
304デフォルトの名無しさん
2021/01/28(木) 03:52:37.47ID:52TUUvk8 cons-car-cdr公理主義者への反発として最近妙に感心してしまったポエムを貼っとく
https://arxiv.org/pdf/1507.05956
本当の基本関数はc、a、d、rでした
paulのon lispに載ってる(explode 'bomb) → (B O M B)がハマりそうと思い、実装してみたは良いけどなんに使うんだコレ…
楽しいからいいか
https://arxiv.org/pdf/1507.05956
本当の基本関数はc、a、d、rでした
paulのon lispに載ってる(explode 'bomb) → (B O M B)がハマりそうと思い、実装してみたは良いけどなんに使うんだコレ…
楽しいからいいか
305デフォルトの名無しさん
2021/02/06(土) 00:01:36.05ID:7zAE1WPt cxrとconsは表裏一体なので片手落ち
r•c = idになるからこそ
car•cdr = c•a•r•c•d•r = ca•(r•c)•dr = cadr
と読める訳であって
cxr • cons= id を成り立たせるにはcxons = id となるようなo, n, sも定義せねばならない
後はまかせた
r•c = idになるからこそ
car•cdr = c•a•r•c•d•r = ca•(r•c)•dr = cadr
と読める訳であって
cxr • cons= id を成り立たせるにはcxons = id となるようなo, n, sも定義せねばならない
後はまかせた
306デフォルトの名無しさん
2021/02/12(金) 22:14:51.72ID:rBgVuMm7 わたばさんのところ見て知ったけど
井田昌之先生のHPで
bit 1996-4、5月号、Guy L. Steele Jr.『Scheme 過去◇現在◇未来』(訳 井田昌之)
などの歴史資料PDFが読めるね
井田昌之先生のHPで
bit 1996-4、5月号、Guy L. Steele Jr.『Scheme 過去◇現在◇未来』(訳 井田昌之)
などの歴史資料PDFが読めるね
307はちみつ餃子 ◆8X2XSCHEME
2021/02/15(月) 14:15:58.52ID:GNSRFiac Racket のメジャーリリース。
https://blog.racket-lang.org/2021/02/racket-v8-0.html
ついに Chez Scheme の実行エンジンを組み込んだものがデフォになった。
https://blog.racket-lang.org/2021/02/racket-v8-0.html
ついに Chez Scheme の実行エンジンを組み込んだものがデフォになった。
308デフォルトの名無しさん
2021/02/16(火) 17:43:38.86ID:05vP8Ot3 普通のやつらを超えろおじさんのarcヲチするのにちょっとracketしてるけどフレンドリーかつ尖ってるね
どんどん尖ってゆけ
どんどん尖ってゆけ
309デフォルトの名無しさん
2021/02/16(火) 18:27:11.46ID:6gVrqubW グラハムさんは今はBel言語では
310デフォルトの名無しさん
2021/02/16(火) 19:02:11.29ID:05vP8Ot3 >>309
現在の俺がもしjmcだったら?とか言い出したので見限った
今ざっと目を通しても目新しいところ、興奮するところが全然ないんだなこれが
https://sep.yimg.com/ty/cdn/paulgraham/bellanguage.txt
ofは便利くらいの感想しか出ない
あと整数nをnth nへオバロは、逆なんじゃないかな?
push n へオバロならforthライクに発展できるのに
おじさんは自分に求められてるのは変態テクニックやインスピレーションだと自覚しろ
現在の俺がもしjmcだったら?とか言い出したので見限った
今ざっと目を通しても目新しいところ、興奮するところが全然ないんだなこれが
https://sep.yimg.com/ty/cdn/paulgraham/bellanguage.txt
ofは便利くらいの感想しか出ない
あと整数nをnth nへオバロは、逆なんじゃないかな?
push n へオバロならforthライクに発展できるのに
おじさんは自分に求められてるのは変態テクニックやインスピレーションだと自覚しろ
311デフォルトの名無しさん
2021/02/16(火) 19:13:16.29ID:RZ7vFu0i >>309
グレアムの方が近いはずだが
グレアムの方が近いはずだが
312デフォルトの名無しさん
2021/02/16(火) 21:26:58.99ID:6gVrqubW313デフォルトの名無しさん
2021/02/17(水) 03:29:33.90ID:PFWUQJwx 関数やマウロの実体もリストというのはだいぶん振り切れていると思うがおまえらには目新しくはないのか>bel
314デフォルトの名無しさん
2021/02/17(水) 03:49:42.83ID:KZUgEKHz315デフォルトの名無しさん
2021/02/17(水) 04:32:37.72ID:KZUgEKHz 後は語り尽くされたlisp1/2の分化の話になるのでその辺はググって
316デフォルトの名無しさん
2021/02/17(水) 04:57:15.21ID:KZUgEKHz 補足
elの挙動は完全にバグいので忘れた方がいい、一方で関数実体はリストのサブタイプではないとヒューリスティックに判定されるのでそもそもill-defined
elの挙動は完全にバグいので忘れた方がいい、一方で関数実体はリストのサブタイプではないとヒューリスティックに判定されるのでそもそもill-defined
317デフォルトの名無しさん
2021/02/17(水) 18:52:29.11ID:zk5Pyjxw アラン・ケイもそれを自分でやってみようとすることが重要だと言ってる
原始関数が変われば何もかもが変わるわけだから
変わった世界が良いのか悪いのか、は自己言及がどれだけよく出来てるかどうか
ということだと思うんだけど
つまり、僕らが使いやすいと感じるかどうかではなく
未来にそれに慣れた人たちがより効率の良い開発が出来るかどうか
で、グレアムは自分なりにBelは良く出来てると思ってるんだろう
オレにはよくわからんがw
原始関数が変われば何もかもが変わるわけだから
変わった世界が良いのか悪いのか、は自己言及がどれだけよく出来てるかどうか
ということだと思うんだけど
つまり、僕らが使いやすいと感じるかどうかではなく
未来にそれに慣れた人たちがより効率の良い開発が出来るかどうか
で、グレアムは自分なりにBelは良く出来てると思ってるんだろう
オレにはよくわからんがw
318はちみつ餃子 ◆8X2XSCHEME
2021/02/18(木) 00:14:56.95ID:k6/K1ymI グレアムが現役プログラマだった時代なら実務に全振りしただろうが、今は投資する側の立場だからね。
投資に技術的な知見を活かしてはいるんだろうけど、道楽が出来るんだろう。
投資に技術的な知見を活かしてはいるんだろうけど、道楽が出来るんだろう。
319デフォルトの名無しさん
2021/02/18(木) 01:58:35.80ID:lD1LwcuS レディットで実装した人いるね
確かに使われてみなければ分からん事もたくさんあるので使ってみたい、まあ、そのうちね…
原典からlit=appqを引用(復古)するのなら、read&eval結果を示すのでなく、各々の挙動についてイメージできるように書いてほしい
とりわけlitは、302のレスにあるdefunをdefmacroに置き換えた定義(その場合(lit a b c)と記述できる)であっても、
より強力なreader macroによる、定義(e.g.quote)でも実装できるのだから、なおさら
確かに使われてみなければ分からん事もたくさんあるので使ってみたい、まあ、そのうちね…
原典からlit=appqを引用(復古)するのなら、read&eval結果を示すのでなく、各々の挙動についてイメージできるように書いてほしい
とりわけlitは、302のレスにあるdefunをdefmacroに置き換えた定義(その場合(lit a b c)と記述できる)であっても、
より強力なreader macroによる、定義(e.g.quote)でも実装できるのだから、なおさら
320デフォルトの名無しさん
2021/02/18(木) 02:07:31.14ID:lD1LwcuS でもグラハムは尊敬してるよ、著書もエッセイ以外紙版で全部持ってるし、啓蒙家としての実績を差し引いてもトップクラスのハッカーであるのは間違いない
321デフォルトの名無しさん
2021/02/18(木) 03:15:27.49ID:sRdwF113 >>319
言葉足らずでした
clは基本的にapplyへマクロを渡せないから、or/andに対応したsome/everyが提供されてるわけだけど、展開効率を無視すればread時に関数へすり替えるワークアラウンドで実現できる
そこが売りなんだからもうちょっと仔細を、と
言葉足らずでした
clは基本的にapplyへマクロを渡せないから、or/andに対応したsome/everyが提供されてるわけだけど、展開効率を無視すればread時に関数へすり替えるワークアラウンドで実現できる
そこが売りなんだからもうちょっと仔細を、と
322デフォルトの名無しさん
2021/02/18(木) 06:11:12.33ID:FG25zgsT ゲイツ、ジョブズと同い年なんだよな
323デフォルトの名無しさん
2021/02/19(金) 11:35:19.85ID:VprFkjBX ・知能は高い
・こまかい技術用語をちりばめてくるので詳しそうと思わせる
・言語仕様と歴史的経緯と個人研究の区別をつける意識がない
・検証するとトータルとしては話が嘘
こまったもんだ
・こまかい技術用語をちりばめてくるので詳しそうと思わせる
・言語仕様と歴史的経緯と個人研究の区別をつける意識がない
・検証するとトータルとしては話が嘘
こまったもんだ
324デフォルトの名無しさん
2021/02/23(火) 02:25:08.36ID:VIkkm8/q 関数がリストで表せるからatomじゃないってのは気持ち悪いな
別にどんな言語であろうと関数定義はトークンの並び≒リストで書けるわで
論理学では関数や述語はそのシンボルと引数のリストとして書かれるにも関わらずatomと定義される、あんまり明るくないんでなんでそうするのかは知らんが
別にどんな言語であろうと関数定義はトークンの並び≒リストで書けるわで
論理学では関数や述語はそのシンボルと引数のリストとして書かれるにも関わらずatomと定義される、あんまり明るくないんでなんでそうするのかは知らんが
325デフォルトの名無しさん
2021/02/23(火) 03:38:31.96ID:aA0AvmX/ ELisp だと、一部の関数は本当にリストとして保持されてたりするんだよね。
ラムダ式そのままの形で。
だから car や setcar とかで中身にアクセスできちゃったり。
ラムダ式そのままの形で。
だから car や setcar とかで中身にアクセスできちゃったり。
326デフォルトの名無しさん
2021/02/23(火) 04:39:24.64ID:VIkkm8/q elのfunctionはid関数っていうね…知りたくなかった
関数定義をいじくりたいならformとして持ち回って、invokeする時にfunction噛ますのがベストプラクティスと思うよ、わりとよく見る
関数定義をいじくりたいならformとして持ち回って、invokeする時にfunction噛ますのがベストプラクティスと思うよ、わりとよく見る
327デフォルトの名無しさん
2021/02/23(火) 04:45:23.10ID:VIkkm8/q あ、後半はちゃんと関数を理論と整合するatomとして扱うlisp(clとか)への言及です
328デフォルトの名無しさん
2021/03/14(日) 21:42:37.21ID:ykHNi/i1 linuxでdr.schemeがちゃんと表示してくれなくて追加パッケージも入れられない
(表示が崩れてまともにサブウインドウが開いてくれない)
どころか終了すらまともに出来ないので、、、
探したらgeiser(Emacs拡張?)というのがあって
それ入れたらEmacsからracket使えるようになった(≧∇≦)/
追加バックはコマンドラインから入れられた
これで充実した春休みが送れそうだぞ
(表示が崩れてまともにサブウインドウが開いてくれない)
どころか終了すらまともに出来ないので、、、
探したらgeiser(Emacs拡張?)というのがあって
それ入れたらEmacsからracket使えるようになった(≧∇≦)/
追加バックはコマンドラインから入れられた
これで充実した春休みが送れそうだぞ
329デフォルトの名無しさん
2021/03/15(月) 17:40:08.88ID:mTFo5Bvn Happy Hacking!
maclispのpitman/moonual読んでるけどシンボル操作系ユティリティが充実してて楽しい、ちまちまclへ移植
そんなのもうたくさん誰かやってるだろって?絶対にググらないぞ
maclispのpitman/moonual読んでるけどシンボル操作系ユティリティが充実してて楽しい、ちまちまclへ移植
そんなのもうたくさん誰かやってるだろって?絶対にググらないぞ
330デフォルトの名無しさん
2021/03/15(月) 17:56:03.28ID:iXam+Zcq 誰かがここに検索結果を貼る可能性を考えなかったのが敗因でした
331デフォルトの名無しさん
2021/03/17(水) 18:41:37.66ID:e+VOZDZq gosh> '()
()
racket> '()
'()
(。・_・。)…?
()
racket> '()
'()
(。・_・。)…?
332はちみつ餃子 ◆8X2XSCHEME
2021/03/17(水) 19:32:10.48ID:sFqg8ROj333デフォルトの名無しさん
2021/03/17(水) 21:49:16.02ID:e+VOZDZq racket> '()
'()racket> '()
になる……
'()racket> '()
になる……
334デフォルトの名無しさん
2021/03/17(水) 21:49:52.85ID:e+VOZDZq 訂正
racket> '()
()racket>
になる……
racket> '()
()racket>
になる……
335デフォルトの名無しさん
2021/03/17(水) 22:26:44.32ID:e+VOZDZq すんません、再度訂正
racket>(write '())
()racket>
になります
racket>(write '())
()racket>
になります
336デフォルトの名無しさん
2021/03/18(木) 00:10:13.29ID:3weRgygV replに代わってrpeplを提唱したい
意外とreadは仕事をしている
clだけどread-from-stringにはいつもお世話になる
意外とreadは仕事をしている
clだけどread-from-stringにはいつもお世話になる
338デフォルトの名無しさん
2021/03/18(木) 21:03:14.59ID:jgE2sGe4 連投してスレ汚しすんませんでした
こんなのあるんだね
https://en.scratch-wiki.info/wiki/Snap!_(programming_language)#First_Class_Continuations
Snap!: Scheme Disguised as Scratch
https://youtu.be/wtUMvx9mvm4
こんなのあるんだね
https://en.scratch-wiki.info/wiki/Snap!_(programming_language)#First_Class_Continuations
Snap!: Scheme Disguised as Scratch
https://youtu.be/wtUMvx9mvm4
339デフォルトの名無しさん
2021/03/19(金) 14:16:23.58ID:6iPIiOby Lispへの憧憬
https://xtech.nikkei.com/it/article/COLUMN/20090324/327085/
Lispに対する偏見、エリートコンプレックスを赤裸々に吐露していて参考になった
すこし弄れるからといってエリート意識持っていたりするのも同じ事なんだよね
そこに本質的な差は無いし、能力的な差も殆どない
https://xtech.nikkei.com/it/article/COLUMN/20090324/327085/
Lispに対する偏見、エリートコンプレックスを赤裸々に吐露していて参考になった
すこし弄れるからといってエリート意識持っていたりするのも同じ事なんだよね
そこに本質的な差は無いし、能力的な差も殆どない
340デフォルトの名無しさん
2021/03/19(金) 19:07:28.92ID:VzIhkYvX >>339
なんかカッコいい感じは分かるけど、なんでそうなのかは分からん
Fortranはすげー科学者がみんな使ってて技術的にも常に(今も、Fortran2020を見よ)最先端だけど、別にFortranはカッコよくないと思うし
どういう心理なんだろ
なんかカッコいい感じは分かるけど、なんでそうなのかは分からん
Fortranはすげー科学者がみんな使ってて技術的にも常に(今も、Fortran2020を見よ)最先端だけど、別にFortranはカッコよくないと思うし
どういう心理なんだろ
341デフォルトの名無しさん
2021/03/19(金) 19:12:24.45ID:VzIhkYvX 思うに、使ってる層のエリート度で考えるとFortranと変わらん
思うに、単純にコードの見た目がalien technologyっぽいかだろ
by an alien
思うに、単純にコードの見た目がalien technologyっぽいかだろ
by an alien
342デフォルトの名無しさん
2021/03/19(金) 19:13:41.78ID:VzIhkYvX 大事なことなので2回思ってしまった…
見た目は大事ってことじゃね
見た目は大事ってことじゃね
343デフォルトの名無しさん
2021/03/19(金) 19:21:49.87ID:VzIhkYvX ところで記事に挙がってるJava、cl/scm、(モダン)Fortranの全てにガッツリ関わってるSteele先生すげーな
344デフォルトの名無しさん
2021/03/19(金) 20:26:43.21ID:6zFezuIX 十年前の記事だけど状況はだいぶん変化したのでLispへの憧憬などというものがもう成り立ってない・・
十年前に書き込んでくれ・・
十年前に書き込んでくれ・・
345デフォルトの名無しさん
2021/03/19(金) 21:04:26.12ID:RMQx/osX なあにlispの本質は60年前から変わってないさ
lispに直接関わる事じゃないんだけど、ちょっとよろしいかしら
ISLISPなるものの規格を読むのにjisc.go.jpに登録しなくちゃならないんだけど、pcからもスマホからも"障害が発生しました"と怒られて進めないんだけど、俺だけ?
ちなみに一月前にも試して同じだった
フリーな規格なのでhtml版読めるとこもあるけど、一応pdfもと
lispに直接関わる事じゃないんだけど、ちょっとよろしいかしら
ISLISPなるものの規格を読むのにjisc.go.jpに登録しなくちゃならないんだけど、pcからもスマホからも"障害が発生しました"と怒られて進めないんだけど、俺だけ?
ちなみに一月前にも試して同じだった
フリーな規格なのでhtml版読めるとこもあるけど、一応pdfもと
346デフォルトの名無しさん
2021/03/19(金) 21:11:14.03ID:RMQx/osX 一部の日本人が布教に熱心で検索にかかりまくるから胡散臭くて敬遠してたんだが、少なくとも初期はcl委員が関わってるし由緒はあるんだよな
無難なlispだが、大体スーパーセットなclにアクティブですごい処理系沢山ある限り絶対流行らんが
あんまり布教頑張るとネガキャンに見えるぞ…
無難なlispだが、大体スーパーセットなclにアクティブですごい処理系沢山ある限り絶対流行らんが
あんまり布教頑張るとネガキャンに見えるぞ…
347デフォルトの名無しさん
2021/03/20(土) 01:03:24.86ID:iR2BedGg >>338
vimだと階層に合わせて背景塗り分けるプラグインとかあるね
Peirce(パースの法則の人)も初めはlogical graphと言う円で囲む二次元言語を考えてたんだが、今言及されるときはテキスト表現で()になってる(そして読みやすい)
歴史はめぐるってか
ちなみにlispと見た目が似てるからってパーサを書いたが、やはり親和性が高い
面白いのでオススメ
vimだと階層に合わせて背景塗り分けるプラグインとかあるね
Peirce(パースの法則の人)も初めはlogical graphと言う円で囲む二次元言語を考えてたんだが、今言及されるときはテキスト表現で()になってる(そして読みやすい)
歴史はめぐるってか
ちなみにlispと見た目が似てるからってパーサを書いたが、やはり親和性が高い
面白いのでオススメ
348デフォルトの名無しさん
2021/03/20(土) 01:11:33.86ID:iR2BedGg コードエディタじゃなくて残念なんだけど、愛用してるOneNoteのテキストのドラッグが()ごとドラッグしてくれるのに気づいた
まあいつものMSのお節介なんですけどね
本来の用途である物書きでは選択範囲を自由に決めさせてくれないイライラ要素
まあいつものMSのお節介なんですけどね
本来の用途である物書きでは選択範囲を自由に決めさせてくれないイライラ要素
349デフォルトの名無しさん
2021/03/20(土) 01:12:20.50ID:iR2BedGg (特に日本語!)
350はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 01:20:25.61ID:O2z0YRFR 規格っつーのは多少の粗があっても皆で統一したほうが便利だというもんなんで、
ユーザー規模がないものは規格化が活きてこない。
ISLISPでコードが書いてあってもオレオレLISPで書いてあるのと大差ないんだよ。
共通の知識になってないから。
ISLISP の仕様自体が悪いわけではないし劣っているわけでもないと思うんだけど、
最初に広められなかったらこれから広まるってことはもう無いんだろうな。
それはそれでいいんじゃね。 細々とやっていくのが好きな人もいるんだろ。
ユーザー規模がないものは規格化が活きてこない。
ISLISPでコードが書いてあってもオレオレLISPで書いてあるのと大差ないんだよ。
共通の知識になってないから。
ISLISP の仕様自体が悪いわけではないし劣っているわけでもないと思うんだけど、
最初に広められなかったらこれから広まるってことはもう無いんだろうな。
それはそれでいいんじゃね。 細々とやっていくのが好きな人もいるんだろ。
351デフォルトの名無しさん
2021/03/20(土) 01:39:51.02ID:SzdWYV/s 30年事足りるほど十分カバーしてるclってすごいよな(実働は1980年初頭だからもっと?)
まあマルチスレッドあたりの仕様がバラバラなので、そこをしっかり決めてくれるMACLISP風規格があれば、俺はポッと出でも支持するんだが
まあマルチスレッドあたりの仕様がバラバラなので、そこをしっかり決めてくれるMACLISP風規格があれば、俺はポッと出でも支持するんだが
352はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 02:00:29.14ID:O2z0YRFR >>351
Scheme で言う SRFI に相当するものとして Common Lisp にも CDR (Common Lisp Document Repository) があるんだが、
Common Lisp は Scheme よりも実務主義というか話し合いするよりも動くライブラリを置いときゃいいだろみたいな文化があって
共通仕様の策定に熱心ではないような気がするな。
Scheme で言う SRFI に相当するものとして Common Lisp にも CDR (Common Lisp Document Repository) があるんだが、
Common Lisp は Scheme よりも実務主義というか話し合いするよりも動くライブラリを置いときゃいいだろみたいな文化があって
共通仕様の策定に熱心ではないような気がするな。
353デフォルトの名無しさん
2021/03/20(土) 02:13:36.08ID:SzdWYV/s >>352
今誰が主導してるかと訊かれて、答えに詰まるのは特異な状況だとは思う
商用(持ってないけど)ですら保守的にみえる
ぬるま湯に浸かるのを良しとしないISLISPの人を讃えたい
フリーでまともな処理系待ってるから出来たら起こしてくれよな!(讃えるだけ)
今誰が主導してるかと訊かれて、答えに詰まるのは特異な状況だとは思う
商用(持ってないけど)ですら保守的にみえる
ぬるま湯に浸かるのを良しとしないISLISPの人を讃えたい
フリーでまともな処理系待ってるから出来たら起こしてくれよな!(讃えるだけ)
354デフォルトの名無しさん
2021/03/20(土) 02:19:30.20ID:SzdWYV/s こんな感じの人現れないかな
https://i.imgur.com/h6qXF7E.jpg
https://i.imgur.com/h6qXF7E.jpg
355デフォルトの名無しさん
2021/03/20(土) 03:36:41.06ID:y8ipzAe/ でもミンスキーは言ってたよ
表情や仕草が人間ぽいものはたくさん作られたが、
福島の震災で作業できるロボットは創り出せなかった
もう何十年も止まったままだ
って
表情や仕草が人間ぽいものはたくさん作られたが、
福島の震災で作業できるロボットは創り出せなかった
もう何十年も止まったままだ
って
356デフォルトの名無しさん
2021/03/20(土) 03:47:36.11ID:J9z4ezp0 SRFI出るや否や写経と称してシュババとクオリティ実装するclerが結構居るし、必要とあらば足りるしな
quicklispにも結構載ってるよね、clに混ぜるのは違和感あるからあくまでお手本としてアイデアを拝借するだけだが()
scheme処理系も多くのSRFIを標準で揃えてるわけじゃないから(ポートは容易だろうが)、やっぱまとめ役が居ないことに尽きる
qlがやる気出さないかな
quicklispにも結構載ってるよね、clに混ぜるのは違和感あるからあくまでお手本としてアイデアを拝借するだけだが()
scheme処理系も多くのSRFIを標準で揃えてるわけじゃないから(ポートは容易だろうが)、やっぱまとめ役が居ないことに尽きる
qlがやる気出さないかな
357はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 15:18:16.80ID:O2z0YRFR358はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 15:25:35.53ID:O2z0YRFR SRFI や CDR は (英語がわかるなら!) 誰でも提出できるし、
議論が尽くされたと思ったときに決定稿に (あるいは撤回を) していい。
ユーザーコミュニティの中に文書の置き場と相談の場所があるだけなので、
誰かが可否を決定してるわけではない。
主導者がいないっつってもコミュニティで議論してたらだいたい「いつもの面子」みたいにはなるだろうけどな。
つまり SRFI や CDR で決定稿になっても権威が与えられるわけではないので、
そんなプロセスを経ずとも適当にライブラリを作って皆が使ったり使わなかったりして
デファクトスタンダードが決まっていけばそれでいいんちゃうの?
という考え方もあって、 Common Lisp は割とそういう空気っぽい。
Common Lisp のことはそれほど知らない (Scheme についてもあまり知らないけど)
ので間違ってたら指摘してね。
議論が尽くされたと思ったときに決定稿に (あるいは撤回を) していい。
ユーザーコミュニティの中に文書の置き場と相談の場所があるだけなので、
誰かが可否を決定してるわけではない。
主導者がいないっつってもコミュニティで議論してたらだいたい「いつもの面子」みたいにはなるだろうけどな。
つまり SRFI や CDR で決定稿になっても権威が与えられるわけではないので、
そんなプロセスを経ずとも適当にライブラリを作って皆が使ったり使わなかったりして
デファクトスタンダードが決まっていけばそれでいいんちゃうの?
という考え方もあって、 Common Lisp は割とそういう空気っぽい。
Common Lisp のことはそれほど知らない (Scheme についてもあまり知らないけど)
ので間違ってたら指摘してね。
359はちみつ餃子 ◆8X2XSCHEME
2021/03/21(日) 02:50:10.72ID:GD6fpf+y ところで IEEE の Scheme は期限を過ぎても更新せずにそのまま廃版になってたみたいね。
https://standards.ieee.org/standard/1178-1990.html
知らんかった。
元から参照しているやつはあんまりいなかっただろうし
ステータスが Withdrawn になったからといって何か変わるわけでもないけどさ。
https://standards.ieee.org/standard/1178-1990.html
知らんかった。
元から参照しているやつはあんまりいなかっただろうし
ステータスが Withdrawn になったからといって何か変わるわけでもないけどさ。
360デフォルトの名無しさん
2021/03/24(水) 15:11:25.30ID:HKW94SjI361デフォルトの名無しさん
2021/04/04(日) 11:13:09.40ID:dz+wreGq lisp machine触ってみたいなと思ってたらとても素敵な物が手軽にあった!
https://archives.loomcom.com/genera/genera-install.html
https://archives.loomcom.com/genera/genera-install.html
362デフォルトの名無しさん
2021/04/04(日) 22:30:38.28ID:9kDPlOMr 素敵!
363デフォルトの名無しさん
2021/04/05(月) 19:12:20.11ID:DVkxDxiZ わだばさんのところに紹介があった
https://g000001.cddddr.org/3690710797
https://g000001.cddddr.org/3690710797
364デフォルトの名無しさん
2021/04/05(月) 21:56:17.84ID:i9PX2oQn generaはwikipedia読んだ程度だけど随分先進的そうだ
mac/lml/clまぜこぜだそうな
>>360みたいな感じでマウスで弄ったりカーソル置くと引数やdocがポップアップしたり
オンラインヘルプ大好き人間としては興味あり
まあ今時のソフト無くてもテキスト書くくらいなら十分使えそう
試したらレポる(たぶん
mac/lml/clまぜこぜだそうな
>>360みたいな感じでマウスで弄ったりカーソル置くと引数やdocがポップアップしたり
オンラインヘルプ大好き人間としては興味あり
まあ今時のソフト無くてもテキスト書くくらいなら十分使えそう
試したらレポる(たぶん
365デフォルトの名無しさん
2021/04/05(月) 22:16:42.87ID:i9PX2oQn 98年まで開発(メンテ?)されてたのに驚き
366デフォルトの名無しさん
2021/04/05(月) 23:14:43.49ID:Z3TcF1gw >>361
詳細にドキュメント化されていて迷うことは無さそうだけど、これで手軽ってどんだけ良く訓練されてんだよw
詳細にドキュメント化されていて迷うことは無さそうだけど、これで手軽ってどんだけ良く訓練されてんだよw
367デフォルトの名無しさん
2021/04/05(月) 23:16:47.02ID:wm1TeUKF lisp machine/generaではcやFortranもlisp実装なんだよね
性能はさておきとても興味深い
性能はさておきとても興味深い
368デフォルトの名無しさん
2021/04/05(月) 23:42:14.84ID:i9PX2oQn 権利的に大丈夫なのかが気掛かりだ
Symbolics(のようなもの、symbolics-dks.com)はまだホームページ持っててソフト売ってるわけで
実働してるかは怪しいが
lisp machineのVMもいつまで動くやら、動作報告のあるブロブのビルド方法は不明、linuxのバージョン上がればバイナリ互換性が失われるかもしれない
近いうちにロストテクノロジーになるなこれ
Symbolics(のようなもの、symbolics-dks.com)はまだホームページ持っててソフト売ってるわけで
実働してるかは怪しいが
lisp machineのVMもいつまで動くやら、動作報告のあるブロブのビルド方法は不明、linuxのバージョン上がればバイナリ互換性が失われるかもしれない
近いうちにロストテクノロジーになるなこれ
369デフォルトの名無しさん
2021/04/06(火) 00:03:42.02ID:4WR5kIDO linuxも一応abiの規定あるけど同じアーキテクチャでも違うディストロでそのまま動くとは限らんしな
とりあえずクローンした気がする(気がするだけ)
winならx86系でさえあれば安泰なんだが、generaのXインターフェイス使ってるぽいし無理そうだよなあ
うちでは代々バイナリをコピペし継いだoffice95がwin10でバリバリ元気に働いてるよ
とりあえずクローンした気がする(気がするだけ)
winならx86系でさえあれば安泰なんだが、generaのXインターフェイス使ってるぽいし無理そうだよなあ
うちでは代々バイナリをコピペし継いだoffice95がwin10でバリバリ元気に働いてるよ
370デフォルトの名無しさん
2021/04/06(火) 19:03:06.66ID:9PToVtUo371デフォルトの名無しさん
2021/04/06(火) 19:36:16.54ID:R6aCJEvU Alto→NextStep→OSXがコンシューマ向けになって成功してるのに
Interlisp-D、Symbolicsは(パンピー的には)伝説のマシンのままなのはどうしてなんだぜ
Interlisp-D、Symbolicsは(パンピー的には)伝説のマシンのままなのはどうしてなんだぜ
372デフォルトの名無しさん
2021/04/06(火) 19:41:57.45ID:R6aCJEvU Next, OpenStepを元にしたGNU/Stepというのもあるけど
GNU/HURDが完成したら、Lispマシンぽいことやるんでしょうかね…
Objective-Cならぬ、Lispective-C(仮称)で
GNU/HURDが完成したら、Lispマシンぽいことやるんでしょうかね…
Objective-Cならぬ、Lispective-C(仮称)で
373デフォルトの名無しさん
2021/04/07(水) 02:31:56.66ID:nO5/cs4F >>372
そういう考え方リスペクトする
そういう考え方リスペクトする
374デフォルトの名無しさん
2021/04/07(水) 22:28:51.32ID:0y6O4yId GNUは、というかストールマンが目指してるのはフリーな(自由な)CとLispの環境だと思うんだよね
375デフォルトの名無しさん
2021/04/07(水) 22:50:57.97ID:BC88Bm4+ guileをゴリ推してるけどなにそれ状態だよなー
特段良いとは思わないけどlisp押ししてくれる貴重な権力者
正直C協調性だとか拡張向きだとか今時普通なんで売れないと思います
特段良いとは思わないけどlisp押ししてくれる貴重な権力者
正直C協調性だとか拡張向きだとか今時普通なんで売れないと思います
376デフォルトの名無しさん
2021/04/07(水) 22:52:05.81ID:BC88Bm4+ 応援のつもりで一応入れてる
ちゃんとダウンロード数カウントしてるか知らんが
ちゃんとダウンロード数カウントしてるか知らんが
377はちみつ餃子 ◆8X2XSCHEME
2021/04/08(木) 01:27:32.57ID:d0EnvaGP Guile も良い処理系だよ。
Windows ではいまいち使い勝手が良くないからワイはあまり使わんけど。
GNUプロジェクトとして開発しているだけあって、
ライセンス的にもビルドプロセス的にもGNUのソフトウェアとは連携しやすいから
個別のソフトウェアとしてどうこうというだけでなく
GNUプロジェクトであることに意味があるんだと思う。
ただアプリケーションの拡張用に Guile はリッチすぎる気がする。
ライブラリはホスト環境 (アプリケーション) 側で用意するから
言語処理系の側は単純なほうがありがたいことが多い。
GIMP が TinyScheme をベースにしてることからもわかるように、
拡張用言語はこんくらいの規模でいんだよな。
Windows ではいまいち使い勝手が良くないからワイはあまり使わんけど。
GNUプロジェクトとして開発しているだけあって、
ライセンス的にもビルドプロセス的にもGNUのソフトウェアとは連携しやすいから
個別のソフトウェアとしてどうこうというだけでなく
GNUプロジェクトであることに意味があるんだと思う。
ただアプリケーションの拡張用に Guile はリッチすぎる気がする。
ライブラリはホスト環境 (アプリケーション) 側で用意するから
言語処理系の側は単純なほうがありがたいことが多い。
GIMP が TinyScheme をベースにしてることからもわかるように、
拡張用言語はこんくらいの規模でいんだよな。
378デフォルトの名無しさん
2021/04/08(木) 18:16:52.22ID:IR9u3KhO GNUといえばEmacs
最も普及しているLisp環境
最も普及しているLisp環境
379本田
2021/04/09(金) 05:55:12.32ID:U7WaDuwU >>361
GitHub - lisper/cpus-caddr: FPGA based MIT CADR lisp machine - rewritten in modern verilog - boots and runs
https://github.com/lisper/cpus-caddr
GitHub - lisper/cpus-caddr: FPGA based MIT CADR lisp machine - rewritten in modern verilog - boots and runs
https://github.com/lisper/cpus-caddr
380デフォルトの名無しさん
2021/04/10(土) 00:08:20.59ID:pgV1eSpW guileはdicoと使うと便利ぞ
dicoはdictと喧嘩しやがるアレなやつだからだが
dicoはdictと喧嘩しやがるアレなやつだからだが
381デフォルトの名無しさん
2021/04/10(土) 00:11:58.64ID:pgV1eSpW382本田
2021/04/11(日) 07:05:56.11ID:vMH2MoUG >>381
Unlambda.com | Main / Cadr
http://www.unlambda.com/index.php?n=Main.Cadr
Retrocomputing - MIT CADR Lisp Machines
CADR Emulation
Unlambda.com | Main / Cadr
http://www.unlambda.com/index.php?n=Main.Cadr
Retrocomputing - MIT CADR Lisp Machines
CADR Emulation
383デフォルトの名無しさん
2021/05/04(火) 13:30:15.28ID:fppjg2ZR LispとCの融合ということだと、KCLはLispective-Cなのでは
384本田
2021/05/06(木) 21:07:40.28ID:0MCggaNl385デフォルトの名無しさん
2021/05/08(土) 16:12:40.38ID:HQQ9X3gD Racket Programming the Fun Way: From Strings to Turing Machines
https://nostarch.com/racket-programming-fun-way
https://nostarch.com/racket-programming-fun-way
386デフォルトの名無しさん
2021/05/25(火) 18:47:13.72ID:JJYQeYh+ pというprocedureが何回呼び出されたかを出力したいと思って以下のコードを書きましたが、意図通り動きません。
どうすればいいですか?
(define (cube x) (* x x x))
(define (p x) (- (* 3 x) (* 4 (cube x))))
(define (count_p angle n)
(if (not (> (abs angle) 0.1))
n
(p (count_p (/ angle 3.0) (+ n 1)))))
どうすればいいですか?
(define (cube x) (* x x x))
(define (p x) (- (* 3 x) (* 4 (cube x))))
(define (count_p angle n)
(if (not (> (abs angle) 0.1))
n
(p (count_p (/ angle 3.0) (+ n 1)))))
387デフォルトの名無しさん
2021/05/25(火) 18:50:37.18ID:JJYQeYh+ あ、分かりました。
388デフォルトの名無しさん
2021/05/25(火) 19:30:00.29ID:xQ/lxTUk そうか
レスを投稿する
ニュース
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」★2 [♪♪♪★]
- 外国人観光客に「ランチタイム来店遠慮して」富士そば店舗の貼り紙が波紋、運営会社は撤去指示 [七波羅探題★]
