• International Algebraic Language, who was the Compiler Pioneer?

    From Mild Shock@21:1/5 to All on Sat Jun 28 02:10:44 2025
    Hi,

    So who was the Compiler Pioneer?

    Heinz Rutishauser (1918 - 1970)
    https://en.wikipedia.org/wiki/Heinz_Rutishauser

    Or:

    Frances E. Allen (1932 - 2020)
    https://en.wikipedia.org/wiki/Frances_Allen

    Well the more earlier Compiler Pioneer was
    of course Heinz Rutishauser, just from the
    live span. But I guess the contribution

    of Heinz Rutishauser is also impressive,
    like 33% of early ALGOL was from him,
    but the original name was International

    Algebraic Language.

    Now here is the main question: Why does
    no Prolog system implementation, use
    Frances Allen optimizations? Or picked up

    ideas from LLVM, and is still ticking
    along with WAM? LLVM uses SSA form heavily,
    which is directly related to compiler

    theory Allen helped formalize in
    the 1970s–1980s.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Sat Jun 28 02:23:41 2025
    Hi,

    My penny of thought, ideas from Frances
    Allen can be nevertheless picked up, even
    if the experience with LLVM was mixed:

    Using LLVM for a JIT interpreter turns
    out to be problematic – or, it used to be:
    the Unladen Swallow project for Python ran
    into a lot of problems with using LLVM
    as a JIT, and eventually gave up. However,
    the Lua project seems to avoid these problems
    by generating the main interpreter with
    LLVM rather than using LLVM as a JIT.

    built using LLVM into CPython's virtual machine (2010) https://en.wikipedia.org/wiki/Unladen_Swallow

    Building the fastest Lua interpreter.. automatically! (2022) https://sillycross.github.io/2022/11/22/2022-11-22/

    For example Python has its own JIT in the
    form of PyPy. But PyPy generates machine code
    on its own — it does not rely on LLVM to do so.

    So the advice could be:
    - Pick up ideas as in PyPy, not necessarely projects, i.e. LLVM
    - Have self hosting systems as in Lua
    - Maybe pick up ideas for intermediate code, and not machine code

    There are many Prolog systems which have only
    WAM inspired code as intermediate code. And
    these Prolog systems are judged more interpreters

    than compilers, since they don't generate
    machine code. My quest is currently to replace
    WAM by something better for intermediate code.

    The better thingy is DAM, Dogelog Abstract Machine.

    Bye

    Mild Shock schrieb:
    Hi,

    So who was the Compiler Pioneer?

    Heinz Rutishauser (1918 - 1970) https://en.wikipedia.org/wiki/Heinz_Rutishauser

    Or:

    Frances E. Allen (1932 - 2020)
    https://en.wikipedia.org/wiki/Frances_Allen

    Well the more earlier Compiler Pioneer was
    of course Heinz Rutishauser, just from the
    live span. But I guess the contribution

    of Heinz Rutishauser is also impressive,
    like 33% of early ALGOL was from him,
    but the original name was International

    Algebraic Language.

    Now here is the main question: Why does
    no Prolog system implementation, use
    Frances Allen optimizations? Or picked up

    ideas from LLVM, and is still ticking
    along with WAM? LLVM uses SSA form heavily,
    which is directly related to compiler

    theory Allen helped formalize in
    the 1970s–1980s.



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Sat Jun 28 02:27:27 2025
    Hi,

    My experience so far, PyPy is sometimes almost
    as fast as JavaScript. Quite impressive sometimes.
    But Async I/O in Python is shit.

    I have a problem with Async I/O, a solution I
    couldn't figure out yet. Still investigating the
    problem. I recently posted it here:

    comp.lang.python

    Bye

    Mild Shock schrieb:
    Hi,

    My penny of thought, ideas from Frances
    Allen can be nevertheless picked up, even
    if the experience with LLVM was mixed:

    Using LLVM for a JIT interpreter turns
    out to be problematic – or, it used to be:
    the Unladen Swallow project for Python ran
    into a lot of problems with using LLVM
    as a JIT, and eventually gave up. However,
    the Lua project seems to avoid these problems
    by generating the main interpreter with
    LLVM rather than using LLVM as a JIT.

    built using LLVM into CPython's virtual machine (2010) https://en.wikipedia.org/wiki/Unladen_Swallow

    Building the fastest Lua interpreter.. automatically! (2022) https://sillycross.github.io/2022/11/22/2022-11-22/

    For example Python has its own JIT in the
    form of PyPy. But PyPy generates machine code
    on its own — it does not rely on LLVM to do so.

    So the advice could be:
    - Pick up ideas as in PyPy, not necessarely projects, i.e. LLVM
    - Have self hosting systems as in Lua
    - Maybe pick up ideas for intermediate code, and not machine code

    There are many Prolog systems which have only
    WAM inspired code as intermediate code. And
    these Prolog systems are judged more interpreters

    than compilers, since they don't generate
    machine code. My quest is currently to replace
    WAM by something better for intermediate code.

    The better thingy is DAM, Dogelog Abstract Machine.

    Bye

    Mild Shock schrieb:
    Hi,

    So who was the Compiler Pioneer?

    Heinz Rutishauser (1918 - 1970)
    https://en.wikipedia.org/wiki/Heinz_Rutishauser

    Or:

    Frances E. Allen (1932 - 2020)
    https://en.wikipedia.org/wiki/Frances_Allen

    Well the more earlier Compiler Pioneer was
    of course Heinz Rutishauser, just from the
    live span. But I guess the contribution

    of Heinz Rutishauser is also impressive,
    like 33% of early ALGOL was from him,
    but the original name was International

    Algebraic Language.

    Now here is the main question: Why does
    no Prolog system implementation, use
    Frances Allen optimizations? Or picked up

    ideas from LLVM, and is still ticking
    along with WAM? LLVM uses SSA form heavily,
    which is directly related to compiler

    theory Allen helped formalize in
    the 1970s–1980s.




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Sat Jun 28 02:46:31 2025
    Hi,

    Anyway, enough bla bla. If Frances is so brilliant,
    where is the super fast Prolog system, that is
    still in circulation, runs on an iPad M4 2024

    and was developed by the Academic Frances Allen?
    If you cant answer that question with a concrete
    Prolog system Jeff Barnett, then you better

    stop boasting nonsense and shut up. Prolog is
    a different kettle of fish than FORTRAN.

    Bye

    Mild Shock schrieb:
    Hi,

    My experience so far, PyPy is sometimes almost
    as fast as JavaScript. Quite impressive sometimes.
    But Async I/O in Python is shit.

    I have a problem with Async I/O, a solution I
    couldn't figure out yet. Still investigating the
    problem. I recently posted it here:

    comp.lang.python

    Bye

    Mild Shock schrieb:
    Hi,

    My penny of thought, ideas from Frances
    Allen can be nevertheless picked up, even
    if the experience with LLVM was mixed:

    Using LLVM for a JIT interpreter turns
    out to be problematic – or, it used to be:
    the Unladen Swallow project for Python ran
    into a lot of problems with using LLVM
    as a JIT, and eventually gave up. However,
    the Lua project seems to avoid these problems
    by generating the main interpreter with
    LLVM rather than using LLVM as a JIT.

    built using LLVM into CPython's virtual machine (2010)
    https://en.wikipedia.org/wiki/Unladen_Swallow

    Building the fastest Lua interpreter.. automatically! (2022)
    https://sillycross.github.io/2022/11/22/2022-11-22/

    For example Python has its own JIT in the
    form of PyPy. But PyPy generates machine code
    on its own — it does not rely on LLVM to do so.

    So the advice could be:
    - Pick up ideas as in PyPy, not necessarely projects, i.e. LLVM
    - Have self hosting systems as in Lua
    - Maybe pick up ideas for intermediate code, and not machine code

    There are many Prolog systems which have only
    WAM inspired code as intermediate code. And
    these Prolog systems are judged more interpreters

    than compilers, since they don't generate
    machine code. My quest is currently to replace
    WAM by something better for intermediate code.

    The better thingy is DAM, Dogelog Abstract Machine.

    Bye

    Mild Shock schrieb:
    Hi,

    So who was the Compiler Pioneer?

    Heinz Rutishauser (1918 - 1970)
    https://en.wikipedia.org/wiki/Heinz_Rutishauser

    Or:

    Frances E. Allen (1932 - 2020)
    https://en.wikipedia.org/wiki/Frances_Allen

    Well the more earlier Compiler Pioneer was
    of course Heinz Rutishauser, just from the
    live span. But I guess the contribution

    of Heinz Rutishauser is also impressive,
    like 33% of early ALGOL was from him,
    but the original name was International

    Algebraic Language.

    Now here is the main question: Why does
    no Prolog system implementation, use
    Frances Allen optimizations? Or picked up

    ideas from LLVM, and is still ticking
    along with WAM? LLVM uses SSA form heavily,
    which is directly related to compiler

    theory Allen helped formalize in
    the 1970s–1980s.





    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)