Lennart Augustsson is a Swedish computer scientist. He was formerly a lecturer at the Computing Science Department at Chalmers University of Technology. His research field is functional programming and implementations of functional programming languages.[1]
Lennart Augustsson | |
---|---|
Known for | Languages (Lazy ML, Cayenne), compilers (Bluespec SystemVerilog first, HBC Haskell, parallel Haskell front end), LPMud pioneer, NetBSD device drivers |
Scientific career | |
Fields | Computer science, functional programming |
Institutions | Carlstedt Research and Technology, Sandburst, Credit Suisse, Standard Chartered Bank, Facebook, X Development, Google, Epic Games, Chalmers University of Technology |
Augustsson has worked for Carlstedt Research and Technology, Sandburst, Credit Suisse, Standard Chartered Bank, Facebook, X Development, Google and is currently employed by Epic Games.[2]
Programming
editAugustsson was intimately involved in early development of the multi-user dungeon (MUD) LPMud, both in the LPMUD driver and the CD mudlib. His MUD community pseudonym is Marvin.
He authored several hardware device drivers for the Berkeley Software Distribution (BSD) Unix operating system NetBSD.[3]
Languages
editAugustsson has developed several programming languages and implementations, including:
- Cayenne[4]
- Haskell-B compiler (HBC)[5]
- Parallel Haskell (pH) compiler front end, from the Massachusetts Institute of Technology (MIT)[6]
- Bluespec SystemVerilog (BSV) compiler, first version[7]
- Lazy ML (LML), co-developed with Thomas Johnsson,[8] a functional programming language developed in the early 1980s, before Miranda and Haskell. LML is a strongly typed, statically scoped implementation of ML, with lazy evaluation. The key innovation of LML was to demonstrate how to compile a lazy functional language. Until then, lazy languages had been implemented via interpreted graph reduction. LML compiled to graph reduction machine (G-machine) code.[8]
- Part of the development team at Epic Games responsible for creating the Verse programming language[9]
Augustsson has written three winning entries in the language C for the International Obfuscated C Code Contest:
- 1985: Most obscure program (1985/august.c)
- 1986: Best complex task done in a complex way (1986/august.c)
- 1996: Best of Show (1996/august.c)
References
edit- ^ Augustsson, Lennart (2004–2011). "Commercial Users of Functional Programming". Archived from the original on 8 February 2012. Retrieved 18 September 2016.
- ^ Augustsson, Lennart (2024). "Lennart Augustsson". LinkedIn profile. Retrieved 29 March 2017.
- ^ "Chapter 13 USB Devices". Retrieved 18 September 2016.
- ^ Augustsson, Lennart (1998). Cayenne – a language with dependent types. ICFP '98. Proceedings of the third ACM SIGPLAN international conference on Functional programming. pp. 239–250. CiteSeerX 10.1.1.47.155. doi:10.1145/289423.289451. S2CID 18331937.
- ^ "Haskell Implementations". Haskell.org. 30 September 2022. Retrieved 10 November 2023.
- ^ "pH: Parallel Haskell". Massachusetts Institute of Technology: Computation Structures Group. Retrieved 18 September 2016.
- ^ Augustsson, Lennart (17 January 2003). Bluespec: Designer's Perspective (PDF) (Report). Sandburst Corporation.
- ^ a b Augustsson, Lennart (1984). A Compiler for Lazy ML. LFP '84. Proceedings of the 1984 ACM Symposium on LISP and functional programming. pp. 218–227. doi:10.1145/800055.802038. S2CID 11365842.
- ^ "The Verse Calculus A Core Calculus for Functional Logic Programming" (PDF). March 2023.