Live data from Hacker News

Golo – a lightweight dynamic language for the JVM

golo-lang.org

1–4 of 4 posts

Re: Golo – a lightweight dynamic language for the JVM

#2
I understand that there was a specific intention in using the term lightweight, but the proper term would have been small. This is a small language, but it is most certainly not lightweight. There really isn't such thing as a "lightweight language for the JVM" and that isn't the fault of the language, but rather the JVM. Lua, for example, is a lightweight language.

Re: Golo – a lightweight dynamic language for the JVM

#3
Interesting language. The comprehensions are a neat feature and similar to Python in syntax. No support for ternary or assignment operators. The lambda syntax is not very intuitive if you have no arguments and more than one statement to execute.

  let e1 = {
    return "e1 called!"
  }

  let e2 = -> {
    return "e2 called!"
  }
e1() has expected behavior but e2() does not and e2()() has expected behavior. Not sure why?

Re: Golo – a lightweight dynamic language for the JVM

#4
post #3

Interesting language. The comprehensions are a neat feature and similar to Python in syntax. No support for ternary or assignment operators. The lambda syntax is not very intuitive if you have no arguments and more than one statement to execute. let e1 = { return "e1 called!" } let e2 = -> { return "e2 called!" } e1() has expected behavior but e2() does not and e2()() has expected behavior. Not sure why?

Just from looking at your example here, and not looking at the docs, I'd say that `{x}` and `-> x` both return a function which evaluates `x` and returns the result; so `-> {x}` is equivalent to `{{x}}`, i.e. it returns a function which returns a function which returns `x`.