├── .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 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/mimosa.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
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
17 | char-ci=?
18 | 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
28 | char=?
29 | 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
20 | string-ci=?
21 | string-ci>=?
22 | string-ci>?
23 | string-copy
24 | string-fill!
25 | string-length
26 | string-ref
27 | string-set!
28 | string<=?
29 | string
30 | string=?
31 | 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
10 | char-ci=?
11 | 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
23 | string-ci=?
24 | 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 |
--------------------------------------------------------------------------------