• Corpus ID: 41566743

Semantics Engineering with PLT Redex

  title={Semantics Engineering with PLT Redex},
  author={Matthias Felleisen and Robert Bruce Findler and Matthew Flatt},
This text is the first comprehensive presentation of reduction semantics in one volume; it also introduces the first reliable and easy-to-use tool set for such forms of semantics. Software engineers have long known that automatic tool support is critical for rapid prototyping and modeling, and this book is addressed to the working semantics engineer (graduate student or professional language designer). The book comes with a prototyping tool suite to develop, explore, test, debug, and publish… 

Semantics First! - Rethinking the Language Design Process

It will be shown that powerful and general language operators can be employed to adapt and grow sophisticated languages out of simple semantics concepts out ofsimple semantics concepts.

Decoding Lua: formal semantics for the developer and the semanticist

This work provides formal semantics for a large subset of the Lua programming language, in its version 5.2, using concepts from Felleisen-Hieb's reduction semantics with evaluation contexts and mechanizing and testing the model in PLT Redex, the de facto tool for reduction semantics.

A Tool for Describing and Checking Natural Semantics Definitions of Programming Languages

A pedagogical metalanguage based on natural semantics, and its implementation, is presented, as an attempt to marry two notions: a syntax similar to textbook notation for natural semantics on the one hand, and automatic verification of some correctness properties on the other by means of a strong type discipline.

On the Effectiveness of Lightweight Mechanization

This validation concerns the for­ malization and exploration of nine ICFP 2009 papers in Redex, an effort that uncovered mistakes in all nine papers, and suggests that Redex-based lightweight modeling is effective and easy to integrate into the work flow of a semantics engineer.

Run your research: on the effectiveness of lightweight mechanization

Redex is a domain-specific language for semantic models that is embedded in the Racket programming language and comes with tools for the semantics engineering life cycle.

Technical Report: Applicative Matching Logic: Semantics ofK

This paper proposes a simple logic called applicative matching logic (AML) as a new logical foundation for K, and shows that AML captures all the logical frameworks that have been implemented fully or partially in K, including many-sorted first-order logic (MSFOL); constructors and term algebras; and parametric sorts/types.

Executable component-based semantics

A Modular Rewriting Approach to Language Design, Evolution and Analysis

This dissertation focuses on research in programming language semantics and program analysis, aimed at building and reasoning about programming languages and applications, and presents a new technique aimed at annotation-driven static analysis called policy frameworks.

Software meta-language engineering and CBS

  • P. Mosses
  • Computer Science, Linguistics
    J. Comput. Lang.
  • 2019

Modular and automated type-soundness verification for language extensions

A formalism for building and automatically verifying the type-soundness of syntactic language extensions that is implemented in PLT Redex and a syntactically extensible variant of System Fw that is extended with let notation, monadic do blocks, and algebraic data types.