Coder Social home page Coder Social logo

scheme-to-js's Introduction

Scheme To JS

A Scheme-to-JavaScript transpiler

Supported Syntax

  • Literals
    • Number: 1, -2, 3.5
    • Character: #\a, #\newline
    • String: "hello"
    • Bool: #t, #f
  • Definition (define pi 3.141592)
  • Assignment: (set! id val)
  • Variadic functions: (define (+ . args) (foldl b+ 0 args))
  • Quotation: '(+ 1 2)
  • Vectors: '#(1 2 3)
  • Lambdas: (lambda (x y) (+ x y))
  • Special Forms: if, cond, and, or, let, let*, letrec, begin

Other Features

  • Pretty-Printing: (print (cons 1 (cons 2 3))) => prints "(1 2 . 3)"
  • Preprocessor Directive for File Inclusion: ;#include std.scm
    • ./ and ./scm-lib/ are searched for matching files
    • Topological sort for dependencies
  • Standard Library (std.scm)
    • Implementations of eval and apply
    • Most other standard scheme procedures
  • Tail-Call Optimization

scheme-to-js's People

Contributors

lucasscharenbroch avatar

Watchers

 avatar

scheme-to-js's Issues

Error with 'cabal build'

Hi
I would really like to try out scheme-to-js. Unfortunately I have absolute zero experience with the Haskell platform. I get this error from cabal, but I have absolutely no idea how to handle this let alone how or where to get proper Haskell support/help. Any idea?

 $ make build                                                                                 git@main
cabal build
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: scheme-to-js-0.1.0.0 (user goal)
[__1] next goal: base (dependency of scheme-to-js)
[__1] rejecting: base-4.19.1.0/installed-inplace (conflict: scheme-to-js =>
base^>=4.15.1.0)
[__1] skipping: base-4.19.1.0, base-4.19.0.0, base-4.18.2.0, base-4.18.1.0,
base-4.18.0.0, base-4.17.2.1, base-4.17.2.0, base-4.17.1.0, base-4.17.0.0,
base-4.16.4.0, base-4.16.3.0, base-4.16.2.0, base-4.16.1.0, base-4.16.0.0 (has
the same characteristics that caused the previous version to fail: excluded by
constraint '^>=4.15.1.0' from 'scheme-to-js')
[__1] rejecting: base-4.15.1.0, base-4.15.0.0, base-4.14.3.0, base-4.14.2.0,
base-4.14.1.0, base-4.14.0.0, base-4.13.0.0, base-4.12.0.0, base-4.11.1.0,
base-4.11.0.0, base-4.10.1.0, base-4.10.0.0, base-4.9.1.0, base-4.9.0.0,
base-4.8.2.0, base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, base-4.7.0.1,
base-4.7.0.0, base-4.6.0.1, base-4.6.0.0, base-4.5.1.0, base-4.5.0.0,
base-4.4.1.0, base-4.4.0.0, base-4.3.1.0, base-4.3.0.0, base-4.2.0.2,
base-4.2.0.1, base-4.2.0.0, base-4.1.0.0, base-4.0.0.0, base-3.0.3.2,
base-3.0.3.1 (constraint from non-upgradeable package requires installed
instance)
[__1] fail (backjumping, conflict set: base, scheme-to-js)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, scheme-to-js

make: *** [build] Error

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.