てきとう

てきとう

いつの間にかMacportsにGNATが来ている件

MacportsもNewsのRSS購読してるだけだし、comp.lang.adaとか全く読んでないので全然知らなかった…。 せっかくだからcomp.lang.adaも購読しとこう。

しまいには

typoをtypeって打つし。 もう寝よう。

さらには

typeoまでするし。

orz

なぜか二重に投稿されるし。

バックアップ偉い!

隣のタブと間違えてウィンドウ消しちゃったのに、ちゃんと復活できた! 初めて役に立った!感動した!

どうでもいい話その2

Ada

ARMのAnnex Eに分散環境の話があったので読んでいたところ、package System.RPCなるものの情報をget。 ワクワクしながら、GNATの$(lib)/adainclude/s-rpc.adsを見たところ、 -- Note: this is a dummy implementation which does not support distribution. …

どうでもいい話

Ada

とあるJavaのソースコードを見てたら、 while(condition){ if(other_condition){ : }else{ : }/*end if*/ }/*end while*/ というようなコメントの使い方ばかりだったので、「これならAda使った方がマシじゃないか?」と思ったり。

というか

最近Adaに触ってない…。 元々憶えてないのに、どんどん忘れてる…。 しかし、Adaは単語の並びから何となく内容を推測できるので、忘れてもソース読み直すのが楽&ソース読み直して思い出せる(ような気がする)ので良いです。 学習のコストは高いですが、再学…

Ada Hackathon

Ada

id:ytqwertyさんに触れていただいていたので。 開催は知ってたのですが、能力不足*1で躊躇していたところ、年末年始で色々あって、気がついたら開催日時が外せない日と重なってしまったのでした。 …その間にWhitespace実装したりAdaのメモとか書いたりしてま…

イライラ

dokuwikiのアップデート、上書きのみで大丈夫かと試したが失敗。 しかたないのでクリーンインストールしてデータを書き戻す事にする。 が、それにも失敗。 動きはするが、data/*のパーミッションがおかしいっぽい。 とりあえず747で動かしてみる→OK→恐ろしい…

MacPortsでMochiWebをインストールしようとすると、セミコロンが無くてfindが失敗する件 on 10.4.11

後日引っ掛かった時のためのメモ。 面倒なのでPortfileを修正。 が、セミコロン追加しても何も変わらないし、原因を考えるのも面倒なのでxargsに丸投げ。 r87_0時点ではこんなのでOKだった。 37c37 < system "find ${worksrcpath} -name .svn -type d -exec …

もうやめとこう

書いてて混乱してきた…

Adaにおける浮動小数点数 floating point

type FooBar is digits Baz; こんなん。オプションでrange Foo..Barとかがついたりする。付けた場合、値はその範囲に束縛される。 実装の中身については、当然ながら特に決まりはない。 ただし、BazはSystem.Max_Base_Digitsの値を越えてはいけない。 さらに…

Adaにおける実数

浮動小数点数 floating point と固定小数点数 fixed point の2種類。 共通の属性は(恐らく)無い。

日本の Erlang ユーザのためのハブサイト

http://erlang-users.jp/ な、なんだってー そんなものがあったのか…Erlang Worldしか知らなかった…

やることができるととりあえず逃避する法則

そんなんだからいつまでたっても大きなガキなんだよね。

そういえば

ErlangによるWhitespace実装、「その1」とか銘打ったわりに「その2」がないですね。 完全に書くの忘れてます。というか実装し終わったから飽きてます。

疲れた

続きとか手直しは明日…以降のいつか。 夜更かししてしまった…。明日がヤバイ。

Adaにおける正負なし整数型 modular integer type

type My_Modular is mod 256; みたいなやつ。この場合、取り得る値の範囲は0..255。ただし、 type My_Signed is range 0..255; と書くのとはちょっと違う。 N:My_Signed:=256; はエラーになるが、 N:My_Modular:=256; はエラーにならず、Nには0が代入される…

Adaにおける正負あり整数

type My_Integer is range -127..128; みたいなやつ。範囲は当然両端を含む。 StandardにはIntegerとPositiveとNaturalが定義されている。実装に丸投げだけど。 type Integer is range implementation-defined; type Natural is new Integer range 0..Intege…

Adaにおける列挙型 enumeration type

type Foo_Bar_Baz is (Foo, Bar, Baz); みたいなやつ。論理型 Boolean もパッケージ Standard で以下のように定義される。 type Boolean is (True, False) ついでに文字 Character(文字列 String ではない)も。 type Character (nul, soh, stx, (略) , '…

Adaにおける離散型

列挙型、正負あり整数型、正負なし整数型をまとめて『離散型』と言う。*1 離散型には以下のような属性がある: S'Pos 型Sの変数Vを表す整数(universal-integer*2)を返す。 S'Val 整数(universal-integer)が示すSにおける値を返す。 *1:多分。別な、もっ…

Adaにおける数

数は共通に属性*1を持つ:(ただしこのリストは一部。c.f. ARM 3.5.) S'First 型のとりうる最初(≒最小)の値。 S'Last 型のとりうる最後(≒最大)の値。 S'Range range S'First..S'Lastと一緒。 S'Min 2つの値のうち、小さい方。 S'Max 大きい方。 S'Succ …

Adaにおける型

一覧。ARM 3.2から適当に改変。日本語も適当。 基本型 elementary 数 scalar 離散型 discrete 列挙型 enumeration (文字、真偽値、…) 正負あり整数 signed integer 正負なし整数 modular integer 実数 real 浮動小数点値 floating point 固定小数点値 fixe…

Adaの解説

Ada

最近Adaの解説を書いている人が多い気がするそうなので、便乗するしかないだろう、と。 三匹目のドジョウってレベルじゃないですが。 2009年は(仕様書の厚さ的に)Ada越えを果たしそうなC++0xもついに出る予定ですし、タイミング的にもバッチリじゃないでし…

1Z

Ada

全く気がついてませんでしたが、AdaICにAda1Zのドラフトが出てますね。 変更点と思しきページの一応Introductionと、重要らしい6.5、7.5は読みましたが270kb全部を読む気はしないなぁ…。 そもそも英語読めないから雰囲気感じるだけだったりしますがw。

Erlangで作る奇妙なプログラミング言語(Whitespace その1)

買ってあったのに積んであった『Rubyで作る奇妙なプログラミング言語』を読み始めました。 …で、どうせRubyはよく解ってないので、esotericな言語の解説を読んで、Rubyのソースを参考にErlangで適当に実装していく事にしました。 最初に載っているBrainf*ck…

九九の続き

漢数字が〇..九だけでもできるようなので書き直し。 with Ada.Wide_Text_Io, Ada.Strings; use Ada.Wide_Text_Io; procedure Kuku is type 漢数字 is (〇, 一, 二, 三, 四, 五, 六, 七, 八, 九); 要素数:constant:=(漢数字'Pos(漢数字'Last)- 漢数字'Pos(漢…

Adaで九九表

どう書く?orgで「漢数字で九九の表」というのを見つけて、 「そう言えばAdaって受け付ける文字コードがUCSって事になってるんだから普通にできるんじゃね?」 と思ったのでやってみました。 折角だから埋め込み文字列排除(つまり「"」出現禁止)の方向で。…

こんどこそTclでλ計算っぽいこと(まだ途中)

とりあえず、思いつきの方法で一つ前の問題を解決: set plus {x {format {y {expr %s+$y}} $x}} set plus_2 [apply $plus 2] puts [apply $plus_2 3] # 5 とか set foo {bar {format {baz {apply {%s} $baz}} $bar}} apply [apply $foo {x {puts $x}}] hoge…