--- /dev/null
+
+USING: kernel sequences sets combinators.cleave
+ obj obj.view obj.util obj.print ;
+
+IN: obj.examples.todo
+
+SYM: person types adjoin
+SYM: todo types adjoin
+
+SYM: owners properties adjoin
+SYM: eta properties adjoin
+SYM: notes properties adjoin
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+SYM: slava { type person } define-object
+SYM: doug { type person } define-object
+SYM: ed { type person } define-object
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+SYM: compiler-bugs
+ {
+ type todo
+ owners { slava }
+ notes {
+ "Investitage FEP on Terrorist"
+ "Problem with cutler in VirtualBox?"
+ }
+ }
+define-object
+
+SYM: remove-old-accessors-from-core
+ {
+ type todo
+ owners { slava }
+ }
+define-object
+
+SYM: move-db-and-web-framework-to-basis
+ {
+ type todo
+ owners { slava }
+ }
+define-object
+
+SYM: remove-old-accessors-from-basis
+ {
+ type todo
+ owners { doug ed }
+ }
+define-object
+
+SYM: blas-on-bsd
+ {
+ type todo
+ owners { slava doug }
+ }
+define-object
+
+SYM: multi-methods-backend
+ {
+ type todo
+ owners { slava }
+ }
+define-object
+
+SYM: update-core-for-multi-methods { type todo owners { slava } } define-object
+SYM: update-basis-for-multi-methods { type todo } define-object
+SYM: update-extra-for-multi-methods { type todo } define-object
+
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+: todo-list ( -- )
+ objects [ type -> todo = ] filter
+ [ { [ self -> ] [ owners -> ] [ eta -> ] } 1arr ]
+ map
+ { "ITEM" "OWNERS" "ETA" } prefix
+ print-table ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+