タグ

haskellに関するblueleのブックマーク (25)

  • GHCのこと

    オブジェクトレイアウト 通常のHaskellの値(代数的データ型および関数)と、未評価の計算を表すサンクは、全てポインタで参照される。ポインタが指す先は通常はヒープ上のオブジェクトだが、静的セクションに置かれていることもある。いずれにしてもレイアウトは同じで、以下の一般形をとる。 オブジェクトの先頭1ワードは静的領域へのポインタ(infoポインタ)で、この値を評価(関数なら適用)するためのコード(entry code)と、このオブジェクトの種類に関する情報を集積したレコードを指している。なお、GHCにおける1ワードはポインタと同じ大きさ、つまり32ビットOSなら32ビット、64ビットOSなら64ビットである。これはIntの精度と同じでもある。 代数的データ型 代数的データ型の評価済みの値では、infoポインタが構築子の種類を表し、その後に構築子の引数を入れるスロットが続く。したがって、N引

  • マルチコアでスケールするようになったHaskell | IIJの技術 | インターネットイニシアティブ(IIJ)

    (※)このページで紹介している事項は記事初出時点の情報に基づいたものです。ページはアーカイブとして掲載しています。 ツイート 2015年2月12日 Glasgow Haskell Compiler(GHC)は、関数型言語Haskellの主要コンパイラです。GHCは(並列性に加えて)並行性を主要な目的として長年開発されてきました。そのため、GHCには、 軽量スレッド(グリーンスレッド) マルチコア用の軽量スレッド・スケジューラ マルチコア上での効率的なメモリアロケータ マルチコア用のガベージコレクタ など、マルチコアで簡潔に並行性を実現するための部品が揃っています。そこで、Haskellで Web サーバなどの並行プログラムを書き、GHC でコンパイルすれば、マルチコア環境でスケールするのを期待したくなります。 残念ながら GHC 7.6.3 までは、入出力を司るIOマネージャの実装にボト

    マルチコアでスケールするようになったHaskell | IIJの技術 | インターネットイニシアティブ(IIJ)
  • Yesod Web Framework Book

    Yesod is a Haskell web framework for productive development of type-safe, RESTful, high performance web applications.

  • 関数型言語を学ぶことは実務でどう役に立ったか - Rejasupoem

    関数型LT大会で「実社会の問題を解決する関数型言語」というタイトルで発表しました。 というのも、会社で「すごいHaskellたのしく学ぼう!」の輪読会をしていて、最初こそ10人以上の人が参加していたのだけど、章が進むごとにどんどん人が離脱していって、主催者としてはなんとか完走したいという思いがあったので、調べたのですが、 ヒアリングから、この二つの線がクロスしたときに、人は離脱するという知見が得られました。 ということで、Haskellに対して実用性を見出したいと思いながら半年を過ごしたのですが、実用的 = 仕事で使うということであれば、今の現場でHaskellに移行するのは現実的ではありません。 でも、Haskellには関数型言語のエッセンスが詰まっていて学びが多かったと思っていて、直接的には使っていないけど、概念として役立つことがあると思ったので、それを伝えるために今回文章に起こしまし

  • Real World Haskell の古いところ - あどけない話

    Real World Haskell の内容が古くなってきたので、どこが古いかとか、それに変わる新しいものは何とか、まとめたいと思う。 Real World Haskell―実戦で学ぶ関数型言語プログラミング 作者: Bryan O'Sullivan,John Goerzen,Don Stewart,山下伸夫,伊東勝利,株式会社タイムインターメディア出版社/メーカー: オライリージャパン発売日: 2009/10/26メディア: 大型購入: 8人 クリック: 245回この商品を含むブログ (76件) を見る 1章 始めましょう 今でも通用する。 2章 型と関数 今でも通用する。 3章 型を定義し、関数を単純化する 今でも通用する。 4章 関数プログラミング ghc に --make オプションはもう不要。 5章 ライブラリを書く 5.14節では、"runghc Setup build" の

    Real World Haskell の古いところ - あどけない話
  • Pandoc - index

    If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Pandoc can convert between the following formats: (← = conversion from; → = conversion to; ↔︎ = conversion from and to) Lightweight markup formats ↔︎ Markdown (including CommonMark and GitHub-flavored Markdown) ↔︎ reStructuredText → AsciiDoc ↔︎ Emacs Org-Mode ↔︎ Emacs Muse ↔︎ Textile → Markua ← txt2t

  • LinuxLinks

    The Banana Pi BPI-F3 is an industrial grade RISC-V development board, designed with the SpacemiT K1 8 core RISC-V chip. Read more

    LinuxLinks
  • Real World Haskell

    Why functional programming? Why Haskell? 1. Getting started 2. Types and functions 3. Defining types, streamlining functions 4. Functional programming 5. Writing a library: working with JSON data 6. Using typeclasses 7. Input and output 8. Efficient file processing, regular expressions, and file name matching 9. I/O case study: a library for searching the filesystem 10. Code case study: parsing a

  • モナドの驚異

    2019-03-22 07:06:19 Wes DyerのBlog “Yet Another Language Geek”に、モナドに関する記事が投稿されていたので、訳してみる。 (追記)Mike Hadlowのブログ記事も、ほぼ同じような内容を扱っている。 モナドの驚異 原文 「継続」という単語を聞くと目がどんより曇ってしまうとするなら、「モナド」という単語を聞けば心が麻痺してしまうことになるでしょう。だからこそ、モナドに対してもっと聞こえのいい呼び方を考えようとしている人がいるのでしょう。たぶん。 最近、プログラミング言語理論においてモナドは有名人です。モナドはいくつものブログの表紙を飾り、さまざまなものと比較されていました。果物箱から果ては恋愛まで。モナドを理解する経験によって、痛 気持ちいい 心地 になるんだ、と、オタクたちは至る所で叫んでいます。 継続と同じように、モナドは噂に聞

    モナドの驚異
  • はじめてのHaskell - umi_satiの日記

    IDE環境の構築とHello world出力までの手順 ghcをダウンロード(http://www.haskell.org/ghc/)してインストールする。今回はGHC 7.2.1を使いました。 Eclipceをダウンロード、インストールと実行 http://mergedoc.sourceforge.jp/からEclipse 3.7をダウンロードします。Platform 、Ultimate、Java、C/C++PHPなどの種類がありますが、Ultimate、Javaのどちらかをダウンロードしてください。 zipファイルを任意のディレクトリに展開する。今回は"C:\Haskell"に展開します。 "C:\Haskell\eclipse\eclipse.exe"を実行して、Eclipceを起動する。 EclipceFPをインストール。EclipceFPはEclipce上でHaskell開発を

    はじめてのHaskell - umi_satiの日記
  • Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅い - 西尾泰和のはてなダイアリー

    ラボの昼休みに光成さん、中谷さんとご飯をべながら話した内容を一応ざっくりとまとめておく。 発端はたしか最近Haskellを勉強の光成さんが、Haskellのかっこいいsieveは実はとても遅い(俺は Haskell の sieve についてとんでもない思い違いをしていたようだ...)という話を見て、同様にかっこいいけど遅い下記のフィボナッチ数列の定義の速度を調べてみたら2.5乗くらいのオーダーになっていたという話だったかと思う。 fib = 1:1:zipWith (+) fib (tail fib) 僕も確認するために、コマンドライン引数でNを与えられるフィボナッチ数列のN番目を求めるコードを書いた。 import System fib = 1:1:zipWith (+) fib (tail fib) main = do args <- getArgs print $ (0 *) $

    Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅い - 西尾泰和のはてなダイアリー
  • Yi - HaskellWiki

    About Yi is a text editor written in Haskell and extensible in Haskell. External links Website: http://yi-editor.github.io/ Repository: https://github.com/yi-editor/yi Hackage page: http://hackage.haskell.org/package/yi IRC channel: #yi on Freenode

  • 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
  • YBlog - Learn Haskell Fast and Hard

    tl;dr: A very short and dense tutorial for learning Haskell. Thanks to: Oleg Taykalo you can find a Russian translation here: Part 1 & Part 2, Daniel Campoverde for the Spanish translation here: Aprende Haskell rápido y difícil, Joomy Korkut for the Turkish translation here: Zor Yoldan Haskell. I really believe all developers should learn Haskell. I don’t think everyone needs to be super Haskell n

  • LearnBy $ Haskell $ Hand - #書評_ - Real World Haskell : 404 Blog Not Found

    2009年10月29日11:00 カテゴリ書評/画評/品評Lightweight Languages LearnBy $ Haskell $ Hand - #書評_ - Real World Haskell オライリー矢野様より献御礼。 Real World Haskell Bryan O'Sullivan / John Goerzen / Don Stewart / 山下 伸夫 / 伊東 勝利 / タイムインターメディア訳 [原著:Real World Haskell] 素晴らしい。これなら Ph. D どころか中卒でも、Haskellが頭でなく手でわかるようになる。特に モナドの説明文章って、何個か読んでみたけど、「これを紹介したい!」「これも紹介したい!」ってのが強すぎて、まずプログラミング言語の一要素として使えるようにして、体感してもらってからじゃないと、理解進まないんじゃないの

    LearnBy $ Haskell $ Hand - #書評_ - Real World Haskell : 404 Blog Not Found
  • モナドはメタファーではない · eed3si9n

    2011-05-28 Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた “Monads Are Not Metaphors” を翻訳しました。翻訳の公開は人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三年前、僕は絶対にモナドの記事だけは書かないと自分に約束した。既にモナドに関する記事は有り余っている。記事の数が多すぎてその多さだけで多くの人は混乱している。しかも全員がモナドに対して異なる扱い方をしているため、モナドの概念を初めて学ぼうとする者は、ブリトー、宇宙服、象、砂漠のベドウィン (訳注: アラブ系遊牧民) の共通項を探す努力をするハメになっている。 僕は、この混乱した

  • Haskell

    フレームワーク[] Yesod ライブラリ[] Data.Graph.Inductive - グラフの作ったり処理をしたりするための基的なライブラリ。 Data.Vector A Vector Tutorial ーhaskell wikiー 学ぶ[] 無料で読めるHaskell入門のための資料 Learn You a Haskell for Great Good Learn You a Haskell for Great Good! Learn You a Haskell for Great Good! -PDF- Real World Haskell Real World Haskell Real World Haskell -PDF- Hackage Metaチュートリアル -Haskell Wiki- A Gentle Introduction to Haskell Version

    Haskell
  • Haskell mode for Vim

    There is no such thing as a one-ring-to-rule-them-all Haskell mode for Vim, but syntax highlighting comes as standard, and most Vimmers have their own collection of Vim script plugins, to activate and enhance at least some of Vim's multitude of source code editing functionality. This page is about my own versions, you can find other efforts in haskell.org's Vim corner. If you've not used these has

  • Haskell mode for Vim - MEMO:はてな支店

    omni補完、ヘルプ、デバッグなどお便利機能満載。 Haskell mode for Vim いい感じかも。 激しく使えそうなコマンドが、 :GHCi main ghciで関数mainを作用させられる。 http://d.hatena.ne.jp/tanakaBox/20071018/1192653919 良さそうなのでインストールしてみる。 インストール方法 http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/ からhaskellmode-20071105.vbaをダウンロード vbaファイルをvimで開いて :source % でこのファイル自身を実行 .vimrcに以下を追加(ブラウザは適宜変更) au Bufenter *.hs compiler ghc let g:haddock_browser = "C:/

    Haskell mode for Vim - MEMO:はてな支店
  • Leksah - Haskell IDE in Haskell

    Leksah is the Haskell IDE of choice. It is written in Haskell, uses Gtk, and runs on Linux, Windows and Mac OS X. Leksah is a practical tool to support the Haskell development process. It requires the Glasgow Haskell Compiler (GHC). Leksah is completely free and distributed under the Gnu General Public License 2.0 Leksah may be worth trying because: It uses the cabal package format and incorporate