2013-01-01から1年間の記事一覧

連絡

しばらく行方不明になります。

gcc-4.8の変更点

相変わらずchangesに何も書かれてませんのでメモっときます。 4.7の時の変更が派手だったぶん、今回はおとなしいです。まあでも4.8で一番嬉しいのは-Ogと思う。 Ada2012のattributeの更なる実装 'Overlaps_Storageとか'Importとか'Conventionとか。めぼしい…

headmaster 2013

C Ada

URL → https://github.com/ytomino/headmaster/wiki/Document前回 → http://d.hatena.ne.jp/ytqwerty/20101025#p1というわけで良いタイミングですので(?)、headmasterの現状を書いておきます。 headmasterと先達プロジェクト headmasterは、C言語を滅ぼすこ…

OCaml Ada interoperability

adaside.ads *1 with System.Storage_Elements; package adaside is subtype Value is System.Storage_Elements.Integer_Address; use type Value; function caml_string_length (S : Value) return System.Storage_Elements.Storage_Count; pragma Import (…

導火線

こないだの記事に頂いたコメントです。 camlspotter 2013/02/27 12:50そりゃ deforestation が無いから Some はどうしても allocate されるけどどう見ても short lived だし minor GC の範囲で気にするほどのものではないでしょう。それが気になるなら C で…

Not_found

OCamlのコードを書くときにいつも迷っていることを書いてみます。超初心者質問。いい知恵ください。Not_foundの扱いです。コンテナにデータがあった場合→データを使う、と無かった場合→データを新規に作る、で分岐する処理は頻出すると思います。まず普通にi…

__gnat_adjust_context_for_raiseの怪

gcc

これがわからない。http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678バグそのものは、Mountain Lionでの修正でそれまで__gnat_adjust_context_for_raiseに仕込んであったWorkaroundが不要になって、逆に悪さをするようになっていたというもの。Mountain L…

Adaと64bit呼び出し規約とlldiv

lldivを呼ぶ関数を書いてたらちょっと驚きました。 こういうの。 procedure call_lldiv (x, y : long_long_integer; q, r : out long_long_integer) is type lldiv_t is record q, r : long_long_integer; end record; pragma Convention (C, lldiv_t); func…

HFS+のファイル名を比較する厳密な方法

Mac

Macユーザーなら、HFS+の勝手なファイル名の「正規化」には悩まされてますよね!まず浅い理解として、HFS+はファイル名をNFDに正規化する。次に、HFS+は互換漢字を統合漢字にはぜず、それ以外をNFDに正規化する。まあそれで合ってるんですけれど、実際にはそ…

振り返ってみる

「Ada言語の現状」という検索キーワードでここにたどり着いた方がおられるらしい。ふと振り返ってみると、私が最初にAdaに触れてから、随分とAdaも変わりました。昔語りをしてみましょう。