[racket] Some questions regarding exercises in PLAI
Hi Ionut,
In this section PLAI is asking you to write more of a meta-interpreter
where you use the thunks of the language you are writing the
interpreter in.
Jay
On Mon, Aug 30, 2010 at 2:23 AM, Ionut G. Stan <ionut.g.stan at gmail.com> wrote:
> Hi,
>
> I'm pretty sure this is not the best mailing list to ask about PLAI, but as
> I've found no other I decided to try here (I've found about PLAI on the
> original DrScheme mailing list, and racket-lang.org seems to mention PLAI in
> the "Learning" section). I won't mind if I don't get an answer to my
> question though. Maybe there's a dedicated mailing list?
>
> So, here's my problem, just in case :)
>
> I'm stuck understanding what a certain exercise is asking me. I'm talking
> about exercise 8.2.1 from chapter 8, Implementing Laziness.
>
> The exercise asks to implement laziness without using expression closures,
> but using thunks instead. Thunks being just like closure, except they don't
> have arguments bound to them. What I don't understand is the fact that this
> is the way I've implemented expression closures. They're just like closures,
> except for the argument part. So, from my point of view, is just a matter of
> renaming my algebraic data types.
>
> I'm using Haskell to implement all the languages discussed in the book, and
> my ADT for CFAE/L-Value looks like this:
>
> data CFAELValue
> = NumberValue Int
> | Closure String CFAEL Environment
> | Expression CFAEL Environment
> deriving (Eq, Show)
>
> So, Expression is the constructor for expression closures, and the only
> difference when compared to Closure is the String argument.
>
> Is anyone willing to shed some light on what the exercise does actually
> require me to do?
>
> Just for completeness, I've put the Haskell sources for all the languages up
> to chapter 8 on Github: http://github.com/igstan/plai-haskell. CFAE-L.hs is
> the one used for chapter 8.
>
> Thanks.
>
> --
> Ionuț G. Stan | http://igstan.ro
> _________________________________________________
> For list-related administrative tasks:
> http://lists.racket-lang.org/listinfo/users
--
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://teammccarthy.org/jay
"The glory of God is Intelligence" - D&C 93