123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- 2020-03-19 Eric Bavier <bavier@member.fsf.org>
- dist: Fix distcheck with V=1.
- * Makefile.am (.scm.go)[AM_V_P]: Fix stdout redirection.
- dist: Ensure fdl texi is distributed.
- * doc.am (doc_joy_TEXINFOS): New variable.
- doc: Fix compilation with recent texinfo.
- * doc/joy.texi (Primitives)<exit>: Remove "bottom" indication, which
- is intended to signify a sort of "null" result, but does not render
- well in either .texi or .tex.
- (Forth Aliases)<within, within?>: Use '@leq' and '<' rather than
- @math.
- build: Remove generated tests/package.m4 from version control.
- * tests/package.m4: Delete file.
- * .gitignore: Add it.
- * tests.am (EXTRA_DIST): Remove it
- (testsuite): Add dependency on package.m4
- joy: Minor adjustments to support Guile 3.x.
- * configure.ac: Add "3.0" to arguments for GUILE_PKG. Adjust error
- message for missing "guild". Remove unnecessary AC_CONFIG_MACRO_DIR.
- * language/joy/compile-tree-il.scm (call): Adjust version check to
- achieve a true ">= 2.2".
- 2018-02-10 Eric Bavier <bavier@member.fsf.org>
- joy: Support concatenating scripts and stack initialization.
- * joy/ui.scm (compile-and-run): Move compilation logic to...
- (compile-files): ...this new procedure.
- (simple-interpret): New procedure.
- (%options): Add "stack" option.
- (show-help): mention it.
- (joy-main): Collect stack non-option arguments after '--stack' into
- an initial stack, after being "interpreted".
- * doc/joy.texi (Invoking joy): Document command-line options.
- * tests/joy.at: New tests.
- * tests.am (TEST_MODULES): Add it.
- * tests/testsuite.at: Include it.
- * .dir-locals.el: Indent "parameterize"
- 2017-08-11 Eric Bavier <bavier@member.fsf.org>
- Add .dir-locals.el
- tests: Add simple tests for the REPL.
- * tests/joy-repl.at: New file.
- * tests/testsuite.at: Include it.
- * tests.am (TEST_MODULES): Add it.
- joy: Customize repl welcome banner.
- * joy/ui.scm (show-version): Simple reformatting to taste.
- (repl-welcome): New procedure. Override the one called by 'run-repl'.
- 2017-08-11 Eric Bavier <bavier@member.fsf.org>
- joy: Fix joy-repl for Guile 2.2.
- * language/joy-repl/spec.scm (call): New variable.
- (compile-repl-tree-il): Use it instead of "apply".
- 2017-08-11 Eric Bavier <bavier@member.fsf.org>
- joy: Fix distcheck.
- This is mostly fixing the 'joy' script so that it can load the modules
- it needs once they are installed, which means it can't load any itself
- until it has augmented Guile's load paths.
- * configure.ac (AC_CONFIG_FILES): Remove scripts/joy.
- * scripts/joy.in: Move the bulk of the interface to...
- * joy/ui.scm: ...this new file.
- * Makefile.am (MODULES): Add it.
- (JOY_MODULES): Prefix with "lib" directory, so we don't have to
- nobase.
- (scripts/joy): New target. Create at 'make' time, so that we can let
- make expand the directories we need to know about. This follows
- guidelines outlined in Automake's manual.
- (EXTRA_DIST): Add scripts/joy.in, as configure no longer handles it.
- (DISTCLEANFILES): New variable.
- (AM_V_GUILEC): Fix justification.
- * tests.am (CLEANFILES,DISTCLEANFILES): New variables.
- * language/joy/primitives.scm (include): Do not augment %load-path
- * pre-inst-env.in (GUILE_LOAD_COMPILED_PATH,GUILE_LOAD_PATH,PATH):
- Adjust for new module locations.
- * tests/test-base.joy, tests/test-forth.joy: Remove "tests/" prefix on
- includes.
- 2017-08-11 Eric Bavier <bavier@member.fsf.org>
- build: Move modules out of "modules" directory.
- * Makefile.am (MODULES): Remove "modules" prefix.
- (JOY_MODULES): ditto.
- * modules/joy: Move directory to lib/joy.
- * modules/language: Move to top_srcdir.
- 2017-08-11 Eric Bavier <bavier@member.fsf.org>
- tests: Use atconfig and atlocal.
- Previously 'testsuite' was not locating atconfig or atlocal, so we
- needed excessive variable exports.
- * configure.ac (AC_CONFIG_TESTDIR): Pass 'scripts' for test PATH.
- * tests.am (check-local, installcheck-local): Do not pass JOY or GREP
- variables to testsuite. Tell testsuite to change to 'tests'
- directory.
- (tests/atconfig, tests/atlocal): New targets.
- * tests/atlocal.in: Use properly as autoconf input. Define 'GREP'.
- * tests/joy-base.at, tests/joy-forth.at: Use 'joy' directly, rather
- than through "$JOY". Provide -I flags.
- * tests/local.at (AT_COPYRIGHT): Add 2017.
- (AT_TESTED): Add 'joy'.
- 2017-08-09 Eric Bavier <bavier@member.fsf.org>
- build: Use Guile's macros for installation directories.
- * configure.ac (GUILE,GUILD): Use GUILE_PKG and GUILE_PROGS macros.
- (guilemoduledir,guileobjectdir): Define with GUILE_EFFECTIVE_VERSION.
- * Makefile.am: Put modules in guilemoduledir and objects in
- guileobjectdir.
- doc: Populate README.
- * README: Include short summary.
- * doc/joy.texi (Copyright): Update with 2017.
- 2017-08-08 Eric Bavier <bavier@member.fsf.org>
- tests: Forward -j flags to testsuite.
- * tests.am (check-local,installcheck-local): Pass on -j flag.
- joy: Correctly idenitfy not-strings.
- * module/language/joy/primitives.scm (string): Return 'false' for
- non-character-only lists.
- * tests/inicheck.joy (list!string, num!string): New tests.
- joy: Adjust tree-il for Guile 2.2.
- * module/language/joy/compile-tree-il.scm (call): New variable.
- (compile-expr): Use it.
- Remove stray file.
- * module/language/joy/load.scm: Delete file.
- doc: Summarize Joy and document 'def'.
- * doc/joy.texi (Programming in Joy): New chapter.
- (Primitives)[def]: New definition.
- 2017-08-08 Eric Bavier <bavier@member.fsf.org>
- doc: Document '.' as an operator.
- * doc/joy.texi (Interactive Joy): Remove '.' from example input.
- (API Reference): ditto.
- (Primitives)[infra]: ditto.
- [write,.]: New primitive documentation.
- * module/language/joy/parser.scm (get-quote): Fix typo.
- 2016-03-11 Eric Bavier <bavier@member.fsf.org>
- repl: Do not use non-existent module.
- * module/language/joy-repl/spec.scm [modules]: Remove compile-scheme
- module.
- 2016-03-08 Eric Bavier <bavier@member.fsf.org>
- joy: Properly error on unknown file.
- * scripts/joy.in (compile-and-run): Properly exit with an error status
- if the given file could not be found.
- joy: Forth aliases.
- * module/joy/forth.joy: New file.
- * Makefile.am (JOY_MODULES): Add it.
- * doc/joy.texi (Forth Aliases): Document new aliases.
- * tests/joy-forth.at, tests/test-forth.joy: New files.
- * tests/testsuite.at: Include .at file.
- * tests.am (TEST_MODULES): Add it.
- (TEST_JOYS): New variable.
- (EXTRA_DIST): Distribute TEST_MODULES and TEST_JOYS.
- 2016-03-08 Eric Bavier <bavier@member.fsf.org>
- joy: Remove semantic meaning of `.' and definitions.
- * scripts/joy.in (print-joy): Move procedure to...
- * module/language/joy/write.scm (write-joy): here. New file.
- * Makefile.am (MODULES): Add it.
- * module/language/joy/lexer.scm (lex): Remove special treatment of `.'
- Explicitely mark newlines.
- * module/language/joy/parser.scm (lex-buffer): New procedure.
- Simplify parsing logic with lex-buffer; Delimit expressions based on
- newlines as requested.
- * module/language/joy/primitives.scm (write, .): New procedures.
- (string): Fix in response to strings-as-lists.
- * module/language/joy/compile-tree-il.scm: Adjust to simplified parsing.
- * module/language/joy/spec.scm (joy): Use new parse-joy.
- * module/language/joy-repl/spec.scm (joy-repl): Use new parse-joy*.
- * tests/inicheck.joy: Replace "display" usage with "putchars". Remove
- unnecessary `.'s.
- * tests/test-base.joy: Ditto.
- * module/joy/base.joy (flip3, flip4): Fix definitions.
- (drop, take): Rename to...
- (list-tail, list-head): respectively.
- (at): Adjust accordingly. Adjust callees.
- 2016-03-04 Eric Bavier <bavier@member.fsf.org>
- joy: Add 'def' primitive.
- * module/language/joy/primitives.scm (def): New variable.
- * module/language/joy/eval.scm: Adjust comment.
- 2016-03-03 Eric Bavier <bavier@member.fsf.org>
- repl: Disable value history.
- * scripts/joy.in [main]: Set repl 'value-history option to #f.
- * doc/joy.texi (Interactive Joy): Adjust example.
- repl: pretty-print results.
- * scripts/joy.in (print-joy): New procedure.
- [main]: Use it for the REPL's printer.
- * doc/joy.texi (Interactive Joy): Adjust examples.
- build: include spec.scm in MODULES.
- * Makefile.am (MODULES): Add module/language/joy/spec.scm.
- compiler: Make every expression an operator.
- * module/language/joy-repl/spec.scm: New file.
- * Makefile.am (MODULES): Add it.
- * module/language/joy/compile-tree-il.scm: Use parse-tree-il everywhere.
- (compile-definition): Put definitions in toplevel (joy) module.
- (compile-expr): Create procedures with a free variable for input
- stack.
- (compile-tree-il*): New procedure.
- * module/language/joy/eval.scm (eval): Lookup definitions in (joy).
- * module/language/joy/primitives.scm (include): Apply compiled include
- to input stack.
- * scripts/joy.in (compile-and-run): New 'args' parameter.
- [main]: start repl in 'joy-repl language.
- * doc/joy.texi (Interactive Joy): New chapter.
- 2016-02-29 Eric Bavier <bavier@member.fsf.org>
- joy: Support strings as "aggregates".
- * module/language/joy/compile-tree-il.scm (compile-factor): Compile
- strings to lists of characters.
- (compile-term): Simplify by compiling to list constants.
- * module/language/joy/primitives.scm (putchars, include): Adjust
- accordingly.
- Initial commit.
|