2009/10/16 Slava Pestov <[email protected]>:
> On Fri, Oct 16, 2009 at 7:56 AM, Paul Moore <[email protected]> wrote:
>> Blast, I missed that. Thanks. That's probably because this code was
>> last checked before the stricter stack checking came in, and one of
>> the warnings I was ignoring wasn't as irrelevant as I'd thought...
>>
>
> Yup. When you first wrote that code, Factor reported inference
> failures as compiler warnings and the word would continue to work.
> This is not the case anymore, the language is stricter now. This has
> improved performance and robustness. Keep an eye out for the error bar
> at the bottom and learn what all the different inference errors mean.
> The error list tool also reports unit test failures, help lint
> failures, and other things, so its handy.

I'm confused. See the following interactive session:

( scratchpad ) TUPLE: backtrack { pc fixnum } { pos fixnum } { cap vector } ;
( scratchpad ) : do-backtrack ( vm backtrack -- vm )
  [ pc>> >>pc ] [ pos>> >>pos ] [ cap>> >>cap ] 2tri 2drop
; inline
( scratchpad ) [ do-backtrack ] infer.
( object object -- object )
( scratchpad )

Looks to me like do-backtrack does have the stack effect I wanted...

Having said that, I'm no longer getting the "arbitrarily deep" error
either, so I may have been doing something really wrong (like using a
source file I didn't mean to) last night :-(

On an unrelated note, the "." word gets an error on Windows when
printing big strings in the GUI:

30000 CHAR: . <string> .

produces an "ole32-error" "unspecified error". The traceback is

[ [ ~quotation~ dip call datastack ] dip -> continue-with ]
[ [ ~array~ like set-datastack ] dip call -> datastack ]
.
do-pprint
M\ pane-block-stream dispose
unnest-pane-stream
smash-pane
pane-nl
add-incremental
prefer-incremental
pref-dim
M\ border pref-dim*
pref-dim
M\ uniscribe-renderer string-dim
cached-script-string
<script-string>
make-script-string-image
ole32-error
M\ object throw
[
    63 getenv error-thread set-global
    continuation -> error-continuation set-global rethrow
]

Works fine in the console listener.

Paul.

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to