Skip to content
Snippets Groups Projects
  1. Jun 04, 2019
  2. Jun 03, 2019
  3. Feb 12, 2019
  4. Nov 26, 2018
  5. Nov 15, 2018
  6. Jul 18, 2018
  7. Oct 19, 2017
  8. Oct 15, 2017
  9. Sep 10, 2017
  10. Sep 06, 2017
  11. Jun 26, 2017
  12. Jun 24, 2017
  13. Mar 26, 2017
  14. Mar 25, 2017
  15. Mar 07, 2017
  16. Oct 21, 2016
  17. Oct 12, 2016
  18. Sep 22, 2016
  19. May 28, 2016
  20. May 14, 2016
  21. Apr 29, 2016
  22. Apr 28, 2016
  23. Apr 18, 2016
  24. Mar 08, 2016
  25. Feb 17, 2016
  26. Nov 03, 2015
  27. Oct 30, 2015
  28. Oct 20, 2015
  29. Oct 11, 2015
  30. Aug 22, 2015
  31. Aug 17, 2015
    • Damien George's avatar
      unix-cpy: Remove unix-cpy. It's no longer needed. · 65dc960e
      Damien George authored
      unix-cpy was originally written to get semantic equivalent with CPython
      without writing functional tests.  When writing the initial
      implementation of uPy it was a long way between lexer and functional
      tests, so the half-way test was to make sure that the bytecode was
      correct.  The idea was that if the uPy bytecode matched CPython 1-1 then
      uPy would be proper Python if the bytecodes acted correctly.  And having
      matching bytecode meant that it was less likely to miss some deep
      subtlety in the Python semantics that would require an architectural
      change later on.
      
      But that is all history and it no longer makes sense to retain the
      ability to output CPython bytecode, because:
      
      1. It outputs CPython 3.3 compatible bytecode.  CPython's bytecode
      changes from version to version, and seems to have changed quite a bit
      in 3.5.  There's no point in changing the bytecode output to match
      CPython anymore.
      
      2. uPy and CPy do different optimisations to the bytecode which makes it
      harder to match.
      
      3. The bytecode tests are not run.  They were never part of Travis and
      are not run locally anymore.
      
      4. The EMIT_CPYTHON option needs a lot of extra source code which adds
      heaps of noise, especially in compile.c.
      
      5. Now that there is an extensive test suite (which tests functionality)
      there is no need to match the bytecode.  Some very subtle behaviour is
      tested with the test suite and passing these tests is a much better
      way to stay Python-language compliant, rather than trying to match
      CPy bytecode.
      65dc960e
  32. Jun 22, 2015
  33. Jun 18, 2015
  34. Jun 11, 2015
Loading