de en es fr nl pl pt sv zh

compilation

Basic Value Range Analysis

serge-sans-paille

Not every story begins with an issue, but this one does. And with a quite old one! #1059 dates back to October, 2018 :-) At that time, I was trying to efficiently compile some kernels for a scikit-image PR. _integ function from scikit-image This is the body of the _integ function, from the...

Gast, Beniget! Use-Def chains for Python Programs

serge-sans-paille

In spite of its dynamic nature, the Python language has been granted a rich ecosystem of Abstract Syntax Tree(AST) analysis and transformations. Off the top of my head, I can already cite: Pyflake, a Python linter; Pylint, a Python linter and more; TorchScript, a DSL embedded into Python for...

Source-to-source transformation of a Python kernel

serge-sans-paille

If you're curious or genuinely interested into how Pythran transforms your code, but not brave enough to dive into the generated C++ code, Pythran provides a compilation switch to dump the refined Python code, after optimization and before it gets translated to C++. Internally, this relies on the...

from pythran import typing

serge-sans-paille

Pythran is currently part of OpenDreamKit, a project that aims at improving the open source computational mathematics ecosystem. The goal of Pythran is indeed to improve some Python kernel computations, but there's something that actually makes Pythran difficult to use for new comers. What is it?...

Identifier Binding Computation

serge-sans-paille

Foreword This is not a Jupyter notebook, but it could have been. Instead, the content of this article is mostly taken from the Doctest of the pythran.analyses.aliases module, and the relevant unit tests in test_typing.py. So the reader still has a strong warranty that the output described is the...

Compiler Flags

serge-sans-paille

When Size Matters Everything started a few days ago with a Pythran user complaining about the size of the binaries generated by Pythran. In essence, take the following code cda.py: #pythran export closest_distance_arrays(float, float, float[], float[]) import numpy as np import math def...

Pitfalls of shared structure, or: fixing XPATH compilation

ehuelsmann

In recent blog posts, Hans Hübner mentions how ABCL starts to be usable by the average Common Lisp programmer. Yet he also ran into the longer standing issue that the XPATH library doesn't want to be compiled by ABCL 1.1.1. (This is where his remark how the CXML-STP library doesn't work comes...