https://github.com/semperos/gershwin
(Deprecated Prototype) Gershwin programming language
https://github.com/semperos/gershwin
Last synced: 12 months ago
JSON representation
(Deprecated Prototype) Gershwin programming language
- Host: GitHub
- URL: https://github.com/semperos/gershwin
- Owner: semperos
- Created: 2013-04-19T21:03:46.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-05-30T22:21:02.000Z (about 13 years ago)
- Last Synced: 2025-07-01T22:06:58.912Z (about 1 year ago)
- Language: Java
- Homepage: https://github.com/gershwin/gershwin
- Size: 785 KB
- Stars: 10
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DEPRECATED PROTOYPE #
Please note that this repo represents the prototype, proof-of-concept version of Gershwin I wrote to explore the feasibility of the concept.
The Gershwin code base is now maintained as a fork of Clojure in the [gershwin/gershwin](https://github.com/gershwin/gershwin) repository. Please refer to that repository for Gershwin's implementation.
--------------------------------------------------------------------------------
# Gershwin: Stack-based, Concatenative Clojure #
[](https://travis-ci.org/semperos/gershwin)
Gershwin is in early development. Take a look at `src/main/gwn/gershwin/core.gwn` to learn more about the language implementation, or the files under `src/main/java/gershwin/lang` and `src/main/clj/gershwin` to peruse the parser, compiler, and runtime infrastructure.
## Usage
Build Gershwin:
```
mvn package
```
Run the executable Jar file:
```
java -jar target/gershwin-${version}-executable.jar
```
You can also run a REPL directly:
```
mvn -Prepl test
```
For a better REPL experience, I suggest running it through rlwrap or ledit. My personal ledit incantation looks like this:
```
ledit -x -h ~/.gershwin_repl_history mvn -Prepl test
```
## Examples
You can read the in-progress test suite under `src/test/gwn/gershwin` or take a look at [a small example project](https://github.com/semperos/prez-gwn) to see examples of Gershwin code (try [this file](https://github.com/semperos/prez-gwn/blob/master/src/main/gwn/prez/gershwin.gwn)).
## Editor Support
This repository houses a basic Emacs major mode, `gershwin-mode`, located under `support/emacs/gershwin-mode`. This mode is derived from `clojure-mode` and provides some Gershwin-specific syntax highlighting, as well as treating `<` and `>` as proper delimiters. Just save the `gershwin-mode.el` file somewhere on your Emacs load path and add `(require 'gershwin-mode)` to your Emacs config.
## License
Copyright © 2013 Daniel L. Gregoire (semperos)
Distributed under the Eclipse Public License, the same as Clojure.