[comments in square brackets] [preprocessor directives] #INCLUDE 'math.halk'; [looks for a 'math.halk' file in the cwd, then ~/halk/include] #INCLUDE 'io' AS ''; [bring everything in 'io' into global scope] let.hello -> 'hello, '; [variables must be given a value at declaration] let.PI => math:PI; [namespaces are accessed with a ':''] [constants are denoted with a '=>'] fn.greeting,to -> { [functions defined with: `fn.,,..., -> {};`] let.message -> strcat.hello,to; [functions are right-associative] stdo.message; [since 'io' was brought into global scope, we do not prefix it with a namespace/] }; fn.sum_all,_ -> { [variadic functions are possible with the reserved '_' argument, which is treated as an array] return.foldl.sum,0,_; }; fn.fibonacci,n -> { if.or.(=.n, 0), (=.n, 1) -> { [functions ending in '?' should be predicates] return.1; }; return.sum. (fibonacci. sub.n, 1), (fibonacci. sub.n, 2); }; fn.main -> { [where our code will begin executing] greeting.[comments can be placed *anywhere*]"world."; exit.0; [exit with code 0 for success] };