I'm a complete beginner of Factor, but I just managed to solved Euler Problem #1 using it, and would love to have the code reviewed. Anything that can be improved? In particular I'm wondering if there is a cleaner or more idiomatic way to write the mult3or5? word.
USING: math kernel sequences math.ranges prettyprint ;
IN: euler1
: mult? ( x y -- ? ) rem 0 = ;
: mult3? ( x -- ? ) 3 mult? ;
: mult5? ( x -- ? ) 5 mult? ;
: mult3or5? ( x -- ? ) dup mult3? swap mult5? or ;
: sumMultsOf3or5 ( seq -- n ) [ mult3or5? ] filter sum ;
: solveEuler1 ( -- ) 0 1000 (a,b) sumMultsOf3or5 . ;