An Experimental Port of FriCAS to WebAssembly

8 views
Skip to first unread message

Yanshu Wang

unread,
Jan 18, 2026, 3:47:25 AM (yesterday) Jan 18
to FriCAS - computer algebra system
Hello.

I succeeded in porting FriCAS to WebAssembly so that it can run in browser in client side.

See more details in the github repo: https://github.com/wangyenshu/FriCAS-in-Browser

It takes about one minute to load FriCAS in my Browser.

This port use cheerpx, which is a WebAssembly based runtime to execute x86 binaries on browser. Briefing speaking, it runs a container with ecl installed and load Qian Yun's pure common-lisp build of FriCAS by in browser.

Yanshu Wang

screenshot:

Kurt Pagani

unread,
Jan 18, 2026, 5:55:00 AM (yesterday) Jan 18
to fricas...@googlegroups.com
Congrats! Awesome, indeed.
I hoped someone will do this sooner or later :)


On 18/01/2026 09:07, Yanshu Wang wrote:
> Hello.
>
> I succeeded in porting FriCAS to WebAssembly so that it can run in
> browser in client side.
>
> Try it here: https://wangyenshu.github.io/FriCAS-in-Browser/ <https://
> wangyenshu.github.io/FriCAS-in-Browser/>
> See more details in the github repo: https://github.com/wangyenshu/
> FriCAS-in-Browser <https://github.com/wangyenshu/FriCAS-in-Browser>
>
> It takes about one minute to load FriCAS in my Browser.
>
> This port use cheerpx, which is a WebAssembly based runtime to execute
> x86 binaries on browser. Briefing speaking, it runs a container with ecl
> installed and load Qian Yun's pure common-lisp build of FriCAS by in
> browser.
>
> Yanshu Wang
>
> screenshot:
>
> --
> You received this message because you are subscribed to the Google
> Groups "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to fricas-devel...@googlegroups.com <mailto:fricas-
> devel+un...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/fricas-
> devel/11dfc458-c601-4c44-a48d-9d7c0fadd90fn%40googlegroups.com <https://
> groups.google.com/d/msgid/fricas-devel/11dfc458-c601-4c44-
> a48d-9d7c0fadd90fn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Old K

unread,
Jan 18, 2026, 6:10:03 AM (yesterday) Jan 18
to fricas...@googlegroups.com
Thanks for sharing.

I wonder if you know about that ECL can be cross compiled to WebAssembly directly,
and someone on the Maxima maillist did it that way. I believe that similar thing can be
done to FriCAS, although I haven’t tried yet. Maybe you are interested in that information.

BTW, I get errors when doing integration, fails at loading files:
  pthread_kill failed at suspend: errcode= 38

- Best,
- Qian

On Jan 18, 2026, at 4:47 PM, Yanshu Wang <wangyen...@gmail.com> wrote:


Hello.

I succeeded in porting FriCAS to WebAssembly so that it can run in browser in client side.

See more details in the github repo: https://github.com/wangyenshu/FriCAS-in-Browser

It takes about one minute to load FriCAS in my Browser.

This port use cheerpx, which is a WebAssembly based runtime to execute x86 binaries on browser. Briefing speaking, it runs a container with ecl installed and load Qian Yun's pure common-lisp build of FriCAS by in browser.

Yanshu Wang

screenshot:

--
You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/fricas-devel/11dfc458-c601-4c44-a48d-9d7c0fadd90fn%40googlegroups.com.

Kurt Pagani

unread,
Jan 18, 2026, 6:28:15 AM (yesterday) Jan 18
to fricas...@googlegroups.com


On 18/01/2026 12:09, Old K wrote:
> Thanks for sharing.
>
> I wonder if you know about that ECL can be cross compiled to WebAssembly
> directly,
> and someone on the Maxima maillist did it that way. I believe that
> similar thing can be
> done to FriCAS, although I haven’t tried yet. Maybe you are interested
> in that information.

Yes, e.g. Maxima runs in the browser this way (ECL).
https://maxima-on-wasm.pages.dev/

However, the Maxima pure Lisp build is "smoother" (IMO), in the sense
that it has less external dependencies. But of course, it should also be
possible for Fricas when we improved the lisp build ...
>
> BTW, I get errors when doing integration, fails at loading files:
>   pthread_kill failed at suspend: errcode= 38

I got this to (bit less when using "brave" instead of "firefox". The
current fricas lisp build loads on demand. Preloading might be safer?

>
> - Best,
> - Qian
>
>> On Jan 18, 2026, at 4:47 PM, Yanshu Wang <wangyen...@gmail.com>
>> wrote:
>>
>> 
>> Hello.
>>
>> I succeeded in porting FriCAS to WebAssembly so that it can run in
>> browser in client side.
>>
>> Try it here: https://wangyenshu.github.io/FriCAS-in-Browser/ <https://
>> wangyenshu.github.io/FriCAS-in-Browser/>
>> See more details in the github repo: https://github.com/wangyenshu/
>> FriCAS-in-Browser <https://github.com/wangyenshu/FriCAS-in-Browser>
>>
>> It takes about one minute to load FriCAS in my Browser.
>>
>> This port use cheerpx, which is a WebAssembly based runtime to execute
>> x86 binaries on browser. Briefing speaking, it runs a container with
>> ecl installed and load Qian Yun's pure common-lisp build of FriCAS by
>> in browser.
>>
>> Yanshu Wang
>>
>> screenshot:
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "FriCAS - computer algebra system" group.
>> To unsubscribe from this group and stop receiving emails from it, send
>> To view this discussion visit https://groups.google.com/d/msgid/
>> fricas-devel/11dfc458-c601-4c44-a48d-9d7c0fadd90fn%40googlegroups.com
>> <https://groups.google.com/d/msgid/fricas-devel/11dfc458-c601-4c44-
>> a48d-9d7c0fadd90fn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send
> To view this discussion visit https://groups.google.com/d/msgid/fricas-
> devel/67A80AA6-C712-4AD5-A3CB-F8E24227DCFF%40gmail.com <https://
> groups.google.com/d/msgid/fricas-devel/67A80AA6-C712-4AD5-A3CB-
> F8E24227DCFF%40gmail.com?utm_medium=email&utm_source=footer>.

Reply all
Reply to author
Forward
0 new messages