タグ

schemeとprogrammingに関するLayzieのブックマーク (14)

  • 数学・情報系を専攻してないWebエンジニアがSICPを読んだメモ (1.1) - エンジニアをリングする

    先日、minghaiさんによる非公式PDF版SICPの全訳を公開しましたというブログを見かけました。 SICPは以前に話を聞いて、難しそうだけどプログラミングの基礎体力的なものがつきそうでいいなあと思っていたところ、ちょうど日語訳PDFが公開されたということでありがたくやってみることに。 全訳して公開って、素晴らしいですよね。minghaiさんありがとうございます。 私はプログラミングが好きなのですが数学や情報系を専攻していた経験がないので(関数型言語の経験もなし)、はたしてSICP理解できるのか?って感じですが・・ 読んでみて思ったことやメモ書きを残しておきたいと思います。 印象深いところをピックアップしてあとから読み返せるように、引用を多めにさせてもらってます。 ちなみに非公式PDF版SICPのminghaiさんによる全訳のライセンスはCC BY-NC-SAです。 Scheme実行環

    数学・情報系を専攻してないWebエンジニアがSICPを読んだメモ (1.1) - エンジニアをリングする
  • よりSchemerフレンドリなJavaScriptへ

    Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation. For the best experience please use the latest Chrome, Safari or Firefox browser. '("Kyoto.lisp Tech Talk #1" . "@taiju") 免責 当スライドで使用するLispコードはGaucheにて評価可能です。また、一部でGauche独自のメソッドを利用している箇所もあります。 当スライドでは、JavaScriptとECMAScriptという名前を使っておりますが、厳密に使い分けているわけではありません。文脈によって、適当

    Layzie
    Layzie 2012/05/13
    impress.jsがOperaたんでは見えない!
  • VimでのSchemeプログラミング - 再帰の反復blog

    LispやSchemeがとっつきにくく感じられる理由の一つに、プログラミング支援機能がまったくない状態だとすごくプログラムが書きにくいことがあるんじゃないかと思う。インタプリタを立ち上げてみてもカッコの対応表示機能がないとちょっとした式の入力も苦労する。rlwrapを使えばカッコ対応表示は解決するけど、Lisp向けのオプション設定がいくらか必要になる(→「改めてGaucheとrlwrapの連携について」)。ウェブブラウザに入力することになったらエディタで書いてコピペするのが一番現実的なやり方になってしまう。 エディタでプログラムを書くにしても、変数名に使える文字とかインデントの仕方などLisp独特の癖があるので、エディタの提供するプログラミング支援機能が(素の設定だと)うまく動かないといった苦労が出てくる。たぶんそうした苦労や敷居の高さの多くはEmacsを使えばなくなるのだろうけど、人によ

    VimでのSchemeプログラミング - 再帰の反復blog
  • Rails3.1の初期化プロセスを細かく追いかけたRailsGuidesの記事を和訳したよ:ミームの死骸を越えてゆけ

    This domain may be for sale!

    Rails3.1の初期化プロセスを細かく追いかけたRailsGuidesの記事を和訳したよ:ミームの死骸を越えてゆけ
  • Island Life - 継続の起源

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 米国の大学進学無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...More... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチェ on ハイポハ

    Island Life - 継続の起源
  • 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days

    独 習 Scheme 三 週 間 by Dorai Sitaram 日語訳 Nobuo Yamashita

  • Scheme:Schemeプログラマのレベル10

    emeitchさんのリクエストより。元ネタは Perlプログラマのレベル10。 私家版、Schemeプログラマのレベル10 くれぐれも気にしないように。 レベル0 SchemeとかLispとかいうカッコだらけですごくわかりにくい言語があることは知っているが、 最強とか主張する信者がいるらしいのでなるべく関わらないようにしている。 EmacsLisp?もその親戚らしいけどコードを見ただけでくらくらする。 でも便利なマクロは自分の.emacsにコピペしている。 レベル1 Schemeに関するwebサイトを見たり、大学の講義での説明とかを聞いて、 factorialとかappendとかreverseとかを書いたり、 ネストした木構造のノードの数を数えたりできる。 でもそれが何の役に立つかわからない。こんな言語で実用的な プログラムが書けるなんて信じられない。 カッコの位置を間違えて動かないプロ

    Scheme:Schemeプログラマのレベル10
  • approx-search.el

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Scheme:!と?

    Schemeの名前づけの慣習には、一応こんなのがある。 a. 破壊的操作を行う手続き、構文には!をつける (set-car! etc) a'. !のついた手続きの返り値は未定義(portableには利用できない) b. 真偽値を返す手続きには ? をつける b'. ?のついた手続きの返り値は真偽の判断のみに使える(#t以外の有用な 値を返すことはあてにできない) a, bについてはほとんどの場合守られているといえるだろう。 ただ、よりきつい縛りであるa', b' については、srfiやライブラリレベルでは 守られていないこともあり、混乱を生じやすい。 ちょっとまとめてみる。 !の返り値!の返り値が「利用できてしまう」もの!の返り値を「利用せざるを得ない」もの?の返り値#f, #t以外を返す?-関数述語としてもよく使われるが、#f, #t以外を返すために?がついていないものその他の記号/*$

    Scheme:!と?
  • Pythonのrange関数をJavaScriptで再帰を使って実装してみたものをGaucheに移植してみた - あと味

    今朝投稿した、Pythonのrange関数をJavaScriptで再帰を使って実装してみた - あと味の続き。 JavaScript版は基的な関数で実装したので、おそらくGauche(Scheme)にも簡単に移植できると思って取り組んでみたものの、正直、慣れてなさすぎて超大変でした。 対してコメントもできませんが、もうちょっとGaucheらしいスマートな実装方法もあるのかしら。 元になったJavaScriptのコード function range(start, end, step) { return ( (start === undefined) ? new Error('range expected at least 1 arguments, got 0') : (typeof start !== 'number') ? new Error('range() integer start

    Pythonのrange関数をJavaScriptで再帰を使って実装してみたものをGaucheに移植してみた - あと味
  • SchemeとRubyでリストの操作を学ぼう - hp12c

    引き続き「計算機プログラムの構造と解釈」を使って 今度はSchemeとRubyでのリストの操作を見ていこうと思います なおSchemeのコードは書からの抜粋で 説明は自分の要約です リスト要素の参照 Schemeにはデータオブジェクトの並びを表現する リストというデータ構造がある リストはlist手続きで作ることができるが これはconsを入れ子にしたものと等価である list 1 2 3 4 (1 2 3 4) (cons 1 (cons 2 (cons 3 (cons 4 nil)))) (1 2 3 4) だからconsを順にcdrダウンしていけば リストの各要素にアクセスできる これを使って リストのn番目の要素を返す手続きlist_refを定義する リストは0番から始まる (define (list_ref items n) (if (= n 0) (car items) (l

    SchemeとRubyでリストの操作を学ぼう - hp12c
  • Scheme - Wikibooks

    このページではプログラミングのまったくの初心者、もしくは他のプログラミング言語は知っているがSchemeについて知識がないかたを主な対象者として、Schemeプログラミングを素早く習得できるように解説していきます。 Scheme(スキーム)とはw:プログラミング言語のひとつです。 Schemeの最大の魅力はそのシンプルさにあります。おそらく(Brainf***などのジョーク言語を除けば)現存するあらゆる言語のなかでも最も言語仕様が小さい言語で、つまりはもっとも習得のしやすい言語であるといえます。また、実用にもじゅうぶん耐えうるだけの機能を持ち、プログラミングの楽しさを体験するにはまさにうってつけです。すでにC言語やPerlなどの他の言語を習得している方にとっても、プログラミングの理解を深める上で覚えておいて損はない言語です。 この項ではSchemeの知識がゼロの状態から、最低限必要なことだ

    Scheme - Wikibooks
  • コンパイラのターゲットとしてのJavaScript:Clamato、GWT Smalltalk、Python、Scheme

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    コンパイラのターゲットとしてのJavaScript:Clamato、GWT Smalltalk、Python、Scheme
  • Karetta|Gaucheプログラミング|「Lisp脳」の謎に迫る - Schemeプログラマの発想

    この原稿の最新版について この原稿に加筆した最新版が書籍「プログラミングGauche」に収録されています。 引用や紹介をされる方はなるべく書籍収録版を参照してください。 他の言語のプログラマがSchemeプログラムを書くとき、 どうしても発想が手続き的(procedural)になりがちです。 LispプログラマやSchemeプログラマの発想は手続き的な発想とはどうも違うらしい、 ということは分かるのですが、具体的に何が違うのでしょうか? ここではこの謎に迫ってみましょう。 実例 例えばこんな例題があります。 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 どうしてプログラマに・・・プログラムが書けないのか? (原題: Why

  • 1