News for hackers. Stuff that matters.
Re:Chez Scheme is now free by hga on Tuesday April 26, 2016 @11:41AM (#11572791)
And aside from the JVM implementations and some works in progress the last time I checked, the only one with native instead of green threading.
Re:Chez Scheme is now free by dfox on Tuesday April 26, 2016 @12:12PM (#11573098)
Well, dfsch is currently not work in progress, because there is no meaningful progress :) But it was originally intended as scheme interpreter with native threading without GIL. Last version has GIL-style global lock, but interpreter threads can run user code without ever acquiring that lock. (In essence: the lock protect structures that cannot be proven to not be shared between threads, which are not required to interpret output of dfsch's compiler for most inputs)
Re:Chez Scheme is now free by groovy2shoes on Tuesday April 26, 2016 @10:59PM (#11577566)
I know Gauche uses pthreads because I got a linker error about it one time ;)

Also, does Gambit not support native threads? That's surprising considering Marc Feeley did quite a bit of research on multiprocessing in Scheme, and he wrote the SRFI for threads.

Re:Chez Scheme is now free by davexunit on Tuesday April 26, 2016 @12:29PM (#11573260)
GNU Guile has pthreads.
Re:Chez Scheme is now free by jbclements on Wednesday April 27, 2016 @11:32AM (#11581299)
Racket has native threads, called "places".
Re:Chez Scheme is now free by hga on Wednesday April 27, 2016 @01:24PM (#11582481)
Not in the shared memory way I mean (which I did not make clear), per http://docs.racket-lang.org/guide/parallelism.html

The racket/place library provides support for performance improvement through parallelism with the place form. The place form creates a place, which is effectively a new Racket instance that can run in parallel to other places, including the initial place. The full power of the Racket language is available at each place, but places can communicate only through message passing—using the place-channel-put and place-channel-get functions on a limited set of values—which helps ensure the safety and independence of parallel computations.

Compare to current Guile, where the documentation says sharing a hash table without using a mutex will not corrupt memory, but probably won't give you the results you desire.