dorkhub

ferret

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

nakkaya
Makefile1.1k47 forksBSD-2-Clauseupdated 3 years ago
visit the demogit clone https://github.com/nakkaya/ferret.gitnakkaya/ferret

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 like this

AutomationShield

Arduino library and MATLAB/Simulink API for the AutomationShield Arduino expansion boards for control engineering educa…

C51

yaos

An embedded operating system for ARM Cortex-M based microcontrollers

C51

search

search projects, people, and tags