konsumlamm

Results 178 comments of konsumlamm

IF we change the implementation, I'd argue that `primitive` is even better suited for arrays than `array`, as it doesn't store boxed indices. One possible problem is if `Data.Graph` uses...

How would the proposed syntax distinguish between a single field that is a tuple and multiple fields? Using tuples for the latter is not nice imo. I'd prefer something closer...

> Have you looked [D's sumtype](https://dlang.org/phobos/std_sumtype.html)? It is inspired by ADTs but leans heavily into static introspection and would be a nicer fit for Nim vs. trying to copy Haskell/OCaml....

Personally, I would prefer something closer to Rust: ```nim type Option[T] = case of None() of Some(T) Either[A, B] = case of Le(A) of Ri(T) Node = case of BinaryOpr:...

I think this is a good idea. It's also necessary if we want to reimplement `TBQueue` using `TArray` (see https://github.com/haskell/stm/issues/65).

Since `Array#` is now levity polymorphic, this should be relatively easy to implement.

According to Simon Marlow, this is not possible with STM (see https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/ch10.html#sec_stm-whynot).

With https://github.com/haskell/stm/pull/70, `newTBQueue 0` will indeed fail.

I did some experiments on SIMD implementations for the other operations. However, I wasn't able to find any implementation that can be vectorized by OpenMP, so I resorted to using...