mirror of
https://github.com/peklaiho/madlisp.git
synced 2024-11-08 12:15:44 +00:00
17 lines
469 B
Plaintext
17 lines
469 B
Plaintext
|
|
;;
|
|
;; 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)]))
|