Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Update README.md

  • Loading branch information...
commit fb785b45e0563c4719adefd3ad7ff7b095865171 1 parent 7cd4722
@ochafik ochafik authored
Showing with 18 additions and 15 deletions.
  1. +18 −15 README.md
View
33 README.md
@@ -6,21 +6,6 @@ Collection of Scala Macro goodies ([BSD-licensed](https://github.com/ochafik/Sca
for (i <- 0 until 100000000 optimized) { ... }
```
-- *[Reified](https://github.com/ochafik/Scalaxy/tree/master/Reified)* ([ScalaDoc](http://ochafik.github.io/Scalaxy/Reified/latest/api/index.html)) provides a powerful reified values mechanism that deals well with composition and captures of runtime values, allowing for complex ASTs to be generated during runtime for re-compilation or transformation purposes. It preserves the original value that was reified, allowing for flexible mixed usage of runtime value and compile-time AST.
-
- ```scala
- import scalaxy.reified._
-
- def comp(capture1: Int): ReifiedFunction1[Int, Int] = {
- val capture2 = Seq(10, 20, 30)
- val f = reify((x: Int) => capture1 + capture2(x))
- val g = reify((x: Int) => x * x)
-
- g.compose(f)
- }
-
- println("AST: " + comp(10).expr().tree)
- ```
- *[Debug](https://github.com/ochafik/Scalaxy/tree/master/Debug)* ([ScalaDoc](http://ochafik.github.io/Scalaxy/Debug/latest/api/index.html)) provides `assert`, `require` and `assume` macros that automatically add a useful message to the regular [Predef](http://www.scala-lang.org/api/current/index.html#scala.Predef$) calls.
@@ -28,6 +13,8 @@ Collection of Scala Macro goodies ([BSD-licensed](https://github.com/ochafik/Sca
- *[Parano](https://github.com/ochafik/Scalaxy/tree/master/Parano)* provides compile-time checks to avoid common naming mistakes (ambiguous or swapped case class field extractor names, ambiguous unnamed param names with same type...)
+- *[Privacy](https://github.com/ochafik/Scalaxy/tree/master/Privacy)* changes the default member visibily from public to private (unless the `@public` annotation is used)
+
- *[Beans](https://github.com/ochafik/Scalaxy/tree/master/Beans)* ([ScalaDoc](http://ochafik.github.io/Scalaxy/Beans/latest/api/index.html)) are a nifty combination of Dynamics and macros that provide a type-safe eye-candy syntax to set fields of regular Java Beans in a Scala way (without any runtime dependency at all!):
```scala
@@ -49,6 +36,22 @@ Collection of Scala Macro goodies ([BSD-licensed](https://github.com/ochafik/Sca
)
```
+- *[Reified](https://github.com/ochafik/Scalaxy/tree/master/Reified)* ([ScalaDoc](http://ochafik.github.io/Scalaxy/Reified/latest/api/index.html)) provides a powerful reified values mechanism that deals well with composition and captures of runtime values, allowing for complex ASTs to be generated during runtime for re-compilation or transformation purposes. It preserves the original value that was reified, allowing for flexible mixed usage of runtime value and compile-time AST.
+
+ ```scala
+ import scalaxy.reified._
+
+ def comp(capture1: Int): ReifiedFunction1[Int, Int] = {
+ val capture2 = Seq(10, 20, 30)
+ val f = reify((x: Int) => capture1 + capture2(x))
+ val g = reify((x: Int) => x * x)
+
+ g.compose(f)
+ }
+
+ println("AST: " + comp(10).expr().tree)
+ ```
+
- Obsolete experiments (mostly because of quasiquotes):
- *[MacroExtensions](https://github.com/ochafik/Scalaxy/tree/master/Obsolete/MacroExtensions)* provides an extremely simple (and *experimental*) syntax to define extensions methods as macros:
Please sign in to comment.
Something went wrong with that request. Please try again.