phischu

Results 32 comments of phischu

As a workaround, the following does typecheck: ``` def select[A] { stream: () => Unit / emit[A] }: A / {fork, fail} = { def body(): A / emit[A] =...

I want to express interest in this again, ideally in the style of https://github.com/effekt-lang/effekt/issues/404#issuecomment-2454139037 ``` effect break[T](value: T): Unit def boundary[T] { prog: => Unit / break[T] }: Option[T] =...

I propose monomorphization just for `inspect`. Add an llvm variant to `inspect` that crashes. ``` extern io def inspect[R](value: R): Unit = js { println(genericShow(value)) } chez { println(genericShow(value)) }...

There is a counter example but this is not it. For functions we could display the generated core code, but I'd rather show `` or something. A problem are existentials,...

> Please note the explicit type arguments which are necessary because I need to say WHICH stream I want to handle. How about ``` on[Int].for { ... ``` Or we...

> (lazy nondeterminism from a stream) This is planned in Phase 3

> could you please look into the Unison implementation as well? I am looking at the [`streaming`](https://hackage.haskell.org/package/streaming) library, which is great.

``` def foo[A](x: Int){ bar: Int => A }: A = { bar(x) } def baz(x: Int): Int = { if (x > 0) { foo(x - 1){baz} } else...

This massively reduces the performance in some of our benchmarks, most notably `list_tail`. Polymorphism-boxing a `match` introduces a local binding for each clause that seems to not be inlined by...

This seems to fix #1012 and #1030 and also comes with other improvements. It is not the end of the polymorphism story but I believe we should review and merge...