🙄

コードを生成しないCollection

2025/02/01に公開

コードを生成しないCollectionできました。ただ、インターフェースへの代入処理が入るため
コードの生成量はあまり変わらないかもしれません。あんまり意味がないかもしれません。
listとかmapって思ったより、多用しないため。セルフホストに適用したら、メモリ枯渇しました。
RustにはenumへのCollectionもありますが、それを実装するかもしれません。
気が向けば。

#include <comelang.h>

int main(int argc, char** argv)
{
    list<object: string>*% li = new list<object: string>();

    li.add(s"AAA");
    li.add(s"BBB");
    li.add(s"CCC");

    foreach(it, li) {
        puts(it);
    }

    return 0;
}

こんな感じです。addなどのlistのコード生成はobjectインターフェースのみとなります。
ただ、li.add(s"AAA");objectインターフェースへの代入処理が入るため、実際はコード生成量は
あまり変わりません。意味ないですね。がくり。
ちょっと,anyへの代入にしてコード生成してみます。ちょっとその仕事今からやります。

Discussion