goals.git
4 years agoImplement -d (debug) option.
Richard W.M. Jones [Mon, 30 Dec 2019 21:51:40 +0000 (21:51 +0000)]
Implement -d (debug) option.

4 years agoChange -V to -v for compat with make.
Richard W.M. Jones [Mon, 30 Dec 2019 21:41:17 +0000 (21:41 +0000)]
Change -V to -v for compat with make.

4 years agostdlib: Add some rules for OCaml code.
Richard W.M. Jones [Mon, 30 Dec 2019 21:27:20 +0000 (21:27 +0000)]
stdlib: Add some rules for OCaml code.

4 years agoImplement stdlib directory, -I, --no-prelude, etc.
Richard W.M. Jones [Sat, 28 Dec 2019 18:43:25 +0000 (18:43 +0000)]
Implement stdlib directory, -I, --no-prelude, etc.

4 years agoDefine OCaml Config module in ./configure, ./run script, --version option.
Richard W.M. Jones [Sat, 28 Dec 2019 19:54:50 +0000 (19:54 +0000)]
Define OCaml Config module in ./configure, ./run script, --version option.

4 years agoImplement tactics.
Richard W.M. Jones [Sat, 28 Dec 2019 16:28:41 +0000 (16:28 +0000)]
Implement tactics.

4 years agoRemove Ast.PVar.
Richard W.M. Jones [Sat, 28 Dec 2019 08:52:35 +0000 (08:52 +0000)]
Remove Ast.PVar.

Pure variables as patterns are disallowed.  Patterns have a distinct
type from expressions so allowing an expression to be substituted
causes complications.  In particular we want to know statically how
many targets a goal has, which is not possible if a variable can be
substituted here.

You can still write:

  "%name": ...

4 years agoRun code with set -e / set -x.
Richard W.M. Jones [Sat, 28 Dec 2019 08:50:19 +0000 (08:50 +0000)]
Run code with set -e / set -x.

4 years agoActually run goal code.
Richard W.M. Jones [Fri, 27 Dec 2019 20:26:43 +0000 (20:26 +0000)]
Actually run goal code.

4 years agoAdd implicit tactic rebuild.
Richard W.M. Jones [Fri, 27 Dec 2019 20:18:08 +0000 (20:18 +0000)]
Add implicit tactic rebuild.

We don't need to look for a goal covering every tactic, if the tactic
doesn't need rebuilding.

4 years agoSubstitute %<, %@ etc variables into code.
Richard W.M. Jones [Fri, 27 Dec 2019 19:47:16 +0000 (19:47 +0000)]
Substitute %<, %@ etc variables into code.

4 years agoAdd Ast.to_shell_script.
Richard W.M. Jones [Fri, 27 Dec 2019 19:56:19 +0000 (19:56 +0000)]
Add Ast.to_shell_script.

Previously we were confusing Ast.substitute with the place where we
need to shell quote.

4 years agoHard code *file tactic.
Richard W.M. Jones [Fri, 27 Dec 2019 19:05:03 +0000 (19:05 +0000)]
Hard code *file tactic.

4 years agoImplement tactic matching.
Richard W.M. Jones [Fri, 27 Dec 2019 14:45:00 +0000 (14:45 +0000)]
Implement tactic matching.

4 years agotodo: Note default parameters.
Richard W.M. Jones [Fri, 27 Dec 2019 13:37:55 +0000 (13:37 +0000)]
todo: Note default parameters.

4 years agoFactor out param_decl and improvements to AST printing.
Richard W.M. Jones [Thu, 26 Dec 2019 16:24:31 +0000 (16:24 +0000)]
Factor out param_decl and improvements to AST printing.

4 years agoRefactor evaluation.
Richard W.M. Jones [Tue, 24 Dec 2019 18:10:57 +0000 (18:10 +0000)]
Refactor evaluation.

Also more work on pattern matching and when to rebuild.

4 years agoFix file() -> *file() in comment about tactics.
Richard W.M. Jones [Wed, 25 Dec 2019 14:34:07 +0000 (14:34 +0000)]
Fix file() -> *file() in comment about tactics.

Updates commit b14ff66c953e6a73e9ac2fe8d42dd68e92e58f53.

4 years agoRename Ast.StringMap -> Ast.Env
Richard W.M. Jones [Wed, 25 Dec 2019 14:30:38 +0000 (14:30 +0000)]
Rename Ast.StringMap -> Ast.Env

4 years agoBegin converting Ast print functions so they can be used with format %a.
Richard W.M. Jones [Mon, 23 Dec 2019 20:44:01 +0000 (20:44 +0000)]
Begin converting Ast print functions so they can be used with format %a.

4 years agoSend debug message to stderr.
Richard W.M. Jones [Mon, 23 Dec 2019 20:43:08 +0000 (20:43 +0000)]
Send debug message to stderr.

4 years agoPrint errors (Failure exceptions) nicely.
Richard W.M. Jones [Mon, 23 Dec 2019 20:42:11 +0000 (20:42 +0000)]
Print errors (Failure exceptions) nicely.

4 years agoDefine *file() syntax for tactic constructors.
Richard W.M. Jones [Mon, 23 Dec 2019 19:08:14 +0000 (19:08 +0000)]
Define *file() syntax for tactic constructors.

Alternative syntaxes considered where ~file and &file.

4 years agoAttach parser location information to AST nodes.
Richard W.M. Jones [Mon, 23 Dec 2019 18:00:51 +0000 (18:00 +0000)]
Attach parser location information to AST nodes.

4 years agoBasic evaluation.
Richard W.M. Jones [Mon, 23 Dec 2019 11:48:41 +0000 (11:48 +0000)]
Basic evaluation.

4 years agoImplement -C / --directory option.
Richard W.M. Jones [Mon, 23 Dec 2019 11:53:09 +0000 (11:53 +0000)]
Implement -C / --directory option.

4 years agoAdd environment to store variables and goals.
Richard W.M. Jones [Mon, 23 Dec 2019 08:05:24 +0000 (08:05 +0000)]
Add environment to store variables and goals.

4 years agoCommand line parsing of anon args.
Richard W.M. Jones [Sun, 22 Dec 2019 18:17:06 +0000 (18:17 +0000)]
Command line parsing of anon args.

4 years agoExpose parsing of expressions from command line.
Richard W.M. Jones [Sun, 22 Dec 2019 16:59:59 +0000 (16:59 +0000)]
Expose parsing of expressions from command line.

4 years agoContinue command line parsing.
Richard W.M. Jones [Sat, 21 Dec 2019 20:46:46 +0000 (20:46 +0000)]
Continue command line parsing.

4 years agoRename parsing/ to src/
Richard W.M. Jones [Sat, 21 Dec 2019 17:01:52 +0000 (17:01 +0000)]
Rename parsing/ to src/

And some refactoring of the main code and command line parsing.

4 years agoInitial commit of parser.
Richard W.M. Jones [Thu, 19 Dec 2019 12:18:25 +0000 (12:18 +0000)]
Initial commit of parser.