47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
- 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.  :)
 | 
						|
 |