タグ

haskellに関するNaruhodiusのブックマーク (46)

  • こわくないHaskell入門(初級) - Qiita

    手続き型に慣れた人にもやさしい、こわくないHaskell入門記事です。 「なぜHaskellを学ぶと良いか」も参考にしていただければ幸いです。 まえがき Haskellと聞いて、何を思い浮かべますか? モナド 関数型 遅延評価 第4世代Intel Coreプロセッサ アライグマ いろいろ思い浮かべるかもしれませんが、Haskellがすばらしいのはモナドを利用しているからでも、遅延評価型の純粋関数型言語だからでもありません。 いろいろな「Haskellらしさ」が集まって、その結果Haskellにしかないすばらしい魅力を提供してくれます。 それは、決していままでのパラダイムと対立するものではなく、 手続き型 構造化プログラミング オブジェクト指向 のようなこれまでの便利な道具をうまく抽象化しながら統合して作り上げられたものです。 PHP javascript C++ Java などにあなたが費

    こわくないHaskell入門(初級) - Qiita
  • モナド入門以前 - Qiita

    前書き これはモナドチュートリアルではない、だろう。 この文章を書く動機は、モナドを知らない人がモナドという未知の概念に期待しているものが根的にずれているかもしれないという懸念である。 命令型言語でプログラミングを覚えた人がモナド、もしくはHaskellや関数型言語(と言われる言語)を学習する際にしばしば受ける助言はこうだ: 「命令型言語で今まで習ったことを全て忘れて取り組むと良いよ」 この助言はそこまで外していないかもしれないが、雑である。 いつか僕の友人がこのようなことを言った: 「プログラマがチームで働く時、必要なのは相手を思いやる気持ちだよね」 この発言は恐らくそこまで外れてはいないが、思いやりで全てを解決しようとすると、全てのコストが非常に高くなる。個々の問題へ目を向け、それぞれの解法を知っておくことによってコストは低くすることが出来ると僕たちは知っている。まあ友人はそんなこと

    モナド入門以前 - Qiita
  • Things that amuse me

    Quicksort in Haskell Quicksort is a commonly used example of how succinct Haskell programming can be. It usually looks something likes this: qsort :: (Ord a Bool) => [a] -> [a] qsort [] = [] qsort (x:xs) = qsort (filter (<= x) xs) ++ [x] ++ qsort (filter (> x) xs) The problem with this function is that it's not really Quicksort. Viewed through sufficently blurry glasses (or high abstraction altitu

  • jdk7u/jdk7u-dev/jdk: 2a08d45743f4 src/macosx/native/jobjc/src/core/PrimitiveCoder.hs

  • すごいHaskellたのしく学ぼう! | オーム社eStore(β)

    Haskellの達人たちが推薦する楽しい入門書 丁寧な解説とポップな例題で物のHaskellプログラミングを習得できる入門書。 原書の“Learn You a Haskell for Great Good!”は、型、遅延評価、モナドといった難しい概念にも自然に慣れていけるよう工夫された構成、他の言語経験者への配慮に加え、原著者による楽しいイラストによって、もっとも分かりやすいHaskellとして、高く評価されています。 このような方におすすめ プログラマー Haskell入門者 Haskellを実用的に学びたい人 関数型言語に興味のある人 書籍(紙版書籍): 2,800円 + 税 PDF版書籍データ: 2,240円 + 税 コンボパック: 4,200円 + 税

  • GHC.Tuple

    Synopsis data () = ()data (,) a b = (,) a bdata (,,) a b c = (,,) a b cdata (,,,) a b c d = (,,,) a b c ddata (,,,,) a b c d e = (,,,,) a b c d edata (,,,,,) a b c d e f = (,,,,,) a b c d e fdata (,,,,,,) a b c d e f g = (,,,,,,) a b c d e f gdata (,,,,,,,) a b c d e f g h = (,,,,,,,) a b c d e f g hdata (,,,,,,,,) a b c d e f g h i = (,,,,,,,,) a b c d e f g h idata (,,,,,,,,,) a b c d e f g h i

  • 参照透明性 - mukaken's blog

    ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門 作者: 青木峰郎,山下伸夫出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/06/01メディア: 単行購入: 25人 クリック: 314回この商品を含むブログ (328件) を見る只今、『ふつうのHaskellプログラミング』を読んでいるのですが、「参照透明性」のメモです。 第5章のP.112-P.113のコラムです Haskellの評価を置き換えモデルで説明できるのは、Haskellに「ある式は、それと等しい式で置き換えられる」という性質があるからです。 例えば式(f 5)の値が10なら、そのスコープ内の式(f 5)はすべて値10に置き換えられます。この性質を参照透明性であるといいます。また、参照透明性がある言語のことを参照透明であると言います。つまりHaskellは参照透明です。 (中略)

    参照透明性 - mukaken's blog
  • GHCのこと

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

  • GitHub - Haskell-Things/ImplicitCAD: A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation...

    ImplicitCAD is a programmatic CAD program, implemented in Haskell. Unlike traditional CAD programs, programmatic CAD programs use text descriptions of objects, as in programming. Concepts like variables, control structures and abstraction are used, just as in programming. This provides a number of advantages: Objects can be abstracted and reused Repetitive tasks can be automated Objects can be des

    GitHub - Haskell-Things/ImplicitCAD: A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation...
  • はてなブログ | 無料ブログを作成しよう

    ハリイカの焼売と中華炒め ハリイカをよく、見かけるようになりましたよ。生け簀で、泳いでいたものを一杯購入しました 立派な大きな墨袋や肝は冷凍保存して 柔らかな身は季節のお豆、お野菜と合わせて中華の炒めものに。新鮮なにんにくの茎は刻み、香り高く欲そそられますね 下足はミンチにし…

    はてなブログ | 無料ブログを作成しよう
  • Teams/DebianHaskellGroup - Debian Wiki

    Haskell is a pure functional language. The Debian Haskell Group (DHG for friends!) is the team committed to packaging and maintaining a working and up-to-date Haskell environment and library in Debian; this wiki pages is mostly of interested to those who contribute to the DHG. Team contacts General discussion mailing list: https://lists.debian.org/debian-haskell/ Maintainer and commit lists: https

  • GHCiのプロンプトをカスタマイズ? - 酔いどれコード

    GHCi でモジュールを多くインポートするとプロンプトが長くなり見づらくなることがあります。例えばこんな感じ。 Prelude> Prelude> :m Monad Char List Array Time Ratio IO Directory Control.OldException Prelude Monad Char List Array Time Ratio IO Directory Control.OldException> コレをどうにかしたいと思います。 まず、今の設定がどうなっているかを確認します。 Prelude> :show prompt "%s> " インポートしているモジュールを表示する文字は %s のようです。%s 以外には何があるのかをググってみたけれど見つかりませんでした。ので、自力で確かめます。 Prelude> :set prompt "%a> " %a>

    GHCiのプロンプトをカスタマイズ? - 酔いどれコード
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    Naruhodius
    Naruhodius 2011/02/13
    ほう
  • [Think IT] 第1回:今勉強したい関数型言語「Haskell」 (1/3)

    【新・言語進化論】次にくる!新登場言語 第1回:今勉強したい関数型言語「Haskell」 著者:シンクイット編集部 公開日:2007/11/5(月) 今勉強しておきたい新言語 一般的に「プログラミング言語特集」といった場合、今ビジネスで広く利用されているCやJavaPHPが取り上げられるケースが多い。しかし、9月の特集「魅惑のRuby」で取り上げたRubyのように、新たに世に送り出され、急速にその利用範囲を広げているプログラム言語もある。 そこで連載「次にくる!新登場言語」では、Rubyのように次世代の主要言語の座を狙う新登場言語を取り上げ、個々の言語の歴史やメリット、情報源、開発環境の導入、さらに既存言語との比較などを紹介していく。日頃使っている以外の言語に触れることで、新しい知識が得られるだけでなく、従来の言語のメリットの再確認にもつながるだろう。 第1回となる今回は純粋関数型言語

  • GitHub - eagletmt/neco-ghc: A completion plugin for Haskell, using ghc-mod

    neco-ghc: ghc-mod/hhpc completion for neocomplcache/neocomplete/deoplete A completion plugin for Haskell, using ghc-mod or hhpc What is neco-ghc This plugin supports the following completion. pragma language importing a module importing a function of a module function based on importing modules neco-ghc was originally implemented by @eagletmt on July 25, 2010, and then ujihisa added some new featu

    GitHub - eagletmt/neco-ghc: A completion plugin for Haskell, using ghc-mod
  • https://www.vim.org/scripts/script.php?script_id=3423

  • "@todesking 一つ夢のある話を書いておくと、私の彼女さんは Haskell と Coq と Agda2 が使えます。" - @pi8027 (坂口和彦 @ 三日目 東ヘ-41b)

    Sign in to Favstar and your favs and retweets will be shown instantly.

  • http://atnd.org/events/10631/

    http://atnd.org/events/10631/
  • Haskellコードの高速化

    Haskellで速いコードを書くためのヒントを無秩序に集積したもの。環境としてはGHCを想定する。私は高速化について詳しい訳ではないが、思い付いたことはなんでもかんでも書くように心がけたので、運が良ければ何か役に立つ情報があるかもしれない。 並列処理のパフォーマンスについてはこの文章では触れない。まったく経験がないので。同じ理由で、浮動小数点数を多用した数値計算コードの効率化と、書き換え規則を多用する高水準の最適化も扱わない。 お願い: 文中に間違いや分かりにくい部分があれば指摘いただけると有難いです。また、他に載せた方が良さそうな最適化テクニックや、その他の改善提案があれば教えてください。掲示板またはメールまたはTwitter(@mkotha)までお願いします。 目次 基的なこと 遅延評価の計算量見積もりの方法と、GHCの内部に依存しないテクニック集。入門書を読んだけれども、Haske