47 lines
1.3 KiB
Plaintext
47 lines
1.3 KiB
Plaintext
|
- precedence/parsing fucked with things like:
|
||
|
println (isnull $test ? "It's null" : "not null");
|
||
|
have to write:
|
||
|
println ((isnull $test) ? "It's null" : "not null");
|
||
|
|
||
|
- HTML backend will escape quotes in tripled quoted
|
||
|
TokenStringLiterals that weren't escaped originally
|
||
|
|
||
|
- in a foreach statement when iterating over hash keys,
|
||
|
you can extract them as ints or strings, regardless of
|
||
|
what they actually are. for the perl backend, this
|
||
|
doesn't really matter, but a better solution might have
|
||
|
to be found sometime.
|
||
|
|
||
|
- builtin functions can't be overridden by S2 functions
|
||
|
in subclasses? (look into this again)
|
||
|
|
||
|
- Confusing message when trying to interpolate an object without
|
||
|
a toString() method:
|
||
|
"Right hand side of + operator is Color, not a string or
|
||
|
integer at line 28, column 16"
|
||
|
|
||
|
TODO:
|
||
|
|
||
|
- don't make vardecls in foreach stmts require the type. infer it
|
||
|
instead from the listexpr type minus an arrayref
|
||
|
|
||
|
- static variables
|
||
|
|
||
|
- constructors with arguments
|
||
|
|
||
|
- 'readonly' class members
|
||
|
|
||
|
- private functions/members
|
||
|
|
||
|
GOTCHAS:
|
||
|
|
||
|
- this might be considered a bug:
|
||
|
|
||
|
function foo():string{ print "hi"; }
|
||
|
|
||
|
won't parse. the { after 'string' is parsed as part of the return
|
||
|
type. whitespace is required in there.
|
||
|
|
||
|
UPDATE: mart says this isn't a bug. :)
|
||
|
|