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 +0/−403
- sifflet.cabal +11/−7
− 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