cabal-version: 1.18
name: WidgetRattus
version: 0.3
category: FRP
synopsis: An asynchronous modal FRP language for GUI programming
description:
This library implements an experimental variant of the Async Rattus
programming language that features extensions for implementing GUIs.
A comprehensive introduction can be found in this
<src/docs/paper.pdf paper>.
.
Several example GUIs implemented using Widget Rattus can be found
<https://github.com/pa-ba/AsyncRattus/tree/WidgetRattus/examples/gui here>.
homepage: https://github.com/pa-ba/AsyncRattus/tree/WidgetRattus
bug-reports: https://github.com/pa-ba/AsyncRattus/issues
License: BSD3
License-file: LICENSE
copyright: Copyright (C) 2024 Emil Houlborg, Gregers Rørdam, Patrick Bahr, Jean-Claude Sebastian Disch, Asger Lademark Heegaard
Author: Emil Houlborg, Gregers Rørdam, Patrick Bahr, Jean-Claude Sebastian Disch, Asger Lademark Heegaard
maintainer: Patrick Bahr <paba@itu.dk>
stability: experimental
build-type: Custom
extra-source-files: CHANGELOG.md
examples/gui/src/*.hs
extra-doc-files: docs/paper.pdf
custom-setup
setup-depends:
base >= 4.5 && < 5,
Cabal >= 1.18 && < 4
library
exposed-modules: WidgetRattus
WidgetRattus.Signal
WidgetRattus.Future
WidgetRattus.Strict
WidgetRattus.Plugin
WidgetRattus.Primitives
WidgetRattus.InternalPrimitives
WidgetRattus.Channels
WidgetRattus.Plugin.Annotation
WidgetRattus.Widgets
other-modules: WidgetRattus.Plugin.ScopeCheck
WidgetRattus.Plugin.SingleTick
WidgetRattus.Plugin.CheckClockCompatibility
WidgetRattus.Plugin.Strictify
WidgetRattus.Plugin.Utils
WidgetRattus.Plugin.Dependency
WidgetRattus.Plugin.StableSolver
WidgetRattus.Plugin.Transform
WidgetRattus.Plugin.PrimExpr
WidgetRattus.Widgets.InternalTypes
WidgetRattus.Derive
build-depends: base >=4.16 && <5,
containers >= 0.6.5 && < 0.8,
ghc >= 9.2 && < 9.7,
ghc-boot >= 9.2 && < 9.7,
hashtables >= 1.3.1 && < 1.4,
simple-affine-space >= 0.2.1 && < 0.3,
transformers >= 0.5.6 && < 0.7,
template-haskell >= 2.17 && < 2.23,
text >= 1.2 && < 3,
monomer >= 1.4 && < 2
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -W
Test-Suite ill-typed
type: exitcode-stdio-1.0
main-is: test/IllTyped.hs
default-language: Haskell2010
build-depends: WidgetRattus, base
ghc-options: -fplugin=WidgetRattus.Plugin
Test-Suite well-typed
type: exitcode-stdio-1.0
main-is: WellTyped.hs
hs-source-dirs: test
default-language: Haskell2010
build-depends: WidgetRattus, base, containers, text
ghc-options: -fplugin=WidgetRattus.Plugin