;; A plain `declare` names a C symbol in a signature Flan can already spell: ;; no aggregate crosses, so no wrapper is generated. ;; ;; cosh and not cos, because the prelude already declares cos-f64 and a second ;; declaration of a name is refused with both sites named. That refusal is the ;; useful half of this example: the prelude is where the common libm calls ;; live, and a `declare` is how you reach one it does not name. (declare cosh-f64 [x f64] f64 "cosh") (defn main [] () (print (cosh-f64 0.0)) (println ""))