To view parent comment, click here.
To read all comments associated with this story, please click here.
Nice code, even though it does look really alien to me.
It's a pity you didn't open your comments with that example as it demonstrates your point well.
For now, I'm really enjoying Go, so I'm going to keep at it. Particularly as its the first time in ages that I've felt inspired to code rather than just coding to get paid. But it's always good to see how other languages handle things.
That definition doesn't do what your Go example does. That example also requires a parameter which the Go example does not.
A similar Go function would be:
func fib(i int) int {
if i <= 1 {
return i
} else {
return fib(i-2) + fib(i-1)
}
}
That said, IMHO, the most readable Fibonacci function is Haskell's:
fib 0 = 0
fib 1 = 1
fib n = fib (n-2) + fib (n-1)
Though an encoding similar to what you provided is also possible:
fib n = if i <= 1 then i else fib (n-2) + fib (n-1)
Not as terse, but that's simply the lack of ?:, but a simple replacement would make Haskell more terse than your Vala example:
fib n = (n <= 1) ? i : fib (n-2) + fib (n-1)





Member since:
2007-03-26
How would that function look in D and Vala (I know of those languages, but that's where my experience on them ends )?
Pascal was an awesome language . It's a real pity it died out as much as it did.