or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
WASM integration memo
Expected usecases:
Materializers
Materializers, in their design, need only take an input and return an output.
When accessing the outside world, they're currently constrained to the typegraph
that hosts them anything external must be mediated through it.
operates.
components adhere to.
Open questions:
Modeling this simple interface for wasm, there are multiple ways this can be
done.
1. Simple
bindings.
2. Component + Typegraph derived WIT world (wit_gen)
interface exposed {}
(stretch)exposed
to access wrapper functions for typegraphexposed materializers.
gql
crutch.3. Component + Wire (wit_wire)
handle
function that takes and returns JSON strings.requests.
hostcall
function.- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Although, on paper, the wire protocol can be built upon wasm-core functions,
using WASI here would be advantageous since:
VM based languages
VM based languages provide some challenges but also the opportunity to bridge
the gap with the golden standard of the Deno runtime. Since they'll ultimately
be used to implement materializers, their impl ought to be able to utilize the
wit_wire
interface. SDK generators likeinclude_lambda
can be supported throughthe
init-args
parameter.4. Wasm core + Wire (core_wire)
This is similar to
wit_wire
but relies only on wasm core. Can be a used to add langauges that don't support components yet.Platform extension
Runtimes in their implementation today have a semi-standard interfaces.
Authoring a WIT world to model Runtimes seems pretty straight forward and would
end up using standard component model elements.
Now, as to what the usecases here are and on the question of how you'd make it
easy to extend the
sdk
, this document does not bite.Legacy integration
Compiling an already existing codebase to WASM is one avenue for legacy
integration. A rough sketch of that would be like:
wasi:http/incoming-handler
.