Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
[B! haskell] sawatのブックマーク
[go: Go Back, main page]

タグ

haskellに関するsawatのブックマーク (7)

  • 栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン7.8.2

    栄光のグラスゴーHaskellコンパイルシステム利用の手引き バージョン7.8.2 The GHC Team 目次 The Glasgow Haskell Compiler License 1. 参考訳 1. GHCの紹介 1.1. GHCを入手する 1.2. メタ情報: ウェブサイト、メーリングリストなど 1.3. GHCのバグを報告する 1.4. GHCのバージョン番号付け規則 1.5. Release notes for version 7.8.1 1.5.1. Highlights 1.5.2. Full details 1.5.2.1. Language 1.5.2.2. Compiler 1.5.2.3. GHCi 1.5.2.4. Template Haskell 1.5.2.5. Runtime system 1.5.2.6. Build system 1.5.3. Lib

  • 4.20. フラグ早見表

    この節はGHCのコマンド行フラグの早見表である。それぞれのフラグについて、動的/静的の区別(4.3. 静的オプション、動的オプション、モード指定オプションを見よ)と逆のフラグ(存在すれば)も載せられている。

  • Program | 速くないクイックソート

    Index of /diary/index.php/2004/07/19 NameLast modifiedSizeDescription Parent Directory  - 0/2016-01-06 09:45 - Apache/2.4.10 (Debian) Server at www.jmuk.org Port 80

  • Haskell/Understanding monads - Wikibooks, open books for an open world

    There is a certain mystique about monads, and even about the word "monad" itself. While one of our goals of this set of chapters is removing the shroud of mystery that is often wrapped around them, it is not difficult to understand how it comes about. Monads are very useful in Haskell, but the concept is often difficult to grasp at first. Since monads have so many applications, people often explai

  • はじめてのモナドの実装 - あどけない話

    Haskell/Understanding monadsのモナドの説明は、今まで見た中で一番分りやすいです。 しかし、サイコロのコードは、疑似モナドであって、モナドではないので、動きません。return や >>= が使えないからです。 というわけで、疑似モナドのサイコロのコードを動くようにしてみました。 type Seed = Int randomNext:: Seed -> Seed randomNext rand = if newRand > 0 then newRand else newRand + 2147483647 where newRand = 16807 * lo - 2836 * hi (hi,lo) = rand `divMod` 127773 --------------------------------------------------------------

    はじめてのモナドの実装 - あどけない話
  • 「安定な」クイックソート - 飲み物だから太らない

    id:sawat:20061123の記述に関して。 クイックソートとマージソートの話で、クイックソートは安定でないということが書かれているが、そういう風に書くとさすがに嘘じゃないか?と思ったので。安定と言うのはこの場合、リスト中に同じ大きさの要素があった場合に、その順序が入れ替わらないことを言う。 クイックソートで第一に重要になるのはピボット選択(つまり、比較対象の選択)だが、これをもし仮にリスト(or配列)の中から取ってくるとすると、その値をどこに入れるのか。その作業で不安定になることがある。しかし、クイックソートはリストの対象を二つに分割するわけだが、その操作においては安定であるようにすることが可能である。例えばHaskellなどでよく使われるクイックソートは、 quicksort :: Ord a => [a] -> [a] quicksort = quicksort (x:xs)

    「安定な」クイックソート - 飲み物だから太らない
    sawat
    sawat 2006/11/25
    Haskellを勉強してみたくなった。
  • stable quick sort - odz buffer

    ref:落ちてないけど堕ちている - 「安定」なクイックソート stable な quick sort もあるよ、という話なのだが。 quicksort :: Ord a => [a] -> [a] quicksort [] = [] quicksort (x:xs) = quicksort [ y | y <- xs, y < x ] ++ [x] ++ quicksort [ y | y <- xs, y >= x ]これは遅そうだなぁ。in-place にはできないのか?じゃないとメモリ消費量がすごそう。 ただし、このようなことをする場合には内部的にmallocが必要となる(リストだし・・・)。 連結リストだからといって毎回動的メモリ確保が必要かといえばそうでもない。必要なサイズがあらかじめ分かれば1度大きな配列を作ってインデックスをポインタ代わりに使えば済む。 そもそも、問題は m

    stable quick sort - odz buffer
  • 1