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

Basic verification and analysis

  • Type checker (specification)
  • Termination checker
  • Resource analyser

Interaction with Zilliqa back-end

  • Serializing state
  • Searialising messages
  • Verifying components input messages

Advanced language mechanisms

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

Advanced Verification and Analysis

  • Extraction of programs into Coq for Scilla-Coq
  • Synthesis from Scilla-Coq implementations

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)