Carp/lisp/examples.carp
2016-02-12 08:08:04 +01:00

80 lines
1.1 KiB
Plaintext

(defn max (a b)
(if (< a b) b a))
(defn blah (x s)
(* x (strlen s)))
(defn fiz (x)
(* 3.3 x))
(defn tiny ()
(max (+ 2 3) (* 7 2)))
(defn three (x)
(if (= x 3)
(println "Three!!!")
(println "Not three...")))
(defn say ()
(do (println "A")
(println "B")
(println "C")))
(defn eternal ()
(while true
(println "eternal")))
(defn nullf ()
(let [x (fake)]
(null? x)))
(defn slimmer (x s)
(+ x (* (strlen s) (- x 1))))
(defn say-hi (text)
(while true
(if (< (strlen text) 10)
(println "Too short!")
(println text))))
(defn a-while ()
(while true
(println "what!")))
(defn say-what (text)
(let [manage-me (string-copy text)]
(if (< (strlen text) 10)
(string-copy "Too short")
manage-me)))
(defn crash ()
(error "bam!"))
(defn crash-soon ()
(crash))
(defn soon ()
(crash-soon))
(defn repl ()
(while true
(do (print "repl> ")
(let [in (get-input)]
(println (str (eval (read in))))))))
(def s ".")
(defn loop ()
(do
(async repl)
(while true
(do
(println s)
(sleep 1)))))
;; (call (fn () (println "CARP!!!")))