# Calls Before Declarations * A common call: fn1(). All calls results should be print on `--verbose`. * fn1() another common call. * fn1() * Two calls: fn1() and fn1(). * Two consecutive calls: fn1() fn1(). * A call with one arg: fn2(1). * A call with two args: fn3(2, 3). * A call with args as kwargs: fn2(n: 2) and fn3(b: 4, a: 5). # Declarations A declaration: -- fn1() 1 + 2 + 3 All declarations should be print on `--verbose`. A declaration with one arg: -- Also valid, Lua is the default: fn2(n) #n .. " " .. #n A declaration with two args: ; Changed lang and no space:fn3(a, b) -> fennel (* #a #b) A declaration with lang options: # fn4(n) -> python -E -X utf8 #n * #n A declaration with arg and scaped: -- fn5(x) #x .. "\#x" # Calls and Data Types * fn2(3); integer * fn2(1_000); integer with separator * fn4(1.0); float * fn5("str"); string * fn5(true) * fn5(false) * fn2([]); empty array / list / sequential table * fn2([0, 1]); array / list / sequential table * fn2({}); empty dict / table * fn2({"k1": 1, "k2": 2}); dict / table # Messy Calls * fn1( ) * fn2( 4) * fn2(5 ) * fn2( 6 ) * fn2( n: 7) * fn2(n: 8 ) * fn2( n: 9 ) * fn2(n:10) * fn3( a: 6, b: 7) * fn3( a: 8 , b: 9) * fn3( a: 10 , b: 11) * fn3( a: 12 , b: 13) * fn3( a: 14 , b: 15 ) * fn3(a:16,b:17)