Vasiliy Tereshkov
Vasiliy Tereshkov
Currently XD Pascal can produce EXEs, but not DLLs. To support DLL building, we need to: - Fill the `.edata` and `.reloc` (?) sections in the PE - Introduce the...
Currently XD Pascal generates machine instructions 'on-the-fly', like almost all early Pascal compilers, including Turbo Pascal. But building an AST can help perform larger-scale optimizations than those (peephole) optimizations available...
Comparing to Go, the current implementation of interfaces in XD Pascal is limited, since it lacks 'type assertions' and 'type switches' (i.e., the `case` statement over types, in Pascal terms)....
Using a 64-bit code generator would make it very easy and 'natural' to implement `Double` and `Int64` types. Nevertheless, besides obvious changes in instruction prefixes, pointer sizes and PE header...
``` type Any = interface{} fn main() { m := make(map[Any]int) m["ABC"] = 42 m[int32(4407873)] = 17 printf(repr(m) + '\n') // Prints { "ABC" : 17 } } ```
Blocked by https://github.com/emscripten-core/emscripten/issues/9183
Allow capturing variables from outer function's stack/heap frame: ``` fn adder(x: int): fn (y: int): int { return fn (y: int): int { return x + y } } fn...
Take something like this ```go fn main() { x := 0.0 for i := 0.0; i
> Allow iterating by reference.. This would be soo convenient. Essentially you can do `for k, &v in some_map`. This would be very useful for mutative iterations (and arguably non...
The `for...in` loop, when applied to maps, now calls the `keys()` function, then iterates over the key array and requests the map item for each key individually. The `repr()` function...