Heh, I just "unfactored" yours into a single word, and used sprintf instead
of surround / number>string / pad-head.

Good luck!

On Wed, Sep 16, 2015 at 8:23 AM, Alexander Ilin <ajs...@yandex.ru> wrote:

> Holy..!
>
>   That's a helluva lot shorter than my version!
>   I have so much to learn.
>
>   Thank you for this lesson, master. : )
>
>   Also, performance measurements show that "map concat" is about 10%
> faster than "map-flat".
>
> 16.09.2015, 17:59, "John Benediktsson" <mrj...@gmail.com>:
> > I think map concat is a simpler approach:
> >
> > CONSTANT: R2460 $[
> >     { "LL" "DL" "FWL" "BLL" "ULL" "LR" "VP" "MP" "LP" "AT" "VT" "SS" }
> >     [ 64 iota [ "%s[%02d]" sprintf ] with map ] map concat
> > ]
> >
> > On Wed, Sep 16, 2015 at 7:15 AM, Alexander Ilin <ajs...@yandex.ru>
> wrote:
> >> Hi, John!
> >>
> >>   Here's my code up to the map-flat point.
> >>
> >> : num>str ( n -- string )
> >>   number>string 2 CHAR: 0 pad-head ;
> >>
> >> : idx[] ( n -- string )
> >>   num>str "[" "]" surround ;
> >>
> >> : idx ( name n -- seq )
> >>   iota [ idx[] dupd append ] map nip ;
> >>
> >> : R2460 ( -- seq )
> >>   { "LL" "DL" "FWL" "BLL" "ULL" "LR" "VP" "MP" "LP" "AT" "VT" "SS" } [
> 64 idx ] map-flat ;
> >>
> >>   What I need is a list of strings containing
> >>   "LL[00]"
> >>   "LL[01]"
> >>   "LL[02]"
> >> ...
> >>   "LL[63]"
> >>   "DL[00]"
> >>   "DL[01]"
> >> ...
> >>   "DL[63]"
> >>   "FWL[00]"
> >>   "FWL[00]"
> >> ...
> >>   "FWL[63]"
> >> ...
> >>   "SS[63]"
> >>
> >>   This list after some more transformations becomes an XML
> configuration file for Matrikon OPC Explorer, and R2460 is one of the
> device types supported by my configuration generator in Factor.
> >>
> >> 16.09.2015, 17:00, "John Benediktsson" <mrj...@gmail.com>:
> >>> Hi Alexander,
> >>>
> >>> I'm not quite clear what functionality you are looking for, could you
> provide a quick example?
> >>>
> >>> Also, compiler.utilities isn't really a very public vocabulary so
> those things might change or move around depending on what the compiler
> needs are.
> >>>
> >>> Thanks,
> >>> John.
> >>>
> >>> On Wed, Sep 16, 2015 at 2:04 AM, Alexander Ilin <ajs...@yandex.ru>
> wrote:
> >>>> Hello!
> >>>>
> >>>>   When two functions (effectively) produce the same end result, I
> often prefer to use the one that is lighter on the computer resources.
> >>>>
> >>>>   The following two functions are equivalent in my use case:
> >>>>   map compose
> >>>>   map-flat
> >>>>
> >>>>   The latter one is from compiler.utilities, and it seems more
> complicated in its implementation than the former. Please, help me decide
> which is better performance- and memory-wise.
> >>
> >> ---=====---
> >> Александр
> >>
> >>
> ------------------------------------------------------------------------------
> >> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> >> Get real-time metrics from all of your servers, apps and tools
> >> in one place.
> >> SourceForge users - Click here to start your Free Trial of Datadog now!
> >> http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
> >> _______________________________________________
> >> Factor-talk mailing list
> >> Factor-talk@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/factor-talk
> > ,
> >
> >
> ------------------------------------------------------------------------------
> > Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> > Get real-time metrics from all of your servers, apps and tools
> > in one place.
> > SourceForge users - Click here to start your Free Trial of Datadog now!
> > http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
> > ,
> >
> > _______________________________________________
> > Factor-talk mailing list
> > Factor-talk@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
> ---=====---
> Александр
>
>
> ------------------------------------------------------------------------------
> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> Get real-time metrics from all of your servers, apps and tools
> in one place.
> SourceForge users - Click here to start your Free Trial of Datadog now!
> http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to