新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

Whitespace曲りなりに実行できました。

2021-12-04 16:01:27 | Lisp

 試行錯誤でしたが、なんとか結果は出ました。WhitespaceはSchemeで開発されたプログラム言語ですか?fact.wsはそれを使ったアプリということなんですかね?どっちもチンプンカンプンですが。

コメント (11)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Whitespaceとは?ShemeによるPCシミュレータですか?

2021-12-04 10:06:57 | Lisp

 cametan_42さんが面白いけど、むずかし、事を書いてます。興味はあるのですが、なかなか理解が伴わない。ShemeとかDrRacketを使い込んでいないと細部の理解は無理かも。最後に10000!を計算してますが、Rubyでも出来るかと思ってやってみました。しかし1000!までは出来たんですが、10000!は最後まで行きません。終了します。

出力が一行なので、見づらい。

数値を文字に変化して、桁で区切るルーティンがありました。区切りを"\n"にしてあとはそのままです。ネットから拾いました。

Rubyは大きな数でも、良きに計らえ、でやってはくれますが、出来ないことも有るんですね。

cametan_42さんのブログに、10000!階乗の実行方法が載ってますが、やり方が分かりません。downloadでSchemeのDrRacketのファイルがダウンロードされるのかと思ったんですが、使い方の表示されているtxtファイルがダウンロードされただけです。やり方が違うようです。

訂正)出だしで、cametan_42さんの敬称が落ちてました。ごめんなさい。訂正します。

コメント (2)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Schemeでリストなどの比較では。eq? equal?を使う

2021-11-28 22:13:05 | Lisp

equal?は内容を調べます。eq?はアドレスを調べるようです。リストや数値、文字列も調べられるようです。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Scheme最初から躓いてます。list?、pair? 追記しました。

2021-11-25 14:53:00 | Lisp

参考にしてるサイトです。PDFファイルです。

 

上の図でsampleは、何故(list? sample)が#fなのか?sample自体をみると、リストに見えます。

sample2は一体何者?(list? sample2)でも(pair? sample2)でも、#fです。

listの条件として、最後の要素の右が"'()”で終わっていること。

コメント (2)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WindowsのEmacsでComon Lispを動かしたいのですが…、なんとか動いたようです!が、compile成功。

2021-11-23 08:52:38 | Lisp

 

test.libとtest2.libの2個出来ました。この文のcompileは成功したようです。

カレントの画面が上です。下の画面をアクティブにしてから、C_c、C_kをしないとだめのようですね。

コンパイルな成功です。ただ、どうやれば実行できるのでしょうか?(kakeru 10 20)で実行できると思いますが。

画面を閉じるで終了すると、上のメッセージが出ることがありますが、どうすれば出ないで終了できるのでしょうか?なにか不都合が起きることが有るのでしょうか?

 

コメント (10)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WindowsのEmacsでComon Lispを動かしたいのですが…、なんとか動いたようです!が、slimeだけです。

2021-11-21 09:35:29 | Lisp

cametan_42さんのブログに、WindowsでEmacsを使って、Lispを動かす書き込みがあります。

slimeを使ってやってみると出来ます。

test.libは一度コンパイルできたとき、作られたようです。

 メニューからtools,complileだと出来ません。make用のファイルがないということでしょう。しかしC-c,C-kでも一度は出来たんですが、その後出来ません。出来たときは画面が上下2つ出来てたように思います。何がいけないんでしょうか?実行はTASUが出きれば、(tasu 10 20)出できたと思います。

訂正です。 上の図のソースは間違っていますね。

追加)

 上の図は、Emacsを起動後、file openでファイルを読み込んだあと、C-c,C-kしたあとの画面です。Not connectedとメッセージが出てます。ファイルの拡張子も良いと思いますし、何が間違っているんでしょうか?

コメント (3)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Lispと言っても、SchemeとClispでは結構違うです。

2021-11-21 06:44:10 | Lisp

 そもそも関数の定義の仕方が違います。defunから始まるClisp、defineから始まるScheme(ここではDrRacket)違いを意識しないと、ダメみたいですね。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WindowsのEmacsでComon Lispを動かしたいのですが…、なんとか動いたようです!

2021-11-19 21:56:45 | Lisp

cametan_42さんのブログに、WindowsでEmacsを使って、Lispを動かす書き込みがあります。

環境変数HOMEを作って、場所はc:\homeとしたら、あとは手順通りで出来ました。

ただ一箇所、auto-completeと書いてあって、emacsには(require 'auto-compile)となっているところで、errorだと思いますので、package-installの方を、auto-compileに直したら良いようです。下はcametan_42さんのブログのSS。

--------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------

今のとこは、DrRacketでやれたことを、やってみるしか無いのですが、そこはどこを見れば書いてますか?調べないとですね。

cametan_42さん、有難うございました。

コメント (2)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WindowsのEmacsでComon Lispを動かしたいのですが…。

2021-11-18 19:36:33 | Lisp

cametan_42さんのブログに、WindowsでEmacsを使って、Lispを動かす書き込みがあります。

前回、Emacsのバージョンが少し古かったので、それをホルダーごと削除。新しいものをダウンロード、インストールしたのですが、slimeのインストールで引っかかります。no matchとなります。

以下はcametan_42さんのブログのSSです。

-----------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------

右のリンクはだめだったので、左のこのページからDLしました。

コメント (6)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

EmacsでLispを動かす、書き込みがあります。

2021-11-16 21:24:05 | Lisp

 cametan_42さんのブログに、WindowsでEmacsを使って、Lispを動かす書き込みがあります。全くの初心者の自分は、DrRacketで十分ですが、何しろ、開発環境オタク?(必要もないのに)なので、やってみたくなったのですが、途中でストップしました。

 slimeのインストールをしようとしたんですが、gzipが見つからないとerrorです。7zipでは駄目なんですかね。またはWindowsの解凍ツールでも。

コメント (3)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「もうひとつのScheme入門」など、から。関数を定義する。

2021-11-16 12:00:00 | Lisp

 加算+はもともと、引数を複数取ることが出来るので、関数を定義するまでもなく、下の画面だけで合計が出ます。関数の名称も変更できます。追加かも知れません。同じような機能のaddを作れるかやってみましたが、引数が2個だけしか出来ませんでした。何故?

  加算の他、乗算も引数は複数取ることが出来ます。

減算、除算も複数の引数を取ることが出来ます。

 有るサイトに、円柱の体積問題が有ったので、やってみました。底面積x高さで、答えは出ます。teimensekiはcircle_areaの別名でいけますね。bottomはcylinder_vol2の内部だけで使えるローカル変数のようです。

コメント (5)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「もうひとつのScheme入門」関数を定義しよう

2021-11-14 21:41:53 | Lisp

 関数を定義する時に、定義されている関数を使うことが出来る、使わないで定義することも出来るが、見通しがよくなるようです。引数に関しては、合うように変えないとならない。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「もうひとつのScheme入門」関数を定義しよう。問題2に絞って。

2021-11-14 09:54:26 | Lisp

関数を一つずつ確認しながら、意味を理解するため。

意味を確認して、関数をほうりこんでみました。が、スッキリしません。

 

 回答を見ながら、定義済みの関数を使ってみました。分かりやすいのかも知れません。慣れていけば、分かりやすいのかも?

 大事なのは、例えば(distance2 40 30)の中を見ると、(dist vx t)になっている。更に、中を見ていってもvxでもtでも、形式が守られている。これが関数プログラミング、なんでしょうかね。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

もうすこしのScheme入門、練習です。

2021-11-12 06:05:22 | Lisp

変数で良いのかな?定義と関数の定義及び、シュガースティックでなく、タックスシュガーだったか?便法ですね。

 練習問題には回答も載ってますので、改めて載っける意味有るのか?ですが、一番最後だけ少し違います。一行で全て書くのは流石にできないことも有るでしょう。部分的に書いていって、合体する、みたいな書き方を探ってみました。少しだけ。(笑)

 

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

もう少しの、偶数の判定

2021-11-09 22:31:22 | Lisp

 一番最初のが、偶数というものの定義そのまま。多分ですけど。0の場合をやってみてませんでした。”=”を書く場合は、こんな感じですね。

0は偶数で良いようです。マイナスも関係ないようです。”-1”は偶数でなく、"-2"は偶数です。

 

コメント (2)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする