@@ -330,6 +330,7 @@ object CollectionType {
330
330
sealed trait ImmutableCollectionType extends CollectionType with DataType {
331
331
def withElement (t : DataType ): ImmutableCollectionType
332
332
}
333
+
333
334
sealed trait MutableStreamType extends CollectionType {
334
335
def toCanon : ImmutableCollectionType
335
336
}
@@ -389,7 +390,7 @@ case class StreamMapType(override val element: DataType) extends MutableStreamTy
389
390
390
391
override def toString : String = s " % $element"
391
392
392
- def getFunc (f : Func ): ArrowType = {
393
+ def getFunc (f : Func ): ArrowType = {
393
394
val (args, rets) = f match {
394
395
case Get =>
395
396
(ScalarType .string :: Nil ) -> (ArrayType (element) :: Nil )
@@ -431,7 +432,7 @@ object StreamMapType {
431
432
def funcByString (s : String ): Option [Func ] =
432
433
Func .values.find(_.name == s)
433
434
434
- lazy val allFuncs : List [Func ] = Func .values.toList
435
+ lazy val allFuncs : List [Func ] = Func .values.toList
435
436
436
437
def top (): StreamMapType = StreamMapType (TopType )
437
438
}
@@ -602,9 +603,11 @@ case class ArrowType(domain: ProductType, codomain: ProductType) extends Type {
602
603
object Type {
603
604
604
605
/**
605
- * `StreamType` is collectible with canonicalization
606
+ * `StreamType` is collectible with canonicalization.
607
+ * Note: until aqua type system has immutable maps,
608
+ * they are not collectible
606
609
*/
607
- type CollectibleType = DataType | MutableStreamType
610
+ type CollectibleType = DataType | StreamType
608
611
609
612
def isStreamType (t : Type ): Boolean =
610
613
t match {
0 commit comments