<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/runtime/haskell/PGF/Printer.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>2018-04-18T17:18:10+00:00</updated>
<entry>
<title>Fixes for GHC 8.4.1 compatibility</title>
<updated>2018-04-18T17:18:10+00:00</updated>
<author>
<name>Thomas Hallgren</name>
<email>th-github@altocumulus.org</email>
</author>
<published>2018-04-18T17:18:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=820d2d503fde7b29634262fd07db2a4744cf813d'/>
<id>urn:sha1:820d2d503fde7b29634262fd07db2a4744cf813d</id>
<content type='text'>
* In GHC 8.4.1, the operator &lt;&gt; has become a method of the Semigroup class
  and is exported from the Prelude. This is unfortunate, since &lt;&gt; is also
  exported from the standard library module Text.PrettyPrint, so in any
  module that defines a pretty printer, there is likely to be an ambiguity.

  This affects ~18 modules in GF. Solution:

    import Prelude hiding (&lt;&gt;)

  This works also in older versions of GHC, since GHC does't complain if
  you hide something that doesn't exists.

* In GHC 8.4.1, Semigroup has become a superclass of Monoid. This means
  that anywhere you define an instance of the Monoid class you also have to
  define an instance in the Semigroup class.

  This affects Data.Binary.Builder in GF. Solution: conditionally define
  a Semigroup instance if compiling with base&gt;=4.11 (ghc&gt;=8.4.1)
</content>
</entry>
<entry>
<title>a nicer pretty printing for the PGF format</title>
<updated>2017-08-22T19:13:21+00:00</updated>
<author>
<name>Krasimir Angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2017-08-22T19:13:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=00388039f14c04b37a52cb3fb471bfbfeda4d95c'/>
<id>urn:sha1:00388039f14c04b37a52cb3fb471bfbfeda4d95c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>added all orthographic primitives</title>
<updated>2015-05-11T13:01:39+00:00</updated>
<author>
<name>krasimir</name>
<email>krasimir@chalmers.se</email>
</author>
<published>2015-05-11T13:01:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=1e0d7be4f4322836093d744c916fe02bfbcf9418'/>
<id>urn:sha1:1e0d7be4f4322836093d744c916fe02bfbcf9418</id>
<content type='text'>
</content>
</entry>
<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>Prelude.CAPIT is now a built-in primitive. It still generates &amp;| in the Haskell runtime but will be intepreted in the C runtime</title>
<updated>2014-10-09T19:34:12+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2014-10-09T19:34:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=f8b73d593ca147e48a723d3dceda7c5977d21ae6'/>
<id>urn:sha1:f8b73d593ca147e48a723d3dceda7c5977d21ae6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>full support for recursive def rules in the C runtime</title>
<updated>2014-09-05T10:09:43+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2014-09-05T10:09:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=86b5f78c579ce5fcc9c96370644c41c35a421070'/>
<id>urn:sha1:86b5f78c579ce5fcc9c96370644c41c35a421070</id>
<content type='text'>
</content>
</entry>
<entry>
<title>a partial support for def rules in the C runtime</title>
<updated>2014-08-11T10:59:10+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2014-08-11T10:59:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=584d589041f63fdd3ea777019679275657902c2d'/>
<id>urn:sha1:584d589041f63fdd3ea777019679275657902c2d</id>
<content type='text'>
The def rules are now compiled to byte code by the compiler and then to
native code by the JIT compiler in the runtime. Not all constructions
are implemented yet. The partial implementation is now in the repository
but it is not activated by default since this requires changes in the
PGF format. I will enable it only after it is complete.

</content>
</entry>
<entry>
<title>added Predef.SOFT_BIND. This special token allows zero or more spaces between ordinary tokens. It is also used in the English RGL to attach the commas to the previous word.</title>
<updated>2013-11-12T09:54:57+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2013-11-12T09:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=0095119ec09b394332a23ab7cc16c0009c3f162a'/>
<id>urn:sha1:0095119ec09b394332a23ab7cc16c0009c3f162a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>the content of ParseEngAbs3.probs is now merged with ParseEngAbs.probs. The later is now retrained. Once the grammar is compiled with the .probs file now it doesn't need anything more to do robust parsing. The robustness itself is controlled by the flags 'heuristic_search_factor', 'meta_prob' and 'meta_token_prob' in ParseEngAbs.gf</title>
<updated>2013-11-06T10:21:46+00:00</updated>
<author>
<name>kr.angelov</name>
<email>kr.angelov@gmail.com</email>
</author>
<published>2013-11-06T10:21:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=2483dc772897eb0909664f1a88cc7f8ec50ebd5b'/>
<id>urn:sha1:2483dc772897eb0909664f1a88cc7f8ec50ebd5b</id>
<content type='text'>
</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>
</feed>
