pristine:0000000295-6d19f3a84b6dc173f8e927e0a6069bb42bae36d4b7d41d8b01d4799162a5430c [Initial commit: Lambda Mini calculator language haskell@quickbrownfox.org**20091005142410 Ignore-this: 47a914965fb6303b768674bdd05b3391 ] hash: 0000063693-2e5b704f30e9d7c46d9d9229ae2d2f72a1e979952d401b7ecf38d6413cc9173f [simply typed lambda calculus (LambdaClassic): initial commit haskell@quickbrownfox.org**20091012203429 Ignore-this: f86017b9a83a75b7f000749b6a41b85c ] hash: 0000066922-b08965c01f3ef1e8a54ea8ca0e7d4343fbe1d3dc1071f3dbb433063cd0838ace [Preprocessing haskell@quickbrownfox.org**20091013183958 Ignore-this: 3ddc8961a6305f811a920c6acd354918 ] hash: 0000043802-c20f202ff9757a1d30cf18d24df3a918a6ddbfc83d2918b1968fd7d2afc47ad1 [Lambda lifting might be working now haskell@quickbrownfox.org**20091013223205 Ignore-this: bd89278c24c49025bc148215f67031b4 ] hash: 0000002199-d373cfb86d337a0c5b1b1fc36b85202d9e4b3a443f0c42f84099ef039996266a [pretty printing haskell@quickbrownfox.org**20091013234433 Ignore-this: 972e04ecca3434152f9e16a4336d4423 ] hash: 0000002369-9514c08b90bca39c8add34f17c9b603365d2c55f17a9ca676f3107ea717b33b0 [Lambda lifting works haskell@quickbrownfox.org**20091014004518 Ignore-this: 3d74f60539a0382100c8324e81823ad1 ] hash: 0000000921-eb274091380bca2143a9192e9b30ce1ce410190c664120fea71b3f75542bd427 [Working typechecker haskell@quickbrownfox.org**20091102205644 Ignore-this: c7c8af10bd497b3759f51420e2a8c6d6 ] hash: 0000004642-7059184df0ffdcf9463a0992b4625140caca43b1052b20ea3f07f572ec20bb87 [restoreNames function (doesn't totally work haskell@quickbrownfox.org**20091102212241 Ignore-this: 4f3720109524b9a06ad03230fedae874 ] hash: 0000001250-9a34539d0ecc9451d55d318ed4cf9a7de9f62f95dcac9cb8c333afec6307bfbb [typechecker works haskell@quickbrownfox.org**20091103023825 Ignore-this: 67235ee6516182cdc0c709004fb39de1 ] hash: 0000002577-2ca8cb02391cc6d5d3238c99d87d5a05dc7844b84f117becf4296a49e262702e [Add booleans to the language haskell@quickbrownfox.org**20091103030149 Ignore-this: 4f67c17faa6518a4a22d75abd6f97f09 ] hash: 0000024142-0c68df5018c1e825bd92d7cb4a64643eb67f6258510734308235135bbfe55f69 [Refactor typechecker haskell@quickbrownfox.org**20091103164713 Ignore-this: 5c4096cdaddcc9b29c141add6c27dd60 ] hash: 0000003894-37df7fadb4d30851bd359cfecae7a5e6dfde6aa9605d220ccbbc3a1f0067d2bc [Refactor to allow partial application. Compiles but untested. haskell@quickbrownfox.org**20091111185504 Ignore-this: 183743e90021b6f1967f9a87d61d7790 ] hash: 0000009853-cc3c9a722a186180d2e814ace6b5bbf9b2bcc70217c505b20886ed2a04131618 [Rewrite code generation monad haskell@quickbrownfox.org**20091118134328 Ignore-this: e07ae5297bf7612ada28204b454abdec ] hash: 0000003229-aabbb595fe679469c972aeb66636a620addb985a5400c147b0b63c2165d240f9 [Skeleton of Compiler module that uses new CodeGenMonad haskell@quickbrownfox.org**20091118143512 Ignore-this: af7d8dc8aa29f34c34c14fde2382e910 ] hash: 0000005632-1bb4120b1e4a8dd0c9ae64b5dd2ce8281fb2b4ea2e4ee4730e895d27c8bf2e9c [checkpoint before rewriting the lambda lifting haskell@quickbrownfox.org**20091120030902 Ignore-this: 59c7f7e423d03d4e5b36c36bd8d73ff3 ] hash: 0000005150-f0b9e137332786461d69e007dd739911d067e1b030ea3105c83156cad49911b2 [just another checkpoint, before I simplify the Compiler state haskell@quickbrownfox.org**20091126154125 Ignore-this: bd55708a43820b4ce36195c84183a44d ] hash: 0000004041-ce2c9fd5847c602807d08f9503fc78b5abd3d8ced45e4abb6aa0fbbc04bcd728 [Compiler compiles haskell@quickbrownfox.org**20091126164529 Ignore-this: 3c6da44bf749977e49ec24fef596cfe7 ] hash: 0000001456-706063bc16ce089e1f42ba6738817e9788cea5b8c080f8b3931d43ec71bf9ffa [trivial example compiles haskell@quickbrownfox.org**20091211041346 Ignore-this: b2b9587b7c0baf64258cbd45da8e4ffc ] hash: 0000003535-4224ea355f0d473e1018bd902d504d7c193220593f740935622d2e7f1923271f [compilation scheme for if haskell@quickbrownfox.org**20091215042239 Ignore-this: a872148f008813ddc0bee033eb088082 ] hash: 0000005174-175f2ecd3a834a2ece32c9b45b9d4e3c8ecae2fd3f2b12c2de26e565fc8e96b5 [if statements work! haskell@quickbrownfox.org**20091215052145 Ignore-this: 44c8a25e714063913052455395eb63a2 ] hash: 0000001435-071d1396f4dc761a0fe3f161bb565fa94fdff3b916b05ff5013901ddcd26dbdf [rename main() to _main() internally so we can wrap it haskell@quickbrownfox.org**20091215183324 Ignore-this: 3885e81b3fd8c44d5a0f40ae7c6ebb1e ] hash: 0000001523-034c4b993e8dadd030250402fd16dd752236174cc4409b0c015b2bb5611c49dc [stop using DeBruijn indices; start using closures (no compilation support yet) haskell@quickbrownfox.org**20091218015459 Ignore-this: d041d2a748f40abce13850e3bd50d9da ] hash: 0000007902-4dcfea44fe086f4cd49ea7cf7e9c36ceab3d4b4b0bd6b7a8e8c4efe42bfb669d [fix runtime errors getting in the way of testing haskell@quickbrownfox.org**20091218021337 Ignore-this: d300a9c326f2816312338774bf98179a ] hash: 0000000863-9a745a4ab53a2b56beebaf5ae373fe2e61d43de157b73eb2fa9ddd5c9a69a2f8 [Can preprocess closures, but not compile them haskell@quickbrownfox.org**20091218022834 Ignore-this: 6bda725f3c3beaa3bdd752b2410561ae ] hash: 0000001280-c2821ba0d4bdd460c7e97e90da9a1ed61620fa491cdc1db0ceddfc1a9f642af9 [more arithmetic ops haskell@quickbrownfox.org**20091218034149 Ignore-this: 7786ef1025d6c172fca93e7e91d4bd22 ] hash: 0000000278-aee7954c287555d46c60dc1c79c40a56e47259877c064f878206b7cf2bd9f9bf [nullary functions haskell@quickbrownfox.org**20091218034225 Ignore-this: c96fad89fc4370e443418678c94c17e9 ] hash: 0000000242-c8b0c37fe1ff7d1ea3c06a0165c1c10dccc536162fb9ea4b78081b79eb848ea7 [start implementing closures haskell@quickbrownfox.org**20100114170013 Ignore-this: 8bb0a0c11b60fae9c3fafeae60032da7 ] hash: 0000001772-32a4a2ce85e9d89f53d7843b841470f113dea215d71763fd8d6babd6ef59c30a [More code for closures haskell@quickbrownfox.org**20100116040319 Ignore-this: 3cc84959bf21846cdad3d6cda40f0c32 ] hash: 0000004900-9c91834bd50ffc19fd9a32478806f77ced5db3edf583ad02219a96bc9dd3c30e [Finish writing closure code. Not yet debugged. haskell@quickbrownfox.org**20100118002005 Ignore-this: 6d20fb749332a7f6acd533598aeabc35 ] hash: 0000004372-6f0717cae312e06b0208af78ce06729fddd2577a59c1c464f4e5e5f268665104 [Can compile lambdas with closures, finally! haskell@quickbrownfox.org**20100121140337 Ignore-this: c734dfbccbf67ecf9a038bd331e64257 ] hash: 0000003515-a5808ac09fc9fb388ffb76b13032c2f3e26ba0753c2c1c3435fec73b33ff72b0 [simplest lambda test-case works haskell@quickbrownfox.org**20100121171303 Ignore-this: 46b68e413c54c02ae99e5202000c7dac ] hash: 0000001673-4204bfa25fd51dc2ef51ab4b99b882e835222edabcf4b8edbba0374d101a930b [Nested lambdas work now haskell@quickbrownfox.org**20100122024953 Ignore-this: 1787fd3067fec0aab0182b2a51d4f376 ] hash: 0000004780-3c5c8a22808c3d407d8f986d706c544834dc7382f1aba9c5494a766b947e3b61 [Make buildable by 3rd parties haskell@quickbrownfox.org**20100130031049 Ignore-this: 215029a6071ebca782c4d5c4ada7399d ] hash: 0000001958-e878694b421f7365b29c0e4e2494207e9d121f9aa88bf68c512109e187a57a40 [Add LLVM.Core.Utils as LLVMUtils, since it's pprivate in the Cabal package haskell@quickbrownfox.org**20100130031204 Ignore-this: 9ede1496be4245c6920462da40bc37c3 ] hash: 0000017773-dc25195bef1aa4722416a28871037f979d922217de5ef9b4355cb9b34b6388c7 [Handle nested functions properly haskell@quickbrownfox.org**20100130032702 Ignore-this: d5d77a5f078beb2f2bd9a27cf65a7579 ] hash: 0000002482-42d6ef8fd027473ef48a8a8801aea30665f795c5a91b95765954477d77c1d600 [Not using alloc instruction haskell@quickbrownfox.org**20100130032748 Ignore-this: fb03cd2caec1b646823370615aea020f ] hash: 0000000267-f8cf714b28234f13f432932403b47fd30312f1470ad2076c5d64e1bbc2c488b8 [remove unused import haskell@quickbrownfox.org**20100130033739 Ignore-this: e119e73d233bbc16d65366198394ff4c ] hash: 0000000197-af5cb8aa9d63c4d41d7bb7f4f9dab3e3f0958b32026b9b76d2fbd62525fb0cc8 [Split out instruction primitives into a new file haskell@quickbrownfox.org**20100130033824 Ignore-this: c8f43e4d85435efcf5ac37d3af9cfa31 ] hash: 0000003064-a2e657bd10c428a0057af99e9f4cc064f7e169b3a66eb594d32de7158a204477 [remove unused file haskell@quickbrownfox.org**20100131234351 Ignore-this: 6aa1ba6e61e017826390df7a549f65d5 ] hash: 0000001655-1dd8a605f787922c90c889dcd5ef8531ec37102552186a3aea12d15b365f6384 [Clean up and comment code haskell@quickbrownfox.org**20100201015310 Ignore-this: e45265c93c9972b83ae9a1e554fc297d ] hash: 0000010183-a24bae9c4dd713887366a0264bae2babd29443f97d19a0b26b7c1c63a2c2beaa [Fork new branch for LambaPi compiler haskell@quickbrownfox.org**20100201182804 Ignore-this: 59cbe8e3568a8132345d9dc4d1ece13e ] hash: 0000000146-f8930fdaba5791bd46d1610d00c162a73c85a715a13450fee439f25c242ddd26 [Add code from LambdaPi paper haskell@quickbrownfox.org**20100201203829 Ignore-this: 5899f7cd28aba7041fb803688fcc50a6 ] hash: 0000034858-8944183e8d65a9b1938eac0969e2a81c7021f996ba6d4f3b66fd35fc11c95908 [Remove non-dependent-types version of the lLambdaPi typechecker code haskell@quickbrownfox.org**20100201204531 Ignore-this: a7ade954cf4c00a427b74d1c9e421e93 ] hash: 0000038932-3339d10ec0a5a0142f81926d27e7711dc6900cbc4b729983b84a8d31128d42ea [LambdaPi parser and typechecker haskell@quickbrownfox.org**20100205023934 Ignore-this: 9c1dad3093e718a45650d9028f2ec04f ] hash: 0000015556-9a00109b63d86d358350d559d756d9d91dac01ceda06d0a9e78cb64b595de4d4 [typecheck function works haskell@quickbrownfox.org**20100205030525 Ignore-this: c494b053b51868447f5c68d4c4d0512a ] hash: 0000000471-898d285b8897d817e1083e4784bfd50f30b906aaae2556cb7d3109909fbb1dbd [return annotated parse tree from typechecker haskell@quickbrownfox.org**20100222065709 Ignore-this: 8c102c11be97360fae16e5954630f0dd ] hash: 0000006052-c014cfa0a3c79af88fffae2d63e95333bd43cb1d019620ede5ae98986ec9523e [nevermin, annotate parse trees unnecessary haskell@quickbrownfox.org**20100222070058 Ignore-this: 332541d92eb9ddd719bd79aed72a92c4 ] hash: 0000006050-d870d1573ba711e1b6a52212d9e4ed21205bb0bd57c4e8fc10129b4e8a3d507d [annotate again haskell@quickbrownfox.org**20100222201613 Ignore-this: 72f7a57945034cdc22109f9d6c4e749e ] hash: 0000006022-9ad38d095499248131bc4eb46d5b2f1017850e8625e75cc38f3c3dd90379a023 [Finish type simplification annotation haskell@quickbrownfox.org**20100222204057 Ignore-this: 2a52acfa425f497b1ea529f07622c78f ] hash: 0000002214-d896bc6a92c68c4d77df28d1d6d6f375056799e73770fab142b5949349bd3de4 [LambdaPi compiler that can handle the Prelude haskell@quickbrownfox.org**20100305064634 Ignore-this: d932259d1c5e63905921df01e6ab3d55 ] hash: 0000036480-4a8bfc292f0f9961b7b36e7345210e95c2f08ed943d089b5574adf719b13047c [Support llvm 7.1.1 package haskell@quickbrownfox.org**20100320215619 Ignore-this: 22202d09f8233b3624295be8b3aafb77 ] hash: 0000008154-ec206ad31e3e0bc6c50d25d673ff887a3af145fed482fe31b6308fc407842c39 [fix buggy implementation of FZero haskell@quickbrownfox.org**20100324175325 Ignore-this: 9e1dd55305bb9311af846a0bf8cc9e25 ] hash: 0000000514-5ee7d204c2cf506f82f3b481eae805c9a4cab8a4188cd19b80ce78714bc44c5b [clean up LambdaMini to match example in thesis report haskell@quickbrownfox.org**20100324175414 Ignore-this: bbc3a4416217634daf59032956e09c1b ] hash: 0000000494-28754a493645e778be1826490ee534606a49ceefd7a9b942bc7a3cb903c90091 [fix some subtle bugs in the external functions haskell@quickbrownfox.org**20100324221526 Ignore-this: 84cf2888bc9494a788f8bccb043aa4f ] hash: 0000000584-c910e39146b0c577e617c8bf68ab8f97b1ea032b56d594f5dfae6d740b7693dc [Cabal support haskell@quickbrownfox.org**20100405200945 Ignore-this: 51b47b260b13c76e441afe6d4f168682 ] hash: 0000000977-122cfe15a422f610095214f88c17554d8c8b075ac62950e9cbd3fc97645b56cb [Working cabal file haskell@quickbrownfox.org**20100405202721 Ignore-this: cfcc450a06ac3c57c54578eaf9aeee50 ] hash: 0000000630-8feb2f4c8ff68590aaaee6b45d95bb532849527093372de70e28cc6f827fca92 [clean-build failures haskell@quickbrownfox.org**20100405203108 Ignore-this: ffab52286c747b0c03e2fb5278bbbeb2 ] hash: 0000001900-46bdb3beef80f3b303679f84308201ca25ecac77473215a3f8d4869ab387e1e7 [proper handling of stub files using a library directory haskell@quickbrownfox.org**20100405233423 Ignore-this: d8dea9ec7b3ff31e40e0bd914cc96c57 ] hash: 0000004005-3ad39fd61837b478ae13feec80d5d0f6188d9ca1cac8bac8a8297b1ec82df451 [another stub file haskell@quickbrownfox.org**20100405233735 Ignore-this: 8e5000368c30d216071d47a3ce17bd3e ] hash: 0000001894-8cf9186958ae7160f2ba326d89b6a67b2daf685063d54bfc07e61dea7a774d3f [Option for producing output to specific file haskell@quickbrownfox.org**20100409122026 Ignore-this: 504e5be6ab8d8f03679958d642512ca0 ] hash: 0000001650-dd1a4999a8cb635a59a582e5ec6793f4a94849b029133401e4fb5d1b20ac0ef5 [Test scripts haskell@quickbrownfox.org**20100409145536 Ignore-this: 338847c02edd1d2f85acbfeea791cc98 ] hash: 0000000703-d9e5b93f1b79bc8628e31b4fbfed26a885a124a7a449e1b4774bf189f067d728 [Commenting haskell@quickbrownfox.org**20100409150220 Ignore-this: 1d41d2fb0175bb88b599651a7dd73bcf ] hash: 0000004586-8f0e3c702eed5c6c881702e9137996568123e4aed817ccbdca12f1261bb8d187 [Test script haskell@quickbrownfox.org**20100409150339 Ignore-this: f843cbc3f5c3baeffbd38740247a2757 ] hash: 0000001505-734dd44e9c63fa6303b54683bbcab1164d1294364d4d975cc4db1c6ce30342c7 [README haskell@quickbrownfox.org**20100409150410 Ignore-this: e9e1f87a505c28d7b202ee3b38fdac54 ] hash: 0000000271-c76ddbf0f95799418c72caa4df1ca7087dd643944d7081944a9e09fe4e384282 [Add test code for addition, multiplication haskell@quickbrownfox.org**20100416033622 Ignore-this: 43cec85976f1e44960fc79217416af38 ] hash: 0000001573-1a15dc7eb6533f736526f7c3f0cfea8d7581ca83335e36cb5c6743a83cef17db [Optional conversion of "plus" and "mult" to native arithmetic haskell@quickbrownfox.org**20100416041729 Ignore-this: 25795bcb1d1ec60b5f8384c75013a7bf ] hash: 0000005236-145687b024300ba3b0d5dde2288a57cc382304ec5fc1d4ffcdf64090b3e17c12 [More documentation haskell@quickbrownfox.org**20100416042441 Ignore-this: 608560c75c11d220f0713af5826582ab ] hash: 0000000627-cfc3dabfaf7f6d71e36a9a2aa19464e970ab05bdc4532441ab30db8cf5229dc8 [fix build instructions in README haskell@quickbrownfox.org**20100419152201 Ignore-this: 3ca565c21627fa7155ef70e259ea524c ] hash: 0000000225-578610287db2ed2f52cbe0dd96c72468a68e59d135b8309ed856f87d509800f6 [Add --prelude flag to include a particular Prelude file in the compilation haskell@quickbrownfox.org**20100517034450 Ignore-this: 59508ac6d8a3623349f4fe37bdba9704 ] hash: 0000001744-06b965647782a3f75de8edfb4a22fc0a1d2c2fe0a01b1e65d73cffd3738f1b2a [Better documentation, including example haskell@quickbrownfox.org**20100517140637 Ignore-this: 235442984de59ca090311c7844518702 ] hash: 0000003261-06728d9884dad1b8282452c36d26f1837deb5c5d221026f4da8394b5d8fa2a48 [A really trivial example that compiles to a manageable amount of code. haskell@quickbrownfox.org**20100518134232 Ignore-this: be24c0a1f8cab4f2cd4720ec9f14e408 ] hash: 0000000880-7a7196055e2d4f716643ee64845604480a44032cb549707d42ea7482ef97a05e