diff options
Diffstat (limited to 'computation')
-rw-r--r-- | computation/compilers.md | 15 | ||||
-rw-r--r-- | computation/continuations.md | 19 | ||||
-rw-r--r-- | computation/effects.md | 27 | ||||
-rw-r--r-- | computation/lambda-calculus.md | 6 | ||||
-rw-r--r-- | computation/memory-management.md | 21 | ||||
-rw-r--r-- | computation/modules.md | 28 | ||||
-rw-r--r-- | computation/monads.md | 8 | ||||
-rw-r--r-- | computation/networking.md | 12 | ||||
-rw-r--r-- | computation/paradigms.md | 14 | ||||
-rw-r--r-- | computation/patterns.md | 6 | ||||
-rw-r--r-- | computation/semantics.md | 8 | ||||
-rw-r--r-- | computation/syntax.md | 29 | ||||
-rw-r--r-- | computation/types.md | 50 |
13 files changed, 0 insertions, 243 deletions
diff --git a/computation/compilers.md b/computation/compilers.md deleted file mode 100644 index 8e6ebbf..0000000 --- a/computation/compilers.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: computation -title: computation/compilers ---- - -# compilers - -articles -- [Compiler optimizations are hard because they forget](https://faultlore.com/blah/oops-that-was-important/) -- [A tutorial on how to write a compiler using LLVM](https://tomassetti.me/a-tutorial-on-how-to-write-a-compiler-using-llvm/) - -books and courses -- [Programming Languages, Application and Interpretation](https://www.plai.org/) -- [Introduction to Compiler Construction](https://www.students.cs.ubc.ca/~cs-411/2022w2/book_top.html) -- [Design Your Own Language (book list)](https://slebok.github.io/dyol/books/index.html) diff --git a/computation/continuations.md b/computation/continuations.md deleted file mode 100644 index 08017c5..0000000 --- a/computation/continuations.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: computation -title: computation/continuations ---- - -# continuations - -- [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) -- [By example: continuation-passing style](https://matt.might.net/articles/by-example-continuation-passing-style/) -- [How to compile with continuations](https://matt.might.net/articles/cps-conversion/) -- [**Oleg Kiselyov's writings**](https://okmij.org/ftp/continuations/) -- [An argument against call/cc](https://okmij.org/ftp/continuations/against-callcc.html) - -## continuations - -## continuation-passing style - -## deliminated continuations diff --git a/computation/effects.md b/computation/effects.md deleted file mode 100644 index 17c558d..0000000 --- a/computation/effects.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: computation -title: computation/effects ---- - -# effects - -posts -- [Oleg Kiselyov's writings](https://www.okmij.org/ftp/) -- [Exotic Programming Ideas: Effect Systems](https://www.stephendiehl.com/posts/exotic03.html) -- [Faking algebraic effects and handlers with traits](https://blog.shtsoft.eu/2022/12/22/effect-trait-dp.html) -- [From deliminated continuations to algebraic effects](https://blog.poisson.chat/posts/2023-01-02-del-cont-examples.html) -- [OCaml effects tutorial](https://github.com/ocaml-multicore/ocaml-effects-tutorial) -- [Simple functional effects with tag unions](https://www.youtube.com/watch?v=7SidSvJcPd0) -- [Effect bibliography](https://github.com/yallop/effects-bibliography) - -papers -- [What is algebraic about algebraic effects and handlers?](https://arxiv.org/abs/1807.05923) -- [Asynchronous effects](https://dl.acm.org/doi/10.1145/3434305) - -languages -- [Koka](https://koka-lang.github.io/koka/doc/book.html) -- [Effekt](https://effekt-lang.org/) -- [Eff](https://www.eff-lang.org/) -- [Unison](https://www.unison-lang.org/) -- [Effect handlers for WebAssembly](https://wasmfx.dev/) -- [Coeffects: Context-aware programming languages](https://tomasp.net/coeffects/) diff --git a/computation/lambda-calculus.md b/computation/lambda-calculus.md deleted file mode 100644 index 78752db..0000000 --- a/computation/lambda-calculus.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: computation -title: computation/lambda calculus ---- - -# the lambda calculus diff --git a/computation/memory-management.md b/computation/memory-management.md deleted file mode 100644 index a2edadc..0000000 --- a/computation/memory-management.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: computation -title: computation/memory management ---- - -# memory management - -lobster -- [Memory Management in Lobster](https://aardappel.github.io/lobster/memory_management.html) - -nim -- [ARC/ORC in Nim](https://nim-lang.org/blog/2020/10/15/introduction-to-arc-orc-in-nim.html) -- [ORC in Nim](https://nim-lang.org/blog/2020/12/08/introducing-orc.html) -- [Destructors and Move Semantics in Nim](https://nim-lang.org/docs/destructors.html) -- [Nim's ARC/ORC and Rust's move semantics](https://paste.sr.ht/blob/731278535144f00fb0ecfc41d6ee48513233baa4) - -## reference counting - -## tracing - -## ownership diff --git a/computation/modules.md b/computation/modules.md deleted file mode 100644 index be7b7e5..0000000 --- a/computation/modules.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: computation -title: computation/modules ---- - -# 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/) (and [slides](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](https://annas-archive.org/md5/7175434efd5620b4b117aa45a01777fa) - diff --git a/computation/monads.md b/computation/monads.md deleted file mode 100644 index c6cc0da..0000000 --- a/computation/monads.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: computation -title: computation/monads ---- - -# monads - -- [Monads in 300 words](https://lambda.xyz/blog/monads/) diff --git a/computation/networking.md b/computation/networking.md deleted file mode 100644 index a47eee6..0000000 --- a/computation/networking.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: computation -title: computation/networking ---- - -# the networking layer of the internet - -## routing: IP, DNS - -## transport: TCP, UDP, QUIC - -## content: HTTP, FTP diff --git a/computation/paradigms.md b/computation/paradigms.md deleted file mode 100644 index 198a522..0000000 --- a/computation/paradigms.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: computation -title: computation/programming paradigms ---- - -# reflections on programming paradigms - -## imperative programming - -## object-oriented programming - -## functional programming - -... diff --git a/computation/patterns.md b/computation/patterns.md deleted file mode 100644 index 6236411..0000000 --- a/computation/patterns.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: computation -title: computation/design patterns ---- - -# ways of going about doing things diff --git a/computation/semantics.md b/computation/semantics.md deleted file mode 100644 index 410d0ef..0000000 --- a/computation/semantics.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: computation -title: computation/semantics ---- - -# formal semantics - -## denotational semantics diff --git a/computation/syntax.md b/computation/syntax.md deleted file mode 100644 index 31b95a5..0000000 --- a/computation/syntax.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: computation -title: computation/syntax ---- - -# syntax - -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 -- [_Compilers: Principles, Techniques, Tools_](https://annas-archive.org/md5/90db32d070cfb70ca617e655d5c35529) - -## notation - -ebnf - -npegs - -## 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 deleted file mode 100644 index 18bc9d2..0000000 --- a/computation/types.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -layout: computation -title: computation/types ---- - -# types! ah, wonderous types! - -posts -- ✨ [**How should I read type system notation?**](https://langdev.stackexchange.com/questions/2692/how-should-i-read-type-system-notation/) -- [Programming Language Theory resources](https://steshaw.org/plt/) - -books -- ✨ [_**Types and Programming Languages**_](https://www.cis.upenn.edu/~bcpierce/tapl/) by Benjamin C. Pierce: the canonical type system text -- [_Advanced Topics in Types and Programming Languages_](https://www.cis.upenn.edu/~bcpierce/attapl/) by Benjamin C. Pierce - - -## algebraic data types - -## inductive types -- https://en.wikipedia.org/wiki/Inductive_type - -## refinement types - -- [Liquid Haskell](https://ucsd-progsys.github.io/liquidhaskell/) -- [Refinement Types in Liquid Haskell](https://ucsd-progsys.github.io/liquidhaskell-tutorial/) -- [Refinement Types: A Tutorial](https://arxiv.org/abs/2010.07763) - -## dependent types - -usage -- [Programming Language Foundations](https://jscoq.github.io/ext/sf/plf/full/toc.html) -- [Programming Language Foundations in Agda](https://plfa.github.io/) - -languages -- [Coq](https://coq.inria.fr/) -- [Lean](https://lean-lang.org/) -- [Agda](https://wiki.portal.chalmers.se/agda/pmwiki.php) -- [Isabelle](https://isabelle.in.tum.de/) - -implementation -- [Checking dependent types with normalization by evaluation](https://davidchristiansen.dk/tutorials/nbe/) -- [Barebones lambda cube in OCaml](https://gist.github.com/Hirrolot/89c60f821270059a09c14b940b454fd6) -- [Dependent types in 80 lines of code](https://gist.github.com/Hirrolot/27e6b02a051df333811a23b97c375196) - -papers -- [Turnstile+: dependent type systems as macros](https://www.williamjbowman.com/resources/wjb2019-depmacros.pdf) - -## homotopy type theory - -- [*Homotopy Type Theory*](https://homotopytypetheory.org) |