%    Predefined journal names:
%  acmcs: Computing Surveys		acta: Acta Infomatica
%  cacm: Communications of the ACM
%  ibmjrd: IBM J. Research & Development ibmsj: IBM Systems Journal
%  ieeese: IEEE Trans. on Soft. Eng.	ieeetc: IEEE Trans. on Computers
%  ieeetcad: IEEE Trans. on Computer-Aided Design of Integrated Circuits
%  ipl: Information Processing Letters	jacm: Journal of the ACM
%  jcss: J. Computer & System Sciences	scp: Science of Comp. Programming
%  sicomp: SIAM J. on Computing		tocs: ACM Trans. on Comp. Systems
%  tods: ACM Trans. on Database Sys.	tog: ACM Trans. on Graphics
%  toms: ACM Trans. on Math. Software	toois: ACM Trans. on Office Info. Sys.
%  toplas: ACM Trans. on Prog. Lang. & Sys.
%  tcs: Theoretical Computer Science
@string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"}
@string{ieeese="IEEE Transactions on Software Engineering"}
@string{spe="Software---\-Practice and Experience"}
@string{sigplan="SIGPLAN Notices"}
@string{joop="Journal of Object-Oriented Programming"}
@string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"}
@string{osr="Operating Systems Review"}
@string{pldi="Programming Language Design and Implementation"}

@inproceedings{wolke17,
  title={Locality-Guided Scheduling in {CAF}},
  author={W{\"o}lke, Sebastian and Hiesgen, Raphael and Charousset, Dominik and Schmidt, Thomas C},
  booktitle={Proceedings of the 7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control},
  pages={11--20},
  year={2017}
}

@article{Roscoe88,
  title={The Laws of {OCCAM} Programming},
  author={Roscoe, Andrew William and Hoare, Charles Antony Richard},
  journal={Theoretical Computer Science},
  volume={60},
  number={2},
  pages={177--229},
  year={1988},
  publisher={Elsevier}
}

@article{Pike84,
  title={The UNIX System: The {Blit}: A Multiplexed Graphics Terminal},
  author={Pike, Rob},
  journal={AT\&T Bell Laboratories Technical Journal},
  volume={63},
  number={8},
  pages={1607--1631},
  year={1984},
  publisher={Nokia Bell Labs}
}

@inproceedings{Dice11,
  title={Brief Announcement: Multilane-a Concurrent Blocking Multiset},
  author={Dice, David and Otenko, Oleksandr},
  booktitle={Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures},
  pages={313--314},
  year={2011}
}

@misc{go:chan,
  author = "The Go Programming Language",
  title = "src/runtime/chan.go",
  howpublished = {\url{https://go.dev/src/runtime/chan.go}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{go:select,
  author = "The Go Programming Language",
  title = "src/runtime/select.go",
  howpublished = {\url{https://go.dev/src/runtime/select.go}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{go:sched,
  author = "The Go Programming Language",
  title = "src/runtime/proc.go",
  howpublished = {\url{https://go.dev/src/runtime/proc.go}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{go:selectref,
  author = "The Go Programming Language Specification",
  title = "Select statements",
  howpublished = {\url{https://go.dev/ref/spec#Select\_statements}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{boost:channel,
  author = "Boost C++ Libraries",
  title = "experimental::basic\_concurrent\_channel",
  howpublished = {\url{https://www.boost.org/doc/libs/master/doc/html/boost\_asio/reference/experimental\__basic\_concurrent\_channel.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{rust:channel,
  author = "The Rust Standard Library",
  title = "std::sync::mpsc::sync\_channel",
  howpublished = {\url{https://doc.rust-lang.org/std/sync/mpsc/fn.sync\_channel.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{rust:select,
  author = "The Rust Standard Library",
  title = "Macro futures::select",
  howpublished = {\url{https://docs.rs/futures/latest/futures/macro.select.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{java:allof:anyof,
  author = "Java Util Concurrent",
  title = "Class CompletableFuture",
  howpublished = {\url{https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{ocaml:channel,
  author = "The OCaml Manual",
  title = "OCaml library : Event",
  howpublished = {\url{https://v2.ocaml.org/api/Event.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{haskell:channel,
  author = "The Haskell Package Repository",
  title = "Control.Concurrent.Chan",
  howpublished = {\url{https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Concurrent-Chan.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{linux:select,
  author = "Linux man pages",
  title = "select(2) - Linux manual page",
  howpublished = {\url{https://man7.org/linux/man-pages/man2/select.2.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{linux:poll,
  author = "Linux man pages",
  title = "poll(2) - Linux manual page",
  howpublished = {\url{https://man7.org/linux/man-pages/man2/poll.2.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{linux:epoll,
  author = "Linux man pages",
  title = "epoll(7) - Linux manual page",
  howpublished = {\url{https://man7.org/linux/man-pages/man7/epoll.7.html}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{linux:iouring,
  author = "Linux man pages",
  title = "io\_uring(7) - Linux manual page",
  howpublished = {\url{https://man7.org/linux/man-pages/man7/io\_uring.7.html}},
  note = "[Online; accessed 23-May-2023]"
}

@article{Ichbiah79,
  title={Preliminary Ada Reference Manual},
  author={Ichbiah, Jean D},
  journal={ACM Sigplan Notices},
  volume={14},
  number={6a},
  pages={1--145},
  year={1979},
  publisher={ACM New York, NY, USA}
}

@misc{cpp:whenany,
  author = "C++ reference",
  title = "std::experimental::when\_any",
  howpublished = {\url{https://en.cppreference.com/w/cpp/experimental/when\_any}},
  note = "[Online; accessed 23-May-2023]"
}

@techreport{wilson94,
  title={The {SUIF} Compiler System: a Parallelizing and Optimizing Research Compiler},
  author={Wilson, Robert and French, Robert and Wilson, Christopher and Amarasinghe, Saman and Anderson, Jennifer and Tjiang, Steve and Liao, Shih-Wei and Tseng, Chau-Wen and Hall, Mary and Lam, Monica and others},
  year={1994},
  institution={Stanford University Technical Report No. CSL-TR-94-620}
}

@misc{haskell:parallel,
  author = "Haskell Wiki",
  title = "Parallel Haskell",
  howpublished = {\url{https://wiki.haskell.org/Parallel}},
  note = "[Online; accessed 23-May-2023]"
}

@misc{gcc:atomics,
  author = "GCC team",
  title = "Built-in Functions for Memory Model Aware Atomic Operations",
  howpublished = {\url{https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html}},
  note = "[Online; accessed 23-May-2023]"
}

@inproceedings{Doherty04,
  title={DCAS is Not a Silver Bullet for Nonblocking Algorithm Design},
  author={Doherty, Simon and Detlefs, David L and Groves, Lindsay and Flood, Christine H and Luchangco, Victor and Martin, Paul A and Moir, Mark and Shavit, Nir and Steele Jr, Guy L},
  booktitle={Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures},
  pages={216--224},
  year={2004}
}

@manual{IntelManual,
    keywords	= {Intel},
    title	= {Intel 64 and IA-32 Architectures Software Developer's Manual},
    version	= {Version 080},
    organization= {Intel},
    month	= mar,
    year	= 2023,
}

@inproceedings{Harris02,
  title={A practical multi-word compare-and-swap operation},
  author={Harris, Timothy L and Fraser, Keir and Pratt, Ian A},
  booktitle={Distributed Computing: 16th International Conference, DISC 2002 Toulouse, France, October 28--30, 2002 Proceedings 16},
  pages={265--279},
  year={2002},
  organization={Springer}
}

@misc{kotlin:channel,
  author = "Kotlin Documentation",
  title = "Channel",
  howpublished = {\url{https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.channels/-channel/}},
  note = "[Online; accessed 11-September-2023]"
}