[pythran] todo share

  • From: Pierrick Brunet <pierrick.brunet@xxxxxxxx>
  • To: pythran@xxxxxxxxxxxxx
  • Date: Wed, 19 Mar 2014 16:36:31 +0100

Hi,

As we speak with serge on IRC about our TODO list, Here is mine. Sorry, it is in french ;-)
Some points may be just a check ;-)

Pierrick
2. Utilisation du used-def chain pour supprimer le code inutile
3. Amélioration des slices par un get(i) qui calcul pas la même chose si le 
step est de 1.
4. codespeed
5. use generic_visitor in openmp.py
6. suppression des no-op (if avec que des pass dans le body, for avec juste des 
break ou des continues, ...)
7. suppression des == quand les deux operandes sont pure et les mêmes
8. genere des vrai boucle comme on a l'habitude quand : la variable d'iteration 
n'est pas assigné dans la boucle et l'iterable est un range ou xrange
9. check si les constant expressions ne sont pas la même chose que des pures 
expressions pour le constant folding
10. Si on forward les constantes "simples"(basicType), on pourrait faire 
plusieurs fois : csts folding et lazytransform (tant qu'on modifie des choses)
11. Montrer les erreurs Python à la compilation plutot que de crasher dans gcc
12. prendre en compte les collapse de omp via un appel à itertools.product et 
fusionnant les boucles à la main.
13. for i in xrange(10): i = 2; print i est Lazy et devrais être detécté.
14. Faire la distinction entre : ne pas être lazy et être utilisé un nombre 
potentiellement infini de fois.
15. OMP lazy peuvent être bloqué pour les valeurs apparaissant dans la clause 
mais mise à un nombre très grand pour les autres
16. empécher l'omp seulement à la frontiére (mettre à inf les use après 
l'entrés le pragma... // NEED OMP REWORK FIRST (omp_forwarding branch)
17. empty list/set/dict can be concidered as basicType
18. functools.partial may be a PureFunction (depending on arguments...)
19. bitwise_not is numpy_uexpr
20. checker les warnings des tests pour vérifier qu'on fait du bon code.
21. Vérifier les comparaison multiple qui sont Lazy SSI les conditions sont 
pures (à verifier)
22. supprimer un max de asarray dnas numpy en replacant ces calculs par de la 
récursion. Évite l'évaluation


pattern:

len(set())
map(None, ...)

Error :
CRITICAL I am in trouble. Your input file does not seem to match Pythran's 
constraints...
E: invalid syntax (<unknown>, line 2)

=> SyntaxError detectable par le parser Python

Other related posts: