Ada

マルチバイト文字の扱いの改善を訴える……何処へ?

Ada

HaskellにCPUパワー100%で長時間計算させるタイプの処理をさせようとした私が間違っていました。とにかく遅い。じゃあHaskellって実際問題何に使えるんだよって疑問も沸々としてるのですがそれは置いときます。ついでに評価関数もなんか間違ってたような気が…

最小単位の型とアドレス値の変換

Ada

昔書いた駄文が出てきたので貼っときます。http://d.hatena.ne.jp/ytqwerty/20050805#p1の続きらしい。Adaのライブラリは最悪だシリーズ2。

interfaceのマニュアル実装

Ada

with Ada.Text_IO; use Ada.Text_IO; with Ada.Unchecked_Conversion; with System.Address_Image; procedure Hello is package P is type Intf is interface; procedure Ex1 (Obj : access Intf) is abstract; type Intf_Access is access all Intf'Class; …

GNAT GPL 2006 & GPS 2006

いろいろやばい。GPSがまともに動いてる。2005の時もすぐ落ちたりしてくれたのに。名前変更リファクタリングとか宣言位置にジャンプとかできる。何故か全角文字もまともに使える。これじゃまるで商用IDEみたいじゃないですか。*1 extended returnもbuild in …

Recursive types and generic instantiations

Ada

C++で書くところのstruct A { vector<A> B; };がAdaでは出来ないのは、struct A { A B; };が出来ないルールがgenericにまで延長されているから(らしい、具体的にはimcomplete typeをgenericに渡せない)ですけれど、何故C++では出来るのでしょうか。あ、ちなみに</a>…

GNAT GPL 2006でたぁ!

Ada

https://libre2.adacore.com/ DL中。わくわく。 リストによるとAda2005のめぼしい機能がほぼ実装されている様子。Ada2005処理系の決定版になるか!? gccのほうにパッチこないと思ってたら、GNAT GPLのパッケージのほうが進行してたのですね。

サイズ固定・非同期・確保したサイズの限界まで使えるキュー

Ada

generic type Element_Type is private; package Fixed_Queues is type Element_Array is array(Positive range <>) of Element_Type; protected type Queue(Max_Length : Positive) is function Length return Natural; entry Put(Item : in Element_Type);…

A#がVS2005に…

Ada

http://www.martincarlisle.com/VisualStudioIntegration.htm ……もう諦めてVSに降ってしまったほうが幸せになれるんだろうか…。HaskellといいD(デバッガ限定)といい、何でもVSですよねえ……。*1 入力支援付きはとても憧れるのです。 ……で、まあ、新バージョン…

というわけで、というわけでもないのですが

Ada

Adaという言語は、構文を覚えただけではただ使いにくいだけでしかなくて、ある程度は設計思想を汲まないと気持ちよいコードは書けない言語です。 サンプル集兼、コピー&ペーストのタネ(何をするにもタイプ量やたら多いので)が欲しかったので、書きましたと…

VoVのHTMLレンダラリファクタリング中

これは本当に自分の書いたコードだろうか。なにかの陰謀に思えてきた。 …という戯れ言はさておき、テンプレートをファイルから読み込んで埋めこんだ記号列を置換というのはどうにも文字列処理に弱いAdaのコードとしては無駄なHTML全体の文字列のコピーが大量…

UTF-9

Ada

2005年にUTF-9という規格ができていました。知らなかった。 http://www.ietf.org/rfc/rfc4042.txthttp://nikki.hio.jp/files/2005/rfc4042.txt UTF-8ではCJK文字が8*3ビットになってしまうのですが、UTF-9ですと2*9ビットに収まってしまうスグレモノ。 ただ…

1000本のスレッド

Ada

言うんじゃなかった。 task interfaceを前々から使ってみたかったのは本当なのですが、よりによって1000は無いだろう1000は…。 コンテキストスイッチの処理時間は勿論OSが各スレッドに最低限割り当てる領域×1000だけで恐ろしいことになりそう…で、まぁ、やっ…

久しぶりにパッチの大群来た

http://gcc.gnu.org/ml/gcc-patches/2006-02/ 細かい不具合修正のほか、最適化方面の強化っぽいです。大きいのは、デフォルトのモードがAda95からAda2005に変更されたこと。あとAI-318(extended return)は今だ実装されず…。 しかし、gcc 4.1.0もまだ出ていな…

BUSH

Ada

http://www.pegasoft.ca/bush.html Ada-likeスクリプト、らしい。ホント世界は広い。Windows用が無いのが残念。 無理やりビルドしようとしてみたところ、MySQLとPostgreSQLとSDLと他にも色々要求されて、削っていったらforkとか使ってあって、mingw32下でや…

自作のgeneric使用ライブラリ

Ada

を弄ってると、それだけで時間が消えていく…。 これは何かの罠に違いない。

前向き

http://gcc.gnu.org/ml/gcc-patches/2005-12/msg00693.html interfaceへのダウンキャストができなかったのは直るらしい。しかし、このパッチはgcc-4.2系列にしか適用されない予感。 http://gcc.gnu.org/ml/gcc/2005-12/msg00255.html 例外が受け止められなか…

Issuesの10000番以降

Ada

は採用案の別案なのですが、これがなかなか読み応えがあります。 http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/ Ada.Containers.Vectorsの命名ひとつ取っても、C++が"list"と呼ぶべきものに"vector"を使った過ちを繰り返すべきではないだの、いやJavaも"…

limited型のreturn

Ada

gccにはまだ実装されて無いのですが、ついでに書いておきますか。匿名アクセス型のnot nullどころではない互換性無視仕様変更。 AdaはPascalやらEiffelやらと異なり、return文を使う言語です。私はResult変数のほうが好きなのですが、Result変数には、呼び出…

コンテナの最新版

コンテナ周辺はDraft 14まで変わり続けた様子で、それが反映されてました。それを使っている箇所の書き直しが大変です。 大きな変更は、Replace_Element等の更新系が、Cursorを使うバージョンであってもコンテナ本体を明示的にin outで渡すことを要求してい…

20051114のパッチの大群

…の中に、complete interfaceとかあったのですが、まだダウンキャストができないままの気がしますよ? それともダウンキャストができないのがcompleteな仕様…?*1 い、いや、ちゃんとAARMのほうに派生先で実装されてるかもしれないからインターフェースのク…

ないもの?乱入

Ada

単に使いどころの無いDelphi for .NETを使えそうなチャンスを取られて悔しかっただけです。 http://d.hatena.ne.jp/ladybug/20051018#p1

並列オブジェクト指向

Ada

そんなこんなでtask interfaceが使用可能になったので、並列オブジェクト指向に触れてみたいと思いつつ…google:並列オブジェクト指向…JavaとSchemeと研究用に作られた言語以外に何か無いんですか何か…。 Futureパターンなんて、最初からランデブーが使えるの…

匿名accessとnull

Ada

procedure P (A : access T); 何も装飾を付けない匿名アクセス型は、Ada95との互換のためにnot null扱いで、allを付けて区別…と昔のPowerPointやpdfのAda0Yの紹介ではそうなっていたはずなのですが…。Note that 1 and 3 are the same (compatibility)と書い…

20051001とか20051008とか

アップキャスト(ダウンキャストではなくて!)でnullチェックと変換で式を2回評価してて、式の中で関数呼んでたらその関数も2回呼ばれてしまうのは何のいじめですか…。 項目gcc 4.1.0?gcc 4.0.1 not null access○○ 匿名のaccess変数○△ 匿名のaccess引数○○ 匿…

gcc 4.0.2

4.0.0以降のAdaのパッチは全部4.1.xのみに適用されていて、何も変わっていないのは知ってはいますが、一応コンパイルはしてみました。 gccのmakeは、sedとかawkとかパイプとか使い過ぎと思います。いやもうconfigureに関係ないものは毎回生成させずにあらか…

Ada2005対応のgnatelimのつくりかた

Ada

https://libre2.adacore.com/からasis-gpl-2005-src.tgzをいただいてきて、gnatディレクトリの中身をgcc-4.0.1のものと置き換えて、あとversion.oを加えて、gcc-4.0.1でmakeしたらできあがり。 AdaCoreのGNATの変化がgccのGNATに反映されていく度合(あるいは…

GNAT 2005 GPL Edition 調査

Ada

いつものやつ。 項目GNAT 2005gcc 4.0.1 not null access○○ 匿名のaccess変数○△ 匿名のaccess引数○○ 匿名のaccess返値○× for access型'Storage_Size use 0;○× downward closure○○ overriding明示○× interface○× Object.Method形式の呼び出し○△ 拡張return文×…

GNAT GPL 2005 Edition

Ada

おー。3.15pから数年ぶりにGNATパッケージの新版が出る模様。 http://libre.adacore.com/ 今月中ですかー。 gccはいつのバージョンがベースになるのでしょうね。 4.x.x系列とAda2005に対応したASISが付いてくれば万々歳。 https://sourceforge.net/projects/…

iconvようやく

…ようやくできた。 UTF-8からSJISに変換するだけなのに、長かった…。 クロスコンパイル時の注意らしきものとしては、最初サーバーからlibiconv.aを取ってきたら、バイナリがとんでもなく膨らんだので、.soも取ってきたら、ダイナミックリンクになったようで…

Interfaces.C

Ada

私は、Adaを、言語自体のポテンシャルは最強と推して憚りませんが、標準ライブラリについてはかなり駄目駄目と言わざるを得ません…。 で、駄目駄目具合が最も集約されていると思われるのが、Interfaces.Cです。 http://www.adaic.com/standards/95aarm/html/…