java.lang.UnsupportedOperationException: TraversableView.Builder.result
at scala.collection.TraversableView$NoBuilder.result(TraversableView.scala:27)
at scala.collection.TraversableView$NoBuilder.result(TraversableView.scala:24)
at scala.collection.IndexedSeqOptimized.zip(IndexedSeqOptimized.scala:90)
at scala.collection.IndexedSeqOptimized.zip$(IndexedSeqOptimized.scala:80)
at scala.collection.mutable.IndexedSeqView$AbstractTransformed.zip(IndexedSeqView.scala:46)
at org.unisonweb.BuiltinTypes$.org$unisonweb$BuiltinTypes$$$anonfun$dataConstructorish$4(BuiltinTypes.scala:126)
`fp_s` and `fppp_s` accept a function returning `EnvTo[Foo]`.
The environment is passed to the resulting `EnvTo[Foo]` before
encoding the `Foo` as normal.
the typedecl parser for builtins seems to work fine
fixed prettyprinting of tuples
fixed logic error in OptionalTC.isEmpty
added tuple.u and unfold.u tests
added `fs_p`, `fpps_p`, etc and the `StackDecode` typeclass, which describes how
to decode a value which needs access to a stack.
builtin function adapter helper naming convention guide:
`u` = unison unboxed
`b` = Scala Boolean as unboxed booleana
`l` = Scala Long as unboxed int64
`n` = Scala Int as unboxed uint64
`d` = Scala Double as unboxed float
`p` = "polymorphic", some generic type not known to be unboxed
`s` = "stack decode", some input parameter requiring access to the runtime stack to be decoded
`z` = laZy, a result type for which the decompiled form has to be recorded with each operation, as opposed to being derived from a Value.
`p` is used when a function accepts a an `Env => Stream` that will not be consumed
`s` is used when a function accepts a `Stream` (no `Env`) that will be consumed
`z` is used when a function returns a `Stream`
add pretty printing for `Tuple` and `Sequence`
- revert scalaVersion from 2.12.6 to 2.12.4 because `1.0 until ...` is deprecated in 2.12.6
- recommended workaround is to use BigDecimal ranges, but this shallow fix caused a ClassCastException
- revert sbt to 0.13.17 because unlike local sbt, Travis CI's sbt doesn't know how to self-upgrade to 1.1.x
- add implicit syntax for `Int => UInt64` ; our existing `Int => Term` implicit produces `Int64`.