type t (* void *)

関数型言語や英語学習の事とか。

OCaml: RWOを読み進めるためのOCaml設定

20150426加筆 RWOの説明を書いた
20150422加筆 より細かく書いた

20150909加筆 以下の内容はDebian 7向けに書かれており古いです! Debian 8ではより簡単にopamをインストール出来るようになっています! 下の記事では重複する部分は書きませんでしたが、インストール方法については下の記事が最新です。

no-maddojp.hatenablog.com

なんかちょっとだけOCaml環境構築が面倒みたいな話があったので、構築手順を書く。
大体確かめられた手順なのでよいはず。

Emacsのインストールまで解説しますが、RWOを読み始めるにあたりエディタの設定は必ずしも必要ではありません。
楽しんで下さい。

続きを読む

VC4CLについて

www.slideshare.net

  • テストケースがfailするのは大体の原因は使用変数の数がレジスタ数を超えてしまい、レジスタ割付けに失敗するから
    このアーキテクチャにおいてはレジスタスピルは現実的な時間で行うことは不可能で、レジスタ割付け自体の改善がもとめられるが これはさらなる解析が必要で一朝一夕には解決しない
  • 性能が低い理由はかなりいっぱいあるが
    • 2命令同時実行のための命令スケジューラがない
    • メモリのread, writeをfusionしないといけないが、これが全然動いていない
    • Kernel fusionが動いていない
    • メモリを気をつけないとすぐ不効率になる
      例えばDMA転送とTMUでのロードで、キャッシュ不整合が起きるために保守的にTMUロードで十分なところをVPMでロードする
    • (当然基本的な最適化不足)

技術書典4: 進捗大陸03が出ます

御駱駝愛好会はサークル抽選に落ちましたので、進捗大陸に拾って頂きました。 でるよーでるよー。

f:id:no_maddojp:20180417200710p:plain

進捗大陸

続きを読む

ML Day#1を開催しました

3/31にML_Dayを開催しました。もみあげさん@pocketburserkerに協力頂いてドワンゴの会議室をお借りました!
毎度ありがとうございます!

ML Dayは前のML勉強会と名乗っていた勉強会でしたが、今回名前を変えてみました。
今回は最近関数型言語に関連する勉強会があまり見られないため、制約を緩めてMLに関する話題・さらにMLユーザが聞いて楽しめそうな内容ならOKと 発表の内容を緩めました。結果的にElmの発表など様々な発表が集まりとても楽しかったです。
今回発表枠・LT枠あわせて12枠ありましたが全て埋まりました!発表していただいた方御礼申し上げます! 下のリンクから当日の発表資料などが見れますので是非見て下さい!

ml-lang.connpass.com

続きを読む

プログラミング: パラダイムの話って良くわからないんですよね

小さな問題を分からないといい続けないでさっさと目の前の問題を解けという声が聞こえる。

続きを読む

C++: 本日のハマり

class A {
public:
  int id = 0;
};

class B : public A {
public:
  B() : id(100) {}
};

これエラーになる。この辺よくわかってなかった。

hoge.cpp: In constructor ‘B::B()’:
hoge.cpp:7:9: error: class ‘B’ does not have any field named ‘id’
   B() : id(100) {}
         ^

B() : id(100) {}はダメなのでB() { id = 100 }でOKだった。よく分からんね。 本題はここから。以下のようなプログラムはAと出力する。

#include <iostream>

class A {
public:
  std::string s = "A";
  A();
  virtual ~A();
};


A::A(){}
A::~A(){}

class B : public A {
public:
  std::string s = "B";
  B() : s("hoge") {}
  ~B() override = default;
};

int main () {
  A a = B();
  std::cout << a.s;
  return 0;
}

気づくのに1時間くらいかかってしまった。

プログラミング: 今日の問題

プログラミングの問題。なんか全然綺麗にかけなかったので記事にする。

続きを読む