From 7e4c854714dfe25101b8fe18668cd615084a2412 Mon Sep 17 00:00:00 2001 From: Alexander Iljin Date: Thu, 2 Apr 2020 03:15:26 +0200 Subject: [PATCH] rosetta-code.multisplit: reduce memory usage Avoid creating a filtered sequence when all we need is its first element. --- extra/rosetta-code/multisplit/multisplit.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/rosetta-code/multisplit/multisplit.factor b/extra/rosetta-code/multisplit/multisplit.factor index b082be9123..cfe5583bc3 100644 --- a/extra/rosetta-code/multisplit/multisplit.factor +++ b/extra/rosetta-code/multisplit/multisplit.factor @@ -8,7 +8,7 @@ IN: rosetta-code.multisplit over [ 2array ] [ 2drop f ] if ; : best-separator ( seq -- pos index ) - dup [ first ] map infimum '[ first _ = ] filter first first2 ; + dup [ first ] map infimum '[ first _ = ] find nip first2 ; : first-subseq ( separators seq -- n separator ) dupd [ swap [ subseq-start ] dip ?pair ] curry map-index sift