- Use happy's
explist
for more informative parse errors
base
catch-up
- REPL tab-completions no longer hang indefinitely
- Export
pipelineBSLErr
- Performance improvements in the pattern match exhaustiveness checker
- Bundle
user-guide.pdf
in tarball
- Export
dckPath
anddefaultLibPath
- Add
pipelineBSL
,validateBSL
,patternExhaustivenessBSL
, andwarnBSL
- Add
:bind
construct, like:let
but stricter - Fix renamer bug, hopefully
- Add
:pick
builtin construct - Fix bug in
install.mk
- Add some libraries for declension and conjugation in English
- Change
emd fmt
behavior around imports. - Manpage example
- Fix bug where pattern match exhaustiveness checking failed when the constructor in question was defined in another file
- Fall back onto
$HOME/.local/share/man/man1
if manpages were not found in cabal data-dir. - Bump pretty-simple dependency in test suite
- Sanity checks in pattern match exhaustiveness checker
- Mildly improved performance
- Make some stuff in the pattern match exhaustiveness checker strict for better performance
- Use strict
State
monad in the scope checker for better performance
- Linter now reports inexhaustive pattern matches
- Linter reports redundant patterns
- Remove
dir
subcommand emd
now looks for libraries in$HOME/.emd
if extant
- More sensible completions in REPL
- Support
prettyprinter
≥ 1.7.0
- Read
DCK_PATH
variable when searching for files. - Improvements to
lib/noun.dck
andlib/adjectives.dck
- Add
lib/flappend.dck
andlib/adverb.dck
- Add
ide
subcommand that runs lints + checks
- Fix bug in
:type
- Add builtins
oulipo
,allCaps
,capitalize
, andtitlecase
- Fix bug with nested
:flatten
s
- Fix bug when calling
:flatten
on tuples.
- Fix bug in typechecker
- Pattern matching now has branches
- Better error message when
:view
is called without any arguments - Introduce or-patterns
- Fail on bad patterns, e.g.
(:match xy (x, x) x)
- Add
Language.Dickinson.QuasiQuoter
module
- Ignore lines starting with
#!
(for shell shebangs) - Fix bug in evaluator which caused
:flatten
to work improperly. - Fix bug which caused
:match
within:flatten
to work improperly. - Formatter is now usable; added
--inplace
flag toemd fmt
- Run typechecker before evaluator in executable/REPL
- Add location info to type errors
emd FILE
now runs file (for use in shell shebangs)
- Export renamer in
Language.Dickinson
- Fix build with GHC ≤ 8.2.2
- Add
man
subcommand - Introduce multiline strings
- Fix source distribution so nix builds it automatically
- Fix a bug in the evaluator that caused valid expressions to be rejected in the REPL
- Show an error in the REPL when trying to
:view
a name not in scope. - Throw error when tuple pattern doesn't match type of expression
- Fix
$
within strings so it doesn't need to be escaped
Initial release