Re:Show HN: gq – like jq or zq, but you use Go
by throwaway894345 on Wednesday April 27, 2022 @06:44PM
(#31186760)
Right, I already believe it all makes sense when you understand the model, but the model isn't super obvious and I often find myself Googling things for reference because I don't use it very often; however, I do use regular programming languages and I can reason about those more easily (although while I like Go, I would be more inclined to used a Python- or JS-like language for something like this).
every map implementation ive seen has type function(a,b) -> list(a) -> list(b)
select(contains("good/")) is a function from string -> string|void
so map plus a voidable function equals a filter
| just means connect 2 filters
if you have a stream you turn it into a array with the array constructor []
if you have an array you turn it into a stream with the producer operator .[]
the api is super orthogonal and well designed. but you do have to understand the model