packages feed

Cabal revisions of Grow-1.1.0.3

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
--- content information-name:          Grow-category:      Build-synopsis:      A declarative make-like interpreter.-description:-  Grow is a well-defined replacement for Makefiles and the like to build complex-  hierarchies of files with minimal effort. -  .-  Like many Makefile-like tools, Grow depends on the notion of-  timestamps to determine whether a file should be recompiled or-  not. Grow is much simpler than those, though, and I might argue way-  easier to use as well.-  .-  On startup, Grow will look for a file named "Seed" in the current-  directory, and evaluate the grow expressions contained within.-  .-  For example, here is a simple Seed file to compile a single C file-  into an executable.-  .-  > tee $$arg:in {-  >   all = ($main:seq "All done !"):in $execs-  >   execs = hook ld [main] [main.o] :in $objects-  >   objects = hook cc [main.o] [main.c]-  > }-  .-  Notice the `hook` function ? It is the Grow primitive that calls an-  external program to perform actual tasks. -  .-  In Grow, hooks are expected to only accept files as their arguments,-  so we have to write the wrapper scripts `cc` and `ld` that accept-  arguments in the form "<destination>... <source>...". They are pretty-  trivial to write since they only involve renaming variables and-  swapping arguments.-  .-  Here are sample `cc` and `ld` scripts to show you there is nothing-  magical about them :-  .-  > #!/bin/bash-  > obj="$1" ; shift ; src="$1"-  > gcc -c "$src" -o "$obj"-  .-  > #!/bin/bash-  > bin="$1" ; shift ; obj="$1"-  > gcc "$obj" -o "$bin"-  .-  In grow, instead of writing recipes in the configuration, we just declare-  hooks and then write the appropriate wrapper scripts to call compilers with-  the correct flags and arguments.---- meta-information-author:        Marc Coiffier-maintainer:    marc.coiffier@gmail.com-version:       1.1.0.3-license:       OtherLicense-license-file:  LICENSE---- build information-build-type:    Simple-cabal-version: >=1.10--library-  exposed-modules: Grow Language.Grow Language.Syntax.Grow-  build-depends: base (== 4.6.*), definitive-base (== 1.2.*), containers (== 0.5.*), deepseq (== 1.3.*), array (== 0.5.*), bytestring (== 0.10.*), vector (== 0.10.*), primitive (== 0.5.*), definitive-parser (== 1.2.*), definitive-filesystem (== 1.2.*), definitive-reactive (== 1.0.*), clock (== 0.4.*), directory (== 1.2.*), filepath (== 1.3.*), time (== 1.4.*), old-locale (== 1.0.*), unix (== 2.7.*), process (== 1.2.*)-  default-extensions: RebindableSyntax NoMonomorphismRestriction GeneralizedNewtypeDeriving FlexibleInstances LambdaCase FlexibleContexts MultiParamTypeClasses ImplicitParams-  ghc-options: -  default-language: Haskell2010+-- content information
+name:          Grow
+category:      Build
+synopsis:      A declarative make-like interpreter.
+description:
+  Grow is a well-defined replacement for Makefiles and the like to build complex
+  hierarchies of files with minimal effort. 
+  .
+  Like many Makefile-like tools, Grow depends on the notion of
+  timestamps to determine whether a file should be recompiled or
+  not. Grow is much simpler than those, though, and I might argue way
+  easier to use as well.
+  .
+  On startup, Grow will look for a file named "Seed" in the current
+  directory, and evaluate the grow expressions contained within.
+  .
+  For example, here is a simple Seed file to compile a single C file
+  into an executable.
+  .
+  @
+  tee $$arg:in {
+  &#x20;  all = ($main:seq "All done !"):in $execs
+  &#x20;  execs = hook ld [main] [main.o] :in $objects
+  &#x20;  objects = hook cc [main.o] [main.c]
+  }
+  @
+  .
+  Notice the `hook` function ? It is the Grow primitive that calls an
+  external program to perform actual tasks. 
+  .
+  In Grow, hooks are expected to only accept files as their arguments,
+  so we have to write the wrapper scripts `cc` and `ld` that accept
+  arguments in the form "<destination>... <source>...". They are pretty
+  trivial to write since they only involve renaming variables and
+  swapping arguments.
+  .
+  Here are sample `cc` and `ld` scripts to show you there is nothing
+  magical about them :
+  .
+  > #!/bin/bash
+  > obj="$1" ; shift ; src="$1"
+  > gcc -c "$src" -o "$obj"
+  .
+  > #!/bin/bash
+  > bin="$1" ; shift ; obj="$1"
+  > gcc "$obj" -o "$bin"
+  .
+  In grow, instead of writing recipes in the configuration, we just declare
+  hooks and then write the appropriate wrapper scripts to call compilers with
+  the correct flags and arguments.
+
+-- meta-information
+author:        Marc Coiffier
+maintainer:    marc.coiffier@gmail.com
+version:       1.1.0.3
+x-revision: 1
+license:       OtherLicense
+license-file:  LICENSE
+
+-- build information
+build-type:    Simple
+cabal-version: >=1.10
+
+library
+  exposed-modules: Grow Language.Grow Language.Syntax.Grow
+  build-depends: base (== 4.6.*), definitive-base (== 1.2.*), containers (== 0.5.*), deepseq (== 1.3.*), array (== 0.5.*), bytestring (== 0.10.*), vector (== 0.10.*), primitive (== 0.5.*), definitive-parser (== 1.2.*), definitive-filesystem (== 1.2.*), definitive-reactive (== 1.0.*), clock (== 0.4.*), directory (== 1.2.*), filepath (== 1.3.*), time (== 1.4.*), old-locale (== 1.0.*), unix (== 2.7.*), process (== 1.2.*)
+  default-extensions: RebindableSyntax NoMonomorphismRestriction GeneralizedNewtypeDeriving FlexibleInstances LambdaCase FlexibleContexts MultiParamTypeClasses ImplicitParams
+  ghc-options: 
+  default-language: Haskell2010
revision 2
   For example, here is a simple Seed file to compile a single C file
   into an executable.
   .
-  @
-  tee $$arg:in {
-  &#x20;  all = ($main:seq "All done !"):in $execs
-  &#x20;  execs = hook ld [main] [main.o] :in $objects
-  &#x20;  objects = hook cc [main.o] [main.c]
+  > tee $$arg:in {
+  >   all = ($main:seq "All done !"):in $execs
+  >   execs = hook ld [main] [main.o] :in $objects
+  >   objects = hook cc [main.o] [main.c]
   }
-  @
   .
   Notice the `hook` function ? It is the Grow primitive that calls an
   external program to perform actual tasks. 
 author:        Marc Coiffier
 maintainer:    marc.coiffier@gmail.com
 version:       1.1.0.3
-x-revision: 1
+x-revision: 2
 license:       OtherLicense
 license-file:  LICENSE
 
revision 3
 name:          Grow
 category:      Build
 synopsis:      A declarative make-like interpreter.
+homepage:      http://coiffier.net/projects/grow.html
 description:
   Grow is a well-defined replacement for Makefiles and the like to build complex
   hierarchies of files with minimal effort. 
 author:        Marc Coiffier
 maintainer:    marc.coiffier@gmail.com
 version:       1.1.0.3
-x-revision: 2
+x-revision: 3
 license:       OtherLicense
 license-file:  LICENSE