git @ Cat's Eye Technologies Falderal / 8040e70
Fix up wording in README. catseye 10 years ago
1 changed file(s) with 16 addition(s) and 14 deletion(s). Raw diff Collapse all Expand all
2020 about what should happen when they are run (possibly including producing
2121 an error.)
2222 * You want to be able to present those example programs in a nicely readable
23 fashion, perhaps interleaved with some descriptive prose, perhaps
23 fashion, interleaved with some descriptive prose, perhaps ultimately
2424 formatted into a document format such as HTML. (This is certainly a
2525 reasonable way to document a language; most people are good at learning
2626 from examples.)
2727 * You want to run those example programs to make sure they do what you
2828 expect, to find flaws that may be lurking in either those programs, or in
2929 an implementation of the language.
30 * You want to be able to embed those example programs and that documentation
31 in another source file, perhaps an implementation of the very language
32 they describe in literate Haskell.
30 * You want the option of embedding those example programs and that
31 documentation in a source code file -- perhaps a literate implementation
32 of the very language they are testing.
3333
3434 If this describes you, then Falderal might help. I wrote it because I was
35 designing yet another esoteric programming language, and while working on its
36 test suite I realized I was rebuilding yet another ad-hoc unit test suite,
37 like I had done a half-dozen times before. I didn't want to keep doing this
38 for every language I designed, and I realized that literate test suites could
39 serve as documentation as well; the result was Falderal.
35 designing yet another esoteric programming language, and while working on it
36 I realized I was rebuilding yet another ad-hoc unit test suite, like I had
37 done a half-dozen times before. I didn't want to keep doing this for every
38 language I designed, and I realized that literate test suites could serve as
39 documentation as well; the result was Falderal.
4040
4141 Features
4242 --------
4343
4444 The current version of Falderal is described in the Falderal Literate Test
4545 Format document. The current version of `Test.Falderal` is 0.5 "The Loop".
46 Neither the file format specification, nor the `Test.Falderal` API,
47 should not be expected to be stable through the 0.x series.
46 Neither the file format specification, nor the `Test.Falderal` API, should
47 be expected to be stable through the 0.x series.
4848
4949 Currently supported features of the framework are:
5050
5454 * Formatting these test suites (i.e. converting them to other file formats,
5555 such as Markdown).
5656 * Running these test suites. Running is accomplished by formatting the tests
57 to an executable format (such as a Haskell source file) and running that;
58 these two steps can be done automatically with the `falderal test` command.
57 to an executable format (such as a Haskell source file), running that,
58 and collecting the results from it. This sequence of steps is done
59 automatically with the `falderal test` command.
5960 * Producing readable failure reports. Each test or group of test may be
6061 preceded by descriptive text, and this will be displayed above every failing
6162 test, along with the expected and actual output.
6364 the function, and may expect a particular textual output, or that a
6465 particular error was encountered. Functionalities are abstract: each
6566 functionality defined in a Falderal file can be implemented in multiple
66 ways.
67 ways. Thus the same tests can be run multiple times, once for each
68 implementation of the functionality they test.
6769 * Specifying that a functionality is implemented by a Haskell function of
6870 type `String -> String`.
6971 * Specifying that a functionality is implemented by a shell command. The