Package

org.emmalanguage.api

alg

Permalink

package alg

Visibility
  1. Public
  2. All

Type Members

  1. trait Alg[-A, B] extends Serializable

    Permalink

    A (non-initial) union-representation algebra.

    A (non-initial) union-representation algebra.

    The following identities must hold forall x, y, z:

           merge x zero == x == merge zero x
    merge x (merge y z) == merge (merge x y) z
              merge x y == merge y x

    Instances of this type model parallel computations.

  2. case class Alg10[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10)] with scala.Product with Serializable

    Permalink
  3. case class Alg11[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11)] with scala.Product with Serializable

    Permalink
  4. case class Alg12[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12)] with scala.Product with Serializable

    Permalink
  5. case class Alg13[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13)] with scala.Product with Serializable

    Permalink
  6. case class Alg14[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14)] with scala.Product with Serializable

    Permalink
  7. case class Alg15[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15)] with scala.Product with Serializable

    Permalink
  8. case class Alg16[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15], alg16: Alg[A, B16]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16)] with scala.Product with Serializable

    Permalink
  9. case class Alg17[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15], alg16: Alg[A, B16], alg17: Alg[A, B17]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17)] with scala.Product with Serializable

    Permalink
  10. case class Alg18[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15], alg16: Alg[A, B16], alg17: Alg[A, B17], alg18: Alg[A, B18]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18)] with scala.Product with Serializable

    Permalink
  11. case class Alg19[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15], alg16: Alg[A, B16], alg17: Alg[A, B17], alg18: Alg[A, B18], alg19: Alg[A, B19]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19)] with scala.Product with Serializable

    Permalink
  12. case class Alg2[A, B1, B2](alg1: Alg[A, B1], alg2: Alg[A, B2]) extends Alg[A, (B1, B2)] with scala.Product with Serializable

    Permalink
  13. case class Alg20[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15], alg16: Alg[A, B16], alg17: Alg[A, B17], alg18: Alg[A, B18], alg19: Alg[A, B19], alg20: Alg[A, B20]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20)] with scala.Product with Serializable

    Permalink
  14. case class Alg21[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15], alg16: Alg[A, B16], alg17: Alg[A, B17], alg18: Alg[A, B18], alg19: Alg[A, B19], alg20: Alg[A, B20], alg21: Alg[A, B21]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21)] with scala.Product with Serializable

    Permalink
  15. case class Alg22[A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9], alg10: Alg[A, B10], alg11: Alg[A, B11], alg12: Alg[A, B12], alg13: Alg[A, B13], alg14: Alg[A, B14], alg15: Alg[A, B15], alg16: Alg[A, B16], alg17: Alg[A, B17], alg18: Alg[A, B18], alg19: Alg[A, B19], alg20: Alg[A, B20], alg21: Alg[A, B21], alg22: Alg[A, B22]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22)] with scala.Product with Serializable

    Permalink
  16. case class Alg3[A, B1, B2, B3](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3]) extends Alg[A, (B1, B2, B3)] with scala.Product with Serializable

    Permalink
  17. case class Alg4[A, B1, B2, B3, B4](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4]) extends Alg[A, (B1, B2, B3, B4)] with scala.Product with Serializable

    Permalink
  18. case class Alg5[A, B1, B2, B3, B4, B5](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5]) extends Alg[A, (B1, B2, B3, B4, B5)] with scala.Product with Serializable

    Permalink
  19. case class Alg6[A, B1, B2, B3, B4, B5, B6](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6]) extends Alg[A, (B1, B2, B3, B4, B5, B6)] with scala.Product with Serializable

    Permalink
  20. case class Alg7[A, B1, B2, B3, B4, B5, B6, B7](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7)] with scala.Product with Serializable

    Permalink
  21. case class Alg8[A, B1, B2, B3, B4, B5, B6, B7, B8](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8)] with scala.Product with Serializable

    Permalink
  22. case class Alg9[A, B1, B2, B3, B4, B5, B6, B7, B8, B9](alg1: Alg[A, B1], alg2: Alg[A, B2], alg3: Alg[A, B3], alg4: Alg[A, B4], alg5: Alg[A, B5], alg6: Alg[A, B6], alg7: Alg[A, B7], alg8: Alg[A, B8], alg9: Alg[A, B9]) extends Alg[A, (B1, B2, B3, B4, B5, B6, B7, B8, B9)] with scala.Product with Serializable

    Permalink
  23. case class Bottom[A](n: Int, ord: Ordering[A]) extends Alg[A, List[A]] with scala.Product with Serializable

    Permalink

    Constructed by xs.bottom(n)(ord).

  24. case class Count[A](p: (A) ⇒ Boolean) extends Alg[A, Long] with scala.Product with Serializable

    Permalink

    Constructed by xs.count(p).

  25. case class Exists[A](init: (A) ⇒ Boolean) extends Alg[A, Boolean] with scala.Product with Serializable

    Permalink

    Constructed by xs.exists(p).

  26. case class Find[A](p: (A) ⇒ Boolean) extends Alg[A, Option[A]] with scala.Product with Serializable

    Permalink

    Constructed by xs.find(p).

  27. case class FlatMap[A, B, C](f: (A) ⇒ DataBag[B], child: Alg[B, C])(implicit evidence$1: Meta[C]) extends Alg[A, C] with scala.Product with Serializable

    Permalink

    A subtree of folds with inputs conditioned in a predicate f.

  28. case class Fold[A, B](z: B, i: (A) ⇒ B, p: (B, B) ⇒ B) extends Alg[A, B] with scala.Product with Serializable

    Permalink

    Constructed by xs.fold(z)(i, p).

  29. case class Forall[A](init: (A) ⇒ Boolean) extends Alg[A, Boolean] with scala.Product with Serializable

    Permalink

    Constructed by xs.forall(p).

  30. case class Map[A, B, C](f: (A) ⇒ B, child: Alg[B, C]) extends Alg[A, C] with scala.Product with Serializable

    Permalink

    A subtree of folds with inputs converted from type A to type B.

  31. case class Max[A](ord: Ordering[A]) extends Alg[A, Option[A]] with scala.Product with Serializable

    Permalink

    Constructed by xs.max(ord).

  32. case class Min[A](ord: Ordering[A]) extends Alg[A, Option[A]] with scala.Product with Serializable

    Permalink

    Constructed by xs.min(ord).

  33. case class Product[A](num: Numeric[A]) extends Alg[A, A] with scala.Product with Serializable

    Permalink

    Constructed by xs.product(num).

  34. case class Reduce[A](z: A, p: (A, A) ⇒ A) extends Alg[A, A] with scala.Product with Serializable

    Permalink

    Constructed by xs.reduce(z)(p).

  35. case class ReduceOpt[A](p: (A, A) ⇒ A) extends Alg[A, Option[A]] with scala.Product with Serializable

    Permalink

    Constructed by xs.reduceOption(p).

  36. case class Sum[A](num: Numeric[A]) extends Alg[A, A] with scala.Product with Serializable

    Permalink

    Constructed by xs.sum(num).

  37. case class Top[A](n: Int, ord: Ordering[A]) extends Alg[A, List[A]] with scala.Product with Serializable

    Permalink

    Constructed by xs.top(n)(ord).

  38. case class WithFilter[A, B](p: (A) ⇒ Boolean, child: Alg[A, B]) extends Alg[A, B] with scala.Product with Serializable

    Permalink

    A subtree of folds with inputs conditioned in a predicate p.

Value Members

  1. object Alg extends Serializable

    Permalink
  2. object IsEmpty extends Alg[Any, Boolean] with scala.Product with Serializable

    Permalink

    Constructed by xs.isEmpty.

  3. object NonEmpty extends Alg[Any, Boolean] with scala.Product with Serializable

    Permalink

    Constructed by xs.nonEmpty.

  4. object Size extends Alg[Any, Long] with scala.Product with Serializable

    Permalink

    Constructed by xs.size.

Ungrouped