You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
move entire communication system into library #531
In a lot of ways, I like this. There's really little reason spawn shouldn't be in the library, as far as I know right now. One advantage is that it makes it easier to have different variants of spawn. We could have the simple version, and then other ones for "spawn in new thread" or "spawn on remote machine."
One concern I'd have is that we might be giving up information that the compiler has about the semantics of communication, which could inhibit some of our optimization opportunities. Also, for the moment rust is doing a deep copy of data structures for spawn arguments and messages. This may not be something we actually need to do, but if we do need it, could we still do it nicely in a library?
I think a couple simple schemes for comm-alt-via-a-library (say by tagging ports and channels you pass to the library call) will handle the verbosity. I'd prefer not to delay this; it really affects the feel of the language.
no, that's just alt-ing on the result of a blocking receive. a comm-alt was to switch between "whichever of N communication events is ready next", a la a select loop. Which is fine: it just needs a richer function-call UI. There's lots of surface to possible event-waiting / event-notifying APIs though, which is exactly why I want it in a library, not a "ok let's do more compiler hacking to conduct the next experiment or tweak" situation.
Activity
eholk commentedon Jun 21, 2011
In a lot of ways, I like this. There's really little reason spawn shouldn't be in the library, as far as I know right now. One advantage is that it makes it easier to have different variants of spawn. We could have the simple version, and then other ones for "spawn in new thread" or "spawn on remote machine."
One concern I'd have is that we might be giving up information that the compiler has about the semantics of communication, which could inhibit some of our optimization opportunities. Also, for the moment rust is doing a deep copy of data structures for spawn arguments and messages. This may not be something we actually need to do, but if we do need it, could we still do it nicely in a library?
brson commentedon Jul 25, 2011
I'm worried about communication alt being too verbose under this scheme. Also, can this be delayed until after the 0.1 milestone?
graydon commentedon Jul 25, 2011
I think a couple simple schemes for comm-alt-via-a-library (say by tagging ports and channels you pass to the library call) will handle the verbosity. I'd prefer not to delay this; it really affects the feel of the language.
eholk commentedon Jul 25, 2011
What do we have in mind for communication alt? Is it any different than this?
graydon commentedon Jul 25, 2011
no, that's just alt-ing on the result of a blocking receive. a comm-alt was to switch between "whichever of N communication events is ready next", a la a select loop. Which is fine: it just needs a richer function-call UI. There's lots of surface to possible event-waiting / event-notifying APIs though, which is exactly why I want it in a library, not a "ok let's do more compiler hacking to conduct the next experiment or tweak" situation.
eholk commentedon Aug 15, 2011
All done.
04af99e
39b1607
871d131
b2dad8a
a332043
2f23405
b9f1f77
7ad1339
cc353aa
c3535f5
be73250
aa0a51a
d63f834
871013b
3fd3f35
Merge pull request rust-lang#531 from aatxe/master
Auto merge of rust-lang#531 - freqlabs:master, r=alexcrichton
Fix compile of stdsimd on powerpc with no flags (rust-lang#531)
Upgrade minimum CBMC version to 5.36.0 (rust-lang#531)
Merge pull request rust-lang#531 from knickish/float_div_subnormal_ro…
Merge pull request #531 from knickish/float_div_subnormal_rounding
Add area of a polygon defined by a vector of points (rust-lang#531)
Merge toyos-inbox at 7a809b7 (rust-lang#520's pin) into wt-toyos-layout
Merge wt-toyos-layout's HOME changes into wt-toyos-arm64
Merge PR rust-lang#524's fork line, with rust-lang#531's, into toyos-…
Keep std-fixes-114 and toyos-inbox reachable from main; the tree is 9…