1.18 Quote

Le type KC3 Quote permet de créer des citations de code, pour repousser l'évaluation d'un niveau, et qui peuvent être des citations partielles en utilisant Unquote pour rapprocher l'évaluation d'un niveau inversement.

La citation est nécessaire en métaprogrammation lorsqu'on souhaite retourner une valeur citée qui ne sera pas évaluée mis à part que le niveau de citation est réduit d'un niveau. Unquote est nécessaire @ l'inverse pour ré-élever le niveau d'évaluation on peut ainsi passer des arguments à l'intérieur d'une quote dans une macro par exemple.

1.18.1 Exemples

ikc3> 1 + 1
2
ikc3> type(1 + 1)
U8
ikc3> quote 1 + 1
1 + 1
ikc3> type(quote 1 + 1)
Call
ikc3> quote quote 1 + 1
quote 1 + 1
ikc3> type(quote quote 1 + 1)
Quote

Avec unquote :

ikc3> m = macro (x) { quote 1 + unquote x }
macro(x) { quote 1 + unquote(x) }
ikc3> m(41)
42

Top : Documentation KC3

Précédent : 1.17 Ptr

Suivant : 1.19 Ratio