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

Reply via email to