◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

Lisp Scheme Part41 YouTube動画>16本 ->画像>3枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1531587928/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2018/07/15(日) 02:05:28.62ID:oGr67yTf
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
Lisp Scheme Part40
http://2chb.net/r/tech/1426481152/

■テンプレ
http://wiki.fdiary.net/lisp/

■関連スレ
【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
http://2chb.net/r/tech/1483498849/
【GNU】スクリプト言語 Guile【scheme】
http://2chb.net/r/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://2chb.net/r/unix/1019926525/
2デフォルトの名無しさん
2018/07/15(日) 03:57:54.29ID:mQtsqebE
3デフォルトの名無しさん
2018/07/15(日) 04:45:43.53ID:+G2qeWeL
(Lisp 笑)
4デフォルトの名無しさん
2018/07/17(火) 22:34:02.03ID:6cKB2nCo
>>1
5はちみつ餃子 ◆8X2XSCHEME
2018/07/29(日) 18:08:39.36ID:bQEgGaK2
Racket の 7.0 が出た。
コアを chez に置き換える方向で進んでるんだね。
6 ◆QZaw55cn4c
2018/09/08(土) 00:00:46.97ID:t7GfMYxV
a little schemer/「scheme 手習い」 https://www.amazon.co.jp/dp/4274068269/
を読んでいます(ずいぶんと時間がかかっています)が、次のプログラムがさっぱり理解できなくて困っています

第5章「*すごい* 星がいっぱいだ」
この章の最初の方までは困難を伴いながらも、なんとか理解できました、この章でのこんな感じのコードを、仕様をみて独力で書きおこすことはできています https://ideone.com/fPHC2z

ところが、p.92 から

>Q: eqlist? はなんですか。
>A: 2つのリストが等しいかどうかを決める関数です。…①

>Q: eqlist? は、その引数についていくつ質問をしますか。
>A: 9つです。…②

>Q: なぜ 9 つの質問があるか説明できますか。
>A: 自分の言葉で説明すると次のようになります。
>「各引数は次のいずれかです。・空リスト・アトムがリストに cons されたもの・リストが別のリストに cons されたもの
>たとえば、最初の引数が空になるのと同時に、2番目の引数は、空リストか、car の位置に1つのアトムまたはリストを持っています。…③

>Q: eqan? を使って eqlist? を書きましょう
>A: https://ideone.com/vjYCZ5

この解答例がさっぱりです、実は②からよくわかっていません
コードのコメントは私がつけたのですが、最後の方は混乱してしまって…何がわからないかわからない状況です。
何か理解するための手がかり足がかりヒントはないでしょうか?
7SCHEME餃子 ◆8X2XSCHEME
2018/09/08(土) 01:10:14.26ID:VmsJpbI+
>>6
私はその本を持ってないのでそのあたりの問題を取り上げたブログ記事を見ながら説明しようかと思ったが、
その Q&A の通りとしか言いようがないんで、何がわからないのかよくわからない。 困ったな。

リストの先頭を見た時にあり得るパターンが 3 通りで、
l1 が 3 通りと l2 が 3 通りなら組合せは 9 通り。

9 通りのパターンは 3 種類に分類できて、

・ l1 と l2 の先頭が空リストなら真
・ l1 と l2 の先頭が一致すれば次の要素に対して再帰的に同じ処理をする
・ l1 と l2 の先頭が一致しないなら偽

となる。

実際のコードにするにあたって、空リストに car, cdr 手続きは適用できないんで、チェックの順番を気にするくらいかな。
8デフォルトの名無しさん
2018/09/08(土) 05:07:37.63ID:GHaullf6
引数が2つあり、それぞれは3通りの場合があるわけだから
引数の組み合わせとしては3×3=9通りの場合がある。
※引数はリスト(空リストを含む)と仮定していいようだ。

愚直にこの9通りの場合分けを展開するとこの表↓のようになるので、それをそのままコードにしたのがその解答例。

A B 等しい?
() () #t
() (アトム . リスト) #f
() (リスト . リスト) #f

(アトム . リスト) () #f
(アトム . リスト) (アトム . リスト) (and アトム同士が等しい リスト同士が等しい)
(アトム . リスト) (リスト . リスト) #f

(リスト . リスト) () #f
(リスト . リスト) (アトム . リスト) #f
(リスト . リスト) (リスト . リスト) (and carのリスト同士が等しい cdrのリスト同士が等しい)
9デフォルトの名無しさん
2018/10/07(日) 02:51:53.80ID:n2yn9/Ec
他のソフトウェアに組み込むスクリプト環境でTinySchemeを使おうかと思っているんですが
スクリプトの中からファイルIO関係の機能は使えないようにしたいです。
この場合、走らせるスクリプトの前に、open-input-file等のIO関係の関数を無害な関数で再定義する部分をくっつけてしまえばOKでしょうか?
10SCHEME餃子 ◆8X2XSCHEME
2018/10/07(日) 14:31:36.10ID:77445U4A
>>9
なんらかの方法で元の定義にアクセスできたら脆弱性になっちゃうから、
要らないなら削除する方が確実だと思う。

どのくらい確実にするかってのは程度問題だけど
削除する分にはそんなに手間でもないし。
11デフォルトの名無しさん
2018/10/07(日) 16:22:54.47ID:n2yn9/Ec
>>10
ありがとうございます。
削除というのは、その機能をSchemeのソースから削除して再コンパイルするということですか?
12SCHEME餃子 ◆8X2XSCHEME
2018/10/07(日) 19:43:40.12ID:77445U4A
>>11
そう。
13デフォルトの名無しさん
2018/10/08(月) 11:15:35.46ID:s+P1p206
>>12
ありがとうございます、やってみます!
14デフォルトの名無しさん
2018/10/09(火) 08:07:54.35ID:dwdUWAaf
依存型についてのテキストが出てるよ。
Daniel P. Friedman, David Thrane Christiansen "The Little Typer"
Boro Sitnikovski "Gentle Introduction to Dependent Types with Idris"
Edwin Brady "Type-Driven Development with Idris"
Adam Chlipala "Certified Programming with Dependent Types"
Aaron Stump "Verified Functional Programming in Agda"
Idris と Pie言語 ではλ関数とπ関数が同じように導入されているので相互に勉強できるのがいい。
15デフォルトの名無しさん
2018/10/09(火) 15:29:09.16ID:dwdUWAaf
π算法
Robin Milner "Communicating and Mobile Systems: The Pi Calculus"
Davide Sangiorgi, David Walker "The Pi-Calculus: A Theory of Mobile Processes"
Matthew Hennessy "A Distributed Pi-Calculus"
π算法はもともとCCSの拡張としてRobin Milnerらによって考案された、並行計算(π算法はλ算法の並行版)を表すモデルであり、プロセス計算の一種。
16デフォルトの名無しさん
2018/10/11(木) 04:45:55.72ID:kRD0TmZA
A Little Taste of Types - Code Mesh 2017 - David Christiansen

@YouTube


A Little Taste of Dependent Types 2018 - David Christiansen

@YouTube

17デフォルトの名無しさん
2018/10/16(火) 23:34:54.71ID:D0vhWqBd
Gaucheのリファレンスマニュアル日本語版pdfはないのでしょうか?
18SCHEME餃子 ◆8X2XSCHEME
2018/10/17(水) 01:03:06.73ID:BPtTatWV
>>17
Gauche のソースツリーの doc ディレクトリで make pdf コマンドを実行すれば、
pdf 形式のドキュメントのビルドプロセスが走ることになってるよ。
ただ、 TeX を使うみたいなんで、 TeX を導入するのが面倒ってことはあるかも。

公式からは PDF 形式の日本語マニュアルは出してないっぽいね。
1917
2018/10/17(水) 21:27:28.91ID:MYn8m29E
ありがとうございます。挑戦してみます。
20デフォルトの名無しさん
2018/11/19(月) 21:32:10.84ID:Ebw/7CYM
はちみつ餃子しかいないスレになってしまった
21デフォルトの名無しさん
2018/11/19(月) 22:07:56.77ID:FLKvqXWs
よく見ろ別人だぞ。
まさか同一人物なわけがあるまい。
22はちみつ餃子 ◆8X2XSCHEME
2018/11/19(月) 22:58:27.29ID:EqyITMeu
話題がなさすぎるので近頃は C++ スレばかりにいるんだけど、
なんか面白い話題があればどんどん書いてよ。
23デフォルトの名無しさん
2018/11/20(火) 01:03:10.36ID:Bz9DRyU5
そんなとこにいたら頭がガベージまみれになるぞ
24デフォルトの名無しさん
2018/11/22(木) 08:37:23.04ID:idUjP7lK
東方算法騎士団ってどうやって入るの
25デフォルトの名無しさん
2018/11/22(木) 11:14:07.32ID:PNeid+Qy
Jupyter with Schemeってどう?
26デフォルトの名無しさん
2018/11/25(日) 11:38:51.25ID:yUG3gEBB
Try Jupyter で試してみ
27はちみつ餃子 ◆8X2XSCHEME
2018/12/21(金) 18:19:35.67ID:2lFdE5qB
Gauche 0.9.7 がリリースされたよ~

http://practical-scheme.net/gauche/download-j.html
28デフォルトの名無しさん
2019/01/08(火) 17:40:17.47ID:n4V6aMpj
WindowsでMinGWがインストールされておらずMSVCだけある状態で
C言語のhelloworldプログラムでgauche.hをインクルードすると
gauche.h内の#include <sys/time.h>の部分でエラーになります。
C言語からGaucheを利用する場合はMinGWがインストールされていることが前提という解釈であっているでしょうか?
29はちみつ餃子 ◆8X2XSCHEME
2019/01/08(火) 21:15:36.70ID:YHlgtmk9
>>28
はい。
Gauche をビルドするためには MinGW というか (MinGW を含めた開発環境であるところの) MSYS2 を要求しています。
https://github.com/shirok/Gauche/blob/master/doc/HOWTO-mingw.adoc
少し古いバージョンは (MSYS2 ではなく) MSYS を要求していました。

gauche.h もその開発環境に依存しているので、 gauche.h を include した C のコードは MSVC ではコンパイルを通りません。
つまり、 Gauche の拡張モジュールや Gauche を呼び出すプログラムを C で書こうとするなら、
Windows では MSYS2 を使う方法しか想定されていません。

ただ、過去に「VC++用ポート」を試みた記事が WiLiKi に残っていますし、
ある程度は動いていたようですので、手間を書ければ全く不可能なことというわけでもなさそうです。
https://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AWindows%2FVC%2B%2B

Gauche の実態は単なる DLL ですから、Gauche 自体を MSVC でコンパイルするのは難しくても
Gauche を呼び出すプログラムを MSVC で作る分には頑張ればなんとかなる可能性は充分にあるように思います。
30はちみつ餃子 ◆8X2XSCHEME
2019/02/01(金) 16:27:31.29ID:jPYNOX7L
Racket のコアを chez のに置き換える話が以前に出てたけど、
もうほとんどできたみたいね。
次のリリースあたりからはそれになるのかな。
31はちみつ餃子 ◆8X2XSCHEME
2019/02/05(火) 04:44:00.67ID:VmiK9YL/
R7RS-Large の Tangerine Edition は議論・投票への参加者が少なすぎてちょっとアレな状況みたいね。
積極的に参加してあげて!
32はちみつ餃子 ◆8X2XSCHEME
2019/02/08(金) 19:33:54.35ID:U10rELvE
界隈でなんだかちょっとだけ ISLISP の人気が出てきてるというか
ここ最近になっていくつか新しい実装が発表されてるんだけど、
使ってみた人いる?
33デフォルトの名無しさん
2019/02/10(日) 03:09:59.76ID:ZBYYirVg
>>32
新しい実装ってどれのことよ?
34デフォルトの名無しさん
2019/02/11(月) 02:00:38.22ID:eS7AzULV
>>33
Githubを検索したらこんなん出てきた
https://github.com/nenbutsu/kiss
https://github.com/ta2gch/iris
https://github.com/sasagawa888/eisl
35デフォルトの名無しさん
2019/02/11(月) 03:37:14.19ID:JleTlNG9
日本製ばっかりなんだ
36デフォルトの名無しさん
2019/02/11(月) 23:47:14.75ID:sKwQy+pT
そりゃ日本人が中心になって考えた規格だし
37はちみつ餃子 ◆8X2XSCHEME
2019/02/12(火) 01:54:55.89ID:jYEPbswv
へー。 そうなのかと思って経緯を調べてみたりしてたんだが、
その過程で ISLISP の IS は International Standard の略だと見つけた。
id.nii.ac.jp/1001/00003362/
仕様にも書いてないから知らんかった。

もっと古い時代に STANDARD LISP という名前の Lisp があったそうで、
http://www.softwarepreservation.org/projects/LISP/stanford/Hearn-StandardLisp-AIM-90.pdf
それ故に標準化にあたって単に Standard とは名乗れず、
Common Lisp が Common Lisp という名前になったのもこのあたりの事情があるらしい。

単に名前を付けるだけでも変な苦心をしてるんだな。
38デフォルトの名無しさん
2019/02/12(火) 02:23:54.71ID:xM7yD0R2
イスラミックステートLISP
処女とヤリまくれるらしいぞ!
39はちみつ餃子 ◆8X2XSCHEME
2019/02/13(水) 00:07:17.42ID:VqRfiaP4
>>38
イスラミックステートにかけるなら、
支配地域が縮小してるらしいぞというところに引っかければよかったんじゃないかと思ったが、
縮小どころか元々たいして使われてなかったということに気づいた。
40はちみつ餃子 ◆8X2XSCHEME
2019/02/13(水) 00:10:08.40ID:VqRfiaP4
>>39
大してして使われていない (少なくとも私の観測範囲では) と思ってるけど、
今後の発展があれば面白いなとも思ってることは付け加えておく。
(ディスってるわけじゃないんだからね! ってこと)
41デフォルトの名無しさん
2019/02/14(木) 21:27:33.66ID:jKX9xayO
金払わないと正式な仕様書読めないのか、と諦めた記憶がある>ISLISP
ドラフト?は読めたけど
42はちみつ餃子 ◆8X2XSCHEME
2019/02/15(金) 00:25:04.04ID:HfBEXCjq
>>41
ドラフトと正式版の差は誤字の修正程度だよ。
43デフォルトの名無しさん
2019/02/19(火) 03:58:50.76ID:seNTvLzD
餃子はISLISPerなの?
44デフォルトの名無しさん
2019/02/19(火) 09:00:07.28ID:4kP+wC3u
Racketに対応したArcが出てたのね

Arc Forum | Tell Arc: Arc 3.2
http://arclanguage.org/item?id=20772
45はちみつ餃子 ◆8X2XSCHEME
2019/02/20(水) 00:03:33.61ID:C98K3aY7
>>43
ISLISP には興味無いよ。
でも LISP 界に動きがあるのは歓迎するので、
どういう受け止められ方をしているのか聞きたかっただけ。
46デフォルトの名無しさん
2019/02/20(水) 02:34:03.07ID:hNG331p8
>>45
ISLispってJIS規格になったんでしたっけ?
47はちみつ餃子 ◆8X2XSCHEME
2019/02/20(水) 03:14:25.95ID:C98K3aY7
>>46
JIS の ISLISP は 1998 年の日付になってる。
48デフォルトの名無しさん
2019/02/21(木) 00:45:26.47ID:vZ2CpAoq
>>47
お返事、ありがとうございます
そうですかISLispはJIS化されてたんですね
でも日本で使われてるんですかね? 
Lispで日本で使われてるのはやっぱりCommon Lispだと思うんですけど(それと教育とかだとScheme(含Racket)が少しあるかな)
49はちみつ餃子 ◆8X2XSCHEME
2019/02/21(木) 01:05:58.63ID:9MRHAYbl
ISLISP のことはなんも知らんけど、
急に ISLISP 処理系が立て続けに出てきたみたいやから
なんか動きがあったんか? と思って >>32 を書いたんで、
私も質問者の立場なんやわ。

大した理由はないのであっても、
始まったならこのまま発展していくといいね。
50デフォルトの名無しさん
2019/02/22(金) 06:25:30.84ID:6MhIDIeu
ISLispのプログラミングテキストや解説書って笹川賢一って人が書いたKindle用の電子的なのが2タイトルあるだけで
それ以外は海外でも何も出てないんですかね、Amazon USでタイトルを“ISLisp”で検索しても、その2タイトル以外は
ISOの規格票しか出てきませんね

とにもかくにも国際規格になったんだから、規格案をプッシュした連中がプログラミングの教科書や言語解説書や入門書ぐらいは
書いて出版するぐらいのことはやるべきなんじゃないかと思うんですが、見事なほどに何も出ていないようで驚きました
51デフォルトの名無しさん
2019/02/22(金) 12:52:25.98ID:+Ub0CFOo
common lispとどれくらい違うん?
52はちみつ餃子 ◆8X2XSCHEME
2019/02/22(金) 17:25:28.63ID:PAJj2OJU
>>51
Common Lisp の規模が大きくなってまとまらなかった中で
別の提案を整理して100 ページもないような規模の ISLISP を確立したという事情があるので、
完全なサブセットではないけど言語の考え方としては近い部分が多くて
かなり小さいサブセット「的」なものという感じ。

つっても、やっぱり別言語ではあるので、それを「どれくらい」とは一言では表せないな。
個人的には、あくまで私の感想としては Lua と JavaScript くらいの距離はあるかなぁ……と思ってる。
53デフォルトの名無しさん
2019/03/05(火) 05:20:40.92ID:1ASLdeDU
昔の情報処理試験で人工知能の分野ときたらLispだったけど今違うのかな?
54はちみつ餃子 ◆8X2XSCHEME
2019/03/05(火) 09:20:27.48ID:mHzXPPXa
>>53
このスレ (の過去スレ) では何度も話題になっている気がするが、
「人工知能」とは何か、それに「向いている」とはどういう意味かが曖昧なので、
Yes とも No とも言えるというのがおおよその結論。

人工知能を定義するなら「人間の知的活動を代行するもの」であり、
かつてはコンパイラや数式処理なども人工知能の範疇だった。
でも、分野として確立して以降は
コンパイラはコンパイラだし、数式処理は数式処理であって、
今ではそれを人工知能と呼ぶ人なんかいない。

逆に言えば分野として確立していない知的な処理はなんだって
人工知能なので、範囲がざっくりしすぎて
どんな言語が向いているかなんて言いようが無い。

強いて言うなら、かつては人工知能の主役は記号処理を基礎に据えたものであったので、
そのときの事情を前提にするならば、
それらを記述するには (当時あった他の主要な言語よりは) LISP が向いていると
言ってもそこそこ妥当ではあった。
55デフォルトの名無しさん
2019/03/05(火) 20:46:21.78ID:XYJ+jVyT
人工知能でLISPを扱ってる本の巻末付録は大抵駅すぱあとシステムだからな
56デフォルトの名無しさん
2019/03/05(火) 22:17:29.86ID:Wd2YNpFb
餃子がスゲー良いこと言ったな…
> 逆に言えば分野として確立していない知的な処理はなんだって人工知能
機械学習みたいないかにも人工知能っぽいものでも、人間が理解して理論的に確立してしまえばなんてことない在り来たりな技術になるんだろうな
57はちみつ餃子 ◆8X2XSCHEME
2019/03/06(水) 03:45:46.67ID:7/fqDaVy
人工知能のカテゴリのひとつに「ルールベース」があるけど、
これって要するに if 文を並べて判断するようなシステムのことで、
現代的な感覚だと人工知能とは言わんよな。
ひとつのカテゴリとして名前を付けることすら馬鹿馬鹿しい。
(あくまでも現代の感覚で見ればという話なので、
当たり前のものにしてきた先人の努力を貶めるものではないことは断わっておく。)

そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。

結果的に LISP が人工知能の記述に「適していた」あるいは「適している」のが事実であってもなくても、
LISP が人工知能の記述を目指しているというわけでもないし、
(LISP 系言語は幅広いので特に人工知能を指向したものも有りはするかもしれないが)
主要な LISP 系言語は Python やら Ruby やらと並べても違和感のないごく普通の汎用言語なんで、
用途を限定してしまうような言説は、個人的にはあまり好きじゃないな。

使いたいように使っていいんだよ。
58デフォルトの名無しさん
2019/03/06(水) 23:50:18.20ID:pTvDqBNf
>>57
> そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
> 人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。

70年代前半だと数式処理(記号微分とか記号積分とか、特に記号積分はね)も立派な人工知能の一分野
ついでに言えば50年代後半だと今で言うコンパイラの研究も人工知能の1テーマだったらしい
59デフォルトの名無しさん
2019/03/07(木) 00:08:40.76ID:3nOoPCck
>>58
はちみつ餃子がすでに書いてるのに
>>54
60デフォルトの名無しさん
2019/03/08(金) 01:59:42.89ID:PoFzWHgZ
ごめん、見落としてた
61デフォルトの名無しさん
2019/03/09(土) 18:08:55.14ID:AFl9pnGp
研究者や企業による実験段階+アルファまでAI
商品化され一般に流通したらIT
62デフォルトの名無しさん
2019/03/20(水) 16:56:57.86ID:Cy24MG6x
>>61
👍
63デフォルトの名無しさん
2019/03/23(土) 22:34:59.05ID:xopjuNQ8
Scheme というか、Lisp のことを少ししか分かっていないんですども、μKanren を使ってみたくて
Sheme の処理系をインストールしたんですが Gauche、Guile、MT/GNU Sheme と、入れた全部
に assp がアンバウンドだと言われて動きません。

1.解決方法が分からなくて、自前で assp を書いて動かしてますが、本当はどうやったら assp が
使えるか教えてください。ライブラリをロードするのでしょうか?

2.せっかく書いたので、自前の関数の働きが本当の assp と同じなのか知りたいです。
みなさんならどのように書きますか? 最初に見つかったときに止める場合のセオリー
はありますか?

書いてみた関数:

(define (assp fn assoc)
(let ((rtn #f))
(for-each (lambda (x)
(if (not rtn)
(if (fn (car x))
(set! rtn x))))
assoc)
rtn))
64はちみつ餃子 ◆8X2XSCHEME
2019/03/23(土) 23:08:12.36ID:ByL/s3eU
>>63
μKanren のことはよくしらないけど、
assp は R6RS (※1) では rnrs lists ライブラリに含まれるので、
R6RS 処理系ではこのライブラリを import すると使えるようになる。
R6RS 以外には無い。

自分で書くとしたら SRFI-1 (※2) を使える状況なら
こんな感じで書くなぁ

(define (assp proc alist)
(find (lambda(x)(proc (car x)))
alist))

※1
 RnRS は Scheme の仕様書の通称。
 n に改定番号が入る。

※2
 小さい言語である Scheme では日常的に使うにはライブラリが足りなさげなので、
 ユーザーコミュニティとしてライブラリの仕様を考えて文書化したものの集合体が SRFI 。
 (RFC みたいな感じ?)
 SRFI-1 はその最初期のもので、リスト操作系のライブラリ。
 仕様の一部ではないので処理系によって SRFI の採用の程度は色々だけど、
 実用嗜好の処理系は主要なものはまあまあ取り込んでいる。
 今では仕様の検討の前段階として一旦 SRFI にしたりもしている。
6563
2019/03/24(日) 10:14:45.86ID:UnbL980K
>>64
ありがとうございます。Gauche は find があるみたいなので、早速置き換えてみました。
Scheme の規格は、過去のものを包括しているわけでもなく、なかなか難しいものなんですね。

μKanren だけに限らないかもしれませんが、μKanren の Scheme のコードは、普通の
オブジェクト指向言語と違って型を作って使い分けするのでなくて、そういう意図でベクトルや
ドット対やリストを使い分けていたり、戻す値が何を意図したものなのかわかりにくくて、
短いけど難しいですね~ 
66デフォルトの名無しさん
2019/03/24(日) 12:59:34.15ID:0UFOFyyE
μKanrenてユニフィケーションの亜種みたいなもんだから多分どの言語でも大丈夫だぞ
6763
2019/03/26(火) 10:45:46.30ID:qv9oqtep
>>66
μKanren や miniKanren はいろんな言語に移植されていますね。
実は私も、ある超マイナー言語に移植することでその言語の勉強と、移植したライブラリで
なんかしてみようと始めたんですけど、スタック系言語なんで、なかなかすんなりいきません。

あと、コア部分はいいとしても、Shceme でマクロを使っているところをどうするかって
ところが悩みどころ。他の言語の移植をみても、そのへんはつくってないものも多い様で。
68デフォルトの名無しさん
2019/03/26(火) 12:30:38.77ID:rfZeS/lQ
powershell上のC#で持っとくと捗りそう
69デフォルトの名無しさん
2019/05/17(金) 11:21:22.79ID:5wW1YVrN
なんか書けよおまえら
70
Racket 7.3 でたね。上げ
71はちみつ餃子 ◆8X2XSCHEME
2019/06/16(日) 17:10:40.09ID:NdE++jZZ
Gauche も 0.9.8 が出たよー
72通りすがりの名無しさん
2019/06/17(月) 15:39:20.44ID:GZApyxPH
プログラミングGaucheのサポートぺーじ
ずっと落ちてるのなんで?
http://karetta.jp/book-cover/programming-gauche
73はちみつ餃子 ◆8X2XSCHEME
2019/06/17(月) 21:26:53.35ID:PcIXrAci
サポートは永遠ではないんやで。
74デフォルトの名無しさん
2019/07/27(土) 11:20:29.96ID:B7vPYzXg
何か面白いことないか?
75デフォルトの名無しさん
2019/07/27(土) 19:13:31.49ID:oO/GdmlC
>>72
サイトのオーナーは個人みたいだけどDNSから消えてるね
アーカイブには残ってるんでそっちをみれば?

http://web.archive.org/web/20120305231338/http://karetta.jp/book-cover/programming-gauche
76デフォルトの名無しさん
2019/07/27(土) 19:18:18.62ID:oO/GdmlC
あ、Kahuaプロジェクトの中の人か
77はちみつ餃子 ◆8X2XSCHEME
2019/07/30(火) 13:16:53.69ID:1iVnacAY
>>74
君が面白くするのさ!
78デフォルトの名無しさん
2019/08/06(火) 11:57:55.79ID:NEGlosyW
webで公開されてるsicpのレビューを
なんで翻訳者が違うamazonの書籍のところに書いてるんだ?
qiitaにでも書いとけよ
79はちみつ餃子 ◆8X2XSCHEME
2019/08/17(土) 02:28:56.98ID:ePDK/uqj
Chez を組み込んだ Racket が出たぞー
80デフォルトの名無しさん
2019/09/19(木) 02:40:36.60ID:90sjVPq/
chicken scheme のサイト( www.call-cc.org ) が ここ数日ダウンしたままだ
流石にこのままフェイドアウトではないと信じたい
81デフォルトの名無しさん
2019/09/21(土) 19:25:17.46ID:vGpgqd5W
lisp一本で食っていけますか?
82デフォルトの名無しさん
2019/09/23(月) 00:25:37.40ID:yOVeMM4I
パーソナルコンピュータの父アラン・ケイが選ぶ「プログラマー必読の古典本」とは?
https://gigazine.net/news/20190813-alan-kays-best-classic-book-programmers/

アラン・ケイ氏が「大ファンだ」と絶賛する本が、プログラミング言語LISPを生み出した
ジョン・マッカーシー自身の手による解説書「LISP 1.5 Programmer's Manual」です。
アラン・ケイ氏によると、この本を読んで成長するためには「どうすべきなのか」
「実際にどうしているのか」を意識しながら本を読むだけではなく、13ページに書かれた
例を「自力で書き直す」ことが重要とのこと。

アラン・ケイ氏は「LISPは単なるプログラミング言語にとどまらず、思考を鍛えるのに最適な言語です」
と述べており、「LISP 1.5 Programmer's Manual」を「完璧な古典」だと絶賛しています。
83デフォルトの名無しさん
2019/09/23(月) 06:18:18.85ID:HVpBuK3H
Smalltalkのオッサンだっけ
84デフォルトの名無しさん
2019/09/23(月) 13:19:32.86ID:CUAPT5Qo
LISP知らん人に勧めても判るのかね
MITってschemeやめてpython教えてるんでしょ
85デフォルトの名無しさん
2019/09/24(火) 15:17:40.15ID:YoZGtfWP
これマジ?
86デフォルトの名無しさん
2019/09/25(水) 09:30:17.28ID:kJSqg5q2
紫のSICPやめてpythonの教科書になったのは知ってたけど
何年か前のことだよね
87デフォルトの名無しさん
2019/09/26(木) 01:23:29.85ID:ofkTv/yu
> chicken scheme のサイト( www.call-cc.org ) が ここ数日ダウンしたままだ
> 流石にこのままフェイドアウトではないと信じたい

この件、googleの最新キャッシュ日付(2019年9月24日 12:18:42 GMT )を考えると
もしかして "おま国" 的なアクセス制限されちゃってる?
88デフォルトの名無しさん
2019/09/26(木) 02:15:15.69ID:1Fe6CtGg
昨日見られたけど
89デフォルトの名無しさん
2019/09/26(木) 02:15:57.93ID:4iviDWAb
今やってみたら普通に表示されてるみたいだけど。
90デフォルトの名無しさん
2019/09/26(木) 02:26:34.15ID:ofkTv/yu
確認ありがとうございます。
"おま環" (お前の環境だけだろ) のようですね...
91デフォルトの名無しさん
2019/09/26(木) 02:31:17.21ID:79UYLKSt
ぼくも今見られたけど…
92デフォルトの名無しさん
2019/09/26(木) 21:05:13.34ID:Jjm8Fxg+
chicken scheme ( www.call-cc.org ) にアクセスできない件、スレ違い気味で申し訳ありません。

0. Googleのキャッシュから ⇒ ◯ (見えないよりマシ...)
1. ルーターのアクセスポート制限を解除 ⇒ ×
2. プロバイダー設定( plala ネットバリアベーシック) をフィルタリングOFFに ⇒ ×
3. VPN (L2TP/IPsec) で接続 ⇒ ◯ (繋がった!)

とりあえず、こういう結果になりました。
plalaが規制してる/ plalaが規制されている どっちにせよこれ以上はどうにもならなそうです。
見れるようになったのでヨシとします。
93デフォルトの名無しさん
2019/09/27(金) 12:20:26.81ID:dgplOwXb
sicpはそんなに良い本?
どういうふうに良い本なのか教えてほしい
94はちみつ餃子 ◆8X2XSCHEME
2019/09/30(月) 19:15:16.39ID:pw7Asu32
>>92
俺もつながらん。 プロバイダは Biglobe
95デフォルトの名無しさん
2019/10/03(木) 21:39:01.39ID:5qBGt8Nl
jpドメインは拒否されてるのかもね
契約してる激安海外VPS経由でアクセスしたら見れたけど、プロバイダ経由だとpingも通らんわ
96デフォルトの名無しさん
2019/10/04(金) 01:18:49.35ID:8amtWMNV
>>95
私の場合は日本のISP(海外の出版社のサイトとかでアクセスした側の国を自動判別している場合は日本と判定される形の接続法)で
インターネット接続しているけれどwww.call-cc.orgのHPやその下の様々なページは普通に見えるよ
97デフォルトの名無しさん
2019/10/04(金) 16:00:04.95ID:QJ6Astzp
Common lispよりschemeの方がユーザ多いの?
一番人が多そうなのはracket?
98デフォルトの名無しさん
2019/10/04(金) 16:48:57.33ID:QJ6Astzp
https://www.european-lisp-symposium.org/2019/index.html#programme
common lispの方が発表多いですね
99デフォルトの名無しさん
2019/10/05(土) 12:25:09.41ID:f93dK2tU
schemeは実装多すぎてどれを選べばいいのか分からん、 特定実装に依存すると いつか廃れたときに困る。RnRSやらsrfi-xx どこまで使えるのかマチマチだからね。
common lispは今のとこ sbcl にしとけば間違いなさそうな安心感がある
100デフォルトの名無しさん
2019/10/05(土) 12:32:44.20ID:oRBX06Fv
ほんとぉ?
101デフォルトの名無しさん
2019/10/05(土) 20:42:35.85ID:havjxsgq
>>99
ちゃんとメンテされている商用以外のフリーの処理系はSBCLしかないという…
102はちみつ餃子 ◆8X2XSCHEME
2019/10/06(日) 01:02:08.24ID:RRBV0NuF
Scheme で安心感の強い処理系っていうと Racket とか Guile とかかな。
そう簡単に廃れなさそう。
103デフォルトの名無しさん
2019/10/06(日) 03:01:34.82ID:Wv7rmhQe
Schemeの無料で使える処理系で例の大顰蹙買ったR6RS対応してるのってあるの?
104はちみつ餃子 ◆8X2XSCHEME
2019/10/06(日) 09:12:01.09ID:RRBV0NuF
>>103
あるよ。

Racket
Chez
Vicare
Sagittarius
Ikarus
IronScheme
Ypsilon
Mosh
Larceny

R6RS に準拠ってほどではないけど一部をサポートしているものとしては

Guile
BiwaScheme

もある。
Sagittarius と Larceny は R7RS もサポート (R6RS と R7RS を混在させることも出来る) しているよ。
Vicare, Ikarus, Ypsilon は実質的に動きが無くなっているのでこれから使うのはやめた方がいいかもね。
105デフォルトの名無しさん
2019/10/06(日) 13:53:35.26ID:5nvjhJQN
なんでGaucheが出てこないんだ?
R7RS準拠と書いてあるよ
106はちみつ餃子 ◆8X2XSCHEME
2019/10/06(日) 15:28:01.43ID:RRBV0NuF
>>105
ここでは >>103 に対する回答なので R6RS の話をしてる。
107デフォルトの名無しさん
2019/10/06(日) 19:19:12.92ID:Wv7rmhQe
>>104
お教え下さり、どうも有難うございました。
RacketもR6をサポートするようになってたんですね。
R6発表後も数年間はRacketはR6対応じゃなかったようなのでサポートする気がないのかと勝手に思い込んでました。
108デフォルトの名無しさん
2019/10/06(日) 21:38:25.02ID:NStuTL+0
R7RS⊃R6RS⊃R5RS
ではないんだっけか
CommonLISPから何も学んでねーな
109はちみつ餃子 ◆8X2XSCHEME
2019/10/06(日) 22:34:51.75ID:RRBV0NuF
Scheme はまだ未完成という意識がある気がするな。
だから実務指向な言語と違って現段階では互換性を重要視してない。

重要視はしてないけど突飛な変更が入ってるわけでもなくて、割と正統進化してると思うよ。
R6RS が異端なだけ。
その R6RS にしたところで R7RS と共存が可能な程度に近しいわけだし。
110デフォルトの名無しさん
2019/10/10(木) 09:50:54.15ID:8dwom9+O
Gauche の作者さんの話がバズってた、schemeと全然関係ないけど。
https://b.hatena.ne.jp/entry/s/twitter.com/anohana/status/1181858642217197570
https://twitter.com/5chan_nel (5ch newer account)
111デフォルトの名無しさん
2019/10/10(木) 13:13:17.58ID:8G2AB5zJ
手口が巧妙やなあ
112デフォルトの名無しさん
2019/10/15(火) 22:29:00.84ID:sgOHpX5p
バズではないでしょ
113デフォルトの名無しさん
2019/10/24(木) 14:55:50.74ID:9HSU6Di+
関数の値が最も0に近くなる引数を求めたい時、どう書けばいいんでしょう?
繰り返しで引数を少しずつ変えていけばいいのはわかるのですが、定石とかあるんですか?
114デフォルトの名無しさん
2019/10/24(木) 20:55:13.50ID:3+tysLZD
その関数が線形なのかとか微分可能なのかとか分からんとなぁ
115デフォルトの名無しさん
2019/10/25(金) 01:02:52.70ID:IZH7p7oT
微分可能ならニュートン法が簡単

そうでないなら、範囲 [ a , b ] をステップ幅 (b-a)/n で 暫定値を探る。(n:分割数)
それが範囲の左右半分どちらにあるかに応じて値 a, b を更新、あとは再帰的に投入。
ステップ幅 が指定誤差未満になったら a を返して脱出

そのまま愚直に組むだけならそんなに長くならない。
116デフォルトの名無しさん
2019/10/26(土) 10:42:36.27ID:v7RlO1g+
>>113の言ってる関数は数学の関数じゃなくてプログラムの関数の事でしょ…
多分線形でも微分可能でもないだろう
乱数使って適当な範囲で試行してずらしながら一番近そうな範囲を選択して絞り込んでいくという位しか思い付かない
117デフォルトの名無しさん
2019/10/26(土) 22:25:16.53ID:IPzUune1
どちらの関数にせよ考え方は一緒じゃないかな。
値の変化が連続的でなければそのやり方では求められないし、連続的であっても極小値に落ち込んでしまう可能性がある。
関数がハッシュ計算するようなものだったら総当たりしかないのでは?
118デフォルトの名無しさん
2019/10/28(月) 06:02:05.57ID:T/Np/NFy
bel
http://www.paulgraham.com/bel.html

グラハムの新しい方言だって
119デフォルトの名無しさん
2019/10/28(月) 06:33:09.38ID:kIF/RW73
誰かと思ったらグレアムか
奴は口だけのポンコツになって久しいよ
もう実装は無理
120デフォルトの名無しさん
2019/10/28(月) 18:32:21.08ID:yqfr49c7
Yコンビネーターも辞めたとかなんとか…
詳しく知らないけど、引退かな?
121デフォルトの名無しさん
2019/10/30(水) 22:48:20.29ID:WFzgvujE
ポール・グレアム (54歳)
庵野秀明 (59歳)

引退するような歳か?
122デフォルトの名無しさん
2019/10/30(水) 23:12:22.65ID:LqrGiWFj
ポールグレアムそんなに若いんか
123デフォルトの名無しさん
2019/10/31(木) 22:39:19.62ID:2PR/MUI3
arcだかはどうなったの
まあどうでもいいんだけど
124はちみつ餃子 ◆8X2XSCHEME
2019/11/08(金) 14:53:51.74ID:qQX8Hix+
グレアムは金には困らんのだから残りの人生は全部が趣味みたいなもんだろ。
引退もクソもねぇよ。
125デフォルトの名無しさん
2019/11/08(金) 18:39:03.97ID:S2qBNw07
おらもLisp書いてカリフォルニアで城買うだ
126デフォルトの名無しさん
2019/11/09(土) 02:36:07.91ID:NblRK941
才能もねぇ金もねぇお巡り毎日ぐーるぐる
127デフォルトの名無しさん
2019/11/09(土) 15:47:48.43ID:H0dhk6wi
闇の書を永久封印するために暗躍しているのかもしれん。
128デフォルトの名無しさん
2019/11/09(土) 18:42:51.61ID:PzSjhCYo
テレビもねえ
129はちみつ餃子 ◆8X2XSCHEME
2019/11/10(日) 01:15:03.78ID:PX+YDh/3
>>127
それはギル・グレアム提督だろ!
130デフォルトの名無しさん
2019/11/10(日) 01:51:30.40ID:a/xfENId
fooもねえ、barもねえ
hyperspecナニモノだ
131デフォルトの名無しさん
2019/11/10(日) 06:23:28.13ID:hnRZ9wTQ
グラハムはハーバード、MIT人工知能研、イタリアの美術大出てるんでしょ?
アメリカの大学は学費も相当かかる
ビジネス始める前から「普通の奴等の上」を行ってる人なんだと思うなぁ
頭さえ良ければ、とか思うかもしれないが環境、友人は大事だよ
ビアウェブのパートナーはMITの教授だよね、確か
132デフォルトの名無しさん
2019/11/10(日) 14:00:02.99ID:jFIdfEKQ
いまPLAIの8章をよんでいるんだけど、次のExerciseの不変条件と言うのがよく分からん・・
http://cs.brown.edu/courses/cs173/2012/book/mut-struct-vs-var.html#%28elem._%28chunk._~3cms-setbox.C-case~3e~3a1%29%29

ソースコードはこれ https://bitsend.jp/download/d7ebf31e84a7dc5d8b55a3e3b66ce803.html

Storeに束縛を追加するのはbox、その束縛を参照するのはset-box!とunboxだけだから、
set-box!を評価するときに、ロケーションがStoreに存在しないことは無いように考えているんだけど、もっと数学的に
証明しなきゃいけないんですよねこれ・・
133デフォルトの名無しさん
2019/11/18(月) 17:16:59.42ID:D69b6YL7
Emacs hy-modeがバグってて動かない
134デフォルトの名無しさん
2019/11/22(金) 03:17:25.81ID:LHM1yudT
Lispworks 8いつ頃出ると思う?
135デフォルトの名無しさん
2019/12/06(金) 00:43:20.37ID:KafRVWs2
$ ros run
* (+ 31000 33500 1000 2300 16500 300 1000 10100)
64700

おいおい,なんだこのメチャクチャな値
こんなんじゃ,まったく信頼できないんだが
どうなってんだ
しかも再現できないし

$ ros version
roswell 19.09.12.102(NO-GIT-REVISION)
136135
2019/12/06(金) 03:21:18.04ID:KafRVWs2
正しい値は 95700 なのだが
(- 95700 31000)
が 64700 になることに気づいた

最初の引数,抜かしてんじゃん...
REPL の + 関数,バグってるんだが

それとも WSL がいけないのか? tmux がいけないのか?
137135
2019/12/06(金) 04:20:18.39ID:KafRVWs2
$ ros run -- --version
SBCL 1.5.5
138はちみつ餃子 ◆8X2XSCHEME
2019/12/15(日) 17:37:59.94ID:jthcUe0A
Gauche の 0.9.9 がリリースされたよー
139_
2020/01/17(金) 14:26:20.97ID:ceaCkwJJ
Guile 3.0 でたよー JIT化されたのが一番大きいかも
https://lists.gnu.org/archive/html/guile-devel/2020-01/msg00080.html

SBCL も 2.0 になったよー 久しぶりに Windows のインストーラーも更新されてるね
http://www.sbcl.org/news.html
140はちみつ餃子 ◆8X2XSCHEME
2020/01/17(金) 16:25:06.09ID:TQsEbuhA
Ypsilon の派生で R7RS にも対応した処理系が出た!

https://github.com/fujita-y/digamma
141_
2020/01/17(金) 18:22:11.13ID:ceaCkwJJ
>>134
Lispworks 8 でる情報あったんですか?
てっきり次は 7.2 かと。
142_
2020/02/14(金) 11:14:07.86ID:m79sNhAX
Racket 7.6リリースされたよー
https://blog.racket-lang.org/2020/02/racket-v7-6.html

Chez Schemeの取り込みが進んで、プロダクション・レディになったそうな。
デフォルトにはまだなっていないようです。
143デフォルトの名無しさん
2020/02/14(金) 20:28:20.26ID:xdYnDj0z
Chezか
スレッデドコードとか懐かしいな
144デフォルトの名無しさん
2020/02/14(金) 23:19:09.23ID:2TRtlmBi
SICPを勉強したくてschemeを一通り勉強したけど
schemeが本当に好きになった
綺麗な言語だなと思ったのはschemeが初めて
145はちみつ餃子 ◆8X2XSCHEME
2020/02/15(土) 13:53:27.59ID:cwLPNCdO
Chez はパッケージマネージャがなぁ……。
146デフォルトの名無しさん
2020/02/18(火) 22:12:38.88ID:i+WlpfA0
SICPで4.4論理プログラミングがでてきたけど、論理プログラム言語(Prolog)なんて
一生使わんのじゃないのか・・・?俺みたいな雑魚PGは特に。
そもそも俺はなんでインタプリタ作ってるんや・・・
147はちみつ餃子 ◆8X2XSCHEME
2020/02/19(水) 11:52:11.74ID:mcS2XXQq
>>146
SICP はコンピューターサイエンスの本だから、
いろんなパラダイムについて説明しているよ。
知ってれば便利なこともあるとは思うけど、
必ずしも日常的に役立つというものでもないのも確か。
148デフォルトの名無しさん
2020/02/19(水) 13:12:57.48ID:YsbctBnB
prologはともかくユニフィケーションはパターンマッチでたまに使うかも
149デフォルトの名無しさん
2020/02/22(土) 11:13:35.82ID:dEZr6bBq
歴史、哲学、思想を勉強しても目の前の仕事には直結しない
みたいなことなのかな
150デフォルトの名無しさん
2020/02/22(土) 11:15:49.62ID:dEZr6bBq
PrologはSQLに近い(同じ?)という人もいるね
151はちみつ餃子 ◆8X2XSCHEME
2020/02/22(土) 12:07:02.06ID:5jIrjfcF
事実を列挙すれば解を求める処理をやってくれるってのは理想のひとつではあるよな。

実際にはには Prolog が答えを出すメカニズムを理解していないと
答えを (効率的に) 出しやすい事実を上手く与えられない場合もあるし、現実は厳しい……。
152デフォルトの名無しさん
2020/02/22(土) 21:37:13.68ID:dEZr6bBq
思うんだけどLispというと悟りとか、ゲーデル云々みたいな話がよく言われるけど
Prologではあんまり関連付けて言われないですよね
153デフォルトの名無しさん
2020/02/29(土) 16:53:01.80ID:RQUlgixi
上にもあるけどprologは論理がそのままプログラムになるっていわれてんだろ
似たようなもん
154デフォルトの名無しさん
2020/03/03(火) 08:38:08.45ID:VyHc4g1O
hy面白いけどlisperにはrubyの方が人気なんだ
155デフォルトの名無しさん
2020/03/03(火) 12:21:06.15ID:t7WQy2vJ
んなこたーない
156デフォルトの名無しさん
2020/03/03(火) 18:09:46.41ID:wrUSgHR4
>>152
> Prologではあんまり関連付けて言われないですよね

Prologは「論理プログラミング言語」と呼ばれたりするけれど書かれたプログラムを実行可能にするためのプログラミング言語であるために
論理のための言語(つまり論理式を記述するための言語)とはかなり違ってしまっているからね

その典型がPrologで動くプログラムを書く上で不可欠なカット “!” ね
あれは本来の論理には対応物がなく論理とは全く縁のないコンストラクトだが
カットを使わなければほとんどのPrologプログラムはまともに動かなくなってしまうだろう

その点、Schemeから命令的な言語コンストラクトおよび標準手続きであるset!とset-car!, set-cdr!を除いた部分は
弱い(weak, つまりλ抽象の本体式中のβ-簡約基(redex)は簡約せずに放置しておく)
作用的順序(applicative order)の評価戦略(reduction strategy)のλ計算そのものだ

call-ccは継続(continuation)というメタな(つまり意味論上の)値を対象レベルに持ち込むmeta-circular的な拡張であり
Schemeに限らずLisp一般で広く採用されているS-式という構文は自分の構文に対する抽象構文の表現になっているから
プログラムが自分自身(や同じ言語で書かれた他のプログラム)のソースコードを記述している言語を対象言語として
自分自身がそれを素直な形で操作できるメタ言語レベルの存在として振る舞えることになるからね

言い換えればS-式という表現形式のために括弧をやたらと多用させられるLisp言語では
ソースコードをその抽象構文(木構造)と同型な形で記述させていると言っても良い

だからLispのプログラムをLispで処理する場合には、C等のような普通のプログラミング言語で書かれたプログラムを処理する場合には
不可欠な字句解析や構文解析が実質上は不要なんだよ

何故ならば処理する側のLispプログラムにとって処理される側のLispコードは最初から抽象構文木と1:1対応する形式で提供される訳だから

正にゲーデルの不完全性定理で行っている形式化された論理のゲーデル数による表現とそれを原始再帰的函数や同述語を含むメタ論理のレベルで
処理する構造が、Lispの世界に対応していると言えるわけですよ
157デフォルトの名無しさん
2020/03/03(火) 18:41:29.86ID:2IitENiP
3文字で頼む
158デフォルトの名無しさん
2020/03/03(火) 19:41:28.30ID:nd3HjawW
マクロ
159デフォルトの名無しさん
2020/03/03(火) 20:29:22.74ID:44YhJRv6
要するにPrologはメタ論理レベルのプログラミングが出来ないってこと?
160デフォルトの名無しさん
2020/03/03(火) 21:31:50.71ID:s8qGwiQH
>>157
ボイド
161デフォルトの名無しさん
2020/03/03(火) 21:44:08.09ID:JAknlLuJ
>>157
GEB
162デフォルトの名無しさん
2020/03/04(水) 12:43:41.99ID:XYd2gLmT
CDR!!
163デフォルトの名無しさん
2020/03/04(水) 12:50:19.65ID:ujdXlrHA
SECD
Landin’s J
164デフォルトの名無しさん
2020/03/05(木) 20:29:29.92ID:h922Dn8C
>>50
需要の問題だろ
Lisp自体がマイナーで
Common Lispでやっと本が出せる位なのに
165デフォルトの名無しさん
2020/03/05(木) 20:29:51.26ID:h922Dn8C
>>53
今はAIといえばPythonだろ?
166デフォルトの名無しさん
2020/03/05(木) 20:30:44.79ID:h922Dn8C
>>54
昔の一時期は妥当だったんだろうけど
今ならPythonの方が向いてるだろう
167デフォルトの名無しさん
2020/03/05(木) 20:32:32.21ID:h922Dn8C
>>57
>>58
要は人工知能というより記号処理なんだよ
168デフォルトの名無しさん
2020/03/05(木) 20:34:42.44ID:h922Dn8C
>>82
>>84
MITの件もあるし
今ならPythonでいいでしょ

MITレベルの頭ならLispなんて
すぐ読み書きできると思うが
169デフォルトの名無しさん
2020/03/05(木) 20:39:40.49ID:h922Dn8C
>>146
>論理プログラム言語(Prolog)なんて
ほとんどのプログラマが
仕事では一生使わないだろうな?
でも設計をする上で参考になる
170デフォルトの名無しさん
2020/03/05(木) 20:41:41.16ID:h922Dn8C
>>149
Prologの勉強は無駄ではないと思うが
すぐ成果には結びつかないだろうね?

でも長期的には流行りの言語やFWに飛びつくより
地力につながる可能性もあるだろう
171デフォルトの名無しさん
2020/03/05(木) 20:42:43.57ID:h922Dn8C
>>150
宣言型という点では近いけど言語としては同じじゃない
ユニフィケーションやバックトラックの挙動があるから
172デフォルトの名無しさん
2020/03/05(木) 20:44:54.71ID:h922Dn8C
>>151
AIはディープラーニングが主流になったが
それはそれとしてアレでPrologがもう少し
分かりやすければ日常的に使うんだけどな
これどうやって書くんだってのが多すぎる
173デフォルトの名無しさん
2020/03/05(木) 20:47:20.68ID:h922Dn8C
>>156
Lispはメタプログラミングしやすいって理屈は分かるが
実際にそれでものすごい作業効率が上がるかは疑問だな?

なぜんあらメジャーな言語はライブラリが充実してて
それ使えば最初から書かなくても済むわけだから早い
174デフォルトの名無しさん
2020/03/05(木) 20:48:56.47ID:h922Dn8C
>>159
本当にできるかできないかは知らんが
そういえばメタプロやってるって
声ほとんど聞いたことないな
Lisp勢はマクロマクロうるさいのに
175デフォルトの名無しさん
2020/03/05(木) 23:31:57.86ID:ilhNvGHV
3文字で頼む
176デフォルトの名無しさん
2020/03/06(金) 05:04:10.79ID:nWpA6pnf
スレチ
177デフォルトの名無しさん
2020/03/10(火) 18:23:23.35ID:BcZoFSIR
hy
マクロの入力にpair入れたのに
マクロ実行時にunquoteするとlistに化けるバグがある気がする
178デフォルトの名無しさん
2020/03/26(木) 18:40:18.93ID:jDMenf5s
日本の理系人のLisp好きは異常
179デフォルトの名無しさん
2020/03/26(木) 21:06:12.72ID:x3TTE31H
土日はおとなしくLispでも
180デフォルトの名無しさん
2020/04/24(金) 18:37:15.78ID:3QH+ANBn
Clozure CL 1.12 がでてきた。
https://github.com/Clozure/ccl/releases/tag/v1.12

ぜんぜん 1.11 からバージョンあがらないから死んじゃったのかと思ったよ。
181デフォルトの名無しさん
2020/04/24(金) 19:04:52.05ID:aAxBS6wC
死んでるんじゃない
枯れてるんだ😡
182180
2020/04/25(土) 00:16:26.67ID:iXfl78KC
>>181
ごめんなさい

ECL(Embeddable Common-Lisp)もバージョンアップしてた。
16.1.3から20.4.24になってる。
まだトップページ更新がないけど……。
https://common-lisp.net/project/ecl/index.html

変更点は以下
https://gitlab.com/embeddable-common-lisp/ecl/-/blob/20.4.24/CHANGELOG
183デフォルトの名無しさん
2020/04/25(土) 01:57:04.26ID:u9oymkho
>>180
キタ━━━━(゚∀゚)━━━━!!
184デフォルトの名無しさん
2020/04/25(土) 07:07:50.62ID:q++AEQsZ
小学校でlispを教えたらいいのに
185182
2020/04/25(土) 13:34:52.97ID:tfHLOmTJ
News が更新されたよ。
https://common-lisp.net/project/ecl/posts/ECL-20424-release.html
186_
2020/04/28(火) 00:30:29.10ID:moc7J10E
SBCL 2.0.4 リリースされたよ。RISC-V プロセッサに対応したのが目玉みたいだよ。
http://www.sbcl.org/news.html#2.0.4
187デフォルトの名無しさん
2020/04/28(火) 11:03:05.28ID:jkGkDNpV
Scheme の map 手続きについて、
手続きを適用する順序 (副作用が発生する順序) は仕様上は未規定ということになっています。
各処理系として保証するということは有りえるんですが、
Racket の場合は保証されていると読み取って良いでしょうか?

https://docs.racket-lang.org/reference/pairs.html?q=map#%28def._%28%28lib._racket%2Fprivate%2Fmap..rkt%29._map%29%29

わざわざ "from the first elements to the last" という書き方をしているからには順序を意図しているように
解釈するのが自然かとは思うんですが、単に範囲を言っていると解釈できなくもないので、
英語と Racket に明るい方がいればご教示賜りたいです。
188_
2020/04/28(火) 14:05:01.63ID:moc7J10E
>>187
racket使ってるわけでも英語ができるわけでもないけど。
最初から最後までって範囲の話してるんじゃなかろうか。
順序の保証があるなら IN ORDER とか付きそうな気がする。
189デフォルトの名無しさん
2020/04/28(火) 14:43:15.44ID:jkGkDNpV
>>188
R5RS などでは手続きが各要素に適用される dynamic order は unspecified である
というような表現になってるんですよ。 order という語が主語になってます。

https://docs.racket-lang.org/r5rs/r5rs-std/r5rs-Z-H-9.html?q=map#%25_idx_580

だからわざわざ変えた表現をするからには違うこと (順序が保証される) を言おうとしているんだろうと思いつつも、
明確に順序を強調してるわけでもないな……? というところで解釈に迷ってました。

私は R5RS (など) と言い回しが違うという点に引きずられていましたが、
"from the first elements to the last" というフレーズ単体で見ると範囲のニュアンス
で捉える方が自然ですかね。

私自身はいずれにしても map の副作用の順序に期待しないんですが、
しばらく前に Qiita に投稿されていた記事の中で map の順序が効いてくるコードがあったので、
これってありなんかなぁと思ったという経緯です。
190デフォルトの名無しさん
2020/04/29(水) 01:16:58.58ID:y02v3tEE
>>187
保証とはどういうことを指しているのだろう
将来仕様を変更しないとは書いていないのは確かなようだ
racketでは引数の評価もleft to rightとは書いてあった
schemeでもfor-eachは先頭から順番に評価する
実際に評価順の違いが観察できるのはchezかな
191デフォルトの名無しさん
2020/04/29(水) 03:18:21.69ID:ALOjMFFX
>>189
> 私は R5RS (など) と言い回しが違うという点に引きずられていましたが、
> "from the first elements to the last" というフレーズ単体で見ると範囲のニュアンス
> で捉える方が自然ですかね。

いや、違う。
R5RSとRacket Reference v7.6とでのmapが手続き(proc)を適用する要素の順番に関して言及しているのは
各々、以下の箇所だが、両者では明らかに全く異なる。

R5RS>The dynamic order in which proc is applied to the elements of the lists is unspecified.

Racket>Applies proc to the elements of the lsts from the first elements to the last.

R5RSは>>187で君が述べていた通り、リストの要素への適用順序はunspecifiedだと明確に書いてある。

これに対してRacket v7.6ではprocをlstsの最初の要素から最後の要素へと適用すると書いてある、
つまりリストlstsの要素の並びの順番に手続きprocを適用して行くと明記している。
だからprocとして受け取った値を標準出力に書き出す手続きを渡せば、R5RSでは表示される要素の順番はどんな順序でも良いのに対して
Racket v7.6では元のリストlstの要素の並び順に必ず表示せねばならない。

これは私の想像だが、R5RSでmapが手続きを適用する要素の順番を規定しないと明記しているのは長大なリストに対する並列処理を可能にするためだろう。
逆に言えば手続きの適用順序を確実に把握したい場合にはmapでなくfor-eachを使えというのがR5RSを定めたチームの言語設計上の意図だろう。


>>190
> 保証とはどういうことを指しているのだろう

その言語仕様書のそのバージョンに準拠していると宣言している言語処理系は、それを守らねばならない(守っていなければバグだ)という意味だよ。
だから今の例では、Racket Reference v7.6準拠と処理系が宣言したら、その処理系はmapで手続きを適用する要素の順番を必ずリストの並び順に
する義務が生ずる(Racket v7.6の定める言語仕様=Racket v7.6ユーザとの約束の順守を保証せねばならない)、ということだ。

当然ながら、言語仕様書のバージョンが変われば約束(つまり言語仕様による規定の内容)も変更され得る。
192デフォルトの名無しさん
2020/04/29(水) 06:44:54.55ID:bLWOmnfL
>>187
処理系によって(A B C)の評価順序が
(1 2 3)だったり(3 1 2)だったり(3 2 1)だったりするから
mapのようなリストで処理結果を返すような関数のクロージャ内では原則副作用は起こさないことが求められる
for-eachみたいな初めから副作用を期待する関数はどう並べようが問題は起きない
193デフォルトの名無しさん
2020/04/29(水) 09:21:45.86ID:sxS/u8Yc
>>192
それは承知しているのです。
ここでは Racket のドキュメントをどう解釈すべきかというのが論点です。

>>191
> 最初の要素から最後の要素へと適用すると書いてある

順番に (in order) とは書いていません。
順序が意味を持つ箇所ではおおよそ order という語で強調しているのに
それがないここでも順番であることを確信してよいほどに
(英語のニュアンスとして) 自明でしょうか。
194デフォルトの名無しさん
2020/04/29(水) 09:54:06.36ID:sxS/u8Yc
>>191
> 長大なリストに対する並列処理を可能にするためだろう

手続きの引数の評価順序については未規定ではあるものの
"some sequential order of evaluation" という制約がついています。

https://docs.racket-lang.org/r5rs/r5rs-std/r5rs-Z-H-7.html#%_sec_4.1.3

ちょっとわかり難いんですが、これは「同時ではない (かのように動作する)」と解されるそうです。
たとえば

(list (begin (display 'a) (display 'b) 1)
(begin (display 'c) (display 'd) 2))

とあったときに表示は abcd か cdab のどちらかであり acbd だったり cabd だったりはしない
ということです。

map についてはこういう制約は書かれてはいないものの、
順序は規定しないという文言は「既定はしないけどなんらかの順序を想定する」
とも読めなくもないので並列化を許しているとは言い切れない気がします。

副作用がないときに限っては並列化しても仕様に反しないのは間違いないですけど、
その場合は順序に関して有るとも無いとも書く必要がないんですよね。
どうせ観測できないので。
195デフォルトの名無しさん
2020/04/29(水) 12:39:32.81ID:qQMMu/UY
>>194
mapについては、まえからか、うしろからか好きな方で実装すればいいよ、程度のはなしだとおもってた。
継続を突っ込むとどうとかいうのがあったとおもうけどだれか解説pls
196187
2020/04/29(水) 13:42:08.04ID:sxS/u8Yc
>>195
継続については「call/cc は副作用を生じる」というひとことで説明できます。
副作用とは何かというのは色々なモデル化のやり方があってはっきりしたひとつの定義を
定められないみたいなんですが、この説明が納得感があって参考になると思います。
https://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3Acall%2Fcc%E3%81%A8%E5%89%AF%E4%BD%9C%E7%94%A8

副作用がないなら順序なんか考える必要はないんですよ。
どの順序で実行されようと並列であろうと (観測できる) 結果は同じなので順序を気にする意味がありません。
結果が同じにならない場合 (副作用がある場合) がどうあるべきか考えるから順序が効いてくるんです。

で、副作用がある手続きの中でも特に第一級継続は (観測できるだけでなく) 流れを変えることが出来るから
どれが妥当なのか結論が出ないなぁってことです。
197デフォルトの名無しさん
2020/04/29(水) 14:57:29.24ID:u7alO7eW
グラフかくのってどうしたらいい?gnuplotの🎺使うの?
gnuplot使ったことないけど難しいのか?
198デフォルトの名無しさん
2020/04/29(水) 18:27:14.43ID:OS1rodDF
やりたいことをやろうとすると難しい
199デフォルトの名無しさん
2020/04/29(水) 23:11:18.94ID:ALOjMFFX
>>193
"from the first elements to the last"は最初の要素から最後の要素へだから当然ながらin orderの意味を含む

もしも、上の表現を使ってin orderを保証しないことを意図する言語仕様があったら、
その言語仕様を書いた人間が英語(というよりも人間の使う言葉)の常識を知らないと言うべきレベルの代物

procの適用にin orderを保証したくないのならば"from the first elements to the last"などではなく、例えば
“(map) Applies proc to every elements of the lsts exactly once”とでも書くべき
というか、そもそもR5RSでのmapに関する表現をそのまま使えば良い


>>194
なるほど、インターリーヴを起こしてはならない、ということですね
良い反例ですね、了解しました
確かにそれだと並列処理という話は排除されますね
200デフォルトの名無しさん
2020/04/30(木) 01:56:25.80ID:qpY4nJGd
実用性皆無の話だなschemeらしいや
racketとの比較ならr6だと思うのだが
しかもr7でなくr5とな
scheme間でさえ移植性は低いんだからどんな挙動でも良いんじゃねえか
racketはまだ実装が複数存在するような状況ではないらしいが
schemeとは文化が違うんで実用性に舵切った仕切りになりそうね
201デフォルトの名無しさん
2020/04/30(木) 02:18:30.11ID:7t452aCV
>>199
> "from the first elements to the last"は最初の要素から最後の要素へだから当然ながらin orderの意味を含む

この説明は説明になってなかったですね
ちゃんと書くと、前置詞fromとtoとを同時に使う場合、前者は動詞が表す行為の始点を、後者は終点を表す
つまり
> "from the first elements to the last"
という表現は先頭の要素たちがprocをapplyするという行為は、その行為の始点が先頭要素で終点が末尾の要素となる経路から成るということ

そうであるので、途中の要素に関しては193が心配している通り順序通り(in order)とは確かに書いていないけれど、
少なくとも最初に適用されるのは先頭要素たちで最後に適用されるのは最終要素だということは上の引用した英語句から確かだということ

applyを行う最初と最後はそれぞれ先頭と末尾でなければならないのに途中はランダムでも可というのは不自然すぎる
(なぜ最初と最後だけは変更を許さず先頭と末尾に確定させるのか?、ランダムを許すならば最初・最後も含め全部がランダム可にするのが自然)
ということだ

もし最初および最後だけはそれぞれ先頭および最後だけに限定し、それ以外の途中の順番だけは規定したくない、という極めて不自然な仕様にしたいならば
誤解させないように、「但し、最初・最後以外の途中の順番は自由で規定しない」という趣旨の語句を挟む必要がある
202_
2020/05/03(日) 15:45:23.91ID:XyvLD4Kl
そうこうしているうち Racket 7.7 リリースされたよ。
https://blog.racket-lang.org/2020/05/racket-v7-7.html
個人的なトピックス
・イミュータブルで高速なハッシュテーブルHAMT(hash array mapped trie)がインプリされた。
・コンパイラの最適化でコードサイズ20%減。
・GC1,2割高速化。
・ドキュメント改善。
203デフォルトの名無しさん
2020/05/03(日) 18:58:12.70ID:BS5ww13P
今の Racket は
ChezScheme をバックエンドにしたやつと従来からのやつがどちらも配信されているけど、
これって将来的には一本化される予定ってあるのかな?
204デフォルトの名無しさん
2020/05/04(月) 08:02:38.27ID:QFOyDpRt
hy言語をwindows10で使いたい
pip install hyは成功するが
コマンドプロンプトでhyと入力してもhyが実行されない
変なパスの設定がいる?
205デフォルトの名無しさん
2020/05/04(月) 17:14:51.89ID:WvOaLqMC
>>204
管理者権限でインストールしたなら C:\Program Files\Python37\Scripts だけど、
ユーザ権限なら %LocalAppData%\Programs\Python の下のどこからしい。
206デフォルトの名無しさん
2020/05/07(木) 13:26:34.69ID:fANici3H
>>202
キタ━━━━(゚∀゚)━━━━!!
207デフォルトの名無しさん
2020/05/29(金) 15:53:20.54ID:Xj9bBIl5
https://www.indeed.com/q-Lisp-jobs.html
ここで何度も募集かかってる企業って人が辞めるのも早いってこと?
防衛産業の企業は人気ないとかなのかな
208デフォルトの名無しさん
2020/05/31(日) 00:46:42.64ID:RkS0wDCU
Common Lispは使い込まないと頭に入ってこないが
Racketにはドキュメント読んだだけで頭にすっと入ってくる綺麗さがあった
最近のRacketって昔と同じ感じの綺麗なままなんだろうか

最近読んだRacketの() []の括弧を区別する方法のドキュメントがわかりにくくて
RacketもCommonLispと同じなってしまって,これならCommon Lispでいいじゃん
と思ったのだが
209デフォルトの名無しさん
2020/05/31(日) 16:35:47.71ID:6jrbJecg
> 最近読んだRacketの() []の括弧を区別する方法

racketがschemeから枝分かれして10年だがracketになるよりまえのr6rsからだろ
たまにしか書かない程度ならなんでも良いだろ大袈裟だな
210はちみつ餃子 ◆8X2XSCHEME
2020/06/01(月) 02:26:33.76ID:0yVOdbpz
Racket は元は教育用途で使われていたこともあってドキュメントはかなり整備されている部類だと思うが。
211デフォルトの名無しさん
2020/06/02(火) 22:21:53.62ID:0sTsfEfs
他の言語と比べてCommon Lispっぽい書き方、Schemeっぽい書き方ってどんな書き方ですかね
212デフォルトの名無しさん
2020/06/03(水) 00:06:28.05ID:OT4MJN13
そら末尾再帰をふんだんに使うとか変数はなるべく使わないとか
213デフォルトの名無しさん
2020/06/03(水) 00:18:32.67ID:5C2VTXl3
CLっぽい書き方はマクロを使いまくった超絶技巧だろう
Schemeっぽい書き方は兎に角無理矢理に再起呼び出しを使った超絶技巧な書き方だろう
214デフォルトの名無しさん
2020/06/03(水) 01:17:24.97ID:gRMTE3Wt
ダイナミックスコープ活用してるの見るとcommon lispだなぁって思う
215デフォルトの名無しさん
2020/06/03(水) 09:04:50.18ID:yr2/b+Mr
括弧のやまがある時点でlispっぽい。あとはまあ、ラムダ式とかもほかに普及してきてるから、マクロかなぁ。
216デフォルトの名無しさん
2020/06/05(金) 13:14:24.46ID:dnBRE6E+
hy言語良いのにpython使いが良さをわかってくれない
217デフォルトの名無しさん
2020/06/05(金) 23:11:11.70ID:gXepSjvX
見るからに検索に引っかからなそう
名前って大事だよね・・・
218デフォルトの名無しさん
2020/06/26(金) 20:41:33.71ID:zhAvJTli
LispworksのprofessionalとhobbyistDVどう違うの?
219デフォルトの名無しさん
2020/06/27(土) 16:06:22.83ID:9QvR4hLZ
Lispworksのprofessional 32bitかhobbyistDV 64bitどっち買うか迷う
220デフォルトの名無しさん
2020/06/29(月) 08:04:38.82ID:bwiS8r2m
>>218
hobbyistDVは業務で使うことはできんくて作成したEXEも配布できないです
professionalは業務用途で無制限の配布ライセンス込みです
業務で使用するEXEの配布をするのが目的かどうかでしょうね
221デフォルトの名無しさん
2020/07/21(火) 23:47:51.88ID:WS1OAOc5
Pythonぽい独自言語をpythonに変換したい
Lispは使わずpythonのパーサー使った方が楽だろうか
222デフォルトの名無しさん
2020/07/22(水) 00:07:10.65ID:Rr/gpg4T
>>221
PythonぽいならPythonに変換すればいいだろ!
223デフォルトの名無しさん
2020/07/22(水) 19:30:54.17ID:Cq/LgZJ4
hyこういう時に使えるのか
224デフォルトの名無しさん
2020/08/21(金) 21:28:14.79ID:l/GdGvyy
racketでデバッグするのは
DrRacketを使うしかない?
コマンドラインでデバッグできたらいいんだが
225はちみつ餃子 ◆8X2XSCHEME
2020/08/24(月) 02:59:00.85ID:ko9AntT7
デバッグってどういうレベルのことだろ。
REPL はあるんだからそこから実行してみればいいんじゃね。
226デフォルトの名無しさん
2020/10/05(月) 07:37:00.61ID:VkmQCekf
Python のpandasが日時関係処理充実しすぎて手放せない
しかしlispで似たことできるなら乗り換えたい
Pandasのデータからガントチャート作ってくれさえすればいいのだけど
Lispに相当するものないでしょうか
227デフォルトの名無しさん
2020/10/05(月) 23:29:50.84ID:+akcWJTJ
既に手放せないほどのものを漠然としたlispへの印象で乗り換えたら全てが満足したという話は寡聞にして知らない
228デフォルトの名無しさん
2020/10/07(水) 06:01:50.72ID:K2xU1fKa
pandasはRの劣化コピーで
Rはschemeと相性がいいから
Rに乗り換えると良いのでは?
229デフォルトの名無しさん
2020/10/07(水) 11:49:58.33ID:jq/8+j7g
邪道かもしれないが
hy使えばlisp でpandas使える
230デフォルトの名無しさん
2020/10/16(金) 17:12:58.14ID:PUF6e3pG
lispは他の言語に寄生して生きていくしかないね
pyレベルのライブラリなんて期待できないし
231デフォルトの名無しさん
2020/10/16(金) 18:49:22.22ID:gzagFIoh
Luaみたいな用途なら需要がある気がする
232デフォルトの名無しさん
2020/10/16(金) 19:26:16.21ID:eDnfO719
時期にcommon lisp でできるようになるかも
最近numpyのcommonlisp版作るnumcl ってプロジェクトあるし
233デフォルトの名無しさん
2020/10/16(金) 19:47:49.92ID:gzagFIoh
カッコなし、字下げか空白だけで繋ぐlispとかあったら3レス分くらい流行るかも
234デフォルトの名無しさん
2020/10/16(金) 22:46:57.54ID:uQ0QovW5
>>233
たとえば(/(+ 1 2 3 4 5) 5)はどうなるの

/
 +
  1 2 3 4 5
 5
こうかな?
235デフォルトの名無しさん
2020/10/16(金) 22:55:51.98ID:uQ0QovW5
無限ループ
((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:29.67ID:EbfBq8oa
>>233-235
Scheme での提案として存在はする。
https://srfi.schemers.org/srfi-49/srfi-49.html
でも使われているのを見たことは無いなー。

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

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

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

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

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

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

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

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

それと本のわからんところのコードを貼れば誰か解説してくれんじゃない。
260デフォルトの名無しさん
2020/12/02(水) 22:45:58.51ID:2sTDa/BO
超高性能gotoって書いてるのは普通の言語のgotoって同じ関数内でしかジャンプできないんだけど、
継続なら安全に関数間でもジャンプできるっていう意味。
261デフォルトの名無しさん
2020/12/02(水) 22:48:34.44ID:2sTDa/BO
継続はわかってしまえば当たり前でどこにでも存在してるんだけど、
継続を考えたやつは本当頭いいわとおもった。
262はちみつ餃子 ◆8X2XSCHEME
2020/12/02(水) 23:20:42.42ID:wCsCmSK2
>>258
「プログラミング言語 Scheme」や「プログラミング Gauche」でもそういう手順で説明されている。
ネット上で見つかる解説でもよくあるパターン。
http://www.shido.info/lisp/scheme_cc.html
http://www.nct9.ne.jp/m_hiroi/func/abcscm20.html

ようするに定番なんですわ……。
263デフォルトの名無しさん
2020/12/03(木) 00:08:17.53ID:BSRv8eBD
なんでも継続
http://practical-scheme.net/docs/cont-j.html

はよ完成させて
264デフォルトの名無しさん
2020/12/03(木) 12:12:09.32ID:vc9+WZu6
Landin's J operator の糖衣みたいなもんじゃ?
call-ccって.
265デフォルトの名無しさん
2020/12/03(木) 14:15:21.78ID:sf+VFKLQ
普段cl書きなんでこのまま動くか知らんが、雰囲気はたぶん
(define call/cc (lambda (func) (func (J (lambda x x)))
266デフォルトの名無しさん
2020/12/03(木) 19:48:43.98ID:1MHSKMz8
>>258
継続渡しの初期の用例にヒューイットのアクター理論があるように
並行性が絡むと有り難いこともあるけど
Schemeの規格にそういうのがないから

Gaucheを使ったウェブアプリサーバーにKahuaってのがあったけど
あれが継続渡しを使ってたはず
267デフォルトの名無しさん
2020/12/04(金) 22:12:04.78ID:9AUT9QCq
エンジニアが教えるの下手くそな理由を論理的に解説してみた【教育の本質】

@YouTube


派遣エージェントの言う事は9割ウソである理由【カモられない方法】

@YouTube

;t=231s
IT業界のヤバすぎる落とし穴5選

@YouTube


絶対にエンジニアになってはいけない人とは【ハイクラス人材】

@YouTube


りゅうけんKENTAマナブは怪しいアフィ勢だとベテランエンジニア(笑)に言われるらしいwww

@YouTube


【個人で稼ぐ】会社を辞める前に習得しておくべきスキル5選

@YouTube


【聞いてください】「会社員」という働き方の本当のヤバさ

@YouTube


サラリーマンが知らないフリーランスの真実

@YouTube

268デフォルトの名無しさん
2020/12/07(月) 13:18:23.95ID:kze+rPTU
結局call/ccは実装読んだ方が早い
269デフォルトの名無しさん
2020/12/08(火) 00:25:26.96ID:g/rTchWW
そういう発想はschemeっぽくないと思う
これはコンピュータにかける魔法言語なんだからぁ
270デフォルトの名無しさん
2020/12/08(火) 10:24:39.14ID:7buWiz9t
schemeは知らんがclでcall/ccエミュってるぞ、こういうのは勉強になる
閲覧無料の論文もたくさん出てくるし、確かrosetta code(だったか)に少し残念だけど動く実装載ってた気がする
デフォでdynamic scopeのclの方が(エミュる)のはむしろ簡単な気がする
271デフォルトの名無しさん
2020/12/10(木) 03:16:14.79ID:FVBY7yTa
clデフォでdynamic scopeじゃないな
どういうcps実装なん
272デフォルトの名無しさん
2020/12/10(木) 19:52:56.52ID:m5YUCflP
dr.schemeを起動したらada lavelaceが表示された。12月10日が誕生日らしい。
273デフォルトの名無しさん
2020/12/18(金) 00:23:57.39ID:xE2tdWzM
3月にサスマンの新しい本が出ますね
274デフォルトの名無しさん
2020/12/18(金) 00:35:54.39ID:wHl77nxB
Software Design for Flexibility
How to Avoid Programming Yourself into a Corner
https://mitpress.mit.edu/books/software-design-flexibility
275◆QZaw55cn4c
2021/01/02(土) 01:05:03.40ID:wp0Bo1A/
>>6
この冬、職場から休暇をいただいたことをきっかけに a little schemer への再チャレンジを始めました
2週間では >>6 までは進めなかったけれども、しつこくてべたな精読を今後も継続することにしました‥‥個人的な話でごめんなさい
276デフォルトの名無しさん
2021/01/02(土) 09:30:41.51ID:DXffwUjS
頑張れ
277はちみつ餃子 ◆8X2XSCHEME
2021/01/02(土) 12:55:01.66ID:rf+zWHQf
2018 年の話題へスレ内でアンカーできるあたり、だいぶん進みの遅いスレだなぁ……

ところで先月、 Gauche の 0.9.10 がリリースされたよ。
278デフォルトの名無しさん
2021/01/11(月) 12:28:40.23ID:evx8yw3j
最近Clojureをさわって思ったんだけど、コンスって必要?ただのリストじゃだめなん?
279デフォルトの名無しさん
2021/01/11(月) 22:00:08.80ID:TgqHKx3G
最近はlistと言いつつ狭義のlist(linked)じゃなくlinked arrayな事が多いけどclosureもそれかな?(触ってないごめん
(三十年前の言語だけど)Pythonのコード読んだけどそうだったはず
計算量の議論なんかだとlinked listとarrayは一長一短ってことになってるが、アーキテクチャと殆どのデータの性質によって連結配列が実質万能なんで仕方ないね
抽象データ型としてcons/car/cdrというインターフェイスを提供してるなら十分lispだよ

consがなんでそんな大事なのかというと、普通に使われる抽象データ型の中では最も表現力が高いこと
単に自由に伸ばせるリストのようなモノでは、構文上バイナリツリーより複雑な構造は書きにくい(ポインタを駆使しない限り)
consが提供されていれば自然に平面DAGが、そしてちょっと読みにくくなる程度で任意のグラフが表現できる

化学構造やグラフをconsで扱ってるけどほんと便利だよ
280デフォルトの名無しさん
2021/01/11(月) 23:51:15.24ID:TgqHKx3G
書きにくい/やすい、ってのは環や分岐がcarとcdrとconsだけで書けるって意味ね
これらのアクセサが提供されていない言語、例えはPythonやcではリストのインデックスに対応する参照/ポインタを明示的に取り出して記録し、アドレスを格納する必要がある
またアルゴリズムにかける時に素の型とポインタ型を区別して場合分けする必要まである
そのまま文字列として吐くのも実装しなくていいし(リンク先のインデックス表示が読みやすいとは言わないが)

PythonなんかだとオブジェクトがリッチなのでnetworkXのような巨大なライブラリを使えば木を超えた表現も自然にかけるので、一時浮気をしたが…


形式言語の分野だともう線形な文字列や二分木の括弧文法は研究され尽くしてるので、グラフ文法なんかが最近流行ってlisp系言語で論文書かれてるね
281デフォルトの名無しさん
2021/01/12(火) 00:03:51.23ID:XqNkUArk
連投してごめんだけど、環や分岐がポインタ使わず自在に描けるのはかしこいsetfの寄与もある、って書き忘れてた(schemeはset-cdr!だっけ)
念のため
282デフォルトの名無しさん
2021/01/13(水) 22:45:17.14ID:c60O+Iz7
>>279
興味深い内容をありがとう
ちょこちょこ遊んでいるだけなので到底そこまで使いこなせる気がしないけど、
データをプログラム中にストレートに表現して操作できるというのはよく分かる

他の言語だとデータを保持するためにわざわざクラス設計からしないと
いけないような強迫観念にかられるけど、lispはそういう気にならない
283デフォルトの名無しさん
2021/01/14(木) 12:13:04.15ID:/NlgSZrU
データ型を定義しないのはトイプログラムだけだけどな
Lispはリストだけ使うのが通だとか善意で広めないでくれよ
284はちみつ餃子 ◆8X2XSCHEME
2021/01/14(木) 22:43:13.17ID:9qLPLWCT
(カッチリした型を中心にする言語に比べれば) 最初はラフに
書き始められるというのはあると思うよ。

でも、そのままだと千行くらいの規模でももうだいぶんキツいんじゃないかな。
人によってはコードを書く腕力 (?) というか強引に行けちゃう人もいるけど、
雑に試行錯誤できるということとそこから部品として確立するのは別の段階なので、
試行錯誤で弄ってるときと同じノリでどんどん拡大していったら
すぐわけわからんようになる。

世間で思われているよりは型定義はすると私も思う。
285デフォルトの名無しさん
2021/01/15(金) 01:43:39.29ID:Hai3vgIl
そういう後付けのボイラープーレトにはCLOSやジェネリックよりコンパイラマクロが便利ね
286デフォルトの名無しさん
2021/01/15(金) 21:24:11.84ID:6113KkR6
ここでいう型定義はdeftypeのことを指しているのでしょうか
287はちみつ餃子 ◆8X2XSCHEME
2021/01/16(土) 09:43:26.51ID:uH9KWN6j
Common Lisp でなら deftype とか defclass とかいったものを使うことになるんかな。
私は Scheme しか知らんからよくわからんけど。
288デフォルトの名無しさん
2021/01/17(日) 08:06:30.53ID:MtDeBO+C
>>285
嘘でしょ
人口無能が生成した文かこれ
289デフォルトの名無しさん
2021/01/17(日) 11:47:31.37ID:9ajuvsmH
>>288
defgeneric/methodは勢いで書き上げた触りたくないコードに機能追加するにはコード触らなくちゃならない
型の付いていない複雑なconsはどうせdestructuring-bindして振り分けるしかないんだから分けてdefmethodする利点もない
define-compiler-macroなら一切既存のコードに触れる必要は無いからすごく便利だよ
既存のライブラリに手を入れたいけど、直接書き換えるとアップグレードで無かった事にされるから嫌、って時にも活躍する

もちろんリファクタリング出来るならした方がいいけど、取り敢えず動けば良い時の話ね
290デフォルトの名無しさん
2021/01/17(日) 12:14:47.80ID:fZnccXPg
この場合、 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とリストのペアなので意味的にも正しいはず
294289
2021/01/17(日) 12:38:34.26ID:16Ro+9sx
最後は(a (b c))が正しい、.が余計だった

なんかid変わってたけど289です
295289
2021/01/17(日) 12:54:42.47ID:16Ro+9sx
真意を掴めてなかった感がある
alist-pとplist-pを定義してる、よく見るし受け入れられてるイディオムだと思う
deftypeしておくといい
すると振り分けをdefmethodに任せる事が出来る
296デフォルトの名無しさん
2021/01/17(日) 22:27:16.25ID:MtDeBO+C
deftypeしたtypeはclassじゃないからdefmethodできない
コンパイラマクロはプログラムの意味をかえたらいかんし
パッチするなら別定義のファイルを追加で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まで使ってるからだろうかね
299デフォルトの名無しさん
2021/01/20(水) 01:59:40.44ID:9Gv1v6nA
ffとかappqとか見慣れない面白関数出てきて面白かった
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とか定義しとくと便利ね
301デフォルトの名無しさん
2021/01/22(金) 08:32:42.17ID:hEWi2BMh
jmcはラムダ教徒だったろうになあ
いくら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を使う限りは循環定義だな
303デフォルトの名無しさん
2021/01/26(火) 23:06:50.96ID:+x6NTk+g
誤解してた
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)がハマりそうと思い、実装してみたは良いけどなんに使うんだコレ…
楽しいからいいか
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も定義せねばならない

後はまかせた
306デフォルトの名無しさん
2021/02/12(金) 22:14:51.72ID:rBgVuMm7
わたばさんのところ見て知ったけど
井田昌之先生の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 の実行エンジンを組み込んだものがデフォになった。
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ライクに発展できるのに
おじさんは自分に求められてるのは変態テクニックやインスピレーションだと自覚しろ
311デフォルトの名無しさん
2021/02/16(火) 19:13:16.29ID:RZ7vFu0i
>>309
グレアムの方が近いはずだが
312デフォルトの名無しさん
2021/02/16(火) 21:26:58.99ID:6gVrqubW
>>310
言語が自分自身を書くことが出来る、ということをよりうまくやれれば
ってことでしょ
lisp1.5マニュアルを彼なりにアップデートしたいんだよ
313デフォルトの名無しさん
2021/02/17(水) 03:29:33.90ID:PFWUQJwx
関数やマウロの実体もリストというのはだいぶん振り切れていると思うがおまえらには目新しくはないのか>bel
314デフォルトの名無しさん
2021/02/17(水) 03:49:42.83ID:KZUgEKHz
>>313
むしろ昔ながら/手抜きlispがそんなもんでは
lit(eral)はマッカーシーのappqだし、elispは対話モードならちゃんとcarでlambdaが取れる
315デフォルトの名無しさん
2021/02/17(水) 04:32:37.72ID:KZUgEKHz
後は語り尽くされたlisp1/2の分化の話になるのでその辺はググって
316デフォルトの名無しさん
2021/02/17(水) 04:57:15.21ID:KZUgEKHz
補足
elの挙動は完全にバグいので忘れた方がいい、一方で関数実体はリストのサブタイプではないとヒューリスティックに判定されるのでそもそもill-defined
317デフォルトの名無しさん
2021/02/17(水) 18:52:29.11ID:zk5Pyjxw
アラン・ケイもそれを自分でやってみようとすることが重要だと言ってる
原始関数が変われば何もかもが変わるわけだから
変わった世界が良いのか悪いのか、は自己言及がどれだけよく出来てるかどうか
ということだと思うんだけど
つまり、僕らが使いやすいと感じるかどうかではなく
未来にそれに慣れた人たちがより効率の良い開発が出来るかどうか

で、グレアムは自分なりに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)でも実装できるのだから、なおさら
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時に関数へすり替えるワークアラウンドで実現できる
そこが売りなんだからもうちょっと仔細を、と
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と定義される、あんまり明るくないんでなんでそうするのかは知らんが
325デフォルトの名無しさん
2021/02/23(火) 03:38:31.96ID:aA0AvmX/
ELisp だと、一部の関数は本当にリストとして保持されてたりするんだよね。
ラムダ式そのままの形で。
だから car や setcar とかで中身にアクセスできちゃったり。
326デフォルトの名無しさん
2021/02/23(火) 04:39:24.64ID:VIkkm8/q
elのfunctionはid関数っていうね…知りたくなかった
関数定義をいじくりたいなら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使えるようになった(≧∇≦)/
追加バックはコマンドラインから入れられた
これで充実した春休みが送れそうだぞ
329デフォルトの名無しさん
2021/03/15(月) 17:40:08.88ID:mTFo5Bvn
Happy Hacking!

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> '()
'()

(。・_・。)…?
332はちみつ餃子 ◆8X2XSCHEME
2021/03/17(水) 19:32:10.48ID:sFqg8ROj
>>331
Racket でも (write '()) としたら quote は付かない。
repl が quote を付けてる。
空リストの外部表現は () が正しい。
333デフォルトの名無しさん
2021/03/17(水) 21:49:16.02ID:e+VOZDZq
racket> '()
'()racket> '()

になる……
334デフォルトの名無しさん
2021/03/17(水) 21:49:52.85ID:e+VOZDZq
訂正

racket> '()
()racket>

になる……
335デフォルトの名無しさん
2021/03/17(水) 22:26:44.32ID:e+VOZDZq
すんません、再度訂正

racket>(write '())
()racket>

になります
336デフォルトの名無しさん
2021/03/18(木) 00:10:13.29ID:3weRgygV
replに代わってrpeplを提唱したい
意外とreadは仕事をしている
clだけどread-from-stringにはいつもお世話になる
337はちみつ餃子 ◆8X2XSCHEME
2021/03/18(木) 01:34:59.90ID:4J+m36hV
>>333-335
モンキーパンツかよ。
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

@YouTube

339デフォルトの名無しさん
2021/03/19(金) 14:16:23.58ID:6iPIiOby
Lispへの憧憬
https://xtech.nikkei.com/it/article/COLUMN/20090324/327085/

Lispに対する偏見、エリートコンプレックスを赤裸々に吐露していて参考になった
すこし弄れるからといってエリート意識持っていたりするのも同じ事なんだよね
そこに本質的な差は無いし、能力的な差も殆どない
340デフォルトの名無しさん
2021/03/19(金) 19:07:28.92ID:VzIhkYvX
>>339
なんかカッコいい感じは分かるけど、なんでそうなのかは分からん
Fortranはすげー科学者がみんな使ってて技術的にも常に(今も、Fortran2020を見よ)最先端だけど、別にFortranはカッコよくないと思うし
どういう心理なんだろ
341デフォルトの名無しさん
2021/03/19(金) 19:12:24.45ID:VzIhkYvX
思うに、使ってる層のエリート度で考えるとFortranと変わらん
思うに、単純にコードの見た目が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もと
346デフォルトの名無しさん
2021/03/19(金) 21:11:14.03ID:RMQx/osX
一部の日本人が布教に熱心で検索にかかりまくるから胡散臭くて敬遠してたんだが、少なくとも初期はcl委員が関わってるし由緒はあるんだよな
無難なlispだが、大体スーパーセットなclにアクティブですごい処理系沢山ある限り絶対流行らんが

あんまり布教頑張るとネガキャンに見えるぞ…
347デフォルトの名無しさん
2021/03/20(土) 01:03:24.86ID:iR2BedGg
>>338
vimだと階層に合わせて背景塗り分けるプラグインとかあるね

Peirce(パースの法則の人)も初めはlogical graphと言う円で囲む二次元言語を考えてたんだが、今言及されるときはテキスト表現で()になってる(そして読みやすい)
歴史はめぐるってか

ちなみにlispと見た目が似てるからってパーサを書いたが、やはり親和性が高い
面白いのでオススメ
348デフォルトの名無しさん
2021/03/20(土) 01:11:33.86ID:iR2BedGg
コードエディタじゃなくて残念なんだけど、愛用してるOneNoteのテキストのドラッグが()ごとドラッグしてくれるのに気づいた
まあいつものMSのお節介なんですけどね
本来の用途である物書きでは選択範囲を自由に決めさせてくれないイライラ要素
349デフォルトの名無しさん
2021/03/20(土) 01:12:20.50ID:iR2BedGg
(特に日本語!)
350はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 01:20:25.61ID:O2z0YRFR
規格っつーのは多少の粗があっても皆で統一したほうが便利だというもんなんで、
ユーザー規模がないものは規格化が活きてこない。
ISLISPでコードが書いてあってもオレオレLISPで書いてあるのと大差ないんだよ。
共通の知識になってないから。

ISLISP の仕様自体が悪いわけではないし劣っているわけでもないと思うんだけど、
最初に広められなかったらこれから広まるってことはもう無いんだろうな。
それはそれでいいんじゃね。 細々とやっていくのが好きな人もいるんだろ。
351デフォルトの名無しさん
2021/03/20(土) 01:39:51.02ID:SzdWYV/s
30年事足りるほど十分カバーしてるclってすごいよな(実働は1980年初頭だからもっと?)
まあマルチスレッドあたりの仕様がバラバラなので、そこをしっかり決めてくれるMACLISP風規格があれば、俺はポッと出でも支持するんだが
352はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 02:00:29.14ID:O2z0YRFR
>>351
Scheme で言う SRFI に相当するものとして Common Lisp にも CDR (Common Lisp Document Repository) があるんだが、
Common Lisp は Scheme よりも実務主義というか話し合いするよりも動くライブラリを置いときゃいいだろみたいな文化があって
共通仕様の策定に熱心ではないような気がするな。
353デフォルトの名無しさん
2021/03/20(土) 02:13:36.08ID:SzdWYV/s
>>352
今誰が主導してるかと訊かれて、答えに詰まるのは特異な状況だとは思う
商用(持ってないけど)ですら保守的にみえる
ぬるま湯に浸かるのを良しとしないISLISPの人を讃えたい

フリーでまともな処理系待ってるから出来たら起こしてくれよな!(讃えるだけ)
354デフォルトの名無しさん
2021/03/20(土) 02:19:30.20ID:SzdWYV/s
こんな感じの人現れないかな
Lisp Scheme Part41 	YouTube動画>16本 ->画像>3枚
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がやる気出さないかな
357はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 15:18:16.80ID:O2z0YRFR
>>353
Common Lisp や ISLISP のワーキンググループは解散してるはず。
規格としての主導者は現時点で存在しないよ。
制度の詳細は知らんから再開できるのかもしれんけど。
358はちみつ餃子 ◆8X2XSCHEME
2021/03/20(土) 15:25:35.53ID:O2z0YRFR
SRFI や CDR は (英語がわかるなら!) 誰でも提出できるし、
議論が尽くされたと思ったときに決定稿に (あるいは撤回を) していい。
ユーザーコミュニティの中に文書の置き場と相談の場所があるだけなので、
誰かが可否を決定してるわけではない。

主導者がいないっつってもコミュニティで議論してたらだいたい「いつもの面子」みたいにはなるだろうけどな。

つまり 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 になったからといって何か変わるわけでもないけどさ。
360デフォルトの名無しさん
2021/03/24(水) 15:11:25.30ID:HKW94SjI
>>338
Lisp Scheme Part41 	YouTube動画>16本 ->画像>3枚
361デフォルトの名無しさん
2021/04/04(日) 11:13:09.40ID:dz+wreGq
lisp machine触ってみたいなと思ってたらとても素敵な物が手軽にあった!
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
364デフォルトの名無しさん
2021/04/05(月) 21:56:17.84ID:i9PX2oQn
generaはwikipedia読んだ程度だけど随分先進的そうだ
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
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のバージョン上がればバイナリ互換性が失われるかもしれない
近いうちにロストテクノロジーになるなこれ
369デフォルトの名無しさん
2021/04/06(火) 00:03:42.02ID:4WR5kIDO
linuxも一応abiの規定あるけど同じアーキテクチャでも違うディストロでそのまま動くとは限らんしな

とりあえずクローンした気がする(気がするだけ)

winならx86系でさえあれば安泰なんだが、generaのXインターフェイス使ってるぽいし無理そうだよなあ
うちでは代々バイナリをコピペし継いだoffice95がwin10でバリバリ元気に働いてるよ
370デフォルトの名無しさん
2021/04/06(火) 19:03:06.66ID:9PToVtUo
Movitz
https://common-lisp.net/project/movitz/movitz.html
今は開発してないらしいが
371デフォルトの名無しさん
2021/04/06(火) 19:36:16.54ID:R6aCJEvU
Alto→NextStep→OSXがコンシューマ向けになって成功してるのに
Interlisp-D、Symbolicsは(パンピー的には)伝説のマシンのままなのはどうしてなんだぜ
372デフォルトの名無しさん
2021/04/06(火) 19:41:57.45ID:R6aCJEvU
Next, OpenStepを元にしたGNU/Stepというのもあるけど
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協調性だとか拡張向きだとか今時普通なんで売れないと思います
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 をベースにしてることからもわかるように、
拡張用言語はこんくらいの規模でいんだよな。
378デフォルトの名無しさん
2021/04/08(木) 18:16:52.22ID:IR9u3KhO
GNUといえばEmacs
最も普及している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
380デフォルトの名無しさん
2021/04/10(土) 00:08:20.59ID:pgV1eSpW
guileはdicoと使うと便利ぞ
dicoはdictと喧嘩しやがるアレなやつだからだが
381デフォルトの名無しさん
2021/04/10(土) 00:11:58.64ID:pgV1eSpW
>>379
既にハードも気軽にお手製できる時代だったな…
やったことないんでどこまで気軽か知らんが
382本田
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
383デフォルトの名無しさん
2021/05/04(火) 13:30:15.28ID:fppjg2ZR
LispとCの融合ということだと、KCLはLispective-Cなのでは
384本田
2021/05/06(木) 21:07:40.28ID:0MCggaNl
>>377
Guile-based Emacs
http://www.mit.edu/~raeburn/guilemacs/
385デフォルトの名無しさん
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
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)))))
387デフォルトの名無しさん
2021/05/25(火) 18:50:37.18ID:JJYQeYh+
あ、分かりました。
388デフォルトの名無しさん
2021/05/25(火) 19:30:00.29ID:xQ/lxTUk
そうか
389デフォルトの名無しさん
2021/06/28(月) 10:43:13.88ID:TRKsA7C/
Schemeで

(newline)
(display 1.0)

のように複数の文?をつなげて実行することができます。

x が正のときに (newline) と (display 1.0) を続けて実行するようにするにはどのように記述すればいいのでしょうか?
390デフォルトの名無しさん
2021/06/28(月) 10:44:02.91ID:TRKsA7C/
>>389

(if (< 0 x) …

と if を使いたいです。
391デフォルトの名無しさん
2021/06/28(月) 11:02:31.15ID:PxTgcihw
(if (< 0 x) (begin (newline) (display 1.0)))
392デフォルトの名無しさん
2021/06/28(月) 11:03:43.42ID:7XtL7Dy7
(if (< 0 x)
((lambda ()
(newline)
(display 1.0))))
393デフォルトの名無しさん
2021/06/28(月) 14:39:39.18ID:TRKsA7C/
>>391-392
ありがとうございました。
394デフォルトの名無しさん
2021/06/28(月) 20:21:41.41ID:3DnBzo4y
condでいい
(cond ((< 0 x) (newline) (display 1.0)))
395デフォルトの名無しさん
2021/06/28(月) 21:54:24.27ID:PxTgcihw
今度でいい?
396デフォルトの名無しさん
2021/06/29(火) 12:31:46.50ID:aO3q0Gho
implicit progn(begin)が欲しいならwhenとunlessを積極的に使おう
397デフォルトの名無しさん
2021/06/29(火) 12:46:42.78ID:aO3q0Gho
色んな書き方が出来るからこそ、most specificなものを使おう
398デフォルトの名無しさん
2021/06/29(火) 13:29:59.66ID:0N5v+m2R
二年前から、どうでもいい駄文が多すぎだな。
399デフォルトの名無しさん
2021/06/29(火) 17:27:58.16ID:cKUJRDcK
へーじゃあ君は2年間何してたの
400デフォルトの名無しさん
2021/06/29(火) 18:52:26.88ID:yETyFiIt
lispの質問が減って自己紹介みたいな駄文が多いんだよ
401デフォルトの名無しさん
2021/06/30(水) 02:43:05.48ID:HrMy06Ib
結局 most specific なものは何だろう
402デフォルトの名無しさん
2021/06/30(水) 03:40:26.71ID:hbO/nBwY
when でいいんじゃね
403デフォルトの名無しさん
2021/07/07(水) 05:18:16.92ID:Jk8/Aq6G
stalin って今も最速?
404デフォルトの名無しさん
2021/07/07(水) 20:28:05.30ID:Kq6g4muF
スターリンは残酷に最適化するからな
405デフォルトの名無しさん
2021/07/07(水) 23:24:28.15ID:690XxCxv
プログラムがr4rsで記述できていてシングルスレッドしばりの競争ならいまでも速い可能性はあるだろうな
だれか追試してくれよ
406デフォルトの名無しさん
2021/07/11(日) 18:50:40.89ID:aa3AN28M
(eq? '(a b c) (list 'a 'b 'c))

を実行すると

#f

となるのはなぜでしょうか?
407デフォルトの名無しさん
2021/07/11(日) 19:31:30.75ID:19O1KSs3
eq?はメモリ上の実体が同一かどうかを返すので、値を比較したかったらequal?を使えばいいよ
408デフォルトの名無しさん
2021/07/11(日) 20:25:33.03ID:aa3AN28M
>>407
ありがとうございました。
409デフォルトの名無しさん
2021/07/12(月) 20:42:52.24ID:O01P9WLY
named let使おうと思ったらCommon lispには無かった
410デフォルトの名無しさん
2021/07/12(月) 22:45:17.08ID:u5zIJQm8
(let loop ((n 10)) (if (> n 0) (loop (- n 1)) #t))

(((lambda (loop) (set! loop (lambda (n) (if (> n 0) (loop (- n 1)) #t))) loop) 'dummy-label) 10)
こういう仕組みだからCLで書けなくもないと思うけど
411デフォルトの名無しさん
2021/07/12(月) 23:10:07.08ID:eka9NNGK
現代のlispハッカーはみんなloopマクロ使ってるよ
412デフォルトの名無しさん
2021/07/13(火) 08:34:35.37ID:egse1qJT
named-lambdaならalexandriaにある
413デフォルトの名無しさん
2021/07/13(火) 10:27:19.42ID:A078Hhon
Schemeで、

(+ '3 3)

を評価すると

6

が返ります。

'3 は「3」というシンボルを表わすのではないんですか?
414はちみつ餃子 ◆8X2XSCHEME
2021/07/13(火) 11:05:03.90ID:jDPJbhfl
>>413
クウォートは評価を抑制するという仕組み。
データ (S式) の世界がプログラムの世界にマッピングされるときにデータの世界のままで留め置く感じ。

識別子はデータの世界ではシンボルなので、(変数として) 評価しなければシンボル自体となる。
3 はデータの世界でも数値の 3 であり、数値はプログラムの世界で評価すると
それ自体になるという自己評価 (self-evaluating) という規則の対象なので
3 はクウォートを付けても付けなくても評価結果は数値の 3 。

ちなみにベクタリテラルが自己評価の対象になるかどうかは変更があったので注意が必要。
R5RS/R6RS では自己評価の対象ではないのでクウォートが必要だが R7RS では自己評価になる。
まあほとんどの処理系は適当に許容したりもするんだけど。
415デフォルトの名無しさん
2021/07/13(火) 16:32:31.52ID:NGIJbx4Y
number?で#tなだけで数値をシンボルで実装した処理系もあるかもしれん
416はちみつ餃子 ◆8X2XSCHEME
2021/07/13(火) 17:10:19.73ID:QSkHhbzy
小さい数値はヒープアロケーションせずにワードに詰め込む (ことで GC 削減して高速化を図る)
ような実装が一般的だったり、同じ内容の文字列リテラルを統合したりすることがある。

eq? が数値や文字列について処理系依存になっているのは
おそらくそういった最適化を許すための配慮なんだけど、
処理が遅くなってでも一貫した扱いをするというデザインを選んだなら
内部的に数値とシンボルと統合することも選択肢としてはあるかもね。

そうしてもユーザー視点ではたいして得なことはないんだけど、
アプリケーションに組み込んで拡張用言語として使うとか
だったらアプリケーション側の事情と馴染みやすいかどうかみたいな視点もあるし。
417デフォルトの名無しさん
2021/07/13(火) 19:58:17.06ID:tejz1RXC
数字はreadした時点でnumberになる
それをquoteしてもnumberのまま
quoteするとはevalされないということだ
もちろんnumberをevalしてもnumberのままだ
418デフォルトの名無しさん
2021/07/14(水) 06:57:41.65ID:O4vE2Kew
あっそうか
末尾再帰が仕様にないからloopを使うようになってるのかな?
419デフォルトの名無しさん
2021/07/15(木) 04:52:42.37ID:eqEigNI9
逆やね末尾再帰でloopを代替できるからイキって仕様からloopを消したったのがschemeやからユーザーもイキるやで
420デフォルトの名無しさん
2021/07/15(木) 06:43:25.74ID:S7wkmjz6
末尾呼び出しの最適化が至高の技術のように思っていた時期が僕にもありました
421はちみつ餃子 ◆8X2XSCHEME
2021/07/15(木) 11:32:01.61ID:d93moyXm
末尾呼出し最適化はあくまでもセマンティクスの話であって、
ループ構文を避ける強い流れがあるわけじゃないよ。

do や named let くらいしか繰り返し構文が用意されてないのは
皆が合意できる仕様をまとめられていないという非常に単純な理由だよ。

R7RS-Large に入れるループ構文の候補としては
・ SRFI-42 (https://srfi.schemers.org/srfi-42/srfi-42.html)
・ foof-loop (http://wiki.call-cc.org/eggref/5/foof-loop)
・ chibi loop (http://synthcode.com/scheme/chibi/lib/chibi/loop.html)
が挙がっている。

まあまだちゃんと議論されてないので他の候補が出るかもしれないし、
結局何も入れないということもあるかもね。
422デフォルトの名無しさん
2021/07/15(木) 16:04:48.23ID:MIyHkZEB
アキュムレータ加えて末尾再帰で書くよりはdoを好むわ
ロジックとしては全く等価だし、見やすい方がいい
423デフォルトの名無しさん
2021/07/15(木) 16:12:57.83ID:MIyHkZEB
loopキーワードは:を付けてlisp keywordにすればビジュアル的に随分見やすくなるね

ところでloopの独特の言い回しはAlgol由来だと最近知った、downtoとか
esacやfiまで取り入れてたら投げ捨てるけど
424デフォルトの名無しさん
2021/07/15(木) 16:15:28.68ID:MIyHkZEB
>>412
sbclが内部でnlet使ってるね
::で参照したりコピペしたりしてるわ

やっぱclに入れた方が良かったな
425デフォルトの名無しさん
2021/07/15(木) 16:34:32.82ID:zKeMNTWP
loopしなくてもdestructuring bindやwithの為にloop使うのは我ながら良くないと思う
値を集める節がハマると簡潔に書けるのでつい
426はちみつ餃子 ◆8X2XSCHEME
2021/07/15(木) 17:45:11.96ID:d93moyXm
慣れた Scheme ユーザーなら末尾呼出し (末尾再帰) になっているかどうかは空気のように判断できるけど、
do で書けるものなら do で書いたほうがそういう判断をする必要さえないわけで、
なるべく抽象度の高い構文 (または手続き) を使うに越したことはない。

大事なのは抽象化で、繰り返しをしているところなら繰り返しに見えるように書くのが筋だろ。
(繰り返しに do という名前を当てるのがどうなんだ……とも思うけど Fortran 由来らしい。)

そういう意味では >>425 が loop をループ以外の用途に使うのは確かに良くは無いんだが、
場合によってはそういうのもイディオムとして定着していることがあるから
意味に忠実にするために冗長になるくらいならイディオムに頼るほうが「わかりやすい」場合もある。

どちらがいいというわけでもなくて全体の匙加減だから難しいよね。
427デフォルトの名無しさん
2021/07/15(木) 19:48:28.17ID:eqEigNI9
末尾呼出し最適化をいかした書き方というのは確かにあるのだけれど named let はシンプルな loop に特化していて中途半端なのだよなあ
428デフォルトの名無しさん
2021/07/15(木) 21:29:35.37ID:hFBqwrB0
named let 嫌いだわ、構文として紛らわしいだけ
あれはgotoとでも名乗るべき
429デフォルトの名無しさん
2021/07/16(金) 08:09:46.64ID:IT8DyczJ
>>428
おいらはすき。letなんてどうせシンタックスシュガー。
430デフォルトの名無しさん
2021/07/18(日) 09:56:21.45ID:2Hl3gQcn
書き捨てなら抽象度は低い方がよいのが原則じゃないか?
高いほうがいいのは使い回すケース、例えば数列計算関数に項を計算する関数を渡して特殊化したい場合
carがdoなら、何がしたいのか一目で分かるよね

あとclでも普通ループへの展開はしてくれると思うけど、保証はされてないから神経質な人は、より確実に等価なコードに展開されるだろうdoの方がいいかも
いやさすがに気にし過ぎか
431はちみつ餃子 ◆8X2XSCHEME
2021/07/18(日) 10:09:27.74ID:+Ch+KzUq
>>430
> 書き捨てなら抽象度は低い方がよいのが原則じゃないか?

手間とのトレードオフで抽象化層をわざわざ作るのを避けるという意味ならそうだけど、
多様な語彙 (標準ライブラリ、またはそれに近いもの) がすでに揃っている中
から選べるなら状況をより適切に表しているものをピックアップしたほうが
わかりやすいし手間も少ないでしょ。
432デフォルトの名無しさん
2021/07/18(日) 10:13:20.17ID:2Hl3gQcn
ポエムだけど、状態機械ともロジックは等価だよね

二項漸化式を例に
仮引数-呼び出し
末尾再帰
a b accum - b (next b) accum'
do
a b result - b (next b) result'
状態機械
a b state - b (next b) state'

状態機械は普通遷移テーブルを与えて考えるけど、制御構造で動的に割り振れば前の二者になる
状態を引数で受け渡すことで、ステートフルな計算を実現する
433デフォルトの名無しさん
2021/07/18(日) 10:18:13.98ID:2Hl3gQcn
>>431
その文章には賛同するけど、その線引は深入りすると宗教戦争になりそうなやつだな…

忘れてくれ
434デフォルトの名無しさん
2021/07/18(日) 10:31:34.34ID:2Hl3gQcn
'formをテーブルに書き込んでしまえば…
435デフォルトの名無しさん
2021/07/18(日) 10:43:00.23ID:iK76XXqo
状態機械の定義にそぐうかは詳しくないので分からないけど、表で管理するのは見やすそう
でもデータ構造中に保持する限り反復に翻訳される可能性は皆無だろうな
436デフォルトの名無しさん
2021/07/18(日) 22:30:22.92ID:wZnHH9/v
do構文は何がどこかすぐ忘れる
named letはうる覚えでもなんとかなる
ただのletの亜種だから断然読みやすい
437デフォルトの名無しさん
2021/07/18(日) 22:33:40.35ID:3JZJIWfz
×うる覚え
○うろ覚え
438デフォルトの名無しさん
2021/07/20(火) 02:01:05.64ID:DJlNseKm
すみませんscheme初心者なのですが累乗を求めるプログラムが動きません
http://www.nct9.ne.jp/m_hiroi/func/abcscm04.html
を参考に、let と cond を使って書いてみたのですが let で局所変数を導入した瞬間に動かなくなりました
何が間違っているのか指摘していただけると幸いです
(define (pow x y)
  (let ((z (pow x (quotient y 2))))
     (cond ((zero? y) 1)
        ((zero? (modulo y 2)) (* z z))
        (else (* x z z))
     )
  )
)
439デフォルトの名無しさん
2021/07/20(火) 02:30:15.19ID:yRdGIeGP
infinite recursion
440デフォルトの名無しさん
2021/07/20(火) 03:11:09.60ID:DJlNseKm
(z (pow x...)) の評価が ((zero? y) 1) の前に起きてるのが原因なんですね
z に (pow x..) を束縛だけして評価しないみたいなことって出来るんですかね?
(define (pow2 x y)
 (if (= y 0)
   1
   (let ((z (pow2 x (quotient y 2))))
    (if (= (modulo y 2) 0)
      (* z z)
      (* x z z)))))
みたいに if 文に分解して (= y 0) 1 を (let ((z (pow2 x ..) の前に出すしかないんでしょうか
let と cond を一緒に使うとスッキリ書けそうなのですが…
441デフォルトの名無しさん
2021/07/20(火) 09:22:43.66ID:0xL9gg55
(define (pow x y)
  (let ((z (lambda()(pow x (quotient y 2)))))
     (cond ((zero? y) 1)
        ((zero? (modulo y 2)) (* (z) (z)))
        (else (* x (z) (z))))))
442デフォルトの名無しさん
2021/07/20(火) 10:43:12.24ID:aBN0Hnxa
計算量悪化してない?
443デフォルトの名無しさん
2021/07/20(火) 11:23:57.77ID:0xL9gg55
(define (pow x y)
  (let ((z (lambda()(pow x (quotient y 2)))))
     (cond ((zero? y) 1)
        ((zero? (modulo y 2)) (set! z (z)) (* z z))
        (else (set! z (z)) (* x z z)))))
444デフォルトの名無しさん
2021/07/20(火) 12:21:34.41ID:27sTwTCb
ifとletを使うのが一番いいと思う

(define (pow1 x y)
(let ((z (delay (pow1 x (quotient y 2)))))
(cond ((zero? y) 1)
((zero? (modulo y 2)) (* (force z) (force z)))
(else (* x (force z) (force z))))))

(define (pow2 x y)
(let ((z #f))
(cond ((zero? y) 1)
((begin
(set! z (pow2 x (quotient y 2)))
(zero? (modulo y 2)))
(* z z))
(else (* x z z)))))
445デフォルトの名無しさん
2021/07/20(火) 12:42:50.05ID:DJlNseKm
>>443
なるほどアリティ0の無名関数として束縛してやれば定義時に評価されずに済むんですね
評価したいときはリストにすれば評価されると
めちゃくちゃ為になりました
ありがとうございます
446デフォルトの名無しさん
2021/07/20(火) 13:00:13.21ID:DJlNseKm
>>444
やはり自然なのはifとlet使った書き方なんですかね
そもそも明示的に遅延評価を表すシンタックス形式(delay)があるんですね勉強になります
ありがとうございました
447はちみつ餃子 ◆8X2XSCHEME
2021/07/20(火) 16:19:35.74ID:BjsPOMc7
計算量のことを言うなら繰り返し二乗法を使うのがスマートやろ。
448デフォルトの名無しさん
2021/07/20(火) 17:16:38.64ID:FEwdsMz6
force 使うの大袈裟すぎない?
440で全く問題ないと思ったけど
449はちみつ餃子 ◆8X2XSCHEME
2021/07/20(火) 17:33:51.23ID:BjsPOMc7
元になる数式をなるべく形式を変えずに書きたいみたいな要求はあるんじゃないの?
プログラマ的視点で見れば >>440 の形に不自然さは感じない (むしろ比較的自然だと思う) けど、
理論家がコードに書き起こすときにはコードを変形させるよりは
遅延を明示したほうがすっきりと感じることだってあるだろう。

そこらへんは何が正しいとは言えないけど、
現時点で Scheme を学習中の人みたいなので色々な方法に触れておけば
どれかは役にたつこともあるかもね。
450デフォルトの名無しさん
2021/07/20(火) 17:41:31.79ID:yRdGIeGP
こんなんでもいいんじゃない

(define (pow2 x y)
 (if (= y 0) 1
  (let ((z (pow2 x (quotient y 2))))
   (* (if (= (modulo y 2) 0) 1 x) z z))))
451はちみつ餃子 ◆8X2XSCHEME
2021/07/21(水) 23:35:17.25ID:tIqEOSex
Racket 8.2 がリリースされておった。
https://blog.racket-lang.org/2021/07/racket-v8-2.html
452デフォルトの名無しさん
2021/07/29(木) 12:26:00.90ID:AB6awnRN
トイプログラムをチューニング合戦やめーや
453はちみつ餃子 ◆8X2XSCHEME
2021/07/29(木) 14:35:36.73ID:lV+mYu1n
簡単な場合をよく考えられないなら応用的状況ではもっと出来ないよ。
応用ができるようになってからなら枝葉は後回しにすべきだけど。
(いわゆる「早すぎる最適化は諸悪の根源」ってやつ。)

あと、単にこのスレってあまり話題ないから。
454デフォルトの名無しさん
2021/08/29(日) 19:48:00.40ID:ExQfKpCF
Parenscriptとclojurescriptのメリットとデメリットどこかにまとまってないかな
主力をcLかclosureのどっちにするかで悩んでる
455デフォルトの名無しさん
2021/09/01(水) 11:05:24.22ID:3cqZfQ8E
racket から pythonのtensorflowとか使いたいのに
まともなpython ffiが見つからない

racket死んでる?
456デフォルトの名無しさん
2021/09/03(金) 17:00:38.92ID:w5919iNp
フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
https://prtimes.jp/story/detail/DBnPOktyljr
テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。
2021年、フリーランスのトレンドは「移住&テレワーク」と予測
https://prtimes.jp/main/html/rd/p/000000045.000050142.html
リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、業務委託契約の求職者と企業をマッチング
https://www.value-press.com/pressrelease/262778
1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
https://www.nishinippon.co.jp/item/o/713384/
新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給
https://internet.watch.impress.co.jp/docs/news/1287094.html
茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
https://internet.watch.impress.co.jp/docs/news/1281120.html
長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給
https://internet.watch.impress.co.jp/docs/news/1274735.html
フリーランスが活用できる「最大1,000~3,000万円・補助率50%~75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
https://freenance.net/media/money/4255/
『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
https://prtimes.jp/main/html/rd/p/000000051.000010457.html
457デフォルトの名無しさん
2021/09/04(土) 12:17:58.77ID:7RPQ9cbD
hy一時期話題になったけど今は誰も使ってない
458デフォルトの名無しさん
2021/09/04(土) 13:00:17.62ID:P/r0boNY
春頃にLispマシンの話題になっているが、
TAOのコードは結局Public Domainに出来ないのかな
https://www.nue.org/nue/tao/celis/index.html
459デフォルトの名無しさん
2021/09/04(土) 17:09:55.40ID:jSSzYM7r
だいぶん昔にjaistでtaoのイベントがあったが同様の質問が出たが権利問題が解決できないらしく関係者にさえ配布できない状況らしい
lispの勉強会で遭遇した人の話なので風の噂レベルでスマンがガッカリしたのを思い出した.エミュレーションもデモしたらしい
460デフォルトの名無しさん
2021/09/05(日) 06:20:35.31ID:pE5Z7TQ6
quickdocs復活してるな
461デフォルトの名無しさん
2021/09/07(火) 20:50:21.97ID:8Gi3qZOZ
Scheme版のcl-ppcreは何処いったんだ?
462はちみつ餃子 ◆8X2XSCHEME
2021/09/07(火) 21:18:49.39ID:yn0D/zff
>>461
srfi-115
463デフォルトの名無しさん
2021/09/10(金) 16:25:34.83ID:vbZ+sZ5t
政治闘争で頻繁に互換性ないアップデートを繰り返して死んだ
hy

次はclojureで同じ政治闘争が始まりそうという噂が
464はちみつ餃子 ◆8X2XSCHEME
2021/09/10(金) 17:54:13.80ID:53pAHbe3
hy くらいの新興処理系でどんどん変更が入るのは普通のことだと思うが。
つってももう登場から 8 年なのか。
465デフォルトの名無しさん
2021/09/11(土) 14:53:00.01ID:WRGMhX/P
>>462
いやそこにある実装は知ってるけど必要なのは>>461
もしかして自分で変換して使ってたのかな?
466デフォルトの名無しさん
2021/09/11(土) 20:38:39.26ID:Suq8GRsb
スレに書き込む前に妄想と現実の区別がついていることをよく確認しましょう
467デフォルトの名無しさん
2021/09/11(土) 21:45:04.20ID:E5TnD1wu
自分で変換した不確かな正規表現ライブラリなんて使いたくねーな
468デフォルトの名無しさん
2021/09/11(土) 23:37:54.18ID:Suq8GRsb
いやそれは移植元にテストケースがあるからテストが完走すればだいじょぶっしょ
しかしそもそもschemeにもpcreライブラリは沢山あるだろうけど
469デフォルトの名無しさん
2021/09/15(水) 04:41:28.63ID:mYoOhxQF
妄想も噂も似たような言い換えみたいなものなのに
何でそんな強い口調で言い換えを強要してくるんだ
470デフォルトの名無しさん
2021/09/15(水) 04:43:02.67ID:mYoOhxQF
何でそんな強い口調で言い換えを強要してくるんだ
471デフォルトの名無しさん
2021/09/16(木) 00:32:04.26ID:4L00LZ3y
()に包めば言い換えないでも柔らかさを演出できる
()はすごいのだ
472デフォルトの名無しさん
2021/09/16(木) 02:34:55.53ID:PaKnZlMf
465から別の話題になってて468まででひとつの会話の流れ.
つまりお前が勝手に被弾してるわけよ‥
473デフォルトの名無しさん
2021/09/16(木) 07:32:28.90ID:d2OD6VRD
クオートしてエバらなければよろしい
474デフォルトの名無しさん
2021/10/09(土) 23:58:58.03ID:6Ftx/1cj
sbcl2.1.9 windows版(amd64)入れてみたけど今まで起動直後に表示されてたWARNING(win版はスレッドまわりが壊れやすいけどそんなの対応してらんない!みたいなやつ)が表示されなくなって地味にうれしい
475デフォルトの名無しさん
2021/10/10(日) 10:54:30.08ID:Td68Zwht
スレッド周りはpthreadのエミュレーションを自前で実装してたのを、直接Win32のAPIを呼ぶようになった
コードが一気にシンプルになったし、その時にバグの修正も行ったのだろう
476デフォルトの名無しさん
2021/10/28(木) 23:14:45.49ID:61MCerNv
hhk限定モデル注文した
これでlisp書きまくるぞ
477デフォルトの名無しさん
2021/10/29(金) 10:04:04.19ID:Wx77+vYW
[ )* ]
このキートップを作って売ったら儲かる!
478デフォルトの名無しさん
2021/11/04(木) 15:30:13.66ID:Pg5ZjBDA
()と[]は入れ替えてる
スペースカデットの模造品とかないんだろうか
479デフォルトの名無しさん
2021/11/19(金) 06:28:29.94ID:xMhA1wC0
roswell環境で.roswell/local-projects/が認識されないんだけど原因分かる人いない?
480デフォルトの名無しさん
2021/11/28(日) 23:37:15.25ID:RhGEQvG/
roswell emacs
481デフォルトの名無しさん
2021/11/29(月) 20:25:25.48ID:egtLBMKE
roswellは複雑すぎて分からん
482デフォルトの名無しさん
2021/11/30(火) 11:59:55.55ID:mt2EOzfV
LISPマシン

@YouTube

483デフォルトの名無しさん
2021/12/01(水) 00:08:54.18ID:S5WVP6ck
quicklispとかroswellとか、全部一体化されたら使うわ
484デフォルトの名無しさん
2021/12/08(水) 02:22:37.34ID:7SPCPFJp
http://2chb.net/r/tech/1333015632/688
485デフォルトの名無しさん
2021/12/15(水) 14:51:19.13ID:gD/y5IR+
Lispworks 8でた!
486はちみつ餃子 ◆8X2XSCHEME
2021/12/15(水) 16:19:54.21ID:liRiJS5F
Chicken Scheme 5.3.0 が先月リリースされてたのに気づいてなかったわ。
487デフォルトの名無しさん
2021/12/18(土) 20:20:58.46ID:wxlLyg04
Lispworksのpro版購入してる人いますか?
488_
2021/12/27(月) 16:17:35.40ID:kKbRMARZ
Release of LispWorks 8.0
http://www.lispworks.com/news/news39.html

LispworksってSBCL みたいなSIMDサポートありますか?
489デフォルトの名無しさん
2021/12/27(月) 23:09:52.29ID:W+QyKxlb
週2日出社、週2日在宅の週4日勤務が最高の働き方だと提唱したい

週休3日制になったら給料を減らされる??そんな考えだからいつまで経っても貧乏なんだよ...

サラリーマンが副業でプライベートカンパニーを設立するメリット

Webマーケターに転職して、セミリタイアを実現させる方法

【朗報】「在宅勤務OK」の求人、コロナ前と比べて7 7倍に上昇!

【悲報】「会社員に戻りたい!」というフリーランス、全体の3%しかいないw

【悲報】副業が解禁されても、副業を見つけられずに困窮する会社員が続出...
日頃から副業をやっておくことの重要性を再認識しよう

【驚愕】5人に1人は本業よりも副業収入の方が多いことが判明w 本業よりも稼げる副業とはなんなのか??
490デフォルトの名無しさん
2021/12/27(月) 23:20:39.96ID:rFnrNjhz
家でゲームやってる方が100倍楽しい
491デフォルトの名無しさん
2021/12/28(火) 14:24:25.81ID:ikdMcku9
Gauche 0.9.11 リリース
492デフォルトの名無しさん
2021/12/29(水) 00:16:33.25ID:CixWfOUS
>>491
でも来年も1.0は出ないんでしょう?
493_
2022/01/04(火) 06:23:02.11ID:rzEME/gD
>>491
Gauche 0.9.11-p1 リリース
Windows での問題修正のみみたい。

>>492
1.0に向けての作業入られているようだけど
今年中に出るかは判らんなぁ
494デフォルトの名無しさん
2022/01/04(火) 09:25:24.58ID:0EKZRL01
>>492
http://2chb.net/r/tech/1426481152/471
495デフォルトの名無しさん
2022/01/04(火) 18:09:56.39ID:M2x34zFQ
>>494
それでも1.0はやっぱり大きな節目じゃないかな
それでなくてもマイナー言語を採用する
障壁は大きいのに、まだ安定版じゃ無い、
とか難易度が高い
496デフォルトの名無しさん
2022/01/05(水) 01:55:05.36ID:M/mCn8xE
1.0 で Stabilize と書いてはいるが、別に現状の動作が不安定で落ちたりするという意味じゃなくて
API の試行錯誤とかをやってたのを 1.0 では「とりあえずの」決定版にしようねという話であって、
後にもたまには大きな変更だってあるだろうし、そのへんの感覚は番号だけ見てもわからんのだよな。
むしろメジャーバージョンが変わった直後は不安定という通説もあるし。
メジャーバージョンがクソデカでも信用ならんものなんて腐るほど見てきただろう?

心理的な障壁というのはわかるんだけど、逆に言えば気分の問題でしかない。
検証した上でやっぱりアカンとなったならしょうがないんだけど、
バージョンナンバー「だけで」判断してるのならよい態度ではないよね。
497デフォルトの名無しさん
2022/01/05(水) 09:05:38.61ID:i4+082M6
1.0をだしたら、これまでできなかったあんあことやこんなことをやってみて、がんがん不安定化させるということだよね。もう飽きたからメンテナンスフェーズにはいるじゃないよね。
498デフォルトの名無しさん
2022/01/08(土) 17:42:20.32ID:p9TLuwuj
Gauche は作者自身が仕事で使うための道具でもあるから
万人向けではない方向にデザインされるということはあるかもしれんが、
(まあそもそも Scheme が万人向けではないが……)
常に作者によって使われているので大きく壊れることはたぶんあんまりない。
499デフォルトの名無しさん
2022/01/09(日) 03:10:06.49ID:Yh7kYLt+
forkすりゃいいじゃん
500デフォルトの名無しさん
2022/01/09(日) 09:17:46.18ID:/FcxVx4/
無理
501デフォルトの名無しさん
2022/01/09(日) 19:19:41.13ID:KdA6aSLx
gaucheはr7rs対応したときに2.0になっていてもよかったのではとおもう
502デフォルトの名無しさん
2022/01/10(月) 19:38:26.99ID:2hS04FMw
俺はscmは遊ぶ用だけどguileがいい感じ、イントロスペクションがつよいので掘って遊べる

まだまだあんどきゅめんてっどなelモード探索も楽しい
503デフォルトの名無しさん
2022/01/15(土) 20:48:11.65ID:lW+N/iWS
今度のMSXはCとLispとPythonが動くんだぞ
https://www.4gamer.net/games/999/G999905/20220113106/
504デフォルトの名無しさん
2022/01/16(日) 15:41:52.89ID:13k9JV8z
ことしのlisp的抱負をひとつ...
505デフォルトの名無しさん
2022/01/16(日) 17:06:35.43ID:qRjB4bc5
>>504
今一度!
3度目の挑戦ですが、sheme 手習いを読む、読み通す!!
506デフォルトの名無しさん
2022/01/16(日) 22:33:47.36ID:UU19DhdN
同じく
あと、リスト遊び読む
507デフォルトの名無しさん
2022/01/16(日) 22:57:05.20ID:hpGcG9O9
あくまで個人的感想だが、そういう風に勉強のために勉強するみたいなのは結局は上手くいかんのじゃないかと思う。
508デフォルトの名無しさん
2022/01/16(日) 23:41:32.77ID:UU19DhdN
じゃあ、GAFAを超えるものを作るために勉強する!
509デフォルトの名無しさん
2022/01/17(月) 05:54:03.53ID:F1CAOb16
>>507
仕事で使えば直ぐに覚えられるね
だがSchemeの仕事は無い
510デフォルトの名無しさん
2022/01/17(月) 10:07:54.20ID:jU2WrI4n
成果物として作るんでなくてもちょっとした前処理程度のことをするときに使えばいいよ。
使い捨てるものを何で作ろうが文句は言わせん。
プライベートで使うんでもいいしな。
511デフォルトの名無しさん
2022/01/17(月) 10:10:54.91ID:mRPHMZkx
ツール類は自分の慣れた言語で作ってしまうw
512デフォルトの名無しさん
2022/01/17(月) 10:32:49.23ID:jU2WrI4n
俺は Scheme が一番慣れた言語だから……

こういうのがニワトリタマゴってやつかね。
慣れるために使いたいのに慣れてないから使わないってのでは
何も進まんでないか。
513デフォルトの名無しさん
2022/01/17(月) 22:29:08.40ID:BbgRNbfx
scheme使いなら自作の処理系の1つや2つは持ってるよね
514デフォルトの名無しさん
2022/01/18(火) 01:32:42.02ID:Q53p7HFH
いいえ。
515デフォルトの名無しさん
2022/01/18(火) 23:30:17.32ID:Npm0ST7N
黒板とノートという万能処理系なら
516デフォルトの名無しさん
2022/01/19(水) 12:17:51.13ID:YBAvI2MD
なにか作ろうと思うと結局cffiでcライブラリを呼び出して使ってるので、糊みたいな使い方しかしてないなぁ
517デフォルトの名無しさん
2022/01/20(木) 02:19:42.06ID:3oKX7/s6
Ruby でも JavaScript でも Python でもだいたいそんなもんだろ。
518デフォルトの名無しさん
2022/01/20(木) 19:02:36.89ID:GKs3JF21
scheme修行読んだら処理系書けるかな?
ちょっと読んでちっともわからなくて挫折したけど
519デフォルトの名無しさん
2022/01/20(木) 21:08:50.31ID:Ibae9TV2
処理系作りたいなら下手な本より既存の処理系のソース読みまくるのが近道
520デフォルトの名無しさん
2022/01/22(土) 21:58:31.48ID:E9iIueP5
俺の気持ちを代弁してくれてたポエム
https://gist.github.com/phoe/7d24bdb1f2be76a02fecba8cfecbef38
521_
2022/01/24(月) 12:23:44.52ID:J5Esvhno
>>520
斉藤由貴バージョンの
夢の中へ
が脳内再生された。
522デフォルトの名無しさん
2022/01/24(月) 20:39:39.47ID:xI9wwXQn
ちゃんとエンドユーザー様までデプロイするのはめんどいのは確か

グラフィックス叩いたりするライブラリに依存するのはやむ無しだけど、純lispなライブラリはライセンスの許す限りスニペットに切り出して同梱してる
523デフォルトの名無しさん
2022/01/24(月) 21:07:29.09ID:e/3681Ma
継続が凄いって話は、かれこれ10年くらい聞いてたんだけど、結局は限定継続で十分だよね、
限定継続もあんまり応用ないね、って感じに落ち着いたのかな?
524デフォルトの名無しさん
2022/01/25(火) 11:38:40.17ID:GfuWsBWm
継続が凄いってなんだよ
継続ベースのlisp実装をschemeと言うのだから、そういう意味では凄い応用例だよ
525デフォルトの名無しさん
2022/01/25(火) 12:33:26.79ID:Do1EUgQ3
非限定継続ってjmcのambとかが該当するのか?
動作としてはバックトラックするだけだから特に継続概念が必須というわけではないけど、なんか楽しい
526デフォルトの名無しさん
2022/01/28(金) 01:56:11.96ID:hT9TavA0
形式定義できるのが継続の便利なところなんだよ。
バックトラックするだけとはいうが「バックトラックってなに?」というのを突き詰めていったときに「継続をこんなふうに受け渡してるでよ」と言えるの。
527デフォルトの名無しさん
2022/01/28(金) 23:35:03.31ID:i9eS2qVS
でも実際はambはただの愚直な探索だから遅いんじゃないの?
528デフォルトの名無しさん
2022/01/28(金) 23:54:45.12ID:hT9TavA0
原理的にはバックトラックと同じ速さ。
それが遅いというのならバックトラックでも遅い。
バックトラックより速い方法があってチューニングの手間をかけていいならそうすりゃいい。
529デフォルトの名無しさん
2022/02/09(水) 12:03:16.04ID:3KsDo8lO
>>522
久々にscm書いてみたんだけどsrfi1とMITとr6rsでfold, fold-left, reduce fold-right, reduce-right(とそのpair-版)が初期値の畳まれる位置や引数の左右スワップとか違ってて混乱した

とっくに誰かやってると思ったけど今後の為に:initial-valueと:from-endを取るcl式reduceを移植しました…
530はちみつ餃子 ◆8X2XSCHEME
2022/02/09(水) 12:14:56.74ID:9Cj+df9g
scm はキーワード型がないけどキーワード引数をどういう風に渡すの?
531デフォルトの名無しさん
2022/02/09(水) 12:36:09.65ID:3KsDo8lO
restに'symb突っ込んで泥臭く拾ってます
srfiにちゃんとした機構あった気がするけど、小道具レベルで依存はしたくないので
532はちみつ餃子 ◆8X2XSCHEME
2022/02/09(水) 23:48:43.20ID:9Cj+df9g
ところで scm を使うのはなにか理由があるの?
単なる好みならそれはそれでいいんだけど
このスレで言及される Scheme 処理系は Gauche, Racket, Chicken あたりが多いので
scm 使いは珍しいなーと思った。
533デフォルトの名無しさん
2022/02/10(木) 00:36:07.94ID:d8JzH9qO
guile使ってるけど#:で自己評価シンボルになるな
よく見かける:の方はデフォルトで有効じゃなくて、オプション切り替えだったり
534はちみつ餃子 ◆8X2XSCHEME
2022/02/10(木) 11:27:44.77ID:zyc1CtL/
Guile のキーワードはシンボルとは別の型。
(symbol? #:foo) は #f を返す。
535デフォルトの名無しさん
2022/02/10(木) 20:51:58.38ID:/6XFwXXi
CLの掟とか知らないから名前付き引数はマクロでシコシコやってた思い出
536デフォルトの名無しさん
2022/03/22(火) 22:52:38.10ID:VhTpyHaP
https://www.meti.go.jp/press/2021/03/20220322006/20220322006.html
537デフォルトの名無しさん
2022/03/22(火) 23:07:01.10ID:jC3GI8nJ
Lispエイリアンww
538デフォルトの名無しさん
2022/03/23(水) 05:57:57.32ID:M5tI2TdZ
ほんまや
539_
2022/04/03(日) 20:41:08.96ID:2/Br4qMY
LLVMベースの Common Lisp Clasp が1.0 になったよー
https://github.com/clasp-developers/clasp/releases/tag/1.0.0
540デフォルトの名無しさん
2022/04/04(月) 01:15:26.65ID:H1vYw7XQ
キタ━━━━(゚∀゚)━━━━!!
541デフォルトの名無しさん
2022/04/04(月) 15:23:18.85ID:lL1T2q6e
>>539
新興?処理系もまだ増えてるのね
良きことだ
542でーちゃんじゃないけど
2022/06/25(土) 21:10:35.30ID:AGenfzJY
github.com/Soldier-B/ns.js/blob/master/ns.js#L3
543デフォルトの名無しさん
2022/06/26(日) 13:26:40.20ID:DTfGvOZF
さとばん
544デフォルトの名無しさん
2022/11/07(月) 12:52:23.10ID:D9DaYQB4
svigiはなんて読めばいいの
545デフォルトの名無しさん
2022/11/07(月) 12:52:44.37ID:D9DaYQB4
木曽路的な
546はちみつ餃子 ◆8X2XSCHEME
2022/11/07(月) 13:59:37.65ID:QQJOk/Pv
>>544
アイスランド語で括弧の意味だというのはあのキャラの作者が発表している公式な情報だから
Wikipedia でアイスランド語の表記から調べてみた。
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%A4%E3%82%B9%E3%83%A9%E3%83%B3%E3%83%89%E8%AA%9E%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%99%E3%83%83%E3%83%88
たぶんこの場合の g は英語でいうところの y みたいな発音。
あえてカタカナで表すと「スヴィーイィ」みたいな感じ。

アイスランド語の辞書サイトで音を聞いてみた感じでも外してないと思う。
https://islenskordabok.arnastofnun.is/ord/40650
547デフォルトの名無しさん
2022/11/07(月) 16:54:40.26ID:D9DaYQB4
>>546
ありがとう
音素と発音記号は手堅いね
548デフォルトの名無しさん
2022/11/07(月) 20:41:51.67ID:kjCGP1Rc
>>546
ここでアイスランド語が言及されるとは驚きました、アイスランド語は実に濃ゆい言語ですね
教科書(Johns Hopkins) を買ったけれども、当然 1 ワードも読めませんでした
549デフォルトの名無しさん
2022/12/12(月) 12:44:02.44ID:asaSA4nl
「命の輝き君」がマンホールの蓋に  轢死体と見分けがつかなくなってしまう [725951203]
http://2chb.net/r/news/1670487647/
550デフォルトの名無しさん
2023/01/08(日) 12:42:17.07ID:hPHqQTwv
schemeはじめましたなんだけど
[lisp1.0+]label, [cl]labels = letrec + let name
[cl]flet ((f (args) fletbody)) body = let ((f (lambda (args) body)) letbody)
って理解でいいの?
551はちみつ餃子 ◆8X2XSCHEME
2023/01/08(日) 17:21:31.97ID:/n9SAwLy
おおよそ似た雰囲気では書けたりするのかもしれないけど
単純に対応してるわけじゃなかったりもするからいいかどうかは状況によるんじゃないの。
552デフォルトの名無しさん
2023/01/08(日) 18:49:11.56ID:5ojqztS1
まんまじゃね?
とりあえず(macroexpand 'sb-int:named-let)はそのまんまlabelsに展開されたのでお試しあれ
どの処理系でも似たような定義が大体あるはず

1958年のオリジナルlispのlabelは、scheme界隈ではlet1という名前で見掛ける
当然だけど、ローカル定義が一つなので(自明には)相互再帰はできない

触って気付いたけど
(flet ((cons (a d) (list :cons a d))) (cons :a :d))
; (:CONS :A :D) clisp, sbcl
; (:A . :D) ecl

eclのこれバグ?
553デフォルトの名無しさん
2023/01/09(月) 03:51:35.47ID:0CyucYY1
触ったことないのでeclがどの程度cltl/ANSI/clhs等の標準をリスペクトしてるのかも分からないのだが
とりあえずgoogle play storeからeclのandroidポートらしいeql5 replを入れてみた

(list ;; attempt to shadow cl:cons
(flet ((cons (x y) (cons y x)))
(cons 'co '?ns))
(let ((cons (lambda (x y) (cons y x))))
(funcall cons 'co 'ns)))

((CO . NS) (NS . CO))

fletは謎挙動だね…
* shadowしない名前(xcons)ならok
* (flet ((cons (x) (1+ x))) (cons 42))がアリティ不一致で怒られる
から推測するに、普通cl packageの関数なんて弄られないだろうと踏んで、関数の名前解決を手抜きして最適化してるんだろう

値の名前解決は特に弄る意義もないので、scheme風にlambdaをletで値として束縛して呼べば問題ない
clを名乗る以上はオプションで切れるくらいの配慮はあるだろうから、eclにこだわるならマニュアル読んでみては

少なくともclhsはリスペクトしてないね
...flet can locally shadow a global function name, ...
http://www.lispworks.com/documentation/HyperSpec/Body/s_flet_.htm
554デフォルトの名無しさん
2023/01/09(月) 16:15:24.76ID:2yNmR2Eh
    |  彡⌒ミ
   \ (´・ω・`)名前のシャドウ化辺りって自分で処理系実装した子はわかると思うけどハゲる要因だから絶対関わらない方がいいと思う
     (|   |)::::
      (γ /:::::::
       し \:::
555デフォルトの名無しさん
2023/01/09(月) 16:36:52.10ID:0CyucYY1
eclは有名だけど、embeddableの名前通りの用途で1MBちょいな処理系だから、そういうものと割り切って使うべき

funcallが冗長ならletのbodyにfuncallをconsするだけのmy-fletを作ればいいじゃない
(さらなる災禍を招きそう)
556デフォルトの名無しさん
2023/01/09(月) 16:57:44.09ID:0CyucYY1
eclのlocked packageなる概念やcompile-timeの意味論に関連しそうなissue
2 yeas agoだけど
https://gitlab.com/embeddable-common-lisp/ecl/-/issues/574
557デフォルトの名無しさん
2023/01/10(火) 02:33:32.35ID:/i8qCr3o
>>553
特定の名前の解決を決め打つ言語は多いし、そういうポリシーもありだと思う
普通でないのはcondition(warning)を挙げないところ

決め打つ名前(locked package?)が分かってる限りは、flet/labelsのレキシカル束縛リストから拾った名前がbody内の呼び出しformのcarに存在するか、ランタイムコストの無い自明な静的解析でconditionを挙げられるはず
558デフォルトの名無しさん
2023/01/10(火) 03:18:54.37ID:/i8qCr3o
>>550
等価と思って良いよ
伝統的なlisp(とcl)のように(let ((x '())) ...)を(let (x) ...)と略記できない、だとか細かい差異はあるけど

百聞は一見にしかずなので、構文の対応を見るのが手っ取り早い
あとeclのname collisionの件、consの例(>>553)はさすがにcontrived-exampleだと思うので、ついでにeclで破綻するように

letrec/nlet/labels で定義するラベルとして、所謂accumulatorイディオムにloop(他にはlp, iterとか)を使うのが慣例だけど、eclではcl:loopと読まれるのでは?と予想

;;; cl -- ok: cmucl, sbcl, clisp, gcl err:ecl (的中)
(defun fact (n)
(labels ((loop (k acc)
(if (= k 0)
acc
(loop (1- k) (* k acc)))))
(loop n 1)))

;;; scheme -- ok: guile
(define (fact n)
(letrec ((loop (lambda (k acc)
(if (= k 0)
acc
(loop (1- k) (* k acc))))))
(loop n 1)))

pcでテストはしたけど、スマホから手打ちなので変だったらごめん
559はちみつ餃子 ◆8X2XSCHEME
2023/01/10(火) 13:31:12.96ID:TxpPtfKm
>>557
スクリプト言語 (処理系) 的な想定だと実行開始時にテキストの解釈から毎回やるので
静的解析もランタイムの一部みたいな感じになる。
この場合に限って言えばどちらにせよ名前のルックアップはやるのだからそのときにわかるだろうとは思うけど
静的解析を頑張らないという方針はあり得るんじゃないの。
560はちみつ餃子 ◆8X2XSCHEME
2023/01/11(水) 00:38:29.47ID:s0T2WgwN
Gauche で検出されないエラーで (let ((0 1)) 0) みたいなのがあって、
実際にはオプティマイザが消去してしまうんだそうな。

文法の解析で通したものをオプティマイザがエラーとして弾くのも変な話だし、
オプティマイザが走査することがわかっているものを前段階でもチェックするのは二度手間だし、
オプティマイザを密結合してしまうのも保守しづらいし……
という葛藤があるのはわかる。

まあそれぞれに事情があるので原理的に可能だからといってそうすべきだとも言えない気がする。
561デフォルトの名無しさん
2023/01/11(水) 00:49:38.31ID:LBEzL6fs
0はシンボルじゃないから、文法解析を通しちゃ駄目だろw
562デフォルトの名無しさん
2023/01/11(水) 01:29:07.80ID:/IOcm4EW
そういう手では絶対書かないだろう変なコードも、マクロ書いてるとまれによく発生するから困る
563デフォルトの名無しさん
2023/01/11(水) 01:59:04.27ID:/IOcm4EW
カウンタ変数を捕捉更新しようとして、うっかり評価してしまったケースとか
564デフォルトの名無しさん
2023/01/11(水) 02:21:26.04ID:z40MB/0w
多分(let ((i (+ i 1))) i)が化けたのかな
565デフォルトの名無しさん
2023/01/11(水) 02:34:55.34ID:LWIYKuEk
letの時点でオプティマイザに通してんのかな
let系はlambdaまで落として((lambda(i) i) (+ i 1))とすれば間違えようがないと思うのだが
566デフォルトの名無しさん
2023/01/11(水) 02:44:32.93ID:/IOcm4EW
エスパー大会か?
(let ((i (+ i 1)))
(another-macro i))

another-macroは副作用目的で自明にiに展開したか、乗法的な関数を呼んだ(iの初期値0*n=0)
567デフォルトの名無しさん
2023/01/11(水) 03:33:43.09ID:4gRHy1NM
>>565
gancheは知らんけど、さすがにletはプリミティブな事が多いかと
むしろ最適化で読み飛ばすならlambdaまで還元してしまってはダメで、LETをヒューリスティックに認識する必要がある

仮に評価順を示す為にバッククォートでわざとらしく書くと
`(let ((,index ,(1+ stride))) ,(* index stride))
; (LET ((0 1)) 0)

(に等価な)展開とかがありがちかな
特に例に意味は無かったってオチだったりして
568デフォルトの名無しさん
2023/01/11(水) 03:56:23.35ID:/IOcm4EW
defmacro/macroexpand方式だと特にだけど、(let ((0 1)) 0)みたいな残骸から推論する技能はとても大事に思う
書く時もそうだけど、人が書いたモノの後始末なら前提知識が無いのでなおさら
これだけ想像を膨らませてくれる貴重な(let ((0 1)) 0)すら消し飛ばされるならもうお手上げ

なんて文句を言いつつ、schemeでもついslibのdefmacroに手が伸びてしまうのだが
569デフォルトの名無しさん
2023/01/11(水) 06:03:42.65ID:/IOcm4EW
>>565
論理的にどんなletが束縛リスト(とおそらくbodyも)を読み飛ばせるかについて補足
letフォームの評価値は最後のフォームの評価値(car (last 'let-form))のみで決まるけど、それが再束縛のできない自己評価オブジェクト(0, T/#t, :kw-symb etc)ならば、単にそれを返すだけで他を一切見る必要すら必要がない
(let dont-care/maybe-invalid self-evaluating)
→self-evaluating

もしそれ以上簡約してしまうと、(eq 'let (car 'let-form))と(car (last 'let-form))だけを見て決められない
570デフォルトの名無しさん
2023/01/11(水) 06:21:34.50ID:/IOcm4EW
一応値については正しいというだけで、もしbodyに(exit)や大域脱出が入ってても無視するのか?という問題はある

ill-formedな>>560すら無視するのだから、当然well-formedな(exit)も無視するのが自然だけど、実際のところはgaucheに訊いてください
571はちみつ餃子 ◆8X2XSCHEME
2023/01/11(水) 17:03:18.22ID:s0T2WgwN
>>570
念のために補足しておくけど >>560 のケースは捕捉されないエラー
(現時点では捕捉することを意図的に諦めているエラー) であって
Gauche の仕様として正しいというわけではないよ。 結果は未定義。

直接的に書いてしまった場合にしてもマクロ展開結果でこうなるにしても
あくまでも誤っているプログラムだからね。

言いたかったのは >>557 に対してで、原理的に出来てもやらない事情の例として
(私は ECL のことは全然知らないので) Gauche での例を出したってだけ。
572デフォルトの名無しさん
2023/01/11(水) 17:40:33.93ID:/IOcm4EW
>>571
どうも、俺のも原理的には…という同じ意図の話だよ

eclやgaucheが有名実装では最もアグレッシブな感じなのかな?
(declaim (optimize (speed 0) debug safety)
が外せない俺には怖くて触れないよ
573デフォルトの名無しさん
2023/01/11(水) 18:02:49.87ID:/IOcm4EW
なおeclのlocked package?の件、標準の宣言を全て付けても有効な模様…
574デフォルトの名無しさん
2023/01/11(水) 18:12:33.46ID:qLQaVlgq
notinlineも効かないし独自機構だな
575はちみつ餃子 ◆8X2XSCHEME
2023/01/14(土) 01:01:49.57ID:9ctkhBjT
>>572
> 有名実装では最もアグレッシブ

そんなことはないんじゃないかな。。
実行前の処理に時間をかけない (かけても総合的な性能向上にならない) という
判断でエラーチェックに消極的だけど最適化にも消極的だから。
576本田
2023/01/25(水) 23:58:21.43ID:PahnnjBC
UCB Scheme
https://people.eecs.berkeley.edu/~bh/61a-pages/Scheme/
UCB Scheme is a modified version of STk 4.0.1 by Erick Gallesio.
577デフォルトの名無しさん
2023/01/26(木) 19:06:40.12ID:lq03KzKz
USB Schemeじゃないのか
どっちかって言えばUSB Schemeが欲しいのだが
578デフォルトの名無しさん
2023/01/28(土) 14:07:46.81ID:BDgiT21v
nptcl
https://github.com/nptcl/npt
579本田
2023/01/29(日) 22:24:48.67ID:XMFhzyDs
アルゴリズム言語 Scheme 報告書 四訂版
H. Suzuki訳
https://groups.csail.mit.edu/mac/ftpdir/scm/r4rs-ja.texi
580はちみつ餃子 ◆8X2XSCHEME
2023/01/30(月) 00:59:07.34ID:kRDQpz8S
そのリンクがどうしたっていうんだ?
何か思うところがあるなら話題に挙げるのはかまわんが
ただリンクを置いて去るのはやめて欲しいな。

ニュース系のネタならお知らせの意味で貼ったのかなと思うところだが、
そういう感じでもないみたいだしな。
581デフォルトの名無しさん
2023/01/30(月) 19:13:37.70ID:prACFehy
そもそもダイナミックスコープの何がだめですか
Emacs lispはダイナミックスコープですが、
あちこちから呼ばれてる関数を、空関数で上書きして殺すとかできて便利です
Emacs lispの感覚でGIMPのスクリプト(scheme)を書こうとすると
なにか何でもかんでもラッパー渡し(いちいちcarをひとつ辿る)って感じです

ちなみにLispは普通の手続き型言語としてしか使ったことないです
そんな奴への説教とかあったら聞きたいです
マクロとか、「確かにif文を関数として実装するのは無理かもしれないし、
そういう時に使うのかな」くらいにしか解ってないです
582デフォルトの名無しさん
2023/01/30(月) 19:45:34.45ID:w7gs7hNq
>>581
全然ダメじゃないよ。でも誰か(昨日のオレ)が余計なことをやって不審な挙動をしてるけど原因がさっぱり分からないというのは起こりやすいかもしれない。
583デフォルトの名無しさん
2023/01/31(火) 01:40:41.84ID:t9l1A9G+
Lispではたまたまうまく動いてるように見えるけど変数宣言の無い言語でダイナミックスコープやると死ぬ
584はちみつ餃子 ◆8X2XSCHEME
2023/01/31(火) 10:19:46.67ID:XA5Y5Qfu
>>581
元のプログラムを書き換えずに影響を差し込むことが出来るってのはアプリケーション拡張用として便利だけれど
元のプログラムが想定してない滅茶苦茶なことも出来ちゃうということと最適化が困難になるのが深刻な問題だと思う。

ユーザーが変な使い方をして変なことを起こす分には自業自得といえるにしても
今ではパッケージをネット上からダウンロードしてインストールまで自動だから
悪意あるコードが他のパッケージを好きなように変更できるようだと影響範囲が大きい。
たとえばウェブブラウザのアドオンなんかだど各アドオンは通信によって協調は出来るが
環境は共有しないようにすることで影響力を制限している。

参照しているものがことごとくいつでも変更される可能性があると
インライン化や畳み込みといったごく基本的な (しかし効果が高い) 最適化すらできない。
現代的な言語処理系に対して数十倍単位で遅いのはさすがに困る。

ものごとの良し悪しにはトレードオフがある。
どちらの問題もコードが小規模ならどうということはないので利点のほうが上回っていたのかもしれないが、
時代を経て巨大になりすぎた。 疎結合を意識した構成にしないと手に負えない。
585デフォルトの名無しさん
2023/01/31(火) 10:34:59.12ID:tSjB9eWW
グローバル&ダイナミックは罠になり得るけど、対話的に使うコマンド言語(シェル)は大体そうだし利便性の問題、新しいpwshでももそう
定義をテキストとして全てダンプして、読み戻せる利点がある

cl/scheme(fluid-letとかそんな名前の拡張)のように基本レキシカルで、ローカル&ダイナミックは宣言が必要なら意図せず使う事は稀なはず
(form-in-scope? (declare (special x)) form-in-scope)
(locally (declare (special x)) (form-in-scope))
面倒だけど(declare…)が外、つまり同じレベルのフォームに影響する場合があるのが気持ち悪いから、明示的な後者を好む
586デフォルトの名無しさん
2023/01/31(火) 10:56:14.75ID:tSjB9eWW
レキシカルな情報を取り込んでしまう(暗黙にクロージャを作る)クロージャにはテキスト表現が無いから、ダンプが出来ないのは致命的な欠点
よってダイナミックスコープ一択になる
pwshだと gci function:
bashだとdeclare -f (多分、よく知らん)
でダンプ、出力されるテキストを読み直せば(大体)環境が復元できる

pwsh方式だと{code}.GetNewClosure()でクロージャは明示的に得る
587デフォルトの名無しさん
2023/01/31(火) 11:08:10.67ID:tSjB9eWW
>>581
guileだっけ?
あれ変な拡張山盛りだから出来るんじゃない?fluid-letみたいな名前がないかaproposしてみたら
588はちみつ餃子 ◆8X2XSCHEME
2023/01/31(火) 11:28:43.20ID:XA5Y5Qfu
>>587
GIMP の Scheme (Script-fu) は TinyScheme が使われている。 (昔は SIOD だった。)
まあ fluid-let くらいなら自分で書いてもたいした手間じゃないけどね。
589デフォルトの名無しさん
2023/01/31(火) 11:31:05.15ID:cAwVb56Q
#<closure ...>が嫌ならいにしえのfunargを使えばok
別にレキシカル環境をリストで持ったって構わないわけで、印字表現が不透明なlispはインクリメンタルコンパイルやリストより効率の良いデータ構造を選んだ結果

厳密にはダイナミックスコープでないけれど、コード注入なら'ラムダ式を渡して廻っても同等の自由が得られる(call by name)

既存のコードの方でも準備が必要だけど
590デフォルトの名無しさん
2023/01/31(火) 11:33:22.79ID:tSjB9eWW
>>588
ええ…gnu公式の拡張言語とは一体なんだったのか
591はちみつ餃子 ◆8X2XSCHEME
2023/01/31(火) 12:23:06.03ID:XA5Y5Qfu
>>590
アプリケーションに特有の機能はアプリケーション側で用意されたものを呼出して使うわけだし
言語側のライブラリはほどほどで足りるんで小さい処理系のほうが面倒がないというのはあるかも。
Guile はビルドするだけで面倒くさいが TinyScheme はファイル数個の簡単構成だし。
592デフォルトの名無しさん
2023/01/31(火) 12:38:01.83ID:mFP57axK
ローカルにダイナミックな束縛をやるなら、それ専用のprogvフォーム(clにある)はどう思われてるんだろ?
(progv 変数リスト
値リスト
body)

let系列の (変数 値)リスト慣習を転置(zip)した記法だけど、束縛が多くても縦にスペースを取らない
let慣習では変数 値はsetq/set!だけど、progvの変数リストは評価されるから、リード時にバッククオートでシンボルを埋め込むようなハックが不要
動的束縛を活用するようなメタな場面では特にだけど、埋め込む為だけにわざわざリーダを何度も通すのが歯痒い

多分に個人的な好みだと思うけど
593デフォルトの名無しさん
2023/01/31(火) 13:07:01.68ID:tSjB9eWW
>>592
転置されてるのと束縛リストの実行時評価は、おそらくlet風のマクロを書く時に便利だからかな
mapcar #'list let-like-binding-list
がprogvに渡せて、あと欠損値も勝手にnilで埋まる

あと機械的に名前を処理するならgensymもお忘れなく
594デフォルトの名無しさん
2023/01/31(火) 13:18:26.31ID:tSjB9eWW
例が悪かった
単にlistをmapcarするだけでは、let形式のリストをそのまま渡した方が早い
不定数の引数を取ってリストを返す関数で、自明なlist以外をmapcarするならかなり楽が出来るはず

しかし何に便利か今すぐ具体的な例は思い付かない()
595デフォルトの名無しさん
2023/01/31(火) 14:00:30.21ID:tSjB9eWW
>>591
俺環ではインストール(展開後)で50MBのディスク容量占めてるな
実験的なelisp対応(編集機能無しで一体何の意味が?)とか
興味深いけど謎な方向に突き進んでるね
596デフォルトの名無しさん
2023/01/31(火) 14:46:13.56ID:CmTey6Bh
GNUは昔から他人の成果物の丸パクリしか脳が無い団体だよ
597デフォルトの名無しさん
2023/01/31(火) 15:18:25.22ID:AYYg8Thv
emacsの膨大なテキスト処理関数群に依存していない純ロジックのみのelispコードなら資産になる
そんなの指折り数える量だろう
598デフォルトの名無しさん
2023/01/31(火) 15:38:47.41ID:sZCc+g+m
ライセンス問題でどうしてもコードを触りたくないなら別だけど
何らかのlisp書きであれば、コピペしてその方言に適合するよう手直しする程度は自明な作業でしょう
599はちみつ餃子 ◆8X2XSCHEME
2023/02/01(水) 01:45:17.62ID:ySbq2UIa
>>598
ダイナミックスコープとレキシカルスコープでは埋めがたい差があるし、モジュールやフェイズの方針なども大きな差だ。
伝統的に方言と称してはいるが個々に定義された別の言語なのでそんなに簡単に修正は出来ないよ。
私自身はそこそこ Scheme には習熟している自信があるが Common Lisp も Clojure も全然わからん。

C と JavaScript の外観はなんとなく似せてあるが静的型と動的型の違いという根本的な部分で違うからそう簡単に移植はできないのと同じような感じ。
600デフォルトの名無しさん
2023/02/01(水) 06:05:03.14ID:BjxytPYm
いっそ Emacs そのまま組み込んじゃうとかそんな方向に進まないかな…
近頃の環境ならそんなに重くないはずだし。
601デフォルトの名無しさん
2023/02/01(水) 14:47:30.69ID:MmorO90J
>>600
やってできなくはないのかもしれないよ
昔、zlibがまだなかった時代にDOSでzオプションの利くtarを使いたくて、
仕方なくtarとgzipをまとめて一つのバイナリにリンクしてしまって、
スタートアップでヒープを半分に割って、スタックをそれぞれに割り振って、
あとはバッファが一杯になるたびにtar側とgzip側をsetjmpとlongjmpで行ったり来たり、
解凍は問題ないんだけど圧縮がどうしても同じ結果にならなくて、発表せず一人で使ってた
602デフォルトの名無しさん
2023/02/11(土) 19:10:46.38ID:iYjc3QSL
オレオレSchemeでMineSweeper
ソースがSchemeで書かれている
http://ujip.ninja-web.net/schemeonjs/minesweeper.html
603デフォルトの名無しさん
2023/02/11(土) 20:04:34.26ID:6efBUOB/
だからなんやねん
つか何年前から来たの?ってレベルの話だろ
604デフォルトの名無しさん
2023/02/15(水) 12:56:30.42ID:Iq74I464
目くじら立てることかよ
605デフォルトの名無しさん
2023/03/05(日) 13:42:32.16ID:nmaj3sub
オンラインでuLisp動かしてみようかとTinkerCADのArduonoUnoにソースコード流し込んでみたけどさすがに5000行は許してもらえないみたいだな。
606デフォルトの名無しさん
2023/04/24(月) 08:39:19.08ID:AD1D3xO/
最適化されたCLは最適化されていないCよりは速い
昔Common LispでCより速いHTTPパーサを書いたとか言ってたのを見かけた
コードを見るとnodejsのCで書かれたHTTPパーサをパクったみたいな感じなのに
比較対象はなぜかどっかの個人がCで書いたHTTPパーサだった
その個人が晒してたソースのMakefileはデフォルトでは最適化なし
なぜ比較する前にCの方を最適化することを思いつかなかったのだろうか
というかなんでnodjsの方と比較しなかったんだ?
誰か理由わかります?
607デフォルトの名無しさん
2023/04/24(月) 08:46:06.25ID:Z0B9bFh/
なぞなぞかな
608デフォルトの名無しさん
2023/04/25(火) 20:39:53.26ID:wy/j7fQc
おじいちゃんそろそろマクロを飲む時間ですよ
609デフォルトの名無しさん
2023/05/24(水) 21:31:48.49ID:w5+jyJkb
氏のイキリ芸でしょ
610デフォルトの名無しさん
2023/06/20(火) 13:38:32.61ID:Dvlv0UV+
scheme処理系作ったりSICPで悟り開いたりしたけど今の使い方は実質電卓
スペース区切りの値そのまま貼り付けられて便利なんよなー
611デフォルトの名無しさん
2023/08/18(金) 02:03:46.68ID:dtVdNVwB
John Cowan 氏が R7RS-large の議長の座を降りることを表明した模様。
これからの体制については現時点は決まっていない。
612デフォルトの名無しさん
2023/08/19(土) 10:24:26.69ID:L0GsKMkM
実質機能しない規格なんて不要
主要処理系の実態調査して
ANSI Common Schemeを策定すべき
613デフォルトの名無しさん
2023/08/19(土) 20:44:33.82ID:2cGgFupU
実用的で無い言語にANSI規格とか要らないだろ

それより、Type Script 普通に良い言語だぞ、
あれ実質的に型付きのlispだわ
614デフォルトの名無しさん
2023/08/20(日) 18:08:19.00ID:Jez4Fpf5
「Type Scriptはlisp」発言頂きましたー
615デフォルトの名無しさん
2023/08/20(日) 18:21:02.18ID:P3ytobrG
JavaScriptがそもそもschemeだし。
616デフォルトの名無しさん
2023/08/20(日) 21:24:26.60ID:CVtYBdI9
>>615
設計者の「そうしたかった」という発言が拡大解釈されたもので、
インタビューをちゃんと読むと「そうできなかった」ということも言ってる。
617デフォルトの名無しさん
2023/08/28(月) 22:32:35.76ID:ZDIe4Rjo
How to Design Programs, Second Edition
https://htdp.org/2023-8-14/Book/index.html

新版出てた
618デフォルトの名無しさん
2023/09/03(日) 20:41:45.72ID:ApaaLf4l
Chez Scheme の 9.6.2 が五日前にリリースされていた。
619はちみつ餃子 ◆8X2XSCHEME
2023/10/04(水) 15:56:06.86ID:DlO9V8Bc
Gauche 0.9.13 のリリース候補が出た。
問題ありそうな部分や要望があるなら今のうちに出しとくといいよ。

https://sourceforge.net/p/gauche/mailman/message/41039777/
620デフォルトの名無しさん
2023/10/06(金) 07:52:06.47ID:Gz/JU6Xd
Gauche1.0.0 !! 早く来てくれーーー!!!
621デフォルトの名無しさん
2023/10/06(金) 23:46:32.54ID:WmRjQTiM
Gaucheの目的が何なのか知らんけど
それが達成されるまで1.0にならんのだろうな
622はちみつ餃子 ◆8X2XSCHEME
2023/10/07(土) 09:12:48.49ID:xYnVrult
Gauche のバージョンナンバーの予定はここにかいてある。
http://practical-scheme.net/gauche/devinfo-j.html
具体的な基準ではないので(ユーザーの意見を聞きつつ)開発者が納得する完成度になればメジャーバージョンもあがるってことだろ。
623デフォルトの名無しさん
2023/10/07(土) 15:21:49.73ID:GRsLaML4
「Gauche 1.0」って文字列の違和感がすごい
624デフォルトの名無しさん
2023/10/07(土) 23:47:40.08ID:c4CFtcBt
要望ね。schemeは処理系としては構造が簡単だから適当に作ってもそこそこ良い具合に出来上がるだろうが、
問題はその後で、処理系の方向性を決める必要がある。処理系作るってことは目標が既に設定されている場合もあるが、
他人に使って欲しいのであるなら例えばpythonライブラリ流用できるとか.NETでGUIアプリ簡単に作れますとかwebだとか生成AIで何かいけるとかそんなのだね
俺がGaucheの名前を知りながら長年ほぼ触ったことないのはその辺りが原因だよ
625はちみつ餃子 ◆8X2XSCHEME
2023/10/08(日) 01:14:49.29ID:tCGlxsdd
Gauche の目標設定はトップに書かれている。
http://practical-scheme.net/gauche/index-j.html
要するにスクリプト言語として常識的に必用とされる機能を盛り込んで日常業務に使える Scheme 処理系を目指すってことだ。
英語の「日常会話程度」が専門的な会話より難易度が高いなどといわれることもあるように「普通に使える」ってのは何か特徴的な売り文句があるより大変だったりもする。

Gauche は作者自身が業務で使ってるわけだから特化するより万能寄りのデザインなんだろう。

個人的には日本語テキストを不自由なく扱えるのがありがたいね。開発が始まったきっかけも stk で日本語を扱えなかったかららしいし、そこらへんは力が入ってると思う。
626デフォルトの名無しさん
2023/10/08(日) 12:59:35.92ID:SlOLtELZ
schemeを好きで使ってるやつって俺含めて既に自分の処理系は持ってると思うのだが、
自分の欲しい機能を満たせばそれ以上求めないし、その成果を踏み台に次のステップへ階段を上がるだろう
階段を上った末、他人に使わせる場面に出くわす事は良くある事で、その時それはschemeではなくなってた方が良いかもしれない
新人「えーなにこの括弧だらけ…今のトレンド?か、かっこいいですねワラワラワラ(辞めよ…)」
業務で使ったら他人を辞めさせる能力については万能になれるか
627はちみつ餃子 ◆8X2XSCHEME
2023/10/13(金) 02:28:23.22ID:ZG3aaQwo
Gauche 0.9.13 がリリースされたやで
628デフォルトの名無しさん
2023/10/13(金) 12:37:28.90ID:p9b8Kc4m
次のリリースはついに1.0だと>Gauche
お祝いしなきゃ
629はちみつ餃子 ◆8X2XSCHEME
2023/10/13(金) 15:24:17.01ID:ZG3aaQwo
expecting ってのがどのくらいの確信なのか感覚的にわからないのだけど
一応の既定路線くらいには考えていいんかな?
630デフォルトの名無しさん
2023/10/13(金) 19:25:12.51ID:79LHTXDX
しらんがな
どうせ本人もここ見てるだろうが質問あるなら直接本人に聞けよ
答え難いだろうが
631はちみつ餃子 ◆8X2XSCHEME
2024/01/25(木) 17:23:17.38ID:d9W0b5Ok
諸事情で Gauche 0.9.14 が出ることになってリリース候補が来たよ。
https://sourceforge.net/p/gauche/mailman/message/58728292/
632はちみつ餃子 ◆8X2XSCHEME
2024/02/07(水) 15:30:34.72ID:kuiQPbhX
Chez Scheme 10.0.0 リリースきた
https://github.com/cisco/ChezScheme/releases/tag/v10.0.0

サポートするアーキテクチャが増えたってのと、
そこにポータブルな仮想マシンも追加されたというのが
かなり大きい変更点らしい。
633デフォルトの名無しさん
2024/02/12(月) 11:47:40.17ID:QDPVm8Ph
GuileとGaucheって、VMインタープリタ、Cプログラムとの連携・拡張、オブジェクト指向あり、もともとR5RS。
フリーソフトウエアやライセンスという点以外は、言語・実装の方向性としては似ているように思いました。
Gaucheが、BSDライセンス版Guileのような感じがしたのですが、みなさんどう思いますか?
634デフォルトの名無しさん
2024/02/12(月) 21:51:49.83ID:nqAntR6Y
ガイル?
635デフォルトの名無しさん
2024/02/14(水) 00:54:24.29ID:4sDroV5Y
>>634
まじか?>>1のスレにAAあるから見てこいよ
636デフォルトの名無しさん
2024/02/14(水) 01:07:02.25ID:Im++FRGi
ガイルがいる
637はちみつ餃子 ◆8X2XSCHEME
2024/02/15(木) 01:35:34.01ID:x2y7hFPc
Sagittarius 0.9.11 も来たよ~~~。
https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Release%20Note%200.9.11

Sagittarius は暗号通信系に強いね。
作者はオランダの銀行システムに関与する技術者だそうなのでその経験が活かされてるんだろう。
638デフォルトの名無しさん
2024/04/08(月) 00:42:38.05ID:skM/lEty
【検証】40時間Lispを勉強したら信者になれる?【Lisp1】

@YouTube


Lispの勉強をしたら『葬送のフリーレン』と同じカタルシスが待っていた。【Lisp2】

@YouTube

639デフォルトの名無しさん
2024/04/08(月) 00:43:02.37ID:skM/lEty
面白かったのでw
640デフォルトの名無しさん
2024/04/08(月) 02:59:37.49ID:7blvdNRP
神の言語からschemeを経て生まれたjavascriptは人間にとってはちょうどいいバランスだったわけだな
641デフォルトの名無しさん
2024/04/08(月) 19:16:08.79ID:85I3gne8
>>638
めっちゃ面白かったw
642デフォルトの名無しさん
2024/04/11(木) 10:36:33.17ID:8Rm0X/WO
それの前にポールグレアムいじり回が3回あって
それで「Lispがそんなにすごいなら」ってことで40時間勉強したというわけだねw
643デフォルトの名無しさん
2024/04/11(木) 23:22:35.79ID:0Tmkq/lZ
ポールグレって本職の人じゃなかったんだな
すごい熱量な感じなのに
644デフォルトの名無しさん
2024/04/12(金) 00:31:32.72ID:H7gFN+op
MIT卒でLispで儲けたあと、ベンチャーキャピタルになった元本職かな
645デフォルトの名無しさん
2024/04/12(金) 11:49:20.24ID:nR+PqPBt
エッセイストだと思うけどマとしては通販サイトとか作ってたんだっけ
ただ小さな関数やマクロutilが集まったonlisp.lispは準標準関数的な感じで愛用してます
646デフォルトの名無しさん
2024/04/12(金) 12:38:02.80ID:wZ+y5Ko5
そもそもハッカーであるかにガンガンプロダクト作る的な意味での本職マか否かは関係ないと思うのです
cl&schemeの根幹や文書化のみならずC, Java, Fortran委員まで勤めた皆のSteele先生だって何作ったか寡聞にして知らんくらいだし
最近ではC,AWK,Goのバイブル+作法本で鳴らしたKernighan御大も隠居してエッセイストやってる

言語本+エッセイで良い書き物できるのがハッカーの十分条件だと思うね、pgrahamも余裕で該当
647デフォルトの名無しさん
2024/04/12(金) 12:45:09.54ID:wZ+y5Ko5
K御大にはUnixという特大のプロダクトが
648デフォルトの名無しさん
2024/04/12(金) 13:27:33.28ID:vAI6Kzu4
プリンストンで教授やってるみたい
649デフォルトの名無しさん
2024/04/12(金) 14:17:26.15ID:XxWOnWTK
おれはlispはスゴイ神の言語とかくっさいワナビ主張は大嫌いだけど、lispはハッカー言語という主張には賛同したい

名だたるスーパーハッカーの共通部分を探してみると、それはシンタックス/セマンティクスに対する深い理解、すなわち言語デザイン能力なんだよな
まあlispの専売特許でなくML系やHaskellもそうだけど、つまりDSLの書きやすさね
別に言語内完結に拘らずともlex/yaccでも処理系手書きでもいいが、言語内で完結したいなら好ましい

挙げられてるPaul GrahamやG.L.Steeleのような簡潔で一貫性のある手続きインターフェイスや構文の設計(言語デザインのみならず、むしろ日常の構造化プログラミングにより通ずる)には、それを自然言語に起こしながら深く考え推敲する経験が必須だろう

これがハッカーの必要条件だと思う(>>646の十分条件に対して)
650デフォルトの名無しさん
2024/04/12(金) 15:01:50.67ID:wZ+y5Ko5
>>648
もう80才超えてるし、教鞭執れてるかは怪しいね…
最近プログラム書いてねえなあ、とかウェブで言ってたし
代わりに最近のエッセイ本はマ/CSというより一般人向けっぽいので食指動かず
Understanding the Digital WorldシリーズとかDefending Yourself in a World of Too Many Numbersとかそんな題の書いてる

ソフトウェア作法、プログラミング書法、プログラミング作法の現場で戦うプログラマーの為の三部作は素晴らしい、言語に縛られない(あえて題材は様々な言語)し、lispにも通ずる普遍的な知恵袋だよ

スレチなのでそろそろこの辺で
651デフォルトの名無しさん
2024/04/12(金) 15:05:17.85ID:dUdcEEpo
>>646
Steele先生はlisperの毛嫌いするC系言語/Algolishな言語も無数にデザインしているという皮肉!
652645
2024/04/12(金) 15:53:49.12ID:OhyEPSVL
lispの話をしよう
onlisp.lispのようなオレオレutil(s).lisp/scmから引用し過ぎるのはあまり宜しくない?
macroはコンパイル順の関係で引く方が問題起きにくいけど

名前がdescriptiveなのは前提として
too generalであれば初見の人に読みにくいのではと思うこの頃
一方でspecificであるかぎり、手続きを分かつ働きすら無い関数抽象も読み易い:
carにget-operator、cdrにget-operandsなど単なるリネームでも重用する
これらはpackage内にレキシカルな意味で近傍に置くべきよね?(使い捨てならflet/labels、共用ならdefun)

より一般的な小物をコーディングを楽にする為だけに引くならば、lisp書きなら定義も大体覚えてるだろう有名な小物util集(alexandria、sfri)に依存した同梱するのも(ライセンスが許しても)憚られる…

このスレやSO等見ても必読書なOn Lispは知名度あるだろうから、onlisp.lisp由来のものは初見で読めてコンパクトでバランス取れた妥協点だと思って使ってるんだけど
(ライセンスや再帰志向で性能難アリなので、手習いがてら書き直したクローン版、念の為)

なおonlisp.lispは手続き名がいにしえのlispかよってくらいヤバいのが欠点
653デフォルトの名無しさん
2024/04/12(金) 23:54:00.88ID:/A9qFmr2
文章下手糞すぎて読む気も起きない
これって神の言語に慣れすぎて言語障害になった例かよってくらいヤバいのが>>652の欠点
654デフォルトの名無しさん
2024/04/13(土) 18:14:03.11ID:JilIuOKd
ストールマンがガンになったらしい
長髪も髭も落としてしまって別人みたいになってる
655デフォルトの名無しさん
2024/04/13(土) 18:24:37.81ID:OrtqC7Lq
効いてる効いてる
656デフォルトの名無しさん
2024/04/13(土) 19:21:54.91ID:JilIuOKd
何が?
657デフォルトの名無しさん
2024/04/13(土) 22:51:10.37ID:Vi4F3OXr
昔MSの偉い人がGNUはガンだとか言ってたな
ついに自覚させたか
658デフォルトの名無しさん
2024/04/13(土) 23:32:28.78ID:c7UXCLXT
>>655
お前は脳にガンを抱えてるなw
659デフォルトの名無しさん
2024/04/14(日) 12:56:54.81ID:JRHy27WB
ゆる学徒ハウス別館
現役Lisperが語る! Lispはオーパーツで人類には早すぎた【電脳史学】

@YouTube

660デフォルトの名無しさん
2024/04/14(日) 13:37:09.89ID:JRHy27WB
ゆるコンピュータ科学ラジオ
大人の勉強は「夢の中」が主戦場。寝ながらマクロを書くといい【Lisp雑談】

@YouTube

661デフォルトの名無しさん
2024/04/14(日) 14:04:02.38ID:JRHy27WB
コーシー噴いたw
662デフォルトの名無しさん
2024/04/14(日) 15:00:30.77ID:XsKNoxHh
>>660は娯楽コンテンツとしては面白い

でもLispは良いとして集合論を勉強しようとしてるのにはやれやれだな
Haskellで圏論とかAIで代数幾何に夢見たりするのと似てる
結局広く浅くでウンチク欲を満たすに留めて、実践から逃げたいのだろうな
実践は壁だらけだから
663デフォルトの名無しさん
2024/04/14(日) 17:27:06.49ID:ezgj98lZ
Lispとは別に2人で集合論やって
Lispは一冊何か挟んでからPAIP読んでほしい
番組のネタ的に
664デフォルトの名無しさん
2024/04/14(日) 21:34:02.26ID:p4Nf2jzu
その人らはLispに大した拘りはないし
今更検索でまともに引っかからない古代のPAIPなんてやる意味を見出せないだろ
AI関連ならTranslatorからChatGPTブレイクに至るまででも話題にしたらいい
665デフォルトの名無しさん
2024/04/14(日) 21:56:43.27ID:JRHy27WB
そうかなあ、論理プログラミングとか自然言語解析とか右側の人大興奮じゃないの
666デフォルトの名無しさん
2024/04/15(月) 01:53:38.60ID:YG3lrvG/
>>649
MLやregexエンジン積んでパターンマッチ機構を言語ビルトインにしても特にアドバンテージなんて無いと思うけどな
50行のコードでcl-ppcre(perl相当)とも機能面では十分戦えるわけで

or/and,named-capture/backref、lookahead/behind-assertion、predication、filter、context-sensitiveなreplace等ね
超古典な"LISP" Winston, Paul Horn, 2nd edのchap.17に載ってるやつ
本を薄くするために徹底的に再帰で書かれてるからまあ性能は察せ()
再帰で分かりやすいコードだから叩き台にもオススメ
667デフォルトの名無しさん
2024/04/15(月) 02:00:08.14ID:YG3lrvG/
あれはsymbolic pattern matchなのでregexと比べるのは良い例出なかったごめん
まあexplodeしてしまえばもうキャラクタベースだ
確かGrahamの>>652にあるシンボルをバラすやつ、まあ3行くらいで書ける小品だけど

explodeってネーミングがクールで覚えてたわ
668デフォルトの名無しさん
2024/04/15(月) 02:27:22.10ID:wPU2Kemh
>>665
そうそう、PCと自分のスキルで実践出来る分野なのに(最低限の真似事すら)やってないのがお察しか
右の人が予めPC音痴だと予防線張ってるのは自走力低めだと自己分析出来てるのかも

まぁ実践(この場合はプログラミング)で玉砕しちゃったら、しょんぼりするか歯切れ悪くて
面白くなくなるタイプだからチャンネル的には今のままで良いのかも

左の人は画面キャプチャしながらライブコーディングするスタイルを何処かで見せないと説得力に乏しい

左右どちらも含蓄なく浅はかに見えてしまうので、その道の専門家をお呼びするスタイルにして欲しい
C#のufcpp的な人が(声とコード画面だけでも)出演したら(最低限の真似事なら)実践する人が増えると思う
669デフォルトの名無しさん
2024/04/15(月) 02:48:11.62ID:YG3lrvG/
>>665,668
うむ、若かりし頃はマルコフやProlog/SQLモドキとかやってた、なるべく決定論的なのが個人的な好み
トレースを分析しても理解の困難なモノは、決して知的探究心を満たしてはくれないのだ

流行りの文章生成もマルコフならトレーサビリティは完全なのが良い
670デフォルトの名無しさん
2024/04/15(月) 03:14:20.11ID:YG3lrvG/
古いAIのバイブルPAIPすら恥ずかしながら未読の身ですが…
lispもデータドリブンなNN系はむしろ苦手とは思わない

NN系がマスメディアでもバズり出した頃にウィキペディア見たら、Pythonのサンプルコードが載ってたので
そのままCPython/Numpyとclで書いてみたら、ベンチはsbclぶっちぎりだったよ
もちろん個々の処理がバックのcライブラリより速いなんて言わない
同レベルのコーダが同ロジックで翻訳すればの話

その差はclの無駄に細かいarray/vectorコンストラクタ引数の設計
具体的にはR/W抑えるビュー相当の:displaced-*と:fill-pointer、配列の動的リサイズ指定の:adjustable引数ね
Numpyのndarrayはこの辺が裏で自動でやるのでコーダの裁量がない

まあNumpyでプラグマ/フラグ駆使してその辺のお節介挙動を切れば普通に負けるかも
あくまで並コーダが素直に書く限りの話
671デフォルトの名無しさん
2024/04/15(月) 03:45:37.49ID:KXqIDgH/
Cバックエンドで配列のviewをサポートしてるなら究極的には言語/処理系ではアルゴリズム瑕疵が無い限り有意な差はないよ
ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い

ただしNumpyは書き方に細心の注意をしないとユーザの預かり知らぬ所で勝手にディープコピーする大きな罠も
そうした不透明性が嫌い

明示できるCLのFortran実装を待ち望む
672デフォルトの名無しさん
2024/04/15(月) 03:58:24.79ID:TPgVCyAO
>>671
clの明示性といえば、:rehash-size :rehash-threshold等で個々のハッシュテーブルまでチューンできるのがいいね
配列なんかよりハッシュテーブルの方がリハッシュコストが遥かに高い

動的言語のリハッシュは知る限り全部処理系任せか、サポートしていてもインタプリタのコマンドラインオプションで一律にしか変えられない
673デフォルトの名無しさん
2024/04/15(月) 06:50:07.08ID:DfbFoW6K
>>671
>ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
>gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い

この部分、Fortranで配列多用したらCより数倍速い的な意見なのかな?
1ミリも分からんので、詳細求む
674デフォルトの名無しさん
2024/04/15(月) 11:04:34.92ID:SeS0dYr5
>>671
言語/処理系で有意な差はないと言ってるのに、Cより数倍も速いって、矛盾してるぞw
675デフォルトの名無しさん
2024/04/15(月) 11:32:59.07ID:dChAXctC
>>674
何の根拠も無く「数倍は速い」なんて言い出さないから
>>673に対する>>671の回答には期待しているw
676デフォルトの名無しさん
2024/04/15(月) 11:39:03.37ID:L/ePcET8
中間言語が同じならコーディングの瑕疵は人間工学的な問題
Cは宣言が貧弱でin/out、純粋関数、エイリアスの有無は推論頼りだから失敗すれば死ぬ
ただ最近はrestrict宣言付けて回るなら重なるか推論不能な配列のエイリアス有無も指定可、難解だけど
一方で参照渡しのFortranはtaraiベンチで推論失敗すればデリファレンス地獄で死ぬわけだけど、これ解消する宣言あったっけ?

むしろ宣言無しのナイーブなコーディングなら数倍どころでは済まんよ
ランタイムの重いclは比類なき宣言の豊富さで静的言語にまで迫ろうと頑張ってるわけで
677デフォルトの名無しさん
2024/04/15(月) 11:50:11.63ID:L/ePcET8
パフォーマンス志向でarrayとdeclareまみれのclはlispっぽさが失われるのがつらい
何でも出来るのだと前向きに考えてゆきたい…
678デフォルトの名無しさん
2024/04/15(月) 11:53:02.96ID:xx2br7bI
>>671,676
話逸らさんで良いから
Fortranの「配列多様コードでにおいてCより数倍は速い」コードを出してw
679デフォルトの名無しさん
2024/04/15(月) 13:00:49.14ID:h9iqzVMR
ゆる「コンピュータ科学」ラジオなので、集合論でもいいだろw
マウントしないと気が済まんのか
680デフォルトの名無しさん
2024/04/15(月) 13:15:54.71ID:WhsyARtf
どのレスがマウントに見えたのか知らんけど
集合論なんてAppendixか記号一覧でサラッと確認して本題を進めるのに
集合論のブルーバックスを読んでシッタカウンチクを語る方がマウントに近い行為だと思うけどw

まさか公理的集合論とその形式的手法をガッツリやるのかな
681デフォルトの名無しさん
2024/04/15(月) 13:20:30.61ID:WhsyARtf
そんな訳ないかw
単純に集合論とか圏論は逃げ
(研究者じゃない限り)コンピュータ科学は実践を伴ってナンボの世界なわけで
そこのレベル低そうな人にウンチク唱えられても何か可哀そうで娯楽にすらならん
682デフォルトの名無しさん
2024/04/15(月) 13:42:47.75ID:h9iqzVMR
痛い人だw
683デフォルトの名無しさん
2024/04/15(月) 15:03:16.41ID:AVuQkQ2W
痛レス追加w

プログラミングにおいては、学問的基礎はそこそこにしてドンドン先に進んだもん勝ちなのよね
学習の初期段階から集合論(動画内ではタイプ理論も)に油売ってたら(逃げを通り越して)脱落かと
ユーチューバーが視聴数稼ぎの為に手を出してるのを差し引かないとね、初学者が真似したら破滅

みんな母国語を話せるでしょ?言語学なんて知らなくてもw
684デフォルトの名無しさん
2024/04/15(月) 15:11:29.44ID:oyztWlKb
逆に数学ちゃんとやらないからLispでつまづいてイライラするんだろうな
そういう奴は20年後も進歩してないと思う(俺のことだが)
685デフォルトの名無しさん
2024/04/15(月) 17:04:25.48ID:BU/Fumer
でもまぁ左は慶応情報工学、右は数学が得意と言ってるし集合論は楽しみではあるな(他意は無い)
686デフォルトの名無しさん
2024/04/15(月) 17:51:51.96ID:lxkYY0z4
集合論もゲーデルもコンビネーター理論も入門レベルは理解したい
と思い続けて10年w
687デフォルトの名無しさん
2024/04/15(月) 17:53:00.51ID:lxkYY0z4
そんなことよりCentOS8入れてみたらGuileもEmacsも入ってなくてブチ切れそうなんだけど
688デフォルトの名無しさん
2024/04/15(月) 19:17:47.96ID:pFNJA2no
Lispは母語じゃないからなぁ
689デフォルトの名無しさん
2024/04/16(火) 08:49:18.26ID:Fr3sHPgG
>>686
Lisp本ではないが論理学の問題集みたいな一般向け書To Mock a Mockingbirdの後半がみっちりコンビネータ論理に充てられててオススメ
手計算させて解法と答えも章末に載ってて取っ付きやすい入門

そのままdefunしてアプリケーティブに動かしたり、簡約パーサも数個の基底コンビネータの書き換え規則をcondで振るだけの自明な10行
かなり遊べるおもちゃ
690デフォルトの名無しさん
2024/04/16(火) 11:41:44.03ID:AOP5eUEV
>>689
ありがとう
ものまね鳥、積読になってる😅
691デフォルトの名無しさん
2024/04/16(火) 12:46:54.23ID:9OjD0OW8
右の人、集合論を勉強すると見せかけてゲーデルエッシャーバッハを持って来ると期待してるw
692デフォルトの名無しさん
2024/04/16(火) 13:18:37.46ID:AOP5eUEV
左「やっぱりあなたLispやってますよね?」
693デフォルトの名無しさん
2024/04/16(火) 13:59:54.08ID:HsOietmi
>>690
まじかー𓃠
愛読しろにゃ
694デフォルトの名無しさん
2024/04/16(火) 16:09:54.43ID:AOP5eUEV
>>693
す、するにゃ汗
695デフォルトの名無しさん
2024/04/18(木) 15:57:15.08ID:L09lN/Y8
>>652
acl2.lispもたぶん参考にしてるかもだけど
On LispにもANSI CLにも載ってないのを集めた utx.lispってのもあるよ

念の為
696デフォルトの名無しさん
2024/04/18(木) 15:59:42.84ID:L09lN/Y8
探してみた、一番下にリンクある
http://web.cecs.pdx.edu/~mperkows/CLASS_ROBOTICS/lisp-source.html

他にもなにやら面白そうなコードが色々
697デフォルトの名無しさん
2024/04/18(木) 16:12:02.72ID:L09lN/Y8
>>670
性能は知らんけど丁度>>696にニューラルネットのコードがあったよ、とコメントしておく
NEURAL NETWORKS.
PERCEPTR.CL Perceptron.
BACKPROP.CL Backpropagating Neural Net.

書かれたのが30年前で特に最適化してない短いお手本コードだけど、今時のAI向け言語とどの程度性能に差が出るだろう?ちょっと興味ある

他言語も得意で暇な人ベンチしてくれないかな()
698デフォルトの名無しさん
2024/04/24(水) 12:34:02.33ID:6vxo/5Gl
Gauche 0.9.15
https://practical-scheme.net/gauche/download-j.html
699デフォルトの名無しさん
2024/04/24(水) 19:33:42.07ID:zTq4mcuG
お前がやるんだよ
700デフォルトの名無しさん
2024/04/29(月) 00:40:58.99ID:kyEsQUSW
Lisp系の本あるある
Amazonで検索してレビューを見ると、kaizenのしょうもないレビューが付いている
701デフォルトの名無しさん
2024/04/29(月) 03:32:03.71ID:xgq67JZI
(())なーんだ
702デフォルトの名無しさん
2024/04/29(月) 20:53:10.33ID:gOSsFAyk
閲覧者にとってどうでもよすぎることしか書かないゴミレビュアーなんだよなkaizen
「読んでませんが」「一行もかけてませんが」「どういうものかわかりませんが」
けれど、「昔のAI業界知ってます」というね
片っ端から違反報告したろか
703882
2024/07/14(日) 23:11:15.21ID:gZEsSzzj
いつの間にやら5ch CLスレが無くなってて書き先がないのでここに書いちゃう。

3年前、 5ch CL スレで出てた話題 ( http://2chb.net/r/tech/1411307361/925-933 )を見てたらClozure CLのバグを発見して、 Clozure CL に Pull Request 出した者です。 ( https://github.com/Clozure/ccl/pull/362 )
結局あれからずっと放置されてたんですが、昨日になって急にコメントされました。
曰く、「最近になって報告された Issue を直すためにやって変更により、この問題は直ったんじゃないかと思う。」「この3年前の PR を見とけばよかった。」とのこと。

いや本当に見て貰いたかったよ・・と思いつつお礼のコメントしておきました。5chのLisp関連スレを Clozure CL のどっかに刻めるかなと思ったけど中途半端に終わってしまった。すまんね。
704デフォルトの名無しさん
2024/07/21(日) 16:52:31.51ID:jbuO3Kr/
> あれからずっと放置


Clozureはバグ修正どころか存続の危機という状況だった(今も?)のでやむなし
705デフォルトの名無しさん
2024/07/26(金) 19:56:51.72ID:nvGW+kC/
このスレを開くような変態野郎には関係ないがLisp自体も言ってしまえば存続の危機だけどね
Lisperが勝手にライバル視していたXMLも結局Web界隈では嫌われてるし
嫌われデータ表現で嫌われデータを操作するLispが嫌われるなんて当然の帰着といっても過言ではないでしょうな
706デフォルトの名無しさん
2024/07/26(金) 20:54:02.96ID:753D+xJi
>>705は変態野郎ということだな
707デフォルトの名無しさん
2024/07/26(金) 21:57:46.50ID:nvGW+kC/
煽られて即レス返すような真性変態野郎には及ばないがな…
まあ雑談しようや
恐らくタグ付きデータ表現を最初期に意識してたであろうLispを世に放ったJ.McCarthyは原初変態ってところか
ところで詳細は知らんが当時で言うAIと今の実用?AIは目的は似ていても手法が全く違う気がするんだが
やはりこの世界はスピードこそがパワーなのか?と2度目の悟りを迎えたLisperは多いんじゃないの?
スピードの前にはもはやLispとか関係無いじゃね?とか今はそういう感じ
708デフォルトの名無しさん
2024/07/26(金) 23:35:12.89ID:753D+xJi
>煽られて即レス返すような真性変態野郎

ID:nvGW+kC/ のことだな
709はちみつ餃子 ◆8X2XSCHEME
2024/07/26(金) 23:38:45.14ID:e6dQA2Nw
>>707
文意を読み取れない。
なにか前提の説明が欠けているんじゃないかと思う。
710デフォルトの名無しさん
2024/07/29(月) 20:42:01.60ID:Js4zJSVe
webasmのS式に活路を見出そう
711デフォルトの名無しさん
2024/07/30(火) 09:51:17.53ID:huM5CJOj
標準規格から30年経過して改訂もなしのCommon Lispは存続の危機とかいうのも超越してしまったように思える
sbclもquicklispも細々とやっていくだろう
712デフォルトの名無しさん
2024/07/30(火) 18:26:26.48ID:dglkx4t5
最も変態なのがマシン語
最も変態から遠いのがLisp
平均がマシン語寄りなのでLispが変態に見られてしまうが
安心しろ、それは認知の歪みだ
713デフォルトの名無しさん
2024/07/30(火) 19:37:30.88ID:otClTmf/
コードとデータが同じ形式でデータと同じようにコードを操作できる特性は変態と呼ぶに値する
脳神経モデルのAIが主流の間は出番ないけど遺伝子モデルのAIが主流になれば復活しそう
一時期流行った進化的アルゴリズムとか最近聞かないけど息してるのかね
714デフォルトの名無しさん
2024/08/01(木) 04:59:08.81ID:yRZ8k2zI
勉強しろよ、おっさん
715デフォルトの名無しさん
2024/08/01(木) 07:17:05.17ID:7xtdgUzE
car, cdr, mapcar, cadr etc. まあこの辺は慣れで覚えられた
でも mapc, mapcon, mapcan ... この辺は無理
廃れつつあるのの当然だね
716デフォルトの名無しさん
2024/08/01(木) 14:39:20.28ID:yRZ8k2zI
コード書かないコンピュータ雑学博士みたいなおっさんが活躍できたのは情報が少ない時代だったからで誰でも好きな言語でOSS活動できるような現代には無用の存在なんだよな
717デフォルトの名無しさん
2024/08/07(水) 15:13:02.20ID:PbgGNmzh
>>703

CL スレ無くなってなかったよ
http://2chb.net/r/tech/1624937701/
718デフォルトの名無しさん
2024/08/09(金) 22:25:05.47ID:/Y8diPS9
それでもLispの悟りを味わうためだけにでも勉強する価値はあるってレイモンズが言ってた
719デフォルトの名無しさん
2024/08/10(土) 20:00:37.82ID:8fMXoMNz
ここの住人のように書籍を先生にひとりでLisp書いてる還暦手前の人間には信じられないかもしれないが, common lispにはコミュニティが存在する. これが2024年のCommon Lispサーベイだ.
https://news.ycombinator.com/item?id=41206465
なお, racketもアンケートを実施中だ.
720デフォルトの名無しさん
2024/08/11(日) 08:19:43.51ID:Ra0/0/oh
この手で一番知りたいアンケート回答者の年齢について何も言及がない時点でお察し
721デフォルトの名無しさん
2024/08/12(月) 00:13:23.88ID:6GU4Ob6x
お察しのところもうしわけないが, プログラミング言語コミュニティのサーベイでユーザーの年齢層集計してるとこどこもないっしょ.
722デフォルトの名無しさん
2024/08/24(土) 00:38:59.98ID:TqJppTmh
貴重な趣味仲間なんだから仲良くしろ老人ども
723デフォルトの名無しさん
2024/08/31(土) 07:41:36.68ID:jZQQMHu4
おはようございます
貴重でもないし
趣味でもないし
仲間でもないし
仲良くすることもありません
724デフォルトの名無しさん
2025/02/02(日) 08:13:35.15ID:DG2EYWWi
SBCLはコンスタントに更新しててすごいなって。
たまに破壊的な変更をやらかすが・・・
725デフォルトの名無しさん
2025/02/14(金) 15:49:29.78ID:eMFFfIuE
racketもコンスタントに更新してるよ
726デフォルトの名無しさん
2025/03/08(土) 07:16:48.57ID:idxuFWQL
The Landscape of Lisp

https://churchofturing.github.io/landscapeoflisp.html

lud20250320105606
このスレへの固定リンク: http://5chb.net/r/tech/1531587928/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「Lisp Scheme Part41 YouTube動画>16本 ->画像>3枚 」を見た人も見ています:
【SLS】Space Launch System【Orion】【Artemis】
■ ゲスト:ベイビーレイズJAPAN ■ AbemaTV(SPECIAL ch) 『矢口真里の火曜The NIGHT』#103 ■ 25:00~27:00 ■
■□ HALF-LIFE □■Part46 (c)2ch.net
【PS4】Blasphemous (ブラスフェマス) part3【Switch】
【エムステ】アイドルマスター SideM LIVE ON ST@GE! Part.28
【エムステ】アイドルマスター SideM LIVE ON ST@GE! Part.30
【エムステ】アイドルマスター SideM LIVE ON ST@GE! Part.31
【エムステ】アイドルマスター SideM LIVE ON ST@GE! Part.44
【エムステ】アイドルマスター SideM LIVE ON ST@GE! Part.23
【エムステ】アイドルマスター SideM LIVE ON ST@GE! Part.2
PC/PS4/PS5】EA SPORTS FC24 ULTIMATE TEAM 晒しスレ 2packs【Xbox/Switch】
【PC/PS】EA SPORTS FC24/FC25 ULTIMATE TEAM 晒しスレ 5packs【Xbox/Switch】
【ストステ】 StraStella (ストラステラ) part14 【NEXON】 http://egg.2ch.net/test/read.cgi/applism/1503170411/
Gacharic Spin Part30
ArcheAge Melisara 晒しスレ Part23
ArcheAge Melisara 晒しスレ Part22
ArcheAge Melisara 晒しスレ Part25
ArcheAge Melisara 晒しスレ Part21
ArcheAge 8鯖Melisara 晒しスレ Part15
ArcheAge 8鯖Melisara 晒しスレ Part18【ワチョイ無】
【MWO】MechWarrior Online Part13【基本無料】
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part241
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part213
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part154
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part233
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part179
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part231
【KOF】THE PINK OF FIGHTERS 98 ULTIMATE MATCH Online part316
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part132
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 無課金・微課金スレ Part41
一人で行くM-line Special 2022 ~My Wish~【2/13~4/29】part5
一人で行くM-line Special 2022 ~My Wish~【2/13~3/21】part2
一人で行くM-line Special 2024 ~Many well wishes~【2/4~3/24】part4
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part268
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part197
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part251
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part275
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part161
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part168
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part198
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part305
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part230
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part147
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part228
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part181
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online part227
【KOF】THE KING OF FISHERS 98 UNLIMITED MATCH Offline part307
一人で行くM-line Special 2023 ~Magical Wish~【2/26~12/24】part21
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 微課金スレ part302
一人で行くM-line Special 2023 ~Magical Wish~【2/26~8/6】part9
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 無課金・微課金スレ Part36
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 無課金・微課金スレ Part37
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 無課金・微課金スレ Part39
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 無課金・微課金スレ Part36
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 無課金・微課金スレ Part60
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 痛いユーザー晒しスレ part12
【KOF】THE KING OF FIGHTERS 98 ULTIMATE MATCH Online 【47鯖無課金神NOB】 Part2
一人で行くM-line Special 2022 ~My Wish~【2/13~7/31】part11
一人で行くM-line Special 2022 ~My Wish~【2/13~12/24】part29
一人で行くM-line Special 2022 ~My Wish~【2/13~12/17】part27
一人で行くM-line Special 2022 ~My Wish~【2/13~10/16】part20
一人で行くM-line Special 2023 ~Magical Wish~【2/26~8/6】part7
一人で行くM-line Special 2023 ~Magical Wish~【2/26~3/25】part2
■ 矢口真里 ■ AbemaTV(SPECIAL ch) 『矢口真里の火曜The NIGHT』#96 ■ 25:00~27:00 ■
一人で行くM-line Special 2023 ~Magical Wish~【2/26~8/31】part12
04:02:48 up 65 days, 5:01, 0 users, load average: 10.75, 9.86, 9.99

in 1.9078738689423 sec @1.9078738689423@0b7 on 062117