designgood first issuescope:compiler
倉庫指標
- 星標
- (14 顆星)
- PR 合併指標
- (平均合併 53天 4小時) (30 天內合併 6 個 PR)
描述
We need as <type> declarations for the compiler (if we are smarter) and also for the runtime. This should be a
var x: integer | text = 42
// x is integer | text
var y = x as integer // x is asserted to be integer and typeof y is integer
var y = x as text // x is asserted to be text (invalid, throws)
@example :: (1 + 2)
Compiler has to inject a assertion such as
@example :: (1 + 2) as integer
if we can not analyze the remote code (due to missing types), it will be treated as "unknown" and we have to cast/match to use for further processing (such as apply chains)
- Implement in grammar
- Implement in compiler
- Implement in runtime