mgreenblog

posts by category about this blog

Posts in the category "Programming Languages"

  1. I explain a very cool programming paradigm, by way of a POPL paper with Harvard colleagues.
  2. I did a twoopsla.
  3. Cast notation: a case study
    Follow-up discussion from a post on the SIGPLAN plan about notation.
  4. Modeling languages faithfully means thinking about more than core calculi.
  5. Formulog: ML + Datalog + SMT
    I explain how our OOPSLA 2020 paper can help you prototype static analyses.
  6. Playing around with Brzozowski derivatives of regular expressions.
  7. Flapjax on PL Perspectives
    Our work is featured on the SIGPLAN blog.
  8. smoosh v0.1
    A reference semantics for the POSIX shell.
  9. A position paper, in SNAPL 2019.
  10. Someone implemented my POPL 2015/TFP 2016 work.
  11. Disjointness of subset types
    When should a runtime-checked refinement type system reject a program?
  12. A refinement type by any other name
    A history of the term 'refinement type', with thorough discussion.
  13. PLVNET
    I have two papers in a workshop on PL techniques applied to networking.
  14. My first sole-author paper, presented in Mumbai.
  15. Runtime checking---of types or more complex properties---can only be understood by breaking things down to the fundamental checks being done.
  16. My first sole-author submission.
  17. An ICFP 2014 submission, with Princeton colleagues.
  18. PL meets networking meets the very stench of Hades.
  19. Bug in "Polymorphic Contracts"
    A show-stopping bug in my ESOP 2011 paper.
  20. PhD thesis: Manifest Contracts
    I am become doctor, lecturer of students.
  21. Axiomatizing manifest contracts
    Formal models of manifest contracts might ask questions about how two refinement types relate. Implementations use theorem provers. How should we understand these checks?
  22. Space-Efficient Manifest Contracts
    The last leg of my thesis: can you enforce contracts without blowing up your stack?
  23. NJPLS Fall 2012
    I presented at a regional workshop.
  24. Exceptionally Available Dynamic IFC
    A paper submission (not to be).
  25. QuickRedex
    Run your research in... the Glasgow Haskell Compiler.
  26. A cool idea, never brought to fruition: how do you move state between devices?
  27. ESOP 2011 Papers
    I did a double.
  28. Polymorphic Contracts
    A submission to ESOP 2011.
  29. The Resurgence of Parallelism
    Functional programming plays in an unlikely role in a CACM article.
  30. Nested functions in GCC
    Exploring a language feature.
  31. POPL 2010
    I reflect on my first conference as an author.
  32. Contracts Made Manifest: final version
    The POPL 2010 camera ready.
  33. Locally installing LLVM with Ocaml bindings
    Outdated instructions, useful in their time.
  34. Our work finally appears in a conference---OOPSLA 2009.
  35. Contracts Made Manifest
    Our POPL 2010 submission. (Before the days of double blind review!)
  36. Flapjax TR
    A technical report on Flapjax.
  37. Debounce and other callback combinators
    Flapjax is a library.
  38. Practical OCaml
    I did some homework in OCaml and it was only twenty times slower than C (at first).
  39. Boomerang v0.1 available
    Nate Foster's bidirectional programming library sees its first release.
  40. ADTs in JS1.8
    Algebraic datatypes, as a library in JavaScript.
  41. C# GC Leaks
    Wondering about how leaks from one developer's experience might play out for Flapjax.
  42. Lifting in Flapjax
    I explain Flapjax's core notions with a simple implementation.
  43. Another nasty bug -- and an idea
    A bug with DOM nodes and an idea for structured practice at debugging.
  44. More on `this`
    JavaScript is full of surprises.
  45. Capture `this`!
    Trying to understand when JavaScript captures `this`.
  46. Semantics for Exceptions and Interrupts
    Commentary on Hutton and Wright's "What is the meaning of these constant interruptions?" (JFP 2007).
  47. CLR Hegemony
    Grappling with functional programming in an imperative, callback-based world.
  48. Flapjax Templates
    Flapjax templates anticipate the use of, e.g., curly braces in JSX.
  49. Flapjax
    Shriram Krishnamurthi's language and library for functional reactive web programming.
  50. Multi-return Function Call
    I find elegance in a design paper.
  51. FP: Fairy-tale Programming?
    Functional programming, nominal types, and accountability.
  52. JavaScript "Protection"
    An argument about email obfuscation.
  53. The Joy of Specs
    I reflect on languages for formal specification.
See all categories