08/02/10 16:28:41
_決め打ちだとネストできないのは困るな
103:デフォルトの名無しさん
08/02/10 16:30:22
こういう目新しい構文って、それなりに使ってみないとまともに評価できないよな
単に慣れないから不自然に見えるだけなのか、根本的に使いにくい構文なのかが一見では区別できない
104:デフォルトの名無しさん
08/02/10 16:36:49
>>100
自分の中に入りすぎていて論旨がわかりにくい。
もうちょっと行数を減らしてくれないと読むのが苦痛だ。
105:デフォルトの名無しさん
08/02/10 16:42:35
>>104
日記です。
106:デフォルトの名無しさん
08/02/10 17:59:59
面倒だから全レスしてやるよ。
>>101 このレベルじゃ常人に理解されなくても困らないんだぜ。
>>102 ネストなんて意図を汲み取れば考慮の外だろ。
>>103 俺なら経験とカンである程度判断できる。
>>104 苦痛でも無理して読むといいよ。
>>105 いい目をしているな、それに度胸もいい。
あえて言うなら[]があればその中で'_'が使われている可能性アリ、
という対の関係を脊髄反射的に印象付けられる、変数ではなく
記号的な識別を行えるという目論見はあるだろうな。
107:デフォルトの名無しさん
08/02/10 18:04:51
可哀想
108:デフォルトの名無しさん
08/02/10 18:09:19
さすが、普通のやつらの上を行ってるやつらの言う事は違うな
109:デフォルトの名無しさん
08/02/10 18:52:51
上様御乱心
110:デフォルトの名無しさん
08/02/10 19:07:53
>>106
日本だと成功しないよあんた
111:デフォルトの名無しさん
08/02/10 22:38:58
まるで外国なら成功するみた(ry
112:デフォルトの名無しさん
08/02/10 23:05:25
そりゃ成功するでしょ
113:デフォルトの名無しさん
08/02/10 23:16:16
じゃあ、さっさと(ry
114:デフォルトの名無しさん
08/02/10 23:56:32
>>112
アフガニスタンとかか?
115:デフォルトの名無しさん
08/02/11 07:12:51
Arc の [] は、極端に単純な関数を極端に簡単に書くためだけの仕組みでしょ。
ちょっとでも複雑なコードが書きたいなら、普通に fn で書けばいいんだよ。
変数名とかがなくても一目でわかるくらいのコードに限定して、便利に使えればそれでいい。
別に fn を置き換えるようなものじゃないんだから。
116:デフォルトの名無しさん
08/02/11 09:08:01
C++の_1とか好きだけどな。
117:デフォルトの名無しさん
08/02/11 09:28:42
de Bruijn indexというのがあってだな
現在のスコープで最も内側で束縛された変数を 1 とする
118:デフォルトの名無しさん
08/02/11 09:43:22
de Buijn indexはlambda抽象を明示しないと成り立たないし、Boostの_1とは別物だろ
119:デフォルトの名無しさん
08/02/11 09:51:32
>> 115
そうだよね、letとwithの関係みたいなね。
引数が一つだけのlambdaが多用されるから便利に、ってことなんじゃないのかしら。
120:デフォルトの名無しさん
08/02/11 09:57:17
>>118
BoostはおいといてArcの[]を一般化しようという妄想だから
>>115
その「限定された範囲で便利に使える」機能は
普遍的な機能 (マクロなど) から導き出せるはずだっていう思想があるから
fnを置き換えるほど普遍的な機能だ
ということにすれば受け入れられやすいのではないか
121:デフォルトの名無しさん
08/02/11 18:42:15
>>117
0じゃね? まどっちでもいいんだが
122:デフォルトの名無しさん
08/02/13 20:10:50
あら、もう新しいarc1.tarが出たみたい。
x.yとか、x!yとか新しい構文が…。
123:デフォルトの名無しさん
08/02/13 22:56:21
arc> :a
> (expand-ssyntax 'x.y)
(x y)
> (expand-ssyntax 'x!y)
(x (quote y))
124:デフォルトの名無しさん
08/02/13 23:36:09
下らない小手先の構文糖衣ばっかりだなあ
125:デフォルトの名無しさん
08/02/13 23:59:48
くだらなくない糖衣構文キボンヌ
126:デフォルトの名無しさん
08/02/14 00:03:53
type genericとか
ここらで一気に強い型な言語になろうぜ
127:デフォルトの名無しさん
08/02/14 00:25:28
(= x (table))
(= x!key 'val)
将来的には「applyメソッドをoverride」したり中置記法のマクロを書けるようになるのか?
128:デフォルトの名無しさん
08/02/14 00:27:17
うーむ。意外な方向に発展する言語だなあ。
129:デフォルトの名無しさん
08/02/14 07:30:08
なんか予想外だよね。こまいところだけ手が入ってる感じ。
130:デフォルトの名無しさん
08/02/14 14:31:03
なんかarc1の説明にcutが沢山でてくると思ったらsubseqから名前変わったのね。
他にも変更になったのあるのかしらん。
131:デフォルトの名無しさん
08/02/21 01:23:29
保守
132:デフォルトの名無しさん
08/02/25 17:37:51
・ポール・グレアム「新しいものを作る6つの原則」 - らいおんの隠れ家
URLリンク(d.hatena.ne.jp)
・Arcをリリースした - 武蔵の日記
URLリンク(d.hatena.ne.jp)
・ポール・グレアム「Arc公開」を翻訳しかけたのですが - らいおんの隠れ家
URLリンク(d.hatena.ne.jp)
133:デフォルトの名無しさん
08/03/01 00:38:24
てめぇらの意見が聞きたい
型やマクロに制約のある言語を使ってると
その制約と相性の悪い新機能を使うために新しい言語に移行するパターンが多くないか?
制約のある言語はいつか破綻するものと割り切って使うしかないのか?
134:デフォルトの名無しさん
08/03/01 02:02:36
なんか抽象的な質問だなあ
135:デフォルトの名無しさん
08/03/01 03:54:09
そうかもしれん
ポールグレアムは「高級言語はプログラムを短くするためにある」と言った
でも普通のやつらは新しい機能を使うために新しい言語を使うんじゃないか
そこには、新しい機能を古い言語で実現できないという前提がある
Arcが期待はずれだった人も、
プログラムを短くすることではなく、新しい機能を期待していたのだと思う
だがポールグレアム的には、古い言語で実現できない新しい機能など存在しない
できないのは言語に色んな制約をつけた奴が悪い
で、静的型やhygienic macroのある言語って何なの?って話
136:デフォルトの名無しさん
08/03/01 04:00:17
Cを始めてみた時、ここまで記号羅列で表記する意味はあるのか、
いやないんじゃないかと思った。今では慣れた。endすらうざい。
137:デフォルトの名無しさん
08/03/01 04:02:05
Cにendなんてないわけだけど。
Rubyのことを言ってるならあれはEmacsから一発でインデントと共に
入れるもの。
138:デフォルトの名無しさん
08/03/01 08:04:09
括弧が記号じゃないとエディタで対応とらせるのに不便よね。
インデントだけじゃなくて移動とか。
PostScriptみたいに[,]が実はオペレータってのも勘弁だが。
139:デフォルトの名無しさん
08/03/01 08:21:11
,はunquoteじゃないの?
140:デフォルトの名無しさん
08/03/01 10:20:11
>>137
inputが面倒という以外に、視覚的に鬱陶しいというのもあるのでは?
141:デフォルトの名無しさん
08/03/01 23:27:59
>>140
Lispの括弧と同じで慣れれば見えなくなるけどね
142:デフォルトの名無しさん
08/03/02 14:13:23
レンタルサーバ上で Arc によってウェブアプリを書いている人いますか?
Arcで書かれたポールグレアムの News.YC がオープンソース化
URLリンク(d.hatena.ne.jp)
143:デフォルトの名無しさん
08/03/02 14:15:13
Arcからの挑戦
URLリンク(practical-scheme.net)
144:デフォルトの名無しさん
08/03/02 14:17:36
Arcからの挑戦
URLリンク(practical-scheme.net)
単純な問題を、挑戦として示すことにしよう。
そして、ポピュラーな言語での解答を集めて、その長さを比べてみるつもりだ。
次のようなプログラムを書け。
URL said (例えば URLリンク(localhost:port) )は、入力フィールドひとつと、送信ボタンひとつのページを生成する。
送信ボタンが押されたら、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:デフォルトの名無しさん
08/03/02 15:51:22
Arcで書かれたポールグレアムとlispで書かれたポールグレアムはどっちが強いんだろう
146:デフォルトの名無しさん
08/03/02 16:20:28
詠唱速度というのがあってだな
147:デフォルトの名無しさん
08/03/02 19:14:13
>>144
URLリンク(practical-scheme.net)
>(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:デフォルトの名無しさん
08/03/06 17:09:30
野良犬日記 2.1 ? Going to the Mutts
- Paul Graham のエッセイは翻訳が許可されている
URLリンク(tamo.tdiary.net)
> たとえば cond マクロ。こいつには Lisp 1 からこのかた余計な括弧がびっ
> しり付いてきて、それを誰も何ともしてこなかった。 if と cond を押しつ
> ぶしてひとつのオペレータにする Arc の技も、誰かがとっくに見つけてい
> たっておかしくなかったのだが、 間違いなくそんな周知の事実はない。こ
> んなことができると気づいたときは嬉しかったなあ。
これって何の話?誰か教えてプリーズ。
149:デフォルトの名無しさん
08/03/06 17:18:00
↑URLリンク(practical-scheme.net)
150:デフォルトの名無しさん
08/03/06 18:00:43
ありがとう。
if の引数が偶数個のときは、else節が無いということかな。
151:デフォルトの名無しさん
08/03/06 20:42:11
この if ほんとに便利なのかなぁ
152:デフォルトの名無しさん
08/03/06 21:12:25
cond のほうが見やすく思えるのは、体に染みついてるからだけはないと思う
153:デフォルトの名無しさん
08/03/06 23:16:16
cond の括弧が「余計」だとは思わない。
要素の数を数えるより、括弧の対応だけ追うほうが楽だし。
ただ、 Arc の if のが書きやすいかもしれないとは思う。
154:デフォルトの名無しさん
08/03/06 23:20:28
インデントで見やすくすればいいだけ
155:デフォルトの名無しさん
08/03/06 23:31:54
ifもそうだけど、思ったよりwithも使い勝手悪い気がするんだよね。
letは良いんだけど。
>>154
インデントで見やすくする、っていう発想/行為自体が、括弧を減らすことで、
見やすさが向上してないってことじゃなかろうかww
まあ、もっと高尚な目的のために括弧を減らしたんだろうけどね。
156:デフォルトの名無しさん
08/03/08 02:20:13
ifとcond2つ要らないことが重要なり~
157:デフォルトの名無しさん
08/03/08 02:43:38
そのりくつはおかしい
158:デフォルトの名無しさん
08/03/08 02:49:43
when や unless の立場はw
159:デフォルトの名無しさん
08/03/08 03:01:00
カッコが余分にないと暗黙のprognにしにくい。> if
160:デフォルトの名無しさん
08/03/08 03:31:47
condだけでもいいよ
161:デフォルトの名無しさん
08/03/08 03:33:58
どれか一つだけ残すなら cond だな
162:デフォルトの名無しさん
08/03/08 04:13:23
ところでprognってなんて読むの?
俺は心の中では「ぷろぐなぁー」。人前では発音したことない。l
163:デフォルトの名無しさん
08/03/08 08:40:29
おれの心の中では「プログン」だなぁ
164:デフォルトの名無しさん
08/03/08 09:02:03
俺は「プロオン」だな。「オ」のところは喉をすぼめて。
人前で読むなら「プログエヌ」だろうか。
165:デフォルトの名無しさん
08/03/08 11:30:46
俺も人前なら「プログ・エヌ」
人前でなければ発音しないw
166:デフォルトの名無しさん
08/03/08 12:09:27
同じような構文糖がゴチャゴチャあると余計わかりにくい。
167:デフォルトの名無しさん
08/03/08 12:22:24
実際ifのtrue節やfalse節でよくdoしてるよな。
letな局面も多くて、いつもしているわけじゃないけど。
あと、elseifが連なる時、どれが条件だか分かりにくいわ。
今のインデントルールだと全部同じ高さだから。
まあこんなのはどうでもいいところだけど。
168:デフォルトの名無しさん
08/03/09 05:07:57
prog1(プログワン)があるんだからプログエヌ
169:デフォルトの名無しさん
08/03/09 11:43:01
コンマ
170:デフォルトの名無しさん
08/03/11 17:25:49
で、このアークってのは今までのLispの方言に比べて何か画期的な
機能とかあるの?
171:デフォルトの名無しさん
08/03/11 17:30:42
何か画期的な機能がある方言のほうが珍しいからなあ。無いんじゃないかなあ。
172:デフォルトの名無しさん
08/03/14 14:41:10
文字列処理が変態的と聞いたが、使ってみた人、どうよ
173:デフォルトの名無しさん
08/03/18 12:42:00
俺LISP作るような人から見たら大した事してないよ
マクロでこんなん作りましたレベル
174:デフォルトの名無しさん
08/03/18 22:05:25
逆に画期的な方言が知りたい。
175:デフォルトの名無しさん
08/03/18 22:12:10
萩谷(昌己)さんが学生のとき作ったHyperlispなんて変態的で画期的だったな。
もはやLispではないかもしれんが。
176:デフォルトの名無しさん
08/03/19 00:34:08
どう画期的なのか、概略だけでも書いてくれると、
もうちょっとは盛り上がります罠。
177:デフォルトの名無しさん
08/03/19 00:43:37
ググれば論文出てくるよ。
ファースト・オーサーは佐藤さん。
二分木を基底にした数学的意味を持つLisp。
178:デフォルトの名無しさん
08/03/19 02:03:33
Arcは「シンボルの構造化」とか言えば画期的に聞こえないこともないと思う
179:デフォルトの名無しさん
08/03/19 21:51:23
>>175
今の感覚からみるとHyperってのが時代を感じるね。
180:デフォルトの名無しさん
08/03/19 22:43:41
HTML侮辱STOP! (AA略
181:デフォルトの名無しさん
08/03/20 00:14:10
時代を感じるってのは侮辱なのか?
日本語でおk
182:デフォルトの名無しさん
08/03/20 00:24:32
ハイパーカードのことも、ときどきは思い出してあげてください
183:デフォルトの名無しさん
08/03/20 00:46:12
HyperTalkもあったね。
184:デフォルトの名無しさん
08/03/20 10:33:55
HyperCardをArcで実装してくれ
185:デフォルトの名無しさん
08/03/20 22:12:58
じゃあ、俺は、ハイパーオリンピック
鉄の定規は、使用禁(ry
186:デフォルトの名無しさん
08/03/20 22:13:19
なつかしすぐるwwwww
187:デフォルトの名無しさん
08/03/20 23:49:46
あれのせいで全国的にコントローラが傷だらけになった罠w
188:デフォルトの名無しさん
08/03/20 23:52:01
HyperLibってあったな。
189:デフォルトの名無しさん
08/03/20 23:52:45
HyperText⇒HTML
190:デフォルトの名無しさん
08/03/20 23:56:16
>>189
>>180へ無限再帰
191:デフォルトの名無しさん
08/03/20 23:56:21
ハイパーターミナル
192:デフォルトの名無しさん
08/03/20 23:57:49
ハイパーリンク
193:デフォルトの名無しさん
08/03/20 23:58:34
CR ハイパー海物語INカリブ
194:デフォルトの名無しさん
08/03/21 09:01:28
>>188 super.lib じゃなくて?
195:デフォルトの名無しさん
08/03/21 22:39:21
>>194
ハイパーカードのスタックに特化した季刊誌があったような希ガス。
196:デフォルトの名無しさん
08/04/06 16:46:18
一ヶ月に一回位のペースで新バージョンがリリースされるのかと思ったら、ペース落ちてきたね。
197:デフォルトの名無しさん
08/04/08 00:01:02
正直、現状の肉でも魚でもないものじゃ更新ペースが速くても興味がわかない。
もう少しまとまった形になってから出してくれた方がいい。
198:デフォルトの名無しさん
08/04/08 03:57:31
>>197
どのあたりから肉とか魚になるのさw
199:デフォルトの名無しさん
08/04/08 23:20:13
Rubyになった時だろ。
200:デフォルトの名無しさん
08/04/09 00:20:32
Σ(´д` ).
201:デフォルトの名無しさん
08/04/10 23:24:33
相互再帰たらいまわし
(= Y* ([_ _]
[fn fs (fn (f) (fn xs (apply (apply f (map (apply (_ _) fs) fs)) xs)))]))
(= tarai
((fn (f g) ((Y* f g) f))
(fn (f g)
(fn (x y z)
(if (<= x y) y
(g (f (- x 1) y z)
(f (- y 1) z x)
(- z 1) x y))))
(fn (f g)
(fn (x y zx zy zz)
(if (<= x y) y
(let z (f zx zy zz)
(f x y z)))))))
202:デフォルトの名無しさん
08/04/22 20:44:47
直接貼ると見づらいが、リンクするのも微妙だし、なんとかならんのか
203:デフォルトの名無しさん
08/04/22 22:14:44
>>201
どうなってるんだソレ
204:デフォルトの名無しさん
08/04/22 23:05:29
ふつうの定義。超遅い。竹内関数とも呼ばれる。
(= tarai
(fn (x y z)
(if (<= x y)
y
(tarai
(tarai (- x 1) y z)
(tarai (- y 1) z x)
(tarai (- z 1) x y)))))
#これコピペすると が鬱陶しい
Y*は2変数ならこうなる
((Y* f g) h) => (h ((Y* f g) f) ((Y* f g) g))
205:デフォルトの名無しさん
08/04/23 20:04:10
>>201を(´д`)Editで観易くするテスト
(= Y* ([_ _]
[fn fs (fn (f) (fn xs (apply (apply f (map (apply (_ _) fs) fs)) xs)))]))
(= tarai
((fn (f g) ((Y* f g) f))
(fn (f g)
(fn (x y z)
(if (<= x y) y
(g (f (- x 1) y z)
(f (- y 1) z x)
(- z 1) x y))))
(fn (f g)
(fn (x y zx zy zz)
(if (<= x y) y
(let z (f zx zy zz)
(f x y z)))))))
206:デフォルトの名無しさん
08/05/03 16:38:21
スターリスプみたいにさ、デフォルトで並列対応とかしてれば人気出るのに。
207:デフォルトの名無しさん
08/05/03 18:23:24
>>206
まだ表面的な部分しか公開されていないが実はそうなんジャマイカ?
208:デフォルトの名無しさん
08/05/09 00:02:32
並列どころか平行なんジャマイカJK。
209:デフォルトの名無しさん
08/05/09 06:50:39
ジャマイカとか言う前にちゃんと調べてから書け
210:デフォルトの名無しさん
08/05/09 07:02:55
調べてみた
URLリンク(ja.wikipedia.org)
211:デフォルトの名無しさん
08/05/09 20:32:07
>>210
そのリンクは『ジャマイカ』ジャマイカw
212:デフォルトの名無しさん
08/06/08 01:13:48
またLispの方言できたの?
213:デフォルトの名無しさん
08/06/08 01:48:21
使用者ごとに23の方言があると言われているのがLisp
214:デフォルトの名無しさん
08/06/08 01:55:40
schemeとCLに比べて、何が凄いの?
215:デフォルトの名無しさん
08/06/08 03:04:40
作った人が凄い
216:デフォルトの名無しさん
08/06/08 03:59:29
アーク ザ ラングエッジ
217:デフォルトの名無しさん
08/06/11 13:40:39
…インテリジェントパイプ?違うか。
218:デフォルトの名無しさん
08/10/17 02:34:21
過疎ってるね。
219:デフォルトの名無しさん
08/11/26 03:21:47
dylanとどっちが強いの?
220:デフォルトの名無しさん
09/01/14 12:06:47
既存のschemeのプログラムをそのまま走らせることはできるの?
slibとかそのままもってこれる?
221:デフォルトの名無しさん
09/05/18 20:31:12
誰かが直接Arcのインタプリタを実装してくれないかな....
222:デフォルトの名無しさん
09/05/18 20:32:14
ひさしぶりだね。
俺実装しようかな。
223:デフォルトの名無しさん
09/05/18 21:43:49
>>222
頼むよ、このままじゃPlan9みたいに
第三のプログラムが作成されない現状のままになるから。
Common Lispはでかい割に必要な機能がないという異常事態だし。
224:デフォルトの名無しさん
09/05/19 16:47:30
仕様がほぼ決まったら作り始めるよ。
225:デフォルトの名無しさん
09/05/19 16:50:11
Cでサクッと
226:デフォルトの名無しさん
09/05/19 18:32:09
>>225
そんなにさくっとLispインタプリタがかけるようになるのは
どういう練習をしたらいいんだ?
どういう練習をしたら良いのかさっぱりわからん、
Cのプロフェッショナルになる必要が有るのだろうか?
227:デフォルトの名無しさん
09/05/19 18:40:20
>>226
さくっとかけないの?馬鹿なの?
228:デフォルトの名無しさん
09/05/19 19:20:16
>>227
さくっとかけないよ.
だよ、Listを読み込む方法がわからないよ。
(から)までなの?
`(バッククオート)の処理の方法が思いつかないよ
229:デフォルトの名無しさん
09/05/19 19:25:35
指輪物語のゴクリみたいなしゃべり方になったwwww
230:デフォルトの名無しさん
09/05/19 19:34:08
>>228
調べろよ。
OpensoruceのLispの処理系なんていくらでもあるだろ。
それに、Lispの処理系を作ったことがないとか、プログラマーとして如何なものかと思う。
231:デフォルトの名無しさん
09/05/19 22:03:50
> それに、Lispの処理系を作ったことがないとか、プログラマーとして如何なものかと思う。
さすがにそれはどうか
いや作ったことあるけどさ
232:デフォルトの名無しさん
09/05/19 22:11:47
>>231
つか、オレオレ言語の一つもって意味なんじゃね?
233:デフォルトの名無しさん
09/05/20 13:47:37
>>231
作っただろ、プログラマーなら
どことなくLispに惹かれて
なんとなく書いちゃうもんなんだよ。
234:デフォルトの名無しさん
09/06/18 08:03:11
作るのは別にいいけど人に使わせようと出してくんなよ
235:デフォルトの名無しさん
09/08/09 03:16:45
3.1 きたね
最新のMzScheme対応
236:デフォルトの名無しさん
09/12/03 20:49:25
どうよ、最近
クリスマスの予定は決まったか??
237:デフォルトの名無しさん
10/01/11 23:30:12
言語仕様書みたいなのって無いの?
238:デフォルトの名無しさん
10/02/04 23:28:10
すっかり過疎ったな
239:デフォルトの名無しさん
10/04/08 21:08:21
誰か使ってる奴いる?
240:デフォルトの名無しさん
10/05/02 16:23:33
ちょっとだけ