fe.settings:getUserBoardSettings - non array given[rus] - Endchan Magrathea
Тучка опять умерла, так что можно тут свой блогек продолжить.
Что я сделал за последнее время?
Добавил частично поддержку списковых данных как тут:

func () main {
	u8 var = 3 + 2;
	s32[3][2] a = [[5,var,3],[54,12,65]];
	s32[2][3] b = [[65,12],[var + 5,var],[3,23]];
	
	s32[1][6] c;
	c[:][:] = a[:][:] + b[:][:];
};


Теперь можно получше взаимодействовать с массивами. Но всё-равно этого мало, на Лайси до сих пор нельзя кодить! Мне надо написать инфраструктуру в виде кучи библиотек.
Думаю, я буду потихоньку выпиливать из стандарта некоторые ещё не реализованные вещи. Такие как switch, @call, сложные имена энамов, doc-комментарии.
И препроцессинг надо немного переделать. Думаю, изменить @ifdef, @iftype и подобные на просто @if (условия) и там будут поддерживать операторы всякие и препроцессинговые функции def(NAME) (ifdef) и прочее. Препроцессинг это моё слабое Лайси-место. У меня до сих пор, вроде, @ifdef не работает и всё это.
А ещё код самого компилятор оставляет желать лучшего. Недавно я ввёл такую вещь как контекст типа в Лайси и это довольно такое неудобное правило. Мне придётся как-то переписать часть функций. Правило заключается в том, что в зависимости от типа соседнего операнда или типа аргумента вызываемой функции операнд может быть рассмотрен с другой точки зрения. Например, если список приравнивается структуре (в C и C++ это будет через {.x = 5,.y = 8...}), то будет так [.x : 5,.y : 8]. А в случае энама можно его внутреннее имя переслать. Например, @define mode as enum {READONLY; WRITEONLY} и в случае если контекстный тип это такой энам, то можно написать READONLY или WRITEONLY. Иначе нельзя и будет ошибка. А если вам нужны именно их численные значения, то можно написать mode.READONLY.
Да и API следует лучше скомпоновать. Не удивлюсь, если сейчас посмотрю и увижу несколько почти одинаковых функций.