Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-12 Thread Guido Stepken
Am Sonntag, 12. April 2020 schrieb Alexander Burger : > Hi Guido, > >> All you need to do, is to let PicoLisp Interpreter convert PicoLisp Source >> into that Lisp dialect, Webassembly VM does understand, and you're done! > > OK, if it is so easy, why don't you do it? I've hoped, you would have

Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-12 Thread Alexander Burger
Hi Guido, > All you need to do, is to let PicoLisp Interpreter convert PicoLisp Source > into that Lisp dialect, Webassembly VM does understand, and you're done! OK, if it is so easy, why don't you do it? Still it doesn't solve the portability issue. I want PicoLisp to run also in iOS (also

Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-12 Thread Guido Stepken
Hi Alex! Maybe, i am repeating myself. But Webassembly containers use LLVM already. https://github.com/WAVM/WAVM/blob/master/README.md All you need to do, is to let PicoLisp Interpreter convert PicoLisp Source into that Lisp dialect, Webassembly VM does understand, and you're done! Greetings

Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-12 Thread Alexander Burger
On Sun, Apr 12, 2020 at 10:36:58AM +0200, Guido Stepken wrote: > Why porting Picolisp onto LLVM, when there already is a JIT compiler in > every Webassembly container, that accepts Lisp code? The answer is "portability" -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-12 Thread Guido Stepken
Happy Easter, Rowan! Unlike (Pico-)Lisp, where operator comes first "> (+ 2 3)" Forth is *Reverse Polish notation*, so (2) values are pushed onto a stack and operator (+) comes last "> 3 2 +". That's von Neumann friendly in so far, as CPU also has to load values first and then calls the add()

Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-12 Thread Alexander Burger
Hi Rowan, > By the way what I love most about Picolisp is that it feels like as > good a hybrid as you can get between the "typical functional > lisp/scheme" mental model and something that feels "forth-like" in > terms of minimalism/precision/close-to-the-metal von-neumann >

Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-12 Thread Tomas Hlavaty
Rowan Thorpe writes: > parentheses are not used because as is stated at > https://picolisp.com/wiki/?src64 "Assembly language is not a > functional language, i.e. the individual instructions do not "return" > a value. So a fully parenthesized syntax is useless and just tedious." because picolisp

Re: Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-11 Thread Rowan Thorpe
On Sun, 12 Apr 2020 at 01:04, Guido Stepken wrote: > Hello, all! > > It might sound a little bit weird, when i tell you, that recently > standardized Webassembly Containers in your browser are - Lisp machines. Aside from the surface syntactic similarities due to the use of s-expressions in the

Did you know? Webassembly Containers are (Pico-)Lisp machines!

2020-04-11 Thread Guido Stepken
Hello, all! It might sound a little bit weird, when i tell you, that recently standardized Webassembly Containers in your browser are - Lisp machines. Emscripten C/C++ "emcc" compiler does not translate into machine code directly, but rather some kind of meta machine code (Intermediate