[plt-scheme] New language plugin: sPico

From: Kim Gybels (ryu at igwe.vub.ac.be)
Date: Thu Nov 18 03:11:28 EST 2004

Hi,

We are trying to create a plugin for a language called pico.
This actually already works, but we are trying to get rid
of a strange error that we always get when we read-eval-print
anything. (the program has its own read-eval-print-loop)

The thing we get is the following:

> 5
5
eval-syntax: expects argument of type <syntax>; given 

Or program does this:
(redefinition of both front-ends)

          (define/private (front-end input settings)
            (let ((done? #f)
                  (str
                   (if (string? input)
                       input
                       (let ([text (drscheme:language:text/pos-text input)])
                         (send text
                               get-text
                               (drscheme:language:text/pos-start input)
                               (drscheme:language:text/pos-end input))))))
              (lambda ()
                (if done?
                    eof
                    (let [(result (pico-eval str))]
                      (set! done? #t)
                      result)))))

(we want the lambda to be evaluated only once because it has its own
read-eval-print) The result is always a string-scheme-object

And another small thing: our output (which we display or write to the current
output-window) is always in a box, like the normal display in scheme.
We would like it to be displayed in normally, like normal scheme-output (the 
blue one :)) But this last thing is secondary.

Greetz & thnx

Kim & Toon

PS: You can download the source-code we use at infogroep.be/sPico
(just type make in the /usr/plt/collects/spico folder (or whatever
your path is, just extract the files to your collects path, and make
in that dir :))
Sorry that we are setup-plt-noobs :)



Posted on the users mailing list.