Hi Gareth, I haven't had time to look at this properly, but on first glance it looks like you need to be using call( rather than call to tell the compiler what the stack effect of the quotation is.
Hope that helps, sorry if I've got the wrong end of the stick! Phil Gareth Morgan wrote: > Hi. I've been trying to refactor some code to remove repetition. > Essentially I am trying to convert a date of the form { day month year } > to a timestamp. Originally I had something that looks like this > > : el-to-tuple-quot ( n acc -- quot ) > '[ dup -rot _ swap nth _ call swap ] ; inline > > : aday>tuple ( timestamp num-seq -- timestamp num-seq ) > 0 [ >>day ] el-to-tuple-quot call ; > > : amonth>tuple ( timestamp num-seq -- timestamp num-seq ) > 1 [ >>month ] el-to-tuple-quot call ; > > : ayear>tuple ( timestamp num-seq -- timestamp num-seq ) > 2 [ >>year ] el-to-tuple-quot call ; > > : num-date>timestamp ( num-seq -- timestamp ) > T{ timestamp } swap aday>tuple amonth>tuple > ayear>tuple drop ; > > I decided that the 'a*>tuple' words were unnecessary and could be > replaced with an each call > > : el-to-tuple-quot ( n acc -- quot ) > '[ dup -rot _ swap nth _ call swap ] ; inline > > : array-to-tuple-quot ( -- quot ) > [ first2 el-to-tuple-quot call ] ; inline > > : num-date>timestamp ( num-seq -- timestamp ) > T{ timestamp } swap > { { 0 [ >>day ] } { 1 [ >>month ] } { 2 [ >>year ] } } > array-to-tuple-quot each drop ; > > However I now get the 'Got a computed value where a literal quotation > was expected; ' error. It works fine when called directly on the > listener but doesn't when running from a vocabulary. I've tried > replacing both words that return quots with their definitions but get > the same error. I've also tried fiddling with the inline calls to see if > I can get it to work. Anyone know what is going on? > > Cheers, > Gareth > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables unlimited > royalty-free distribution of the report engine for externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > > > ------------------------------------------------------------------------ > > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk