タグ

ブックマーク / blog.recyclebin.jp (4)

  • Nemerle の C# や F# との比較 - 捨てられたブログ

    この付録では Nemerle 以外のプログラミング言語として C# や F# を取り上げ, Nemerle との比較を行います。 目次 言語比較 まとめ,あるいは言語選択の指針 プログラミングスタイル 型 メタプログラミング 開発環境 文法比較 (未完成) 型パラメーターの制約 言語比較 まとめ,あるいは言語選択の指針 以下でそれぞれの言語の違いについて気の向くままに述べて行きますが,先に結論を述べておくと,いずれの言語を選ぶかは概ね次のようになると思います。 Visual Studio のサポートを最大限に活かしてインテリセンス指向のコーディングを行いたい場合は C# を選びます。これは C# の最大の強みです。特に言語の礎となる .NET Framework との相性は抜群です。 型安全指向で,堅牢なプログラミングを行いたい場合は F# を選びます。型の定義が容易で,静的型付け言語のメ

    mukaken
    mukaken 2013/01/31
    型安全指向で堅牢は F#、メタプログラミング指向は Nemerle
  • F# で最高事後密度区間を求める - 捨てられたブログ

    F# で最高事後密度区間 (highest posterior density interval, HPDI) を求めます。 let hpdi mass (values : float list) = let size = List.length values let shift = int <| mass * float size let sorted = List.sort values let width = Seq.map2 (-) (Seq.skip shift sorted) sorted |> Seq.toList let minIndex = Seq.zip (Seq.initInfinite id) width |> Seq.minBy snd |> fst sorted.[minIndex], sorted.[minIndex + shift] 取りうる区間の中でもっと

    mukaken
    mukaken 2012/10/28
    "highest posterior density interval, HPDI"
  • F# 3.0 を Visual Studio なしでインストールする - 捨てられたブログ

    F# 3.0 が便利なので使っているのですが,困ったことに公式サイトでは Get F# Tools for Visual Studio Express 2012 for Web というリンクはあるものの, F# 単体へのリンクは見当たりません。ビルドさえできれば良いという環境を構築したい場合に Visual Studio の導入は過剰です。 公式サイトの Get F# Tools for Visual Studio Express 2012 for Web というリンクは Microsoft Web Platform Installer へのリンクです。これを使うと確かに F# Tools for Visual Studio Express 2012 for Web がインストールできます。 実は Web Platform Installer で Visual Studio のインストール

    mukaken
    mukaken 2012/10/13
  • Nemerle, C#, F# における匿名型,レコードの比較 - 捨てられたブログ

    Nemerle には匿名型 (anonymous type) があります。 C# の匿名型や F# のレコードに相当するものです。 Nemerle の匿名型は, Nemerle ではおなじみのマクロで定義されています。 ちなみに Nemerle にもレコードと呼ばれるマクロ (Record マクロ) があります。Nemerle のレコードは F# のレコードとは異なり,フィールドに対応する引数を持つコンストラクターを生成するものです。 Record マクロと Accessor マクロを組み合わせると F# のレコードに近くなります[A]。 Nemerle の匿名型,Nemerle のレコードマクロ, C# の匿名型, F# のレコードはパッと見で同じようなものですが,使い勝手が違います。混乱しないように比較してみました。 Nemerle の匿名型と F# のレコードが似ている点は,等価演算

    mukaken
    mukaken 2012/07/01
  • 1