[plt-scheme] New language plugin: sPico
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 :)