NOTE I now use the conventions detailed in the SUIT framework
Used to provide structural templates.
Pattern
t-template-name
| ;; QuickSort in Clojure | |
| ;; quicksort :: Ord a => [a] -> [a] | |
| (defn quicksort [seq] | |
| (if (emtpy? seq) [] | |
| (let [x (first seq) | |
| xs (rest seq)] | |
| (concat (quicksort (filter (fn [v] (<= v x)) xs)) | |
| [x] | |
| (quicksort (filter (fn [v] (> v x)) xs)))))) |
NOTE I now use the conventions detailed in the SUIT framework
Used to provide structural templates.
Pattern
t-template-name
| """The reactor framework. | |
| This module introduces the *reactor framework*, a collection of utilities to be | |
| used in conjunction with the greelet library to solve the problem of inversion | |
| of control in event-driven code. | |
| Traditionally, writing event-driven code typically consists of "connecting" | |
| signals to handlers (i.e. callbacks), which are to be invoked by the framework | |
| in use when a certain "event" occurs. |