Champii
Champii
Hello ! I've started the work concerning the rust bindings of SourcetrailDB. It is a (very) early (and non yet working) version of those, made with rust-bindgen. You can see...
We should offer a default constructor for structs based on field declaration order: ```haskell struct Player foo: Int64 bar: String main -> let player = Player 2, "somevalue" ```
Doing so will enable `print` to be used anywhere without interfering with the current computation, very much like `dbg!()` in rust.
- [ ] Proper trait and struct scoping - [ ] Need proper namespecing, i.e. stop ignoring IdentifierPath's NodeId - [ ] Resolve only traits that are in the current...
We currently don't fail if a function is defined twice. We must.
We need a way to represent the types as written in the code, and another more concrete representation for the constaint/typechecking/generation phases This will stop having unresolved `Trait Foo` for...
There is no check done to forbid the call of a non-function item. ```haskell main: -> 2! ``` ``` thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/lib/infer/monomorphize/monomorphizer.rs:284:44...
This is caused by our hacky injection of the stdlib, that adds 2 lines at the start of each sourcefile. The problem is obviously absent with the `--nostd` option
The `nom` parser is slow (or at least our poor implementation is), we should consider multithreading