Skip to content

Roadmap

Ilya Sergey edited this page Jun 1, 2018 · 3 revisions

Detailed roadmap. For outstanding issues, check Scilla Issue Tracker.

Language basics

Syntax

  • Lexer
  • Parser
    • Basic expressions
    • Statements and Contracts

Runtime Semantics

  • Expression evaluator
  • Implementation of hashing
  • Evaluation for statements and message handling
  • Runtime type operators (polymorphic lambdas etc)
  • Support for fixpoints (see the documentation)

Advanced language mechanisms

  • Better cryptographic primitives (see the discussion)
  • Support for user-defined Algebraic Data Tepes
    • Generator for folds

Interoperability with other frameworks

  • Compiler into WASM
  • Compiler into EVM
  • Compiler into Michelson

Miscellanea

Language front-end

  • Parser errors
    • Show line number and affected region

Editors

  • Emacs mode
    • Highlighting
    • Formatter
    • Symbol completion
  • Atom mode
    • Highlighting
    • Formatter
    • Symbol completion

Building and testing

  • Automated build scripts
  • Executable binaries
  • Automatic test suite for
    • Expression evaluator
    • Interpreters
    • Type checker
  • Checker code formatting style

Global project infrastructure

  • Setup the issue tracker
  • Setup build on a CI server (Travis?)
  • Setup a code review tool

Refactorings and coding style

  • Remove boilerplate from runners (via OCaml functors)
Clone this wiki locally