packages feed

sifflet 2.0.0.0 → 2.1.0

raw patch · 2 files changed

+11/−410 lines, 2 filesdep +directorydep +filepathdep +parsecdep ~basedep ~containersdep ~hxt

Dependencies added: directory, filepath, parsec

Dependency ranges changed: base, containers, hxt, sifflet-lib

Files

− ISSUES
@@ -1,403 +0,0 @@-ISSUES-======--Issues for sifflet and sifflet-lib--This is the ISSUES file for both sifflet and sifflet-lib.-If you are editing it, be sure you are editing the original-and not the copies in the app and lib subdirectories.--O = date opened-R = reporter-P = priority-C = closed--OPEN ISSUES--------------41  next issue bug number--40  Duplicate arguments in "Edit Arguments"--    Adding a duplicate argument in the "Edit Arguments" dialog-    is possible (for example, two arguments named "f").-    It should not be.-    O: 2012 July 2-    R: gdw-    P: medium--39  No lambda tool--    There is no lambda tool, and since partial application doesn't work-    (issue 32), this means there is no way to have a function return a function.-    O: 2012 jul 2-    R: gdw-    P: medium--38  Working directory--    Sifflet should have some sense of its working directory, -    for convenience of opening and saving files-    O: 2012 july 2-    R: gdw-    P: medium--37  Changing helper function definition does not affect displayed function call--    See f2 and testF2 in ../examples/map.sfl-    When testF2 is called on the workspace, and you edit and chagne f2,-    apply the new definition, the displayed call is not re-evaluated-    using the new definition.  In fact if you use the displayed-    testF2 frame to call again, it still uses the old definition ---    it seems permanently bound to it.  To use the new definition-    of f2, you have to place a new copy of testF2 on the workspace.--    O: 2012 Jun 27-    R: gdw-    P: low--36 Cascade effect of changing kind of arguments to a function.--   When we change the number of type (kind) of the arguments of-   a function, we also change the function's type (or kind); and if-   it's used in the definitions of other functions, then they may-   become invalid in turn -- what should be done in this case?-   O: 2012 Jun 27-   R: gdw-   P: medium--33  testMapSumFromZero (see ../examples/map.sfl)-    In testMapSumFromZero n, with n = [1,2],-    opening the sumFromZero node displays bogus error messages-    as though it is a call to sumFromZero with n = [1,2].-    In fact, the node has no input, so there is no call -    to sumFromZero until we get into map.-    The problem doesn't occur with recursive functions.-    It must be because the node has an inlet that expects n,-    and finds n in the enclosing environment although it is not called.-    O: 2012 June 22-    R: gdw-    P: low--32  Partial application does not work-    (e.g., calling the + function with one argument)-    Comment: See also #39.-    O: 2012 Jun 21-    R: gdw-    P: medium--31  Edit function inputs: when an argument tool is selected,-    and you change the arity of that argument, the next click-    of the tool puts the argument down on the canvas with its-    *old* arity; should be the new arity.-    Comment: A work-around is to reselect the tool to get the right arity.-    O: 2012 Jun 21-    R: gdw-    P: medium--26 EditArgsPanel: TAB fails to move the cursor to the next field.-   O: 2011 Jun 23-   R: gdw-   P: medium-high--25 Nodes lose unused inlets when applying a function definition.-   -   Suppose the f node has two inlets, but none of them are-   used by any f nodes in the definition.  Then when you apply the-   definition, all the f nodes lose both of their inlets.-   On the other hand, if one f node uses none of its two inlets-   and another uses both, then when you apply the definition,-   both of them keep both of their inlets.-   O: 2011 Jun 23-   R: gdw-   P: lowest.-   Comment:-      This seems not really to be a problem.  If NONE of the f nodes-      use their inlets, then why do they have inlets, anyway?-      Besides, it should become irrelevant when a new UI is-      developed without the circular inlets, as in issue 24.-   Comment: The inlets will reappear if you reopen the "inputs"-     dialog and then click "OK".--24 Arguments are shifted when applying a function definition.-   -   If a node has 3 inlets and connections on inlets 1 and 2,-   but not on 0, then when "apply" is clicked the connections are-   shifted to inlets 0 and 1, leaving 2 open.-   O: 2011 Jun 23-   R: gdw-   P: lowest.-      This should become irrelevant when and if I develop a new-      UI that does away with the circular inlets.  Why not just-      let the user make as many connections as they please?  And-      that would get rid of the need for a dialog that lets you-      change the number of inlets too.--23 typeToXml fails for (TypeCons Function)-   O: 2011 Jun 23-   R: gdw-   P: medium--22 When you connect an input to the second (or generally not first)-   input port of a node, and leave the first "open", then click on-   apply, the input is reconnected to the first port instead of the-   second.-   -- Is this actually a bug?  -   O: 2011 Jun 2-   R: gdw-   P: ???--14  If two frames overlap, then clicks on the top frame-    sometimes are interpreted as clicks on the lower (hidden) frame.-    O: 2010 aug 16-    P: low--13  If you change any of the *example* functions and quit or open,-    Sifflet prompts you to save changes, but it does not save-    these particular changes, since they are not in "My Functions".-    Probably need to re-design the whole organization of examples-    and my functions, introduce modules associated with files,-    and show each in its own panel.-    Opened 2010 May 27.-    Priority: low--11  When function f, which calls function g, is on the workspace,-    and you edit g, the changes do not propagate back to f, so that-    calling f results in calling the *old* g.-    Example: open test-champ.siff, place two-lovely on the workspace,-    call it with any argument, edit lovely, apply, call two-lovely-    again.-    Opened 2010 May 20.  -    Priority: medium--* * *--CLOSED ISSUES-----------------1  After using the literal tool, etc., the program stops responding-   to key presses in the workspace.-   Opened ??-   Closed 2009 Oct 5.--2  Fix resize frame-   Opened ??-   Closed 2009 Oct 13.--3  Quitting (q and File/quit) should actually quit!-   Opened ??-   Closed 2009 Oct 13.--4  vpTypeOf fails for [].-   Opened ??-   Closed 2009 Oct 30.--5  Deleting a node leaves its children orphans.-   Opened ??-   Closed 2009 Nov 4.--6  After closing "My functions" window and re-opening it,-   it should "remembers" the function tools that it had when closed,-   instead of showing up as a blank window.-   Opened ??-   Closed 2009 Nov 11--7  If function pad window is closed, then creating a -   new function results in a "key not found" error.-   Opened ??-   Closed 2010 March 1--8  Opening a file twice put duplicate tools in-   "My Functions" window (and toolkit, presumably).-   Opened ??-   Closed 2010 May 13--9  After the dialog suggesting save changes before quitting or-   opening a new file, the program crashes due to a bug in-   Gtk2hs 0.10.0 and 0.10.1 (but fixed in gtk2hs darcs).-   Opened ??-   Closed 2010 May 20.--10  Evaluating a call frame with zero arguments-    opens an unnecessary dialog (there are not arguments,-    so no values needed); moreover, it does not evaluate-    the function call.--15  In the test function list_of_2, evaluating [] results in-    "error: unbound variable: []".  Ditto repeat_a_b.-    O: 2010 aug 16-    P: high-    C: 2010 aug 16 -- fixed.--16  Editing a function, if you enter the literal ["a", "b"],-    the program crashes with this message:-    sifflet-new-expr: makeFixedLiteralTool: -    non-empty list expression EList [EString "a",EString "b"]-    O: 2010 aug 16-    P: high-    C: 2010 aug 16 -- fixed.---17  There is an error in reading a non-empty list element from-    a SiffML file, e.g., -          <literal>-            <list>-              <string>a</string>-              <string>b</string>-            </list>-          </literal>-    due to the fact that the children of the <list> element-    directly represent values, not expressions, so they are-    not read correctly (not read at all?) by xmlToExpr.-    I think I need to use xmlToValue here, but how to connect-    the two is not easy.-    In the long run, it is desirable to change the XML doctype,-    dropping the <literal> element so that strings would be-    e.g. just <string>a</string>-    and lists would be just e.g. -            <list>-              <string>a</string>-              <string>b</string>-            </list>-    O: 2010 aug 17-    P: highest-    C: 2010 aug 17 -- fixed.--19  Closing all program windows leaves executable still running-    but no way to kill it (Ctrl+C is a no-op).*-    O: 2010 nov 3-    R: Andrew Coppin andrewcoppin@btinternet.com-    P: HIGH-    C: 2010 dec 9 (actually fixed dec 3): closing the workspace window-       now "safely" quits from the application.--20  Amend documentation/home page to note that installation on-    Windows without curl is now definitely feasible-    O: 2010 nov 3-    R: Andrew Coppin andrewcoppin@btinternet.com-    P: medium-    C: 2010 dec 9 (actually fixed dec 3)--21  Define adds list =-      if null list-      then 0-      else if head list-           then + list 1-           else tail (head list)-    Call the function with list = [1]-    Sifflet crashes with this error message:-        evalTreeWithLimit (if): unexpected test result-    O: 2010 dec 9-    R: Charles Turner III (turnchan@iue.edu)-    P: high-    C: 2010 dec 9--29  typedValue (in Parser.hs) has two conditions that result in-    run-time errors.  For testing higher-order functions, it would-    be good to be able to type in the name of a function in the global-    environment, but we don't have access to the environment here,-    do we?  Also in case of failure, it should fail with an error-    message but not crash sifflet.-    O: 2012 Jun 15-    R: gdw-    P: high-       Crashes program.-    C: 2012 June 21 -- fixed.--30  typeToXml: program crashes when saving the map function definition,-    with message:-    sifflet-devel: typeToXml: TypeCons Function cannot be converted to XML.-    Notes: -    1.  typeToXml is fixed, but now I also need to fix the corresponding-        part of xmlToType so the file can be read back in.-    2.  Maybe better still:-        Why do we need the types in the XML file anyway, now that-        we have type inference?-    3.  Also revise schema/DTD for SiffML files.-    O: 2012 Jun 21-    R: gdw-    P: highest - program crash-    C: 2012 June 22, fixed.--28 EditArgsPanel should change inlets for existing nodes when the arg's-   kind is changed.-   -   Suppose you change the number of parameters for argument f.-       Then any existing f nodes on the drawing should have their-       number of inlets changed correspondingly.-       Currently this works if the number is increased, but-       fails if it is decreased and there are now too many-       connected children in the graph --> error in graphRenderTree.-       Unfortunately, this is not the place where that can be fixed:-       even if I reduce nto or nfrom in this context,-       there are still the contexts in the connected children to-       consider.-  -   Also, when extra inputs are disconnected (as they should be)-      they are sometimes also deleted from the canvas (shouldn't be).-   O: 2011 Jun 23-   R: gdw-   P: highest.  Crashes program.-   C: 2012 Jun 27, fixed.---18  Sifflet crashes when applying a function if some connections-    are missing.--    "PS. I presume you know that you can crash the whole of Sifflet by-    something as trivial as hitting the "apply" button when some-    connections are missing, and that closing all of the program windows-    leaves the executable still running but with no way to kill it. (I'm-    not sure why Ctrl+C is no-op...)"-    -- email from Andrew Coppin, 2010 Nov 01.--    O: 2010 nov 3-    R: Andrew Coppin andrewcoppin@btinternet.com-    P: HIGH-    C: 2012 Jun 27 -- unable to duplicate either part of this at this time;-       must have been fixed earlier.  Though it might be that the-       "no way to kill it" issue persists on MS Windows.--35  vcCloseFrame does not remove the frame's subgraph from the canvas graph.--    vcCloseFrame removes only the WFrame node, not the WSimple nodes-    displayed in the frame.  It should remove all of them, otherwise-    clutter builds up every time a function definition is applied,-    since the apply command calls vcCloseFrame and then vcAddFrame.-    O: 2012 Jun 27-    R: gdw-    P: high-    C: 2012 Jun 27 fixed.--12  Four tests fail in testall -u.-    These seem to all involve issues of text node size-    and are pretty minor, so maybe the tests need to be -    fine-tuned to allow for variations in what Cairo says-    is the text's dimensions.-    Opened 2010 May 24-    Priority: medium-    C: 2012 Jul 2, previously fixed but not closed; all unit tests now pass.--34  In edit function / edit arguments: the edit window sometimes-    does not sufficiently increase in size, -    so the edit arguments buttons (OK, cancel) -    are hidden by the edit function buttons (args, apply, inputs, close).-    Comment: see darcs change:-        Tue Jun  7 12:40:24 EDT 2011  gdweber@iue.edu-          * Crude window resizing to fit as the EditArgsPanel grows-          -   crude because it does not take into account the button bar-              below the panel-    Comment: duplicate of #27-    O: 2012 June 26-    R: gdw-    P: top-    C: 2012 jul 2, fixed--27 EditArgsPanel: window resizing is bad.-   -   Sometimes the window does not expand enough to show the -       panel's buttons.-   -   Sometimes it shrinks back too much after the panel is closed.-   -   Comment: lib/Graphics/UI/Sifflet/EditArgsPanel.hs-                                        Workspace.hs : 138-                                        -   O: 2011 Jun 23-   R: gdw-   P: top-    C: 2012 jul 2, fixed
sifflet.cabal view
@@ -1,5 +1,5 @@ name: sifflet-version: 2.0.0.0+version: 2.1.0 cabal-version: >= 1.8 build-type: Simple license: BSD3@@ -27,7 +27,7 @@ -- data-dir: directory -- extra-tmp-files: filename list -extra-source-files: README ISSUES RELEASE-NOTES+extra-source-files: README RELEASE-NOTES  flag no-link   description: Inhibit linking; just compile.@@ -37,18 +37,22 @@   main-is: sifflet.hs   other-modules: Options   build-depends: -    base >= 4.0 && < 4.6,-    -- begin GTK stuff, no longer needing exactly the same version numbers+    base >= 4.0 && < 4.8,+    -- begin GTK stuff, these no longer need to have the same version+    -- numbers     cairo >= 0.11 && < 0.13,     glib >= 0.11 && < 0.13,     gtk >= 0.11 && < 0.13,     -- end-    containers >= 0.2 && < 0.5,+    containers >= 0.2 && < 0.7,+    directory >= 1.0 && < 1.4,+    filepath >= 1.1 && < 1.4,     fgl >= 5.4 && < 5.5,-    hxt >= 9 && < 10.0,+    hxt >= 9.0 && < 10.0,     mtl >= 1.1 && < 2.2,+    parsec >= 2.1.0.1 && < 3.2,      process >= 1.0 && < 1.2,-    sifflet-lib >= 2.0 && < 2.1+    sifflet-lib >= 2.1 && < 2.2    if !os(windows)     build-depends: unix >= 2.3 && < 2.6