2018-03-02 07:44:13 +00:00
|
|
|
# HCL - Hybrid Command Language
|
|
|
|
|
|
|
|
## Language Syntax
|
|
|
|
|
2018-03-17 07:31:24 +00:00
|
|
|
A HCL program is composed of more expressions.
|
2018-03-02 07:44:13 +00:00
|
|
|
|
2018-04-06 08:33:25 +00:00
|
|
|
## Keywords
|
2018-04-06 15:29:34 +00:00
|
|
|
* nil
|
|
|
|
* true
|
|
|
|
* false
|
2018-03-02 07:44:13 +00:00
|
|
|
|
|
|
|
## Special Form Expression
|
2018-03-03 17:16:41 +00:00
|
|
|
* and
|
2018-03-02 07:44:13 +00:00
|
|
|
* break
|
|
|
|
* defun
|
|
|
|
* do
|
|
|
|
* elif
|
|
|
|
* else
|
|
|
|
* if
|
|
|
|
* lambda
|
2018-03-03 17:16:41 +00:00
|
|
|
* or
|
2018-03-02 07:44:13 +00:00
|
|
|
* return
|
|
|
|
* set
|
|
|
|
* until
|
|
|
|
* while
|
|
|
|
|
|
|
|
|
2018-04-06 08:33:25 +00:00
|
|
|
## literals
|
2018-03-17 07:31:24 +00:00
|
|
|
* integer
|
|
|
|
* character
|
|
|
|
* small pointer
|
|
|
|
* error
|
|
|
|
* string
|
|
|
|
* dictionary
|
|
|
|
* array
|
|
|
|
* byte array
|
|
|
|
|
|
|
|
## Builtin functions
|
|
|
|
|
2018-04-06 15:29:34 +00:00
|
|
|
* not
|
|
|
|
* _and
|
|
|
|
* _or
|
2018-03-17 07:31:24 +00:00
|
|
|
* eqv?
|
2018-04-06 15:29:34 +00:00
|
|
|
* eql?
|
2018-03-17 07:31:24 +00:00
|
|
|
* eqk?
|
2018-04-06 15:29:34 +00:00
|
|
|
* nqv?
|
|
|
|
* nql?
|
|
|
|
* nqk?
|
|
|
|
* sprintf
|
2018-03-17 07:31:24 +00:00
|
|
|
* printf
|
2018-04-06 15:29:34 +00:00
|
|
|
* +
|
|
|
|
* -
|
|
|
|
* *
|
|
|
|
* mlt
|
|
|
|
* /
|
|
|
|
* quo
|
|
|
|
* mod
|
|
|
|
* sqrt
|
|
|
|
* bit-and
|
|
|
|
* bit-or
|
|
|
|
* bit-xor
|
|
|
|
* bit-not
|
|
|
|
* bit-shift
|