[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

c++とHaskellに関するsiroccoのブックマーク (3)

  • 備忘録 [Haskell]FFI使ってC++バインディングに入門

    この記事はHaskell Advent Calendarのために書いたものです。 FFIでCの関数を呼び出すところまではすんなりいったので、次C++行ってみよう!として ドハマりしたという内容です。 C++でクラスを作成して、ラッパー関数を書き、Haskellから呼び出すという手順でやってみます。 とりあえず何も考えずに以下のコードを書きました。 point.h point.cpp wrapper.cpp main.hs /* point.h */ class Point{ public: Point(int, int); int getX(); int getY(); private: int x, y; }; /* point.cpp */ #include "point.h" Point::Point(int x, int y){ this->x = x; this->y = y;

    sirocco
    sirocco 2010/12/16
    途中で挫折したことがあるので参考になります。こんどやってみます!
  • FFI (C++/CLI) - 七誌の開発日記

    FFIでC言語を呼び出せたので、extern "C"でラップした.NET APIを呼び出せるか試しました。Windows FormsでGUIが表示できました。右がスクリーンショットで、以下がソースです。 https://gist.github.com/738961 gccではC++/CLIを扱えないため、DLLはVisual C++ 2010 Express Editionで作成しました。今回はテスト目的のためラッパーを自作しましたが、hs-dotnetという汎用ラッパーが存在します。 id:sirocco:20101026:1288085914 今回は使いませんが、HaskellとF#を連携させることもできそうです。 マーシャリング マネージオブジェクトはpinで止めないとポインタが取り出せません。面倒なのでオブジェクトを配列に入れて、インデックスをハンドルとして扱うことにしました。この

    FFI (C++/CLI) - 七誌の開発日記
  • C++ for Haskeller

    http://haskell.g.hatena.ne.jp/mr_konn/20061006/1160138831 Haskellから入った人には、cinとかcoutとか微妙すぎてよくないだろ、と、思ったので、適当に。 対象読者は、Haskellわかるし、C++もわかる人(意味ねー)。ネタを理解できる人です。 C++とは C++とは、以下のような特徴を持ったプログラミング言語です 参照透明(!) 出現評価(occurrence evaluation) (などといういかがわしい単語をつくる) パターンマッチできる 全く直感的でない構文 IOモナドを書くための大量のsyntax sugarがある 説明していくと長くなるので、それぞれ、おいおい必要になったときに説明するようにします。 C++の型 C++には、次の型があります。 整数 真偽値 連想配列 まあ、おいおい説明。(はやくも飽きてきた)

    C++ for Haskeller
  • 1