Skip to content
Snippets Groups Projects
Commit 195ea77c authored by Nicolas Voirol's avatar Nicolas Voirol
Browse files

Bump sbt to 1.2.8

parent 6cdfa722
No related branches found
No related tags found
No related merge requests found
name := "inox" name := "inox"
enablePlugins(GitVersioning) enablePlugins(GitVersioning, TutPlugin)
git.useGitDescribe := true git.useGitDescribe := true
organization := "ch.epfl.lara" organization := "ch.epfl.lara"
scalaVersion := "2.11.8" scalaVersion := "2.12.8"
crossScalaVersions := Seq("2.11.8", "2.12.1") crossScalaVersions := Seq("2.11.8", "2.12.8")
scalacOptions ++= Seq( scalacOptions ++= Seq(
"-deprecation", "-deprecation",
...@@ -103,8 +103,6 @@ sourceGenerators in Compile += Def.task { ...@@ -103,8 +103,6 @@ sourceGenerators in Compile += Def.task {
lazy val genDoc = taskKey[Unit]("Typecheck and interpret the documentation") lazy val genDoc = taskKey[Unit]("Typecheck and interpret the documentation")
tutSettings
tutSourceDirectory := sourceDirectory.value / "main" / "doc" tutSourceDirectory := sourceDirectory.value / "main" / "doc"
tutTargetDirectory := baseDirectory.value / "doc" tutTargetDirectory := baseDirectory.value / "doc"
......
...@@ -61,7 +61,7 @@ It is also possible to embed types and expressions: ...@@ -61,7 +61,7 @@ It is also possible to embed types and expressions:
```scala ```scala
scala> e"let x: $tpe = $expr in !x" scala> e"let x: $tpe = $expr in !x"
res1: inox.trees.interpolator.trees.Expr = res0: inox.trees.interpolator.trees.Expr =
val x: Boolean = 1 + 1 == 2 val x: Boolean = 1 + 1 == 2
¬x ¬x
``` ```
...@@ -77,10 +77,10 @@ val x: Boolean = 1 + 1 == 2 ...@@ -77,10 +77,10 @@ val x: Boolean = 1 + 1 == 2
```scala ```scala
scala> e"true" scala> e"true"
res2: inox.trees.interpolator.trees.Expr = true res1: inox.trees.interpolator.trees.Expr = true
scala> e"false" scala> e"false"
res3: inox.trees.interpolator.trees.Expr = false res2: inox.trees.interpolator.trees.Expr = false
``` ```
<a name="numeric-literals"></a> <a name="numeric-literals"></a>
...@@ -88,7 +88,7 @@ res3: inox.trees.interpolator.trees.Expr = false ...@@ -88,7 +88,7 @@ res3: inox.trees.interpolator.trees.Expr = false
```scala ```scala
scala> e"1" scala> e"1"
res4: inox.trees.interpolator.trees.Expr = 1 res3: inox.trees.interpolator.trees.Expr = 1
``` ```
Note that the type of numeric expressions is inferred. In case of ambiguity, `BigInt` is chosen by default. Note that the type of numeric expressions is inferred. In case of ambiguity, `BigInt` is chosen by default.
...@@ -98,7 +98,7 @@ scala> val bigIntLit = e"1" ...@@ -98,7 +98,7 @@ scala> val bigIntLit = e"1"
bigIntLit: inox.trees.interpolator.trees.Expr = 1 bigIntLit: inox.trees.interpolator.trees.Expr = 1
scala> bigIntLit.getType scala> bigIntLit.getType
res5: inox.trees.interpolator.trees.Type = BigInt res4: inox.trees.interpolator.trees.Type = BigInt
``` ```
It is however possible to annotate the desired type. It is however possible to annotate the desired type.
...@@ -108,7 +108,7 @@ scala> val intLit = e"1 : Int" ...@@ -108,7 +108,7 @@ scala> val intLit = e"1 : Int"
intLit: inox.trees.interpolator.trees.Expr = 1 intLit: inox.trees.interpolator.trees.Expr = 1
scala> intLit.getType scala> intLit.getType
res6: inox.trees.interpolator.trees.Type = Int res5: inox.trees.interpolator.trees.Type = Int
``` ```
```scala ```scala
...@@ -116,7 +116,7 @@ scala> val realLit = e"1 : Real" ...@@ -116,7 +116,7 @@ scala> val realLit = e"1 : Real"
realLit: inox.trees.interpolator.trees.Expr = 1 realLit: inox.trees.interpolator.trees.Expr = 1
scala> realLit.getType scala> realLit.getType
res7: inox.trees.interpolator.trees.Type = Real res6: inox.trees.interpolator.trees.Type = Real
``` ```
<a name="real-literals"></a> <a name="real-literals"></a>
...@@ -124,7 +124,7 @@ res7: inox.trees.interpolator.trees.Type = Real ...@@ -124,7 +124,7 @@ res7: inox.trees.interpolator.trees.Type = Real
```scala ```scala
scala> e"3.75" scala> e"3.75"
res8: inox.trees.interpolator.trees.Expr = 15/4 res7: inox.trees.interpolator.trees.Expr = 15/4
``` ```
<a name="string-literals"></a> <a name="string-literals"></a>
...@@ -132,7 +132,7 @@ res8: inox.trees.interpolator.trees.Expr = 15/4 ...@@ -132,7 +132,7 @@ res8: inox.trees.interpolator.trees.Expr = 15/4
```scala ```scala
scala> e"'Hello world!'" scala> e"'Hello world!'"
res9: inox.trees.interpolator.trees.Expr = "Hello world!" res8: inox.trees.interpolator.trees.Expr = "Hello world!"
``` ```
<a name="character-literals"></a> <a name="character-literals"></a>
...@@ -140,7 +140,7 @@ res9: inox.trees.interpolator.trees.Expr = "Hello world!" ...@@ -140,7 +140,7 @@ res9: inox.trees.interpolator.trees.Expr = "Hello world!"
```scala ```scala
scala> e"`a`" scala> e"`a`"
res10: inox.trees.interpolator.trees.Expr = 'a' res9: inox.trees.interpolator.trees.Expr = 'a'
``` ```
<a name="arithmetic"></a> <a name="arithmetic"></a>
...@@ -150,7 +150,7 @@ Arithmetic operators are infix and have there usual associativity and priority. ...@@ -150,7 +150,7 @@ Arithmetic operators are infix and have there usual associativity and priority.
```scala ```scala
scala> e"1 + 2 * 5 + 6 - 7 / 17" scala> e"1 + 2 * 5 + 6 - 7 / 17"
res11: inox.trees.interpolator.trees.Expr = ((1 + 2 * 5) + 6) - 7 / 17 res10: inox.trees.interpolator.trees.Expr = ((1 + 2 * 5) + 6) - 7 / 17
``` ```
<a name="conditionals"></a> <a name="conditionals"></a>
...@@ -158,7 +158,7 @@ res11: inox.trees.interpolator.trees.Expr = ((1 + 2 * 5) + 6) - 7 / 17 ...@@ -158,7 +158,7 @@ res11: inox.trees.interpolator.trees.Expr = ((1 + 2 * 5) + 6) - 7 / 17
```scala ```scala
scala> e"if (1 == 2) 'foo' else 'bar'" scala> e"if (1 == 2) 'foo' else 'bar'"
res12: inox.trees.interpolator.trees.Expr = res11: inox.trees.interpolator.trees.Expr =
if (1 == 2) { if (1 == 2) {
"foo" "foo"
} else { } else {
...@@ -171,7 +171,7 @@ if (1 == 2) { ...@@ -171,7 +171,7 @@ if (1 == 2) {
```scala ```scala
scala> e"let word: String = 'World!' in concatenate('Hello ', word)" scala> e"let word: String = 'World!' in concatenate('Hello ', word)"
res13: inox.trees.interpolator.trees.Expr = res12: inox.trees.interpolator.trees.Expr =
val word: String = "World!" val word: String = "World!"
"Hello " + word "Hello " + word
``` ```
...@@ -181,21 +181,21 @@ val word: String = "World!" ...@@ -181,21 +181,21 @@ val word: String = "World!"
```scala ```scala
scala> e"lambda x: BigInt, y: BigInt. x + y" scala> e"lambda x: BigInt, y: BigInt. x + y"
res14: inox.trees.interpolator.trees.Expr = (x: BigInt, y: BigInt) => x + y res13: inox.trees.interpolator.trees.Expr = (x: BigInt, y: BigInt) => x + y
``` ```
It is also possible to use the Unicode `λ` symbol. It is also possible to use the Unicode `λ` symbol.
```scala ```scala
scala> e"λx: BigInt, y: BigInt. x + y" scala> e"λx: BigInt, y: BigInt. x + y"
res15: inox.trees.interpolator.trees.Expr = (x: BigInt, y: BigInt) => x + y res14: inox.trees.interpolator.trees.Expr = (x: BigInt, y: BigInt) => x + y
``` ```
Type annotations can be omitted for any of the parameters if their type can be inferred. Type annotations can be omitted for any of the parameters if their type can be inferred.
```scala ```scala
scala> e"lambda x. x * 0.5" scala> e"lambda x. x * 0.5"
res16: inox.trees.interpolator.trees.Expr = (x: Real) => x * 1/2 res15: inox.trees.interpolator.trees.Expr = (x: Real) => x * 1/2
``` ```
<a name="quantifiers"></a> <a name="quantifiers"></a>
...@@ -206,10 +206,10 @@ res16: inox.trees.interpolator.trees.Expr = (x: Real) => x * 1/2 ...@@ -206,10 +206,10 @@ res16: inox.trees.interpolator.trees.Expr = (x: Real) => x * 1/2
```scala ```scala
scala> e"forall x: Int. x > 0" scala> e"forall x: Int. x > 0"
res17: inox.trees.interpolator.trees.Expr = x: Int. (x > 0) res16: inox.trees.interpolator.trees.Expr = x: Int. (x > 0)
scala> e"∀x. x || true" scala> e"∀x. x || true"
res18: inox.trees.interpolator.trees.Expr = x: Boolean. (x || true) res17: inox.trees.interpolator.trees.Expr = x: Boolean. (x || true)
``` ```
<a name="existential-quantifiers"></a> <a name="existential-quantifiers"></a>
...@@ -217,10 +217,10 @@ res18: inox.trees.interpolator.trees.Expr = ∀x: Boolean. (x || true) ...@@ -217,10 +217,10 @@ res18: inox.trees.interpolator.trees.Expr = ∀x: Boolean. (x || true)
```scala ```scala
scala> e"exists x: BigInt. x < 0" scala> e"exists x: BigInt. x < 0"
res19: inox.trees.interpolator.trees.Expr = ¬∀x: BigInt. ¬(x < 0) res18: inox.trees.interpolator.trees.Expr = ¬∀x: BigInt. ¬(x < 0)
scala> e"∃x, y. x + y == 0" scala> e"∃x, y. x + y == 0"
res20: inox.trees.interpolator.trees.Expr = ¬∀x: BigInt, y: BigInt. (x + y 0) res19: inox.trees.interpolator.trees.Expr = ¬∀x: BigInt, y: BigInt. (x + y 0)
``` ```
<a name="choose"></a> <a name="choose"></a>
...@@ -228,10 +228,10 @@ res20: inox.trees.interpolator.trees.Expr = ¬∀x: BigInt, y: BigInt. (x + y ...@@ -228,10 +228,10 @@ res20: inox.trees.interpolator.trees.Expr = ¬∀x: BigInt, y: BigInt. (x + y
```scala ```scala
scala> e"choose x. x * 3 < 17" scala> e"choose x. x * 3 < 17"
res21: inox.trees.interpolator.trees.Expr = choose((x: BigInt) => x * 3 < 17) res20: inox.trees.interpolator.trees.Expr = choose((x: BigInt) => x * 3 < 17)
scala> e"choose x: String. true" scala> e"choose x: String. true"
res22: inox.trees.interpolator.trees.Expr = choose((x: String) => true) res21: inox.trees.interpolator.trees.Expr = choose((x: String) => true)
``` ```
<a name="primitives"></a> <a name="primitives"></a>
......
sbt.version=0.13.16 sbt.version=1.2.8
addSbtPlugin("org.tpolecat" % "tut-plugin" % "0.4.8") addSbtPlugin("org.tpolecat" % "tut-plugin" % "0.6.10")
addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.8.5") addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "1.0.0")
// avoids warning from sbt-git, see https://github.com/sbt/sbt-git#known-issues // avoids warning from sbt-git, see https://github.com/sbt/sbt-git#known-issues
libraryDependencies += "org.slf4j" % "slf4j-nop" % "1.7.21" libraryDependencies += "org.slf4j" % "slf4j-nop" % "1.7.21"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment