<feed xmlns='http://www.w3.org/2005/Atom'>
<title>propellor/src/Propellor/EnsureProperty.hs, branch master</title>
<subtitle>gnusosa's centralized propellor repository for hosts spin-up.
</subtitle>
<id>https://git.gnusosa.net/propellor/atom?h=master</id>
<link rel='self' href='https://git.gnusosa.net/propellor/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/'/>
<updated>2018-05-18T14:40:13Z</updated>
<entry>
<title>modernized and simplified the MetaTypes implementation</title>
<updated>2018-05-18T14:40:13Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2018-05-18T14:31:18Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=13beb3a02e5c59eb8c2c481f79535fb4469392d3'/>
<id>urn:sha1:13beb3a02e5c59eb8c2c481f79535fb4469392d3</id>
<content type='text'>
now that compatability with ghc 7 is no longer needed.

Data.Type.Bool contains effectively the same stuff that was implemented
here, so removed my code.

Tried to use Data.Type.Equality instead of my EqT, but it seems to be some
other type of (type level) equality, and didn't compile. Instead went with
the simpler EqT implementation that newer ghc versions allow.

The rest of the changes are simply better syntax for defining type
families.

And upon using that syntax, ghc noticed that `type family a + b`
does not have kind "ab" like I wrote before, but is kind *.

Tested on debian stable with ghc 8.0.1.

This commit was sponsored by John Pellman on Patreon.
</content>
</entry>
<entry>
<title>add Propellor.Property.Atomic</title>
<updated>2018-02-11T18:35:58Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2018-02-11T18:35:58Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=053e6d7495c3b44051074472713206ed0d3ce816'/>
<id>urn:sha1:053e6d7495c3b44051074472713206ed0d3ce816</id>
<content type='text'>
Added Propellor.Property.Atomic, which can make a non-atomic property
that operates on a directory into an atomic property.

Also has a generic version that could be used for things other than
directories that can be updated atomically.

(Inspired by Vaibhav Sagar's talk on Functional Devops in a
Dysfunctional World at LCA 2018.)

This commit was sponsored by Fernando Jimenez on Patreon.
</content>
</entry>
<entry>
<title>Fix build with pre-AMP ghc.</title>
<updated>2017-03-19T00:13:46Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-03-19T00:13:46Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=18344c44c4e91a9dfd8ce6aebc3821c460cdfec9'/>
<id>urn:sha1:18344c44c4e91a9dfd8ce6aebc3821c460cdfec9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Property types changed to use a Maybe (Propellor Result). (API change)</title>
<updated>2017-03-15T18:09:07Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2017-03-15T18:09:07Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=52ca81661f156122a3a5d4a438fea83e067215ac'/>
<id>urn:sha1:52ca81661f156122a3a5d4a438fea83e067215ac</id>
<content type='text'>
* Property types changed to use a Maybe (Propellor Result). (API change)
* When Nothing needs to be done to ensure a property, propellor
  will avoid displaying its description at all. The doNothing property
  is an example of such a property.

This is mostly in preparation for Monoid instances for Property types, but
is's also nice that anything that uses doNothing will avoid printing out
any message at all. At least, I think it probably is. It might potentially
be confusing for something that sometimes takes an action and sometimes
resolves to doNothing and in either case has a description set to not
always show the description. If this did turn out to be confusing, the
change to doNothing could be reverted.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
</content>
</entry>
<entry>
<title>turn off redundant constraints warnings in cabal file</title>
<updated>2016-11-11T21:42:43Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2016-11-11T21:40:32Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=b1038365960693a013d7026f25d026a1fd098062'/>
<id>urn:sha1:b1038365960693a013d7026f25d026a1fd098062</id>
<content type='text'>
ghc 7 does not support  -fno-warn-redundant-constraints so this can't be
done on a per-module basis.

It would be good to revert this commit when dropping support for ghc 7.
</content>
</entry>
<entry>
<title>Clean up build warnings about redundant constraints when built with ghc 8.0.</title>
<updated>2016-11-11T21:29:25Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2016-11-11T21:29:11Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=c0d0e57257fe8dee1f9d37a6d49b6322af985a69'/>
<id>urn:sha1:c0d0e57257fe8dee1f9d37a6d49b6322af985a69</id>
<content type='text'>
Only a couple of the constraints were really redundant. The rest are
essential to propellor's tracking of Info propigation, so I silenced the
warning for those.

It would be better to only silence the warning for the functions with the
extra constraints, but IIRC warnings can only be silenced on an entire file
basis.

This commit was sponsored by Andreas on Patreon.
</content>
</entry>
<entry>
<title>include description in example</title>
<updated>2016-06-02T21:20:51Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2016-06-02T21:20:51Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=65a7716a93960ea1418927bd9d4df22ad8fb9e21'/>
<id>urn:sha1:65a7716a93960ea1418927bd9d4df22ad8fb9e21</id>
<content type='text'>
</content>
</entry>
<entry>
<title>improve haddocks and move code around to make them more clear</title>
<updated>2016-03-27T23:59:20Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2016-03-27T23:59:20Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=9d6dc29555b8499d8ae6c73c891b0b5dc19f83e5'/>
<id>urn:sha1:9d6dc29555b8499d8ae6c73c891b0b5dc19f83e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>old ghc fix</title>
<updated>2016-03-27T01:52:11Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2016-03-27T01:52:11Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=3deb3a622eec5e12dfaee320faaeb12c70f9c8d0'/>
<id>urn:sha1:3deb3a622eec5e12dfaee320faaeb12c70f9c8d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cleanup warnings</title>
<updated>2016-03-25T21:36:52Z</updated>
<author>
<name>Joey Hess</name>
<email>joeyh@joeyh.name</email>
</author>
<published>2016-03-25T21:36:52Z</published>
<link rel='alternate' type='text/html' href='https://git.gnusosa.net/propellor/commit/?id=860d1dd77e1789a91ed61bdceab667d94c9bd345'/>
<id>urn:sha1:860d1dd77e1789a91ed61bdceab667d94c9bd345</id>
<content type='text'>
</content>
</entry>
</feed>
