プログラミング言語Arc
あのPaul Grahamが長年考案しつつもベーパーウェアだったArcがとうとう発表された。
これを使えば今日から君もスーパーハッカーだ(*注: Arcは現在のところASCII以外の
文字を適切に扱えません)。
公式サイト
http://www.arclanguage.org/
インストール
http://www.arclanguage.org/install
チュートリアル
http://ycombinator.com/arc/tut.txt
非公式リファレンス
http://practical-scheme.net/wiliki/arcxref
* なぜArcはとりたててオブジェクト指向でないのか
http://practical-scheme.net/trans/noop-j.html
探検
【普通のやつらの】 Arc Language 0 【上を行け】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2008/02/04(月) 13:22:292008/02/07(木) 00:43:16
つまり Arc + パッケージシステム を作れば無敵w
2008/02/07(木) 00:54:04
2008/02/07(木) 01:18:07
黒田涙目w
2008/02/07(木) 01:46:35
arc> (頭良くなれー頭良くなれー 俺)
2008/02/07(木) 11:22:18
2008/02/07(木) 13:46:02
黒田さんじゃなくても現状のArcは出来はアレだと思うだろ
バージョン0のものを叩くってのは空気の読めないアホだけだよ
バージョン0のものを叩くってのは空気の読めないアホだけだよ
2008/02/07(木) 21:39:43
trace untrace って無いみたいなのでしょうがなく
こんなことをやってみた。
arc> :a
done
> (require (lib "trace.ss"))
> (trace _fact)
(_fact)
> (tl)
Use (quit) to quit, (tl) to return here after an interrupt.
arc> (fact 10)
|(_fact 10)
| (_fact 9)
| |(_fact 8)
| | (_fact 7)
| | |(_fact 6)
| | | (_fact 5)
| | | |(_fact 4)
| | | | (_fact 3)
| | | | |(_fact 2)
| | | | | (_fact 1)
| | | |[10](_fact 0)
| | | |[10]1
省略
|3628800
3628800
arc>
もっとスマートは方法はないかな? (ar-funcall(n) ... )をいじればいいのかな。
こんなことをやってみた。
arc> :a
done
> (require (lib "trace.ss"))
> (trace _fact)
(_fact)
> (tl)
Use (quit) to quit, (tl) to return here after an interrupt.
arc> (fact 10)
|(_fact 10)
| (_fact 9)
| |(_fact 8)
| | (_fact 7)
| | |(_fact 6)
| | | (_fact 5)
| | | |(_fact 4)
| | | | (_fact 3)
| | | | |(_fact 2)
| | | | | (_fact 1)
| | | |[10](_fact 0)
| | | |[10]1
省略
|3628800
3628800
arc>
もっとスマートは方法はないかな? (ar-funcall(n) ... )をいじればいいのかな。
2008/02/08(金) 06:42:25
Arc Forumでジョークなのか$かsevalでScheme関数を呼び出すってのがあるなんてやってた。
そんなの無かったので追加してみた。
(ac s env)に加える。
((eq? (xcar s) '$) (ac-seval (cadr s)))
そして
(define (ac-seval x)
`(eval ,x))
arc> (= x "hello")
"hello"
arc> (($ string-fill!) x #\a)
#<void>
arc> x
"aaaaa"
そんなの無かったので追加してみた。
(ac s env)に加える。
((eq? (xcar s) '$) (ac-seval (cadr s)))
そして
(define (ac-seval x)
`(eval ,x))
arc> (= x "hello")
"hello"
arc> (($ string-fill!) x #\a)
#<void>
arc> x
"aaaaa"
2008/02/09(土) 03:43:45
[ ... ]っていいね。かなり記述量減らせる。
明示的に変数名も入れられるとベターなんだけど。
[< a b c > ...]みたいな
明示的に変数名も入れられるとベターなんだけど。
[< a b c > ...]みたいな
2008/02/09(土) 08:05:39
記述量減らせるけど、カッコ以外の記号覚えるの嫌だ>[]
2008/02/09(土) 08:21:22
あれあれ、'とか.とか:とか#とか`とか,とか,@とか&とかいっぱいありますよ?
[]は元々違う意味ですよ?(superbrace)
[]は元々違う意味ですよ?(superbrace)
2008/02/09(土) 08:50:36
おれは#L()の方がいいよ
2008/02/09(土) 09:55:53
覚えるのが嫌だとは思わないが、カスタマイズできない構文が増えると嫌だな
しかし fn や if の定義は変更できないほうがいい
しかし fn や if の定義は変更できないほうがいい
2008/02/09(土) 10:07:42
shiro氏公開のポールエッセイに数学的だから長生きだ、
みたいな事書いてたけど、[]は数学的根拠はないよね。
if辺りの拡張も俺言語オナニーと発想レベルは同じ。
長生きしないでしょう。
みたいな事書いてたけど、[]は数学的根拠はないよね。
if辺りの拡張も俺言語オナニーと発想レベルは同じ。
長生きしないでしょう。
2008/02/09(土) 11:58:02
根拠がないなら作ればいい
たとえば、関数適用とラムダ抽象は全然違うんだから全然違うカッコを使うべきだとか
たとえば、関数適用とラムダ抽象は全然違うんだから全然違うカッコを使うべきだとか
2008/02/09(土) 15:15:45
昔は ' も無かったんだし、単なるsyntax sugarでしょ。目くじら立てるようなもんじゃない。
まあ定着するかどうかは微妙だと思うけど。
まあ定着するかどうかは微妙だと思うけど。
2008/02/09(土) 22:04:44
>>86
長生きさせる気無いんじゃない?
というか最近、彼の一流の技術者的なジョークなんじゃないかという疑いを持つようになった。
あーだこーだ言ってる俺を見てほくそ笑んでるんでは無いかと。
Ctrl-Cの人はそれに気付いてジョークで返したんでは無いかと。
そうやっていつもアイツらは俺を笑ってるんだ。クソ!
長生きさせる気無いんじゃない?
というか最近、彼の一流の技術者的なジョークなんじゃないかという疑いを持つようになった。
あーだこーだ言ってる俺を見てほくそ笑んでるんでは無いかと。
Ctrl-Cの人はそれに気付いてジョークで返したんでは無いかと。
そうやっていつもアイツらは俺を笑ってるんだ。クソ!
2008/02/09(土) 22:24:53
>>89
Paranoid schizophreniaの可能性がありますので医師に御相談ください
Paranoid schizophreniaの可能性がありますので医師に御相談ください
2008/02/09(土) 22:29:35
100%ジョークってことはないが
Arcのソースにdefine-syntaxが一度たりとも出てこないのはわざとだろうなぁ
Arcのソースにdefine-syntaxが一度たりとも出てこないのはわざとだろうなぁ
2008/02/10(日) 10:16:44
2008/02/10(日) 11:12:31
>>92
なめんな。お前みたいな俄かLisperとは違うわ。
大した手間でもないから、わざわざ自分の
処理系には必ず入れていたぐらい精通してるよ。
後でマイナーな存在だと知ったけどな。
結局、閉じ括弧が減った程度じゃ、
一般人にLispは受け入れられないと悟った。
俺も色々変態構文は作ってきた方だが、
arcの[]みたいな使い方は思いつかなかった。
#fn <args> <expr> => (lambda <args> <expr>)
みたいな物ならいくつもあるが。
なめんな。お前みたいな俄かLisperとは違うわ。
大した手間でもないから、わざわざ自分の
処理系には必ず入れていたぐらい精通してるよ。
後でマイナーな存在だと知ったけどな。
結局、閉じ括弧が減った程度じゃ、
一般人にLispは受け入れられないと悟った。
俺も色々変態構文は作ってきた方だが、
arcの[]みたいな使い方は思いつかなかった。
#fn <args> <expr> => (lambda <args> <expr>)
みたいな物ならいくつもあるが。
2008/02/10(日) 11:22:21
ニヤニヤ
2008/02/10(日) 12:31:02
>> 93
わりと論旨がとっちらかってて、なにが言いたいのか分からないんだけど、
でも、なんだか凄い人なのは理解できたかも!!!!!
Arcに超カッコが取り入れられる日も近い!
一般人への啓蒙のためにも[]は超カッコで、#L()を採用するべきだわ。
それか、gooみたいに(op _)とかね!まあ、cutでも良いか!
ちなみに#fn <args> <expr>って俄Lisperの漏れには
一見全然便利そうに見えないんですけど、どういうところで、
便利なんですか?!!!
どこまでが後悔関数の引数なのか分かんなくなって混乱しちゃいそうです!!
わりと論旨がとっちらかってて、なにが言いたいのか分からないんだけど、
でも、なんだか凄い人なのは理解できたかも!!!!!
Arcに超カッコが取り入れられる日も近い!
一般人への啓蒙のためにも[]は超カッコで、#L()を採用するべきだわ。
それか、gooみたいに(op _)とかね!まあ、cutでも良いか!
ちなみに#fn <args> <expr>って俄Lisperの漏れには
一見全然便利そうに見えないんですけど、どういうところで、
便利なんですか?!!!
どこまでが後悔関数の引数なのか分かんなくなって混乱しちゃいそうです!!
2008/02/10(日) 13:46:05
ニヤニヤ
2008/02/10(日) 14:07:14
パンチカードを使ってた頃は便利だったなあ>超カッコ
まともなエディタがあれば要らないね。w
あと [ ] を vector と解釈する処理系も無かったっけ。Interlispだっけか。
まともなエディタがあれば要らないね。w
あと [ ] を vector と解釈する処理系も無かったっけ。Interlispだっけか。
2008/02/10(日) 14:22:41
Emacs Lisp も (vector 'a 'b 'c) => [a b c]
2008/02/10(日) 15:35:48
Taoではprintで[]を再現出来るんじゃなかったっけ?
100デフォルトの名無しさん
2008/02/10(日) 16:01:42 >>95
「わりとなんだか凄い人」なのは判ってくれたようだが、
分からないのは理解しようと努力してないからだ。
>ちなみに#fn <args> <expr>って俄Lisperの漏れには
さて、この変態構文の例を>>7のコードで示せばこうなる。
(trues #fn (_) (if (odd _) (+ _ 10)) '(1 2 3 4 5))
何が便利かはこれで判るだろ。
少なくともarcの[]の様なナンセンスな仕組みよりも、
何を意図するものか判り易い。
付け足すなら、短く書きたいという願望は判るが、
arcの[]は引数が'_'限定では述語ぐらいにしか使えないし、
'_'という名前が名前だけに、読み手に意図も伝えられない。
実際に[]が入っているコードを見たら、頭を1回転させないと
判らない難解さを感じた。
いくら短く書けてもぱっと見で意味不明なのは問題だろうよ。
lambdaをfnに変えたぐらいのセンスで、もうひと捻り欲しい。
「わりとなんだか凄い人」なのは判ってくれたようだが、
分からないのは理解しようと努力してないからだ。
>ちなみに#fn <args> <expr>って俄Lisperの漏れには
さて、この変態構文の例を>>7のコードで示せばこうなる。
(trues #fn (_) (if (odd _) (+ _ 10)) '(1 2 3 4 5))
何が便利かはこれで判るだろ。
少なくともarcの[]の様なナンセンスな仕組みよりも、
何を意図するものか判り易い。
付け足すなら、短く書きたいという願望は判るが、
arcの[]は引数が'_'限定では述語ぐらいにしか使えないし、
'_'という名前が名前だけに、読み手に意図も伝えられない。
実際に[]が入っているコードを見たら、頭を1回転させないと
判らない難解さを感じた。
いくら短く書けてもぱっと見で意味不明なのは問題だろうよ。
lambdaをfnに変えたぐらいのセンスで、もうひと捻り欲しい。
101デフォルトの名無しさん
2008/02/10(日) 16:20:44 かえって分かりづらいね。
センスが悪いと生きるのも大変だろうね。
センスが悪いと生きるのも大変だろうね。
102デフォルトの名無しさん
2008/02/10(日) 16:28:41 _決め打ちだとネストできないのは困るな
103デフォルトの名無しさん
2008/02/10(日) 16:30:22 こういう目新しい構文って、それなりに使ってみないとまともに評価できないよな
単に慣れないから不自然に見えるだけなのか、根本的に使いにくい構文なのかが一見では区別できない
単に慣れないから不自然に見えるだけなのか、根本的に使いにくい構文なのかが一見では区別できない
104デフォルトの名無しさん
2008/02/10(日) 16:36:49105デフォルトの名無しさん
2008/02/10(日) 16:42:35 >>104
日記です。
日記です。
106デフォルトの名無しさん
2008/02/10(日) 17:59:59107デフォルトの名無しさん
2008/02/10(日) 18:04:51 可哀想
108デフォルトの名無しさん
2008/02/10(日) 18:09:19 さすが、普通のやつらの上を行ってるやつらの言う事は違うな
109デフォルトの名無しさん
2008/02/10(日) 18:52:51 上様御乱心
110デフォルトの名無しさん
2008/02/10(日) 19:07:53 >>106
日本だと成功しないよあんた
日本だと成功しないよあんた
111デフォルトの名無しさん
2008/02/10(日) 22:38:58 まるで外国なら成功するみた(ry
112デフォルトの名無しさん
2008/02/10(日) 23:05:25 そりゃ成功するでしょ
113デフォルトの名無しさん
2008/02/10(日) 23:16:16 じゃあ、さっさと(ry
114デフォルトの名無しさん
2008/02/10(日) 23:56:32 >>112
アフガニスタンとかか?
アフガニスタンとかか?
115デフォルトの名無しさん
2008/02/11(月) 07:12:51 Arc の [] は、極端に単純な関数を極端に簡単に書くためだけの仕組みでしょ。
ちょっとでも複雑なコードが書きたいなら、普通に fn で書けばいいんだよ。
変数名とかがなくても一目でわかるくらいのコードに限定して、便利に使えればそれでいい。
別に fn を置き換えるようなものじゃないんだから。
ちょっとでも複雑なコードが書きたいなら、普通に fn で書けばいいんだよ。
変数名とかがなくても一目でわかるくらいのコードに限定して、便利に使えればそれでいい。
別に fn を置き換えるようなものじゃないんだから。
116デフォルトの名無しさん
2008/02/11(月) 09:08:01 C++の_1とか好きだけどな。
117デフォルトの名無しさん
2008/02/11(月) 09:28:42 de Bruijn indexというのがあってだな
現在のスコープで最も内側で束縛された変数を 1 とする
現在のスコープで最も内側で束縛された変数を 1 とする
118デフォルトの名無しさん
2008/02/11(月) 09:43:22 de Buijn indexはlambda抽象を明示しないと成り立たないし、Boostの_1とは別物だろ
119デフォルトの名無しさん
2008/02/11(月) 09:51:32 >> 115
そうだよね、letとwithの関係みたいなね。
引数が一つだけのlambdaが多用されるから便利に、ってことなんじゃないのかしら。
そうだよね、letとwithの関係みたいなね。
引数が一つだけのlambdaが多用されるから便利に、ってことなんじゃないのかしら。
120デフォルトの名無しさん
2008/02/11(月) 09:57:17121デフォルトの名無しさん
2008/02/11(月) 18:42:15 >>117
0じゃね? まどっちでもいいんだが
0じゃね? まどっちでもいいんだが
122デフォルトの名無しさん
2008/02/13(水) 20:10:50 あら、もう新しいarc1.tarが出たみたい。
x.yとか、x!yとか新しい構文が…。
x.yとか、x!yとか新しい構文が…。
123デフォルトの名無しさん
2008/02/13(水) 22:56:21 arc> :a
> (expand-ssyntax 'x.y)
(x y)
> (expand-ssyntax 'x!y)
(x (quote y))
> (expand-ssyntax 'x.y)
(x y)
> (expand-ssyntax 'x!y)
(x (quote y))
124デフォルトの名無しさん
2008/02/13(水) 23:36:09 下らない小手先の構文糖衣ばっかりだなあ
125デフォルトの名無しさん
2008/02/13(水) 23:59:48 くだらなくない糖衣構文キボンヌ
126デフォルトの名無しさん
2008/02/14(木) 00:03:53 type genericとか
ここらで一気に強い型な言語になろうぜ
ここらで一気に強い型な言語になろうぜ
127デフォルトの名無しさん
2008/02/14(木) 00:25:28 (= x (table))
(= x!key 'val)
将来的には「applyメソッドをoverride」したり中置記法のマクロを書けるようになるのか?
(= x!key 'val)
将来的には「applyメソッドをoverride」したり中置記法のマクロを書けるようになるのか?
128デフォルトの名無しさん
2008/02/14(木) 00:27:17 うーむ。意外な方向に発展する言語だなあ。
129デフォルトの名無しさん
2008/02/14(木) 07:30:08 なんか予想外だよね。こまいところだけ手が入ってる感じ。
130デフォルトの名無しさん
2008/02/14(木) 14:31:03 なんかarc1の説明にcutが沢山でてくると思ったらsubseqから名前変わったのね。
他にも変更になったのあるのかしらん。
他にも変更になったのあるのかしらん。
131デフォルトの名無しさん
2008/02/21(木) 01:23:29 保守
132デフォルトの名無しさん
2008/02/25(月) 17:37:51 ・ポール・グレアム「新しいものを作る6つの原則」 - らいおんの隠れ家
http://d.hatena.ne.jp/lionfan/20080224
・Arcをリリースした - 武蔵の日記
http://d.hatena.ne.jp/sirocco634/20080130/
・ポール・グレアム「Arc公開」を翻訳しかけたのですが - らいおんの隠れ家
http://d.hatena.ne.jp/lionfan/20080225
http://d.hatena.ne.jp/lionfan/20080224
・Arcをリリースした - 武蔵の日記
http://d.hatena.ne.jp/sirocco634/20080130/
・ポール・グレアム「Arc公開」を翻訳しかけたのですが - らいおんの隠れ家
http://d.hatena.ne.jp/lionfan/20080225
133デフォルトの名無しさん
2008/03/01(土) 00:38:24 てめぇらの意見が聞きたい
型やマクロに制約のある言語を使ってると
その制約と相性の悪い新機能を使うために新しい言語に移行するパターンが多くないか?
制約のある言語はいつか破綻するものと割り切って使うしかないのか?
型やマクロに制約のある言語を使ってると
その制約と相性の悪い新機能を使うために新しい言語に移行するパターンが多くないか?
制約のある言語はいつか破綻するものと割り切って使うしかないのか?
134デフォルトの名無しさん
2008/03/01(土) 02:02:36 なんか抽象的な質問だなあ
135デフォルトの名無しさん
2008/03/01(土) 03:54:09 そうかもしれん
ポールグレアムは「高級言語はプログラムを短くするためにある」と言った
でも普通のやつらは新しい機能を使うために新しい言語を使うんじゃないか
そこには、新しい機能を古い言語で実現できないという前提がある
Arcが期待はずれだった人も、
プログラムを短くすることではなく、新しい機能を期待していたのだと思う
だがポールグレアム的には、古い言語で実現できない新しい機能など存在しない
できないのは言語に色んな制約をつけた奴が悪い
で、静的型やhygienic macroのある言語って何なの?って話
ポールグレアムは「高級言語はプログラムを短くするためにある」と言った
でも普通のやつらは新しい機能を使うために新しい言語を使うんじゃないか
そこには、新しい機能を古い言語で実現できないという前提がある
Arcが期待はずれだった人も、
プログラムを短くすることではなく、新しい機能を期待していたのだと思う
だがポールグレアム的には、古い言語で実現できない新しい機能など存在しない
できないのは言語に色んな制約をつけた奴が悪い
で、静的型やhygienic macroのある言語って何なの?って話
136デフォルトの名無しさん
2008/03/01(土) 04:00:17 Cを始めてみた時、ここまで記号羅列で表記する意味はあるのか、
いやないんじゃないかと思った。今では慣れた。endすらうざい。
いやないんじゃないかと思った。今では慣れた。endすらうざい。
137デフォルトの名無しさん
2008/03/01(土) 04:02:05 Cにendなんてないわけだけど。
Rubyのことを言ってるならあれはEmacsから一発でインデントと共に
入れるもの。
Rubyのことを言ってるならあれはEmacsから一発でインデントと共に
入れるもの。
138デフォルトの名無しさん
2008/03/01(土) 08:04:09 括弧が記号じゃないとエディタで対応とらせるのに不便よね。
インデントだけじゃなくて移動とか。
PostScriptみたいに[,]が実はオペレータってのも勘弁だが。
インデントだけじゃなくて移動とか。
PostScriptみたいに[,]が実はオペレータってのも勘弁だが。
139デフォルトの名無しさん
2008/03/01(土) 08:21:11 ,はunquoteじゃないの?
140デフォルトの名無しさん
2008/03/01(土) 10:20:11 >>137
inputが面倒という以外に、視覚的に鬱陶しいというのもあるのでは?
inputが面倒という以外に、視覚的に鬱陶しいというのもあるのでは?
141デフォルトの名無しさん
2008/03/01(土) 23:27:59 >>140
Lispの括弧と同じで慣れれば見えなくなるけどね
Lispの括弧と同じで慣れれば見えなくなるけどね
142デフォルトの名無しさん
2008/03/02(日) 14:13:23 レンタルサーバ上で Arc によってウェブアプリを書いている人いますか?
Arcで書かれたポールグレアムの News.YC がオープンソース化
http://d.hatena.ne.jp/higepon/20080225/1203913944
Arcで書かれたポールグレアムの News.YC がオープンソース化
http://d.hatena.ne.jp/higepon/20080225/1203913944
143デフォルトの名無しさん
2008/03/02(日) 14:15:13144デフォルトの名無しさん
2008/03/02(日) 14:17:36 Arcからの挑戦
http://practical-scheme.net/wiliki/wiliki.cgi?Arc%E3%81%8B%E3%82%89%E3%81%AE%E6%8C%91%E6%88%A6
単純な問題を、挑戦として示すことにしよう。
そして、ポピュラーな言語での解答を集めて、その長さを比べてみるつもりだ。
次のようなプログラムを書け。
URL said (例えば http://localhost:port/said )は、入力フィールドひとつと、送信ボタンひとつのページを生成する。
送信ボタンが押されたら、2番めのページとして、"click here." と書かれたリンクひとつのページを生成する。
それがクリックされたら、3番めのページとして、"you said: ..." と書かれたページにいく。
ここで ... は、さっきの入力フィールドにユーザがタイプしたものだ。
ただし、3番めのページは、ユーザが実際にタイプしたものだけを表示すること。
つまり、入力フィールドの値を URL で渡してはいけない。そうしないと、最後のページの動作をURLで変えるようなことができてしまう。
単純だし、このようなテストに求められるように、これは例として不自然ではない。
Webアプリは、このようなことをいつもやっているのだ。あるいは、何か難解なライブラリ(Arcにあって他の言語にはないような)に頼るわけでもない。Webアプリを書くのに使われる言語なら当然もっているものだけでいい。
これが Arc の答えだ:
(defop said req
(aform [w/link (pr "you said: " (arg _ "foo"))
(pr "click here")]
(input "foo")
(submit)))
もし Arc になじみがなければ、私のいうことを信じてもらうほかないが、これはコード上のトリックで圧縮したわけではない。
これが Arc で書くには標準的な書きかたなのだ。
http://practical-scheme.net/wiliki/wiliki.cgi?Arc%E3%81%8B%E3%82%89%E3%81%AE%E6%8C%91%E6%88%A6
単純な問題を、挑戦として示すことにしよう。
そして、ポピュラーな言語での解答を集めて、その長さを比べてみるつもりだ。
次のようなプログラムを書け。
URL said (例えば http://localhost:port/said )は、入力フィールドひとつと、送信ボタンひとつのページを生成する。
送信ボタンが押されたら、2番めのページとして、"click here." と書かれたリンクひとつのページを生成する。
それがクリックされたら、3番めのページとして、"you said: ..." と書かれたページにいく。
ここで ... は、さっきの入力フィールドにユーザがタイプしたものだ。
ただし、3番めのページは、ユーザが実際にタイプしたものだけを表示すること。
つまり、入力フィールドの値を URL で渡してはいけない。そうしないと、最後のページの動作をURLで変えるようなことができてしまう。
単純だし、このようなテストに求められるように、これは例として不自然ではない。
Webアプリは、このようなことをいつもやっているのだ。あるいは、何か難解なライブラリ(Arcにあって他の言語にはないような)に頼るわけでもない。Webアプリを書くのに使われる言語なら当然もっているものだけでいい。
これが Arc の答えだ:
(defop said req
(aform [w/link (pr "you said: " (arg _ "foo"))
(pr "click here")]
(input "foo")
(submit)))
もし Arc になじみがなければ、私のいうことを信じてもらうほかないが、これはコード上のトリックで圧縮したわけではない。
これが Arc で書くには標準的な書きかたなのだ。
145デフォルトの名無しさん
2008/03/02(日) 15:51:22 Arcで書かれたポールグレアムとlispで書かれたポールグレアムはどっちが強いんだろう
146デフォルトの名無しさん
2008/03/02(日) 16:20:28 詠唱速度というのがあってだな
147デフォルトの名無しさん
2008/03/02(日) 19:14:13 >>144
http://practical-scheme.net/wiliki/wiliki.cgi?cut-sea#H-1119bvv
>(define-page (said)
> (self-chain "self"
> (form/cont/ (entry-lambda (:keyword say)
> (a/cont/ (cut p/ "You say:" say) "click here"))
> (readln/ say)
> (submit/))))
>
>Arc: 23ノード:15の葉/字句 + 8内部ノード
>Kahua: 27ノード:17の葉/字句 + 10内部ノード
http://practical-scheme.net/wiliki/wiliki.cgi?cut-sea#H-1119bvv
>(define-page (said)
> (self-chain "self"
> (form/cont/ (entry-lambda (:keyword say)
> (a/cont/ (cut p/ "You say:" say) "click here"))
> (readln/ say)
> (submit/))))
>
>Arc: 23ノード:15の葉/字句 + 8内部ノード
>Kahua: 27ノード:17の葉/字句 + 10内部ノード
148デフォルトの名無しさん
2008/03/06(木) 17:09:30 野良犬日記 2.1 ? Going to the Mutts
- Paul Graham のエッセイは翻訳が許可されている
http://tamo.tdiary.net/20080304.html#p01
> たとえば cond マクロ。こいつには Lisp 1 からこのかた余計な括弧がびっ
> しり付いてきて、それを誰も何ともしてこなかった。 if と cond を押しつ
> ぶしてひとつのオペレータにする Arc の技も、誰かがとっくに見つけてい
> たっておかしくなかったのだが、 間違いなくそんな周知の事実はない。こ
> んなことができると気づいたときは嬉しかったなあ。
これって何の話?誰か教えてプリーズ。
- Paul Graham のエッセイは翻訳が許可されている
http://tamo.tdiary.net/20080304.html#p01
> たとえば cond マクロ。こいつには Lisp 1 からこのかた余計な括弧がびっ
> しり付いてきて、それを誰も何ともしてこなかった。 if と cond を押しつ
> ぶしてひとつのオペレータにする Arc の技も、誰かがとっくに見つけてい
> たっておかしくなかったのだが、 間違いなくそんな周知の事実はない。こ
> んなことができると気づいたときは嬉しかったなあ。
これって何の話?誰か教えてプリーズ。
149デフォルトの名無しさん
2008/03/06(木) 17:18:00150デフォルトの名無しさん
2008/03/06(木) 18:00:43 ありがとう。
if の引数が偶数個のときは、else節が無いということかな。
if の引数が偶数個のときは、else節が無いということかな。
151デフォルトの名無しさん
2008/03/06(木) 20:42:11 この if ほんとに便利なのかなぁ
152デフォルトの名無しさん
2008/03/06(木) 21:12:25 cond のほうが見やすく思えるのは、体に染みついてるからだけはないと思う
153デフォルトの名無しさん
2008/03/06(木) 23:16:16 cond の括弧が「余計」だとは思わない。
要素の数を数えるより、括弧の対応だけ追うほうが楽だし。
ただ、 Arc の if のが書きやすいかもしれないとは思う。
要素の数を数えるより、括弧の対応だけ追うほうが楽だし。
ただ、 Arc の if のが書きやすいかもしれないとは思う。
154デフォルトの名無しさん
2008/03/06(木) 23:20:28 インデントで見やすくすればいいだけ
155デフォルトの名無しさん
2008/03/06(木) 23:31:54 ifもそうだけど、思ったよりwithも使い勝手悪い気がするんだよね。
letは良いんだけど。
>>154
インデントで見やすくする、っていう発想/行為自体が、括弧を減らすことで、
見やすさが向上してないってことじゃなかろうかww
まあ、もっと高尚な目的のために括弧を減らしたんだろうけどね。
letは良いんだけど。
>>154
インデントで見やすくする、っていう発想/行為自体が、括弧を減らすことで、
見やすさが向上してないってことじゃなかろうかww
まあ、もっと高尚な目的のために括弧を減らしたんだろうけどね。
156デフォルトの名無しさん
2008/03/08(土) 02:20:13 ifとcond2つ要らないことが重要なり〜
157デフォルトの名無しさん
2008/03/08(土) 02:43:38 そのりくつはおかしい
158デフォルトの名無しさん
2008/03/08(土) 02:49:43 when や unless の立場はw
159デフォルトの名無しさん
2008/03/08(土) 03:01:00 カッコが余分にないと暗黙のprognにしにくい。> if
160デフォルトの名無しさん
2008/03/08(土) 03:31:47 condだけでもいいよ
161デフォルトの名無しさん
2008/03/08(土) 03:33:58 どれか一つだけ残すなら cond だな
162デフォルトの名無しさん
2008/03/08(土) 04:13:23 ところでprognってなんて読むの?
俺は心の中では「ぷろぐなぁー」。人前では発音したことない。l
俺は心の中では「ぷろぐなぁー」。人前では発音したことない。l
163デフォルトの名無しさん
2008/03/08(土) 08:40:29 おれの心の中では「プログン」だなぁ
164デフォルトの名無しさん
2008/03/08(土) 09:02:03 俺は「プロオン」だな。「オ」のところは喉をすぼめて。
人前で読むなら「プログエヌ」だろうか。
人前で読むなら「プログエヌ」だろうか。
165デフォルトの名無しさん
2008/03/08(土) 11:30:46 俺も人前なら「プログ・エヌ」
人前でなければ発音しないw
人前でなければ発音しないw
166デフォルトの名無しさん
2008/03/08(土) 12:09:27 同じような構文糖がゴチャゴチャあると余計わかりにくい。
167デフォルトの名無しさん
2008/03/08(土) 12:22:24 実際ifのtrue節やfalse節でよくdoしてるよな。
letな局面も多くて、いつもしているわけじゃないけど。
あと、elseifが連なる時、どれが条件だか分かりにくいわ。
今のインデントルールだと全部同じ高さだから。
まあこんなのはどうでもいいところだけど。
letな局面も多くて、いつもしているわけじゃないけど。
あと、elseifが連なる時、どれが条件だか分かりにくいわ。
今のインデントルールだと全部同じ高さだから。
まあこんなのはどうでもいいところだけど。
168デフォルトの名無しさん
2008/03/09(日) 05:07:57 prog1(プログワン)があるんだからプログエヌ
169デフォルトの名無しさん
2008/03/09(日) 11:43:01 コンマ
170デフォルトの名無しさん
2008/03/11(火) 17:25:49 で、このアークってのは今までのLispの方言に比べて何か画期的な
機能とかあるの?
機能とかあるの?
171デフォルトの名無しさん
2008/03/11(火) 17:30:42 何か画期的な機能がある方言のほうが珍しいからなあ。無いんじゃないかなあ。
172デフォルトの名無しさん
2008/03/14(金) 14:41:10 文字列処理が変態的と聞いたが、使ってみた人、どうよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
- いじめ後遺症 15年前のトラウマに苦悩する当事者「夢の中に出てくる」「された側は一生ものの傷」 [♪♪♪★]
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- 【実況】博衣こよりのえちえちダンガンロンパ4🧪
- sengoku38「どこから指令が出ているのか、総理答弁を撤回させたい人たちが今度は官僚が書いた作文を読まないのが悪いと言い始めた」 [834922174]
- 🏡パン🍞つー✌まる👌見え👊😅👊
- 【緊急高市朗報】WBC全試合、地上波完全生放送決定wmwmwmwmwmwmwmwmwmwmwmwmwmwmwmw [517459952]
- ブレイキングダウン、ついにやらかす。😰 [153490809]
