Commits on Aug 2, 2017
Commits on Jul 28, 2017
  1. bugfix in pretty-printing

    Caused by my dropping support for dotted lists in `len` on Jun 23.
    In the process, also upgrade lib/ppr.arc.t to unit-test.arc v1.0.
    I don't know why we had that extra check in the handling of custom
    macros, and we have no tests for it. So I'm removing it and risking
    further regression. At least we'll then know what test to write for it.
    akkartik committed Jul 28, 2017
  2. redo how we signal errors from Travis

    Better approach to commit 5581822; thanks to Zachary Kanfer for the
    akkartik committed Jul 28, 2017
  3. Revert "specify version of Racket required"

    Included too much in the previous commit.
    This reverts commit 86ed2e5.
    akkartik committed Jul 28, 2017
Commits on Jul 27, 2017
Commits on Jun 24, 2017
  1. speed up `range` by reimplementing it in Racket

    Thanks Steve Graham for reporting the slowness of:
      (len (range 1 15000000))
    The last two commits and this one have successively tried to improve
    akkartik committed Jun 24, 2017
Commits on Jun 23, 2017
  1. fix a test for previous commit

    We no longer support `len` on improper lists. It just makes things too
    akkartik committed Jun 23, 2017
  2. fix unnecessary slow 'len'

    akkartik committed Jun 23, 2017
Commits on Jun 14, 2017
  1. fix CI failure

    akkartik committed Jun 14, 2017
  2. clean up script to translate tests

    akkartik committed Jun 14, 2017
  3. upgrade all unit tests to work with unit-test.arc v1.0

    Commands run:
      $ translate.arc *.t lib/*.t lib/tests/*
      $ for f in *.t lib/*.t lib/tests/*.arc;
          mv $f.2 $f;
    Then some minor tweaks to fix old errors that the new harness is now
    Other than that the manual changes are in tests.arc and lib/ppr.arc.
    akkartik committed Jun 14, 2017
  4. simplify error exit for tests

    a) at an interactive repl, don't exit on failed tests
    b) in batch mode (say for CI), signal any test failures to the calling
    akkartik committed Jun 14, 2017
Commits on Jun 12, 2017
  1. drop do-nothing straggler from the pdf purge

    akkartik committed Jun 12, 2017
Commits on May 23, 2017
  1. keep atstrings off by default

    They're confusing to newcomers.
    If we were doing a 100-year language from scratch we'd probably decide
    atstrings weren't worth the hassle. But we're stuck with it in news.arc
    until somebody invests the effort to tear it out, so we'll scope its use
    tightly. It looks like we can just turn on atstrings around its uses in
    news.arc, and the news app continues to work fine, as shown by this example:
      $ ./
      arc> (declare 'atstrings nil)
      arc> (top-right "abcd" "/")  ; assuming we have a user called "abcd"
      ; result doesn't contain "@(karma user)"
    Let's see if we uncover subtle bugs.
    The other place we currently use atstrings (besides news.arc) is our automated
    tests. This is because unit-test.arc doesn't currently support running
    setup/teardown code around a suite.
    akkartik committed May 23, 2017
Commits on May 19, 2017
  1. bugfix to atstrings

    Originally reported by Conan Dalton:
    Many thanks also to prestonbriggs for the suggestion to quote strings:
    akkartik committed May 19, 2017
Commits on May 2, 2017
  1. simplify 'ensure-dir

    rocketnia committed May 2, 2017
  2. Use Racket's 'make-directory* and 'crypto-random-bytes instead of (sy…

    …stem "mkdir -p " path) and /dev/urandom, for Windows compatibility. This fixes the unit tests on my machine (Windows 10 with Cygwin).
    rocketnia committed May 2, 2017
  3. try fixing the Travis CI script, which was failing due to trying to l…

    …ook up travis-racket from the wrong directory
    rocketnia committed May 2, 2017
  4. try fixing the Travis CI script, which was failing due to rlwrap not …

    …being installed and travis-racket being under anarki's package directory
    rocketnia committed May 2, 2017
  5. add a Travis CI script

    rocketnia committed May 2, 2017
Commits on Apr 29, 2017
  1. Export anarki-eval instead of anarki-namespace and anarki-global-name…

    …. It seems they weren't sufficient to implement it, probably due to some detail about accessing the namespace from a different phase or module.
    rocketnia committed Apr 29, 2017
Commits on Mar 1, 2017
Commits on Jan 23, 2017
  1. write files atomically regardless of disk volume

    To do this we always create temporary files on the same filesystem as
    the final destination.
    Hopefully this will fix the second bug reported in #59.
    akkartik committed Jan 23, 2017