Lisp Scheme Part41 (855レス)
1-

232: 2020/10/16(金)19:26 ID:eDnfO719(1) AAS
時期にcommon lisp でできるようになるかも
最近numpyのcommonlisp版作るnumcl ってプロジェクトあるし
233
(2): 2020/10/16(金)19:47 ID:gzagFIoh(2/2) AAS
カッコなし、字下げか空白だけで繋ぐlispとかあったら3レス分くらい流行るかも
234
(1): 2020/10/16(金)22:46 ID:uQ0QovW5(1/2) AAS
>>233
たとえば(/(+ 1 2 3 4 5) 5)はどうなるの

/
 +
  1 2 3 4 5
 5
こうかな?
235
(1): 2020/10/16(金)22:55 ID:uQ0QovW5(2/2) AAS
無限ループ
((lambda(x)(x x))(lambda(x)(x x)))
こういうのだと字下げだけでは対応できないから補助キーワードが必要になる
call
 lambda x
  call x x
 lambda x
  call x x
こうかな
無意味に行数が増える時点で自分的に却下だけど
236: はちみつ餃子 ◆8X2XSCHEME 2020/10/17(土)01:28 ID:EbfBq8oa(1/2) AAS
>>233-235
Scheme での提案として存在はする。
外部リンク[html]:srfi.schemers.org
でも使われているのを見たことは無いなー。

そこまで括弧が嫌いならあえて Lisp の系統の言語を使わなくても
他の選択肢はいくらでもあるわけだしな。
237
(1): 2020/10/17(土)09:40 ID:aI2oeiUv(1) AAS
なんていうか、何も変わらんなあ…
カッコがないのにカッコが見える
238: 2020/10/17(土)13:45 ID:FBaj+4Vy(1) AAS
AST をそのままかけるのが lisp の欠点であるし強みでもあるんだから、それが嫌なら他言語で AST をいじれるライブラリーを使ってかけって話だしね
239: はちみつ餃子 ◆8X2XSCHEME 2020/10/17(土)16:11 ID:EbfBq8oa(2/2) AAS
>>237
Indentation-sensitive syntax ( I 式) は S 式との間での単純な変換規則なので
S 式を忘れて書けるほどの抽象度ではないという感覚はわかる。
むしろ脳内で S 式に展開しようとしてしまって変に負荷がかかる感じがある。
最初から I 式で学んでいればまた違う感覚なのかもしれないけど、
そういう学習ルートは確立してないしなぁ。
240
(1): 2020/11/03(火)18:17 ID:mQdztdM9(1) AAS
趣味プログラマでLispしか知らないんだけど、
みんなはやりたいことの応じて言語を使い分けてんの?
241: 2020/11/04(水)09:41 ID:lIQnEWld(1) AAS
>>240
そりゃ使い分ける
たとえば速さや移植性を重視するときは今でもCが手放せない
一時Rustも使ってみたけどLLVMに縛られるのでCに戻った
あと複雑なことをしないグループログラムだとPythonが楽
ネットを探せば必要なライブラリはだいたい手に入る
242
(1): はちみつ餃子 ◆8X2XSCHEME 2020/11/04(水)12:06 ID:gK1y19nz(1) AAS
なんだかんだで C だけは手放せない感じはあるかな。
低レイヤを支配してるのはやっぱ C だわ。
それもこれからは一部は Go や Rust に置き換わっていくとは思うけど。
243
(1): ◆QZaw55cn4c 2020/11/04(水)19:46 ID:P7pHA7N2(1) AAS
>>242
>これからは一部は Go や Rust に置き換わっていくとは思うけど。

……
C で記述された lib を Go や Rust は気軽にコールできるのですか?
まさか…
244: はちみつ餃子 ◆8X2XSCHEME 2020/11/05(木)17:06 ID:CL/4cqPq(1) AAS
>>243
そりゃ当然できるよ。 呼び出すだけなら難しい手間は何もない。
ただ、 C の側のコードの保証が弱すぎる。
たとえば (C側で) malloc で確保したメモリは Go や Rust の側でいつ解放するのが
正しいのかわからないのでそのあたりのつじつま合わせは手動で頑張るしかない。
多少のラッパーを書く必要はあったりする。
245: 2020/11/14(土)17:07 ID:sHUc2peo(1) AAS
趣味でやっててhyperspec引きながらやりたいことできるようにはなってきたんだけど、
ガッコで系統的勉強したわけじゃないし、自分でやっててもうちょっとええ方法あってもいいよなあとか思うんだけど、
なんかいい勉強方法ある?PAIPはイヤ。
246: 2020/11/15(日)01:33 ID:A4lXbstU(1) AAS
SICPとCTMCPとかどうかな。
LISPじゃなくてプログラミング全般を体系的に学ぶ話になるけど。
247: はちみつ餃子 ◆8X2XSCHEME 2020/11/15(日)03:50 ID:x+/Z2zzY(1) AAS
日本語で書かれた Common Lisp の本はほとんど絶版になっちゃってるしなぁ……。

ガチの初心者なら Land of Lisp とかもアリかと思うけど、自分でリファレンスを調べられる程度ということになると
逆にちょうどよい書籍ってあまりない感じだよね。
248: 2020/11/16(月)14:24 ID:0hfDZfuV(1) AAS
使ってる処理系のソースを読んだり処理系を作ってみる
249: 2020/11/16(月)20:37 ID:ui1G6s5+(1) AAS
on lisp好き
let over lamda変態チックで好き
でも今はsmalltalkerになってしまったよ
250: 2020/11/17(火)01:49 ID:k3t+4yVm(1/2) AAS
lolのワクワク感はすごい、とりあえず写経したけど理解が追いついてないのでg!無し版を実装中

初心者だけどlisp関連の良書はかなりネットに上がってるよね、cltl2、onlisp,、lol、sicpなどなど
初心者だけど評判良さそうだからとホイホイ買ったのをネットで見付けてはヘコんでる
251: 2020/11/17(火)01:59 ID:k3t+4yVm(2/2) AAS
(大事なことなので)
252: 2020/11/28(土)21:43 ID:IG5x2Tcu(1) AAS
みんな、fletとかlabels使うの?
俺全然使わないんだけど。
253: 2020/11/29(日)02:14 ID:JzQZ+ZwM(1) AAS
labelsはよく使う
fletはネストが深くなって読みにくくなるので嫌い
254
(1): 2020/12/01(火)23:12 ID:Ul2ITO5q(1) AAS
スキーム手習いなんですけど
前の章までしっかり理解してから読み進めてくださいとのことですが
継続渡しから急に難しく感じます
そこまでが理解できてないってこと??
255: はちみつ餃子 ◆8X2XSCHEME 2020/12/02(水)11:19 ID:wCsCmSK2(1/3) AAS
>>254
私はその本を持っていないから具体的なことはわからんけど、
不慣れな初心者にとって継続渡しは実際に難しいと思う。
でも「難しい」だけで「理解できない」わけじゃないならたぶん前章まで一応の理解はできてるんじゃないかな。
256
(2): 2020/12/02(水)12:39 ID:2sTDa/BO(1/4) AAS
継続渡しスタイルに書き換える方法がわからないではなくて継続渡しスタイルに書き換える意味がわからないからかな?
257
(1): はちみつ餃子 ◆8X2XSCHEME 2020/12/02(水)13:45 ID:wCsCmSK2(2/3) AAS
ああ。 なるほど。
継続渡し形式でプログラムを書くことは実際にまず無いし便利でもないので
その点では意味不明と感じられても仕方がないことではあるな。

後の話 (第一級継続) に繋がる前振りだと思うので、
この時点ではパズルとでも思ってとりあえずこなすしかないわ。
258
(2): 2020/12/02(水)22:18 ID:3rT4yRJc(1) AAS
>>256
そんな感じです
例で挙げられてる渡される側の関数が何したいのかよくわからないし
多分、教育的に意図的にそうしてるのかもしれないけど
その意図がいまいちわからなくてモヤモヤするんですよね

>>257
一応追っかけることは出来るんですが
直で継続教えてもらったほうがわかりやすいような気がするのですが…
つまり、読めてないってことなんだろうなと
259: 256 2020/12/02(水)22:40 ID:2sTDa/BO(2/4) AAS
俺はsicpでcall-cc出てきてもさっぱり理解できなかったけど、
onlispで継続の実装を読んでやっと理解できた。

継続でできることってのは超高性能goto(?)が使えるようになることなんだけど、
そのためには継続渡しスタイルで今までの状態(実際はクロージャだけど)の全部または一部を渡して計算をしていくんだよ。
渡されたクロージャのどれかを呼び出す事によって以前の状態に復帰できる。

みたいなことだったと思う。空覚えなんで誰か突っ込んでね。

それと本のわからんところのコードを貼れば誰か解説してくれんじゃない。
260: 2020/12/02(水)22:45 ID:2sTDa/BO(3/4) AAS
超高性能gotoって書いてるのは普通の言語のgotoって同じ関数内でしかジャンプできないんだけど、
継続なら安全に関数間でもジャンプできるっていう意味。
261: 2020/12/02(水)22:48 ID:2sTDa/BO(4/4) AAS
継続はわかってしまえば当たり前でどこにでも存在してるんだけど、
継続を考えたやつは本当頭いいわとおもった。
1-
あと 594 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.023s