List Info

Thread: Re: Io on .NET?




Re: Io lite
country flaguser name
United States
2008-03-17 17:09:54


On 2008-03-17, at 1:37 PM, Jeremy Tregunna wrote:
> Not to be pedantic here, but messages are eagerly evaluated in Io even
>; if their contents are not evaluated. What Io has better described as
> deferred evaluation, though not 100% accurate either. But lazy has a
> whole other meaning.

Right, there's just no better common term and I assumed that folks
here would know from the context what we're talking about. I like
"deferred evaluation" though - will try to use that in the future,
though I'm sure someone will take issue with it as well.

- Steve

__._,_.___
.

__,_._,___
Re: Io lite
country flaguser name
United States
2008-03-17 17:20:20

On Mon, Mar 17, 2008 at 3:09 PM, Steve Dekorte < steve%40dekorte.com">stevedekorte.com> wrote:
&gt;
> On 2008-03-17, at 1:37 PM, Jeremy Tregunna wrote:
&gt; > Not to be pedantic here, but messages are eagerly evaluated in Io even
>;
> Right, there's just no better common term and I assumed that folks

Indeed; if one really wants to be pedantic, Haskell is equally NOT a
lazily evaluated language, since every instance of a lazy expression
has a corresponding thunk object, eagerly evaluated by the compiler,
and instantiated at run-time, as appropriate.

There comes a point when something is lazy, because it's lazy _to the
user_. It's interesting that I've seen three names for "deferred
execution" (1), call-by-name, and lazy evaluation, all of which rely
on the exact same runtime concepts (a thunk which needs to be forced
if, and only if, necessary). Why are folks getting their panties in a
bunch over this?

--
Samuel A. Falvo II

__._,_.___
.

__,_._,___
Re: Io lite
country flaguser name
United States
2008-03-17 17:34:49

On Mar 17, 2008, at 4:37 PM, Jeremy Tregunna wrote:
> On 17-Mar-08, at 4:31 PM, Steve Dekorte wrote:
> On 2008-03-17, at 10:45 AM, Harold Hausman wrote:
>;>> The result would be a language that had Io's simple syntax and
>&gt;> consistent, pure OO semantics and prototype based object model...
&gt;>
>;> That also runs anywhere Lua runs. (!)
>&gt;
>> My opinion:
&gt;> I am personally very attracted to Io's lazy argument evaluation, I
>> would like to see this preserved in the Lua implementation. To me,
>&gt; this means preserving the call object inside of methods/blocks, and
>&gt; the ability to choose when (and how) the argument messages are
>&gt; evaluated. It seems this functionality would be difficult to build in
>>; without basically reimplementing the Io interpreter/runtime in Lua.
>&gt; But, it sounds like you've got something else in mind. (?)
>
&gt;
> Right, the idea of Io lite is to give up lazy eval and Io's higher
>; level block semantics in exchange for good performance.

Not to be pedantic here, but messages are eagerly evaluated in Io even 
if their contents are not evaluated. What Io has better described as 
deferred evaluation, though not 100% accurate either. But lazy has a 
whole other meaning.

I would say that I consider the arguments (as values) lazy but the terms eager.  I guess that could be called&nbsp;deferred, though I'm not sure it is worth defining a new term.  The fact that arguments aren't evaluated as part of function invocation makes them lazy enough for me.

Brian.

__._,_.___
.

__,_._,___
[1-10] [11-13]

about | contact  Other archives ( Real Estate discussion Medical topics )