descriptionPICOBIT : a compact Scheme system suitable for embedded systems
last changeWed, 10 Feb 2010 00:33:21 +0000 (9 19:33 -0500)
content tags
This is a very small Scheme system designed to run on small
microcontrollers, currently the PIC microcontroller.

It consists of

* a bytecode compiler which compiles Scheme source code to bytecode.
  The bytecode compiler is run using the Gambit-C Scheme system,
  usually on a PC/workstation.

* a bytecode interpreter which can be either compiled to run on a
  microcontroller, or to be run on some common operating systems, at
  least GNU/Linux (Windows support hasn't been tested in a while,
  though, and especially the networking part might not work out of the


1. Install the dependencies:

  * Gambit-C: needed to run the bytecode compiler.

  * libpcap: optional, to test networking on PC's (GNU/Linux)
    Be sure to also install the package containing the headers
    (libpcap-dev or similar).
    (TODO: add to makefile somehow)

2a. Targetting a PC/workstation for testing:

  * Build the VM: run

  * Compile and run a Scheme program: run
     ./p schemefile

2b. Compile and run a Scheme program on PIC:



  * S3 (Small Scheme Stack) : A Scheme TCP/IP Stack Targeting Small
    Embedded Applications

  * Slides from the presentation given at the 2008 Workshop on Scheme
    and Functional Programming

 and maybe you find the papers about the BIT and PICBIT systems
 interesting, which have been written before PICOBIT and share some
 common concepts:
2010-02-10 Vincent St... Removed code that dealt with ROM closure, since these... master
2010-02-10 Vincent St... Since we don't use closures as pairs in the stack anymo...
2010-01-10 Vincent St... Closures no longer appear in the environment, and can...
2009-10-23 Vincent St... Changed the name of some primitives in picobit-vm.h...
2009-10-09 Vincent St... Changed the name of the * primitive to mul-non-neg.
2009-10-09 Vincent St... Moved neg into the standard library.
2009-10-08 Vincent St... Fixed a typo.
2009-10-08 Vincent St... Cleaned dispatch a bit.
2009-10-08 Vincent St... Moved vector copy to the library instead of the VM.
2009-10-08 Vincent St... Fixed a warning in debug.c.
2009-09-03 Vincent St... Reworked the branch instructions of the VM, and changed...
2009-09-03 Vincent St... New version of the assembler, that generates better...
2009-08-19 Vincent St... A couple of fixes for numerical operations without...
2009-07-25 Vincent St... Restructured the argument counting code.
2009-07-25 Vincent St... Since picobit-vm.h can now contain code (with LESS_MACR...
2009-07-25 Vincent St... Fixed a bug related to this option.
6 years ago master
Cached version (5003s old)
picobit/chj.git Christian J.'s changes 7 years ago