trivial-do

2022-04-01

Looping extensions that follow the style of the core DO functions.

Upstream URL

github.com/yitzchak/trivial-do

Author

Tarn W. Burton

License

MIT
README

trivial-do

Additional dolist style macros for Common Lisp. Currently provides doalist, dohash, dolist*, doplist, doseq and doseq*.

doalist

Iterates over the key value pairs of an alist.

(doalist (key value alist &optional return-form)
  (format t "key: ~A, value: ~A~%" key value))

dohash

Iterates over the key value pairs of a hash table.

(dohash (key value hash-table &optional return-form)
  (format t "key: ~A, value: ~A~%" key value))

dolist*

Iterates over a list with a position variable tracking the current index.

(dolist* (position value list &optional return-form)
  (format t "position: ~A, value: ~A~%" position value))

doplist

Iterates over the key value pairs of an plist.

(doplist (key value plist &optional return-form)
  (format t "key: ~A, value: ~A~%" key value))

doseq

Iterates over the values of a sequence.

(doseq (value sequence &optional return-form)
  (format t "value: ~A~%" position value))

doseq*

Iterates over a sequence with a position variable tracking the current index.

(doseq* (position value sequence &optional return-form)
  (format t "position: ~A, value: ~A~%" position value))

Dependencies (0)

    Dependents (4)

    • cl-json-schema
    • common-lisp-jupyter
    • mutility
    • shasht
    • GitHub
    • Quicklisp