日本Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyとプリキュアとポムポムプリンをこよなく愛する。 This is aJapanese translation of Flexiblly Extend Nested Structures – “Trees that Grow” inTypeScript. 抽象構文木(AST, Abstract Syntax Tree)の扱いに慣れた一部のHaskell開発者の間では、「Trees that Grow」というイディオムが一般的で、Haskellの最も有名なコンパイラ、GHCにおいても採用されています。今回は、この「Trees that Grow」をTypeScriptで実現するにはどうすれば良いかを共有しましょう。 あらまし Ha

日本語圏におけるHaskellの解説本には、これまで4回の波がありました。 それを思い出しながら、最後に『プログラミングHaskell 第2版』の紹介をします。 第1波 第2波 第3波 第4波 『プログラミングHaskell』が改訂されます 第2版ではプログラミングにおける型の理解が深まると思う ここで買えます 第1波 Haskell解説本の1つめの波は、2006年、『入門Haskell』と『ふつうのHaskell』が出版された頃にありました。 このうち、『入門Haskell』は(おそらく)日本初のHaskell本です。 『入門Haskell』(2006年) 『ふつうのHaskell』(2006年) 『ふつうのHaskell』は、書名だけを見ると「特殊な言語」であるHaskellを「ふつう」に説明している本であるように思えるのですが、実はそうでもなくて、淡々と部品の説明をしていく感じの内容
日本Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyとプリキュアとポムポムプリンをこよなく愛する。 こんにちは。IIJ-IIの山本悠滋です。 今日はここ数ヶ月私と有志で行っている、Haskellの社内勉強会と、そこで使用している自作のHaskell入門ツールについて紹介します。 Haskellの社内勉強会について 「社内勉強会 失敗しながら学ぶHaskell入門タイム」と称して、私はこれまでに8ヶ月近くもの間、週1回Haskellの勉強会を開催してきました。 この手の勉強会は連続して参加することが前提となっているため、どうしても最初の回から少しずつ人数が減っていくという残念なことになりがちですが、どうにか私含め4~5人程度を維持してここまで30回、18個目の課題まで進めることが出

『プログラマのための圏論』はこれまでの分をまとめてPDFファイルにしました。参考にしてください。
Matthew Griffithさんのブログ記事 MECHANICAL ELEPHANT - Becoming Productive in Haskell comming fromPythonの翻訳です。そういえばProductive Programmerって本にもHaskellを使って実証実験する話が出てました。Haskellは何度も勉強しようとして途中で止まっては忘れを繰り返しているので見習いたいと思います。 最近になってようやく私は生産性を高められるぐらいHaskellに熟達してきました。そこでHaskellを学習してきた経験について、それらを忘れてしまう前に私の考えを書き留めておこうと思います。今や私はWebプロトタイピングのほとんどをHaskellで行っています。まだ普段はPythonを使い、また楽しんでいるにも関わらず、です。 Data First(データが第一) これは動的
![[翻訳] Haskellで生産的になる(Pythonから移行して) - Qiita](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f9719c172b9b06467164ccde3f87003346483c41a%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fqiita-user-contents.imgix.net%25252Fhttps%2525253A%2525252F%2525252Fcdn.qiita.com%2525252Fassets%2525252Fpublic%2525252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%25253Fixlib%25253Drb-4.0.0%252526w%25253D1200%252526blend64%25253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGNDYyOTQlMkZwcm9maWxlLWltYWdlcyUyRjE0NzM2OTA2MDQ_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmJnPUZGRkZGRiZmbT1wbmczMiZzPTIxMWJkZWI0YjQyMjY4MTdjMjE4OGZmNmNjMDVmNjZl%252526blend-x%25253D120%252526blend-y%25253D467%252526blend-w%25253D82%252526blend-h%25253D82%252526blend-mode%25253Dnormal%252526s%25253Da8e880fbf06b7ab7400516545220acf9%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526fm%253Djpg%2526mark64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCJUU3JUJGJUJCJUU4JUE4JUIzJTVEJTIwSGFza2VsbCVFMyU4MSVBNyVFNyU5NCU5RiVFNyU5NCVBMyVFNyU5QSU4NCVFMyU4MSVBQiVFMyU4MSVBQSVFMyU4MiU4QiUyOFB5dGhvbiVFMyU4MSU4QiVFMyU4MiU4OSVFNyVBNyVCQiVFOCVBMSU4QyVFMyU4MSU5NyVFMyU4MSVBNiUyOSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPTk4N2Q1Y2Q1M2E1YmYzZjkxZDI5NmMwM2M2ZDBkYjBi%2526mark-x%253D120%2526mark-y%253D112%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBIaXJvZnVtaVRhbW9yaSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPTQzNTBiNTY1NDI5Zjc4NDE2Mzc5ODJhNmEzZjRhYzk2%2526blend-x%253D242%2526blend-y%253D480%2526blend-w%253D838%2526blend-h%253D46%2526blend-fit%253Dcrop%2526blend-crop%253Dleft%25252Cbottom%2526blend-mode%253Dnormal%2526s%253D8ba32d97dc03ec20e1de29aedd664590&f=jpg&w=240)
ソフトウェア開発にScala や Haskell、Erlang といった関数型言語を採用する企業が増えているそうだ (ITpro の記事より) 。 関数型プログラミング言語には「迅速に開発できる、バグを抑えやすい、アプリケーションの性能を向上させやすい」といった特徴があるとし、これらは新規のサービス開発に向いているという。「言語選定が競争力に直結」といった意見も記事には掲載されている。 これだけだといいことずくめのようにも聞こえるが、関数型言語は習得しにくく、ライブラリなども C/C++ やJava と比べるとまだ少ない。使いこなせるプログラマも少なく、関数型言語で大規模システムの設計を行えるエンジニアはまだ少ないのではないだろうか。関数型言語を使える人材はある程度スキルの高い人であり、そのために生産性が高いのではという疑問もある。今後日本で関数型言語の採用は進んでいくのだろうか?
筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基本的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

Haskellの特徴 † Haskellのおもな特徴を列挙すると次のようになる。この手の言語に慣れていない人には意味の分からないところがあるかもしれないが、それは筆者が手を抜いて説明を省いているからなので、適当にスルーしてほしい。 代数的データ型と、パターン照合。 インデントを利用した簡潔な構文。 型推論つき静的型付け。 型推論と多重定義を両立する、型クラス。 純粋な(つまり、式に副作用がない)関数型であること。 第一級の動作による入出力。 ↑ 関数型言語って何 † Haskellは純粋関数型言語に分類される。関数型言語というのは、関数的プログラミングがしやすいような言語、という意味だ。では関数的プログラミングとは何というと、これは手続き的プログラミングと比較してみるのが良い。 現在主流の言語は、ほぼ全て手続き型言語だ。手続き的プログラミングでは、コンピュータに単純な命令を出すことができて
問題 美しいプログラムを書く(脱添字職人編) では添字が多用され読み難くなっているソースコードのリファクタリングを通して 美しいプログラムを書くためのポイントをいくつか紹介しました。 そこでは 「何をするか」を基準にプログラムを書きましょう。 「どうやるか」が前面に出たプログラムは意図を把握し難くなります。添字や明示的なループの使用は避けましょう。「どうやるか」が前面に出てきてしまいます。 今時のプログラミング言語ならば便利な構文やライブラリ関数があるので、 添字やループを使わずとも「何をするか」を基準にプログラムが書き易くなっています。 ということを述べました。 確かにごもっともな主張ではありますが、経験値の少ない人からすれば 「そんなことを言われてもどんなライブラリ関数があってどういう場面で使えるのかリファレンスを読んでもよく分からないし……」 ということはよくあります。 という訳で、

エラー処理を書いてはいけない田中英行 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 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない本日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く