From 7d4336c3271b04118be882e9d37fba75c4b5770f Mon Sep 17 00:00:00 2001 From: Sean Broderick Date: Wed, 20 Jul 2022 23:51:59 -0400 Subject: [PATCH] fix links to hosted garbage collection paper --- garbage_collection/README.md | 3 +-- languages/haskell/README.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/garbage_collection/README.md b/garbage_collection/README.md index b8a5543..6bfb0a3 100644 --- a/garbage_collection/README.md +++ b/garbage_collection/README.md @@ -8,6 +8,5 @@ * [On-the-Fly Garbage Collection: An Exercise in Cooperation](https://lamport.azurewebsites.net/pubs/garbage.pdf) * [:scroll:](the_lisp_ii_garbage_collector.pdf) [The Lisp II Garbage Collector](http://www.softwarepreservation.com/projects/LISP/lisp2/TM-3417_500_00_LISP2_GC_Spec.pdf) * [The Treadmill: Real-Time Garbage Collection Without Motion Sickness](http://plover.com/~mjd/misc/hbaker-archive/NoMotionGC.html) -* [Parallel Generational-Copying Garbage Collection with a Block-Structured +* [:scroll:](parallel_generational_copying_garbage_collection_with_a_block_structured_heap.pdf)[Parallel Generational-Copying Garbage Collection with a Block-Structured Heap](http://simonmar.github.io/bib/papers/parallel-gc.pdf) - diff --git a/languages/haskell/README.md b/languages/haskell/README.md index a5ce403..116896b 100644 --- a/languages/haskell/README.md +++ b/languages/haskell/README.md @@ -4,7 +4,7 @@ * :scroll: [Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell](tackling-the-awkward-squad-monadic-input-output-concurrency-exceptions-and-foreign-language-calls-in-haskell.pdf) by Simon Peyton Jones * :scroll: [Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages](making-a-fast-curry-push-enter-versus-eval-apply-for-higher-order-languages.pdf) by Simon Marlow and Simon Peyton Jones. A classic... describes well the execution model GHC uses for Haskell, and catches the brilliant authors in a design pivot from original intuition to new conclusions based on empirical data. * :scroll: [A Poor Man's Concurrency Monad](a-poor-mans-concurrency-monad.pdf) by Koen Claessen. Paper describes how without adding any primitives to the language, you could define a concurrency monad transformer in Haskell. -* :scroll: [Parallel Generational-Copying Garbage Collection with a Block-Structured Heap](../garbage_collection/parallel_generational_copying_garbage_collection_with_a_block_structured_heap.pdf). In Haskell, data immutability forces us to produce a lot of temporary data but also helps to collect this garbage rapidly. This paper explains how the Glasgow Haskell Compiler accomplishes this task in a simple, yet effective, manner with no programmer intervention. +* :scroll: [Parallel Generational-Copying Garbage Collection with a Block-Structured Heap](../../garbage_collection/parallel_generational_copying_garbage_collection_with_a_block_structured_heap.pdf). In Haskell, data immutability forces us to produce a lot of temporary data but also helps to collect this garbage rapidly. This paper explains how the Glasgow Haskell Compiler accomplishes this task in a simple, yet effective, manner with no programmer intervention. * [Notions of Computation and Monads](https://ac.els-cdn.com/0890540191900524/1-s2.0-0890540191900524-main.pdf?_tid=45497e1c-b5c9-11e7-963f-00000aacb361&acdnat=1508526351_2f3bf288ce0f81ff89fb10ece92eeb9e) by Eugenio Moggi. One of the canonical references for Monads in the functional paradigm. It relates the semantics of computations to equivalences of programs for various notions of computations. * [The Essence of Functional Programming](https://page.mi.fu-berlin.de/scravy/realworldhaskell/materialien/the-essence-of-functional-programming.pdf) by Philip Wadler. This paper uses monads to structure functional programs in Haskell. A very good reference for understanding monads and more generally in the context of programming languages. * [Monad Transformers and Modular Interpreters](http://haskell.cs.yale.edu/wp-content/uploads/2011/02/POPL96-Modular-interpreters.pdf) by Sheng Liang, Paul Hudak and Mark Jones. Canonical paper on Monad Transformers: the canonical way in which to combine monads and the basis of the popular mtl Haskel library.