gdweber | 6 Jul 2012 04:35
Favicon
Gravatar

ANNOUNCE: Sifflet visual programming language, release 2.0.0.0

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.)

(Continue reading)

Henning Thielemann | 7 Jul 2012 09:58
Picon

Re: [Haskell] ANNOUNCE: Sifflet visual programming language, release 2.0.0.0


On Thu, 5 Jul 2012, gdweber <at> iue.edu wrote:

> 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.

You have implemented your own type-checker, right? I plan to add a 
type-checker to our live-sequencer project. [1] So far I have thought 
about using the Helium type checker but I have not done it so far. If you 
want to make your type-checker useful for other projects, you may put it 
into a separate package without the hard to install dependencies on cairo 
and glib.

[1] http://www.youtube.com/watch?v=sXywCHR9WwE
gdweber | 9 Jul 2012 18:51
Favicon
Gravatar

Sifflet type checker [from Re: [Haskell] ANNOUNCE: Sifflet visual programming language, release 2.0.0.0]

On 2012-Jul-07, Henning Thielemann wrote:
> 
> On Thu, 5 Jul 2012, gdweber <at> iue.edu wrote:
> 
> >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.
> 
> You have implemented your own type-checker, right?

It is my code implementing the type checker from Simon Peyton-Jones's
book "The Implementation of Functional Programming Languages" (1987).

> I plan to add a
> type-checker to our live-sequencer project. [1] So far I have
> thought about using the Helium type checker but I have not done it
> so far. If you want to make your type-checker useful for other
> projects, you may put it into a separate package without the hard to
> install dependencies on cairo and glib.
> 

I am very interested in receiving suggestions for modularizing
my packages, and I thank you for this one.

I should point out that the Sifflet type checker (unlike Helium's)
is not a type checker for Haskell, or even a reduced version of Haskell,
but for a very small language consisting of these expressions 
(Continue reading)

Henning Thielemann | 9 Jul 2012 20:34
Picon

Re: Sifflet type checker


On Mon, 9 Jul 2012, gdweber <at> iue.edu wrote:

> data Type = TypeVar TypeVarName          -- named type variable
>          | TypeCons TypeConsName [Type] -- constructed type
>            deriving (Eq)
>
> Do you still think my type checker would be useful to you,
> or to Haskellers generally?

I see. Then it is probably not very useful for me. :-(

>> [1] http://www.youtube.com/watch?v=sXywCHR9WwE
>
> Ah, I enjoyed the performance!

Nice to hear that you like it!

Gmane