add util.mad with some utility functions

This commit is contained in:
Pekka Laiho 2020-12-22 10:16:41 +07:00
parent 215c694bea
commit b1c1eb5cf1

16
mad/util.mad Normal file
View File

@ -0,0 +1,16 @@
;;
;; Generic utility functions.
;;
;; Return first item of sequence, or null if it is empty.
(defn first-or-null (seq) (if (empty? seq) null (first seq)))
;; Split string by whitespace, removing empty strings.
(defn split-ws (s) (re-split "/[\\s]+/" s))
;; Split string by whitespace into first and rest.
;; Useful for parsing a string for command name and arguments.
(defn str-first-rest (s)
(let (words (split-ws s))
[(first-or-null words) (tail words)]))