タグ

schemeに関するkiririmodeのブックマーク (14)

  • https://cs.indiana.edu/~dyb/papers/3imp.pdf

  • SRFI 日本語訳

    [訳注] ここに掲載されているのは 2008年3月現在の Final SRFI です。 表題が日語で書かれてる SRFI は日語訳が完了しています。 翻訳規約はこちらです。 翻訳の誤りや改善案がありましたら までお送りください。 SRFI 0: フィーチャベースの条件展開 草案: 1999/01/05-1999/04/04 改訂: 1999/04/20 確定: 1999/05/07 SRFI 1: リスト ライブラリ 草案: 1998/12/22-1999/03/09 改訂: 何度か 確定: 1999/10/09 SRFI 2: AND-LET*: ローカル束縛を伴う AND、条件付き LET* 特殊フォーム 草案: 1998/12/28-1999/02/28 改訂: 1999/02/09 確定: 1999/03/01 SRFI 4: 一様数値ベクタ型 草案: 1999/1/1

  • ネイルで失敗しないためのネイリスト選びの極意とは?

    新社会人になって、ついにネイルができるようになった!でも、初めてネイルサロンに行くときには、何を基準に選べばいいの?ネイリストさんは?そんな方が多いと思います。 今回は、初めてネイルサロンに行く方のために、ネイルサロン、ネイリストの選び方について解説します。 ホームページの内容を確認 始めてネイルサロンに行く方は、何を基準にすればいいか分からないと思います。 そんな方は、まずお店のホームページを見てみましょう。 そのときに確認したい点がいくつかあります。 メニュー内容や案内が明記されているか ネイルのデザインやカラーのサンプルが掲載されているか 店内の写真が掲載されているか ネイリストの専門知識や技術が紹介されているか 少なくとも、この程度は確認しておきたいでしょう。 ホームページに掲載されている情報から、自分が合いそうなネイルサロンを見つけてみるのが最初は良いでしょう。 しっかりとした電

  • カリー化関数 (curried function) について - (new Hatena).blog()

    SML という言語のテキストを読んでいて、これまで自分がカリー化という言葉をよく理解せずに使っていたことに気付きました。 どうやら部分適用の概念と混同していたようです。 一般に、ML や Haskell のような関数型言語においては、カリー化とは n 要素タプルを取る関数 fun f (x,y) = z を、n 引数関数 fun curried_f x y = z に変形することと同義らしいです。(n > 1, z は適当な式とします) ML 等では n 引数を取る関数 fun f x1 x2 ... xn = z (* 1 *) は、実体としては次のように1引数関数が n 個連なったものとして定義されています。 val f = fn x1 => fn x2 => ... fn xn => z (* 2 *) (1 と 2 は同値であり、1 は 2 の構文糖衣に過ぎません) f は、最初の

    カリー化関数 (curried function) について - (new Hatena).blog()
    kiririmode
    kiririmode 2008/06/08
    カリー化のメリットとしてステージングってのがあるのか
  • Scheme 入門 17. 遅延評価

    1. 初めに 遅延評価 (lazy evaluation) とは、値が必要になるまで計算しないという計算方法です。 この方法の利点はデータに繰り返し構造を自然に組み込むことができ、 無限を簡潔に表現できることです。これによって、プログラムのモジュール化が促進され、 プログラムが美しくなります。遅延評価の利点については なぜ関数プログラムは重要かを見てください。 全体的に遅延評価を取り入れた言語としては Haskell が有名ですが、 Scheme も部分的に遅延評価を取り入れています。 2. 遅延評価にかかわる関数 R5RS では遅延評価にかかわる関数として次のものが用意されています。 評価法が指示されているが実際の計算が行われていない中間状態をプロミスといい、 プロミスを強制 (force)することで値が計算されます。 (delay proc) proc をプロミスにします。 (prom

  • [Think IT] 第3回:簡単Webプログラミング! (1/3)

    SQLite3インストール! Gaucheは、RDB(リレーショナルデータベース)に依存しないデータベースインタフェース(dbi)モジュールを持っています。各RDB用にデータベースドライバ(dbd)モジュールを用意することで、GaucheからRDBを扱えます、現在、MySQL、PostgreSQLSQLite3などのデータベースドライバモジュールがあります。 今回使うSQLite(http://www.sqlite.org/)は組み込み型RDBで、サーバ管理などが不要なため、扱いやすいのが特徴です。 Linuxでは、パッケージ管理ソフト(apt、yum、rpmなど)でインストールするのが良いでしょう。Mac OS/XにはSQLite3がプリインストールされてます。 Windows(cygwin)では、第1回でGaucheをインストールしたcygwinインストーラーを使ってインストールでき

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • 『The Little Schemer - あどけない話』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『The Little Schemer - あどけない話』へのコメント
    kiririmode
    kiririmode 2008/04/06
    the little schemeも楽しそうだなー
  • 本当のプログラミング初心者がSICPを読んではいけない三つの理由 - ヤドカリデンキ商会(ブログ版)

    酔って適当に考えたことを書き留めておく 半分以上与太だけど、ツッコミ歓迎 SICPは「計算機プログラムの構造と解釈」というコンピュータサイエンスの教科書です。サンプルはすべてSchemeというLispの方言で書かれています。以下、「当にプログラミング未経験でSICPから入門しようとする人」が陥るかもしれない三つの罠を挙げてみます。 1. 破壊的代入に対する嫌悪感を植えつけられる SICPには「大リーグボール養成ギプス」のような側面があります。ストイックな制限を与えることで思考の流れを誘導する感じ。第1章ではリストが使えず(LISP=LISt Processingなのに!)、第2章まではset!が使えないため破壊的代入ができません。つまり状態が扱えない(実際には2章の最後のほうではテーブルが最初から用意されていることにしてオブジェクト指向っぽいことをしてますが)。第3章でようやく状態を扱え

    本当のプログラミング初心者がSICPを読んではいけない三つの理由 - ヤドカリデンキ商会(ブログ版)
  • Javaスクールの危険 - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年12月29日木曜 近頃の若い者ときたら。 勤勉はいったいどこへ行ってしまったんだ? 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのかもしれない。 そりゃ恵まれてるね。私は3ヶ月汚水浄化槽の中の茶色い紙袋に住んでいたよ。朝6時に起きて、袋を掃除し、固くなったパンの耳をべ、工場まで歩いて行くと、1日14時間、毎週毎週働きつづけ、家に帰ると親父にベルトでたたかれて寝床についていたんだ。 ——モンティ・パイソンの空飛ぶサーカス 4人のヨークシャー人 私は若い頃、パンチカードでプログラムを作る方法を学んだ。ミスをしたら、それを訂正するためのバックスペースのような近代的な機能は存在しなかった。カードを捨ててはじめから打ち直すのだ。 私は1991年にプログラマの面接をするようになった。コーディングの問題に答える

  • Karetta|Gaucheプログラミング(立読み版)

    はじめに書の構成 (1)書の対象読者書の表記書の使い方執筆時点でのGaucheバージョン謝辞第1部: 思想LispとScheme (4)Gaucheの特徴 (1)すべて式であるすべてリストである (1)lambdaは空気のような存在である (2)プログラミングとは名前付け(bind)であるすべて再帰である (2) (2)Schemeのすごい点 (4)すべてオブジェクトである (もしそれがお望みなら)Gaucheの設計思想や誕生の背景Schemeの評価モデルとは? (3)「Lisp脳」の謎に迫る - Schemeプログラマの発想第2部: 実用Schemeスクリプトを書こうSchemeスクリプトを書く (1)コマンドライン引数の値を得るユニットテストを書く (1)CGIを書こうSchemeスクリプトをCGIとして実行するwww.cgiライブラリを利用する (1)手軽にHTMLを生成する

  • Top (Gauche Users’ Reference)

    Top This is a reference manual of Gauche, an R7RS Scheme implementation.

  • SICPReading's Wiki - FrontPage

    数学やLispの「素人」でも、名著の誉れ高い「計算機プログラムの構造と解釈 第二版」を何とか読んでみたい!という想いから「素人くさいSICP読書会」を立ち上げました。 参加者へのお知らせ 10月1日(水),第126回は茅場町のコントロールプラスです 今後の予定(確定分) 10月8日(水),第127回は茅場町のコントロールプラスです 注意! Yahoo!グループのメールが届きにくくなっています。開催告知が来ないなーと思ったら、必ず素人くさいSICP読書Yahoo! Groupsの「過去のメッセージ」を確認してください!!! 概要 新たに参加を考えている方は【立ち上げの経緯】や【最近の状況】もご参考に (※ 運営方法などは今後変更される可能性があります) 日時:毎週水曜日 20:00〜22:00 (第1回は2006年2/15(水)) 開催場所:基的には 第1週 茅場町某所 第2週 茅場町

  • Karetta|Gaucheプログラミング|「Lisp脳」の謎に迫る - Schemeプログラマの発想

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

  • 1