[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/29 10:31 / Filesize : 247 KB / Number-of Response : 980
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part22



1 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:58:40 ]
□過去スレ□
Part21: ttp://pc11.2ch.net/test/read.html/tech/1207300697/
Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/
Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html

49 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:06:03 ]
>>47
ベン図書いてミソ。

50 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:07:43 ]
あちこち見た結果、>>23が正解らしい。でもなぜ?

51 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:08:23 ]
少なくとも一方は○○ と どちらか一方は○○
は違いますよね?

52 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:11:47 ]
>>41>>48はrequireが2つなのに、>>23には3つあるんだよな。
文章からココを読み取れるかどうかが論理プログラミングの難しいところか。

53 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:14:48 ]
>>51
なら>>41>>48が同じ答になるのは何故?

54 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:17:33 ]
答えに合わせてプログラミングしてるように見えるのは気のせいですか?

55 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:25:39 ]
>>54
それは違う。
論理的帰結としてrequireになることがわかった枝をこのschemeの論理プログラムでは自動的に修正できない。
そこで、プログラマーが自分でその枝をrequireにしてやらなければならない。
半自動定理証明を調べてみろ。

56 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:39:59 ]
2人組がいる。少なくとも1人は男だ。
(男 . 男) -> #t
(男 . 女) -> #t
(女 . 男) -> #t
(女 . 女) -> #f

2人組がいる。どちらか1人は男だ。
(男 . 男) -> #f
(男 . 女) -> #t
(女 . 男) -> #t
(女 . 女) -> #f

>>53
志村〜、ド・モルガン

57 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:44:16 ]
>>55
あ、そっか。対話型でやってる部分はそういう項を書き換えてるということだね。
つまり>>23は書き換え操作が入ってるから枝が増えてるということか。



58 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:04:49 ]
>>53,>>56
それはわかったw

59 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:07:06 ]
おれも正解にたどり着いた。「不思議の国のアリス」ってこんな難しかった記憶無いぞw
ttp://codepad.org/0pMJwn0y

60 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:14:56 ]
>>23>>59は同じなの?

61 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:15:09 ]
なぜこんなにヤマネは信用されてるんでしょう?

62 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:15:51 ]
そもそも
(define (誰かひとりが犯人?  . ls)
    (cond
     ((eq? (car ls) '有罪) (and (eq? (cadr ls) '無罪) (eq? (caddr ls) '無罪)))
     ((eq? (cadr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (caddr ls) '無罪)))
     ((eq? (caddr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (cadr ls) '無罪)))))
の不備は不問?

63 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:22:27 ]
ヒント:手で計算した人は皆同じ答えを出しています。

64 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:27:56 ]
同じじゃない。>>59の1つ目のrequireは@とBが両方とも嘘の場合を含んでるけど、
>>23のは含んでない。
でも、>>23も正解に到達するのは2つ目のrequireを追加することが両方とも嘘の場合を却下したからだ。
だから>>59の両方とも嘘の場合もキャンセルされて、>>23>>59は同じ結果になる。
ということは>>23はrequireを追加しただけじゃなく(not(and@ A))も書き換えてることになる。

65 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:29:33 ]
>>64>>60への返答。

66 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:31:38 ]
ウサギ「俺じゃない」
帽子屋「俺じゃない」
ヤマネ「ウサギか帽子屋のどちらかだ」

67 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:37:02 ]
ヤマネの主張をrequireしたら必然的にウサギが犯人になる
なぜヤマネの主張をrequireする?



68 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:43:43 ]
>>62
(define (誰かひとりが犯人? . ls)
(cond
((eq? (car ls) '有罪) (and (eq? (cadr ls) '無罪) (eq? (caddr ls) '無罪)))
((eq? (cadr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (caddr ls) '無罪)))
((eq? (caddr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (cadr ls) '無罪)))
(else #f)))

こうだよねw

69 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:46:43 ]
>>68の修正と>>59を合体したが結果は同じ。
ttp://codepad.org/XTHODItB

70 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:50:30 ]
(require (xor (xor
                   (eq? 帽子屋 '有罪) (eq? ヤマネ '有罪))
                 (xor (eq? 三月ウサギ '有罪) (eq? ヤマネ '有罪))))
があるってことはヤマネは常に正しい事を言ってるんですね。
ヤマネの弁護士の方ですか?

71 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:05:26 ]
もしも帽子屋がうそをついたならウサギもヤマネも無罪。⇒ウサギが無罪なら、ウサギは本当のことを言った。⇒ヤマネも本当のことを言った。
しかし、ウサギとヤマネが少なくとも一方は嘘だということに矛盾する。
したがって、帽子屋は本当のことをいった。ここまではわかった。

72 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:09:28 ]
>>66のように三人とも自分が犯人ではないと主張しているだけで
犯人であることと嘘を言っていることは同値ということになります

で、ウサギとヤマネの少なくとも一方が嘘ですが、これ以上絞り込めません

73 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:13:43 ]
他のサイト見たら
>ヤマネ 「ウサギと帽子屋のどちらか一方だけが本当のことを言っています」
ヤマネ 「ウサギと帽子屋の少なくとも一方は本当のことを言っています」
になってた。つまり、帽子屋が本当のことをいった時点でヤマネは本当のことを言ったことになる。
つまり>>18の問題文は間違ってる。その結果、2通りの答が出ることになったと思う。
たぶん、>>23は他のサイトでも見てるんだろう。>>70の主張が正しいと思う。

74 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:34:54 ]
(display-line (amb))じゃなくて
(let loop () (and (amb) (loop)))とかにしたほうがいいですね

75 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:31:24 ]
つ「不思議の国のアリス」【論理パズル】

女王様のジャムが盗まれました.犯行は単独犯によるものだとい
うことがわかっていて,容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです.それぞれを取
り調べたところつぎのような証言をしました.

三月ウサギ 「私は絶対にジャムなど盗んでいません.」

帽子屋 「私たち3人のうち1人がジャムを盗みました.でもそれは私ではありません」

ヤマネ 「ウサギと帽子屋の少なくとも一方は本当のことを言っています」 ←修正!

さらに調べたところ,三月ウサギとヤマネの少なくとも一方は嘘だということがわかりました.
ジャムを盗んだのは誰でしょうか?

ttp://codepad.org/ffEosmDe

76 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:37:07 ]
あ、>>75のリンクは間違い。

77 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:43:25 ]
>>71,>>73
てことは、ヤマネが正しいことを言った。⇒三月ウサギとヤマネの少なくとも一方は嘘だ。⇒「私は絶対にジャムなど盗んでいません.」 が嘘。
つまりウサギが有罪。



78 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:44:39 ]
で、最終的にどんなプログラムになるの?

79 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:54:17 ]
そもそもの問題として、不思議の国のアリスは関係ない
これはレイモンド=スマリヤンの『パズルランドのアリス』という有名な論理パズル本の問題
ttp://www.amazon.co.jp/dp/4150502889

80 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:58:55 ]
>>75
ヤマネは自明なことを言ってるだけだな。

81 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:04:18 ]
発言だけじゃなくて「ルール」も厳密じゃないといけないんだよな
「ウサギとヤマネの少なくとも一人は嘘をついていることが確定している」
でいいのか?
「ウサギとヤマネの言ったことは真実であるとは限らない」
ではなく?

82 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:16:55 ]
うろ覚えではなく完全コピペの問題文でないと駄目だな
この手のは時々勝手な条件をつける人がいたり
省略や改変で余分な条件がついたりしてよく破綻する

83 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 03:51:10 ]
つまり叙述トリックですね。わかります。

84 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 09:30:28 ]
うざいんで、他でやってもらえますか

85 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 10:52:36 ]
うざいだけなら君が我慢しよう

86 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 10:54:41 ]
有名な問題をそのまま出すと、解く側もぐぐってコピペして提出するだけだからなあ
宿題にしても仕事にしても、そんなに甘くはないだろう

87 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 11:01:07 ]
改変したせいで解が複数になったり不定になったりするんじゃ出題者の底が知れるがね



88 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 11:13:02 ]
ジャンガジャンガジャンガジャンガ 
ジャンガジャンガジャンガジャンガー

89 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:33:59 ]
prolog で解いてみた。いろいろ微妙。
xor( A, B ) :-
A -> ¥+B ; B.

truth(Is) :-
Is = [ [rabbit, g], [hatman, n], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, g], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, n], [yamane, g] ] .

rabbit_says(Is) :-
truth(Is),
member( [rabbit, n], Is ).

hatman_says(Is) :-
truth(Is),
member( [hatman, n], Is ).

yamane_says(Is) :-
xor( rabbit_says(Is), hatman_says(Is) ).

more_research(Is) :-
xor( rabbit_says(Is), yamane_says(Is) ).

solve(It) :-
truth(It),
yamane_says(It),
more_research(It).

?- findall(It, solve(It), All).
All = [[[rabbit, g], [hatman, n], [yamane, n]]].


90 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:38:23 ]
共犯の可能性は考えないの?

91 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:44:27 ]
>>90
犯行は単独犯によるものだということがわかっていて,
容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです.

スマリヤン本持っている人、原著・翻訳本では正確な問いはどんなですか?

92 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:08:40 ]
>>91
"Did YOU by any chance steal the jam?" the King asked the March Hare.
"I never stole the jam!" pleaded the March Hare.

"What about YOU?" the King roared to the Hatter, (中略)
"No, no!" pleaded the Hatter . "One of us stole it, but it wasn't me!"

"And what about YOU?" continued the King to the Dormouse.
"What do you have to say about all this? Did the March Hare and the Hatter both tell the truth?"
"At least one of them did," replied the Dormouse, (中略)

As subsequent investigation revealed, the March Hare and the Dormouse were not both speaking the truth.
Who stole the jam?

93 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:29:17 ]
んでもって解答
The Hatter said, in effect, that either the March Hare or the Dormouse stole it.
If the Hatter lied, then neither the March Hare nor the Dormouse stole it,
which means that the March Hare didn't steal it, hence was speaking the truth.
Therefore, if the Hatter lied, then the March Hare didn't lie,
so it is impossible that the Hatter and the March Hare both lied.
Therefore the Dormouse spoke the truth when he said that the Hatter and March Hare didn't both lie.
So we know that the Dormouse spoke the truth. But we are given that the Dormouse and the March Hare didn't both speak the truth.
Then, since the Dormouse did, the March Hare didn't.
This means that the March Hare lied, so his statement was false, which means that the March Hare stole the jam.

これから逆算するに

ウサギ「私は盗んでいない」
帽子屋「ウサギかヤマネのどちらかが盗みました」
ヤマネ「帽子屋とウサギの両方が嘘を言っていることはありえません」
ルール:必ず単独犯で、ウサギとヤマネの両方が真実を告げているということはありえない


>>75が正しいかな

94 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:37:43 ]
>>89
お前wwなんでもかんでもxorしやがって

notを使うのが怖いからヤマネが正しいことを前提にしてるのか?

95 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:51:54 ]
(let ((* (amb 'usagi 'bousi 'yama)))
(let ((usagi (amb #t #f)) (bousi (amb #t #f)) (yama (amb #t #f)))
(when usagi
(unless (not (eq? * 'usagi)) (amb)))
(when (not usagi)
(unless (eq? * 'usagi) (amb)))
(when bousi
(unless (not (eq? * 'bousi)) (amb)))
(when (not bousi)
(unless (eq? * 'bousi) (amb)))
(when yama
(unless (or usagi bousi) (amb)))
(when (not yama)
(unless (not (or usagi bousi)) (amb)))
(unless (or (not usagi) (not yama)) (amb))
(display *)
(newline)
(amb)))

96 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:58:15 ]
OSの操作もぜ〜んぶScheme、S式で処理してしまうなんてことできないですか?

(dir 'c) なんてやると

(fileA fileB fileC ...)
みたいに返ってくるような。

S式で全部閉じた世界ってのを空想してます。

97 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:03:55 ]
>>94

山根の証言が正しいことを前提にしてたのは、そうしないとヤマネも犯人になっちゃってたからw
あと、not を使うのが怖いってどういう意味?
ともかく、>>93を参考にしてもう一回問題を読み直して、ヤマネの証言に依存しないようにした

truth(Is) :- % 単独犯である
Is = [ [rabbit, g], [hatman, n], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, g], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, n], [yamane, g] ] .

rabbit_says(Is) :- % ウサギの証言
member( [rabbit, n], Is ). % 俺はやってない

hatman_says(Is) :- % 帽子屋の証言
member( [hatman, n], Is ). % 俺もやってない

yamane_says(Is) :- % ヤマネの証言
¥+( ( ¥+rabbit_says(Is), ¥+hatman_says(Is) ) ).
%% ウサギと帽子屋の両方が嘘を言っていることはあり得ない

more_research(Is) :- % その後の調査
¥+( ( rabbit_says(Is), yamane_says(Is) ) ).
%% ウサギとヤマネの両方の証言が真実だとはあり得ない

solve(It) :-
truth(It),
more_research(It).

?- findall(It,solve(It),All).
All = [[[rabbit, g], [hatman, n], [yamane, n]]].




98 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:04:58 ]
>>96
こんなの?

www.scsh.net/

99 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:44:32 ]
>>96
symbolicsの中古探してみるとか?


100 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:52:35 ]
>>97
findallはProlog標準関数ですか?
働きがよくわかりません。

101 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:12:06 ]
>>100

適当に説明すると、findall は第2引数(述語)を満たすような第1引数(変数)のリストを第3引数(変数)に束縛する。
ここでは、このプログラムがウサギが犯人であることを導くことと、それ以外の結論を導かないことを示すために使った。

ttp://www.cs.ualberta.ca/~you/courses/325/Mynotes/Log/builtin.html
の "3. Finding all solutions" も参考になると思う

102 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:51:55 ]
>>98
>こんなの?
そうそう、そういうの。そういうのをWindowsで欲しい、作りたい。

>>99
>symbolicsの中古探してみるとか?

マジに中古あったらい欲しいっす。プレミアついてるんだろうか。
性能は今のパソコンより遥かに劣るんだし、安く手に入らんかな〜。


103 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:11:57 ]
connection machine がうちの研究所にあったらしいんだけど
捨てちゃったらしんだよね。俺が来るだいぶ前に。


捨てたってそれどういうことよ。
ありえないよ。
捨てるんだったら俺にくれ。

104 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:13:25 ]
>>103 電気代どうするよwwWw


105 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:15:39 ]
第五世代の ψマシン、中古で放出しないかね。

たしかに電気代は心配だなぁ。

106 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:19:32 ]
>>103
自宅に200V電源あるのか?

107 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:25:50 ]
>>106
ブレーカ 1 個つけりゃ 200V なんてすぐとれるだろ?
それとも 3相 200V が必要なのか?




108 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 21:16:06 ]
>>107
途中のいろんなところに負荷が掛かるから自宅以外の工事も必要だろ常考。

109 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:02:19 ]
>>101
d。わかりました。
solve(It)という制約条件を満たすItをバックトラック(?)して見つけて、それをAllにbag-ofする関数ですね。

110 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:06:52 ]
(amb)と(require)と(bag-of)ってのは便利なんだね。

111 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:44:07 ]
200Vつったら普通三相じゃねーの?

112 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:50:06 ]
>>111
家庭の分電盤は単相三線が多い。
普通のコンセントには 100V + 100V として供給。
エアコンには 200V (センターアース)で供給。

113 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:58:18 ]
>103
特定しますた

…漏れも触ってみたかった orz

114 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 01:33:58 ]
>>103,104
通常の家屋じゃ電気代の前に床がもたんので貰っても結構高く付きそう。


115 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 08:39:43 ]
Connection Machine か…。時代を先取りしすぎたよな。
チップ単体の性能向上に限界が見えつつある現代にこそふさわしい。

116 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:32:04 ]
ベストエフォートのあのバスが先取りだってえ?

117 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:36:49 ]
がらくたの話してる奴に一言。

「お前の話はツマラン」



118 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:39:40 ]
>>117
さらに上を行ってどうするw

119 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:43:27 ]
自分にだけは甘いっていうか、
自分の書くことが悉く金言至言に思えちゃう年頃なんですよ

120 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:44:33 ]
今年は春が長いな。

121 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 17:43:18 ]
プログラマってのはゴミみたいな奴ばっかだなw
その吹き溜まり社会に行かなくて良かったと思えるスレだなw

122 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 18:52:33 ]
本質を見失って中傷することだけが正義と捉える輩にはうんざり。

123 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 19:59:11 ]
本質の話をしようぜ!

124 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:07:35 ]
マクロが書けさえすれば、S式は本質的には必要ないです。

125 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:46:08 ]
Far Cry!

126 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:17:13 ]
たしかにマクロアセンブラで書ければ本質的には高級言語はいらないわけだが・・・
そんな生活に戻るのはおらまっぴらだ。

127 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:28:29 ]
まんまんぴらぴらだ



128 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:06:15 ]
>>126
それはまた逆の意味で極端ですね。本質wは両極端の中間に位置していると思います。

129 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:39:31 ]
S式を超える表現を思いついたらすげーな。

130 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:17:55 ]
>>126
今でもマクロアセンブラレベルでしか書けないマシンもあるからあんまりいぢめんな
メモリさえ許せばとりあえずlisp1.0系を導入して、強引に繋いだキーボードでテスト基盤を調査とかすることはよくあると思うんだけどどう?
組み込みよりのちょっと大きめのプロダクト扱う会社だとテストでインタラクティブ環境作れるlispやもちっと小さいインタプリタを自前で持ってるよね?
少なくともおいらのしってる会社で4件はあったよ(うち2件がlispだった)


131 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:38:56 ]
組み込み系はGCの移植・検証がめんどくさいな

132 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:41:26 ]
そゆ用途ならForthじゃね?実績的に。

133 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:24:48 ]
そういえば、BASICとassemblyしか知らなかった俺に、
美しいプログラミングの世界をかいま見せてくれたのがFORTHだった。


134 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:50:29 ]
130です
>>132の言う通り残りの1件はforthでした、しかも、もっとメモリ制約の有った案件が10件他にあってそれは全部forth系です。
ようするに若干メモリに余力無いと採用できないのは本当です



135 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:52:18 ]
補足
全部で1Kワードのメモリしか無いのが残りね。
最初の4件は32Kワードあった


136 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 04:12:04 ]
>>131
GCを極力使わない方法もある。
運用の仕方でGCレスも可能。
メモリも100KBもあれば余裕で動くんじゃないの。
組み込みつっても最近のは余裕あるでしょ。

137 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 09:28:07 ]
>>135
それROMは別でしょ?
余裕でLisp動くじゃない。



138 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 09:29:11 ]
Lispできついのはメモリ空間/ポインタの扱いじゃない?
組み込みだとアドレス空間の割り当てが、案件ごとに違うだろうし。

139 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:03:39 ]
>>138
配列が使える状況であればどうとでもなる。
セグメントの話ならFORTHでも同じ事だし、
頻繁にreadするのでもない限りRAMもそれほど必要ない。
最終的に何かを制御するだけならGCも省ける場合がある。
どういうプロセッサできついのか具体的に
挙げてくれると判りやすいけど。

140 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:36:40 ]
ポインタのサイズが16ビットだったり24ビットだったり


そういえばdoubleは64ビットだから組み込み以外でも問題になるね

141 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:42:39 ]
short型のコンスとlong型のコンスがあったりするの?

142 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:43:07 ]
ttp://www.forth.org/compilers.html

143 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:18:26 ]
>>140
難しく考えすぎじゃないのか?
組み込みでdoubleなんて使うのかね。

144 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:16:53 ]
ニコスクリプトで pure lisp
www.nicovideo.jp/watch/sm3452591

145 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:41:48 ]
>>139
1KワードしかRAMがなければ、
組み込みシンボルオブジェクトの一部や組み込み関数の定義部は、
ROMに入れたくなるから、
> 配列が使える状況であればどうとでもなる。
は、そんな簡単にポータブルな実装にはならない。

「どうにでもなる」と言えば、どうにでもなるんだが。


146 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:45:09 ]
ROMとRAMで空間が分かれてるタイプのプロセッサはちょっと使いにくいかもだな

147 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:53:50 ]
>>145
お前口ばっかで全く作ったこともないだろ。
1ワードだから何だよ。それが仕事なら作るだろ。
むしろそんな環境でLispに出番があるのか疑問だが。



148 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:54:52 ]
Kが抜けてたw
まあそういう事。

149 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 22:12:36 ]
横レススマソ。
1984年ごろのパソコンが128kぐらいだったのを考えると
最近の組み込みなんてメモリサイズが大きいという希ガス。
で、1kワードRAMって何に使うの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef