X



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

■前スレ
Lisp Scheme Part40
http://mevius.5ch.net/test/read.cgi/tech/1426481152/

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

■関連スレ
【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1483498849/
【GNU】スクリプト言語 Guile【scheme】
http://mevius.5ch.net/test/read.cgi/tech/1239985829/
【入門】Common Lisp その11【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1411307361/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
http://peace.2ch.net/test/read.cgi/tech/1272469779/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
Lisp@UNIX版
http://mevius.5ch.net/test/read.cgi/unix/1019926525/
0652645
垢版 |
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かよってくらいヤバいのが欠点
0653デフォルトの名無しさん
垢版 |
2024/04/12(金) 23:54:00.88ID:/A9qFmr2
文章下手糞すぎて読む気も起きない
これって神の言語に慣れすぎて言語障害になった例かよってくらいヤバいのが>>652の欠点
0654デフォルトの名無しさん
垢版 |
2024/04/13(土) 18:14:03.11ID:JilIuOKd
ストールマンがガンになったらしい
長髪も髭も落としてしまって別人みたいになってる
0656デフォルトの名無しさん
垢版 |
2024/04/13(土) 19:21:54.91ID:JilIuOKd
何が?
0659デフォルトの名無しさん
垢版 |
2024/04/14(日) 12:56:54.81ID:JRHy27WB
ゆる学徒ハウス別館
現役Lisperが語る! Lispはオーパーツで人類には早すぎた【電脳史学】
https://youtu.be/tLZ8J9tGVEs
0660デフォルトの名無しさん
垢版 |
2024/04/14(日) 13:37:09.89ID:JRHy27WB
ゆるコンピュータ科学ラジオ
大人の勉強は「夢の中」が主戦場。寝ながらマクロを書くといい【Lisp雑談】
https://youtu.be/Lbt_CCQKWFA
0661デフォルトの名無しさん
垢版 |
2024/04/14(日) 14:04:02.38ID:JRHy27WB
コーシー噴いたw
0662デフォルトの名無しさん
垢版 |
2024/04/14(日) 15:00:30.77ID:XsKNoxHh
>>660は娯楽コンテンツとしては面白い

でもLispは良いとして集合論を勉強しようとしてるのにはやれやれだな
Haskellで圏論とかAIで代数幾何に夢見たりするのと似てる
結局広く浅くでウンチク欲を満たすに留めて、実践から逃げたいのだろうな
実践は壁だらけだから
0663デフォルトの名無しさん
垢版 |
2024/04/14(日) 17:27:06.49ID:ezgj98lZ
Lispとは別に2人で集合論やって
Lispは一冊何か挟んでからPAIP読んでほしい
番組のネタ的に
0664デフォルトの名無しさん
垢版 |
2024/04/14(日) 21:34:02.26ID:p4Nf2jzu
その人らはLispに大した拘りはないし
今更検索でまともに引っかからない古代のPAIPなんてやる意味を見出せないだろ
AI関連ならTranslatorからChatGPTブレイクに至るまででも話題にしたらいい
0665デフォルトの名無しさん
垢版 |
2024/04/14(日) 21:56:43.27ID:JRHy27WB
そうかなあ、論理プログラミングとか自然言語解析とか右側の人大興奮じゃないの
0666デフォルトの名無しさん
垢版 |
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に載ってるやつ
本を薄くするために徹底的に再帰で書かれてるからまあ性能は察せ()
再帰で分かりやすいコードだから叩き台にもオススメ
0667デフォルトの名無しさん
垢版 |
2024/04/15(月) 02:00:08.14ID:YG3lrvG/
あれはsymbolic pattern matchなのでregexと比べるのは良い例出なかったごめん
まあexplodeしてしまえばもうキャラクタベースだ
確かGrahamの>>652にあるシンボルをバラすやつ、まあ3行くらいで書ける小品だけど

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

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

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

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

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

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

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

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

この部分、Fortranで配列多用したらCより数倍速い的な意見なのかな?
1ミリも分からんので、詳細求む
0676デフォルトの名無しさん
垢版 |
2024/04/15(月) 11:39:03.37ID:L/ePcET8
中間言語が同じならコーディングの瑕疵は人間工学的な問題
Cは宣言が貧弱でin/out、純粋関数、エイリアスの有無は推論頼りだから失敗すれば死ぬ
ただ最近はrestrict宣言付けて回るなら重なるか推論不能な配列のエイリアス有無も指定可、難解だけど
一方で参照渡しのFortranはtaraiベンチで推論失敗すればデリファレンス地獄で死ぬわけだけど、これ解消する宣言あったっけ?

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

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

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

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

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

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

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

他言語も得意で暇な人ベンチしてくれないかな()
0700デフォルトの名無しさん
垢版 |
2024/04/29(月) 00:40:58.99ID:kyEsQUSW
Lisp系の本あるある
Amazonで検索してレビューを見ると、kaizenのしょうもないレビューが付いている
0701デフォルトの名無しさん
垢版 |
2024/04/29(月) 03:32:03.71ID:xgq67JZI
(())なーんだ
0702デフォルトの名無しさん
垢版 |
2024/04/29(月) 20:53:10.33ID:gOSsFAyk
閲覧者にとってどうでもよすぎることしか書かないゴミレビュアーなんだよなkaizen
「読んでませんが」「一行もかけてませんが」「どういうものかわかりませんが」
けれど、「昔のAI業界知ってます」というね
片っ端から違反報告したろか
レスを投稿する


ニューススポーツなんでも実況