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

そんなことよりもメタプログラミングの会の記事を書けって?

……ごめんなさい。 スライドは出来最悪といいますか、言い訳させてください!余りにもASISが想定よりもしょぼすぎたためにギャグに走ってしまって、Ada好きの方々に見せられるような代物にはなりませんでした! 代わりにASISで何かしたいと思ってますので、も…

作りかけの置換ランタイム

本当は完成させてから偉そうに書きたかったのですが、もうなんといいますか完全に私事で自業自得ですがそれどころではありませんので、書いちゃいます。https://github.com/ytomino/drake今までGNATについてあーだこーだ文句を書いたりコンパイラに勝手なパ…

ソースファイルの読み込み

お久しぶりです。ASISのチュートリアルは大抵、コンテキストを用意したらすぐに翻訳単位の列挙をはじめてまして、大事なことがぽっかり抜けています。 それは……どうやってソースコードをASIS環境に読み込ませるか。どのソースファイルを対象にするか教えてな…

歴史語り

どう考えてもASISを完全マスターする時間はないので、発表の構成を考えます。 まず発表全体を見渡すと、他は新技術が目白押しです。メタプログラミングテーマで必須に思えるC++、Dすら無い。それどころかこれから作られる言語まで入ってます。 すると必然的…

ASISのビルド

メタプログラミングの会でASISネタで発表させていただけることになりました。 ただ……問題点がひとつ。今までに私はASISを使ったことがありません。というわけでしばらくASISの勉強シリーズにおつきあいください。ASISなら俺のほうが詳しいから発表代わりやが…

Cの.hからのトランスレータ

C Ada

ある程度形になってきたためこっちに書きます。 http://panathenaia.halfmoon.jp/alang/headmaster/ Cの.hをAdaの宣言に直すトランスレータです。この間の愚痴はこれを作っていたのでした。やっていることは、-fdump-ada-specの二番煎じ、SWIGの三番煎じ、CI…

strcpy_sなんて使うな

C

超今さらですが、C1x?に、セキュア文字列関数群*1が正式に入るみたいですね。http://www.open-std.org/JTC1/SC22/WG14/www/projects#24731-1で、google:strcpy_sで検索すると、strcpyなんて使うな。安全でセキュリティの高いstrcpy_sを使え!という旨の文面…

String Encodingぅ

Ada

Ada2012ではUTFの変換ライブラリが用意されます。http://www.ada-auth.org/standards/12rm/html/RM-A-4-11.htmlStringからUTF_8_Stringに変換(同じ型ですが)するEncode関数が用意されていることで、文字コードの違いが明確になっています。Stringには現在の…

Pervasives.( = )は自力定義できるか?

そういう話をしたのを思い出しましたので、OCaml Meeting 2010 in Nagoyaの聴講メモを書く代わりにやってみました。ていうか何聴いたかうろ覚えですすみません。

TextWrangler上でmakeしたい

TextWranglerをひとしきり褒めた?ところで、本題。TextWrangler上で統合開発環境のような勝手でmakeしたいという話。 "Run current line as shell command"みたいなのを作ってEmacsのターミナルモードもどきも考えたのですけれど、前にも書いた気がしますが…

TextWranglerを褒めたり貶したり

Mac

なんといいますか私は高校〜大学時代ずっとDelphi漬けでしたので、統合開発環境の便利さは身に染みています。ところがどうしたことか、ある頃からタブエディタやタブブラウザが大嫌いになりました。SDI最高!こんなことでは統合開発環境の類はまるで使えませ…

ついでにloggerheadも動かしてみる

bzr

http://d.hatena.ne.jp/ytqwerty/20090905#p1 の続きでloggerheadも動かしてみます。bzr-smart.cgiが動いたところから続けての手順です。 py26-distribute, py26-paste, py26-simpletalとloggerheadをhome以下にインストールします。ファイルをアップロード…

ちなみに正攻法は

参考: http://groups.google.co.jp/group/fa.caml/browse_thread/thread/75a8815a6b511e72/上記コードを参考URLの正攻法で書き直すとこうなります。 module type P = sig type t val compare: t -> t -> int val create: unit -> t val empty: t end module …

module type of

3.12.0出ましたね!MacPortsになかなか来ないので、ローカルでビルドして移行中です。 さて今回新機能目白押しです。その中でも個人的に一番ありがたいのがmodule type ofです。面倒くさいsig宣言のコピー&ペーストをかなり削減できます。 頻繁に弄ってる最…

マクロの用途の類型

C

http://panathenaia.halfmoon.jp/alang/headmaster/h.html最近またCから他言語へのトランスレータ作りに熱が入ってたりするのですが、ほんとに何年たっても一向に完成の兆しは見えず。 パーサはある程度動くようになったので、普段使っているライブラリのヘ…

シレン4

全ダンジョン99F(あがらずのみ50F)制覇、常夜とジャガーは素潜り(常夜は最初のイベント30Fのみ持ち込んだ……激しく後悔。99Fは素潜り)。全部救助なし(浜辺も潜り直した)。誰かほめて。 シレン道素潜りは挫折中……仲間3人連れてクリアも意外と難しく苦戦中……。

規格通りパースできないC言語

C

FreeBSDのstdarg.hとstdio.hで、va_listの定義が重複しているのを見つけました。一応#ifdefで囲われてはいますが、使われているマクロ名が違うために両方通ってしまうというお粗末さです。でもFreeBSDのヘッダーに文句を言いたいわけではなくて。(……まあstda…

Ada2012

Ada

いつの間にかAda2012の規格が公開されていました。 http://www.ada-auth.org/standards/ada12.html あれ……with private/end private/limited new論争とか、foreachのようなものとか、GNATがフライング実装したif式/case式とか、VectorsのReference関数とか、…

個人的に再発明ブーム

なので、既にあるインターフェースライブラリをいろいろ作り直しています。今日はGMP, MPFR, MPCインターフェースを再発明しました。ただ私がGMPのインターフェースを作ると毎回毎回演算子が全部揃わないという難点が……。 http://panathenaia.halfmoon.jp/al…

0.375

例えば画面が640x480ピクセルだった場合、座標の値としては、原点が端っこのピクセルの中心にある場合は(0, 0)-(639, 479)、原点が端っこのピクセルの更に境界にある場合は(0, 0)-(640, 480)がありえます。 OpenGLでは、後者の考え方を取っており、更にデフ…

Google日本語入力でローマ字カスタマイズができるようになってますよ!

Key

http://www.google.com/support/forum/p/ime/thread?tid=43a80f76d0139746&hl=ja&fid=43a80f76d01397460004855f2f6562d7今頃見つけては風邪の熱も下がらぬまま一人勝手に布団の上でヒートアップしております。 早速新JIS配列の設定に挫折しましたのでレポー…

浜辺の魔洞

救助していただいた方ありがとうございます。 これで……これでようやく他の事ができる……。

……。

シレン4、ストーリーダンジョンクリアしました

なんと39時間も費やしていたらしい……。俺、明日から真面目な生活するんだ……。や、今回、ストーリーダンジョンの素潜りが熱いです。http://ameblo.jp/chunsoft-blog/で一発クリア可能と発売前から煽られてて、倉庫を使わずに特攻すること10回。ノートに出現モ…

ついにねんがんの沖じめ鰯づくしを食べたぞ

昨年末から今年頭にかけて「B級グルメ食堂」というコンビニ本が売られていました。これがまた私のために編集されたとしか思えないような出来で、よだれを垂らしながら買い揃えたものです。 その中でもお気に入りは、「駅弁特急」*1。作者氏が自ら電車に乗っ…

言語雑談会2009

あけましておめでとうございます!今年も言語雑談会に参加してきました。 id:kmizushimaさん、ありがとうございます。備忘録はtwitterが用を為してしまってますので、ここにはid:shinichiro_hさんのスライドに対する「それAdaでできるよ」特集でいきたいと思…