タグ

schemeとhaskellに関するjoan9のブックマーク (8)

  • Write Yourself a Scheme in 48 Hours - Wikibooks, open books for an open world

    Write Yourself a Scheme in 48 Hours is a featured book on Wikibooks because it contains substantial content, it is well-formatted, and the Wikibooks community has decided to feature it on the main page or in other places. Please continue to improve it and thanks for the great work so far! You can edit its advertisement template. This book proceeds at a very brisk pace, which might occasionally lea

  • HaskellでScheme - あどけない話

    ついに、Write Yourself a Scheme in 48 Hoursをやりました。 分ったこと 以下のことが、なんとなく分ったり、少なくともどう使うのかを体験できました。 エラー処理 正常系の値と異常系の値を包含する型を作って、Scheme の関数はそれを返すようにする モナド変換子 クロージャの実装 コードの問題点 ファイルとして置いてあるコードですが、以下のような小さな問題があります。 2箇所Texのコマンドが残っている parseString = do char ;\textcolor{string}{\texttt{'"'}}; cdr の定義が間違っている cdr [DottedList (_ : xs) x] = return $ DottedList xs x cdr [DottedList [xs] x] = return x は誤りで、正しくはこう。 cdr [

    HaskellでScheme - あどけない話
  • drop して take すればリストに窓が開く

    激しく時代遅れな話題ですが…… [1,2,3,4,5] が与えられたとき [[1,2][2,3][3,4][4,5]] を返すような関数を定義せよ http://valvallow.blogspot.com/2011/02/12345-12233445.html これは、窓をガラガラっと動かしながらリストを覗く、という問題です。ようするに、こういう話(n = 3 の場合)。 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9リストに窓を作るには、drop して take するのが簡単です。窓をガラガラっと動かすほうは、この問題の場合にはリストを作ることになっているので、unfold 系の高階関数を使えばよいでしょう。Scheme よりすっきり書けるので Haskell で書きます。import Da

  • 48時間でSchemeを書こう - Wikibooks

    Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch

  • Route 477(2009-07-03)

    ■ [misc] 6月のサブブログ Unicodeを活用したTODO管理方法 いろんなソフトウェアがUnicodeに対応している昨今なので、もっとUnicodeの絵記号が広く使われてもいいんじゃないかなと思って書いてみたらOpera(9.62)でうまく表示できなくて悲しい気分になるなどした。 家に帰ってから「あの人だったのか!」と言われないための勉強会用名刺 名刺の裏をどう使うかについて書いた。 「600万人の女性に支持されるクックパッドというビジネス 」 という書評を書こうと思ったのだが、書評とか書いたことないことに気づいて単に覚え書きみたいになった。 だいたいこれくらいのペース(週1弱)で書いていこうかなと思っています。飽きたらやめます。 ■ [haskell][sinatra] SinatraのHaskell移植版があるらしいんだが その名前はどうなのw http://githu

    Route 477(2009-07-03)
  • Write Yourself a Scheme in 48 hours

    Write Yourself a Scheme in 48 Hours A Haskell Tutorial By Jonathan Tang Contents Overview First Steps: Compiling and running Parsing A Simple Parser Whitespace Literal Numbers and Strings: Return Values Lists, Dotted Lists, and Quoted Data: Recursive Parsers Evaluation, Part 1 Displaying Values: Show and Typeclasses Evaluating Primitive Values: Pattern Matching Evaluating Primitive Functions: Firs

  • 思いて学ばざれば則ち殆うし - sumiiのブログ

    あるところに同じようなことを(ほとんど成り行きで)書いたのですが、重要な問題のような気がしてきたので、こっちにも書いてみる。 一般に、関数型言語やプログラミング言語(および計算機科学、ないし任意の専門)についての情報は、 一般書・一般誌、Webやメーリングリストやブログ 教科書・専門書 論文 口頭での議論(学会発表や質疑応答、グループのミーティング、部屋での会話) などで交換されます。 で、一般に情報の「ディープさ」は上から下へ行くほど濃くなると思うのです(少なくとも僕の専門分野ではそう)。そのごく一部である1.だけ(しかも日語onlyで)「勉強」していろいろと議論するのは、(何もしないよりは良いのかもしれませんが)非常に危険です。その危険をちゃんと意識していればno problemですが。「高速道路」の話と同じことかも。 たとえば、日のネット(?)では今になって妙に持ち上げられている

    思いて学ばざれば則ち殆うし - sumiiのブログ
  • 紫藤のページ

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

  • 1