Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Merge pull request #14 from lrytz/cleanups | Jason Zaugg | 2013-04-27 | 1 | -13/+14 | |
|\ | | | | | minor cleanups accumulated while reading the code | |||||
| * | minor cleanups accumulated while reading the code | Lukas Rytz | 2013-04-27 | 1 | -13/+14 | |
|/ | ||||||
* | Merge pull request #12 from retronym/topic/compile-time-only | Jason Zaugg | 2013-04-20 | 2 | -3/+3 | |
|\ | | | | | Mark `await` as @compileTimeOnly | |||||
| * | Mark `await` as @compileTimeOnly | Jason Zaugg | 2013-04-17 | 2 | -3/+3 | |
|/ | | | | | | Rather than as @deprecated. This commit means we can no longer build against 2.10.0. | |||||
* | Merge pull request #9 from retronym/ticket/4-multi-param | Philipp Haller | 2013-04-17 | 4 | -74/+134 | |
|\ | | | | | Allow await in applications with multiple argument lists | |||||
| * | Rephrase a few pattern matches, fix ANF tracing. | Jason Zaugg | 2013-04-15 | 2 | -11/+9 | |
| | | | | | | | | Addresses review comments | |||||
| * | Allow await in applications with multiple argument lists | Jason Zaugg | 2013-04-11 | 4 | -70/+132 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, we levied an implementation restriction to prevent this. As it turned out, that needlessly prevented use of `await` in the receiver of a multi-param-list application. This commit lifts the restriction altogether, and treats such applications holistically, being careful to preserve the left-to-right evaluation order of arguments in the translated code. - use `TreeInfo.Applied` and `Type#paramss` from `reflect.internal` to get the info we need - use the parameter name for the lifted argument val, rather than `argN` - encapsulate handling of by-name-ness and parameter names in `mapArgumentss` - test for evaluation order preservation | |||||
* | | Merge pull request #10 from phaller/topic/cps-dep | Philipp Haller | 2013-04-13 | 10 | -67/+244 | |
|\ \ | | | | | | | Remove CPS dependency from default async implementation | |||||
| * | | Remove CPS dependency from default async implementation | Philipp Haller | 2013-04-12 | 10 | -67/+244 | |
|/ / | | | | | | | | | | | - move all CPS-related code to `continuations` sub package - fix CPS-based async implementation - enable testing of CPS-based async implementation | |||||
* | | Merge pull request #7 from retronym/topic/scala-2.10.1 | Jason Zaugg | 2013-04-11 | 8 | -20/+43 | |
|\ \ | | | | | | | Scala 2.10.1 compatibility | |||||
| * | | Avoid needless Unit literal as the expression of a Block. | Jason Zaugg | 2013-04-11 | 1 | -1/+1 | |
| |/ | | | | | | | We've got a perfectly good expression at hand. | |||||
| * | Scala 2.10.1 compat: apply renaming to originals of TypeTrees | Jason Zaugg | 2013-04-10 | 2 | -18/+22 | |
| | | | | | | | | This time in the ANF/Inline transformation. | |||||
| * | Scala 2.10.1 compat: account for change in PartialFunction synthesis. | Jason Zaugg | 2013-04-10 | 2 | -22/+28 | |
| | | | | | | | | | | | | | | | | | | | | | | Since SI-6187, the default case of a partial function is now included in the tree. Before, it was a tree attachment, conditionally inserted in the pattern matcher. I had hoped that that change would allow us to do away with `RestorePatternMatchingFunctions` altogether, but it seems that we aren't so lucky. Instead, I've adapted that transformer to account for the new scheme. | |||||
| * | Scala 2.10.1 compat: apply renaming to originals of TypeTrees | Jason Zaugg | 2013-04-10 | 3 | -19/+27 | |
| | | ||||||
| * | Temporarily comment out tests that are failing under 2.10.1. | Jason Zaugg | 2013-04-10 | 4 | -61/+66 | |
| | | ||||||
| * | Address lint warnings. | Jason Zaugg | 2013-04-10 | 1 | -2/+2 | |
| | | ||||||
| * | Address deprecation warnings in Scala 2.10.1 | Jason Zaugg | 2013-04-10 | 4 | -10/+10 | |
|/ | ||||||
* | 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 | |
| | |