All Projects → nakkaya → Ferret

nakkaya / Ferret

Licence: bsd-2-clause
Ferret is a free software lisp implementation for real time embedded control systems.

Programming Languages

clojure
4091 projects
lisp
113 projects

Projects that are alternatives of or similar to Ferret

Rf1101se Teensy
Driving one of those cheap RF1101SE boards with a Arduino or Teensy
Stars: ✭ 45 (-94.87%)
Mutual labels:  arduino, microcontroller, teensy
Cortex M Quickstart
Template to develop bare metal applications for Cortex-M microcontrollers
Stars: ✭ 372 (-57.63%)
Mutual labels:  bare-metal, arm, microcontroller
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+932.8%)
Mutual labels:  arduino, arm, microcontroller
Iotz
compile things easy 🚀
Stars: ✭ 39 (-95.56%)
Mutual labels:  compiler, arduino, arm
Cortex M Rtic
Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
Stars: ✭ 623 (-29.04%)
Mutual labels:  bare-metal, arm, microcontroller
Embedded UKF Library
A compact Unscented Kalman Filter (UKF) library for Teensy4/Arduino system (or any real time embedded system in general)
Stars: ✭ 31 (-96.47%)
Mutual labels:  microcontroller, teensy, embedded-systems
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+530.87%)
Mutual labels:  arduino, arm, microcontroller
Gnu Eprog
Embedded Programming with the GNU Toolchain
Stars: ✭ 230 (-73.8%)
Mutual labels:  bare-metal, arm, embedded-systems
Mylinux
myLinux is a small UNIX like OS for embedded systems based on Westermo NetBox
Stars: ✭ 53 (-93.96%)
Mutual labels:  makefile, arm, embedded-systems
Openfpgaduino
All open source file and project for OpenFPGAduino project
Stars: ✭ 137 (-84.4%)
Mutual labels:  makefile, arduino, arm
mdepx
MDEPX — A BSD-style RTOS
Stars: ✭ 17 (-98.06%)
Mutual labels:  arm, microcontroller, bare-metal
Control Surface
Arduino library for creating MIDI controllers and other MIDI devices.
Stars: ✭ 377 (-57.06%)
Mutual labels:  arduino, teensy
Mightycore
Arduino hardware package for ATmega1284, ATmega644, ATmega324, ATmega324PB, ATmega164, ATmega32, ATmega16 and ATmega8535
Stars: ✭ 413 (-52.96%)
Mutual labels:  arduino, microcontroller
Dynarmic
An ARM dynamic recompiler.
Stars: ✭ 475 (-45.9%)
Mutual labels:  compiler, arm
Bare Arduino Project
Start your Arduino projects right out of the box
Stars: ✭ 505 (-42.48%)
Mutual labels:  makefile, arduino
Cortex M
Low level access to Cortex-M processors
Stars: ✭ 379 (-56.83%)
Mutual labels:  arm, microcontroller
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (-45.9%)
Mutual labels:  arduino, microcontroller
Renode
Renode - Antmicro's virtual development framework for complex embedded systems
Stars: ✭ 525 (-40.21%)
Mutual labels:  arm, embedded-systems
Minicore
Arduino hardware package for ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 and ATmega328PB
Stars: ✭ 546 (-37.81%)
Mutual labels:  arduino, microcontroller
Guislice
GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
Stars: ✭ 534 (-39.18%)
Mutual labels:  arduino, teensy

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].