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