Uczę się Clojure i potrzebuję popchnięcia we właściwym kierunku z tym problemem, który wymyśliłem.Pytanie idiomatycznego clojure o transformacji sekwencji
Mam sekwencję zdarzeń. Każde wydarzenie zawiera "datę".
(def events
[
[1509 :marry "Catherine of Aragon"]
[1527 :unmarry "Catherine of Aragon"]
[1533 :marry "Anne Boleyn"]
[1536 :unmarry "Anne Boleyn"]
[1536 :marry "Jane Seymour"]
[1537 :unmarry "Jane Seymour"]
[1540 :marry "Anne of Cleves"]
[1540 :unmarry "Anne of Cleves"]
[1540 :marry "Catherine Howard"]
[1542 :unmarry "Catherine Howard"]
[1543 :marry "Catherine Parr"]])
Chcę przekonwertować to na leniwą oś czasu, tj. Sekwencję zawierającą jeden wektor na rok. Począwszy od roku pierwszego wydarzenia i kontynuowania nieskończoności.
[[[:marry "Catherine of Aragon"]] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [[:unmarry "Catherine of Aragon"]] [] [] [] [] [] [[:marry "Ane Boleyn"]] [] [] [[:unmarry "Anne Boleyn"] [:marry "Jayne Seymour"]] ...]
Pomyślę ponownego formatowania do przestrzegania lisp konwencję/Clojure oddania końcowego znaku parens w jednej linii, patrz: http://techbehindtech.com/2010/12/09/clojure-good-coding-guidelines/ – 0x89