SIGPLAN

Last updated

SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.

Contents

Conferences

Associated journals

Newsletters

Awards

Programming Languages Software Award

Programming Languages Achievement Award

Recognizes an individual or individuals who has made a significant and lasting contribution to the field of programming languages. [10]

Robin Milner Young Researcher Award

Recognizes outstanding contributions by young researchers in the area of programming languages. The award is named after the computer scientist Robin Milner. [11]

SIGPLAN Doctoral Dissertation Award

The full name of this award is the John C. Reynolds Doctoral Dissertation Award, after the computer scientist John C. Reynolds. It is "presented annually to the author of the outstanding doctoral dissertation in the area of Programming Languages." [12]

SIGPLAN Distinguished Service Award

Most Influential PLDI Paper Award

Most Influential POPL Paper Award

Most Influential OOPSLA Paper Award

Most Influential ICFP Paper Award

See also

Related Research Articles

In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language to create an executable program.

In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program.

In computing, just-in-time (JIT) compilation is compilation during execution of a program rather than before execution. This may consist of source code translation but is more commonly bytecode translation to machine code, which is then executed directly. A system implementing a JIT compiler typically continuously analyses the code being executed and identifies parts of the code where the speedup gained from compilation or recompilation would outweigh the overhead of compiling that code.

The Glasgow Haskell Compiler (GHC) is a native or machine code compiler for the functional programming language Haskell. It provides a cross-platform software environment for writing and testing Haskell code and supports many extensions, libraries, and optimisations that streamline the process of generating and executing code. GHC is the most commonly used Haskell compiler. It is free and open-source software released under a BSD license. The lead developers are Simon Peyton Jones and Simon Marlow.

<span class="mw-page-title-main">Simon Peyton Jones</span> British computer scientist (born 1958)

Simon Peyton Jones is a British computer scientist who researches the implementation and applications of functional programming languages, particularly lazy functional programming.

In computer science, a type class is a type system construct that supports ad hoc polymorphism. This is achieved by adding constraints to type variables in parametrically polymorphic types. Such a constraint typically involves a type class T and a type variable a, and means that a can only be instantiated to a type whose members support the overloaded operations associated with T.

<span class="mw-page-title-main">Luca Cardelli</span> Italian computer scientist

Luca Andrea Cardelli is an Italian computer scientist who is a research professor at the University of Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. Among other contributions, in programming languages, he helped design the language Modula-3, implemented the first compiler for the (non-pure) functional language ML, defined the concept of typeful programming, and helped develop the experimental language Polyphonic C#.

In functional programming, a generalized algebraic data type is a generalization of parametric algebraic data types.

<span class="mw-page-title-main">David Ungar</span> American computer scientist

David Michael Ungar, an American computer scientist, co-created the Self programming language with Randall Smith. The Self development environment's animated user experience was described in the paper Animation: From Cartoons to the User Interface co-written with Bay-Wei Chang, which won a lasting impact award at the ACM Symposium on User Interface Software and Technology 2004.

In computer science, ahead-of-time compilation is the act of compiling an (often) higher-level programming language into an (often) lower-level language before execution of a program, usually at build-time, to reduce the amount of work needed to be performed at run time.

In computing, compiler correctness is the branch of computer science that deals with trying to show that a compiler behaves according to its language specification. Techniques include developing the compiler using formal methods and using rigorous testing on an existing compiler.

<span class="mw-page-title-main">Aspect weaver</span> Software programming utility

An aspect weaver is a metaprogramming utility for aspect-oriented languages designed to take instructions specified by aspects and generate the final implementation code. The weaver integrates aspects into the locations specified by the software as a pre-compilation step. By merging aspects and classes, the weaver generates a woven class.

In computer science, region-based memory management is a type of memory management in which each allocated object is assigned to a region. A region, also called a zone, arena, area, or memory context, is a collection of allocated objects that can be efficiently reallocated or deallocated all at once. Like stack allocation, regions facilitate allocation and deallocation of memory with low overhead; but they are more flexible, allowing objects to live longer than the stack frame in which they were allocated. In typical implementations, all objects in a region are allocated in a single contiguous range of memory addresses, similarly to how stack frames are typically allocated.


Haskell is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell has pioneered a number of programming language features such as type classes, which enable type-safe operator overloading, and monadic input/output (IO). It is named after logician Haskell Curry. Haskell's main implementation is the Glasgow Haskell Compiler (GHC).

<span class="mw-page-title-main">Object-oriented programming</span> Programming paradigm based on the concept of objects

Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields, and code in the form of procedures. In OOP, computer programs are designed by making them out of objects that interact with one another.

In computer programming, one of the many ways that programming languages are colloquially classified is whether the language's type system makes it strongly typed or weakly typed. However, there is no precise technical definition of what the terms mean and different authors disagree about the implied meaning of the terms and the relative rankings of the "strength" of the type systems of mainstream programming languages. For this reason, writers who wish to write unambiguously about type systems often eschew the terms "strong typing" and "weak typing" in favor of specific expressions such as "type safety".

Tracing just-in-time compilation is a technique used by virtual machines to optimize the execution of a program at runtime. This is done by recording a linear sequence of frequently executed operations, compiling them to native machine code and executing them. This is opposed to traditional just-in-time (JIT) compilers that work on a per-method basis.

Gradual typing is a type system in which some variables and expressions may be given types and the correctness of the typing is checked at compile time and some expressions may be left untyped and eventual type errors are reported at runtime. Gradual typing allows software developers to choose either type paradigm as appropriate, from within a single language. In many cases gradual typing is added to an existing dynamic language, creating a derived language allowing but not requiring static typing to be used. In some cases a language uses gradual typing from the start.

David Bacon is an American computer programmer.

References

  1. "Programming Languages Software Award" . Retrieved 2022-10-27.
  2. 1 2 "Programming Languages Software Award" . Retrieved 2021-10-05.
  3. Luterbacher, Celia (25 June 2019). "Scala programming language wins SIGPLAN award" . Retrieved 2019-06-25.
  4. 1 2 3 4 "Programming Languages Software Award". www.sigplan.org. Retrieved 2018-12-02.
  5. 2013: The Coq proof assistant Archived 2013-07-03 at the Wayback Machine . SIGPLAN. Retrieved on 2013-08-20.
  6. 2012: Jikes Research Virtual Machine (RVM) Archived 2013-07-03 at the Wayback Machine . SIGPLAN. Retrieved on 2013-08-20.
  7. 2011: Simon Peyton Jones and Simon Marlow. SIGPLAN. Retrieved on 2013-08-20.
  8. 2010: Chris Lattner. SIGPLAN. Retrieved on 2013-08-20.
  9. ACM SIGPLAN Programming Languages Software Award in 2010 in recognition of his work on LLVM.
  10. "SIGPLAN Programming Languages Achievement Award". ACM SIGPLAN. Archived from the original on 2014-05-18.
  11. "SIGPLAN Robin Milner Young Researcher Award". www.sigplan.org. ACM SIGPLAN. Retrieved 2018-03-12.
  12. "John C. Reynolds Doctoral Dissertation Award". www.sigplan.org. Retrieved 2017-01-16.