]>
hydra-www.ietfng.org Git - dyna2/log
Nathaniel Wesley Filardo [Thu, 16 May 2013 22:30:23 +0000 (18:30 -0400)]
Stop building hsdyna library
Cabal isn't smart enough to use it internally to the other builds, and it
certainly has no other potential users at the moment.
Nathaniel Wesley Filardo [Thu, 16 May 2013 22:28:01 +0000 (18:28 -0400)]
Add "for" as another spelling of "whenever"
Nathaniel Wesley Filardo [Thu, 16 May 2013 21:57:05 +0000 (17:57 -0400)]
Check in TODO list for LSA 2013.
Here's hoping.
Nathaniel Wesley Filardo [Wed, 15 May 2013 05:15:04 +0000 (01:15 -0400)]
Another change to ANF
Now that we are indexing evals by an unique Int, we may as well
enforce that with an IntMap, rather than just a Set.
This is in preparation for displaying each update's ANF after
double-counting prevention cruxes have been added.
Nathaniel Wesley Filardo [Wed, 15 May 2013 04:40:35 +0000 (00:40 -0400)]
Improve ./debug
Nathaniel Wesley Filardo [Thu, 9 May 2013 05:12:19 +0000 (01:12 -0400)]
Cleanup ANF frontend some more
Eliminate the awkward old ANF language in favor of direct translation to
Cruxes in Dyna.Analysis.ANF. Evaluation cruxes are now properly indexed
within rules using an Int, so we don't have to rely on the output variable
being unique. There are more flavors of unification cruxes, including
inequality constraints.
The terrible 'handleConflictors' has been replaced with a much more
sane function which operates on cruxes, rather than on DOpAMine, which will
be welcome when we have more interesting OPIter modes.
While here, move python scripts from bin/ to src/Dyna/Backend/Python and
adjust the world. Use this as an excuse to make ./debug invoke the dyna
compiler only once and dump everything to different files in $PROGRAM.d/
Nathaniel Wesley Filardo [Fri, 3 May 2013 23:43:07 +0000 (19:43 -0400)]
First pass at new mode infrastructure plumbing
This brings the Mercury mode system all the way out through the planner,
though it does not actually really avail itself of any of the improved
functionality. It compiles and passes all selftests, but that, too, is
hardly saying anything.
Nathaniel Wesley Filardo [Fri, 12 Apr 2013 03:49:55 +0000 (23:49 -0400)]
Snapshot before more surgery
Nathaniel Wesley Filardo [Sun, 31 Mar 2013 07:12:53 +0000 (03:12 -0400)]
First pass at disposition pragmas
Nathaniel Wesley Filardo [Fri, 29 Mar 2013 18:26:28 +0000 (14:26 -0400)]
More cleanups and a forgotten file
Nathaniel Wesley Filardo [Fri, 29 Mar 2013 18:03:12 +0000 (14:03 -0400)]
Dependency fixes, hopefully
Nathaniel Wesley Filardo [Mon, 25 Mar 2013 18:51:46 +0000 (14:51 -0400)]
Snapshot mode stuff
Nathaniel Wesley Filardo [Fri, 15 Mar 2013 03:08:39 +0000 (23:08 -0400)]
Several small bug fixes
Nathaniel Wesley Filardo [Fri, 1 Mar 2013 05:55:49 +0000 (00:55 -0500)]
Tidy source tree, update README
Nathaniel Wesley Filardo [Fri, 1 Mar 2013 04:48:29 +0000 (23:48 -0500)]
Checkpoint effort on the Mercury mode system
Nathaniel Wesley Filardo [Tue, 12 Feb 2013 07:12:57 +0000 (02:12 -0500)]
Fix and expand Analysis.Mode.Inst
Correct iSubGLB_ definition
Add iEq_ and iSubLUB_
Expand commentary
Better IBound-vs-IBound cases in GLB functions
Some additional utilities appeared in XXX.DataUtils and XXX.MonadUtils.
Nathaniel Wesley Filardo [Thu, 7 Feb 2013 08:47:36 +0000 (03:47 -0500)]
Some bits of Overton's mode system for Mercury
The beginnings of a re-implementation of Mercury's mode system, as described
in: David Overton. Precise and Expressive Mode Systems for Typed Logic
Programming Languages. University of Melbourne, Department of Computer
Science and Software Engineering. Ph.D. thesis. December, 2003.
<http://www.mercury.csse.unimelb.edu.au/information/papers.html#dmo-thesis>
Nathaniel Wesley Filardo [Thu, 7 Feb 2013 08:23:33 +0000 (03:23 -0500)]
Some more small utility functions
Nathaniel Wesley Filardo [Thu, 7 Feb 2013 08:22:43 +0000 (03:22 -0500)]
Minor documentation tweaks
Nathaniel Wesley Filardo [Mon, 4 Feb 2013 20:53:34 +0000 (15:53 -0500)]
Slightly more friendly frontend driver
Nathaniel Wesley Filardo [Mon, 4 Feb 2013 20:25:57 +0000 (15:25 -0500)]
Update to new parser & trifecta packages
Nathaniel Wesley Filardo [Sat, 12 Jan 2013 02:48:00 +0000 (21:48 -0500)]
Tidy source tree
- Separate assignments and unifications in ANF. Assignments are now
exclusively for loading (or checking) literals.
- Move term base cases out from our myriad of representations into
Dyna.Term.TTerm's TBase.
- Fix comma and whenever handling in ANF (which is a temporary hack)
and while there, make "true" and "false" a little closer to correct.
- Move Analysis.Aggregation over to Main.Exception rather than Either.
- Remove some dead code from Backend.Python and ParserHS.Parser
- While here and there, squash some warnings
Nathaniel Wesley Filardo [Fri, 11 Jan 2013 05:37:44 +0000 (00:37 -0500)]
Haddock parse fix
Nathaniel Wesley Filardo [Fri, 11 Jan 2013 04:50:06 +0000 (23:50 -0500)]
Parser has a new idea of expressions; planner fix
- Move handling of the ','/2 and whenever/2 operators into the ANF
processor, next to '*'/1, '&'/1, and is/2, rather than the parser.
- Remove the side-condition field in rule forms
- Fallout from this exposed a really, really bad initialization bug
in the rule planner, which is now hopefully corrected.
Nathaniel Wesley Filardo [Fri, 11 Jan 2013 03:12:26 +0000 (22:12 -0500)]
Restore external subodules, update, and update our code
Nathaniel Wesley Filardo [Wed, 9 Jan 2013 19:55:04 +0000 (14:55 -0500)]
Refactor planner; initial work towards backward chaining
Nathaniel Wesley Filardo [Wed, 9 Jan 2013 19:54:26 +0000 (14:54 -0500)]
More foolishness with sexy types
Nathaniel Wesley Filardo [Thu, 20 Dec 2012 05:06:55 +0000 (00:06 -0500)]
Overhaul pipeline and self-tests (╯°□°)╯︵ ┻━┻
This moves us to the much more pleasant position of having one main driver
(in Dyna.Main.Driver) which runs the (common) analysis workers and then
hands off to a user-specified backend (though the interface of
Dyna.Main.BackendDefn). Along the way, we can dump (to stderr or to files)
things we might care about.
Move the python interpreter and debugging tool over to the new pipeline
driver. While doing that, add a "ghcbuild" target to the Makefile that may
behave better than the cabal-istic build mechanism for older GHCs than the
one on my machine.
Add a Python backend selftest module which compares us against "golden"
files in examples/expected/; they are named ".py.out" on the chance that we
get similar golden files for other backends eventually. Wire this in to the
main test harness on the "simple" and "papa2" examples.
While here, move the test harness out of Dyna.Test to Dyna.Main.TestsDriver,
update the README, and move it to Markdown.
┬──┬ ノ( ゜-゜ノ)
Nathaniel Wesley Filardo [Thu, 20 Dec 2012 04:23:40 +0000 (23:23 -0500)]
Comment out compile-failing K3 test case
Nathaniel Wesley Filardo [Thu, 20 Dec 2012 03:42:05 +0000 (22:42 -0500)]
bin/interpreter.py trace to stderr
timv [Wed, 19 Dec 2012 00:11:45 +0000 (19:11 -0500)]
exciting new aggregators and command-line options.
timv [Tue, 18 Dec 2012 23:26:16 +0000 (18:26 -0500)]
merge
timv [Tue, 18 Dec 2012 23:24:30 +0000 (18:24 -0500)]
new aggregator interface.
tweaks to constants in Python.hs
Nathaniel Wesley Filardo [Tue, 18 Dec 2012 23:17:10 +0000 (18:17 -0500)]
Move the K3 backend to Backend.K3
Nathaniel Wesley Filardo [Tue, 18 Dec 2012 22:44:09 +0000 (17:44 -0500)]
Fix the parser and selftests
Nathaniel Wesley Filardo [Tue, 18 Dec 2012 21:43:57 +0000 (16:43 -0500)]
Plumb through first pass at rule indexing
While here, rename FRule to Rule and fallout
timv [Tue, 18 Dec 2012 19:46:57 +0000 (14:46 -0500)]
REPL uses dyna compiler to get plans; suppports (to some extent) the addition of
new rules (deletion or rules should be pretty easy to add).
improvements to code load and compile.
Python codegen no longer uses call indirection table.
'and_equals' and 'or_equals' use python 'and' and 'or' instead of python '&' and
'|', which are bit-twiddling operations.
timv [Tue, 18 Dec 2012 04:51:58 +0000 (23:51 -0500)]
merge
Nathaniel Wesley Filardo [Mon, 17 Dec 2012 23:30:43 +0000 (18:30 -0500)]
Rework rule planner to take modes from backend
While here, factor out some material to Dyna.Analysis.Base, and execute a
proof-of-concept change by adding true/0 and false/0 as constants which
evaluate to True and False in the Python backend.
Some other minor changes seem to have crept in, too.
timv [Mon, 17 Dec 2012 20:50:06 +0000 (15:50 -0500)]
nonlinear unification.
timv [Mon, 17 Dec 2012 20:49:35 +0000 (15:49 -0500)]
row slicing - an example of interesting structure building
timv [Mon, 17 Dec 2012 20:48:57 +0000 (15:48 -0500)]
example of aggregator conflict.
timv [Mon, 17 Dec 2012 20:48:05 +0000 (15:48 -0500)]
doc tweaks.
timv [Mon, 17 Dec 2012 20:47:30 +0000 (15:47 -0500)]
using "pair-valued" shape as suggested by Jason in 12/14 Dyna meeting.
timv [Mon, 17 Dec 2012 20:46:30 +0000 (15:46 -0500)]
added sigmoid - a simple example of back-chained math
timv [Mon, 17 Dec 2012 20:45:52 +0000 (15:45 -0500)]
tweaks to dijkstras
timv [Mon, 17 Dec 2012 20:43:37 +0000 (15:43 -0500)]
tiny tweak to codegen
timv [Fri, 14 Dec 2012 18:36:16 +0000 (13:36 -0500)]
rename
--HG--
rename : bin/stdlib.py => bin/interpreter.py
timv [Fri, 14 Dec 2012 17:23:21 +0000 (12:23 -0500)]
minor bugfix in plus equals and times equals aggregator, regarding None
values. This tweaks the reactivity issues I was having with the papa2 example.
I've also made a few minor, cleanup/tweaks to stdlib.
timv [Thu, 13 Dec 2012 21:59:31 +0000 (16:59 -0500)]
tweaks
timv [Thu, 13 Dec 2012 18:53:15 +0000 (13:53 -0500)]
tweaks to python code.
timv [Thu, 13 Dec 2012 18:47:25 +0000 (13:47 -0500)]
merge
timv [Thu, 13 Dec 2012 18:46:48 +0000 (13:46 -0500)]
matrix shape.
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 06:25:58 +0000 (01:25 -0500)]
Create Dyna.Main. and move exceptions there
timv [Thu, 13 Dec 2012 05:26:29 +0000 (00:26 -0500)]
fix boo-boo
timv [Thu, 13 Dec 2012 04:29:04 +0000 (23:29 -0500)]
FIX: aggregating on empty returns None, which now propagate correctly thru the
program.
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 04:19:34 +0000 (23:19 -0500)]
Add examples/dijkstra.dyna, taken from Dyna 1
timv [Thu, 13 Dec 2012 04:10:44 +0000 (23:10 -0500)]
tweaks.
timv [Thu, 13 Dec 2012 03:33:20 +0000 (22:33 -0500)]
tweaks
timv [Thu, 13 Dec 2012 03:21:06 +0000 (22:21 -0500)]
()
timv [Thu, 13 Dec 2012 03:20:54 +0000 (22:20 -0500)]
()
timv [Thu, 13 Dec 2012 03:09:30 +0000 (22:09 -0500)]
merge
timv [Thu, 13 Dec 2012 03:09:09 +0000 (22:09 -0500)]
()
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 03:07:12 +0000 (22:07 -0500)]
Let's try that again.
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 03:05:32 +0000 (22:05 -0500)]
Stop being quite so ambitious in Analysis.RuleMode.inv
timv [Thu, 13 Dec 2012 02:52:08 +0000 (21:52 -0500)]
simpl, flat, replacement updates in python script.
timv [Thu, 13 Dec 2012 02:50:58 +0000 (21:50 -0500)]
very nice webpage generated.
timv [Wed, 12 Dec 2012 21:51:05 +0000 (16:51 -0500)]
merge
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:50:27 +0000 (16:50 -0500)]
Missed in the last round of commits
timv [Wed, 12 Dec 2012 21:48:29 +0000 (16:48 -0500)]
merge
timv [Wed, 12 Dec 2012 21:46:50 +0000 (16:46 -0500)]
working on some javascript hacks to help us manage our compiler output.
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:44:27 +0000 (16:44 -0500)]
More .gitignore rules
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:44:13 +0000 (16:44 -0500)]
Add perverse examples
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:44:00 +0000 (16:44 -0500)]
Code shuffling for debugging backends
timv [Wed, 12 Dec 2012 21:19:46 +0000 (16:19 -0500)]
remove old update planner.
timv [Wed, 12 Dec 2012 21:19:27 +0000 (16:19 -0500)]
ENH: dump-to-file/display stable rendering of chart.
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 20:54:15 +0000 (15:54 -0500)]
Handle "diagonal" cases in rule planner
timv [Wed, 12 Dec 2012 20:46:27 +0000 (15:46 -0500)]
FIX: accidently delete on unchanged values
timv [Wed, 12 Dec 2012 20:37:09 +0000 (15:37 -0500)]
tweaks.
timv [Wed, 12 Dec 2012 20:00:26 +0000 (15:00 -0500)]
Put "call" indirection table and aggregator definitions in defn ("definitions")
module.
timv [Wed, 12 Dec 2012 19:51:46 +0000 (14:51 -0500)]
added matrixops examples; demonstrates the "edge template overcounting problem" - a template which shouldnt fire more than once results in overcounting.
timv [Wed, 12 Dec 2012 09:57:16 +0000 (04:57 -0500)]
FIX: run_agenda termination condition
FIX: more fixes pertaining to python tuple unpacking.
timv [Wed, 12 Dec 2012 06:34:28 +0000 (01:34 -0500)]
elaborate papa2 example works!
use correct aggregators for each functor.
timv [Wed, 12 Dec 2012 05:45:12 +0000 (00:45 -0500)]
merge
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 05:43:11 +0000 (00:43 -0500)]
Merge branch 'master' of github.com:nwf/dyna
timv [Wed, 12 Dec 2012 05:42:17 +0000 (00:42 -0500)]
merge
timv [Wed, 12 Dec 2012 05:41:42 +0000 (00:41 -0500)]
merge
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 05:41:21 +0000 (00:41 -0500)]
Tweak Analysis.RuleMode planning strategy
This should result in all-bound OPCalls being earlier in update plans,
leading to earlier bail-out in the case of an update not being applicable.
timv [Wed, 12 Dec 2012 05:40:24 +0000 (00:40 -0500)]
FIX: syntactic issues - can't assign to "()"
FIX: "continue" cases in for-loops
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 04:08:34 +0000 (23:08 -0500)]
Linearization & annotation handling in ANF
timv [Wed, 12 Dec 2012 02:49:21 +0000 (21:49 -0500)]
merge
timv [Wed, 12 Dec 2012 02:46:50 +0000 (21:46 -0500)]
added papa2 example.
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 02:46:12 +0000 (21:46 -0500)]
A little smarter Analysis.RuleMode planner
timv [Wed, 12 Dec 2012 02:45:47 +0000 (21:45 -0500)]
renderSpan moved to trifecta utils.
timv [Wed, 12 Dec 2012 02:44:30 +0000 (21:44 -0500)]
fixed bug in loading anf output.
timv [Wed, 12 Dec 2012 02:44:08 +0000 (21:44 -0500)]
take dyna source as input, asks dyna compiler to compile.
timv [Wed, 12 Dec 2012 02:43:46 +0000 (21:43 -0500)]
escape quote characters so we don't break graphviz.
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 02:38:58 +0000 (21:38 -0500)]
Merge branch 'master' of github.com:nwf/dyna
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 02:38:27 +0000 (21:38 -0500)]
Maybe fix aggregator parsing
Dot is not an aggregator
timv [Tue, 11 Dec 2012 23:45:06 +0000 (18:45 -0500)]
added papa.dyna to examples.