KLICのごく低レベルの処理で、これまでに説明してきた、タグ自身、 また、タグを扱う操作に関しては、マクロ化されており、 記述性、可読性の向上、操作の統一を計っている。
Inline文、ジェネリック・オブジェクトの記述など、CレベルでKL1のデータ構造を アクセスする際には、表2.3,2.4 に挙げるマクロを利用して記述することが推奨される。
include/klic/struct.h で記述されている主な関連マクロを 表2.3に纏める。
| マクロ | 意味 |
| PTAGBITS | ポインタデータに付加されているタグのbit長 |
| PTAGMASK | ポインタデータに付加されているタグ部のマスク |
| VARREF | REFのタグ値 |
| CONS | CONSへの参照のタグ値 |
| ATOMIC | アトミックデータのタグ値 |
| FUNCTOR | ファンクタへの参照のタグ値 |
| ptagof(x) | xのポインタタグ部分を得る |
| isatomic(x) | xがアトミックデータであることの判定 |
| iscons(x) | xがCONSへの参照であることの判定 |
| isfunctor(x) | xがファンクタへの参照であることの判定 |
| isref(x) | xが参照であることの判定 |
| isstruct(x) | xがCONSまたはファンクタへの参照であることの判定 |
| functnotcons(x) | xが構造であるときにCONSでないことの判定 |
| atomicnotref(x) | xが構造でないときにアトミックデータであることの判定 |
| ATAGBITS | アトムデータに付加されているタグのbit長 |
| ATAGMASK | アトムデータに付加されているタグのマスク |
| INT | 整数タグ |
| SYM | アトムタグ |
| atagof(x) | xのアトミックタグを得る |
| isint(x) | xが整数データかどうか検査する |
| issym(x) | xのアトムデータかどうか検査する |
| makeint(n) | 整数nをKL1整数データにする |
| makesym(x) | xのアトム番号によりKL1アトムデータを生成する |
| makeatomic(x) | xにアトミックタグ(つまり2bitのみ)を付加する |
| makeref(x) | x のポインタによりKL1 REFデータを生成する |
| makecons(x) | xのポインタによりKL1 CONSデータを生成する |
| makefunctor(x) | xのポインタによりKL1 functorデータを生成する |
| intval(x) | KL1整数データxから整数値を得る |
| symval(x) | KL1アトムデータxからアトム番号を得る |
| derefone(x) | KL1 REFデータxの先を一段手繰る |
また、CONS、ファンクタの要素をアクセスするためのマクロを 表2.4に纏める。