Lisp Scheme Part41 (855レス)
1-

3: 2018/07/15(日)04:45 ID:+G2qeWeL(1) AAS
(Lisp 笑)
4: 2018/07/17(火)22:34 ID:6cKB2nCo(1) AAS
>>1
5: はちみつ餃子 ◆8X2XSCHEME 2018/07/29(日)18:08 ID:bQEgGaK2(1) AAS
Racket の 7.0 が出た。
コアを chez に置き換える方向で進んでるんだね。
6
(2): ◆QZaw55cn4c 2018/09/08(土)00:00 ID:t7GfMYxV(1) AAS
a little schemer/「scheme 手習い」 外部リンク:www.amazon.co.jp
を読んでいます(ずいぶんと時間がかかっています)が、次のプログラムがさっぱり理解できなくて困っています

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

ところが、p.92 から

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

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

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

>Q: eqan? を使って eqlist? を書きましょう
>A: 外部リンク:ideone.com

この解答例がさっぱりです、実は?からよくわかっていません
コードのコメントは私がつけたのですが、最後の方は混乱してしまって…何がわからないかわからない状況です。
何か理解するための手がかり足がかりヒントはないでしょうか?
7: SCHEME餃子 ◆8X2XSCHEME 2018/09/08(土)01:10 ID:VmsJpbI+(1) AAS
>>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 ID:GHaullf6(1) AAS
引数が2つあり、それぞれは3通りの場合があるわけだから
引数の組み合わせとしては3×3=9通りの場合がある。
※引数はリスト(空リストを含む)と仮定していいようだ。

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

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

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

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

どのくらい確実にするかってのは程度問題だけど
削除する分にはそんなに手間でもないし。
11
(1): 2018/10/07(日)16:22 ID:n2yn9/Ec(2/2) AAS
>>10
ありがとうございます。
削除というのは、その機能をSchemeのソースから削除して再コンパイルするということですか?
12
(1): SCHEME餃子 ◆8X2XSCHEME 2018/10/07(日)19:43 ID:77445U4A(2/2) AAS
>>11
そう。
13: 2018/10/08(月)11:15 ID:s+P1p206(1) AAS
>>12
ありがとうございます、やってみます!
14: 2018/10/09(火)08:07 ID:dwdUWAaf(1/2) AAS
依存型についてのテキストが出てるよ。
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 ID:dwdUWAaf(2/2) AAS
π算法
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 ID:kRD0TmZA(1) AAS
A Little Taste of Types - Code Mesh 2017 - David Christiansen
動画リンク[YouTube]

A Little Taste of Dependent Types 2018 - David Christiansen
動画リンク[YouTube]

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

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

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

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

ただ、過去に「VC++用ポート」を試みた記事が WiLiKi に残っていますし、
ある程度は動いていたようですので、手間を書ければ全く不可能なことというわけでもなさそうです。
外部リンク[cgi]:practical-scheme.net

Gauche の実態は単なる DLL ですから、Gauche 自体を MSVC でコンパイルするのは難しくても
Gauche を呼び出すプログラムを MSVC で作る分には頑張ればなんとかなる可能性は充分にあるように思います。
30: はちみつ餃子 ◆8X2XSCHEME 2019/02/01(金)16:27 ID:jPYNOX7L(1) AAS
Racket のコアを chez のに置き換える話が以前に出てたけど、
もうほとんどできたみたいね。
次のリリースあたりからはそれになるのかな。
31: はちみつ餃子 ◆8X2XSCHEME 2019/02/05(火)04:44 ID:VmiK9YL/(1) AAS
R7RS-Large の Tangerine Edition は議論・投票への参加者が少なすぎてちょっとアレな状況みたいね。
積極的に参加してあげて!
32
(2): はちみつ餃子 ◆8X2XSCHEME 2019/02/08(金)19:33 ID:U10rELvE(1) AAS
界隈でなんだかちょっとだけ ISLISP の人気が出てきてるというか
ここ最近になっていくつか新しい実装が発表されてるんだけど、
使ってみた人いる?
1-
あと 823 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.011s