├── .gitignore ├── .idea ├── .gitignore ├── inspectionProfiles │ └── profiles_settings.xml ├── mimosa.iml ├── misc.xml ├── modules.xml └── vcs.xml ├── README.md ├── archive-items ├── gambit │ └── lib │ │ ├── _asm#.scm │ │ ├── _codegen#.scm │ │ ├── _define-library │ │ ├── README.md │ │ ├── _define-library#.scm │ │ ├── _define-library.scm │ │ ├── debug.scm │ │ ├── define-library-expand#.scm │ │ ├── makefile │ │ └── test.scm │ │ ├── _define-syntax.scm │ │ ├── _eval#.scm │ │ ├── _gambit#.scm │ │ ├── _geiser │ │ ├── _geiser#.scm │ │ ├── _geiser.scm │ │ └── makefile │ │ ├── _git │ │ ├── _git#.scm │ │ ├── _git.scm │ │ └── makefile │ │ ├── _hamt │ │ ├── _hamt#.scm │ │ ├── _hamt.scm │ │ ├── makefile │ │ ├── primitive-hamt │ │ │ ├── makefile │ │ │ ├── primitive-hamt#.scm │ │ │ └── primitive-hamt.scm │ │ └── test.scm │ │ ├── _http │ │ ├── _http#.scm │ │ ├── _http.scm │ │ ├── makefile │ │ └── test.scm │ │ ├── _io#.scm │ │ ├── _kernel#.scm │ │ ├── _match │ │ ├── _match#.scm │ │ ├── _match.scm │ │ ├── makefile │ │ ├── match-expand#.scm │ │ ├── match-expand.scm │ │ └── test.scm │ │ ├── _module#.scm │ │ ├── _nonstd#.scm │ │ ├── _num#.scm │ │ ├── _pkg │ │ ├── _pkg#.scm │ │ ├── _pkg.scm │ │ └── makefile │ │ ├── _prim#.scm │ │ ├── _prim-boolean#.scm │ │ ├── _prim-boolean-r4rs#.scm │ │ ├── _prim-boolean-r7rs#.scm │ │ ├── _prim-box#.scm │ │ ├── _prim-box-gambit#.scm │ │ ├── _prim-bytevector#.scm │ │ ├── _prim-bytevector-r7rs#.scm │ │ ├── _prim-char#.scm │ │ ├── _prim-char-r4rs#.scm │ │ ├── _prim-char-r7rs#.scm │ │ ├── _prim-exception#.scm │ │ ├── _prim-exception-gambit#.scm │ │ ├── _prim-f32vector#.scm │ │ ├── _prim-f32vector-gambit#.scm │ │ ├── _prim-f64vector#.scm │ │ ├── _prim-f64vector-gambit#.scm │ │ ├── _prim-filesystem#.scm │ │ ├── _prim-filesystem-gambit#.scm │ │ ├── _prim-filesystem-r7rs#.scm │ │ ├── _prim-fixnum#.scm │ │ ├── _prim-fixnum-gambit#.scm │ │ ├── _prim-flonum#.scm │ │ ├── _prim-flonum-gambit#.scm │ │ ├── _prim-foreign#.scm │ │ ├── _prim-foreign-gambit#.scm │ │ ├── _prim-keyword#.scm │ │ ├── _prim-keyword-gambit#.scm │ │ ├── _prim-list#.scm │ │ ├── _prim-list-gambit#.scm │ │ ├── _prim-list-r4rs#.scm │ │ ├── _prim-list-r7rs#.scm │ │ ├── _prim-misc#.scm │ │ ├── _prim-misc-gambit#.scm │ │ ├── _prim-misc-r4rs#.scm │ │ ├── _prim-misc-r5rs#.scm │ │ ├── _prim-misc-r7rs#.scm │ │ ├── _prim-number#.scm │ │ ├── _prim-number-gambit#.scm │ │ ├── _prim-number-r4rs#.scm │ │ ├── _prim-number-r7rs#.scm │ │ ├── _prim-os#.scm │ │ ├── _prim-os-gambit#.scm │ │ ├── _prim-os-r7rs#.scm │ │ ├── _prim-port#.scm │ │ ├── _prim-port-gambit#.scm │ │ ├── _prim-port-r4rs#.scm │ │ ├── _prim-port-r7rs#.scm │ │ ├── _prim-s16vector#.scm │ │ ├── _prim-s16vector-gambit#.scm │ │ ├── _prim-s32vector#.scm │ │ ├── _prim-s32vector-gambit#.scm │ │ ├── _prim-s64vector#.scm │ │ ├── _prim-s64vector-gambit#.scm │ │ ├── _prim-s8vector#.scm │ │ ├── _prim-s8vector-gambit#.scm │ │ ├── _prim-six#.scm │ │ ├── _prim-six-gambit#.scm │ │ ├── _prim-special-forms#.scm │ │ ├── _prim-special-forms-gambit#.scm │ │ ├── _prim-special-forms-r4rs#.scm │ │ ├── _prim-special-forms-r7rs#.scm │ │ ├── _prim-string#.scm │ │ ├── _prim-string-gambit#.scm │ │ ├── _prim-string-r4rs#.scm │ │ ├── _prim-string-r7rs#.scm │ │ ├── _prim-symbol#.scm │ │ ├── _prim-symbol-gambit#.scm │ │ ├── _prim-symbol-r4rs#.scm │ │ ├── _prim-symbol-r7rs#.scm │ │ ├── _prim-table#.scm │ │ ├── _prim-table-gambit#.scm │ │ ├── _prim-thread#.scm │ │ ├── _prim-thread-gambit#.scm │ │ ├── _prim-u16vector#.scm │ │ ├── _prim-u16vector-gambit#.scm │ │ ├── _prim-u32vector#.scm │ │ ├── _prim-u32vector-gambit#.scm │ │ ├── _prim-u64vector#.scm │ │ ├── _prim-u64vector-gambit#.scm │ │ ├── _prim-u8vector#.scm │ │ ├── _prim-u8vector-gambit#.scm │ │ ├── _prim-vector#.scm │ │ ├── _prim-vector-gambit#.scm │ │ ├── _prim-vector-r4rs#.scm │ │ ├── _prim-vector-r7rs#.scm │ │ ├── _prim-will#.scm │ │ ├── _prim-will-gambit#.scm │ │ ├── _repl#.scm │ │ ├── _std#.scm │ │ ├── _syntax-boot.scm │ │ ├── _syntax-case-xform-boot.scm │ │ ├── _syntax-case-xform.scm │ │ ├── _syntax-common.scm │ │ ├── _syntax-pattern.scm │ │ ├── _syntax-rules-xform.scm │ │ ├── _syntax-template.scm │ │ ├── _syntax-xform-boot.scm │ │ ├── _syntax-xform.scm │ │ ├── _syntax.scm │ │ ├── _system#.scm │ │ ├── _tar │ │ ├── _tar#.scm │ │ ├── _tar.scm │ │ └── makefile │ │ ├── _test │ │ ├── _test#.scm │ │ ├── _test.scm │ │ ├── all.scm │ │ ├── makefile │ │ ├── quiet.scm │ │ ├── test.scm │ │ └── verbose.scm │ │ ├── _thread#.scm │ │ ├── _unicode#.scm │ │ ├── _uri │ │ ├── _uri#.scm │ │ ├── _uri.scm │ │ ├── makefile │ │ └── test.scm │ │ ├── _with-syntax-boot.scm │ │ ├── _x86#.scm │ │ ├── _zlib │ │ ├── _zlib#.scm │ │ ├── _zlib.scm │ │ ├── makefile │ │ └── test.scm │ │ ├── gambext │ │ ├── gambit#.scm │ │ ├── gambit │ │ ├── digest │ │ │ ├── digest#.scm │ │ │ └── digest.scm │ │ ├── gambit.sld │ │ ├── makefile │ │ ├── pkg │ │ │ ├── pkg#.scm │ │ │ └── pkg.scm │ │ ├── tar │ │ │ ├── tar#.scm │ │ │ └── tar.scm │ │ ├── test │ │ │ ├── test#.scm │ │ │ └── test.scm │ │ └── zlib │ │ │ ├── zlib#.scm │ │ │ └── zlib.scm │ │ ├── guide │ │ ├── _guide#.scm │ │ ├── _guide.c │ │ ├── _guide.h │ │ ├── _guide.scm │ │ ├── guide.cpp │ │ ├── guide.h │ │ ├── guidepro.in │ │ ├── guideuiabout.ui │ │ ├── guideuicodeformat.cpp │ │ ├── guideuicodeformat.h │ │ ├── guideuiconsoleinfo.cpp │ │ ├── guideuiconsoleinfo.h │ │ ├── guideuicont.cpp │ │ ├── guideuicont.h │ │ ├── guideuienv.cpp │ │ ├── guideuienv.h │ │ ├── guideuifileeditor.ui │ │ ├── guideuiformatchooser.ui │ │ ├── guideuihighlighter.cpp │ │ ├── guideuihighlighter.h │ │ ├── guideuihighlighterscheme.cpp │ │ ├── guideuihighlighterscheme.h │ │ ├── guideuiinspector.cpp │ │ ├── guideuiinspector.h │ │ ├── guideuimainwindow.ui │ │ ├── guideuirepl.cpp │ │ ├── guideuirepl.h │ │ ├── guideuischeme.cpp │ │ ├── guideuischeme.h │ │ ├── guideuisearchdialog.ui │ │ ├── guideuitableitem.h │ │ ├── guideuitextedit.cpp │ │ ├── guideuitextedit.h │ │ ├── images │ │ │ ├── cont.png │ │ │ ├── editcopy.png │ │ │ ├── editcut.png │ │ │ ├── editpaste.png │ │ │ ├── filenew.png │ │ │ ├── fileopen.png │ │ │ ├── filesave.png │ │ │ ├── leap.png │ │ │ ├── makefile.in │ │ │ ├── print.png │ │ │ ├── redo.png │ │ │ ├── step.png │ │ │ └── undo.png │ │ └── makefile.in │ │ ├── r4rs#.scm │ │ ├── r5rs#.scm │ │ ├── r5rs.sld │ │ ├── r5rs │ │ ├── makefile │ │ └── r5rs.sld │ │ ├── scheme │ │ ├── base │ │ │ ├── base.sld │ │ │ └── makefile │ │ ├── case-lambda │ │ │ ├── case-lambda.sld │ │ │ └── makefile │ │ ├── char │ │ │ ├── char.sld │ │ │ └── makefile │ │ ├── complex │ │ │ ├── complex.sld │ │ │ └── makefile │ │ ├── cxr │ │ │ ├── cxr.sld │ │ │ └── makefile │ │ ├── eval │ │ │ ├── eval.sld │ │ │ └── makefile │ │ ├── file │ │ │ ├── file.sld │ │ │ └── makefile │ │ ├── inexact │ │ │ ├── inexact.sld │ │ │ └── makefile │ │ ├── lazy │ │ │ ├── lazy.sld │ │ │ └── makefile │ │ ├── load │ │ │ ├── load.sld │ │ │ └── makefile │ │ ├── makefile │ │ ├── process-context │ │ │ ├── makefile │ │ │ └── process-context.sld │ │ ├── r5rs │ │ │ ├── makefile │ │ │ └── r5rs.sld │ │ ├── read │ │ │ ├── makefile │ │ │ └── read.sld │ │ ├── repl │ │ │ ├── makefile │ │ │ └── repl.sld │ │ ├── time │ │ │ ├── makefile │ │ │ └── time.sld │ │ └── write │ │ │ ├── makefile │ │ │ └── write.sld │ │ ├── srfi │ │ ├── 0 │ │ │ ├── 0#.scm │ │ │ ├── 0.scm │ │ │ ├── 0.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 4 │ │ │ ├── 4#.scm │ │ │ ├── 4.scm │ │ │ ├── 4.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 6 │ │ │ ├── 6#.scm │ │ │ ├── 6.scm │ │ │ ├── 6.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 8 │ │ │ ├── 8#.scm │ │ │ ├── 8.scm │ │ │ ├── 8.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 9 │ │ │ ├── 9#.scm │ │ │ ├── 9.scm │ │ │ ├── 9.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 23 │ │ │ ├── 23#.scm │ │ │ ├── 23.scm │ │ │ ├── 23.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 28 │ │ │ ├── 28#.scm │ │ │ ├── 28.scm │ │ │ ├── 28.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 69 │ │ │ ├── 69#.scm │ │ │ ├── 69.scm │ │ │ ├── 69.sld │ │ │ ├── makefile │ │ │ └── test.scm │ │ ├── 132 │ │ │ ├── 132#.scm │ │ │ ├── 132.scm │ │ │ ├── 132.sld │ │ │ ├── delndups.scm │ │ │ ├── lmsort.scm │ │ │ ├── makefile │ │ │ ├── merge.scm │ │ │ ├── select.scm │ │ │ ├── test.scm │ │ │ ├── vhsort.scm │ │ │ ├── visort.scm │ │ │ ├── vmsort.scm │ │ │ ├── vqsort2.scm │ │ │ ├── vqsort3.scm │ │ │ └── vr7rs.scm │ │ └── makefile │ │ └── termite │ │ ├── data.scm │ │ ├── deftype.scm │ │ ├── io.scm │ │ ├── makefile │ │ ├── match#.scm │ │ ├── match-support#.scm │ │ ├── match-support.scm │ │ ├── match.scm │ │ ├── otp │ │ ├── gen_event.scm │ │ ├── gen_server.scm │ │ └── makefile │ │ ├── process.scm │ │ ├── recv.scm │ │ ├── termite#.scm │ │ ├── termite.scm │ │ ├── utils#.scm │ │ ├── utils.scm │ │ └── uuid.scm └── icfp2020.scm ├── attic ├── bochsrc.txt ├── fifo.cpp ├── keyboard.cpp ├── mono_7x13.cpp ├── mouse.cpp ├── net │ ├── _bootsect_behavior.c │ ├── cards.h │ ├── config.c │ ├── eepro100.c │ ├── etherboot.h │ ├── misc.c │ ├── net.cpp │ ├── net.h │ ├── nic.h │ ├── osdep.h │ ├── pci.c │ ├── pci.h │ ├── timer2.c │ ├── timer2.h │ └── tulip.c └── timer.cpp ├── bios.cpp ├── bootsect.s ├── build-and-copy-gambit-to-vm.sh ├── chrono.cpp ├── cmkfh.sh ├── copy_compiled_modules.sh ├── createimg.sh ├── disk.cpp ├── drivers ├── filesystem │ ├── fat.cpp │ ├── include │ │ ├── fat.h │ │ ├── stdstream.h │ │ └── vfs.h │ ├── stdstream.cpp │ └── vfs.cpp └── ide.cpp ├── empty_usb.tar.gz ├── fetch-gambit-from-vm.sh ├── fonts ├── mono_10x20.c ├── mono_4x6_256.c ├── mono_5x7.c ├── mono_5x7_256.c ├── mono_5x8.c ├── mono_6x10.c ├── mono_6x12.c ├── mono_6x13.c ├── mono_6x13B.c ├── mono_6x13O.c ├── mono_6x9.c ├── mono_7x13.c ├── mono_7x13B.c ├── mono_7x13O.c ├── mono_7x14.c ├── mono_7x14B.c ├── mono_8x13.c ├── mono_8x13B.c ├── mono_8x13O.c ├── mono_9x15.c ├── mono_9x15B.c ├── mono_9x18.c └── mono_9x18B.c ├── heap.cpp ├── include ├── apic.h ├── asm.h ├── attic │ ├── fifo.h │ ├── fifo.h-old │ ├── keyboard.h │ └── mouse.h ├── bios.h ├── chrono.h ├── disk.h ├── general.h ├── heap.h ├── ide.h ├── intr.h ├── kbd.h ├── kernel.h ├── modifiedgambit.h ├── mono_5x7.h ├── mono_6x9.h ├── pic.h ├── pit.h ├── ps2.h ├── queue.h ├── rtc.h ├── rtlib.h ├── term.h ├── thread.h ├── uart.h ├── vga.h └── video.h ├── intr.cpp ├── kernel.s ├── libc ├── build-mimosa-gambit ├── include │ ├── dirent.h │ ├── errno.h │ ├── float.h │ ├── libc_common.h │ ├── libc_header.h │ ├── libc_link.h │ ├── libc_redirect.h │ ├── limits.h │ ├── math.h │ ├── setjmp.h │ ├── signal.h │ ├── stdarg.h │ ├── stddef.h │ ├── stdio.h │ ├── stdlib.h │ ├── string.h │ ├── sys │ │ ├── resource.h │ │ └── time.h │ ├── termios.h │ ├── time.h │ ├── unistd.h │ └── wchar.h ├── libc_app.c ├── libc_os.cpp └── src │ ├── dirent.c │ ├── errno.c │ ├── libc_link.c │ ├── libc_support.c │ ├── math.c │ ├── setjmp.c │ ├── signal.c │ ├── stdio.c │ ├── stdlib.c │ ├── string.c │ ├── sys_resource.c │ ├── sys_time.c │ ├── termios.c │ ├── time.c │ └── unistd.c ├── main.cpp ├── makefile ├── ps2.cpp ├── res ├── logo.png └── mimosa-screenshot.png ├── rtlib.cpp ├── scheme ├── interpreted │ ├── debug.scm │ ├── disk.scm │ ├── edit.scm │ ├── errors.scm │ ├── fat32.scm │ ├── gambini.scm │ ├── ide.scm │ ├── intr.scm │ ├── keyboard.scm │ ├── low-level.scm │ ├── mimosa-macros.scm │ ├── rtc.scm │ ├── uart.scm │ ├── utils.scm │ ├── x86-asm.scm │ └── x86-os.scm └── preload-compiled │ └── define-library-expand.scm ├── script.ld ├── term.cpp ├── thread.cpp ├── uart.cpp ├── utils ├── bootsectinspect │ ├── CMakeLists.txt │ └── main.c ├── disk_geometry.py ├── dump_x_font.c ├── dump_x_fonts ├── fatchecksum.py ├── make-dependencies.py └── move_to_sdc.sh └── video.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | # Tool binaries folder 2 | .vscode 3 | debug/ 4 | # Built 5 | floppy 6 | gdb\.txt 7 | 8 | *.sys 9 | *.bin 10 | *.exe 11 | *.elf 12 | \.gdb_history 13 | 14 | mimosa-build/ 15 | archive-items/home/sam 16 | 17 | *.scratch 18 | 19 | \.code-workspace 20 | # gambit why? we want the library 21 | gambit/bin 22 | 23 | *.o 24 | 25 | *.img 26 | 27 | *.map 28 | 29 | *.elf 30 | 31 | \.ycm_extra_conf\.py 32 | 33 | tags 34 | 35 | utils/bootsectinspect/.idea/ 36 | utils/bootsectinspector/.idea/ 37 | utils/bootsectinspect/cmake-build-debug/ 38 | libc/gambit-v4_9_3/ 39 | libc/gambit-v4_9_3\.tgz 40 | 41 | Session.vim 42 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/mimosa.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_define-library/README.md: -------------------------------------------------------------------------------- 1 | define-library 2 | ============== 3 | 4 | define-library implementation for Gambit 5 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_define-library/_define-library#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_define-library#.scm" 4 | 5 | ;;; Copyright (c) 2014-2019 by Marc Feeley and Frédéric Hamel, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##namespace ("" define-library import)) 10 | 11 | (##define-syntax define-library 12 | (lambda (src) 13 | (##load-module import _define-library/define-library-expand) 14 | (define-library-expand src))) 15 | 16 | (##define-syntax import 17 | (lambda (src) 18 | (##load-module _define-library/define-library-expand) 19 | (import-expand src))) 20 | 21 | #; 22 | (##define-syntax define-syntax 23 | (lambda (src) 24 | (let ((locat (##source-locat src))) 25 | (##make-source 26 | (##cons (##make-source '##define-syntax locat) 27 | (##cdr (##source-code src))) 28 | locat)))) 29 | 30 | #; 31 | (##define-syntax syntax-rules 32 | (lambda (src) 33 | (##load-module _define-library/define-library-expand) 34 | (syn#syntax-rules-form-transformer src))) 35 | 36 | ;;;============================================================================ 37 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_define-library/_define-library.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_define-library.scm" 4 | 5 | ;;; Copyright (c) 2014-2019 by Marc Feeley and Frédéric Hamel, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##supply-module _define-library) 10 | 11 | ;;;============================================================================ 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_define-library/debug.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "debug.scm" 4 | 5 | ;;; Copyright (c) 2014-2019 by Marc Feeley and Frédéric Hamel, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (import _define-library/define-library-expand) 10 | 11 | ;; turn on debug-expansion? when this module is loaded 12 | 13 | (_define-library/define-library-expand#debug-expansion?-set! #t) 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_define-library/define-library-expand#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_define-library-expand#.scm" 4 | 5 | ;;; Copyright (c) 2014-2019 by Marc Feeley and Frédéric Hamel, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##namespace ("_define-library/define-library-expand#" 10 | 11 | import-expand 12 | define-library-expand 13 | 14 | )) 15 | 16 | ;;;============================================================================ 17 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_define-library/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _define-library 4 | libfromhere = .. 5 | SUBDIRS = 6 | 7 | HEADERS_SCM = _define-library\#.scm define-library-expand\#.scm 8 | 9 | MODULES_SCM = _define-library.scm define-library-expand.scm debug.scm test.scm 10 | 11 | MAIN_MODULES = _define-library define-library-expand debug 12 | 13 | OTHER_RCFILES = makefile 14 | 15 | include $(libfromhere)/module-common.mk 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_define-syntax.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_define-syntax.scm" 4 | 5 | ;;; Copyright (c) 2000-2015 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;; This file implements macro-define-syntax which behaves like 10 | ;; ##define-syntax but allows the expander to use the (syntax-case ...), 11 | ;; (syntax-rules ...), and (syntax ...) forms. 12 | 13 | ;;;---------------------------------------------------------------------------- 14 | 15 | (##define-syntax macro-define-syntax 16 | ;#|TODO: remove semicolon after bootstrap to remove redundant dynamic test 17 | (if (##unbound? (##global-var-ref 18 | (##make-global-var 'syn#define-syntax-form-transformer))) 19 | (##eval '(lambda (src) 20 | (##include "_syntax.scm") 21 | (syntax-case src () 22 | ((_ id fn) 23 | #'(##define-syntax id 24 | (##lambda (##src) 25 | (##include "_syntax.scm") 26 | (fn ##src))))))) 27 | syn#define-syntax-form-transformer) 28 | ;|# syn#define-syntax-form-transformer 29 | ) 30 | 31 | ;;;============================================================================ 32 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_geiser/_geiser#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_geiser#.scm" 4 | 5 | ;;; Copyright (c) 2019 by Mathieu Perron, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Geiser support. 10 | 11 | (##namespace ("_geiser#" 12 | 13 | geiser:load-file 14 | geiser:eval 15 | geiser:newline 16 | geiser:no-values 17 | geiser:autodoc 18 | geiser:new-autodoc 19 | geiser:module-completions 20 | geiser:completions 21 | 22 | )) 23 | 24 | ;;;============================================================================ 25 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_geiser/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _geiser 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = _geiser\#.scm 7 | MODULES_SCM = _geiser.scm 8 | MAIN_MODULES = _geiser 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_git/_git#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_git#.scm" 4 | 5 | ;;; Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 6 | ;;; Copyright (c) 2019 by Marc Feeley, All Rights Reserved. 7 | 8 | ;;;============================================================================ 9 | 10 | (##namespace ("_git#" 11 | 12 | git-archive 13 | git-clone 14 | git-command 15 | ;; git-fetch 16 | ;; git-merge 17 | git-pull 18 | git-status 19 | git-tag 20 | git-repository-open 21 | 22 | macro-git-repository? 23 | macro-git-repository-path 24 | 25 | )) 26 | 27 | (define-type git-repository 28 | id: AF9B3B94-EE56-4D95-A323-AEE3C97E70FC 29 | constructor: macro-make-git-repository 30 | implementer: implement-type-git-repository 31 | copier: #f 32 | opaque: 33 | macros: 34 | prefix: macro- 35 | 36 | (path no-functional-setter: read-only:)) 37 | 38 | ;;;============================================================================ 39 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_git/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _git 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = _git\#.scm 7 | MODULES_SCM = _git.scm 8 | MAIN_MODULES = _git 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_hamt/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _hamt 4 | libfromhere = .. 5 | SUBDIRS = primitive-hamt 6 | HEADERS_SCM = _hamt\#.scm 7 | MODULES_SCM = _hamt.scm test.scm 8 | MAIN_MODULES = _hamt 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_hamt/primitive-hamt/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _hamt/primitive-hamt 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = primitive-hamt\#.scm 7 | MODULES_SCM = primitive-hamt.scm 8 | MAIN_MODULES = primitive-hamt 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_hamt/primitive-hamt/primitive-hamt.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "primitive-hamt.scm" 4 | 5 | ;;; Copyright (c) 2018-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Immutable Hash Array Mapped Tries (HAMT). 10 | 11 | ;;; See primitive-hamt#.scm for details. 12 | 13 | (##supply-module _hamt/primitive-hamt) 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_http/_http#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_http#.scm" 4 | 5 | ;;; Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##namespace ("_http#" 10 | http-get)) 11 | 12 | ;;;============================================================================ 13 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_http/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 2 | # Copyright (c) 2019 by Marc Feeley, All Rights Reserved. 3 | 4 | herefromlib = _http 5 | libfromhere = .. 6 | SUBDIRS = 7 | HEADERS_SCM = _http\#.scm 8 | MODULES_SCM = _http.scm test.scm 9 | MAIN_MODULES = _http 10 | OTHER_RCFILES = makefile 11 | 12 | include $(libfromhere)/module-common.mk 13 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_match/_match#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_match#.scm" 4 | 5 | ;;; Copyright (c) 2008-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;; Pattern-matching 'match' special form. 10 | 11 | (##namespace ("_match#" 12 | 13 | match 14 | 15 | )) 16 | 17 | (##define-syntax match 18 | (lambda (src) 19 | (##import _match/match-expand) 20 | (match-expand src 21 | #f ;; use-question-mark-prefix-pattern-variables? 22 | #t ;; use-exhaustive-cases? 23 | #f))) ;; use-else? 24 | 25 | 26 | ;;;============================================================================ 27 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_match/_match.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_match.scm" 4 | 5 | ;;; Copyright (c) 2008-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;; Pattern-matching 'match' special form. 10 | 11 | (##supply-module _match) 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_match/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2008-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _match 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = _match\#.scm match-expand\#.scm 7 | MODULES_SCM = _match.scm match-expand.scm test.scm 8 | MAIN_MODULES = _match match-expand 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_match/match-expand#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "match-expand#.scm" 4 | 5 | ;;; Copyright (c) 2008-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;; Pattern-matching 'match' special form expander. 10 | 11 | (##namespace ("_match/match-expand#" 12 | 13 | match-expand 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_match/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 2008-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (import _match) 10 | (import _test) 11 | 12 | (define (f x) 13 | (match (* x x) 14 | (0 "zero") 15 | (1 "one") 16 | (2 "two") 17 | (3 "three") 18 | (4 "four") 19 | (,other "other"))) 20 | 21 | (check-equal? (f 0) "zero") 22 | (check-equal? (f 1) "one") 23 | (check-equal? (f 2) "four") 24 | (check-equal? (f 3) "other") 25 | 26 | (define (g x y) 27 | (match (cons x y) 28 | ((5 ,a) 0) 29 | ((a: 5) 9) 30 | ((,b 5) b) 31 | ((,c ,d) (+ c d)) 32 | (,other other))) 33 | 34 | (check-equal? (g 1 '(2)) 3) 35 | (check-equal? (g a: '(5)) 9) 36 | (check-equal? (g 1 '(2 3)) '(1 2 3)) 37 | (check-equal? (g 5 '(5)) 0) 38 | (check-equal? (g 5 '(1)) 0) 39 | (check-equal? (g 1 '(5)) 1) 40 | 41 | (define (h x) 42 | (match x 43 | (() 0) 44 | (#f 1) 45 | (#t 2) 46 | (abc 3) 47 | (abc: 9) 48 | ("abc" 4) 49 | (123 5) 50 | (#\x 6) 51 | ((1 2 3) 7) 52 | (else 8))) ;; this must match the symbol "else" 53 | 54 | (check-equal? (h '()) 0) 55 | (check-equal? (h #f) 1) 56 | (check-equal? (h #t) 2) 57 | (check-equal? (h 'abc) 3) 58 | (check-equal? (h abc:) 9) 59 | (check-equal? (h "abc") 4) 60 | (check-equal? (h 123) 5) 61 | (check-equal? (h #\x) 6) 62 | (check-equal? (h '(1 2 3)) 7) 63 | (check-tail-exn error-exception? (lambda () (h '#()))) 64 | 65 | (check-tail-exn error-exception? (lambda () (match #t))) 66 | 67 | ;;;============================================================================ 68 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_module#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_module#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (define-type modref 10 | id: BD2FB9FB-A937-49EE-9C4E-FE997F4EB1BC 11 | constructor: macro-make-modref 12 | implementer: implement-type-modref 13 | macros: 14 | prefix: macro- 15 | unprintable: 16 | 17 | host ;; #f or list: (account host) 18 | tag ;; #f or string 19 | rpath ;; non-empty list of path in reverse order 20 | ) 21 | 22 | ;;;============================================================================ 23 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_pkg/_pkg#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_pkg#.scm" 4 | 5 | ;;; Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 6 | ;;; Copyright (c) 2019 by Marc Feeley, All Rights Reserved. 7 | 8 | ;;;============================================================================ 9 | 10 | (##namespace ("_pkg#" 11 | 12 | ;; debug-mode? 13 | ;; debug-mode?-set! 14 | 15 | https-proto 16 | install 17 | install-hook 18 | installed? 19 | module-default-proto 20 | module-default-proto-set! 21 | ssh-proto 22 | string->modref 23 | uninstall 24 | update 25 | gsi-option-update 26 | gsi-option-uninstall 27 | gsi-option-install 28 | 29 | )) 30 | 31 | ;;;============================================================================ 32 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_pkg/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 2 | # Copyright (c) 2019 by Marc Feeley, All Rights Reserved. 3 | 4 | herefromlib = _pkg 5 | libfromhere = .. 6 | SUBDIRS = 7 | HEADERS_SCM = _pkg\#.scm 8 | MODULES_SCM = _pkg.scm 9 | MAIN_MODULES = _pkg 10 | OTHER_RCFILES = makefile 11 | 12 | include $(libfromhere)/module-common.mk 13 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Primitive operations and special forms that are in the ## namespace. 10 | 11 | (##include "_prim-boolean#.scm") 12 | (##include "_prim-box#.scm") 13 | (##include "_prim-bytevector#.scm") 14 | (##include "_prim-char#.scm") 15 | (##include "_prim-exception#.scm") 16 | (##include "_prim-f32vector#.scm") 17 | (##include "_prim-f64vector#.scm") 18 | (##include "_prim-filesystem#.scm") 19 | (##include "_prim-fixnum#.scm") 20 | (##include "_prim-flonum#.scm") 21 | (##include "_prim-foreign#.scm") 22 | (##include "_prim-keyword#.scm") 23 | (##include "_prim-list#.scm") 24 | (##include "_prim-misc#.scm") 25 | (##include "_prim-number#.scm") 26 | (##include "_prim-os#.scm") 27 | (##include "_prim-port#.scm") 28 | (##include "_prim-s16vector#.scm") 29 | (##include "_prim-s32vector#.scm") 30 | (##include "_prim-s64vector#.scm") 31 | (##include "_prim-s8vector#.scm") 32 | (##include "_prim-six#.scm") 33 | (##include "_prim-special-forms#.scm") 34 | (##include "_prim-string#.scm") 35 | (##include "_prim-symbol#.scm") 36 | (##include "_prim-symbol-r7rs#.scm") 37 | (##include "_prim-table#.scm") 38 | (##include "_prim-thread#.scm") 39 | (##include "_prim-u16vector#.scm") 40 | (##include "_prim-u32vector#.scm") 41 | (##include "_prim-u64vector#.scm") 42 | (##include "_prim-u8vector#.scm") 43 | (##include "_prim-vector#.scm") 44 | (##include "_prim-will#.scm") 45 | 46 | ;;;============================================================================ 47 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-boolean#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-boolean#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Boolean operations. 10 | 11 | (##include "_prim-boolean-r4rs#.scm") 12 | (##include "_prim-boolean-r7rs#.scm") 13 | 14 | ;;;============================================================================ 15 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-boolean-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-boolean-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Boolean operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | boolean? 14 | not 15 | 16 | )) 17 | 18 | ;;;============================================================================ 19 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-boolean-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-boolean-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Boolean operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | boolean=? 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-box#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-box#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Box operations. 10 | 11 | (##include "_prim-box-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-box-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-box-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Box operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | box 14 | box? 15 | set-box! 16 | unbox 17 | 18 | )) 19 | 20 | ;;;============================================================================ 21 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-bytevector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-bytevector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Bytevector operations. 10 | 11 | (##include "_prim-bytevector-r7rs#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-bytevector-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-bytevector-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Bytevector operations in R7RS. 10 | 11 | (##namespace ("##unimplemented#" 12 | 13 | bytevector 14 | bytevector-append 15 | bytevector-copy 16 | bytevector-copy! 17 | bytevector-length 18 | bytevector-u8-ref 19 | bytevector-u8-set! 20 | bytevector? 21 | make-bytevector 22 | 23 | )) 24 | 25 | ;;;============================================================================ 26 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-char#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-char#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Character operations. 10 | 11 | (##include "_prim-char-r4rs#.scm") 12 | (##include "_prim-char-r7rs#.scm") 13 | 14 | ;;;============================================================================ 15 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-char-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-char-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Character operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | char->integer 14 | char-alphabetic? 15 | char-ci<=? 16 | char-ci=? 19 | char-ci>? 20 | char-downcase 21 | char-lower-case? 22 | char-numeric? 23 | char-upcase 24 | char-upper-case? 25 | char-whitespace? 26 | char<=? 27 | char=? 30 | char>? 31 | char? 32 | integer->char 33 | 34 | )) 35 | 36 | ;;;============================================================================ 37 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-char-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-char-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Character operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | char-foldcase 14 | digit-value 15 | 16 | )) 17 | 18 | ;;;============================================================================ 19 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-exception#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-exception#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Exception operations. 10 | 11 | (##include "_prim-exception-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-f32vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-f32vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; F32vector operations. 10 | 11 | (##include "_prim-f32vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-f32vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-f32vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; F32vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-f32vectors 14 | list->f32vector 15 | make-f32vector 16 | subf32vector 17 | subf32vector-fill! 18 | subf32vector-move! 19 | f32vector 20 | f32vector->list 21 | f32vector-append 22 | f32vector-copy 23 | f32vector-copy! 24 | f32vector-fill! 25 | f32vector-length 26 | f32vector-ref 27 | f32vector-set 28 | f32vector-set! 29 | f32vector-shrink! 30 | f32vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-f64vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-f64vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; F64vector operations. 10 | 11 | (##include "_prim-f64vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-f64vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-f64vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; F64vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-f64vectors 14 | list->f64vector 15 | make-f64vector 16 | subf64vector 17 | subf64vector-fill! 18 | subf64vector-move! 19 | f64vector 20 | f64vector->list 21 | f64vector-append 22 | f64vector-copy 23 | f64vector-copy! 24 | f64vector-fill! 25 | f64vector-length 26 | f64vector-ref 27 | f64vector-set 28 | f64vector-set! 29 | f64vector-shrink! 30 | f64vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-filesystem#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-filesystem#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Filesystem operations. 10 | 11 | (##include "_prim-filesystem-r7rs#.scm") 12 | (##include "_prim-filesystem-gambit#.scm") 13 | 14 | ;;;============================================================================ 15 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-filesystem-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-filesystem-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Filesystem operations in R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | file-exists? 14 | delete-file 15 | 16 | )) 17 | 18 | ;;;============================================================================ 19 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-fixnum#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-fixnum#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Fixnum operations. 10 | 11 | (##include "_prim-fixnum-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-fixnum-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-fixnum-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Fixnum operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | fixnum? 14 | fx* 15 | fx+ 16 | fx- 17 | fx< 18 | fx<= 19 | fx= 20 | fx> 21 | fx>= 22 | fxabs 23 | fxand 24 | fxarithmetic-shift 25 | fxarithmetic-shift-left 26 | fxarithmetic-shift-right 27 | fxbit-count 28 | fxbit-set? 29 | fxeven? 30 | fxfirst-bit-set 31 | fxif 32 | fxior 33 | fxlength 34 | fxmax 35 | fxmin 36 | fxmodulo 37 | fxnegative? 38 | fxnot 39 | fxodd? 40 | fxpositive? 41 | fxquotient 42 | fxremainder 43 | fxsquare 44 | fxwrap* 45 | fxwrap+ 46 | fxwrap- 47 | fxwrapabs 48 | fxwraparithmetic-shift 49 | fxwraparithmetic-shift-left 50 | fxwraplogical-shift-right 51 | fxwrapquotient 52 | fxwrapsquare 53 | fxxor 54 | fxzero? 55 | 56 | )) 57 | 58 | ;;;============================================================================ 59 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-flonum#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-flonum#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Flonum operations. 10 | 11 | (##include "_prim-flonum-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-flonum-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-flonum-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Flonum operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | fixnum->flonum 14 | fl* 15 | fl+ 16 | fl- 17 | fl/ 18 | fl< 19 | fl<= 20 | fl= 21 | fl> 22 | fl>= 23 | flabs 24 | flacos 25 | flacosh 26 | flasin 27 | flasinh 28 | flatan 29 | flatanh 30 | flceiling 31 | flcos 32 | flcosh 33 | fldenominator 34 | fleven? 35 | flexp 36 | flexpm1 37 | flexpt 38 | flfinite? 39 | flfloor 40 | flhypot 41 | flilogb 42 | flinfinite? 43 | flinteger? 44 | fllog 45 | fllog1p 46 | flmax 47 | flmin 48 | flnan? 49 | flnegative? 50 | flnumerator 51 | flodd? 52 | flonum? 53 | flpositive? 54 | flround 55 | flscalbn 56 | flsin 57 | flsinh 58 | flsqrt 59 | flsquare 60 | fltan 61 | fltanh 62 | fltruncate 63 | flzero? 64 | 65 | )) 66 | 67 | ;;;============================================================================ 68 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-foreign#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-foreign#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Foreign operations. 10 | 11 | (##include "_prim-foreign-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-foreign-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-foreign-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Foreign operations in Gambit. 10 | 11 | (##namespace ("##unimplemented#" 12 | 13 | foreign-address 14 | foreign-release! 15 | foreign-released? 16 | foreign-tags 17 | foreign? 18 | 19 | )) 20 | 21 | ;;;============================================================================ 22 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-keyword#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-keyword#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Keyword operations. 10 | 11 | (##include "_prim-keyword-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-keyword-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-keyword-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Keyword operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | keyword->string 14 | keyword-hash 15 | keyword? 16 | string->keyword 17 | string->uninterned-keyword 18 | uninterned-keyword? 19 | 20 | )) 21 | 22 | ;;;============================================================================ 23 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-list#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-list#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; List operations. 10 | 11 | (##include "_prim-list-r4rs#.scm") 12 | (##include "_prim-list-r7rs#.scm") 13 | (##include "_prim-list-gambit#.scm") 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-list-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-list-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; List operations added by Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | circular-list 14 | cons* 15 | drop 16 | fold 17 | fold-right 18 | iota 19 | last 20 | last-pair 21 | list-set 22 | list-tabulate 23 | reverse! 24 | take 25 | xcons 26 | 27 | )) 28 | 29 | ;;;============================================================================ 30 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-list-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-list-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; List operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | append 14 | assoc 15 | assq 16 | assv 17 | caaaar 18 | caaadr 19 | caaar 20 | caadar 21 | caaddr 22 | caadr 23 | caar 24 | cadaar 25 | cadadr 26 | cadar 27 | caddar 28 | cadddr 29 | caddr 30 | cadr 31 | car 32 | cdaaar 33 | cdaadr 34 | cdaar 35 | cdadar 36 | cdaddr 37 | cdadr 38 | cdar 39 | cddaar 40 | cddadr 41 | cddar 42 | cdddar 43 | cddddr 44 | cdddr 45 | cddr 46 | cdr 47 | cons 48 | for-each 49 | length 50 | list 51 | list-ref 52 | list-tail 53 | list? 54 | map 55 | member 56 | memq 57 | memv 58 | null? 59 | pair? 60 | reverse 61 | set-car! 62 | set-cdr! 63 | 64 | )) 65 | 66 | ;;;============================================================================ 67 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-list-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-list-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; List operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | make-list 14 | list-copy 15 | list-set! 16 | 17 | )) 18 | 19 | ;;;============================================================================ 20 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-misc#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-misc#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Miscellaneous operations. 10 | 11 | (##include "_prim-misc-r4rs#.scm") 12 | (##include "_prim-misc-r5rs#.scm") 13 | (##include "_prim-misc-r7rs#.scm") 14 | (##include "_prim-misc-gambit#.scm") 15 | 16 | ;;;============================================================================ 17 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-misc-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-misc-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Miscellaneous operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | apply 14 | call-with-current-continuation 15 | eq? 16 | equal? 17 | eqv? 18 | (load load#unimplemented) 19 | procedure? 20 | (transcript-off transcript-off#unimplemented) 21 | (transcript-on transcript-on#unimplemented) 22 | 23 | )) 24 | 25 | ;;;============================================================================ 26 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-misc-r5rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-misc-r5rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Miscellaneous operations added by R5RS. 10 | 11 | (##namespace ("##" 12 | 13 | call-with-values 14 | dynamic-wind 15 | eval 16 | (interaction-environment interaction-environment#unimplemented) 17 | (null-environment null-environment#unimplemented) 18 | (scheme-report-environment scheme-report-environment#unimplemented) 19 | values 20 | 21 | )) 22 | 23 | ;;;============================================================================ 24 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-misc-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-misc-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Miscellaneous operations added by R7RS. 10 | 11 | (##namespace ("##unimplemented#" 12 | 13 | features 14 | make-parameter 15 | make-promise 16 | promise? 17 | 18 | )) 19 | 20 | ;;;============================================================================ 21 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-number#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-number#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Numeric operations. 10 | 11 | (##include "_prim-number-r4rs#.scm") 12 | (##include "_prim-number-r7rs#.scm") 13 | (##include "_prim-number-gambit#.scm") 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-number-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-number-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Numeric operations added by Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | acosh 14 | all-bits-set? 15 | any-bits-set? 16 | arithmetic-shift 17 | asinh 18 | atanh 19 | bit-count 20 | bit-set? 21 | bitwise-and 22 | bitwise-ior 23 | bitwise-merge 24 | bitwise-not 25 | bitwise-xor 26 | clear-bit-field 27 | conjugate 28 | copy-bit-field 29 | cosh 30 | (default-random-source default-random-source#unimplemented) 31 | extract-bit-field 32 | first-bit-set 33 | integer-length 34 | integer-nth-root 35 | integer-sqrt 36 | (make-random-source make-random-source#unimplemented) 37 | (random-f64vector random-f64vector#unimplemented) 38 | (random-integer random-integer#unimplemented) 39 | (random-real random-real#unimplemented) 40 | (random-source-make-f64vectors random-source-make-f64vectors#unimplemented) 41 | (random-source-make-integers random-source-make-integers#unimplemented) 42 | (random-source-make-reals random-source-make-reals#unimplemented) 43 | (random-source-make-u8vectors random-source-make-u8vectors#unimplemented) 44 | (random-source-pseudo-randomize! random-source-pseudo-randomize!#unimplemented) 45 | (random-source-randomize! random-source-randomize!#unimplemented) 46 | (random-source-state-ref random-source-state-ref#unimplemented) 47 | (random-source-state-set! random-source-state-set!#unimplemented) 48 | (random-source? random-source?#unimplemented) 49 | (random-u8vector random-u8vector#unimplemented) 50 | replace-bit-field 51 | sinh 52 | tanh 53 | test-bit-field? 54 | 55 | )) 56 | 57 | ;;;============================================================================ 58 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-number-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-number-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Numeric operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | * 14 | + 15 | - 16 | / 17 | < 18 | <= 19 | = 20 | > 21 | >= 22 | abs 23 | acos 24 | angle 25 | asin 26 | atan 27 | ceiling 28 | complex? 29 | cos 30 | denominator 31 | even? 32 | exact->inexact 33 | exact? 34 | exp 35 | expt 36 | floor 37 | gcd 38 | imag-part 39 | inexact->exact 40 | inexact? 41 | integer? 42 | lcm 43 | log 44 | magnitude 45 | make-polar 46 | make-rectangular 47 | max 48 | min 49 | modulo 50 | negative? 51 | number->string 52 | number? 53 | numerator 54 | odd? 55 | positive? 56 | quotient 57 | rational? 58 | rationalize 59 | real-part 60 | real? 61 | remainder 62 | round 63 | sin 64 | sqrt 65 | string->number 66 | tan 67 | truncate 68 | zero? 69 | 70 | )) 71 | 72 | ;;;============================================================================ 73 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-number-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-number-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Numeric operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | exact 14 | exact-integer-sqrt 15 | exact-integer? 16 | finite? 17 | floor-quotient 18 | floor-remainder 19 | floor/ 20 | inexact 21 | infinite? 22 | nan? 23 | square 24 | truncate-quotient 25 | truncate-remainder 26 | truncate/ 27 | 28 | )) 29 | 30 | ;;;============================================================================ 31 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-os#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-os#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; OS operations. 10 | 11 | (##include "_prim-os-r7rs#.scm") 12 | (##include "_prim-os-gambit#.scm") 13 | 14 | ;;;============================================================================ 15 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-os-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-os-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; OS operations in R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | command-line 14 | 15 | (current-jiffy current-jiffy#unimplemented) 16 | (current-second current-second#unimplemented) 17 | (emergency-exit emergency-exit#unimplemented) 18 | 19 | exit 20 | 21 | (get-environment-variable get-environment-variable#unimplemented) 22 | (get-environment-variables get-environment-variables#unimplemented) 23 | (jiffies-per-second jiffies-per-second#unimplemented) 24 | 25 | )) 26 | 27 | ;;;============================================================================ 28 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-port#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-port#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Port operations. 10 | 11 | (##include "_prim-port-r4rs#.scm") 12 | (##include "_prim-port-r7rs#.scm") 13 | (##include "_prim-port-gambit#.scm") 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-port-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-port-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Port operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | call-with-input-file 14 | call-with-output-file 15 | char-ready? 16 | close-input-port 17 | close-output-port 18 | current-input-port 19 | current-output-port 20 | display 21 | eof-object? 22 | input-port? 23 | newline 24 | open-input-file 25 | open-output-file 26 | output-port? 27 | peek-char 28 | read 29 | read-char 30 | with-input-from-file 31 | with-output-to-file 32 | write 33 | write-char 34 | 35 | )) 36 | 37 | ;;;============================================================================ 38 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-port-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-port-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Port operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | (binary-port? binary-port?#unimplemented) 14 | call-with-port 15 | close-port 16 | current-error-port 17 | eof-object 18 | (flush-output-port flush-output-port#unimplemented) 19 | (get-output-bytevector get-output-bytevector#unimplemented) 20 | get-output-string 21 | (input-port-open? input-port-open?#unimplemented) 22 | (open-binary-input-file open-binary-input-file#unimplemented) 23 | (open-binary-output-file open-binary-output-file#unimplemented) 24 | (open-input-bytevector open-input-bytevector#unimplemented) 25 | open-input-string 26 | open-output-string 27 | (output-port-open? output-port-open?#unimplemented) 28 | (peek-u8 peek-u8#unimplemented) 29 | port? 30 | (read-bytevector read-bytevector#unimplemented) 31 | (read-bytevector! read-bytevector!#unimplemented) 32 | (read-error? read-error?#unimplemented) 33 | read-line 34 | (read-string read-string#unimplemented) 35 | read-u8 36 | (textual-port? textual-port?#unimplemented) 37 | u8-ready? 38 | write-bytevector 39 | write-shared 40 | write-simple 41 | (write-string write-string#unimplemented) 42 | write-u8 43 | 44 | )) 45 | 46 | ;;;============================================================================ 47 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s16vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s16vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S16vector operations. 10 | 11 | (##include "_prim-s16vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s16vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s16vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S16vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-s16vectors 14 | list->s16vector 15 | make-s16vector 16 | subs16vector 17 | subs16vector-fill! 18 | subs16vector-move! 19 | s16vector 20 | s16vector->list 21 | s16vector-append 22 | s16vector-copy 23 | s16vector-copy! 24 | s16vector-fill! 25 | s16vector-length 26 | s16vector-ref 27 | s16vector-set 28 | s16vector-set! 29 | s16vector-shrink! 30 | s16vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s32vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s32vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S32vector operations. 10 | 11 | (##include "_prim-s32vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s32vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s32vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S32vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-s32vectors 14 | list->s32vector 15 | make-s32vector 16 | subs32vector 17 | subs32vector-fill! 18 | subs32vector-move! 19 | s32vector 20 | s32vector->list 21 | s32vector-append 22 | s32vector-copy 23 | s32vector-copy! 24 | s32vector-fill! 25 | s32vector-length 26 | s32vector-ref 27 | s32vector-set 28 | s32vector-set! 29 | s32vector-shrink! 30 | s32vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s64vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s64vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S64vector operations. 10 | 11 | (##include "_prim-s64vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s64vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s64vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S64vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-s64vectors 14 | list->s64vector 15 | make-s64vector 16 | subs64vector 17 | subs64vector-fill! 18 | subs64vector-move! 19 | s64vector 20 | s64vector->list 21 | s64vector-append 22 | s64vector-copy 23 | s64vector-copy! 24 | s64vector-fill! 25 | s64vector-length 26 | s64vector-ref 27 | s64vector-set 28 | s64vector-set! 29 | s64vector-shrink! 30 | s64vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s8vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s8vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S8vector operations. 10 | 11 | (##include "_prim-s8vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-s8vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-s8vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; S8vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-s8vectors 14 | list->s8vector 15 | make-s8vector 16 | subs8vector 17 | subs8vector-fill! 18 | subs8vector-move! 19 | s8vector 20 | s8vector->list 21 | s8vector-append 22 | s8vector-copy 23 | s8vector-copy! 24 | s8vector-fill! 25 | s8vector-length 26 | s8vector-ref 27 | s8vector-set 28 | s8vector-set! 29 | s8vector-shrink! 30 | s8vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-six#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-six#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SIX operations. 10 | 11 | (##include "_prim-six-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-six-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-six-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SIX operations in Gambit. 10 | 11 | (##namespace ("##unimplemented#" 12 | 13 | six.! 14 | six.!x 15 | six.&x 16 | six.*x 17 | six.++x 18 | six.+x 19 | six.--x 20 | six.-x 21 | six.arrow 22 | six.break 23 | six.call 24 | six.case 25 | six.clause 26 | six.compound 27 | six.cons 28 | six.continue 29 | six.define-procedure 30 | six.define-variable 31 | six.do-while 32 | six.dot 33 | six.for 34 | six.goto 35 | six.identifier 36 | six.if 37 | six.index 38 | six.label 39 | six.list 40 | six.literal 41 | six.make-array 42 | six.new 43 | six.null 44 | six.prefix 45 | six.procedure 46 | six.procedure-body 47 | six.return 48 | six.switch 49 | six.while 50 | six.x!=y 51 | six.x%=y 52 | six.x%y 53 | six.x&&y 54 | six.x&=y 55 | six.x&y 56 | six.x*=y 57 | six.x*y 58 | six.x++ 59 | six.x+=y 60 | six.x+y 61 | six.x-- 62 | six.x-=y 63 | six.x-y 64 | six.x/=y 65 | six.x/y 66 | six.x:-y 67 | six.x:=y 68 | six.x:y 69 | six.x<<=y 70 | six.x<=y 76 | six.x>>=y 77 | six.x>>y 78 | six.x>y 79 | six.x?y:z 80 | six.x^=y 81 | six.x^y 82 | six.~x 83 | |six.x,y| 84 | |six.x\|=y| 85 | |six.x\|\|y| 86 | |six.x\|y| 87 | 88 | )) 89 | 90 | ;;;============================================================================ 91 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-special-forms#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-special-forms#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Special-forms. 10 | 11 | (##include "_prim-special-forms-r4rs#.scm") 12 | (##include "_prim-special-forms-r7rs#.scm") 13 | (##include "_prim-special-forms-gambit#.scm") 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-special-forms-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-special-forms-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Special forms added by Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | c-declare 14 | c-define 15 | c-define-type 16 | c-initialize 17 | c-lambda 18 | declare 19 | define-cond-expand-feature 20 | define-macro 21 | define-structure 22 | define-type 23 | define-type-of-thread 24 | future 25 | namespace 26 | r7rs-guard 27 | receive 28 | this-source-file 29 | time 30 | 31 | )) 32 | 33 | ;;;============================================================================ 34 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-special-forms-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-special-forms-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Special forms in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | and 14 | begin 15 | case 16 | cond 17 | define 18 | delay 19 | do 20 | force 21 | if 22 | lambda 23 | let 24 | let* 25 | letrec 26 | or 27 | quasiquote 28 | quote 29 | set! 30 | 31 | )) 32 | 33 | ;;;============================================================================ 34 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-special-forms-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-special-forms-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Special forms added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | case-lambda 14 | cond-expand 15 | define-record-type 16 | define-syntax 17 | delay-force 18 | guard 19 | include 20 | include-ci 21 | let*-values 22 | let-syntax 23 | let-values 24 | letrec* 25 | letrec*-values 26 | letrec-syntax 27 | letrec-values 28 | parameterize 29 | syntax-error 30 | syntax-rules 31 | unless 32 | when 33 | 34 | )) 35 | 36 | ;;;============================================================================ 37 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-string#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-string#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; String operations. 10 | 11 | (##include "_prim-string-r4rs#.scm") 12 | (##include "_prim-string-r7rs#.scm") 13 | (##include "_prim-string-gambit#.scm") 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-string-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-string-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; String operations added by Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-strings 14 | string-ci=?-hash 15 | string-set 16 | string-shrink! 17 | string=?-hash 18 | substring-fill! 19 | substring-move! 20 | 21 | )) 22 | 23 | ;;;============================================================================ 24 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-string-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-string-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; String operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | list->string 14 | make-string 15 | string 16 | string->list 17 | string-append 18 | string-ci<=? 19 | string-ci=? 22 | string-ci>? 23 | string-copy 24 | string-fill! 25 | string-length 26 | string-ref 27 | string-set! 28 | string<=? 29 | string=? 32 | string>? 33 | string? 34 | substring 35 | 36 | )) 37 | 38 | ;;;============================================================================ 39 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-string-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-string-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; String operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | string->utf8 14 | (string->vector string->vector#unimplemented) 15 | string-copy! 16 | string-downcase 17 | string-foldcase 18 | (string-for-each string-for-each#unimplemented) 19 | (string-map string-map#unimplemented) 20 | string-upcase 21 | utf8->string 22 | (vector->string vector->string#unimplemented) 23 | 24 | )) 25 | 26 | ;;;============================================================================ 27 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-symbol#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-symbol#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Symbol operations. 10 | 11 | (##include "_prim-symbol-r4rs#.scm") 12 | (##include "_prim-symbol-r7rs#.scm") 13 | (##include "_prim-symbol-gambit#.scm") 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-symbol-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-symbol-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Symbol operations added by Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | gensym 14 | string->uninterned-symbol 15 | symbol-hash 16 | uninterned-symbol? 17 | 18 | )) 19 | 20 | ;;;============================================================================ 21 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-symbol-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-symbol-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Symbol operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | string->symbol 14 | symbol->string 15 | symbol? 16 | 17 | )) 18 | 19 | ;;;============================================================================ 20 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-symbol-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-symbol-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Symbol operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | symbol=? 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-table#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-table#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Table operations. 10 | 11 | (##include "_prim-table-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-table-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-table-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Table operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | list->table 14 | make-table 15 | table->list 16 | table-copy 17 | table-for-each 18 | table-length 19 | table-merge 20 | table-merge! 21 | table-ref 22 | table-search 23 | table-set! 24 | table? 25 | 26 | )) 27 | 28 | ;;;============================================================================ 29 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-thread#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-thread#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Thread operations. 10 | 11 | (##include "_prim-thread-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u16vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u16vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U16vector operations. 10 | 11 | (##include "_prim-u16vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u16vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u16vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U16vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-u16vectors 14 | list->u16vector 15 | make-u16vector 16 | subu16vector 17 | subu16vector-fill! 18 | subu16vector-move! 19 | u16vector 20 | u16vector->list 21 | u16vector-append 22 | u16vector-copy 23 | u16vector-copy! 24 | u16vector-fill! 25 | u16vector-length 26 | u16vector-ref 27 | u16vector-set 28 | u16vector-set! 29 | u16vector-shrink! 30 | u16vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u32vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u32vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U32vector operations. 10 | 11 | (##include "_prim-u32vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u32vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u32vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U32vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-u32vectors 14 | list->u32vector 15 | make-u32vector 16 | subu32vector 17 | subu32vector-fill! 18 | subu32vector-move! 19 | u32vector 20 | u32vector->list 21 | u32vector-append 22 | u32vector-copy 23 | u32vector-copy! 24 | u32vector-fill! 25 | u32vector-length 26 | u32vector-ref 27 | u32vector-set 28 | u32vector-set! 29 | u32vector-shrink! 30 | u32vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u64vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u64vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U64vector operations. 10 | 11 | (##include "_prim-u64vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u64vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u64vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U64vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-u64vectors 14 | list->u64vector 15 | make-u64vector 16 | subu64vector 17 | subu64vector-fill! 18 | subu64vector-move! 19 | u64vector 20 | u64vector->list 21 | u64vector-append 22 | u64vector-copy 23 | u64vector-copy! 24 | u64vector-fill! 25 | u64vector-length 26 | u64vector-ref 27 | u64vector-set 28 | u64vector-set! 29 | u64vector-shrink! 30 | u64vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u8vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u8vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U8vector operations. 10 | 11 | (##include "_prim-u8vector-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-u8vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-u8vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; U8vector operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-u8vectors 14 | list->u8vector 15 | make-u8vector 16 | subu8vector 17 | subu8vector-fill! 18 | subu8vector-move! 19 | u8vector 20 | u8vector->list 21 | u8vector-append 22 | u8vector-copy 23 | u8vector-copy! 24 | u8vector-fill! 25 | u8vector-length 26 | u8vector-ref 27 | u8vector-set 28 | u8vector-set! 29 | u8vector-shrink! 30 | u8vector? 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-vector#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-vector#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Vector operations. 10 | 11 | (##include "_prim-vector-r4rs#.scm") 12 | (##include "_prim-vector-r7rs#.scm") 13 | (##include "_prim-vector-gambit#.scm") 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-vector-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-vector-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Vector operations added by Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | append-vectors 14 | vector-set 15 | vector-shrink! 16 | subvector 17 | subvector-fill! 18 | subvector-move! 19 | vector-cas! 20 | vector-inc! 21 | 22 | )) 23 | 24 | ;;;============================================================================ 25 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-vector-r4rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-vector-r4rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Vector operations in R4RS. 10 | 11 | (##namespace ("##" 12 | 13 | list->vector 14 | make-vector 15 | vector 16 | vector->list 17 | vector-fill! 18 | vector-length 19 | vector-ref 20 | vector-set! 21 | vector? 22 | 23 | )) 24 | 25 | ;;;============================================================================ 26 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-vector-r7rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-vector-r7rs#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Vector operations added by R7RS. 10 | 11 | (##namespace ("##" 12 | 13 | vector-append 14 | vector-copy 15 | vector-copy! 16 | (vector-for-each vector-for-each#unimplemented) 17 | (vector-map vector-map#unimplemented) 18 | 19 | )) 20 | 21 | ;;;============================================================================ 22 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-will#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-will#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Will operations. 10 | 11 | (##include "_prim-will-gambit#.scm") 12 | 13 | ;;;============================================================================ 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_prim-will-gambit#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_prim-will-gambit#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Will operations in Gambit. 10 | 11 | (##namespace ("##" 12 | 13 | make-will 14 | will-execute! 15 | will-testator 16 | will? 17 | 18 | )) 19 | 20 | ;;;============================================================================ 21 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_repl#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_repl#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (define-type repl-context 10 | id: cd5f5bad-f96f-438d-8d63-ff887b7b39de 11 | constructor: macro-make-repl-context 12 | implementer: implement-type-repl-context 13 | macros: 14 | prefix: macro- 15 | opaque: 16 | unprintable: 17 | 18 | level 19 | depth 20 | cont 21 | initial-cont 22 | reason 23 | prev-level 24 | prev-depth 25 | ) 26 | 27 | (define-type repl-channel 28 | id: F351CF0B-9C1B-4352-8CA2-032C14F7DE99 29 | extender: define-type-of-repl-channel 30 | constructor: macro-make-repl-channel 31 | implementer: implement-type-repl-channel 32 | macros: 33 | prefix: macro- 34 | opaque: 35 | unprintable: 36 | 37 | owner-mutex ;; mutex to become owner of this repl-channel 38 | last-owner ;; thread that last owned this repl-channel 39 | input-port 40 | output-port 41 | error-port 42 | result-history 43 | 44 | read-command 45 | write-results 46 | display-monoline-message 47 | display-multiline-message 48 | display-continuation 49 | pinpoint-continuation 50 | really-exit? 51 | newline 52 | ask 53 | confirm 54 | ) 55 | 56 | (define-type-of-repl-channel repl-channel-ports 57 | id: D7D5784C-16DC-4453-8832-CC05A6FE9353 58 | extender: define-type-of-repl-channel-ports 59 | constructor: macro-make-repl-channel-ports 60 | implementer: implement-type-repl-channel-ports 61 | macros: 62 | prefix: macro- 63 | opaque: 64 | unprintable: 65 | 66 | read-expr 67 | ) 68 | 69 | ;;;============================================================================ 70 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_syntax-boot.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_syntax-boot.scm" 4 | 5 | ;;; Copyright (c) 2000-2015 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;; This file implements an unhygienic version of the (syntax-case ...) 10 | ;; and (syntax ...) forms that are used for bootstrapping. 11 | 12 | ;;;---------------------------------------------------------------------------- 13 | 14 | ;; needed by expansion of syntax-case and syntax forms 15 | (include "_syntax-pattern.scm") 16 | (include "_syntax-template.scm") 17 | (include "_syntax-common.scm") 18 | 19 | ;;;---------------------------------------------------------------------------- 20 | 21 | (##define-syntax syntax-case 22 | (lambda (src) 23 | (##include "_syntax-case-xform-boot.scm") 24 | (syn#syntax-case-form-transformer src))) 25 | 26 | (##define-syntax syntax 27 | (lambda (src) 28 | (##include "_syntax-xform-boot.scm") 29 | (syn#syntax-form-transformer src '()))) 30 | 31 | ;;;============================================================================ 32 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_syntax-common.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_syntax-common.scm" 4 | 5 | ;;; Copyright (c) 2000-2015 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (define (syn#pvar-id pvar) 10 | (let ((sym (car pvar))) 11 | (string->symbol (string-append "##~" (symbol->string sym))))) 12 | 13 | ;;;---------------------------------------------------------------------------- 14 | 15 | (define (datum->syntax src datum) 16 | (cond ((##source? src) 17 | (##sourcify datum src)) 18 | (else 19 | (error "source object expected")))) 20 | 21 | (define (syntax->datum src) 22 | (cond ((##source? src) 23 | (##desourcify src)) 24 | (else 25 | (error "source object expected")))) 26 | 27 | (define (syntax->list src) 28 | (cond ((##source? src) 29 | (let ((code (##source-code src))) 30 | (if (or (null? code) (pair? code)) 31 | (##map (lambda (x) (##sourcify x src)) 32 | code) 33 | (error "list expected")))) 34 | (else 35 | (error "source object expected")))) 36 | 37 | (define (syntax->vector src) 38 | (cond ((##source? src) 39 | (let ((code (##source-code src))) 40 | (if (vector? code) 41 | (list->vector 42 | (##map (lambda (x) (##sourcify x src)) 43 | (vector->list code))) 44 | (error "vector expected")))) 45 | (else 46 | (error "source object expected")))) 47 | 48 | ;;;============================================================================ 49 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_tar/_tar#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_tar#.scm" 4 | 5 | ;;; Copyright (c) 2006-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Tar file packing/unpacking. 10 | 11 | (##namespace ("_tar#" 12 | 13 | tar-pack-file 14 | tar-pack-port 15 | tar-pack-u8vector 16 | tar-rec-list-read 17 | tar-rec-list-write 18 | tar-unpack-file 19 | tar-unpack-port 20 | tar-unpack-u8vector 21 | 22 | )) 23 | 24 | (define-type tar-rec 25 | id: F5AFD9DF-942D-4E2A-9BF9-89B2C57448A5 26 | constructor: macro-make-tar-rec 27 | implementer: implement-type-tar-rec 28 | copier: #f 29 | opaque: 30 | macros: 31 | prefix: macro- 32 | 33 | (name no-functional-setter: read-only:) 34 | (mode no-functional-setter: read-only:) 35 | (uid no-functional-setter: read-only:) 36 | (gid no-functional-setter: read-only:) 37 | (mtime no-functional-setter: read-only:) 38 | (type no-functional-setter: read-only:) 39 | (linkname no-functional-setter: read-only:) 40 | (uname no-functional-setter: read-only:) 41 | (gname no-functional-setter: read-only:) 42 | (devmajor no-functional-setter: read-only:) 43 | (devminor no-functional-setter: read-only:) 44 | (atime no-functional-setter: read-only:) 45 | (ctime no-functional-setter: read-only:) 46 | 47 | (content no-functional-setter: read-write: unprintable:) 48 | ) 49 | 50 | ;;;============================================================================ 51 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_tar/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _tar 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = _tar\#.scm 7 | MODULES_SCM = _tar.scm 8 | MAIN_MODULES = _tar 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_test/all.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "all.scm" 4 | 5 | ;;; Copyright (c) 2013-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##supply-module _test/all) 10 | 11 | (import _test) 12 | 13 | (test-all?-set! #t) 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_test/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _test 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = _test\#.scm 7 | MODULES_SCM = _test.scm test.scm all.scm quiet.scm verbose.scm 8 | MAIN_MODULES = _test all quiet verbose 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_test/quiet.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "quiet.scm" 4 | 5 | ;;; Copyright (c) 2013-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##supply-module _test/quiet) 10 | 11 | (import _test) 12 | 13 | (test-quiet?-set! #t) 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_test/verbose.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "verbose.scm" 4 | 5 | ;;; Copyright (c) 2013-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##supply-module _test/verbose) 10 | 11 | (import _test) 12 | 13 | (test-verbose?-set! #t) 14 | 15 | ;;;============================================================================ 16 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_uri/_uri#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_uri#.scm" 4 | 5 | ;;; Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (##namespace ("_uri#" 10 | 11 | string->uri 12 | string->uri-query 13 | encode-for-uri 14 | 15 | encode-x-www-form-urlencoded 16 | decode-x-www-form-urlencoded 17 | 18 | parse-uri 19 | uri-scheme 20 | uri-scheme-set! 21 | uri-slashes 22 | uri-slashes-set! 23 | uri-authority 24 | uri-authority-set! 25 | uri-path 26 | uri-path-set! 27 | uri-query 28 | uri-query-set! 29 | uri-fragment 30 | uri-fragment-set! 31 | 32 | )) 33 | 34 | ;;;============================================================================ 35 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_uri/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _uri 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = _uri\#.scm 7 | MODULES_SCM = _uri.scm test.scm 8 | MAIN_MODULES = _uri 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_uri/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | (import _uri) 10 | (import _test) 11 | 12 | (define query "a=1&b=2") 13 | (define query-result (string->uri-query query #f)) 14 | 15 | (check-equal? query-result '(("a" . "1") ("b" . "2"))) 16 | 17 | (define uri (string->uri "example://example.com:2020" #f)) 18 | 19 | (check-equal? (uri-scheme uri) "example") 20 | (check-true (uri-slashes uri)) 21 | (check-equal? (uri-authority uri) "example.com:2020") 22 | (check-equal? (uri-path uri) "/") 23 | (check-false (uri-query uri)) 24 | (check-false (uri-fragment uri)) 25 | 26 | (define uri-encoded (string->uri (encode-for-uri "example://example.com/Aéà") #t)) 27 | 28 | (check-equal? (uri-scheme uri-encoded) "example") 29 | (check-true (uri-slashes uri-encoded)) 30 | (check-equal? (uri-authority uri-encoded) "example.com") 31 | (check-equal? (uri-path uri-encoded) "/Aéà") 32 | (check-false (uri-query uri-encoded)) 33 | (check-false (uri-fragment uri-encoded)) 34 | 35 | ;;;============================================================================ 36 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_with-syntax-boot.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_with-syntax-boot.scm" 4 | 5 | ;;; Copyright (c) 2000-2015 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;; This file implements a version of the (with-syntax ...) form that is 10 | ;; used for bootstrapping. 11 | 12 | ;;;---------------------------------------------------------------------------- 13 | 14 | (##define-syntax with-syntax 15 | (lambda (src) 16 | (include "_syntax-boot.scm") 17 | (syntax-case src () 18 | ((_ ((pattern expr1)) expr2) 19 | #'(syntax-case expr1 () 20 | (pattern expr2)))))) 21 | 22 | ;;;============================================================================ 23 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_zlib/_zlib#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "_zlib#.scm" 4 | 5 | ;;; Copyright (c) 2006-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Zlib compression/decompression. 10 | 11 | (##namespace ("_zlib#" 12 | 13 | deflate-port 14 | gzip-port 15 | gzip-u8vector 16 | 17 | inflate-port 18 | gunzip-port 19 | gunzip-u8vector 20 | 21 | )) 22 | 23 | ;;;============================================================================ 24 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_zlib/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = _zlib 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = _zlib\#.scm 7 | MODULES_SCM = _zlib.scm test.scm 8 | MAIN_MODULES = _zlib 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/_zlib/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 2005-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Test zlib compression/decompression. 10 | 11 | ;;; TODO: improve the number of tests! 12 | 13 | (import _zlib) 14 | (import _test) 15 | 16 | (define (test u8vect) 17 | (check-equal? (gunzip-u8vector (gzip-u8vector u8vect)) u8vect)) 18 | 19 | (test '#u8()) 20 | (test '#u8(65 66 67)) 21 | 22 | ;;;============================================================================ 23 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/gambext: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/gambit/digest/digest#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "gambit/digest/digest#.scm" 4 | 5 | ;;; Copyright (c) 2006-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Message digest computation. 10 | 11 | (##namespace ("" 12 | 13 | open-digest 14 | close-digest 15 | 16 | digest-update-subu8vector 17 | digest-update-u8 18 | digest-update-u16-le 19 | digest-update-u16-be 20 | digest-update-u32-le 21 | digest-update-u32-be 22 | 23 | digest-string 24 | digest-substring 25 | digest-u8vector 26 | digest-subu8vector 27 | digest-file 28 | 29 | )) 30 | 31 | (define-type digest 32 | id: D3651B91-678F-4C1F-9A3D-7439E3BCA52F 33 | constructor: macro-make-digest 34 | implementer: implement-type-digest 35 | type-exhibitor: macro-digest-type 36 | copier: #f 37 | opaque: 38 | macros: 39 | prefix: macro- 40 | 41 | end 42 | update 43 | state 44 | ) 45 | 46 | (define-type crc32-digest 47 | id: D3E2EFFE-DC60-4565-B6D8-91DCB223679E 48 | constructor: macro-make-crc32-digest 49 | implementer: implement-type-crc32-digest 50 | type-exhibitor: macro-crc32-digest-type 51 | copier: #f 52 | opaque: 53 | macros: 54 | prefix: macro- 55 | 56 | hi16 57 | lo16 58 | ) 59 | 60 | (define-type block-digest 61 | id: B8D2A8C0-DC6B-4224-8646-285C65B28B7B 62 | constructor: macro-make-block-digest 63 | implementer: implement-type-block-digest 64 | type-exhibitor: macro-block-digest-type 65 | copier: #f 66 | opaque: 67 | macros: 68 | prefix: macro- 69 | 70 | hash-update 71 | hash 72 | block 73 | block-pos 74 | bit-pos 75 | big-endian? 76 | width 77 | ) 78 | 79 | ;;;============================================================================ 80 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/gambit/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = gambit 4 | libfromhere = .. 5 | SUBDIRS = 6 | HEADERS_SCM = gambit\#.scm 7 | MODULES_SCM = gambit.scm 8 | MAIN_MODULES = gambit 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/gambit/pkg/pkg#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "gambit/pkg/pkg#.scm" 4 | 5 | ;;; Copyright (c) 2019 by Frédéric Hamel, All Rights Reserved. 6 | ;;; Copyright (c) 2019 by Marc Feeley, All Rights Reserved. 7 | 8 | ;;;============================================================================ 9 | 10 | (##namespace ("gambit/pkg#" 11 | ; debug-mode? 12 | ; debug-mode?-set! 13 | https-proto 14 | install 15 | install-hook 16 | installed? 17 | module-default-proto 18 | module-default-proto-set! 19 | ssh-proto 20 | string->modref 21 | uninstall 22 | update 23 | gsi-option-update 24 | gsi-option-uninstall 25 | gsi-option-install)) 26 | 27 | ;;;============================================================================ 28 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/gambit/tar/tar#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "gambit/tar/tar#.scm" 4 | 5 | ;;; Copyright (c) 2006-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Tar file packing/unpacking. 10 | 11 | (##namespace ("gambit/tar#" 12 | tar-pack-file 13 | tar-pack-port 14 | tar-pack-u8vector 15 | tar-rec-list-read 16 | tar-rec-list-write 17 | tar-unpack-file 18 | tar-unpack-port 19 | tar-unpack-u8vector)) 20 | 21 | (define-type tar-rec 22 | id: F5AFD9DF-942D-4E2A-9BF9-89B2C57448A5 23 | constructor: macro-make-tar-rec 24 | implementer: implement-type-tar-rec 25 | copier: #f 26 | opaque: 27 | macros: 28 | prefix: macro- 29 | 30 | (name no-functional-setter: read-only:) 31 | (mode no-functional-setter: read-only:) 32 | (uid no-functional-setter: read-only:) 33 | (gid no-functional-setter: read-only:) 34 | (mtime no-functional-setter: read-only:) 35 | (type no-functional-setter: read-only:) 36 | (linkname no-functional-setter: read-only:) 37 | (uname no-functional-setter: read-only:) 38 | (gname no-functional-setter: read-only:) 39 | (devmajor no-functional-setter: read-only:) 40 | (devminor no-functional-setter: read-only:) 41 | (atime no-functional-setter: read-only:) 42 | (ctime no-functional-setter: read-only:) 43 | 44 | (content no-functional-setter: read-write: unprintable:) 45 | ) 46 | 47 | ;;;============================================================================ 48 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/gambit/zlib/zlib#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "gambit/zlib/zlib#.scm" 4 | 5 | ;;; Copyright (c) 2006-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Zlib compression/decompression. 10 | 11 | (##namespace ("" 12 | 13 | deflate-port 14 | gzip-port 15 | gzip-u8vector 16 | 17 | inflate-port 18 | gunzip-port 19 | gunzip-u8vector 20 | 21 | )) 22 | 23 | ;;;============================================================================ 24 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/_guide#.scm: -------------------------------------------------------------------------------- 1 | ;============================================================================== 2 | 3 | ; File: "_guide#.scm", Time-stamp: <2007-04-04 11:32:46 feeley> 4 | 5 | ; Copyright (c) 1994-2007 by Marc Feeley, All Rights Reserved. 6 | 7 | ;============================================================================== 8 | 9 | (define-type-of-repl-channel repl-channel-guide 10 | id: e188675f-7d4e-4e1f-8eb0-01a25aae640b 11 | extender: define-type-of-repl-channel-guide 12 | implementer: implement-type-repl-channel-guide 13 | macros: 14 | prefix: macro- 15 | opaque: 16 | equality-skip: 17 | unprintable: 18 | 19 | far-port 20 | GuideUiScheme 21 | ) 22 | 23 | ;============================================================================== 24 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/_guide.h: -------------------------------------------------------------------------------- 1 | /* File: "_guide.h", Time-stamp: <2007-09-12 00:15:35 feeley> */ 2 | 3 | /* Copyright (c) 1994-2007 by Marc Feeley, All Rights Reserved. */ 4 | 5 | #ifndef ____GUIDE_H 6 | #define ____GUIDE_H 7 | 8 | /*---------------------------------------------------------------------------*/ 9 | 10 | #define ___VERSION 400001 11 | #include "gambit.h" 12 | 13 | #include 14 | 15 | /*---------------------------------------------------------------------------*/ 16 | 17 | void GuideUiScheme_typed_text (___SCMOBJ repl, QString text); 18 | void GuideUiScheme_typed_eof (___SCMOBJ repl); 19 | 20 | /*---------------------------------------------------------------------------*/ 21 | 22 | #endif 23 | 24 | /* Local Variables: */ 25 | /* mode: C++ */ 26 | /* End: */ 27 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guidepro.in: -------------------------------------------------------------------------------- 1 | # project file for GUIDE library, Time-stamp: <2007-04-04 11:34:29 feeley> 2 | 3 | # Copyright (c) 2005-2007 by Marc Feeley, All Rights Reserved. 4 | 5 | PACKAGE_SHORTNAME = @PACKAGE_SHORTNAME@ 6 | PACKAGE_NAME = @PACKAGE_NAME@ 7 | PACKAGE_VERSION = @PACKAGE_VERSION@ 8 | PACKAGE_STRING = @PACKAGE_STRING@ 9 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 10 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ 11 | PACKAGE_SUBDIR = @PACKAGE_SUBDIR@ 12 | 13 | TEMPLATE = lib 14 | 15 | TARGET = guide 16 | 17 | LANGUAGE = C++ 18 | 19 | CONFIG += qt staticlib exceptions warn_on release 20 | 21 | INCPATH += ../../include 22 | 23 | HEADERS += \ 24 | guideuicodeformat.h \ 25 | guideuirepl.h \ 26 | guideuitableitem.h \ 27 | guideuihighlighter.h \ 28 | guideuihighlighterscheme.h \ 29 | guideuischeme.h \ 30 | guideuiconsoleinfo.h \ 31 | guideuitextedit.h \ 32 | guideuicont.h \ 33 | guideuienv.h \ 34 | guideuiinspector.h \ 35 | _guide.h \ 36 | guide.h 37 | 38 | SOURCES += \ 39 | guideuicodeformat.cpp \ 40 | guideuirepl.cpp \ 41 | guideuihighlighter.cpp \ 42 | guideuihighlighterscheme.cpp \ 43 | guideuischeme.cpp \ 44 | guideuiconsoleinfo.cpp \ 45 | guideuitextedit.cpp \ 46 | guideuicont.cpp \ 47 | guideuienv.cpp \ 48 | guideuiinspector.cpp \ 49 | guide.cpp 50 | 51 | FORMS = \ 52 | guideuimainwindow.ui \ 53 | guideuifileeditor.ui \ 54 | guideuiformatchooser.ui \ 55 | guideuisearchdialog.ui \ 56 | guideuiabout.ui 57 | 58 | IMAGES = \ 59 | images/filenew.png \ 60 | images/fileopen.png \ 61 | images/filesave.png \ 62 | images/print.png \ 63 | images/undo.png \ 64 | images/redo.png \ 65 | images/editcut.png \ 66 | images/editcopy.png \ 67 | images/editpaste.png \ 68 | images/cont.png \ 69 | images/leap.png \ 70 | images/step.png 71 | 72 | OBJECTS += _guide@obj@ 73 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuiconsoleinfo.cpp: -------------------------------------------------------------------------------- 1 | /* File: "guideuiconsoleinfo.cpp", Time-stamp: <2005-04-12 14:29:32 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | /*---------------------------------------------------------------------------*/ 6 | 7 | #include "guideuiconsoleinfo.h" 8 | 9 | /*---------------------------------------------------------------------------*/ 10 | 11 | GuideUiConsoleInfo::GuideUiConsoleInfo () 12 | { 13 | nbReadOnlyParas = 0; 14 | nbReadOnlyChars = 0; 15 | } 16 | 17 | // Add a line relation between repl and console 18 | void GuideUiConsoleInfo::addLine (int typedLineNb, int paraNb, int startCol) 19 | { 20 | struct LineInfo info; 21 | info.typedLineNb = typedLineNb; 22 | info.paraNb = paraNb; 23 | info.startCol = startCol; 24 | lines.append(info); 25 | } 26 | 27 | // Get the paragraph number related to the typed line number 28 | void GuideUiConsoleInfo::getParaNb (int typedLineNb, int ¶Nb, int &startCol) 29 | { 30 | for (uint i=0; i */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | #ifndef ___GUIDEUICONSOLEINFO_H 6 | #define ___GUIDEUICONSOLEINFO_H 7 | 8 | /*---------------------------------------------------------------------------*/ 9 | 10 | #include 11 | 12 | /*---------------------------------------------------------------------------*/ 13 | 14 | struct LineInfo 15 | { 16 | int typedLineNb; 17 | int paraNb; 18 | int startCol; 19 | }; 20 | 21 | class GuideUiConsoleInfo 22 | { 23 | private: 24 | QValueVector lines; 25 | 26 | public: 27 | int nbReadOnlyParas; // Number of whole protected paragraphs 28 | int nbReadOnlyChars; // Number of protected characters after the last whole protected paragraph 29 | 30 | GuideUiConsoleInfo (); 31 | void addLine (int typedLineNb, int paraNb, int startCol); 32 | void getParaNb (int typedLineNb, int& paraNb, int& startCol); 33 | int getStartCol (int paraNb); 34 | }; 35 | 36 | /*---------------------------------------------------------------------------*/ 37 | 38 | #endif 39 | 40 | /* Local Variables: */ 41 | /* mode: C++ */ 42 | /* End: */ 43 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuicont.cpp: -------------------------------------------------------------------------------- 1 | /* File: "guideuicont.cpp", Time-stamp: <2005-04-28 23:42:49 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | /*---------------------------------------------------------------------------*/ 6 | 7 | #include "guideuicont.h" 8 | 9 | /*---------------------------------------------------------------------------*/ 10 | 11 | GuideUiCont::GuideUiCont (QWidget *parent, const char *name, WFlags f) 12 | : GuideUiInspector (parent, name, f) 13 | { 14 | highlight_enabled = true; 15 | set_column (0, "Frame", 45); 16 | set_column (1, "Procedure", 100); 17 | set_column (2, "Position", 210); 18 | set_column (3, "Expression"); 19 | set_column_done (); 20 | } 21 | 22 | /*---------------------------------------------------------------------------*/ 23 | 24 | /* Local Variables: */ 25 | /* mode: C++ */ 26 | /* End: */ 27 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuicont.h: -------------------------------------------------------------------------------- 1 | /* File: "guideuicont.h", Time-stamp: <2005-04-12 12:04:16 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | #ifndef ___GUIDEUICONT_H 6 | #define ___GUIDEUICONT_H 7 | 8 | /*---------------------------------------------------------------------------*/ 9 | 10 | #include "guideuiinspector.h" 11 | 12 | /*---------------------------------------------------------------------------*/ 13 | 14 | class GuideUiCont : public GuideUiInspector 15 | { 16 | public: 17 | GuideUiCont (QWidget *parent = 0, const char *name = 0, WFlags f = 0); 18 | }; 19 | 20 | /*---------------------------------------------------------------------------*/ 21 | 22 | #endif 23 | 24 | /* Local Variables: */ 25 | /* mode: C++ */ 26 | /* End: */ 27 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuienv.cpp: -------------------------------------------------------------------------------- 1 | /* File: "guideuienv.cpp", Time-stamp: <2005-04-28 23:43:08 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | /*---------------------------------------------------------------------------*/ 6 | 7 | #include "guideuienv.h" 8 | 9 | /*---------------------------------------------------------------------------*/ 10 | 11 | GuideUiEnv::GuideUiEnv (QWidget *parent, const char *name, WFlags f) 12 | : GuideUiInspector (parent, name, f) 13 | { 14 | highlight_enabled = false; 15 | set_column (0, "Variable", 200); 16 | set_column (1, "Value"); 17 | set_column_done (); 18 | } 19 | 20 | /*---------------------------------------------------------------------------*/ 21 | 22 | /* Local Variables: */ 23 | /* mode: C++ */ 24 | /* End: */ 25 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuienv.h: -------------------------------------------------------------------------------- 1 | /* File: "guideuienv.h", Time-stamp: <2005-04-12 12:03:23 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | #ifndef ___GUIDEUIENV_H 6 | #define ___GUIDEUIENV_H 7 | 8 | /*---------------------------------------------------------------------------*/ 9 | 10 | #include "guideuiinspector.h" 11 | 12 | /*---------------------------------------------------------------------------*/ 13 | 14 | class GuideUiEnv : public GuideUiInspector 15 | { 16 | public: 17 | GuideUiEnv (QWidget *parent = 0, const char *name = 0, WFlags f = 0); 18 | }; 19 | 20 | /*---------------------------------------------------------------------------*/ 21 | 22 | #endif 23 | 24 | /* Local Variables: */ 25 | /* mode: C++ */ 26 | /* End: */ 27 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuihighlighter.cpp: -------------------------------------------------------------------------------- 1 | /* File: "guideuihighlighter.cpp", Time-stamp: <2005-04-12 14:25:52 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | /*---------------------------------------------------------------------------*/ 6 | 7 | #include "guideuihighlighter.h" 8 | #include 9 | 10 | /*---------------------------------------------------------------------------*/ 11 | 12 | GuideUiHighlighter::GuideUiHighlighter (QTextEdit *textEdit) 13 | : QSyntaxHighlighter (textEdit) 14 | { 15 | consoleInfo = 0; 16 | } 17 | 18 | // Set format of current paragraph with the specified color 19 | void GuideUiHighlighter::setFormat (int start, int length, int colorNb) 20 | { 21 | GuideUiElementFormat *ef = codeFormat->getElement(colorNb); 22 | QSyntaxHighlighter::setFormat(start, length, ef->getFont(textEdit()->font()), ef->getColor()); 23 | } 24 | 25 | // Return the related code format 26 | GuideUiCodeFormat* GuideUiHighlighter::getCodeFormat () 27 | { 28 | return codeFormat; 29 | } 30 | 31 | // Links the console infos at this highlighter 32 | void GuideUiHighlighter::setConsoleInfo (GuideUiConsoleInfo *consoleInfo) 33 | { 34 | this->consoleInfo = consoleInfo; 35 | } 36 | 37 | /*---------------------------------------------------------------------------*/ 38 | 39 | /* Local Variables: */ 40 | /* mode: C++ */ 41 | /* End: */ 42 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuihighlighter.h: -------------------------------------------------------------------------------- 1 | /* File: "guideuihighlighter.h", Time-stamp: <2005-04-12 13:25:34 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | #ifndef ___GUIDEUIHIGHLIGHTER_H 6 | #define ___GUIDEUIHIGHLIGHTER_H 7 | 8 | /*---------------------------------------------------------------------------*/ 9 | 10 | #include 11 | #include "guideuicodeformat.h" 12 | #include "guideuiconsoleinfo.h" 13 | 14 | /*---------------------------------------------------------------------------*/ 15 | 16 | class GuideUiHighlighter : public QSyntaxHighlighter 17 | { 18 | public: 19 | GuideUiHighlighter (QTextEdit *textEdit); 20 | virtual int highlightParagraph (const QString &text, int endStateOfLastPara) = 0; 21 | GuideUiCodeFormat* getCodeFormat (); 22 | virtual void cursorPositionChanged (int para, int col) = 0; 23 | virtual int tokenLength (int para, int col) = 0; 24 | virtual int getIndentLength (int para) = 0; 25 | virtual void doubleClicked (int para, int col) = 0; 26 | virtual void applyTo (QTextEdit *textEdit) = 0; 27 | void setConsoleInfo (GuideUiConsoleInfo *consoleInfo); 28 | 29 | protected: 30 | GuideUiCodeFormat *codeFormat; 31 | GuideUiConsoleInfo *consoleInfo; 32 | void setFormat (int start, int length, int colorNb); 33 | }; 34 | 35 | /*---------------------------------------------------------------------------*/ 36 | 37 | #endif 38 | 39 | /* Local Variables: */ 40 | /* mode: C++ */ 41 | /* End: */ 42 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuitableitem.h: -------------------------------------------------------------------------------- 1 | /* File: "guideuitableitem.h", Time-stamp: <2005-04-12 13:27:57 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | #ifndef ___GUIDEUITABLEITEM_H 6 | #define ___GUIDEUITABLEITEM_H 7 | 8 | /*---------------------------------------------------------------------------*/ 9 | 10 | #include 11 | 12 | /*---------------------------------------------------------------------------*/ 13 | 14 | class GuideUiTableItem:public QTableItem 15 | { 16 | public: 17 | 18 | GuideUiTableItem (QTable *table, const QString &text=0) 19 | : QTableItem (table, OnTyping, text) 20 | { } 21 | 22 | virtual int alignment() const 23 | { return AlignLeft|AlignVCenter; } 24 | }; 25 | 26 | /*---------------------------------------------------------------------------*/ 27 | 28 | #endif 29 | 30 | /* Local Variables: */ 31 | /* mode: C++ */ 32 | /* End: */ 33 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/guideuitextedit.h: -------------------------------------------------------------------------------- 1 | /* File: "guideuitextedit.h", Time-stamp: <2005-04-12 13:28:10 feeley> */ 2 | 3 | /* Copyright (C) 1994-2005 by Marc Feeley, All Rights Reserved. */ 4 | 5 | #ifndef ___GUIDEUITEXTEDIT_H 6 | #define ___GUIDEUITEXTEDIT_H 7 | 8 | /*---------------------------------------------------------------------------*/ 9 | 10 | #include 11 | #include 12 | 13 | /*---------------------------------------------------------------------------*/ 14 | 15 | class GuideUiTextEdit : public QTextEdit 16 | { 17 | Q_OBJECT 18 | 19 | private: 20 | // Special selection 21 | int selectStartPara; 22 | int selectStartIndex; 23 | int selectEndPara; 24 | int selectEndIndex; 25 | 26 | QStatusBar *status; 27 | 28 | public: 29 | GuideUiTextEdit (QWidget *parent=0, const char *name=0); 30 | void specialSelect (int selectStartPara, 31 | int selectStartIndex, 32 | int selectEndPara, 33 | int selectEndIndex); 34 | void setStatusBar (QStatusBar *status); 35 | void reselect (); 36 | void removeSpecialSelection (); 37 | void ensureSpecialSelectionVisible (); 38 | 39 | public slots: 40 | void this_doubleClicked (int para, int col); 41 | void this_cursorPositionChanged (int para, int col); 42 | }; 43 | 44 | /*---------------------------------------------------------------------------*/ 45 | 46 | #endif 47 | 48 | /* Local Variables: */ 49 | /* mode: C++ */ 50 | /* End: */ 51 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/cont.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/cont.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/editcopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/editcopy.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/editcut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/editcut.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/editpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/editpaste.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/filenew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/filenew.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/fileopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/fileopen.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/filesave.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/leap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/leap.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/print.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/redo.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/step.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/step.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/guide/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/archive-items/gambit/lib/guide/images/undo.png -------------------------------------------------------------------------------- /archive-items/gambit/lib/r5rs#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "r5rs#.scm" 4 | 5 | ;;; Copyright (c) 2005-2016 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;; Identifiers bound to syntactic forms and procedures defined by R5RS 10 | ;; are mapped to the empty namespace (no prefix). 11 | 12 | (##include "r4rs#.scm") ;; most identifier bindings are inherited from R4RS 13 | 14 | (##namespace ("" ;; these identifier bindings are new in R5RS 15 | 16 | ;; special forms 17 | define-syntax 18 | let-syntax 19 | letrec-syntax 20 | syntax-rules 21 | 22 | ;; procedures 23 | call-with-values 24 | dynamic-wind 25 | eval 26 | interaction-environment 27 | null-environment 28 | scheme-report-environment 29 | values 30 | 31 | )) 32 | 33 | ;;;============================================================================ 34 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/r5rs/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/r5rs 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = r5rs.sld 8 | MAIN_MODULES = r5rs 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/base/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/base 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = base.sld 8 | MAIN_MODULES = base 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/case-lambda/case-lambda.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme case-lambda) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | case-lambda 8 | 9 | )) 10 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/case-lambda/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/case-lambda 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = case-lambda.sld 8 | MAIN_MODULES = case-lambda 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/char/char.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme char) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | char-alphabetic? 8 | char-ci<=? 9 | char-ci=? 12 | char-ci>? 13 | char-downcase 14 | char-foldcase 15 | char-lower-case? 16 | char-numeric? 17 | char-upcase 18 | char-upper-case? 19 | char-whitespace? 20 | digit-value 21 | string-ci<=? 22 | string-ci=? 25 | string-ci>? 26 | string-downcase 27 | string-foldcase 28 | string-upcase 29 | 30 | )) 31 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/char/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/char 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = char.sld 8 | MAIN_MODULES = char 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/complex/complex.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme complex) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | angle 8 | imag-part 9 | magnitude 10 | make-polar 11 | make-rectangular 12 | real-part 13 | 14 | )) 15 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/complex/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/complex 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = complex.sld 8 | MAIN_MODULES = complex 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/cxr/cxr.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme cxr) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | caaaar 8 | caaadr 9 | caaar 10 | caadar 11 | caaddr 12 | caadr 13 | cadaar 14 | cadadr 15 | cadar 16 | caddar 17 | cadddr 18 | caddr 19 | cdaaar 20 | cdaadr 21 | cdaar 22 | cdadar 23 | cdaddr 24 | cdadr 25 | cddaar 26 | cddadr 27 | cddar 28 | cdddar 29 | cddddr 30 | cdddr 31 | 32 | )) 33 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/cxr/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/cxr 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = cxr.sld 8 | MAIN_MODULES = cxr 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/eval/eval.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme eval) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | environment 8 | eval 9 | 10 | )) 11 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/eval/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/eval 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = eval.sld 8 | MAIN_MODULES = eval 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/file/file.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme file) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | call-with-input-file 8 | call-with-output-file 9 | delete-file 10 | file-exists? 11 | open-binary-input-file 12 | open-binary-output-file 13 | open-input-file 14 | open-output-file 15 | with-input-from-file 16 | with-output-to-file 17 | 18 | )) 19 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/file/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/file 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = file.sld 8 | MAIN_MODULES = file 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/inexact/inexact.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme inexact) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | acos 8 | asin 9 | atan 10 | cos 11 | exp 12 | finite? 13 | infinite? 14 | log 15 | nan? 16 | sin 17 | sqrt 18 | tan 19 | 20 | )) 21 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/inexact/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/inexact 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = inexact.sld 8 | MAIN_MODULES = inexact 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/lazy/lazy.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme lazy) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | delay 8 | delay-force 9 | force 10 | make-promise 11 | promise? 12 | 13 | )) 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/lazy/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/lazy 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = lazy.sld 8 | MAIN_MODULES = lazy 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/load/load.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme load) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | load 8 | 9 | )) 10 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/load/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/load 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = load.sld 8 | MAIN_MODULES = load 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme 4 | libfromhere = .. 5 | SUBDIRS = base case-lambda char complex cxr eval file inexact lazy load process-context r5rs read repl time write 6 | HEADERS_SCM = 7 | MODULES_SCM = 8 | MAIN_MODULES = 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/process-context/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/process-context 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = process-context.sld 8 | MAIN_MODULES = process-context 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/process-context/process-context.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme process-context) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | command-line 8 | emergency-exit 9 | exit 10 | get-environment-variable 11 | get-environment-variables 12 | 13 | )) 14 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/r5rs/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/r5rs 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = r5rs.sld 8 | MAIN_MODULES = r5rs 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/read/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/read 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = read.sld 8 | MAIN_MODULES = read 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/read/read.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme read) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | read 8 | 9 | )) 10 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/repl/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/repl 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = repl.sld 8 | MAIN_MODULES = repl 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/repl/repl.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme repl) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | interaction-environment 8 | 9 | )) 10 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/time/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/time 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = time.sld 8 | MAIN_MODULES = time 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/time/time.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme time) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | current-jiffy 8 | current-second 9 | jiffies-per-second 10 | 11 | )) 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/write/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = scheme/write 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = write.sld 8 | MAIN_MODULES = write 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/scheme/write/write.sld: -------------------------------------------------------------------------------- 1 | (define-library (scheme write) 2 | 3 | (namespace "") 4 | 5 | (export 6 | 7 | display 8 | write 9 | write-shared 10 | write-simple 11 | 12 | )) 13 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/0/0#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "0#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 0, Feature-based conditional expansion construct 10 | 11 | (##namespace ("" 12 | 13 | cond-expand 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/0/0.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "0.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 0, Feature-based conditional expansion construct 10 | 11 | (##supply-module srfi/0) 12 | 13 | ;;;============================================================================ 14 | 15 | ;; cond-expand special form is builtin 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/0/0.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "0.sld" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 0, Feature-based conditional expansion construct 10 | 11 | (define-library (srfi 0) 12 | 13 | (namespace "") 14 | 15 | (export cond-expand) 16 | 17 | (include "0.scm")) 18 | 19 | ;;;============================================================================ 20 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/0/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/0 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 0\#.scm 7 | MODULES_SCM = 0.scm 0.sld test.scm 8 | MAIN_MODULES = 0 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/0/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 0, Feature-based conditional expansion construct 10 | 11 | (import (srfi 0)) 12 | (import (_test)) 13 | 14 | ;;;============================================================================ 15 | 16 | (cond-expand 17 | (gambit 18 | (check-true #t)) 19 | (else 20 | (check-true #f))) 21 | 22 | ;;;============================================================================ 23 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/132/132#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "132#.scm" 4 | 5 | ;;; Copyright (c) 2018-2019 by Antoine Doucet, All Rights Reserved. 6 | ;;; Copyright (c) 2018-2019 by Marc Feeley, All Rights Reserved. 7 | 8 | ;;;============================================================================ 9 | 10 | ;;; SRFI 132, Sort Libraries 11 | 12 | (##namespace ("srfi/132#" 13 | 14 | list-sorted? 15 | vector-sorted? 16 | list-sort 17 | list-stable-sort 18 | list-sort! 19 | list-stable-sort! 20 | vector-sort 21 | vector-stable-sort 22 | vector-sort! 23 | vector-stable-sort! 24 | list-merge 25 | list-merge! 26 | vector-merge 27 | vector-merge! 28 | list-delete-neighbor-dups 29 | list-delete-neighbor-dups! 30 | vector-delete-neighbor-dups 31 | vector-delete-neighbor-dups! 32 | vector-find-median 33 | vector-find-median! 34 | vector-select! 35 | vector-separate! 36 | 37 | )) 38 | 39 | ;;;============================================================================ 40 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/132/132.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "132.sld" 4 | 5 | ;;; Copyright (c) 2018-2019 by Antoine Doucet, All Rights Reserved. 6 | ;;; Copyright (c) 2018-2019 by Marc Feeley, All Rights Reserved. 7 | 8 | ;;;============================================================================ 9 | 10 | ;;; SRFI 132, Sort Libraries 11 | 12 | (define-library (srfi 132) 13 | 14 | (export 15 | 16 | list-sorted? 17 | vector-sorted? 18 | list-sort 19 | list-stable-sort 20 | list-sort! 21 | list-stable-sort! 22 | vector-sort 23 | vector-stable-sort 24 | vector-sort! 25 | vector-stable-sort! 26 | list-merge 27 | list-merge! 28 | vector-merge 29 | vector-merge! 30 | list-delete-neighbor-dups 31 | list-delete-neighbor-dups! 32 | vector-delete-neighbor-dups 33 | vector-delete-neighbor-dups! 34 | vector-find-median 35 | vector-find-median! 36 | vector-select! 37 | vector-separate! 38 | 39 | ) 40 | 41 | (include "132.scm")) 42 | 43 | ;;;============================================================================ 44 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/132/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/132 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 132\#.scm 7 | MODULES_SCM = 132.scm 132.sld test.scm delndups.scm lmsort.scm merge.scm select.scm vhsort.scm visort.scm vmsort.scm vqsort2.scm vqsort3.scm vr7rs.scm 8 | MAIN_MODULES = 132 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/132/vr7rs.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "gambit/srfi/132/vr7rs.scm" 4 | 5 | ;;; 2018-2019 by Antoine Doucet. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; Sort Libraries (srfi-132). 10 | 11 | 12 | (define (r7rs-vector-copy vec #!optional (start 0) (end (vector-length vec))) 13 | (subvector vec start end)) 14 | 15 | (define (r7rs-vector-copy! vec2 start2 vec1 #!optional 16 | (start 0) 17 | (end (vector-length vec1))) 18 | (subvector-move! vec1 start end vec2 start2)) 19 | 20 | (define (r7rs-vector-fill! vec fill #!optional (start 0) (end (length vec))) 21 | (subvector-fill! vec start end fill)) 22 | ;;;============================================================================ 23 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/23/23#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "23#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 23, Error reporting mechanism 10 | 11 | (##namespace ("" 12 | 13 | error 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/23/23.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "23.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 23, Error reporting mechanism 10 | 11 | (##supply-module srfi/23) 12 | 13 | ;;;============================================================================ 14 | 15 | ;; error procedure is builtin 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/23/23.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "23.sld" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 23, Error reporting mechanism 10 | 11 | (define-library (srfi 23) 12 | 13 | (namespace "") 14 | 15 | (export error) 16 | 17 | (include "23.scm")) 18 | 19 | ;;;============================================================================ 20 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/23/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/23 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 23\#.scm 7 | MODULES_SCM = 23.scm 23.sld test.scm 8 | MAIN_MODULES = 23 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/23/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 23, Error reporting mechanism 10 | 11 | (import (srfi 23)) 12 | (import (_test)) 13 | 14 | ;;;============================================================================ 15 | 16 | (check-tail-exn 17 | wrong-number-of-arguments-exception? 18 | (lambda () (error))) 19 | 20 | (check-tail-exn 21 | error-object? 22 | (lambda () (error "panic!"))) 23 | 24 | (check-tail-exn 25 | error-object? 26 | (lambda () (error "panic!" 1))) 27 | 28 | (check-tail-exn 29 | error-object? 30 | (lambda () (error "panic!" 1 2))) 31 | 32 | ;;;============================================================================ 33 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/28/28#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "28#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 28, Basic Format Strings 10 | 11 | (##namespace ("srfi/28#" 12 | 13 | format 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/28/28.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "28.sld" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 28, Basic Format Strings 10 | 11 | (define-library (srfi 28) 12 | 13 | (export format) 14 | 15 | (include "28.scm")) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/28/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/28 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 28\#.scm 7 | MODULES_SCM = 28.scm 28.sld test.scm 8 | MAIN_MODULES = 28 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/28/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 28, Basic Format Strings 10 | 11 | (import (srfi 28)) 12 | (import (_test)) 13 | 14 | ;;;============================================================================ 15 | 16 | (check-equal? (format "Hello, ~a" "World!") 17 | "Hello, World!") 18 | 19 | (check-equal? (format "Error, list is too short: ~s~%" '(one "two" 3)) 20 | "Error, list is too short: (one \"two\" 3)\n") 21 | 22 | (check-equal? (format "/dsk1/gambit/a and /dsk1/gambit/b") 23 | "~a and ~b") 24 | 25 | (check-tail-exn 26 | type-exception? 27 | (lambda () (format #f))) 28 | 29 | (check-tail-exn 30 | wrong-number-of-arguments-exception? 31 | (lambda () (format))) 32 | 33 | (check-tail-exn 34 | error-object? 35 | (lambda () (format "a=~ " 123))) 36 | 37 | (check-tail-exn 38 | error-object? 39 | (lambda () (format "b=~a"))) 40 | 41 | (check-tail-exn 42 | error-object? 43 | (lambda () (format "c=~s"))) 44 | 45 | ;;;============================================================================ 46 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/4/4.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "4.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 4, Homogeneous numeric vector datatypes 10 | 11 | (##supply-module srfi/4) 12 | 13 | ;;;============================================================================ 14 | 15 | ;; homogeneous numeric vector procedures are builtin 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/4/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/4 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 4\#.scm 7 | MODULES_SCM = 4.scm 4.sld test.scm 8 | MAIN_MODULES = 4 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/6/6#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "6#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 6, Basic String Ports 10 | 11 | (##namespace ("" 12 | 13 | open-input-string 14 | open-output-string 15 | get-output-string 16 | 17 | )) 18 | 19 | ;;;============================================================================ 20 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/6/6.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "6.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 6, Basic String Ports 10 | 11 | (##supply-module srfi/6) 12 | 13 | ;;;============================================================================ 14 | 15 | ;; basic string port procedures are builtin 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/6/6.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "6.sld" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 6, Basic String Ports 10 | 11 | (define-library (srfi 6) 12 | 13 | (namespace "") 14 | 15 | (export 16 | 17 | open-input-string 18 | open-output-string 19 | get-output-string 20 | 21 | ) 22 | 23 | (include "6.scm")) 24 | 25 | ;;;============================================================================ 26 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/6/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/6 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 6\#.scm 7 | MODULES_SCM = 6.scm 6.sld test.scm 8 | MAIN_MODULES = 6 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/69/69#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "69#.scm" 4 | 5 | ;;; Copyright (c) 2018-2019 by Antoine Doucet, All Rights Reserved. 6 | ;;; Copyright (c) 2018-2019 by Marc Feeley, All Rights Reserved. 7 | 8 | ;;;============================================================================ 9 | 10 | ;;; SRFI 69, Basic hash tables 11 | 12 | (##namespace ("srfi/69#" 13 | 14 | hash 15 | string-hash 16 | string-ci-hash 17 | hash-by-identity 18 | make-hash-table 19 | hash-table? 20 | alist->hash-table 21 | hash-table-equivalence-function 22 | hash-table-hash-function 23 | hash-table-ref 24 | hash-table-ref/default 25 | hash-table-set! 26 | hash-table-delete! 27 | hash-table-exists? 28 | hash-table-update! 29 | hash-table-update!/default 30 | hash-table-size 31 | hash-table-keys 32 | hash-table-values 33 | hash-table-walk 34 | hash-table-fold 35 | hash-table->alist 36 | hash-table-copy 37 | hash-table-merge! 38 | 39 | )) 40 | 41 | ;;;============================================================================ 42 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/69/69.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "69.sld" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 69, Basic hash tables 10 | 11 | (define-library (srfi 69) 12 | 13 | (export 14 | 15 | hash 16 | string-hash 17 | string-ci-hash 18 | hash-by-identity 19 | make-hash-table 20 | hash-table? 21 | alist->hash-table 22 | hash-table-equivalence-function 23 | hash-table-hash-function 24 | hash-table-ref 25 | hash-table-ref/default 26 | hash-table-set! 27 | hash-table-delete! 28 | hash-table-exists? 29 | hash-table-update! 30 | hash-table-update!/default 31 | hash-table-size 32 | hash-table-keys 33 | hash-table-values 34 | hash-table-walk 35 | hash-table-fold 36 | hash-table->alist 37 | hash-table-copy 38 | hash-table-merge! 39 | 40 | ) 41 | 42 | (include "69.scm")) 43 | 44 | ;;;============================================================================ 45 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/69/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/69 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 69\#.scm 7 | MODULES_SCM = 69.scm 69.sld test.scm 8 | MAIN_MODULES = 69 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/8/8#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "8#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 8, receive: Binding to multiple values 10 | 11 | (##namespace ("" 12 | 13 | receive 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/8/8.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "8.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 8, receive: Binding to multiple values 10 | 11 | (##supply-module srfi/8) 12 | 13 | ;;;============================================================================ 14 | 15 | ;; receive is builtin 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/8/8.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "8.sld" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 8, receive: Binding to multiple values 10 | 11 | (define-library (srfi 8) 12 | 13 | (namespace "") 14 | 15 | (export receive) 16 | 17 | (include "8.scm")) 18 | 19 | ;;;============================================================================ 20 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/8/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/8 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 8\#.scm 7 | MODULES_SCM = 8.scm 8.sld test.scm 8 | MAIN_MODULES = 8 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/8/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 8, receive: Binding to multiple values 10 | 11 | (import (srfi 8)) 12 | (import (_test)) 13 | 14 | ;;;============================================================================ 15 | 16 | (receive (x y) (values 11 22) 17 | (check-equal? x 11) 18 | (check-equal? y 22)) 19 | 20 | ;;;============================================================================ 21 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/9/9#.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "9#.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 9, Defining Record Types 10 | 11 | (##namespace ("" 12 | 13 | define-record-type 14 | 15 | )) 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/9/9.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "9.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 9, Defining Record Types 10 | 11 | (##supply-module srfi/9) 12 | 13 | ;;;============================================================================ 14 | 15 | ;; define-record-type is builtin 16 | 17 | ;;;============================================================================ 18 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/9/9.sld: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "9.sld" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 9, Defining Record Types 10 | 11 | (define-library (srfi 9) 12 | 13 | (namespace "") 14 | 15 | (export define-record-type) 16 | 17 | (include "9.scm")) 18 | 19 | ;;;============================================================================ 20 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/9/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi/9 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 9\#.scm 7 | MODULES_SCM = 9.scm 9.sld test.scm 8 | MAIN_MODULES = 9 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/9/test.scm: -------------------------------------------------------------------------------- 1 | ;;;============================================================================ 2 | 3 | ;;; File: "test.scm" 4 | 5 | ;;; Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 6 | 7 | ;;;============================================================================ 8 | 9 | ;;; SRFI 9, Defining Record Types 10 | 11 | (import (srfi 9)) 12 | (import (_test)) 13 | 14 | ;;;============================================================================ 15 | 16 | (define-record-type :pare 17 | (kons x y) 18 | pare? 19 | (x kar set-kar!) 20 | (y kdr)) 21 | 22 | (check-true (pare? (kons 1 2))) 23 | (check-false (pare? (cons 1 2))) 24 | (check-equal? (kar (kons 1 2)) 1) 25 | (check-equal? (kdr (kons 1 2)) 2) 26 | 27 | (let ((k (kons 1 2))) 28 | (set-kar! k 3) 29 | (check-equal? (kar k) 3)) 30 | 31 | ;;;============================================================================ 32 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/srfi/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = srfi 4 | libfromhere = .. 5 | SUBDIRS = 0 4 6 8 9 23 28 69 132 6 | HEADERS_SCM = 7 | MODULES_SCM = 8 | MAIN_MODULES = 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/termite/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = termite 4 | libfromhere = .. 5 | SUBDIRS = otp 6 | HEADERS_SCM = termite\#.scm match\#.scm match-support\#.scm utils\#.scm 7 | MODULES_SCM = termite.scm data.scm deftype.scm match.scm match-support.scm io.scm process.scm recv.scm uuid.scm utils.scm 8 | MAIN_MODULES = termite match match-support utils 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/termite/match#.scm: -------------------------------------------------------------------------------- 1 | 2 | (##namespace ("termite/match#" match/action match)) 3 | 4 | (define-macro (match/action on-success on-fail datum . clauses) 5 | (##import termite/match-support) 6 | (let ((tmp (gensym)) 7 | (succ (gensym)) 8 | (fail (gensym))) 9 | 10 | `(let ((,tmp ,datum) 11 | (,succ (lambda () ,on-success)) ;; the thunk for success is lifted 12 | (,fail (lambda () ,on-fail))) ;; the thunk for failure is lifted 13 | 14 | ,(compile-pattern-match `(,succ) `(,fail) clauses tmp)))) 15 | 16 | 17 | (define-macro (match datum . clauses) 18 | (##import termite/match-support) 19 | (let ((tmp (gensym)) 20 | (fail (gensym))) 21 | 22 | `(let* ((,tmp ,datum) 23 | (,fail (lambda () 24 | (raise 25 | (list bad-match: ,tmp))))) 26 | ,(compile-pattern-match 27 | #f 28 | `(,fail) 29 | clauses 30 | tmp)))) 31 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/termite/match-support#.scm: -------------------------------------------------------------------------------- 1 | 2 | (##namespace ("termite/match-support#" 3 | compile-pattern-match)) 4 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/termite/match.scm: -------------------------------------------------------------------------------- 1 | 2 | (##supply-module termite/match) 3 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/termite/otp/makefile: -------------------------------------------------------------------------------- 1 | # Copyright (c) 1994-2019 by Marc Feeley, All Rights Reserved. 2 | 3 | herefromlib = termite/otp 4 | libfromhere = ../.. 5 | SUBDIRS = 6 | HEADERS_SCM = 7 | MODULES_SCM = gen_event.scm gen_server.scm 8 | MAIN_MODULES = 9 | OTHER_RCFILES = makefile 10 | 11 | include $(libfromhere)/module-common.mk 12 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/termite/utils#.scm: -------------------------------------------------------------------------------- 1 | ;; utils 2 | 3 | ;; ---------------------------------------------------------------------------- 4 | ;; Some basic utilities 5 | 6 | (##namespace ("termite/utils#" 7 | filter 8 | remove 9 | quoted-symbol? 10 | unquoted-symbol? 11 | 12 | make-uuid)) 13 | -------------------------------------------------------------------------------- /archive-items/gambit/lib/termite/utils.scm: -------------------------------------------------------------------------------- 1 | ;; utils 2 | 3 | ;; ---------------------------------------------------------------------------- 4 | ;; Some basic utilities 5 | 6 | (##supply-module termite/utils) 7 | (##namespace ("termite/utils#")) 8 | (##include "/dsk1/gambit/lib/_prim#.scm") 9 | 10 | ;; make-uuid 11 | (##include "uuid.scm") 12 | 13 | (define (filter pred? lst) 14 | (cond 15 | ((null? lst) '()) 16 | 17 | ((pred? (car lst)) 18 | (cons (car lst) 19 | (filter pred? (cdr lst)))) 20 | (else 21 | (filter pred? (cdr lst))))) 22 | 23 | (define (remove pred? lst) 24 | (filter (lambda (x) 25 | (not (pred? x))) 26 | lst)) 27 | 28 | (define (quoted-symbol? datum) 29 | (and 30 | (pair? datum) 31 | (eq? (car datum) 'quote) 32 | (pair? (cdr datum)) 33 | (symbol? (cadr datum)))) 34 | 35 | (define (unquoted-symbol? datum) 36 | (and 37 | (pair? datum) 38 | (eq? (car datum) 'unquote) 39 | (pair? (cdr datum)) 40 | (symbol? (cadr datum)))) 41 | 42 | -------------------------------------------------------------------------------- /archive-items/icfp2020.scm: -------------------------------------------------------------------------------- 1 | ;; Compute 1 + 2 + 3 ... + n 2 | ;; Call as (sum n 0) 3 | (define (sum n s) 4 | (if (= n 0) 5 | s 6 | (sum (- n 1) (+ n s)))) 7 | -------------------------------------------------------------------------------- /attic/bochsrc.txt: -------------------------------------------------------------------------------- 1 | ata0-master: type=disk, path="mimosa-build/floppy.img", cylinders=615, heads=6, spt=17 2 | boot: disk 3 | -------------------------------------------------------------------------------- /attic/net/net.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/attic/net/net.h -------------------------------------------------------------------------------- /attic/net/nic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This program is free software; you can redistribute it and/or 3 | * modify it under the terms of the GNU General Public License as 4 | * published by the Free Software Foundation; either version 2, or (at 5 | * your option) any later version. 6 | */ 7 | 8 | #ifndef NIC_H 9 | #define NIC_H 10 | 11 | /* 12 | * Structure returned from eth_probe and passed to other driver 13 | * functions. 14 | */ 15 | 16 | struct nic 17 | { 18 | void (*reset)P((struct nic *)); 19 | int (*poll)P((struct nic *)); 20 | void (*transmit)P((struct nic *, const char *d, 21 | unsigned int t, unsigned int s, const char *p)); 22 | void (*disable)P((struct nic *)); 23 | int flags; /* driver specific flags */ 24 | struct rom_info *rom_info; /* -> rom_info from main */ 25 | unsigned char *node_addr; 26 | char *packet; 27 | unsigned int packetlen; 28 | void *priv_data; /* driver can hang private data here */ 29 | }; 30 | 31 | #endif /* NIC_H */ 32 | -------------------------------------------------------------------------------- /attic/net/timer2.h: -------------------------------------------------------------------------------- 1 | /* Defines for routines to implement a low-overhead timer for drivers */ 2 | 3 | /* 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2, or (at 7 | * your option) any later version. 8 | */ 9 | 10 | #ifndef TIMER_H 11 | #define TIMER_H 12 | 13 | /* Ports for the 8254 timer chip */ 14 | #define TIMER2_PORT 0x42 15 | #define TIMER_MODE_PORT 0x43 16 | 17 | /* Meaning of the mode bits */ 18 | #define TIMER0_SEL 0x00 19 | #define TIMER1_SEL 0x40 20 | #define TIMER2_SEL 0x80 21 | #define READBACK_SEL 0xC0 22 | 23 | #define LATCH_COUNT 0x00 24 | #define LOBYTE_ACCESS 0x10 25 | #define HIBYTE_ACCESS 0x20 26 | #define WORD_ACCESS 0x30 27 | 28 | #define MODE0 0x00 29 | #define MODE1 0x02 30 | #define MODE2 0x04 31 | #define MODE3 0x06 32 | #define MODE4 0x08 33 | #define MODE5 0x0A 34 | 35 | #define BINARY_COUNT 0x00 36 | #define BCD_COUNT 0x01 37 | 38 | /* Timers tick over at this rate */ 39 | #define TICKS_PER_MS 1193 40 | 41 | /* Parallel Peripheral Controller Port B */ 42 | #define PPC_PORTB 0x61 43 | 44 | /* Meaning of the port bits */ 45 | #define PPCB_T2OUT 0x20 /* Bit 5 */ 46 | #define PPCB_SPKR 0x02 /* Bit 1 */ 47 | #define PPCB_T2GATE 0x01 /* Bit 0 */ 48 | 49 | /* Ticks must be between 0 and 65535 (0 == 65536) 50 | because it is a 16 bit counter */ 51 | extern void load_timer2(unsigned int ticks); 52 | extern inline int timer2_running(void) 53 | { 54 | return ((inb(PPC_PORTB) & PPCB_T2OUT) == 0); 55 | } 56 | 57 | extern inline void waiton_timer2(unsigned int ticks) 58 | { 59 | load_timer2(ticks); 60 | while ((inb(PPC_PORTB) & PPCB_T2OUT) == 0) 61 | ; 62 | } 63 | 64 | #endif /* TIMER_H */ 65 | -------------------------------------------------------------------------------- /attic/timer.cpp: -------------------------------------------------------------------------------- 1 | // file: "timer.cpp" 2 | 3 | // Copyright (c) 2001 by Marc Feeley and Universit� de Montr�al, All 4 | // Rights Reserved. 5 | // 6 | // Revision History 7 | // 22 Sep 01 initial version (Marc Feeley) 8 | 9 | //----------------------------------------------------------------------------- 10 | 11 | #include "timer.h" 12 | #include "asm.h" 13 | #include "pic.h" 14 | #include "pit.h" 15 | #include "intr.h" 16 | #include "term.h" 17 | #include "thread.h" 18 | 19 | //----------------------------------------------------------------------------- 20 | 21 | void start_timer (int32 interval_in_usecs) 22 | { 23 | int32 ticks = interval_in_usecs * PIT_COUNTS_PER_SEC / 1000000; 24 | 25 | ticks = interval_in_usecs;///////////////// 26 | 27 | if (ticks <= 0) 28 | ticks = 1; 29 | else if (ticks >= 0x10000) 30 | ticks = 0; 31 | 32 | outb (ticks & 0xff, PIT_PORT_CTR(0,PIT1_PORT_BASE)); // send LSB 33 | outb ((ticks >> 8) & 0xff, PIT_PORT_CTR(0,PIT1_PORT_BASE)); // send MSB 34 | } 35 | 36 | #ifdef USE_IRQ0_FOR_TIMER 37 | 38 | void irq0 () 39 | { 40 | ACKNOWLEDGE_IRQ(0); 41 | 42 | start_timer (1); 43 | 44 | thread_yield (); 45 | } 46 | 47 | #endif 48 | 49 | void setup_timer () 50 | { 51 | #ifdef USE_IRQ0_FOR_TIMER 52 | 53 | outb (PIT_CW_CTR(0) | PIT_CW_LSB_MSB | PIT_CW_MODE(0), 54 | PIT_PORT_CW(PIT1_PORT_BASE)); 55 | 56 | //start_timer (20); 57 | start_timer (0x10000); 58 | 59 | #endif 60 | } 61 | 62 | //----------------------------------------------------------------------------- 63 | 64 | // Local Variables: // 65 | // mode: C++ // 66 | // End: // 67 | -------------------------------------------------------------------------------- /bios.cpp: -------------------------------------------------------------------------------- 1 | // file: "bios.cpp" 2 | 3 | // Copyright (c) 2019 by Marc Feeley and Universit� de Montr�al, All 4 | // Rights Reserved. 5 | 6 | //----------------------------------------------------------------------------- 7 | 8 | #include "bios.h" 9 | #include "term.h" 10 | 11 | //----------------------------------------------------------------------------- 12 | 13 | void bios_call(int intr_num, struct bios_call_regs *regs) {} 14 | 15 | //----------------------------------------------------------------------------- 16 | 17 | // mode: C++ // 18 | // End: // 19 | -------------------------------------------------------------------------------- /cmkfh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Create MakeFile Header 3 | 4 | obj=$(ls "../scheme/compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".o\"}" | paste -sd " ") 5 | c=$(ls "../scheme/compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".c\"}" | paste -sd " ") 6 | plus=$(ls "../scheme/compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".o \"}" | paste -sd "+") 7 | comma=$(ls "../scheme/compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".o\"}" | paste -sd ",") 8 | 9 | echo "MIMOSA_OBJ = $obj" 10 | echo "MIMOSA_OBJ_PLUS = +$plus" 11 | echo "MIMOSA_OBJ_COMMA = ,$comma" 12 | echo "MIMOSA_C = $c" 13 | 14 | 15 | pobj=$(ls "../scheme/preload-compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".o\"}" | paste -sd " ") 16 | pc=$(ls "../scheme/preload-compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".c\"}" | paste -sd " ") 17 | pplus=$(ls "../scheme/preload-compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".o \"}" | paste -sd "+") 18 | pcomma=$(ls "../scheme/preload-compiled" | grep -o "^.*\." | tr -d "." | awk "{print \$0\".o\"}" | paste -sd ",") 19 | 20 | echo "PRE_MIMOSA_OBJ = $pobj" 21 | echo "PRE_MIMOSA_OBJ_PLUS = +$pplus" 22 | echo "PRE_MIMOSA_OBJ_COMMA = ,$pcomma" 23 | echo "PRE_MIMOSA_C = $pc" 24 | -------------------------------------------------------------------------------- /copy_compiled_modules.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script copies modules that have to be compiled to the 3 | # Gambit build VM. 4 | 5 | set -e 6 | 7 | scp -P 10022 ~/Documents/gambit/gsc/makefile.compile administrator@localhost:~/makefile.in 8 | scp -P 10022 scheme/keyboard.c administrator@localhost:~/keyboard.c 9 | -------------------------------------------------------------------------------- /drivers/filesystem/include/stdstream.h: -------------------------------------------------------------------------------- 1 | #ifndef __STREAM_H 2 | #define __STREAM_H 3 | 4 | #include "vfs.h" 5 | #include "thread.h" 6 | 7 | typedef struct raw_stream_struct raw_stream; 8 | typedef struct stream_file_struct stream_file; 9 | 10 | extern native_string STDIN_PATH; 11 | extern native_string STDOUT_PATH; 12 | 13 | struct raw_stream_struct { 14 | condvar* readycv; 15 | size_t len; 16 | uint16 volatile readers; 17 | uint16 volatile late; 18 | uint32 volatile high; 19 | uint8 volatile _reset:1; 20 | bool autoresize; 21 | void* buff; 22 | }; 23 | 24 | struct stream_file_struct { 25 | file header; 26 | raw_stream* _source; 27 | uint16 _readno; 28 | uint32 _lo; 29 | uint8 _reset:1; 30 | }; 31 | 32 | error_code mount_streams(vfnode* parent); 33 | 34 | error_code stream_open_file(native_string path, file_mode mode, file** result); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /empty_usb.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/empty_usb.tar.gz -------------------------------------------------------------------------------- /fetch-gambit-from-vm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | scp -oKexAlgorithms=+diffie-hellman-group1-sha1 -P 10022 administrator@localhost:~/libc/gsi.exe archive-items/gambit/bin/gsi.exe 4 | scp -oKexAlgorithms=+diffie-hellman-group1-sha1 -P 10022 administrator@localhost:~/libc/gsc.exe archive-items/gambit/bin/gsc.exe 5 | -------------------------------------------------------------------------------- /include/attic/keyboard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/include/attic/keyboard.h -------------------------------------------------------------------------------- /include/attic/mouse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/include/attic/mouse.h -------------------------------------------------------------------------------- /include/bios.h: -------------------------------------------------------------------------------- 1 | // file: "bios.h" 2 | 3 | // Copyright (c) 2019 by Marc Feeley and Universit� de Montr�al, All 4 | // Rights Reserved. 5 | 6 | #ifndef BIOS_H 7 | #define BIOS_H 8 | 9 | //----------------------------------------------------------------------------- 10 | 11 | #include "general.h" 12 | 13 | //----------------------------------------------------------------------------- 14 | 15 | // 16 | // Definitions for calling BIOS functions. 17 | // 18 | 19 | struct bios_call_regs { 20 | uint32 eax; 21 | uint32 ebx; 22 | uint32 ecx; 23 | uint32 edx; 24 | uint32 esi; 25 | uint32 edi; 26 | }; 27 | 28 | extern void bios_call(int intr_num, struct bios_call_regs *regs); 29 | 30 | //----------------------------------------------------------------------------- 31 | 32 | #endif 33 | 34 | // Local Variables: // 35 | // mode: C++ // 36 | // End: // 37 | -------------------------------------------------------------------------------- /include/heap.h: -------------------------------------------------------------------------------- 1 | #ifndef __MEMORY_H 2 | #define __MEMORY_H 3 | 4 | #include "general.h" 5 | 6 | #define END_KERNEL_HEAP (64 * (1 << 20)) 7 | 8 | typedef struct heap_struct heap; 9 | typedef struct mem_block_struct block; 10 | typedef struct free_block_struct free_block; 11 | 12 | struct mem_block_struct { 13 | // The length is stored as an uint32 14 | // the top bit indicate if the block is in use 15 | // the rest of the int is reserved for the size 16 | union { 17 | struct { 18 | uint8 used : 1; 19 | uint8 top : 7; 20 | uint8 data1; 21 | uint8 data2; 22 | uint8 data3; 23 | } parts; 24 | // The size of the block is only the size of the 25 | // data section. The total size is sizeof(block) + block.head.sz - 2 * 26 | // sizeof(block*) The unit of sz is in chars. 27 | uint32 sz; 28 | } head; 29 | block *next; 30 | block *prev; 31 | // Those fields are valid iff the 32 | // block is not freeed 33 | // Otherwise, they are given to the block data section: &next_free is the 34 | // start of the data section 35 | union { 36 | struct { 37 | block *next; 38 | block *prev; 39 | } free; 40 | struct { 41 | void *data; 42 | void *padding; 43 | } notfree; 44 | } tail; 45 | }; 46 | 47 | struct heap_struct { 48 | void *start; 49 | // size of the heap 50 | size_t size; 51 | // allocated size 52 | size_t alloc; 53 | // first 54 | block *f; 55 | // last 56 | block *l; 57 | // first free (smallest to biggest size) 58 | block *ff; 59 | // last free (smallest to biggest size) 60 | block *lf; 61 | }; 62 | 63 | void heap_init(heap *h, void *start, size_t size); 64 | 65 | void *heap_malloc(heap *h, size_t size); 66 | 67 | void heap_free(heap *h, void *ptr); 68 | 69 | extern heap kheap; 70 | extern heap appheap; 71 | 72 | #endif 73 | -------------------------------------------------------------------------------- /include/kernel.h: -------------------------------------------------------------------------------- 1 | // file: "kernel.h" 2 | 3 | // Copyright (c) 2001 by Marc Feeley and Universit� de Montr�al, All 4 | // Rights Reserved. 5 | // 6 | // Revision History 7 | // 23 Oct 01 initial version (Marc Feeley) 8 | 9 | #ifndef KERNEL_H 10 | #define KERNEL_H 11 | 12 | //----------------------------------------------------------------------------- 13 | 14 | #include "general.h" 15 | 16 | #endif 17 | 18 | // Local Variables: // 19 | // mode: C++ // 20 | // End: // 21 | -------------------------------------------------------------------------------- /include/mono_5x7.h: -------------------------------------------------------------------------------- 1 | #ifndef _MONO_5X7_H 2 | #define _MONO_5X7_H 3 | 4 | #include "video.h" 5 | 6 | font_c create_mono_5x7(); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /include/mono_6x9.h: -------------------------------------------------------------------------------- 1 | #ifndef _MONO_6X9_H 2 | #define _MONO_6X9_H 3 | 4 | #include "video.h" 5 | 6 | font_c create_mono_6x9(); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /include/pit.h: -------------------------------------------------------------------------------- 1 | // file: "pit.h" 2 | 3 | // Copyright (c) 2001 by Marc Feeley and Universit? de Montr?al, All 4 | // Rights Reserved. 5 | // 6 | // Revision History 7 | // 22 Sep 01 initial version (Marc Feeley) 8 | 9 | #ifndef __PIT_H 10 | #define __PIT_H 11 | 12 | //----------------------------------------------------------------------------- 13 | 14 | #include "general.h" 15 | 16 | //----------------------------------------------------------------------------- 17 | 18 | // 19 | // Definitions for 8254 programmable interval timer. 20 | // 21 | 22 | #define PIT1_PORT_BASE 0x40 23 | #define PIT2_PORT_BASE 0x48 24 | 25 | #define PIT_PORT_CTR(n, base) ((n) + (base)) 26 | #define PIT_PORT_CW(base) (3 + (base)) 27 | 28 | #define PIT_CW_CTR(n) ((n) << 6) 29 | #define PIT_CW_READ_BACK (3 << 6) 30 | #define PIT_CW_CTR_LATCH (0 << 4) 31 | #define PIT_CW_LSB (1 << 4) 32 | #define PIT_CW_MSB (2 << 4) 33 | #define PIT_CW_LSB_MSB (3 << 4) 34 | #define PIT_CW_MODE(n) ((n) << 1) 35 | #define PIT_CW_BCD (1 << 0) 36 | 37 | #define PIT_COUNTS_PER_SEC 1193182 // clock frequency at input of PIT1 and PIT2 38 | 39 | //----------------------------------------------------------------------------- 40 | 41 | #endif 42 | 43 | // Local Variables: // 44 | // mode: C++ // 45 | // End: // 46 | -------------------------------------------------------------------------------- /include/vga.h: -------------------------------------------------------------------------------- 1 | // file: "vga.h" 2 | 3 | // Copyright (c) 2001 by Marc Feeley and Universit? de Montr?al, All 4 | // Rights Reserved. 5 | // 6 | // Revision History 7 | // 22 Sep 01 initial version (Marc Feeley) 8 | 9 | #ifndef __VGA_H 10 | #define __VGA_H 11 | 12 | //----------------------------------------------------------------------------- 13 | 14 | #include "general.h" 15 | 16 | //----------------------------------------------------------------------------- 17 | 18 | // 19 | // Definitions for VGA graphics card. 20 | // 21 | 22 | #define VGA_PORT_SEQ_INDEX 0x3c4 23 | #define VGA_PORT_SEQ_DATA 0x3c5 24 | 25 | #define VGA_PORT_GRCTRL_INDEX 0x3ce 26 | #define VGA_PORT_GRCTRL_DATA 0x3cf 27 | 28 | #define VGA_MAP_MASK_REG 2 29 | #define VGA_READ_MAP_SELECT_REG 4 30 | 31 | //----------------------------------------------------------------------------- 32 | 33 | #endif 34 | 35 | // Local Variables: // 36 | // mode: C++ // 37 | // End: // 38 | -------------------------------------------------------------------------------- /libc/include/dirent.h: -------------------------------------------------------------------------------- 1 | #ifndef _DIRENT_HEADER 2 | 3 | #define _DIRENT_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #ifdef USE_MIMOSA 8 | 9 | #include "../drivers/filesystem/include/vfs.h" 10 | 11 | #else 12 | 13 | #ifndef USE_HOST_LIBC 14 | 15 | typedef struct { 16 | int state; 17 | } DIR; 18 | 19 | typedef struct dirent { 20 | char d_name[256]; // Null-terminated filename 21 | } dirent; 22 | 23 | #endif 24 | 25 | #endif 26 | 27 | extern DIR *REDIRECT_NAME(opendir)(const char *__name); 28 | extern dirent *REDIRECT_NAME(readdir)(DIR *__dirp); 29 | extern int REDIRECT_NAME(closedir)(DIR *__dirp); 30 | 31 | #ifndef USE_LIBC_LINK 32 | 33 | extern void libc_init_dirent(void); 34 | 35 | #endif 36 | 37 | #endif // dirent.h 38 | -------------------------------------------------------------------------------- /libc/include/errno.h: -------------------------------------------------------------------------------- 1 | #ifndef _ERRNO_HEADER 2 | 3 | #define _ERRNO_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #define ENOENT 2 // No such file or directory 8 | #define EINTR 4 // Interrupted system call 9 | #define EAGAIN 11 // Try again 10 | #define EEXIST 17 // File exists 11 | #define ENOTDIR 20 // Not a directory 12 | #define ERANGE 34 // Math result not representable 13 | 14 | extern int errno; 15 | 16 | #ifdef USE_LIBC_LINK 17 | 18 | #define errno *LIBC_LINK._errno 19 | 20 | #else 21 | 22 | #ifndef USE_HOST_LIBC 23 | 24 | extern void libc_init_errno(void); 25 | 26 | #endif 27 | 28 | #endif 29 | 30 | #endif // errno.h 31 | -------------------------------------------------------------------------------- /libc/include/float.h: -------------------------------------------------------------------------------- 1 | #ifndef _FLOAT_HEADER 2 | 3 | #define _FLOAT_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #define FLT_MAX_EXP 128 8 | #define DBL_MAX_EXP 1024 9 | 10 | #endif // float.h 11 | -------------------------------------------------------------------------------- /libc/include/libc_common.h: -------------------------------------------------------------------------------- 1 | #ifndef _LIBC_COMMON_HEADER 2 | 3 | #define _LIBC_COMMON_HEADER 1 4 | 5 | #include "include/libc_redirect.h" 6 | 7 | #ifndef USE_HOST_LIBC 8 | 9 | extern void libc_wr_char(int fd, char c); 10 | extern void libc_wr_string(int fd, const char *s); 11 | extern int libc_rd_char(int fd); 12 | 13 | #endif 14 | 15 | #ifdef ENABLE_LIBC_TRACE 16 | 17 | #define libc_trace(msg) libc_trace_(msg) 18 | extern void libc_trace_(const char *msg); 19 | 20 | #else 21 | 22 | #define libc_trace(msg) 23 | 24 | #endif 25 | 26 | #include "include/libc_link.h" 27 | 28 | #endif // libc_common.h 29 | -------------------------------------------------------------------------------- /libc/include/libc_header.h: -------------------------------------------------------------------------------- 1 | #ifndef _LIBC_HEADER_HEADER 2 | 3 | #define _LIBC_HEADER_HEADER 1 4 | 5 | #ifdef USE_HOST_LIBC 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | #endif 23 | 24 | #ifdef GAMBIT_GSTATE 25 | 26 | #define ___DONT_HAVE_LIMITS_H 27 | #define ___DONT_HAVE_WCHAR_H 28 | #define ___DONT_HAVE_FLOAT_H 29 | #define ___DONT_HAVE_SIGNAL_H 30 | #define ___DONT_HAVE_NEW 31 | #define ___DONT_HAVE_MATH_H 32 | 33 | #ifndef USE_LIBC_LINK 34 | #include "modifiedgambit.h" 35 | #else 36 | #include "gambit.h" 37 | #endif 38 | 39 | //#undef ___GSTATE 40 | //#define ___GSTATE ___local_gstate 41 | volatile extern struct ___global_state_struct *___local_gstate; 42 | 43 | #endif 44 | 45 | #include "include/libc_redirect.h" 46 | 47 | #endif // libc_header.h 48 | -------------------------------------------------------------------------------- /libc/include/libc_redirect.h: -------------------------------------------------------------------------------- 1 | #ifndef _LIBC_REDIRECT_HEADER 2 | 3 | #define _LIBC_REDIRECT_HEADER 1 4 | 5 | #ifdef REDIRECT_PREFIX 6 | 7 | #define REDIRECT_NAME(name)CONCAT(REDIRECT_PREFIX,name) 8 | #define CONCAT(a,b)CONCAT2(a,b) 9 | #define CONCAT2(a,b)a##b 10 | 11 | #else 12 | 13 | #define REDIRECT_NAME(name)name 14 | 15 | #endif 16 | 17 | #endif // libc_redirect.h 18 | -------------------------------------------------------------------------------- /libc/include/limits.h: -------------------------------------------------------------------------------- 1 | #ifndef _LIMITS_HEADER 2 | 3 | #define _LIMITS_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #define UCHAR_MAX 255U 8 | #define USHRT_MAX 65535U 9 | #define UINT_MAX 4294967295U 10 | #if defined(__GNUC__) && __LONG_MAX__ == 9223372036854775807LL 11 | #define ULONG_MAX 18446744073709551615UL 12 | #else 13 | #define ULONG_MAX 4294967295U 14 | #endif 15 | #define ULLONG_MAX 18446744073709551615ULL 16 | 17 | #endif // limits.h 18 | -------------------------------------------------------------------------------- /libc/include/math.h: -------------------------------------------------------------------------------- 1 | #ifndef _MATH_HEADER 2 | 3 | #define _MATH_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | extern double REDIRECT_NAME(acos)(double __x); 8 | extern double REDIRECT_NAME(acosh)(double __x); 9 | extern double REDIRECT_NAME(asin)(double __x); 10 | extern double REDIRECT_NAME(asinh)(double __x); 11 | extern double REDIRECT_NAME(atan)(double __x); 12 | extern double REDIRECT_NAME(atan2)(double __y, double __x); 13 | extern double REDIRECT_NAME(atanh)(double __x); 14 | extern double REDIRECT_NAME(ceil)(double __x); 15 | extern double REDIRECT_NAME(cos)(double __x); 16 | extern double REDIRECT_NAME(cosh)(double __x); 17 | extern double REDIRECT_NAME(exp)(double __x); 18 | extern double REDIRECT_NAME(expm1)(double __x); 19 | extern double REDIRECT_NAME(fabs)(double __x); 20 | extern double REDIRECT_NAME(floor)(double __x); 21 | extern double REDIRECT_NAME(hypot)(double __x, double __y); 22 | extern int REDIRECT_NAME(ilogb)(double __x); 23 | extern double REDIRECT_NAME(log)(double __x); 24 | extern double REDIRECT_NAME(log1p)(double __x); 25 | extern double REDIRECT_NAME(modf)(double __x, double *__iptr); 26 | extern double REDIRECT_NAME(pow)(double __x, double __y); 27 | extern double REDIRECT_NAME(sin)(double __x); 28 | extern double REDIRECT_NAME(sinh)(double __x); 29 | extern double REDIRECT_NAME(sqrt)(double __x); 30 | extern double REDIRECT_NAME(tan)(double __x); 31 | extern double REDIRECT_NAME(tanh)(double __x); 32 | extern double REDIRECT_NAME(scalbn)(double __x, int __exp); 33 | 34 | #ifndef USE_LIBC_LINK 35 | 36 | extern void libc_init_math(void); 37 | 38 | #endif 39 | 40 | #endif // math.h 41 | -------------------------------------------------------------------------------- /libc/include/setjmp.h: -------------------------------------------------------------------------------- 1 | #ifndef _SETJMP_HEADER 2 | 3 | #define _SETJMP_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | #include "include/libc_redirect.h" 7 | 8 | #ifndef USE_HOST_LIBC 9 | 10 | typedef int jmp_buf[6]; 11 | 12 | #endif 13 | 14 | extern int REDIRECT_NAME(setjmp)(jmp_buf __env); 15 | extern void REDIRECT_NAME(longjmp)(jmp_buf __env, int __val); 16 | 17 | #ifndef USE_LIBC_LINK 18 | 19 | extern void libc_init_setjmp(void); 20 | 21 | #endif 22 | 23 | #endif // setjmp.h 24 | -------------------------------------------------------------------------------- /libc/include/stdarg.h: -------------------------------------------------------------------------------- 1 | #ifndef _STDARG_HEADER 2 | 3 | #define _STDARG_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #define va_list const char * 8 | #define va_arg(ap, type) (ap += sizeof(type), *(type*)(ap-sizeof(type))) 9 | #define va_arg_char(ap) (char)va_arg(ap, int) 10 | #define va_start(ap, last) ap = ((va_list)(last) + sizeof(*last)) 11 | #define va_end(ap) 12 | 13 | #endif // stdarg.h 14 | -------------------------------------------------------------------------------- /libc/include/stddef.h: -------------------------------------------------------------------------------- 1 | #ifndef _STDDEF_HEADER 2 | 3 | #define _STDDEF_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #ifndef USE_HOST_LIBC 8 | 9 | #ifdef USE_MIMOSA 10 | 11 | #ifndef __cplusplus 12 | #include "include/wchar.h" 13 | #endif 14 | #include "general.h" 15 | 16 | #else 17 | 18 | #define CAST(type,value) ((type)(value)) 19 | 20 | typedef signed char int8; // 8 bit signed integers 21 | typedef signed short int16; // 16 bit signed integers 22 | typedef signed int int32; // 32 bit signed integers 23 | typedef signed long long int64; // 64 bit signed integers (gcc specific) 24 | 25 | typedef unsigned char uint8; // 8 bit unsigned integers 26 | typedef unsigned short uint16; // 16 bit unsigned integers 27 | typedef unsigned int uint32; // 32 bit unsigned integers 28 | typedef unsigned long long uint64; // 64 bit unsigned integers (gcc specific) 29 | 30 | typedef unsigned long size_t; 31 | 32 | #endif 33 | 34 | typedef int mode_t; 35 | 36 | #define NULL 0 37 | 38 | #endif 39 | 40 | #endif // stddef.h 41 | -------------------------------------------------------------------------------- /libc/include/stdlib.h: -------------------------------------------------------------------------------- 1 | #ifndef _STDLIB_HEADER 2 | 3 | #define _STDLIB_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | #include "include/stddef.h" 7 | 8 | extern void *REDIRECT_NAME(malloc)(size_t __size); 9 | 10 | extern void REDIRECT_NAME(free)(void *__ptr); 11 | 12 | extern void REDIRECT_NAME(exit)(int __status); 13 | 14 | //extern char **environ; 15 | 16 | extern char *REDIRECT_NAME(getenv)(const char *__name); 17 | 18 | extern int REDIRECT_NAME(system)(const char *__command); 19 | 20 | #ifndef USE_LIBC_LINK 21 | 22 | extern void libc_init_stdlib(void); 23 | 24 | #endif 25 | 26 | #endif // stdlib.h 27 | -------------------------------------------------------------------------------- /libc/include/string.h: -------------------------------------------------------------------------------- 1 | #ifndef _STRING_HEADER 2 | 3 | #define _STRING_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | #include "include/stddef.h" 7 | 8 | #ifdef __cplusplus 9 | extern "C" 10 | #endif 11 | void *REDIRECT_NAME(memcpy)(void *__restrict __dest, const void *__restrict __src, 12 | size_t __n); 13 | 14 | extern void *REDIRECT_NAME(memmove)(void *__dest, const void *__src, size_t __n); 15 | 16 | #ifndef USE_LIBC_LINK 17 | 18 | extern void libc_init_string(void); 19 | 20 | #endif 21 | 22 | #endif // string.h 23 | -------------------------------------------------------------------------------- /libc/include/sys/resource.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_RESOURCE_HEADER 2 | 3 | #define _SYS_RESOURCE_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | #include "include/sys/time.h" 7 | 8 | #ifndef USE_HOST_LIBC 9 | 10 | #define RUSAGE_SELF 0 11 | 12 | struct rusage { 13 | struct timeval ru_utime; 14 | struct timeval ru_stime; 15 | size_t ru_minflt; 16 | size_t ru_majflt; 17 | }; 18 | 19 | #endif 20 | 21 | extern int REDIRECT_NAME(getrusage)(int __who, struct rusage *__usage); 22 | 23 | #ifndef USE_LIBC_LINK 24 | 25 | extern void libc_init_sys_resource(void); 26 | 27 | #endif 28 | 29 | #endif // sys/resource.h 30 | 31 | 32 | -------------------------------------------------------------------------------- /libc/include/sys/time.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_TIME_HEADER 2 | 3 | #define _SYS_TIME_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | #include "include/stddef.h" 7 | 8 | #ifdef USE_MIMOSA 9 | 10 | #include "chrono.h" 11 | 12 | #else 13 | 14 | #ifndef USE_HOST_LIBC 15 | 16 | struct timeval { 17 | int32 tv_sec; // seconds 18 | int32 tv_usec; // microseconds 19 | }; 20 | 21 | struct timezone { 22 | int32 tz_minuteswest; // Minutes west of GMT 23 | int32 tz_dsttime; // Nonzero if DST is ever in effect 24 | }; 25 | 26 | #define ITIMER_REAL 0 27 | #define ITIMER_VIRTUAL 1 28 | #define ITIMER_PROF 2 29 | 30 | struct itimerval { 31 | struct timeval it_interval; 32 | struct timeval it_value; 33 | }; 34 | 35 | #endif 36 | 37 | #endif 38 | 39 | extern int REDIRECT_NAME(gettimeofday)(struct timeval *__restrict __tv, 40 | struct timezone *__tz); 41 | 42 | extern int REDIRECT_NAME(settimeofday)(const struct timeval *__tv, 43 | const struct timezone *__tz); 44 | 45 | extern int REDIRECT_NAME(getitimer)(int __which, 46 | struct itimerval *__value); 47 | 48 | extern int REDIRECT_NAME(setitimer)(int __which, 49 | const struct itimerval *__restrict __new, 50 | struct itimerval *__restrict __old); 51 | 52 | #ifndef USE_LIBC_LINK 53 | 54 | extern void libc_init_sys_time(void); 55 | 56 | #endif 57 | 58 | #endif // sys/time.h 59 | -------------------------------------------------------------------------------- /libc/include/time.h: -------------------------------------------------------------------------------- 1 | #ifndef _TIME_HEADER 2 | 3 | #define _TIME_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #ifdef USE_MIMOSA 8 | 9 | #include "chrono.h" 10 | 11 | #endif 12 | 13 | struct timespec { 14 | int32 ts_sec; // seconds 15 | int32 ts_nsec; // nanoseconds 16 | }; 17 | 18 | typedef int32 clock_t; 19 | typedef int32 clockid_t; 20 | 21 | #define CLOCK_REALTIME 0 22 | #define CLOCK_MONOTONIC 1 23 | 24 | extern clock_t REDIRECT_NAME(clock)(void); 25 | 26 | extern int REDIRECT_NAME(nanosleep)(const struct timespec *__requested_time, 27 | struct timespec *__remaining); 28 | 29 | extern int REDIRECT_NAME(clock_getres)(clockid_t __clock_id, struct timespec *__res); 30 | extern int REDIRECT_NAME(clock_gettime)(clockid_t __clock_id, struct timespec *__tp); 31 | extern int REDIRECT_NAME(clock_settime)(clockid_t __clock_id, const struct timespec *__tp); 32 | 33 | #ifndef USE_LIBC_LINK 34 | 35 | extern void libc_init_time(void); 36 | 37 | #endif 38 | 39 | #endif // time.h 40 | -------------------------------------------------------------------------------- /libc/include/wchar.h: -------------------------------------------------------------------------------- 1 | #ifndef _WCHAR_HEADER 2 | 3 | #define _WCHAR_HEADER 1 4 | 5 | #include "include/libc_header.h" 6 | 7 | #ifndef USE_HOST_LIBC 8 | 9 | typedef int wchar_t; 10 | 11 | #endif 12 | 13 | #endif // wchar.h 14 | -------------------------------------------------------------------------------- /libc/libc_app.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | 3 | extern int main(int argc, char *argv[], char *env[]); 4 | 5 | int libc_startup(int argc, char *argv[], char *env[]) { 6 | return main(argc, argv, env); 7 | } 8 | 9 | #ifndef USE_MIMOSA_LIBC_LINK 10 | struct libc_link LIBC_LINK; 11 | #endif 12 | 13 | #include "src/dirent.c" 14 | #include "src/errno.c" 15 | #include "src/math.c" 16 | #include "src/signal.c" 17 | #include "src/setjmp.c" 18 | #include "src/stdio.c" 19 | #include "src/stdlib.c" 20 | #include "src/string.c" 21 | #include "src/termios.c" 22 | #include "src/time.c" 23 | #include "src/unistd.c" 24 | #include "src/sys_time.c" 25 | #include "src/sys_resource.c" 26 | -------------------------------------------------------------------------------- /libc/libc_os.cpp: -------------------------------------------------------------------------------- 1 | //#define ENABLE_LIBC_TRACE 2 | #define USE_MIMOSA 3 | #define USE_MIMOSA_LIBC_LINK 4 | #undef REDIRECT_PREFIX 5 | #define REDIRECT_PREFIX libc_ 6 | 7 | #ifdef USE_MIMOSA 8 | 9 | #include "general.h" 10 | #include "chrono.h" 11 | #include "ps2.h" 12 | 13 | // #include 14 | 15 | #endif 16 | 17 | #include "include/libc_link.h" 18 | 19 | #include "src/libc_support.c" 20 | 21 | #include "include/dirent.h" 22 | #include "include/errno.h" 23 | #include "include/math.h" 24 | #include "include/setjmp.h" 25 | #include "include/signal.h" 26 | #include "include/stdio.h" 27 | #include "include/stdlib.h" 28 | #include "include/string.h" 29 | #include "include/termios.h" 30 | #include "include/time.h" 31 | #include "include/unistd.h" 32 | #include "include/sys/time.h" 33 | #include "include/sys/resource.h" 34 | 35 | #include "src/libc_link.c" 36 | 37 | #include "src/dirent.c" 38 | #include "src/errno.c" 39 | #include "src/math.c" 40 | #include "src/setjmp.c" 41 | #include "src/signal.c" 42 | #include "src/stdio.c" 43 | #include "src/stdlib.c" 44 | #include "src/string.c" 45 | #include "src/termios.c" 46 | #include "src/time.c" 47 | #include "src/unistd.c" 48 | #include "src/sys_time.c" 49 | #include "src/sys_resource.c" 50 | -------------------------------------------------------------------------------- /libc/src/dirent.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | #include "include/dirent.h" 3 | 4 | DIR *REDIRECT_NAME(opendir)(const char *__name) { 5 | 6 | #ifdef USE_LIBC_LINK 7 | 8 | return LIBC_LINK._opendir(__name); 9 | 10 | #else 11 | 12 | libc_trace("opendir"); 13 | 14 | #ifdef USE_HOST_LIBC 15 | 16 | return opendir(__name); 17 | 18 | #else 19 | 20 | return opendir(__name); 21 | 22 | #endif 23 | #endif 24 | } 25 | 26 | dirent *REDIRECT_NAME(readdir)(DIR *__dirp) { 27 | 28 | #ifdef USE_LIBC_LINK 29 | 30 | return LIBC_LINK._readdir(__dirp); 31 | 32 | #else 33 | 34 | libc_trace("readdir"); 35 | 36 | #ifdef USE_HOST_LIBC 37 | 38 | return readdir(__dirp); 39 | 40 | #else 41 | 42 | return readdir(__dirp); 43 | 44 | #endif 45 | #endif 46 | } 47 | 48 | int REDIRECT_NAME(closedir)(DIR *__dirp) { 49 | 50 | #ifdef USE_LIBC_LINK 51 | 52 | return LIBC_LINK._closedir(__dirp); 53 | 54 | #else 55 | 56 | libc_trace("closedir"); 57 | 58 | #ifdef USE_HOST_LIBC 59 | 60 | return closedir(__dirp); 61 | 62 | #else 63 | 64 | return closedir(__dirp); 65 | 66 | #endif 67 | #endif 68 | } 69 | 70 | #ifndef USE_LIBC_LINK 71 | 72 | void libc_init_dirent(void) { 73 | } 74 | 75 | #endif 76 | -------------------------------------------------------------------------------- /libc/src/errno.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | #include "include/errno.h" 3 | 4 | #ifndef USE_LIBC_LINK 5 | 6 | #ifndef USE_HOST_LIBC 7 | 8 | int errno = 0; 9 | 10 | #endif 11 | 12 | void libc_init_errno(void) { 13 | LIBC_LINK._errno = &errno; 14 | } 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /libc/src/libc_support.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | 3 | #ifdef USE_MIMOSA 4 | 5 | #include "term.h" 6 | #include "ps2.h" 7 | 8 | void libc_wr_char(int fd, char c) { 9 | // write(fd, &c, 1); 10 | term_write(&term_console, (native_char) c); 11 | } 12 | 13 | void libc_wr_string(int fd, const char *s) { 14 | // TODO: The file descriptor must be checked 15 | const char *p = s; 16 | while (*p != '\0') { 17 | libc_wr_char(fd, *p++); 18 | } 19 | } 20 | 21 | int libc_rd_char(int fd) { 22 | return -1; 23 | } 24 | 25 | #else 26 | 27 | #ifndef USE_HOST_LIBC 28 | 29 | // normally in unistd.h 30 | typedef int ssize_t; 31 | ssize_t write(int fd, const void *buf, size_t count); 32 | ssize_t read(int fd, void *buf, size_t count); 33 | 34 | void libc_wr_char(int fd, char c) { 35 | write(fd, &c, 1); 36 | } 37 | 38 | void libc_wr_string(int fd, const char *s) { 39 | const char *p = s; 40 | while (*p != '\0') { 41 | libc_wr_char(fd, *p++); 42 | } 43 | } 44 | 45 | int libc_rd_char(int fd) { 46 | char c; 47 | if (read(fd, &c, 1) == 1) 48 | return c; 49 | return -1; 50 | } 51 | 52 | #endif 53 | #endif 54 | 55 | #ifdef ENABLE_LIBC_TRACE 56 | 57 | void libc_trace_(const char *msg) { 58 | 59 | #ifdef USE_HOST_LIBC 60 | 61 | printf("------> %s\n", msg); 62 | 63 | #else 64 | 65 | term_write(cout, CAST(native_string, msg)); 66 | term_writeline(cout); 67 | 68 | #endif 69 | } 70 | 71 | #endif 72 | 73 | #ifndef USE_MIMOSA 74 | struct libc_link LIBC_LINK; 75 | #endif 76 | -------------------------------------------------------------------------------- /libc/src/signal.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | #include "include/signal.h" 3 | 4 | #ifndef USE_LIBC_LINK 5 | 6 | static __sighandler_t signal_handlers[32]; 7 | 8 | void send_signal(int sig) { 9 | 10 | __sighandler_t sh = signal_handlers[sig]; 11 | 12 | if (sh != SIG_IGN) { 13 | if (sh != SIG_DFL) { 14 | signal_handlers[sig] = SIG_IGN; // reset handler (System V semantics) 15 | sh(sig); 16 | } else { 17 | switch (sig) { 18 | default: 19 | // for now all default signal handlers are noops 20 | ; 21 | } 22 | } 23 | } 24 | } 25 | 26 | #endif 27 | 28 | __sighandler_t REDIRECT_NAME(signal)(int __sig, __sighandler_t __handler) { 29 | 30 | #ifdef USE_LIBC_LINK 31 | 32 | return LIBC_LINK._signal(__sig, __handler); 33 | 34 | #else 35 | 36 | // libc_trace("signal"); 37 | 38 | #ifdef USE_HOST_LIBC 39 | 40 | return signal(__sig, __handler); 41 | 42 | #else 43 | 44 | { 45 | __sighandler_t old = signal_handlers[__sig]; 46 | signal_handlers[__sig] = __handler; 47 | return old; 48 | } 49 | 50 | #endif 51 | #endif 52 | } 53 | 54 | #ifndef USE_LIBC_LINK 55 | 56 | void libc_init_signal(void) { 57 | int i; 58 | for (i=0; i<32; i++) { 59 | signal_handlers[i] = SIG_DFL; 60 | } 61 | } 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /libc/src/string.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | #include "include/string.h" 3 | 4 | #ifndef USE_MIMOSA 5 | #ifdef __cplusplus 6 | extern "C" 7 | #endif 8 | void *REDIRECT_NAME(memcpy)(void *__restrict __dest, const void *__restrict __src, 9 | size_t __n) { 10 | return REDIRECT_NAME(memmove)(__dest, __src, __n); 11 | } 12 | #endif 13 | 14 | void *REDIRECT_NAME(memmove)(void *__dest, const void *__src, size_t __n) { 15 | 16 | char *s = (char*)__src; 17 | char *d = (char*)__dest; 18 | if (s != d) { 19 | if (s < d) { 20 | char *e = s + __n; 21 | while (s < e) *d++ = *s++; 22 | } else { 23 | char *e = s; 24 | s += __n; 25 | d += __n; 26 | while (s > e) *--d = *--s; 27 | } 28 | } 29 | return __dest; 30 | } 31 | 32 | #ifndef USE_LIBC_LINK 33 | 34 | void libc_init_string(void) { 35 | } 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /libc/src/sys_resource.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | #include "include/sys/resource.h" 3 | 4 | #ifdef USE_MIMOSA 5 | 6 | #include "general.h" 7 | #include "chrono.h" 8 | 9 | #endif 10 | 11 | int REDIRECT_NAME(getrusage)(int __who, struct rusage *__usage) { 12 | 13 | #ifdef USE_LIBC_LINK 14 | 15 | return LIBC_LINK._getrusage(__who, __usage); 16 | 17 | #else 18 | 19 | libc_trace("getrusage"); 20 | 21 | #ifdef USE_HOST_LIBC 22 | 23 | return getrusage(__who, __usage); 24 | 25 | #else 26 | 27 | REDIRECT_NAME(gettimeofday)(&__usage->ru_utime, NULL); 28 | 29 | __usage->ru_stime.tv_sec = 0; 30 | __usage->ru_stime.tv_usec = 0; 31 | __usage->ru_minflt = 0; 32 | __usage->ru_majflt = 0; 33 | 34 | return 0; 35 | 36 | #endif 37 | #endif 38 | } 39 | 40 | #ifndef USE_LIBC_LINK 41 | 42 | void libc_init_sys_resource(void) { 43 | } 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /libc/src/sys_time.c: -------------------------------------------------------------------------------- 1 | #include "include/libc_common.h" 2 | #include "include/sys/time.h" 3 | 4 | int REDIRECT_NAME(gettimeofday)(struct timeval *__restrict __tv, 5 | struct timezone *__tz) { 6 | #ifdef USE_LIBC_LINK 7 | 8 | return LIBC_LINK._gettimeofday(__tv, __tz); 9 | 10 | #else 11 | 12 | libc_trace("gettimeofday"); 13 | 14 | #ifdef USE_HOST_LIBC 15 | 16 | return gettimeofday(__tv, __tz); 17 | 18 | #else 19 | 20 | return gettimeofday(__tv, __tz); 21 | 22 | #endif 23 | #endif 24 | } 25 | 26 | int REDIRECT_NAME(settimeofday)(const struct timeval *__tv, const struct timezone *__tz) { 27 | 28 | #ifdef USE_LIBC_LINK 29 | 30 | return LIBC_LINK._settimeofday(__tv, __tz); 31 | 32 | #else 33 | 34 | libc_trace("settimeofday"); 35 | 36 | #ifdef USE_HOST_LIBC 37 | 38 | return settimeofday(__tv, __tz); 39 | 40 | #else 41 | 42 | // TODO: implement 43 | return 0; 44 | 45 | #endif 46 | #endif 47 | } 48 | 49 | int REDIRECT_NAME(getitimer)(int __which, struct itimerval *__value) { 50 | 51 | #ifdef USE_LIBC_LINK 52 | 53 | return LIBC_LINK._getitimer(__which, __value); 54 | 55 | #else 56 | 57 | libc_trace("getitimer"); 58 | 59 | #ifdef USE_HOST_LIBC 60 | 61 | return getitimer(__which, __value); 62 | 63 | #else 64 | 65 | // TODO: implement 66 | return 0; 67 | 68 | #endif 69 | #endif 70 | } 71 | 72 | int REDIRECT_NAME(setitimer)(int __which, const struct itimerval *__restrict __new, 73 | struct itimerval *__restrict __old) { 74 | 75 | #ifdef USE_LIBC_LINK 76 | 77 | return LIBC_LINK._setitimer(__which, __new, __old); 78 | 79 | #else 80 | 81 | libc_trace("setitimer"); 82 | 83 | #ifdef USE_HOST_LIBC 84 | 85 | return setitimer(__which, __new, __old); 86 | 87 | #else 88 | 89 | // TODO: implement 90 | return 0; 91 | 92 | #endif 93 | #endif 94 | } 95 | 96 | #ifndef USE_LIBC_LINK 97 | 98 | void libc_init_sys_time(void) {} 99 | 100 | #endif 101 | -------------------------------------------------------------------------------- /res/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/res/logo.png -------------------------------------------------------------------------------- /res/mimosa-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/res/mimosa-screenshot.png -------------------------------------------------------------------------------- /scheme/interpreted/errors.scm: -------------------------------------------------------------------------------- 1 | ; Mimosa 2 | ; Université de Montréal 3 | ; Marc Feeley, Samuel Yvon 4 | (define-library 5 | (errors) 6 | (import (gambit)) 7 | (export 8 | ERR-ARGS 9 | ERR-EOF 10 | ERR-FNF 11 | ERR-HWD 12 | ERR-NO-MORE-ENTRIES 13 | ERR-PATH 14 | ) 15 | (begin 16 | (define-macro 17 | (tags . codes) 18 | `(begin 19 | ,@(map 20 | (lambda (sym) `(define ,sym (quote ,sym))) 21 | codes))) 22 | (tags 23 | ERR-ARGS 24 | ERR-EOF 25 | ERR-FNF 26 | ERR-HWD 27 | ERR-NO-MORE-ENTRIES 28 | ERR-PATH 29 | ) 30 | )) 31 | -------------------------------------------------------------------------------- /utils/bootsectinspect/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15) 2 | project(bootsectinspect C) 3 | 4 | set(CMAKE_C_STANDARD 99) 5 | 6 | add_executable(bootsectinspect main.c) -------------------------------------------------------------------------------- /utils/disk_geometry.py: -------------------------------------------------------------------------------- 1 | def chs(lba,C=1024,H=255,S=63): 2 | """ 3 | 'lba' linearly addresses sector, indexing from zero. 4 | 'C','H','S' specify geometry - fixed for a given disk: 5 | 1 <= C <= 1024 (10 bits) 6 | 1 <= H <= 255 (8 bits) not 256 due to WD1010 quirk 7 | 1 <= S <= 63 (6 Bits) not 64 due to WD1010 quirk 8 | Returns address as c,h,s tuple: 9 | 0 <= c <= 1023 (10 bits) modulo C 10 | 0 <= h <= 255 (8 bits) modulo H 11 | 1 <= s <= 63 (6 Bits) not 64 due to WD1010 quirk 12 | """ 13 | if C<1 or H<1 or S<1 or C>1024 or H>255 or S>63: 14 | raise ValueError 15 | t,s = divmod(lba,S); s+=1 # tracks, sector offset 16 | c,h = divmod(t,H) 17 | if c>=C: raise ValueError 18 | return (c,h,s) 19 | 20 | 21 | if __name__ == "__main__": 22 | print(chs(2879, C=80,H=2,S=18)) 23 | -------------------------------------------------------------------------------- /utils/dump_x_font.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/udem-dlteam/mimosa/affbc7e00f49292d34c977ad8f59f6e4c3b8ce5c/utils/dump_x_font.c -------------------------------------------------------------------------------- /utils/fatchecksum.py: -------------------------------------------------------------------------------- 1 | #!/bin/python3 2 | # Compute the FAT32 checksum 3 | 4 | if __name__ == '__main__': 5 | short_file_name = str(input()).upper() 6 | 7 | if len(short_file_name) != 11: 8 | raise Exception("Incorrect argument. Expected a short file name") 9 | 10 | s = 0 11 | for c in short_file_name: 12 | s = 0xFF & (0x80 if s % 2 == 1 else 0) + (s >> 1) + ord(c) 13 | print(s) 14 | -------------------------------------------------------------------------------- /utils/make-dependencies.py: -------------------------------------------------------------------------------- 1 | #!/bin/python3 2 | # Mimosa 3 | # Marc Feeley, Samuel Yvon 4 | # Create the list of CPP files dependencies to include in the makefile 5 | # The paths are not always straightforward but this tool understands them 6 | # Usage: 7 | # (from the dir of the project) 8 | # ./utils/make-dependencies.py 9 | import os 10 | import re 11 | import glob 12 | 13 | 14 | def list_includes(path): 15 | regex = re.compile('"(.*)"', re.MULTILINE) 16 | with open(path, "r") as fh: 17 | lines = fh.readlines() 18 | for line in filter(lambda l: "#include" in str(l), lines): 19 | if "//#include" in line: 20 | continue 21 | 22 | matches = re.findall(regex, line) 23 | if len(matches) > 0: 24 | yield os.path.basename(matches[0]) 25 | 26 | 27 | def discover(extension): 28 | includes = {} 29 | for file in glob.glob(f"./**/*.{extension}", recursive=True): 30 | includes[os.path.basename(file)] = file.replace("./", "") 31 | return includes 32 | 33 | 34 | def main(): 35 | cpp = discover("cpp") 36 | header = discover("h") 37 | 38 | print("# Dependencies generated by make-dependencies.py") 39 | for file, path in filter(lambda f: "libc" not in f[1] and "gambit" not in f[1] and "attic" not in f[1], 40 | cpp.items()): 41 | object_file = path.replace(".cpp", ".o") 42 | dependencies = [header[x] for x in list_includes(path) if x in header] 43 | 44 | print(f"{object_file}: {path} {' '.join(dependencies)}") 45 | 46 | pass 47 | 48 | 49 | if __name__ == '__main__': 50 | main() 51 | -------------------------------------------------------------------------------- /utils/move_to_sdc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mkdir -p /mnt/tmp 3 | sudo mount /dev/sdc /mnt/tmp 4 | 5 | rm -rf /mnt/tmp/* 6 | cp mimosa-build/boot.sys /mnt/tmp/BOOT.SYS 7 | 8 | sudo umount /dev/sdc 9 | --------------------------------------------------------------------------------