summaryrefslogtreecommitdiff
path: root/.dir-locals.el
Commit message (Collapse)AuthorAgeFilesLines
* $prompt is now its own kind of CPS term.Andy Wingo2018-01-031-0/+1
| | | | | | * module/language/cps.scm ($prompt): Rework to be its own term kind. Now $continue always continues to a single continuation. Adapt callers.
* $branch is now a distinct CPS term typeAndy Wingo2018-01-031-0/+1
| | | | | | | * module/language/cps.scm ($branch): Refactor to be its own CPS term type, not relying on $continue to specify a continuation (which before was only for the false case) or a source location. Update allllllll callers.
* Factor with-cps out to separate moduleAndy Wingo2015-06-021-0/+2
| | | | | | | | * module/language/cps2/with-cps.scm: New file. * module/language/tree-il/compile-cps2.scm: Use (language cps2 with-cps). * module/Makefile.am: Add language/cps2/with-cps.scm. * .dir-locals.el: Add indentation rules for with-cps.
* Beginnings of CPS2 language.Andy Wingo2015-05-081-0/+6
| | | | | | | | | | | | | The tentative plan is to replace CPS with CPS2, and to rename CPS2 to CPS. We will add a pass to compile tree-il to CPS2, then work from the top down to replace the CPS compiler passes. * module/language/cps2.scm: * module/language/cps2/compile-cps.scm: * module/language/cps2/renumber.scm: * module/language/cps2/utils.scm: New files. * module/Makefile.am: Add new files to build.
* Add syntax-parameterize indentation to .dir-locals.el.Andy Wingo2014-05-121-1/+2
| | | | * .dir-locals.el: Add syntax-parameterize indentation.
* Root higher-order CPS term is always $kfun $contAndy Wingo2014-04-111-0/+1
| | | | | | | | | | | | | | | | | | | | | * module/language/cps/arities.scm: * module/language/cps/closure-conversion.scm: * module/language/cps/compile-bytecode.scm: * module/language/cps/constructors.scm: * module/language/cps/contification.scm: * module/language/cps/cse.scm: * module/language/cps/dce.scm: * module/language/cps/elide-values.scm: * module/language/cps/prune-bailouts.scm: * module/language/cps/prune-top-level-scopes.scm: * module/language/cps/renumber.scm: * module/language/cps/self-references.scm: * module/language/cps/simplify.scm: * module/language/cps/specialize-primcalls.scm: * module/language/tree-il/compile-cps.scm: Adapt to produce and consume raw $kfun $cont instances. * .dir-locals.el: Update $letrec indentation.
* Rename $kentry to $kfunAndy Wingo2014-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * module/language/cps.scm ($kfun): Rename from $kentry. * module/language/cps/arities.scm: * module/language/cps/closure-conversion.scm: * module/language/cps/compile-bytecode.scm: * module/language/cps/constructors.scm: * module/language/cps/contification.scm: * module/language/cps/cse.scm: * module/language/cps/dce.scm: * module/language/cps/dfg.scm: * module/language/cps/effects-analysis.scm: * module/language/cps/elide-values.scm: * module/language/cps/prune-bailouts.scm: * module/language/cps/prune-top-level-scopes.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/renumber.scm: * module/language/cps/self-references.scm: * module/language/cps/simplify.scm: * module/language/cps/slot-allocation.scm: * module/language/cps/specialize-primcalls.scm: * module/language/cps/verify.scm: * module/language/tree-il/compile-cps.scm: Adapt users.
* src and meta are fields of $kentry, not $funAndy Wingo2014-04-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * module/language/cps.scm ($kentry, $fun): Attach "src" and "meta" on the $kentry, not the $fun. This prepares us for $callk to $kentry continuations that have no corresponding $fun. * module/language/cps/arities.scm: * module/language/cps/closure-conversion.scm: * module/language/cps/compile-bytecode.scm: * module/language/cps/constructors.scm: * module/language/cps/contification.scm: * module/language/cps/cse.scm: * module/language/cps/dce.scm: * module/language/cps/dfg.scm: * module/language/cps/elide-values.scm: * module/language/cps/prune-bailouts.scm: * module/language/cps/prune-top-level-scopes.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/renumber.scm: * module/language/cps/self-references.scm: * module/language/cps/simplify.scm: * module/language/cps/slot-allocation.scm: * module/language/cps/specialize-primcalls.scm: * module/language/cps/verify.scm: * module/language/tree-il/compile-cps.scm: Adapt.
* Add with-fresh-name-state-from-dfgAndy Wingo2014-04-031-0/+1
| | | | | | | | | | | | | | | * module/language/cps/dfg.scm (with-fresh-name-state-from-dfg): New helper. ($dfg, compute-dfg): Store max-var and max-label in the dfg. * module/language/cps.scm (with-fresh-name-state): Don't raise an error on recursive invocation; that was mostly useful when finding a bug. * module/language/cps/arities.scm (fix-arities): * module/language/cps/specialize-primcalls.scm (specialize-primcalls): Use the new helper. * .dir-locals.el: Update.
* Replace all let-gensyms uses with let-freshAndy Wingo2014-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | * .dir-locals.el: Add with-fresh-name-state. * module/language/cps.scm (fresh-label, fresh-var): Signal an error if the counters are not initialized. (with-fresh-name-state): New macro. (make-cont-folder): New macro, generates an n-ary folder. (compute-max-label-and-var): New function, uses make-cont-folder. (fold-conts): Use make-cont-folder. (let-gensyms): Remove. * module/language/cps/arities.scm: * module/language/cps/closure-conversion.scm: * module/language/cps/constructors.scm: * module/language/cps/dce.scm: * module/language/cps/elide-values.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/specialize-primcalls.scm: Use let-fresh instead of let-gensyms, and wrap in a with-fresh-name-state as needed. * module/language/tree-il/compile-cps.scm: Remove hack to avoid importing let-gensyms from (language tree-il).
* Continuation labels and variable identifiers may be integersAndy Wingo2014-03-311-0/+1
| | | | | | | | | | | | | | | * module/language/cps.scm (label-counter, var-counter): New parameters, for producing fresh label and var names. (fresh-label, fresh-var): New procedures. (let-fresh): New macro, will replace let-gensyms. (build-cps-term): Use let-fresh. * module/language/tree-il/compile-cps.scm: Use let-fresh to generate fresh names. * module/system/vm/assembler.scm (make-meta, begin-kw-arity): Allow exact integers as labels. (link-debug): Explicitly mark low-pc as being an "addr" value.
* Source information goes on the $continue, not the $cont.Andy Wingo2013-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | * module/language/cps.scm ($continue, $cont): Put source information on the $continue, not on the $cont. Otherwise it is difficult for CPS conversion to preserve source information. ($fun): Add a src member to $fun. Otherwise we might miss the source info for the start of the function. * .dir-locals.el: * module/language/cps/arities.scm: * module/language/cps/closure-conversion.scm: * module/language/cps/compile-rtl.scm: * module/language/cps/constructors.scm: * module/language/cps/contification.scm: * module/language/cps/dfg.scm: * module/language/cps/elide-values.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/slot-allocation.scm: * module/language/cps/verify.scm: * module/language/tree-il/compile-cps.scm: Update the whole CPS world for this change.
* Add CPS languageAndy Wingo2013-08-311-6/+21
| | | | | | | | * module/Makefile.am: * module/language/cps.scm: * module/language/cps/verify.scm: Add CPS language. * .dir-locals.el: Add indentation rules for some CPS forms.
* Augment `.dir-locals.el'.Ludovic Courtès2013-06-161-1/+3
|
* Augment `.dir-locals.el'.Ludovic Courtès2012-11-241-1/+4
| | | | * .dir-locals.el: Add more `scheme-indent-function' rules.
* test-suite: Add `pass-if-equal'.Ludovic Courtès2012-11-011-1/+3
| | | | | * test-suite/test-suite/lib.scm (pass-if-equal): New macro. (run-test): Upon `fail', pass ARGS to REPORT.
* lower fill-column in .dir-locals.elAndy Wingo2010-07-161-2/+3
| | | | * .dir-locals.el: Fill-columns back down to 72.
* Remove misplaced tabs from the manual.Ludovic Courtès2010-02-171-1/+2
| | | | | | | * doc/ref/posix.texi (Network Databases): Remove tabs from `getaddrinfo' example. * .dir-locals.el: Set `indent-tabs-mode' to `t' for `texinfo-mode'.
* Add per-directory Emacs local variables.Ludovic Courtès2010-01-031-0/+7