ANNOUNCE: Sifflet visual programming language, release 1.0!

Sifflet 1.0 is now available on Hackage. Sifflet is a visual, functional programming language and support system for students learning about recursion. Sifflet programmers define functions by drawing diagrams, and the Sifflet interpreter uses diagrams to show how the function calls are evaluated. New in This Release ------------------- - Sifflet now has exporters to Scheme, Python, and Haskell and a small supporting "library" for each of those languages. (These exporters are 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 extras in Python, many extras 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. 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. - A carefully crafted tutorial with 31 pictures and about as many pages. - Number, string, and list data types. - A small collection of primitive functions. - Runnable examples of compound functions. - (New!) Sifflet functions can be "exported" to Scheme, Python 3, and Haskell. * 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 * Tutorial: http://mypage.iu.edu/~gdweber/software/sifflet/doc/tutorial.html -- ___ ___ __ _ / _ \ / _ \| | | | Gregory D. Weber, Associate Professor / /_\// / | | | /\ | | Indiana University East / /_\\/ /__| | |/ \| | http://mypage.iu.edu/~gdweber/ \____/\_____/\___/\__/ Tel. (765) 973-8420; FAX (765) 973-8550

gdweber@iue.edu wrote:
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
This looks extremely cool. Hopefully I'll be able to test this out a bit later (assuming it works on Windows)...
participants (2)
-
Andrew Coppin
-
gdweber@iue.edu