-
Notifications
You must be signed in to change notification settings - Fork 11
/
package.yaml
138 lines (88 loc) · 3.11 KB
/
package.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
name: auto
version: '0.4.3.1'
synopsis: Denotative, locally stateful programming DSL & platform
description: ! '(Up to date documentation is maintained at
<https://mstksg.github.com/auto>)
Read the README first!
<https://github.com/mstksg/auto/blob/master/README.md>
, for motivating examples, and concrete explanations of
things described here.
/auto/ is a Haskell DSL and platform providing
declarative, compositional, denotative semantics for
discrete-step, locally stateful, interactive programs,
games, and automations, with implicitly derived
serialization. It is suited for any domain where either
the input or the output can be described as a stream of
values: a stream of input events, output views, etc.
/auto/ works by providing a type that encapsulates
"value stream transformers", or locally stateful
functions; by specifying your program as a (potentially
cyclic) graph of relationships between value streams, you
create a way of "declaring" a system based simply on
static relationships between quantities.
Instead of a "state monad" type solution, where all
functions have access to a rigid global state, /auto/
works by specifying relationships which each exist
independently and on their own, without any global state.
A more fuller exposition is in the `README.md`, in this
project directory and also online at
<https://github.com/mstksg/auto/blob/master/README.md>;
you can get started by reading the tutorial, which is
also in this project directory in the `tutorial`
directory, and also incidentally online at
<https://github.com/mstksg/auto/blob/master/tutorial/tutorial.md>.
Also, check out the
<https://github.com/mstksg/auto-examples auto-examples>
repository on github for plenty of real-world and toy
examples to learn from; I''ve also done a
<http://blog.jle.im/entries/series/+all-about-auto blog series>
on this library, with examples and full tutorials!
Support available on freenode''s #haskell-auto,
#haskell-game, and also on the github issue
tracker for the source repository.
Import "Control.Auto" to begin!'
category: Control
author: Justin Le
maintainer: [email protected]
copyright: (c) Justin Le 2015
license: MIT
homepage: https://github.com/mstksg/auto
git: git://github.com/mstksg/auto.git
bug-reports: https://github.com/mstksg/auto/issues
tested-with: GHC >= 8.0
extra-source-files:
- README.md
- CHANGELOG.md
- tutorial/tutorial.md
- stack.yaml
- .gitignore
dependencies:
- base >=4.6 && <5
- MonadRandom >=0.3.0.1
- base-orphans >=0.3.1
- bytestring >=0.10.4.0
- cereal >=0.4.1.1
- containers >=0.5
- deepseq >=1.3.0
- profunctors >=4.3
- random >=1.1
- semigroups >=0.16
- transformers >=0.4.2.0
library:
source-dirs: src
ghc-options: -Wall
exposed-modules:
- Control.Auto
- Control.Auto.Blip
- Control.Auto.Blip.Internal
- Control.Auto.Collection
- Control.Auto.Core
- Control.Auto.Effects
- Control.Auto.Generate
- Control.Auto.Interval
- Control.Auto.Process
- Control.Auto.Process.Random
- Control.Auto.Run
- Control.Auto.Serialize
- Control.Auto.Switch
- Control.Auto.Time