[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: special forms, take two (was Re: A lua version of "amb")
- From: Sam Roberts <vieuxtech@...>
- Date: Tue, 28 Feb 2012 17:08:51 -0800
On Tue, Feb 28, 2012 at 4:42 PM, Ross Bencina
<rossb-lists@audiomulch.com> wrote:
> On 28/02/2012 11:20 PM, Dirk Laurie wrote:
>>>
>>> -- sort in the wrong order
>>> > table.sort(T,|x,y|(x> y))
>>
>> Easier to write, maybe. But really easier to read than this?
>>
>> down = function(x,y) return x>y end
>> table.sort(T,down)
or:
table.sort(T, function (x,y)
return x > y
end)
This kind of function with a 3 character body "x>y" is very rare,
optimising language for it isn't sensible.
Its been pointed out before, that using strings and parsing them and
returning a function is a way of providing this
kind of terseness in an environment that requires it:
table.sort(T, lambda[[|x,y|(x> y)]])
table.sort(T, lambda"|x,y|(x> y)")
table.sort(T, L"|x,y|(x> y)")
A bit of a pain, but if you have so many uses of these tiny
expressions you are dying for a lambda, maybe not too much.
Cheers,
Sam
p.s. For what it's worth, I wish "function" was "def", and blocks
returned their last value, but so it goes.
- References:
- A lua version of "amb", Xavier Wang
- special forms, take two (was Re: A lua version of "amb"), Jay Carlson
- Re: special forms, take two (was Re: A lua version of "amb"), Fabien
- Re: special forms, take two (was Re: A lua version of "amb"), steve donovan
- Re: special forms, take two (was Re: A lua version of "amb"), Dirk Laurie
- Re: special forms, take two (was Re: A lua version of "amb"), Ross Bencina