タグ

haskellに関するhakobe932のブックマーク (29)

  • Algebraic data type - HaskellWiki

    This is a type where we specify the shape of each of the elements. Wikipedia has a thorough discussion. "Algebraic" refers to the property that an Algebraic Data Type is created by "algebraic" operations. The "algebra" here is "sums" and "products": "sum" is alternation (A | B, meaning A or B but not both) "product" is combination (A B, meaning A and B together) Examples: data Pair = I Int | D Dou

    hakobe932
    hakobe932 2014/08/28
    なるほど
  • モナドトランスフォーマー・ステップ・バイ・ステップ(Monad Transformers Step By Step) - りんごがでている

    著者のMartin Grabmüller氏に許可をいただきましたので、 Haskellモナドトランスフォーマーのチュートリアルを翻訳したものを公開します。 タイポや誤訳、プログラムのミス等ありましたら、 Twitter宛@bicycle1885かコメント欄までご連絡頂けるとありがたいです。 元のテキストやプログラムは以下のリンクから得られます。 Monad Transformers Step by Step [2012/12/19] 誤りを多数訂正しました。id:qtamakiさん、ありがとうございます。 [2014/6/19] 誤りを2点訂正しました。id:daimatzさん、id:hitotakuchanさん、ありがとうございます。 Monad Transformers Step by Step Martin Grabmüller Oct 16 2006 概要(Abstract) この

    モナドトランスフォーマー・ステップ・バイ・ステップ(Monad Transformers Step By Step) - りんごがでている
    hakobe932
    hakobe932 2014/06/23
    翻訳あってありがたい
  • Route 477(2014-06-20)

    ■ [haskell][scala] ScalaのEitherとHaskellのEitherはちょっと違うらしい http://www.scala-lang.org/api/2.10.2/index.html#scala.util.Either このへん見てたら、ScalaのEitherはHaskellのとちょっと違って、より柔軟なことができる(代わりに記述が少しだけ増える)らしいという話があって面白かった。 (※自分用のメモなので分かりにくいかもしれないです。) http://togetter.com/li/287993 https://gist.github.com/rirakkumya/2382341 お題 def index(id:String) = Action { Cache.get(id) match { case Some(id2) => { Cache.get(id2)

    Route 477(2014-06-20)
    hakobe932
    hakobe932 2014/06/21
    便利
  • 孤独のHaskell - ぼくのぬまち 出張版

    孤独のHaskellに行ってきた.ので,感想とそのフォローアップになりそうなことを書く. とてもいい会だったように思う. 遅刻して現場に付いたらRLEしてみようという例題("AABBCCC"を"A2B2C3"にする関数を書こう)をやっていて, id:khibino0 さんがおもむろに import Data.List ( group ) import Control.Arrow rle = concatMap (uncurry (:) . (head &&& show . length)) . group のような解をブッパしてたりするなど.で,各自自前実装してる人たちのコードとか見ると「細かい操作でボトムアップにやりたいことを実現しようとしてるなー」と感じることが多かった.Haskellの場合(なのかは知らないが)もっと大域的な変換からトップダウンに考えていったほうがシンプルでソレっぽい

    孤独のHaskell - ぼくのぬまち 出張版
    hakobe932
    hakobe932 2012/12/02
    型で考えるのかー
  • The Fay Programming Language — A Haskell subset

    IntroductionFay is a small programming language which has the following properties:A strict syntactic and semantic subset of HaskellStatically typedLazyPure by defaultCompiles to JavaScriptHas fundamental data types (Double, String, etc.) based upon what JS can supportHas a trivial foreign function interface to JavaScriptBecause Fay is intended to be small and simple, it relies on GHC, the Haskell

    hakobe932
    hakobe932 2012/07/22
    HaskellのsubsetなのでGHCでコンパイルして型安全性がチェックできるみたい
  • Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅い - 西尾泰和のはてなダイアリー

    ラボの昼休みに光成さん、中谷さんとご飯をべながら話した内容を一応ざっくりとまとめておく。 発端はたしか最近Haskellを勉強の光成さんが、Haskellのかっこいいsieveは実はとても遅い(俺は Haskell の sieve についてとんでもない思い違いをしていたようだ...)という話を見て、同様にかっこいいけど遅い下記のフィボナッチ数列の定義の速度を調べてみたら2.5乗くらいのオーダーになっていたという話だったかと思う。 fib = 1:1:zipWith (+) fib (tail fib) 僕も確認するために、コマンドライン引数でNを与えられるフィボナッチ数列のN番目を求めるコードを書いた。 import System fib = 1:1:zipWith (+) fib (tail fib) main = do args <- getArgs print $ (0 *) $

    Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅い - 西尾泰和のはてなダイアリー
  • Route 477 - gemcutterの使い方まとめ (2009年秋)

    ■ [haskell] モナドって結局なんなの 社内勉強会でモナドについて発表しました。分かった気がするたびにすぐに手からすりぬけてしまう、それがモナド…! 追記: モナドそのものが何なのかとか考えないほうがいいんじゃないですかね! [Twitter / いーぐるとまとより引用] まさにその通りだと思います(笑)。IOの使い方、Maybeの使い方、Stateの使い方などを押さえておけば、 中がどうなってるかなんて知らなくても大丈夫。 でも、モナドの持つ「なんか秘技がありそうな感じ」が、中を覗いてみたくさせるんですよね。 この、どこまで掘っても自分の知らないことが出てくる感じがHaskellの魅力なのかも。 Haskell の当にすごいところは、「なぜなに」を問いかけることでいつまでもプログラマが成長できるところにある。 [ふぁぼったー / ikegami__より引用] 一問一答 Q. モ

    Route 477 - gemcutterの使い方まとめ (2009年秋)
  • 正規表現を超える - あどけない話

    まずは、Audrey さんが言った Haskell の殺し文句を思い出して頂きたい。 正規表現ベースのパーサはメンテナンスしにくいのに気づいた? Parsec を使って 15分で Perl6 の完全なパーサを書く方法を勉強しましょう。 15分というのは誇張が入っていると思うが、正規表現が保守しにくく、Haskell の Parsec は強力で保守し易いのは事実だ。その理由を Perl と Haskell のコードを示しながら説明してみたいと思う。 Perl を愛する方に:この記事は Perl を攻撃するために書いたのではない。Perl を選んだのは、正規表現を広めた言語であり、僕がそれなりに Perl のコードを書けるためである。この記事の目的は、正規表現よりも関数型パーサー(Parsec)の方が優れていると示すことだ。 例題 この記事では例題として、IPv4 アドレスを解析する関数を書く

    正規表現を超える - あどけない話
  • Learn You a Haskell for Great Good!

    Hey yo! This is Learn You a Haskell, the funkiest way to learn Haskell, which is the best functional programming language around. You may have heard of it. This guide is meant for people who have programmed already, but have yet to try functional programming. The whole thing is completely free to read online, but it's also available in print and I encourage you to buy as many copies as you can aff

  • Real World Haskell

    Welcome to Real World Haskell This is the online home of the book “Real World Haskell”. It is published by O'Reilly Media. The first edition was released in November 2008. We make the content freely available online. If you like it, please buy a copy. Buy online For your convenience, we have included links to the book through sellers in several countries. O'Reilly (USA, UK) Powell's Books (USA) Am

  • 備忘録 - Intel Mac vs. GMP : 404 Blog Not Found

    2006年12月13日04:30 カテゴリTipsMath 備忘録 - Intel Mac vs. GMP GMP - The GNU MP Bignum LibraryをIntel Macbuildするためのメモ。 結論だけ先に書いてしまうと、以下のとおりとなる。 tar jxvf gmp-4.2.1.tar.bz2 cd gmp-4.2.1/mpn/x86 rm *dive_1* */*dive_1* */*/*dive_1* */*mode1o* */*/*mode1o* cd ../.. sh configure --build=i686-apple-darwin --enable-cxx make make check sudo make install 方法としては、以下を抱き合わせた形。 (Problem solved!) Re: Intel OSX support Cla

    備忘録 - Intel Mac vs. GMP : 404 Blog Not Found
  • mizzy.org : 『ふつうの Haskell』を読む前に

    『ふつうの Haskell』を読む前に Posted by Gosuke Miyashita Tue, 18 Jul 2006 13:01:29 GMT 『ハッカーと画家』を読んだ時に、関数型言語を何かひとつ、かじる程度でいいから学びたいなぁ、と思っていたのですが、当時はどこから学んで良いのかもよく分からない状態でした。 そのまますっかりそのことは忘れていたのですが、最近の Haskell ブームのあおりでふと思い出したので、『ふつうの Haskell』 を Amazon に発注して、それが今日届きました。何か乗り遅れた感がありますが気にしない。 で、以前に、関数型言語とセットでよく出てくる「ラムダ」って何?と思って調べていて参考になった資料を以下に挙げておきます。 ラムダ計算 - Wikipedia ラムダ計算ABC ラムダ計算:プログラミング言語の数学モデル (pdf) ラムダ計算入門

  • Intel MacでHaskellプログラミング - Accept Things

    ついに、Intel MacでHaskellプログラミングができる環境が手に入りました。 今まで、GHCが正式にIntel Macに対応していないこともあって、MacBook ProでHaskellプログラミングを楽しむのを諦めていました。一応、Dan Kogaiさんのblogで説明されていた、GHCをIntel Macで動作させるトリックを以前試してみたのですが、なぜか僕の環境ではうまくいきませんでした。 404 Blog Not Found:haskell - GHC on Intel Mac それで、あれから進展がないかどうか調べていると、良いものが見つかりました。 X86OSXGhc - GHC - Trac このページにあるAudreyTangさんによる改良版GHCをインストールすると、Intel Macで無事にGHCが使えるようになりました! 以下のコマンドで一瞬でインストールで

    Intel MacでHaskellプログラミング - Accept Things
    hakobe932
    hakobe932 2006/07/10
    iMac G5だとportからうまくはいんないんだよね
  • Matzにっき(2006-06-15)

    << 2006/06/ 1 1. [Ruby] Bitwise Magazine :: Ruby programming tutorial 2. [Ruby] Bitwise Magazine :: Ruby Programming 3. [Ruby] mandatory arguments after splat 2 1. 平成17年度情報化月間 第26回 U20プログラミングコンテスト 2. [OSS] ZDNet.com オープンソースブログ:成功するオープンソースビジネスモデル7選 3. [Ruby] Ruby のブロックってオブジェクトじゃないよね。これって“驚き最小の法則”に反しない? 3 1. SANYO もちつきベーカリー 2. 引っ越し 3. [教会] バプテスマ会 4. 『4797336021』 4 1. [教会] 第一安息日 5 1. マルチメディア通信と分散処理研究

    hakobe932
    hakobe932 2006/06/25
    歓迎歓迎
  • カリー化をふと理解した? | prog - 氾濫原

    いろんなところでカリー化と普通に言われて、カリー化って何だよって思っていたけど、ふとした拍子に理解した (と思う) 引数を一個とって関数を返す関数をカリー化された関数というらしい。なんか言葉にするとそこらの説明と大して変わらないなぁ。 檜山正幸のキマイラ飼育記 - JavaScriptでカリー化 の最初に「カリー化ってなに?」って書いてあるけど、今はこれが一番わかりやすい例だと思える。前読んだときはよくわからなかった。2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること。ちなみに「なに?」の部分以外はわからない (読んでもいない) すーぱーぷろぐらみんてくにーーく! のカリーの部分 A Gentle Introduction to Haskell: Functions 404 Blog Not Found:Haskellは難

    hakobe932
    hakobe932 2006/06/24
    カリーかってそういうことか
  • プログラム・プロムナード

    会誌「情報処理」連載の「プログラム・プロムナード」(2002年4月〜2005年3月掲載)と「Haskellプログラミング」(2005年4月〜2006年3月掲載)はどなたでもご覧になれます。ファイルはすべてPDF形式です。 「Haskellプログラミング」に掲載されたプログラムは http://www.sampou.org/haskell/ipsj/ から取ることができます.

    hakobe932
    hakobe932 2006/06/23
    これは良いサンプルですね
  • LLR2006 - 1,000,000(番目|まで)の素数 : 404 Blog Not Found

    2006年06月17日21:30 カテゴリLLの夏Lightweight Languages LLR2006 - 1,000,000(番目|まで)の素数 キミならどう書く 2.0 - ROUND 1 - ? Lightweight Language Ringお題は「100までの整数から素数を列挙せよ」です. に対して mputの日記。 - キミならどう書く 2.0 - ROUND 1 - 100までではちょっと上が小さすぎる。「最初の1,000,000個」とかに変更すべき。ここまで大きければHaskellでも素朴なsieveでは表示できなくなる*1ので、腕の見せ所となる。 というツッコミが来たので、Haskell記事がunder constructionということもあってやってみた。 Javascriptを追記。 ただし、他との整合性から、「最初の1,000,000個」ではなく、「1,00

    LLR2006 - 1,000,000(番目|まで)の素数 : 404 Blog Not Found
    hakobe932
    hakobe932 2006/06/22
    言語比較いろいろ
  • 不思議なISBN-[結] 2006年5月 - 結城浩の日記

    目次 2006年5月31日 - 作業ログを書くために大切な、たった一つのこと / 2006年5月30日 - プログラミング言語の勉強日記 / 2006年5月28日 - 今日の一日 / 2006年5月24日 - 多忙 / 2006年5月22日 - 新連載「簡単実装で学ぶWeb技術2006」 / 誤植 / 2006年5月20日 - 失敗 / 2006年5月19日 - 掲示板spam / 2006年5月18日 - 誤植 / 2006年5月17日 - JSON::Hatchet / 2006年5月16日 - CGIでブラウザのキャッシュを無効にする / 2006年5月15日 - 仕事 / 2006年5月12日 - タイプタイプ / 2006年5月11日 - 仕事 / 2006年5月10日 - タイプしながら考える / 2006年5月8日 - 書きながら考える / 2006年5月5日 - 数学姉 /

    hakobe932
    hakobe932 2006/06/02
    結城さんの勉強グループ公開
  • ふつうくさく、汗臭くないHaskell本 : 404 Blog Not Found

    2006年06月01日01:00 カテゴリ書評/画評/品評Lightweight Languages ふつうくさく、汗臭くないHaskell タイトルは日拙宅にて行われた「素人くさいSICP読書会」からインスパイヤされたもの。 ふつうのHaskellプログラミング 青木 峰郎 実はこの読書会のメンバー、「素人くさい」が素人と呼ぶにはあまりにGeekくさい人々ばかりなのだ。 書の「ふつう」は、そんな「ふつう」だ。 もし「入門Haskell」が日におけるHaskellの元祖なら、こちらは家ともいえるかもしれない。その期待の高さは、発売前にしてサポートページがこれほどはてブされていることからもわかる。 確かに、期待に背かない、素晴らしい出来だった。 まずHaskellの鬼門ともいえる入出力のスタイルに習うより慣れ、Haskellへの恐怖心が和らいだところから徐々にHaskellの確信

    ふつうくさく、汗臭くないHaskell本 : 404 Blog Not Found
    hakobe932
    hakobe932 2006/06/01
    そんなDanさんがあついな
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    hakobe932
    hakobe932 2006/05/29
    勉強につかえそうな情報リスト