タグ

haskellに関するhaneimoのブックマーク (23)

  • The Haskell Cabal | Overview

    The Haskell Cabal | Overview Cabal: Common Architecture for Building Applications and Libraries Introduction Cabal is a system for building and packaging Haskell libraries and programs. It defines a common interface for package authors and distributors to easily build their applications in a portable way. Cabal is part of a larger infrastructure for distributing, organizing, and cataloging Haskell

    The Haskell Cabal | Overview
  • HaskellでのSDLの使い方 - kryozahiro’s diary

    SDLのHaskellバインディングはいくつかありますが、この記事ではHackageのSDLを使って説明しています。Windows環境だとCabalではうまく入らなかったりするので、直接ソースからビルドする必要があるかもしれません。 SDLを使うにはFFIが必要 SDLを使ったHaskellコードを単純に $ ghc -package SDL --make Main.hs のようにコンパイルしても、SDL_mainが見つからないなどのエラーが出てコンパイルできません。SDLを使ったプログラムでは来、ユーザが作成したmain関数はSDL.hのマクロによってSDL_mainにリネームされ、SDLライブラリの内部にある当のmain関数がSDL_mainを呼び出すことになってるのですが、ghcはその面倒まで見てくれないのでSDL_mainが作られず、エラーになってしまいます。 これを回避するた

    HaskellでのSDLの使い方 - kryozahiro’s diary
  • HaskellとテストとBDD - あどけない話

    Haskellでの BDD を実践するとどうなるかを考えるためのメモ。 型 豊かなデータ型とセクシーな型システムを持つ Haskell では、型が以下のような意味を持つ。 仕様 保守性の向上 簡単なドキュメント 設計図 BDD では、テストの用語ではなく設計の用語を使ってテストを記述する。だから Haskell で、まず型を書く習慣があれば、ある意味 BDD を実践していると言える。この感覚は、他の言語のプログラマには分からないかもしれない。 fromList :: Ord a => [a] -> Set a fromList = undefined このコードはコンパイルを通過するので、型に関する誤りがないことを確かめられる。 僕はへなちょこなので、型を先に書くこともあれば、後から書くこともある。 単純なコードはさっさと実装したい 型は GHC に推測させて、ghc-mod で自動挿入す

    HaskellとテストとBDD - あどけない話
  • エラー処理を書いてはいけない

    エラー処理を書いてはいけない田中英行 tanaka.hideyuki@gmail.com 2011/12/08 @PFIセミナー 自己紹介田中英行 (@tanakh, http://tanakh.jp) PFI社でプログラマやってますJubatuspficommon検索エンジンのコアエンジンHaskell愛好家msgpack / rpc / idlpeggy (パーザジェネレータ & QQ w/ AQ)Shu-thing (シューティングゲーム) / (Monadius メンテナ)今気になるパッケージは monad-controlLearn you a Haskell 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな

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

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • プログラム・プロムナード

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

  • jhc

    Jhc Haskell Compiler How to install The Manual jhc is a haskell compiler which aims to produce the most efficient programs possible via whole program analysis and other optimizations. Using Jhc See the Installation Page for information about downloading and installing jhc. For information on running jhc, see The User's Manual. Join the jhc mailing list for jhc discussion, announcements, and bug re

  • Haskellライブラリ入門 (2011年版) - あどけない話

    この記事では、基ライブラリである Prelude の関数をだいたい理解した人が、次に知るべきライブラリを紹介します。自由自在にリストを使いこなせ、正規表現がなくてもプログラミングができるんだなと実感した人を対象にしています。 この記事のテーマは、脱リストです。リストはとても柔軟ですが、リストで表現されている文字列は、メモリーをたくさん消費しますし、なにより遅いのです。実用的なプログラムを書くためには、必要に応じて適切なデータ構造を使う必要があります。 containers containersは、文字通りコンテナ型をいくつか集めたパッケージです。ハッシュの代替品やキューとして使えます。連想リストを使っているところは、すべて Data.Map などで置き換えることをお勧めします。 containers に入っているモジュールはすべて眺めましょう。そして、実装も読んでみましょう。(プログラミ

    Haskellライブラリ入門 (2011年版) - あどけない話
  • Haskellことはじめ - kei-os2007 against the machine!!

    ここのところ、ふつける(ふつうのHaskellプログラミング)を読んだりしながら Haskellをちまちまと勉強しているのだけど、ようやく体に入ってきた感じがする。 昨日の「どう書く?org」のお題を解いてみたら、同様の回答がすでにあったのだけど、メモのために導出の過程を自分のブログに書いておくことにする。 Haskellのコードをはてダに書いたことないし。 お題と Haskellによる回答は次のとおり。 文字列に含まれる単語について、それぞれの単語の最初の文字を大文字にしてください。 たとえば、"LL future" と与えられたときは "LL Future" と出力する。"LL day and night" と与えられたときは "LL Day And Night" と出力する。 LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする Haskellで どう書く

    Haskellことはじめ - kei-os2007 against the machine!!
  • Scheme:ExplicitMonad

    Shiro: SchemeでMonadを書こう、という話はちょくちょくある。 OlegさんのMonadic Programming in Scheme Neelakantan KrishnaswamiのMonads in Scheme teranishiさんのページ howm wiki - モナド 実用的な見地からは、Monadが便利なのはモナド則を満たす基演算を定義 しておけば他の色々な操作がジェネリックに行えることだ。 (call-with-iteratorsさえ定義しておけばgauche.collectionの色んな ジェネリック関数が使えるようになりますよ、というのに似ている)。 ただ、Schemeのような実行時型判定を行う言語でMonadを使おうとすると どうもすっきりいかない。というのは、Monadの基演算が引数の型だけでなく 戻り値の型でディスパッチする必要があるからだ。

    Scheme:ExplicitMonad
  • OpenGL

    A Haskell binding for the OpenGL graphics system (GL, version 4.6) and its accompanying utility library (GLU, version 1.3). OpenGL is the industry's most widely used and supported 2D and 3D graphics application programming interface (API), incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. For more information about OpenGL and its

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Haskell

    実行できたプログラム集 hello.hs head.hs lambda.hs fold.hs リスト処理 plusone.hs nums.hs 無限リスト定義 integers.hs 無限リストを定義 map.hs めちゃくちゃ簡単に書ける!! read.hs ファイルを読む do_print.hs progn とか ; に対応するものは do? net.hs ほぼ Mailing List からのパクリ。 -package オプションに気付くのに時間がかかった.....。 net2.hs Monad がわかってきたような。 ghci をひたすら使う Prelude> List.splitAt 3 [1,2,3,4,5,6,7] ([1,2,3],[4,5,6,7]) -- 無限リストが返る。さすが Haskell Prelude> List.repeat 3 [3,3 .. -- 変

  • Haskellでシューティングゲームを作ったまとめ - kryozahiro’s diary

    ゲーム製作者コミュニティ in 札幌の春のシューティング祭りプロジェクトで一ヶ月ほどかけて簡単なシューティングを作りました。 Windowsバイナリは紹介ページ、ソースはHackageから落とせます。ビルドにはSDLが必要です。また、絵と音楽はそれぞれコミュニティのぐぐぐさん、RE-Ya!@D.J.無理王さんに頼みました。 感想 まず、全体的にバグはほとんど出ませんでした。唯一ハマったのはIntのオーバーフローぐらいで、それもSDLとのやり取りのためにIntを使っているので仕方ないかな、という感じです。 IOもそれほど障害にはなりませんでした。面倒なのは事実ですが、do記法を使えば簡単に処理できるのですぐに慣れることが出来ました。ただ、始めは非IO関数として定義しようと思っていたものを、乱数を使いたいとかいう雑多な理由で後からしぶしぶIOにするというケースは結構ありました。 一番困ったのは

    Haskellでシューティングゲームを作ったまとめ - kryozahiro’s diary
  • 「型クラス」と「型構築子クラス」 - Haskell

    nobsunから、またアドバイスをいただきました。 いつもありがとうございます。 ちょうど、以下でご説明いただいた部分を考えていたところなので、 よい整理になりました。 nobsunから 結城さん モナドの考察、たいへん興味深く拝見しています。 以下は、ひょっとして、ヒントになるかもしれないと思って書いています。 (モナドになると、だいぶんおよび腰になってしまうのは、私自身、 モナドの意味そのものをよく理解していわけでないからです。) Haskell のクラスには細かく分類すると 2 種類あります。 「型クラス」と「型構築子クラス」です。 - Ord、Eq、Show などは「型クラス」 - Functor、Monad、MonadPlus などは「型構築子クラス」 「型クラス」は、そのインスタンスである型の値(これは first class)の性質を 規定するものですが、「型構築子クラス」は

  • 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
  • モナド則三度 - あどけない話

    「モナド則再び」で書いた「モナド則1」は何の訳に立つのかという問題ですが、"Monads for functional programming" に答えが載っていました。 以下のような加算機を考えます。 data Term = Con Int | Add Term Term data M a = M a deriving Show instance Monad M where return x = M x M x >>= f = f x eval :: Term -> M Int eval (Con a) = return a eval (Add t u) = do a <- eval t b <- eval u return (a + b) 論文には、M の実装が載っていないので、適当に作りました。Maybe でもいいでしょう。 こういう風に動きます。 式1: eval (Add (Co

    モナド則三度 - あどけない話
  • Haskell によるゲーム開発の情報を集めるためのWiki - FrontPage

    Founded by TTSY. This Wiki is running on fdiary.net wikifarm. Powered by NaCl and security-keeper. Generated by Hiki 0.8.7 (2008-02-08). Powered by Ruby 1.8.5 (2006-08-25) with ruby-fcgi.

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。