-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.bib
188 lines (178 loc) · 8.09 KB
/
main.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
@inproceedings{marlow2001async,
author = {Marlow, Simon and Jones, Simon Peyton and Moran, Andrew and
Reppy, John},
title = {Asynchronous Exceptions in Haskell},
year = {2001},
isbn = {1581134142},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/378795.378858},
doi = {10.1145/378795.378858},
abstract = {Asynchronous exceptions, such as timeouts are important for
robust, modular programs, but are extremely difficult to program with —
so much so that most programming languages either heavily restrict
them or ban them altogether. We extend our earlier work, in which
we added synchronous exceptions to Haskell, to support asynchronous
exceptions too. Our design introduces scoped combinators for
blocking and unblocking asynchronous interrupts, along with a
somewhat surprising semantics for operations that can suspend.
Uniquely, we also give a formal semantics for our system.},
booktitle = {Proceedings of the ACM SIGPLAN 2001 Conference on Programming
Language Design and Implementation},
pages = {274–285},
numpages = {12},
location = {Snowbird, Utah, USA},
series = {PLDI '01}
}
@inproceedings{marlow2006extensible,
author = {Marlow, Simon},
title = {An Extensible Dynamically-Typed Hierarchy of Exceptions},
year = {2006},
isbn = {1595934898},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1159842.1159854},
doi = {10.1145/1159842.1159854},
abstract = {In this paper we address the lack of extensibility of the
exception type in Haskell. We propose a lightweight solution involving
the use of existential types and the Typeable class only, and show
how our solution allows a fully extensible hierarchy of exception
types to be declared, in which a single overloaded catch operator
can be used to catch either specific exception types, or exceptions
belonging to any subclass in the hierarchy. We also show how to
combine the existing object-oriented framework OOHaskell with our
design, such that OOHaskell objects can be thrown and caught as
exceptions, with full support for implicit OOHaskell subtyping in
the catch operator.},
booktitle = {Proceedings of the 2006 ACM SIGPLAN Workshop on Haskell},
pages = {96–106},
numpages = {11},
keywords = {Haskell, exceptions},
location = {Portland, Oregon, USA},
series = {Haskell '06}
}
@inproceedings{hewitt1973actors,
author = {Hewitt, Carl and Bishop, Peter and Steiger, Richard},
title = {A Universal Modular ACTOR Formalism for Artificial Intelligence},
year = {1973},
publisher = {Morgan Kaufmann Publishers Inc.},
address = {San Francisco, CA, USA},
abstract = {This paper proposes a modular ACTOR architecture and
definitional method for artificial intelligence that is conceptually
based on a single kind of object: actors [or, if you will, virtual
processors, activation frames, or streams]. The formalism makes no
presuppositions about the representation of primitive data
structures and control structures. Such structures can be
programmed, micro-coded, or hard wired in a uniform modular
fashion. In fact it is impossible to determine whether a given
object is "really" represented as a list, a vector, a hash table, a
function, or a process. The architecture will efficiently run the
coming generation of PLANNER-like artificial intelligence languages
including those requiring a high degree of parallelism. The
efficiency is gained without loss of programming generality because
it only makes certain actors more efficient; it does not change
their behavioral characteristics. The architecture is general with
respect to control structure and does not have or need goto,
interrupt, or semaphore primitives. The formalism achieves the goals
that the disallowed constructs are intended to achieve by other
more structured methods.},
booktitle = {Proceedings of the 3rd International Joint Conference on
Artificial Intelligence},
pages = {235–245},
numpages = {11},
location = {Stanford, USA},
series = {IJCAI'73}
}
@software{controlDotException,
author = {{GHC Contributors}},
title = {Control.Exception module, base package},
version = {4.15.1.0},
date = {2021-12-28},
url = {https://hackage.haskell.org/package/base-4.15.1.0/docs/Control-Exception.html#v:throwTo},
year = {2021},
}
@inproceedings{lelann1977distributed,
title={Distributed Systems -- Towards a Formal Approach},
author={Le Lann, G{\'e}rard},
booktitle={IFIP Congress Proceedings},
volume={7},
pages={155--160},
year={1977},
url={https://www.rocq.inria.fr/novaltis/publications/IFIP%20Congress%201977.pdf}
}
@article{chang1979decentralextrema,
author = {Chang, Ernest and Roberts, Rosemary},
title = {An Improved Algorithm for Decentralized Extrema-Finding in
Circular Configurations of Processes},
year = {1979},
issue_date = {May 1979},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {22},
number = {5},
issn = {0001-0782},
url = {https://doi.org/10.1145/359104.359108},
doi = {10.1145/359104.359108},
abstract = {This note presents an improvement to LeLann's algorithm for
finding the largest (or smallest) of a set of uniquely numbered
processes arranged in a circle, in which no central controller
exists and the number of processes is not known a priori. This
decentralized algorithm uses a technique of selective message
extinction in order to achieve an average number of message passes
of order (n log n) rather than O(n2).},
journal = {Commun. ACM},
month = {May},
pages = {281–283},
numpages = {3},
keywords = {operating systems, decentralized algorithms, distributed
systems}
}
@phdthesis{armstrong2003,
edition={3},
series={SICS dissertation series},
title={Making reliable distributed systems in the presence of software errors},
url={http://urn.kb.se/resolve?urn=urn:nbn:se:ri:diva-22455},
author={Armstrong, Joe},
year={2003},
collection={SICS dissertation series}
}
@misc{sussman1975interpreter,
title = {SCHEME: An Interpreter for Extended Lambda Calculus},
author = {Sussman, Gerald J. and Steele, Guy L., Jr.},
month = {December},
year = {1975},
issue_date = {22 December 1975},
numpages = {48},
series = {AIM-349},
url = {https://dspace.mit.edu/handle/1721.1/5794}
}
@inbook{peytonjones2001tackling,
author = {Peyton Jones, Simon},
title = {Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell},
booktitle = {Engineering theories of software construction},
year = {2001},
month = {January},
publisher = {IOS Press},
url = {https://www.microsoft.com/en-us/research/publication/tackling-awkward-squad-monadic-inputoutput-concurrency-exceptions-foreign-language-calls-haskell/},
pages = {47-96},
isbn = {ISBN 1 58603 1724},
}
@online{fausak2022,
title={2022 State of Haskell Survey Results},
author={Fausak, Taylor},
year={2022},
month={11},
day={18},
url={https://taylor.fausak.me/2022/11/18/haskell-survey-results/#s2q0},
urldate={2023-02-08}
}
@software{hakkellartifact,
author = {Redmond, Patrick and Kuper, Lindsey},
title = {{An Exceptional Actor System (Functional Pearl): Artifact}},
month = jul,
year = 2023,
publisher = {Zenodo},
doi = {10.5281/zenodo.8162084},
url = {https://doi.org/10.5281/zenodo.8162084},
note = "\emph{Living.} \url{https://github.com/lsd-ucsc/hakkell.paper/}"
}