myxine-client-0.0.0.2: myxine-client.cabal
cabal-version: 2.4
name: myxine-client
version: 0.0.0.2
synopsis: A Haskell client for the Myxine GUI server
homepage: https://github.com/GaloisInc/myxine
bug-reports: https://github.com/GaloisInc/myxine/issues
license: MIT
license-file: LICENSE
author: Kenny Foner
maintainer: kwf@galois.com
copyright: Copyright (c) 2020 Galois, Inc.
category: GUI
stability: alpha
extra-source-files: CHANGELOG.md, enabled-events.json
description:
[Myxine](https://github.com/GaloisInc/myxine) is a language-agnostic local
server that lets you build interactive applications in the browser using a
RESTful API. This package defines high-level typed Haskell bindings for using
Myxine to quickly prototype surprisingly high-performance GUIs.
.
Myxine itself runs as a local server, separately from these bindings. It is
built in [Rust](https://www.rust-lang.org/learn/get-started), and can be
installed using the standard Rust build tool @cargo@:
.
> $ cargo install myxine
.
This Haskell package does __not__ manage the @myxine@ server process; it
assumes that it is already running in the background (either started by an
end-user, or managed by your own Haskell application).
.
__Required extensions:__ This library relies on the @OverloadedRecordFields@
language extension, since a variety of browser event interfaces share field
names/types. Without enabling it, you'll see many bewildering errors about
ambiguous names. You may also find useful for concision the extensions
@NamedFieldPuns@ and @RecordWildCards@.
.
__Package versioning and stability:__ This package should be considered in
"alpha" stability at present. No compatibility between alpha versions is
guaranteed.
common deps
build-depends: base >= 4.12.0.0 && <= 4.14.0.0,
req ^>= 3.1,
aeson ^>= 1.4,
text ^>= 1.2,
transformers ^>= 0.5,
bytestring ^>= 0.10,
unordered-containers ^>= 0.2,
dependent-map ^>= 0.3,
dependent-sum ^>= 0.6,
template-haskell >= 2.14.0.0 && <= 2.15.0.0,
hashable ^>= 1.3,
file-embed ^>= 0.0.11.1,
http-client ^>= 0.6,
http-types ^>= 0.12
common options
default-language: Haskell2010
ghc-options: -Wall
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wcompat
-Widentities
-Wredundant-constraints
-fhide-source-paths
-Wpartial-fields
default-extensions: BlockArguments,
DataKinds,
DeriveAnyClass,
DeriveGeneric,
DerivingStrategies,
DerivingVia,
DuplicateRecordFields,
EmptyCase,
GADTs,
GeneralizedNewtypeDeriving,
KindSignatures,
LambdaCase,
NamedFieldPuns,
OverloadedStrings,
RankNTypes,
ScopedTypeVariables,
StandaloneDeriving,
TemplateHaskell,
TupleSections,
TypeApplications,
ViewPatterns
library
import: deps, options
exposed-modules: Myxine
Myxine.Direct
other-modules: Myxine.Page
Myxine.Target
Myxine.Handlers
Myxine.Event
Myxine.Internal.EventStream
Myxine.Internal.TH
Paths_myxine_client
autogen-modules: Paths_myxine_client
hs-source-dirs: src
test-suite myxine-client-test
import: options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Test.hs
build-depends: myxine-client,
text,
bytestring