Nice! We love contributions, so if you feel like making anything available to the main repository, let us know.
EBNF parsing makes a lot of things pretty convenient! > On Dec 12, 2014, at 12:19 AM, Roberto López <roberto.lo...@acm.org> wrote: > > Hi Folks, > > Removed the 'reader-word' use and the deployment with no reflection is > now ok. Thank you all for your help. > > I would like to share some code I worked on [1] to parse mailbox as > defined in RFC 5322 [1]. Any comment will be welcome! > > [1] http://paste.factorcode.org/paste?id=3411 > [2] http://tools.ietf.org/html/rfc5322#section-3.4 > > John Benediktsson <mrj...@gmail.com> writes: > >> You could also keep them like this: >> >> { >> name>> >> version>> >> ... >> } >> >> and use execute( x -- x ) to call them >> >> On Thu, Dec 11, 2014 at 4:06 AM, Roberto López <roberto.lo...@acm.org> >> wrote: >> >>> Hi Andrea, >>> >>> Yes, I'm already working on it. Reflection is always a risky practice. >>> >>> Anyway, the deployment process (level 1) should have failed or warned >>> the programmer. >>> >>> Regards, >>> Roberto >>> >>> Andrea Ferretti <ferrettiand...@gmail.com> writes: >>> >>>> The `reader-word` word does indeed use reflection to set word >>>> properties dynamically, see here >>>> >>>> http://docs.factorcode.org/content/word-reader-word,slots.html >>>> >>>> >>>> If I understand correctly, I think you could simply replace the list >>>> >>>> { "deb:name" "deb:version" "deb:priority" "deb:section" "deb:maintainer" >>>> "deb:filename" "deb:md5sum" "deb:description" "deb:homepage" >>> "deb:depends" >>>> "deb:pre-depends" "deb:suggests" "deb:conflicts" "deb:recommends" >>>> "deb:breaks" >>>> "deb:replaces" "deb:provides" "deb:provided-by" "deb:tags" >>> "deb:enhances" >>>> } >>>> >>>> which you are trying to map into actual accessors with the list of >>>> accessors itself, like >>>> >>>> { [ >>name ] [ >>version ] ... } >>>> >>>> It should be as concise and avoid reflection >>>> >>>> >>>> 2014-12-11 12:08 GMT+01:00 Roberto López <roberto.lo...@acm.org>: >>>>> Hi John, >>>>> >>>>> I've just shared a reduced version of my code. No PEG, no sense but it >>>>> doesn't need any input data. >>>>> >>>>> http://paste.factorcode.org/paste?id=3410 >>>>> >>>>> I've detected the die word is called when reading-word is executed. I >>>>> hope it helps. >>>>> >>>>> Regards, >>>>> Roberto. >>>>> >>>>> John Benediktsson <mrj...@gmail.com> writes: >>>>> >>>>>> Hi Robert, >>>>>> >>>>>> It's unlikely this is due to PEGs, for example this example I just now >>> made >>>>>> from an old blog post works using Level 1 and deploy as console >>> application: >>>>>> >>>>>> http://paste.factorcode.org/paste?id=3408 >>>>>> >>>>>> It is more likely that you are trying to use a feature like prettyprint >>>>>> (used by the "." word) or something else that requires a higher level >>> of >>>>>> reflection about the system. In factor, my first example used "." >>> instead >>>>>> of "number>string print" and had a very similar error at Level 1 as >>> yours. >>>>>> >>>>>> If you'd like to share some of your code either in public or in >>> private, I >>>>>> could help you figure it out? >>>>>> >>>>>> We should spend some more time with deploy, it hasn't gotten as much >>> love >>>>>> as other parts of the system and so might feel a little fragile or >>> magical >>>>>> sometimes. >>>>>> >>>>>> Best, >>>>>> John. >>>>>> >>>>>> On Wed, Dec 10, 2014 at 1:55 AM, Roberto López <roberto.lo...@acm.org> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I am trying to deploy a console application using the awesome PEG >>>>>>> vocabulary. If I choose to deploy using "Level 1 - No reflection" the >>>>>>> application fails when I run it with. The message is... >>>>>>> >>>>>>> | The die word was called by the library. Unless you called it >>> yourself, >>>>>>> | you have triggered a bug in Factor. Please report. >>>>>>> | Starting low level debugger... >>>>>>> | Basic commands: >>>>>>> | q ^D -- quit Factor >>>>>>> | c -- continue executing Factor - NOT SAFE >>>>>>> | t -- throw exception in Factor - NOT SAFE >>>>>>> | .s .r .c -- print data, retain, call stacks >>>>>>> | help -- full help, including advanced commands >>>>>>> | >>>>>>> | > ==== DATA STACK: >>>>>>> | T{ #<not a string: f> accessors:name>> } >>>>>>> | T{ #<not a string: f> accessors:name>> } >>>>>>> | ==== RETAIN STACK: >>>>>>> | ==== CALL STACK: >>>>>>> | >>>>>>> | frame: 0x7f41b94b5f38 size 32 >>>>>>> | executing: f >>>>>>> | scan: f >>>>>>> | word/quot addr: 1 >>>>>>> | word/quot xt: 7f419e5a3500 >>>>>>> | return address: 7f419e5a3531 >>>>>>> | >>>>>>> | frame: 0x7f41b94b5f58 size 32 >>>>>>> | executing: [ #<not a string: f> 1 #<not a string: f> ] >>>>>>> | scan: 0 >>>>>>> | word/quot addr: 7f41a2aaec64 >>>>>>> | word/quot xt: 7f419e7312e0 >>>>>>> | return address: 7f419e7312ef >>>>>>> | >>>>>>> | frame: 0x7f41b94b5f78 size 16 >>>>>>> | executing: f >>>>>>> | scan: f >>>>>>> | word/quot addr: 1 >>>>>>> | word/quot xt: 7f419e69fb60 >>>>>>> | return address: 7f419e69fb80 >>>>>>> | >>>>>>> | frame: 0x7f41b94b5f88 size 16 >>>>>>> | executing: f >>>>>>> | scan: f >>>>>>> | word/quot addr: 1 >>>>>>> | word/quot xt: 7f419e723dc0 >>>>>>> | return address: 7f419e723df1 >>>>>>> | >>>>>>> | frame: 0x7f41b94b5f98 size 32 >>>>>>> | executing: [ #<not a string: f> T{ #<not a string: f> 0 0 { T{ >>> #<not a >>>>>>> string: f> f } T{ #<not a string: f> f } T{ #<not a string: f> f } T{ >>> #<not >>>>>>> a string: f> f } T{ #<not a string: f> f } T{ #<not a string: f> f } >>> T{ >>>>>>> #<not a string: f> f } T{ #<not a string: f> f } } } #<not a string: >>> f> >>>>>>> #<not a string: f> #<not a string: f> T{ #<not a string: f> 0 0 { T{ >>> #<not >>>>>>> a string: f> f } T{ #<not a string: f> f } T{ #<not a string: f> f } >>> T{ >>>>>>> #<not a string: f> f } } } #<not a string: f> #<not a string: f> >>> #<not a >>>>>>> string: f> T{ #<not a string: f> { } 0 }... ] >>>>>>> | scan: 58 >>>>>>> | word/quot addr: 7f41a2b95814 >>>>>>> | word/quot xt: 7f419e72e800 >>>>>>> | return address: 7f419e72e9c1 >>>>>>> | >>>>>>> | frame: 0x7f41b94b5fb8 size 32 >>>>>>> | executing: f >>>>>>> | scan: f >>>>>>> | word/quot addr: 1 >>>>>>> | word/quot xt: 7f419e549060 >>>>>>> | return address: 7f419e549084 >>>>>>> >>>>>>> But If I choose to deploy using "Level 6 - Full environment" the >>>>>>> application runs correctly. No problem with this level but the >>>>>>> executable is too big. >>>>>>> >>>>>>> Any idea to get a smaller executable? >>> ------------------------------------------------------------------------------ >>>>>>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >>>>>>> from Actuate! Instantly Supercharge Your Business Reports and >>> Dashboards >>>>>>> with Interactivity, Sharing, Native Excel Exports, App Integration & >>> more >>>>>>> Get technology previously reserved for billion-dollar corporations, >>> FREE >>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >>>>>>> _______________________________________________ >>>>>>> Factor-talk mailing list >>>>>>> Factor-talk@lists.sourceforge.net >>>>>>> https://lists.sourceforge.net/lists/listinfo/factor-talk >>> ------------------------------------------------------------------------------ >>>>>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >>>>>> from Actuate! Instantly Supercharge Your Business Reports and >>> Dashboards >>>>>> with Interactivity, Sharing, Native Excel Exports, App Integration & >>> more >>>>>> Get technology previously reserved for billion-dollar corporations, >>> FREE >>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >>>>>> _______________________________________________ >>>>>> Factor-talk mailing list >>>>>> Factor-talk@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/factor-talk >>> ------------------------------------------------------------------------------ >>>>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >>>>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >>>>> with Interactivity, Sharing, Native Excel Exports, App Integration & >>> more >>>>> Get technology previously reserved for billion-dollar corporations, FREE >>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >>>>> _______________________________________________ >>>>> Factor-talk mailing list >>>>> Factor-talk@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/factor-talk >>> ------------------------------------------------------------------------------ >>>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >>>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >>>> with Interactivity, Sharing, Native Excel Exports, App Integration & more >>>> Get technology previously reserved for billion-dollar corporations, FREE >>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >>>> _______________________________________________ >>>> Factor-talk mailing list >>>> Factor-talk@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/factor-talk >>> >>> >>> ------------------------------------------------------------------------------ >>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >>> with Interactivity, Sharing, Native Excel Exports, App Integration & more >>> Get technology previously reserved for billion-dollar corporations, FREE >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Factor-talk mailing list >>> Factor-talk@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/factor-talk >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk >> _______________________________________________ >> Factor-talk mailing list >> Factor-talk@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/factor-talk > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk