Elementary Set Theory REPL



XSet names are in uppercase
{x, 1}Set members are in lowercase or are numeric
univSee what sets have been defined
A = {1,2,3}Define a set A that contains the elements 1,2,3
A + {4,5}Union two sets
A - {1,2}Difference two sets
A & BIntersect two sets
{a} in {a,b,c}Asks if {a} is a subset of {a,b,c}
{a} IN {a,b,c}Asks if {a} is a proper subset of {a,b,c}
A super BAsks if A is the superset of B


This webpage was built late one evening when a tweet by Jean Bezivin (@JBezivin) lead me to John Sowa's interesting page on what every Computer Scientist should know. I decided that readers of this article might benefit from some interactivity, and I also fancied refreshing my language design skills whilst playing about with making a REPL.

The simple language used in the REPL was created using jison, a Javascript implementation of Bison. The console is written entirely in Javascript. I've not obfuscated the code, so you are free to examine all of its inefficient glory.