ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

lambda(Scheme)コミュの今日のlambda

  • mixiチェック
  • このエントリーをはてなブックマークに追加
今日の勉強の成果を記入してね。DIARY代わりに利用しておk指でOK荒らし厳禁。

Write today's contents of studying. It is O.K. to use it as a DIARY. Do not destroy this thread.

コメント(18)

[勉強時間] 30分
[勉強したこと] Scheme。appendでlist同士を結合できるらしい。

(define squares (list 1 4 9 16 25))

(define odds (list 1 3 5 7))

(append squares odds)
(1 3 5 7 1 4 9 16 25)
[勉強時間] 0分
[理由] 昨日はオールしてしまったため、今日起きたら14:30だった。
あとDr.Schemeが自分のバージョンだとなぜか"nil"が使えない。
課題は終わらせないと悔しいので、明日5限終わったあと、西7でやりたいと思う。
[勉強時間] 0分
[理由] 金曜日はバイトが夜11時半までかかってしまった。そして模擬授業の準備を朝5時までしていた。

土曜日は大学で模擬授業をし、帰ってから寝不足により夜9時に就寝。

正直、管理人としてどうかと思っている。

今日は挽回したい。今日も暑そうなので今からデニーズで勉強する予定指でOK
[勉強時間] 30分
[内容] 大学で中国語の授業があったので、帰りの電車の中で小さい声で音読。短時間でもかなり集中して取り組むことができた。若干近くの人に見られていた気がするが、気にしないようにしたので勝ち組だと思う。
はじめまして。Scheme に惚れ込んでしまい、仕事の合間に勉強中です。

[勉強時間]
空き時間にちょこちょこ
PLT Scheme を使ったチュートリアルであり、MIT の人たちが書いた
"How to Design Program"(http://www.htdp.org) を読み進める。
次は Part I のセクション 4 から。
実は Part VII, VIII が読みたいので、そこまでは辛抱して実習していく。

R5RS は 日本語訳を 3, 4月で読み終わったけど、頭が爆発しそうだった…。
あれを 2 年前に、英語で読もうとしたのは無謀だったのかも知れない。

TOEIC は、最後に受けてから何年かお休みしている。
とりあえず、昨日は簿記 2 級を 40 分やった。
[内容]
PLT Scheme のチュートリアル(HtDP)を進めていて、円をキャンバスに描画したり、それを組み合わせたり、構造体を扱ったりしている。

とても親切なチュートリアルだけど、具体的過ぎて何か進みが遅い気がする。

R5RSを読んだ後にこれだと、若干、拍子抜けしてしまう。

なので、SICPを昨日から実習している。年内に上がるといいなと思う。
[内容]

リストの比較をする処理を書いた。
4桁の複数のコード入力を受け付けて、リストを2つ作成し、
それをソートして、ユニークにし、等しいかを表示する。

> (sort '(5 4 3 2 1) <)
(1 2 3 4 5)

となった。
あと、ユニークにする際には、
(require srfi/1) とし、delete-duplicatesを使用した。
(require の後の書き方は、mzscheme固有かも)
自分用のライブラリを作っていくことにした。

基本的な手続きは、大体 SRFI で Schemer たちが実装してくれているので、業務レベルの在庫を受注に引当てるロジックなどを Scheme にまとめたい。

と思ってやっていたら、define-struct の書き方をよく知らないことが分かった。

なので、PLT Schemeの英語のGuideドキュメントを見つつ、サンプルコードを入力し、実行した。

(いつもリファレンスマニュアルにしか辿り着かず、めちゃくちゃ敷居の高い実装だなあと思ってたけど、ガイドを見つけ初めてまともに読んだ。)

この頃は、Scheme を知ろうとするより、ある実装を「使う」ことに重点を移すのが成果物と言語仕様の理解に役立つように思える。

(もちろん、ユーザーのニーズに依存する)

〜〜〜

今まで使用したどの言語でも考えつかなかった、自分のスキルの見直しだが、Scheme / Lisp だとやってて楽しい。

多分、言語自体が美しいからだと思う。
(危ない世界かなぁ)
[内容]

関数定義で変わったことができたので、報告です。
カリー化した関数の定義についてですが、このようなことができました。
処理系は、MzScheme v4.1 と gosh です。

k2 の定義のような書式が可能だとは知らなかったので、
書けたときに驚きました。

> (define k (lambda (a) (lambda (b) a)))
> ((k 'x) 'y)
x

> (define ((k2 a) b) a)
> ((k2 'x) 'y)
x

ログインすると、残り9件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

lambda(Scheme) 更新情報

lambda(Scheme)のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング