<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Grammar/Grammar.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>2022-10-04T15:01:47+00:00</updated>
<entry>
<title>Extract the previous optimization to its own function</title>
<updated>2022-10-04T15:01:47+00:00</updated>
<author>
<name>Andreas Källberg</name>
<email>anka.213@gmail.com</email>
</author>
<published>2022-10-02T19:57:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=a58c6d49d4b5d5cf750c36c9071279fccd9c468f'/>
<id>urn:sha1:a58c6d49d4b5d5cf750c36c9071279fccd9c468f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use a Set in isInherited to speed up long extend lists</title>
<updated>2022-10-04T15:01:47+00:00</updated>
<author>
<name>Andreas Källberg</name>
<email>anka.213@gmail.com</email>
</author>
<published>2022-10-02T19:49:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=fef7b80d8e988f6ad8de720a9e3a1098bc5f8a3a'/>
<id>urn:sha1:fef7b80d8e988f6ad8de720a9e3a1098bc5f8a3a</id>
<content type='text'>
Now the time is O(log(n)*m) instead of O(n*m) where n is the number of
items in the extend list

e.g.
abstract FromWordNet = WordNet [
a_couple_Card,
a_la_carte_Adv,
a_la_mode_Adv,
a_little_Card,
...
];
</content>
</entry>
<entry>
<title>Preliminary new shell feature: cc -trace.</title>
<updated>2015-09-28T22:23:56+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-09-28T22:23:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=35be1828241bb8dacdf326810af388b7b349e591'/>
<id>urn:sha1:35be1828241bb8dacdf326810af388b7b349e591</id>
<content type='text'>
You can now do things like 

	cc -trace mkV "debug"

to see a trace of all opers with their arguments and results during the
computation of mkV "debug".
</content>
</entry>
<entry>
<title>Comment out some dead code found with -fwarn-unused-binds</title>
<updated>2015-08-28T13:59:43+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-08-28T13:59:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=5bfaf10de597af504e6d2784309e533b09a6451c'/>
<id>urn:sha1:5bfaf10de597af504e6d2784309e533b09a6451c</id>
<content type='text'>
Also fixed some warnings and tightened some imports
</content>
</entry>
<entry>
<title>Various small changes for improved documentation</title>
<updated>2014-10-22T15:45:52+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-10-22T15:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=6ee67cd04ffbce375d7f10e74a5d9eb742d6428d'/>
<id>urn:sha1:6ee67cd04ffbce375d7f10e74a5d9eb742d6428d</id>
<content type='text'>
</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>Renaming SourceGrammar to Grammar and similarly for some related types</title>
<updated>2014-10-21T14:42:31+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-10-21T14:42:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=3bfcfa157dc291e03bfb4db3baed8b0098d76f50'/>
<id>urn:sha1:3bfcfa157dc291e03bfb4db3baed8b0098d76f50</id>
<content type='text'>
Included renamings:

	SourceGrammar -&gt; Grammar
	SourceModule -&gt; Module
	SourceModInfo -&gt; ModuleInfo
	emptySourceGrammar -&gt; emptyGrammar

Also introduces a type synonym (which might be good to turn into a newtype):

	type ModuleName = Ident

The reason is to make types like the following more self documenting:

	type Module = (ModuleName,ModuleInfo)
	type QIdent = (ModuleName,Ident)
</content>
</entry>
<entry>
<title>More haddock documentation improvements</title>
<updated>2014-10-16T14:03:57+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-10-16T14:03:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=c924491289259fa8a5a259ed97f2d9e817e3338c'/>
<id>urn:sha1:c924491289259fa8a5a259ed97f2d9e817e3338c</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>PGF library: expose only PGF and PGF.Internal instead of all modules</title>
<updated>2014-06-12T14:43:18+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2014-06-12T14:43:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=d6252d1c16d59ad26db0d08a531cddf39864d9db'/>
<id>urn:sha1:d6252d1c16d59ad26db0d08a531cddf39864d9db</id>
<content type='text'>
PGF exports the public, stable API.
PGF.Internal exports additional things needed in the GF compiler &amp; shell,
including the nonstardard version of Data.Binary.
</content>
</entry>
</feed>
