2007-12-03から1日間の記事一覧

vmwareゲストOSがwindows、ホストOSがlinuxであるときの共有フォルダの設定方法

.vmxに以下を記述 ##### Shared Folders ##### sharedFolder0.enabled = "TRUE" sharedFolder0.present = "TRUE" sharedFolder0.writeAccess = "TRUE" sharedFolder0.readAccess = "TRUE" sharedFolder0.hostPath = "/tmp" sharedFolder0.hostName = "host" …

haskellで漸化式

等差数列 初項3項差4の等差数列 Prelude> let a=3:(map (+ 4) a) Prelude> take 10 a [3,7,11,15,19,23,27,31,35,39] 等比数列 初項3項比4の等比数列 Prelude> let a=3:(map (* 4) a) Prelude> take 10 a [3,12,48,192,768,3072,12288,49152,196608,786432] …

haskellって多重代入できたんだ(笑

初めて気がついた let句 where句では 以下のような定義が可能。 タプルの場合、schemeの多値を扱うreceive句にそっくり Prelude> let a:b = [1,2,3] Prelude> a 1 Prelude> b [2,3] Prelude> let (l,r)=splitAt 2 [1,2,3,4] Prelude> l [1,2] Prelude> r [3,…

Gaucheでバブルソート?

よし、今までの研究成果を結集するのだ。 なんか (lambda (y) `(,(car y) ,@(bsort (cdr y)))) で呼び出しているbsortはクラインの壺みたいなイメージを持った。 すごくおもしろい。 >>(define bsort (lambda (x) (if (null? x) () ((lambda (y) `(,(car y) …

(続)haskellでバブルソート

タプルの利用により少し先に進んだ。 Prelude> let bsort [] = []; bsort x = (\x->fst x ++ (bsort $ snd x)) $ splitAt 1 $ foldr (\x y->if y==[] then [x] else if x < (head y) then x:y else (head y):x:(tail y)) [] x Prelude> bsort [3,5,2,4,1] [1…