なんだかんだ言って,ホントはみんなLispが好きなんだろ?(藁)
というわけで,語ろうや.
プログラム技術板のLisp Schemeスレ
http://pc.2ch.net/test/read.cgi/tech/1016211619/
Lisp@UNIX版
1名無しさん@お腹いっぱい。
NGNGNGNG
103名無しさん@お腹いっぱい。
NGNG scwmやgwmを使ってる奴少ないな。
NGNG
gwmはlisp類じゃないような。見た目はlispっぽいけど。
Cとc-shellぐらい違う。
Cとc-shellぐらい違う。
105名無しさん@お腹いっぱい。
NGNG scwmは半年前に使ってみたけど、不安定だったなー
NGNG
>>101
(let ()
(call/cc(lambda(break)
〜なんかの処理〜
停止したいときにbreakに括弧を付けて呼びだすと、
)) ; lambda call/cc
ここにジャンプする
) ; let
このbreakの値(=継続)を保存しておくと、任意の位置で中断と再開ができたりする。
応用は、デバッガ、強調型マルチタスク、コルーチン、任意の処理のハンドル化、など。
(let ()
(call/cc(lambda(break)
〜なんかの処理〜
停止したいときにbreakに括弧を付けて呼びだすと、
)) ; lambda call/cc
ここにジャンプする
) ; let
このbreakの値(=継続)を保存しておくと、任意の位置で中断と再開ができたりする。
応用は、デバッガ、強調型マルチタスク、コルーチン、任意の処理のハンドル化、など。
107名無しさん@お腹いっぱい。
NGNG あ〜そろそろACL更新しなきゃ
NGNG
trial 版て Composer 使えないんだもん。つまんない。< ACL
NGNG
cmuclでそこそこ幸せなんですけど、
ACLってそんなに(・∀・)イイ!!ですか?
ACLってそんなに(・∀・)イイ!!ですか?
NGNG
>>109
なんだか動作が速い気がする。
なんだか動作が速い気がする。
NGNG
cmuclのwindows版は無いんですか?(かなり探したけど見つからなかった)
NGNG
>>111
ありません。clispで我慢汁。
ありません。clispで我慢汁。
NGNG
そうですか。残念。
cmulispとclispの違いって何ですか?
cmulispとclispの違いって何ですか?
NGNG
ACLの最適化はメチャすごくて、
ほとんどC++で書いたのと変わらない速度になるそうだ。
ほとんどC++で書いたのと変わらない速度になるそうだ。
NGNG
>>114
この辺の話ですか?
http://www.graco.c.u-tokyo.ac.jp/~kamina/lisp/bench.html
取り上げている問題が、再帰関数と、リスト処理
だから、このページの ACL と C++ との比較は
ちょっと当てにならない気がする。
この辺の話ですか?
http://www.graco.c.u-tokyo.ac.jp/~kamina/lisp/bench.html
取り上げている問題が、再帰関数と、リスト処理
だから、このページの ACL と C++ との比較は
ちょっと当てにならない気がする。
116名無しさん@お腹いっぱい。
NGNG どっかに物凄い種類の言語のベンチ比較したサイトなかった?
NGNG
118166
NGNG そうそうこれこれ。ありがとさん。
119116
NGNG s/16/11/
NGNG
Javaやスクリプトなんかは比較にならないくらい速いねえ。
121名無しさん@お腹いっぱい。
NGNG >>120
何処みてるの?
何処みてるの?
122名無しさん@お腹いっぱい。
NGNG age
NGNG
おいおい、そろそろ保守しないとヤヴァインじゃない?
124名無しさん@お腹いっぱい。
NGNG 変数に型が無いからな。
NGNG
(age Lisp@UNIX版)
NGNG
(defun age (thread)
(case thread
((http://pc3.2ch.net/test/read.cgi/tech/1031560687/l50) 'age)
((http://pc.2ch.net/test/read.cgi/unix/1019926525/l50) 'sage)
((http://pc.2ch.net/test/read.cgi/prog/1031179059/l50) 'hage)))
(case thread
((http://pc3.2ch.net/test/read.cgi/tech/1031560687/l50) 'age)
((http://pc.2ch.net/test/read.cgi/unix/1019926525/l50) 'sage)
((http://pc.2ch.net/test/read.cgi/prog/1031179059/l50) 'hage)))
NGNG
cmuclのgcについて質問してもいいですか?
NGNG
NGNG
>>128
えっと、Debian GNU/Linuxのwoodyのcmuclとsbcl(Steel Bank CommonLisp)を
使っています。
cmuclのドキュメント(cmu-user.ps)を見ると、
*bytes-consed-between-gcs*という大域変数で、どこまでコンスが作られたら、
GCが行われるか決定されるか設定できるみたいに書いてあります。
デフォルトでは2000000になっているそうです。
一方、sbclでのデフォルトは20Mになっているそうです。
例えば古典的な8queensなんかを(コンパイルして)実行すると、
cmuclではしょっちゅうGCをはじめるのでsbclの10倍以上時間がかかります。
cmuclで(defparameter *bytes-consed-between-gcs* 20000000)とかってしても、
GCが行われる頻度は変わりません。
どうやったらcmuclでもGCでマメに止まらないようにできるのでしょうか。
厨房でスマソ。
えっと、Debian GNU/Linuxのwoodyのcmuclとsbcl(Steel Bank CommonLisp)を
使っています。
cmuclのドキュメント(cmu-user.ps)を見ると、
*bytes-consed-between-gcs*という大域変数で、どこまでコンスが作られたら、
GCが行われるか決定されるか設定できるみたいに書いてあります。
デフォルトでは2000000になっているそうです。
一方、sbclでのデフォルトは20Mになっているそうです。
例えば古典的な8queensなんかを(コンパイルして)実行すると、
cmuclではしょっちゅうGCをはじめるのでsbclの10倍以上時間がかかります。
cmuclで(defparameter *bytes-consed-between-gcs* 20000000)とかってしても、
GCが行われる頻度は変わりません。
どうやったらcmuclでもGCでマメに止まらないようにできるのでしょうか。
厨房でスマソ。
NGNG
>>129
cmuclは使ったことないです、お手上げ。
http://pc3.2ch.net/test/read.cgi/tech/1031560687/とか
http://pc.2ch.net/test/read.cgi/prog/1031179059/
で聞いてみてちょ、力になれなくてスマソ。
cmuclは使ったことないです、お手上げ。
http://pc3.2ch.net/test/read.cgi/tech/1031560687/とか
http://pc.2ch.net/test/read.cgi/prog/1031179059/
で聞いてみてちょ、力になれなくてスマソ。
NGNG
8queenでガベコレいるか?
132名無しさん@お腹いっぱい。
NGNG133名無しさん@お腹いっぱい。
NGNG -- Variable: *bytes-consed-between-gcs*
CMU Common Lisp automatically GC's whenever the amount of memory
allocated to dynamic objects exceeds the value of an internal
variable. After each GC, the system sets this internal variable to
the amount of dynamic space in use at that point plus the value of
the variable `ext:*bytes-consed-between-gcs*'. The default value
is 2000000.
英語よくわからんのであれだが
GCしはじめる数値を処理系がこの変数にセットするだけでないかい。
この変数を変えるとGCしなくなるんじゃなく。
CMU Common Lisp automatically GC's whenever the amount of memory
allocated to dynamic objects exceeds the value of an internal
variable. After each GC, the system sets this internal variable to
the amount of dynamic space in use at that point plus the value of
the variable `ext:*bytes-consed-between-gcs*'. The default value
is 2000000.
英語よくわからんのであれだが
GCしはじめる数値を処理系がこの変数にセットするだけでないかい。
この変数を変えるとGCしなくなるんじゃなく。
134名無しさん@XEmacs
NGNG CMU Common Lisp は動的オブジェクトに確保されたメモリの量が内部変数の値を超える
たびに自動的に GC する。各 GC の後、その時点で使用されている動的スペースの量に
変数 `ext:*bytes-consed-between-gcs*' の値を加えたものを内部変数にセットする。
初期値は 200000である。
たびに自動的に GC する。各 GC の後、その時点で使用されている動的スペースの量に
変数 `ext:*bytes-consed-between-gcs*' の値を加えたものを内部変数にセットする。
初期値は 200000である。
135名無しさん@お腹いっぱい。
NGNG .cmucl-initに
(setf (bytes-consed-between-gcs) 20000000)
してみました。
* (time (queens 10))
すると、
[GC threshold exceeded with 21,062,632 bytes in use. Commencing GC.]
[GC completed with 1,119,416 bytes retained and 19,943,216 bytes freed.]
[GC will next occur when at least 21,119,416 bytes are in use.]
ですのでコンスが20Mを越えたときにGCが始まるようになりますた。
ちなみに(queens 10)だと24回GCして37secかかります。
sbclですと一度もGCしないで0.85secで(queens 10)できますた。
なんでこんなに違うんだろう……
(setf (bytes-consed-between-gcs) 20000000)
してみました。
* (time (queens 10))
すると、
[GC threshold exceeded with 21,062,632 bytes in use. Commencing GC.]
[GC completed with 1,119,416 bytes retained and 19,943,216 bytes freed.]
[GC will next occur when at least 21,119,416 bytes are in use.]
ですのでコンスが20Mを越えたときにGCが始まるようになりますた。
ちなみに(queens 10)だと24回GCして37secかかります。
sbclですと一度もGCしないで0.85secで(queens 10)できますた。
なんでこんなに違うんだろう……
136135
NGNG 勘違いしてましたスマソ。
cmuclでは
* (load "8queens.lsp")
* (compile-file "8queens.lsp")
しても、
* (load "8queens.x86f")
するまでは8queensの関数はコンパイルされていないものが用いられる
ことに気づいていませんでした。
sbclではトップレベルの関数は即コンパイルしているんで違うのあたり前田った。
恥ずかしい……
cmuclでは
* (load "8queens.lsp")
* (compile-file "8queens.lsp")
しても、
* (load "8queens.x86f")
するまでは8queensの関数はコンパイルされていないものが用いられる
ことに気づいていませんでした。
sbclではトップレベルの関数は即コンパイルしているんで違うのあたり前田った。
恥ずかしい……
137名無しさん@お腹いっぱい。
NGNG (gc)
NGNG
>>137
gcしたらこのスレは消えると思うが。
gcしたらこのスレは消えると思うが。
NGNG
>>138
スレじゃなくて、レスが消えたな。
スレじゃなくて、レスが消えたな。
NGNG
(sage)
NGNG
[1]>(sage)
*** - EVAL: the function SAGE is undefined
1. Break [2]>_
*** - EVAL: the function SAGE is undefined
1. Break [2]>_
NGNG
(defun sage () (sage))
NGNG
[1]> (defun sage () (sage))
** - Continuable Error
DEFUN/DEFMACRO(SAGE): #<PACKAGE COMMON-LISP> is locked
If you continue (by typing 'continue'): Ignore the lock and proceed
1. Break [2]>
** - Continuable Error
DEFUN/DEFMACRO(SAGE): #<PACKAGE COMMON-LISP> is locked
If you continue (by typing 'continue'): Ignore the lock and proceed
1. Break [2]>
NGNG
寂れてるね。emacsスレがあるからいらないか。
NGNG
(寂れてますね)
146名無しさん@お腹いっぱい。
NGNG cl-httpd を cmucl 18d で動かせた人居ますか?なんか、cmucl 用のパッチを
当ててもコンパイルできないんすけど…。
当ててもコンパイルできないんすけど…。
147名無しさん@お腹いっぱい。
NGNG age
148名無しさん@お腹いっぱい。
NGNG CLOSが気に入ってます。
Allegro CLを研究室の予算で買ってもらおうかな…
Allegro CLを研究室の予算で買ってもらおうかな…
NGNG
>>148 ええのぅ。漏れもホスィけど金無いから cmucl で我慢。
windows では clisp か newlisp かなぁ…。
windows では clisp か newlisp かなぁ…。
150名無しさん@Emacs
NGNG clawk 便利 age
NGNG
NGNG
(´-`).。oO(そんな事言える 151 も同類では?)
NGNG
(´-`).。oO(他人を推量できるからには 151 は強者かつ変態である、に一票)
154151
NGNG コードのぱっと見だけでもだいぶ違和感がある。(ないかい?)
http://www.geocities.com/mparker762/clawk.html
ケナしたりクサしたりしてるつもりはなくて、正直な感想です。
強まった lisper & awker ならすんなりイケるんですかね。
ま、も少し遊んでみます。
http://www.geocities.com/mparker762/clawk.html
ケナしたりクサしたりしてるつもりはなくて、正直な感想です。
強まった lisper & awker ならすんなりイケるんですかね。
ま、も少し遊んでみます。
155150
NGNG …全然修行を積んでないということは,漏れは…で,でも,少なくとも
regex は便利っすよね?
(let ((m (compile-str "[:digit:]+"))) (scan-str m "abc 012 cde"))
のように,compile-str で明示的に正規表現をコンパイルできて (゚д゚)ウマー
しかも GNU regex より速いそーですし.ウマウマ
regex は便利っすよね?
(let ((m (compile-str "[:digit:]+"))) (scan-str m "abc 012 cde"))
のように,compile-str で明示的に正規表現をコンパイルできて (゚д゚)ウマー
しかも GNU regex より速いそーですし.ウマウマ
156名無しさん@お腹いっぱい。
NGNG おまえら,xml パースには何使ってますか?やっぱ Franz の xmlutils ですか?
157名無しさん@お腹いっぱい。
NGNG >>150 regex よりほんとに速いのか誰か確かめてくれ.
158名無しさん@お腹いっぱい。
NGNG >57
regex.tgzの中にテストコード入ってるよ
regex.tgzの中にテストコード入ってるよ
159名無しさん@お腹いっぱい。
NGNG 試用版Xanalys LispWorks 4.2はここ
http://www.lispworks.com/downloads/lw-personal-edition.html
http://www.lispworks.com/downloads/lw-personal-edition.html
NGNG
>159 結構制限キツイなぁ….Allegro に比べてどーなんだろう.
使ってる人の感想キボンヌ.でもやっぱ個人で買うにはちと高いなー.
使ってる人の感想キボンヌ.でもやっぱ個人で買うにはちと高いなー.
161名無しさん@お腹いっぱい。
NGNG で,早速試してみますた.
"A*BD" Lisp : 4 secs, 272480/sec, C : 47 secs, 21276/sec
"(A|A)*BD" Lisp : 4 secs, 253807/sec, C : 167 secs, 5988/sec
"(A|B)*BD" Lisp : 4 secs, 233100/sec, C : 163 secs, 6134/sec
"(B|A)*BD" Lisp : 4 secs, 231481/sec, C : 183 secs, 5464/sec
"((A*B)|(AC))D" Lisp : 4 secs, 237530/sec, C : 95 secs, 10526/sec
"((A*B)|(A*C))D" Lisp : 4 secs, 242131/sec, C : 101 secs, 9900/sec
"[Aa]*[Bb][Dd]" Lisp: 5 secs, 216450/sec, C : 49 secs, 20408/sec
さすがに文字列の比較(string= と strcmp)は C のが 2 倍くらい速かったですが.
これで安心して使えます.ナカナカ(・∀・)イイ!!
"A*BD" Lisp : 4 secs, 272480/sec, C : 47 secs, 21276/sec
"(A|A)*BD" Lisp : 4 secs, 253807/sec, C : 167 secs, 5988/sec
"(A|B)*BD" Lisp : 4 secs, 233100/sec, C : 163 secs, 6134/sec
"(B|A)*BD" Lisp : 4 secs, 231481/sec, C : 183 secs, 5464/sec
"((A*B)|(AC))D" Lisp : 4 secs, 237530/sec, C : 95 secs, 10526/sec
"((A*B)|(A*C))D" Lisp : 4 secs, 242131/sec, C : 101 secs, 9900/sec
"[Aa]*[Bb][Dd]" Lisp: 5 secs, 216450/sec, C : 49 secs, 20408/sec
さすがに文字列の比較(string= と strcmp)は C のが 2 倍くらい速かったですが.
これで安心して使えます.ナカナカ(・∀・)イイ!!
162Lisper 心得見習い
NGNG >159 Windows 用なら Corman Lisp も良いと聞きます。聞いただけですが。
http://www.cormanlisp.com/index.html
cmucl の 12/19 日版のバイナリが公開されてますが試した人居ます?
早速入れてみましたが clocc のビルドにこけて 18d に戻しちゃいました。
http://www.cormanlisp.com/index.html
cmucl の 12/19 日版のバイナリが公開されてますが試した人居ます?
早速入れてみましたが clocc のビルドにこけて 18d に戻しちゃいました。
NGNG
NGNG
ロジャー コーマン(Roger Corman)と同じ綴りなので
カタカナで表記すると コーマン だろうな。
カタカナで表記すると コーマン だろうな。
NGNG
$200 か。これくらいの手頃な値段で開発環境が普及していれば、Lisp も
もっとメジャーになれたかもしれないな。しかも旧バージョンは非商用なら
無料で使えるという太っ腹ぶり。しかし Windows 専用。
もっとメジャーになれたかもしれないな。しかも旧バージョンは非商用なら
無料で使えるという太っ腹ぶり。しかし Windows 専用。
NGNG
日本語使えまつか?
NGNG
$200 なのは 12/31 までだね。
その後でも $249 だからさして高くない。
非商用ならコンパイラとランタイムはフリーみたいだよ。
旧バージョンじゃなくても。
その後でも $249 だからさして高くない。
非商用ならコンパイラとランタイムはフリーみたいだよ。
旧バージョンじゃなくても。
NGNG
なんだか Windows が欲しくなってきた sage
>>166 試せる環境があるなら是非試してみてください.
>>166 試せる環境があるなら是非試してみてください.
169166
NGNG 使ってみた。
どうも日本語のことは考えてないっぽい。
どうも日本語のことは考えてないっぽい。
NGNG
二バイト目がアレな文字の後には \ が要ったりするんですかね?
今んとこちゃんと多言語対応してるのは Allegro だけなのかな?
今んとこちゃんと多言語対応してるのは Allegro だけなのかな?
NGNG
Strong typing is for weak minds!!
172名無しさん@お腹いっぱい。
NGNG 誰も cl-httpd は使ってないのか… PortableAllegroServe を試したけど
遅かったので Apache + mod_lisp + cmucl でがんばる事にしました.
で,html の元データとして S 式を使うわけですが,SXML みたいな何か標準
のフォーマットみたいなのはあるんでしょうか? AllegroServe の htmlgen
に合わせとけばいい?
遅かったので Apache + mod_lisp + cmucl でがんばる事にしました.
で,html の元データとして S 式を使うわけですが,SXML みたいな何か標準
のフォーマットみたいなのはあるんでしょうか? AllegroServe の htmlgen
に合わせとけばいい?
NGNG
NGNG
DSSSL って SGML 文書間の変換用のスタイルシートみたいなもんだから
172 の求めているのとは違うよーな気もする。172 の「S 式からの変換」
ではそんな大層な仕掛けは不要だと思われ。つーか DSSSL 使ってる香具師
居る?
172 の求めているのとは違うよーな気もする。172 の「S 式からの変換」
ではそんな大層な仕掛けは不要だと思われ。つーか DSSSL 使ってる香具師
居る?
NGNG
Common Lisper な人々にお聞きしたいのですが、シンボルが大文字なのは
どうですか?(setf (readtable-case *readtable*) :invert) とかしてる
んですか?
どうですか?(setf (readtable-case *readtable*) :invert) とかしてる
んですか?
176名無しさん@お腹いっぱい。
NGNG >175 これやったら ilisp-mode で欝になりますた。
177名無しさん@お腹いっぱい。
NGNG 大文字だと見づらい
大文字だと怒られてる様な気もする
大文字だと怒られてる様な気もする
178名無しさん@お腹いっぱい。
NGNG (setf (readtable-case *readtable*) :preserve)
だろ?と思ったら標準の関数って全部大文字なのか…
だろ?と思ったら標準の関数って全部大文字なのか…
179名無しさん@お腹いっぱい。
NGNG clawk を使ってみた.awk よりかなーり遅いんだが,漏れ何かおかしな事してる
かな?(500 個のテキストファイルを処理して awk: 2 秒弱 clawk: 35 秒)
(defmacro $gsub! (pattern replacement &optional (source '$0))
`(setf ,source ($gsub ,pattern ,replacement ,source)))
(defun html2txt ()
($gsub! "<[^>]*>" "")
($gsub! ">" ">")
($gsub! "<" "<")
($gsub! """ "\"")
($gsub! " " " ")
($print $0))
(defvar flag nil)
(defawk egroup->txt ()
(BEGIN (setf flag nil))
(#/^<\/pre>/ (setf flag nil))
(t (if flag (html2txt)))
(#/^<!-- Body !-->/ (setf flag t)))
(defun convert ()
(with-open-file (f "./output.txt" :direction :output)
(let ((*standard-output* f))
(dolist (p (directory "home:doc/ML/emacs21/"))
(egroup->txt p)))))
かな?(500 個のテキストファイルを処理して awk: 2 秒弱 clawk: 35 秒)
(defmacro $gsub! (pattern replacement &optional (source '$0))
`(setf ,source ($gsub ,pattern ,replacement ,source)))
(defun html2txt ()
($gsub! "<[^>]*>" "")
($gsub! ">" ">")
($gsub! "<" "<")
($gsub! """ "\"")
($gsub! " " " ")
($print $0))
(defvar flag nil)
(defawk egroup->txt ()
(BEGIN (setf flag nil))
(#/^<\/pre>/ (setf flag nil))
(t (if flag (html2txt)))
(#/^<!-- Body !-->/ (setf flag t)))
(defun convert ()
(with-open-file (f "./output.txt" :direction :output)
(let ((*standard-output* f))
(dolist (p (directory "home:doc/ML/emacs21/"))
(egroup->txt p)))))
180山崎渉
NGNG (^^)
NGNG
'(リストの中の人も大変だな)
NGNG
nilのcdrなどない!
NGNG
それじゃそのまんまだろ
185名無しさん@お腹いっぱい。
NGNG 通常Lispは、メモリの階層構造性も、パイプライン化されたハードウェアの
特性も、無視した能天気で天真爛漫なインプリメントされていることが
普通なので、現代の最新CPUの性能をドブに捨てるような使い方になる。
これに関しての最近の改善努力について何か知っていたら、教えて欲しい。
特性も、無視した能天気で天真爛漫なインプリメントされていることが
普通なので、現代の最新CPUの性能をドブに捨てるような使い方になる。
これに関しての最近の改善努力について何か知っていたら、教えて欲しい。
186名無しさん
NGNG ところでGCCの中間コードってリスプなんだな。知らなかったよ。
NGNG
>>185 そ、そうなんですか? Lisp コンパイラというと AllegroCL, LispWorks
CMUCL くらいしか知らないんですが、CMUCL のドキュメント
ttp://cvs2.cons.org/ftp-area/cmucl/doc/CMUCL-design.pdf
の compiler overview を見たら考慮してそーだし、商用のコンパイラなら
当然考慮してそうですけど…。
CMUCL くらいしか知らないんですが、CMUCL のドキュメント
ttp://cvs2.cons.org/ftp-area/cmucl/doc/CMUCL-design.pdf
の compiler overview を見たら考慮してそーだし、商用のコンパイラなら
当然考慮してそうですけど…。
NGNG
SICP に載ってる scheme チップのコード効率は
どうなんだろ
実物触ったことないからわからないや
どうなんだろ
実物触ったことないからわからないや
NGNG
190名無しさん@お腹いっぱい。
NGNGNGNG
192名無しさん@お腹いっぱい。
NGNG LISPの括弧ってさ、便利だけど、
そのまま制限だよな。
いちいち一時変数使うためにletの括弧でネストしたり。
構文もそれ自体に括弧のペアが必要だし。
そのまま制限だよな。
いちいち一時変数使うためにletの括弧でネストしたり。
構文もそれ自体に括弧のペアが必要だし。
NGNG
>192
それのどこが「制限」なのか問詰めたい
それのどこが「制限」なのか問詰めたい
NGNG
つまり「両刃の剣」と言いたいんだろう
NGNG
しかしプログラムがS式ってのがlispの力の源泉だからな。
NGNG
なんでも括弧でくるめばいいからラクだけどなー
NGNG
>>192
a[i] 配列の添え字
a[2] = {1,2} 配列の要素
int(2.3) 関数呼び出し
という3種類の括弧を使うプログラミング言語もあるけど、
()だけですむLispってどうよ?よくない?
a[i] 配列の添え字
a[2] = {1,2} 配列の要素
int(2.3) 関数呼び出し
という3種類の括弧を使うプログラミング言語もあるけど、
()だけですむLispってどうよ?よくない?
198192
NGNG いや、いいんだけどさ、
1)条件式書くときとか、いちいち括弧付けてかいてかなきゃならんのがなあ。
(if (not(procedure? (...)))...)
複雑なやつになると、ものすげー気になる。
述語とかは、もうちょっと簡潔に書けないものかと。
andとかorとか。おれは疲れました。
2)単純なマクロにも括弧が必要だとか。
C言語での引数なし#defineみたいな、単純な置き換えをしたい時
でさえ括弧がいる。
(defmacro (HOGE) (if (not(procedure? (...)))...))
(if HOGE ...) ;と書けない
=>Error Unbound symbol 'HOGE'もしくは#<macro>
(if (HOGE) ...) ;こういう風に括弧付けないとexpandされない
=>(if (if (not(procedure? (...)))...) ...)
まあこれは結構どうでもいい。
3)特別な記法がないので構造体とかの要素を取り出すときなどで、
簡潔な記述ができない。
a->xみたいなのを書くのに、いちいち(get-x a)とか書くの、疲れました。
schemeの教科書とかに載ってる擬似オブジェクト指向みたいに、
(a 'x)とかは書けるけど、これ実行時ディスパッチなんだよね。
そこまで大袈裟にしたくないし。わざわざ効率悪い方法使うのもなー。
この辺、「慣れ」だけでどうにかなる問題とは思えないよ。
1)条件式書くときとか、いちいち括弧付けてかいてかなきゃならんのがなあ。
(if (not(procedure? (...)))...)
複雑なやつになると、ものすげー気になる。
述語とかは、もうちょっと簡潔に書けないものかと。
andとかorとか。おれは疲れました。
2)単純なマクロにも括弧が必要だとか。
C言語での引数なし#defineみたいな、単純な置き換えをしたい時
でさえ括弧がいる。
(defmacro (HOGE) (if (not(procedure? (...)))...))
(if HOGE ...) ;と書けない
=>Error Unbound symbol 'HOGE'もしくは#<macro>
(if (HOGE) ...) ;こういう風に括弧付けないとexpandされない
=>(if (if (not(procedure? (...)))...) ...)
まあこれは結構どうでもいい。
3)特別な記法がないので構造体とかの要素を取り出すときなどで、
簡潔な記述ができない。
a->xみたいなのを書くのに、いちいち(get-x a)とか書くの、疲れました。
schemeの教科書とかに載ってる擬似オブジェクト指向みたいに、
(a 'x)とかは書けるけど、これ実行時ディスパッチなんだよね。
そこまで大袈裟にしたくないし。わざわざ効率悪い方法使うのもなー。
この辺、「慣れ」だけでどうにかなる問題とは思えないよ。
NGNG
>>186
また釣りですか?
また釣りですか?
NGNG
単に慣れの問題
レスを投稿する
ニュース
- 戦略的互恵関係望むなら答弁撤回せよと中国 [どどん★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★3 [♪♪♪★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」 [♪♪♪★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★2 [お断り★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★11 [BFU★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★3 [お断り★]
- 【速報】高市早苗「答弁撤回はしない」経済制裁へ [931948549]
- 【悲報】高市答弁、誤解だった [834922174]
- 架空を滑空ビューーーン👊😅👊三三☁😶‍🌫🏡
- 戦略的互恵関係望むなら答弁撤回せよと中国。高市、もう後がなくなる [805596214]
- イオンモールに入ってる謎の服屋は平日やることあるの?
- LGのテレビ、最新モデルでリモコンのほとんどのボタン消したのにジャップ向けだけそのままなんだが [821395612]
