Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@orb
Created March 22, 2018 01:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save orb/3ba47be961e24dd53808f71fa31ebcc7 to your computer and use it in GitHub Desktop.
Save orb/3ba47be961e24dd53808f71fa31ebcc7 to your computer and use it in GitHub Desktop.
elisp random stuff
(defun flatten (l)
(cond
((null l) nil)
((listp l) (append (flatten (car l))
(flatten (cdr l))))
(t (list l))))
(flatten '())
(flatten 1)
(flatten '(1 . 2))
(flatten '(1 2 3))
(flatten '((1 2 3) 4 (5 6 7 8) 9 10 (11)))
(flatten '(\t (\h \e) (((((("earth"))))))))
(flatten '(a ((b) c) d ))
(defun count-syms (lst &optional c)
(cond
((null c) (count-syms lst 0))
((null lst) c)
((symbolp (car lst)) (count-syms (cdr lst) (+ c 1)))
(t (count-syms (cdr lst) c))))
(count-syms (number-sequence 1 1000))
(count-syms '(1 2 3))
(count-syms '(1 hi 3))
(count-syms '(this (is) "a" test))
(count-syms '(this (is) "a" test))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment