Gauche

うなぎ食べたい

乗り遅れたけど某所のうなぎ食べたい問題 >消しました(2012/07/05 18:15) それだけじゃあんまりなので、一般のNに対してN-queen問題を解くやつ (2012/07/05 21:30)

Project Eulerの問題をiPhoneでサクサク読みたい

です。 方針はとりあえず全問題をまとめて1つのhtmlファイルにして、それをpdfにすればいいかなっという感じ。 なのでまず、下のスクリプトで全問題をまとめた1つのhtmlファイルを作る。 (※ マルチスレッドじゃないので遅い(要学習)。エラーチェックも皆無な…

Project EulerをSchemeで(46-50)

そろそろProject Euler用のモジュールつくったほうがいいかな。 (use util.combinations) (use gauche.sequence) (use srfi-1) (define (integer->list i) (letrec ((i->rl (^i (cons (modulo i 10) (if (< i 10) '() (i->rl (quotient i 10))))))) (reverse…

Project EulerをSchemeで(41-45)

一週間ほどプログラムから離れてたら、括弧が恋しくなってきちゃって。 (use srfi-1) (use util.combinations) (define (integer->list i) (letrec ((i->rl (^(i) (cons (modulo i 10) (if (< i 10) '() (i->rl (quotient i 10))))))) (reverse (i->rl i))))…

Project EulerをSchemeで(36-40)

Schemeらしい書き方も勉強しなきゃ。 (use srfi-1) (define (integer->list i) (letrec ((i->rl (^(i) (cons (modulo i 10) (if (< i 10) '() (i->rl (quotient i 10))))))) (reverse (i->rl i)))) (define (list->integer l) (define (shift-d n) (let loop…

Project EulerをSchemeで(31-35)

いい加減アルゴリズム勉強しなきゃ。 (use srfi-1) (define (integer->list i) (letrec ((i->rl (^(i) (cons (modulo i 10) (if (< i 10) '() (i->rl (quotient i 10))))))) (reverse (i->rl i)))) (define (list->integer l) (define (shift-d n) (let loop…

Project EulerをSchemeで(26-30)

1ヶ月ほどご無沙汰してたけど、Kyoto.lispにも行ってきたことだし、もっとLisp勉強しよう。 今度参加するときはLT出来るようにネタを作っときたいな。 今回からGaucheのver.が0.9.2->0.9.3になりました。 iotaがコアに入って楽、という程度の使いこなしなん…

sxpathが分かりにくかった

sxpathが分かりにくかったのでメモ。 使い方 まず、sxpathは関数を返す gosh> (sxpath '()) #<closure (sxpath loop)> ので使うときはこんな感じになる。(以下でshtmlはSHTMLデータとする) (use sxml.sxpath) ((sxpath '(html head title)) shtml) クエリ 上で'(html head title)と</closure>…

継続を理解するために見たページ達

メモ的に列挙。ありがとうございます。 継続の概念 → http://practical-scheme.net/docs/cont-j.html 継続渡し形式 → http://practical-scheme.net/docs/cont-j.html、http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3A%E4%BD%BF%E3%81%84%E3%81%9F%…

Project EulerをSchemeで(21-25)

今回は問21から問25の5問。処理系はGauche。 そういえば25問解いたのは全体の18%しか居ないらしい… まずはユーティリティ関数とか。factorizeは前に定義したのとちょっと変えてたり。 (use srfi-1) ;; Sieve of Eratosthenes ; (primes 10) => (2 3 5 7) (de…

Gaucheでtraceするまで

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

Gaucheをemacsで書く際のインデント設定->gauche-mode.el

※ メモ的エントリです。 let1を使うとインデント崩れるなー。letでいいやー。 というプログラマとしてあるまじき状態だったのですが、ココの内容をそのまま.emacsにコピペして解決しました。どうやら素のScheme-modeでは特殊形式や構文にあんまり対応してな…

Project EulerをSchemeで(16-20)

今回は問16から問20の5問。処理系はGauche。 15問まとめて書いたのはちょっと長すぎたと思います。 まずはユーティリティ関数とか。前回でも使いました。 (use srfi-1) ; (integer->list 12345) => (1 2 3 4 5) (define (integer->list i) (letrec ((i->rl (…

SchemeでProject Euler(1-15 )

Rubyを勉強しようと思っていたらいつの間にかSchemeを勉強していた(ryというわけでProject Eulerに挑戦しています。 といってもSchemeはやったことないので、入門としてもうひとつの Scheme 入門にお世話になりました。 また、Scheme的な書き方も分からない…

Gaucheの環境構築メモ

SICPが読みたくなってもうひとつの Scheme 入門でSchemeをちょっと勉強してたんですが、「もうすぐ無職の穀潰しがそんな余裕ぶっこいてていいの…?」とか弟に言われたのでちょっと棚上げ中。 一応、環境構築のメモだけ残しておく。 ちなみにOS X Lion。 Gauc…