Yet another Grapefruit update

Today, I updated the Grapefruit FRP library once again. The main improvements are as follows:

  • Grapefruit is now compatible with GHC 8.0.1.

  • The GTK+ UI backend of Grapefruit uses GTK+ 3 now.

The new Grapefruit version is To install or update, you can use the following commands:

cabal update
cabal install grapefruit-ui-gtk grapefruit-examples

As I wrote earlier, Grapefruit 0.1 is actually a phase-out model, which I only update to work with newer GHC and library versions. Starting from March, I will work again on the new Grapefruit, which will be based on my research about FRP semantics. I expect that this new theoretical foundation will lead to a more powerful library with a more sensible interface.

6 thoughts on “Yet another Grapefruit update

  1. Tristan Wibberley

    FYI doesn’t install on Ubuntu 16.10:

    [ 5 of 12] Compiling Internal.UICircuit ( src/Internal/UICircuit.hs, dist/build/Internal/UICircuit.o )
        No instance for (ArrowAddReader
                           (Placement item uiBackend)
                           (ReaderArrow (Placement item uiBackend) (Circuit era))
                           (Circuit era))
          arising from a use of ‘liftReader’
        In the first argument of ‘(>>>)’, namely ‘liftReader’
        In the expression: liftReader >>> UICircuit
        In an equation for ‘fromCircuit’:
            fromCircuit = liftReader >>> UICircuit
    cabal: Error: some packages failed to install:
    grapefruit-examples- depends on grapefruit-ui- which failed to install.
    grapefruit-ui- failed during the building phase. The exception was:
    ExitFailure 1
    grapefruit-ui-gtk- depends on grapefruit-ui- which failed to install.


    1. Tristan Wibberley

      Similar error installing from cabal in fedora (freshly downloaded and installed today).

      So I thought I’d get the source and see if I could fix it but I get this problem when running the command from

      darcs get --tag grapefruit-
      Copying patches, to get lazy repository hit ctrl-C... 
      Going to specified version...                         
      darcs: Couldn't find a tag matching "tag-name grapefruit-"


    2. Wolfgang Jeltsch Post author

      I had a report about exactly this problem a few weeks ago. It was and still is a bit of a mystery for me where this problem comes from. The person who reported this issue eventually used GHC 8.0.1. If this is an option for you, you can give this a try.

      I will look into this issue to see whether I can solve it. I am using Ubuntu 16.04, which also contains version 7.10.3 of GHC, but usually I use GHC 8.0.1 installed outside the Ubuntu package system.


      1. Wolfgang Jeltsch Post author

        Apparently, GHC 7.10.3 has a bug that results in an ArrowAddReader instantiation not being found. I have added a workaround, so that Grapefruit can also be built with GHC 7.10.3 now. The updated version is available in the repository and on the HackageDB under version number


  2. Pingback: Grapefruit now compatible with GHC 7.10.3 | Wolfgang Jeltsch

When replying to another comment, please press that comment’s “Reply” button.

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s