On this page:
Exercises
6.10.0.2

16 Lab Testing Models, Testing Languages

Goals

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.

Exercises

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