<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/runtime/haskell/PGF/Haskell.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>2019-01-23T01:45:23+00:00</updated>
<entry>
<title>PGF.Haskell.fromStr: fix double spaces caused by empty tokens</title>
<updated>2019-01-23T01:45:23+00:00</updated>
<author>
<name>Thomas Hallgren</name>
<email>th-github@altocumulus.org</email>
</author>
<published>2019-01-23T01:45:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=fc5c2b5a22f66912c1e5dab97a35c2f229093255'/>
<id>urn:sha1:fc5c2b5a22f66912c1e5dab97a35c2f229093255</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix documentation typo on PGF.Haskell</title>
<updated>2016-05-26T13:11:56+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2016-05-26T13:11:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=0f51bf35389a71994a8c3b54968f04ed03e5e12b'/>
<id>urn:sha1:0f51bf35389a71994a8c3b54968f04ed03e5e12b</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>PGF.Haskell: adding operators for selections from tables</title>
<updated>2015-02-12T16:09:33+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-02-12T16:09:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=2b8fe8ea7a4f40445889b80bd7f737d0078e7598'/>
<id>urn:sha1:2b8fe8ea7a4f40445889b80bd7f737d0078e7598</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Translating linearization functions to Haskell: support for variants</title>
<updated>2015-02-09T16:24:33+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-02-09T16:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=8e4e8da105547abec4fe27e837d13bf45d78e31b'/>
<id>urn:sha1:8e4e8da105547abec4fe27e837d13bf45d78e31b</id>
<content type='text'>
By adding the flag -haskell=variants to the command line, GF will now generate
linearization functions in Haskell that support variants. Variants are
represented as lists in Haskell.

Variants inside pre { ... } expressions are still ignored.

TODO: apply some monad laws to generate more compact code (using an
intermediate representation of the generated Haskell code, instead of
pretty printing directly from the GF code).
</content>
</entry>
<entry>
<title>Translating linearization functions to Haskell: move a common record type to PGF.Haskell</title>
<updated>2015-01-19T12:43:32+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-01-19T12:43:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=7e1120d27144ea3432aa42862e88fd88df0dceaa'/>
<id>urn:sha1:7e1120d27144ea3432aa42862e88fd88df0dceaa</id>
<content type='text'>
Move the Haskell representation of the common linearization type {s:T} to the
shared module PGF.Haskell, so that the same overloaded projection function
proj_s can be used for all concrete syntaxes.
</content>
</entry>
<entry>
<title>Translating linearization functions to Haskell: better treatment of special tokens</title>
<updated>2015-01-14T14:35:39+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-01-14T14:35:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=20b271a2383d81806efdbf8d35f17f989ce770a6'/>
<id>urn:sha1:20b271a2383d81806efdbf8d35f17f989ce770a6</id>
<content type='text'>
Common code has been lifted out from the generated Haskell modules to
an auxiliary module PGF.Haskell, which is currently included in the
regular PGF library, although it is independent of it and probably belongs
in a separate library.

The type Str used by linearization functions is now based on a token
type Tok, which is defined in PGF.Haskell.

PGF.Haskell.Tok is similar to the type GF.Data.Str.Tok, but it has
constructors for the special tokens BIND, SOFT_BIND and CAPIT, and there is
a function

	fromStr :: Str -&gt; String

that computes the effects of these special tokens.

</content>
</entry>
</feed>
