Hello to the list,

I have an idea for Python that is non-traditional in that it doesn’t extend or 
modify existing Python language structure.  

The idea uses Python to translate Python, entirely under program control,  
directly to optimized assembly language .dll or .so files, called “extensions.” 
  

Extensions are called from Python using Python’s ctypes interface.  The ctypes 
wrapper for each extension is created automatically.    

The goal of this idea is for Python to perform as fast or faster than C or C++, 
without leaving Python.  

Details:  

1.      Large project – now 23,556 lines of Python.

2.      Evolved from a project that automatically translated APL to assembly 
language dlls -- more than 30,000 hours of development in APL and assembly 
language.  

3.      Solves the tremendous problem of coding assembly by hand.  

4.      Point-and-click interface.

5.      Ahead-of-time compilation.

6.      Python translated directly to assembly language – no third-party 
compiler (GCC, LLVM, Clang, etc.) or intermediate representation.

7.      Advanced assembly language optimizations:  registers, SIMD, multicore, 
loop fusion, loop unrolling, etc., custom-fitted to Python.

8.      No Global Interpreter Lock issues – ctypes releases the GIL.  
Extensions have full use of all threads and cores. 

9.      NumPy and SciPy functions, as well as Python built-in functions and 
built-in library functions, translated directly to optimized assembly language 
to avoid expensive Python callbacks.

10.     Memory safe:

        a.      controls buffer access and frees every memory pointer when the 
extension returns from assembly to Python 

        b.      handles bounds checking on variables and arrays passed into the 
extension by ctypes

        c.      extensions will not encounter errors such as buffer overflows, 
buffer over-reads, or memory race conditions

        d.      handles recursive programs with its own stack, thus avoiding 
stack exhaustion for recursive programs

More details at https://PysoniQ.com: 

        A video demonstration 

        Try out the point-and-click interface at the “Try PysoniQ” link

        A detailed Project Overview 

        Technical FAQs 

        Blog and speed metric links for deeper analysis of the technologies

        Downloadable PDFs – see the Resources link

Any comments from the Python community on this project would be most 
appreciated!

Thank you.

Mark
m...@pysoniq.com
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/H43LXLJY6RMWDLUFXTSBPQVFKUQADFAU/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to