Open andorp opened 6 years ago
Analysing, Transforming and Compiling Lazy Functional Programs (1997) http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.4551
Other papers from the author: https://www.researchgate.net/profile/Karl-Filip_Faxen
Exceptional GRIN (Christof Douma's master thesis) https://github.com/uhc/uhc/blob/master/EHC/text/grinc/exceptionalgrin-final.pdf
exception support for GRIN
Extending the UHC LLVM backend: Adding support for accurate garbage collection. Paul van der Ende. www.cs.uu.nl/education/scripties/pdf.php?SID=INF/SCR-2009-059
Lambdachine Combination of GRIN and STG http://files.catwell.info/misc/mirror/tracing-jit-haskell-schilling.pdf https://github.com/nominolo/lambdachine tracing-jit-haskell-schilling.pdf
Exponential Functor and recursive schemas: http://comonad.com/reader/2008/rotten-bananas/
Effect-Driven QuickChecking of Compilers Midtgaard-al-ICFP17-full.pdf
"Multi-Level Intermediate Representation" Compiler Infrastructure https://github.com/tensorflow/mlir
https://drive.google.com/file/d/1hUeAJXcAXwz82RXA5VtO5ZoH8cVQhrOK/view
SIL BB arguments https://www.youtube.com/watch?v=Ntj8ab-5cvE&feature=youtu.be&t=596
LLVM 2.0 Design learnings https://www.youtube.com/watch?v=VeRaLPupGks
Points-to Analysis by Type Inference of Programs with Structures and Unions http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.51.1358&rep=rep1&type=pdf
Generic Programming With Adjunctions GenericProgrammingWithAdjunctions.pdf
Types as abstract interpretations Cousot-POPL97-p316-331-1997.pdf
Compositional Shape Analysis by means of Bi-Abduction Related to/uses separation logic.
Liveness-Based Pointer Analysis fast flow and context sensitive points-to analysis
Performance optimization on Declarative Points-to Analysis using the Souffle Datalog Engine (describes how to model context sensitive analyses in datalog)
ASAP implementation: https://github.com/doctorn/micro-mitten
data flow analysis = type inference Data-Flow Analyses as Effects and Graded Monads
Type inference implementation in Datalog and Prolog: Automatic Type Inference via Partial Evaluation
Reconciling Semantics and Reflection Formalisms, Protocols, Applications and Architecture http://fare.tunes.org/tmp/phd/thesis.pdf http://fare.tunes.org/reflection.html https://www.youtube.com/watch?v=heU8NyX5Hus https://www.youtube.com/watch?v=fH51qhI3hq0
Sources and implementation of the ICFP 2020 paper "Elaboration with First-Class Implicit Function Types" by András Kovács. https://github.com/AndrasKovacs/implicit-fun-elaboration/tree/staging
Perceus: Garbage Free Reference Counting with Reuse https://www.microsoft.com/en-us/research/uploads/prod/2020/11/perceus-tr-v1.pdf NOTE: it was inspired by the Counting Immutable Beans paper
Type theory elaboration implementation https://www.youtube.com/playlist?list=PL2ZpyLROj5FOt99f_KCxARvd1hDqKns5b
A High-Performance Multicore IO Manager Based on libuv (Experience Report) https://raw.githubusercontent.com/ZHaskell/stdio/master/docs/A%20High-Performance%20Multicore%20IO%20Manager%20Based%20on%20libuv%20(Experience%20Report).pdf
https://www.reddit.com/r/haskell/comments/6sc9og/why_libuv_why_multicore_combine_libuv_with_ghc_rts/
Incrementalizing Static Analyses in Datalog https://openscience.ub.uni-mainz.de/handle/20.500.12030/5617
Parallel incremental whole-program optimizations for Scala.js https://dl.acm.org/doi/10.1145/3022671.2984013
A Framework for Selective Recompilationin the Presence of Complex Intermodule Dependencies https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=618727F10C6186056DEB8418CAF7ECF9?doi=10.1.1.83.7284&rep=rep1&type=pdf
What is contification? https://julesjacobs.com/2019/03/09/what-is-contification.html
Language Support for Programming High-Performance Code https://publikationen.sulb.uni-saarland.de/bitstream/20.500.11880/27016/1/pflichtexemplar.pdf NOTE: good overview for vectorisation
SIMD@OpenMP: A Programming Model Approach to Leverage SIMD Features https://www.tdx.cat/bitstream/handle/10803/334171/TDLCdG1de1.pdf?sequence=5.txt
Liberate Abstract Garbage Collection from the Stack by Decomposing the Heap https://link.springer.com/content/pdf/10.1007%2F978-3-030-44914-8_8.pdf https://twitter.com/krgermane/status/1381809615596220422
Kinds Are Calling Conventions https://www.microsoft.com/en-us/research/uploads/prod/2020/03/kacc.pdf
https://blog.cloudflare.com/building-fast-interpreters-in-rust/ http://neilmitchell.blogspot.com/2020/04/writing-fast-interpreter.html
Control-Flow Analysis of Functional Programs https://tidsskrift.dk/brics/article/view/21936
good overview for CFA and related analyses
VeGen, The Vectorizer Generator for SIMD and Beyond https://dl.acm.org/doi/10.1145/3445814.3446692 https://www.youtube.com/watch?v=uwNAnC2y8ds
Lecture Notes on Static Analysis http://www.itu.dk/people/brabrand/static.pdf
good intro material
Articles that can be useful in the future.