]> hydra-www.ietfng.org Git - dyna2/commitdiff
Filled in spec outline in Sphinx documentation.
authorJason Eisner <jason@cs.jhu.edu>
Mon, 29 Jul 2013 19:42:35 +0000 (15:42 -0400)
committerJason Eisner <jason@cs.jhu.edu>
Mon, 29 Jul 2013 19:42:35 +0000 (15:42 -0400)
Other small changes to documentation organization, configuration, comments, emacs -*- settings,

12 files changed:
docs/sphinx/conf.py
docs/sphinx/index.rst
docs/sphinx/manual/builtins.rst
docs/sphinx/manual/index.rst
docs/sphinx/manual/pragmas.rst
docs/sphinx/spec/glossary.rst
docs/sphinx/spec/index.rst
docs/sphinx/spec/syntax.rst
docs/sphinx/tutorial/dijkstra.rst
docs/sphinx/tutorial/errors.rst
docs/sphinx/tutorial/hello.rst
docs/sphinx/tutorial/index.rst

index 5b8acf4935935053a9d4ffcd9a4ac427b0c8fd05..05278bbc917fe8e96d8d946941725b83466f7f5a 100644 (file)
@@ -95,8 +95,11 @@ exclude_patterns = ['_build']
 # output. They are ignored by default.
 #show_authors = False
 
+# Default language for syntax highlighting
+highlight_language = 'none'   # eventually change to 'dyna'
+
 # The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
+pygments_style = 'sphinx'
 
 # A list of ignored prefixes for module index sorting.
 #modindex_common_prefix = []
index 81bbe05e061bf4aa325b953e191e1c04941b1744..155baf9b0f52603016770be529c3219dff9c3fa4 100644 (file)
@@ -1,23 +1,32 @@
-.. Dyna2 documentation master file
+.. -*- compile-command: "make html" -*-
+.. Dyna documentation master file
 
-Welcome to Dyna2's documentation!
+.. todo:: use a theme.  At the moment I followed the suggestion in
+         sampledoc to copy stuff from the sphinx documentation, but
+         nowadays there is explicit support for themes (I like
+         "agogo" or "sphinxdoc"), as explained in the sphinx manual.
+
+Welcome to Dyna!
 =================================
 
-Dyna2 is an experimental new logic programming language developed at
-`Johns Hopkins University <http://www.jhu.edu>`_
+Dyna is an new declarative programming language developed at
+`Johns Hopkins University <http://cs.jhu.edu>`_.
+
+This site documents the new version being developed at http://github.com/nwf/dyna.
+The new version has been used to teach but is not yet complete or
+efficient; you may file issues at http://github.com/nwf/dyna/issues.
+An older design with a fairly efficient compiler can be found at http://dyna.org.  
 
 .. warning:: Please be advised that this documentation, the implementation,
    and indeed the language itself are rapidly changing.
 
-.. warning:: Attempting to run Dyna programs may often crash our interpreter
-   or yield programs which run forever.  (In the latter case, Control-C will
-   stop the program's execution.)  If either of these things happen
-   unexpectedly, please contact a TA.
+.. warning:: Some programs may not terminate.  Control-C will
+   interrupt the program's execution.
 
 Contents:
 
 .. toctree::
-   :maxdepth: 2
+   :maxdepth: 1
 
    tutorial/index
 
@@ -27,9 +36,17 @@ Contents:
 
    Bibliography <bib>
 
+.. todo:: add a "cookbook" that shows how to accomplish various common tasks
+.. todo:: not sure whether we want a top-level bibliography
+.. todo:: We may want to generate a separate PDF file for each directory
+
+
 Indices and tables
 ==================
 
+* :doc:`spec/glossary`
 * :ref:`genindex`
 * :ref:`search`
 
+.. todo:: should we also try to add something like the automatic
+         Python module index (modindex), but for dynabases?
index a154492d1fc5bee48d1ee70239fea47bcad5225a..6ce54e1d3a0d25ff45c7369d1a4324ce4f33b759 100644 (file)
@@ -1,3 +1,4 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Builtins
    Here we describe the primitives available by default.
 
index ecaf535df27c3d142e4937e6b3534acebb3c1a04..344eaa8a83101d71534b0dc72743b466c81da7df 100644 (file)
@@ -1,3 +1,4 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Manual index
    This file is enumerated in the toctree directive of index.rst
 
index 647a80237fafe0f841b8f2e730609bb31c6d6bd1..5b58a05a1ae88a47fe2e8b5fddd63277eb716ebd 100644 (file)
@@ -1,3 +1,4 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Pragmas
    This file documents the pragma assertions our pipeline understands.
 
index c08f965602ff15160e0140b10b6c147790478a6d..0056416d51c31371fc25da1a753c4a88d2b21ad0 100644 (file)
@@ -1,8 +1,9 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Spec glossary
    This file is enumerated in the toctree of spec/index.rst
 
-Specification Glossary
-######################
+Dyna Glossary
+#############
 
 .. glossary::
 
index dbe48a7906bbd0f1b7cf5e084532c57b8eb12d8a..a65db77ea3ffad4b71a9bfe161d5cbf4beb26f00 100644 (file)
+.. -*- compile-command: "make -C .. html" -*-
 .. Specification index
    This file is enumerated in the toctree directive of index.rst
 
-Specifications
-##############
+.. todo::
+   Fill in to-do items from various sources, then break this into
+   multiple files.  (I believe that in the HTML rendering, each file is a webpage.)
+
+##################################
+Specification of the Dyna Language
+##################################
+
+************
+Introduction
+************
+
+What is Dyna?
+=============
+
+.. todo:: keep it brief
+
+Intended users
+==============
+
+Key features
+============
+
+Relation to other work
+======================
+
+.. todo:: where to learn more
+
+********************************
+ How to read this specification
+********************************
+
+Organization
+============
+.. todo:: Reading in order is ok
+
+Notation
+========
+.. todo:: Unless otherwise noted, we'll spell things using default syntax table.
+
+User comments
+=============
+
+Coloring and formatting conventions
+===================================
+
+Cross-refs
+==========
+
+Sidebars
+========
+
+Notifications
+=============
+.. todo: deprecation, bugs, future work
+
+Links to examples
+=================
+
+Links to issue tracker
+======================
+
+Glossary/Index
+==============
+
+***************************
+Terms (i.e.,  ground terms)
+***************************
+
+Overview
+========
+      
+Primitive terms
+===============
+
+Booleans
+--------
+
+Numbers
+-------
+
+Strings
+-------
+
+Escape codes
+^^^^^^^^^^^^
+.. todo:: including \' and \" -- borrow from Python
+
+Blobs
+-----
+
+Compound terms
+==============
+
+.. todo:: Note: We'll use the format foo[3,4] or foo[]
+
+Functors
+--------
+
+Single quotes
+^^^^^^^^^^^^^
+.. todo:: Escape codes as for strings except we need \' 
+.. todo:: What space are these in?  How do they relate to strings and dynabases?  See https://github.com/nwf/dyna/issues/49]
+
+
+Positional arguments
+--------------------
+
+Operator syntax
+^^^^^^^^^^^^^^^
+
+Keyword arguments
+-----------------
+
+List syntax
+-----------
+
+Reserved functors
+-----------------
+
+``$`` convention
+^^^^^^^^^^^^^^^^
+
+``$error``
+^^^^^^^^^^
+
+``$null``
+^^^^^^^^^
+
+Dynabases
+=========
+
+Full discussion in :ref:`frozen`.
+
+Frozen terms
+============
+
+Full discussion in :ref:`dynabase`.
+
+
+*********************************
+Patterns (i.e., non-ground terms)
+*********************************
+
+Variables
+=========
+
+Variable names
+--------------
+
+Underscores
+-----------
+
+Non-ground terms
+================
+
+Types
+=====
+
+Type declarations
+-----------------
+
+Typed variables
+---------------
+
+Co-inductive types
+------------------
+
+Possible future extensions
+--------------------------
+Guarded types?  Nonlinear types?  Parametric types?
+
+Type coercion
+============
+
+
+Unification
+===========
+
+.. _frozen:  
+
+Frozen terms
+============
+    
+.. _dynabase:  
+
+*********
+Dynabases
+*********
+
+Overview
+========
+
+
+Items
+=====
+
+Null items
+----------
+
+Syntax for items
+================
+
+.. todo:: possibly mention :ref:`dispos`
+
+Brackets vs. parentheses
+------------------------
+
+Quoting items with ``&``
+------------------------
+
+Evaluating terms with ``*``
+---------------------------
+
+Queries
+=======
+
+Simple queries
+--------------
+
+Complex queries
+---------------
+.. todo:: joins with commas
+
+Expressions
+-----------
+.. todo:: (auto-evaluation) ("nested queries")
+
+Aggregating queries
+-------------------
+
+Accessors
+---------
+.. todo:: Dot and arrow expressions to access elements of a dynabase
+
+Query modes
+===========
+
+Some discussion of current approach is in :doc:`/manual/pragmas`.
+
+.. todo::      
+      Language for specifying modes as generalization of types.
+      Output format: Finite, sorted, consolidated, ground, etc.
+      Det/semidet/etc.  Overall, or per-variable?  What if it binds a sequence of variables?
+
+Lambdas
+=======
+
+Terms as dynabases
+==================
+.. todo:: querying and destructuring terms
+
+Updates
+=======
+.. todo:: Ownership [forward reference]
+
+Update modes
+============
+.. todo:: must discuss aggregators as well as groundedness and form of body
+
+Stability
+=========
+.. todo:: guarantees on queries (what can change as a result of updates; is a := update a definite override?)
+
+Dynabase types
+==============
+.. todo:: i.e., advertised public interface
+
+Extensions
+==========
+
+Const declaration
+-----------------
+
+Snapshots
+=========
+
+************************************
+ Inspecting and modifying dynabases
+************************************
+
+Abstract API
+============
+
+.. todo:: this is really described above.
+.. todo:: Discuss ad hoc, continuous, peeking queries.
+
+Command line interface
+======================
+
+Graphical interface
+===================
+
+Programming interface
+=====================
+
+***************
+ Dyna programs
+***************
+
+
+Programs
+========
+
+File format
+===========
+.. todo:: UTF-8, BOM
+.. todo:: #! and possibly multiline #!
+
+Rules
+=====
+
+Definition
+----------
+
+Aggregation
+-----------
+
+Semantics
+---------
+
+Cycles
+^^^^^^
+
+Errors
+^^^^^^
+
+See discussion of current implementation in :doc:`/tutorial/errors`.
+
+Head destructuring
+------------------
+
+Dynabase literals
+=================
+
+Syntax
+------
+
+Ownership
+---------
+
+Semantics
+---------
+
+Declarations
+============
+
+Some documentation of currently implemented declarations is in :doc:`/manual/pragmas`.
+
+
+Type declarations
+-----------------
+.. todo:: [backward reference] - maybe uses const defs
+
+.. _dispos:
+
+Evaluation declarations
+-----------------------
+
+There is currently some documentation in :doc:`syntax`.
+
+
+Default arguments
+-----------------
+.. todo:: in constructors
+
+
+Visibility declarations
+-----------------------
+.. todo:: readable, writeable
+
+Const
+-----
+
+Import
+------
+
+Syntax declarations
+-------------------
+.. todo:: forward ref
+.. todo:: Which things affect only subsequent lines?
+
+Declaring new aggregators
+-------------------------
+
+
+Scripting commands
+==================
+
+Include
+=======
+.. todo:: what is interaction with syntax table?
+
+
+Foreign function interface
+==========================
+
+***************
+Concrete syntax
+***************
+
+Overview
+========
+
+Standard syntactic sugar
+========================
+
+Default syntax table
+====================
+
+Changing the syntax table
+=========================
+
+Printing
+========
+
+Readable printing
+-----------------
+
+Prettyprinting
+--------------
+
+******************
+ Standard library
+******************
+
+There is currently some documentation in :doc:`/manual/builtins`.
+
+Generic operators and aggregators
+=================================
+
+.. todo:: :=, =, ?=, comma/for
+
+Boolean operators and aggregators
+=================================
+
+Numeric operators and aggregators
+=================================
+
+Randomness
+==========
+
+String operators and aggregators
+================================
+
+Array operators and aggregators
+===============================
+
+Set operators and aggregators
+=============================
+
+Graph operators and aggregators
+===============================
+
+Other standard encodings
+========================
+.. todo:: see ~/jot/dyna 12/14/12 et seq.
+   
+******************************
+ Inspecting program execution
+******************************
+
+$rule
+=====
+
+Voodoo items
+============
+
+Reflection on types, modes, cost estimates, cardinality estimates, plans, etc.
+==============================================================================
+
+*******************************
+ Controlling program execution
+*******************************
+
+Storage classes
+===============
+
+Priorities
+==========
+
+Query costs and plans
+=====================
+
+Features for learning
+=====================
+   
+*****************
+Foreign dynabases
+*****************
+
+Files
+=====
+
+Processes
+=========
+
+Sockets
+=======
+
+Servers
+=======
+
+**********
+Appendices
+**********
 
 .. toctree::
 
-   syntax
    glossary
+
+
+
+
index 8541cab4abaaab5e1513eaf4d475220ea0652459..8409fcd339a51f673a831af4fe17bcdf61e66888 100644 (file)
@@ -1,3 +1,4 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Syntax
 
 ******
index 5eb4d741a0e3845e1b67f46463e1d6b69e79091d..7e98d0946fe87d93c463b945db1e0b98c4100150 100644 (file)
@@ -1,3 +1,4 @@
+.. -*- compile-command: "make -C .. html" -*-g
 .. Dijkstra tutorial page
    This file is enumerated in the toctree of tutorial/index.rst
 
index 53c647ae455f644e3d5558b7b7037d1afced48aa..6788ad82b9572271ef5de2f98d63d161e16e171b 100644 (file)
@@ -1,3 +1,4 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Tutorial chapter on errors
    This file is enumerated in the toctree directive of /tutorial/index.rst
 
index 012fe3e520d6ac18a8f248129e0ed4856fd326d0..6b9c6274becdfbc3d4536f6b6721871aa353a9fc 100644 (file)
@@ -1,3 +1,4 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Hello World tutorial page
    This file is enumerated in the toctree of tutorial/index.rst
 
index 4a601e66cd75d237e063355e050b1a0b711a6f47..5c3b9efb28dbe0f9fec4c46beb2c808e2d792926 100644 (file)
@@ -1,9 +1,12 @@
+.. -*- compile-command: "make -C .. html" -*-
 .. Tutorial index
    This file is enumerated in the toctree directive of /index.rst
 
 Tutorial
 ########
 
+.. warning:: This tutorial is incomplete.
+
 .. toctree::
 
    hello