<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Compile/SubExOpt.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>2015-02-16T15:05:06+00:00</updated>
<entry>
<title>Changes for compatibility with ghc-7.10-rc2</title>
<updated>2015-02-16T15:05:06+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-02-16T15:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=54ae70a81e338fd05397ab22890b3ca36284be54'/>
<id>urn:sha1:54ae70a81e338fd05397ab22890b3ca36284be54</id>
<content type='text'>
2 modules: Name clashes caused by Applicative-Monad change in Prelude
2 modules: Ambiguities caused by Foldable/Traversable in Prelude
2 modules: Backwards incompatible changes in time-1.5 for defaultTimeLocale
9 modules: {-# LANGUAGE FlexibleContexts #-} (because GHC checks inferred types
           now, in addition to explicitly given type signatures)

Also silenced warnings about tab characters in source files.

</content>
</entry>
<entry>
<title>ModuleName and Ident are now distinct types</title>
<updated>2014-10-21T19:20:31+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-10-21T19:20:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=391b301881bee7de9580f2c6d819144161e6a51d'/>
<id>urn:sha1:391b301881bee7de9580f2c6d819144161e6a51d</id>
<content type='text'>
This makes the documentation clearer, and can potentially catch more
programming mistakes.

</content>
</entry>
<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>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>Now PMCFG is compiled per module and at the end we only link it. The new compilation schema is few times faster.</title>
<updated>2011-11-10T14:09:41+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2011-11-10T14:09:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=416d231c5ecb4eea4bdb121e1503a74111373256'/>
<id>urn:sha1:416d231c5ecb4eea4bdb121e1503a74111373256</id>
<content type='text'>
</content>
</entry>
<entry>
<title>merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the separate PGF building</title>
<updated>2011-11-02T13:57:11+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2011-11-02T13:57:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=734c66710e9bffa986c094e8c584295b33cd2f63'/>
<id>urn:sha1:734c66710e9bffa986c094e8c584295b33cd2f63</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Now the compiler maintains more precise information for the source locations of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations.</title>
<updated>2011-11-02T11:44:59+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2011-11-02T11:44:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=5fe49ed9f7ac7089301e867e55bfedefcba230dd'/>
<id>urn:sha1:5fe49ed9f7ac7089301e867e55bfedefcba230dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>GF.Infra.Modules: keep the modules of a grammar in a finite map instead of a list</title>
<updated>2011-08-30T18:54:50+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2011-08-30T18:54:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=ba10b5b0ca0c906b1b5c94f64b37b5a34f200f71'/>
<id>urn:sha1:ba10b5b0ca0c906b1b5c94f64b37b5a34f200f71</id>
<content type='text'>
This speeds up the compilation of PhrasebookFin.pgf by 12%, mosly by speeding
up calls to lookupModule in calls from lookupParamValues, in calls
from allParamValues.

The invariant "modules are stored in dependency order" is no longer respected!
But the type MGrammar is now abstract, making it easier to maintain this or
other invariants in the future.

</content>
</entry>
<entry>
<title>refactoring in GF.Grammar.Grammar</title>
<updated>2010-05-28T14:15:15+00:00</updated>
<author>
<name>krasimir</name>
<email>krasimir@chalmers.se</email>
</author>
<published>2010-05-28T14:15:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=c3f4c3eba7b7d98f48cfe56711eb18611bb89515'/>
<id>urn:sha1:c3f4c3eba7b7d98f48cfe56711eb18611bb89515</id>
<content type='text'>
</content>
</entry>
<entry>
<title>store and propagate the exact source location for all judgements in the grammar. It may not be used accurately in the error messages yet</title>
<updated>2010-03-22T21:15:29+00:00</updated>
<author>
<name>krasimir</name>
<email>krasimir@chalmers.se</email>
</author>
<published>2010-03-22T21:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=bf74f50733840b0bcec81ac265c824ae2bc3f675'/>
<id>urn:sha1:bf74f50733840b0bcec81ac265c824ae2bc3f675</id>
<content type='text'>
</content>
</entry>
</feed>
