* Further work on WebAssembly target for Guix
@ 2023-11-01 11:51 zamfofex
2023-11-01 16:11 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
0 siblings, 1 reply; 2+ messages in thread
From: zamfofex @ 2023-11-01 11:51 UTC (permalink / raw)
To: guix-devel; +Cc: felix.lechner, raingloom
Hello, Guix! For anyone who might have had interest in it last time, I have continued working on my WebAssembly cross‐compilation target for Guix, now with support for the Meson and CMake build systems and also preliminary support for C++.
Once again, it’s in fairly early stages currently, but it is able to compile fmtlib and GMP. My hope was to compile daikichi, but it seems it uses various constructs that are not supported yet (e.g. ‘#include <filesystem>’ is not supported).
See my changes on https://git.sr.ht/~zamfofex/guix-wasm To try it out, run the following command. (Though note that it will compile Clang from source!)
./pre-inst-env guix build --target=wasm32-unknown-wasi fmt-wasm gmp-wasm
Currently, there are WebAssembly‐specific packages and build systems for fmtlib and GMP in order to avoid a world rebuild.
Please do let me know what you think about it! I’m open for suggestions and requests, if anyone feels like this is an interesting endeavor.
This is a follow‐up to https://lists.gnu.org/archive/html/guix-devel/2023-09/msg00458.html
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Further work on WebAssembly target for Guix
2023-11-01 11:51 Further work on WebAssembly target for Guix zamfofex
@ 2023-11-01 16:11 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
0 siblings, 0 replies; 2+ messages in thread
From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2023-11-01 16:11 UTC (permalink / raw)
To: zamfofex, guix-devel; +Cc: raingloom
Hi Zamfofex
On Wed, Nov 01 2023, zamfofex wrote:
> Please do let me know what you think about it! I’m open for suggestions and requests, if anyone feels like this is an interesting endeavor.
>
> This is a follow‐up to https://lists.gnu.org/archive/html/guix-devel/2023-09/msg00458.html
I read your follow-up with the same enthusiasm as your original.
Over time, WASM runtimes may become so good that they will replace the
internal engines of GNU Guile, Emacs Lisp and other interpreted
languages.
Designing a new interpreted language will become easier. The effect
could be similar to how LLVM enabled new compiled languages like Zig.
While WASM runtimes are currently like the Wild West, I find it
conceivable that WASM performance could approach half or more of native
binaries on some architectures. [1]
Because many people like using browsers, those browsers may eventually
try to encapsulate the operating system in a way that's similar to what
Emacs and Lisp Machine fans have wanted to do for decades.
Truth be told, GNU Guix has also been described as a way to bring the
Emacs philosopy to the operating system level. Alas, I believe GNU Guix
will eventually run *inside* of Emacs rather than the other way around,
as it is currently,
The reason is that the encapsulation efforts in the browser wars will
eventually also engulf Emacs and then pitch the browsers against Emacs
in search of dominance in the user interface experience.
It will be like GNOME/Sway vs Ratpoison/StumpWM/XMonad currently, but on
a bigger level!
In either scenario, the WASM build target will skyrocket in popularity
everywhere. A WASM target for GNU Guix is very valuable.
Thank you for your hard work!
Kind regards
Felix
[1] https://lists.gnu.org/archive/html/guix-devel/2023-09/msg00458.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-11-01 16:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-01 11:51 Further work on WebAssembly target for Guix zamfofex
2023-11-01 16:11 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).