Simon Peyton Jones
#3,382
Most Influential Person Now
British computer scientist
Simon Peyton Jones's AcademicInfluence.com Rankings
Simon Peyton Jonescomputer-science Degrees
Computer Science
#172
World Rank
#179
Historical Rank
Database
#696
World Rank
#730
Historical Rank
Download Badge
Computer Science
Simon Peyton Jones's Degrees
- PhD Computer Science University of Southampton
Similar Degrees You Can Earn
Why Is Simon Peyton Jones Influential?
(Suggest an Edit or Addition)According to Wikipedia, Simon Peyton Jones is a British computer scientist who researches the implementation and applications of functional programming languages, particularly lazy functional programming. Education Peyton Jones graduated from the University of Cambridge with a Bachelor of Science degree in Electrical Sciences in 1979. During this time he was an undergraduate student of Trinity College, Cambridge, and subsequently went on to complete the Cambridge Diploma in Computer Science in 1980. He never did a PhD.
Simon Peyton Jones's Published Works
Published Works
- The Implementation of Functional Programming Languages (1987) (1356)
- Report on the programming language Haskell: a non-strict, purely functional language version 1.2 (1992) (1317)
- Imperative functional programming (1993) (1027)
- Composable memory transactions (2005) (805)
- Template meta-programming for Haskell (2002) (575)
- A short cut to deforestation (1993) (474)
- Concurrent Haskell (1996) (449)
- Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine (1992) (417)
- The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science) (1987) (406)
- Scrap your boilerplate: a practical design pattern for generic programming (2003) (397)
- Simple unification-based type inference for GADTs (2006) (372)
- Type classes in Haskell (1994) (345)
- A history of Haskell: being lazy with class (2007) (328)
- The Glasgow Haskell Compiler: a technical overview (1993) (275)
- System F with type equality coercions (2007) (254)
- Associated type synonyms (2005) (233)
- Data parallel Haskell: a status report (2007) (232)
- Playing by the rules: rewriting as a practical optimisation technique in GHC (2001) (231)
- Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell (2005) (220)
- Unboxed Values as First Class Citizens in a Non-Strict Functional Language (1991) (214)
- State in Haskell (1995) (210)
- Practical type inference for arbitrary-rank types (2007) (198)
- Associated types with class (2005) (198)
- A user-centred approach to functions in Excel (2003) (190)
- Giving Haskell a promotion (2012) (174)
- Type classes: an exploration of the design space (1997) (167)
- A Transformation-Based Optimiser for Haskell (1998) (165)
- Regular, shape-polymorphic, parallel arrays in Haskell (2010) (163)
- Type checking with open type functions (2008) (152)
- GRIP - A high-performance architecture for parallel graph reduction (1987) (151)
- Secrets of the Glasgow Haskell Compiler inliner (2002) (150)
- Scrap your boilerplate with class: extensible generic functions (2005) (148)
- Derivable Type Classes (2001) (146)
- Towards Haskell in the cloud (2012) (144)
- Runtime support for multicore Haskell (2009) (143)
- Harnessing the Multicores: Nested Data Parallelism in Haskell (2008) (142)
- Compiling Haskell by Program Transformation: A Report from the Trenches (1996) (141)
- OutsideIn(X) Modular type inference with local assumptions (2011) (125)
- The spineless tagless G-machine (1989) (124)
- Scrap more boilerplate: reflection, zips, and generalised casts (2004) (123)
- Composing contracts: an adventure in financial engineering (functional pearl) (2000) (120)
- A monad for deterministic parallelism (2012) (120)
- A semantics for imprecise exceptions (1999) (119)
- Parallel Implementations of Functional Programming Languages (1989) (112)
- Strictness Analysis - A Practical Approach (1985) (111)
- C--: A Portable Assembly Language that Supports Garbage Collection (1999) (104)
- The Glasgow Haskell Compiler (2012) (100)
- Asynchronous exceptions in Haskell (2001) (100)
- Complete and decidable type inference for GADTs (2009) (100)
- Closed type families with overlapping equations (2014) (92)
- Roadmap for enhanced languages and methods to aid verification (2006) (90)
- Bringing computer science back into schools: lessons from the UK (2013) (89)
- The spineless G-machine (1988) (88)
- Wobbly types: type inference for generalised algebraic data types∗ (2004) (86)
- Calling hell from heaven and heaven from hell (1999) (85)
- Making a fast curry: push/enter vs. eval/apply for higher-order languages (2004) (83)
- Time and space profiling for non-strict, higher-order functional languages (1995) (83)
- A monadic framework for delimited continuations (2007) (83)
- Scrap Your Boilerplate (2003) (79)
- Linear Haskell: practical linearity in a higher-order polymorphic language (2017) (79)
- Understanding functional dependencies via constraint handling rules (2007) (77)
- Once upon a polymorphic type (1999) (74)
- Haskell 98 Libraries: Random Numbers (2003) (73)
- Parallel generational-copying garbage collection with a block-structured heap (2008) (72)
- Formally based profiling for higher-order functional languages (1997) (69)
- Haskell on a shared-memory multiprocessor (2005) (69)
- Dynamic typing as staged type inference (1998) (67)
- HALO: haskell to logic through denotational semantics (2013) (67)
- Unboxed values as first class citizens (1991) (67)
- Scrap your boilerplate: a practical approach to generic programming (2003) (66)
- Aspect-Oriented Compilers (1999) (66)
- Scripting COM components in Haskell (1998) (66)
- H/Direct: a binary foreign language interface for Haskell (1998) (65)
- Composing Contracts: An Adventure in Financial Engineering (2001) (65)
- Boxy types: inference for higher-rank types and impredicativity (2006) (63)
- Implementing functional languages (1992) (62)
- Haskell 98 Libraries: Input/Output (2003) (61)
- High-Performance parallel graph reduction (1989) (59)
- Stretching the Storage Manager: Weak Pointers and Stable Names in Haskell (1999) (59)
- Multicore garbage collection with local heaps (2011) (58)
- Transactional memory with data invariants (2006) (56)
- Implementing Functional Languages: a tutorial (2000) (56)
- Henk: a typed intermediate language (1997) (55)
- Safe zero-cost coercions for Haskell (2014) (52)
- Comprehensive comprehensions (2007) (51)
- A modular fully‐lazy lambda lifter in Haskell (1991) (48)
- Efficient differentiable programming in a functional array-processing language (2018) (48)
- Measuring the effectiveness of a simple strictness analyser (1993) (48)
- Optimistic evaluation: an adaptive evaluation strategy for non-strict programs (2003) (46)
- Engineering parallel symbolic programs in GPH (1999) (45)
- Safe haskell (2013) (45)
- Generative type abstraction and type-level computation (2011) (45)
- C-: A Portable Assembly Language (1997) (42)
- Call-pattern specialisation for Haskell programs (2007) (41)
- Supercompilation by evaluation (2010) (41)
- Lexically-scoped type variables (2002) (40)
- Green card: a foreign-language interface for Haskell (1997) (39)
- FPH: first-class polymorphism for Haskell (2008) (39)
- Sound and Decidable Type Inference for Functional Dependencies (2004) (39)
- The Glasgow Haskell Compiler: A Retrospective (1992) (39)
- Equality proofs and deferred type errors: a compiler pearl (2012) (37)
- Fun with Type Functions (2010) (37)
- The four-stroke reduction engine (1986) (37)
- Composing Haggis (1995) (37)
- Pattern Guards and Transformational Patterns (2001) (37)
- Lightweight Extensible Records for Haskell (1999) (36)
- Generational garbage collection for Haskell (1993) (36)
- Extending the Haskell foreign function interface with concurrency (2004) (36)
- Guiding parallel array fusion with indexed types (2013) (36)
- Lightweight concurrency primitives for GHC (2007) (35)
- FLIC—a functional language intermediate code (1988) (33)
- Lock Free Data Structures Using STM in Haskell (2006) (33)
- Haskell 98 Libraries: Rational Numbers (2003) (33)
- Hoopl: a modular, reusable library for dataflow analysis and transformation (2010) (32)
- Compilation by Transformation in the Glasgow Haskell Compiler (1994) (32)
- Bridging the gulf: a common intermediate language for ML and Haskell (1998) (31)
- Pattern synonyms (2016) (30)
- Let should not be generalized (2010) (30)
- Haskell 98 Libraries: Complex Numbers (2003) (30)
- A Tutorial on Parallel and Concurrent Programming in Haskell (2008) (29)
- Object-Oriented Style Overloading for Haskell (2001) (28)
- Avoiding Unnecessary Updates (1992) (27)
- Compiling without continuations (2017) (27)
- Desugaring Haskell's do-notation into applicative operations (2016) (26)
- Simple Usage Polymorphism (2000) (26)
- Build systems à la carte (2018) (26)
- Injective type families for Haskell (2015) (26)
- Picture: A Simple Structured Graphics Model (1995) (25)
- Profiling scheduling strategies on the GRIP parallel reducer (1991) (25)
- Some Early Experiments on the GRIP Parallel Reducer (1990) (24)
- Towards open type functions for Haskell (2007) (24)
- The New GHC/Hugs Runtime System (1998) (24)
- Exploiting vector instructions with generalized stream fusion (2017) (23)
- Porting the Clean Object I/O Library to Haskell (2000) (23)
- GpH: An Architecture-independent Functional Language (1998) (21)
- A Reflection on Types (2016) (21)
- HsDebug: debugging lazy programs by not being lazy (2003) (21)
- Processing Transactions on GRIP, a Parallel Graph Reducer (1993) (21)
- Cheap Deforestation in Practice: An Optimizer for Haskell (1994) (21)
- First class modules for Haskell (2002) (21)
- Comprehensive Comprehensions Comprehensions with 'Order by' and 'Group by' (2007) (20)
- Yacc in sasl — an exercise in functional programming (1985) (20)
- A Safe Approach to Parallel Combinator Reduction (1988) (20)
- Modular, higher-order cardinality analysis in theory and practice (2014) (20)
- Haskell 98: Introduction (2003) (20)
- Champagne Prototyping: A Research Technique for Early Evaluation of Complex End-User Programming Systems (2004) (19)
- SIGPLAN Notices Special Issue on the Functional Programming Language Haskell (1992) (19)
- Generating parallelism from strictness analysis (1985) (18)
- Calculation View: multiple-representation editing in spreadsheets (2018) (18)
- Vectorisation avoidance (2013) (18)
- Haskell 98 Libraries: Bibliography (2003) (17)
- Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation (2022) (17)
- GADTs meet their match: pattern-matching warnings that account for GADTs, guards, and laziness (2015) (17)
- An investigation of the relative efficiencies of combinators and lambda expressions (1982) (16)
- Practical Type Inference for Arbitrary-Rank Types: Technical Appendix (2005) (16)
- Profiling Lazy Functional Programs (1992) (16)
- A Safe Approach to Parallel Combinator Reduction (Extended Abstract) (1986) (15)
- Parallelising a Large Functional Program or: Keeping LOLITA Busy (1997) (15)
- Destination-passing style for efficient memory management (2017) (15)
- Constructed product result analysis for Haskell (2004) (15)
- Functional Programming, Glasgow 1990 (1991) (14)
- Finding the needle: stack traces for GHC (2009) (14)
- Composing the User Interface with Haggis (1996) (14)
- Parsing distfix operators (1986) (14)
- Exploring the barrier to entry: incremental generational garbage collection for Haskell (2004) (14)
- A quick look at impredicativity (2020) (14)
- Sequent calculus as a compiler intermediate language (2016) (14)
- Partial Vectorisation of Haskell Programs (2008) (13)
- Composing contracts: an adventure in financial engineering, functional pearl (2000) (13)
- Non-recursive make considered harmful: build systems at scale (2016) (13)
- Using Futurebus in a fifth-generation computer (1986) (13)
- Lazy v. Yield: Incremental, Linear Pretty-Printing (2012) (13)
- Backpack: retrofitting Haskell with interfaces (2014) (12)
- A Monadic Framework for Subcontinuations (2005) (12)
- Automatic Spark Strategies and Granularity for a Parallel Functional Language Reducer (1994) (12)
- Bulk types with class (1996) (12)
- Haskell 98 Libraries: CPU Time (2003) (11)
- Unboxing using Specialisation (1994) (11)
- An Introduction to Fully-Lazy Supercombinators (1985) (11)
- Featherweight concurrency in a portable assembly language (2001) (11)
- Higher-order type-level programming in Haskell (2019) (11)
- Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages (2006) (10)
- Evidence Normalization in System FC (Invited Talk) (2013) (10)
- Termination combinators forever (2012) (10)
- Lower your guards: a compositional pattern-match coverage checker (2020) (10)
- Types are calling conventions (2009) (10)
- A static semantics for Haskell (1992) (10)
- Elastic sheet-defined functions: Generalising spreadsheet functions to variable-size input arrays (2020) (10)
- Scrap Your Type Applications (2008) (9)
- Imprecise Exceptions, Co-Inductively (1999) (9)
- Type variables in patterns (2018) (9)
- On the equivalence between CMC and TIM (1994) (8)
- Trees that Grow (2016) (8)
- Levity polymorphism (2017) (8)
- Machine-independent support for garbage collection, debugging, exception handling, and concurrency (draft) (1998) (8)
- SHErrLoc: A Static Holistic Error Locator (2017) (8)
- Improving supercompilation: tag-bags, rollback, speculation, normalisation, and generalisation (2011) (7)
- How to make a fast curry: push/enter vs eval/apply (2004) (7)
- Haskell Is Not Not ML (2006) (7)
- Composable scheduler activations for Haskell (2016) (7)
- Codata in Action (2019) (7)
- An Exploration of Modular Programs (1996) (7)
- The computing at school working group (2013) (7)
- Closed Type Families with Overlapping Equations (extended version) (2013) (6)
- Making a faster Curry with extensional types (2019) (6)
- Programming Reactive Systems in Haskell (1994) (6)
- Hoopl: Dataflow Optimization Made Simple (2009) (6)
- Evidence normalization in System FC (2016) (6)
- Computer science as a school subject (2013) (6)
- Profiling Lazy Functional Languages Working Paper (1992) (5)
- How to Write a Great Research Paper (2017) (5)
- A practical technique for designing asynchronous finite-state machines (1989) (5)
- Proceedings of the second ACM SIGPLAN international conference on Functional programming (1997) (5)
- Haskell Communities and Activities Report (2002) (5)
- 8 Standard Prelude (2003) (5)
- The Multi-architecture Performance of the Parallel Functional Language GP H (Research Note) (2000) (5)
- Pictures: A Structured Graphics Model (1996) (4)
- A Parallel Functional Database on GRIP (1991) (4)
- A Futurebus interface from off-the-shelf parts (1991) (4)
- Safe Zero-cost Coercions for Haskell (extended version) (2014) (4)
- Constructor specialisation for Haskell programs (2007) (4)
- The Glasgow Haskell Compiler The Architecture of Open Source Applications , Volume 2 ∗ DRAFT chapter (2012) (4)
- Functional Programming Languages as a Software Engineering Tool (1986) (4)
- The C– Language Reference Manual (1998) (4)
- Build systems à la carte: Theory and practice (2020) (4)
- Generative Type Abstraction and Type-level Computation ( Extended Version ) (2010) (4)
- Haskell 98 Libraries: System Functions (2003) (3)
- Time and Space Prooling for Non-strict, Higher-order Functional Languages 1 Motivation and Overview (1994) (3)
- Classes, Jim, But Not as We Know Them - Type Classes in Haskell: What, Why, and Whither (2009) (3)
- How to give a good research talk (1993) (3)
- The Educational Pearls column (2003) (3)
- The STG runtime system (revised) (2008) (3)
- Haskell 98: Lexical Structure (2003) (3)
- On Program Transformation in the Glasgow Haskell Compiler (1992) (3)
- Boxy type inference for higher-rank types and impredicativity, Technical Appendix (2006) (3)
- Theory and practice of demand analysis in Haskell (2017) (2)
- Kinds are calling conventions (2020) (2)
- Retrofitting linear types (2017) (2)
- Pro ling scheduling strategies on the GRIP parallel reducerKevin (1991) (2)
- Hashing modulo alpha-equivalence (2021) (2)
- Injective Type Families for Haskell (extended version) (2015) (2)
- Non-recursive Make Considered Harmful (2016) (2)
- Haskell 98 Libraries: List Utilities (2003) (1)
- International Workshop on Implementing Functional Languages (IFL'99) (1999) (1)
- Practical aspects of evidence-based compilation in System FC (2016) (1)
- Injective Type Families for Haskell ( extended version ) 1 (2015) (1)
- Terms of use : Click here Safe zero-cost coercions for Haskell (2016) (1)
- Levity Polymorphism (extended version) (2017) (1)
- Backpack to work: towards practical mixin linking for Haskell (2016) (1)
- An ADATM compatible specification language (1981) (1)
- 10 Specification of Derived Instances (2003) (1)
- Higher-Order Cardinality Analysis in Theory and Practice (2014) (1)
- Porting the Clean Obje t I / O Library to HaskellPeter (2001) (1)
- Type-Directed Compilation in the Wild: Haskell and Core (2013) (1)
- 4 Declarations and Bindings (2003) (1)
- Advanced functional programming : 4th International School, AFP 2002, Oxford, UK, August 19-24, 2002 : revised lectures (2003) (1)
- Haskell 98: Expressions (2003) (1)
- Haskell 98 Libraries: Character Utilities (2003) (1)
- Improving the world's most popular functional language: user-defined functions in Excel (2003) (1)
- Haskell 98: Basic Input/Output (2003) (1)
- Fork of GHC implementing -XUnsaturatedTypeFamilies for the paper 'Higher-Order Type-Level Programming in Haskell' (2019) (1)
- Selective Lambda Lifting (2019) (1)
- 1 Introduction (2003) (1)
- Haskell 98: Syntax Reference (2003) (1)
- 2 Lexical Structure (2003) (1)
- Lexically-scoped type variables April 1 , 2004 (2004) (1)
- FPH (2008) (1)
- Call-pattern specialisation for haskell programs (2007) (1)
- GRAPHing the FutureKevin Hammond (1994) (0)
- FPH: First-class Polymorphism for Haskell Declarative, Constraint-free Type Inference for Impredicative Polymorphism (2008) (0)
- Scrap your boilerplate: Invited talk (2003) (0)
- Dataflow Optimization Made Simple (2009) (0)
- Proceedings of the 4th ACM SIGPLAN workshop on Commercial users of functional programming (2007) (0)
- 23 System Functions (2003) (0)
- Haskell 98: Modules (2003) (0)
- A Monadic Framework for Subcontinuations Friday 29 th April (2005) (0)
- Using Destination-Passing Style to Compile a Functional Language into Efficient Low-Level Code (2016) (0)
- 15 Indexing Operations (2003) (0)
- Learning to Reason Mathematically (2019) (0)
- Impre ise Ex eptions , Co-Indu tively (2016) (0)
- ICFP 2004: Scrap More Boilerplate: Reflection, Zips, and Generalised Casts (2015) (0)
- 9 Syntax Reference (2003) (0)
- Haskell 98: Predefined Types and Classes (2003) (0)
- 17 List Utilities (2003) (0)
- Functional programming, Glasgow 1990 : proceedings of the 1990 Glasgow Workshop on Functional Programming (1991) (0)
- Definition of Language Binding for Haskell (1999) (0)
- 16 Arrays (2003) (0)
- Declarative systems architecture: a quantitative approach (AQUA) Final Report (2016) (0)
- An investigation of the relative efficiencies of lambda expressions and combinators (1982) (0)
- Featherweight on urren y in a portable assembly languageNorman (2001) (0)
- Haskell and transactional memory (2016) (0)
- Haskell 98 Libraries: Arrays (2003) (0)
- ARITY ANALYSIS ( Working Notes Only , Not Ready for Publication Yet ) (2006) (0)
- Haskell 98 Libraries: Directory Functions (2003) (0)
- Bibliography (2003) (0)
- The International Symposium on Memory Management 2008 (0)
- Parallel Database Engine (parade) Final Report Parallel Language Support (section 2). We Have Parallel Programming (section 4). Motivated by 2 Parallel Language Support (1997) (0)
- Haskell and Erlang: growing up together (2009) (2009) (0)
- Haskell 98 Libraries: Indexing Operations (2003) (0)
- Haskell 98 Libraries: Monad Utilities (2003) (0)
- JFP volume 6 issue 6 Cover and Front matter (1996) (0)
- First-Class Modules for HaskellMark Shields (2002) (0)
- JFP volume 6 issue 5 Cover and Front matter (1996) (0)
- 3 Expressions (2003) (0)
- Proposal : Scheduling Parallel Functional Programs (2007) (0)
- Knossos: Compiling AI with AI (2019) (0)
- Declarative Systems Architecture: A Quantitative Approach (AQUA) (1997) (0)
- Code Client Appliccation Block Allocator Manager Storage Scheduler Interpreter Runtime System Compiled Haskell (1998) (0)
- Higher-Order Cardinality Analysis Extended version (2013) (0)
- Engineering Parallel Symboli Programs in GpH (2016) (0)
- The C—compiler infrastructure (2004) (0)
- Session details: Testing and validation (2007) (0)
- 13 Complex Numbers (2003) (0)
- 27 Random Numbers (2003) (0)
- 20 Monad Utilities (2003) (0)
- Constructor specialisation for Haskell programs April 16 , 2007 (2007) (0)
- 12 Rational Numbers (2003) (0)
- 7 Basic Input/Output (2003) (0)
- Stack Traces for GHC (2009) (0)
- Session details: Testing and validation (2007) (0)
- 21 Input/Output (2003) (0)
- GpH: An Architecture-independent Functional Language (2nd Draft) (1998) (0)
- 18 Maybe Utilities (2003) (0)
- 26 CPU Time (2003) (0)
- Efficient and Sound Differentiable Programming in a Functional Array-Processing Language (2022) (0)
- 14 Numeric Functions (2003) (0)
- Haskell 98 Libraries: Maybe Utilities (2003) (0)
- PARallel Database Engine (Parade) Final Report (1997) (0)
- Imperative Functional Programming Brief Summary (1992) (0)
- Typed reflection in Haskell (2016) (0)
- Triemaps that match (2023) (0)
- Haskell 98 Libraries: Dates and Times (2003) (0)
- New Results - Other results on the implementation of functional programming languages (2007) (0)
- Session details: Session 4 (2010) (0)
- Sequent Calculus as a Compiler Intermediate Language Appendix (2016) (0)
- Haskell 98 Libraries: Locales (2003) (0)
- Haskell 98 Libraries: Numeric Functions (2003) (0)
- The Multi-Ar hite ture Performan e of theParallel Fun tional Language (2000) (0)
- Comparing popular and formal scienti c writing using Bill Bryson and (2012) (0)
- Artifact for "Lower Your Guards: A Compositional Pattern-Match Coverage Checker" (2020) (0)
- Lazy functional state threads (abstract) (1994) (0)
- Engineering Parallel Symboli Programs in (1999) (0)
- Lazy Funtional State Threads: An Abstract (1994) (0)
- The C - compiler infrastructure (2004) (0)
- 19 Character Utilities (2003) (0)
- Executable models for the paper "Build Systems à la Carte" (2018) (0)
- 22 Directory Functions (2003) (0)
This paper list is powered by the following services:
Other Resources About Simon Peyton Jones
What Schools Are Affiliated With Simon Peyton Jones?
Simon Peyton Jones is affiliated with the following schools: