Cabal revisions of context-free-art-0.2.0.1
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-cabal-version: 2.4--- Initial package description 'context-free-art.cabal' generated by 'cabal--- init'. For further documentation, see--- http://haskell.org/cabal/users-guide/--name: context-free-art-version: 0.2.0.1-synopsis: Generate art from context-free grammars-description:- .- Create art via context free grammar production rules.- .- == Context free grammar primer- .- Context free grammars consist of a set of terminal symbols, a set of- non-terminal symbols, and production rules that map non-terminals to- other symbols.- .- With a context-free grammar, we can generate strings of terminals that- conform to the specified language.- .- Our language will describe graphics.- .- == Example- .- > import Art.ContextFree- > import Data.List.NonEmpty- >- > -- Let's define a Production rule- > a = Circle 1- >- > -- This will produce an IO Svg from the blaze-svg package- > -- to turn it into a string we can use one of the `blaze-svg` renderers- > graphic1 = interpret $ Circle 1- >- > -- Let's create a non-terminal.- > -- At every layer, this will have an 85% chance- > -- of rendering another circle- > a = Mod [Move (2, 0)] b- > b = NonTerminal $ (85, c) :| []- > c = NonTerminal $ (100, Circle 1) :| [(100, a)]--homepage: https://github.com/414owen/context-free-art--- bug-reports:-license: BSD-3-Clause-license-file: LICENSE-author: Owen Shepherd-maintainer: 414owen@gmail.com--- copyright:-category: Graphics-extra-source-files: CHANGELOG.md--executable tests- main-is: Tests.hs- other-modules: Art.Interpreter- , Art.Geometry- , Art.Grammar- , Art.Util- build-depends: base ^>= 4.12.0.0- , blaze-svg ^>= 0.3.6- , random ^>= 1.1- , blaze-markup- , bifunctors ^>= 5.5- , text-show ^>= 3.8- , text ^>= 1.2- , HUnit ^>= 1.6- default-language: Haskell2010--library- exposed-modules: Art.ContextFree- other-modules: Art.Geometry- , Art.Util- , Art.Interpreter- , Art.Grammar- build-depends: base ^>= 4.12.0.0- , blaze-svg ^>= 0.3.6- , random ^>= 1.1- , blaze-markup- , bifunctors ^>= 5.5- , text-show ^>= 3.8- , text ^>= 1.2- default-language: Haskell2010+cabal-version: 2.4 +-- Initial package description 'context-free-art.cabal' generated by 'cabal +-- init'. For further documentation, see +-- http://haskell.org/cabal/users-guide/ + +name: context-free-art +version: 0.2.0.1 +x-revision: 1 +synopsis: Generate art from context-free grammars +description: + . + Create art via context free grammar production rules. + . + == Context free grammar primer + . + Context free grammars consist of a set of terminal symbols, a set of + non-terminal symbols, and production rules that map non-terminals to + other symbols. + . + With a context-free grammar, we can generate strings of terminals that + conform to the specified language. + . + Our language will describe graphics. + . + == Example + . + > import Art.ContextFree + > import Data.List.NonEmpty + > + > -- Let's define a Production rule + > a = Circle 1 + > + > -- This will produce an IO Svg from the blaze-svg package + > -- to turn it into a string we can use one of the `blaze-svg` renderers + > graphic1 = interpret $ Circle 1 + > + > -- Let's create a non-terminal. + > -- At every layer, this will have an 85% chance + > -- of rendering another circle + > a = Mod [Move (2, 0)] b + > b = NonTerminal $ (85, c) :| [] + > c = NonTerminal $ (100, Circle 1) :| [(100, a)] + +homepage: https://github.com/414owen/context-free-art +-- bug-reports: +license: BSD-3-Clause +license-file: LICENSE +author: Owen Shepherd +maintainer: 414owen@gmail.com +-- copyright: +category: Graphics +extra-source-files: CHANGELOG.md + +executable tests + main-is: Tests.hs + other-modules: Art.Interpreter + , Art.Geometry + , Art.Grammar + , Art.Util + build-depends: base >= 4.12 && < 5 + , blaze-svg >= 0.3.6 + , random >= 1.1 + , blaze-markup + , bifunctors >= 5.5 + , text-show >= 3.8 + , text >= 1.2 + , HUnit >= 1.6 + default-language: Haskell2010 + +library + exposed-modules: Art.ContextFree + other-modules: Art.Geometry + , Art.Util + , Art.Interpreter + , Art.Grammar + build-depends: base >= 4.12.0.0 && < 5 + , blaze-svg >= 0.3.6 + , random >= 1.1 + , blaze-markup + , bifunctors >= 5.5 + , text-show >= 3.8 + , text >= 1.2 + default-language: Haskell2010
revision 2
name: context-free-art version: 0.2.0.1 -x-revision: 1 +x-revision: 2 synopsis: Generate art from context-free grammars description: . > -- to turn it into a string we can use one of the `blaze-svg` renderers > graphic1 = interpret $ Circle 1 > - > -- Let's create a non-terminal. - > -- At every layer, this will have an 85% chance - > -- of rendering another circle - > a = Mod [Move (2, 0)] b - > b = NonTerminal $ (85, c) :| [] - > c = NonTerminal $ (100, Circle 1) :| [(100, a)] + > -- let's create a non-terminal, 'a', which renders a terminal, 'Circle 1' + > -- and has an 85% chance of rendering another circle, placed to its right + > a = NonTerminal $ (100, Circle 1) :| [(85, b)] + > b = Mod [Move (2, 0)] a + homepage: https://github.com/414owen/context-free-art -- bug-reports:
revision 3
name: context-free-art version: 0.2.0.1 -x-revision: 2 +x-revision: 3 synopsis: Generate art from context-free grammars description: . > graphic1 = interpret $ Circle 1 > > -- let's create a non-terminal, 'a', which renders a terminal, 'Circle 1' - > -- and has an 85% chance of rendering another circle, placed to its right + > -- and has an 85% chance of rendering itself, placed to its right > a = NonTerminal $ (100, Circle 1) :| [(85, b)] > b = Mod [Move (2, 0)] a