语法关键字
alias 是 Alia 语言的核心关键字,用于定义新的语法结构。本文档描述 alias 的定义形式、匹配机制与调用形式。
1. 基本语法
alias <Keys pattern> -> <Stack implementation>
alias <Keys pattern> -> <Stack implementation> => <Key aliasName>
alias <Keys pattern> -> <Object type> <Stack implementation>
alias <Keys pattern> -> <Object type> <Stack implementation> => <Key aliasName>
alias <Keys pattern> => <Key aliasName>
alias <Keys pattern>
alias <Keys pattern> -> <Object type>
-> <Object type> 声明实现体的返回类型,=> <Key aliasName> 声明语法关键字的注册名称。无实现体的声明仅注册匹配形态,不产生可执行动作。
内联 Alias 表达式
alias 作为表达式求值后返回一个 Alias 对象:
alias <Keys pattern> -> <Stack implementation>
alias <Keys pattern> -> <Object type> <Stack implementation>
内联 alias 表达式赋值给变量后,该变量持有 Alias 对象,可作为参数传递或存储在对象中。
const add = alias <Number a> and <Number b> -> Number { a + b }
assert (call add [1, 2]) == 3 error 'inline alias mismatch'