タグ

Haskellに関するToQozのブックマーク (11)

  • Haskell でのデバッグ - あどけない話

    「純粋関数型言語はデバッグしにくい。だって純粋な関数で printf デバッグできないから」とつぶやいている人をよく見かけます。これまで放置してきましたが、リツイートが50を超えたので、Haskellでのデバッグについて書きます。 例外処理と同じように、Haskell でのデバッグでは、純粋な関数と IO を分けて考える必要あります。 IO での printf デバッグ IO では、putStrLn や print が使えるから問題ないですよね? foo :: Int -> IO Bool foo i = do x <- あれして i putStrLn $ "x = " ++ show x これして putStrLn "ここも通過" -- それもする y <- それもする print y return y ちなみに、forkIO 起動した軽量スレッドから putStrLn する場合、軽量ス

    Haskell でのデバッグ - あどけない話
  • 標準入力をブラウザでtail -fできるhtmlcatをHaskellで書いた - maoeのブログ

    GNU screen 使っているとはいえ開発中に諸々のログを流しておくのにウィンドウ使うのに慣れてなくて、タブ開きまくるならやっぱりブラウザを使いたいってことで、標準入力をブラウザに出してくれるツールを書きました。 標準入力をブラウザで tail -f できる htmlcat というのを書いた - NaN days - subtech というのを動かしてみたかったのですが、Perlの環境整備がうまくいかなかったので、Haskellで書いてみました。コードは短いのでここに貼っておきます。 maoe/htmlcat · GitHub {-# LANGUAGE ScopedTypeVariables, QuasiQuotes, OverloadedStrings, RecordWildCards, DeriveDataTypeable #-} module Main where import C

    標準入力をブラウザでtail -fできるhtmlcatをHaskellで書いた - maoeのブログ
  • 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

    ToQoz
    ToQoz 2012/01/13
    Hoogle is a Haskell API search engine
  • 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

  • プログラミング/Haskell/入門 - Flightless wing

  • 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.

  • Haskell Platform

    Haskell Platform The Haskell Platform is deprecated The Haskell Platform is deprecated since 2022 and is no longer the recommended way of installing Haskell. For the latest recommended way to install Haskell please see the Downloads page.

  • BDD on Haskell チュートリアル その3-3 : 仕様変更はテストから

    前回までのエントリーはこちら BDD on Haskell の為のディレクトリ構成を考える BDD on Haskell チュートリアル その0 Haskell の浮動小数点小数の同値比較について BDD on Haskell チュートリアル その1 : HUnit で TDD を BDD on Haskell チュートリアル その2 : QuickCheck でランダムテスト BDD on Haskell チュートリアル その3-1 catch できない哀しみ BDD on Haskell チュートリアル その3-2 throw Exception を使わず基は Either を使おう 今回のテーマ - 「テスト済みのモジュールの仕様変更」前回書いたように,IO が絡まないはずの関数群に Exception を throw させるよりは Either <Error> <Success>

  • BDD on Haskell チュートリアル その1 : HUnit で TDD を

    すこし日が空いてしまったけど,BDD on Haskell チュートリアルの続き. 前回までのエントリーはこちら BDD on Haskell の為のディレクトリ構成を考える BDD on Haskell チュートリアル その0 今回は HUnit を使って,基的な TDD (BDD でなく) の進め方について. 例 商と,小数の余剰を返す関数 を定義してみる今回のチュートリアルで適当に「ある程度需要があって,あるとそれなりに便利なもの」として,Scheme の RSR6 で採択された div mod をやってみる. Haskell の mod についてHaskell の標準実装である mod rem は整数型しか受付けず,また返りも整数型なので,たとえば,JavascriptRuby のように小数の余剰を返すことは無い. $ ghci Prelude> :t mod -- mod

  • Haskell から見た node.js - あどけない話

    誤訳 以前、「サーバサイドJavaScriptのNode.js、最初はCやHaskellを検討し失敗。開発者ライアン・ダール氏へのインタビュー」という記事が twitter で話題になっていました。 ―― なぜJavaScriptを選んだのでしょう? ダール氏 実は最初は違いました。最初はC、Lua、Haskellなどで失敗していました。そんなときV8(Chromeが採用しているJavaScriptエンジン)に気がついて、やろうとしていることに対してJavaScriptが完璧な言語だと突然ひらめいたのです。 ただでさえ、Haskell は遅いと誤解されているのに、このような悪意さえ感じらえる訳だと、さらに誤解が深まりそうです。原文にはこう書かれています。 Dahl: Originally I didn’t. I had several failed private projects doi

    Haskell から見た node.js - あどけない話
  • スタートHaskell第0回に行ってきた+最後にやってたあの難解なLTの解説 - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥

    スタートHaskell 第0回に行ってきました。 「初心者向けで環境構築から始まりハローワールド程度しかやらない勉強会、Haskellに多少触ったことのある人間が行く意味あるのだろうか……」と思いつつ行ってみたものの、予想以上に向こうの想定している「初心者」がハイレベルだったため行く意味大あり、TAPL読んでたのが役に立つくらいの内容だった(初心者の定義とは……)。 実際面白かったので、次回以降もぜひ参加したいですね。 LTの最後にやった、型から項を作る話についての解説 【注意】私はあの発表をした人とは関係ないです。しかも実際素人なので、間違ったことを書いている可能性があります!!【ツッコミ希望】 型から項を作る(@pi8027) 一部の人々のHaskellをストップしそうになったこの発表、実はそれほど難しいことはやっていない―― 正確に言うと、「何のためにやるか」「どうやってやるか」は難

  • 1