Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #2 from viktorklang/patch-1 | Philipp Haller | 2013-04-03 | 1 | -1/+1 |
|\ | | | | | Update README.md | ||||
| * | Update README.md | Viktor Klang (√) | 2013-04-03 | 1 | -1/+1 |
| | | | | | | Technically line 5 is very blocking. | ||||
* | | Merge pull request #1 from xuwei-k/fix-github-url | Philipp Haller | 2013-04-03 | 2 | -8/+8 |
|\ \ | |/ |/| | fix github url | ||||
| * | fix github url | xuwei-k | 2013-04-04 | 2 | -8/+8 |
|/ | |||||
* | Bump Scala version to 2.10.0 | Philipp Haller | 2013-02-05 | 1 | -2/+2 |
| | |||||
* | s/LHS/RHS | Jason Zaugg | 2012-12-20 | 1 | -1/+1 |
| | |||||
* | Update version for M1 release | phaller | 2012-12-20 | 1 | -1/+1 |
| | |||||
* | Bump Scala version to latest RC | phaller | 2012-12-20 | 1 | -1/+1 |
| | |||||
* | Remove unreachable code in pattern matching test | phaller | 2012-12-20 | 1 | -1/+0 |
| | |||||
* | Fix typos in README | phaller | 2012-12-20 | 1 | -12/+12 |
| | |||||
* | Resolve merge conflict | phaller | 2012-12-19 | 5 | -17/+93 |
|\ | |||||
| * | New fix for #1861: Add fall-back to CPS for all unsupported uses of await | phaller | 2012-12-19 | 5 | -16/+93 |
| | | | | | | | | | | | | | | This is a re-implementation of a previous fix. It is more modular, since it enables the definition of a CPS-based fall-back as a subclass of `AsyncBase`. Thus, it's possible to define fall-back-enabled subclasses of `AsyncBase` targetting not only Scala Futures. | ||||
* | | Update README.md | Jason Zaugg | 2012-12-19 | 1 | -0/+171 |
| | | |||||
* | | Merge pull request #49 from phaller/topic/patmat-partial-function | Jason Zaugg | 2012-12-19 | 6 | -33/+132 |
|\ \ | | | | | | | Topic/patmat partial function | ||||
| * | | Prohibit lazy vals in async blocks. | Jason Zaugg | 2012-12-10 | 2 | -3/+18 |
| | | | |||||
| * | | Workaround non-idempotency of typing pattern matching anonymous functions. | Jason Zaugg | 2012-12-10 | 6 | -30/+114 |
| | | | | | | | | | | | | | | | | | | | | | - Undo the transformation that takes place in Typers to leave us with Match(EmptyTree, cases). - Make sure we don't descend into the cases of such a tree when peforming the async transform | ||||
* | | | Expand documentation | Jason Zaugg | 2012-12-19 | 1 | -6/+150 |
| |/ |/| | |||||
* | | Merge pull request #47 from phaller/ticket/46-varargs-holistic-apply | Philipp Haller | 2012-12-03 | 3 | -11/+54 |
|\ \ | | | | | | | Fix ANF transform involving `xs: _*` trees. | ||||
| * | | Fix ANF transform involving `xs: _*` trees. | Jason Zaugg | 2012-11-27 | 3 | -11/+54 |
| | | | | | | | | | | | | | | | | | | | | | | | | We need to unwrap and inline `xs`, then rewrap the result expression with the wildcard star. Addresses the first half of #46. | ||||
* | | | Fix typo | phaller | 2012-11-29 | 1 | -3/+3 |
|/ / | |||||
* | | Remove @author tags | phaller | 2012-11-27 | 3 | -9/+0 |
| | | |||||
* | | Merge pull request #45 from phaller/ticket/33-by-name-2 | Philipp Haller | 2012-11-27 | 4 | -24/+139 |
|\| | | | | | Ticket/33 by name 2 | ||||
| * | No need to extract vals for inlinable args. | Jason Zaugg | 2012-11-27 | 3 | -15/+23 |
| | | | | | | | | | | | | We use `isExprSafeToInline` from the non-public reflection API to check. In addtion, we now that an untyped Ident("await$N") is also an inlinable expression. | ||||
| * | Test cases for named and default args. | Jason Zaugg | 2012-11-27 | 1 | -1/+35 |
| | | |||||
| * | Disallow await in non-primary param sections. | Jason Zaugg | 2012-11-27 | 2 | -9/+52 |
| | | | | | | | | | | | | | | | | | | We can allow it, but we need to treat nested Apply trees holistically, in order to lift out all the arguments and maintain the correct evaluation order. Fixes #33. | ||||
| * | Fix semantics of by-name application | Jason Zaugg | 2012-11-27 | 2 | -8/+38 |
|/ | | | | | | | | - If we lift one arg, we must lift them all. This preserves evaluation order. - But, never lift an by-name arg Addresses the first half of #33. | ||||
* | Fix execution context lookup for the trivial async block. | Jason Zaugg | 2012-11-27 | 1 | -1/+1 |
| | |||||
* | Lookup log level dynamically from system property. | Jason Zaugg | 2012-11-27 | 2 | -19/+19 |
| | | | | | | And change TreeInterrogation to set if via this means, rather than through a direct means, which seems to assume too much about classloaders. | ||||
* | Merge pull request #44 from phaller/topic/exception-handling | Jason Zaugg | 2012-11-26 | 4 | -20/+106 |
|\ | | | | | Topic/exception handling | ||||
| * | More tests for ExceptionsSpec | phaller | 2012-11-26 | 1 | -8/+30 |
| | | |||||
| * | Fix #42 - Futures created by async are not properly completed with exceptions | phaller | 2012-11-26 | 4 | -20/+84 |
|/ | | | | | | | | | | | | This augments the on-complete handler for an async state with await as follows: if (tr.isFailure) result$async.complete(tr.asInstanceOf[Try[T]]) else { <resultName> = tr.get.asInstanceOf[<resultType>] <nextState> <mkResumeApply> } | ||||
* | Merge pull request #37 from phaller/ticket/23-port-futures-tests | Philipp Haller | 2012-11-26 | 1 | -0/+536 |
|\ | | | | | Port futures tests of scala.concurrent | ||||
| * | Replace uses of Future.map/Future.flatMap with async+await | phaller | 2012-11-26 | 1 | -24/+33 |
| | | |||||
| * | Add ported futures tests | phaller | 2012-11-26 | 1 | -0/+527 |
| | | | | | | | | | | | | These tests do not use async/await, yet. Refs #23 | ||||
* | | Merge pull request #41 from phaller/ticket/35-synth-object-2 | Philipp Haller | 2012-11-26 | 18 | -159/+444 |
|\ \ | | | | | | | Ticket/35 synth object 2 | ||||
| * | | Show that indirectly nested defs aren't lifted. | Jason Zaugg | 2012-11-26 | 2 | -3/+18 |
| | | | |||||
| * | | Fix #26, leaner code gen for `async { <no awaits> }`. | Jason Zaugg | 2012-11-26 | 1 | -9/+20 |
| | | | | | | | | | | | | We can then use this as a replacement for `Future { expr }`. | ||||
| * | | Make the name uniqification more selective. | Jason Zaugg | 2012-11-26 | 2 | -12/+12 |
| | | | | | | | | | | | | | | | | | | We need not, and should not, rename definitions beyond the scope of the async transform, e.g. in nested classes of function bodies. | ||||
| * | | Rewrite the state machine to a class, rather than an object. | Jason Zaugg | 2012-11-26 | 9 | -88/+92 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid suprises in tree retyping, the instance of this class is immediately upcase to StateMachine[Promise[T], ExecContext]. Allow nested non-case classes. These pop up when we use nested async calls. Only look for duplicate names in the subtrees traversed by AsyncTraverser. | ||||
| * | | Preserve outer This() refs through resetAttrs. | Jason Zaugg | 2012-11-26 | 6 | -40/+120 |
| | | | | | | | | | | | | | | | | | | Adapt the compiler's standard ResetAttrs to keep This() nodes don't refer to a symbol defined in the current async block. | ||||
| * | | Synthesize an object implementing Function#apply and resume() | Jason Zaugg | 2012-11-26 | 5 | -52/+84 |
| | | | | | | | | | | | | | | | | | | | | | | | | There is a fly in the ointment: any This() trees in the provided code are getting rebound to this class. Sounds like more resetAttrs fun ahead. The object also serves as the Future {} thunk. | ||||
| * | | Lift local defs and functions. | Jason Zaugg | 2012-11-26 | 5 | -11/+81 |
| | | | | | | | | | | | | | | | | | | | | | Any vals referred to in the body of these must also be lifted. Fixes #36 | ||||
| * | | Fix await in if condition / match scrutinee. | Jason Zaugg | 2012-11-26 | 7 | -41/+59 |
| | | | | | | | | | | | | | | | | | | The type-checking performed in ANF transform is precarious, and needed to use the original condition/ scrutinee in a throwaway tree to get things to work. | ||||
| * | | Extract vals for all names bound in a pattern. | Jason Zaugg | 2012-11-26 | 7 | -49/+107 |
| | | | | | | | | | | | | | | | | | | | | | These gives us something to lift to vars to be accessed from multiple states of the state machine. Fixes #35 | ||||
| * | | Flatmap it, Sam. | Jason Zaugg | 2012-11-26 | 1 | -4/+1 |
|/ / | |||||
* | | Merge pull request #38 from phaller/ticket/19-external-vars | Philipp Haller | 2012-11-26 | 1 | -26/+64 |
|\ \ | | | | | | | Fix #19 | ||||
| * | | Address review comment | phaller | 2012-11-26 | 1 | -3/+1 |
| | | | |||||
| * | | Fix #19 | phaller | 2012-11-26 | 1 | -26/+66 |
| |/ | | | | | | | | | | | | | - Add tests where the result of an await is assigned to a variable external to the async block. - Clean up HygieneSpec. | ||||
* | | Merge pull request #39 from phaller/topic/simplify-attachcopy | Jason Zaugg | 2012-11-26 | 3 | -50/+24 |
|\ \ | | | | | | | Simplify attachCopy | ||||
| * | | Turn object into def | phaller | 2012-11-26 | 1 | -12/+11 |
| | | |