- Something about sno executable/snow white that came to me in a dream
- Grammar
- Types &c.
- Right now tc doesn't even work lol
- Modules (inclusions lol)
- Normalization
- manpages
- Document shebang trick
-
:flatten
-
:pick
- let-bindings
- Explain difference between
:let
and:bind
- Explain difference between
- Tutorial/walkthrough?
- Getting started?
- User guide (see happy?)
- Lints and such
- Bibliography
- Or-patterns
- Declension example?
- Matching
- Library documentation
- https://twitter.com/folklorebot
- Poetry bot...? Rumi?
- bi update bot &c. -> show how to lazily reuse libraries
- Fiona bot?
- Storytelling? RPG? idk
- https://www.nadyaprimak.com/blog/programming/poetry-bot/
- Dog greeter
- Fortune teller/unix fortune
- Hot take generator
- Catherine of Siena bot
- Margery Kempe bot
- Florence Welch bot
- Cowsay-as-a-function
- jenny holzer bot https://www.tate.org.uk/art/artworks/holzer-truisms-t03959 https://wordsofwomen.com/jenny-holzers-list-of-truisms/ https://www.moma.org/collection/works/63755
- https://twitter.com/philosophersbot
- https://twitter.com/gardenexperienc?lang=en
- Syntastic checker
- Typechecker?
- Warn if a string is duplicate? (warn on duplicate branches)
- Make sure there are no top-level name clashes
- Scoping check (not lazy, like evaluation)
- Error on negative numbers? (useful error)
- Warn on or-patterns containing wildcards at the highest level
- Maybe spin out internal library?
- Completions hang on
:
? - Fix the way
:let
bindings work, can't bind locala
to globala
- The way
:include
s and tag uniques are handled generates a morass - Pattern match exhaustiveness checker needs to run after
:include
s are accounted for -
examples/fortune.dck
fails in repl - Bug in
test/demo/animal.dck
- doesn't ever produce a bird? - Running
examples/doggo.dck
main
-pick
seems to be called byprobabilities
state doesn't seem to change?- More vexingly, calling e.g.
color
inlib/color.dck
un-sticks it!!
- More vexingly, calling e.g.
- Bug when running
test/demo/animal.dck
with renamer then eval -
examples/doggo.dck
hangs indefinitely lol - Hangs indefinitely when lexing incomplete string
-
emd> tydecl sex = Boy | Girl emd> Boy 1:1 Constructor Boy not found
-
emd> (:flatten "a") a emd> :type (:flatten "a") 1:10 Unexpected
-
(REPL-only)
emd> $decline (Feminine, Feminine, Singular) 14:9 Constructor 'Nominative' has type 'case' but must be of type 'gender'
-
emd> :l examples/fortune.dck emd> $ quote fortune 11:8 Malformed tuple
- REPL-only -> because it resolves expression first
- Add combinator to
prettyprinter
- for some reason prettyprinter 1.7.0 triggers a linker bug in aarch64 ld
- Kick tires on
:t
feature - Move
Data.whatever.Ext
toPrettyprinter.Ext
- Verbosity
- Turn on sanity checking?
-
:oneof
automatically populate with a tag? - Library exploration (installed)
- Warn on redundant
:include
s - Polyglot integration!
- Turn off zstd saving with a flag (for freebsd)
- Change
:import
to:include
! - "append" repl command
- Circular import checker
- Save repl states
- Formatter
- User-defined functions on text?
- "character map" approach?
- Requires expression application + type checker pass?
- Filter? (e.g. vowels...)
- "character map" approach?
- Import/module system
- Checkers should work with the module system
- Modules don't give global uniqueness; fix scoping/deletions
- Sum types (
Boy | Girl
)- Exhaustiveness checker
- Tuples/multi-return & agreement.
- Def need product types...
- Dog example?
- Def need product types...
- Lambdas?
- typechecker that works (with mutual recursion)
- let-bindings are kind of painful to use
- Interpolated strings
- Builtins
- Alliteration
- Capitalization lol
- Escapes
- docs? links...?
- Normalization (for encoding, for one)
- Remove duplicates (for regen adjectives...)
- Only allow imports at the beginning
- Install files globally?
- Binary distribution with
make install
?language_dickinson_datadir
- Debianization?
- REPL
- Actually fix identifiers/threading state to the lexer
-
:t
thing? - Completions!
- linting within the REPL?
- GUI
- Renamer + pattern matching
-
examples/shakespeare.dck
- golden tests via pretty-simple packages (debug output?)
- golden tests for error messages
-
:oneof
returning a function - kick tires on
:match
and such and results of:pick
? - Nested interpolated strings
-
test/eval/tyAnnot.dck
in the test suite - Lexer (fail) tests
- Capital type names...
- Escaped characters
- Pretty-print
- name shadowing & such
- property test -> generate, pretty-print, parse
- Interleaved multi-line string interpolations/strings/string interpolations
- Something that kicks the tires on
tryEval
being called onlet
andmatch
?
- Colors
- Animals
- Birds
- builtins (capitalization &c.)
- Currying?
- Annotate with big-O notation!
- Figure out specific data types?
- Load modules in a sensible way?
- Bench typechecker
- Normalization-by-evaluation? NbE
- http://hackage.haskell.org/package/text-short
- Benchmark renamer
-
+RTS -Ax
- https://github.com/AndrasKovacs/smalltt/blob/master/krakow-pres.pdf