gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Pika Scheme project announcement


From: Tom Lord
Subject: [Gnu-arch-users] Pika Scheme project announcement
Date: Wed, 19 Nov 2003 20:07:23 -0800 (PST)



                            What is Pika?


  +----------------------------------------------------------------+
  |                                                                |
  |                                                                |
  | Project Plan and design notes available at either of these     |
  | two mirrors:                                                   |
  |                                                                |
  |    http://regexps.srparish.net/src/pika/                       |
  |    http://arch.quackerhead.com/releases/pika                   |
  |                                                                |
  |                                                                |
  |                                                                |
  +----------------------------------------------------------------+


* The Goal

  The primary objective of this project is to build an implementation of
  Scheme which:

    * can run as an interpreter
    * is written in relatively portable C
    * has good performance running interpreted code
    * is easily extended by writing new primitive functions in C
    * is easily targeted by a Scheme->C compiler
    * has a precise garbage collector
    * can have an incremental garbage collector
    * implements R5RS precisely
    * has a small-source-code and small-footprint core
    * supports multiple instances in a single process
    * has a firmly abstract interface to the representation of Scheme types
    * can run multi-threaded programs
    * has first-class environments
    * has a low start-up time
    * has a complete set of features for Posix systems programming
    * has a richy featureful string and buffer type, including
      superlative Unicode support

  I make no argument that {INSERT YOUR FAVORITE SCHEME IMPLEMENTATION
  HERE} doesn't already satisfy all or most of those requirements.  I
  almost certainly respectfully disagree -- but I'm not interested in
  arguing.  I agree that there are several quite virtuous
  implementations and will presume that your favorite is likely to be
  one of them.

  The approach that I'm taking with Pika is to define an abstract
  virtual machine which "puns" well as several different things.  The
  VM should be:

    * suitable for direct interpretation, as by a bytecode engine

    * an easy target for a simplistic Scheme compiler

    * a useful intermediate target for a native or ->C Scheme
      compiler

    * suitable for a static code safety verifier, similar to Java's

    * a useful intermediate target for a native JIT compiler



* What's Here?

  * "./implementation-plan"

  The directory "implementation-plan" contains the initial (technical)
  plan for the project.



  * "./spec"

  The directory "spec" contains an early draft of a specification for
  "Pika Scheme" -- the Scheme dialect I plan to implement.


  * "./unfinished-code"

  The directory "unfinished code" contains just that.   This is code
  that I wrote while making plans about how to make the plan for Pika.
  With some heavy editting anticipated, I expect this code to morph
  into parts of the initial Pika implementation.


  * "./hackerlab"

  The low-level C library on which the run-time system will be based.



* How to Get Involved

  If you believe that you're competent to help specify and/or implement
  a Scheme dialect and VM, and would like to help in that regard, 
  please sign up for the pika-dev mailing list:

        http://mail.nongnu.org/mailman/listinfo/pika-dev

  and let's take it from there.


  Also:  I am living these days as a "free software Internet busker"
  which means that I write free software, and then from time to time
  "pass the hat" to collect some money to get by on.

  You can read about my other projects (the arch revision control
  system, the hackerlab C library, and the package-framework
  configure/build framework) _and_ find my glorious "paypal link" at
  either of these mirrors:

        http://regexps.srparish.net/www/
        http://arch.quackerhead.com/~lord/

  Thank you for your support.


-t

  +----------------------------------------------------------------+
  |                                                                |
  |                                                                |
  | Project Plan and design notes available at either of these     |
  | two mirrors:                                                   |
  |                                                                |
  |    http://regexps.srparish.net/src/pika/                       |
  |    http://arch.quackerhead.com/releases/pika                   |
  |                                                                |
  |                                                                |
  |                                                                |
  +----------------------------------------------------------------+





reply via email to

[Prev in Thread] Current Thread [Next in Thread]