diff options
Diffstat (limited to 'doc/0_04_hello_world.adoc')
-rw-r--r-- | doc/0_04_hello_world.adoc | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/0_04_hello_world.adoc b/doc/0_04_hello_world.adoc new file mode 100644 index 00000000..4f9bea29 --- /dev/null +++ b/doc/0_04_hello_world.adoc @@ -0,0 +1,59 @@ +Hello world +=========== + +The obligatory 'hello world' program: + +[source,chapel] +.hello_world.lm +---- +print "hello world" "\n" +---- + +We run it with: + +[source,bash] +---- +/opt/colm/bin/colm hello_world.lm +---- + +This creates a executable chmod+x file with the same name: + + +[source,bash] +---- +ls -l hello_world +---- + + -rwxr-xr-x 1 peter peter 29848 Nov 2 10:06 /tmp/hello_world + +When we execute it: + + ./hello_world + +We'll see: + + hello world + +We can strip the file to check if we can reduce the executable. +[source,bash] +---- +strip ./hello_world +ls -l hello_words +---- + + -rwxr-xr-x 1 peter peter 10360 Nov 2 10:10 /tmp/hello_world + +== Deja-vu: python2-python3 +TIP: It turns out that print is also a function that can have multiple arguments. + +[source,chapel] +.hello_world_ext.lm] +---- +print( 'hello ', "world" "\r\n" ) +---- + +We also notice that: +* the quotes can be single and double +* there is no need for a concat operator +* the whitespace is not significant +* the newlines '\n' appear to be '\r\n' |