Adam Chlipala wrote: > There _is_ the (admittedly minor) fact that a function with a > transactional type may turn out to have a completely pure implementation > under the hood, such that effectfulness annotations can help the > optimizer make better decisions.
I can't imagine an impure function which has a completely pure implementation. Examples of the reverse are easy to come up with, however. Can you give an example of when this might happen? > Perhaps the piece you're missing is that abstract types in FFI modules > may be implemented with arbitrary C types, with no restrictions? (They > may even be implemented with structs (not just struct pointers)!) Yes, I was indeed missing that. But... how does Urweb know how much stack space to allocate for them - does it parse the .h files? Or is there something about x86 calling conventions that I'm missing? _______________________________________________ Ur mailing list [email protected] http://www.impredicative.com/cgi-bin/mailman/listinfo/ur
