This might cause issues with encoding of the source code - I believe
it is unspoken agreement that programming languages use 7 bit ASCII as
least common denominator for encoding of keywords and control
structures. And the reason is that with that convention you have the
biggest chance of being robust against encoding differences (e.g. IIRC
7 bit ASCII is a subset even of UTF-8 and of course all the ISO 8859
encodings). There might even be systems that do not support an
encoding which knows the greek lambda. This would limit portability
of source code.
Maybe this is a topic for ruby-core (cross posted there).
Kind regards
robert
···
2010/5/28 Paul A. <cyril.staff@gmail.com>:
Just a thin post in order to purpose this:
I think it could be cool to call lambda function just like: λ
I think it could be cool to call lambda function just like: λ
Such as:
a = 0
my_while λ { a < 5 } do
puts a
a += 1
end
Honestly, why is this better than:
a=0
while a<5 do
puts a
a+=1
end
This way is so much less noisy and more succinct. You could even leave
off the do.
lambdas should not be used to replace arbitrary expressions. Only
where you need them.
I think λ is more human then ->
Idunno. It's just some (fairly arbitrary) greek letter. I find the
arrow a little more evocative myself.
Putting Robert's doubts about encoding issues aside, you can already
do this in both 1.8 and 1.9:
#encoding: utf-8
alias λ lambda
x=λ{ p :foo }
x.call #=> :foo
In 1.8, you do have to pass -Ku on the command line, tho.
I am with Piyush on the question of how you type these things, tho. My
keyboard only has ascii on it. I'm putting off adopting unicode until
a unicode keyboard is available.
···
On 5/27/10, Paul A. <cyril.staff@gmail.com> wrote:
okay I have seen this in clojure also. sigma and likes. Can you please tell
me how to type it ?
Piyush
···
2010/5/28 Robert Klemme <shortcutter@googlemail.com>
2010/5/28 Paul A. <cyril.staff@gmail.com>:
> Just a thin post in order to purpose this:
>
> I think it could be cool to call lambda function just like: λ
>
> Such as:
>
> a = 0
> my_while λ { a < 5 } do
> puts a
> a += 1
> end
>
> I think λ is more human then ->
This might cause issues with encoding of the source code - I believe
it is unspoken agreement that programming languages use 7 bit ASCII as
least common denominator for encoding of keywords and control
structures. And the reason is that with that convention you have the
biggest chance of being robust against encoding differences (e.g. IIRC
7 bit ASCII is a subset even of UTF-8 and of course all the ISO 8859
encodings). There might even be systems that do not support an
encoding which knows the greek lambda. This would limit portability
of source code.
Maybe this is a topic for ruby-core (cross posted there).
I think it could be cool to call lambda function just like: λ
Such as:
a = 0
my_while λ { a < 5 } do
puts a
a += 1
end
Honestly, why is this better than:
a=0
while a<5 do
puts a
a+=1
end
or even
5.times do |a|
puts a
end
or even
puts (0...5).to_a
This way is so much less noisy and more succinct. You could even leave
off the do.
lambdas should not be used to replace arbitrary expressions. Only
where you need them.
Yep, fully agree.
Putting Robert's doubts about encoding issues aside, you can already
do this in both 1.8 and 1.9:
#encoding: utf-8
alias λ lambda
x=λ{ p :foo }
x.call #=> :foo
In 1.8, you do have to pass -Ku on the command line, tho.
This is cool! Thanks for that.
I am with Piyush on the question of how you type these things, tho. My
keyboard only has ascii on it. I'm putting off adopting unicode until
a unicode keyboard is available.
You'll need a new desk then, too - and probably a set of arm extensions.
Cheers
robert
···
2010/5/28 Caleb Clausen <vikkous@gmail.com>:
On 5/27/10, Paul A. <cyril.staff@gmail.com> wrote:
I meant it as mostly a joke, but I really do want a unicode keyboard
if one could possibly exist.
I'd be satisfied if my unicode keyboard left off chinese, japanese,
korean, and vietnamese glyphs, since I'm very unlikely to use those.
That should reduce the size of the keyboard by about 3/4. I'd still
need several new desks, tho. :-/
···
On 5/28/10, Robert Klemme <shortcutter@googlemail.com> wrote:
2010/5/28 Caleb Clausen <vikkous@gmail.com>:
I am with Piyush on the question of how you type these things, tho. My
keyboard only has ascii on it. I'm putting off adopting unicode until
a unicode keyboard is available.
You'll need a new desk then, too - and probably a set of arm extensions.
But this is even farther from the original point, which is why not have a more compact notation for when you need to pass more than one block to a method.
I think an optimus maximus keyboard would be what you want. Set the 10
keys on the left as modifiers to switch between different langauges.
--Ken
···
On Fri, 28 May 2010 23:25:17 +0900, Caleb Clausen wrote:
On 5/28/10, Robert Klemme <shortcutter@googlemail.com> wrote:
2010/5/28 Caleb Clausen <vikkous@gmail.com>:
I am with Piyush on the question of how you type these things, tho. My
keyboard only has ascii on it. I'm putting off adopting unicode until
a unicode keyboard is available.
You'll need a new desk then, too - and probably a set of arm
extensions.
I meant it as mostly a joke, but I really do want a unicode keyboard if
one could possibly exist.
I'd be satisfied if my unicode keyboard left off chinese, japanese,
korean, and vietnamese glyphs, since I'm very unlikely to use those.
That should reduce the size of the keyboard by about 3/4. I'd still need
several new desks, tho. :-/
--
Chanoch (Ken) Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology. http://www.iit.edu/~kbloom1/