Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

haskellとc++に関するigrepのブックマーク (8)

  • 多相からプログラミング言語を見る - 趣味はデバッグ……

    こんにちは。ホビー型システミストの岡です。 最近 C++ の習得をしていて、なんとなく多相(polymorphism)の視点からいくつかのプログラミング言語をまとめてみようという気になったので書いてみます。 部分型多相(subtype polymorphism) クラスベースオブジェクト指向言語でよく使うのは部分型多相ですかね。 Java や C#・C++ にある、名称的部分型多相(nominal subtype polymorphism)はこんな感じ。次の例は Java です。 class A {} class B extends A {} public class Main { public static void main(string[] args) { A foo = new B(); } } 変数 foo は A 型だけど、型(クラス)B は A の部分型(サブクラス・派生ク

    多相からプログラミング言語を見る - 趣味はデバッグ……
  • 新しいプログラミング言語を学ぶということ

    去年の暮から一ヶ月ほど、Haskellを学んでいる。目的は色々あるが、まったく新しいプログラミング言語を学ぶ経験をもう一度するのが最大の目的だ。 C++17の新機能を余すところなく解説した「江添亮の詳説C++17」は3月に出版される。C++20にはまだ間がある。C++の入門書を書く絶好の機会だ。入門書というのは毎月腐るほど出版されているが、良書は少ない。結局、参考書の中で最も売れ行きが容易に予想可能なのは、最も読み手がいるであろう入門者向けのであり、入門書の出版がいたずらに増え、粗製濫造されているとみえる。入門書は上級者は読まないので適切な批判もされにくいのでこのような惨状になっているのだろう。 私の入門書はそのような悪書にしたくない。しかし、私はすでにC++の初心者ではないし、C++の初心者がつまづく点がわからない。というより、ここしばらくまったく新しいプログラミング言語を学んだことは

    igrep
    igrep 2018/02/10
    細かい点なので敢えてここに書きますが、stackは全環境をプロジェクトごとのディレクトリーに置いているわけではないです。原則~/.stackに置き、プロジェクト固有のものを.stack-workに置きます。
  • いつからHaskellの5行クイックソートが遅いと錯覚していた? - Qiita

    この記事は検証待ちです。 計測結果および「入力と出力をUnboxed Vectorにすれば、途中がリストでもUnboxed型の恩恵を得られる」を除く結論については、計測ミスの結果である事が分かっています。 再計測ができ次第、記事をアップデートします。 Haskellの入門者向け解説ではHaskellのエレガントさのデモンストレーションとして、以下のように非常にシンプルなクイックソートが紹介される事があります。 quicksort [] = [] quicksort (x:xs) = quicksort lt ++ [x] ++ quicksort gteq where lt = filter (<x) xs gteq = filter (>=x) xs しかし、このソートは「遅い」「というかクイックソートじゃない」と、批判の対象になっています。 https://togetter.com/l

    いつからHaskellの5行クイックソートが遅いと錯覚していた? - Qiita
    igrep
    igrep 2017/12/30
    なにげにData.List.sort優秀やん。
  • GitHub - chpatrick/clang-pure: Easy C++ code analysis with pure Haskell

  • Wandboxを支える技術(2017年版) - Qiita

    Wandbox は、オンラインでコンパイルや実行が試せるサービスで、主に私(@melponn) と @kikairoya で作っています。 以前 Wandboxを支える技術 というのを書いていたのですが、そこからかなり変わっているため、改めて今の中身がどうなってるかについて書いていきます。 Wandbox は、Wandbox 体と、各種コンパイラをビルドするための Wandbox Builder に分かれています。 ソースコードは wandbox と wandbox-builder にあります。 2019/9/26 追記: Wandbox のビルドを CMake に移行した話 を書きました 犬小屋と牛舎 Wandboxはバックエンドとフロントエンドで分かれていて、フロントエンド側が 犬小屋(kennel) 、バックエンド側が 牛舎(cattleshed) という名前になっています。 犬小

    Wandboxを支える技術(2017年版) - Qiita
    igrep
    igrep 2017/05/19
    stackが発達した今なら状況は大分ちゃうんですけどねぇ。あと他のブコメにもある通りそれはHaskellではなくYesod。RubyとRailsをごっちゃにしたら怒るのと同じ。
  • GitHub - SodiumFRP/sodium: Sodium - Functional Reactive Programming (FRP) Library for multiple languages

    Sodium - Functional Reactive Programming (FRP) library for multiple languages This is based on Flapjax, Yampa, scala.React and a number of other Functional Reactive Programming efforts, as well as a lot of personal experience. Enjoy. Status: C++ - complete, but the memory management is not quite right yet - in separate sodium-cxx repository C# - complete (source in dotnet folder, binaries in Sodiu

    GitHub - SodiumFRP/sodium: Sodium - Functional Reactive Programming (FRP) Library for multiple languages
    igrep
    igrep 2013/09/21
    “Sodium - Reactive Programming Library for Java, Haskell and C++ (FRP)”
  • リスト(シーケンス)用高階関数対応表

    このブラウザ バージョンのサポートは終了しました。サポートされているブラウザにアップグレードしてください。

    リスト(シーケンス)用高階関数対応表
  • Haskell vs F# その後 - Life Goes On

    mkotha さんに直してもらったりして、Haskellのコードはだいぶ速くなりました。どうも2重ループの内側がボトルネックのようなので、そこを展開して、データ構造も変えて、UNPACKプラグマは効くので残して、正格評価を1ヶ所だけ。性能と可読性のバランスがそこそことれたかなと思ってます。C++ や F# のコードにも同じような改修を加えたら、Haskell はまた抜かれてしまいました。まぁでも、目くじら立てるほどの差でもないので、そのままにしています。 実行環境が Windows というアドバンテージがあるとはいえ、C++ も超える F# の健闘が光ります。明示的な副作用がない関数プログラミングでこれだけ速いとうれしい。コード書いてても気持ちがいいし、Microsoft でなければもっと流行っていいはず。 最終形のコードを以下に載せておきます。 ついでに Scala でも書いてみました。

    Haskell vs F# その後 - Life Goes On
    igrep
    igrep 2012/09/08
    HaskellはPythonなみに遅い、なんて話聞いたのいつ誰からだっけ。。。
  • 1