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

Reply via email to