私はプログラミング言語の作成を検討しています。私が思っているのは、参照のような構造を含む言語では、新しい/ malloc演算子を持たないことは実現可能なのでしょうか?つまり、すべての変数はスタックのどこかに格納されるか、または静的に割り当てられます。汎用プログラミング言語でヒープを持たないことは可能でしょうか?
ガベージコレクタを実際に持たずに、より安全な型の安全性と「フリーガベージコレクション」が得られるという考えがあります。
私はあまりにも多くのスクリプト言語に精通していないので、すでにこれを行っている場合は、それを指摘してください。
(ダイナミック/未知のサイズのデータ構造は、ユーザの背中の後ろに、ヒープ上で)明らかに(処理される動的なリスト構造によって処理されるだろう。)
私はここにあなたが何を持っているか正確にはわかりません。どのようにあなたの提案された言語は、配列を作成し、それへの参照を返す関数を扱うでしょうか?スタックにない場合は、その配列をどこに割り当てるべきですか?また、未知のサイズのオブジェクトをヒープ上の「動的リスト」に入れた場合、ガベージコレクションの必要性をどのように乗り越えるかはわかりません。 – sepp2k
関数は配列を作成せず、参照を返しません。配列は呼び出し関数で作成する必要があります。また、動的リスト内のオブジェクトは、必然的に既知のサイズである必要があります。 – Dan
私はあなたが私の2番目の質問を誤解したと思います。あなたは "動的/未知のサイズのデータ構造は動的なリスト構造によって処理される"と述べた。ガベージコレクションの必要性をどのように乗り越えるのかを知りたかっただけです。ある時点でリストからオブジェクトを削除する必要があります。そうしないと、メモリがリークします。 – sepp2k