[Haskell-cafe] ANNOUNCE: Sifflet visual programming language, release 2.0.0.0
gdweber at iue.edu
gdweber at iue.edu
Fri Jul 6 04:35:43 CEST 2012
I don't usually get this excited about a release, but after
nearly a year of not being able to do any work on Sifflet, I am now
*Extremely Happy* to announce --
Sifflet and sifflet-lib 2.0.0.0, now available on Hackage!
This version introduces a type checker and partial support
for higher order functions in Sifflet, the visual, functional
programming language and support system for students learning
about recursion. Sifflet programmers define functions by drawing
diagrams, and the Sifflet interpreter uses the diagrams to show how
function calls are evaluated.
Sifflet-lib is the library containing many modules of the Sifflet
application.
What's New
----------
July 5, 2012, Version 2.0.0.0:
* Partial support for higher order functions, like map and filter.
See Lesson 10 in the Sifflet Tutorial.
* Sifflet now provides type checking and type inference.
This should make it possible to provide exporters to
languages, like Java, that require type declarations.
(Unfortunately, the error messages for incorrectly typed
functions are not yet friendly for novice programmers.)
* Added a menu command (File / Save image ...) to save
vector graphic images of functions in the Sifflet Workspace
or Edit function windows. Images can be saved in SVG,
Postscript, and PDF formats.
* Reorganized hierarchical modules in the library
to conform to the recommended practice. See the
RELEASE-NOTES for details.
* Several bugs are fixed, including one which crashed
Sifflet when applying a function definition with an
incomplete `if` tree. See ISSUES for details.
* There is a new file format for saving function definitions
to support higher-order function types. The new format,
siffml 2.0, has a RELAX NG schema; siffml 1.0 files can
still be opened in Sifflet 2.0.
About Sifflet
-------------
Sifflet is a visual, functional programming language
intended as an aid for learning about recursion.
* A picture explains Sifflet better than words:
please see the screenshot showing how to evaluate 3!:
http://mypage.iu.edu/~gdweber/software/sifflet/home.html
* Features:
- Visual editor.
- Visual tracer/debugger which shows how recursive and
other function calls are evaluated. To support active learning
and avoid screen clutter, Sifflet displays only
as much of the computation as the user requests.
- Carefully crafted tutorial with 44 pictures,
about 26 pages if printed.
- Number, string, and list data types.
- Small collection of primitive functions.
- Runnable examples of compound functions.
- Sifflet functions can be exported to Scheme, Python 3, and Haskell.
References
----------
* Download:
http://hackage.haskell.org/package/sifflet-lib
http://hackage.haskell.org/package/sifflet
* Home page:
http://mypage.iu.edu/~gdweber/software/sifflet/home.html
* Sifflet Tutorial:
http://mypage.iu.edu/~gdweber/software/sifflet/doc/tutorial.html
* RELEASE-NOTES:
http://mypage.iu.edu/~gdweber/software/sifflet/RELEASE-NOTES
* ISSUES:
http://mypage.iu.edu/~gdweber/software/sifflet/ISSUES
------------------------------------------------------------------------
--
Gregory D. Weber, Ph. D. :
Associate Professor of Informatics / \
Indiana University East 0 :
Tel. (765) 973-8420; FAX (765) 973-8550 / \
http://mypage.iu.edu/~gdweber/ 1 []
More information about the Haskell-Cafe
mailing list