Hello fellow concatenative fans.

I'm working my way through this year's advent of code[0]. I'm doing it
in factor with a small twist - everything happening inside the REPL.
Makes it more fun and challenging (for me), although I don't have any
code to show for it in the end.

I'm trying to find the right tools for the job since there's a lot of
words already available. Sometimes I reinvent something before I find
it, e.g. I wrote a last-n before finding last*.

Would it be OK if I sometimes ask you for tips on what would be
idiomatic/simpler/shorter/faster than what I have(n't) found?

The first problem I really couldn't find is picking a maximum from a
sequence based on a quotation pulling out the key. An example will say
it the best I guess:

> { { 1 2 } { 1 3 } { -1 4 } } [ second ] max-by .
{ -1 4 }

Here is my definition:

: max-by ( seq quot -- result ) [ unclip-slice ] dip '[ [ [ _ call ] bi@
> ] 2keep ? ] reduce ; inline


Using fry for such a general word would be a bit of an overkill but for
demonstration purposes it's OK I guess.

Is there no standard word that already does something similar? Or is
there a way to write this with the existing sequence combinators that
it's so short there was no need to create this generic word?


-- 
------------
  Peter Nagy
------------


_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to