matthijs/master-project/report.git
14 years agoDefine \epmh{foo} for easy emphasis.
Matthijs Kooijman [Wed, 2 Sep 2009 09:15:28 +0000 (11:15 +0200)]
Define \epmh{foo} for easy emphasis.

Normally, only {\em foo} works, but that is ugly and can add whitespace
in some cases (such as at the start of a line). The solution for the
latter, {\em{}foo} is even uglier.

14 years agoAdd letrec and letnonrec as keywords to pret-lam.
Matthijs Kooijman [Wed, 2 Sep 2009 09:13:15 +0000 (11:13 +0200)]
Add letrec and letnonrec as keywords to pret-lam.

14 years agoUpdate a bunch more transformations.
Matthijs Kooijman [Tue, 1 Sep 2009 20:18:25 +0000 (22:18 +0200)]
Update a bunch more transformations.

This almost completes the transformation specifications.

14 years agoAdd content to a bunch more transformations.
Matthijs Kooijman [Mon, 31 Aug 2009 17:12:16 +0000 (19:12 +0200)]
Add content to a bunch more transformations.

14 years agoReorder and complete the list of transformations.
Matthijs Kooijman [Mon, 31 Aug 2009 16:32:35 +0000 (18:32 +0200)]
Reorder and complete the list of transformations.

This does not add any content, except for updating β-reduction.

14 years agoAdd a bit spacing after a transformation.
Matthijs Kooijman [Mon, 31 Aug 2009 16:32:14 +0000 (18:32 +0200)]
Add a bit spacing after a transformation.

Or rather, don't remove it.

14 years agoAdd a new definition of the normal form.
Matthijs Kooijman [Fri, 28 Aug 2009 19:41:15 +0000 (21:41 +0200)]
Add a new definition of the normal form.

This definition uses a sort of EBNF.

14 years agoMake pret-lam preserve alignment using whitespace.
Matthijs Kooijman [Fri, 28 Aug 2009 13:23:46 +0000 (15:23 +0200)]
Make pret-lam preserve alignment using whitespace.

This is slightly complicated, but it should work properly in most cases.

14 years agoDeclare variables as local in pret-lam.
Matthijs Kooijman [Fri, 28 Aug 2009 12:04:04 +0000 (14:04 +0200)]
Declare variables as local in pret-lam.

14 years agoSupport the | character in pret-lam.
Matthijs Kooijman [Fri, 28 Aug 2009 12:02:37 +0000 (14:02 +0200)]
Support the | character in pret-lam.

14 years agoRemove explicit subscription underscores.
Matthijs Kooijman [Thu, 27 Aug 2009 11:46:44 +0000 (13:46 +0200)]
Remove explicit subscription underscores.

These are now autodetected.

14 years agoUpdate normal form example.
Matthijs Kooijman [Thu, 27 Aug 2009 11:46:35 +0000 (13:46 +0200)]
Update normal form example.

14 years agoLet all lambda expressions in pret-trans share subscript detection.
Matthijs Kooijman [Thu, 27 Aug 2009 11:44:23 +0000 (13:44 +0200)]
Let all lambda expressions in pret-trans share subscript detection.

14 years agoLet pret-lam support blocks of multiple lambda expressions.
Matthijs Kooijman [Thu, 27 Aug 2009 11:42:57 +0000 (13:42 +0200)]
Let pret-lam support blocks of multiple lambda expressions.

This enables subscript detection from one lambda expression or buffer to
influence the lambda detection in other buffer.

14 years agoUse local variables for storing visualizer dicts.
Matthijs Kooijman [Thu, 27 Aug 2009 11:45:19 +0000 (13:45 +0200)]
Use local variables for storing visualizer dicts.

Using global variables could cause problems when pretty printers call
eachother and use the vis variable.

14 years agoImprove subscript handling in pret-lam.
Matthijs Kooijman [Thu, 27 Aug 2009 11:17:32 +0000 (13:17 +0200)]
Improve subscript handling in pret-lam.

The handling is now a bit more strict when automatically detecting
multiple character subscripts, to prevent things like "return" from being
turned into "r_eturn".

14 years agoMake pret-trans complain on invalid input.
Matthijs Kooijman [Thu, 27 Aug 2009 11:03:39 +0000 (13:03 +0200)]
Make pret-trans complain on invalid input.

Before, the lua would just crash with a vague error.

14 years agoUse the Linux Libertine roman font for regular text.
Matthijs Kooijman [Thu, 27 Aug 2009 10:00:42 +0000 (12:00 +0200)]
Use the Linux Libertine roman font for regular text.

It turned out that the palatino (and most other roman fonts shipped with
context) didn't have greek letters.

14 years agoUse antykwa for math, and palatino for serif text.
Matthijs Kooijman [Wed, 26 Aug 2009 10:09:35 +0000 (12:09 +0200)]
Use antykwa for math, and palatino for serif text.

14 years agoMake pret-haskell work also for inline \types.
Matthijs Kooijman [Wed, 26 Aug 2009 07:58:38 +0000 (09:58 +0200)]
Make pret-haskell work also for inline \types.

Somehow, \type sets the catcodes different than \starttyping, causing \obs
and other escape codes produced by pret-haskell to not work. Now,
pret-haskell sets the right catcodes for each print, so this is no longer
a problem.

14 years agoRemove two old (empty) chapter definitions.
Matthijs Kooijman [Wed, 26 Aug 2009 07:58:22 +0000 (09:58 +0200)]
Remove two old (empty) chapter definitions.

14 years agoRemove \stoptext from the Normalization chapter.
Matthijs Kooijman [Wed, 26 Aug 2009 07:55:50 +0000 (09:55 +0200)]
Remove \stoptext from the Normalization chapter.

14 years agoMake \hs print in monospaced.
Matthijs Kooijman [Wed, 26 Aug 2009 07:43:43 +0000 (09:43 +0200)]
Make \hs print in monospaced.

14 years agoRemove a few debug prints from pret-trans.
Matthijs Kooijman [Tue, 25 Aug 2009 15:43:41 +0000 (17:43 +0200)]
Remove a few debug prints from pret-trans.

14 years agoMake pret-lam work for \type{} as well.
Matthijs Kooijman [Tue, 25 Aug 2009 15:36:19 +0000 (17:36 +0200)]
Make pret-lam work for \type{} as well.

14 years agoActually enable the Hardware description chapter.
Matthijs Kooijman [Tue, 25 Aug 2009 15:34:41 +0000 (17:34 +0200)]
Actually enable the Hardware description chapter.

14 years agoUpdate the pret-trans to current context beta.
Matthijs Kooijman [Tue, 25 Aug 2009 15:30:41 +0000 (17:30 +0200)]
Update the pret-trans to current context beta.

14 years agoUpdate the pret-lam to current context beta.
Matthijs Kooijman [Tue, 25 Aug 2009 15:02:34 +0000 (17:02 +0200)]
Update the pret-lam to current context beta.

14 years agoFix typo in SConstruct file.
Matthijs Kooijman [Tue, 25 Aug 2009 14:55:38 +0000 (16:55 +0200)]
Fix typo in SConstruct file.

14 years agoAdd a Hardware description chapter, that describes the language.
Matthijs Kooijman [Tue, 25 Aug 2009 14:50:30 +0000 (16:50 +0200)]
Add a Hardware description chapter, that describes the language.

This chapter is still far from finished.

14 years agoMake Core2Core a chapter in the report.
Matthijs Kooijman [Tue, 25 Aug 2009 14:49:41 +0000 (16:49 +0200)]
Make Core2Core a chapter in the report.

This removes some old definitions in the file and disables some content
that needs rewriting.

14 years agoMake Report use globbing for dependencies.
Matthijs Kooijman [Tue, 25 Aug 2009 14:48:34 +0000 (16:48 +0200)]
Make Report use globbing for dependencies.

Report now depends on all Chapters, all Utils and all local pretty
printers.

14 years agoRemove debug print from pret-haskell.lua.
Matthijs Kooijman [Tue, 25 Aug 2009 14:34:05 +0000 (16:34 +0200)]
Remove debug print from pret-haskell.lua.

14 years agoDefine a \hs command for inline Haskell.
Matthijs Kooijman [Tue, 25 Aug 2009 14:17:13 +0000 (16:17 +0200)]
Define a \hs command for inline Haskell.

14 years agoFix a comment.
Matthijs Kooijman [Tue, 25 Aug 2009 14:16:52 +0000 (16:16 +0200)]
Fix a comment.

14 years agoAdd some content to the State chapter.
Matthijs Kooijman [Thu, 20 Aug 2009 17:38:25 +0000 (19:38 +0200)]
Add some content to the State chapter.

It is still far from complete and correct.

14 years agoAdd a haskell pretty printer.
Matthijs Kooijman [Thu, 20 Aug 2009 17:37:26 +0000 (19:37 +0200)]
Add a haskell pretty printer.

This pretty printer is mostly just verbatim text, but with the ability to
apply strikethrough to lines by putting dashes around the text.

14 years agoUse AddPostAction for scp'ing Report.pdf.
Matthijs Kooijman [Thu, 30 Jul 2009 10:18:37 +0000 (12:18 +0200)]
Use AddPostAction for scp'ing Report.pdf.

This is slightly more elegant than doing the scp as part of the context
builder.

14 years agoTell scons about Report.tex.
Matthijs Kooijman [Tue, 28 Jul 2009 15:17:02 +0000 (17:17 +0200)]
Tell scons about Report.tex.

14 years agoActually use Shortcuts.tex.
Matthijs Kooijman [Tue, 28 Jul 2009 15:09:41 +0000 (17:09 +0200)]
Actually use Shortcuts.tex.

14 years agoRename shortcuts.tex to Shortcuts.tex
Matthijs Kooijman [Tue, 28 Jul 2009 15:09:15 +0000 (17:09 +0200)]
Rename shortcuts.tex to Shortcuts.tex

14 years agoAdd some initial structure for the final report.
Matthijs Kooijman [Mon, 27 Jul 2009 13:37:33 +0000 (15:37 +0200)]
Add some initial structure for the final report.

This structure is far from final or complete, but serves to test the
building infrastructure. Also, the State chapter contains some notes about
possible content.

14 years agoClean up SConstruct file.
Matthijs Kooijman [Mon, 27 Jul 2009 12:43:40 +0000 (14:43 +0200)]
Clean up SConstruct file.

14 years agoUse the transformation pretty printer.
Matthijs Kooijman [Mon, 27 Jul 2009 11:38:04 +0000 (13:38 +0200)]
Use the transformation pretty printer.

This changes two transformations to use the new pretty printer, the rest
still needs to be converted.

14 years agoMake ~ a symbol in lambda calculus.
Matthijs Kooijman [Mon, 27 Jul 2009 11:37:46 +0000 (13:37 +0200)]
Make ~ a symbol in lambda calculus.

14 years agoAdd transformation pretty printer.
Matthijs Kooijman [Mon, 27 Jul 2009 11:37:07 +0000 (13:37 +0200)]
Add transformation pretty printer.

14 years agoAdd TODO.
Matthijs Kooijman [Thu, 2 Jul 2009 09:33:26 +0000 (11:33 +0200)]
Add TODO.

14 years agoAllow a word to start with uppercase letters too.
Matthijs Kooijman [Wed, 1 Jul 2009 15:04:19 +0000 (17:04 +0200)]
Allow a word to start with uppercase letters too.

14 years agoBriefly describe all other transforms.
Matthijs Kooijman [Wed, 1 Jul 2009 15:03:41 +0000 (17:03 +0200)]
Briefly describe all other transforms.

14 years agoUpdate and/or remove older text.
Matthijs Kooijman [Wed, 1 Jul 2009 14:51:35 +0000 (16:51 +0200)]
Update and/or remove older text.

14 years agoAdd some more transformations.
Matthijs Kooijman [Wed, 1 Jul 2009 14:35:15 +0000 (16:35 +0200)]
Add some more transformations.

Also, restructure the argument simplification a bit, since it turns out
argument extraction applies to builtin functions as well.

14 years agoOnly allow a word to start with a-z in pret-lam.
Matthijs Kooijman [Wed, 1 Jul 2009 14:32:07 +0000 (16:32 +0200)]
Only allow a word to start with a-z in pret-lam.

This prevents seeing a λ or other non a-z (but letter characters according
to the %a character class) as the start of a word.

14 years agoAdd two transforms for argument simplification.
Matthijs Kooijman [Tue, 30 Jun 2009 17:38:07 +0000 (19:38 +0200)]
Add two transforms for argument simplification.

Also, add some text describing why the transforms are neccesary and how
they work.

14 years agoAdd and improve some transformations.
Matthijs Kooijman [Mon, 29 Jun 2009 15:14:04 +0000 (17:14 +0200)]
Add and improve some transformations.

14 years agoUpdate pret-lam to a new version of by begin/end_of_buffer patch.
Matthijs Kooijman [Mon, 29 Jun 2009 15:09:59 +0000 (17:09 +0200)]
Update pret-lam to a new version of by begin/end_of_buffer patch.

Now, begin_of_buffer and end_of_buffer are always called, even for \type{}
commands. This greatly simplifies their contents and hackyness.

Also add some comments.

14 years agoMake pret-lam remember subscripted words.
Matthijs Kooijman [Thu, 11 Jun 2009 15:40:25 +0000 (17:40 +0200)]
Make pret-lam remember subscripted words.

This allows pret-lam to make "n" a subscript in "En", if it has seen "E1"
before, for example. This requires a change in context, which I will try
to get included next.

14 years agoMake pret-lam support superscripts.
Matthijs Kooijman [Thu, 11 Jun 2009 13:47:55 +0000 (15:47 +0200)]
Make pret-lam support superscripts.

Both explicit superscripts, using _ and implicit by just appending a
number are supported.

14 years agoRestructure pret-lam.
Matthijs Kooijman [Thu, 11 Jun 2009 10:25:40 +0000 (12:25 +0200)]
Restructure pret-lam.

This change makes a distinction between words and symbols, which allows it
to prevent highlighting "let" in "letting" for example.

14 years agoPrevent pret-lam from matching subwords.
Matthijs Kooijman [Wed, 10 Jun 2009 16:02:53 +0000 (18:02 +0200)]
Prevent pret-lam from matching subwords.

14 years agoLet pret-lam recognize the * symbol.
Matthijs Kooijman [Wed, 10 Jun 2009 14:47:45 +0000 (16:47 +0200)]
Let pret-lam recognize the * symbol.

14 years agoFormat the example sequence as lambda calculus.
Matthijs Kooijman [Wed, 10 Jun 2009 11:43:51 +0000 (13:43 +0200)]
Format the example sequence as lambda calculus.

14 years agoLet pret-lam recognize the "in" keyword.
Matthijs Kooijman [Wed, 10 Jun 2009 11:36:48 +0000 (13:36 +0200)]
Let pret-lam recognize the "in" keyword.

14 years agoLet pret-lam escape _ characters.
Matthijs Kooijman [Wed, 10 Jun 2009 11:36:26 +0000 (13:36 +0200)]
Let pret-lam escape _ characters.

14 years agoMake Core2Core depend on pret-lam.lua.
Matthijs Kooijman [Wed, 10 Jun 2009 11:14:54 +0000 (13:14 +0200)]
Make Core2Core depend on pret-lam.lua.

14 years agoAdd a sequence of examples for the new transformations.
Matthijs Kooijman [Wed, 10 Jun 2009 11:13:36 +0000 (13:13 +0200)]
Add a sequence of examples for the new transformations.

The transformations themselves are not in the document yet, but this was
an exploration of the possibilities.

14 years agoAdd a \trans command that uses the lam pretty printing.
Matthijs Kooijman [Wed, 10 Jun 2009 11:13:17 +0000 (13:13 +0200)]
Add a \trans command that uses the lam pretty printing.

14 years agoAdd support for pretty printing lambda calculus.
Matthijs Kooijman [Wed, 10 Jun 2009 11:12:55 +0000 (13:12 +0200)]
Add support for pretty printing lambda calculus.

14 years agoUse a custom selection of fonts.
Matthijs Kooijman [Wed, 10 Jun 2009 11:06:31 +0000 (13:06 +0200)]
Use a custom selection of fonts.

14 years agoFix some typos.
Matthijs Kooijman [Wed, 3 Jun 2009 10:24:27 +0000 (12:24 +0200)]
Fix some typos.

14 years agoFix typo.
Matthijs Kooijman [Mon, 25 May 2009 12:45:05 +0000 (14:45 +0200)]
Fix typo.

14 years agoAdd a SConstruct file for building Core2Core.pdf.
Matthijs Kooijman [Wed, 20 May 2009 09:58:36 +0000 (11:58 +0200)]
Add a SConstruct file for building Core2Core.pdf.

14 years agoAdd a few progress documents.
Matthijs Kooijman [Wed, 20 May 2009 09:50:12 +0000 (11:50 +0200)]
Add a few progress documents.

These documents contain miscellaneous notes from the early stages of the
project.

14 years agoAdd the latest version of the flat functions document.
Matthijs Kooijman [Wed, 20 May 2009 09:48:03 +0000 (11:48 +0200)]
Add the latest version of the flat functions document.

This document is unfinished and will probably be deprecated in the future,
but is still added to preserve history.

14 years agoAdd initial version of the Core2Core document.
Matthijs Kooijman [Wed, 20 May 2009 09:44:59 +0000 (11:44 +0200)]
Add initial version of the Core2Core document.

This document describes core transformations and the canonical form.