Léo NOEL

Results 64 comments of Léo NOEL

At first glance I'd say the benefits of having it outweight the risks. BTW threads give you the same footgun, nothing prevents you to write `(locking x (Thread/sleep Long/MAX_VALUE))`

Actually, the fix doesn't work on latest runtimes, because `Unsafe/monitorEnter` and `Unsafe/monitorExit` have been [ditched](https://bugs.openjdk.java.net/browse/JDK-8054494). We can't rely on JVM opcodes monitorEnter/monitorExit because the JVM [spec](https://docs.oracle.com/javase/specs/jvms/se13/html/jvms-2.html#jvms-2.11.10) allows runtimes to throw...

Very interesting. Definitely the kind of project cloroutine was made for.

Keep in mind we need to support : * clojure compiler targeting clojure * clojure compiler targeting clojurescript * clojurescript compiler targeting clojurescript File extensions and reader conditionals are about...

`setval` emits a `def`, then `cr` wraps it in a `letfn`, and this combination seems to confuse the compiler. I filed an [issue](https://clojure.atlassian.net/browse/CLJS-3166) with a minimal repro.

compiler reflection errors : please file a separate issue with a minimal repro and compiler information. inferred await : I've not ever tried to do that before, but I can...

Your implementation changes the semantics of `async`. In an `async` block, a nested `async` will be immediately `deref`ed, blocking current thread until result is available, so it effectively becomes a...

```clojure @(async (+ (async (Thread/sleep 1000) 1) (async (Thread/sleep 1000) 2))) ``` I would definitely expect this to run in one second.