Comments (122)
Abstracting Abstract Machines
https://arxiv.org/pdf/1007.4446.pdf
from grin.
Parallel incremental whole-program optimizations for Scala.js
https://dl.acm.org/doi/10.1145/3022671.2984013
from grin.
Lecture Notes on Static Analysis
http://www.itu.dk/people/brabrand/static.pdf
good intro material
from grin.
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/ennals-thesis.pdf
from grin.
http://fare.tunes.org/tmp/phd/thesis.pdf
from grin.
Trees that Grow
http://www.jucs.org/jucs_23_1/trees_that_grow/jucs_23_01_0042_0062_najd.pdf
from grin.
A Nanopass Framework for Compiler Education:
https://www.cs.indiana.edu/~dyb/pubs/nano-jfp.pdf
from grin.
Bottom-up Type Annotation with the Cofree Comonad:
https://brianmckenna.org/blog/type_annotation_cofree
[Edited]
Grin.Research module was created to reflect this idea.
3a55f03
from grin.
Logical Relations - Compiler verification
AhmedLR.pdf
from grin.
https://github.com/ekmett/bound/blob/master/examples/Overkill.hs
from grin.
https://gergo.erdi.hu/blog/2015-02-05-typed_embedding_of_stlc_into_haskell/
from grin.
Monadic Augment and Generalised Short Cut Fusion
http://www.cs.appstate.edu/~johannp/jfp06-revised.pdf
from grin.
Combining Effects and Coeffects via Grading
https://www.cs.kent.ac.uk/people/staff/dao7/publ/combining-effects-and-coeffects-icfp16.pdf
http://www.cs.ox.ac.uk/conferences/fscd2017/preproceedings_unprotected/TLLA_Orchard.pdf
from grin.
Total Haskell is Reasonable Coq
1711.09286.pdf
from grin.
Explaning Type Errors
explaining-errors-slides.pdf
from grin.
Comonadic functional attribute evaluation
tfp05-book.pdf
from grin.
Structured Computation on Trees
uustalu0812-slides.pdf
from grin.
from grin.
A Syntactic Type System for Recursive Modules
oopsla2011.pdf
from grin.
Introducing the backprop library
https://blog.jle.im/entry/introducing-the-backprop-library.html
from grin.
A Denotational Semantics for Weak Memory Concurrency
brookesslides.pdf
from grin.
On the type structure of standard ML
from grin.
Cedille-core:
https://github.com/MaiaVictor/cedille-core
from grin.
Generic Derivation of Induction for Impredicative Encodings in Cedille
http://homepage.divms.uiowa.edu/~astump/papers/cpp-2018.pdf
from grin.
Supercompilation by Evaluation
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/supercomp-by-eval.pdf
from grin.
from grin.
Calculating Correct Compilers:
http://www.cs.nott.ac.uk/~pszgmh/ccc.pdf
from grin.
Making a Fast Curry: Push/Enter vs Eval/Apply for higher order languages:
- https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/eval-apply.pdf
- https://www.microsoft.com/en-us/research/publication/make-fast-curry-pushenter-vs-evalapply/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Fsimonpj%2Fpapers%2Feval-apply%2F
- https://www.microsoft.com/en-us/research/uploads/prod/2016/07/eval-apply-icfp.pdf
from grin.
Compiling Agda to Haskell with fewer coercions
Thesis.pdf
from grin.
This thesis investigates the viability of trace-based just-in-time (JIT)
compilation for optimising programs written in the lazy functional
programming language Haskell.
Trace-based Just-in-time Compilation for Lazy Functional Programming Languages
from grin.
Secrets of the Glasgow Haskell Compiler inliner
https://ghc.haskell.org/trac/ghc/wiki/Inlining
from grin.
from grin.
Incremental Garbage Collection for GHC:
gc-exploringbarriertoentry.pdf
from grin.
https://ghc.haskell.org/trac/ghc/wiki/ReadingList
from grin.
Sequent Calculus as a Compiler Intermediate Language
from grin.
http://cs.nott.ac.uk/~jph/progs4cheap.pdf
from grin.
Categorical Programming with Abstract Data Types
from grin.
Random access to Abstract Data Types
from grin.
Absal is a cleaned up adaptation of Lamping's Abstract Algorithm.
https://github.com/MaiaVictor/abstract-algorithm
Interaction combinators
from grin.
Supporting Separate Compilation in a Defunctionalizing Compiler
Abstract Interpretation of Functional Programs using an Attribute Grammar System
from grin.
Compiling Tree Transforms to Operate on Packed Representations
https://engineering.purdue.edu/~milind/docs/ecoop17.pdf
from grin.
Demand Analysis
https://www.microsoft.com/en-us/research/publication/demand-analysis/
https://www.microsoft.com/en-us/research/wp-content/uploads/2006/07/demand-1.pdf
from grin.
GPU Data-Flow:
http://matt.might.net/papers/prabhu2011eigencfa.pdf
from grin.
A parallel approach for solving data flow analysis problems
https://www.researchgate.net/publication/287083768_A_parallel_approach_for_solving_data_flow_analysis_problems
from grin.
Olin Shivers, PhD thesis:
Control-Flow Analysis of Higher-Order Languages
http://www.ccs.neu.edu/home/shivers/papers/diss.pdf
from grin.
Incrementalized Pointer and Escape Analysis (Frédéric Vivien, Martin Rinard)
from grin.
from grin.
Paper about more efficient data-flow analysis execution:
A Graph–Free Approach to Data–Flow Analysis
from grin.
Regions, Linearity, Garbage collection
https://cyclone.thelanguage.org/wiki/Papers/
from grin.
Secrets of the Glasgow Haskell Compiler inliner
https://www.microsoft.com/en-us/research/wp-content/uploads/2002/07/inline.pdf
from grin.
http://fixpt.de/blog/2018-12-30-strictness-analysis-part-2.html
from grin.
Optimizing Lazy Functional Programs Using Flow Inference (Karl-Filip Faxen)
https://www.researchgate.net/publication/221477317_Optimizing_Lazy_Functional_Programs_Using_Flow_Inference
from grin.
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
from grin.
Exceptional GRIN (Christof Douma's master thesis)
https://github.com/uhc/uhc/blob/master/EHC/text/grinc/exceptionalgrin-final.pdf
exception support for GRIN
from 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
from grin.
Implementing Lazy Functional Languages on Stock Hardware: The Spineless Tagless G-machine
from grin.
Incremental whole program optimization and compilation
from grin.
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
from grin.
Exponential Functor and recursive schemas: http://comonad.com/reader/2008/rotten-bananas/
from grin.
Staged Abstract Interpreters: Fast and Modular Whole-Program Analysis via Meta-Programming
from grin.
Effect-Driven QuickChecking of Compilers
Midtgaard-al-ICFP17-full.pdf
from grin.
"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
from grin.
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
from grin.
Sparse Bidirectional DataFlow Analysis as a Basis for Type Inference
from grin.
Generic Programming With Adjunctions
GenericProgrammingWithAdjunctions.pdf
from grin.
Types as abstract interpretations
Cousot-POPL97-p316-331-1997.pdf
from grin.
Compositional Shape Analysis by means of Bi-Abduction
Related to/uses separation logic.
from grin.
Efficient Points-To Analysis based on CFL-Reachability Summarisation
from grin.
Alternate Control-Flow Analyses for Defunctionalization in the MLton Compiler
Pushdown Control-Flow Analysis for Free
from grin.
https://plum-umd.github.io/abstracting-definitional-interpreters/
from grin.
http://www.kframework.org/index.php/Main_Page
from grin.
Staged Abstract Interpreters Fast and Modular Whole-Program Analysis via Meta-Programming
from grin.
LoCal: a language for programs operating on serialized data (2019)
from grin.
from grin.
Liveness-Based Pointer Analysis
fast flow and context sensitive points-to analysis
from grin.
Performance optimization on Declarative Points-to Analysis using the Souffle Datalog Engine
(describes how to model context sensitive analyses in datalog)
Toward Parallel CFA with Datalog, MPI, and CUDA
from grin.
Sharing Analysis + EVAL inlining + Unboxing = Deforestation
from grin.
Compiler Auto-Vectorization with Imitation Learning
Supporting Separate Compilation in a Defunctionalizing Compiler
from grin.
Abstract Allocation as a Unified Approach to Polyvariance in Control-flow Analyses
Allocation Characterizes Polyvariance
Introspective Polyvariance for Control-Flow Analyses
from grin.
Defunctionalisation as Modular Closure Conversion
from grin.
From folklore to fact: Comparing implementations of stacks and continuations
from grin.
Garbage Collection Using a Finite Liveness Domain (2020)
from grin.
Prefetching in Functional Languages
from grin.
ASAP implementation:
https://github.com/doctorn/micro-mitten
from grin.
data flow analysis = type inference
Data-Flow Analyses as Effects and Graded Monads
from grin.
Binary-Level Type Inference using Datalog
from grin.
Type inference implementation in Datalog and Prolog:
Automatic Type Inference via Partial Evaluation
from grin.
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
from grin.
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
from grin.
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
from grin.
Type theory elaboration implementation
https://www.youtube.com/playlist?list=PL2ZpyLROj5FOt99f_KCxARvd1hDqKns5b
from grin.
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/
from grin.
Incrementalizing Static Analyses in Datalog
https://openscience.ub.uni-mainz.de/handle/20.500.12030/5617
from grin.
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
from grin.
What is contification?
https://julesjacobs.com/2019/03/09/what-is-contification.html
from grin.
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
from grin.
SIMD@OpenMP: A Programming Model Approach to Leverage SIMD Features
https://www.tdx.cat/bitstream/handle/10803/334171/TDLCdG1de1.pdf?sequence=5.txt
from grin.
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
from grin.
Control-Flow Analysis of Functional Programs
https://tidsskrift.dk/brics/article/view/21936
good overview for CFA and related analyses
from grin.
VeGen, The Vectorizer Generator for SIMD and Beyond
https://dl.acm.org/doi/10.1145/3445814.3446692
https://www.youtube.com/watch?v=uwNAnC2y8ds
from grin.
Related Issues (20)
- Clang dependency for tests HOT 2
- How to cite paper HOT 3
- Lambda/GrinCodeGenBoxed.hs does not exist
- SimpleDeadParameterElimination causes "undefined variable" errors
- Question: does GRIN requires a runtime? HOT 1
- What LLVM versions are supported by the codegen? HOT 1
- InlineApply causes non-defined function when self recursive HOT 1
- Confused about non-covered alternatives and RunPure HOT 3
- Foreign pointer primitive type HOT 5
- Binary download?
- Windows support?
- Fix E2E tests for OSX HOT 1
- Clean FFI and primitive operations. This should be modular and specific to frontends.
- Modular PrimOps HOT 4
- Specification of the undefined value semantics
- SparseCaseOptimisation removes useful alternatives HOT 8
- Stop pipeline on errors and add --continue-on-lint option for the current behavior. HOT 3
- Counting Immutable Beans HOT 6
- Improve case hoisting
- Fix data dependencies in pipeline
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grin.