descriptionPICOBIT : a compact Scheme system suitable for embedded systems
ownerstamourv@iro.umontreal.ca
last changeWed, 10 Feb 2010 00:33:21 +0000 (9 19:33 -0500)
content tags
add:
README
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
  box).


USAGE:

1. Install the dependencies:

  * Gambit-C: needed to run the bytecode compiler.
    See http://www.iro.umontreal.ca/~gambit/

  * 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
     make

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

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

  <TODO>


SEE ALSO:

  * S3 (Small Scheme Stack) : A Scheme TCP/IP Stack Targeting Small
    Embedded Applications
    http://www-etud.iro.umontreal.ca/~stamourv/sw08-tcp.pdf

  * Slides from the presentation given at the 2008 Workshop on Scheme
    and Functional Programming
    http://www-etud.iro.umontreal.ca/~stamourv/s3.pdf

 and maybe you find the papers about the BIT and PICBIT systems
 interesting, which have been written before PICOBIT and share some
 common concepts:

    http://w3.ift.ulaval.ca/~dadub100/
shortlog
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.
...
heads
6 years ago master
forks
Cached version (1968s old)
picobit/chj.git Christian J.'s changes pflanze@gmx.ch 7 years ago