From edf671548f56548077f865da3019ff2b0a72833b Mon Sep 17 00:00:00 2001 From: elioat Date: Mon, 3 Oct 2022 00:12:38 +0000 Subject: janet --- janet/giblang.janet | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 janet/giblang.janet diff --git a/janet/giblang.janet b/janet/giblang.janet new file mode 100644 index 0000000..f8b9d4e --- /dev/null +++ b/janet/giblang.janet @@ -0,0 +1,38 @@ +# https://pbat.ch/wiki/giblang/ + +(def cons (array + "b" "c" "d" "f" + "g" "h" "j" "k" + "l" "m" "n" "p" + "r" "s" "t" "v" + "w" "z" "ch" "sh" + "zh" "th")) + +(def vow (array "a" "e" "i" "o" "u" "y" "ee" "ai" "ae")) + +(defn rpick (t) + (t (math/floor (* (math/random) (length t))))) + +(defn seed () (math/seedrandom (os/time))) + +(defn syl () (string (rpick cons) (rpick vow))) + +(defn word () + (do + (var str "") + (for i 0 (+ (math/floor (* (math/random) 3)) 1) + (set str (string str (syl)))) + (cond (> (math/random) 0.2) + (set str (string str (rpick cons)))) + (string str))) + +(defn speak [number-of-words] + (seed) + (var words "") + (var i 0) + (while (< i number-of-words) + (set words (string words (word) " ")) + (++ i)) + (print words)) + +(speak 7) -- cgit 1.4.1-2-gfad0