Oh, the single underline was used in 'fry' vocab. 
I consider using a double underline to represent anonymous variables...

--
KUSUMOTO Norio


> 2019/09/19 7:21、KUSUMOTO Norio <kusum...@na.rim.or.jp> のメール:
> 
>> Yep, you can also use the syntax for it:
>> 
>> << { "foo "bar" "baz" } [ create-word-in define-symbol ] each >>
> 
> 
> 
> Thank you. 
> My program needs to make a symbol every time it finds '_'.
> It became as follows:
> 
> SYMBOL: *anonymouse-var-no* 0 *anonymouse-var-no* set-global
> 
> : reset-anonymouse-var-no ( -- )  0 *anonymouse-var-no* set-global ;
> 
> : inc-anonymouse-var-no ( -- ) 
>    *anonymouse-var-no* get-global 1 + *anonymouse-var-no* set-global ;
> 
> : generate-anonymouse-var ( -- var-symbol )
>    [
>        inc-anonymouse-var-no
>        *anonymouse-var-no* get-global "ANONYMOUSE-VAR-#%d_" sprintf
>        "factor-logica" create-word dup dup
>        define-symbol
>        LOGIC-VAR swap set-global
>    ] with-compilation-unit ;
> 
> : replace-anonymouse-vars ( before -- after )
>    {
>        { [ dup _ = ] [ drop generate-anonymouse-var ] }
>        { [ dup sequence? ] [ [ replace-anonymouse-vars ] map ] }
>        { [ dup tuple? ] [
>              [ class-of 1array ] [ tuple-slots ] bi
>              [ replace-anonymouse-vars ] map append >tuple ] }
>        [ ]
>    } cond ;
> 
> --
> KUSUMOTO Norio



_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to