The OO Hello World in Golo, "... Yet another one. A simple one.", is here!
Golo is a simple and lightweight dynamic language for the JVM.
Golo is a simple and lightweight dynamic language for the JVM.
You can see the OO Hello World series post here: http://carlosqt.blogspot.com/2010/06/oo-hello-world.html where I give some details on why these "oo hello world series" samples.
Version 1 (Minimal):
The minimum you need to type to get your program compiled and running.
module blog.series function Greet = |name| -> DynamicObject(): name(name: substring(0,1): toUpperCase() + name: substring(1, name: length())): define("salute", |this| -> println("Hello " + this: name() + "!")) function main = |args| { let g = Greet("world") g: salute() }
Version 2 (Verbose):
Explicitly adding instructions and keywords that are optional to the compiler.
module blog.series local function Greet = |name| -> DynamicObject(): name(name: substring(0,1): toUpperCase() + name: substring(1, name: length())): define("salute", |this| -> println("Hello " + this: name() + "!")) function main = |args| { let g = Greet("world") g: salute() }
The Program Output:
Golo Info:
Golo is a simple, dynamic and weakly-typed language that favours explicit over implicit and that runs on the Java Virtual Machine. It also supports the latest JVM features such as invokedynamic.
Appeared:
|
2013
|
Current Version:
| |
Developed by:
|
DynaMid research project members of the CITI Laboratory
|
Creator:
|
Julien Ponge
|
Influenced by:
|
Java (James Gosling)
|
Predecessor Language
|
N/A
|
Predecessor Appeared
|
N/A
|
Predecessor Creator
|
N/A
|
Runtime Target:
|
JVM
|
Latest Framework Target:
|
JDK 7
|
Mono Target:
|
No
|
Allows Unmanaged Code:
|
No
|
Source Code Extension:
|
“.golo”
|
Keywords:
|
33
|
Case Sensitive:
|
Yes
|
Free Version Available:
|
Yes
|
Open Source:
|
Yes
|
Standard:
|
N/A
|
Latest IDE Support:
|
|
Language Reference:
| |
Extra Info:
|