ラベル scheme/gauche の投稿を表示しています。 すべての投稿を表示
ラベル scheme/gauche の投稿を表示しています。 すべての投稿を表示

2009/10/21

[gauche]プログラミングGauche3回目読了

ついに3回目が読了しました。


ここにきて、「やはり、webアプリケーションを書くのにschemeを使うのは??」という気持ちがフツフツと。

当初の購入理由としては、「schemeを学びたいから」、「後々、JavaScriptで役に立つから」と、ある種、教育用言語とみなして読んでいたのですが、いざ、これでwebアプリを作れと言われてしまうと、うーん???と唸ってします。

サーバーサイドの言語は、asp、CF、phpしかさわったことがないので、perlやrubyをやるとまた違った視点で、gaucheでwebアプリケーションを作る事に対する見方が変わるのかなと。

でもまー、schemeの学習は、まだ続くので、あまり深く考えずにやっていこうかなと

2009/09/01

[gauche]プログラミングGauche2回目読了

昨日、2回目が終了しました。



こうして読み終えてみると、多少前回よりも理解できたものの、やはり19章の継続以降は難しいと思いました。

でもまぁーあまり固くならず、まだもう一回ぐらい読もうと思っているので、気長に理解していきたいかなと。

しかし、schemeを使ってweb serverを実装するのは、やはりしびれるものがあった。

2009/06/12

[gauche]kahuaで編集した場合の注意点

kahuaを使ってプログラムの編集をしているのですが、どうしても編集結果が反映されません。

ターミナルからreloadコマンドを実行すれば更新できるみたいなのですが。

なんでだろうーっと悩んでいたら、なんと、siteというディレクトリにプログラムのコピーができていてそれがブラウザに表示されていたんですね。

というわけで、変更内容で上書きしたのち、reloadを使ったらみごと反映されました。

一見落着♪

2009/06/08

[mysql][gauche]gaucheからmysqlに接続

いよいよ、接続という時に、またしてもエラー。

エラーメッセージを読んでみると、パスワードを求められたから接続できなかったみたいです。

dbi-connectプロシージャーからパラメータを持っていきdbに接続するのですが、そのパラメータで、パスワードをサポートしてないんですねー。

サポートしているパラメータに関してはこちらを参照

で、パスワードを変更して無事に接続することができました。

一件落着。

2009/06/05

[gauche]mysql対応ドライバのインストール

なにやら、gaucheからmysqlの接続ができるみたいで、そのためにはドライバが必要みたいです。

そこで、ここからダウンロードして本の通りにインストールしようと思ったらできませんでした。

理由を模索していたところ、PATHが通っていなかったから。

mysql_configが存在するディレクトリがPATHに含まれている必要があります。


via:MySQLドライバー

ってこれ、本に書いてなかったぞ。

まぁーなんとなくエラーの内容からそんな空気でていたけど。。。

mysql_configが存在するディレクトリのPATHを追加したら無事インストールできました。

とりあえずホッ♪

[gauche]vector(一次元配列)の指数は0

本でわかったのですが、gaucheにも配列としてベクターという概念があるみたいです。

そこで注意したいのが、最初の番号が「0」であること。

一般的に配列は0から始まるものですが、なぜかCFは1からスタートなので、一応メモとして書いた次第であります。

2009/06/04

[gauche]kahuaのインストール

久しぶりに、gaucheネタ
(後日、書評を予定。)


巻末の付録Cにkahuaのインストール方法とおりに試してみたらエラーが発生したので、とりあえず回避方法を書きたいなと。
(Kahuaはgauche上で稼動するフレームワークです。)

OSはmac os xのバージョンは10.5.7です。

本文では

./configure --prefix=/usr/local/kahua --with-site-bundle=$HOME/work/site

via:本文p471

と書かれていたのですが、実際にディレクトリを自分のパソコンに合うように行ってもmake install時にエラーが発生しました。

回避方法は、--with以降を省いて再度、make installを行うとできました。

どうしてこれに気がついたかというと、ここを見たから。

なんで本書の内容と違うんだよ??って突っ込みたくなりましたが、とりあえずインストールできたので、よしとするかな。
(まぁー正解は一つだけではないとは思うんだけどさー。)

2009/04/07

[gauche]動作方法が・・・

本と違う。


本では、「C-c s」なのに、実際には、「C-c S」でないと実行できない。

なぜだろうと、.emacsファイルをみたら、大文字で「S」と書かれていた。

単純にこれ治せばいいんじゃーん。

2009/04/06

[Gauche]サポートページは

こちら

やっと発見した!!

2009/03/23

[emacs][scheme][gauche]emacsからgaucheを実行する

念願のemacsからschemeそしてgaucheを実行することができました。

今日は、その方法をまとめてみようかなと。

基本的には、ここで紹介されているソースを「.emacs.el」に貼付けるだけでオッケー♪

Emacsの設定

gaucheのインタプリタの起動方法は、Emacs + Gauche で二兎を追う!にも記載されている通り、「C-c S」で稼働します。

gacuheの本では、「C-c s」と書かれていて、それ通りにタイプしても起動できませんでした。



gaucheの実行する上で重要となるコマンドは、
SICP再開に向けて emacs + gauche の環境を整えた
主婦でもできるEmacs上でScheme(Gauche)を動かす方法で紹介されていましたが、このコマンドは、schemeでも使えるのではないかなと思いました。

と四苦八苦しているうちに見事、実行にこぎつけることができました。

It's cool!!

2009/03/19

[gauche]ターミナルから実行

とりあえずターミナルから実行できるかなーと思い、インストールした時と同じディレクトリ上で、

gosh
(define (hoge x) (* x x))
(hoge 4)

と入力すると実行することができました。

再度、繰り返しになりますが、重要なポイントとして、macのターミナル上で実行を行う場合、インストールを行った同じディレクトリ上で、上のコマンドを入力することが重要。

なんか忘れそうなので、メモ代わりにエントリーを書きました。

何を参考にしたのかなー??
はっきりとは言えませんが、おそらく本だと思います。
ただ、本には実行するディレクトリには触れていませんでした。
(というか、linuxやmacにとっては、それが普通なのかもしれませんが。。。)

[gauche]インストール完了

schemeをもっと肌で感じたいと思い、去年、これを買いました。


で、macを買ってから開始しようと思い、ほんの少しだけ時間が取れたので、インストールをしました。

最初、本書に書かれている付録Aに書かれているインストールガイドを読んでも、ちんぷんかんぷんだったので、ぐぐってみて、以下の2つを参考にしました。

第1回:Gaucheをはじめてみませんか?
Mac で Gauche で Scheme で

がしかし、正直な話、わかりませんでした。
記事がわかりにくかったのではなく、完全に、理解不足だったのです。

さらにもう少しぐぐってみると、グレートな記事を発見。
Macにおける、gaucheのインストール方法。

1.gaucheのインストールに必要なデータをダウンロード。
2.圧縮されているなら解凍
3.ターミナルを起動
4.パス移動
cd ~/downloads/Gauche-0.8.9
5. ./configure --enable-threads=pthreads
このオプションがMacに入れる場合必要らしい。
6. make
make check
7. sudo make install
8. gosh -V
以下のように出たらOK。
Gauche scheme interpreter, version 0.8.9 [utf-8,pthreads]

via:Macにおける、gaucheのインストール方法。

と書かれているように、まんま実行したらみごとにインストールできました。

どうして、インストールするまでに、こんなに時間がかかったのかなーと改めて考えてみると、これってターミナルから実行するんですね。

windowsユーザーがあるソフトのインストールを行う場合、基本的に、DOSからインストールを行うということはしないので、ターミナルからインストールをするという思考回路にまでたどりつくのに時間がかかりました。

ふむふむ、これだけでも非常に勉強になるなー。

ちなみに余談ですが、つい最近、インストールされた方も、いらっしゃるんですね。
なんか、親近感がわきます(もちろん勝手なですが。。)
MacにGaucheをインストールしたよ

2008/09/16

[scheme]nilのバグ解消!!

やっとこさ、マッシュアップアワードが終了したので、schemeに取り掛かることに。

前回、[scheme]nilでバグが発生で、Takahiroさんから、fix方法を教えていただいたので、バグをfixしました。

Photobucket

上のように、「nil」の代わりに、「'()」と空文字を使いました。

実行結果は、下になりました。

Photobucket

確かに、実行できました。

さらに、変数として「nil」を定義する方法も教えていただきました。

Photobucket

プリミティブなプロシージャ(この場合、nilをプロシージャを解釈)自体、上書きしてしまうのは、schemeならわでなのかなと。(Javaでプリミティブなクラスを上書きしたりしますが、オブジェクト指向言語ということで、別ものとして解釈)

この場合も、実行した結果、
Photobucket

を得ました。

一人で考えるのも重要なのですが、こうしてブログに書くことで、より多くの人の意見を聞くことができるので、ものすごく貴重です。

2008/08/19

[scheme]動いた!!

昨日の[scheme]なぜかバグるんだよなぁー。で、バグがでていたのですが、教科書とおりにやってみたら、できた!!

(define (element-of-set? x set)
(cond ((null? set) false)
((= x (car set)) true)
((< x (car set)) false)
(else (element-of-set? x (cdr set)))
)
)

でもおかしいな、「true」や「false」をつかったらバグったプログラムがあったんだよなー。

プログラムの仕様理解不足だな~。

2008/08/18

[scheme]なぜかバグるんだよなぁー。

どうして、これがバグちゃうんだろう~~~。

(define (element-of-set? x set)
(cond ( (null? set) '())
( (= x (car set)) #t)
( (< x (car set)) '())
(else (element-of-set? x (cdr set)))
)
)


まいったなぁー。。。 orz

2008/07/24

[scheme]painterが使えない

今、紫本のセクション2.2.4をやっているのですが、フレームワークを使わないとどーやら画像を表示できないみたいで、こちらのサイトを参考にしながら試したのですが、いまいちできませんでした。

う~~~ん、一体何が原因なのだろうか?

[scheme]pwd、cd、loadを使う

unixのコマンドで、pwd、cdがあるのですが、MIT schemeでも実行することができました。

さらにファイルを読み込みたい場合、loadプロシージャを使って実行可能。

Photobucket

これで、コマンド行でバグがでたとしても、ファイルで修正ができるので、超便利かなと

2008/07/18

[scheme]nilを'()で対応

う~ん、本によるとnilは変数名と書かれていたので、空リストを表す'()を代わりに使って進んでいきます。

Photobucket

[scheme]nilでバグが発生

紫本だと、確かに、nilと書かれているのに、Dr scheme(MIT schemeでも同じくエラー)で実行するとなぜかエラーになってしまうのだが。。。

Photobucket

困ったなー。これができないと、先の問題すすめないよーーー。。。

orz

2008/07/11

[scheme]DrSchemeのインストール完了

今、schemeの実行環境がMITでリリースされているインタプリターなのですが、プログラムにバグがあった場合、再度修正したソースを実行するのが、ものすごい大変で、もっと便利なインタプリタないのかなーと探していたら、It ProにDrSchemeの紹介されていました。

なにやら便利そうだと思い、しかも同記事に無料と書かれていたので、インストールしました。

windowsの場合、ここでダウンロードしてインストールしました。

実行環境は、下のようになっています。

Photobucket

しかも、うれしいことに、日本語版でも使うことができて、ラッキーみたいな!!

これで環境に困らないぞ(* ̄∇ ̄*)