Git Product home page Git Product logo

jack's Introduction

Goals

  • Minimal, no IO, no module system, tiny stdlib
  • Easy to implement
  • Easy to learn
  • Easy to embed
  • tiny self-hosted compile to C implementation
  • interpret in JS implementation for rapid prototyping

Values

  • Simple immutable primitives

  • integers for counting, loops, indexes, offsets, lengths.

  • Booleans (true, false)

  • nil (essentially means undefined)

  • utf8 encoded strings

  • mutable data structures

  • dense ordered lists, no holes allowed

  • tuples, basically fixed length lists 2 or longer

  • unordered maps where any value type can be key or value

  • buffers for dealing with binary data

Expressions

  • explicit order of operations using parens
  • arithematic operators (+, -, *, /, ^, %)
  • comparison operators (<, <=, ==, >, >=, !=)
  • logical operators (!, &&, ||, ^^)
  • {args..| code } function literal, auto-returns the last expression
  • Function calling using expr(arg1, arg2...) syntax
  • vars declaration line at top of functions
  • object index, set, delete, query syntax
  • metamethod literal syntax
  • if..elif..else expressions for forking logic and returning values

Loops

There are two kinds of loops. One is the standard while loop, another is a simple for..in loop that iterates over various types of objects using numerical indexes to length, keys, or a custom iterator function.

jack's People

Contributors

creationix avatar

Watchers

James Cloos avatar Axel Forest avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.