sifflet-2.0.0.0: RELEASE-NOTES
% RELEASE NOTES
Release notes for sifflet and sifflet-lib
This is the RELEASE-NOTES 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.
Release 2.0.0.0, 2012 July 5
----------------------------
- Reorganized hierarchical modules to conform to
http://www.haskell.org/haskellwiki/Hierarchical_module_names
- Sifflet.Data.X is now Data.Sifflet.X
for X in [Functoid, Geometry, Tree, TreeGraph,
TreeLayout, WGraph]
- Sifflet.Foreign.X is now Language.Sifflet.Export.X
for X in [Exporter, Haskell, Python, ToHaskell, ToPython, ToScheme]
- Sifflet.Language.X is now Language.Sifflet.X
for X in [Expr, Parser, SiffML]
- Sifflet.Rendering.X is now Graphics.Rendering.Sifflet.X
for X in [Draw, DrawTreeGraph]
- Sifflet.Text.X is now Text.Sifflet.X
for X in [Pretty, Repr]
- Sifflet.UI.X is now Graphics.UI.Sifflet.X
for X in [Callback, Canvas, Frame, GtkForeign, GtkUtil, LittleGtk,
RPanel, Tool, Types, Window, Workspace]
- Sifflet.UI is now Graphics.UI.Sifflet
- Sifflet.Util is now Language.Sifflet.Util, and
Sifflet.Examples is now Language.Sifflet.Examples.
(not clear that this is really the best place for it;
maybe it hsould be split into pieces, such as
Control.Monad.SuccFail, ...)
- Sifflet.Examples is now Language.Sifflet.Examples.
- File menu command to save the image of the Workspace or any
open editor window, in SVG, PS, or PDF format.
- Implemented type checking with type inference.
Type inference can be used for export to languages
that require type declarations.
Type checking error messages are *not* friendly
for novice programmers; this needs improvement.
- Editing a function can now change its type.
- It is now possible to change the arguments of a function
(add, rename, or remove arguments, or for functional
arguments, change the kind or arity).
- Bug fixes:
- Fixed bug where the program crashed from incomplete 'if' trees
- Various small bug fixes.
- Added RELAX NG schema for siffml version 2.0 (in datafiles).
This is an upwards-compatible extension of siffml 1.0,
which adds FunctionType to the alternatives for SiffletType.
- Added RELAX NG schema for siffml version 1.0 (in datafiles)
Release 1.2.5.1, 2012 Jun 14 (or later)
---------------------------------------
- Compatibility with mtl 2.1.1
Release 1.2.5, 2012 Jun 1
-------------------------
- Compatibility with GHC 7.4.1
Release 1.2.4, 2011 Mar 18
--------------------------
- Compatibility with HXT > 9.0
Release 1.2.3, 2011 Feb 18
--------------------------
- Compatibility with GHC 7 and Haskell Platform 2011.2
Release 1.2.2, 2010 Dec 3
-------------------------
- Offers to save changes before quitting
Release 1.2.1, 2010 Nov 19
--------------------------
- Compatibility with Haskell GTK packages 0.12
Release 1.2, 2010 Oct 30
------------------------
- Requires HXT 9.0
- Avoids indirect dependency on curl
Release 1.1, 2010 Aug 24
------------------------
- Improved Haskell exporter now removes most unnecessary
parentheses.
- Exported Haskell code now uses the module Data.Number.Sifflet,
formerly Sifflet.Data.Number.
- Sifflet now builds with slightly newer versions of the
Haskell "Gtk2hs" libraries (cairo, gtk, glib),
should work for versions >= 0.11.0 and < 0.12.
Release 1.0, 2010 Aug 11
------------------------
- Sifflet now has exporters to Scheme, Python, and Haskell and a small
supporting "library" for each of those languages.
This is intended for beginning students who are learning these
languages, not for "industrial-strength" code production.
- Although the exporters apparently generate correct code,
there are at present too many parentheses -- a few extra in Python,
many extra in Haskell; no extra parentheses in Scheme, of course.
- Sifflet has a new number type, Sifflet.Data.Number.Number, which allows
numbers to be exact or inexact, almost as in Scheme.
Originally intended for the Scheme exporter, it is now
also used internally by Sifflet's interpreter.
- The code is reorganized. There is now a separate library package,
sifflet-lib, in addition to the sifflet package which provides
only the executable. At present, the library's API is highly
unstable.
- Sifflet has a new parser for user inputs, made with Parsec,
allowing more intuitive input
of numbers (liberation from Haskell number syntax:
for example, 0.0 can now be entered as 0.0, 0., or .0)
and providing more intelligible error messages
for some kinds of invalid input.
- Sifflet requires Gtk2hs packages (gtk, glib, cairo) version 0.11;
support for the 0.10 Gtk2hs packages is dropped.
Release 0.1.7, 2010 June 10
---------------------------
- Tightened upper bounds on package dependency versions, in anticipation of
incompatible changes in the fgl API.
- No bug fixes or new features.
- Users who are staying with fgl == 5.4.2.2 will not benefit from upgrading
to Sifflet 0.1.7.
Release 0.1.6, 2010 May 27
--------------------------
- Sifflet offers to save your work if you give the quit or
open file command and have unsaved changes.
- Sifflet now builds with Gtk2hs 0.11.
- Some bug fixes and improved error checking.
Release 0.1.5, 2010 May 13
--------------------------
First public release.