MyNixOS website logo
Description

Simple, visual, functional language for learning about recursion.

Sifflet is a visual, functional programming language. It is intended as an aid for learning about recursion. Sifflet users can make programs by drawing diagrams to connect functions and other units. Sifflet shows the intermediate steps of the computation on the diagram, and can expand function calls to show further details.

Sifflet -- README -- Sifflet

Rights

Copyright (C) 2010 Gregory D. Weber

BSD3 license -- see the file "LICENSE" for details

Installation

A. In a Cabal sandbox (bracketed parts are optional) (with the source distribution unpacked)

$ cabal sandbox init
$ cabal update

You will need this to build the Haskell gtk library if it is not already installed:

$ cabal install gtk2hs-buildtools

Continue:

$ cabal install --only-dependencies [--enable-tests]
$ cabal configure [--enable-tests]
$ cabal build [-j4]
$ cabal install

B. In a Cabal sandbox, directly installing from Hackage:

$ cabal sandbox init
$ cabal update
$ cabal install sifflet
  1. Configure, either for system-wide installation:

    $ runghc Setup configure

    or for installation in a user directory:

    $ runghc Setup configure --user --prefix=~/where/to/install/

  2. Build and install:

    $ runghc Setup build $ runghc Setup install

Documentation

Please see the Sifflet home page for documentation:

http://mypage.iu.edu/~gdweber/software/sifflet/

and especially the tutorial:

http://mypage.iu.edu/~gdweber/software/sifflet/doc/tutorial.html.

Metadata

Version

2.3.0

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows