You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This makes it impossible to compile the Dafny ESDK by itself, since the C# compiler will complain about the missing implementation. Instead, we can provide this functionality through a trait which is provided as an extra method argument and/or class/datatype field as needed:
Wrapping ESDKs like the .NET ESDK would provide the native implementation of such traits, and instantiate them as part of the initialization process of the library. This initialization would occur through either static initialization methods or as part of creating a top-level object like Java's AwsCrypto object. Since Dafny does not (yet) support static objects, I lean towards the second option.
This will also simplify the surface area in scope for extern soundness (#165), since cross-language interfacing will be mostly restricted to traits (it will still be necessary to expose static methods for invocation from external code).
The text was updated successfully, but these errors were encountered:
For example, RSA encryption is currently declared in Dafny as a module-level method with no body and the
{:extern}
attribute:This makes it impossible to compile the Dafny ESDK by itself, since the C# compiler will complain about the missing implementation. Instead, we can provide this functionality through a trait which is provided as an extra method argument and/or class/datatype field as needed:
Wrapping ESDKs like the .NET ESDK would provide the native implementation of such traits, and instantiate them as part of the initialization process of the library. This initialization would occur through either static initialization methods or as part of creating a top-level object like Java's AwsCrypto object. Since Dafny does not (yet) support static objects, I lean towards the second option.
This will also simplify the surface area in scope for extern soundness (#165), since cross-language interfacing will be mostly restricted to traits (it will still be necessary to expose static methods for invocation from external code).
The text was updated successfully, but these errors were encountered: