Giter Club home page Giter Club logo

jstar's People

Contributors

bamless avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jstar's Issues

Complete documentation site

The basic layout for the documentation site has been set up, time to start writing the language documentation

Extend API with configuration at vm creation time

Lots of things are hard-coded during VM creation., such as starting stack size and garbage collection threshold. Additionaly, all the errors get automatically printed to standard error without the possibility to record them. A better approach would be to provide a struct in which the user would pass all desired options, including an error callback function. The option of letting the user decide which allocation functions to use could be considered as well, as the garbage collection implementation is flexible enough to permit other allocation strategies.

Add prefix to all exported symbols in jstar.h

Not all symbols defined in jstar.h include a prefix to render them unique. This can cause collisions with other libraries, especially in the case of the EvalResult struct, which has a fairly generic name.

Different syntax

I know it's probably to late for something like this, but I don't like the lua (I think) like syntax, with then do, then, and end keywords. I feel like it adds to many keywords, and that it would be better if it used braces, or a pythonic syntax. If I could I'd help change it but I'm not sure if you agree with me and I'm also am very bad with c.

edit: I did bad job explaining what I want. I don't like how lua uses different keywords for loops and if statements, that "do", and "then" keywords. I'd prefer if it used a single keyword

Consider changing CMake option names

Some of the cmake options names are fairly generic, and can cause collisions with option from other projects when including J* as a sub-project. We can possibly fix this by adding the JSTAR prefix to all options.

Write tests

The language got big enough that tests are needed to ensure working state after changes. Writing some benchmarks would be nice too.

class method redefinition

Is it possible redefine class method at runtime?
Something like

class A
    fun foo()
        print('foo')
    end
end

A.foo = fun()
    print('bar')
end

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.