Re: [stack] Re: Barebone implementation of concatenative language in c or c++

"William Tanksley, Jr" <[email protected]> Fri, 21 May 2010 07:23:37 -0700
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
pml060912 <[email protected]> wrote:
> "William Tanksley, Jr" <wtanksleyjr@...> wrote:
>> Laziness is one of the things that can't easily be imported to a
>> concatenative language.

> Well, that depends on what you call lazy.

Actually, I don't think there's ambiguity in this context. A lazy
language is one in which the semantics for the parameters to a
function are performed only if the parameter is actually USED. This
means that you can have a function with a parameter that cannot be
evaluated completely, and the program will run if the parameter is not
actually used in the function.

> For Furphy,

http://users.beagle.com.au/peterl/furphy.html (I think -- is that your
latest work?).

> I worked out an indirection mechanism that allows you
> to produce the effect of laziness even when everything
> actually encountered is handled eagerly: the pair
> FREEZE and THAW,

That's not a lazy language, I think. Unfortunately, I'm unqualified to
judge, since I'm unable to read your examples; I have no idea where
the words TRUE_OPTION and FALSE_OPTION are defined; they just appear
there. (I vaguely recall having figured out how to read Furphy, but
I've forgotten since.)

The distinction is that in this language you have to explicitly mark
the non-evaluated parts; a truly lazy language needs no such marker.

> P.M.Lawrence.

-Wm