タグ

2012年12月18日のブックマーク (6件)

  • Beautiful Error Handling

    Beautiful Error Handling 田中英行 <tanakh@preferred.jp> 2012年夏のプログラミング・シンポジウム 自己紹介 田中英行 (@tanakh , http://tanakh.jp ) (株)Preferred Infrastructure勤務のプログラマ Haskell 愛好家 BASIC(20年), C++(15年), Haskell(10年) 「すごいHaskellたのしく学ぼう!」 (Learn You a Haskell for Great Good! の和訳) 好評発売中!! 概要 エラー処理に美しさを! エラー処理の抽象化 Haskellでのアプローチ エラー処理に美しさを! 背景 エラー処理は醜くなりがち なんで汚くなるのか? これまで適切な抽象化が行われて来なかったから なぜそういう状況になっているのか? 大きな原因の一つはプログ

  • Functor-Applicative-Monad Proposal - HaskellWiki

    Haskell calls a couple of historical accidents its own. While some of them, such as the "number classes" hierarchy, can be justified by pragmatism or lack of a strictly better suggestion, there is one thing that stood out as, well, not that: Applicative not being a superclass of Monad. The topic has been discussed multiple times in the past (cf. link section at the very end). This article describe

  • Applicatives are generalized functors

    In my previous blog post about categories and functors I already threatened you with the possibility of a follow-up. Well, here we go. Actually I won’t talk about category theory this time, but about an important abstraction from the world of advanced (at least in my understanding) functional programming which turns out to be a close relative to the now well understood functor. Functors Just in ca

    Applicatives are generalized functors
  • リリカル☆Lisp開発日記 » Blog Archive » Common LispとSchemeの多値の違い

    Common Lispでは多値を必要としない場面で多値(正確には2個以上の値)が返された場合、 最初の値が使用され、後は捨てられます。 (list 1 (values 2 3)) => (1 2) ここまでは知っていたんですが、同様に多値を必要としない場面で0個の値が返された場合、 nilが使用されることが仕様で決まっていることを知りました。 (list 1 (values 2 3) (values)) => (1 2 nil) なんでもしっかり決まっているのがCommon Lispのいいところですね。 一方、Schemeはどうなっているかというと、 Schemeのvaluesは次のように定義できます。 (define (values . things) (call-with-current-continuation (lambda (cont) (apply cont things)))

    grafi
    grafi 2012/12/18
    shidoさんのところに一番目の引数以外無視されると出てたけど、やっぱりR5RSの形式的意味論に従うとエラーだよなあ
  • R6RSの歩き方

    Revised^6 Report on Algorithmic Language Scheme -- アルゴリズム言語 Scheme に関する報告書第6改訂版。 2007年9月に正式に決定された。正式な文書は http://www.r6rs.org/ から 入手できる。 R5RSまでのミニマリズムから、実用主義へ大きく方針変更がなされたため、 仕様の分量もR5RSの50ページからR6RSは全4部、計187ページへと大きく膨らんでいる (ただしコア言語の仕様は90ページ、あとはライブラリや設計上の選択の理由説明である)。 そのため、それまでのミニマリズムを良しとするSchemerと、実用に使えるリッチな 仕様を望むSchemerの間でたいへんな議論となった。 結局、Schemeコミュニティ内で投票が行われ、賛成67票、反対35票、棄権10票で 批准された。しかし、批准の基準である総投票数の6

    R6RSの歩き方
    grafi
    grafi 2012/12/18
  • HTML5 Definition Complete, W3C Moves to Interoperability Testing and Performance

    HTML5 Definition Complete, W3C Moves to Interoperability Testing and Performance First Draft of HTML 5.1 Offers Glimpse at Next Round of Standardization Read below what W3C Members have to say about HTML5 17 December 2012 — The World Wide Web Consortium (W3C) published today the complete definition of the HTML5 and Canvas 2D specifications. Though not yet W3C standards, these specifications are no

    HTML5 Definition Complete, W3C Moves to Interoperability Testing and Performance
    grafi
    grafi 2012/12/18