since we are comparing go and ocaml, why did they not add more functional programming support in go? It would at a lot of expressiveness to the language. Just wondering.
Call me crazy but it seems like Go is really just a munging-together of C and Limbo with a bunch of ideas from Python, and literally every feature that "supports functional programming" is only there as a result of being in Python. And obviously Python is not really designed to be a functional language....
If you think Python was a significant influence in Go's design you probably have not worked with much with Go or its ancestors.
Yes, Go is not a 'purely functional' language, or 'purely' anything, Go is a pragmatic language following from a very long tradition mostly at Bell Labs.
> If you think Python was a significant influence in Go's design you probably have not worked with much with Go or its ancestors.
You're correct. I haven't used Go particularly much and I've only heard third-party descriptions of Limbo et al. Regardless, a number of the semantic and syntactic differences between Limbo and Go strike me as Python-influenced (obviously not goroutines or the defer statement) but if you have evidence to the contrary I'd love to see it.
> Yes, Go is not a 'purely functional' language, or 'purely' anything
Whoa buddy. That's not what I meant at all. There's no technical value in being able to say your language "purely" implements some programming style or other. Now, it would be nice if higher-order functions became a little easier to work with in Go; it is also unlikely that this will happen, because that's not one of the design goals. I can't fault them for that, but is there really any harm in pointing out a true fact such as this one?
And anyway, a "purely functional" language is just one where there's no built-in support for mutable state. Obviously this does not describe either Go or OCaml.
gevent has an wsgi module, but it is very low level. I am still looking for a clean/nice way of doing it in python.