<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/Grammar/Lexer.x, 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>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>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>Fix syntax error problem for older versions of GHC</title>
<updated>2020-10-08T15:41:44+00:00</updated>
<author>
<name>Andreas Källberg</name>
<email>anka.213@gmail.com</email>
</author>
<published>2020-10-08T15:41:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=f2e4b89a22a1c7c7304e3a712e47e6d9f3f763e8'/>
<id>urn:sha1:f2e4b89a22a1c7c7304e3a712e47e6d9f3f763e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MonadFail: Make backwards-compatible</title>
<updated>2020-09-05T18:23:07+00:00</updated>
<author>
<name>Andreas Källberg</name>
<email>anka.213@gmail.com</email>
</author>
<published>2020-09-05T18:23:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=7268253f5ae4b4883d28faa87b3e63295f04abfd'/>
<id>urn:sha1:7268253f5ae4b4883d28faa87b3e63295f04abfd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix newer ghc: Don't try to be backwards compatible</title>
<updated>2020-08-05T16:48:24+00:00</updated>
<author>
<name>Andreas Källberg</name>
<email>anka.213@gmail.com</email>
</author>
<published>2020-08-05T14:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=b8812b54b2dd70df1038a5cd953b4bbb8ac1e9b4'/>
<id>urn:sha1:b8812b54b2dd70df1038a5cd953b4bbb8ac1e9b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>First attempt at fixing incompabilities with newer cabal</title>
<updated>2020-08-05T16:48:24+00:00</updated>
<author>
<name>Andreas Källberg</name>
<email>anka.213@gmail.com</email>
</author>
<published>2020-08-05T14:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=251845f83ea52965b5205fd231ffa2c87bb34de6'/>
<id>urn:sha1:251845f83ea52965b5205fd231ffa2c87bb34de6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Lexer.x &amp; Parser.y: add a partial parser for terms</title>
<updated>2016-04-07T13:32:14+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2016-04-07T13:32:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=65e675d8e2fc530997b3209e6ab84760be5a0a65'/>
<id>urn:sha1:65e675d8e2fc530997b3209e6ab84760be5a0a65</id>
<content type='text'>
Lexer.x: Change the parser monad type P to allow the remaining input to
	 be returned after a partial parse. Add function

           runPartial :: P t -&gt; String -&gt; Either (Posn, String) (String, t)

Parser.y: Add a partial parser pTerm for nonterminal Exp1.
          Re-export runPartial.
</content>
</entry>
<entry>
<title>Lexer.x: fix cyclic Functor instance</title>
<updated>2016-04-06T13:46:48+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2016-04-06T13:46:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=c8b7ebc163d6331b40d06090df00aff633028a81'/>
<id>urn:sha1:c8b7ebc163d6331b40d06090df00aff633028a81</id>
<content type='text'>
It looks like I introduced this cyclic definition in August 2014, but since
it isn't used, it hasn't been a problem...
</content>
</entry>
<entry>
<title>initial support for BNFC syntax in context-free grammars for GF. Not all features are supported yet. Based on contribution from Gleb Lobanov</title>
<updated>2016-03-21T13:27:44+00:00</updated>
<author>
<name>krasimir</name>
<email>krasimir@chalmers.se</email>
</author>
<published>2016-03-21T13:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=c8ebe093150509d9f01d82f0d698ef5df09bd985'/>
<id>urn:sha1:c8ebe093150509d9f01d82f0d698ef5df09bd985</id>
<content type='text'>
</content>
</entry>
</feed>
