
Functional Data Structures - signa11
https://cs.uwaterloo.ca/~plragde/flaneries/FDS/
======
vajrabum
The approach presented here was largely invented by Chris Osaki which isn't
mentioned in that set of notes at least not in the first few pages. Here's a
link to his dissertation which covers much of the same material. That plus
more can be found in his book under the name Purely Functional Data
Structures.
[https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf](https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf)

~~~
soegaard
See the section "Acknowledgements":
[https://cs.uwaterloo.ca/~plragde/flaneries/FDS/Sources_and_R...](https://cs.uwaterloo.ca/~plragde/flaneries/FDS/Sources_and_Resources.html#%28part._.Acknowledgements%29)

~~~
snikeris
Okasaki is mentioned in the previous section.

------
soegaard
In case anyone wonders what a flanery is:
[https://cs.uwaterloo.ca/~plragde/flaneries/](https://cs.uwaterloo.ca/~plragde/flaneries/)

~~~
theoh
That's not a very informative definition, and it's inaccurate. See
[https://en.wikipedia.org/wiki/Flâneur](https://en.wikipedia.org/wiki/Flâneur)
for the relevant idea.

------
chalst
Not to be confused with
[http://www.cambridge.org/de/academic/subjects/computer-
scien...](http://www.cambridge.org/de/academic/subjects/computer-
science/programming-languages-and-applied-logic/purely-functional-data-
structures)

~~~
signa11
ah yes the _classic_ ! i was kind of pleasantly surprised to see
'pragmatically' functional OCaml used for exposition, and thought of posting
here for more insightful discussion :)

~~~
test9753
Purely functional data structures for OCaml, translated from Chris Okasaki's
book "Purely Functional Data Structures":

[https://github.com/mmottl/pure-fun](https://github.com/mmottl/pure-fun)

------
andrepd
Great to see OCaml featured here. Such a neat little language, combining
functional programming with a healthy pragmatism in supporting imperative
constructs with no fuss.

------
qntty
What tool is used to generate html books like this?

~~~
rbonvall
It's Scribble, Racket's documentation tool.

~~~
threatofrain
IMO every programming language should have a web templating tool for code to
documentation generation.

~~~
jlg23
IMO every programming language definition should also define how documentation
strings are associated to syntactical constructs and how they can be accessed
programmatically.

