jjcnn

Results 77 issues of jjcnn

As part of the multistaging issue, generation of error messges has been moved from TypeChecker.ml to Syntax.ml. However, the generated error messages reports type errors regardless of which phase causes...

usability

Newer Macs use ARM processors, which the 4.11 OCaml compiler doesn't support. Later compiler versions do support ARM processors, so it would be convenient to upgrade to a newer version.

infrastructure
usability

At the moment all arguments to a procedure must be supplied when the procedure is called. This may be inconvenient in practice, especially once we add iterators (#516). We currently...

enhancement
evaluator
type system
usability
language design

Versions of openssl after 1.1 are not supported by the crypto submodules, and build errors due to later versions of openssl are difficult to identify as being caused by this....

usability
documentation

Procedures are currently not allowed to return values. I don't know how much of an issue this is, but some users may well find it useful to be able to...

enhancement
type system
usability
language design

The `REPLICATE_CONTRACT` feature has been disabled due to lack of blockchain support. The code is currently commented out, and should be reintroduced (and re-tested) once blockchain support has been implemented....

enhancement
blockchain
community request

It looks like we don't always check that the contract/library has a major version that matches the major version of the checker/interpreter. At least this is the case when a...

bug
evaluator
backwards-incompatible-change

The function `TyExpression::deterministically_aborts()` almost certainly computes the wrong result in some cases. The most obvious example is `return break`, which does not abort, but for which `deterministically_aborts()` returns `true`. Additionally,...

bug
compiler: ir
compiler: frontend

The typechecker currently uses the `Unknown` type both as a placeholder for a not-yet-determined type, and to indicate the type of a (typechecked) diverging expression (e.g., `return`, `break` or `continue`)....

compiler
code quality
compiler: ir
compiler: frontend

Our dead code analysis is missing come cases. The ones I'm aware of are marked with a TODO (once #5631 is merged) in ``` test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/src/main.sw test/src/e2e_vm_tests/test_programs/should_fail/return_in_strange_positions/src/main.sw ```

compiler: frontend
DCA