citations.bib

@article{arora2019separating,
  title = {Separating Use and Reuse to Improve Both},
  author = {Arora, Hrshikesh and Servetto, Marco and Oliveira, Bruno CDS},
  journal = {arXiv preprint arXiv:1902.00546},
  year = {2019}
}
@book{meyer1997object,
  author = {Meyer, B.},
  title = {Object-oriented Software Construction},
  publisher = {Prentice Hall International},
  year = {1997},
  volume = {3}
}
@misc{wiki:001,
  author = {{Wikipedia contributors}},
  title = {Covariance and contravariance (computer science) --- {Wikipedia}{,} The Free Encyclopedia},
  year = {2019},
  howpublished = {\url{https://en.wikipedia.org/w/index.php?title=Covariance_and_contravariance_(computer_science)&oldid=889577926}},
  note = {[Online; accessed 9-April-2019]}
}
@article{Castagna:1995:CCC:203095.203096,
  author = {Castagna, Giuseppe},
  title = {Covariance and Contravariance: Conflict Without a Cause},
  journal = {ACM Trans. Program. Lang. Syst.},
  issue_date = {May 1995},
  volume = {17},
  number = {3},
  month = may,
  year = {1995},
  issn = {0164-0925},
  pages = {431--447},
  numpages = {17},
  url = {http://doi.acm.org/10.1145/203095.203096},
  doi = {10.1145/203095.203096},
  acmid = {203096},
  publisher = {ACM},
  address = {New York, NY, USA},
  keywords = {object-oriented languages, type theory}
}
@article{bruce1999semantics,
  title = {Semantics-driven language design:: Statically type-safe virtual types in object-oriented languages},
  author = {Bruce, Kim B and Vanderwaart, Joseph C},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {20},
  pages = {50--75},
  year = {1999},
  publisher = {Elsevier}
}
@article{bruce2003some,
  title = {Some challenging typing issues in object-oriented languages},
  author = {Bruce, Kim B},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {82},
  number = {8},
  pages = {1--29},
  year = {2003},
  publisher = {Elsevier}
}
@misc{wiki:002,
  author = {{Wikipedia contributors}},
  title = {Separation of concerns --- {Wikipedia}{,} The Free Encyclopedia},
  year = {2019},
  url = {https://en.wikipedia.org/w/index.php?title=Separation_of_concerns&oldid=886152576},
  note = {[Online; accessed 11-April-2019]}
}
@book{saraiva1999purely,
  title = {Purely functional implementation of attribute grammars},
  author = {Saraiva, Joao and Swierstra, SD},
  year = {1999},
  publisher = {Universiteit Utrecht}
}
@techreport{freeman1994refinement,
  title = {Refinement Types ML},
  author = {Freeman, Tim},
  year = {1994},
  institution = {CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE}
}
@article{munch-maccagnoni_resource_2018,
  title = {Resource {Polymorphism}},
  url = {http://arxiv.org/abs/1803.02796},
  abstract = {We present a resource-management model for ML-style programming languages, designed to be compatible with the OCaml philosophy and runtime model. This is a proposal to extend the OCaml language with destructors, move semantics, and resource polymorphism, to improve its safety, efficiency, interoperability, and expressiveness. It builds on the ownership-and-borrowing models of systems programming languages (Cyclone, C++11, Rust) and on linear types in functional programming (Linear Lisp, Clean, Alms). It continues a synthesis of resources from systems programming and resources in linear logic initiated by Baker. It is a combination of many known and some new ideas. On the novel side, it highlights the good mathematical structure of Stroustrup's "Resource acquisition is initialisation" (RAII) idiom for resource management based on destructors, a notion sometimes confused with finalizers, and builds on it a notion of resource polymorphism, inspired by polarisation in proof theory, that mixes C++'s RAII and a tracing garbage collector (GC). The proposal targets a new spot in the design space, with an automatic and predictable resource-management model, at the same time based on lightweight and expressive language abstractions. It is backwards-compatible: current code is expected to run with the same performance, the new abstractions fully combine with the current ones, and it supports a resource-polymorphic extension of libraries. It does so with only a few additions to the runtime, and it integrates with the current GC implementation. It is also compatible with the upcoming multicore extension, and suggests that the Rust model for eliminating data-races applies. Interesting questions arise for a safe and practical type system, many of which have already been thoroughly investigated in the languages and prototypes Cyclone, Rust, and Alms.},
  language = {en},
  urldate = {2019-04-13},
  journal = {arXiv:1803.02796 [cs]},
  author = {Munch-Maccagnoni, Guillaume},
  month = mar,
  year = {2018},
  note = {arXiv: 1803.02796},
  keywords = {Computer Science - Logic in Computer Science, Computer Science - Programming Languages},
  file = {Munch-Maccagnoni - 2018 - Resource Polymorphism.pdf:/home/zanibonim/lavoro/dokmelody/Zotero/storage/YM3T8EZQ/Munch-Maccagnoni - 2018 - Resource Polymorphism.pdf:application/pdf}
}
@article{zhang_familia:_2017,
  title = {Familia: unifying interfaces, type classes, and family polymorphism},
  volume = {1},
  issn = {24751421},
  shorttitle = {Familia},
  url = {http://dl.acm.org/citation.cfm?doid=3152284.3133894},
  doi = {10.1145/3133894},
  language = {en},
  number = {OOPSLA},
  urldate = {2019-04-17},
  journal = {Proceedings of the ACM on Programming Languages},
  author = {Zhang, Yizhou and Myers, Andrew C.},
  month = oct,
  year = {2017},
  keywords = {pld},
  pages = {1--31},
  file = {Zhang e Myers - 2017 - Familia unifying interfaces, type classes, and fa.pdf:/home/zanibonim/lavoro/dokmelody/Zotero/storage/XKLFUEER/Zhang e Myers - 2017 - Familia unifying interfaces, type classes, and fa.pdf:application/pdf}
}
@article{armstrong_making_nodate,
  title = {Making reliable distributed systems in the presence of sodware errors},
  language = {en},
  author = {Armstrong, Joe},
  pages = {297},
  file = {Armstrong - Making reliable distributed systems in the presenc.pdf:/home/zanibonim/lavoro/dokmelody/Zotero/storage/DCJNRRFE/Armstrong - Making reliable distributed systems in the presenc.pdf:application/pdf}
}

This file was generated by bibtex2html 1.99.