[977] Re:関数の型の宣言構文について
投稿者:みずしま
2007/06/24 20:55:34
みずしまです。返事が遅くなりましてすみません。
>どうもcrowbar ver.0.1で「ifの後ろの()をなくす」という文法にしたものの
>(これも以前のDiksamではすべてそうなっていました)、自分自身すら慣れることが
>できなかった、というのがトラウマになっている気もします。
>本当にバリバリに使えば、すぐ慣れることなのかもしれませんけれども。
私の作った言語でも、if、whileなどの後ろの()が無い文法になっているのですが、
普段使っていないと、久しぶりに使ってみたときに、つい括弧つけちゃった
という経験があります。結局、自分が普段使っている言語に合わせるのが一番
なのかなとも思います。
>以前の3つくらいのバージョンのDiksamのふたつめくらいまではtemplateを
>付けようとしていました。が、結局そのあたりを作っている間に(複雑に
>なりすぎて)挫折してしまったわけでして。
>私は今でもgeneric programmingの知識や経験が豊富なわけではありませんが、
>当時はもっと知らなかったにも関わらずそんなところに手を出したら
>挫折するのも当然です。
templateの実装は結構複雑そうですね。かく言う自分も、Java generics相当の
機能(JVMで動作するので、仕様はJavaと互換にしたい)を俺言語に搭載しようと
思いつつ、Java genericsの型システムがかなり複雑なので、なかなか
挑めないでいます。
>当時は、Javaのような「ポインタしかない言語」が嫌で、クラスは実体でも
>宣言できるようにしようとしていましたし、そうなるとtemplateも、Javaのように
>コンパイラだけでごまかしきることはできなくなります。
>型ごとにコード複製やむなし、という考えで作っていたように思いますが、
>結局、その部分の実装まですら行き着けなかったような。
(C++風の)templateなら、コンパイラだけでなんとかなるのではと思ったのですが、
何か見落としがあるんでしょうか?あるいは、
> 型ごとにコード複製やむなし
というのが、型ごとにコード複製すれば、コンパイラだけでなんとかなるという
意図でしょうか?