fun test() -> f64 { 1 * 2 + -3 * 4 } // @no-errors // @eval: Float(-10.0) // @type: 23 f64 // @concrete: // | File // | FunctionDecl // | Fun:'"fun"' // | Identifier:'"test"' // | ParamList // | LeftParen:'"("' // | RightParen:'")"' // | ReturnType // | Arrow:'"->"' // | TypeExpression // | TypeIdentifier // | Identifier:'"f64"' // | Block // | LeftBrace:'"{"' // | ExpressionStatement // | BinaryExpression // | BinaryExpression // | LiteralExpression // | Number:'"1"' // | Star:'"*"' // | LiteralExpression // | Number:'"2"' // | Plus:'"+"' // | BinaryExpression // | UnaryExpression // | Minus:'"-"' // | LiteralExpression // | Number:'"3"' // | Star:'"*"' // | LiteralExpression // | Number:'"4"' // | RightBrace:'"}"' // | // @compiles-to: // | function test (0 args, 0 locals): // | strings (0): // | code (10): // | 0: PushFloat(1.0) // | 1: PushFloat(2.0) // | 2: FloatMultiply // | 3: PushFloat(3.0) // | 4: PushFloat(-1.0) // | 5: FloatMultiply // | 6: PushFloat(4.0) // | 7: FloatMultiply // | 8: FloatAdd // | 9: Return // | function << module >> (0 args, 0 locals): // | strings (0): // | code (2): // | 0: PushNothing // | 1: Return // |