On 27/06/2009, at 7:51 AM, Erick Tryzelaar wrote:
> On Fri, Jun 26, 2009 at 2:17 PM, Raoul Duke<[email protected]> wrote:
>> i know the question has come up before, and the crystal-8-ball's
>> response has been weighted towards "not likely". but i can't help
>> asking again in case something about the situation has changed. :-)
>
> Hi Raoul!
>
> I'm actually working on one :) It's going to take a while though since
> it requires a lot of restructuring of the compiler pipeline. There is
> currently a extremely prototype interactive parser called flxc that
> will compile to bin/flxc that you can try out. I'm usually in #felix
> on freenode.net if you've got any questions.
There are a number of design features in Felix which make a
sequential interpreter problematic. This is currently illegal:
var x = 1;
var x = 2;
but that could probably be "fixed" to prefer the second definition.
For functions this isn't possible:
fun f(x:int)=>x+1;
fun f(x:int)=>x+2;
because of overloading. It's too hard to know if the second function
is an overload or a replacement.
Felix also allows you to define things which depend on something
not defined yet: lookup is "over the whole scope" like C labels,
rather than sequential. REPL is intrinsically sequential idiom.
A more "Felix friendly" interactive concept would be "skeletons":
fun f(x:int):int deferred;
where a set of things are declared but not defined. Then you can
fill in the definitions later as required. Equivalently, you could
modify any definition and re-run. But you'd still be dealing with
a set of "soup" of definitions, not a sequence.. and you can do
this REPL now where the unit of processing is a whole fine
instead of a line, but the conventional EDIT-COMPILE-RUN-EDIT
loop:
vim xx.flx &
flx xx # run
# (edit)
flx xx # run
...
or even better inside the IDE of most text editors.
Yes, I use Python as a REP a lot. And Ocaml occasionally.
--
john skaller
[email protected]
------------------------------------------------------------------------------
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language