>>4
If by "libraries" you mean "socks and sandals at the same time," then yes.
Name:
Altruist2011-03-14 6:36
seriously, just use racket !!! ruby is japanese !
also: planet racket has all the libraries you want
it's THE BEST
Name:
Anonymous2011-03-14 6:43
>>6
Planet Racket is an unmaintained mess of obsolete or half-finished random hacks. If you want to suggest a scheme library archive, at least use Chicken's Eggs for that.
>>4
I don't know about you, but I never had any trouble finding lisp libraries. I was able to find multiple implementations of just about everything I needed. I can't say that all the libraries are well maintained (popular ones are), but if you're hacking lisp, you might as well do some maintenance on the code if you need it.
Name:
Anonymous2011-03-14 7:21
>>1
Does it have nice, concise syntax for partial application? No.
Does it have functions as first class citizens? No.
Do you have to wrap any code you might want to pass to a function in a lambda expression? Yes.
Does it have the ugliest implementation of lambda expressions I have ever seen in any language? Hell yes.
Does it have a nice multiple dispatch object system? No.
Does it have a nice community? No.
Is it slow as fuck? ...
>>9 Does it have the ugliest implementation of lambda expressions I have ever seen in any language? Hell yes.
No, that's Python.
Name:
Anonymous2011-03-14 8:06
>>11
What's so bad about FIOC lambdas? Sure, they can only be one expression but you can always just define a normal function and pass that. Something you couldn't do in ruby.
The only way you can assign a function to a variable in ruby is with a proc/lambda and then you have to call it like
foo[x] or foo.call(x)
as opposed to the
foo(x) or foo x
of a normal function or the
yield x
of blocks. WTF
>>1
Ruby is no better than Haskell. It has similiarly awful syntax and a messy type-system. In an "acceptable Lisp" everything should be a list. Check REFAL, which much more acceptable, than Ruby.
Name:
Anonymous2011-03-14 10:10
In Ruby, due to its handling of === equality, the statement can be used to test for variable’s class:
case input
when Array: puts 'input is an Array!'
when Hash: puts 'input is a Hash!'
end
Name:
Anonymous2011-03-14 10:12
Ruby also returns a value that can be assigned to a variable, and doesn’t actually require the case to have any parameters (acting a bit like an else if statement):
catfood = case
when cat.age <= 1: junior
when cat.age > 10: senior
else normal
end
Name:
Anonymous2011-03-14 10:15
>>22
input.{array? -> say "input is an Array!"
;hash? -> say "input is a Hash!"}