On 05/27/2015 11:43 PM, Neil Toronto wrote:
On 05/22/2015 04:16 PM, Ryan Culpepper wrote:

* Neil Toronto <[email protected]>
   - Plot Tests
   - Images Tests
   - Inspect icons
   - Math tests

Status: Working on Doug's animation test case for Plot. It's very slow.

It looks like it has to do with a dc<%> instance crossing from untyped
to typed code. I'll probably end up inserting the types of `plot/dc` and
`plot3d/dc` into the base type environment, and then finding some way to
put contracts on them.

I need some help with this.

My typical workaround for acute contract slowness is inserting types into the type environment. But that only works around contracts introduced by `require/typed`. I forgot last night that `plot/dc` and `plot3d/dc` are written in Typed Racket.

What I'd like - and what I can't figure out - is a way to simulate the behavior of `provide/unsafe` in Racket 6.2.

The `plot/dc` and `plot3d/dc` functions have types that look like

    (-> ... (Instance DC<%>) ... Void)

If an (Instance DC<%>) value is passed from untyped Racket to one of these functions, it gets wrapped with a contract that makes drawing very slow.

It wouldn't help to provide different implementations of `plot/dc` and `plot3d/dc` to untyped code. All plot drawing is done in Typed Racket, so at *some* point, the (Instance DC<%>) has to pass from untyped to typed.

Any ideas?

Neil ⊥

--
You received this message because you are subscribed to the Google Groups "Racket 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/55671423.9090501%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to