Anonymous 06/15/2019 (Sat) 07:31:49 No.2610 del
Меня только что осенило! Исключения надо объявлять в аргументах функции func(ret,[args],exc)/func(ret,[args])/func([args],exc)/func()/func([],exc). Тогда для исключений можно будет сделать свой тип. Для одного исключение то, для другого то.
Я из-за этого ещё удалил генераторы из лайси, так как не уверен. Может потом снова введу.
А вообще тот же генератор можно заменить функцией, которая принимает некоторые индекс. В for это будет как for v in gen(somedata,i): i++ {instructions}, а если надо заполнить массив, то arr := dup(gen)(dup(somedata),0 : end)
В случае с генераторами это будет for v in gen(somedata) {instructions} и arr := gen(somedata). Сложности-несложности, зато реализация легче, а ведь мой ЯП должен быть программируем и на микроконтроллеры, а для этого может понадобиться реализовывать там heap.