What is This?

This page accompanies my paper "De Jure Codesignation". Section 7 of that paper provides some code to illustrate a kind of semantic structure that has also been claimed to be useful in the analysis of anaphora and/or attitude reports.

This page provides some background, and further details about implementation I sketched for this semantic structure in the Scheme programming language. Scheme is a family of programming languages, and different versions of Scheme extend or further specify the language in different ways. Unfortunately, I need to make use of some of these extensions. What I'm proposing cannot be easily implemented in the current (R7RS) Scheme "standard." (It could be implemented un-easily, by writing an interpreter for a custom programming language from scratch.)

The Short Version

The instructions below assume you are using the Racket version of Scheme. The current version of Racket as I write this is v6.4 (from Feb 2016), however the code will probably work with some earlier and later versions as well.

If you just want to be able to run the code in my article, all you need to do is download this file dejure.rkt, place it in your working or home directory, then start up DrRacket and in the "Definitions" window, type:

#lang racket
(require "dejure.rkt")

Then you can enter any of the code from my article, either in the same "Definitions" window, or in the lower "Interactions" window.

Behind the Scenes

If you want some explanation of what's happening behind the scenes, see below. This may be helpful if you already have some familiarity with Scheme.