Skip to content

Instantly share code, notes, and snippets.

@syegulalp
Last active February 3, 2018 00:45
Show Gist options
  • Save syegulalp/14cfd2b457589a520b87a75a5491cbaa to your computer and use it in GitHub Desktop.
Save syegulalp/14cfd2b457589a520b87a75a5491cbaa to your computer and use it in GitHub Desktop.
MVP goals for Akilang
  • REPL.
  • Primitive numerical types: int, float, boolean.
    • Cast and convert operations for primitive numerical types.
    • Type checking for basic assignment operations.
    • Type checking for math.
  • Support for basic logic and keywords:
    • def
    • do
    • if / then / else
    • when / then / else
    • while
    • var
    • let
  • Global and local variables.
  • Strings.
    • String slicing.
  • Compiling to standalone binaries.
  • Print statement that supports all primitive types, and strings too.
  • N-dimensional arrays of primitive types.
    • Array slicing.
  • Pointer syntax for interfacing with C:
    • Get pointer
    • Dereference pointer
    • Get raw data from complex object (right now only strings)
  • Key decisions finalized about syntax:
    • Code blocks
    • Type naming
  • Decorator syntax.
  • Work out passing methodology (pass-by-value, pass-by-ref, etc.)
  • File I/O.
  • Proof-of-concept standard library with math functions.
  • Proof-of-concept module system.
  • Proof-of-concept module-level metadata.
  • Full test suite support for all of the above.
  • Properly refactored deployment.

Next phase

  • More object types
  • Networking
  • Debugging features
  • Memory management details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment