Jay Taylor's notes
back to listing indexnakkaya/ferret
[web search]
Original source (github.com)
Clipped on: 2018-08-15
Ferret is a free software lisp implementation for real time embedded control systems.
https://ferret-lang.org
Makefile
.gitignore | docs - update road map | a year ago | |
.travis.yml | build - deploy clojars during release build | 9 days ago | |
LICENSE | docs - update readme | a year ago | |
Makefile | Makefile - add repl target | 3 days ago | |
ferret.org | test - implement escape analysis tests | 4 hours ago | |
org-mode.conf | docs - update overview section | 7 months ago | |
readme.md | docs - update repository location | 2 months ago |
readme.md
Ferret
Ferret is a free software lisp implementation designed to be used in real time embedded control systems. Ferret lisp compiles down to self contained C++11. Generated code is portable between any Operating System and/or Microcontroller that supports a C++11 compliant compiler. It has been verified to run on architectures ranging from embedded systems with as little as 2KB of RAM to general purpose computers running Linux/Mac OS X/Windows.
This repository contains the Ferret compiler. For more information about Ferret, including downloads and documentation for the latest release, check out Ferret's website
General Information
- Website - https://ferret-lang.org
- Source Code - https://github.com/nakkaya/ferret
- Mailing List - https://groups.google.com/forum/#!forum/ferret-lang
- Issue Tracker - https://github.com/nakkaya/ferret/issues
Quick Start
Download latest Ferret release,
wget https://ferret-lang.org/builds/ferret.jar
A program that sums the first 5 positive numbers.
;;; lazy-sum.clj (defn positive-numbers ([] (positive-numbers 1)) ([n] (cons n (lazy-seq (positive-numbers (inc n)))))) (println (->> (positive-numbers) (take 5) (apply +)))
Compile to binary using,
$ java -jar ferret.jar -i lazy-sum.clj $ g++ -std=c++11 -pthread lazy-sum.cpp $ ./a.out
Press h to open a hovercard with more details.