For details, see std.arg source code and ` arc --bind-doc "std/*" ' and examples in doc/Argile.txt . 1. Basic types -------------- :nothing: :any: :anything: :type: :word: :int: :nat: :real: :text: :syntax: :code: 2. Using other files -------------------- :use [{|}, ...] {|} (exporting [ , ...] ): Example: use std, array, list, hash, regex use "foo/bar.arg" exporting :my type: Ctype "char" :my type: "[42]" 3. Basic variable definitions ----------------------------- :let ((the) ) {|} ({=|be} ): will define a global variable if used in global scope, or a local one otherwise. Examples: let int x let the real PI be 3.1415926 let :some string: = "some text here." let any_value 4. Basic function definitions ----------------------------- : .. (-> ) : will define a function (either global or local depending on scope), and will also define local variables in body for each parameter. Example: .: f :. -> real { -0.5 * ( (cos(2.0*M_PI*x/360.0)) - 1.0 ) }