July 25th, 2024

Show HN: Compile Erlang to WASM and run as HTTP/incoming-handler

The "erwasm-http" GitHub repository demonstrates compiling Erlang to WebAssembly for HTTP handling. Users need specific tools and dependencies to set up and run the server, with location reporting concerns noted.

Read original articleLink Icon
Show HN: Compile Erlang to WASM and run as HTTP/incoming-handler

The GitHub repository "erwasm-http" is a proof of concept for compiling Erlang into WebAssembly (Wasm) and executing it as an HTTP handler using the WASI runtime. The project aims to implement the actor model of Erlang within the WebAssembly environment, necessitating a WASI runtime that supports the typed continuation proposal. To set up the project, users must install specific forks of `wasm-tools` and `wasmtime` from wasmfx, along with dependencies such as the Erlang compiler (`erlc`), Python for compiling Erlang into a textual BEAM representation, and `watcat` for bundling WAT files. To run the server, users can execute the command `make run` and then make a GET request to port 8080 to receive a short text response. It is important to note that the software may report the user's location to СБУ if a Russian keyboard is detected on a Windows system, and the author disclaims responsibility under the "це не ми" doctrine. For additional information or assistance regarding the project, users are encouraged to reach out.

Related

Orb: Write WebAssembly with Elixir

Orb: Write WebAssembly with Elixir

Orb leverages Elixir's ecosystem to simplify WebAssembly writing, offering features like composable modules, Hex package manager, ExUnit testing, macros, and syntax highlighting. It enables Elixir code compilation to .wasm, supports reusable modules, and integrates existing Elixir libraries for MIME tasks, showcasing flexibility in WebAssembly development.

What Happens When You Put a Database in the Browser?

What Happens When You Put a Database in the Browser?

WebAssembly (Wasm) enhances browser capabilities, enabling high-performance apps like DuckDB for ad-hoc queries and Python environments. DuckDB Wasm boosts performance in interfaces like lakeFS, Evidence, and Count. MotherDuck enables local querying, emphasizing efficient data processing.

Dynamic Translation of Smalltalk to WebAssembly

Dynamic Translation of Smalltalk to WebAssembly

The article explores Smalltalk code translation to WebAssembly (WASM) within the Catalyst project. It details levels of Smalltalk, JavaScript, and WASM, focusing on direct Smalltalk to WASM optimization. A new translator, WATCompiledMethodTranslator, aids in this process, exemplified by a Smalltalk expression conversion. Creation of a WASM module for Smalltalk methods is explained, highlighting performance advantages and potential future comparisons with dynamic JS translations. Collaboration in the Smalltalk community is encouraged for further advancement.

Show HN: I built a WASM-console using WebAssembly and tinygo

Show HN: I built a WASM-console using WebAssembly and tinygo

An experimental project called "wasm-console" demonstrates WebAssembly technology for console functionalities. Instructions include building steps, file lists, and verification processes. Project emphasizes WebAssembly use.

WebVM is a server-less virtual Linux environment running client-side

WebVM is a server-less virtual Linux environment running client-side

WebVM is an open-source Linux virtualization platform on GitHub, focusing on CPU and HDD compatibility. Users connect via Tailscale for networking, engaging the community through Discord and GitHub for issue tracking.

Link Icon 4 comments