On 04/07/2013 06:57 PM, Istvan Chung wrote:
I'm trying to use the FFI to call an Ur/Web function from javascript, but there's very little in the manual about this; how can I do this? At present, anything I've tried has failed at compile time with the error: "Unsupported FFI function Module.functionName in JavaScript"
There is no facility for referring to Ur/Web-defined identifiers from JavaScript code, whether or not those identifiers are bound to functions. However, you can pass Ur/Web functions to JavaScript functions as first-class values, at which point you can call them in the usual execF() way documented in the manual's FFI section.
The error message above is a little surprising to me, though. How does [Module.functionName] come into this? Also, since that's an urweb error message, what does it have to do with JavaScript code?
Also, although there's an explanation of how Ur/Web objects are marshalled to javascript types, what of the reverse: how are javascript objects marshalled to Ur/Web types?
I wouldn't say any marshaling of that kind goes on. Instead, any values flowing into or out of Ur/Web code, such that this code will actually need to know their structure, should be encoded in the way set out in the JavaScript FFI manual section. That is, the values should be in the proper encoding in the first place, and there is no translation step.
_______________________________________________ Ur mailing list [email protected] http://www.impredicative.com/cgi-bin/mailman/listinfo/ur
