久しぶりScheme

| | TrackBacks (0)
PHOTO: On Lisp Cover

 久しぶりにschemeでコードを書いてみた。実用のコードでは初かな。処理系はGaucheで、標準入力から数値を入力して標準偏差を計算するコード。

(define (ave-list lst)
  (/ (fold + 0 lst) (length lst)))

(define (var lst)
  (let ((ave (ave-list lst)))
    (/ (fold + 0 
	     (map (lambda (x) (* x x)) 
		  (map (lambda (x) (- x ave)) lst)))
       (length lst))))

(define (sd lst)
  (sqrt (var lst)))

(display (sd 
	  (map string->number (port->string-list 
			       (current-input-port)))))

リストを修正するコードの連鎖と高階関数。この感覚がLISPっぽい。

 新しいカメラは届きました。

2009-06-06 追記
 はぁ?LET?とか言われそうなので(誰に?)、LETなしバージョンは、sdをこうすれば良い。


(define (var lst)
  ((lambda (ave)
    (/ (fold + 0
	     (map (lambda (x) (expt x 2))
		  (map (lambda (x) (- x ave)) lst)))
       (length lst)))
   (ave-list lst)))

もう誰もついてきてないか....
あと写真を追加しました。

Categories

0 TrackBacks

Listed below are links to blogs that reference this entry: 久しぶりScheme.

TrackBack URL for this entry: http://www.argv.org/~chome/blog/mt-tb.cgi/73

About Me

中尾 圭佐(chomy)
千葉県船橋市在住のモノクロ写真に目覚めた研究者。
Twitter ID: jm6xxu
Skype: chomy

My Tweets

jm6xxu: Yesterday, I joined the summer school at Tsukuba. I could join only one day but i feel it is wonderful to know not knowing.

jm6xxu: VHDLは院生の時に書いたなぁ。簡単なロジックだったけど。最近は、Cからも論理合成できるらしい。RT @habutarou: HDLも大きく2種類あったな。おいらはVHDLを習った。なつかしい… RT @jm6xxu ま、その前にVHDLを思い出さなきゃいけないがな。

jm6xxu: ま、その前にVHDLを思い出さなきゃいけないがな。と思ったら、emacsにverilogモードなんてものがある。debパッケージにもなってるし、Verilogにするか。

jm6xxu: 9月なので本気出す。本格的にFPGAでデバイスを作ることにする。純正ダウンロードケーブルもSuzakuも注文したし、WebPack ISEもダウンロード中。再来週には無料セミナーにも行く。

jm6xxu: 四次元空間はドラえもんのらポケットの中の世界だって? 30点。パイロットは6次元で航空機を制御してる。所詮地ベタて満足してるヤツは自由度がもう一つあるコトを死ぬまで気づかないものさ

About this Entry

This page contains a single entry by chomy published on June 3, 2009 3:27 AM.

HTML5雑感 was the previous entry in this blog.

カメラが直ったので里親募集 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.261