asafm commented on code in PR #21992:
URL: https://github.com/apache/pulsar/pull/21992#discussion_r1495389552


##########
pip/pip-331.md:
##########
@@ -0,0 +1,129 @@
+# PIP-331: WASM Function API
+
+# Background knowledge
+
+WASM(WebAssembly) bytecode is designed to be encoded in a size- and 
load-time-efficient binary format. WASM aims to leverage the common hardware 
features available on various platforms to execute in browsers at machine code 
speed.
+
+WASI(WebAssembly System Interface) provide a portable interface for 
applications that run within a constrained sandbox environment, which allows 
WASM to run in non browser environments such as Linux. It's portable and secure.
+
+# Motivation
+
+The server and client sides of the Pulsar function use protobuf for 
decoupling. In principle, the language supported by protobuf can be supported 
by the pulsar function, now Pulsar provided the java, python and golang 
function client, but there are still many languages that are not supported.
+
+Before all language adaptations are completed (and it's almost entirely 
certain to be impossible), users cannot write pulsar function in their familiar 
languages.
+
+# Goals
+
+## In Scope
+
+Other languages, as long as their code can be compiled into WASM bytecode 
(such as Rust/golang/C++), users can use these languages to write pulsar 
function.
+
+## Out of Scope
+
+All existing abilities of the Java pulsar function client are not 
reimplemented, the WASM Pulsar functions is under the Java Pulsar functions.

Review Comment:
   Both repos you mentioned have ~100 stars.
   The wasmtime repo you mentioned doesn't mention Java as a supported 
language. Doesn't sound like a solid ground to stand upon no?
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to