Coder Social home page Coder Social logo

valtan's Introduction

valtan

Common Lisp to JavaScript compiler

Installation

With Roswell:

$ ros follow-dependency=t install cxxxr/valtan

From source:

$ git clone https://github.com/cxxxr/valtan ~/common-lisp/valtan
$ cd ~/common-lisp/valtan
$ make build
$ ./valtan

Demo

$ cd example/react-tic-tac-toe
$ npm install
$ npm run build
$ open index.html

Create a project

$ valtan init project-name
$ cd project-name
$ npm install

$ npm start # run

Status

This project is still alpha quality.

sacla common lisp depends on Ansi test. The followings are list of Ansi test and the "Success or failure".

Test Success Failure
sacla-tests/desirable-printer.lisp 14 22
sacla-tests/must-array.lisp 162 171
sacla-tests/must-character.lisp 313 0
sacla-tests/must-condition.lisp 142 5
sacla-tests/must-cons.lisp 728 0
sacla-tests/must-data-and-control.lisp 170 144
sacla-tests/must-do.lisp 75 0
sacla-tests/must-eval.lisp 9 0
sacla-tests/must-hash-table.lisp 67 29
sacla-tests/must-loop.lisp 778 72
sacla-tests/must-reader.lisp 891 696
sacla-tests/must-sequence.lisp 6 3853
sacla-tests/must-string.lisp 0 414
sacla-tests/must-symbol.lisp 5 191
sacla-tests/should-array.lisp 17 20
sacla-tests/should-character.lisp 46 3
sacla-tests/should-cons.lisp 141 0
sacla-tests/should-data-and-control.lisp 1 3
sacla-tests/should-eval.lisp 0 2
sacla-tests/should-hash-table.lisp 3 0
sacla-tests/should-package.lisp 3 3
sacla-tests/should-sequence.lisp 48 33
sacla-tests/should-string.lisp 0 0
sacla-tests/should-symbol.lisp 44 0

Run tests

$ cd valtan/tests
$ npm i
$ npm start

License

MIT

valtan's People

Contributors

cxxxr avatar dependabot[bot] avatar garlic0x1 avatar jason-chandler 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  avatar  avatar  avatar  avatar  avatar

valtan's Issues

Common Lisp Package Lock Violation after SBCL Upgrade (2.3)

When updating to SBCL version 2.3.x, running valtan-build will cause a package lock violation at the end of the build.

image

I took a try at adding (sb-ext:unlock-package :common-lisp) to the portion of the compiler that handles cl-to-js, but I haven't found a place to add the line that doesn't cause other problems. I will continue to look into it in my spare time, but for now I've reverted to the last version of SBCL I know to work, 2.1.4.

This is not an emergency, I just wanted to note my findings.

Thank you for this project @cxxxr, it's a work of art.

Error with ffi:object in eval

open browser-repl

$ ros install valtan
$ cd example/browser-repl
$ npm i
$ npm run build
$ open index.html

in browser-repl

COMMON-LISP-USER> (ffi:object #j"foo" 100)
The function PUSH is undefined
Backtrace:
0: (COMMON-LISP::PRINT-BACKTRACE :STREAM #S(STRING-OUTPUT-STREAM :BUFFER ""))
1: (PUSH (FFI:CL->JS "foo") NIL)
2: (#<Function> (FFI:CL->JS "foo") 100)
3: (APPLY #<Function> ((FFI:CL->JS "foo") 100))
4: (COMPILER::PASS1-TOPLEVEL (FFI:OBJECT (FFI:CL->JS "foo") 100) T T)
5: (COMPILER:COMPILE-TOPLEVEL (FFI:OBJECT (FFI:CL->JS "foo") 100))
6: (EVAL (FFI:OBJECT (FFI:CL->JS "foo") 100))

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.