mf-apply keyword is for checked metafunction application in PLT Redex. In other words,
(mf-apply f x) is just like
(f x), but errors if
f is not a previously-defined metafunction.
Also, consider applying to attend The Racket School of Semantics and Languages in Salt Lake City this summer: http://summer-school.racket-lang.org/2017/
What does every student interested in programming languages need to learn about the practical side of the field? That is the question that the first international summer school on programming language implementation (or PLISS for short) has set out to answer.
I believe that bullets are one of the most impactful features of recent versions of Coq, among those that non-super-expert users can enjoy. They had a big impact on the maintainability of my proofs. Unfortunately, they are not very well-known, due to the fact that some introductory documents have not been updated to use them.
Bullets are a very general construction and there are several possible ways to use them; I have iterated through different styles. In this post I will give the general rules, and explain my current usage style.
This semester at Northeastern, Matthias Felleisen is organizing the History of Programming Languages seminar. Look for posts tagged
HOPL for updates from the lectures.
The Programming Language Seminar, Junior (or “PL Junior”), is a seminar for junior students to learn and discuss topics at a pace more suitable to our background. This semester, we decided to study dependent types. We chose this topic because
- working from the TAPL presentation of type systems, dependent types are a step up in difficulty (excepting F-omega-sub), and
- they represent a significant increase in the reasoning power of types over programs.