タグ

haskellに関するwata_dのブックマーク (24)

  • 関数型!侵略ノススメ☆ - 純粋関数型雑記帳

    (この記事は Functional Ikamusume Advent Calendar jp 2010 の為に書かれました) 侵略!侵略!侵略!侵略!侵略!侵略!イカ娘! 再帰しなイカ? main = putStrLn $ f 6 where f 0 = "イカ娘!" f n = "侵略!" ++ f (n-1) 古風に再帰しなイカ? main = putStrLn $ f 6 where f 0 = "イカ娘!" f (n+1) = "侵略!" ++ f n 左派じゃなイカ? main = putStrLn $ foldl (\a _ -> "侵略!"++a) "イカ娘!" [1..6] 右派じゃなイカ? main = putStrLn $ foldr (\_ a -> "侵略!"++a) "イカ娘!" [1..6] 右派に見せかけた左派じゃないか? main = putStrLn $

    関数型!侵略ノススメ☆ - 純粋関数型雑記帳
  • シミュレーション | tnomuraのブログ

    何かアイディアを思いついても、検証できなければ単なる思いつきでそのうち記憶からも蒸発してしまう。シミュレーションという形で、アイディアの検証をやりたいというのは、コンピュータのプログラムを勉強し初めてからずっと思っていたことだが、なかなか簡単にはいかなかった。 今日、ふと、2個のサイコロを振ってその合計をとったときどの値が一番でやすいのだろうと疑問に思った。そこで、GHCi を使ってシミュレーションしてみることにした。 まず、サイコロの目の出方の組み合わせを全て作ってみた。 Prelude> let dices = [(x,y)| x <- [1..6], y <- [1..6]] Prelude> dices [(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(3,1),(3,2),(3,3)

    シミュレーション | tnomuraのブログ
    wata_d
    wata_d 2010/11/07
    すごいなあ。ここまで使いこなせたら楽しくなるのか
  • Looking Out To Sea » My shame is complete

    module Main where import Data.Maybe fizz = concat $ repeat $ replicate 2 Nothing ++ [Just "Fizz"] buzz = concat $ repeat $ replicate 4 Nothing ++ [Just "Buzz"] fizzbuzz = zipWith (maybeWith (++)) fizz buzz numbers = map (Just . show) [1..] maybeWith f (Just a) (Just b) = Just (a `f` b) maybeWith _ (Just a) Nothing = Just a maybeWith _ Nothing (Just b) = Just b maybeWith _ Nothing Nothing = Nothin

    wata_d
    wata_d 2008/02/27
    fizzbuzz
  • はじめての Haskell - あどけない話

    昨日、友達にこんなことを話しました。 Haskell でプログラミングするときは、とりあえず効率のことは忘れる。 メモリーは無限にあると考え、コンパイラーと遅延評価が頑張ってくれると信じる。 Haskell では what を記述する。 効率を考えている時点で、how である。 what と how は、同一視されがちであり、区別するには訓練が必要。 変数は初期化できるが、再代入できない。 だから、インデックスが必要な for はない。 繰り返しが質なら、再帰で書く。 単にリストを走査したいなら map を使う。 リスト処理が得意なので、なんでもリストに落とし込む。 もう一度言うけれど、メモリーは無限にあると考えるから、リストが大きくても気にしない。 行を数えてみる ファイルの行数を数えるプログラムを考えるとします。命令型の頭で考えると、一行ずつ読み込みながらファイルの終わりまでループを

    はじめての Haskell - あどけない話
  • Haskell Mode for Emacs

    The latest version of Haskell-mode can be found at http://iro.umontreal.ca/~monnier/elisp/. The rest of this page refers to an older version of Haskell-mode. The Haskell mode itself is very basic, but provides a base on which to build modules. The currently supported modules are: Font Locking: Colours keywords, comments, strings, etc. Declaration Scanning: Scans declarations and places them in a m

    wata_d
    wata_d 2007/08/26
    -mode
  • Hoogle

    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

  • はてなブログ | 無料ブログを作成しよう

    ベルギーに行った 先日、ベルギーに行きました。 マグリットの絵とルーベンスの絵を見るのが目的。 あまり時間もなく、ブリュッセルとアントワープを駆け足気味で巡ることに。 ミュンヘンから車で10時間近くかかり、なんでこんな無茶をしてしまったのかとも思いましたが、ヨーロッパの方…

    はてなブログ | 無料ブログを作成しよう
  • Memoise

    Memoi[sz]e、Memoi[sz]ation、メモ化の話題 メモ化ってなぁに?関数のメモ化memoise は特殊な ($) かも?Memo モジュール実装を共有する魔法 メモ化ってなぁに? フィボナッチ関数を考えてみよう、定義は fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) これを使って、fib 7 を計算すると fib 7 -- fib 6 -- fib 5 -- fib 4 -- fib 3 -- fib 2 -- fib 1 -- 1 | | | | | | | | | | | fib 0 -- 0 | | | | | | | | | fib 1 -- 1 | | | | | | | fib 2 -- fib 1 -- 1 | | | | | | | fib 0 -- 0 | | | | | fib 3

  • Haskell XML Toolbox 9.2.0

    Contents Introduction Description Documentation Requirements Download Installation Known problems and limitations Portability HXT with Filters Related Work Feedback Introduction The Haskell XML Toolbox is a collection of tools for processing XML with Haskell. It is purely written in Haskell. The Haskell XML Toolbox is a project of the University of Applied Sciences Wedel, The main design goal of t

  • HaXml: Haskell and XML

    HaXml What is HaXml? How do I use it? Downloads Recent news Contacts Related Work The HaXml webpages have moved to http://haskell.org/HaXml

  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
  • サービス終了のお知らせ

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

  • http://www.wikiroom.com/sakurai/?Haskell%A5%E1%A5%E2

  • The Haskell 98 Language Report

    Simon Peyton Jones [editor], Microsoft Research, Cambridge Lennart Augustsson, Sandburst Corporation Dave Barton, Intermetrics Brian Boutel, Victoria University of Wellington Warren Burton, Simon Fraser University Joseph Fasel, Los Alamos National Laboratory Kevin Hammond, University of St. Andrews Ralf Hinze, University of Bonn Paul Hudak, Yale University John Hughes, Chalmers University of Techn

  • サービス終了のお知らせ

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

  • Haskellの入出力

    参照透過性と遅延評価 純粋遅延関数型言語に入出力を導入する場合には、 参照透過性や遅延評価とどう折り合いをつけるか、 が問題になる。 参照透過性(Referential Transparency) 「参照透過性」の正確な定義は知らない。 けれど、だいたい 「等しいものを別の等しいものに置き換えられて、 置き換えての全体の結果が変わらない」 という性質を「参照透過性」と呼ぶ。 (「代入可能性の原理」とどう違うのかは、よく判らない) なんでこの性質を参照透過性と呼ぶのかも正確な所は判らないけど、 たぶん次のような事が元になっているのでは、と予想している (以下しばらく、題(入出力の話)とは関係ない)。 クワインは「指示と様相」(「論理的観点から」に収録)で、 だいたい次のような事を書いている。 名前(とか項とか)が単に対象を指示するものとして現れている場合を 「純粋に指示的(purely r

  • Haskell - loveruby.net

  • Haskell mode for xyzzy - #3(2005-12-09)

    ■ [Haskell] Haskell mode for xyzzy 以前導入しようとしたときには、xyzzy使いならば必ず見たことがあるであろう「名前が衝突するのでexportできません」というエラーメッセージで導入できませんでした。 あまりこのあたりのことがわかっていないのでいい加減なのですが、.xyzzyやsiteinit.lを評価する時点では、現在のパッケージはuserで、editorパッケージが(use-package)されているような雰囲気がします。ということは、 (push '("\\.hs$" . hs-mode) *auto-mode-alist*) (autoload 'hs-mode "hs-mode" t) だと、userパッケージにhs-modeというシンボルを定義した挙句、hs-mode.lがロードされるときにeditorパッケージ内でhs-modeというシンボ

  • Haskellで遊ぶ: Netsphere Laboratories

    (2005.7.18 新規作成, 2009.1 更新。) 関数型プログラミングのための言語 Haskell について。 [2022-09] 処理系が GHC --The Glasgow Haskell Compiler-- だけになってしまってずいぶん経つ。仕様も Haskell 2010 language 以降、纏められなくなってしまった。見通しはあまり明るくない。 Haskell とは (2008.11.7 この節を追加。) 関数型プログラミング 例えばC言語でもオブジェクト指向プログラミングができます (gtk+など) が、プログラミング言語の支援があったほうが自然にプログラミングできます。 Haskell あるいはほかの関数型プログラミング言語 (Clean, O'Caml, Scala, Erlang など)は、関数型プログラミングがしやすいようなプログラミング言語です。程度問題

  • Glasgow Haskell Compiler — The Glasgow Haskell Compiler

    Latest News 1 July 2024 GHC 9.6.6 Released! [download] 10 May 2024 GHC 9.10.1 Released! [download] 16 April 2024 GHC 9.6.5 Released! [download] What is GHC? GHC is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell. Highlights: GHC supports the entire Haskell 2010 language plus a wide variety of extensions. GHC has particularly good support for