Do it step by step - think about the steps you need to take.
I would first sort the array by length.
Then I would group them by length (look at the monotonic-split word for that).
That would be very close to what you want.
On Nov 19, 2011, at 12:49 PM, missingfaktor wrote:
> I want to write a word "group-by" that has following stack effect and
> behavior:
>
> Signature:
>
> : group-by ( seq quot -- alist ) (group-by-impl) ;
>
> Input:
>
> { "hello" "hola" "ball" "scala" "java" "factor" "python" } [ length ] group-by
>
> Output:
>
> H{
> { 5 { "hello" "scala" } }
> { 4 { "hola" "ball" "java" } }
> { 6 { "factor" "python" } }
> }
>
> I tried this many times, but failed. Can someone please provide me an
> implementation for this, preferably with an explanation?
> --
> Cheers,
> missingfaktor.
>
> When you stand for what you believe in, you can change the world.
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure
> contains a definitive record of customers, application performance,
> security threats, fraudulent activity, and more. Splunk takes this
> data and makes sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-novd2d_______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk