]> hydra-www.ietfng.org Git - dyna2/log
dyna2
13 years agocleanup/move repl into its own module.
Tim Vieira [Sat, 1 Jun 2013 06:53:15 +0000 (02:53 -0400)]
cleanup/move repl into its own module.

13 years agominor cleanups
Tim Vieira [Sat, 1 Jun 2013 06:19:11 +0000 (02:19 -0400)]
minor cleanups

13 years agoCleaner representation of Term's as Python objects.
Tim Vieira [Sat, 1 Jun 2013 05:34:16 +0000 (01:34 -0400)]
Cleaner representation of Term's as Python objects.

REPL handles ^C

13 years agoFirst-pass at a REPL
Tim Vieira [Sat, 1 Jun 2013 03:21:49 +0000 (23:21 -0400)]
First-pass at a REPL

 - user can add new rules (LIMITATIONS: no retracting rules; no queries yet.)

    - new rules check for aggregator conflict.

 - only shows the user what changed as a result of the new rule. rather than
   dumping the entire chart. The chart isn't dumped every time we hit go().

Nicer chart pretty printing (only relevant to sets or lists of items), which is
only experimental.

Reverted Wes' changes to eval it seems like the change was not tested. Sorry Wes.

Nicer formatting for tracing messages. Tracing is no longer printed to
stderr. by defualt, it goes to /tmp/dyna.log (there is a cmdline option to
change that; there is also commands in the REPL "trace on" and "trace off").

13 years agomerge.
Tim Vieira [Fri, 31 May 2013 21:44:17 +0000 (17:44 -0400)]
merge.

13 years agoadded dynac_code -- toward a REPL!
Tim Vieira [Fri, 31 May 2013 21:42:28 +0000 (17:42 -0400)]
added dynac_code -- toward a REPL!

13 years agoMerge branch 'master' of github.com:nwf/dyna
Nathaniel Wesley Filardo [Fri, 31 May 2013 18:35:13 +0000 (14:35 -0400)]
Merge branch 'master' of github.com:nwf/dyna

13 years agooops.
Tim Vieira [Fri, 31 May 2013 18:19:03 +0000 (14:19 -0400)]
oops.

13 years agoSwitch python selftests to run compiler themselves
Nathaniel Wesley Filardo [Thu, 30 May 2013 20:29:00 +0000 (16:29 -0400)]
Switch python selftests to run compiler themselves

And only run the interpreter as a captive process.  This change is made with
the intent of more accurately reflecting code coverage when we start
tracking that within self-tests.

13 years agoadded --plan option to feed compiler output directly into interpreter without calling...
Tim Vieira [Thu, 30 May 2013 17:49:55 +0000 (13:49 -0400)]
added --plan option to feed compiler output directly into interpreter without calling dyna compiler.

13 years agoDocumentation tweaks
Nathaniel Wesley Filardo [Wed, 29 May 2013 16:43:45 +0000 (12:43 -0400)]
Documentation tweaks

Fix haddock in ParserHS

13 years agoBug-fix in planner
Nathaniel Wesley Filardo [Wed, 29 May 2013 02:02:27 +0000 (22:02 -0400)]
Bug-fix in planner

The ecrux being updated was erroneously fed into the planner as well,
leading to redundant OPIter in output plans.

While here, try to make some error messages more informative.

13 years agoSyntax modernization and cleanups
Nathaniel Wesley Filardo [Wed, 29 May 2013 02:00:35 +0000 (22:00 -0400)]
Syntax modernization and cleanups

Thanks to Juneki Hong for bringing to my attention that some of the
examples no longer built.

13 years agoSnapshot of work in progress
Nathaniel Wesley Filardo [Tue, 28 May 2013 17:50:32 +0000 (13:50 -0400)]
Snapshot of work in progress

Notably, this marks the first commit to fix an externally filed bug report;
thanks to Abram Demski for reporting!  Dyna should now build with ghc 7.4
and its Platform releases.  :)

(This commit is a little bigger than just the fix as I had already changed
some of the code in my working tree and there seemed to be no reason not to
just commit things.)

13 years agoTweak top-level executables to support DYNAHOME
Nathaniel Wesley Filardo [Thu, 23 May 2013 05:05:15 +0000 (01:05 -0400)]
Tweak top-level executables to support DYNAHOME

While tweaking things, take tests out of all target in Makefile

13 years agoMake a 'misc/' folder for odds and ends
Nathaniel Wesley Filardo [Tue, 21 May 2013 21:22:33 +0000 (17:22 -0400)]
Make a 'misc/' folder for odds and ends

Move HaddockPaths and vimrc there; add GHC bootstrapping script for
safe-keeping.

13 years agoMove some constants from ANF to SurfaceSyntax
Nathaniel Wesley Filardo [Sat, 18 May 2013 20:32:53 +0000 (16:32 -0400)]
Move some constants from ANF to SurfaceSyntax

13 years agoTry harder to build all haddocks at once
Nathaniel Wesley Filardo [Sat, 18 May 2013 19:14:00 +0000 (15:14 -0400)]
Try harder to build all haddocks at once

This is a pretty nasty hack which involves shell scripting and a small
program to go digging through Cabal internals.

13 years agoFix overlooked fallout from conversion to Insts
Nathaniel Wesley Filardo [Fri, 17 May 2013 20:46:48 +0000 (16:46 -0400)]
Fix overlooked fallout from conversion to Insts

This has a side-effect of fixing haddock builds. :)

13 years agoStop building hsdyna library
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.

13 years agoAdd "for" as another spelling of "whenever"
Nathaniel Wesley Filardo [Thu, 16 May 2013 22:28:01 +0000 (18:28 -0400)]
Add "for" as another spelling of "whenever"

13 years agoCheck in TODO list for LSA 2013.
Nathaniel Wesley Filardo [Thu, 16 May 2013 21:57:05 +0000 (17:57 -0400)]
Check in TODO list for LSA 2013.

Here's hoping.

13 years agoAnother change to ANF
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.

13 years agoImprove ./debug
Nathaniel Wesley Filardo [Wed, 15 May 2013 04:40:35 +0000 (00:40 -0400)]
Improve ./debug

13 years agoCleanup ANF frontend some more
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/

13 years agoFirst pass at new mode infrastructure plumbing
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.

13 years agoSnapshot before more surgery
Nathaniel Wesley Filardo [Fri, 12 Apr 2013 03:49:55 +0000 (23:49 -0400)]
Snapshot before more surgery

13 years agoFirst pass at disposition pragmas
Nathaniel Wesley Filardo [Sun, 31 Mar 2013 07:12:53 +0000 (03:12 -0400)]
First pass at disposition pragmas

13 years agoMore cleanups and a forgotten file
Nathaniel Wesley Filardo [Fri, 29 Mar 2013 18:26:28 +0000 (14:26 -0400)]
More cleanups and a forgotten file

13 years agoDependency fixes, hopefully
Nathaniel Wesley Filardo [Fri, 29 Mar 2013 18:03:12 +0000 (14:03 -0400)]
Dependency fixes, hopefully

13 years agoSnapshot mode stuff
Nathaniel Wesley Filardo [Mon, 25 Mar 2013 18:51:46 +0000 (14:51 -0400)]
Snapshot mode stuff

13 years agoSeveral small bug fixes
Nathaniel Wesley Filardo [Fri, 15 Mar 2013 03:08:39 +0000 (23:08 -0400)]
Several small bug fixes

13 years agoTidy source tree, update README
Nathaniel Wesley Filardo [Fri, 1 Mar 2013 05:55:49 +0000 (00:55 -0500)]
Tidy source tree, update README

13 years agoCheckpoint effort on the Mercury mode system
Nathaniel Wesley Filardo [Fri, 1 Mar 2013 04:48:29 +0000 (23:48 -0500)]
Checkpoint effort on the Mercury mode system

13 years agoFix and expand Analysis.Mode.Inst
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.

13 years agoSome bits of Overton's mode system for Mercury
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>

13 years agoSome more small utility functions
Nathaniel Wesley Filardo [Thu, 7 Feb 2013 08:23:33 +0000 (03:23 -0500)]
Some more small utility functions

13 years agoMinor documentation tweaks
Nathaniel Wesley Filardo [Thu, 7 Feb 2013 08:22:43 +0000 (03:22 -0500)]
Minor documentation tweaks

13 years agoSlightly more friendly frontend driver
Nathaniel Wesley Filardo [Mon, 4 Feb 2013 20:53:34 +0000 (15:53 -0500)]
Slightly more friendly frontend driver

13 years agoUpdate to new parser & trifecta packages
Nathaniel Wesley Filardo [Mon, 4 Feb 2013 20:25:57 +0000 (15:25 -0500)]
Update to new parser & trifecta packages

13 years agoTidy source tree
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

13 years agoHaddock parse fix
Nathaniel Wesley Filardo [Fri, 11 Jan 2013 05:37:44 +0000 (00:37 -0500)]
Haddock parse fix

13 years agoParser has a new idea of expressions; planner 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.

13 years agoRestore external subodules, update, and update our code
Nathaniel Wesley Filardo [Fri, 11 Jan 2013 03:12:26 +0000 (22:12 -0500)]
Restore external subodules, update, and update our code

13 years agoRefactor planner; initial work towards backward chaining
Nathaniel Wesley Filardo [Wed, 9 Jan 2013 19:55:04 +0000 (14:55 -0500)]
Refactor planner; initial work towards backward chaining

13 years agoMore foolishness with sexy types
Nathaniel Wesley Filardo [Wed, 9 Jan 2013 19:54:26 +0000 (14:54 -0500)]
More foolishness with sexy types

13 years agoOverhaul pipeline and self-tests (╯°□°)╯︵ ┻━┻
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.

┬──┬ ノ( ゜-゜ノ)

13 years agoComment out compile-failing K3 test case
Nathaniel Wesley Filardo [Thu, 20 Dec 2012 04:23:40 +0000 (23:23 -0500)]
Comment out compile-failing K3 test case

13 years agobin/interpreter.py trace to stderr
Nathaniel Wesley Filardo [Thu, 20 Dec 2012 03:42:05 +0000 (22:42 -0500)]
bin/interpreter.py trace to stderr

13 years agoexciting new aggregators and command-line options.
timv [Wed, 19 Dec 2012 00:11:45 +0000 (19:11 -0500)]
exciting new aggregators and command-line options.

13 years agomerge
timv [Tue, 18 Dec 2012 23:26:16 +0000 (18:26 -0500)]
merge

13 years agonew aggregator interface.
timv [Tue, 18 Dec 2012 23:24:30 +0000 (18:24 -0500)]
new aggregator interface.

tweaks to constants in Python.hs

13 years agoMove the K3 backend to Backend.K3
Nathaniel Wesley Filardo [Tue, 18 Dec 2012 23:17:10 +0000 (18:17 -0500)]
Move the K3 backend to Backend.K3

13 years agoFix the parser and selftests
Nathaniel Wesley Filardo [Tue, 18 Dec 2012 22:44:09 +0000 (17:44 -0500)]
Fix the parser and selftests

13 years agoPlumb through first pass at rule indexing
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

13 years agoREPL uses dyna compiler to get plans; suppports (to some extent) the addition of
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.

13 years agomerge
timv [Tue, 18 Dec 2012 04:51:58 +0000 (23:51 -0500)]
merge

13 years agoRework rule planner to take modes from backend
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.

13 years agononlinear unification.
timv [Mon, 17 Dec 2012 20:50:06 +0000 (15:50 -0500)]
nonlinear unification.

13 years agorow slicing - an example of interesting structure building
timv [Mon, 17 Dec 2012 20:49:35 +0000 (15:49 -0500)]
row slicing - an example of interesting structure building

13 years agoexample of aggregator conflict.
timv [Mon, 17 Dec 2012 20:48:57 +0000 (15:48 -0500)]
example of aggregator conflict.

13 years agodoc tweaks.
timv [Mon, 17 Dec 2012 20:48:05 +0000 (15:48 -0500)]
doc tweaks.

13 years agousing "pair-valued" shape as suggested by Jason in 12/14 Dyna meeting.
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.

13 years agoadded sigmoid - a simple example of back-chained math
timv [Mon, 17 Dec 2012 20:46:30 +0000 (15:46 -0500)]
added sigmoid - a simple example of back-chained math

13 years agotweaks to dijkstras
timv [Mon, 17 Dec 2012 20:45:52 +0000 (15:45 -0500)]
tweaks to dijkstras

13 years agotiny tweak to codegen
timv [Mon, 17 Dec 2012 20:43:37 +0000 (15:43 -0500)]
tiny tweak to codegen

13 years agorename
timv [Fri, 14 Dec 2012 18:36:16 +0000 (13:36 -0500)]
rename

--HG--
rename : bin/stdlib.py => bin/interpreter.py

13 years agominor bugfix in plus equals and times equals aggregator, regarding None
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.

13 years agotweaks
timv [Thu, 13 Dec 2012 21:59:31 +0000 (16:59 -0500)]
tweaks

13 years agotweaks to python code.
timv [Thu, 13 Dec 2012 18:53:15 +0000 (13:53 -0500)]
tweaks to python code.

13 years agomerge
timv [Thu, 13 Dec 2012 18:47:25 +0000 (13:47 -0500)]
merge

13 years agomatrix shape.
timv [Thu, 13 Dec 2012 18:46:48 +0000 (13:46 -0500)]
matrix shape.

13 years agoCreate Dyna.Main. and move exceptions there
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 06:25:58 +0000 (01:25 -0500)]
Create Dyna.Main. and move exceptions there

13 years agofix boo-boo
timv [Thu, 13 Dec 2012 05:26:29 +0000 (00:26 -0500)]
fix boo-boo

13 years agoFIX: aggregating on empty returns None, which now propagate correctly thru the
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.

13 years agoAdd examples/dijkstra.dyna, taken from Dyna 1
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 04:19:34 +0000 (23:19 -0500)]
Add examples/dijkstra.dyna, taken from Dyna 1

13 years agotweaks.
timv [Thu, 13 Dec 2012 04:10:44 +0000 (23:10 -0500)]
tweaks.

13 years agotweaks
timv [Thu, 13 Dec 2012 03:33:20 +0000 (22:33 -0500)]
tweaks

13 years ago()
timv [Thu, 13 Dec 2012 03:21:06 +0000 (22:21 -0500)]
()

13 years ago()
timv [Thu, 13 Dec 2012 03:20:54 +0000 (22:20 -0500)]
()

13 years agomerge
timv [Thu, 13 Dec 2012 03:09:30 +0000 (22:09 -0500)]
merge

13 years ago()
timv [Thu, 13 Dec 2012 03:09:09 +0000 (22:09 -0500)]
()

13 years agoLet's try that again.
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 03:07:12 +0000 (22:07 -0500)]
Let's try that again.

13 years agoStop being quite so ambitious in Analysis.RuleMode.inv
Nathaniel Wesley Filardo [Thu, 13 Dec 2012 03:05:32 +0000 (22:05 -0500)]
Stop being quite so ambitious in Analysis.RuleMode.inv

13 years agosimpl, flat, replacement updates in python script.
timv [Thu, 13 Dec 2012 02:52:08 +0000 (21:52 -0500)]
simpl, flat, replacement updates in python script.

13 years agovery nice webpage generated.
timv [Thu, 13 Dec 2012 02:50:58 +0000 (21:50 -0500)]
very nice webpage generated.

13 years agomerge
timv [Wed, 12 Dec 2012 21:51:05 +0000 (16:51 -0500)]
merge

13 years agoMissed in the last round of commits
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:50:27 +0000 (16:50 -0500)]
Missed in the last round of commits

13 years agomerge
timv [Wed, 12 Dec 2012 21:48:29 +0000 (16:48 -0500)]
merge

13 years agoworking on some javascript hacks to help us manage our compiler output.
timv [Wed, 12 Dec 2012 21:46:50 +0000 (16:46 -0500)]
working on some javascript hacks to help us manage our compiler output.

13 years agoMore .gitignore rules
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:44:27 +0000 (16:44 -0500)]
More .gitignore rules

13 years agoAdd perverse examples
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:44:13 +0000 (16:44 -0500)]
Add perverse examples

13 years agoCode shuffling for debugging backends
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 21:44:00 +0000 (16:44 -0500)]
Code shuffling for debugging backends

13 years agoremove old update planner.
timv [Wed, 12 Dec 2012 21:19:46 +0000 (16:19 -0500)]
remove old update planner.

13 years agoENH: dump-to-file/display stable rendering of chart.
timv [Wed, 12 Dec 2012 21:19:27 +0000 (16:19 -0500)]
ENH: dump-to-file/display stable rendering of chart.

13 years agoHandle "diagonal" cases in rule planner
Nathaniel Wesley Filardo [Wed, 12 Dec 2012 20:54:15 +0000 (15:54 -0500)]
Handle "diagonal" cases in rule planner

13 years agoFIX: accidently delete on unchanged values
timv [Wed, 12 Dec 2012 20:46:27 +0000 (15:46 -0500)]
FIX: accidently delete on unchanged values

13 years agotweaks.
timv [Wed, 12 Dec 2012 20:37:09 +0000 (15:37 -0500)]
tweaks.

13 years agoPut "call" indirection table and aggregator definitions in defn ("definitions")
timv [Wed, 12 Dec 2012 20:00:26 +0000 (15:00 -0500)]
Put "call" indirection table and aggregator definitions in defn ("definitions")
module.

13 years agoadded matrixops examples; demonstrates the "edge template overcounting problem" ...
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.