Сделал функцию calc_hash. Теперь она вызывается с параметром - строкой:
calc_hash "some text"
Возращаемый параметр имеет тип Hash и в данном варианте он помещается на стек.
Теперь хочу добавить переменные - чтобы можно было вызывать функцию так:
Hash myhash = calc_hash "some text"
При вызове функции параметр может быть обязательным или опциональным. Нужно только добавить значение по умолчанию.
Возвращаются значения у меня отдельным списком, так что их может быть несколько, и они тоже могут быть обязательными или опциональными.
Пока это у меня ещё не сделано, но раз я собираюсь добавить присваивание значения переменной, то нужно будет это реализовать.
Таким образом в функции появляется оператор return со списком возвращаемых параметров.
Значит мне нужно сделать такой синтаксис:
Type1 var1 Type2 var2 Type3 var3 = some_func param1 param2 param3
И тогда, если функция возвращает несколько значений, а переменных меньше, то лишние значения надо либо игнорировать, либо помещать на стек. Наверное для совместимости лучше игнорировать. Ведь, если число результатов изменится, то это никак не повлияет на вызывающий код.