<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Grammar, 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>2025-08-02T14:39:31+00:00</updated>
<entry>
<title>define return in terms of pure, &gt;&gt; as *&gt;, mappend as &lt;&gt;</title>
<updated>2025-08-02T14:39:31+00:00</updated>
<author>
<name>Inari Listenmaa</name>
<email>inari.listenmaa@gmail.com</email>
</author>
<published>2024-09-09T17:43:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=b914a25de326dd937e3a1d05f4eefb46af6da7b4'/>
<id>urn:sha1:b914a25de326dd937e3a1d05f4eefb46af6da7b4</id>
<content type='text'>
In preparation for deprecation, see https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/semigroup-monoid and https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-of-no-return
</content>
</entry>
<entry>
<title>Improve syntax error messages</title>
<updated>2023-09-11T10:30:28+00:00</updated>
<author>
<name>Andreas Källberg</name>
<email>anka.213@gmail.com</email>
</author>
<published>2023-09-11T10:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=ffd7b27abd050dc50f5986c9b94f8fb5d120c2db'/>
<id>urn:sha1:ffd7b27abd050dc50f5986c9b94f8fb5d120c2db</id>
<content type='text'>
Now you will get error messages like these:
example.gf:1:21:
   Syntax error:
     Unexpected token '}'.
     Expected one of:
     - '{'
     - 'open'
     - an identifier
</content>
</entry>
<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>using an unparsable variable name in the internal desugaring of table extension to avoid captures; captures with iterated table extensions might still be possible, which needs further analysis</title>
<updated>2022-10-04T09:06:56+00:00</updated>
<author>
<name>Aarne Ranta</name>
<email>aarne@chalmers.se</email>
</author>
<published>2022-10-04T09:06:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=223f92d4f67bc4a168409b20e019b0ec6ad4b904'/>
<id>urn:sha1:223f92d4f67bc4a168409b20e019b0ec6ad4b904</id>
<content type='text'>
</content>
</entry>
<entry>
<title>New construct: table update. Syntax t ** { cases }. Syntactic sugar for table {cases ; vvv =&gt; t \! vvv}.t</title>
<updated>2022-10-03T15:04:29+00:00</updated>
<author>
<name>aarneranta</name>
<email>aarne@chalmers.se</email>
</author>
<published>2022-10-03T15:04:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=83483b93bac1dd63bc2d8c52341aa0a8bfbb267e'/>
<id>urn:sha1:83483b93bac1dd63bc2d8c52341aa0a8bfbb267e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace tabs for whitespace in source code</title>
<updated>2021-07-07T07:40:41+00:00</updated>
<author>
<name>John J. Camilleri</name>
<email>john@digitalgrammars.com</email>
</author>
<published>2021-07-07T07:40:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=f2e52d6f2c2bc90febceebdea0268b40ea37476c'/>
<id>urn:sha1:f2e52d6f2c2bc90febceebdea0268b40ea37476c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Sort record fields in lin definitions</title>
<updated>2021-06-30T12:14:54+00:00</updated>
<author>
<name>John J. Camilleri</name>
<email>john@digitalgrammars.com</email>
</author>
<published>2021-06-30T12:14:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=587004f985b9a0172b531abd76253a224b8cf77d'/>
<id>urn:sha1:587004f985b9a0172b531abd76253a224b8cf77d</id>
<content type='text'>
Fixes #102
</content>
</entry>
<entry>
<title>Make GF.Grammar.Canonical.Id a type synonym for GF.Infra.Ident.RawIdent</title>
<updated>2021-06-30T08:58:23+00:00</updated>
<author>
<name>John J. Camilleri</name>
<email>john@digitalgrammars.com</email>
</author>
<published>2021-06-30T08:58:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=0a70eca6e2913c462c5c65361131f3ed341e539d'/>
<id>urn:sha1:0a70eca6e2913c462c5c65361131f3ed341e539d</id>
<content type='text'>
This avoids a lot of conversion back and forth between Strings and ByteStrings

This commit was cherry-picked from d0c27cdaae78c670b098740bfb49b428d900e640 (lpgf branch)
</content>
</entry>
<entry>
<title>Deleted redundant pattern match</title>
<updated>2020-11-10T09:06:35+00:00</updated>
<author>
<name>Liyana</name>
<email>nliyanaam@smu.edu.sg</email>
</author>
<published>2020-11-10T09:06:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=33aad1b8de0b8387426155870c98adf35e400962'/>
<id>urn:sha1:33aad1b8de0b8387426155870c98adf35e400962</id>
<content type='text'>
</content>
</entry>
</feed>
