タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

haskellに関するadillaのブックマーク (12)

  • パターンマッチなんか書いたら負け (モナドがあるから) - ryota-ka's blog

    この記事は CAMPHOR- Advent Calendar 2015 26日目の記事です. はじめに (弁明) 個人的な意見といたしましては,別にパターンマッチを使おうが負けだとはこれっぽっちも思っておりませんし,むしろ,Haskell におけるパターンマッチは非常に強力な言語機構であり,見通しよく処理を記述できる素晴らしい機能だと思っています.記事のタイトルは,単に「id:ryota-ka は将来こういうことを言っていそうだ」と過去に言われた言葉をそのまま引用したものであり,私自身の主義主張とは何ら関わりのないものである旨をここに記しちょっとまさかり投げるのやめて痛い,痛いから! この記事の趣旨について Haskell は,圏論という分野から幾分か抽象化のアイディアを得ており,様々な型を Functor や Monad といった型クラスのインスタンスとすることで,それぞれの型に対する処

    パターンマッチなんか書いたら負け (モナドがあるから) - ryota-ka's blog
  • 「圏論」は関数プログラミングの「モナド」に役立つ。入門PDF等のリンク集 - 勉強メモ (大学の講義動画や,資格試験の対策)

    数学の解説コラムの目次へ 圏論を学ぶ目的は,HaskellやScalaなどの関数型プログラミング言語をよく理解するため,としてよい。 モナドを実装するために必要という応用がある。 オンラインで圏論を学ぶための教科書: 役に立つ読み物 関数プログラミングと関連が深い とくに,モナドを考えるために圏論が必須! 格的に学ぶには? オンラインで圏論を学ぶための教科書: 「圏と関手入門」 http://www.math.nagoya-u.ac.jp/~hasim... 100ページ以上あるオンライン入門書 圏論は面白い(1) メタグラフ : tnomuraのブログ 圏論は面白い(3) メタ圏 : tnomuraのブログ(2は存在しない) 圏論は面白い(4) メタ圏(2) モノイド : tnomuraのブログ 圏論は面白い(5)  関手 : tnomuraのブログ 圏論は面白い(6)  自然変換 :

    「圏論」は関数プログラミングの「モナド」に役立つ。入門PDF等のリンク集 - 勉強メモ (大学の講義動画や,資格試験の対策)
  • Introductions to advanced Haskell topics

    Many people bemoan the sharp divide between experts and beginning Haskell programmers. One thing I've noticed is that "advanced" Haskell topics all have one thing in common: there exists only one good tutorial on that topic and only the experts have found it. This post is a collection of links to what I consider to be the definitive tutorials on these topics. Monads Monads are technically not an a

  • Home

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Home
  • Haskell - Wikibooks

    Haskellは関数型言語であり、他のプログラミング言語を触ったことのある読者なら、Haskellのやり方は他の言語とは多少異なっていることが分かるでしょう。 Haskellの独自性は二つあります。一つは、「純粋」関数型言語であることです。純粋関数型言語では、同じ関数を同じ引数で呼び出した場合、必ず同じ戻り値になることが保証されます。二つ目は、Haskellが極めて現代的な型理論を備えていることです。Haskellでは、型クラスや代数的データ型などの型を扱うことができます。これらの難解な概念は、今は全く理解できないかもしれませんが、このを読み終えた後には、より身近なものに感じられるでしょう。 さて、Haskellerたちはこの言語のどこに魅力を感じているのでしょうか。ユニークで新しい感覚を得られるからでしょうか。しかし、Haskellの最も優れた性質は、純粋関数のみによって書かれているこ

  • Haskell/Understanding monads - Wikibooks, open books for an open world

    There is a certain mystique about monads, and even about the word "monad" itself. While one of our goals of this set of chapters is removing the shroud of mystery that is often wrapped around them, it is not difficult to understand how it comes about. Monads are very useful in Haskell, but the concept is often difficult to grasp at first. Since monads have so many applications, people often explai

  • The Typeclassopediaを訳しました, The Typeclassopedia - #3(2009-10-20)

    ■ [Haskell] The Typeclassopediaを訳しました The Monad.ReaderのIssue 13に掲載されたThe Typeclassopediaという記事が、Functor, Monad, Monoid, Applicative, Foldable, Traversable, Arrowといったような型クラスについて良くまとまっていて、そのあたりを知りたい時の取っ掛かりになりそうだったので翻訳してみました。 作者のBrent Yorgeyさんからも許可がいただけたので公開します。翻訳に慣れていないので変な日語(特に専門用語の日語訳はかなり怪しい)があったり、そもそも間違っていたりするかもしれませんので、何か見つけたらコメントを頂けると助かります。 ■ [Haskell] The Typeclassopedia by Brent Yorgey <first

  • すごい Vim で Haskell を書こう ... の補足 - 反省はしても後悔はしない

    この記事は Vim Advent Calendar の 274 日目の記事です。昨日は id:osyo-manga さんの unite-highlight つくった でした。 はじめに 先週の日曜日(8/25)になごやまつりというイベントがあり、そこで Haskell を Vim で書く方法というネタで LT をしてきました。発表するのが決まったのが前日ということもありちゃんとまとまった内容になっていなかったので、エントリで少し補足を書きたいと思います。 すごいVimでhaskellを書こう@なごやまつり from cohama とりあえず、インデントをどうにかする 発表では「Haskell のデフォルトのインデントプラグインは全然ダメ」という発言をしましたが、間違いでした。訂正します。 「Haskell のデフォルトのインデントプラグインなんてなかった!」 まさか、ないとは...。 と

    すごい Vim で Haskell を書こう ... の補足 - 反省はしても後悔はしない
  • Haskellの単体テスト最前線 kazu-yamamoto/unit-test-example · GitHub

    #Haskellの単体テスト最前線 [To English] これはHaskell Advent Calendar 2012の5日目の記事です。 Haskellで作成したパッケージに対して、単体テストを書くための最新情報をお届けします。以下の記事では、Haskell Platform 2014.2.0.0 以降を使うことを前提とします。 ##要約 要点は4つです。 利用者に見せたい振る舞いは、doctest で書く 利用者に見せたくない振る舞いは、hspec で書く テストを自動化するフレームワークとしては Cabal を使う doctest でも hspec でも、純粋なコードに対しては、できるだけ QuickCheck などの性質テストを書く この記事で一番伝えたいのは、3) です。例題としては、Base64 という符号化を取り上げます。Base64 は知っていると仮定して話を進めます

    Haskellの単体テスト最前線 kazu-yamamoto/unit-test-example · GitHub
  • Hoogle(the Haskell API Search Engine)

    Welcome to Hoogle Links Haskell.org Hackage GHC Manual Libraries Hoogle is a Haskell API search engine, which allows you to search the Haskell libraries on Stackage by either function name, or by approximate type signature. Example searches: map (a -> b) -> [a] -> [b] Ord a => [a] -> [a] Data.Set.insert +bytestring concat Enter your own search at the top of the page. The Hoogle manual contains mor

  • foldl' と無限リストの foldr | tnomuraのブログ

    Haskell のリスト操作関連の高階関数は map や filter のように直観的に理解しやすいものが多い。例えば、リストの要素を全て2倍にしたい時は、map (*2) [1,2,3,4,5] のようにできるし、リストから偶数だけを取り出したい時は、filter even [1..10] で取り出すことができる。 しかし、畳込みに関しては一体何を行う関数なのか掴み難い。リストの総和を得るのに foldr (+) 0 [1,2,3,4,5] でできると言われても、どうしてそうなるのか合点がいかない。 実は、畳み込み関数 folds には明快な機能があるのだ。それは再帰関数を記述するという役割だ。例えば、リストの要素の総和を計算する関数 sum の定義は次のようにできる。 sum [] = 0 sum (x:xs) = x + sum xs 上の再帰的定義で1行目は the base ca

    foldl' と無限リストの foldr | tnomuraのブログ
  • 発展途上猿人 : なんでHaskellのfoldrは無限リストにも使えるのか、自分なりに考えて分かったこと

    2012年08月12日19:48 カテゴリHaskell なんでHaskellのfoldrは無限リストにも使えるのか、自分なりに考えて分かったこと せっかちな方のために先に要約をすると以下のtweetとなります。 そうか!やっと分かった!foldrって言うからリストの最後の要素から計算してるように聞こえるけど実際にはリストの最初の要素から計算してるんだ!だからfoldrは無限リストにも使えるのか! #Haskell — Yamamoto, Yuji: 山悠滋さん (@igrep) 7月 22, 2012 最近、話題の「すごいHaskell!楽しく学ぼう(通称:すごいH)」の原著を ちょっとずつ読んでHaskellの勉強をしているのですが、 なかなか理解できない箇所があって悩んでいました。 それが先日通勤電車の中で読みながらうんうん頭をひねった結果、 ようやく自分なりに分かりやすい解釈が

  • 1