[Top][All Lists]

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

Re: [epsilon-devel] Questions

From: amz3
Subject: Re: [epsilon-devel] Questions
Date: Mon, 30 Dec 2013 04:39:43 +0100
User-agent: Roundcube Webmail/0.9.5

I need answer right now because I would like to have the answers tomorrow when I will wake up (probably very late), anyway feel free to answer when you want.

On 2013-12-30 02:46, Luca Saiu wrote:
On 2013-12-29 at 21:54, address@hidden wrote:

2) How are defined procedures in e0?

There's no way, by design. (this is explained in chapter 3 of my thesis,
near the beginning; that part should be very easy to read.)

In theory you could use buffer:set! from epsilon0 expression to alter a
symbol component, thus building globals and procedures.  But this
"surgical" technique of defining global objects would be a masochistic
exercise: for a procedure you'd have to build a list of symbols to
represent the formal parameters, an epsilon0 expression as a data
structure to represent the body, and write those into the correct fields
of the symbol naming the procedure.

e1:define is a friendly macro which permits you to automatically use
macros and transforms: it builds the corresponding data structures
including the epsilon0 expression from the s-expression you provide, and
then does that buffer:set! call for you.

I don't see buffer:set! in epsilon0-in-scheme.scm but it's defined in core.e

5) There is no e0:define procedure? Why?

Because epsilon0 must be as simple as possible, and it doesn't need it.
adding toplevel forms would be overkill because expressions alone are
already powerful enough to modify any part of the global state,
including globals and procedure definitions.

Through which procedure is it possible to modify the global state in epsilon0?

Of course epsilon0 is not
comfortable for humans to use, but that's why we have extensions.


Bootstrapping the first time was indeed very complicated, as you are
thinking; but your project doesn't have to be: you can just use an
unexeced image.  At least, I'd do that.

Ok, I will do that.

reply via email to

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