There are two types of basic smart functions in Fluree:
- Universal Functions
- Context-Dependent Functions
As the names imply, universal functions can be used anywhere that smart functions can be used. Context-dependent functions are functions that retrieve certain values, and different functions are valid in different contexts.
Clojure is the only language that is currently supported for writing smart functions, although we intend to expand the available languages.
Only a subset of Clojure functions, as well as several built-in custom functions (written using Clojure), are allowed to be used in smart functions.
Linked is the full list of all available universal functions.
Function code examples:
(+ 12 5) ;; 17(inc 10) ;; 11(== 1 1) ;; true(+ 12 (max 1 2 3)) ;; 15(if-else (== 1 1) "a" "b") ;; "a"