WasmEdge / WasmEdge

WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.

Home Page:https://WasmEdge.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

feat: component-model proposal's instantiation

dannypsnl opened this issue · comments

Summary

Complete instantiation for loaded component binary.

Details

One will need to check https://github.com/WebAssembly/component-model/blob/main/design/mvp/Explainer.md in details, and add proper instantiation process.

Progress

A component is composed from

  • modules -> record definitions
  • components -> record definitions
  • instance expressions for module/component -> instantiate them
  • alias -> partially work
  • canonical functions
    • lowering and lifting
    • options
  • start function -> the function that be called at instantiation process
  • imports
    • import plugin module
    • correctly import component instance
    • others
  • exports
    • export component function
    • correct the type concept

Appendix

No response