Jean-Baptiste G.

Results 119 comments of Jean-Baptiste G.
trafficstars

Yeah, there is a laziness issue with Stream: both head and tail should be part of a lazy thunk. Not only the tail. And then reduction to "weak head normal...

@gneuvill the do notation is nice. I take it that, in you gist, `List` implements an interface like `h

The `protected` modifier is superfluous, I think. Still unsafe within `Maybe` package: ``` java public class ToTo implements __ { public static void main(String[] args) { Maybe.narrow(new ToTo()); } }...

@gneuvill With your improved encoding, possible type-unsafety is limited to package (as noted in my previous comment) so it may be acceptable, but maybe not, given that type-safety is a...

Here is what I have in mind: ```java static A fix(F f, F delay) { return new Object() { final A a = delay.f(() -> f.f(this.a)); }.a; } ``` ```java...

:+1: I am also wondering if the Streamjava.util.Stream should be subject to the same deprecation (in the java8 module). Will have a look.

The deprecation of `iteratorStream` also mean the deprecation of `iterableStream` which also mean deprecating/refactoring api/implementation of big chunks of `IterableW`, `F1Functions` and `ParModule`. So... kind of a can of worms...

the road block to completely removing those unsafe functions is the lack of TCO. Eg. Implementing [listEqual](https://github.com/functionaljava/functionaljava/blob/master/core/src/main/java/fj/Equal.java#L219) without `head()` and `tail()` in a stack safe manner is not totally satisfying:...

To clarify what I meant by "some sort of mutable function", here is how one could implement `List.forEach` without `head()` and `tail()`: ``` java public final Unit foreach(final F f)...