summaryrefslogtreecommitdiff
path: root/computation
diff options
context:
space:
mode:
authorJJ2023-11-23 05:49:50 +0000
committerJJ2023-11-23 05:49:50 +0000
commitfa8bb975614b5da3eb358598a1fa379911900f0d (patch)
tree437563202ff3a79e352289f1d9f2bbe26fe48a5d /computation
meow
Diffstat (limited to 'computation')
-rw-r--r--computation/compilers.md8
-rw-r--r--computation/continuations.md13
-rw-r--r--computation/effects.md1
-rw-r--r--computation/index.md0
-rw-r--r--computation/modules.md24
-rw-r--r--computation/paradigms.md9
-rw-r--r--computation/semantics.md1
-rw-r--r--computation/syntax.md22
-rw-r--r--computation/types.md11
9 files changed, 89 insertions, 0 deletions
diff --git a/computation/compilers.md b/computation/compilers.md
new file mode 100644
index 0000000..b3b1769
--- /dev/null
+++ b/computation/compilers.md
@@ -0,0 +1,8 @@
+# Compilers
+
+Books and Courses
+- [Introduction to Compiler Construction](https://www.students.cs.ubc.ca/~cs-411/2022w2/book_top.html)
+- [Programming Languages, Application and Interpretation](https://www.plai.org/)
+
+Articles
+- [Compiler Optimizations Are Hard Because They Forget](https://faultlore.com/blah/oops-that-was-important/)
diff --git a/computation/continuations.md b/computation/continuations.md
new file mode 100644
index 0000000..4d4565d
--- /dev/null
+++ b/computation/continuations.md
@@ -0,0 +1,13 @@
+# continuations
+
+## Resources
+- [nim-works CPS](https://github.com/nim-works/cps/tree/master/docs):
+- [CPS vs. SSA](http://www.mlton.org/pipermail/mlton/2003-January/023054.html)
+- https://matt.might.net/articles/by-example-continuation-passing-style/
+- https://okmij.org/ftp/continuations/
+
+## Continuations
+
+## Continuation-passing style
+
+## Deliminated continuations
diff --git a/computation/effects.md b/computation/effects.md
new file mode 100644
index 0000000..7b8ba3e
--- /dev/null
+++ b/computation/effects.md
@@ -0,0 +1 @@
+# Effects
diff --git a/computation/index.md b/computation/index.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/computation/index.md
diff --git a/computation/modules.md b/computation/modules.md
new file mode 100644
index 0000000..8ec4b61
--- /dev/null
+++ b/computation/modules.md
@@ -0,0 +1,24 @@
+# Modules
+
+An overarching question I've had that I've been unable to resolve: are ML-style modules any more expressive than a system with:
+- polymorphic data types
+- polymorphic interface types
+- first-class modules, that are *not* polymorphic (no functors)?
+
+## Resources
+
+Papers
+- [F-ing Modules](https://www.cambridge.org/core/journals/journal-of-functional-programming/article/fing-modules/B573FA00832D55D4878863DE1725D90B) (2014)
+
+Posts
+- [Modules Matter Most](https://existentialtype.wordpress.com/2011/04/16/modules-matter-most/)
+ - [Modules Matter Most (presentation)](http://macqueenfest.cs.uchicago.edu/slides/harper.pdf)
+- ['Modules Matter Most' for the Masses](https://www.pathsensitive.com/2023/03/modules-matter-most-for-masses.html)
+- [First-Class Modules: An Introduction](https://dev.realworldocaml.org/first-class-modules.html)
+- [Exotic Programming Ideas: Module Systems](https://www.stephendiehl.com/posts/exotic01.html)
+- [A Crash Course on ML Modules](https://jozefg.bitbucket.io/posts/2015-01-08-modules.html)
+- [UW CSE 341: ML Modules](https://courses.cs.washington.edu/courses/cse341/04wi/lectures/09-ml-modules.html)
+
+Books
+- [ATTAPL Ch. 8: Design Considerations for ML-style Module Systems]()
+
diff --git a/computation/paradigms.md b/computation/paradigms.md
new file mode 100644
index 0000000..59261ae
--- /dev/null
+++ b/computation/paradigms.md
@@ -0,0 +1,9 @@
+# Programming Paradigms
+
+## Imperative Programming
+
+## Object-Oriented Programming
+
+## Functional Programming
+
+...
diff --git a/computation/semantics.md b/computation/semantics.md
new file mode 100644
index 0000000..e3e063a
--- /dev/null
+++ b/computation/semantics.md
@@ -0,0 +1 @@
+# Formal Semantics
diff --git a/computation/syntax.md b/computation/syntax.md
new file mode 100644
index 0000000..7dd776d
--- /dev/null
+++ b/computation/syntax.md
@@ -0,0 +1,22 @@
+# Syntax
+
+## Resources
+
+Articles
+- [An Overview of Lexing and Parsing](https://www.perl.com/pub/2012/10/an-overview-of-lexing-and-parsing.html/)
+- [Just write the #!%/* parser](https://tiarkrompf.github.io/notes/?/just-write-the-parser/)
+
+Books and Courses
+- [Compilers: Principles, Techniques, Tools](https://annas-archive.org/md5/90db32d070cfb70ca617e655d5c35529)
+
+## Notation
+
+## Lexing
+
+## Parsing
+
+cover:
+- please please please lex
+- handrolled parsers
+- pegs and their limitations
+- other varieties of parser generators (ANTLR, lalrpop, yacc...)
diff --git a/computation/types.md b/computation/types.md
new file mode 100644
index 0000000..2edfe7c
--- /dev/null
+++ b/computation/types.md
@@ -0,0 +1,11 @@
+# types! ah, wonderous types!
+
+## Resources
+
+- *Types and Programming Languages* by Benjamin C. Pierce
+
+## algebraic data types
+
+## inductive types
+- https://en.wikipedia.org/wiki/Inductive_type
+