Re: [Factor-talk] Saving the definitions in the scratchpad vocabulary

2015-09-15 Thread John Benediktsson
Hi Joan,

That looks handy.

The "scratchpad" vocabulary is persisted in the image, so if you ``save``,
then exit and restart Factor, all the words you had defined will be
available.

Your technique looks fine, only thing I might add is a newline for spacing
between definitions and maybe sort them alphabetically instead of randomly,
and to fix mutually recursive definitions potentially being ordered wrong,
we DEFER: all words first.

: dump-words ( vocab path -- )
utf8 [
vocab-words [ name>> ] sort-with
[ "IN: scratchpad" print [ "DEFER: " write name>> print ] each
nl ]
[ [ see nl ] each ] bi
] with-file-writer ;

To save a vocab's words:

 "scratchpad" "~/dump.factor" dump-words

To restore your words from a file:

"~/dump.factor" parse-file

You'll probably get some "Already using ``...`` vocabulary" warnings,
because each definitions is "complete" and that saving code doesn't
aggregate the using list for all definitions that are being persisted.  We
could work some better code to do that if you care.

Best,
John.







On Mon, Sep 14, 2015 at 10:34 PM, Joan Arnaldich 
wrote:

> Hi there,
>
> I sometimes use factor as a shell replacement, and many times I define
> helper functions directly in the listener. Sometimes I would find it
> helpful to be able to "dump" the definitions into a file, eg. as a backup
> in case something crashes or just to bootstrap a regular vocabulary with
> those words as code grows...
>
> Is there a standard / recommended way to do this? I guess I could use
> something like:
>
> "dump.factor" utf8 [ "scratchpad" words   [ see ] each  ] with-file-writer
>
> ... but before getting into it i'd like to know if it´s already there...
>
> Thanks!
>
> Joan.
>
>
> --
>
> ___
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk


Re: [Factor-talk] Saving the definitions in the scratchpad vocabulary

2015-09-15 Thread Joan Arnaldich
That "dump-words" word is enough for my needs most of the time. If I ever
need to improve on that (eg. by factoring out the "USE:") , I think I could
do that myself by looking at the implementation of "see" in the browser...

Thanks a lot! :)

On Tue, Sep 15, 2015 at 12:01 PM, John Benediktsson 
wrote:

> Hi Joan,
>
> That looks handy.
>
> The "scratchpad" vocabulary is persisted in the image, so if you ``save``,
> then exit and restart Factor, all the words you had defined will be
> available.
>
> Your technique looks fine, only thing I might add is a newline for spacing
> between definitions and maybe sort them alphabetically instead of randomly,
> and to fix mutually recursive definitions potentially being ordered wrong,
> we DEFER: all words first.
>
> : dump-words ( vocab path -- )
> utf8 [
> vocab-words [ name>> ] sort-with
> [ "IN: scratchpad" print [ "DEFER: " write name>> print ] each
> nl ]
> [ [ see nl ] each ] bi
> ] with-file-writer ;
>
> To save a vocab's words:
>
>  "scratchpad" "~/dump.factor" dump-words
>
> To restore your words from a file:
>
> "~/dump.factor" parse-file
>
> You'll probably get some "Already using ``...`` vocabulary" warnings,
> because each definitions is "complete" and that saving code doesn't
> aggregate the using list for all definitions that are being persisted.  We
> could work some better code to do that if you care.
>
> Best,
> John.
>
>
>
>
>
>
>
> On Mon, Sep 14, 2015 at 10:34 PM, Joan Arnaldich 
> wrote:
>
>> Hi there,
>>
>> I sometimes use factor as a shell replacement, and many times I define
>> helper functions directly in the listener. Sometimes I would find it
>> helpful to be able to "dump" the definitions into a file, eg. as a backup
>> in case something crashes or just to bootstrap a regular vocabulary with
>> those words as code grows...
>>
>> Is there a standard / recommended way to do this? I guess I could use
>> something like:
>>
>> "dump.factor" utf8 [ "scratchpad" words   [ see ] each  ] with-file-writer
>>
>> ... but before getting into it i'd like to know if it´s already there...
>>
>> Thanks!
>>
>> Joan.
>>
>>
>> --
>>
>> ___
>> Factor-talk mailing list
>> Factor-talk@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>
>>
>
>
> --
>
> ___
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
--
___
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk