(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

2013-07-01から1ヶ月間の記事一覧

math.prime

【注意書き】よく考えたらHEADだからドキュメントとかもないのはある意味当然で、最新のリリースバージョンの0.9.3.3にはmath.primeは存在しないです。今日の段階(2013/07/35)のHEADの情報ということで。。Gaucheにそんなものがあったなんて知らなかった。。…

Project Euler 22を解く感じ

(add-load-path "." :relative) (use text.csv) (define *names-text* "./problem-22/names.txt") ;;適当なパスに放り込んだnames.txt (let1 num 0 (fold (lambda (x y) (+ (* (inc! num) (name->score x)) y)) 0 (sort (with-input-from-file *names-text* …

ピアスの公式を書いてみた。

クラムというゲームがあるそうで、それの発展として「砲門の問題(The Gunport Problem)」というのがあるらしい。 m×nの板上にドミノを置いたとき、1×1の大きさの「穴」が最大いくつ開けられるか。 ただしmもnも1より大きいものとする。 ※ドミノは1×2の大きさ…

マクロすごい。すごいマクロ。

マクロすげええええええええええええええ2013-07-17 09:21:57 via Twitter for iPhoneということで、マクロに感動した。マクロ凄い。このブログを書くようになったきっかけである9LISPからかれこれ1年半が経ちました。 9LISP - 037 当時、Lispを勧められたと…

10進数な逆数を求める

暇だったので、朝からカキカキ。逆数を10進数で表現する。 (define (reciprocal m) (let loop ((a '()) (b '()) (n 1)) (if (find (^x (= (mod n m) x)) b) (reverse (cons (div n m) a)) (loop (cons (div n m) a) (cons (mod n m) b) (* (mod n m) 10)))))…

ふつくしいEmacs

朝からEmacsネタをふっかけて遊んでたので、ちょっとEmacsの設定をいじってみた。 Sublime Text 2、ProcessingのIDEでいうところのAuto Formatみたいな機能ってないのかな?2013-07-11 15:09:10 via web @reona396 それEmacsならC-x C-h tabで実現できるし、…

Scheme勉強会をやります!

こんにちは。あやぴーです。 唐突ですが、Scheme勉強会を都内でやりたいと考えています。 というか、やります!!ほぼ確実に。*1 なので、ちょっと今考えていることを書きだしてちょっと反応を貰えたら嬉しいなと思っています。 経緯 【質問】都内で土日何処…

僕と契約してLisperになってよ!-Gaucheの開発環境を整えよう-

というわけで、最近周りの人にLisp(といってもSchemeだしGaucheだけど)を布教する機会が多くなってきたのと、ちょっとセットアップの仕方教えてよ!って要望があったので、Gaucheで遊ぶまでの道のりを優しく丁寧に書いてみる。 (元も子もないことを言えば、…

数字を使わないで1+2をやってみる

タイトルだけみると、「またラムダ計算ですか?」って思われそうだけど今回はそうじゃない。 R5RSの仕様を使って、1とか2という"数字"を式の中に書くことなく「1+2」をやるんです。まぁ解説しながらやると面白くないので、いきなり結果をドンと書いてみる。 …

エラトステネスの篩を書いてみた

唐突に書きたくなったので、書いてみた。 (define (sieve n) (define (iter ls m) (if (not m) ls (iter (filter (^x (or (= m x) (not (zero? (mod x m))))) ls) (find (cut > <> m) ls)))) (iter (lrange 2 n) 2)) ;;test (sieve 100) 昔、自分が書いたも…

ふつうにクイックソートをSchemeで書いた

なんとなーく書いてみた。改めてこういうの書いてみて、アルゴリズム以外をあんまり意識しなくていいのは楽でいいなって思った。 (use util.match) (define (take p lst c) (filter (lambda (x) (c p x)) lst)) (define (take-less p lst) (take p lst >)) (…

Rubyのtimesが羨ましかったので

この前、@alea12とぜろゆ嬢と3人で焼肉行ってた時に、Gaucheで10回Hello,worldを表示するのを見せたら、Rubyのコードでドヤ顔されて悔しかったのでRubyのtimesっぽい書き方ができないか試してみた話。見せたのは以下のコード。 (for-each (lambda (x) (print…