Commit Graph

14 Commits

Author SHA1 Message Date
dybvig
0a5700cef6 support for internal fasl compression to allow seeking past compile-time info at run time and run-time info at compile time
- the collector now releases bignum temporaries in the collector
  rather than relocating them so we don't keep around huge bignum
  temporaries forever.
     gc.c
- removed the presumably useless vector-handling code from load()
  which used to be required to handle fasl groups.
     scheme.c
- object files are no longer compressed as a whole, and the parameter
  compile-compressed is no longer defined.  instead, the individual
  fasl objects within an object file are compressed whenever the
  new parameter fasl-compressed is set to its default value, #t.
  this allows the fasl reader to seek past portions of an object
  file that are not of interest, i.e., visit-only code and data
  when "revisiting" an object file and revisit-only code and data
  when "visiting" an object file.  the compressed portions are
  compressed using the format and level specified by the compress-format
  and compress-level parameters.  the C-coded fasl reader and
  boot-file loader no longer handle compressed files; these are
  handled, less efficiently, by the Scheme entry point (fasl-read).
  a warning exception is raised the first time a program attempts
  to create or read a compressed fasl file.
    7.ss, s/Mf-base, back.ss, bytevector.ss, cmacros.ss, compile.ss,
    fasl-helpers.ss, fasl.ss, primdata.ss, strip.ss, syntax.ss,
    externs.h, fasl.c, gc.c, scheme.c, thread.c,
    mats/6.ms, mats/7.ms, mats/bytevector.ms, mats/misc.ms, patch*,
    root-experr*,
    intro.stex, use.stex, io.stex, system.stex,
    release_notes.stex
- added begin wrappers around many of the Scheme source files that
  contained multiple expressions to cut down the number of top-level
  fasl objects and increase compressibility.  also removed the
  string filenames for debugging at the start of each file that had
  one---these are best inserted universally by a modified compile-file
  during a debugging session when desired.  also removed unnecessary
  top-level placeholder definitions for the assignments that follow.
    4.ss, 5_1.ss, 5_2.ss, 5_3.ss, 5_7.ss, 6.ss, 7.ss, bytevector.ss,
    cafe.ss, cback.ss, compile.ss, cp0.ss, cpcommonize.ss, cpletrec.ss,
    cpnanopass.ss, cprep.ss, cpvalid.ss, date.ss, engine.ss, enum.ss,
    env.ss, event.ss, exceptions.ss, expeditor.ss, fasl.ss, foreign.ss,
    format.ss, front.ss, ftype.ss, inspect.ss, interpret.ss, io.ss,
    library.ss, mathprims.ss, newhash.ss, pdhtml.ss, pretty.ss,
    prims.ss, primvars.ss, print.ss, read.ss, record.ss, reloc.ss,
    strnum.ss, syntax.ss, trace.ss

original commit: b7f161bf2939dfedce8accbfa82b92dbe011d32a
2020-03-04 16:53:35 -05:00
Jamie Taylor
3e1ee3c681 Add concatenate-object-files procedure.
In previous versions of Chez Scheme, multiple object files could be
combined by concatinating them into a single file.  To support faster
object file loading and loadability verification, recompile information
and information about libraries and top-level programs within an object
file is now placed at the top of the file.  The new
concatenate-object-files procedure can be used to combine multiple object
files while moving this information to the top of the combined file.

original commit: d4ef2ad9393578ff3ffe3b712736bc6a4ae7b8eb
2020-02-18 14:51:38 -05:00
dyb
33e1149d44 clarified required use of scheme-start to start an application
packaged as a boot file and added a short "myecho" example.
  use.stex

original commit: 58c07fdd629a4f45e6d7e1a062a6d9dde7d11050
2019-01-18 10:15:20 -08:00
Bob Burger
ad09be1a6a Updated some copyright years in csug
original commit: 6c738bdfde601b815c296f489697e61c314e4621
2018-06-21 13:44:05 -04:00
Andy Keep
29a9931e9b Small fix to with-output-to-string documentation (thanks @jtaylor-us)
and usage (thanks @ocyzl---issue #280).

original commit: 78b3946d3747a87f1ee3de811170c671c0c2b0c5
2018-05-25 21:46:01 -04:00
Oscar Waddell
3a5a3ab751 fix duplicate words
original commit: 38ade9595fe9771a02b00e22a50cede215a6b9ce
2018-05-22 16:09:14 -04:00
Oscar Waddell
0fa4928592 fix typos
original commit: 014d199a83960f58df1fb2da4c4849b162fc59e1
2018-05-22 16:09:00 -04:00
Bob Burger
4a3e756767 more version number updates
original commit: 35ea1941338338894a05b57cd6656a4b58fc1a17
2017-10-12 10:05:30 -04:00
dybvig
06c7b53344 expanded the CSUG description of the handling of command-line
arguments not recognized as standard options and added a description
of the same to the COMMAND-LINE OPTIONS section of the man page.
did a bit of minor cleanup elsewhere in the man page.
  use.stex, scheme.1.in

original commit: a963a4dbc872be084cbe0ede3f7c361bcabedea5
2017-04-11 13:42:58 -07:00
Bob Burger
831ea8ad18 changed copyright year to 2017
7.ss, scheme.1.in, comments of many files

original commit: 06f858f9a505b9d6fb6ca1ac97234927cb2dc641
2017-04-06 11:41:33 -04:00
dybvig
c2b7d0c5cc - corrected CHEZSCHEMELIBS and CHEZSCHEMEEXTS index entries to be
CHEZSCHEMELIBDIRS and CHEZSCHEMELIBEXTS.
    use.stex

original commit: ce147cc9c68dd87dd1c7ea162e633c60a662f319
2016-05-12 13:29:59 -07:00
Andy Keep
a80f0fb0b3 - added custom install options. workarea creates an empty config.h,
and configure creates a config.h that sets the default scheme heap
  path and scheme-script name based on the actual configuration.
    configure, newrelease, workarea, checkin,
    c/Mf-base, scheme.c, main.c,
    Mf-install.in
- renamed the installed example directory from lib to examples.
    Mf-install.in,
    scheme.1.in
- added force option to gzip during man page install to prevent gzip from
  asking for permission to overwrite existing man page files.
    Mf-install.in
- removed ~/lib/csv%v/%m from the default scheme heap path on unix-like
  systems.  documented inclusion of %x\..\..\boot\%m in the Windows
  default scheme heap path.
    main.c,
    use.stex
- added new configuration options: --installbin, --installlib,
  --installschemename, --installpetitename, and --installscriptname.
    configure
- updated the example library link to the nanopass framework.
    CONTRIBUTING.md
- now cleaning up petite.1 and scheme.1 left behind by make install
    Makefile-workarea.in, checkin
- now removing workarea after cleaning csug and release_notes so
  Mf-stex (included from csug/Makefile and release_notes/Makefile)
  doesn't complain trying to determine the machine type.
    Makefile.in
- added installsh support for --ifdiff so the csug make file can use it
  for the install target.
    installsh,
    csug/Makefile
- added instructions for building (cross-compiling) a boot file for
  a supported machine type for which a boot file is not built by default.
    BUILDING

original commit: df4194c83a9e67d1ec20165fc3e2def4ed8e8986
2016-05-06 18:30:06 -04:00
Bruce Mitchener
0f8d2e6998 Fix typos involving articles.
original commit: 1ada02cc4cadc6b9a7b2b2da4dd326fb0e7518f6
2016-04-28 11:01:10 +07:00
dyb
1356af91b3 initial upload of open-source release
original commit: 47a210c15c63ba9677852269447bd2f2598b51fe
2016-04-26 10:04:54 -04:00