silly baby question, I'm trying to grok (filterer vs , and the relationship of other navigators; when to use one over the other, etc.
can someone explain the difference of whats going on between
(select [(filterer odd?)] [2 1 3 6 7 4 8]) ;=> [[1 3 7]]
;; AND ;;
(select [ALL odd?] [2 1 3 6 7 4 8]) ;=> [1 3 7]
What I'm really curious about is why I can navigate to LAST for the first one and get [7], while the second one throws an error?
(Additionally, I'm also not sure why I can't call odd? for the second one outright, without the ALL like the first)(ok actually, I get why the ALL is required on the second, but still not sure why it isn't required on the first one)
filterer navigates to a sequence, whereas ALL navigates to the individual elements
the result of select is a sequence of all values navigated to by the path
when you do LAST, you're navigating on whatever's currently navigated to
not on the result sequence
after [ALL odd?] navigators, it's navigated to the individual numbers 1, 3, and 7
ahhhhhhh ok so a definite source of my misunderstanding is a conflation of selects output and "what specter actually sees"
i appreciate the help, i cant treat the 'navigated-to elements' as a sequence
you can use subselect to get navigated values into a sequence within a path
which is actually how filterer works
(filterer odd?) is just (subselect ALL odd?)
!!! beautiful