Skip to content

Expose SDK funtionality to allow easier creation of custom runtimes #665

@edwardpeters

Description

@edwardpeters

Feature Request

Description of Problem:

Ability for users to create custom runtimes which re-use existing SDK methods, evaluation loop and Native function utilities. (Currently these options exist but are marked private[runtime]).

One use case of this is to allow some semblance of FFIs, tho only to the user extending the runtime (not anyone calling the extension.)

Potential Solutions:

Minimal PoC exists in https://github.com/edwardpeters/morphir-scala-interpreter/tree/ffi-poc

Simply removing some private markers would be sufficient to let users write their own extension functions.

  • This would allow the extended runtimes to have safety issues such as nondeterminism (tho would not pass that risk on to the users of those runtimes)
  • This would expose some limited implementation details (tho many of the details are already exposed, as the structure of RTValue has wound up in "public" code)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions