From d2676c8b1440fec7fc45879ecdcbb607d1dd148a Mon Sep 17 00:00:00 2001 From: dmitry Date: Fri, 26 Feb 2021 13:57:36 +0300 Subject: [PATCH] Reformat --- README.md | 16 ++++++++++------ src/main/lambda.md | 2 +- src/main/scala/aqua/Aqua.scala | 6 +++--- .../scala/aqua/{parse => parser}/Block.scala | 19 ++++++++++++------- .../scala/aqua/{parse => parser}/FuncOp.scala | 12 ++++++------ .../scala/aqua/{parse => parser}/Type.scala | 4 ++-- .../aqua/{parse => parser}/lexer/Token.scala | 2 +- .../aqua/{parse => parser}/lexer/Value.scala | 6 +++--- .../{parse => parser}/lift/LiftParser.scala | 2 +- .../aqua/{parse => parser}/lift/Span.scala | 2 +- .../aqua/{parse => parser}/FuncOpSpec.scala | 6 +++--- .../aqua/{parse => parser}/FuncSpec.scala | 6 +++--- .../aqua/{parse => parser}/TypeSpec.scala | 2 +- .../{parse => parser}/lexer/TokenSpec.scala | 4 ++-- .../{parse => parser}/lexer/ValueSpec.scala | 4 ++-- 15 files changed, 51 insertions(+), 42 deletions(-) rename src/main/scala/aqua/{parse => parser}/Block.scala (84%) rename src/main/scala/aqua/{parse => parser}/FuncOp.scala (93%) rename src/main/scala/aqua/{parse => parser}/Type.scala (96%) rename src/main/scala/aqua/{parse => parser}/lexer/Token.scala (98%) rename src/main/scala/aqua/{parse => parser}/lexer/Value.scala (93%) rename src/main/scala/aqua/{parse => parser}/lift/LiftParser.scala (94%) rename src/main/scala/aqua/{parse => parser}/lift/Span.scala (96%) rename src/test/scala/aqua/{parse => parser}/FuncOpSpec.scala (97%) rename src/test/scala/aqua/{parse => parser}/FuncSpec.scala (94%) rename src/test/scala/aqua/{parse => parser}/TypeSpec.scala (98%) rename src/test/scala/aqua/{parse => parser}/lexer/TokenSpec.scala (97%) rename src/test/scala/aqua/{parse => parser}/lexer/ValueSpec.scala (97%) diff --git a/README.md b/README.md index db5e3348..fc81abfe 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ -## sbt project compiled with Dotty +## Aquamarine HLL -### Usage +The high level language that compiles to AIR and some wrappers in the host language (e.g. TypeScript). -This is a normal sbt project, you can compile code with `sbt compile` and run it -with `sbt run`, `sbt console` will start a Dotty REPL. +### TODO -For more information on the sbt-dotty plugin, see the -[dotty-example-project](https://github.com/lampepfl/dotty-example-project/blob/master/README.md). +- Lambda +- Build data types: extend +- Platform-specific Predef with Return ability +- Implementation for abilities +- Abilities passing +- Print syntax errors better way +- For the offset, find a token diff --git a/src/main/lambda.md b/src/main/lambda.md index ae5ca131..b9919547 100644 --- a/src/main/lambda.md +++ b/src/main/lambda.md @@ -6,7 +6,7 @@ records[type] arrays[type] ``` -From lambda, we want to have a non-destructive transitions. +From lambda, we want to have non-destructive transitions. Assume we have variables a...z in scope. diff --git a/src/main/scala/aqua/Aqua.scala b/src/main/scala/aqua/Aqua.scala index ed6b63c6..f3003366 100644 --- a/src/main/scala/aqua/Aqua.scala +++ b/src/main/scala/aqua/Aqua.scala @@ -1,9 +1,9 @@ package aqua -import aqua.parse.{ArrowType, Block, DataType, Type} +import aqua.parser.{ArrowType, Block, DataType, Type} import cats.data.NonEmptyMap import cats.parse.{Parser ⇒ P, Parser0 ⇒ P0} -import aqua.parse.lift.Span +import aqua.parser.lift.Span case class Aqua( inputs: Map[String, DataType], @@ -13,7 +13,7 @@ case class Aqua( ) object Aqua { - import aqua.parse.lexer.Token._ + import aqua.parser.lexer.Token._ val `parser`: P0[List[Block[Span]]] = P.repSep0(Block.`block`[Span], ` \n*`) } diff --git a/src/main/scala/aqua/parse/Block.scala b/src/main/scala/aqua/parser/Block.scala similarity index 84% rename from src/main/scala/aqua/parse/Block.scala rename to src/main/scala/aqua/parser/Block.scala index c12b2167..7184d7f8 100644 --- a/src/main/scala/aqua/parse/Block.scala +++ b/src/main/scala/aqua/parser/Block.scala @@ -1,10 +1,10 @@ -package aqua.parse +package aqua.parser -import aqua.parse.DataType.{`customtypedef`, `datatypedef`} -import aqua.parse.lexer.Token._ -import aqua.parse.Type.{`arrowdef`, `typedef`} -import aqua.parse.lift.LiftParser -import aqua.parse.lift.LiftParser._ +import aqua.parser.DataType.{`customtypedef`, `datatypedef`} +import aqua.parser.lexer.Token._ +import aqua.parser.Type.{`arrowdef`, `typedef`} +import aqua.parser.lift.LiftParser +import aqua.parser.lift.LiftParser._ import cats.Functor import cats.data.{NonEmptyList, NonEmptyMap} import cats.parse.{Parser => P} @@ -56,6 +56,7 @@ object DefService { def `servicename`[F[_]: LiftParser]: P[F[String]] = `service` *> ` ` *> Name.lift <* ` `.? <* `:` <* ` \n*` + // TODO switch to funchead? def `defservice`[F[_]: LiftParser]: P[DefService[F]] = (`servicename` ~ indented(`funcdef`).map(_.toNem)).map { case (n, f) ⇒ DefService(n, f) @@ -74,6 +75,10 @@ object Block { def block[F[_]: LiftParser: Functor]: P[Block[F]] = ` \n*`.rep0.with1 *> P.oneOf( - DefType.`deftype` :: DefService.`defservice` :: DefFunc.`deffunc` :: DefAlias.`defalias` :: Nil + DefType.`deftype` :: + DefService.`defservice` :: + DefFunc.`deffunc` :: + DefAlias.`defalias` :: + Nil ) } diff --git a/src/main/scala/aqua/parse/FuncOp.scala b/src/main/scala/aqua/parser/FuncOp.scala similarity index 93% rename from src/main/scala/aqua/parse/FuncOp.scala rename to src/main/scala/aqua/parser/FuncOp.scala index e70993e5..ae6706e2 100644 --- a/src/main/scala/aqua/parse/FuncOp.scala +++ b/src/main/scala/aqua/parser/FuncOp.scala @@ -1,12 +1,12 @@ -package aqua.parse +package aqua.parser -import aqua.parse.lexer.Token._ -import aqua.parse.lexer.Value +import aqua.parser.lexer.Token._ +import aqua.parser.lexer.Value import cats.data.NonEmptyList import cats.parse.{Parser ⇒ P} -import aqua.parse.lexer.Value.`value` -import aqua.parse.lift.LiftParser -import aqua.parse.lift.LiftParser._ +import aqua.parser.lexer.Value.`value` +import aqua.parser.lift.LiftParser +import aqua.parser.lift.LiftParser._ import cats.Functor import cats.syntax.functor._ diff --git a/src/main/scala/aqua/parse/Type.scala b/src/main/scala/aqua/parser/Type.scala similarity index 96% rename from src/main/scala/aqua/parse/Type.scala rename to src/main/scala/aqua/parser/Type.scala index a36d809c..495a8466 100644 --- a/src/main/scala/aqua/parse/Type.scala +++ b/src/main/scala/aqua/parser/Type.scala @@ -1,6 +1,6 @@ -package aqua.parse +package aqua.parser -import aqua.parse.lexer.Token._ +import aqua.parser.lexer.Token._ import cats.parse.{Parser ⇒ P} sealed trait Type diff --git a/src/main/scala/aqua/parse/lexer/Token.scala b/src/main/scala/aqua/parser/lexer/Token.scala similarity index 98% rename from src/main/scala/aqua/parse/lexer/Token.scala rename to src/main/scala/aqua/parser/lexer/Token.scala index 01239096..4d6a6a9f 100644 --- a/src/main/scala/aqua/parse/lexer/Token.scala +++ b/src/main/scala/aqua/parser/lexer/Token.scala @@ -1,4 +1,4 @@ -package aqua.parse.lexer +package aqua.parser.lexer import cats.data.NonEmptyList import cats.parse.{Accumulator0, Parser ⇒ P, Parser0 ⇒ P0} diff --git a/src/main/scala/aqua/parse/lexer/Value.scala b/src/main/scala/aqua/parser/lexer/Value.scala similarity index 93% rename from src/main/scala/aqua/parse/lexer/Value.scala rename to src/main/scala/aqua/parser/lexer/Value.scala index dafb7a56..09bbe4e4 100644 --- a/src/main/scala/aqua/parse/lexer/Value.scala +++ b/src/main/scala/aqua/parser/lexer/Value.scala @@ -1,7 +1,7 @@ -package aqua.parse.lexer +package aqua.parser.lexer -import aqua.parse.BasicType -import aqua.parse.lexer.Token._ +import aqua.parser.BasicType +import aqua.parser.lexer.Token._ import cats.parse.{Numbers, Parser ⇒ P} sealed trait Value diff --git a/src/main/scala/aqua/parse/lift/LiftParser.scala b/src/main/scala/aqua/parser/lift/LiftParser.scala similarity index 94% rename from src/main/scala/aqua/parse/lift/LiftParser.scala rename to src/main/scala/aqua/parser/lift/LiftParser.scala index b54de479..7c369f5a 100644 --- a/src/main/scala/aqua/parse/lift/LiftParser.scala +++ b/src/main/scala/aqua/parser/lift/LiftParser.scala @@ -1,4 +1,4 @@ -package aqua.parse.lift +package aqua.parser.lift import cats.Id import cats.parse.Parser diff --git a/src/main/scala/aqua/parse/lift/Span.scala b/src/main/scala/aqua/parser/lift/Span.scala similarity index 96% rename from src/main/scala/aqua/parse/lift/Span.scala rename to src/main/scala/aqua/parser/lift/Span.scala index 97681c68..d94babae 100644 --- a/src/main/scala/aqua/parse/lift/Span.scala +++ b/src/main/scala/aqua/parser/lift/Span.scala @@ -1,4 +1,4 @@ -package aqua.parse.lift +package aqua.parser.lift import cats.Comonad import cats.parse.{Parser ⇒ P} diff --git a/src/test/scala/aqua/parse/FuncOpSpec.scala b/src/test/scala/aqua/parser/FuncOpSpec.scala similarity index 97% rename from src/test/scala/aqua/parse/FuncOpSpec.scala rename to src/test/scala/aqua/parser/FuncOpSpec.scala index 97d33677..7904c71c 100644 --- a/src/test/scala/aqua/parse/FuncOpSpec.scala +++ b/src/test/scala/aqua/parser/FuncOpSpec.scala @@ -1,11 +1,11 @@ -package aqua.parse +package aqua.parser -import aqua.parse.lexer.{Literal, VarLambda} +import aqua.parser.lexer.{Literal, VarLambda} import cats.data.NonEmptyList import org.scalatest.EitherValues import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers -import aqua.parse.lift.LiftParser.Implicits.idLiftParser +import aqua.parser.lift.LiftParser.Implicits.idLiftParser import cats.Id class FuncOpSpec extends AnyFlatSpec with Matchers with EitherValues { diff --git a/src/test/scala/aqua/parse/FuncSpec.scala b/src/test/scala/aqua/parser/FuncSpec.scala similarity index 94% rename from src/test/scala/aqua/parse/FuncSpec.scala rename to src/test/scala/aqua/parser/FuncSpec.scala index dbeac9d0..22c2e08a 100644 --- a/src/test/scala/aqua/parse/FuncSpec.scala +++ b/src/test/scala/aqua/parser/FuncSpec.scala @@ -1,11 +1,11 @@ -package aqua.parse +package aqua.parser -import aqua.parse.lexer.{Literal, VarLambda} +import aqua.parser.lexer.{Literal, VarLambda} import cats.data.NonEmptyList import org.scalatest.EitherValues import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers -import aqua.parse.lift.LiftParser.Implicits.idLiftParser +import aqua.parser.lift.LiftParser.Implicits.idLiftParser import cats.Id class FuncSpec extends AnyFlatSpec with Matchers with EitherValues { diff --git a/src/test/scala/aqua/parse/TypeSpec.scala b/src/test/scala/aqua/parser/TypeSpec.scala similarity index 98% rename from src/test/scala/aqua/parse/TypeSpec.scala rename to src/test/scala/aqua/parser/TypeSpec.scala index c286bc48..529f9444 100644 --- a/src/test/scala/aqua/parse/TypeSpec.scala +++ b/src/test/scala/aqua/parser/TypeSpec.scala @@ -1,4 +1,4 @@ -package aqua.parse +package aqua.parser import org.scalatest.EitherValues import org.scalatest.flatspec.AnyFlatSpec diff --git a/src/test/scala/aqua/parse/lexer/TokenSpec.scala b/src/test/scala/aqua/parser/lexer/TokenSpec.scala similarity index 97% rename from src/test/scala/aqua/parse/lexer/TokenSpec.scala rename to src/test/scala/aqua/parser/lexer/TokenSpec.scala index a7c80c77..164f0aa9 100644 --- a/src/test/scala/aqua/parse/lexer/TokenSpec.scala +++ b/src/test/scala/aqua/parser/lexer/TokenSpec.scala @@ -1,6 +1,6 @@ -package aqua.parse.lexer +package aqua.parser.lexer -import aqua.parse.lexer.Token._ +import aqua.parser.lexer.Token._ import org.scalatest.EitherValues import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers diff --git a/src/test/scala/aqua/parse/lexer/ValueSpec.scala b/src/test/scala/aqua/parser/lexer/ValueSpec.scala similarity index 97% rename from src/test/scala/aqua/parse/lexer/ValueSpec.scala rename to src/test/scala/aqua/parser/lexer/ValueSpec.scala index 5595b02a..666a4428 100644 --- a/src/test/scala/aqua/parse/lexer/ValueSpec.scala +++ b/src/test/scala/aqua/parser/lexer/ValueSpec.scala @@ -1,6 +1,6 @@ -package aqua.parse.lexer +package aqua.parser.lexer -import aqua.parse.BasicType +import aqua.parser.BasicType import org.scalatest.EitherValues import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers