<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Grammar/Lockfield.hs, branch optimize</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.adelon.net/gf-core.git/atom?h=optimize</id>
<link rel='self' href='https://git.adelon.net/gf-core.git/atom?h=optimize'/>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/'/>
<updated>2013-11-20T00:45:33+00:00</updated>
<entry>
<title>Reduced clutter in monadic code</title>
<updated>2013-11-20T00:45:33+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-11-20T00:45:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=018c9838ed31571b699118ae75b1d62d5527fd77'/>
<id>urn:sha1:018c9838ed31571b699118ae75b1d62d5527fd77</id>
<content type='text'>
+ Eliminated vairous ad-hoc coersion functions between specific monads 
  (IO, Err, IOE, Check) in favor of more general lifting functions
  (liftIO, liftErr).
+ Generalized many basic monadic operations from specific monads to
  arbitrary monads in the appropriate class (MonadIO and/or ErrorMonad),
  thereby completely eliminating the need for lifting functions in lots
  of places.

This can be considered a small step forward towards a cleaner
compiler API and more malleable compiler code in general.
</content>
</entry>
<entry>
<title>Introduce type RawIdent; only 9 imports of Data.ByteString.Char8 remain</title>
<updated>2013-09-19T20:48:10+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-09-19T20:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=021b5f06d3900fe2b10d5d3ccf6ac286a779ef16'/>
<id>urn:sha1:021b5f06d3900fe2b10d5d3ccf6ac286a779ef16</id>
<content type='text'>
The fact that identifiers are represented as ByteStrings is now an internal
implentation detail in module GF.Infra.Ident. Conversion between ByteString
and identifiers is only needed in the lexer and the Binary instances.
</content>
</entry>
<entry>
<title>GF.Grammar.*: generalized the type of some functions that can not fail from the Err monad to arbitrary monads</title>
<updated>2011-09-01T16:35:53+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2011-09-01T16:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=bfe4b0b2a4e5b761b287f9110e19af5b9430dbbb'/>
<id>urn:sha1:bfe4b0b2a4e5b761b287f9110e19af5b9430dbbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>reorganize the directories under src, and rescue the JavaScript interpreter from deprecated</title>
<updated>2009-12-13T18:50:29+00:00</updated>
<author>
<name>krasimir</name>
<email>krasimir@chalmers.se</email>
</author>
<published>2009-12-13T18:50:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=f85232947e74ee7ef8c7b0ad2338212e7e68f1be'/>
<id>urn:sha1:f85232947e74ee7ef8c7b0ad2338212e7e68f1be</id>
<content type='text'>
</content>
</entry>
</feed>
