The Curious Engineer

All blogs / Functional / PL theory

The Brown PLT Blog

blog.brownplt.org

Functional / PL theoryCompilersRust

Posts
89 from 13 Sep 2011 to 9 Jun 2026
Posting
now and then (3 in the last year)
Kind
project news
Feed
https://blog.brownplt.org/feed.xml

2026 2

  1. Human Judgment as a Specification
  2. Diagramming Program Values by Spatial Refinement

2025 5

  1. LLMs ⭢ Regular Expressions, Responsibly!
  2. Sharing is Scaring: Why is Cloud File-Sharing Hard?
  3. Practical Static Analysis for Privacy Bugs
  4. Lightweight Diagramming for Lightweight Formal Methods
  5. Argus: Interactively Debugging Rust trait Errors

2024 9

  1. LTL Tutor
  2. Misconceptions In Finite-Trace and Infinite-Trace Linear Temporal Logic
  3. Iterative Student Program Planning using Transformer-Driven Feedback
  4. Differential Analysis: A Summary
  5. Forge: A Tool to Teach Formal Methods
  6. Finding and Fixing Standard Misconceptions About Program Behavior
  7. Privacy-Respecting Type Error Telemetry at Scale
  8. Profiling Programming Language Learning
  9. The Examplar Project: A Summary

2023 7

  1. A Core Calculus for Documents
  2. Observations on the Design of Program Planning Notations for Students
  3. Conceptual Mutation Testing
  4. Generating Programs Trivially: Student Use of Large Language Models
  5. A Grounded Conceptual Model for Ownership Types in Rust
  6. What Happens When Students Switch (Functional) Languages
  7. Typed-Untyped Interactions: A Comparative Analysis

2022 8

  1. Little Tricky Logics
  2. Identifying Problem Misconceptions
  3. Performance Preconceptions
  4. Structural Versus Pipeline Composition of Higher-Order Functions
  5. Plan Composition Using Higher-Order Functions
  6. Towards a Notional Machine for Runtime Stacks and Scope
  7. Gradual Soundness: Lessons from Static Python
  8. Applying Cognitive Principles to Model-Finding Output

2021 7

  1. Automated, Targeted Testing of Property-Based Testing Predicates
  2. A Benchmark for Tabular Types
  3. Student Help-Seeking for (Un)Specified Behaviors
  4. Adding Function Transformers to CODAP
  5. Developing Behavioral Concepts of Higher-Order Functions
  6. Adversarial Thinking Early in Post-Secondary Education
  7. Teaching and Assessing Property-Based Testing

2020 4

  1. Students Testing Without Coercion
  2. Using Design Alternatives to Learn About Data Organizations
  3. What Help Do Students Seek in TA Office Hours?
  4. Combating Misconceptions by Encouraging Example-Writing

2018 4

  1. The Hidden Perils of Automated Assessment
  2. Mystery Languages
  3. Resugaring Type Rules
  4. Picking Colors for Pyret Error Messages

2017 7

  1. Can We Crowdsource Language Design?
  2. Crowdsourcing User Studies for Formal Methods
  3. User Studies of Principled Model Finder Output
  4. A Third Perspective on Hygiene
  5. Scope Inference, a.k.a. Resugaring Scope Rules
  6. The PerMission Store
  7. Examining the Privacy Decisions Facing Users

2016 4

  1. The Pyret Programming Language: Why Pyret?
  2. Resugaring Evaluation Sequences
  3. Slimming Languages by Reducing Sugar
  4. In-flow Peer Review: An Overview

2015 4

  1. Tierless Programming for SDNs: Differential Analysis
  2. Tierless Programming for SDNs: Verification
  3. Tierless Programming for SDNs: Optimality
  4. Tierless Programming for SDNs: Events

2014 4

  1. Tierless Programming for Software-Defined Networks
  2. CS Student Work/Sleep Habits Revealed As Possibly Dangerously Normal
  3. Parley: User Studies for Syntax Design
  4. Typechecking Uses of the jQuery Language

2013 10

  1. Verifying Extensions' Compliance with Firefox's Private Browsing Mode
  2. From MOOC Students to Researchers
  3. Social Ratings of Application Permissions (Part 4: The Goal)
  4. Social Ratings of Application Permissions (Part 3: Permissions Within a Domain)
  5. Social Ratings of Application Permissions (Part 2: The Effect of Branding)
  6. Social Ratings of Application Permissions (Part 1: Some Basic Conditions)
  7. Aluminum: Principled Scenario Exploration Through Minimality
  8. A Privacy-Affecting Change in Firefox 20
  9. The New MOOR's Law
  10. Essentials of Garbage Collection

2012 9

  1. (Sub)Typing First Class Field Names
  2. Typing First Class Field Names
  3. S5: Engineering Eval
  4. Progressive Types
  5. Modeling DOM Events
  6. Mechanized LambdaJS
  7. ECMA Announces Official λJS Adoption
  8. Objects in Scripting Languages
  9. S5: Wat?

2011 5

  1. Belay Lessons: Smarter Web Programming
  2. S5: Semantics for Accessors
  3. S5: A Semantics for Today's JavaScript
  4. The Essence of JavaScript
  5. ADsafety