Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
## Process this file with automake to produce Makefile.in.
|
|
|
|
|
##
|
2013-01-10 22:50:27 +01:00
|
|
|
## Copyright (C) 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
##
|
|
|
|
|
## This file is part of GUILE.
|
|
|
|
|
##
|
2009-06-17 00:22:09 +01:00
|
|
|
## GUILE is free software; you can redistribute it and/or modify it
|
|
|
|
|
## under the terms of the GNU Lesser General Public License as
|
|
|
|
|
## published by the Free Software Foundation; either version 3, or
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
## (at your option) any later version.
|
|
|
|
|
##
|
|
|
|
|
## GUILE is distributed in the hope that it will be useful, but
|
|
|
|
|
## WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2009-06-17 00:22:09 +01:00
|
|
|
## GNU Lesser General Public License for more details.
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
##
|
2009-06-17 00:22:09 +01:00
|
|
|
## You should have received a copy of the GNU Lesser General Public
|
|
|
|
|
## License along with GUILE; see the file COPYING.LESSER. If not,
|
|
|
|
|
## write to the Free Software Foundation, Inc., 51 Franklin Street,
|
|
|
|
|
## Fifth Floor, Boston, MA 02110-1301 USA
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
|
2009-04-17 11:19:42 +02:00
|
|
|
include $(top_srcdir)/am/guilec
|
|
|
|
|
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
# We're at the root of the module hierarchy.
|
|
|
|
|
modpath =
|
|
|
|
|
|
2010-09-10 11:01:23 +02:00
|
|
|
# Build eval.go first.
|
|
|
|
|
$(GOBJECTS): ice-9/eval.go
|
|
|
|
|
CLEANFILES += ice-9/eval.go
|
2009-11-30 23:32:28 +01:00
|
|
|
nobase_mod_DATA += ice-9/eval.scm
|
|
|
|
|
nobase_ccache_DATA += ice-9/eval.go
|
|
|
|
|
EXTRA_DIST += ice-9/eval.scm
|
2010-09-11 18:39:00 +01:00
|
|
|
ETAGS_ARGS += ice-9/eval.scm
|
2009-11-30 23:32:28 +01:00
|
|
|
|
Various RTL VM and calling convention tweaks
* libguile/instructions.c (FOR_EACH_INSTRUCTION_WORD_TYPE): Allow for
five-word instructions, and for new instruction word types.
* libguile/vm-engine.c (RETURN_ONE_VALUE): Instead of returning the
value in the fixed part of the call frame, return it in the same place
multiple-value returns go: from slot 1.
(BR_ARITHMETIC): Allow arithmetic tests to be negated.
(rtl_vm_engine): Change calling convention to use the same location
for single and multiple-value returns. Renumber all instructions.
(halt, halt/values): Fold into a single instruction (halt).
(call): Take the location of the procedure instead of the location of
the call frame. Also take the number of args, and reset the sp before
jumping to the procedure, so as to indicate the number of arguments.
(call/values): Remove, as the new calling convention has RA == MVRA.
(tail-call): Require the procedure to be shuffled down already, and
take "nlocals" as an arg instead of "nargs".
(receive, receive-values): New instructions, for receiving returned
values from calls.
(return-values): Rename from return/values. Remove "values".
(alloc-frame): Rename from reserve-locals.
(reset-frame): New instruction.
(drop-locals): Remove.
(br-if-=, br-if-<, br-if-<=): Allow these instructions to be
negatable.
(br-if->, br-if->=): Remove. Probably a bad idea, given NaN.
(box-ref): Don't bother trying to do a reverse lookup -- the
toplevel-box, module-box, and resolve instructions should handle
that.
(resolve): Add arg to check that the variable is bound.
(toplevel-box, module-box): New instructions, replacing toplevel-ref,
toplevel-set, module-ref, and module-set.
* libguile/vm.c (rtl_boot_continuation_code, rtl_values_code): Adapt to
instruction set changes.
* module/Makefile.am: Make the assembler and disassembler dependent on
vm-operations.h.
* module/system/vm/assembler.scm:
* module/system/vm/disassembler.scm: Adapt to instruction changes and
new instruction word kinds.
* test-suite/tests/rtl.test: Adapt to instruction set changes.
2013-08-11 16:42:06 +02:00
|
|
|
VM_TARGETS := system/vm/assembler.go system/vm/disassembler.go
|
|
|
|
|
$(VM_TARGETS): $(top_builddir)/libguile/vm-operations.h
|
|
|
|
|
|
2012-03-08 01:24:25 -05:00
|
|
|
ice-9/boot-9.go: ice-9/boot-9.scm ice-9/quasisyntax.scm ice-9/r6rs-libraries.scm
|
2013-08-15 03:59:15 -04:00
|
|
|
ice-9/match.go: ice-9/match.scm ice-9/match.upstream.scm
|
2012-03-08 01:24:25 -05:00
|
|
|
|
really boot primitive-eval from scheme.
* libguile/eval.c (scm_primitive_eval, scm_c_primitive_eval):
(scm_init_eval): Rework so that scm_primitive_eval always calls out to
the primitive-eval variable. The previous definition is the default
value, which is probably overridden by scm_init_eval_in_scheme.
* libguile/init.c (scm_i_init_guile): Move ports and load-path up, so we
can debug when initing eval. Call scm_init_eval_in_scheme. Awesome.
* libguile/load.h:
* libguile/load.c (scm_init_eval_in_scheme): New procedure, loads up
ice-9/eval.scm to replace the primitive-eval definition, if everything
is there and up-to-date.
* libguile/modules.c (scm_module_transformer): Export to Scheme, so it's
there for eval.go.
* module/ice-9/boot-9.scm: No need to define module-transformer.
* module/ice-9/eval.scm (capture-env): Only reference the-root-module if
modules are booted.
(primitive-eval): Inline a definition for identity. Throw a more
standard error for "wrong number of arguments".
* module/ice-9/psyntax.scm (chi-install-global): The macro binding for a
syncase macro is now a pair: the transformer, and the module that was
current when the transformer was installed. The latter is used for
hygiene purposes, replacing the use of procedure-module, which didn't
work with the interpreter's shared-code closures.
(chi-macro): Adapt for the binding being a pair, and get the hygiene
from the cdr.
(eval-local-transformer): Adapt to new form of macro bindings.
* module/ice-9/psyntax-pp.scm: Regenerated.
* .gitignore: Ignore eval.go.stamp.
* module/Makefile.am: Reorder for fastest serial compilation, now that
there are no ordering constraints. I did a number of experiments here
and this seems to be the best; but the bulk of the time is compiling
psyntax-pp.scm with eval.scm. Not so great.
* libguile/vm-engine.c (vm-engine): Throw a more standard error for
"wrong type to apply".
* test-suite/tests/gc.test ("gc"): Remove a hack that shouldn't affect
the new evaluator, and throw in another (gc) for good measure.
* test-suite/tests/goops.test ("defining classes"):
* test-suite/tests/hooks.test (proc1): We can't currently check what the
arity is of a closure made by eval.scm -- or more accurately all
closures have 0 required args and no rest args. So punt for now.
* test-suite/tests/syntax.test ("letrec"): The scheme evaluator can't
check that a variable is unbound, currently; perhaps the full "fixing
letrec" expansion could fix this. But barring that, punt.
2009-12-01 23:54:25 +01:00
|
|
|
# We can compile these in any order, but it's fastest if we compile
|
|
|
|
|
# psyntax and boot-9 first, then the compiler itself, then the rest of
|
|
|
|
|
# the code.
|
|
|
|
|
SOURCES = \
|
|
|
|
|
ice-9/psyntax-pp.scm \
|
|
|
|
|
ice-9/boot-9.scm \
|
2012-05-21 17:48:45 +02:00
|
|
|
ice-9/vlist.scm \
|
|
|
|
|
srfi/srfi-1.scm \
|
|
|
|
|
language/tree-il/peval.scm \
|
|
|
|
|
language/tree-il/cse.scm \
|
really boot primitive-eval from scheme.
* libguile/eval.c (scm_primitive_eval, scm_c_primitive_eval):
(scm_init_eval): Rework so that scm_primitive_eval always calls out to
the primitive-eval variable. The previous definition is the default
value, which is probably overridden by scm_init_eval_in_scheme.
* libguile/init.c (scm_i_init_guile): Move ports and load-path up, so we
can debug when initing eval. Call scm_init_eval_in_scheme. Awesome.
* libguile/load.h:
* libguile/load.c (scm_init_eval_in_scheme): New procedure, loads up
ice-9/eval.scm to replace the primitive-eval definition, if everything
is there and up-to-date.
* libguile/modules.c (scm_module_transformer): Export to Scheme, so it's
there for eval.go.
* module/ice-9/boot-9.scm: No need to define module-transformer.
* module/ice-9/eval.scm (capture-env): Only reference the-root-module if
modules are booted.
(primitive-eval): Inline a definition for identity. Throw a more
standard error for "wrong number of arguments".
* module/ice-9/psyntax.scm (chi-install-global): The macro binding for a
syncase macro is now a pair: the transformer, and the module that was
current when the transformer was installed. The latter is used for
hygiene purposes, replacing the use of procedure-module, which didn't
work with the interpreter's shared-code closures.
(chi-macro): Adapt for the binding being a pair, and get the hygiene
from the cdr.
(eval-local-transformer): Adapt to new form of macro bindings.
* module/ice-9/psyntax-pp.scm: Regenerated.
* .gitignore: Ignore eval.go.stamp.
* module/Makefile.am: Reorder for fastest serial compilation, now that
there are no ordering constraints. I did a number of experiments here
and this seems to be the best; but the bulk of the time is compiling
psyntax-pp.scm with eval.scm. Not so great.
* libguile/vm-engine.c (vm-engine): Throw a more standard error for
"wrong type to apply".
* test-suite/tests/gc.test ("gc"): Remove a hack that shouldn't affect
the new evaluator, and throw in another (gc) for good measure.
* test-suite/tests/goops.test ("defining classes"):
* test-suite/tests/hooks.test (proc1): We can't currently check what the
arity is of a closure made by eval.scm -- or more accurately all
closures have 0 required args and no rest args. So punt for now.
* test-suite/tests/syntax.test ("letrec"): The scheme evaluator can't
check that a variable is unbound, currently; perhaps the full "fixing
letrec" expansion could fix this. But barring that, punt.
2009-12-01 23:54:25 +01:00
|
|
|
\
|
|
|
|
|
language/tree-il.scm \
|
|
|
|
|
language/glil.scm \
|
|
|
|
|
language/assembly.scm \
|
|
|
|
|
$(TREE_IL_LANG_SOURCES) \
|
2013-07-23 15:51:35 +02:00
|
|
|
$(CPS_LANG_SOURCES) \
|
really boot primitive-eval from scheme.
* libguile/eval.c (scm_primitive_eval, scm_c_primitive_eval):
(scm_init_eval): Rework so that scm_primitive_eval always calls out to
the primitive-eval variable. The previous definition is the default
value, which is probably overridden by scm_init_eval_in_scheme.
* libguile/init.c (scm_i_init_guile): Move ports and load-path up, so we
can debug when initing eval. Call scm_init_eval_in_scheme. Awesome.
* libguile/load.h:
* libguile/load.c (scm_init_eval_in_scheme): New procedure, loads up
ice-9/eval.scm to replace the primitive-eval definition, if everything
is there and up-to-date.
* libguile/modules.c (scm_module_transformer): Export to Scheme, so it's
there for eval.go.
* module/ice-9/boot-9.scm: No need to define module-transformer.
* module/ice-9/eval.scm (capture-env): Only reference the-root-module if
modules are booted.
(primitive-eval): Inline a definition for identity. Throw a more
standard error for "wrong number of arguments".
* module/ice-9/psyntax.scm (chi-install-global): The macro binding for a
syncase macro is now a pair: the transformer, and the module that was
current when the transformer was installed. The latter is used for
hygiene purposes, replacing the use of procedure-module, which didn't
work with the interpreter's shared-code closures.
(chi-macro): Adapt for the binding being a pair, and get the hygiene
from the cdr.
(eval-local-transformer): Adapt to new form of macro bindings.
* module/ice-9/psyntax-pp.scm: Regenerated.
* .gitignore: Ignore eval.go.stamp.
* module/Makefile.am: Reorder for fastest serial compilation, now that
there are no ordering constraints. I did a number of experiments here
and this seems to be the best; but the bulk of the time is compiling
psyntax-pp.scm with eval.scm. Not so great.
* libguile/vm-engine.c (vm-engine): Throw a more standard error for
"wrong type to apply".
* test-suite/tests/gc.test ("gc"): Remove a hack that shouldn't affect
the new evaluator, and throw in another (gc) for good measure.
* test-suite/tests/goops.test ("defining classes"):
* test-suite/tests/hooks.test (proc1): We can't currently check what the
arity is of a closure made by eval.scm -- or more accurately all
closures have 0 required args and no rest args. So punt for now.
* test-suite/tests/syntax.test ("letrec"): The scheme evaluator can't
check that a variable is unbound, currently; perhaps the full "fixing
letrec" expansion could fix this. But barring that, punt.
2009-12-01 23:54:25 +01:00
|
|
|
$(GLIL_LANG_SOURCES) \
|
|
|
|
|
$(ASSEMBLY_LANG_SOURCES) \
|
|
|
|
|
$(BYTECODE_LANG_SOURCES) \
|
|
|
|
|
$(OBJCODE_LANG_SOURCES) \
|
|
|
|
|
$(VALUE_LANG_SOURCES) \
|
|
|
|
|
$(SCHEME_LANG_SOURCES) \
|
|
|
|
|
$(SYSTEM_BASE_SOURCES) \
|
|
|
|
|
\
|
|
|
|
|
$(ICE_9_SOURCES) \
|
|
|
|
|
$(SRFI_SOURCES) \
|
|
|
|
|
$(RNRS_SOURCES) \
|
|
|
|
|
$(OOP_SOURCES) \
|
|
|
|
|
$(SYSTEM_SOURCES) \
|
|
|
|
|
$(SCRIPTS_SOURCES) \
|
|
|
|
|
$(ECMASCRIPT_LANG_SOURCES) \
|
2009-12-11 10:21:31 +01:00
|
|
|
$(ELISP_LANG_SOURCES) \
|
2009-12-21 00:01:13 +01:00
|
|
|
$(BRAINFUCK_LANG_SOURCES) \
|
2010-10-15 20:56:42 +02:00
|
|
|
$(LIB_SOURCES) \
|
|
|
|
|
$(WEB_SOURCES)
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
|
2009-04-24 19:16:06 +02:00
|
|
|
## test.scm is not currently installed.
|
2009-11-14 17:25:12 +01:00
|
|
|
EXTRA_DIST += \
|
|
|
|
|
ice-9/test.scm \
|
|
|
|
|
ice-9/compile-psyntax.scm \
|
|
|
|
|
ice-9/ChangeLog-2008
|
2010-09-11 18:39:00 +01:00
|
|
|
ETAGS_ARGS += \
|
|
|
|
|
ice-9/test.scm \
|
|
|
|
|
ice-9/compile-psyntax.scm \
|
|
|
|
|
ice-9/ChangeLog-2008
|
2009-04-24 19:16:06 +02:00
|
|
|
|
2010-07-13 10:40:18 +02:00
|
|
|
ice-9/psyntax-pp.scm.gen:
|
2011-03-20 23:50:22 +00:00
|
|
|
$(top_builddir_absolute)/meta/guile --no-auto-compile -s $(srcdir)/ice-9/compile-psyntax.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
$(srcdir)/ice-9/psyntax.scm $(srcdir)/ice-9/psyntax-pp.scm
|
2010-06-17 17:52:11 +02:00
|
|
|
|
2010-07-15 18:38:39 +02:00
|
|
|
.PHONY: ice-9/psyntax-pp.scm.gen
|
|
|
|
|
|
2011-11-23 15:29:18 +01:00
|
|
|
# Keep this rule in sync with that in `am/guilec'.
|
2010-09-10 11:01:23 +02:00
|
|
|
ice-9/psyntax-pp.go: ice-9/psyntax.scm ice-9/psyntax-pp.scm
|
2011-11-23 15:29:18 +01:00
|
|
|
$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \
|
2011-11-22 09:07:25 +01:00
|
|
|
$(top_builddir)/meta/uninstalled-env \
|
|
|
|
|
guild compile --target="$(host)" $(GUILE_WARNINGS) \
|
2011-11-23 15:29:18 +01:00
|
|
|
-L "$(abs_srcdir)" -L "$(abs_builddir)" \
|
|
|
|
|
-L "$(abs_top_srcdir)/guile-readline" \
|
2011-11-22 09:07:25 +01:00
|
|
|
-o "ice-9/psyntax-pp.go" "$(srcdir)/ice-9/psyntax.scm"
|
2009-04-24 19:16:06 +02:00
|
|
|
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
SCHEME_LANG_SOURCES = \
|
2009-05-08 12:56:18 +02:00
|
|
|
language/scheme/spec.scm \
|
|
|
|
|
language/scheme/compile-tree-il.scm \
|
2009-10-16 12:19:43 +02:00
|
|
|
language/scheme/decompile-tree-il.scm
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
|
2009-05-11 23:23:34 +02:00
|
|
|
TREE_IL_LANG_SOURCES = \
|
2009-05-22 16:07:41 +02:00
|
|
|
language/tree-il/primitives.scm \
|
2012-04-12 16:25:45 -07:00
|
|
|
language/tree-il/effects.scm \
|
add <fix> tree-il construct, and compile it
* libguile/vm-i-system.c (fix-closure): New instruction, for wiring
together fixpoint procedures.
* module/Makefile.am (TREE_IL_LANG_SOURCES): Add fix-letrec.scm.
* module/language/glil/compile-assembly.scm (glil->assembly): Reindent
the <glil-lexical> case, and handle 'fix for locally-bound vars.
* module/language/tree-il.scm (<fix>): Add the <fix> tree-il type and
accessors, for fixed-point bindings. This IL construct is taken from
the Waddell paper.
(parse-tree-il, unparse-tree-il, tree-il->scheme, tree-il-fold)
(pre-order!, post-order!): Update for <fix>.
* module/language/tree-il/analyze.scm (analyze-lexicals): Update for
<fix>. The difference here is that the bindings may not be assigned,
and are not marked as such. They are not boxed.
(report-unused-variables): Update for <fix>.
* module/language/tree-il/compile-glil.scm (flatten): Compile <fix> to
GLIL.
* module/language/tree-il/fix-letrec.scm: A stub implementation of
fixing letrec -- will flesh out in a separate commit.
* module/language/tree-il/inline.scm: Fix license, it was mistakenly
added with LGPL v2.1+.
* module/language/tree-il/optimize.scm (optimize!): Run the fix-letrec!
pass.
2009-08-05 17:51:40 +02:00
|
|
|
language/tree-il/fix-letrec.scm \
|
2011-09-28 19:39:25 +02:00
|
|
|
language/tree-il/optimize.scm \
|
|
|
|
|
language/tree-il/canonicalize.scm \
|
2009-05-15 23:44:14 +02:00
|
|
|
language/tree-il/analyze.scm \
|
2011-09-28 19:39:25 +02:00
|
|
|
language/tree-il/inline.scm \
|
2009-05-15 23:44:14 +02:00
|
|
|
language/tree-il/compile-glil.scm \
|
2011-10-06 23:27:43 +02:00
|
|
|
language/tree-il/debug.scm \
|
2009-05-15 23:44:14 +02:00
|
|
|
language/tree-il/spec.scm
|
2009-05-07 13:45:03 +02:00
|
|
|
|
2013-07-23 15:51:35 +02:00
|
|
|
CPS_LANG_SOURCES = \
|
|
|
|
|
language/cps.scm \
|
|
|
|
|
language/cps/verify.scm
|
|
|
|
|
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
GLIL_LANG_SOURCES = \
|
2013-02-24 15:45:26 +01:00
|
|
|
language/glil/spec.scm language/glil/compile-assembly.scm
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
|
|
|
|
|
ASSEMBLY_LANG_SOURCES = \
|
|
|
|
|
language/assembly/spec.scm \
|
|
|
|
|
language/assembly/compile-bytecode.scm \
|
|
|
|
|
language/assembly/decompile-bytecode.scm \
|
|
|
|
|
language/assembly/disassemble.scm
|
|
|
|
|
|
|
|
|
|
BYTECODE_LANG_SOURCES = \
|
|
|
|
|
language/bytecode/spec.scm
|
|
|
|
|
|
|
|
|
|
OBJCODE_LANG_SOURCES = \
|
2012-06-22 13:35:55 +02:00
|
|
|
language/objcode/spec.scm \
|
|
|
|
|
language/objcode/elf.scm
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
|
|
|
|
|
VALUE_LANG_SOURCES = \
|
|
|
|
|
language/value/spec.scm
|
|
|
|
|
|
|
|
|
|
ECMASCRIPT_LANG_SOURCES = \
|
|
|
|
|
language/ecmascript/tokenize.scm \
|
|
|
|
|
language/ecmascript/parse.scm \
|
|
|
|
|
language/ecmascript/impl.scm \
|
|
|
|
|
language/ecmascript/base.scm \
|
|
|
|
|
language/ecmascript/function.scm \
|
|
|
|
|
language/ecmascript/array.scm \
|
2009-08-12 00:14:44 +02:00
|
|
|
language/ecmascript/compile-tree-il.scm \
|
2009-06-09 23:42:05 +02:00
|
|
|
language/ecmascript/spec.scm
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
|
2009-12-11 10:21:31 +01:00
|
|
|
ELISP_LANG_SOURCES = \
|
elisp function subrs
* module/language/elisp/boot.el (null, consp, listp, car, cdr)
(make-symbol, signal): Use `%funcall' instead of `funcall' or `fset'.
(symbolp, symbol-function, eval): Use `%funcall', since `funcall' now
calls these functions.
(functionp, %indirect-function): New functions.
(funcall): Define in terms of `%funcall' and `%indirect-function'.
(apply): New function. Previously defined in
"module/language/elisp/runtime/subrs.scm".
(fset): If `definition' is not a function, set the function cell of
`symbol' to an falias for `definition'.
* module/language/elisp/falias.scm: New file.
* module/language/elisp/subrs.scm: Remove file.
(apply): Remove. Now defined in "boot.el".
* module/language/elisp/runtime/function-slot.scm: Update module
definition.
* module/Makefile.am: Update.
2011-07-25 13:21:55 -04:00
|
|
|
language/elisp/falias.scm \
|
2009-12-11 10:21:31 +01:00
|
|
|
language/elisp/lexer.scm \
|
|
|
|
|
language/elisp/parser.scm \
|
|
|
|
|
language/elisp/bindings.scm \
|
|
|
|
|
language/elisp/compile-tree-il.scm \
|
|
|
|
|
language/elisp/runtime.scm \
|
|
|
|
|
language/elisp/runtime/function-slot.scm \
|
|
|
|
|
language/elisp/runtime/value-slot.scm \
|
|
|
|
|
language/elisp/spec.scm
|
|
|
|
|
|
2009-05-23 09:58:54 +02:00
|
|
|
BRAINFUCK_LANG_SOURCES = \
|
|
|
|
|
language/brainfuck/parse.scm \
|
2009-06-21 14:53:33 +02:00
|
|
|
language/brainfuck/compile-scheme.scm \
|
|
|
|
|
language/brainfuck/compile-tree-il.scm \
|
|
|
|
|
language/brainfuck/spec.scm
|
2009-05-23 09:58:54 +02:00
|
|
|
|
2009-04-17 11:19:42 +02:00
|
|
|
SCRIPTS_SOURCES = \
|
|
|
|
|
scripts/compile.scm \
|
|
|
|
|
scripts/disassemble.scm \
|
|
|
|
|
scripts/display-commentary.scm \
|
|
|
|
|
scripts/doc-snarf.scm \
|
|
|
|
|
scripts/frisk.scm \
|
|
|
|
|
scripts/generate-autoload.scm \
|
2011-07-23 18:24:16 +02:00
|
|
|
scripts/help.scm \
|
2009-04-17 11:19:42 +02:00
|
|
|
scripts/lint.scm \
|
2011-05-08 22:51:07 +01:00
|
|
|
scripts/list.scm \
|
2009-04-17 11:19:42 +02:00
|
|
|
scripts/punify.scm \
|
|
|
|
|
scripts/read-scheme-source.scm \
|
|
|
|
|
scripts/read-text-outline.scm \
|
|
|
|
|
scripts/use2dot.scm \
|
|
|
|
|
scripts/snarf-check-and-output-texi.scm \
|
|
|
|
|
scripts/summarize-guile-TODO.scm \
|
|
|
|
|
scripts/api-diff.scm \
|
|
|
|
|
scripts/read-rfc822.scm \
|
|
|
|
|
scripts/snarf-guile-m4-docs.scm
|
|
|
|
|
|
Add Boucher's `lalr-scm' as the `(system base lalr)' module.
Taken from r51 of <http://lalr-scm.googlecode.com/svn/trunk>.
* module/Makefile.am (SYSTEM_BASE_SOURCES): Add `system/base/lalr.scm'.
(NOCOMP_SOURCES): Add `system/base/lalr.upstream.scm'.
* module/system/base/lalr.scm, module/system/base/lalr.upstream.scm: New
files.
* test-suite/Makefile.am (LALR_TESTS, LALR_EXTRA, TESTS,
TESTS_ENVIRONMENT): New variables.
(EXTRA_DIST): Add $(LALR_EXTRA).
* test-suite/lalr/common-test.scm,
test-suite/lalr/glr-test.scm,
test-suite/lalr/test-glr-associativity.scm,
test-suite/lalr/test-glr-basics-01.scm,
test-suite/lalr/test-glr-basics-02.scm,
test-suite/lalr/test-glr-basics-03.scm,
test-suite/lalr/test-glr-basics-04.scm,
test-suite/lalr/test-glr-basics-05.scm,
test-suite/lalr/test-glr-script-expression.scm,
test-suite/lalr/test-glr-single-expressions.scm,
test-suite/lalr/test-lr-associativity-01.scm,
test-suite/lalr/test-lr-associativity-02.scm,
test-suite/lalr/test-lr-associativity-03.scm,
test-suite/lalr/test-lr-associativity-04.scm,
test-suite/lalr/test-lr-basics-01.scm,
test-suite/lalr/test-lr-basics-02.scm,
test-suite/lalr/test-lr-basics-03.scm,
test-suite/lalr/test-lr-basics-04.scm,
test-suite/lalr/test-lr-basics-05.scm,
test-suite/lalr/test-lr-error-recovery-01.scm,
test-suite/lalr/test-lr-error-recovery-02.scm,
test-suite/lalr/test-lr-no-clause.scm,
test-suite/lalr/test-lr-script-expression.scm,
test-suite/lalr/test-lr-single-expressions.scm: New files.
2010-03-31 00:41:28 +02:00
|
|
|
SYSTEM_BASE_SOURCES = \
|
really boot primitive-eval from scheme.
* libguile/eval.c (scm_primitive_eval, scm_c_primitive_eval):
(scm_init_eval): Rework so that scm_primitive_eval always calls out to
the primitive-eval variable. The previous definition is the default
value, which is probably overridden by scm_init_eval_in_scheme.
* libguile/init.c (scm_i_init_guile): Move ports and load-path up, so we
can debug when initing eval. Call scm_init_eval_in_scheme. Awesome.
* libguile/load.h:
* libguile/load.c (scm_init_eval_in_scheme): New procedure, loads up
ice-9/eval.scm to replace the primitive-eval definition, if everything
is there and up-to-date.
* libguile/modules.c (scm_module_transformer): Export to Scheme, so it's
there for eval.go.
* module/ice-9/boot-9.scm: No need to define module-transformer.
* module/ice-9/eval.scm (capture-env): Only reference the-root-module if
modules are booted.
(primitive-eval): Inline a definition for identity. Throw a more
standard error for "wrong number of arguments".
* module/ice-9/psyntax.scm (chi-install-global): The macro binding for a
syncase macro is now a pair: the transformer, and the module that was
current when the transformer was installed. The latter is used for
hygiene purposes, replacing the use of procedure-module, which didn't
work with the interpreter's shared-code closures.
(chi-macro): Adapt for the binding being a pair, and get the hygiene
from the cdr.
(eval-local-transformer): Adapt to new form of macro bindings.
* module/ice-9/psyntax-pp.scm: Regenerated.
* .gitignore: Ignore eval.go.stamp.
* module/Makefile.am: Reorder for fastest serial compilation, now that
there are no ordering constraints. I did a number of experiments here
and this seems to be the best; but the bulk of the time is compiling
psyntax-pp.scm with eval.scm. Not so great.
* libguile/vm-engine.c (vm-engine): Throw a more standard error for
"wrong type to apply".
* test-suite/tests/gc.test ("gc"): Remove a hack that shouldn't affect
the new evaluator, and throw in another (gc) for good measure.
* test-suite/tests/goops.test ("defining classes"):
* test-suite/tests/hooks.test (proc1): We can't currently check what the
arity is of a closure made by eval.scm -- or more accurately all
closures have 0 required args and no rest args. So punt for now.
* test-suite/tests/syntax.test ("letrec"): The scheme evaluator can't
check that a variable is unbound, currently; perhaps the full "fixing
letrec" expansion could fix this. But barring that, punt.
2009-12-01 23:54:25 +01:00
|
|
|
system/base/pmatch.scm \
|
|
|
|
|
system/base/syntax.scm \
|
|
|
|
|
system/base/compile.scm \
|
|
|
|
|
system/base/language.scm \
|
Add Boucher's `lalr-scm' as the `(system base lalr)' module.
Taken from r51 of <http://lalr-scm.googlecode.com/svn/trunk>.
* module/Makefile.am (SYSTEM_BASE_SOURCES): Add `system/base/lalr.scm'.
(NOCOMP_SOURCES): Add `system/base/lalr.upstream.scm'.
* module/system/base/lalr.scm, module/system/base/lalr.upstream.scm: New
files.
* test-suite/Makefile.am (LALR_TESTS, LALR_EXTRA, TESTS,
TESTS_ENVIRONMENT): New variables.
(EXTRA_DIST): Add $(LALR_EXTRA).
* test-suite/lalr/common-test.scm,
test-suite/lalr/glr-test.scm,
test-suite/lalr/test-glr-associativity.scm,
test-suite/lalr/test-glr-basics-01.scm,
test-suite/lalr/test-glr-basics-02.scm,
test-suite/lalr/test-glr-basics-03.scm,
test-suite/lalr/test-glr-basics-04.scm,
test-suite/lalr/test-glr-basics-05.scm,
test-suite/lalr/test-glr-script-expression.scm,
test-suite/lalr/test-glr-single-expressions.scm,
test-suite/lalr/test-lr-associativity-01.scm,
test-suite/lalr/test-lr-associativity-02.scm,
test-suite/lalr/test-lr-associativity-03.scm,
test-suite/lalr/test-lr-associativity-04.scm,
test-suite/lalr/test-lr-basics-01.scm,
test-suite/lalr/test-lr-basics-02.scm,
test-suite/lalr/test-lr-basics-03.scm,
test-suite/lalr/test-lr-basics-04.scm,
test-suite/lalr/test-lr-basics-05.scm,
test-suite/lalr/test-lr-error-recovery-01.scm,
test-suite/lalr/test-lr-error-recovery-02.scm,
test-suite/lalr/test-lr-no-clause.scm,
test-suite/lalr/test-lr-script-expression.scm,
test-suite/lalr/test-lr-single-expressions.scm: New files.
2010-03-31 00:41:28 +02:00
|
|
|
system/base/lalr.scm \
|
2011-05-30 21:28:30 +02:00
|
|
|
system/base/message.scm \
|
2012-11-10 14:35:49 -05:00
|
|
|
system/base/target.scm \
|
|
|
|
|
system/base/ck.scm
|
really boot primitive-eval from scheme.
* libguile/eval.c (scm_primitive_eval, scm_c_primitive_eval):
(scm_init_eval): Rework so that scm_primitive_eval always calls out to
the primitive-eval variable. The previous definition is the default
value, which is probably overridden by scm_init_eval_in_scheme.
* libguile/init.c (scm_i_init_guile): Move ports and load-path up, so we
can debug when initing eval. Call scm_init_eval_in_scheme. Awesome.
* libguile/load.h:
* libguile/load.c (scm_init_eval_in_scheme): New procedure, loads up
ice-9/eval.scm to replace the primitive-eval definition, if everything
is there and up-to-date.
* libguile/modules.c (scm_module_transformer): Export to Scheme, so it's
there for eval.go.
* module/ice-9/boot-9.scm: No need to define module-transformer.
* module/ice-9/eval.scm (capture-env): Only reference the-root-module if
modules are booted.
(primitive-eval): Inline a definition for identity. Throw a more
standard error for "wrong number of arguments".
* module/ice-9/psyntax.scm (chi-install-global): The macro binding for a
syncase macro is now a pair: the transformer, and the module that was
current when the transformer was installed. The latter is used for
hygiene purposes, replacing the use of procedure-module, which didn't
work with the interpreter's shared-code closures.
(chi-macro): Adapt for the binding being a pair, and get the hygiene
from the cdr.
(eval-local-transformer): Adapt to new form of macro bindings.
* module/ice-9/psyntax-pp.scm: Regenerated.
* .gitignore: Ignore eval.go.stamp.
* module/Makefile.am: Reorder for fastest serial compilation, now that
there are no ordering constraints. I did a number of experiments here
and this seems to be the best; but the bulk of the time is compiling
psyntax-pp.scm with eval.scm. Not so great.
* libguile/vm-engine.c (vm-engine): Throw a more standard error for
"wrong type to apply".
* test-suite/tests/gc.test ("gc"): Remove a hack that shouldn't affect
the new evaluator, and throw in another (gc) for good measure.
* test-suite/tests/goops.test ("defining classes"):
* test-suite/tests/hooks.test (proc1): We can't currently check what the
arity is of a closure made by eval.scm -- or more accurately all
closures have 0 required args and no rest args. So punt for now.
* test-suite/tests/syntax.test ("letrec"): The scheme evaluator can't
check that a variable is unbound, currently; perhaps the full "fixing
letrec" expansion could fix this. But barring that, punt.
2009-12-01 23:54:25 +01:00
|
|
|
|
2009-04-24 19:16:06 +02:00
|
|
|
ICE_9_SOURCES = \
|
|
|
|
|
ice-9/r5rs.scm \
|
2010-06-11 23:04:42 +02:00
|
|
|
ice-9/deprecated.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/and-let-star.scm \
|
2011-02-18 15:52:02 +01:00
|
|
|
ice-9/binary-ports.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/calling.scm \
|
2011-04-14 16:06:07 +02:00
|
|
|
ice-9/command-line.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/common-list.scm \
|
2010-01-31 00:02:00 +01:00
|
|
|
ice-9/control.scm \
|
2010-04-08 00:36:53 +02:00
|
|
|
ice-9/curried-definitions.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/debug.scm \
|
|
|
|
|
ice-9/documentation.scm \
|
2011-03-05 23:16:11 +01:00
|
|
|
ice-9/eval-string.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/expect.scm \
|
|
|
|
|
ice-9/format.scm \
|
2010-12-03 00:35:15 +01:00
|
|
|
ice-9/futures.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/getopt-long.scm \
|
|
|
|
|
ice-9/hcons.scm \
|
|
|
|
|
ice-9/i18n.scm \
|
2013-01-10 22:50:27 +01:00
|
|
|
ice-9/iconv.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/lineio.scm \
|
|
|
|
|
ice-9/ls.scm \
|
|
|
|
|
ice-9/mapping.scm \
|
|
|
|
|
ice-9/match.scm \
|
|
|
|
|
ice-9/networking.scm \
|
|
|
|
|
ice-9/null.scm \
|
|
|
|
|
ice-9/occam-channel.scm \
|
|
|
|
|
ice-9/optargs.scm \
|
2011-04-15 17:04:02 -04:00
|
|
|
ice-9/peg/simplify-tree.scm \
|
|
|
|
|
ice-9/peg/codegen.scm \
|
|
|
|
|
ice-9/peg/cache.scm \
|
|
|
|
|
ice-9/peg/using-parsers.scm \
|
|
|
|
|
ice-9/peg/string-peg.scm \
|
2013-01-16 10:11:15 +01:00
|
|
|
ice-9/peg.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/poe.scm \
|
2010-12-03 13:09:43 +01:00
|
|
|
ice-9/poll.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/posix.scm \
|
|
|
|
|
ice-9/q.scm \
|
|
|
|
|
ice-9/rdelim.scm \
|
|
|
|
|
ice-9/receive.scm \
|
|
|
|
|
ice-9/regex.scm \
|
|
|
|
|
ice-9/runq.scm \
|
|
|
|
|
ice-9/rw.scm \
|
|
|
|
|
ice-9/safe-r5rs.scm \
|
|
|
|
|
ice-9/safe.scm \
|
2010-06-19 12:57:31 +02:00
|
|
|
ice-9/save-stack.scm \
|
2010-06-10 23:28:23 +02:00
|
|
|
ice-9/scm-style-repl.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/session.scm \
|
|
|
|
|
ice-9/slib.scm \
|
|
|
|
|
ice-9/stack-catch.scm \
|
|
|
|
|
ice-9/streams.scm \
|
|
|
|
|
ice-9/string-fun.scm \
|
|
|
|
|
ice-9/syncase.scm \
|
|
|
|
|
ice-9/threads.scm \
|
2010-06-22 23:50:27 +02:00
|
|
|
ice-9/top-repl.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
ice-9/buffered-input.scm \
|
|
|
|
|
ice-9/time.scm \
|
|
|
|
|
ice-9/history.scm \
|
|
|
|
|
ice-9/channel.scm \
|
|
|
|
|
ice-9/pretty-print.scm \
|
|
|
|
|
ice-9/ftw.scm \
|
|
|
|
|
ice-9/gap-buffer.scm \
|
|
|
|
|
ice-9/weak-vector.scm \
|
|
|
|
|
ice-9/list.scm \
|
|
|
|
|
ice-9/serialize.scm \
|
2012-01-03 04:02:08 -05:00
|
|
|
ice-9/local-eval.scm
|
2009-04-24 19:16:06 +02:00
|
|
|
|
2013-03-29 19:04:56 +01:00
|
|
|
if BUILD_ICE_9_POPEN
|
2012-11-23 23:37:29 +01:00
|
|
|
|
|
|
|
|
# This functionality is missing on systems without `fork'---i.e., Windows.
|
|
|
|
|
ICE_9_SOURCES += ice-9/popen.scm
|
|
|
|
|
|
2013-03-29 19:04:56 +01:00
|
|
|
# These modules rely on (ice-9 popen).
|
|
|
|
|
SCRIPTS_SOURCES += \
|
|
|
|
|
scripts/autofrisk.scm \
|
|
|
|
|
scripts/scan-api.scm
|
|
|
|
|
|
|
|
|
|
endif BUILD_ICE_9_POPEN
|
2012-11-23 23:37:29 +01:00
|
|
|
|
2009-04-24 19:16:06 +02:00
|
|
|
SRFI_SOURCES = \
|
|
|
|
|
srfi/srfi-2.scm \
|
|
|
|
|
srfi/srfi-4.scm \
|
2009-07-18 13:26:18 +02:00
|
|
|
srfi/srfi-4/gnu.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
srfi/srfi-6.scm \
|
|
|
|
|
srfi/srfi-8.scm \
|
|
|
|
|
srfi/srfi-9.scm \
|
2010-05-26 21:25:48 -05:00
|
|
|
srfi/srfi-9/gnu.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
srfi/srfi-10.scm \
|
|
|
|
|
srfi/srfi-11.scm \
|
|
|
|
|
srfi/srfi-13.scm \
|
|
|
|
|
srfi/srfi-14.scm \
|
|
|
|
|
srfi/srfi-16.scm \
|
|
|
|
|
srfi/srfi-17.scm \
|
2009-04-26 11:35:23 +02:00
|
|
|
srfi/srfi-18.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
srfi/srfi-19.scm \
|
|
|
|
|
srfi/srfi-26.scm \
|
2010-09-27 22:15:51 +02:00
|
|
|
srfi/srfi-27.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
srfi/srfi-31.scm \
|
|
|
|
|
srfi/srfi-34.scm \
|
|
|
|
|
srfi/srfi-35.scm \
|
|
|
|
|
srfi/srfi-37.scm \
|
2010-11-03 00:19:54 +01:00
|
|
|
srfi/srfi-38.scm \
|
2013-03-26 22:15:31 -04:00
|
|
|
srfi/srfi-41.scm \
|
2010-10-03 12:06:38 +02:00
|
|
|
srfi/srfi-42.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
srfi/srfi-39.scm \
|
2010-10-03 21:54:22 +02:00
|
|
|
srfi/srfi-45.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
srfi/srfi-60.scm \
|
2010-10-03 12:14:21 +02:00
|
|
|
srfi/srfi-67.scm \
|
2009-04-24 19:16:06 +02:00
|
|
|
srfi/srfi-69.scm \
|
2009-06-05 10:32:52 +02:00
|
|
|
srfi/srfi-88.scm \
|
|
|
|
|
srfi/srfi-98.scm
|
2009-04-24 19:16:06 +02:00
|
|
|
|
2009-05-27 18:18:07 +02:00
|
|
|
RNRS_SOURCES = \
|
2010-06-16 22:20:28 +02:00
|
|
|
rnrs/base.scm \
|
|
|
|
|
rnrs/conditions.scm \
|
|
|
|
|
rnrs/control.scm \
|
|
|
|
|
rnrs/enums.scm \
|
|
|
|
|
rnrs/eval.scm \
|
|
|
|
|
rnrs/exceptions.scm \
|
|
|
|
|
rnrs/files.scm \
|
|
|
|
|
rnrs/hashtables.scm \
|
|
|
|
|
rnrs/lists.scm \
|
|
|
|
|
rnrs/mutable-pairs.scm \
|
|
|
|
|
rnrs/mutable-strings.scm \
|
|
|
|
|
rnrs/programs.scm \
|
|
|
|
|
rnrs/r5rs.scm \
|
|
|
|
|
rnrs/sorting.scm \
|
|
|
|
|
rnrs/syntax-case.scm \
|
|
|
|
|
rnrs/unicode.scm \
|
|
|
|
|
rnrs/arithmetic/bitwise.scm \
|
|
|
|
|
rnrs/arithmetic/fixnums.scm \
|
|
|
|
|
rnrs/arithmetic/flonums.scm \
|
2010-06-01 14:04:01 +02:00
|
|
|
rnrs/bytevectors.scm \
|
2010-06-16 22:20:28 +02:00
|
|
|
rnrs/io/simple.scm \
|
2010-03-19 20:03:46 -04:00
|
|
|
rnrs/io/ports.scm \
|
2010-06-16 22:20:28 +02:00
|
|
|
rnrs/records/inspection.scm \
|
|
|
|
|
rnrs/records/procedural.scm \
|
2011-02-22 00:05:05 +01:00
|
|
|
rnrs/records/syntactic.scm \
|
|
|
|
|
rnrs.scm
|
2009-05-27 18:18:07 +02:00
|
|
|
|
2009-04-17 11:19:42 +02:00
|
|
|
EXTRA_DIST += scripts/ChangeLog-2008
|
|
|
|
|
EXTRA_DIST += scripts/README
|
|
|
|
|
|
2009-04-24 19:16:06 +02:00
|
|
|
OOP_SOURCES = \
|
|
|
|
|
oop/goops.scm \
|
|
|
|
|
oop/goops/active-slot.scm \
|
|
|
|
|
oop/goops/compile.scm \
|
|
|
|
|
oop/goops/composite-slot.scm \
|
|
|
|
|
oop/goops/describe.scm \
|
|
|
|
|
oop/goops/dispatch.scm \
|
|
|
|
|
oop/goops/internal.scm \
|
|
|
|
|
oop/goops/save.scm \
|
|
|
|
|
oop/goops/stklos.scm \
|
|
|
|
|
oop/goops/util.scm \
|
|
|
|
|
oop/goops/accessors.scm \
|
|
|
|
|
oop/goops/simple.scm
|
|
|
|
|
|
2010-01-12 00:18:24 +01:00
|
|
|
SYSTEM_SOURCES = \
|
|
|
|
|
system/vm/inspect.scm \
|
2010-05-02 14:17:41 +02:00
|
|
|
system/vm/coverage.scm \
|
2012-05-23 20:25:34 +02:00
|
|
|
system/vm/elf.scm \
|
2013-04-17 23:07:04 +02:00
|
|
|
system/vm/linker.scm \
|
2010-01-12 00:18:24 +01:00
|
|
|
system/vm/frame.scm \
|
|
|
|
|
system/vm/instruction.scm \
|
|
|
|
|
system/vm/objcode.scm \
|
|
|
|
|
system/vm/program.scm \
|
|
|
|
|
system/vm/trace.scm \
|
2010-09-17 13:33:47 +02:00
|
|
|
system/vm/traps.scm \
|
2010-09-19 11:16:32 +02:00
|
|
|
system/vm/trap-state.scm \
|
2012-05-28 12:37:56 +02:00
|
|
|
system/vm/assembler.scm \
|
2013-05-01 22:17:51 +02:00
|
|
|
system/vm/debug.scm \
|
2013-05-01 22:45:19 +02:00
|
|
|
system/vm/disassembler.scm \
|
2010-01-12 00:18:24 +01:00
|
|
|
system/vm/vm.scm \
|
2010-01-18 12:16:13 +01:00
|
|
|
system/foreign.scm \
|
2010-01-12 00:18:24 +01:00
|
|
|
system/xref.scm \
|
integrate the debugger into the repl
* module/system/repl/debug.scm: New file, defines a data type to hold
state for a debugger stack, and some helper procedures to print the
stack or print a frame. Most pieces are from (system vm debug).
* module/system/repl/error-handling.scm: New file, implements
call-with-error-handling and with-error-handling, and instead of going
into a debugger, we go into a recursive repl that happens to have
debugging information. Will be removing the old debugger from (system
vm debug) shortly.
* module/Makefile.am (SYSTEM_SOURCES): Add error-handling and debug scm
files.
* module/system/repl/repl.scm (prompting-meta-read): Better error
handling -- we don't want to go into a debugger when reading a
command.
(start-repl): Add #:debug keyword argument, and just dispatch to
run-repl.
(run-repl): New function, with the guts of the old start-repl. Added a
prompt, to which a throw to 'quit will abort.
* module/system/repl/common.scm (repl-prepare-eval-thunk): New
helper. In the future we will use this to not enter the debugger on
errors that happen at compile time.
(repl-eval): Use repl-prepare-eval-thunk.
(repl-print): Run the before-print-hook when printing a value.
* module/system/repl/command.scm (*command-table*): Move `option' to the
`system' group. Move `trace' to the `profile' group. Add `debug' and
`inspect' groups.
(command-abbrevs): Rename from command-abbrev, and allow multiple
abbreviations.
(display-group): Fix the case where abbrev? was #f.
(display-summary): Fix alignment of the command and
abbreviations. Allow multiple abbreviations.
(read-command): Rename from read-datum, and have better error
handling.
(meta-command): Better error handling.
(define-meta-command): Better error handling.
(help, show, import, compile, disassemble, time, profile, trace): Fix
docstrings and error messages.
(define-stack-command): New helper, for commands that operate on a
saved stack.
(backtrace, up, down, frame, procedure, locals): New debugger
commands, in the REPL now.
(inspect, pretty-print): New "inspect" commands.
2010-07-09 17:04:34 +02:00
|
|
|
system/repl/debug.scm \
|
|
|
|
|
system/repl/error-handling.scm \
|
2010-01-12 00:18:24 +01:00
|
|
|
system/repl/common.scm \
|
integrate the debugger into the repl
* module/system/repl/debug.scm: New file, defines a data type to hold
state for a debugger stack, and some helper procedures to print the
stack or print a frame. Most pieces are from (system vm debug).
* module/system/repl/error-handling.scm: New file, implements
call-with-error-handling and with-error-handling, and instead of going
into a debugger, we go into a recursive repl that happens to have
debugging information. Will be removing the old debugger from (system
vm debug) shortly.
* module/Makefile.am (SYSTEM_SOURCES): Add error-handling and debug scm
files.
* module/system/repl/repl.scm (prompting-meta-read): Better error
handling -- we don't want to go into a debugger when reading a
command.
(start-repl): Add #:debug keyword argument, and just dispatch to
run-repl.
(run-repl): New function, with the guts of the old start-repl. Added a
prompt, to which a throw to 'quit will abort.
* module/system/repl/common.scm (repl-prepare-eval-thunk): New
helper. In the future we will use this to not enter the debugger on
errors that happen at compile time.
(repl-eval): Use repl-prepare-eval-thunk.
(repl-print): Run the before-print-hook when printing a value.
* module/system/repl/command.scm (*command-table*): Move `option' to the
`system' group. Move `trace' to the `profile' group. Add `debug' and
`inspect' groups.
(command-abbrevs): Rename from command-abbrev, and allow multiple
abbreviations.
(display-group): Fix the case where abbrev? was #f.
(display-summary): Fix alignment of the command and
abbreviations. Allow multiple abbreviations.
(read-command): Rename from read-datum, and have better error
handling.
(meta-command): Better error handling.
(define-meta-command): Better error handling.
(help, show, import, compile, disassemble, time, profile, trace): Fix
docstrings and error messages.
(define-stack-command): New helper, for commands that operate on a
saved stack.
(backtrace, up, down, frame, procedure, locals): New debugger
commands, in the REPL now.
(inspect, pretty-print): New "inspect" commands.
2010-07-09 17:04:34 +02:00
|
|
|
system/repl/command.scm \
|
2010-10-10 12:15:34 +02:00
|
|
|
system/repl/repl.scm \
|
|
|
|
|
system/repl/server.scm
|
2009-04-24 23:10:31 +02:00
|
|
|
|
2009-12-21 00:01:13 +01:00
|
|
|
LIB_SOURCES = \
|
|
|
|
|
statprof.scm \
|
|
|
|
|
sxml/apply-templates.scm \
|
|
|
|
|
sxml/fold.scm \
|
2010-05-24 23:13:16 +02:00
|
|
|
sxml/match.scm \
|
2009-12-21 00:01:13 +01:00
|
|
|
sxml/simple.scm \
|
|
|
|
|
sxml/ssax/input-parse.scm \
|
|
|
|
|
sxml/ssax.scm \
|
|
|
|
|
sxml/transform.scm \
|
|
|
|
|
sxml/xpath.scm \
|
|
|
|
|
texinfo.scm \
|
|
|
|
|
texinfo/docbook.scm \
|
|
|
|
|
texinfo/html.scm \
|
|
|
|
|
texinfo/indexing.scm \
|
|
|
|
|
texinfo/string-utils.scm \
|
|
|
|
|
texinfo/plain-text.scm \
|
|
|
|
|
texinfo/reflection.scm \
|
|
|
|
|
texinfo/serialize.scm
|
|
|
|
|
|
2010-10-15 20:56:42 +02:00
|
|
|
WEB_SOURCES = \
|
2011-07-15 12:49:46 +02:00
|
|
|
web/client.scm \
|
2010-10-24 12:36:17 +02:00
|
|
|
web/http.scm \
|
2010-10-22 00:06:32 +02:00
|
|
|
web/request.scm \
|
2010-10-22 01:06:54 +02:00
|
|
|
web/response.scm \
|
2010-11-12 12:07:24 +01:00
|
|
|
web/server.scm \
|
|
|
|
|
web/server/http.scm \
|
2010-10-15 20:56:42 +02:00
|
|
|
web/uri.scm
|
|
|
|
|
|
2009-04-24 19:16:06 +02:00
|
|
|
EXTRA_DIST += oop/ChangeLog-2008
|
|
|
|
|
|
2011-06-12 17:19:02 -04:00
|
|
|
ELISP_SOURCES = \
|
|
|
|
|
language/elisp/boot.el
|
|
|
|
|
|
Aggregate makefiles for `module/system' and `module/language'.
* am/guilec (.scm.go): Create the target's directory, in case
$(builddir) != $(srcdir).
* configure.in: Don't output any makefile under `module/system' or
`module/language'.
* module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.'
to the front.
(modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
variables, taken from former `Makefile.am' files in sub-directories.
2009-02-24 23:52:57 +01:00
|
|
|
NOCOMP_SOURCES = \
|
2010-06-17 00:06:20 +02:00
|
|
|
ice-9/match.upstream.scm \
|
2009-12-21 00:01:13 +01:00
|
|
|
ice-9/psyntax.scm \
|
2010-02-06 12:33:20 -05:00
|
|
|
ice-9/r6rs-libraries.scm \
|
2009-12-21 00:01:13 +01:00
|
|
|
ice-9/quasisyntax.scm \
|
2010-10-03 12:06:38 +02:00
|
|
|
srfi/srfi-42/ec.scm \
|
2010-10-03 12:14:21 +02:00
|
|
|
srfi/srfi-67/compare.scm \
|
Add Boucher's `lalr-scm' as the `(system base lalr)' module.
Taken from r51 of <http://lalr-scm.googlecode.com/svn/trunk>.
* module/Makefile.am (SYSTEM_BASE_SOURCES): Add `system/base/lalr.scm'.
(NOCOMP_SOURCES): Add `system/base/lalr.upstream.scm'.
* module/system/base/lalr.scm, module/system/base/lalr.upstream.scm: New
files.
* test-suite/Makefile.am (LALR_TESTS, LALR_EXTRA, TESTS,
TESTS_ENVIRONMENT): New variables.
(EXTRA_DIST): Add $(LALR_EXTRA).
* test-suite/lalr/common-test.scm,
test-suite/lalr/glr-test.scm,
test-suite/lalr/test-glr-associativity.scm,
test-suite/lalr/test-glr-basics-01.scm,
test-suite/lalr/test-glr-basics-02.scm,
test-suite/lalr/test-glr-basics-03.scm,
test-suite/lalr/test-glr-basics-04.scm,
test-suite/lalr/test-glr-basics-05.scm,
test-suite/lalr/test-glr-script-expression.scm,
test-suite/lalr/test-glr-single-expressions.scm,
test-suite/lalr/test-lr-associativity-01.scm,
test-suite/lalr/test-lr-associativity-02.scm,
test-suite/lalr/test-lr-associativity-03.scm,
test-suite/lalr/test-lr-associativity-04.scm,
test-suite/lalr/test-lr-basics-01.scm,
test-suite/lalr/test-lr-basics-02.scm,
test-suite/lalr/test-lr-basics-03.scm,
test-suite/lalr/test-lr-basics-04.scm,
test-suite/lalr/test-lr-basics-05.scm,
test-suite/lalr/test-lr-error-recovery-01.scm,
test-suite/lalr/test-lr-error-recovery-02.scm,
test-suite/lalr/test-lr-no-clause.scm,
test-suite/lalr/test-lr-script-expression.scm,
test-suite/lalr/test-lr-single-expressions.scm: New files.
2010-03-31 00:41:28 +02:00
|
|
|
system/base/lalr.upstream.scm \
|
2009-12-21 00:01:13 +01:00
|
|
|
system/repl/describe.scm \
|
2010-05-24 23:13:16 +02:00
|
|
|
sxml/sxml-match.ss \
|
2009-12-21 00:01:13 +01:00
|
|
|
sxml/upstream/SSAX.scm \
|
|
|
|
|
sxml/upstream/SXML-tree-trans.scm \
|
|
|
|
|
sxml/upstream/SXPath-old.scm \
|
|
|
|
|
sxml/upstream/assert.scm \
|
|
|
|
|
sxml/upstream/input-parse.scm
|