_ [Haskell] hs-dotnet入れた。 PS C:\Users\haskell\hs-dotnet-0.4.0> runghc Setup.hs configure Configuring hs-dotnet-0.4.0... PS C:\Users\haskell\hs-dotnet-0.4.0> runghc Setup.hs build Preprocessing library hs-dotnet-0.4.0... Building hs-dotnet-0.4.0... C:\ghc\ghc-6.10.2\bin\ar.exe: creating dist\build\libHShs-dotnet-0.4.0.a PS C:\Users\haskell\hs-dotnet-0.4.0> runghc Setup.hs install Installing library
見ていただけるのは嬉しいですがこのエントリは十分古いため、新しい情報へアクセスをしてください。以下の本をお勧めします。 すごいHaskellたのしく学ぼう! 作者: MiranLipovaca出版社/メーカー: オーム社発売日: 2017/07/14メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus) 作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行本(ソフトカバー)この商品を含むブログ (8件) を見る みんなHaskellやろうぜ!! ということで書きました。 CやJava、Rubyなど他言語を知っている人は、これを読むことでHaskellの大抵のことはマスターでき…ません。 特殊な構文が多すぎて他言語との類
要約:素数判定に使われるミラーラビン法を解説しながら、Haskell で実装してみる。 フェルマーテスト 大きな数を確実に素数だと判定するには、大変時間がかかるので、実用的には「ほぼ素数だ」と確率的に判定する。確率的な素数判定の代表格がフェルマーテストである。 フェルマーテストには、以下に示すフェルマーの小定理を利用する。 a^p ≡ a (mod p) a は任意の整数。p は素数である。法 p の下で a を p 乗したものは、a と合同であると言う意味だ。a には制限はないが、特に a を p より小さい整数、0 ≦ a ≦ p - 1 とすれば、a を p 乗して、p で割ると a に戻るとも解釈できる。 最初に見たときは、だからどうしたと思われるかもしれない。しかし、有名なフェルマーの大定理が実用上何の役にも立たないのに対し、フェルマーの小定理はいろんな場面で活躍する。 実際に計
前回、おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりませんというエントリで、Yコンビネータ(不動点演算子)と再帰の絵解き解説をしました。 Yコンビネータ自身は、結局のところ再帰を産み出してくれるだけです。関数(正確にはλという単純な文字列変換ルール)だけで出来て、プログラミングに関するいろんな原理の研究を可能にするのが凄い訳です。その辺のさわりを、きしださんが解説されています。しかし、単なる再帰なら、実際のプログラミングではYコンビネータなんて使わなくても出来ます。 じゃあ、Yコンビネータとか不動点とかは、偉い学者さんとかが研究に使えばいいもので、普通のプログラマには何の意味もないモノなのでしょうか? というわけで、今回はポジティブに、Yコンビネータや不動点で出てくる考え方を、理論だけじゃなく、実際のプログラミングに応用する例を見てみましょう。 今回、プログラムの例を
先日YコンビネータのきしださんのYコンビネータのエントリが話題になっていました。 ずいぶん日にちが経ってしまいましたが、自分も、自分なりにYコンビネータのあたりを絵解きで整理してみたいと思います。きしださんのエントリタイトル*1に引っ掛けて、目標として、自分の父親(非プログラマ。その辺のおっさん)でも解る内容を目指します。 なぜ不動点演算子というのか、不動点だったらなぜ再帰なのか、この辺りも含めて、実感を持って納得できればいいなと思います。 きしださんのエントリのおさらい 本題の前に、きしださんのエントリをおさらいしておきます。 Yコンビネータはただのオモチャじゃないんだよ 関数だけで色んな事が出来る 条件分岐をする関数ってのもある。 再帰(ループ)を作れる関数もある。←これがYコンビネータ。 数値も関数で表現できる。 つまり、関数だけで、条件分岐も、再帰(ループ)も、数値も作れちゃう!!
紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの
分かった! 分かった! 分かった! 自己言及 ものまね鳥(M)は、自己言及する鳥なんだ! Haskell では、型推論がジャマして、ものまね鳥を実現できない。 -- Mx = xx m x = x x -- エラーになる ヒバリ(L)も実現できない! -- Lxy = x(yy) l x y = x (y y) -- エラーになる 当然の帰結として、Haskell では再帰を使わないと賢人鳥(Y)を実現できない! 賢人鳥1 wikipediaの Y コンビネーターに書かれている最初の賢人鳥はこう。 (define Y (lambda (f) ((lambda (x) (f (lambda (y) ((x x) y)))) (lambda (x) (f (lambda (y) ((x x) y))))))) これは SLL だ! ;; Sxyz = xz(yz) (define S (lam
まずは、Audrey さんが言った Haskell の殺し文句を思い出して頂きたい。 正規表現ベースのパーサはメンテナンスしにくいのに気づいた? Parsec を使って 15分で Perl6 の完全なパーサを書く方法を勉強しましょう。 15分というのは誇張が入っていると思うが、正規表現が保守しにくく、Haskell の Parsec は強力で保守し易いのは事実だ。その理由を Perl と Haskell のコードを示しながら説明してみたいと思う。 Perl を愛する方に:この記事は Perl を攻撃するために書いたのではない。Perl を選んだのは、正規表現を広めた言語であり、僕がそれなりに Perl のコードを書けるためである。この記事の目的は、正規表現よりも関数型パーサー(Parsec)の方が優れていると示すことだ。 例題 この記事では例題として、IPv4 アドレスを解析する関数を書く
第1回 Haskellプログラミングの楽しみ方 山下 伸夫 株式会社タイムインターメディア 2008/10/29 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう(編集部) 本連載は、Haskellプログラミングの初歩から始めて、日常的なスクリプティングやWebプログラミングをHaskellで楽しめるようになるまでのガイドである。 Haskellプログラミングのスタイル Haskellプログラミングに興味はある人でも、Haskellプログラミングの習得にはちょっとした障壁を感じることがあるのは間違いないようだ。小難しい概念や用語のせいでもあるが、それらはあまり重大な理由ではない。 障壁となるのはHaskellのプログラミングスタイルである。Haskellのプログラミングスタイルは関数プログラミングという系統に属する。一方、
http://tanakh.jp/hl/ darcs get http://tanakh.jp/repos/haskellitter/ Haskellでtwitterのようなものを実装しました。 試験的に公開してみます。 皆様利用して感想など頂けると幸いです。 Web2.0的な素敵な背景は、tkngさんに作っていただきました。 ありがとうございます。 全体的なページのデザインは私が適当にポコポコ作ったので、ひどいです。 このシステムは日々の普通な使用にゆるゆると耐えてくれればよいかなと思っておりますが、 最低限のスケーラビリティは考えて設計されております。 投稿データ〜1000万程度まで保持できることを考え、 そのデータに対し現在提供しているあらゆるクエリをノータイムで返すことができます。 投稿、削除、星をつけるなどの操作からランキングをリアルタイムに更新します。 ページはすべてたどること
Brent Kerby (bkerby at byu dot net). Completed June 19, 2002. Updated February 5, 2007. Introduction A Few Combinators: swap, dup, zap, unit, cat, cons, i, dip Lambdas An Abstraction Algorithm The sip Combinator Schemes of Combinators: dign, buryn Another Combinator Scheme: flipn Two More Schemes: dipn, sipn Applicative Combinators: w, k, b, c, s Towards a Minimal Base: {cons, sip, k} A Smaller Ba
PayPal casino uden ROFUS: Komplet guide til sikker online gambling i Danmark PayPal er blevet en populær betalingsmetode på udenlandske online casinoer uden ROFUS. Dette skyldes den hurtige og sikre måde at overføre penge på, som mange danske spillere værdsætter. PayPal casinoer uden ROFUS tilbyder hurtige udbetalinger på 1-3 timer og accepterer spillere, der er registreret i ROFUS-registret. Når
こんなまとめを読んだ togetter.com 一方で元文献の著者の平山昇は以下のように指摘している。 【「初詣」の歴史に関するメディア・ネット上の誤りについて】 「『初詣』は鉄道会社(京急)の営業活動によって誕生したもの」という言説が一部のテレビ番組やインターネットなどで拡散しておりますが、これは私の研究を紹介した過去のメディア報道をせっかちに誤解したもので、端的に誤りです。川崎大師が明治時代に「初詣」の発祥の地となったのは事実ですが、それは京浜電鉄(現在の京急)が誕生するよりも前のことでした。「初詣」発祥の経緯については拙著『鉄道が変えた社寺参詣』にて説明しております。 で、以下のsynodosの記事や著書の「鉄道が変えた社寺参詣」を少し読んでみた。 synodos.jp 現在の初詣の参詣方式は明治20年ごろに誕生したが、ここでいう初詣とは「いつ」「どこに」を指定しない、正月ごろにどこ
あー、あーうあー。家出る前に牛乳を冷蔵庫にしまったかどうか確認すること。 昼間なんか色々考えたような気がしたんだけど、どうでもよくなった。 ので、そういう仕事辞めたくなった話題(またか)とは全然関係無く、関数型言語はGUIアプリケーションも美しく書けるのではないかというような話。 とにかく、Monadっていうのは、コマンドのことだと理解しておく。 main = putStrLn "nanika"こういうのがあった場合、mainというのは"nanika"を表示するコマンドである、とする。端末に対して、「"nanika"を表示するコマンド」を送ると、端末は、"nanika"を表示する。 あと、前も書いたけど、 main = putStrLn "nanika" >> putStrLn "are"コマンドは繋げてもコマンド。と、いうのが重要。 そこまで頭に入れておいて、まず、GUIアプリケーション
Programming in Haskell ページへようこそ このサイトについて このサイトは、Haskell でプログラミングを楽しむためのサイトです。 現在のところ、WiLiKi というWiKiシステムで運用されています。WiLiKiの使い方は、 WiLiKi:WiLiKi:リファレンスマニュアルを参照してください。 メイリングリスト 「Haskellプログラミングを楽しむための」メーリングリストがあります. MailingListのページをご覧ください. チャット 「Haskellプログラミングを楽しむための」チャット・ルームがいくつか存在します. ChatRoomのページをご覧ください. サイトマップ Introduction Haskell とは Definition 仕様と標準ライブラリ Tutorial チュートリアル やさしいHaskell入門 モナドのすべて なぜ関数プ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く