Комментарии 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 собирает бинарник из исходников, расбросанных по многочисленным репозиториям.
Либо … бегай по своим данным каждый раз перебирая их все
Растущий индексированный массив с элементами переменной длины в рамках самого языка не предусмотрен, но вполне реализуется, подход примерно такой.
А какую Вы (автор) область предложили бы для этого языка?
Пакетная обработка, например, компилятор.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Охота на Гуся