Giter VIP home page Giter VIP logo

rainbows-lang's People

Contributors

dependabot[bot] avatar nfischer avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

rainbows-lang's Issues

Create div for hints that point out what's useful about the example

It'd be great if there was a good way to point out what's useful about each example. This could be done, perhaps with a div on the left-hand side, giving suggestions on what to do to play with the example.

An example might be: "Try clicking on 'fib' and move the slider to a different color."

Better type inference!

The type inference is an awesome language feature, but it can be even better than it is right now. I envision type inference as the default way of code getting colored, and allowing users to customize from there. That means:

  1. Type inference should detect more things
  2. Users should usually be able to override the automatic type inference where it makes sense (allow an integer to receive a float value, that would presumably just be cast to an int).

I'd also really like to see type inference involving object properties, i.e.

var foo = {bar: true, baz: 7};
var shouldBeBool = foo.bar;
var shouldBeInt = foo.baz;

If you want to help out, check out src/inference.js for the current type inference code.

Cursor doesn't line up correctly on some examples

If you click on the fibonacci example (lets say, on the last line), the cursor won't be adjusted quite right. It'll look as if it's partially between lines 14 and 15 (mostly on 15, where it should be). Once you start typing, everything works looks correct once again.

This has to do with adding in the underlines, which increase the height of the lines. This is something that ideally should get fixed, since it's annoying for examples with lots of underlines.

Or, we can investigate different styles, like tinting the background with a lighter shade of a lighter color, instead of underlining.

Better binary tools

Type inferencer (bin/rain-infer.js)

  • should accept a rain file as stdin
  • should optionally output a type dictionary to stdout
    • (maybe) optionally pretty-print JSON
  • should do something useful if there's no existing raint type dictionary

Interpreter (bin/rain-interp.js)

  • should do something useful if there's no existing raint type dictionary

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.