2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

Lisp Scheme Part41

1 :デフォルトの名無しさん:2018/07/15(日) 02:05:28.62 ID:oGr67yTf.net
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/

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

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

スレチなのでそろそろこの辺で

656 :デフォルトの名無しさん:2024/04/12(金) 15:05:17.85 ID:dUdcEEpo.net
>>651
Steele先生はlisperの毛嫌いするC系言語/Algolishな言語も無数にデザインしているという皮肉!

657 :645:2024/04/12(金) 15:53:49.12 ID:OhyEPSVL.net
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かよってくらいヤバいのが欠点

658 :デフォルトの名無しさん:2024/04/12(金) 23:54:00.88 ID:/A9qFmr2.net
文章下手糞すぎて読む気も起きない
これって神の言語に慣れすぎて言語障害になった例かよってくらいヤバいのが>>657の欠点

659 :デフォルトの名無しさん:2024/04/13(土) 18:14:03.11 ID:JilIuOKd.net
ストールマンがガンになったらしい
長髪も髭も落としてしまって別人みたいになってる

660 :デフォルトの名無しさん:2024/04/13(土) 18:24:37.81 ID:OrtqC7Lq.net
効いてる効いてる

661 :デフォルトの名無しさん:2024/04/13(土) 19:21:54.91 ID:JilIuOKd.net
何が?

662 :デフォルトの名無しさん:2024/04/13(土) 22:51:10.37 ID:Vi4F3OXr.net
昔MSの偉い人がGNUはガンだとか言ってたな
ついに自覚させたか

663 :デフォルトの名無しさん:2024/04/13(土) 23:32:28.78 ID:c7UXCLXT.net
>>660
お前は脳にガンを抱えてるなw

664 :デフォルトの名無しさん:2024/04/14(日) 12:56:54.81 ID:JRHy27WB.net
ゆる学徒ハウス別館
現役Lisperが語る! Lispはオーパーツで人類には早すぎた【電脳史学】
https://youtu.be/tLZ8J9tGVEs

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

666 :デフォルトの名無しさん:2024/04/14(日) 14:04:02.38 ID:JRHy27WB.net
コーシー噴いたw

667 :デフォルトの名無しさん:2024/04/14(日) 15:00:30.77 ID:XsKNoxHh.net
>>665は娯楽コンテンツとしては面白い

でもLispは良いとして集合論を勉強しようとしてるのにはやれやれだな
Haskellで圏論とかAIで代数幾何に夢見たりするのと似てる
結局広く浅くでウンチク欲を満たすに留めて、実践から逃げたいのだろうな
実践は壁だらけだから

668 :デフォルトの名無しさん:2024/04/14(日) 17:27:06.49 ID:ezgj98lZ.net
Lispとは別に2人で集合論やって
Lispは一冊何か挟んでからPAIP読んでほしい
番組のネタ的に

669 :デフォルトの名無しさん:2024/04/14(日) 21:34:02.26 ID:p4Nf2jzu.net
その人らはLispに大した拘りはないし
今更検索でまともに引っかからない古代のPAIPなんてやる意味を見出せないだろ
AI関連ならTranslatorからChatGPTブレイクに至るまででも話題にしたらいい

670 :デフォルトの名無しさん:2024/04/14(日) 21:56:43.27 ID:JRHy27WB.net
そうかなあ、論理プログラミングとか自然言語解析とか右側の人大興奮じゃないの

671 :デフォルトの名無しさん:2024/04/15(月) 01:53:38.60 ID:YG3lrvG/.net
>>654
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に載ってるやつ
本を薄くするために徹底的に再帰で書かれてるからまあ性能は察せ()
再帰で分かりやすいコードだから叩き台にもオススメ

672 :デフォルトの名無しさん:2024/04/15(月) 02:00:08.14 ID:YG3lrvG/.net
あれはsymbolic pattern matchなのでregexと比べるのは良い例出なかったごめん
まあexplodeしてしまえばもうキャラクタベースだ
確かGrahamの>>657にあるシンボルをバラすやつ、まあ3行くらいで書ける小品だけど

explodeってネーミングがクールで覚えてたわ

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

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

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

左右どちらも含蓄なく浅はかに見えてしまうので、その道の専門家をお呼びするスタイルにして欲しい
C#のufcpp的な人が(声とコード画面だけでも)出演したら(最低限の真似事なら)実践する人が増えると思う

674 :デフォルトの名無しさん:2024/04/15(月) 02:48:11.62 ID:YG3lrvG/.net
>>670,673
うむ、若かりし頃はマルコフやProlog/SQLモドキとかやってた、なるべく決定論的なのが個人的な好み
トレースを分析しても理解の困難なモノは、決して知的探究心を満たしてはくれないのだ

流行りの文章生成もマルコフならトレーサビリティは完全なのが良い

675 :デフォルトの名無しさん:2024/04/15(月) 03:14:20.11 ID:YG3lrvG/.net
古いAIのバイブルPAIPすら恥ずかしながら未読の身ですが…
lispもデータドリブンなNN系はむしろ苦手とは思わない

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

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

まあNumpyでプラグマ/フラグ駆使してその辺のお節介挙動を切れば普通に負けるかも
あくまで並コーダが素直に書く限りの話

676 :デフォルトの名無しさん:2024/04/15(月) 03:45:37.49 ID:KXqIDgH/.net
Cバックエンドで配列のviewをサポートしてるなら究極的には言語/処理系ではアルゴリズム瑕疵が無い限り有意な差はないよ
ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い

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

明示できるCLのFortran実装を待ち望む

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

動的言語のリハッシュは知る限り全部処理系任せか、サポートしていてもインタプリタのコマンドラインオプションで一律にしか変えられない

678 :デフォルトの名無しさん:2024/04/15(月) 06:50:07.08 ID:DfbFoW6K.net
>>676
>ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
>gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い

この部分、Fortranで配列多用したらCより数倍速い的な意見なのかな?
1ミリも分からんので、詳細求む

679 :デフォルトの名無しさん:2024/04/15(月) 11:04:34.92 ID:SeS0dYr5.net
>>676
言語/処理系で有意な差はないと言ってるのに、Cより数倍も速いって、矛盾してるぞw

680 :デフォルトの名無しさん:2024/04/15(月) 11:32:59.07 ID:dChAXctC.net
>>679
何の根拠も無く「数倍は速い」なんて言い出さないから
>>678に対する>>676の回答には期待しているw

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

むしろ宣言無しのナイーブなコーディングなら数倍どころでは済まんよ
ランタイムの重いclは比類なき宣言の豊富さで静的言語にまで迫ろうと頑張ってるわけで

682 :デフォルトの名無しさん:2024/04/15(月) 11:50:11.63 ID:L/ePcET8.net
パフォーマンス志向でarrayとdeclareまみれのclはlispっぽさが失われるのがつらい
何でも出来るのだと前向きに考えてゆきたい…

683 :デフォルトの名無しさん:2024/04/15(月) 11:53:02.96 ID:xx2br7bI.net
>>676,681
話逸らさんで良いから
Fortranの「配列多様コードでにおいてCより数倍は速い」コードを出してw

684 :デフォルトの名無しさん:2024/04/15(月) 13:00:49.14 ID:h9iqzVMR.net
ゆる「コンピュータ科学」ラジオなので、集合論でもいいだろw
マウントしないと気が済まんのか

685 :デフォルトの名無しさん:2024/04/15(月) 13:15:54.71 ID:WhsyARtf.net
どのレスがマウントに見えたのか知らんけど
集合論なんてAppendixか記号一覧でサラッと確認して本題を進めるのに
集合論のブルーバックスを読んでシッタカウンチクを語る方がマウントに近い行為だと思うけどw

まさか公理的集合論とその形式的手法をガッツリやるのかな

686 :デフォルトの名無しさん:2024/04/15(月) 13:20:30.61 ID:WhsyARtf.net
そんな訳ないかw
単純に集合論とか圏論は逃げ
(研究者じゃない限り)コンピュータ科学は実践を伴ってナンボの世界なわけで
そこのレベル低そうな人にウンチク唱えられても何か可哀そうで娯楽にすらならん

687 :デフォルトの名無しさん:2024/04/15(月) 13:42:47.75 ID:h9iqzVMR.net
痛い人だw

688 :デフォルトの名無しさん:2024/04/15(月) 15:03:16.41 ID:AVuQkQ2W.net
痛レス追加w

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

みんな母国語を話せるでしょ?言語学なんて知らなくてもw

689 :デフォルトの名無しさん:2024/04/15(月) 15:11:29.44 ID:oyztWlKb.net
逆に数学ちゃんとやらないからLispでつまづいてイライラするんだろうな
そういう奴は20年後も進歩してないと思う(俺のことだが)

690 :デフォルトの名無しさん:2024/04/15(月) 17:04:25.48 ID:BU/Fumer.net
でもまぁ左は慶応情報工学、右は数学が得意と言ってるし集合論は楽しみではあるな(他意は無い)

691 :デフォルトの名無しさん:2024/04/15(月) 17:51:51.96 ID:lxkYY0z4.net
集合論もゲーデルもコンビネーター理論も入門レベルは理解したい
と思い続けて10年w

692 :デフォルトの名無しさん:2024/04/15(月) 17:53:00.51 ID:lxkYY0z4.net
そんなことよりCentOS8入れてみたらGuileもEmacsも入ってなくてブチ切れそうなんだけど

693 :デフォルトの名無しさん:2024/04/15(月) 19:17:47.96 ID:pFNJA2no.net
Lispは母語じゃないからなぁ

694 :デフォルトの名無しさん:2024/04/16(火) 08:49:18.26 ID:Fr3sHPgG.net
>>691
Lisp本ではないが論理学の問題集みたいな一般向け書To Mock a Mockingbirdの後半がみっちりコンビネータ論理に充てられててオススメ
手計算させて解法と答えも章末に載ってて取っ付きやすい入門

そのままdefunしてアプリケーティブに動かしたり、簡約パーサも数個の基底コンビネータの書き換え規則をcondで振るだけの自明な10行
かなり遊べるおもちゃ

695 :デフォルトの名無しさん:2024/04/16(火) 11:41:44.03 ID:AOP5eUEV.net
>>694
ありがとう
ものまね鳥、積読になってる😅

696 :デフォルトの名無しさん:2024/04/16(火) 12:46:54.23 ID:9OjD0OW8.net
右の人、集合論を勉強すると見せかけてゲーデルエッシャーバッハを持って来ると期待してるw

697 :デフォルトの名無しさん:2024/04/16(火) 13:18:37.46 ID:AOP5eUEV.net
左「やっぱりあなたLispやってますよね?」

698 :デフォルトの名無しさん:2024/04/16(火) 13:59:54.08 ID:HsOietmi.net
>>695
まじかー𓃠
愛読しろにゃ

699 :デフォルトの名無しさん:2024/04/16(火) 16:09:54.43 ID:AOP5eUEV.net
>>698
す、するにゃ汗

700 :デフォルトの名無しさん:2024/04/18(木) 15:57:15.08 ID:L09lN/Y8.net
>>657
acl2.lispもたぶん参考にしてるかもだけど
On LispにもANSI CLにも載ってないのを集めた utx.lispってのもあるよ

念の為

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

他にもなにやら面白そうなコードが色々

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

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

他言語も得意で暇な人ベンチしてくれないかな()

703 :デフォルトの名無しさん:2024/04/24(水) 12:34:02.33 ID:6vxo/5Gl.net
Gauche 0.9.15
https://practical-scheme.net/gauche/download-j.html

704 :デフォルトの名無しさん:2024/04/24(水) 19:33:42.07 ID:zTq4mcuG.net
お前がやるんだよ

203 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★