Обновить

Комментарии 2

Интересное творение, этот Гусь. Например, есть такое требование:

Whole-program compilation. There is no separate compilation, and there are no shared libraries of Goose code

Итак, когда в последний раз вы собирали программу целиком? Без внешних библиотек? Надеюсь, хотя бы Си-библиотеки можно будет цеплять? - Иначе совсем грустно.

Следующее требование даже поинтереснее:

Arrays of variable-size elements cannot be indexed. For each container you choose between "compact and walkable" and "indexable", or you spend extra memory on an index of references beside a compact one

Здесь я читнул чуть больше про структуры хранения и получается интересность: Либо всё приколочено гвоздями на этапе компиляции (размеры и т.д.). Либо ... бегай по своим данным каждый раз перебирая их все: примерно, как вместо массива строк взять односвязный список строк: хочешь 15-ю строку - пробегись сначала. А потом, вдруг, захотел 10-ю - ещё одна пробежка тебя ждёт.

---

По моему, это очень интересный язык для случаев, где очень мало памяти и очень жёсткие требования к ней. На память (каламбур-с) приходят варианты с микро-(скорее, нано-)-контроллерами. Или в Bios-е (firmware, uefi) что-то обрабатывать.

---

А какую Вы (автор) область предложили бы для этого языка?

Итак, когда в последний раз вы собирали программу целиком?

Постоянно это делаем.  Go собирает бинарник из исходников, расбросанных по многочисленным репозиториям.

Либо … бегай по своим данным каждый раз перебирая их все

Растущий индексированный массив с элементами переменной длины в рамках самого языка не предусмотрен, но вполне реализуется, подход примерно такой.

А какую Вы (автор) область предложили бы для этого языка?

Пакетная обработка, например, компилятор.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации