News for hackers. Stuff that matters.

rebcabin001

Re:LPython: Novel, Fast, Retargetable Python Compiler on Sunday July 30, 2023 @10:37AM (#36931569)
Sometimes, standard semantical approaches assume a target stack-machine, or SSA architecture, or something else with insufficient generality to cover all the cases we want (e.g., non-Von architectures like APU from GSIT). ASR assumes only lambda/pi/rho calculus, depending on whether you want concurrency semantics (that's TBD, frankly; today it's justs lambda)
Re:LPython: Novel, Fast, Retargetable Python Compiler on Saturday July 29, 2023 @03:10PM (#36923443)
Some IDEs have incremental compilers that are sufficiently fast to update squigglies and what-not on every keystroke. Compilation speed is a primary value, in general.
Re:LPython: Novel, Fast, Retargetable Python Compiler on Saturday July 29, 2023 @02:58PM (#36923330)
Right. Decompilation with ASR should be relatively easy and more faithful than average decompilation (though, as mentioned by another commenter, the very-long-term value of decompilation in general is debatable in the face of rising AI like CoPilot).
Re:LPython: Novel, Fast, Retargetable Python Compiler on Saturday July 29, 2023 @01:54PM (#36922751)
Implication is that ASR is a full programming language in its own right (though with no quality-of-life features: everything is explicit, and it's also currently restricted to the operations featured by LFortran and LPython: heavily array-oriented for now, ASR grows as LFortran and LPython grow). I've prototyped, in Clojure, an independent type-checker for ASR (https://github.com/rebcabin/masr), and an interpreter (for "abstract execution") should not be difficult.
Re:LPython: Novel, Fast, Retargetable Python Compiler on Saturday July 29, 2023 @01:42PM (#36922612)
A particular advantage of subsetting the language is that LPython inherits all the tooling of Python. I use pudb and PyCharm daily to develop LPython code.
Re:LPython: Novel, Fast, Retargetable Python Compiler on Saturday July 29, 2023 @01:39PM (#36922580)
ASR abstracts away all syntax and all details of the target machine, no leaks. Contrast to the schoolbook approach of decorating ASTs with semantic information, which often reflects details of a target machine.