• Stars
    star
    1,063
  • Rank 43,433 (Top 0.9 %)
  • Language Makefile
  • License
    BSD 2-Clause "Sim...
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ferret is a free software lisp implementation for real time embedded control systems.

Ferret

Current Release CI Build Status BSD 2 Clause License

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

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

More Repositories

1

static

Static Site Generator
Clojure
193
star
2

clodiuno

Clojure API for the firmata protocol.
Clojure
139
star
3

vision

OpenCV wrapper for Clojure
C
132
star
4

alter-ego

A reactive AI library based on the concept of behavior trees.
Clojure
48
star
5

nakkaya.com

nakkaya.com
Clojure
43
star
6

net-eval

Dead Simple Distributed Computing for Clojure
Clojure
35
star
7

emacs

Emacs init files
Dockerfile
21
star
8

vector-2d

Collection of 2D Vector Operations.
16
star
9

emacsd

Dockerfile
14
star
10

inbox-feed

inbox-feed is a tool for delivering news from RSS feeds to your email program.
Clojure
10
star
11

makeWay

Isolate hosts from network.
C++
9
star
12

mocha

ARPWatch / Log Watcher for Mac OS X and Linux
Java
9
star
13

ferret-logging

C++
4
star
14

ferret-opencv

Clojure
4
star
15

ardrone

Ar Drone API for Clojure
Clojure
4
star
16

rest-sql

Rest SQL serves a fully RESTful API from a PostgreSQL database.
Makefile
3
star
17

war-logs

Clojure
3
star
18

ferret-genann

C
3
star
19

ferret-mosquitto

C++
3
star
20

inf-ipy

A REPL interface to communicate with Jupyter kernels in Emacs or CLI.
Python
3
star
21

appengine-stub

appengine-stub
Clojure
3
star
22

easy-dns

easyDNS Client
Clojure
3
star
23

ferret-boost

Clojure
2
star
24

ferret-websocket

C++
2
star
25

corba

arduino line follower
C++
2
star
26

travis-test

JavaScript
1
star
27

jnibwapi

Checkout of jnibwapi
Java
1
star
28

ferret-L6470-AutoDriver

Ferret Bindings for Sparkfun BabyDriver stepper board. SPI driven 3A 8-45V, based on L6470 part from Linear
C++
1
star
29

ferret-teensy-flight-sim

Clojure
1
star
30

ferret-great-circle-navigation

Clojure
1
star
31

solarcar-turn-indicator

Clojure
1
star
32

ferret-arduino-keypad

Clojure
1
star
33

control-toolbox

Clojure
1
star