| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Further tweak version of continuations plugin in scala-dist.pom
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While we must use full version, rather than the cross version
(12720e699), we need to use latest non-snapshot version.
This should avoid failures like:
https://jenkins.scala-ide.org:8496/jenkins/view/Scala%20Xsource%20flag%20nightlies/job/Akka/63/console
Such as:
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.scala-lang.plugins#scala-continuations-plugin_2.11.0-SNAPSHOT;1.0.1:
not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: unresolved dependency:
org.scala-lang.plugins#scala-continuations-plugin_2.11.0-SNAPSHOT;1.0.1:
|
|\
| |
| | |
SI-8466 fix quasiquote crash on recursively iterable unlifting
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to handle unquoting quasiquotes needs to know if type is
iterable and whats the depth of the iterable nesting which is called
rank. (e.g. List[List[Tree]] is rank 2 iterable of Tree)
The logic that checks depth of iterable nesting didn't take a situation
where T is in fact Iterable[T] which caused infinite recursion in
stripIterable function.
In order to fix it stripIterable now always recurs no more than
non-optional limit times.
|
|\ \
| |/
|/| |
SI-8460 Fix regression in implicit divergence recovery
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implicit search detects likely cycles by looking at the stack of
open implicits and checking the same implicit appears twice, and
if the second occurrence is trying satisfy an implicit search for
a "dominant" type.
Originally, this condition immediately failed the entire implicit
search. However, since Scala 2.10, this mechanism has been refined to
continue searching after the first divergent implicit is detected.
If a second divergence is found, we fail immediately. If the followup
search fails, we report the first divergence. Otherwise, we
take the successful result.
This mechanism was originally built around exceptions. This proved
to be fragile, and was refactored in SI-7291 / accaa314 to instead
use the `Context.errors` to control the process.
But, since that change, the pattern of implicits in scalanlp/breeze
and Shapeless have been prone to reporting the divergent implicit
errors where they used to recover.
So long as we left the `DivergentImplictTypeError` that originates
from a nested implicit search in `context.errors`, we are unable to
successfully typecheck other candidates. This commit instead
stashes the first such error away in `DivergentImplicitRecovery`,
to clear the way for the alternative path to succeed.
We must retain any other divergent implicit errors, as witnessed by
test/files/neg/t2031.scala, which loops unless we retain divergent
implicit errors that we don't stash in `DivergentImplicitRecovery`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Better encapsulation for `DivergentImplicitRecovery` by replacing
the vars `countDown` and `implicitSym` with a single var holding
`Option[DivergentImplicitTypeError]`.
Also adds a pending test for SI-8460 that will be addressed in the
next commit. This commit is just groundwork and should not change
any results of implicit search.
|
|/ |
|
|\
| |
| | |
Disable more of the Travis spec build for PR validation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
So as to avoid:
$ ssh-add -D
All identities removed.
$ ssh-add spec/id_dsa_travis
Enter passphrase for spec/id_dsa_travis:
No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.
|
|\ \
| |/
|/| |
Minor typographical fixes for lexical syntax chapter
|
| | |
|
|\ \
| |/
|/| |
Spec cleanups
|
| | |
|
| |
| |
| |
| |
| |
| | |
Prefer smaller islands of `code` in bigger
sections of $math$. Do not include $`code` in math$,
and avoid `$math$ in code`.
|
|/ |
|
|\
| |
| | |
More cleanup for the spec. Ported over @som-snytt's PRs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This wasn't so easy after all. The clever one is to show
that `Option.fold(=>Z)` preserves the by-nameness of the zero value,
which may or may not be in the spec yet.
The addition to 6.26.5 was (I think) rejected as implementation-specific;
it should use the wording from 6.6 about "preserving by-nameness" or "by-namity"
(the latter has the advantage of sounding both more technical and somewhat inane).
|
| |
| |
| |
| |
| |
| |
| |
| | |
This wording attempts to describe the behavior change in SI-5610
while remaining non-committal about the mechanism.
It refers to the section on function applications and attempts to
use similar language.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Aside from the consolidation of title & preface in index.md,
this commit was produced as follows:
```
cd spec/
g mv 03-lexical-syntax.md 01-lexical-syntax.md
g mv 04-identifiers-names-and-scopes.md 02-identifiers-names-and-scopes.md
g mv 05-types.md 03-types.md
g mv 06-basic-declarations-and-definitions.md 04-basic-declarations-and-definitions.md
g mv 07-classes-and-objects.md 05-classes-and-objects.md
g mv 08-expressions.md 06-expressions.md
g mv 09-implicit-parameters-and-views.md 07-implicit-parameters-and-views.md
g mv 10-pattern-matching.md 08-pattern-matching.md
g mv 11-top-level-definitions.md 09-top-level-definitions.md
g mv 12-xml-expressions-and-patterns.md 10-xml-expressions-and-patterns.md
g mv 13-user-defined-annotations.md 11-user-defined-annotations.md
g mv 14-the-scala-standard-library.md 12-the-scala-standard-library.md
g mv 15-syntax-summary.md 13-syntax-summary.md
g mv 16-references.md 14-references.md
perl -pi -e 's/03-lexical-syntax/01-lexical-syntax/g' *.md
perl -pi -e 's/04-identifiers-names-and-scopes/02-identifiers-names-and-scopes/g' *.md
perl -pi -e 's/05-types/03-types/g' *.md
perl -pi -e 's/06-basic-declarations-and-definitions/04-basic-declarations-and-definitions/g' *.md
perl -pi -e 's/07-classes-and-objects/05-classes-and-objects/g' *.md
perl -pi -e 's/08-expressions/06-expressions/g' *.md
perl -pi -e 's/09-implicit-parameters-and-views/07-implicit-parameters-and-views/g' *.md
perl -pi -e 's/10-pattern-matching/08-pattern-matching/g' *.md
perl -pi -e 's/11-top-level-definitions/09-top-level-definitions/g' *.md
perl -pi -e 's/12-xml-expressions-and-patterns/10-xml-expressions-and-patterns/g' *.md
perl -pi -e 's/13-user-defined-annotations/11-user-defined-annotations/g' *.md
perl -pi -e 's/14-the-scala-standard-library/12-the-scala-standard-library/g' *.md
perl -pi -e 's/15-syntax-summary/13-syntax-summary/g' *.md
perl -pi -e 's/16-references/14-references/g' *.md
```
|
| | |
|
|/ |
|
|\
| |
| | |
Remove scala-continuations-plugin from scala-library-all
|
| |
| |
| |
| |
| |
| | |
The continuations plugin should instead be a dependency of scala-dist,
as scala-library-all should be a drop-in replacement for scala-library,
and as such should not (indirectly) depend on plugins/the compiler.
|
|\ \
| |/
|/| |
Import markdown spec under spec/
|
| | |
|
| | |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The bulk of the effort was done in:
https://github.com/iainmcgin/scala-ref-markdown/
I just ported it to redcarpet 3.1, added a jekyll build to run on Travis,
and fixed some long-standing spec bugs.
As described in spec/README.md, for now we're only generating
an html page per each chapter with a rudimentary toc index.
We'll focus on presenting this more nicely first, and then
look into a pdf / single-page html version.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To avoid confusion, removing artifacts for
currently unsupported targets (pdf/single-page html).
I'd like to bring those back, but in the mean time let's avoid distractions.
Add Travis build.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add chapter number to YAML, which is replace in numbering.css.
Use CSS counters for chapters, sections, subsections | examples.
Examples are detected by looking at the H3 element's id,
which redcarpet derives from the heading's title.
It must start with "Example:", and the whole title is suppressed
by a little javascript, so we can make Examples look like in the pdf.
For example, `### Example:` becomes `Example 3.2.10`,
if it's the 10th example in Section 3.2.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
with_toc_data was updated in https://github.com/vmg/redcarpet/pull/186
to generate pretty ID attributes for Hn headers, which is what we use
for cross-linking
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
To mimic github flavored markdown for local viewing.
Note that this requires a development version of jekyll.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After some dirty grepping, regexing and perling, I present to you: internal links!
I wish there was a way to make this more robust, these will only work on the html version,
and assume we don't change filenames...
|