タグ

HaskellとTipsに関するnsyeeのブックマーク (7)

  • Re: Haskellの勉強で詰まってる部分 - maoeのブログ

    mizchi.hatenablog.com Haskellを習得する上で難しいポイントだと思います。大きく分けると次の二つにまとめられるのではないかと思います。 コードの中で現れる識別子からそれが何なのかを探しづらい Cabalがつらい それぞれ個人的な見解を書いてみます。 コード中の識別子の探し方 モナドのところの <$> とか <*> とか、え〜どっちがApplicativeで何がFunctorだっけ、そもそもその定義はなんだったっけ。え〜あ〜〜〜みたいになる。 と名前空間の そして名前で役割を推測することが困難な事が多々ある。mapM_ とか、前述した演算子とか。いや mapM_ は map があって mapM があって、っていう段階があるのは理解しているけど、ソース読んでて突然出現するそれには全く対応できない。 はどちらも識別子から型がわかれば大部分が解決します。ありがたいことに近

    Re: Haskellの勉強で詰まってる部分 - maoeのブログ
  • What I Wish I Knew When Learning Haskell

    What I Wish I Knew When Learning Haskell Version 2.5 Version This is the fifth major draft of this document since 2009. HTML Version Screen PDF Printable PDF EPUB Version Kindle Version Pull requests are always accepted for changes and additional content. This is a living document. The only way this document will stay up to date is through the kindness of readers like you and community patches and

  • Haskell programming tips - HaskellWiki

    4.1Don't ask for the length of a list when you don't need it

  • sshi.Continual - read' :: (Read a) => String -> IO (Maybe a)

    数日前(http://d.hatena.ne.jp/sshi/20060630/p2)のread'の続き。IO (Maybe a)を返すread'を作ってみた。エラーを吐く代わりにNothingを返す、がIOモナドの中だけでしか使えないので注意。 readが吐くエラーを補足できないよー、あきらめたよー。といっていたらb2oxさんが丁寧なコメントをつけてくれた。コメントを熟読した結果、僕のなかでは、 IOモナドで発生した例外はtry,catchで補足できる String -> IO a というIOモナドの内部用(?)のread(readIO)がある readで例外が発生するのは入力された文字列を解析するときだろうからIOモナドに組みこむのが自然 という理解がなされたので、それに従ってread'を作りなおした。型はString -> Maybe a からString -> IO (Maybe

    sshi.Continual - read' :: (Read a) => String -> IO (Maybe a)
    nsyee
    nsyee 2008/01/22
    read関数のカスタマイズ。haskellでの例外処理について。
  • haskonの日記 - [haskell]haskell.vim

    おひさしぶりです。最近忙しくてHaskellを書けていないんですが、こんなものをみつけました。 haskell.vim emacsにあるhaskell-modeみたいに、vimで書いていたプログラムをrunghcをつかって実行できます。

    haskonの日記 - [haskell]haskell.vim
  • 2006-08-26

    なんだか四月以降文章を書く気分になかなかなれなくて、 二年ほど前、このブログの開始当初の目標だった ひたすらテクニカルアーティクルを載せるページを作るというのは もうすでにかなり頓挫している風ではありますが、 リハビリのために無理に書くことを見つけてでも なにやら書いてみることにします。 ところで、先月の末から一月ほど京都に帰っていたのですが、 京都は死ぬほど暑かったですね。 盆地で暑いと言われつつも、 やはり離れてはじめて分かるというものです。 (私はあんまり広く情報収集したりしないので、 ここに書く内容はとうによく知られた問題なのかもしれないが、あしからず…) プログラムの実行において、何らかの外部的な情報 (つまりIOを介して得られる情報)を そのプログラム全体から参照したいケースというのがある。 典型的な例がプログラムのコンフィギュレーションで、 たとえば、設定ファイルから設定値を

    2006-08-26
    nsyee
    nsyee 2008/01/22
    haskellでプログラム内に設定情報を持ちまわる場合のTips
  • 第2回 多相性(ポリモーフィズム)への理解を深める

    今回説明するテーマは「多相性」です。英語ではpolymorphism(ポリモーフィズム)になります。多態性や多様性などと呼ぶこともあります。オブジェクト指向をご存じの方ならおなじみの言葉ですね。 多相性は「ある関数や型を,複数の型に対して使用できる」という性質を示す言葉です。こうした性質を持つ関数であれば,数値計算や文字列の連結,I/O(入出力)処理など一見全く違うように見えるような処理を,あたかも同じもののように扱うことができます。 なお,この連載ではその回の理解に必要な知識は解説していきますが,すべての機能を網羅的に説明していくことはしません。Haskellについて体系的に学習したければ,入門書や「Haskell 98 言語とライブラリ 改訂レポート」(原文はLanguage and library specification)を見てください。 前回の補足 この連載では,前回の記事に関

    第2回 多相性(ポリモーフィズム)への理解を深める
  • 1