[m-rev.] for review: convert samples/REAMDE to Markdown
Julien Fischer
jfischer at opturion.com
Sun Jan 2 16:32:22 AEDT 2022
On Sun, 2 Jan 2022, Julien Fischer wrote:
> I intend to rename this file to README.md as well -- this means that when the
> samples directory is viewed in GitHub it should be rendered appropriately.
>
> Note: it isn't really possible to preserve the two-column layout used in
> much of this file in Markdown (at least in a way that preserves
> readability as plain text file).
>
> -----------------------------
>
> Convert samples/README to Markdown.
>
> Convert the samples README file to Markdown. The aim is to improve the way
> this file appears when viewed in GitHub.
>
> Fix a number of small errors.
>
> samples/README:
> As above.
Here is a revised diff, that fixes the links.
Julien.
diff --git a/samples/README b/samples/README
index 14930eccd..b3e59bbc4 100644
--- a/samples/README
+++ b/samples/README
@@ -1,79 +1,75 @@
+Mercury Sample Programs
+-----------------------
This directory contains some example Mercury programs.
-hello.m "Hello World" in Mercury.
+* [hello.m](hello.m) -- "Hello World" in Mercury.
-cat.m An implementation of a simple version of the
- standard UNIX filter `cat', which just copies
- its input files or the standard input stream to
- the standard output stream.
+* [cat.m](cat.m) -- An implementation of a simple version of the standard UNIX
+ filter `cat`, which just copies its input files or the standard input stream
+ to the standard output stream.
-sort.m An implementation of a simple version of the
- standard UNIX filter `sort', which reads lines
- from its input files or the standard input
- stream, sorts them, and then writes the result
- to the standard output stream.
+* [sort.m](sort.m) -- An implementation of a simple version of the standard
+ UNIX filter `sort`, which reads lines from its input files or the standard
+ input stream, sorts them, and then writes the result to the standard output
+ stream.
-calculator.m A simple four-function arithmetic calculator,
- with a parser written using the Definite Clause
- Grammar notation.
+* [calculator.m](calculator.m) -- A simple four-function arithmetic calculator,
+ with a parser written using the Definite Clause Grammar notation.
-calculator2.m A simple four-function arithmetic calculator,
- which uses the parser module in the standard
- library with a user-defined operator precedence
- table.
+* [calculator2.m](calculator2.m) -- A simple four-function arithmetic
+ calculator, which uses the `mercury_term_parser` module in the standard
+ library with a user-defined operator precedence table.
-interpreter.m An simple interpreter for definite logic programs.
- A demonstration of meta-programming in Mercury.
+* [interpreter.m](interpreter.m) -- An simple interpreter for definite logic
+ programs. A demonstration of meta-programming in Mercury.
-expand_terms.m Another example meta-program, showing how to
- emulate Prolog's `expand_term' mechanism.
+* [exapnd_terms.m](expand_terms.m) -- Another example meta-program, showing how
+ to emulate Prolog's `expand_term` mechanism.
-e.m A small program which calculates the base of
- natural logarithms to however many digits you
- choose. It illustrates one way to achieve
- lazy evaluation in Mercury.
+* [e.m](e.m) -- A small program which calculates the base of natural logarithms
+ to however many digits you choose. It illustrates one way to achieve lazy
+ evaluation in Mercury.
-Mmakefile The file used by `mmake', the Mercury Make program,
- to build the programs in this directory.
+* [Mmakefile](Mmakefile) -- The file used by `mmake`, the Mercury Make program,
+ to build the programs in this directory.
-The `solutions' sub-directory contains some examples of the use of
+The [solutions](solutions) sub-directory contains some examples of the use of
nondeterminism, showing how a Mercury program can compute
- - one solution,
- - all solutions, or
- - some solutions (determined by a user-specified criteria)
+
+- one solution,
+- all solutions, or
+- some solutions (determined by a user-specified criteria)
+
for a query which has more than one logically correct answer.
-The `concurrency' sub-directory contains examples of how to use Mercury's
-concurrency interface, i.e. using threads in Mercury programs.
+The [concurreny](concurrency) sub-directory contains examples of how to use
+Mercury's concurrency interface, i.e. using threads in Mercury programs.
There are also some sub-directories which contain examples of multi-module
Mercury programs:
-appengine A simple Google App Engine servlet.
-
-diff This directory contains an implementation of a
- simple version of the standard UNIX utility
- `diff', which prints the differences between
- two files.
+* [appengine](appengine) -- A simple Google App Engine servlet.
-c_interface This directory contains some examples of mixed
- Mercury/C/C++/Fortran programs using the C interface.
+* [diff](diff) -- This directory contains an implementation of a simple version
+ of the standard UNIX utility `diff`, which prints the differences between two
+ files.
-java_interface This directory contains some examples of mixed
- Mercury/Java programs using the foreign language
- interface.
+* [c_interface](c_interface) -- This directory contains some examples of mixed
+ Mercury/C/C++/Fortran programs using the C interface.
-rot13 This directory contains a few implementations of
- rot-13 encoding.
+* [java_interfac](java_interface) -- This directory contains some examples of
+ mixed Mercury/Java programs using the foreign language interface.
-muz This directory contains a syntax checker / type checker
- for the specification language Z.
+* [rot13](rot13) -- This directory contains a few implementations of rot-13
+ encoding.
-solver_types This directory contains an example solver type
- implementation and some sample applications.
+* [muz](muz) -- This directory contains a syntax checker / type checker for the
+ specification language Z.
-lazy_list This directory contains an example of the lazy module
- can be used to implement lazy data structures, in this
- case a lazy list.
+* [solver_types](solver_types) -- This directory contains an example solver
+ type implementation and some sample applications.
+* [lazy_list](lazy_list) -- This directory contains an example of how the
+ `lazy` module in the standard library can be used to implement lazy data
+ structures, in this case a lazy list.
More information about the reviews
mailing list