<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Compile/Compute/ConcreteStrict.hs, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.adelon.net/gf-core.git/atom?h=master</id>
<link rel='self' href='https://git.adelon.net/gf-core.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/'/>
<updated>2014-10-20T15:05:43+00:00</updated>
<entry>
<title>Remove some dead code</title>
<updated>2014-10-20T15:05:43+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-10-20T15:05:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=55aebadd5a64eb3f6a566168bbeeeb7cbb4ccb44'/>
<id>urn:sha1:55aebadd5a64eb3f6a566168bbeeeb7cbb4ccb44</id>
<content type='text'>
* The following modules are no longer used and have been removed completely:

	GF.Compile.Compute.ConcreteLazy
	GF.Compile.Compute.ConcreteStrict
	GF.Compile.Refresh

* The STM monad has been commented out. It was only used in
  GF.Compile.SubExpOpt, where could be replaced with a plain State monad,
  since no error handling was needed. One of the functions was hardwired to
  the Err monad, but did in fact not use error handling, so it was turned
  into a pure function.

* The function errVal has been renamed to fromErr (since it is analogous to
  fromMaybe).

* Replaced 'fail' with 'raise' and 'return ()' with 'done' in a few places.

* Some additional old code that was already commented out has been removed.
</content>
</entry>
<entry>
<title>Convert from Text.PrettyPrint to GF.Text.Pretty</title>
<updated>2014-07-28T11:58:00+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-07-28T11:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=7a91afc02a0a245bf9fea248e61421a75c22137d'/>
<id>urn:sha1:7a91afc02a0a245bf9fea248e61421a75c22137d</id>
<content type='text'>
All compiler modules now use GF.Text.Pretty instead of Text.PrettyPrint
</content>
</entry>
<entry>
<title>Fix an old name shadowing bug in concrete syntax by removing the refresh pass</title>
<updated>2013-09-09T14:29:57+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-09-09T14:29:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=83283b0d6a1e714def620a2ad2a7166c6c3a0147'/>
<id>urn:sha1:83283b0d6a1e714def620a2ad2a7166c6c3a0147</id>
<content type='text'>
The refresh pass does not correctly keep track of the scope of local variables
and can convert things like \x-&gt;(\x-&gt;x) x into \x1-&gt;(\x2-&gt;x2) x2. Fortunately,
it appears that the refresh pass is not needed anymore, so it has been removed.
</content>
</entry>
<entry>
<title>Add lazy version of GF.Compile.Compute.Concrete</title>
<updated>2011-09-01T16:39:41+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2011-09-01T16:39:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=875df01dc6427afab39131672a9d7ce62059b828'/>
<id>urn:sha1:875df01dc6427afab39131672a9d7ce62059b828</id>
<content type='text'>
This patch adds GF.Compile.Compute.ConcreteLazy, which replaces the Err monad
with the Identity monad. While the Err monad makes the interpreter
(hyper)strict, the Identity monad let's the interpreter inherit Haskell's
laziness.  This can give big speedups: from 50s to 1s in one example,
from ~4 minutes to ~2 minutes for the RGL.

This is still experimental and might be buggy, so it is off by default.
You can turn it on by configuring with the -fcclazy flag, e.g.

	cabal configure -fcclazy

Let me know if anything breaks.
</content>
</entry>
</feed>
