Leonard Schütz

Results 73 issues of Leonard Schütz

The following syntax should be possible ```javascript try { foo() } catch SomeException { // catches only exceptions of type SomeException, doesn't provide a binding } catch OtherException as exc...

compiler

- Iterators for data structures are created by calling the `iterator(old = null)` method declared on every instance - When passed `null`, the initial iterator is created - When passed...

compiler
standard library

Variable declarations that are never read from can be safely removed. If the declaration has any side-effects, only those side effects must still be included, but the actual variable declaration...

compiler
optimization

- Fibers awaiting themselves - Two fibers awaiting each other - A ring of fibers awaiting each other, forming a circle

bug
runtime

- Major operators should be overloadable to implement custom domain-specific operations - Some keywords should be overloadable, like `await` - Some language constructs should be overloadable - Index access /...

compiler
runtime

Would allow neat and tidy syntax for cast operations, e.g: ```javascript Int("25") Number(some_user_input) Tuple(some_list) ``` This can be implemented as an additional check after the `kFlagNonConstructable` check at [interpreter.cpp:115](https://github.com/KCreate/charly-vm/blob/d8111ec97ce14f86c6014b37c9451309578bf5c2/src/charly/core/runtime/interpreter.cpp#L115). The...

compiler
runtime

## Exporting variables, functions, classes - the `export` keyword can be used to export constants, functions and classes from a module - the compiler desugars the export statements into a...

compiler

- Automatically inject terminal color escape sequences ```javascript import colorize as color print(color.red("Hello world")) print(color.yellow("Hello world")) ```

standard library

```javascript class Person { property name property age greet { print("hello {name} you're {age} years old!") } static clone(other) { Person(other.name, other.age) } } ```

compiler