Skip to content

40ants/sigil

more-features
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 6 commits ahead, 6 commits behind burtonsamograd:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sigil

Sigil is a Parenscript to Javascript command line compiler and REPL.

What is Parenscript? (from https://common-lisp.net/project/parenscript/)

Parenscript is a translator from an extended subset of Common Lisp
to JavaScript. Parenscript code can run almost identically on both
the browser (as JavaScript) and server (as Common Lisp).

Parenscript code is treated the same way as Common Lisp code,
making the full power of Lisp macros available for
JavaScript. This provides a web development environment that is
unmatched in its ability to reduce code duplication and provide
advanced metaprogramming facilities to web developers.

https://github.com/vsedach/Parenscript

https://common-lisp.net/project/parenscript/reference.html

Usage

sigil [-i] [-I load-directory] [--eval <CL code>] [--pseval <PS Code>] app.ps > app.js

Installation

Run 'make' or './build.sh' to compile sigil. It requires sbcl (or maybe some other Common Lisp but I haven't tried) to be installed, which you can grab from http://www.sbcl.org/platform-table.html, or through something like 'apt-get install sbcl'.

You can 'npm install sigil-cli' (note the underscore) locally into node_modules; the -g option doesn't work yet.

Load

Sigil adds the 'load' command to Parenscript, so you can load macros and other files during compilation, like (load "macros.ps"). Use -I to specify the load paths to search.

Interactive REPL

Sigil comes with an interactive REPL (Read-Eval-Print-Loop) when invoked with -i (or no arguments), allowing you to type and evaluate Parenscript commands interactively.

TODO

  • Add ability to make (quickload "panic") in parenscript files.
  • Suppress output from --eval commands.

License

MIT

-- Burton Samograd, Alexander Artemenko 2015

About

A Parenscript to Javascript command line compiler and interpreter.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Common Lisp 93.0%
  • Shell 5.3%
  • Makefile 1.7%