On this page:

16 Lab Testing Models, Testing Languages


build a Records language

compare the Records specification

This final day starts with a lab session and a single exercise. Once you make it through a significant portion of the exercise, we will switch to the lecture on semantic engineering.


Exercise 48. Implement a #lang that compiles RacketSchool/Records1.

That is, develop a Racket compiler extension for the Records1 language. The syntax is available from Lab The Mystery Languages of Records; the semantics of the various features is "obvious" and specified in Justin P.’s model. The key is that record field retrieval must use a string literal.

Name the #lang you develop RecImpl.

Use Matthew F.’s notes from Matthew F. Building Languages as a guide to develop the plug-in in an iterative fashion. image