タグ

haskellに関するgamiのブックマーク (17)

  • 経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog

    今の会社に移って半年経ちました。めでたく試用期間終了です。といっても別に試用期間中に密かに首を切られるような事をしたとか、逆に試用期間が終わったからと言ってこれで定年までのうのうと働ける、という訳ではありません。未来は全く判りません。まあとにかく、一つ区切りがやってきました。 金融を知らないQuantsの仕事 私の職業の肩書きには Quantitatitatitatitative という単語がくっついて超カッコよさそう。普通は Quant というと、金融工学や統計数理に詳しい夜もブイブイいわしている超イケメン20代を想像しますが、私は金融とか全然知らないアラフォーお父さんです。それでも Quant です。お願いですから、私に何を買ったらいいかとか、聞かないでください。金融商品とか買った事ないし。というか、逆に教えて欲しいです。 私のチームは、当の Quant さん達が開発した、金融派生商

    経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog
    gami
    gami 2011/09/23
  • Googleしりとり - でこすけの日記

    今日締め切りだった、Quiz Fest For Google Developer Day 2010のしりとりの問題をHaskellで解いてみました ルールは、 単語のリストが与えられて、2人交互にしりとりをしていきます。 一度使った単語は2度と使えません。単語を言えなくなったら負けです という感じのゲームです。 有限でランダム要素のないゲームなので、先手必勝か後手必勝かのどちらかです。 問題は解けるように作られているので自分サイド(後手)必勝です。 しりとり問題は3問あって、それぞれ使える単語のリストが違うのですが、後の問題ほど単語が増えていきます。 最後の問題の辞書はこんな感じです ixrzhcfoz zxskhh zfscawdhjvu zuecnjyon ... pvwri pykwsq(ここまで合計187単語) この手の問題はミニマックス探索で解けるのですが、そのまま解くと計算量が

    gami
    gami 2010/08/24
  • はてなブログ | 無料ブログを作成しよう

    水風呂のすゝめ 毎日めちゃくちゃに暑い。 ここ数年「およげ!たいやきくん」のように昼間は太陽とオフィスビルとアスファルトの三方向から押し寄せる35℃オーバーの熱に挟まれ、夜になっても最低気温が27℃くらいまでしか下がらない。そんな理不尽な東京鍋の中の暮らしが毎年のことにな…

    はてなブログ | 無料ブログを作成しよう
    gami
    gami 2010/07/25
  • https://www.haskell.org/onlinereport/haskell2010/

    gami
    gami 2010/07/07
  • 関数合成の妙技 - あどけない話

    Haskell 初心者は括弧ばかりの Lisp のようなコードを書く。中級者になると、($) が多くなる。上級者(言い過ぎか?)になると、($) が消えて、(.) が多くなる。この記事では、上級者になるコツをちょっと教えちゃおう。 括弧だらけのコード では、以下の例について考えよう。 foo p xs = sum (filter p (map (+1) xs)) 括弧が多くて、いかにも初心者が書いたコードだ。foo は、以下のように動く。 foo even [1..6] → 12 ($) を使う では、括弧を ($) に置き換えてみよう。そうするには、一番右側にある閉じ括弧を消して、対応する開き括弧を ($) に置き換えればよい。だからこうなる。 foo p xs = sum $ filter p $ map (+1) xs だいぶ見やすくなった。 (.) を使う map (+1) xs

    関数合成の妙技 - あどけない話
    gami
    gami 2010/07/04
  • Haskellの神話 - あどけない話

    Haskell の優雅さを示すためによく使われるコードは、優雅さと分かりやすさだけに特化しており、現実的には遅いことが多い。書き手は他に効率のよい実装があることを知っているのだけれど、読み手はそうではないから、後で効率が悪いと気づいて愕然とするみたいだ。 この記事では、神話になっている例を3つ取り上げ、効率のよい実装と合わせて紹介する。その 3 つの例とは、以下の通り。 フィボナッチ数 素数生成 ソート フィボナッチ数 遅延評価を活かした優雅なフィボナッチ数の実装は、以下の通り。 fib n = fibs !! n fibs = 0 : 1 : zipWith (+) fibs (tail fibs) Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅いにも書かれているように、この実装は遅い。 その理由は、(+) の計算が遅延し、その待機

    Haskellの神話 - あどけない話
    gami
    gami 2010/06/25
  • 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)」はとても遅い - 西尾泰和のはてなダイアリー
    gami
    gami 2010/06/25
  • モナドって結局何なのよ? — join to Monad v0.1 documentation

    モナドって結局何なのよ?¶ Haskell を勉強しようとすると必ず「モナド」ってのが出てきます。困ったものです。数学とか圏論とか関係があるらしくって、何が書いてあるんだか分からなくって嫌になってしまいます。でもね、Haskell って凄いらしいじゃないですか、格好良いらしいじゃないですか。ここはちょっとがんばって色々考えてみましょう。 そもそも Haskell って何なのよ?¶ 何なんでしょうね、Haskell って。コンピュータ言語らしいんです、あ、それは分かってると。良く挙げられる性質は次な感じ?: 関数型言語 強い型付け 遅延評価 参照透過 ここでちょっと型に関して見てみましょう。試しに Haskell の実装の 1 つである Hugs で 1 について考えてみます: $ hugs __ __ __ __ ____ ___ _____________________________

    gami
    gami 2010/06/04
  • あなたがHaskellを使った方が良いただ一つの理由 - think and error

    あなたの思考が穴だらけだからである。 その穴だらけの思考を具現化して何になるというのだ。 遊びならいいが仕事では駄目だ。デバッグに手間がかかりすぎる。 では何故Haskellか? Haskellは包括的な記述をあなたに要請するからである。 以下はHaskellのif式だ。式なのでそれ自身値を持つ。 if n > 3 then "n is bigger than 3" else "otherwise" Haskellでのif式ではelse以降を省略することが出来ない。 使いづらいと思うだろうか。しかしifをネストし、else以降を書かなかった部分があったために致命的なバグを生んでしまったことはないだろうか。そのバグは見つけづらい。それはそうだ。コンパイルでは見つからず、あなたの思考には穴があるために何度読んでも正しいとしか思えないからだ。 賢明であれば、その前後で使用している変数の値を追いか

    あなたがHaskellを使った方が良いただ一つの理由 - think and error
    gami
    gami 2010/04/28
  • 関数プログラミング入門

    2. 自己紹介 • 田中英行 (@tanakh, id:tanakh) • TopCoder (id:haskell-master) • Haskell Lover(not master!) • ICPC2004-5 世界大会 • Preferred Infrastructure勤務 – ICPC OB多数在籍 – アルバイト・インターン等、 興味のある方はご連絡を! 3. 日の内容 • 関数プログラミング入門 – 参照透明 – クロージャ – 遅延評価 – リスト処理 – etc… • 関数プログラミングにまつわる話題 – 永続データ構造 – 並行計算 – ソフトウェアトランザクショナルメモリ(STM)

    関数プログラミング入門
  • https://tryhaskell.org/

    gami
    gami 2010/02/23
  • Haskell入門 5ステップ - HaskellWiki

    WindowsではGHCとHugsの両方が動作しますが、HugsのほうがよりWindowsとの親和性が高いと思われます。しかし、GHCが最も活発に開発やメンテナンスが行われているので、たいていの人は入門者はもちろん、プログラミングになれた人にもGHCを勧めます。またここにもMac OS XにHaskellをインストールする方法が載っています。 Haskell事始め ターミナルを開いてください。もしGHCをインストール済みであれば、コマンドプロンプトに"ghci"と入力してください。(GHCインタプリタの実行ファイル名です)Hugsをインストール済みであれば"hugs"と入力してください。 $ ghci ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4, for Haskell 98.

    gami
    gami 2010/02/17
  • Monadius - a scientist's toy box

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

    gami
    gami 2010/02/11
  • Haskellのリファレンスマニュアルを検索するツール href - 理想未来ってなんやねん

    新しいことを勉強したり、分からないことを調べる時、マニュアルは重要です。 hrefは、ふつうのHaskellプログラミングの著者の青木さんの作られたHaskellのリファレンスマニュアルを検索するツールです。 使い方 hrefの使い方は以下の通り 引数なしだとドキュメントの存在するモジュールを表示します。 $ href Control.Exception Control.Monad Data.Char Data.List Data.Maybe Data.Tuple Debug.Trace Prelude System.Directory System.Environment System.IO Text.ParserCombinators.Parsec.Char Text.ParserCombinators.Parsec.Combinator Text.Regex引数が一つのときは、先頭が

    Haskellのリファレンスマニュアルを検索するツール href - 理想未来ってなんやねん
    gami
    gami 2010/02/11
  • Mac OS X - HaskellWiki

    There is also now the Mac OS X Strike Force that aims to improve using Haskell on OS X. The Haskell Platform There are Mac OS X installers of the full Haskell Platform development environment. We recommend it: Haskell for Mac (IDE) Haskell for Mac is an easy-to-use integrated programming environment for Haskell on OS X. It is a one-click install of a complete Haskell system, including Haskell comp

    Mac OS X - HaskellWiki
    gami
    gami 2010/02/11
  • Haskell基礎文法最速マスター - think and error

    見ていただけるのは嬉しいですがこのエントリは十分古いため、新しい情報へアクセスをしてください。以下のをお勧めします。 すごいHaskellたのしく学ぼう! 作者: MiranLipovaca出版社/メーカー: オーム社発売日: 2017/07/14メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus) 作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行(ソフトカバー)この商品を含むブログ (8件) を見る みんなHaskellやろうぜ!! ということで書きました。 CやJavaRubyなど他言語を知っている人は、これを読むことでHaskellの大抵のことはマスターでき…ません。 特殊な構文が多すぎて他言語との類

    Haskell基礎文法最速マスター - think and error
    gami
    gami 2010/02/11
  • TextMateでHaskellのバンドルを使う - 遅咲きのエンジニア

    マニュアルにもあるけど... mkdir -p /Library/Application\ Support/TextMate/Bundles cd /Library/Application\ Support/TextMate/Bundles svn co http://svn.textmate.org/trunk/Bundles/Haskell.tmbundle TextMateを開いて、Bundles → Bundle Editor → Reload Bundlesを選択すると、BundlesにHaskellが出現します。 すると、ソースコードはこんな感じになります。 アップデートする際は、 cd /Library/Application\ Support/TextMate/Bundles svn up *.tmbundle

    TextMateでHaskellのバンドルを使う - 遅咲きのエンジニア
    gami
    gami 2010/02/06
  • 1