1. 05 Apr, 2014 1 commit
  2. 30 Mar, 2014 2 commits
    • Damien George's avatar
      Merge map.h into obj.h. · df6567e6
      Damien George authored
      Pretty much everyone needs to include map.h, since it's such an integral
      part of the Micro Python object implementation.  Thus, the definitions
      are now in obj.h instead.  map.h is removed.
      df6567e6
    • Damien George's avatar
      Rename rt_* to mp_*. · d17926db
      Damien George authored
      Mostly just a global search and replace.  Except rt_is_true which
      becomes mp_obj_is_true.
      
      Still would like to tidy up some of the names, but this will do for now.
      d17926db
  3. 25 Mar, 2014 1 commit
  4. 24 Mar, 2014 1 commit
  5. 17 Mar, 2014 1 commit
    • xbe's avatar
      py: Clean up includes. · efe34223
      xbe authored
      Remove unnecessary includes. Add includes that improve portability.
      efe34223
  6. 15 Mar, 2014 1 commit
  7. 20 Feb, 2014 1 commit
  8. 19 Feb, 2014 1 commit
  9. 16 Feb, 2014 2 commits
  10. 15 Feb, 2014 1 commit
    • Damien George's avatar
      Implement proper exception type hierarchy. · c5966128
      Damien George authored
      Each built-in exception is now a type, with base type BaseException.
      C exceptions are created by passing a pointer to the exception type to
      make an instance of.  When raising an exception from the VM, an
      instance is created automatically if an exception type is raised (as
      opposed to an exception instance).
      
      Exception matching (RT_BINARY_OP_EXCEPTION_MATCH) is now proper.
      
      Handling of parse error changed to match new exceptions.
      
      mp_const_type renamed to mp_type_type for consistency.
      c5966128
  11. 08 Feb, 2014 1 commit
  12. 06 Feb, 2014 1 commit
  13. 05 Feb, 2014 1 commit
  14. 04 Feb, 2014 1 commit
    • Paul Sokolovsky's avatar
      Implement support for sys.path when loading modules. · e11b17c2
      Paul Sokolovsky authored
      sys.path is not initialized by rt_init(), that's left for platform-specific
      startup code. (For example, bare metal port may have some hardcoded defaults,
      and let user change sys.path directly; while port for OS with environment
      feature can take path from environment). If it's not explicitly initialized,
      modules will be imported only from a current directory.
      e11b17c2
  15. 03 Feb, 2014 1 commit
  16. 25 Jan, 2014 1 commit
  17. 22 Jan, 2014 1 commit
  18. 21 Jan, 2014 1 commit
  19. 19 Jan, 2014 1 commit
    • Paul Sokolovsky's avatar
      Implement modules as singletons Python semantics. · d720ab52
      Paul Sokolovsky authored
      In Python, importing module several times returns same underlying module
      object. This also fixes import statement handling for builtin modules.
      
      There're still issues:
      1. CPython exposes set of loaded modules as sys.modules, we may want to
      do that either.
      2. Builtin modules are implicitly imported, which is not really correct.
      We should separate registering a (builtin) module and importing a module.
      CPython keeps builtin module names in sys.builtin_module_names .
      d720ab52
  20. 18 Jan, 2014 1 commit
  21. 15 Jan, 2014 1 commit
  22. 13 Jan, 2014 1 commit
  23. 06 Jan, 2014 2 commits
  24. 04 Jan, 2014 1 commit
    • Damien George's avatar
      Split qstr into pools, and put initial pool in ROM. · eb7bfcb2
      Damien George authored
      Qstr's are now split into a linked-list of qstr pools.  This has 2
      benefits: the first pool can be in ROM (huge benefit, since we no longer
      use RAM for the core qstrs), and subsequent pools use m_new for the next
      pool instead of m_renew (thus avoiding a huge single table for all the
      qstrs).
      
      Still would be better to use a hash table, but this scheme takes us part
      of the way (eventually convert the pools to hash tables).
      
      Also fixed bug with import.
      
      Also improved the way the module code is referenced (not magic number 1
      anymore).
      eb7bfcb2
  25. 03 Jan, 2014 2 commits