scheme

LeopardにGauche-dbd-sqlite3をインストールする

id:yuum3さんに教えて頂いた、Think ITで公開しているgauche-dbd.sqlite3ではなくhttp://practical-scheme.net/wiliki/wiliki.cgi?kikuchiで公開されているドライバを使用する方法を試してみました。0.1.3のバージョンを試してみたが、エラーとなってしまい0…

Gaucheでプログラミング!第3回でつまずいた

いよいよGaucheでプログラミング!も3回目。 【第3回:簡単Webプログラミング!】 http://www.thinkit.co.jp/article/74/3/ DB&Web利用でSQLite3を使うので、FireFoxのSQLite Manager :: Add-ons for Firefoxが役立ちそうです。SQLite3の環境とデータはイン…

第2回:超!Gauche入門に取り組んだ

Gauche入門の第2回が公開されたようですので、取り組んでみました。 なにはともあれ、実際にやってみよう!!というノリで(^^;【第2回:超!Gauche入門】 http://www.thinkit.co.jp/article/74/2/サンプルコードから文法の解説をしていくという形で進んでい…

EmacsでSchemeのコードを書く

Gaucheでプログラミング!の第2回が公開されていたのであわてて、 【第1回 Gaucheでプログラミング!】 http://www.thinkit.co.jp/article/74/1/ で記載されていたEmacsの設定を使った、GaucheのREPLとの連携機能を使ってみました。 Carbon Emacsのインスト…

foldの練習問題

問題 (fold cons '() '(1 2 3 4 5) ) ;; 結果予測 ;'(1 2 3 4 5) どうなるかっていう問題。 動作検証の前に、予測する。結果パラメータのリストと同じ!? 結果 ;; 結果 ;'(5 4 3 2 1) 逆だった・・・ あぁ!そうだった。 consで評価された結果のリストは 第…

max-num手続きのリファクタリング

max-numをリファクリングの例があったので、要点をメモ。 ;; リストから最大値を表示する手続き (define (max-num lis) ;; 大きい数値を返す手続き (define (pick-greater a b) (if (> a b) a b)) (fold pick-greater -inf.0 lis)) (print (max-num '(4 3 5 …

補助手続き

プログラミングGaucheのP49より。max-nという手続きを作成しその中でしかつかわない手続きならば、手続きの中に定義を書く事ができるらしい。うれしい点 名前空間の消費を抑える ;; リストから最大値を表示する手続き (define (max-num lis) ;; 大きい数値を…

Gaucheの連載記事

id:yuum3さんによるGaucheの連載記事が始まったようです。 【第1回 Gaucheをはじめてみませんか?】 http://www.thinkit.co.jp/article/74/1/ yuum3さんにはRails東京勉強会のRails初心者講座でお世話になったのですが、この記事でもお世話になります。m(_ _…

foldを学ぶ

今日もschemeやってます。継続的に打ち込めると吸収度が違いますね。 foldとは リストの要素を順に走査しながら手続きを行える事ができるのが、foldという手続きらしい。具体的にどういった事ができるのかといいますと、2つの引数を元にリストのcdrポインタ…

list?の実装について考える

本日の取り組み。 list?とは(例題の) プログラミングGaucheの46P記載より list?手続き (define (list? obj) (or (null? obj) (and (pair? obj) (list? (cdr obj))))) 正式なリストの定義(list?の実装内容) 空リストは正式なリストである。 オブジェクトが…

コンスセル風

今日の帰り道に目に付いた。ただのマス目が「コンスセルに似ているなー」と思った自分はリストに熱中しすぎだ。(^^;

リストに取り組んだ

carとcdrとcons リストを扱う基本操作。 car(カー)Contents of Address Register 先頭の要素を取得 cdr(クダー)Contents of Decrement Register 先頭を除いた要素を取得 cons(コンス)construct リストの先頭に新しい要素を追加して返す 名前の由来 htt…

今日覚えた事

今日取り組んだSchemeのメモです。関数型言語のど素人です・・・ なにか間違って解釈しているところを発見したら指摘してもらえると嬉しいです。 コメント 3種類ある。 行コメント ブロックコメント S式コメント 行コメントは、「;」 ブロックコメントは「#|…

mzschemeインタプリタオプションをつけたvimのビルドがうまくできない

Macでvimからmzschemeインタフェースを使いと思ってvimの再ビルドをしていますが、かなり手こずっています。手順としては MacPortsのvimのPortfileをカスタマイズ 最低限のビルドをできるようにする mzschemeオプションをつけてビルドをする という感じで進…

vimでSchemeインタフェースを使う為に

人力はてなで質問中の vimを使ってSchemeのコードを書いている方に質問です。 ... に回答を頂いて、vimにSchemeインタフェースがということを知りました。 調べてみたらvim7から備わったみたいです。 :h mzscheme で引いてみたら、こんなメモを発見。 Note: …

人力はてなで質問しました

vimを使ってSchemeのコードを書いている方に質問です。 ... 回答があればうれしいなぁ。 プログラミングGaucheを少しすすめて、今日は「前置記法演算」と「束縛」と「手続き」をやりました。前置記法演算 (* (+ 2 2) (+ 5 3)) 束縛 (define hoge 123) あと今…

プログラミングGuacheの2刷を手に入れた

プログラミングGauche作者: Kahuaプロジェクト,川合史朗出版社/メーカー: オライリージャパン発売日: 2008/03/14メディア: 大型本購入: 22人 クリック: 713回この商品を含むブログ (272件) を見る帰省途中の名古屋駅の書店で、ついに「フムフムヌクヌクアプ…