add a command-line shell for LangDef
queries
#121
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Add a simple command-line shell to query
LangDef
s with and executetheir functions and relations. The source language is currently
hardcoded as the language to query.
Details
The shell is intended to aid with language development, by providing a
convenient way to test relations and functions with various input.
For ease of implementation, commands are provided as S-expressions.
Result values are also rendered as S-expressions. Constructors for
built-in meta-language terms (e.g.,
true
,false
, tuples, etc.) areprefixed with a colon to distinguish them from user-defined type
constructors.
In addition, to showing the result of a function/relation application,
the shell also shows the interpreter-generated trace of which
relations.
Additional Changes
from the
repl
to the newsexpstreams
module (queryshell
alsoneeds both)
parse
iterator, instead of reporting an error