]> hydra-www.ietfng.org Git - dyna2/log
dyna2
12 years agoIssue #62: allow Dyna to report its own version.
Tim Vieira [Tue, 23 Jul 2013 07:24:59 +0000 (03:24 -0400)]
Issue #62: allow Dyna to report its own version.

12 years agoadded `|=` and fixed `:-`.
Tim Vieira [Tue, 23 Jul 2013 04:00:22 +0000 (00:00 -0400)]
added `|=` and fixed `:-`.

updated `test/repl/boolean-aggregators.dynadoc`

12 years agotweak
Tim Vieira [Sun, 21 Jul 2013 23:29:22 +0000 (19:29 -0400)]
tweak

12 years agoadd test case for an instance of a cyclic program which uselessly runs off to infinit...
Tim Vieira [Sun, 21 Jul 2013 22:46:24 +0000 (18:46 -0400)]
add test case for an instance of a cyclic program which uselessly runs off to infinity when we retract a node.

12 years agoadded test case from issue #31 - late backchaining declarations.
Tim Vieira [Sun, 21 Jul 2013 22:40:33 +0000 (18:40 -0400)]
added test case from issue #31 - late backchaining declarations.

12 years agorecompile rules on late backchain declaration (Issue #31); requires running
Tim Vieira [Sun, 21 Jul 2013 22:36:05 +0000 (18:36 -0400)]
recompile rules on late backchain declaration (Issue #31); requires running
compiler to fixed point; maintaining a set of failed rules.

small tweak (hacky) to make compiler error messages friendlier -- show rule
source instead of `<repl>` (which was the mask for a big sha1+linenumbers).

12 years agoAddress Issue #51 - showing errors in "Changes"
Tim Vieira [Sun, 21 Jul 2013 12:30:15 +0000 (08:30 -0400)]
Address Issue #51 - showing errors in "Changes"

updated doctests, caught some cases of missing clear error.

12 years agotweaks/cleanup
Tim Vieira [Sat, 20 Jul 2013 18:28:01 +0000 (14:28 -0400)]
tweaks/cleanup

12 years agoadded test case for issue #52 -- keeping $key up to date.
Tim Vieira [Fri, 19 Jul 2013 18:44:22 +0000 (14:44 -0400)]
added test case for issue #52 -- keeping $key up to date.

12 years agoadd test for transitive deps in memoized BC rule retraction.
Tim Vieira [Fri, 19 Jul 2013 18:43:00 +0000 (14:43 -0400)]
add test for transitive deps in memoized BC rule retraction.

12 years agoBig improvments to memoized BC rule retraction. We now correctly update
Tim Vieira [Fri, 19 Jul 2013 18:37:32 +0000 (14:37 -0400)]
Big improvments to memoized BC rule retraction. We now correctly update
transitive dependents (before we didn't refresh the memos, so we were getting
incorrect behavior).

Catch ^C again..

Minor tweak to make fewer replacement updates to $key.

12 years agoFixed issue #52.
Tim Vieira [Thu, 18 Jul 2013 17:21:54 +0000 (13:21 -0400)]
Fixed issue #52.

12 years agobetter error msgs.
Tim Vieira [Thu, 18 Jul 2013 17:01:19 +0000 (13:01 -0400)]
better error msgs.

12 years agominor tweaks.
Tim Vieira [Thu, 18 Jul 2013 14:59:49 +0000 (10:59 -0400)]
minor tweaks.

12 years agofixed Issue #57
Tim Vieira [Thu, 18 Jul 2013 12:31:03 +0000 (08:31 -0400)]
fixed Issue #57

12 years ago()
Tim Vieira [Wed, 17 Jul 2013 21:54:51 +0000 (17:54 -0400)]
()

12 years agorefactored code, resolved asymmetries between FC and BC (and within each) --
Tim Vieira [Wed, 17 Jul 2013 21:18:29 +0000 (17:18 -0400)]
refactored code, resolved asymmetries between FC and BC (and within each) --
code now has fewer special cases and should have fixed a bunch of bugs we didn't
even know we had :-X

don't show BC items in changes.

(BC retraction has improved, but it's still not 100% correct thanks to stale
memos)

12 years agoClean up agenda loop.
Tim Vieira [Wed, 17 Jul 2013 19:15:19 +0000 (15:15 -0400)]
Clean up agenda loop.

12 years agoanf file required.
Tim Vieira [Wed, 17 Jul 2013 03:49:50 +0000 (23:49 -0400)]
anf file required.

12 years agomaintain a coarse dependency graph of head->evals and a map functor->rules (all
Tim Vieira [Tue, 16 Jul 2013 23:31:01 +0000 (19:31 -0400)]
maintain a coarse dependency graph of head->evals and a map functor->rules (all
rules [not just BC rules] know their head's functor -- i.e. an overestimate of
what they "create"). These changes are nonfunction, but will facilitate
maintenance, retraction and all that.

12 years ago()
Tim Vieira [Tue, 16 Jul 2013 18:35:39 +0000 (14:35 -0400)]
()

12 years agoDropped end-to-end tests from haskell test runner (removed support for --plan
Tim Vieira [Tue, 16 Jul 2013 18:26:25 +0000 (14:26 -0400)]
Dropped end-to-end tests from haskell test runner (removed support for --plan
flag for ./dyna). These test are now part of python test runnner.

Minor refactoring/reorganization of interpreter and repl.

12 years agomove command-line interface to separate file --> main.py
Tim Vieira [Sun, 14 Jul 2013 20:46:29 +0000 (16:46 -0400)]
move command-line interface to separate file --> main.py

added a few test for "known bugs" regarding retracting BC rules.

12 years agominor cleanup.
Tim Vieira [Sat, 13 Jul 2013 15:24:26 +0000 (11:24 -0400)]
minor cleanup.

12 years agonew tests for error handling.
Tim Vieira [Sat, 13 Jul 2013 15:05:22 +0000 (11:05 -0400)]
new tests for error handling.

12 years agoBUGFIX: properly clear error.
Tim Vieira [Sat, 13 Jul 2013 04:26:40 +0000 (00:26 -0400)]
BUGFIX: properly clear error.

run initializers after clearing agenda, if new updates are queued run agenda
again.

12 years agoStabilize output of `bag=` by sorting elements and properly handle null.
Tim Vieira [Sat, 13 Jul 2013 03:14:00 +0000 (23:14 -0400)]
Stabilize output of `bag=` by sorting elements and properly handle null.

Uninitialized rules are kept around and appear as errors in the error dump,
until initialization succeeds.

Fixed sort order for true and false.

12 years agobetter cleanup when an initializer fails.
Tim Vieira [Fri, 12 Jul 2013 20:24:13 +0000 (16:24 -0400)]
better cleanup when an initializer fails.

12 years ago`dump_rules` won't crash when rule failed to load dyna source.
Tim Vieira [Fri, 12 Jul 2013 18:53:07 +0000 (14:53 -0400)]
`dump_rules` won't crash when rule failed to load dyna source.

Show failure context when an update handler crashes (work in progress)

when an initializer fails rules is still added to the program. Only some of the
emits which succeeded get scheduled (this isn't quite right).

added depth limit argument to trace (available via --limit=<INTEGER> at the
repl).

12 years agoMerge ../incoming into HEAD
Tim Vieira [Thu, 11 Jul 2013 18:47:03 +0000 (14:47 -0400)]
Merge ../incoming into HEAD

12 years agoMerge branch 'master' of ssh://github.com/nwf/dyna
Tim Vieira [Thu, 11 Jul 2013 18:46:26 +0000 (14:46 -0400)]
Merge branch 'master' of ssh://github.com/nwf/dyna

12 years agoMerge branch 'master' of ssh://github.com/nwf/dyna
Tim Vieira [Thu, 11 Jul 2013 18:43:46 +0000 (14:43 -0400)]
Merge branch 'master' of ssh://github.com/nwf/dyna

Conflicts:
src/Dyna/Backend/Python/Backend.hs
src/Dyna/Backend/Python/interpreter.py

Had to make a small change to pretty printing of @nwf's new representation of
true and false (they need to print as *lower case* true and false).

12 years agoMinor haddock fixups
Nathaniel Wesley Filardo [Thu, 11 Jul 2013 18:04:12 +0000 (14:04 -0400)]
Minor haddock fixups

12 years agostabilize error dump.
Tim Vieira [Thu, 11 Jul 2013 16:08:17 +0000 (12:08 -0400)]
stabilize error dump.

12 years agoadded error test case.
Tim Vieira [Thu, 11 Jul 2013 16:02:29 +0000 (12:02 -0400)]
added error test case.

12 years agoadded error test case.
Tim Vieira [Thu, 11 Jul 2013 16:02:12 +0000 (12:02 -0400)]
added error test case.

12 years agoadded matplotlib post-processor for static drawings.
Tim Vieira [Thu, 11 Jul 2013 16:00:30 +0000 (12:00 -0400)]
added matplotlib post-processor for static drawings.

12 years agominor cleanups
Tim Vieira [Thu, 11 Jul 2013 15:46:06 +0000 (11:46 -0400)]
minor cleanups

12 years agoadded test for dyna boolean operations.
Tim Vieira [Thu, 11 Jul 2013 15:44:09 +0000 (11:44 -0400)]
added test for dyna boolean operations.

12 years agoUse Dyna Boolean type instead of Python's bool. This requires redefining or
Tim Vieira [Thu, 11 Jul 2013 15:38:25 +0000 (11:38 -0400)]
Use Dyna Boolean type instead of Python's bool. This requires redefining or
wrapping Python's comparsion (<=, ==), and logical operators (and, or,qq not).

move examples/lists into repl tests.
updated examples/force to use dyna lists
updated some other tests..

12 years agoBooleans are not to be treated as atoms
Nathaniel Wesley Filardo [Thu, 11 Jul 2013 05:55:25 +0000 (01:55 -0400)]
Booleans are not to be treated as atoms

Addresses nwf/dyna#49; leaving open for subsequent discussion.

12 years agoEnsure evaluation of an assertion
Nathaniel Wesley Filardo [Thu, 11 Jul 2013 04:13:23 +0000 (00:13 -0400)]
Ensure evaluation of an assertion

Found by reviewing coverage

12 years agoPrune some unused code from the test suite
Nathaniel Wesley Filardo [Thu, 11 Jul 2013 04:13:01 +0000 (00:13 -0400)]
Prune some unused code from the test suite

12 years agoAdd hpc coverage for self-tests
Nathaniel Wesley Filardo [Thu, 11 Jul 2013 03:54:18 +0000 (23:54 -0400)]
Add hpc coverage for self-tests

Run with "make test-hpc" and then open dist/selftest-hpc-out/index.html for
your viewing pleasure.

12 years agononfunctional tweaks to handling of '->'.
Tim Vieira [Wed, 10 Jul 2013 23:36:58 +0000 (19:36 -0400)]
nonfunctional tweaks to handling of '->'.

12 years agobetter FIFO
Tim Vieira [Wed, 10 Jul 2013 23:25:31 +0000 (19:25 -0400)]
better FIFO

12 years agoIssue #1: display [] instead of &nil.
Tim Vieira [Wed, 10 Jul 2013 23:14:58 +0000 (19:14 -0400)]
Issue #1: display [] instead of &nil.

12 years agoIssue #40: Dyna will concatenate files for you, but it won't give you nice error...
Tim Vieira [Wed, 10 Jul 2013 20:34:35 +0000 (16:34 -0400)]
Issue #40: Dyna will concatenate files for you, but it won't give you nice error messages.

12 years agoFix "longest-match" requirement on operators
Nathaniel Wesley Filardo [Wed, 10 Jul 2013 19:27:44 +0000 (15:27 -0400)]
Fix "longest-match" requirement on operators

We were running a token parser before the "notFollowedBy", which is clearly
wrong.  Now, tokenize a strict string then notFollowedBy.  This will require
that users write things like "... <oper> -<expr>" even though "<oper><expr>"
is accepted and "-<expr>" is an <expr>.

While here, add an explicit regression test for this bug.

This closes nwf/dyna#45 .

12 years agoMerge ../working
Tim Vieira [Wed, 10 Jul 2013 19:34:43 +0000 (15:34 -0400)]
Merge ../working

12 years agoIssue #15: updated Jason's Dijkstra backpointer example to use which doesn't quote...
Tim Vieira [Wed, 10 Jul 2013 19:34:16 +0000 (15:34 -0400)]
Issue #15: updated Jason's Dijkstra backpointer example to use  which doesn't quote its second argument.

12 years agoremove numpy as dep to speed-up load time Issue #44
Tim Vieira [Wed, 10 Jul 2013 19:21:53 +0000 (15:21 -0400)]
remove numpy as dep to speed-up load time Issue #44

12 years agoMerge ../working
Tim Vieira [Wed, 10 Jul 2013 19:14:08 +0000 (15:14 -0400)]
Merge ../working

12 years ago(Issue #46) `:-` now implicit aggregator for facts. `|=` no longer available.
Tim Vieira [Wed, 10 Jul 2013 19:10:24 +0000 (15:10 -0400)]
(Issue #46) `:-` now implicit aggregator for facts. `|=` no longer available.

12 years agowith_key no longer quotes it's second argument.
Tim Vieira [Wed, 10 Jul 2013 18:29:31 +0000 (14:29 -0400)]
with_key no longer quotes it's second argument.

12 years agominor edits
Jason Eisner [Wed, 10 Jul 2013 13:15:03 +0000 (09:15 -0400)]
minor edits

12 years agoadded forward-backward.dyna, and its companion file icecream.dyna.
Jason Eisner [Wed, 10 Jul 2013 12:39:20 +0000 (08:39 -0400)]
added forward-backward.dyna, and its companion file icecream.dyna.
It exposes errors in the current implementation: see #47.

12 years agorestored +x permission to debug (somehow removed before previous commit)
Jason Eisner [Wed, 10 Jul 2013 08:36:59 +0000 (04:36 -0400)]
restored +x permission to debug (somehow removed before previous commit)

12 years agosimplified examples/dijkstra-backpointers.dyna, and added a variant
Jason Eisner [Wed, 10 Jul 2013 08:35:01 +0000 (04:35 -0400)]
simplified examples/dijkstra-backpointers.dyna, and added a variant

12 years agomerge.
Tim Vieira [Wed, 10 Jul 2013 03:05:22 +0000 (23:05 -0400)]
merge.

12 years agofixed force-directed layout.
Tim Vieira [Wed, 10 Jul 2013 02:51:32 +0000 (22:51 -0400)]
fixed force-directed layout.

12 years agonew infix operator for alist `->`/2
Tim Vieira [Tue, 9 Jul 2013 20:55:04 +0000 (16:55 -0400)]
new infix operator for alist `->`/2

tweaks to list tests.

12 years agosmall improvements to handling booleans
Tim Vieira [Tue, 9 Jul 2013 19:55:22 +0000 (15:55 -0400)]
small improvements to handling booleans

clean up aggregators

crash handler hook (write repl lines)

hide ugly file names in error messages

more test cases added coverage target to makefile

added a few more test cases.

12 years ago()
Tim Vieira [Mon, 8 Jul 2013 19:12:56 +0000 (15:12 -0400)]
()

12 years agoSmall tweaks.
Tim Vieira [Mon, 8 Jul 2013 19:10:41 +0000 (15:10 -0400)]
Small tweaks.

added `range` to stdlib

tiny tweak (nonfunctional) to doctest.

small improvement to bool (runtime) type checking.

12 years agoSmall, non-functional changes around the tree
Nathaniel Wesley Filardo [Mon, 8 Jul 2013 04:00:25 +0000 (00:00 -0400)]
Small, non-functional changes around the tree

12 years agoTry to improve python crash logging
Nathaniel Wesley Filardo [Mon, 8 Jul 2013 03:30:05 +0000 (23:30 -0400)]
Try to improve python crash logging

This seems like it should work, but IPython seems to be getting in my way.

12 years agoexitFailure on panic
Nathaniel Wesley Filardo [Mon, 8 Jul 2013 02:21:33 +0000 (22:21 -0400)]
exitFailure on panic

12 years agoadded parsing (training, parsing, testing) `test/app/ptb.dynadoc`.
Tim Vieira [Mon, 8 Jul 2013 00:27:01 +0000 (20:27 -0400)]
added parsing (training, parsing, testing) `test/app/ptb.dynadoc`.

12 years agomake run-doctest.py executable
Tim Vieira [Mon, 8 Jul 2013 00:25:42 +0000 (20:25 -0400)]
make run-doctest.py executable

catch errors when retracting rules.

12 years agoMerge branch 'master' of ssh://github.com/nwf/dyna
Tim Vieira [Sun, 7 Jul 2013 20:22:03 +0000 (16:22 -0400)]
Merge branch 'master' of ssh://github.com/nwf/dyna

12 years agoIssue #12 simplify output of "draw" command. Edge crux shrunk down to small
Tim Vieira [Sun, 7 Jul 2013 20:17:39 +0000 (16:17 -0400)]
Issue #12 simplify output of "draw" command. Edge crux shrunk down to small
circle. Mouse over shows the rule source and rule index.

minor tweaks to readme.

12 years agocircle. Mouse over shows the rule source and rule index.
Tim Vieira [Sun, 7 Jul 2013 20:17:39 +0000 (16:17 -0400)]
circle. Mouse over shows the rule source and rule index.

minor tweaks to readme.

12 years ago()
Tim Vieira [Sat, 6 Jul 2013 19:15:27 +0000 (15:15 -0400)]
()

12 years agoupdate tests - new solution formatting.
Tim Vieira [Sat, 6 Jul 2013 17:44:56 +0000 (13:44 -0400)]
update tests - new solution formatting.

12 years agoIssue #38 "better printing of :- items, and better type checking for :-, |=, &="
Tim Vieira [Sat, 6 Jul 2013 16:52:46 +0000 (12:52 -0400)]
Issue #38 "better printing of :- items, and better type checking for :-, |=, &="

`:-` and `|=` are now synonymous.

12 years agomight error when retracting a BC rule.
Tim Vieira [Sat, 6 Jul 2013 04:12:28 +0000 (00:12 -0400)]
might error when retracting a BC rule.

12 years agotweaks.
Tim Vieira [Sat, 6 Jul 2013 02:46:30 +0000 (22:46 -0400)]
tweaks.

12 years ago()
Tim Vieira [Fri, 5 Jul 2013 23:29:31 +0000 (19:29 -0400)]
()

12 years agouse doctests
Tim Vieira [Fri, 5 Jul 2013 23:25:59 +0000 (19:25 -0400)]
use doctests

12 years agouse doctester
Tim Vieira [Fri, 5 Jul 2013 23:03:31 +0000 (19:03 -0400)]
use doctester

12 years agoremove cruft.
Tim Vieira [Fri, 5 Jul 2013 22:24:28 +0000 (18:24 -0400)]
remove cruft.

12 years ago`dict=` create something like associative list -- this lets us use it in our
Tim Vieira [Fri, 5 Jul 2013 22:16:21 +0000 (18:16 -0400)]
`dict=` create something like associative list -- this lets us use it in our
dyna programs.

doctests strip colors

tweak to solution print out: print 'Solution empty' instead of a "Solution"
heading.

proper BC rule retraction.

12 years agoMerge ../working
Tim Vieira [Fri, 5 Jul 2013 18:30:34 +0000 (14:30 -0400)]
Merge ../working

12 years agoadded dyna doctest for retracting BC rules.
Tim Vieira [Fri, 5 Jul 2013 18:30:18 +0000 (14:30 -0400)]
added dyna doctest for retracting BC rules.

12 years agoworking on fixing BC rule retraction.
Tim Vieira [Fri, 5 Jul 2013 18:29:06 +0000 (14:29 -0400)]
working on fixing BC rule retraction.

12 years agoGenerate update plans for backchained items
Nathaniel Wesley Filardo [Fri, 5 Jul 2013 18:12:04 +0000 (14:12 -0400)]
Generate update plans for backchained items

This is necessary to allow retraction.

While here, wire up a backchain example into the test harness.

12 years agoMerge ../working
Tim Vieira [Fri, 5 Jul 2013 17:15:26 +0000 (13:15 -0400)]
Merge ../working

12 years agoadded dijkstra-backpointers to end-to-end tests.
Tim Vieira [Fri, 5 Jul 2013 17:14:40 +0000 (13:14 -0400)]
added dijkstra-backpointers to end-to-end tests.

12 years agoadded `with_key` infix operator for (Issue #29 Backpointers) and argument
Tim Vieira [Fri, 5 Jul 2013 17:06:40 +0000 (13:06 -0400)]
added `with_key` infix operator for (Issue #29 Backpointers) and argument
disposition for `$key/1`.

Removed previous version of `argmin=/argmax=`.

12 years agoMerge ../working
Tim Vieira [Fri, 5 Jul 2013 03:04:00 +0000 (23:04 -0400)]
Merge ../working

12 years agoimplementation of @nwf's argm idea for backpointers (#29). Uses `$key` instead
Tim Vieira [Fri, 5 Jul 2013 03:01:15 +0000 (23:01 -0400)]
implementation of @nwf's argm idea for backpointers (#29). Uses `$key` instead
of `argm`.

BUGFIX: hash and eq for list wasn't correct.

12 years agoMerge ../working
Tim Vieira [Thu, 4 Jul 2013 03:22:38 +0000 (23:22 -0400)]
Merge ../working

12 years agominor fix to trace formatting
Tim Vieira [Thu, 4 Jul 2013 03:21:50 +0000 (23:21 -0400)]
minor fix to trace formatting

12 years agoMerge ../working
Tim Vieira [Wed, 3 Jul 2013 23:20:29 +0000 (19:20 -0400)]
Merge ../working

12 years agomultiline input in doctest
Tim Vieira [Wed, 3 Jul 2013 23:19:20 +0000 (19:19 -0400)]
multiline input in doctest

disable REPL run command.. it doesn't pass parser state along.

12 years agoMerge ../working
Tim Vieira [Wed, 3 Jul 2013 21:31:58 +0000 (17:31 -0400)]
Merge ../working

12 years agoOverhaul error message displays
Tim Vieira [Wed, 3 Jul 2013 20:57:56 +0000 (16:57 -0400)]
Overhaul error message displays

 - "pop-time": aggregation errors (e.g. two distinct values following into an
   `=` aggregator) are group by functor/arity, then by type and only 10
   instances are shown.

 - "push-time": errors are grouped by rule, then error type (e.g. TypeError,
   DivisionByZero), only 10 instances of the error are displayed.

 - These changes help avoid an overwhelming cascade of very similar
   errors. Users should be able to trace the sources of these errors using other
   tools (e.g. `trace`)

Resolve issue #36

Program rules available in $rule -- doesn't do anything yet however.

Tweaks to doctest runner.

12 years agoMerge ../working
Tim Vieira [Wed, 3 Jul 2013 16:19:38 +0000 (12:19 -0400)]
Merge ../working

12 years agoimprovements to `examples/ptb.dyna`
Tim Vieira [Wed, 3 Jul 2013 16:03:27 +0000 (12:03 -0400)]
improvements to `examples/ptb.dyna`

 - (no longer a complete mess thanks to the new `load` commands)

 - does binarization

 - extracts and counts rules in a s-expression tree.

 - parses a sentence given as a string AND extracts the optimal parse by
   following backpointers.

sexpr loader uses nested lists as it's representation

'in'(+,+)+ asserts second arg is a list.

retract_rule: no longer crashes when retracting a backchained rule. There are
possible bugs because we haven't deleted the memo tables affected by that rule.

REPL: show changes after 'load' commands

String display format should no longer render special characters like '\n'