An error occurred fetching the project authors.
  1. 23 Jul, 2014 1 commit
  2. 20 Jul, 2014 1 commit
  3. 19 Jul, 2014 1 commit
    • Marius Wachtler's avatar
      Basic support for Generators · ecfd7589
      Marius Wachtler authored
      Currently does not support arguments and only a single generator at a time is allowed
      
      In addition added 'StopIteration' iteration support
      ecfd7589
  4. 09 Jul, 2014 1 commit
  5. 29 Jun, 2014 1 commit
  6. 27 Jun, 2014 1 commit
  7. 26 Jun, 2014 2 commits
  8. 19 Jun, 2014 2 commits
    • Marius Wachtler's avatar
      Implement lambda expressions · 44ec4eef
      Marius Wachtler authored
      44ec4eef
    • Kevin Modzelewski's avatar
      Implement closures · ddabda9a
      Kevin Modzelewski authored
      Implementation is pretty straightforward for now:
      - find all names that get accessed from a nested function
      - if any, create a closure object at function entry
      - any time we set a name accessed from a nested function,
        update its value in the closure
      - when evaluating a functiondef that needs a closure, attach
        the created closure to the created function object.
      
      Closures are currently passed as an extra argument before any
      python-level args, which I'm not convinced is the right strategy.
      It's works out fine but it feels messy to say that functions
      can have different C-level calling conventions.
      It felt worse to include the closure as part of the python-level arg
      passing.
      Maybe it should be passed after all the other arguments?
      
      Closures are currently just simple objects, on which we set and get
      Python-level attributes.  The performance (which I haven't tested)
      relies on attribute access being made fast through the hidden-class
      inline caches.
      
      There are a number of ways that this could be improved:
      - be smarter about when we create the closure object, or when we
        update it.
      - not create empty pass-through closures
      - give the closures a pre-defined shape, since we know at irgen-time
        what names can get set.  could probably avoid the inline cache
        machinery and also have better code.
      ddabda9a
  9. 30 May, 2014 1 commit
  10. 27 May, 2014 1 commit
  11. 17 May, 2014 1 commit
  12. 13 May, 2014 1 commit
    • Kevin Modzelewski's avatar
      Run clang-format ("make format") on the codebase · daefbbb6
      Kevin Modzelewski authored
      Changed the indentation of pretty much the entire codebase.
      
      It did some things that I don't like that seem not configurable,
      but overall it seems like an improvement, and nice to have a
      canonical format going forward.
      daefbbb6
  13. 05 May, 2014 1 commit
  14. 25 Apr, 2014 1 commit
  15. 22 Apr, 2014 1 commit
  16. 21 Apr, 2014 2 commits
  17. 15 Apr, 2014 2 commits
    • Kevin Modzelewski's avatar
      Minor · e70152f4
      Kevin Modzelewski authored
      e70152f4
    • Kevin Modzelewski's avatar
      List comprehension support · 92117aab
      Kevin Modzelewski authored
      Should support:
      - multiple comprehensions
      - multiple if conditions
      - nested control flow expressions
      - OSR'ing from the list comprehension
      
      Though it tends to hit the OSR bug in the previous commit.
      
      Some extra changes that could have been split out:
      - use pointers-to-const instead of references-to-const for attribute-name passing,
        to make it harder to bind to a temporary name that will go away.
      - add a 'cls_only' flag to getattr / getattrType to not have to special-case clsattrs
        (or simply get it wrong, in the case of getattrType)
      92117aab
  18. 03 Apr, 2014 2 commits