Common Lisp、SchemeをはじめとするLisp族全般のスレです
■前スレ
Lisp Scheme Part39
http://peace.2ch.net/test/read.cgi/tech/1408017352/
■テンプレ
ttp://wiki.fdiary.net/lisp/
■関連スレ
【入門】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】プログラミング言語 Clojure #3【JVM】
http://peace.2ch.net/test/read.cgi/tech/1380333808/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
Lisp Scheme Part40 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/03/16(月) 13:45:52.92ID:EEYZoZ1i
763はちみつ餃子 ◆8X2XSCHEME
2017/12/18(月) 20:02:37.96ID:1AqL5NX7 >>760,762
このあたりの話かな。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0534r3.pdf
今のところはまだ提案があるだけで標準に入ったわけではない。
継続を表現するライブラリっつっても、
そのライブラリの中身は何がしかアーキテクチャ依存になるだろうけどな。
このあたりの話かな。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0534r3.pdf
今のところはまだ提案があるだけで標準に入ったわけではない。
継続を表現するライブラリっつっても、
そのライブラリの中身は何がしかアーキテクチャ依存になるだろうけどな。
764デフォルトの名無しさん
2017/12/18(月) 21:02:09.62ID:Idgcm8jE C++には、GCとか実装から切り離して、実行環境をカプセル化した
関数オブジェクトがあるから、そのことかも
関数オブジェクトがあるから、そのことかも
765デフォルトの名無しさん
2017/12/18(月) 21:06:41.77ID:Idgcm8jE ええと、一応念のため説明させていただきますが、C++では関数は
オブジェクトではないのです……
オブジェクトではないのです……
766デフォルトの名無しさん
2017/12/18(月) 23:12:15.36ID:7/ciCMNl767デフォルトの名無しさん
2017/12/20(水) 05:00:04.59ID:a6n0mn8s Exaリーディングのすゝめ
https://www.slideshare.net/ShinichiMakino1/exa-84358376
👆これええな
schemeでも読んだら勉強になる、程よい大きさのコードないものか
https://www.slideshare.net/ShinichiMakino1/exa-84358376
👆これええな
schemeでも読んだら勉強になる、程よい大きさのコードないものか
768デフォルトの名無しさん
2017/12/23(土) 21:49:26.76ID:YzWkPP/t schemeについてのことではなくてelispについてなんですが、同じかもしれないと
おもってお尋ねします。コードを書いた実行をして、(コードを読み込んで)
そのあとその実行して読み込ませたものをclearして、(書いているコードはそのまま
なんですが、読み込んだという事実をclearしたい)それで別のコードを下に書いて
その下に書いたものだけを実行するという風にしたいのですが、そういうclearする
ことは可能でしょうか?どのようにするのでしょうか?
おもってお尋ねします。コードを書いた実行をして、(コードを読み込んで)
そのあとその実行して読み込ませたものをclearして、(書いているコードはそのまま
なんですが、読み込んだという事実をclearしたい)それで別のコードを下に書いて
その下に書いたものだけを実行するという風にしたいのですが、そういうclearする
ことは可能でしょうか?どのようにするのでしょうか?
769デフォルトの名無しさん
2017/12/23(土) 23:20:52.51ID:BI9Rd4SH >>767
3imp
3imp
770デフォルトの名無しさん
2017/12/23(土) 23:28:54.90ID:YzWkPP/t 768の質問を取り消します。後日に尋ねるかもしれませんがその時には
よろしくお願いします
よろしくお願いします
771デフォルトの名無しさん
2017/12/23(土) 23:54:12.88ID:3ZTUAfyp >>769
schemeってみんなインタプリタとかコンパイラの実装ばっかですね
schemeの勉強でもmapやappendを実装しましょうみたいなのばっかやし
まあguiもwebもゲームも低レイヤーも出来ないとなれば仕方ないんかな
schemeってみんなインタプリタとかコンパイラの実装ばっかですね
schemeの勉強でもmapやappendを実装しましょうみたいなのばっかやし
まあguiもwebもゲームも低レイヤーも出来ないとなれば仕方ないんかな
772デフォルトの名無しさん
2017/12/24(日) 01:13:04.67ID:Za7OGTTm 皆さんclassとかrecordとか使うんですか?
773はちみつ餃子 ◆8X2XSCHEME
2017/12/24(日) 04:11:25.21ID:j1+IHmNs >>771
あまり話題に上がらないけど GTK バインディングとかウェブフレームワークとかは有る。
FFI を使えばどんなライブラリでも使えるのでとりたてて分野が限定されているということは無い。
メモリ管理とか、Scheme として自然に使えるようにする面倒くささはあるので、
それを整備したものってのは最終的には物量の問題だと思う。
Chicken には Eggs が、 Racket には Planet というモジュール管理システムがあって公式リポジトリに登録されているライブラリの量もまあまあ多いので、
そのあたりから興味があるものを探してみたらいいんじゃない?
あまり話題に上がらないけど GTK バインディングとかウェブフレームワークとかは有る。
FFI を使えばどんなライブラリでも使えるのでとりたてて分野が限定されているということは無い。
メモリ管理とか、Scheme として自然に使えるようにする面倒くささはあるので、
それを整備したものってのは最終的には物量の問題だと思う。
Chicken には Eggs が、 Racket には Planet というモジュール管理システムがあって公式リポジトリに登録されているライブラリの量もまあまあ多いので、
そのあたりから興味があるものを探してみたらいいんじゃない?
774はちみつ餃子 ◆8X2XSCHEME
2017/12/24(日) 04:26:34.47ID:j1+IHmNs >>772
Scheme の record は R6RS と R7RS で違うし SRFI でも微妙に違うのがいくつもあるので、
処理系によってサポート状況が違って使いにくいってのは感じるかな。
それでも多少ラップすればそれなりの移植性は確保できるので、
個人的には積極的に使ってる。
class というかオブジェクトシステムについては Scheme ではまとまった提案がないから
CLOS をベースにデザインされたものが多いとはいうものの処理系による差が激しくて、
最初から特定の処理系をターゲットにすると決めている場合じゃないと使わないな。
でも使うと決めたら積極的に使ってる。
Scheme の record は R6RS と R7RS で違うし SRFI でも微妙に違うのがいくつもあるので、
処理系によってサポート状況が違って使いにくいってのは感じるかな。
それでも多少ラップすればそれなりの移植性は確保できるので、
個人的には積極的に使ってる。
class というかオブジェクトシステムについては Scheme ではまとまった提案がないから
CLOS をベースにデザインされたものが多いとはいうものの処理系による差が激しくて、
最初から特定の処理系をターゲットにすると決めている場合じゃないと使わないな。
でも使うと決めたら積極的に使ってる。
775デフォルトの名無しさん
2017/12/24(日) 18:42:32.30ID:Za7OGTTm webやるならclojureで良さそう(´・_・`)
人生3度目の the little schemer です。
xyzzy で確かめながら読んでいますが、一つ疑問が生じました。
教科書では
(lat? (atom turkey or))
と印刷されていますが、手元の処理系(gauche 0.9.5) では
(lat? '(atom turkey or))
と関数 lat? の引数に ' をつけないとうまくいかないのです。
これはどういう理由なのでしょうか?この ' は scheme の用語ではなんと呼ばれているのでしょうか?
ずっと教科書を読んでいくうちに自然とわかってくる事項でしょうか?
よろしくお願いいたします。
xyzzy で確かめながら読んでいますが、一つ疑問が生じました。
教科書では
(lat? (atom turkey or))
と印刷されていますが、手元の処理系(gauche 0.9.5) では
(lat? '(atom turkey or))
と関数 lat? の引数に ' をつけないとうまくいかないのです。
これはどういう理由なのでしょうか?この ' は scheme の用語ではなんと呼ばれているのでしょうか?
ずっと教科書を読んでいくうちに自然とわかってくる事項でしょうか?
よろしくお願いいたします。
777はちみつ餃子 ◆8X2XSCHEME
2017/12/24(日) 23:08:21.47ID:j1+IHmNs >>776
' は quote の略表記。 たとえば '(a b c) は (quote (a b c)) と書いても同じ。
私はその本を持ってないからそのコードで何を教えようとしてるのかよくわかんないけど、
quote はかなり基本的な要素なので理解できるようにしてるとは思う
' は quote の略表記。 たとえば '(a b c) は (quote (a b c)) と書いても同じ。
私はその本を持ってないからそのコードで何を教えようとしてるのかよくわかんないけど、
quote はかなり基本的な要素なので理解できるようにしてるとは思う
>>777
ご回答ありがとうございます!
教科書 'the little schemer' -> https://www.amazon.co.jp/dp/4274068269 有名そうで読んでいる人が多そうなものを選びました!
ご回答ありがとうございます!
教科書 'the little schemer' -> https://www.amazon.co.jp/dp/4274068269 有名そうで読んでいる人が多そうなものを選びました!
779デフォルトの名無しさん
2017/12/25(月) 00:30:34.51ID:eatjhcJn little schemerはsicpの前に読む人が多いのかな
自分は読まずにsicpに突っ込む予定だけど
自分は読まずにsicpに突っ込む予定だけど
780はちみつ餃子 ◆8X2XSCHEME
2017/12/25(月) 02:53:01.57ID:BGNcpfiB SICP は計算機科学の専門書だし、趣味プログラマには高度すぎるんじゃね?
SICP は現実的な部分についても書いてないから Scheme を (日常的なスプリクティング用途程度に) 普段使いしたいって
程度の気持ちで読み始めると、理論の部分で挫折して放り投げがちなんじゃないかな?
いや、ガチで背景にある理論を理解したいって志があるなら SICP から読むことに反対なわけではないけど、
もっと緩く Scheme を使いたいっていう気持ちで使う人も歓迎したいし、
最終的に SICP を読んで理解するのが前提みたいに言うのはちょっとどうかと思うよ。
SICP は現実的な部分についても書いてないから Scheme を (日常的なスプリクティング用途程度に) 普段使いしたいって
程度の気持ちで読み始めると、理論の部分で挫折して放り投げがちなんじゃないかな?
いや、ガチで背景にある理論を理解したいって志があるなら SICP から読むことに反対なわけではないけど、
もっと緩く Scheme を使いたいっていう気持ちで使う人も歓迎したいし、
最終的に SICP を読んで理解するのが前提みたいに言うのはちょっとどうかと思うよ。
781デフォルトの名無しさん
2017/12/25(月) 21:10:21.58ID:6RDgxEW3 >>776
その「atom」ってのが実は手続きなのよ。本文ではなく前文かどこかに定義が載っていたと思う。
その「atom」ってのが実は手続きなのよ。本文ではなく前文かどこかに定義が載っていたと思う。
782デフォルトの名無しさん
2017/12/25(月) 21:16:46.95ID:6RDgxEW3 >>781
忘れてくれ。手元の本見たら、手続きなのはatom?だった。
忘れてくれ。手元の本見たら、手続きなのはatom?だった。
783デフォルトの名無しさん
2017/12/26(火) 23:21:38.18ID:yva2ERhc xyzzyとgauche並行とか混乱するだけだぞ
784デフォルトの名無しさん
2017/12/27(水) 21:59:50.53ID:I7jb5yVK 最近はnumpyにしか実装がない数値計算法が増えた
Racketはnumpyのインターフェースあるけど、他はどう?
Racketはnumpyのインターフェースあるけど、他はどう?
785はちみつ餃子 ◆8X2XSCHEME
2017/12/28(木) 00:32:55.47ID:gVqXCAzj Racket にはそんな変態なものがあるんか。
どうやって実現しているのか興味あるけど、ググっても見つけられなかった。
どうやって実現しているのか興味あるけど、ググっても見つけられなかった。
786デフォルトの名無しさん
2017/12/28(木) 16:57:30.14ID:kqg0/H36 ラケット王国の和訳まだかなーチンチン
787デフォルトの名無しさん
2017/12/29(金) 08:38:15.66ID:xmeHjPXR C++のインターフェースある処理系ならboost.numpyでnumpyは動きそうだが
788デフォルトの名無しさん
2017/12/29(金) 20:54:07.52ID:UJC0BA5u clmlってどうなん
789デフォルトの名無しさん
2017/12/29(金) 21:45:51.42ID:srQz1veo 機械学習ライブラリとしてなら優秀だけど
今話題になってるディープラーニング対応してない
今話題になってるディープラーニング対応してない
790はちみつ餃子 ◆8X2XSCHEME
2017/12/30(土) 01:36:01.07ID:JIvbFZ2K >>787
boost.numpy はテンプレートもだばだば使ってるし、それをあらためて動的型の言語にバインディングするのあほらしいやろ。
boost.numpy はテンプレートもだばだば使ってるし、それをあらためて動的型の言語にバインディングするのあほらしいやろ。
791デフォルトの名無しさん
2017/12/30(土) 05:34:18.51ID:QS05oFb5 numpyも実体はlapackのインターフェース
792デフォルトの名無しさん
2017/12/30(土) 21:52:30.82ID:wf2zlY04 Fortran最強か。
793デフォルトの名無しさん
2017/12/30(土) 22:04:07.78ID:NAE2hL7d gaucheかchickenでGUIやるの厳しい?
tkはlinuxだとめっちゃ汚いから嫌なんだけど
Iupというの気になるんだけど試してみた人いませんか
tkはlinuxだとめっちゃ汚いから嫌なんだけど
Iupというの気になるんだけど試してみた人いませんか
794はちみつ餃子 ◆8X2XSCHEME
2017/12/30(土) 23:13:03.41ID:JIvbFZ2K Gauche や Chicken なら GTK バインディングが楽に使えると思う。
私は使ったことないけど Racket の GUI ライブラリは使いやすいみたいに聞くので、
処理系にこだわりがないなら試してみてもいいんじゃない?
私は使ったことないけど Racket の GUI ライブラリは使いやすいみたいに聞くので、
処理系にこだわりがないなら試してみてもいいんじゃない?
795デフォルトの名無しさん
2017/12/31(日) 20:27:42.78ID:Pbe3xhzg gaucheとchickenってどっちがいいの?
796はちみつ餃子 ◆8X2XSCHEME
2018/01/01(月) 00:26:59.62ID:jbWUirsb 用途や好みによる
797デフォルトの名無しさん
2018/01/01(月) 15:16:31.98ID:rap/X9U7 (display "Happy New Year.")
798デフォルトの名無しさん
2018/01/01(月) 17:48:15.95ID:UkMdhu1o 今からClojure入門しようと思うんですけど
「Clojure for the Brave and True」
この入門書ってどうなんでしょう?
ポチるか悩んでいるので一押し欲しいです
「Clojure for the Brave and True」
この入門書ってどうなんでしょう?
ポチるか悩んでいるので一押し欲しいです
799デフォルトの名無しさん
2018/01/01(月) 20:52:29.11ID:aCEoQmmW それって無料公開されてないか?
読んでないが
読んでないが
800デフォルトの名無しさん
2018/01/01(月) 22:42:18.07ID:REb0gAPE801はちみつ餃子 ◆8X2XSCHEME
2018/01/02(火) 02:15:48.60ID:U19H6e17 Clojure スレで相談した方がよくない?
802デフォルトの名無しさん
2018/01/03(水) 01:18:40.47ID:E10k9nmq (特定のスレに書き込めないテスト)
>>776
5章になって急に難しくなりました‥
http://d.hatena.ne.jp/kazu-yamamoto/20101021/1287625788
>リストのリストに対して、深く再帰します。見方を変えれば、これは木構造に対する再帰です。
それまでは(復習は必要ですが)理解に苦しむことはなかったんですが‥
5章になって急に難しくなりました‥
http://d.hatena.ne.jp/kazu-yamamoto/20101021/1287625788
>リストのリストに対して、深く再帰します。見方を変えれば、これは木構造に対する再帰です。
それまでは(復習は必要ですが)理解に苦しむことはなかったんですが‥
804デフォルトの名無しさん
2018/01/03(水) 21:17:21.44ID:E10k9nmq 本は仕様の確認程度に留めて処理系の実装を一通り見た方が理解が早いよ
俺は昔SECDR-SchemeやTiny-Scheme辺りのソース読んでSchemeの全てを理解した
俺は昔SECDR-SchemeやTiny-Scheme辺りのソース読んでSchemeの全てを理解した
805デフォルトの名無しさん
2018/01/04(木) 06:24:55.50ID:ZoCOsoct 勉強していく上で参考になるプログラムを見つけられないのが痛い
特にgaucheとかchickenでのオブジェクト指向をどうやって身につければいいの
特にgaucheとかchickenでのオブジェクト指向をどうやって身につければいいの
806はちみつ餃子 ◆8X2XSCHEME
2018/01/04(木) 19:59:41.91ID:l3TQzZ4M Gauche で書いたプロジェクトとしては WiLiKi とかどう?
shiro さん自身が書いてるのがいちばん Gauche 的に綺麗な書き方じゃね?
shiro さん自身が書いてるのがいちばん Gauche 的に綺麗な書き方じゃね?
807デフォルトの名無しさん
2018/01/04(木) 20:10:19.94ID:L/Z2udtD gaucheがライブラリを含めて固まってから書かれたならそう断言できるけど……
808デフォルトの名無しさん
2018/01/05(金) 07:35:42.44ID:zqdaz1Y8 RacketのプログラムをCと同じぐらいに高速化したい
Checkenで動くように改変すれば手間かからずに高速化出来るんだろうか
Checkenで動くように改変すれば手間かからずに高速化出来るんだろうか
809デフォルトの名無しさん
2018/01/05(金) 07:47:07.98ID:Lf4apqlY なんで Checken? Chez の方が速いでしょう。
810はちみつ餃子 ◆8X2XSCHEME
2018/01/05(金) 12:55:55.45ID:CY5W8ai3 Racket は速い方なので、それで不満なら単純に (手間をかけずに) 移植してもたいした高速化は望めないと思う。
処理系ごとのクセはあるから場合によっては載せ替えるだけで高速化になることも無いわけじゃないが、
やってみないと (検証の手間をかけないと) 結果はわからぬ。
処理系ごとのクセはあるから場合によっては載せ替えるだけで高速化になることも無いわけじゃないが、
やってみないと (検証の手間をかけないと) 結果はわからぬ。
811デフォルトの名無しさん
2018/01/06(土) 20:15:13.51ID:EqGxuZle shenってどうなの?
812はちみつ餃子 ◆8X2XSCHEME
2018/01/06(土) 20:25:52.03ID:mAB25EnJ どうとは?
813デフォルトの名無しさん
2018/01/06(土) 20:53:46.77ID:/zx+3sJQ 使ってみた感想あれば聞きたいね
日本語情報少ないし、用途もよくわからない
日本語情報少ないし、用途もよくわからない
814デフォルトの名無しさん
2018/01/06(土) 23:25:04.14ID:+G0EWjNB Prolog を結合させた玩具か
815デフォルトの名無しさん
2018/01/07(日) 01:55:08.52ID:xXD5IJqM 実装がたくさんあってスマホで遊べるくらいしか知らん
816デフォルトの名無しさん
2018/01/08(月) 07:56:07.49ID:iCZsrYFg スマホアプリもあるんか
シーケント計算ベースの型システムってのが難しそう
シーケント計算ベースの型システムってのが難しそう
817デフォルトの名無しさん
2018/01/08(月) 14:33:12.38ID:GiAqRu5e >>816
> シーケント計算ベースの型システムってのが難しそう
別にそういうことはない
型システムを良く行われるように自然演繹で定式化するかシーケント計算で定式化するかという定式化のスタイルの違いだけだから
大雑把に言えばシーケント計算は自然演繹のmeta calculusというスタイルだというだけだからね
> シーケント計算ベースの型システムってのが難しそう
別にそういうことはない
型システムを良く行われるように自然演繹で定式化するかシーケント計算で定式化するかという定式化のスタイルの違いだけだから
大雑把に言えばシーケント計算は自然演繹のmeta calculusというスタイルだというだけだからね
818デフォルトの名無しさん
2018/01/12(金) 00:43:08.04ID:FCuivLM3 https://github.com/adtac/autovpn/blob/master/autovpn.go
このopenvpnを使ってvpngateに接続するだけの、80行程度のgolangのコードをgaucheで書くとどんな感じになりますでしょうか
このopenvpnを使ってvpngateに接続するだけの、80行程度のgolangのコードをgaucheで書くとどんな感じになりますでしょうか
819デフォルトの名無しさん
2018/01/13(土) 04:15:46.39ID:l9Ynoqag 誰かー
820はちみつ餃子 ◆8X2XSCHEME
2018/01/13(土) 20:46:00.95ID:SxvD86sf >>818
こんな感じかな?
https://ideone.com/w5FtZ9
ideone はコード中の URL らしきものを適当にぼやかす機能があるらしく、勝手に置き換えられちゃった。
「download」のリンクでは本来の通りになるみたいなので、 html からコピペじゃなくてそっちを使ってね。
あと、 openvpn を手元で導入せずにそれっぽく書いたのでほんとにちゃんと動くか確かめてないぽよ〜
こんな感じかな?
https://ideone.com/w5FtZ9
ideone はコード中の URL らしきものを適当にぼやかす機能があるらしく、勝手に置き換えられちゃった。
「download」のリンクでは本来の通りになるみたいなので、 html からコピペじゃなくてそっちを使ってね。
あと、 openvpn を手元で導入せずにそれっぽく書いたのでほんとにちゃんと動くか確かめてないぽよ〜
821はちみつ餃子 ◆8X2XSCHEME
2018/01/13(土) 20:47:24.55ID:SxvD86sf >>820
いいかげんに書いたけど、まじめに書くならもうちょっと小さい手続きに分割するかも
いいかげんに書いたけど、まじめに書くならもうちょっと小さい手続きに分割するかも
822デフォルトの名無しさん
2018/01/14(日) 01:34:58.23ID:+lMGsT0I >>820
ありがと😍
ありがと😍
823はちみつ餃子 ◆8X2XSCHEME
2018/01/15(月) 03:15:00.90ID:PgCT585d ちゃんと使えた?
824デフォルトの名無しさん
2018/01/15(月) 04:35:38.24ID:BnLwMjmV ちょこっと修正すれば接続は出来ました
+(use srfi-11)
- (set! chosenCountry (list-ref 1)))
+ (set! chosenCountry (list-ref args 1)))
でもCtrl-cするとエラーが出て[autovpn] try another VPN? (y/n)に進めない😱
^CMon Jan 15 04:25:51 2018 event_wait : Interrupted system call (code=4)
*** UNHANDLED-SIGNAL-ERROR: unhandled signal 2 (SIGINT)
Stack Trace:
_______________________________________
0 (sys-waitpid (process-pid process) :nohang nohang?)
at "/usr/share/gauche-0.9/0.9.5/lib/gauche/process.scm":436
1 (process-wait process)
at "./autovpn.scm":42
2 (%with-signal-handlers (list (cons (%make-sigset SIGTERM) (^ ...
expanded from (with-signal-handlers ((SIGTERM (process-send-signal process
at "./autovpn.scm":40
3 (fn item)
at "/usr/share/gauche-0.9/0.9.5/lib/gauche/procedure.scm":303
+(use srfi-11)
- (set! chosenCountry (list-ref 1)))
+ (set! chosenCountry (list-ref args 1)))
でもCtrl-cするとエラーが出て[autovpn] try another VPN? (y/n)に進めない😱
^CMon Jan 15 04:25:51 2018 event_wait : Interrupted system call (code=4)
*** UNHANDLED-SIGNAL-ERROR: unhandled signal 2 (SIGINT)
Stack Trace:
_______________________________________
0 (sys-waitpid (process-pid process) :nohang nohang?)
at "/usr/share/gauche-0.9/0.9.5/lib/gauche/process.scm":436
1 (process-wait process)
at "./autovpn.scm":42
2 (%with-signal-handlers (list (cons (%make-sigset SIGTERM) (^ ...
expanded from (with-signal-handlers ((SIGTERM (process-send-signal process
at "./autovpn.scm":40
3 (fn item)
at "/usr/share/gauche-0.9/0.9.5/lib/gauche/procedure.scm":303
825はちみつ餃子 ◆8X2XSCHEME
2018/01/19(金) 06:28:45.76ID:Sx7ZjBeS >>824
あー、たぶんやけどシグナルマスクがアレなんとちゃうかな。
先にチャイルドプロセスにシグナルが伝播して終了しとんのにシグナルを送ろうとしてもうそのプロセスのうなっとるって感じ。
Windows だとシグナルマスクはなんにも意味なくて、 Unix (POSIX ?) とは扱いが違うんで、ワイにはようわからんのやわ。
すまんの
あー、たぶんやけどシグナルマスクがアレなんとちゃうかな。
先にチャイルドプロセスにシグナルが伝播して終了しとんのにシグナルを送ろうとしてもうそのプロセスのうなっとるって感じ。
Windows だとシグナルマスクはなんにも意味なくて、 Unix (POSIX ?) とは扱いが違うんで、ワイにはようわからんのやわ。
すまんの
826デフォルトの名無しさん
2018/01/19(金) 20:50:44.46ID:mTCJnuoL 自分でも調べてみるわ😷
827デフォルトの名無しさん
2018/01/20(土) 19:46:46.44ID:5w5DrmOx :optional引数ってどうやって指定するんですか(?_?)
828はちみつ餃子 ◆8X2XSCHEME
2018/01/21(日) 02:44:01.85ID:+OtUX/+i Scheme でオプショナル引数を受け取る手続きをどう書くか? という意味?
829デフォルトの名無しさん
2018/01/21(日) 03:29:23.34ID:88fiVAag オプショナル引数を受け取れる手続きにどうやって渡すかという意味でつ
830デフォルトの名無しさん
2018/01/21(日) 04:44:31.01ID:+OtUX/+i それって聞かなきゃわからんような要素あるか?
普通に引数を書く以外にすることないだろ。
普通に引数を書く以外にすることないだろ。
831デフォルトの名無しさん
2018/02/03(土) 09:20:23.41ID:AXuwnjr7 はちみつ餃子 ◆8X2XSCHEME怒らせたら大したもんやで
832デフォルトの名無しさん
2018/02/03(土) 14:16:47.87ID:Rohe4eLB (apply オプショナル引数付き関数 (list 引数))
こうです
こうです
833はちみつ餃子 ◆8X2XSCHEME
2018/02/03(土) 18:37:12.13ID:h6JvH1q6 あー、なるほど、そういうことを聞きたかったのか。
834デフォルトの名無しさん
2018/02/23(金) 00:09:07.20ID:Gx1M+RW0 Lisp勉強するのに、白と黒の扉、聖霊の箱って役に立つ?
>>834
amazon でみたところ、「白と黒の扉」とかは、オートマトンやチューリングマシンの話だから lisp とはあまり関係ないんじゃないかな?
いや、 lisp でオートマトンやチューリングマシンを記述したいのだったら話は別だが
この手の話は、私は手元に
https://www.amazon.co.jp/dp/4627805500/
を置いて逐次参照しています、チューリングマシンの適当な発展書があれば、教えていただけるとうれしい
amazon でみたところ、「白と黒の扉」とかは、オートマトンやチューリングマシンの話だから lisp とはあまり関係ないんじゃないかな?
いや、 lisp でオートマトンやチューリングマシンを記述したいのだったら話は別だが
この手の話は、私は手元に
https://www.amazon.co.jp/dp/4627805500/
を置いて逐次参照しています、チューリングマシンの適当な発展書があれば、教えていただけるとうれしい
836デフォルトの名無しさん
2018/02/23(金) 20:04:19.51ID:VPGO0qVd837デフォルトの名無しさん
2018/02/23(金) 20:31:20.28ID:VPGO0qVd >>835
激しくすれ違いだけど
http://www.saiensu.co.jp/?page=book_details&ISBN=ISBN978-4-7819-9929-6&YEAR=2017
とか
http://gihyo.jp/book/2015/978-4-7741-7270-5
とか
激しくすれ違いだけど
http://www.saiensu.co.jp/?page=book_details&ISBN=ISBN978-4-7819-9929-6&YEAR=2017
とか
http://gihyo.jp/book/2015/978-4-7741-7270-5
とか
838デフォルトの名無しさん
2018/02/24(土) 10:43:23.87ID:luJPVo2x >>835-836
わかったそのうち読んでみる
わかったそのうち読んでみる
839デフォルトの名無しさん
2018/02/25(日) 21:58:20.05ID:a878t0wv もねまね鳥をまねる
スマリヤン先生って去年亡くなってたのか
120歳まで生きると思ってた
スマリヤン先生って去年亡くなってたのか
120歳まで生きると思ってた
840はちみつ餃子 ◆8X2XSCHEME
2018/02/25(日) 22:22:47.90ID:ZmnJQjxy スマリヤンって関西っぽい響きがあるよね。
スマリやん?www
スマリやん?www
841デフォルトの名無しさん
2018/02/25(日) 23:10:56.46ID:jsjHDqU/ >>839
あれはチューリングマシンじゃなくてコンビネータ
あれはチューリングマシンじゃなくてコンビネータ
842デフォルトの名無しさん
2018/02/28(水) 22:11:14.24ID:rEovxY4/ >>840
ああっ昔駄洒落自動生成機を作ろうとした黒歴史を思い出した
ああっ昔駄洒落自動生成機を作ろうとした黒歴史を思い出した
843デフォルトの名無しさん
2018/03/04(日) 07:44:31.66ID:TAStDbGK すまん。初心者です。教えてください。
仮に学校の比較?などを扱うプログラムを作ろうとしていて、schoolという1つの学校の情報をまとめたクラスを作るとします。
そのクラスの中に、以下のような学生の情報をまとめたテーブルの情報をぶち込みたいとして、どのようにこれらのテーブルをschoolクラス内に保存するのがいいですか。
名前 整理番号 性別 2ちゃんねら 馬鹿 橋本環奈好き 年齢
taro 0 #\M t t nil 16
hanako 1 #\F nil t t 16
nagisa 2 #\L nil nil t 18
hoge
piyo
foobar
...
学校によって人数は若干違いますが、基本的にテーブルの大きさはそれほど大きくないとします。
それぞれの要素を頻繁に検索・参照する必要があります。
僕が思いつくのは、
・schoolのstudentsというスロットに、1人のデータの1つのリスト・構造体・クラスにして、そのリストとして保存。
・ハッシュテーブルをつかって、下記のような形で保存。
2CHP ((NAGISA NIL) (HANAKO NIL) (TARO T))
BAKAP ((NAGISA T) (HANAKO T) (TARO T))
ぐらいなのですが、このうちどれがおすすめとか、これら以外にもっと便利な方法などありましたら教えてください。
よろしくお願いいたします。
仮に学校の比較?などを扱うプログラムを作ろうとしていて、schoolという1つの学校の情報をまとめたクラスを作るとします。
そのクラスの中に、以下のような学生の情報をまとめたテーブルの情報をぶち込みたいとして、どのようにこれらのテーブルをschoolクラス内に保存するのがいいですか。
名前 整理番号 性別 2ちゃんねら 馬鹿 橋本環奈好き 年齢
taro 0 #\M t t nil 16
hanako 1 #\F nil t t 16
nagisa 2 #\L nil nil t 18
hoge
piyo
foobar
...
学校によって人数は若干違いますが、基本的にテーブルの大きさはそれほど大きくないとします。
それぞれの要素を頻繁に検索・参照する必要があります。
僕が思いつくのは、
・schoolのstudentsというスロットに、1人のデータの1つのリスト・構造体・クラスにして、そのリストとして保存。
・ハッシュテーブルをつかって、下記のような形で保存。
2CHP ((NAGISA NIL) (HANAKO NIL) (TARO T))
BAKAP ((NAGISA T) (HANAKO T) (TARO T))
ぐらいなのですが、このうちどれがおすすめとか、これら以外にもっと便利な方法などありましたら教えてください。
よろしくお願いいたします。
844843
2018/03/04(日) 08:03:30.14ID:TAStDbGK 作ったハッシュテーブルをschoolのstudentsスロットにぶち込むと言うことです。
あと、nagisaさんは馬鹿ではありません。失礼しました。
こーいうクラスとかの設計の基本と言うか定石ってどうやって勉強したらええの?
あと、nagisaさんは馬鹿ではありません。失礼しました。
こーいうクラスとかの設計の基本と言うか定石ってどうやって勉強したらええの?
845はちみつ餃子 ◆8X2XSCHEME
2018/03/04(日) 09:04:58.34ID:R9gQD4Ga 何が良くて何が悪いかなんてやってみなきゃわからんよ。
まず動くものを作ってから出来が悪いと思ったところを直していったらいい。
LISP の良さってそういうとこだろ。
まず動くものを作ってから出来が悪いと思ったところを直していったらいい。
LISP の良さってそういうとこだろ。
846デフォルトの名無しさん
2018/03/04(日) 13:12:25.83ID:lKMWv6ic studentクラスの定義がまず先かな
あとstudentsはキーを何にするかが問題
多分名前なんだろうけど、他の項目でも取り出したいときはハッシュテーブルだと面倒だから単に配列でも良いと思うがな
あとstudentsはキーを何にするかが問題
多分名前なんだろうけど、他の項目でも取り出したいときはハッシュテーブルだと面倒だから単に配列でも良いと思うがな
847デフォルトの名無しさん
2018/03/04(日) 17:37:51.82ID:A+6ka4SL848はちみつ餃子 ◆8X2XSCHEME
2018/03/04(日) 18:07:26.80ID:R9gQD4Ga オブジェクトシステムを積極的に使うべきかどうかは確かに場合によるし使わなくても割といけるが、
関数型とオブジェクト指向は直行する概念で、関数型であるからオブジェクトシステムの価値が低いというわけじゃない。
関数型とオブジェクト指向は直行する概念で、関数型であるからオブジェクトシステムの価値が低いというわけじゃない。
849デフォルトの名無しさん
2018/03/04(日) 20:03:49.57ID:A+6ka4SL CLOSは初心者に分かりにくい
Lisp自体もそうだけどさらに分かりにくい
Lisp自体もそうだけどさらに分かりにくい
850デフォルトの名無しさん
2018/03/04(日) 21:45:17.24ID:t2oIRDJW CLOSみたいなんじゃなくてもっと言語仕様に密着したオブジェクトシステムがあればと思う
例えばコンスセルはcarとcdrをメンバーに持つクラスみたいな
Gaucheってそうなってんだっけ?
例えばコンスセルはcarとcdrをメンバーに持つクラスみたいな
Gaucheってそうなってんだっけ?
851デフォルトの名無しさん
2018/03/04(日) 21:49:01.63ID:76y9+wl8 LispでSmalltalk実装すれば解決
852デフォルトの名無しさん
2018/03/04(日) 22:35:38.01ID:qI2WOoIZ オブジェクト志向うんぬんの空気読まずにカキコ
>>844
>こーいうクラスとかの設計の基本と言うか定石ってどうやって勉強したらええの?
LISPというよりも、どちらかというとデータベース設計が主題になるね
もし手早くSchemeで小規模なデータベースを実装したいのであれば、
SLIBと呼ばれるよく知られたライブラリに含まれている
データベースを使うのが最短だと思う
・The SLIB Portable Scheme Library
http://people.csail.mit.edu/jaffer/SLIB
日本語では、以下の書籍で文献データベースを主題として丁寧に解説されている
・入門Scheme
- Schcme入門からXツールキットを使ったリレーショナルデータベースプログラムまで
https://www.amazon.co.jp/dp/4879669547
もしLISP(による実装)を離れて一般的なデータベース設計そのものを勉強するなら、
たとえば定番の入門書(教科書)である以下の書籍の前半を読む
・リレーショナルデータベース入門―データモデル・SQL・管理システム・NoSQL
https://www.amazon.co.jp/dp/4781913903
もしLISPプログラミングに自信があり、その上で広義のデータベースとして
「LISPによる知識表現プログラミング」を習得したいのなら、
遠回りになるけどSICP本の「4.4章 論理プログラミング」への挑戦を勧める
>>844
>こーいうクラスとかの設計の基本と言うか定石ってどうやって勉強したらええの?
LISPというよりも、どちらかというとデータベース設計が主題になるね
もし手早くSchemeで小規模なデータベースを実装したいのであれば、
SLIBと呼ばれるよく知られたライブラリに含まれている
データベースを使うのが最短だと思う
・The SLIB Portable Scheme Library
http://people.csail.mit.edu/jaffer/SLIB
日本語では、以下の書籍で文献データベースを主題として丁寧に解説されている
・入門Scheme
- Schcme入門からXツールキットを使ったリレーショナルデータベースプログラムまで
https://www.amazon.co.jp/dp/4879669547
もしLISP(による実装)を離れて一般的なデータベース設計そのものを勉強するなら、
たとえば定番の入門書(教科書)である以下の書籍の前半を読む
・リレーショナルデータベース入門―データモデル・SQL・管理システム・NoSQL
https://www.amazon.co.jp/dp/4781913903
もしLISPプログラミングに自信があり、その上で広義のデータベースとして
「LISPによる知識表現プログラミング」を習得したいのなら、
遠回りになるけどSICP本の「4.4章 論理プログラミング」への挑戦を勧める
853はちみつ餃子 ◆8X2XSCHEME
2018/03/05(月) 00:38:23.33ID:Q2HqOyhm >>849
どうだろうなぁ。 初心者っていうか人によるんじゃね。
俺は JavaScript のプロトタイプベースのクソさに辟易した (実利があるのはわかってはいる) けど、
Gauche の (CLOS 風の) オブジェクトシステムにはそんなに忌避感ないし。
どうだろうなぁ。 初心者っていうか人によるんじゃね。
俺は JavaScript のプロトタイプベースのクソさに辟易した (実利があるのはわかってはいる) けど、
Gauche の (CLOS 風の) オブジェクトシステムにはそんなに忌避感ないし。
854843
2018/03/05(月) 05:06:56.57ID:HTepcGeJ みなさん、アドバイス・参考書の紹介などありがとうございます。
いろいろ自分で試してみて、どれがいいか決めようと思います。
とりあえずの方針としては、school-baseみたいなクラスの下に、studentsクラスを作って
そこにテーブル属性ごとにスロットを作って、alist形式でぶち込むことにしました。
キーの設定やら検索の便宜やら考えた結果、alistが一番手軽そうだと言うことで。
BAKAP ((taro.t) (hanako) (nagisa.t) ... )
みたいな感じで。学生を単位にデータを作ると扱いづらそうなので。
いろいろ自分で試してみて、どれがいいか決めようと思います。
とりあえずの方針としては、school-baseみたいなクラスの下に、studentsクラスを作って
そこにテーブル属性ごとにスロットを作って、alist形式でぶち込むことにしました。
キーの設定やら検索の便宜やら考えた結果、alistが一番手軽そうだと言うことで。
BAKAP ((taro.t) (hanako) (nagisa.t) ... )
みたいな感じで。学生を単位にデータを作ると扱いづらそうなので。
855デフォルトの名無しさん
2018/03/05(月) 22:58:53.34ID:uKMy0Btp オブジェクト指向的には
学生ごとにインスタンスを生成して
各属性はインスタンスのスロットに入れるのが自然な実装だろう
属性が動的に変わるなら
そこをalist/plistにするか
プロトタイプ思考のOOPSを使うといい
学生ごとにインスタンスを生成して
各属性はインスタンスのスロットに入れるのが自然な実装だろう
属性が動的に変わるなら
そこをalist/plistにするか
プロトタイプ思考のOOPSを使うといい
856デフォルトの名無しさん
2018/03/07(水) 19:56:08.11ID:YoTLFFGw 本屋に行ったらLittle Proverの和訳が出ててびっくりした
857デフォルトの名無しさん
2018/03/08(木) 00:07:13.06ID:SsdsVhWr858デフォルトの名無しさん
2018/03/08(木) 23:01:12.93ID:w9PzfbW0 またkaizenさんが和歌でレビュー書いてるのかと思った
859デフォルトの名無しさん
2018/03/11(日) 23:12:35.97ID:TCP/sl3z 教えてください。
cxmlで150mbぐらいのファイルをparseしようとしたら、
メモリのリミット来てるでーって怒られてダメでした。
巨大ファイルの扱い方教えてください。
cxmlで150mbぐらいのファイルをparseしようとしたら、
メモリのリミット来てるでーって怒られてダメでした。
巨大ファイルの扱い方教えてください。
860859
2018/03/12(月) 03:24:23.18ID:/MpQ/gxq saxとかklacksってのを使えば良いのか。
どうやっても空白を拾ってしまう。何でだ。
いろいろ頭痛い。
どうやっても空白を拾ってしまう。何でだ。
いろいろ頭痛い。
861デフォルトの名無しさん
2018/03/12(月) 17:46:56.89ID:tR8Qr250862はちみつ餃子 ◆8X2XSCHEME
2018/03/12(月) 19:42:56.53ID:wZFlYBXj >>860
空白はそのままに認識するのが XML の規約じゃなかったっけ。
空白を除去したいかどうかはアプリケーション側の裁量。
よく使われるライブラリなら何かオプションを持ってたりすることはあるかもしれんけど。
空白はそのままに認識するのが XML の規約じゃなかったっけ。
空白を除去したいかどうかはアプリケーション側の裁量。
よく使われるライブラリなら何かオプションを持ってたりすることはあるかもしれんけど。
863デフォルトの名無しさん
2018/03/19(月) 16:28:35.15ID:wWyAeyoL これがLispだ!は教科書っぽくていいな
これと実践あたりを順を追って読んでみようと思う
それからSICPにいこうかな
竹内初めてのとかLand of Lispみたいなノリの本こそLispらしいのだろうが、ついていけないと嫌いになる^^;
LittleはCPSからいきなり難しくなるし、その前も背景知識ないと消化不足になる
Yコンビネータも一応流れはつかめても、自分みたいな頭良くない初学者にはあの試行錯誤から何かを掴むのは難しい
Lispは表面的な軽さと話してることが乖離している書籍が多いし、独学者にはキツイ
これらが、同時並行的にあーなるほど、となると悟ったという事になるのかな?
これと実践あたりを順を追って読んでみようと思う
それからSICPにいこうかな
竹内初めてのとかLand of Lispみたいなノリの本こそLispらしいのだろうが、ついていけないと嫌いになる^^;
LittleはCPSからいきなり難しくなるし、その前も背景知識ないと消化不足になる
Yコンビネータも一応流れはつかめても、自分みたいな頭良くない初学者にはあの試行錯誤から何かを掴むのは難しい
Lispは表面的な軽さと話してることが乖離している書籍が多いし、独学者にはキツイ
これらが、同時並行的にあーなるほど、となると悟ったという事になるのかな?
■ このスレッドは過去ログ倉庫に格納されています
