[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 13:36 / Filesize : 85 KB / Number-of Response : 282
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

純粋関数型言語Concurent Clean



199 名前:デフォルトの名無しさん [2005/11/28(月) 00:54:27 ]
書き忘れ、 一意配列について
lp :: *x a -> *(a , *x) | dup, f, end x // dup 架空の 複製関数
lp x y
# (x , x2) = dup x
# end x2 = (y , x)
# lp x (f x2 y)
dup で 複製した領域は再利用されなかった。されれば実装上fが一つに決まり楽になる。

//連想配列書いてみる。lookupはdynamic使ったりMaybeを使わないから実装多い
assoc e [] = Nothing
assoc e [x=:(a,b):xs]
| a == e = Just x
= assoc e xs
(%|%) infixl 9 :: (Maybe a) a -> a
(%|%) Nothing y = y
(%|%) (Just x) _ = x
assocx x alist :==
(@) infix 9 :: [(!String,!a)] !String ->a
(@) alist x = snd (assoc x alist %|% (abort ("assoc not match " +++ x)))
(:-) infixl 9 :: a b -> (a,b)
(:-) a b = (a,b)

al1 = ["test":-"test2","test2":-"test3","test3":-"test4"]
al2 = ["key1" :- ("key2", al1),"key3" :- ("key4", al1)]
Start#(str2, alist) = al2@"key1"
= str2 +++ alist@"test"







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

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

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