<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Compile/Optimize.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>2021-07-01T12:21:29+00:00</updated>
<entry>
<title>Rename GF.Compile.Compute.ConcreteNew to GF.Compile.Compute.Concrete</title>
<updated>2021-07-01T12:21:29+00:00</updated>
<author>
<name>John J. Camilleri</name>
<email>john@digitalgrammars.com</email>
</author>
<published>2021-07-01T12:21:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=71d99b9ecb2f59a5591bfdd9ab4695b00acbfd1c'/>
<id>urn:sha1:71d99b9ecb2f59a5591bfdd9ab4695b00acbfd1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove obsolete code</title>
<updated>2019-09-20T08:37:50+00:00</updated>
<author>
<name>krangelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2019-09-20T08:37:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=4d79aa8b198f411d0ab6d66d76d9f77dfd3f922f'/>
<id>urn:sha1:4d79aa8b198f411d0ab6d66d76d9f77dfd3f922f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix to avoid "error (no reason given) OCCURRED IN optimizing &lt;cat&gt;"</title>
<updated>2015-03-02T14:27:36+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-03-02T14:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=6480620e1dfd985a11b425e5a7eaddf467ec0967'/>
<id>urn:sha1:6480620e1dfd985a11b425e5a7eaddf467ec0967</id>
<content type='text'>
GF.Compile.Optimize.mkLinReference can fail and cause this error because
the helper function inside it applies msum to a list that might be empty
(if there is a record type that does not contain a field of type Str).
This means that it can return mzero::Err, i.e.

   Bad "error (no reason given)"

which can slip through the top level test that only catches Bad "no string".
</content>
</entry>
<entry>
<title>added option -plus-as-bind which treats (+) as a bind when used with runtime variables</title>
<updated>2015-02-20T13:26:12+00:00</updated>
<author>
<name>krasimir</name>
<email>krasimir@chalmers.se</email>
</author>
<published>2015-02-20T13:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=f848857519bfb093310503108ff62297ea9f8a24'/>
<id>urn:sha1:f848857519bfb093310503108ff62297ea9f8a24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introducing GF.Text.Pretty for more concise pretty printers and GF.Infra.Location for modularity</title>
<updated>2014-07-27T22:06:23+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-07-27T22:06:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=30cda5151651e712803527b6ab4e5abc07536f2c'/>
<id>urn:sha1:30cda5151651e712803527b6ab4e5abc07536f2c</id>
<content type='text'>
GF.Text.Pretty provides the class Pretty and overloaded versions of the pretty
printing combinators in Text.PrettyPrint, allowing pretty printable values to
be used directly instead of first having to convert them to Doc with functions
like text, int, char and ppIdent. Some modules have been converted to use
GF.Text.Pretty, but not all. Precedences could be added to simplify the pretty
printers for terms and patterns.

GF.Infra.Location contains the types Location and L, factored out from
GF.Grammar.Grammar, and the class HasSourcePath. This allowed the import
of GF.Grammar.Grammar to be removed from GF.Infra.CheckM, making it more
like a pure library module.

</content>
</entry>
<entry>
<title>bugfix in the compiler for linref of empty record</title>
<updated>2014-03-15T11:33:54+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2014-03-15T11:33:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=7dd5748fa84f0cfa44f28dff5b4c5d964611fa3f'/>
<id>urn:sha1:7dd5748fa84f0cfa44f28dff5b4c5d964611fa3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Commment code and options relating to the old partial evaluator</title>
<updated>2013-11-29T16:26:49+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-11-29T16:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=7d1c01138998497e70008b03c3b09b508850cb32'/>
<id>urn:sha1:7d1c01138998497e70008b03c3b09b508850cb32</id>
<content type='text'>
This means that the -old-comp and -new-comp flags are not recognized anymore.

The only functional difference is that printnames were still normalized with
the old partial evaluator. Now that is done with the new partial evaluator.
</content>
</entry>
<entry>
<title>Move checkPredefError from GF.Compile.Compute.ConcreteLazy to GF.Grammar.Macros</title>
<updated>2013-11-29T14:43:01+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-11-29T14:43:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=0a59f95d92223bae842323d582ec5d2eb3156a8d'/>
<id>urn:sha1:0a59f95d92223bae842323d582ec5d2eb3156a8d</id>
<content type='text'>
Also simplified its type.
</content>
</entry>
<entry>
<title>Eliminate mutual dependencies between the GF compiler and the PGF library</title>
<updated>2013-11-05T13:11:10+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2013-11-05T13:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=3814841d7d3b77b3f033cb98c1c0a04ac39435d7'/>
<id>urn:sha1:3814841d7d3b77b3f033cb98c1c0a04ac39435d7</id>
<content type='text'>
+ References to modules under src/compiler have been eliminated from the PGF
  library (under src/runtime/haskell). Only two functions had to be moved (from
  GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent
  dependencies turned out to be vacuous.

+ In gf.cabal, the GF executable no longer directly depends on the PGF library
  source directory, but only on the exposed library modules. This means that
  there is less duplication in gf.cabal and that the 30 modules in the
  PGF library will no longer be compiled twice while building GF.

  To make this possible, additional PGF library modules have been exposed, even
  though they should probably be considered for internal use only. They could
  be collected in a PGF.Internal module, or marked as "unstable", to make
  this explicit.

+ Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were
  found and removed, reducing the total number of imports by ~15%.

</content>
</entry>
<entry>
<title>added the linref construction in GF. The PGF version number is now bumped</title>
<updated>2013-10-30T12:53:36+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2013-10-30T12:53:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=042243f08a321cd8ed5918ba94e83f22a8552adb'/>
<id>urn:sha1:042243f08a321cd8ed5918ba94e83f22a8552adb</id>
<content type='text'>
</content>
</entry>
</feed>
