samth
2017-8-29 12:25:59

@mflatt I’ve thought about possibility, but it seems difficult, because I don’t think we want to expose pthreads directly to the “thread” layer


samth
2017-8-29 12:27:14

currently, the minimum set of features that @spall has used is: creating chez threads, chez-level locking, chez-level condition variables, and some access to information about currently-running chez-level threads


mflatt
2017-8-29 14:17:18

That sounds appropriate to me, especially if it’s functionality that any runtime system would have to include to support futures, similar to the way the core provides an engine API to implement threads at the “thread” layer


samth
2017-8-29 14:23:54

How hard is it intended to be to change the API provided by the core to the various linklet-implemented layers?


samth
2017-8-29 14:24:30

for example, the Chez condition variable API is a bit odd, I think, and might not be what we want for some other runtime


samth
2017-8-29 14:24:50

but it’s hard to be sure now, and so the easiest thing is to just expose it directly instead of abstracting prematurely


samth
2017-8-29 14:25:15

If it’s going to be problematic to change, though, then we should figure out a reasonable abstraction ahead of time


mflatt
2017-8-29 14:27:23

I don’t think that needs to be an especially stable API


spall
2017-8-29 15:44:03

>currently, the minimum set of features that @spall has used is: creating chez threads, chez-level locking, chez-level condition variables


spall
2017-8-29 15:44:24

Additionally, the 2 primitives chez provides. And


samth
2017-8-29 15:46:38

exposing pthreads would also make it potentially-possible to implement places at the “thread” layer


spall
2017-8-29 15:47:31

It sounds to me like this conversation is suggesting we move futures to the thread layer?


samth
2017-8-29 15:47:59

@spall yes


spall
2017-8-29 15:48:10

Alright I will start on that then.


samth
2017-8-29 15:48:25

We can talk at our scheduled meeting today about plans for that


spall
2017-8-29 15:48:30

ok


spall
2017-8-29 16:15:45

does racket have a form like meta-cond?


spall
2017-8-29 16:15:57

or will racket always be “threaded”?


spall
2017-8-29 16:16:01

pthreaded i mean


samth
2017-8-29 16:16:57

@spall Racket will always have access to those primtives, but the “cs” layer will have tohave fake definitions when not threaded


spall
2017-8-29 16:19:21

ah ok thanks