summaryrefslogtreecommitdiff
path: root/module/system/base
Commit message (Collapse)AuthorAgeFilesLines
* prefer compilers earlier in listRobin Templeton2020-04-041-2/+2
| | | | | | (Best-ability ChangeLog annotation added by Christopher Allan Webber.) * module/system/base/compile.scm (find-language-joint): Change order of cond.
* Add -Wshadowed-toplevel.Ludovic Courtès2018-07-241-1/+8
| | | | | | | | | | | | * module/language/tree-il/analyze.scm (shadowed-toplevel-analysis): New variable. * module/language/tree-il/compile-cps.scm (%warning-passes): Add it. * module/system/base/message.scm (%warning-types): Add it. * test-suite/tests/tree-il.test ("warnings")["shadowed-toplevel"]: New test prefix. * module/ice-9/boot-9.scm (%auto-compilation-options): Add it. * doc/ref/api-evaluation.texi (Compilation): Add 'shadowed-toplevel' and 'macro-use-before-definition'.
* types: Recognize 'scm_t_port_type' and decode port type name.Ludovic Courtès2018-06-241-6/+30
| | | | | | | | | | * module/system/base/types.scm (read-c-string, inferior-port-type): New procedures. (inferior-port): Use 'inferior-port-type' to determine the port type. (cell->object): Rename 'flags+type' to 'flags' in the '%tc7-port' case. * test-suite/tests/types.test ("opaque objects"): Adjust port testse. (test-inferior-ports): New macro. ("ports"): New test prefix.
* elisp: Fix cross-compilation support.Mark H Weaver2018-06-111-2/+8
| | | | | | | | | * module/system/base/target.scm (with-native-target): New exported procedure. * module/language/elisp/spec.scm: In the top-level body expression, call 'compile-and-load' within 'with-native-target' to compile native code. * module/language/elisp/compile-tree-il.scm (eval-when-compile, defmacro): Compile native code.
* Recognize RISC-V compilation targets.Shea Levy2018-03-151-0/+2
| | | | | | | * module/system/base/target.scm (cpu-endianness): Add case for "riscv" variants. Signed-off-by: Shea Levy <shea@shealevy.com> Signed-off-by: Mark H Weaver <mhw@netris.org>
* Allow GDB support to be used with GDB-linked-against-Guile-2.0.Ludovic Courtès2017-11-051-10/+20
| | | | | | | | | | * libguile/Makefile.am (INSTANTIATE): New variable. (install-data-hook): Use it. * libguile/libguile-2.2-gdb.scm: Autoload (system vm debug). Augment %load-path and %load-compiled-path, and reload (system base types). * module/system/base/types.scm: Remove #:hide to be 2.0-compatible. Use (system syntax internal) conditionally when on 2.2.
* Use make-struct/no-tail instead of make-structAndy Wingo2017-09-201-1/+1
| | | | | | | | | | | | * module/ice-9/boot-9.scm: * module/language/cps/effects-analysis.scm: * module/language/elisp/falias.scm: * module/language/tree-il.scm: * module/language/tree-il/primitives.scm: * module/rnrs/records/procedural.scm: * module/srfi/srfi-35.scm: * module/system/base/syntax.scm: Change uses of make-struct to make-struct/no-tail.
* types: Hide one of the 'bytevector->string' procedures.Ludovic Courtès2017-04-141-2/+2
| | | | | * module/system/base/types.scm: Hide 'bytevector->string' from (rnrs io ports).
* Add disjoint syntax object typeAndy Wingo2017-03-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | * libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): (DOT_X_FILES, DOT_DOC_FILES, noinst_HEADERS): Add syntax.c and syntax.h. * libguile/evalext.c (scm_self_evaluating_p): * libguile/goops.c (class_syntax, scm_class_of, scm_goops_early_init): * libguile/init.c (scm_init_guile): * libguile/print.c (iprin1): * libguile/tags.h (scm_tc7_syntax): * module/oop/goops.scm (<syntax>): * module/system/base/types.scm (%tc7-syntax, cell->object): * module/system/vm/disassembler.scm (code-annotation): Wire up the new data type. * libguile/syntax.c: * libguile/syntax.h: New files. * module/ice-9/boot-9.scm: Move new definitions to (system syntax internal). * module/system/syntax.scm (print-syntax): New helper. * module/system/vm/assembler.scm (statically-allocatable?) (intern-constant, link-data): Arrange to be able to write syntax objects into images. * module/language/cps/types.scm (&syntax): New type. Remove &hash-table; it was never detected, an internal binding, and we need the bit to avoid going into bignum territory.
* psyntax: Generate identifiers in a deterministic fashion.Mark H Weaver2017-03-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/20272>. * module/ice-9/boot-9.scm (module-generate-unique-id!) (module-gensym): New procedures. (module): Add 'next-unique-id' field. (the-root-module): Inherit 'next-unique-id' value from early stub. (make-module, make-autoload-interface): Adjust calls to module-constructor. * module/ice-9/psyntax.scm (gen-label, new-mark): Generate unique identifiers from the module name and the per-module unique-id. (build-lexical-var, generate-temporaries): Use 'module-gensym' instead of 'gensym'. * module/ice-9/psyntax-pp.scm: Regenerate. * module/language/tree-il/fix-letrec.scm (fix-letrec!): Use 'module-gensym' instead of 'gensym'. * module/system/base/syntax.scm (define-record): Likewise. (transform-record): Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* Recognize sh3 as compilation targetsJohn Paul Adrian Glaubitz2017-03-011-2/+2
| | | | | | | | * module/system/base/target.scm (cpu-endianness, triplet-pointer-size): Add case for "sh3". Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Remove special support for fluids in GDB interfaceAndy Wingo2016-11-261-20/+2
| | | | | | | * module/system/base/types.scm (inferior-fluid?, inferior-fluid-number) (<inferior-fluid>): Remove. Fluids won't have numbers in the future. (cell->object): Adapt. * test-suite/tests/types.test ("opaque objects"): Update.
* Tweak value of tc7-smob.Andy Wingo2016-09-061-1/+1
| | | | | | * libguile/tags.h (scm_tc7_smob): * module/system/base/types.scm (%tc7-smob): Tweak this value, just to prove that it can be done. Remove scary comment.
* Convert tc7 values to hex in tags.h and elsewhereAndy Wingo2016-09-061-23/+23
| | | | | | | * libguile/tags.h: * module/system/base/types.scm: * module/system/vm/assembler.scm: Convert tc7 values to hex. No change otherwise.
* Recognize alpha as compilation targetJames Clarke2016-08-081-2/+2
| | | | | * module/system/base/target.scm (cpu-endianness): Add case for "alpha". (triplet-pointer-size): Likewise.
* Recognize nios2 as compilation targetMarek Vasut2016-08-071-2/+2
| | | | | | Add support for the nios2 architecture. Signed-off-by: Marek Vasut <marex@denx.de>
* Allow mkstemp! to have optional "mode" argumentAndy Wingo2016-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * m4/mkstemp.m4: Remove. * lib/mkstemp.c: Remove. * lib/mkostemp.c: New file. * m4/mkostemp.m4: New file. * lib/Makefile.am: * m4/gnulib-cache.m4: * m4/gnulib-comp.m4: Remove mkstemp module, replace with mkostemp. * libguile/fports.h: * libguile/fports.c (scm_i_mode_to_open_flags): Factor out helper to parse mode string to open flags. (scm_open_file_with_encoding): Use the new helper. * libguile/filesys.c: (scm_i_mkstemp): Adapt to take optional second argument, being a mode string. Use mkostemp. (scm_mkstemp): Backwards compatible shim that calls scm_i_mkstemp. * doc/ref/posix.texi: * NEWS: Update. * module/system/base/compile.scm (call-with-output-file/atomic): Pass "wb" as mode, to cause O_BINARY to be added on MinGW.
* Add -Wmacro-use-before-definitionAndy Wingo2016-06-251-0/+6
| | | | | | | | | | | | | * module/ice-9/boot-9.scm (%auto-compilation-options): * am/guilec (GUILE_WARNINGS): Add -Wmacro-use-before-definition. * module/language/tree-il/analyze.scm (unbound-variable-analysis): Use match-lambda. (<macro-use-info>, macro-use-before-definition-analysis): New analysis. * module/system/base/message.scm (%warning-types): Add macro-use-before-definition warning type. * module/language/tree-il/compile-cps.scm (%warning-passes): Add support for macro-use-before-definition.
* Use source file permissions for compiled filesAndy Wingo2016-06-211-1/+3
| | | | | | * module/system/base/compile.scm (call-with-output-file/atomic): Use the permissions of the source file, if available, as the permissions of the compiled file. Fixes #18477.
* Handle zero-length bytevectors correctly in (system base types).Mark H Weaver2016-05-221-1/+1
| | | | | | * module/system/base/types.scm (cell->object): Use 'get-bytevector-n' instead of 'get-bytevector-all', so that the zero-length case does not return EOF.
* Work around requirement that size be non-zero in GDB 'open-memory'.Mark H Weaver2016-05-221-2/+6
| | | | | * module/system/base/types.scm (memory-port): Handle zero size case specially.
* Use symbols instead of _IONBF values as args to setvbufAndy Wingo2016-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | * libguile/ports.c (scm_setvbuf): Use the symbols `none', `line', and `block' instead of the values `_IONBF', `_IOLBF', and `_IOFBF'. * NEWS: Update. * doc/ref/posix.texi (Ports and File Descriptors): Update setvbuf documentation. * module/ice-9/deprecated.scm (define-deprecated): New helper. (_IONBF, _IOLBF, _IOFBF): Define deprecated values. * benchmark-suite/benchmarks/read.bm ("read"): * benchmark-suite/benchmarks/uniform-vector-read.bm ("uniform-vector-read!"): * libguile/r6rs-ports.c (cbip_fill_input): * module/system/base/types.scm (%ffi-memory-backend): * module/web/client.scm (open-socket-for-uri): * module/web/server/http.scm (http-read): * test-suite/tests/ports.test ("pipe, fdopen, and line buffering"): ("setvbuf"): * test-suite/tests/r6rs-ports.test ("7.2.7 Input Ports"): Update to use non-deprecated interfaces.
* Update statprof documentation; deprecate `with-statprof'Andy Wingo2016-02-011-29/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * module/statprof.scm: Remove most of the commentary, as it was duplicated in the manual and was getting out of date. (stats): Remove self-secs-per-call and cum-secs-per-call fields as they can be computed from the other fields. (statprof-call-data->stats): Adapt. (statprof-stats-self-secs-per-call): (statprof-stats-cum-secs-per-call): New functions. (statprof-display/flat): Don't print the seconds-per-call fields, as we are no longer stopping the clock around call counters. Anyway these times were quite misleading. (with-statprof): Deprecate. It took its keyword arguments at the beginning; very complicated! Better to use the `statprof' function. (`statprof' was introduced after `with-statprof' and then `with-statprof' was adapted to use it.) * doc/ref/statprof.texi (Statprof): Port this documentation away from the automatically generated text and update it for the new interfaces like #:display-style. * module/system/base/syntax.scm (record-case): Remove comment that referenced with-statprof. Add comment indicating that record-case should be replaced. * doc/ref/scheme-using.texi (Profile Commands): Update to mention keyword arguments and to link to the statprof documentation.
* (system base types) knows about variablesAndy Wingo2015-02-171-0/+3
| | | | | | | * module/system/base/types.scm (%tc7-variable): New tc7. (cell->object): Handle tc7-variable. * test-suite/tests/types.test ("opaque objects"): Add a test.
* Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9'Andy Wingo2015-01-222-43/+63
|\
| * Update (system base lalr) from upstream.Ludovic Courtès2014-12-021-40/+59
| | | | | | | | | | | | | | Suggested by Jan Nieuwenhuizen <janneke@gnu.org>. * module/system/base/lalr.upstream.scm: Update from <https://github.com/schemeway/lalr-scm.git>, commit 4c4f149.
| * Recognize m68k, s390x, and sh4 as compilation targetsRob Browning2014-11-191-3/+4
| | | | | | | | | | | | | | * module/system/base/target.scm (cpu-endianness, triplet-pointer-size): Add cases for "m68k", "sh4", and "s390x". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Keywords have a tc7Andy Wingo2015-01-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libguile/tags.h (scm_tc7_keyword): Allocate a tc7, so that the VM can have cheap keyword? tests. * libguile/keywords.c: * libguile/keywords.h: Adapt. * libguile/goops.c (scm_class_of, scm_sys_goops_early_init): Capture <keyword>. * libguile/print.c (iprin1): Inline keyword printer. * libguile/evalext.c (scm_self_evaluating_p): Add keywords here. * libguile/deprecated.h: * libguile/deprecated.c (scm_tc16_keyword): Deprecate. * module/language/cps/compile-bytecode.scm (compile-fun): Add keyword? case, and bitvector? case while we're at it. * module/language/cps/effects-analysis.scm (define-primitive-effects): Add bytevector?, keyword?, and bitvector? cases. * module/language/cps/primitives.scm (*branching-primcall-arities*): Add keyword?. * module/language/cps/types.scm (bitvector?, keyword?, bytevector?): Add branch inferrers. * module/language/tree-il/primitives.scm (*interesting-primitive-names*): (*effect-free-primitives*): (*effect+exception-free-primitives*): Add bytevector?, keyword?, and bitvector?. * module/oop/goops.scm (<keyword>): New class. * module/system/base/types.scm (%tc7-keyword, cell->object): Add cases. * module/system/vm/assembler.scm (br-if-keyword): New definition. * module/system/vm/disassembler.scm (code-annotation): Add br-if-tc7 case for keywords. * test-suite/tests/types.test ("clonable objects"): Update now that keywords are cloneable.
* | Merge branch 'stable-2.0'Mark H Weaver2014-09-301-2/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: benchmark-suite/benchmarks/ports.bm libguile/async.h libguile/bytevectors.c libguile/foreign.c libguile/gsubr.c libguile/srfi-1.c libguile/vm-engine.h libguile/vm-i-scheme.c module/Makefile.am module/language/tree-il/analyze.scm module/language/tree-il/peval.scm module/scripts/compile.scm module/scripts/disassemble.scm test-suite/tests/asm-to-bytecode.test test-suite/tests/peval.test test-suite/tests/rdelim.test
| * Recognize more ARM targets.Ludovic Courtès2014-07-041-2/+8
| | | | | | | | | | | | | | | | | | | | | | Suggested by Dale P. Smith. * module/system/base/target.scm (cpu-endianness): Add cases for "arm.*eb", "^aarch64.*be", and "aarch64". Change "arm" case to "arm.*". (triplet-pointer-size): Allow underscore as in 'aarch64_be'. * test-suite/tests/asm-to-bytecode.test ("cross-compilation")["armeb-unknown-linux-gnu", "aarch64-linux-gnu", "aarch64_be-linux-gnu"]: New tests.
| * Recognize arm-* target triplets.Ludovic Courtès2014-07-041-1/+3
| | | | | | | | | | | | | | | | | | Reported by Sylvain Beucler <beuc@beuc.net>. * module/system/base/target.scm (cpu-endianness): Add case where CPU is "arm". * test-suite/tests/asm-to-bytecode.test ("cross-compilation")["arm-unknown-linux-androideabi"]: New test.
* | Merge branch 'stable-2.0'Mark H Weaver2014-04-251-0/+529
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: GUILE-VERSION NEWS guile-readline/ice-9/readline.scm libguile/async.c libguile/backtrace.c libguile/deprecated.h libguile/gc-malloc.c libguile/gdbint.c libguile/init.c libguile/ioext.c libguile/mallocs.c libguile/print.c libguile/rw.c libguile/scmsigs.c libguile/script.c libguile/simpos.c libguile/snarf.h libguile/strports.c libguile/threads.c libguile/vm-i-scheme.c libguile/vm-i-system.c module/srfi/srfi-18.scm test-suite/Makefile.am test-suite/standalone/test-num2integral.c
| * Support weak vectors, arrays, and bitvectors in (system base types).Mark H Weaver2014-04-241-0/+9
| | | | | | | | | | | | * module/system/base/types.scm (%tc7-wvect, %tc7-array, %tc7-bitvector): New variables. (cell->object): Add cases for weak vectors, arrays, and bitvectors.
| * Fix (system base types) on big-endian systems.Mark H Weaver2014-03-151-1/+3
| | | | | | | | | | * module/system/base/types.scm (cell->object): When reading stringbufs, use UTF-32BE on big-endian systems.
| * Add (system base types).Ludovic Courtès2014-02-181-0/+519
| | | | | | | | | | | | * module/system/base/types.scm, test-suite/tests/types.test: New files. * module/Makefile.am (SYSTEM_BASE_SOURCES): Add system/base/types.scm. * test-suite/Makefile.am (SCM_TESTS): Add tests/types.test.
* | Rename "RTL" to "bytecode"Andy Wingo2013-12-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "RTL" didn't make any sense, and now that there's no other bytecode to disambiguate against, just call it bytecode. * module/Makefile.am: * module/ice-9/eval-string.scm: * module/language/bytecode.scm: * module/language/bytecode/spec.scm: * module/language/cps/arities.scm: * module/language/cps/compile-bytecode.scm: * module/language/cps/compile-rtl.scm: * module/language/cps/contification.scm: * module/language/cps/elide-values.scm: * module/language/cps/primitives.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/spec.scm: * module/language/cps/specialize-primcalls.scm: * module/language/rtl.scm: * module/language/rtl/spec.scm: * module/scripts/compile.scm: * module/system/base/compile.scm: * module/system/repl/common.scm: * module/system/vm/assembler.scm: * module/system/vm/debug.scm: * module/system/vm/disassembler.scm: * module/system/vm/dwarf.scm: * test-suite/tests/cross-compilation.test: * test-suite/tests/dwarf.test: * test-suite/tests/rtl-compilation.test: * test-suite/tests/rtl.test: * test-suite/vm/run-vm-tests.scm: Fixups.
* | Rename objcodes?.{scm,c,h} to loader.{scm,c,h}Andy Wingo2013-11-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libguile/loader.c: * libguile/loader.h: Rename from objcodes.[ch]. * module/system/vm/loader.scm: Rename from objcode.scm. * libguile/Makefile.am: * libguile/gsubr.c: * libguile/init.c: * libguile/procs.c: * libguile/vm.c: * module/Makefile.am: * module/ice-9/eval-string.scm: * module/language/rtl/spec.scm: * module/system/base/target.scm: * module/system/repl/command.scm: * module/system/repl/common.scm: * module/system/vm/debug.scm: * module/system/vm/disassembler.scm: * module/system/vm/objcode.scm: * test-suite/tests/compiler.test: * test-suite/tests/dwarf.test: * test-suite/tests/rtl-compilation.test: * test-suite/tests/rtl.test: Adapt.
* | Decompile goes from tree-il to scheme by default.Andy Wingo2013-11-081-2/+2
| | | | | | | | | | * module/system/base/compile.scm (decompile): By default, go from tree-il to Scheme, now that the assembly language is going away.
* | Default to compiling to RTLAndy Wingo2013-10-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | * module/ice-9/eval-string.scm (eval-string) * module/language/tree-il/spec.scm (tree-il) * module/scripts/compile.scm (compile) * module/system/base/compile.scm (compile-file, read-and-compile) * module/system/repl/common.scm (repl-compile, repl-prepare-eval-thunk): Default to compiling to RTL. * module/language/rtl/spec.scm (rtl->value): Add value compiler.
* | compile-file adds #:to-disk? #t to optsAndy Wingo2013-08-241-1/+2
|/ | | | | | | | | * module/system/base/compile.scm (compile-file): Pass #:to-disk? as an option to indicate that the result will be being loaded from disk. Perhaps a linker might want to page-align in that case. * module/language/elisp/compile-tree-il.scm (process-options!): Accept and ignore the #:to-file compiler option.
* use chmod portably in (system base compile)Jason Earl2013-03-101-1/+3
| | | | | * module/system/base/compile.scm (call-with-output-file/atomic): Call chmod with the file name instead of the port.
* Fix handling of the *-gnux32 target.Ludovic Courtès2013-02-281-1/+1
| | | | | | | | * module/system/base/target.scm (triplet-pointer-size): Fix typo in the x32 triplet name. * test-suite/tests/asm-to-bytecode.test (native-os): New procedure. (test-target): Use (native-word-size) only when both the CPU and OS match.
* Recognize the `x86_64.*-gnux32' triplet.Ludovic Courtès2013-02-271-0/+2
| | | | | | | * module/system/base/target.scm (triplet-pointer-size): Add case for "^x64_64-.*-gnux32". * test-suite/tests/asm-to-bytecode.test ("cross-compilation"): ["x86_64-unknown-linux-gnux32"]: New test.
* Check whether a triplet's OS part specifies an ABI.Ludovic Courtès2013-02-271-16/+23
| | | | | | | | | * module/system/base/target.scm (cpu-word-size): Rename to... (triplet-pointer-size): ... this. Update caller. Take a triplet as the argument. Check the `triplet-os' part when checking for equality with the host. Add support "mips64.*-gnuabi64". * test-suite/tests/asm-to-bytecode.test ("cross-compilation") [ "mips64el-unknown-linux-gnuabi64"]: New test.
* Recognize mips64* as having 32-bit pointers by default.Ludovic Courtès2013-02-271-1/+6
| | | | | | | * module/system/base/target.scm (cpu-word-size): Consider MIPS64 to default to n32 or o32. * test-suite/tests/asm-to-bytecode.test ("cross-compilation") ["mips64el-unknown-linux-gnu"]: New test.
* Fix startup of guile.exe on MS-Windows.Eli Zaretskii2013-02-191-1/+2
| | | | | | * module/system/base/compile.scm (call-with-output-file/atomic): Call close-port before deleting the temporary file name, otherwise deletion fails on MS-Windows (cannot delete a file that is still open).
* Add 'for-humans?' flag to <language> specifications.Mark H Weaver2013-01-271-1/+3
| | | | | | | | | | | | * module/system/base/language.scm (<language>): Add 'for-humans?' field, and export new 'language-for-humans?' predicate. * doc/ref/compiler.texi (Compiler Tower): Document. * module/language/assembly/spec.scm, module/language/bytecode/spec.scm, module/language/glil/spec.scm, module/language/objcode/spec.scm, module/language/tree-il/spec.scm, module/language/value/spec.scm: Mark these languages as 'for-humans?'.
* paameterize in read-and-compileAndy Wingo2013-01-221-1/+1
| | | | | * module/system/base/compile.scm (read-and-compile): Use current-language parameter.
* current-language is a parameter in boot-9Andy Wingo2013-01-222-7/+7
| | | | | | | | | | | | | | | | | | | | | * module/ice-9/boot-9.scm (current-language): New parameter. * module/system/base/language.scm (*current-language*): Pull fluid from parameter. (current-language): Now a re-exported parameter. * doc/ref/compiler.texi: Update reference from *current-language* fluid to current-language parameter. * module/system/base/compile.scm (compile-and-load): * module/ice-9/top-repl.scm (top-repl): Default to the current language, not to Scheme. * module/ice-9/eval-string.scm: * module/system/base/language.scm: * module/system/repl/command.scm: * module/system/repl/repl.scm: Update to use current-language parameter and parameterize.
* fix compilation of glil to assemblyAndy Wingo2013-01-221-4/+21
| | | | | | | | | | | | | | | * libguile/vm-i-scheme.c (VM_VALIDATE_STRUCT): Fix the error message if the value was not a struct. * module/system/base/compile.scm (find-language-joint): Default to joining at the target language. (default-language-joiner): Allow sequences of one compiled expression to pass through. Otherwise error as before. (read-and-parse): New helper; actually parses. (read-and-compile): Use read-and-parse, and fall back to default-language-joiner. Thanks to Nala Ginrut for the report.