From ddd5b33a3f3934c10408fcee83baa8dc10a65c34 Mon Sep 17 00:00:00 2001 From: arvyy Date: Sun, 22 May 2022 21:18:15 +0300 Subject: [PATCH] Typeformat refactor (#14) Change definitions to be alist instead of positional list for extra flexibility Refactor internals to operate through records instead of alists Implement type information for syntax Minor visual touch ups --- README.adoc | 5 +- pom.xml | 15 + solrhome/scmindex/conf/schema.xml | 1 + src/main/resources/logback.xml | 10 + src/main/scheme/scmindex/domain.scm | 140 ++ src/main/scheme/scmindex/mustache.scm | 783 +++++--- src/main/scheme/scmindex/settings.scm | 84 +- src/main/scheme/scmindex/solr.scm | 28 +- src/main/scheme/scmindex/types-parser.scm | 135 +- src/main/scheme/scmindex/web-ui.scm | 63 +- src/test/scheme/main-test.scm | 3 +- src/test/scheme/test-mustache.scm | 2 +- src/test/scheme/test-types-parser.scm | 120 +- static/css/scmindex.css | 36 +- static/fonts/Roboto/LICENSE.txt | 202 ++ static/fonts/Roboto/Roboto-Regular.ttf | Bin 0 -> 168260 bytes static/fonts/Roboto/style.css | 6 + static/fonts/icomoon/fonts/icomoon.eot | Bin 0 -> 2180 bytes static/fonts/icomoon/fonts/icomoon.svg | 16 + static/fonts/icomoon/fonts/icomoon.ttf | Bin 0 -> 2016 bytes static/fonts/icomoon/fonts/icomoon.woff | Bin 0 -> 2092 bytes static/fonts/icomoon/style.css | 45 + templates/head.html | 15 +- templates/index.html | 14 +- templates/procedure.html | 45 +- templates/search.html | 40 +- templates/settings.html | 18 +- templates/topnavigation.html | 16 +- types/scheme.base.scm | 2191 +++++++++------------ types/scheme.bitwise.scm | 306 ++- types/scheme.box.scm | 23 +- types/scheme.bytevector.scm | 618 +++--- types/scheme.case-lambda.scm | 18 +- types/scheme.char.scm | 163 +- types/scheme.charset.scm | 490 ++--- types/scheme.comparator.scm | 289 ++- types/scheme.complex.scm | 36 +- types/scheme.cxr.scm | 121 +- types/scheme.division.scm | 146 +- types/scheme.ephemeron.scm | 31 +- types/scheme.eval.scm | 10 +- types/scheme.file.scm | 61 +- types/scheme.fixnum.scm | 277 +-- types/scheme.flonum.scm | 595 ++---- types/scheme.generator.scm | 547 +++-- types/scheme.hash-table.scm | 542 +++-- types/scheme.ideque.scm | 423 ++-- types/scheme.ilist.scm | 1081 ++++------ types/scheme.inexact.scm | 56 +- types/scheme.lazy.scm | 27 +- types/scheme.list-queue.scm | 235 +-- types/scheme.list.scm | 1313 +++++------- types/scheme.load.scm | 10 +- types/scheme.lseq.scm | 233 +-- types/scheme.mapping.hash.scm | 671 ++++--- types/scheme.mapping.scm | 922 +++++---- types/scheme.process-context.scm | 34 +- types/scheme.read.scm | 11 +- types/scheme.repl.scm | 5 +- types/scheme.rlist.scm | 302 +-- types/scheme.set.scm | 833 +++----- types/scheme.show.scm | 804 ++++---- types/scheme.sort.scm | 508 +++-- types/scheme.stream.scm | 332 ++-- types/scheme.text.scm | 1888 ++++++++++-------- types/scheme.time.scm | 13 +- types/scheme.vector.scm | 539 +++-- types/scheme.write.scm | 43 +- 68 files changed, 8530 insertions(+), 10059 deletions(-) create mode 100644 src/main/scheme/scmindex/domain.scm create mode 100644 static/fonts/Roboto/LICENSE.txt create mode 100644 static/fonts/Roboto/Roboto-Regular.ttf create mode 100644 static/fonts/Roboto/style.css create mode 100644 static/fonts/icomoon/fonts/icomoon.eot create mode 100644 static/fonts/icomoon/fonts/icomoon.svg create mode 100644 static/fonts/icomoon/fonts/icomoon.ttf create mode 100644 static/fonts/icomoon/fonts/icomoon.woff create mode 100644 static/fonts/icomoon/style.css diff --git a/README.adoc b/README.adoc index 90bb489..713c321 100644 --- a/README.adoc +++ b/README.adoc @@ -34,7 +34,7 @@ Scheme is a functional language and thus it'd be useful to specify taken / retur Procedures can have more than one entry, even from same library. This occurs, if the procedures is has optional parameters and therefore can be called in multiple ways; or if the result type can be determined more precisely under more specific input parameters. -Structural macros that don't resemble functions are rendered in *green*. If macro is complex, some parts of it are grouped, and the syntax of those groups shown below the syntax of whole macro. Macro literals are also rendered in green. To make parenthesis more obvious, auxiliary parenthesis coloring is used, however this coloring doesn't signify any information. +Macros are rendered in *green*. If macro is complex, some parts of it are grouped, and the syntax of those groups shown below the syntax of whole macro. Macro literals are also rendered in green. To make parenthesis more obvious, auxiliary parenthesis coloring is used, however this coloring doesn't signify any information. === Tags @@ -44,7 +44,6 @@ Result items might have one or more of following tags * predicate - this procedure that takes any object and returns a boolean. Such procedure may be used as a type; * parameterized - the behavior of the procedure depends on a dynamic parameter (ie, uses procedure created with "make-parameter"); * parameter - this procedure was created with "make-parameter" and may be used in parameterize form; -* syntax - this is actually a macro, although presented as a procedure (the justification is that combining ad-hoc type annotation with syntax specification might be confusing. Simple macros were subjectively chosen to be shown as if they were procedures if they superficially appear and are called as such. This might be changed in the future); * deprecated - not recommended to be used, exists only for backwards compatibility with older SRFIs. === Filtering logic @@ -358,7 +357,7 @@ as defined in srfi 180. Otherwise, results are returned as json. `/rest/params` returns array of types, which were used as a parameter type, found in index as strings; -`/rest/procedures` returns found procedures with faceting meta data. The endpoint accepts following query parameters: +`/rest/procedures` returns found items with faceting meta data. The endpoint accepts following query parameters: * `query` text search parameter. diff --git a/pom.xml b/pom.xml index f132af9..2ad241b 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,10 @@ org.apache.logging.log4j log4j-slf4j-impl + + org.apache.logging.log4j + log4j-core + @@ -64,9 +68,20 @@ org.apache.logging.log4j log4j-slf4j-impl + + org.apache.logging.log4j + log4j-core + + + + org.slf4j + log4j-over-slf4j + 1.7.36 + + com.github.arvyy.kawa-web-collection spark diff --git a/solrhome/scmindex/conf/schema.xml b/solrhome/scmindex/conf/schema.xml index 4998a2b..781f8c6 100644 --- a/solrhome/scmindex/conf/schema.xml +++ b/solrhome/scmindex/conf/schema.xml @@ -28,6 +28,7 @@ + diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index bd3aaa3..3687226 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -1,7 +1,15 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + ${LOG_ROOT}/${LOG_FILE_NAME}.log @@ -16,6 +24,8 @@ + " + \ No newline at end of file diff --git a/src/main/scheme/scmindex/domain.scm b/src/main/scheme/scmindex/domain.scm new file mode 100644 index 0000000..278b999 --- /dev/null +++ b/src/main/scheme/scmindex/domain.scm @@ -0,0 +1,140 @@ +(define-library + (scmindex domain) + (import (scheme base) + (scheme read) + (scheme write)) + (export + + make-search-result + search-result? + search-result-items + search-result-total + search-result-libs + search-result-params + search-result-tags + search-result-returns + + make-search-result-facet + search-result-facet? + search-result-facet-value + search-result-facet-count + + make-func + func? + func-lib + func-name + func-param-names + func-signature + func-param-signatures + func-syntax-param-signatures + func-tags + func-param-types + func-return-types + func-supertypes + + func->json + json->func + search-result->json + ) + (begin + + (define-record-type + (make-func + lib + name + param-names + signature + param-signatures + syntax-param-signatures + tags + param-types + return-types + supertypes) + + func? + + (lib func-lib) + (name func-name) + (param-names func-param-names) + (signature func-signature) + (param-signatures func-param-signatures) + (syntax-param-signatures func-syntax-param-signatures) + (tags func-tags) + (param-types func-param-types) + (return-types func-return-types) + (supertypes func-supertypes)) + + ;;TODO move to util? + (define (->string obj) + (define port (open-output-string)) + (write obj port) + (get-output-string port)) + + (define (read* str) + (define port (open-input-string str)) + (read port)) + + (define (func->json func) + `((lib . ,(->string (func-lib func))) + (name . ,(symbol->string (func-name func))) + (param_names . ,(list->vector (map ->string (func-param-names func)))) + (signature . ,(->string (func-signature func))) + (param_signatures . ,(->string (func-param-signatures func))) + (syntax_param_signatures . ,(->string (func-syntax-param-signatures func))) + (tags . ,(list->vector (map ->string (func-tags func)))) + (param_types . ,(list->vector (map ->string (func-param-types func)))) + (return_types . ,(list->vector (map ->string (func-return-types func)))) + (super_types . ,(list->vector (map ->string (func-supertypes func)))))) + + (define (json->func json) + (define (get field type default) + (cond + ((assoc field json) => + (lambda (value) + (case type + ((sexpr) (read* (cdr value))) + ((symbol) (string->symbol (cdr value))) + ((symbol-lst) (map string->symbol (vector->list (cdr value)))) + (else (cdr value))))) + (else default))) + (make-func + (get 'lib 'sexpr #f) + (get 'name 'symbol #f) + (get 'param_names 'symbol-lst '()) + (get 'signature 'sexpr #f) + (get 'param_signatures 'sexpr '()) + (get 'syntax_param_signatures 'sexpr '()) + (get 'tags 'symbol-lst '()) + (get 'param_types 'symbol-lst '()) + (get 'return_types 'symbol-lst '()) + (get 'supertypes 'symbol-lst '()))) + + (define-record-type + (make-search-result items total libs params tags returns) + search-result? + (items search-result-items) + (total search-result-total) + (libs search-result-libs) + (params search-result-params) + (tags search-result-tags) + (returns search-result-returns)) + + (define-record-type + (make-search-result-facet value count) + search-result-facet? + (value search-result-facet-value) + (count search-result-facet-count)) + + (define (search-result->json sr) + `((items . ,(list->vector (map func->json (search-result-items sr)))) + (total . ,(search-result-total sr)) + (libs . ,(list->vector (map search-result-facet->json (search-result-libs sr)))) + (params . ,(list->vector (map search-result-facet->json (search-result-params sr)))) + (returns . ,(list->vector (map search-result-facet->json (search-result-returns sr)))) + (tags . ,(list->vector (map search-result-facet->json (search-result-tags sr)))))) + + (define (search-result-facet->json f) + `((value . ,(->string (search-result-facet-value f))) + (count . ,(search-result-facet-count f)))) + +)) \ No newline at end of file diff --git a/src/main/scheme/scmindex/mustache.scm b/src/main/scheme/scmindex/mustache.scm index b927801..2737df7 100644 --- a/src/main/scheme/scmindex/mustache.scm +++ b/src/main/scheme/scmindex/mustache.scm @@ -4,57 +4,275 @@ (scheme read) (scheme write) (scheme cxr) + (arvyy mustache) + (arvyy kawa-spark) (class java.net URLEncoder) + (scmindex domain) (only (srfi 1) iota filter find)) - (export make-mustache-search-data - make-mustache-nav-data + (export + render-home-page + render-search-page + render-settings-page + settings-cookies + data-lookup + user-setting/page-size + user-setting/param-filter-loose - make-doc-data - ) + ;; exported for testing + make-doc-data) (begin - - (define nav-data - `#( - ((label . "Home") - (link . "/") - (page . index)) - - ((label . "Search") - (link . "/search") - (page . search)) - - ((label . "Settings") - (link . "/settings") - (page . settings)) - - ((label . "Documentation") - (link . "/README.html") - (page . docs)) - - )) - - (define (make-mustache-nav-data page) - (define links - (vector-map - (lambda (d) - (define active (equal? (cdr (assoc 'page d)) page)) - (cons - (cons 'active active) - d)) - nav-data)) - `((nav-links . ,links))) - - (define (make-mustache-search-data - page - page-size - query - libs - param-types - return-types - tags - data) - + + (define-syntax define-mustache-record-type + (syntax-rules () + ((_ type lookup constructor pred (field getter) ...) + (begin + (define-record-type type constructor pred (field getter) ...) + (define lookup + (let ((getter-map (list (cons (quote field) getter) ...))) + (lambda (obj name found not-found) + (cond + ((not (pred obj)) (not-found)) + ((assoc (string->symbol name) getter-map) => + (lambda (e) + (found ((cdr e) obj)))) + (else (not-found)))))))))) + + + (define-mustache-record-type + sexpr-el-lookup + (make-sexpr-el html text class link sub-exprs) + sexpr-el? + (html sexpr-el-html) + (text sexpr-el-text) + (class sexpr-el-class) + (link sexpr-el-link) + (sub-exprs sexpr-el-sub-exprs)) + + (define-mustache-record-type + navigation-lookup + (make-navigation items) + navigation? + (items navigation-items)) + + (define-mustache-record-type + nav-item-lookup + (make-nav-item label icon-cls link active?) + nav-item? + (label nav-item-label) + (icon-cls nav-item-icon-cls) + (link nav-item-link) + (active? nav-item-active?)) + + (define-mustache-record-type + pager-button-lookup + (make-pager-button number link gap?) + pager-button? + (number pager-button-number) + (link pager-button-link) + (gap? pager-button-gap?)) + + (define-mustache-record-type + facet-lookup + (make-facet name title options) + facet? + (name facet-name) + (title facet-title) + (options facet-options)) + + (define-mustache-record-type + facet-option-lookup + (make-facet-option value label count selected?) + facet-option? + (value facet-option-value) + (label facet-option-label) + (count facet-option-count) + (selected? facet-option-selected?)) + + (define-mustache-record-type + search-result-mustache-lookup + (make-search-result-mustache query facets pages procedures) + search-result-mustache? + (query search-result-mustache-query) + (facets search-result-mustache-facets) + (pages search-result-mustache-pages) + (procedures search-result-mustache-procedures)) + + (define-mustache-record-type + result-item-lookup + (make-result-item signature param-signatures subsyntax-signatures syntax-param-signatures tags lib) + result-item? + (signature result-item-signature) + (param-signatures result-item-param-signatures) + (subsyntax-signatures result-item-subsyntax-signatures) + (syntax-param-signatures result-item-syntax-param-signatures) + (tags result-item-tags) + (lib result-item-lib)) + + (define-mustache-record-type + page-head-lookup + (make-page-head title light-theme ctrlf-override) + page-head? + (title page-head-title) + (light-theme page-head-light-theme) + (ctrlf-override page-head-ctrlf-override)) + + (define-mustache-record-type + setting-lookup + (make-setting name legend description default-value options) + setting? + (name setting-name) + (legend setting-legend) + (description setting-description) + (default-value setting-default-value) + (options setting-options)) + + (define-mustache-record-type + setting-option-lookup + (make-setting-option value selected?) + setting-option? + (value setting-option-value) + (selected? setting-option-selected?)) + + (define-mustache-record-type + page-lookup + (make-page head navigation body) + page? + (head page-head) + (navigation page-navigation) + (body page-body)) + + (define-mustache-record-type + syntax-rule-lookup + (make-syntax-rule name rules) + syntax-rule? + (name syntax-rule-name) + (rules syntax-rule-rules)) + + (define (result-item-extra-lookup obj name found not-found) + (cond + ((not (result-item? obj)) (not-found)) + ((equal? "has-param-signatures?" name) (found (not (null? (result-item-param-signatures obj))))) + ((equal? "has-subsyntax-signatures?" name) (found (not (null? (result-item-subsyntax-signatures obj))))) + ((equal? "has-syntax-param-signatures?" name) (found (not (null? (result-item-syntax-param-signatures obj))))) + (else (not-found)))) + + (define data-lookup + (compose-lookups + sexpr-el-lookup + navigation-lookup + nav-item-lookup + pager-button-lookup + facet-lookup + facet-option-lookup + search-result-mustache-lookup + result-item-lookup + page-head-lookup + setting-lookup + setting-option-lookup + page-lookup + syntax-rule-lookup + result-item-extra-lookup)) + + (define make-mustache-nav-data + (let ((pages '(("Home" "icon-home3" "/" index) + ("Search" "icon-search" "/search" search) + ("Settings" "icon-cog" "/settings" settings) + ("Documentation" "icon-file-text2" "/README.html" docs)))) + (lambda (page) + (map + (lambda (p) + (define active? (equal? (list-ref p 3) page)) + (make-nav-item (list-ref p 0) (list-ref p 1) (list-ref p 2) active?)) + pages)))) + + (define settings-data + (list + (make-setting "pageSize" + "Page size" + "" + "40" + '("10" "40" "100")) + + (make-setting "theme" + "Theme" + "" + "light" + '("light" "dark")) + + (make-setting "overrideCtrlF" + "Override control+f behavior" + "If enabled, pressing control+f will highlight and focus search text field" + "no" + '("yes" "no")) + + (make-setting "filterParamsLoose" + "Use loose parameter filtering" + "When enabled, filtering by parameter of union type, will return results that take parameter of + a type that composes that union. For example, filtering by `list?` (which is union type of `pair?` + and `null?`) will find functions that take `pair?` argument. This leads to showing functions + that searcher is probably interested in, however at the drawback that those functions won't be + applicable in general case" + "yes" + '("yes" "no")))) + + (define settings-cookies '("overrideCtrlF" "theme" "pageSize" "filterParamsLoose")) + + (define (user-setting/page-size req) + (cond + ((assoc 'pageSize (req/cookies req)) => (lambda (e) + (string->number (cdr e)))) + (else 40))) + + (define (user-setting/light-theme? req) + (cond + ((assoc 'theme (req/cookies req)) => (lambda (e) + (equal? "light" (cdr e)))) + (else #t))) + + (define (user-setting/ctrl-f-override req) + (cond + ((assoc 'overrideCtrlF (req/cookies req)) => (lambda (e) + (equal? "yes" (cdr e)))) + (else #f))) + + (define (user-setting/param-filter-loose req) + (cond + ((assoc 'filterParamsLoose (req/cookies req)) => (lambda (e) + (equal? "yes" (cdr e)))) + (else #t))) + + (define (mustache-settings-data req) + (define cookies (req/cookies req)) + (map + (lambda (s) + (define name (setting-name s)) + (define selected-value + (cond + ((assoc (string->symbol name) cookies) => cdr) + (else (setting-default-value s)))) + (define options + (map + (lambda (value) + (make-setting-option value (equal? value selected-value))) + (setting-options s))) + (make-setting (setting-name s) + (setting-legend s) + (setting-description s) + (setting-default-value s) + options)) + settings-data)) + + (define (make-mustache-search-data page page-size query libs tags param-types return-types search-result) + + (define (remove-parens str) + (list->string + (filter + (lambda (ch) + (and (not (eqv? ch #\()) + (not (eqv? ch #\))))) + (string->list str)))) + (define current-query (append `((page . ,(number->string page))) @@ -77,29 +295,24 @@ (lambda (tag) (cons 'tag tag)) tags))) - - `((query . ,query) - (facets . #(((name . "lib") - (title . "Library") - (options . ,(make-mustache-facet (cdr (assoc 'lib data)) libs))) - ((name . "tag") - (title . "Tag") - (options . ,(make-mustache-facet (cdr (assoc 'tag data)) tags))) - ((name . "param") - (title . "Parameter type") - (options . ,(make-mustache-facet (cdr (assoc 'param data)) param-types))) - ((name . "return") - (title . "Return type") - (options . ,(make-mustache-facet (cdr (assoc 'return data)) return-types))))) - (pages . ,(make-pager-data page (ceiling (/ (cdr (assoc 'total data)) page-size)) current-query)) - (procedures . ,(vector-map make-doc-data (cdr (assoc 'procedures data)))))) - - (define (make-mustache-facet facet-result selected-values) - (vector-map + + (make-search-result-mustache + query + (list + (make-facet "lib" "Library" (parse-facet-options (search-result-libs search-result) libs remove-parens)) + (make-facet "tag" "Tag" (parse-facet-options (search-result-tags search-result) tags #f)) + (make-facet "param" "Parameter type" (parse-facet-options (search-result-params search-result) param-types #f)) + (make-facet "return" "Return type" (parse-facet-options (search-result-returns search-result) return-types #f))) + (make-pager-data page (ceiling (/ (search-result-total search-result) page-size)) current-query) + (map make-doc-data (search-result-items search-result)))) + + (define (parse-facet-options facet-result selected-values label-transformer) + (define fn (if label-transformer label-transformer (lambda (x) x))) + (map (lambda (f) - (cons - (cons 'selected (and (member (cdr (assoc 'value f)) selected-values) #t)) - f)) + (define value (search-result-facet-value f)) + (define selected? (member value selected-values)) + (make-facet-option value (fn value) (search-result-facet-count f) selected?)) facet-result)) ;TODO move out @@ -122,7 +335,7 @@ fragment (string-append str "&" fragment))) (loop new-str rest #f)))))) - + (define (make-pager-data page total-pages query) (define query-without-page (filter @@ -145,34 +358,23 @@ (define shown-pages (append begining near-range ending)) - (list->vector - (map - (lambda (p) - (if (not p) - `((pager-gap . #t)) - (let* ((link-query - (cons - (cons 'page (number->string p)) - query-without-page)) - (link - (if (= p page) - #f - (string-append "?" (encode-query link-query))))) - `((number . ,p) - (link . ,link) - (pager-gap . #f))))) - shown-pages))) + (map + (lambda (p) + (if (not p) + (make-pager-button #f #f #t) + (let* ((link-query + (cons + (cons 'page (number->string p)) + query-without-page)) + (link + (if (= p page) + #f + (string-append "?" (encode-query link-query))))) + (make-pager-button p link #f)))) + shown-pages)) (define (make-doc-data doc) - (define (get key) - (cond - ((assoc key doc) => cdr) - (else #f))) - (define signature (read (open-input-string (get 'signature)))) - (define (make-link type param?) - (if param? - (string-append "?" (encode-query `((return . ,(symbol->string type))))) - (string-append "?" (encode-query `((param . ,(symbol->string type))))))) + (define signature (func-signature doc)) (define-values (param-signatures subsyntax-signatures signature-sd) (case (car signature) @@ -183,9 +385,9 @@ (cadr param-sig) (lambda args #f) #t)) - (read (open-input-string (get 'param_signatures)))) + (func-param-signatures doc)) '() - (make-signature-sexpr-data (get 'name) + (make-signature-sexpr-data (func-name doc) signature make-link #f))) @@ -194,86 +396,94 @@ (let ((literals (cadr signature))) (map (lambda (param) - `((name . ,(symbol->string (car param))) - (rules . #(,@(map - (lambda (rule) - (make-subsyntax-signature-sexpr-data literals rule)) - (cdr param)))))) - (read (open-input-string (get 'param_signatures))))) - (make-syntax-signature-sexpr-data (get 'name) + (make-syntax-rule (symbol->string (car param)) + (map + (lambda (rule) + (make-subsyntax-signature-sexpr-data literals rule)) + (cdr param)))) + (func-param-signatures doc))) + (make-syntax-signature-sexpr-data (func-name doc) signature))) ((value) (values '() '() - (make-value-signature-sexpr-data (get 'name) + (make-value-signature-sexpr-data (func-name doc) signature make-link))))) - `((signature . ,signature-sd) - (param_signatures . ,(list->vector param-signatures)) - (has_param_signatures . ,(not (null? param-signatures))) - (subsyntax_signatures . ,(list->vector subsyntax-signatures)) - (has_subsyntax_signatures . ,(not (null? subsyntax-signatures))) - (tags . ,(get 'tags)) - (lib . ,(get 'lib)))) + (define syntax-param-signatures + (make-syntax-param-signatures (func-syntax-param-signatures doc))) + + (make-result-item + signature-sd + param-signatures + subsyntax-signatures + syntax-param-signatures + (func-tags doc) + (func-lib doc))) (define (make-subsyntax-signature-sexpr-data literals rule) (define (term-handler term) (cond ((find (lambda (el) (equal? term el)) literals) - `((text . ,(symbol->string term)) - (sub-exprs . #f) - (class . "bright-syntax"))) + (make-sexpr-el #f (symbol->string term) "bright-syntax" #f #f)) ((or (equal? '... term) (equal? '|#| term)) - `((text . ,(symbol->string term)) - (sub-exprs . #f) - (class . "muted"))) - (else - `((class . "sexpr-flex muted") - (sub-exprs . #(((html . "⟨") - (sub-exprs . #f)) - ((text . ,(symbol->string term)) - (sub-exprs . #f)) - ((html . "⟩") - (sub-exprs . #f)))))))) - `((class . "sexpr-flex") - (sub-exprs . #(,@(make-sexpr-data (cons rule '()) term-handler 1))))) - + (make-sexpr-el #f (symbol->string term) "muted" #f #f)) + (else + (make-sexpr-el #f #f "sexpr-flex muted" #f + (list (make-sexpr-el "⟨" #f #f #f #f) + (make-sexpr-el #f (symbol->string term) #f #f #f) + (make-sexpr-el "⟩" #f #f #f #f)))))) + (make-sexpr-el #f #f "sexpr-flex" #f (make-sexpr-data (cons rule '()) term-handler 1))) + + (define (make-syntax-param-signatures params) + (map + (lambda (param) + (define name (symbol->string (car param))) + (define type (cadr param)) + (make-sexpr-el #f #f "sexpr-flex" #f + (list + paren-open-sd + (make-param-type-sd type #f make-link) + spacer-sd + (make-sexpr-el #f name "muted" #f #f) + paren-close-sd))) + params)) + + (define (make-link type param?) + (if param? + (string-append "?" (encode-query `((return . ,(symbol->string type))))) + (string-append "?" (encode-query `((param . ,(symbol->string type))))))) + (define (make-syntax-signature-sexpr-data name signature) - (define name-symbol (string->symbol name)) (define rules (map (lambda (r) - (cons name-symbol (cdar r))) + `((,name ,@(cdar r)) ,@(cdr r))) (cddr signature))) (define literals (cadr signature)) (define (term-handler term) (cond - ((or (equal? name-symbol term) + ((or (equal? name term) (find (lambda (el) (equal? term el)) literals)) - `((text . ,(symbol->string term)) - (sub-exprs . #f) - (class . "bright-syntax"))) + (make-sexpr-el #f (symbol->string term) "bright-syntax" #f #f)) ((equal? '... term) - `((text . "...") - (sub-exprs . #f) - (class . "muted"))) - (else - `((class . "sexpr-flex muted") - (sub-exprs . #(((html . "⟨") - (sub-exprs . #f)) - ((text . ,(symbol->string term)) - (sub-exprs . #f)) - ((html . "⟩") - (sub-exprs . #f)))))))) + (make-sexpr-el #f "..." "muted" #f #f)) + (else + (make-sexpr-el #f #f "sexpr-flex muted" #f + (list (make-sexpr-el "⟨" #f #f #f #f) + (make-sexpr-el #f (symbol->string term) #f #f #f) + (make-sexpr-el "⟩" #f #f #f #f)))))) (define rules-sds (map (lambda (rule) - `((class . "sexpr-flex") - (sub-exprs . #(,@(make-sexpr-data (cons rule '()) term-handler 0))))) + (define return + (if (= 1 (length rule)) + '() + `(,(make-return-sd (cadr rule) make-link #f)))) + (make-sexpr-el #f #f "sexpr-flex" #f (append (make-sexpr-data (cons (car rule) '()) term-handler 0) return))) rules)) - `((class . "sexpr-flex-col") - (sub-exprs . #(,@rules-sds)))) + (make-sexpr-el #f #f "sexpr-flex-col" #f rules-sds)) (define (make-sexpr-data sexpr term-handler depth) (define (wrap-list sexpr) @@ -284,14 +494,10 @@ (define processed-lst (make-sexpr-data sexpr term-handler new-depth)) (if (pair? sexpr) - `(((class . "sexpr-flex") - (sub-exprs . #(((class . ,(string-append "syntaxbracket-" (number->string depth))) - (text . "(") - (sub-exprs . #f)) - ,@processed-lst - ((class . ,(string-append "syntaxbracket-" (number->string depth))) - (text . ")") - (sub-exprs . #f)))))) + (list (make-sexpr-el #f #f "sexpr-flex" #f + `(,(make-sexpr-el #f "(" (string-append "syntaxbracket-" (number->string depth)) #f #f) + ,@processed-lst + ,(make-sexpr-el #f ")" (string-append "syntaxbracket-" (number->string depth)) #f #f)))) processed-lst)) (cond @@ -306,183 +512,152 @@ (list (term-handler sexpr))) ((and (pair? sexpr) (symbol? (cdr sexpr))) `(,@(wrap-list (car sexpr)) - ((class . "spacer") - (sub-exprs . #f)) - ((class . "muted") - (sub-exprs . #f) - (html . ".")) - ((class . "spacer") - (sub-exprs . #f)) + ,spacer-sd + ,(make-sexpr-el "." #f "muted" #f #f) + ,spacer-sd ,@(make-sexpr-data (cdr sexpr) term-handler depth))) ((pair? sexpr) `(,@(wrap-list (car sexpr)) - ((class . "spacer") - (sub-exprs . #f)) - ,@(make-sexpr-data (cdr sexpr) term-handler depth))) + ,spacer-sd + ,@(make-sexpr-data (cdr sexpr) term-handler depth))) ((null? sexpr) (list)) (else (error sexpr)))) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - (define (make-signature-sexpr-data name sig link-maker sub?) + (define spacer-sd + (make-sexpr-el #f #f "spacer" #f #f)) + (define paren-open-sd - `((class . "muted") - (text . "(") - (sub-exprs . #f))) + (make-sexpr-el #f "(" "muted" #f #f)) + (define paren-close-sd - `((class . "muted") - (text . ")") - (sub-exprs . #f))) - (define spacer-sd - `((class . "spacer") - (text . "") - (sub-exprs . #f))) - (define name-sd - `((class . ,(if sub? "muted-name" "bright-name")) - (text . ,name) - (sub-exprs . #f))) - - (define (make-return-sd returns) + (make-sexpr-el #f ")" "muted" #f #f)) + + (define long-arrow-sd + (make-sexpr-el "⟹" #f "muted" #f #f)) + + (define slash (make-sexpr-el #f "/" "muted-type" #f #f)) + + (define (make-return-sd returns link-maker sub?) (define (return-value->sd value) (cond ((or (equal? value '...) (equal? value 'undefined) (equal? value '*)) - `((class . "muted") - (text . ,(symbol->string value)) - (sub-exprs . #f))) + (make-sexpr-el #f (symbol->string value) "muted" #f #f)) ((equal? value #f) - `((class . ,(if sub? "muted-name" "bright-syntax")) - (text . "#f") - (sub-exprs . #f))) - ((equal? value #t) - `((class . ,(if sub? "muted-name" "bright-syntax")) - (text . "#f") - (sub-exprs . #f))) + (make-sexpr-el #f "#f" (if sub? "muted-name" "bright-syntax") #f #f)) ((symbol? value) - `((class . ,(if sub? "muted-name" "bright-type")) - (text . ,(symbol->string value)) - (link . ,(link-maker value #f)) - (sub-exprs . #f))) + (make-sexpr-el #f (symbol->string value) (if sub? "muted-name" "bright-type") (link-maker value #f) #f)) ((list? value) - `((class . "sexpr-flex") - (sub-exprs . #(,paren-open-sd - ((class . "muted") - (text . ,(symbol->string (car value))) - (sub-exprs . #f)) - ,@(map - (lambda (e) - `((class . "sexpr-flex") - (sub-exprs . #(,spacer-sd ,(return-value->sd e))))) - (cdr value)) - ,paren-close-sd)))))) - `((class . "sexpr-flex") - (link . #f) - (sub-exprs . #(,spacer-sd - ((class . "muted") - (link . #f) - (html . "⟹") - (sub-exprs . #f)) - ,spacer-sd - ,(return-value->sd returns))))) - + (make-sexpr-el #f #f "sexpr-flex" #f `( + ,paren-open-sd + ,(make-sexpr-el #f (symbol->string (car value)) "muted" #f #f) + ,@(map + (lambda (e) + (make-sexpr-el #f #f "sexpr-flex" #f (list spacer-sd (return-value->sd e)))) + (cdr value)) + ,paren-close-sd))))) + (make-sexpr-el #f #f "sexpr-flex" #f (list spacer-sd long-arrow-sd spacer-sd (return-value->sd returns)))) + + (define (make-param-type-sd type sub? link-maker) + (cond + ((symbol? type) + (make-sexpr-el #f type (if sub? "muted-type" "bright-type") (link-maker type #t) #f)) + ((equal? #f type) + (make-sexpr-el #f "#f" (if sub? "muted-type" "bright-syntax") #f #f)) + ((list? type) + (let loop ((types (cdr type)) + (sds '())) + (cond + ((null? types) + (make-sexpr-el #f #f "sexpr-flex" #f (cdr sds))) + (else (let* ((type (car types)) + (sd (make-param-type-sd type sub? link-maker))) + (loop (cdr types) + (append (list slash sd) sds))))))))) + + (define (make-signature-sexpr-data name sig link-maker sub?) + + (define name-sd (make-sexpr-el #f name (if sub? "muted-name" "bright-name") #f #f)) + (define (make-param-sds params) - (define slash `((class . "muted-type") - (link . #f) - (text . "/") - (sub-exprs . #f))) - (define (make-type-sd type) - (cond - ((symbol? type) - `((class . ,(if sub? "muted-type" "bright-type")) - (link . ,(link-maker type #t)) - (text . ,type) - (sub-exprs . #f))) - ((equal? #f type) - `((class . ,(if sub? "muted-type" "bright-syntax")) - (link . #f) - (text . "#f") - (sub-exprs . #f))) - ((list? type) - (let loop ((types (cdr type)) - (sds '())) - (cond - ((null? types) - `((class . "sexpr-flex") - (link . #f) - (sub-exprs . ,(list->vector (cdr sds))))) - (else (let* ((type (car types)) - (sd (make-type-sd type))) - (loop (cdr types) - (append (list slash sd) sds))))))))) + (let loop ((params params) (last (null? (cdr (cadr sig)))) (result '())) (define param (car params)) (define sd (cond - ((list? param) - `((class . "sexpr-flex") - (link . #f) - (sub-exprs . #(,spacer-sd - ,paren-open-sd - ,(make-type-sd (car param)) - ,spacer-sd - ((class . "muted") - (link . #f) - (text . ,(cadr param)) - (sub-exprs . #f)) - ,paren-close-sd - ,@(if last (list paren-close-sd) (list)))))) - (else `((class . "sexpr-flex") - (link . #f) - (sub-exprs . #(,spacer-sd - ((class . "muted") - (link . #f) - (text . ,(symbol->string param)) - (sub-exprs . #f)) - ,@(if last (list paren-close-sd) (list)))))))) - + ((list? param) + (make-sexpr-el #f #f "sexpr-flex" #f + `(,spacer-sd + ,paren-open-sd + ,(make-param-type-sd (car param) sub? link-maker) + ,spacer-sd + ,(make-sexpr-el #f (cadr param) "muted" #f #f) + ,paren-close-sd + ,@(if last (list paren-close-sd) (list))))) + (else + (make-sexpr-el #f #f "sexpr-flex" #f + `(,spacer-sd + ,(make-sexpr-el #f (symbol->string param) "muted" #f #f) + ,@(if last (list paren-close-sd) (list))))))) + (if last (reverse (cons sd result)) (loop (cdr params) (null? (cddr params)) (cons sd result))))) - + (define params (cadr sig)) - (define return-sd (make-return-sd (caddr sig))) + (define return-sd (make-return-sd (caddr sig) link-maker sub?)) (if (null? params) - `((class . "sexpr-flex") - (link . #f) - (sub-exprs . #(,paren-open-sd - ,name-sd - ,paren-close-sd - ,return-sd))) - - `((class . "sexpr-flex") - (link . #f) - (sub-exprs . #(,paren-open-sd - ,name-sd - ((class . "sexpr-flex sexpr-shrink") - (link . #f) - (sub-exprs . #(,@(make-param-sds params)))) - ,return-sd))))) + (make-sexpr-el #f #f "sexpr-flex" #f + (list paren-open-sd + name-sd + paren-close-sd + return-sd)) + (make-sexpr-el #f #f "sexpr-flex" #f + (list paren-open-sd + name-sd + (make-sexpr-el #f #f "sexpr-flex sexpr-shrink" #f (make-param-sds params)) + return-sd)))) (define (make-value-signature-sexpr-data name sig link-maker) - `((class . "sexpr-flex") - (sub-exprs . #(((class . "bright-name") - (text . ,name) - (sub-exprs . #f)) - ((class . "spacer") - (sub-exprs . #f)) - ((class . "muted") - (html . "⟹") - (sub-exprs . #f)) - ((class . "spacer") - (sub-exprs . #f)) - ((class . "bright-type") - (text . ,(symbol->string (cadr sig))) - (link . ,(link-maker (cadr sig) #f)) - (sub-exprs . #f)))))))) + (make-sexpr-el #f #f "sexpr-flex" #f + (list (make-sexpr-el #f name "bright-name" #f #f) + spacer-sd + long-arrow-sd + spacer-sd + (make-sexpr-el #f (symbol->string (cadr sig)) "bright-type" (link-maker (cadr sig) #f) #f)))) + + (define (get-page-head title req) + (make-page-head title (user-setting/light-theme? req) (user-setting/ctrl-f-override req))) + + (define (render-home-page req) + (values + "index" + (make-page + (get-page-head #f req) + (make-navigation (make-mustache-nav-data 'index)) + #f))) + + (define (render-search-page req page page-size query libs tags param-types return-types search-result) + (values + "search" + (make-page + (get-page-head "Search" req) + (make-navigation (make-mustache-nav-data 'search)) + (make-mustache-search-data page page-size query libs tags param-types return-types search-result)))) + + (define (render-settings-page req) + (values + "settings" + (make-page + (get-page-head "Settings" req) + (make-navigation (make-mustache-nav-data 'settings)) + (mustache-settings-data req)))) + +)) \ No newline at end of file diff --git a/src/main/scheme/scmindex/settings.scm b/src/main/scheme/scmindex/settings.scm index b7fe16f..6f88194 100644 --- a/src/main/scheme/scmindex/settings.scm +++ b/src/main/scheme/scmindex/settings.scm @@ -16,14 +16,7 @@ deploy-setting/cache-templates deploy-setting/page-size deploy-setting/serve-static - - user-setting/page-size - user-setting/light-theme? - user-setting/ctrl-f-override - user-setting/param-filter-loose - - settings-options - mustache-settings-data) + ) (begin @@ -44,80 +37,5 @@ (define deploy-setting/page-size (cut get-property <> 'page-size 40)) (define deploy-setting/serve-static (cut get-property <> 'serve-static #t)) - (define settings-data - `#( - ((name . "pageSize") - (legend . "Page size") - (description . "") - (default-value . "40") - (values . #("10" "40" "100"))) - - ((name . "theme") - (legend . "Theme") - (description . "") - (default-value . "light") - (values . #("light" "dark"))) - - ((name . "overrideCtrlF") - (legend . "Override control+f behavior") - (description . "If enabled, pressing control+f will highlight and focus search text field") - (default-value . "no") - (values . #("yes" "no"))) - - ((name . "filterParamsLoose") - (legend . "Use loose parameter filtering") - (description . "When enabled, filtering by parameter of union type, will return results that take parameter of - a type that composes that union. For example, filtering by `list?` (which is union type of `pair?` - and `null?`) will find functions that take `pair?` argument. This leads to showing functions - that searcher is probably interested in, however at the drawback that those functions won't be - applicable in general case") - (default-value . "yes") - (values . #("yes" "no"))))) - - (define settings-options '("overrideCtrlF" "theme" "pageSize" "filterParamsLoose")) - - (define (user-setting/page-size req) - (cond - ((assoc 'pageSize (req/cookies req)) => (lambda (e) - (string->number (cdr e)))) - (else 40))) - - (define (user-setting/light-theme? req) - (cond - ((assoc 'theme (req/cookies req)) => (lambda (e) - (equal? "light" (cdr e)))) - (else #t))) - - (define (user-setting/ctrl-f-override req) - (cond - ((assoc 'overrideCtrlF (req/cookies req)) => (lambda (e) - (equal? "yes" (cdr e)))) - (else #f))) - - (define (user-setting/param-filter-loose req) - (cond - ((assoc 'filterParamsLoose (req/cookies req)) => (lambda (e) - (equal? "yes" (cdr e)))) - (else #t))) - - (define (mustache-settings-data req) - (define cookies (req/cookies req)) - (define data - (vector-map - (lambda (option) - (define name (cdr (assoc 'name option))) - (define selected-value - (cond - ((assoc (string->symbol name) cookies) => cdr) - (else (cdr (assoc 'default-value option))))) - (define values+selection - (vector-map - (lambda (value) - `((value . ,value) - (selected . ,(equal? value selected-value)))) - (cdr (assoc 'values option)))) - `((values . ,values+selection) ,@option)) - settings-data)) - `((options . ,data))) )) diff --git a/src/main/scheme/scmindex/solr.scm b/src/main/scheme/scmindex/solr.scm index 5119ce2..479e2b8 100644 --- a/src/main/scheme/scmindex/solr.scm +++ b/src/main/scheme/scmindex/solr.scm @@ -2,8 +2,8 @@ (scmindex solr) (import (scheme base) (scheme write) - ;(arvyy httpclient) (arvyy solrj) + (scmindex domain) (scmindex types-parser)) (export @@ -120,27 +120,29 @@ (define (parse-solr-response response) (define resp (cdr (assoc 'response response))) (define total (cdr (assoc 'num-found resp))) - (define docs (cdr (assoc 'docs resp))) + (define docs (map json->func (vector->list (cdr (assoc 'docs resp))))) (define facet-counts (cdr (assoc 'facet_counts response))) (define facet-fields (cdr (assoc 'facet_fields facet-counts))) (define lib-facets (fold-facet-values (cdr (assoc 'lib facet-fields)))) (define param-facets (fold-facet-values (cdr (assoc 'param_types facet-fields)))) (define return-facets (fold-facet-values (cdr (assoc 'return_types facet-fields)))) (define tag-facets (fold-facet-values (cdr (assoc 'tags facet-fields)))) - - `((procedures . ,docs) - (total . ,total) - (lib . ,lib-facets) - (param . ,param-facets) - (tag . ,tag-facets) - (return . ,return-facets))) + + (make-search-result + docs + total + lib-facets + param-facets + tag-facets + return-facets)) (define (fold-facet-values vals) - (list->vector (map + (map (lambda (e) - `((value . ,(symbol->string (car e))) - (count . ,(cdr e)))) - vals))) + (make-search-result-facet + (symbol->string (car e)) + (cdr e))) + vals)) (define (escape-solr-spec str) (define lst* diff --git a/src/main/scheme/scmindex/types-parser.scm b/src/main/scheme/scmindex/types-parser.scm index b22b604..5d855df 100644 --- a/src/main/scheme/scmindex/types-parser.scm +++ b/src/main/scheme/scmindex/types-parser.scm @@ -6,58 +6,18 @@ (scheme read) (scheme write) (only (srfi 1) lset-adjoin lset-difference alist-cons alist-delete delete-duplicates filter) + (scmindex domain) (arvyy slf4j)) (export read-specs read-spec make-type-maps flatten-type - func->json - - make-func - func? - func-lib - func-name - func-param-names - func-signature - func-param-signatures - func-tags - func-param-types - func-return-types - func-supertypes - ) (begin (define logger (get-logger "types-parser")) - (define-record-type - (make-func - lib - name - param-names - signature - param-signatures - tags - param-types - return-types - supertypes) - - func? - - (lib func-lib) - (name func-name) - (param-names func-param-names) - (signature func-signature) - (param-signatures func-param-signatures) - (tags func-tags) - (param-types func-param-types) - (return-types func-return-types) - (supertypes func-supertypes) - - ) - - (define (read-specs index-file) (log-info logger "Reading specs from index file {}" index-file) (with-input-from-file @@ -76,41 +36,48 @@ lst)) (apply append funcs*)))) - (define (list-ref/f lst index) - (cond - ((null? lst) '()) - ((= index 0) (car lst)) - (else (list-ref/f (cdr lst) (- index 1))))) + (define (assoc* key alist default) + (cond + ((assoc key alist) => cdr) + (else default))) (define (read-spec lib input) (map (lambda (entry) - (define name (let ((n (list-ref entry 0))) + (define name (let ((n (assoc* 'name entry #f))) + (unless n + (error "Missing name attribute")) (log-debug logger "Reading spec {}" n) n)) - (define signature (list-ref entry 1)) + (define signature (let ((s (assoc* 'signature entry #f))) + (unless s + (error "Missing signature attribute")) + s)) (define-values - (supertypes param-names param-types return-types) + (supertypes param-names param-types syntax-param-signatures return-types) (case (car signature) ((lambda) - (values (list-ref/f entry 4) + (values (assoc* 'supertypes entry '()) (extract-param-names signature) (extract-param-types signature) + '() (extract-return-types signature))) ((syntax-rules) (values '() (extract-syntax-names signature) - '() - '())) + (extract-syntax-param-types (assoc* 'syntax-param-signatures entry '())) + (assoc* 'syntax-param-signatures entry '()) + (extract-syntax-return-types signature))) ((value) (values '() + '() '() '() (list (cadr signature)))) (else (error (string-append "Unrecognized signature for " (->string name)))))) - (define tags (list-ref/f entry 2)) - (define param-signatures (list-ref/f entry 3)) - (make-func lib name param-names signature param-signatures tags param-types return-types supertypes)) + (define tags (assoc* 'tags entry '())) + (define param-signatures (assoc* 'subsigs entry '())) + (make-func lib name param-names signature param-signatures syntax-param-signatures tags param-types return-types supertypes)) input)) (define (extract-param-names signature) @@ -148,28 +115,43 @@ (result (delete-duplicates result equal?))) result)) + (define (extract-syntax-return-types signature) + (let* ((rules (cddr signature)) + (rules (filter (lambda (rule) (> (length rule) 1)) rules)) + (returns (map cadr rules)) + (types (map parse-type-from-return returns))) + (delete-duplicates (apply append types)))) + + (define (extract-syntax-param-types param-types) + (define types (map + (lambda (param-type) + (parse-type-from-param (cadr param-type))) + param-types)) + (apply append types)) + (define (extract-param-types signature) (define params-list (cadr signature)) (define lst* (map (lambda (param) (cond ((list? param) - (let ((type (car param))) - (cond - ((and (list? type) (equal? 'or (car type))) - (cdr type)) - ((list? type) (error (string-append "Bad signature: " (->string signature)))) - ((symbol? type) (list type)) - ((equal? #f type) (list)) - (else (error (string-append "Bad signature: " (->string signature))))))) + (let ((value (car param))) + (parse-type-from-param value))) (else (list)))) params-list)) - (filter - symbol? - (apply append lst*))) + (apply append lst*)) - (define (extract-return-types signature) - (define (extract value) + (define (parse-type-from-param value) + (define types + (cond + ((and (list? value) (equal? 'or (car value))) + (cdr value)) + ((symbol? value) (list value)) + ((equal? #f value) (list)) + (else (error "Bad signature")))) + (filter symbol? types)) + + (define (parse-type-from-return value) (cond ((or (equal? '* value) (equal? '... value) @@ -180,11 +162,13 @@ ((and (list? value) (or (equal? 'values (car value)) (equal? 'or (car value)))) - (apply append (map extract (cdr value)))) + (apply append (map parse-type-from-return (cdr value)))) (else (list)))) + + (define (extract-return-types signature) (when (< (length signature) 3) (error (string-append "Bad signature: " (->string signature)))) - (extract (caddr signature))) + (parse-type-from-return (caddr signature))) (define (make-type-maps funcs) (define (make-entries strict) @@ -248,20 +232,11 @@ (loop (append to-add result) new-q)))) + ;;TODO move to util (define (->string obj) (define port (open-output-string)) (write obj port) (get-output-string port)) - (define (func->json func) - `((lib . ,(->string (func-lib func))) - (name . ,(symbol->string (func-name func))) - (param_names . ,(list->vector (map ->string (func-param-names func)))) - (signature . ,(->string (func-signature func))) - (param_signatures . ,(->string (func-param-signatures func))) - (tags . ,(list->vector (map ->string (func-tags func)))) - (param_types . ,(list->vector (map ->string (func-param-types func)))) - (return_types . ,(list->vector (map ->string (func-return-types func)))) - (super_types . ,(list->vector (map ->string (func-supertypes func)))))) ) ) diff --git a/src/main/scheme/scmindex/web-ui.scm b/src/main/scheme/scmindex/web-ui.scm index 5de5c82..c17396f 100644 --- a/src/main/scheme/scmindex/web-ui.scm +++ b/src/main/scheme/scmindex/web-ui.scm @@ -9,6 +9,7 @@ (arvyy mustache) (arvyy solr-embedded) (arvyy solrj) + (scmindex domain) (scmindex types-parser) (scmindex mustache) (scmindex solr) @@ -41,7 +42,9 @@ (define (get/html path handler) (get path (lambda (req resp) (define-values (name data) (handler req resp)) - (execute (get-template name) data)))) + (parameterize ((current-lookup data-lookup) + (current-collection list-collection)) + (execute (get-template name) data))))) (define (get/rest path handler) (get path (lambda (req resp) @@ -59,21 +62,11 @@ (resp/set-header! resp "Access-Control-Allow-Origin" "*") (get-output-string payload)))) -(define (make-tpl-getter name) - (if (deploy-setting/cache-templates config) - (let ((tpl (compile name partial-locator))) - (lambda () tpl)) - (lambda () (compile name partial-locator)))) - (define solr-url (string-append (deploy-setting/solr-url config) "/solr/" (deploy-setting/solr-core config))) (define solr-search-url (string-append solr-url "/search")) (define solr-suggest-url (string-append solr-url "/suggest")) (define default-page-size (deploy-setting/page-size config)) -(define (make-head-data req) - `((light-theme . ,(user-setting/light-theme? req)) - (ctrlf-override . ,(user-setting/ctrl-f-override req)))) - (port (deploy-setting/port config)) (when (deploy-setting/serve-static config) @@ -81,18 +74,11 @@ (get/html "/" (lambda (req resp) - (values "index" - `((page-title . "Home") - ,@(make-mustache-nav-data 'index) - ,@(make-head-data req))))) + (render-home-page req))) (get/html "/settings" (lambda (req resp) - (values "settings" - `((page-title . "Settings") - ,@(make-mustache-nav-data 'settings) - ,@(make-head-data req) - ,@(mustache-settings-data req))))) + (render-settings-page req))) (post "/settings" (lambda (req resp) @@ -102,7 +88,7 @@ (if value (resp/set-cookie! resp opt value) (resp/remove-cookie! resp opt))) - settings-options) + settings-cookies) (resp/redirect resp "/settings"))) (get/html "/search" @@ -120,35 +106,7 @@ (define return-types (or (req/query-param-values req "return") '())) (define tags (or (req/query-param-values req "tag") '())) (define data (exec-solr-query solr-client solr-core start page-size query libs param-types return-types tags filter-params-loose?)) - (define search-data - (make-mustache-search-data - page - page-size - query - libs - param-types - return-types - tags - data)) - (values "search" - `((page-title . "Search") - ,@search-data - ,@(make-mustache-nav-data 'search) - ,@(make-head-data req))))) - -(get/html "/userguide" - (lambda (req resp) - (values "userguide" - `((page-title . "User guide") - ,@(make-mustache-nav-data 'userguide) - ,@(make-head-data req))))) - -(get/html "/restapi" - (lambda (req resp) - (values "restapi" - `((page-title . "REST api") - ,@(make-mustache-nav-data 'restapi) - ,@(make-head-data req))))) + (render-search-page req page page-size query libs tags param-types return-types data))) (get/rest "/suggest" (lambda (req resp) @@ -182,7 +140,10 @@ (define return-types (or (req/query-param-values req "return") '())) (define tags (or (req/query-param-values req "tag") '())) (define filter-params-loose? (equal? (or (req/query-param req "filter_loose") "true") "true")) - (exec-solr-query solr-client solr-core start rows query libs param-types return-types tags filter-params-loose?)))) + (define search-result (exec-solr-query solr-client solr-core start rows query libs param-types return-types tags filter-params-loose?)) + (search-result->json search-result)))) + + ) diff --git a/src/test/scheme/main-test.scm b/src/test/scheme/main-test.scm index c44bd81..a2b608a 100644 --- a/src/test/scheme/main-test.scm +++ b/src/test/scheme/main-test.scm @@ -3,7 +3,8 @@ (import (scheme base) (scheme write) (scheme read) - (scmindex types-parser) + (scmindex domain) + (scmindex types-parser) (scmindex mustache) (only (srfi 1) lset=) (srfi 64) diff --git a/src/test/scheme/test-mustache.scm b/src/test/scheme/test-mustache.scm index 9f48451..3affc75 100644 --- a/src/test/scheme/test-mustache.scm +++ b/src/test/scheme/test-mustache.scm @@ -12,5 +12,5 @@ (vector-for-each (lambda (doc) (test-assert (not (null? (make-doc-data doc))))) - json-scm)) + specs)) diff --git a/src/test/scheme/test-types-parser.scm b/src/test/scheme/test-types-parser.scm index 7bc4784..98b59c6 100644 --- a/src/test/scheme/test-types-parser.scm +++ b/src/test/scheme/test-types-parser.scm @@ -1,11 +1,10 @@ (test-group "Test function general" (define spec-raw - `(integer? - (lambda (obj) boolean?) - (pure predicate) - () - (number?))) + `((name . integer?) + (signature . (lambda (obj) boolean?)) + (tags . (pure predicate)) + (supertypes . (number?)))) (define f (car (read-spec '(test lib) (list spec-raw)))) (define f* (func->json f)) (test-equal '(test lib) (func-lib f)) @@ -28,12 +27,12 @@ (define specs (read-spec '(test lib) `( - (f1 - (lambda () *)) - (f2 - (lambda (obj1 obj2 ...) *)) - (f3 - (lambda ((string? str) ... (#f obj2)) *)) + ((name . f1) + (signature . (lambda () *))) + ((name . f2) + (signature . (lambda (obj1 obj2 ...) *))) + ((name . f3) + (signature . (lambda ((string? str) ... (#f obj2)) *))) ))) (test-equal '() (func-param-names (list-ref specs 0))) (test-equal '(obj1 obj2) (func-param-names (list-ref specs 1))) @@ -44,14 +43,14 @@ (define specs (read-spec '(test lib) `( - (f1 - (lambda () *)) - (f2 - (lambda (obj) *)) - (f3 - (lambda ((string? str) (#f int)) *)) - (f4 - (lambda (((or #f string?) str)) *))))) + ((name . f1) + (signature . (lambda () *))) + ((name . f2) + (signature . (lambda (obj) *))) + ((name . f3) + (signature . (lambda ((string? str) (#f int)) *))) + ((name . f4) + (signature . (lambda (((or #f string?) str)) *)))))) (test-equal '() (func-param-types (list-ref specs 0))) (test-equal '() (func-param-types (list-ref specs 1))) (test-equal '(string?) (func-param-types (list-ref specs 2))) @@ -62,18 +61,18 @@ (define specs (read-spec '(test lib) `( - (f1 - (lambda () *)) - (f2 - (lambda () undefined)) - (f3 - (lambda () string?)) - (f4 - (lambda () (or integer? string?))) - (f5 - (lambda () (or #f string?))) - (f6 - (lambda () (values integer? string? ...)))))) + ((name . f1) + (signature . (lambda () *))) + ((name . f2) + (signature . (lambda () undefined))) + ((name . f3) + (signature . (lambda () string?))) + ((name . f4) + (signature . (lambda () (or integer? string?)))) + ((name . f5) + (signature . (lambda () (or #f string?)))) + ((name . f6) + (signature . (lambda () (values integer? string? ...))))))) (test-equal '() (func-return-types (list-ref specs 0))) (test-equal '() (func-return-types (list-ref specs 1))) (test-equal '(string?) (func-return-types (list-ref specs 2))) @@ -93,34 +92,28 @@ (define specs (read-spec '(test lib) `( - (A? - (lambda (obj) boolean?) - (pure predicate) - ()) - (B? - (lambda (obj) boolean?) - (pure predicate) - ()) - (C? - (lambda (obj) boolean?) - (pure predicate) - () - (A? B?)) - (D? - (lambda (obj) boolean?) - (pure predicate) - () - (C?)) - (E? - (lambda (obj) boolean?) - (pure predicate) - () - (A?)) - (F? - (lambda (obj) boolean?) - (pure predicate) - () - (E?))))) + ((name . A?) + (signature . (lambda (obj) boolean?)) + (tags . (pure predicate))) + ((name . B?) + (signature . (lambda (obj) boolean?)) + (tags . (pure predicate))) + ((name . C?) + (signature . (lambda (obj) boolean?)) + (tags . (pure predicate)) + (supertypes . (A? B?))) + ((name . D?) + (signature . (lambda (obj) boolean?)) + (tags . (pure predicate)) + (supertypes . (C?))) + ((name . E?) + (signature . (lambda (obj) boolean?)) + (tags . (pure predicate)) + (supertypes . (A?))) + ((name . F?) + (signature . (lambda (obj) boolean?)) + (tags . (pure predicate)) + (supertypes . (E?)))))) (define-values (supertype-map subtype-strict-map subtype-loose-map) (make-type-maps specs)) @@ -153,11 +146,12 @@ "Test kawa mangling" (define specs (read-spec '(test lib) - `((->char-set - (lambda ((char? x)) string?)) + `( + ((name . ->char-set) + (signature . (lambda ((char? x)) string?))) - (|char-set:lower-case| - (value char-set?))))) + ((name . |char-set:lower-case|) + (signature . (value char-set?)))))) ;; test workaround works to prevent kawa mangling (let ((f (list-ref specs 0))) (test-equal '|->char-set| (func-name f)) diff --git a/static/css/scmindex.css b/static/css/scmindex.css index ae62d6f..23ae13e 100644 --- a/static/css/scmindex.css +++ b/static/css/scmindex.css @@ -55,6 +55,7 @@ nav { } .facet-count { + font-size: 0.8em; color: var(--text-color-muted); } @@ -117,6 +118,7 @@ nav { .lib { font-size: 0.8em; grid-area: lib; + margin-bottom: 0.8em; } .lib-link { @@ -133,9 +135,12 @@ nav { grid-area: sig; } -.param-signatures, .subsyntax-signatures { +.param-signatures, .subsyntax-signatures-block { grid-area: param-sig; - padding-top: 0.5em; +} + +.param-signatures, .subsyntax-signatures-block, .syntax-param-signatures { + margin-top: 0.8em; } .subsyntax-signatures { @@ -207,14 +212,14 @@ nav { } .procedure:first-child { - border-top-left-radius: 10px; - border-top-right-radius: 10px; + border-top-left-radius: 5px; + border-top-right-radius: 5px; } .procedure:last-child { border-bottom: 1px gray solid; - border-bottom-left-radius: 10px; - border-bottom-right-radius: 10px; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; } .chunk { @@ -222,9 +227,14 @@ nav { margin-left: 5px; } +.settings-group { + margin-top: 0.5em; +} + .settings-group-value, .facet-option { display: block; + padding: 0.1em; vertical-align: middle; cursor: pointer; } @@ -309,8 +319,8 @@ nav { color: var(--text-color-muted); font-weight: bold; background-color: var(--bg-color2); - width: 1.5em; - height: 1.5em; + min-width: 1.5em; + padding: 0.2em; line-height: 1.5em; text-align: center; border-top: solid gray 1px; @@ -343,8 +353,8 @@ nav { .page-gap { color: var(--text-color-muted); background-color: var(--bg-color2); - width: 1.5em; - height: 1.5em; + min-width: 1.5em; + padding: 0.2em; line-height: 1.5em; text-align: center; border-top: solid gray 1px; @@ -384,6 +394,7 @@ h1, h2 { fieldset { border: 1px gray solid; + border-radius: 5px; } @@ -458,6 +469,11 @@ fieldset { color: var(--text-color-muted); } +.result-item-block-header { + font-size: 0.8em; + color: var(--text-color-muted); +} + /* SETTINGS */ .settings-form { diff --git a/static/fonts/Roboto/LICENSE.txt b/static/fonts/Roboto/LICENSE.txt new file mode 100644 index 0000000..75b5248 --- /dev/null +++ b/static/fonts/Roboto/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/static/fonts/Roboto/Roboto-Regular.ttf b/static/fonts/Roboto/Roboto-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ddf4bfacb396e97546364ccfeeb9c31dfaea4c25 GIT binary patch literal 168260 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

S&jh1n&JeeMOkU4{=4@cYr6k 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≤FHXCuU9Qce=@vmZ{%9^5??OaVQJ8!4u8-w;yt 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 YIdCWF4CX1j{ZBjXKZUIGuJjc77Z)d1tN;K2 literal 0 HcmV?d00001 diff --git a/static/fonts/icomoon/fonts/icomoon.svg b/static/fonts/icomoon/fonts/icomoon.svg new file mode 100644 index 0000000..fccacc6 --- /dev/null +++ b/static/fonts/icomoon/fonts/icomoon.svg @@ -0,0 +1,16 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + \ No newline at end of file diff --git a/static/fonts/icomoon/fonts/icomoon.ttf b/static/fonts/icomoon/fonts/icomoon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5d3f612c31a00a10ccfa80916d3c8022644284ca GIT binary patch literal 2016 zcma)7OKcle6ur-5d+MZPd*b;tAK5bE%o|(ihwS^99EILbbg5tN-HAjwyIA)u zt(-k|{l>*VpnpKb{c^feUew-v|8t_iIoJ!QLGWL3-$MTkdh&F&aVAc54EinT!z=ZL zGI!gDTtTR$RLf^pNu*QI_d(ZcDZ0 z>jVG)!TE`scb}Cd8nVUYoT%q>vM%QQWH;>=HCf61&D%`dgs!!0+h!$#1gX@vIs8#S z=`=|*^a?HDXlZ7-KSSRiltoF&>DfYFoG>jb&Qv2GXE7-Vn+dLv8_PY-a@lcNQl4R) zLxR(@iYx`KCurPz;(`8woNA5qwxW6_qx-h>OnB%mH6>gYM=pf;U5yWg__-rD=8nXK zt<6?Rh{XhEJM({F-w$eTp#Ok46wc^7n{Lk4-Vv*yj)<3q)Xp6zA2-j3wuD%VVuF)N zh&3MpsEb>F)U`zDIi~8OE;75x>>W_e-4b}TA_kfRn4=z|R7~e$oT#h1%$4jN+io_Q z)?}OTYmu+CYa_CW2q&(6i@SrG57P^XL#6pCmY;AcZW{afFyn)=q@vJDE?X!Dl?02k zV!>qlU61@kaSCcK>w3tN>(6c7jakvr@pycB`ry%{2d9_g5C_jRvn(p!96UTY;NLx; z&!nd%$aFfB@4~O$6r(KLoaqki;PKI@6}ubv4-6h=zDMG`9L}Bk&_}=HPS4W`RLr!@ zLa|V^!p!haZAd{rh_hOz#XDD16-QU6&^eupn?I%*eAKRxI6*)UN zY$WrM$k&1(ClZHHz>1O*B!56sUGuSy z6NYKdCKA#$AsmV3lg3DYRy9;LhJ06rqzdaHEg@aq>sXECaR2x{>$SZ}wfaatFSplE zMDmsNmv2O#{gZnAPAAZhpN?F4u(oY8zhV9mm@q6I>;qo%FbDjchyB3kJRBf}@I`QAgW!*O zxQ8a_qveHqwO+5$GG1eKs$$fscD%B-zFe-ItK2=ANib c4XlgcPSRP-v+f1vIv2nhJ71^nr}8iS4?-J7+5i9m literal 0 HcmV?d00001 diff --git a/static/fonts/icomoon/fonts/icomoon.woff b/static/fonts/icomoon/fonts/icomoon.woff new file mode 100644 index 0000000000000000000000000000000000000000..7ddd8ebfa59dbd257836438001f440b4bb2783b5 GIT binary patch literal 2092 zcma)7O>7%g5T57tPn>jZZ@lXzKeBggdpA+2o!GIh@Do{xx(y|56+{IbO5DUvBE@!< zAJIw(Srzoag&rzUD^%qG98+!;m5^4P_*1VSQ9&d)G$3(^Ktdw1`QCcl8YNUrJnwz; z&AfT<%}#dTI8`bUBS_bi)Wc`r7KQ`m)Jy3M5$l3;mTR!ryFOPfUjVlVdyVU_?vFoQ zD6ewv9&8@VHMFpN={&e!hy+`2-?{e3Vx>G!o55KzEEGq zS-TEBj1zza;WoQU9wOIu*SE0WYtQUA$}&IfPGO-=i{m2E_BFw3SyU9DVCjvAGo`p7phP0O-aksw|wwk!dE)JHl^&@p+(@(=!o8_L`5eg!iQ*ef?S09PVj`^mJNxZRzR2 z;5%wkyde!=@%#2PpWpABK6z*QWLVtVXconASY#F-{{y>zP_zAgN2I|(THoEUb6)5f zHuLJRbVE$;-sky*S)YGP3^yq(@=Rj5u@9gwcKuP;BBAG)s!O`WtOm1oK{fV@;L(au zGzYLi-9*W-E`$Y1S9L`wTDz9jXfUn8HW1e&S8>n6$_7^Ob*=A(`>6R4J&$#$v~QB- z#(Bk!_+ejw`Mip(qR^3SCSUMIVl2uEd4nCcBXZ+~NtoG;9ihl}ys)(sHbWz0(dbg? z=;_l(OG{A*$Hy8O7Lx7`oEYeL?_JKNQzaQvN~Loh_|>~oh-DhbIv2L_*ht6>??m1G z11Fek-#RA;zf&*z=y%-dIXa7q8K#jhKl9Dy>%#|R`=y|ay$J*q})t>{(A74KdHyfJAr=ubol0@xn-f7EZAM` z-U31&+V3s&85fLT{w3XQPn+W{$!%!SnIG7_c0@PH6s1Y}n(onG>>S$x%QJSRaVMtm3i&l yC2eZ1K8>@bsATWGhTRvCre>e0j4yNrPeG$|bP3~>eSzur1#m_*LgypdkN*KwDM|hS literal 0 HcmV?d00001 diff --git a/static/fonts/icomoon/style.css b/static/fonts/icomoon/style.css new file mode 100644 index 0000000..2401b73 --- /dev/null +++ b/static/fonts/icomoon/style.css @@ -0,0 +1,45 @@ +@font-face { + font-family: 'icomoon'; + src: url('fonts/icomoon.eot?2bxicz'); + src: url('fonts/icomoon.eot?2bxicz#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?2bxicz') format('truetype'), + url('fonts/icomoon.woff?2bxicz') format('woff'), + url('fonts/icomoon.svg?2bxicz#icomoon') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-home3:before { + content: "\e902"; +} +.icon-file-text2:before { + content: "\e926"; +} +.icon-folder:before { + content: "\e92f"; +} +.icon-folder-open:before { + content: "\e930"; +} +.icon-search:before { + content: "\e986"; +} +.icon-cog:before { + content: "\e994"; +} diff --git a/templates/head.html b/templates/head.html index 96b17e0..0a87b21 100644 --- a/templates/head.html +++ b/templates/head.html @@ -1,10 +1,10 @@ - {{#page-title}} - R7RS Index | {{page-title}} - {{/page-title}} - {{^page-title}} + {{#title}} + R7RS Index | {{title}} + {{/title}} + {{^title}} R7RS Index - {{/page-title}} + {{/title}} {{#light-theme}} @@ -13,9 +13,8 @@ {{/light-theme}} - - - + + {{#ctrlf-override}} diff --git a/templates/index.html b/templates/index.html index 317e1ba..282ba28 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,7 +1,11 @@ - {{>head}} + {{#head}} + {{>head}} + {{/head}} - {{>topnavigation}} + {{#navigation}} + {{>topnavigation}} + {{/navigation}}

R7RS index

R7RS index allows searching for R7RS-small and R7RS-large (work in progress) procedures, syntax and constants through types, tags, and names. Please see user guide for details @@ -10,7 +14,7 @@

R7RS index

@@ -23,8 +27,8 @@

R7RS index

-

REST api, STDIO repl api

-

R7RS provides multiple options for integrating its search component with other software. Please consult documentation for details.

+

API (rest, stdin)

+

R7RS provides multiple options for integrating its search component with other software. Please consult documentation for details.

Report an issue

Please report any issues or suggestions you may have at github.

diff --git a/templates/procedure.html b/templates/procedure.html index fba315d..3b9788a 100644 --- a/templates/procedure.html +++ b/templates/procedure.html @@ -7,27 +7,44 @@ {{> sexpr }} {{/ signature}} - {{# has_param_signatures }} + {{# has-param-signatures? }}
- {{# param_signatures }} +
Expanded typing of parameters / returns
+ {{# param-signatures }}
{{> sexpr }}
- {{/ param_signatures }} + {{/ param-signatures }}
- {{/ has_param_signatures }} - {{# has_subsyntax_signatures }} -
- {{# subsyntax_signatures }} - ⟨{{name}}⟩:  -
- {{# rules }} - {{> sexpr }} - {{/ rules }} + {{/ has-param-signatures? }} + + {{# has-subsyntax-signatures? }} +
+
Syntax fragments' format
+
+ {{# subsyntax-signatures }} + ⟨{{name}}⟩:  +
+ {{# rules }} + {{> sexpr }} + {{/ rules }} +
+ {{/ subsyntax-signatures }}
- {{/ subsyntax_signatures }}
- {{/ has_subsyntax_signatures}} + {{/ has-subsyntax-signatures? }} + + {{# has-syntax-param-signatures? }} +
+
Syntax fragments' expected runtime types
+ {{# syntax-param-signatures}} +
+ {{> sexpr }} +
+ {{/ syntax-param-signatures}} +
+ {{/ has-syntax-param-signatures? }} +
{{# tags }} {{ . }} diff --git a/templates/search.html b/templates/search.html index e1b46d7..81644c6 100644 --- a/templates/search.html +++ b/templates/search.html @@ -1,7 +1,12 @@ - {{>head}} + {{#head}} + {{>head}} + {{/head}} - {{>topnavigation}} + {{#navigation}} + {{>topnavigation}} + {{/navigation}} + {{#body}}
@@ -22,10 +27,10 @@ - {{ value }} + {{ label }} ({{ count }}) @@ -38,25 +43,26 @@
{{# procedures }} - {{> procedure }} + {{> procedure }} {{/ procedures }}
{{# pages }} - {{# pager-gap }} - ... - {{/ pager-gap }} - {{^ pager-gap }} - {{# link }} - {{ number }} - {{/ link }} - {{^ link }} - {{ number }} - {{/ link}} - {{/pager-gap}} + {{# gap? }} + ... + {{/ gap? }} + {{^ gap? }} + {{# link }} + {{ number }} + {{/ link }} + {{^ link }} + {{ number }} + {{/ link}} + {{/ gap? }} {{/ pages }}
+ {{/body}} diff --git a/templates/settings.html b/templates/settings.html index 8549b3e..262d7e3 100644 --- a/templates/settings.html +++ b/templates/settings.html @@ -1,27 +1,31 @@ - {{> head }} + {{#head}} + {{> head }} + {{/head}} - {{>topnavigation}} + {{#navigation}} + {{>topnavigation}} + {{/navigation}}

Settings

Here you can customize certain behavior aspects of the site. The choices are stored in cookies upon pressing "Save". - {{# options }} + {{# body }}

{{ legend }} {{description}} - {{# values }} + {{# options }} - {{/ values }} + {{/ options }}
- {{/ options }} + {{/ body }}
diff --git a/templates/topnavigation.html b/templates/topnavigation.html index 2294839..9c03530 100644 --- a/templates/topnavigation.html +++ b/templates/topnavigation.html @@ -1,10 +1,10 @@ diff --git a/types/scheme.base.scm b/types/scheme.base.scm index 237aec7..a3af86a 100644 --- a/types/scheme.base.scm +++ b/types/scheme.base.scm @@ -1,1309 +1,890 @@ -( - - (* - (lambda ((number? z) ...) number?) - (pure)) - - (+ - (lambda ((number? z) ...) number?) - (pure)) - - (- - (lambda ((number? z) ...) number?) - (pure)) - - - (/ - (lambda ((number? z1) (number? z2) ...) number?) - (pure)) - - (< - (lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) - (pure)) - - (<= - (lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) - (pure)) - - (= - (lambda ((number? z1) (number? z2) (number? z3) ...) boolean?) - (pure)) - - (=> - (lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) - (pure)) - - (> - (lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) - (pure)) - - (>= - (lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) - (pure)) - - (abs - (lambda ((real? x)) number?) - (pure)) - - (and - (syntax-rules () - ((_ test1 ...)))) - - (append - (lambda ((list? list) ...) list?) - (pure)) - - (append - (lambda ((list? list) ... obj) *) - (pure)) - - (apply - (lambda ((procedure? proc) arg1 ... (list? args)) *) - (pure)) - - (assoc - (lambda (obj (list? alist)) (or pair? #f)) - (pure)) - - (assoc - (lambda (obj (list? alist) (procedure? =)) (or pair? #f)) - (pure) - ((= (lambda (a b) *)))) - - (assq - (lambda (obj (list? alist)) (or pair? #f)) - (pure)) - - (assv - (lambda (obj (list? alist)) (or pair? #f)) - (pure)) - - (begin - (syntax-rules () - ((_ expression-or-definition ...)))) - - (binary-port? - (lambda (obj) boolean?) - (pure predicate) +(((name . *) (signature lambda ((number? z) ...) number?) (tags pure)) + ((name . +) (signature lambda ((number? z) ...) number?) (tags pure)) + ((name . -) (signature lambda ((number? z) ...) number?) (tags pure)) + ((name . /) + (signature lambda ((number? z1) (number? z2) ...) number?) + (tags pure)) + ((name . <) + (signature lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) + (tags pure)) + ((name . <=) + (signature lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) + (tags pure)) + ((name . =) + (signature lambda ((number? z1) (number? z2) (number? z3) ...) boolean?) + (tags pure)) + ((name . =>) + (signature lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) + (tags pure)) + ((name . >) + (signature lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) + (tags pure)) + ((name . >=) + (signature lambda ((real? x1) (real? x2) (real? x3) ...) boolean?) + (tags pure)) + ((name . abs) (signature lambda ((real? x)) number?) (tags pure)) + ((name . and) (signature syntax-rules () ((_ test1 ...)))) + ((name . append) (signature lambda ((list? list) ...) list?) (tags pure)) + ((name . append) (signature lambda ((list? list) ... obj) *) (tags pure)) + ((name . apply) + (signature lambda ((procedure? proc) arg1 ... (list? args)) *) + (tags pure)) + ((name . assoc) + (signature lambda (obj (list? alist)) (or pair? #f)) + (tags pure)) + ((name . assoc) + (signature lambda (obj (list? alist) (procedure? =)) (or pair? #f)) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . assq) + (signature lambda (obj (list? alist)) (or pair? #f)) + (tags pure)) + ((name . assv) + (signature lambda (obj (list? alist)) (or pair? #f)) + (tags pure)) + ((name . begin) + (signature syntax-rules () ((_ expression-or-definition ...)))) + ((name . binary-port?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes port?)) + ((name . boolean=?) + (signature + lambda + ((boolean? boolean1) (boolean? boolean2) (boolean? boolean3) ...) + boolean?) + (tags pure)) + ((name . boolean?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . bytevector) + (signature lambda ((integer? byte) ...) bytevector?) + (tags pure)) + ((name . bytevector-append) + (signature lambda ((bytevector? bytevector) ...) bytevector?) + (tags pure)) + ((name . bytevector-copy) + (signature lambda ((bytevector? bytevector)) bytevector?) + (tags pure)) + ((name . bytevector-copy) + (signature lambda ((bytevector? bytevector) (integer? start)) bytevector?) + (tags pure)) + ((name . bytevector-copy) + (signature + lambda + ((bytevector? bytevector) (integer? start) (integer? end)) + bytevector?) + (tags pure)) + ((name . bytevector-copy!) + (signature + lambda + ((bytevector? to) (integer? at) (bytevector? from)) + undefined)) + ((name . bytevector-copy!) + (signature + lambda + ((bytevector? to) (integer? at) (bytevector? from) (integer? start)) + undefined)) + ((name . bytevector-copy!) + (signature + lambda + ((bytevector? to) + (integer? at) + (bytevector? from) + (integer? start) + (integer? end)) + undefined)) + ((name . bytevector-length) + (signature lambda ((bytevector? bytevector)) integer?) + (tags pure)) + ((name . bytevector-u8-ref) + (signature lambda ((bytevector? bytevector) (integer? k)) integer?) + (tags pure)) + ((name . bytevector-u8-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? byte)) + undefined)) + ((name . bytevector?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . caar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . call-with-current-continuation) + (signature lambda ((procedure? proc)) *) + (subsigs (proc (lambda ((procedure? k)) *)))) + ((name . call-with-port) + (signature lambda ((port? port) (procedure? proc)) *) + (subsigs (proc (lambda ((port? port)) *)))) + ((name . call-with-values) + (signature lambda ((procedure? producer) (procedure? consumer)) *) + (tags pure) + (subsigs (producer (lambda () *)) (consumer (lambda (obj ...) *)))) + ((name . call/cc) + (signature lambda ((procedure? proc)) *) + (subsigs (proc (lambda ((procedure? k)) *)))) + ((name . car) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . case) + (signature syntax-rules (=> else) ((_ key clause1 clause2 ...))) + (subsigs + (clause + ((datum1 ...) expression1 expression2 ...) + ((datum1 ...) => expression) + (else expression1 expression2 ...)))) + ((name . cdar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . ceiling) (signature lambda ((real? x)) real?) (tags pure)) + ((name . char->integer) + (signature lambda ((char? char)) integer?) + (tags pure)) + ((name . char-ready?) (signature lambda () boolean?) (tags parameterized)) + ((name . char-ready?) (signature lambda ((input-port? port)) boolean?)) + ((name . char<=?) + (signature lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) + (tags pure)) + ((name . char=?) + (signature lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) + (tags pure)) + ((name . char>?) + (signature lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) + (tags pure)) + ((name . char?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . close-input-port) (signature lambda ((input-port? port)) undefined)) + ((name . close-output-port) + (signature lambda ((output-port? port)) undefined)) + ((name . close-port) (signature lambda ((port? port)) undefined)) + ((name . complex?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes number?)) + ((name . cond) + (signature syntax-rules (else =>) ((_ clause1 clause2 ...))) + (subsigs + (clause + (test expression1 ...) + (test => expression) + (else expression1 expression2 ...)))) + ((name . cond-expand) + (signature + syntax-rules + (library and or not else) + ((_ ce-clause1 ce-clause2 ...))) + (subsigs + (ce-clause (feature-requirement expression ...) (else expression)) + (feature-requirement + feature-identifier + (library library-name) + (and feature-requirement ...) + (or feature-requirement ...) + (not feature-requirement)))) + ((name . cons) (signature lambda (obj1 obj2) pair?) (tags pure)) + ((name . current-error-port) + (signature lambda () output-port?) + (tags parameter)) + ((name . current-input-port) + (signature lambda () input-port?) + (tags parameter)) + ((name . current-output-port) + (signature lambda () output-port?) + (tags parameter)) + ((name . define) + (signature + syntax-rules () - (port?)) - - (boolean=? - (lambda ((boolean? boolean1) (boolean? boolean2) (boolean? boolean3) ...) boolean?) - (pure)) - - (boolean? - (lambda (obj) boolean?) - (pure predicate)) - - (bytevector - (lambda ((integer? byte) ...) bytevector?) - (pure)) - - (bytevector-append - (lambda ((bytevector? bytevector) ...) bytevector?) - (pure)) - - (bytevector-copy - (lambda ((bytevector? bytevector)) bytevector?) - (pure)) - - (bytevector-copy - (lambda ((bytevector? bytevector) (integer? start)) bytevector?) - (pure)) - - (bytevector-copy - (lambda ((bytevector? bytevector) (integer? start) (integer? end)) bytevector?) - (pure)) - - (bytevector-copy! - (lambda ((bytevector? to) (integer? at) (bytevector? from)) undefined) - ()) - - (bytevector-copy! - (lambda ((bytevector? to) (integer? at) (bytevector? from) (integer? start)) undefined) - ()) - - (bytevector-copy! - (lambda ((bytevector? to) (integer? at) (bytevector? from) (integer? start) (integer? end)) undefined) - ()) - - (bytevector-length - (lambda ((bytevector? bytevector)) integer?) - (pure)) - - (bytevector-u8-ref - (lambda ((bytevector? bytevector) (integer? k)) integer?) - (pure)) - - (bytevector-u8-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? byte)) undefined)) - - (bytevector? - (lambda (obj) boolean?) - (pure predicate)) - - (caar - (lambda ((pair? pair)) *) - (pure)) - - ( - cadr - (lambda ((pair? pair)) *) - (pure)) - - (call-with-current-continuation - (lambda ((procedure? proc)) *) + ((_ variable expression)) + ((_ (variable parameter1 ...) body)) + ((_ (variable parameter1 ... . parameter) body)))) + ((name . define-record-type) + (signature syntax-rules () ((name constructor pred field ...))) + (subsigs + (constructor (constructor-name field-name ...)) + (field (field-name accessor-name) + (field-name accessor-name modifier-name)))) + ((name . define-syntax) + (signature syntax-rules () ((_ keyword transformer-spec)))) + ((name . define-values) + (signature syntax-rules () ((_ formals expression))) + (subsigs + (formals + (variable1 ...) + variable + (variable1 ... variable_n . variable_n+1)))) + ((name . denominator) (signature lambda ((rational? q)) integer?) (tags pure)) + ((name . do) + (signature + syntax-rules () - ((proc (lambda ((procedure? k)) *)))) - - (call-with-port - (lambda ((port? port) (procedure? proc)) *) - () - ((proc (lambda ((port? port)) *)))) - - (call-with-values - (lambda ((procedure? producer) (procedure? consumer)) *) - (pure) - ((producer (lambda () *)) - (consumer (lambda (obj ...) *)))) - - ( - call/cc - (lambda ((procedure? proc)) *) - () - ((proc (lambda ((procedure? k)) *)))) - - (car - (lambda ((pair? pair)) *) - (pure)) - - (case - (syntax-rules (=> else) - ((_ key clause1 clause2 ...))) + ((_ (variable-decl1 ...) (test expression ...) command ...))) + (subsigs (variable-decl (variable init step) (variable init)))) + ((name . dynamic-wind) + (signature + lambda + ((procedure? before) (procedure? thunk) (procedure? after)) + *) + (subsigs + (before (lambda () undefined)) + (thunk (lambda () *)) + (after (lambda () undefined)))) + ((name . eof-object) (signature lambda () eof-object?) (tags pure)) + ((name . eof-object?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . eq?) (signature lambda (obj1 obj2) boolean?) (tags pure)) + ((name . equal?) (signature lambda (obj1 obj2) boolean?) (tags pure)) + ((name . eqv?) (signature lambda (obj1 obj2) boolean?) (tags pure)) + ((name . error) (signature lambda ((string? message) obj ...) undefined)) + ((name . error-object-irritants) + (signature lambda ((error-object? error-object)) list?) + (tags pure)) + ((name . error-object-message) + (signature lambda ((error-object? error-object)) string?) + (tags pure)) + ((name . error-object?) + (signature lambda (obj) boolean?) + (tags pure predicate)) + ((name . even?) + (signature lambda ((integer? n)) boolean?) + (tags pure predicate)) + ((name . exact) (signature lambda ((number? z)) exact?) (tags pure)) + ((name . exact-integer-sqrt) + (signature lambda ((integer? k)) (values integer? integer?)) + (tags pure)) + ((name . exact-integer?) + (signature lambda ((number? z)) boolean?) + (tags pure) + (subsigs) + (supertypes exact? integer?)) + ((name . exact?) + (signature lambda ((number? z)) boolean?) + (tags pure) + (subsigs) + (supertypes number?)) + ((name . expt) + (signature lambda ((number? z1) (number? z2)) number?) + (tags pure)) + ((name . features) (signature lambda () list?) (tags pure)) + ((name . file-error?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . floor) (signature lambda ((real? x)) integer?) (tags pure)) + ((name . floor-quotient) + (signature lambda ((integer? n1) (integer? n2)) integer?) + (tags pure)) + ((name . floor-remainder) + (signature lambda ((integer? n1) (integer? n2)) integer?) + (tags pure)) + ((name . floor/) + (signature lambda ((integer? n1) (integer? n2)) (values integer? integer?)) + (tags pure)) + ((name . flush-output-port) + (signature lambda () undefined) + (tags parameterized)) + ((name . flush-output-port) + (signature lambda ((output-port? port)) undefined)) + ((name . for-each) + (signature + lambda + ((procedure? proc) (list? list1) (list? list2) ...) + undefined) + (subsigs (proc (lambda (obj1 obj2 ...) undefined)))) + ((name . gcd) (signature lambda ((integer? n) ...) integer?) (tags pure)) + ((name . get-output-bytevector) + (signature lambda ((output-port? port)) bytevector?)) + ((name . get-output-string) (signature lambda ((output-port? port)) string?)) + ((name . guard) + (signature + syntax-rules + (=> else) + ((_ (variable cond-clause1 cond-clause2 ...) body))) + (subsigs + (cond-clause + (test expression1 ...) + (test => expression) + (else expression1 expression2 ...)))) + ((name . if) + (signature + syntax-rules () - ((clause ((datum1 ...) expression1 expression2 ...) - ((datum1 ...) => expression) - (else expression1 expression2 ...)))) - - (cdar - (lambda ((pair? pair)) *) - (pure)) - - (cddr - (lambda ((pair? pair)) *) - (pure)) - - (cdr - (lambda ((pair? pair)) *) - (pure)) - - (ceiling - (lambda ((real? x)) real?) - (pure)) - - (char->integer - (lambda ((char? char)) integer?) - (pure)) - - (char-ready? - (lambda () boolean?) - (parameterized)) - - (char-ready? - (lambda ((input-port? port)) boolean?) - ()) - - (char<=? - (lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) - (pure)) - - (char=? - (lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) - (pure)) - - (char>? - (lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) - (pure)) - - (char? - (lambda (obj) boolean?) - (pure predicate)) - - (close-input-port - (lambda ((input-port? port)) undefined)) - - (close-output-port - (lambda ((output-port? port)) undefined)) - - (close-port - (lambda ((port? port)) undefined)) - - (complex? - (lambda (obj) boolean?) - (pure predicate) + ((_ test consequent)) + ((_ test consequent alternate)))) + ((name . include) (signature syntax-rules () ((_ string1 string2 ...)))) + ((name . include-ci) (signature syntax-rules () ((_ string1 string2 ...)))) + ((name . inexact) (signature lambda ((number? z)) inexact?) (tags pure)) + ((name . inexact?) + (signature lambda ((number? z)) boolean?) + (tags pure) + (subsigs) + (supertypes number?)) + ((name . input-port-open?) (signature lambda ((input-port? port)) boolean?)) + ((name . input-port?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes port?)) + ((name . integer->char) (signature lambda ((integer? n)) char?) (tags pure)) + ((name . integer?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes rational?)) + ((name . lambda) + (signature syntax-rules () ((_ formals body))) + (subsigs + (formals + (variable1 ...) + variable + (variable1 ... variable_n . variable_n+1)))) + ((name . lcm) (signature lambda ((integer? n) ...) integer?) (tags pure)) + ((name . length) (signature lambda ((list? list)) integer?) (tags pure)) + ((name . let) + (signature syntax-rules () ((_ bindings body))) + (subsigs (bindings ((variable1 init1) ...)))) + ((name . let*) + (signature syntax-rules () ((_ bindings body))) + (subsigs (bindings ((variable1 init1) ...)))) + ((name . let*-values) + (signature syntax-rules () ((_ mv-binding-spec body))) + (subsigs + (mv-binding-spec ((formals1 init1) ...)) + (formals + (variable1 ...) + variable + (variable1 ... variable_n . variable_n+1)))) + ((name . let-syntax) + (signature syntax-rules () ((_ bindings body))) + (subsigs (bindings ((keyword transformer-spec) ...)))) + ((name . let-values) + (signature syntax-rules () ((_ mv-binding-spec body))) + (subsigs + (mv-binding-spec ((formals1 init1) ...)) + (formals + (variable1 ...) + variable + (variable1 ... variable_n . variable_n+1)))) + ((name . letrec) + (signature syntax-rules () ((_ bindings body))) + (subsigs (bindings ((variable1 init1) ...)))) + ((name . letrec*) + (signature syntax-rules () ((_ bindings body))) + (subsigs (bindings ((variable1 init1) ...)))) + ((name . letrec-syntax) + (signature syntax-rules () ((_ bindings body))) + (subsigs (bindings ((keyword transformer-spec) ...)))) + ((name . list) (signature lambda (obj ...) list?) (tags pure)) + ((name . list->string) (signature lambda ((list? list)) string?) (tags pure)) + ((name . list->vector) (signature lambda ((list? list)) vector?) (tags pure)) + ((name . list-copy) (signature lambda (obj) *) (tags pure)) + ((name . list-ref) + (signature lambda ((list? list) (integer? k)) *) + (tags pure)) + ((name . list-set!) + (signature lambda ((list? list) (integer? k) obj) undefined)) + ((name . list-tail) + (signature lambda ((list? list) (integer? k)) list?) + (tags pure)) + ((name . list?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes pair? null?)) + ((name . make-bytevector) (signature lambda ((integer? k)) bytevector?)) + ((name . make-bytevector) + (signature lambda ((integer? k) (integer? byte)) bytevector?) + (tags pure)) + ((name . make-list) (signature lambda ((integer? k)) list?)) + ((name . make-list) (signature lambda ((integer? k) obj) list?) (tags pure)) + ((name . make-parameter) (signature lambda (obj) procedure?) (tags pure)) + ((name . make-parameter) + (signature lambda (obj (procedure? converter)) procedure?) + (tags pure) + (subsigs (converter (lambda (obj) *)))) + ((name . make-string) (signature lambda ((integer? k)) string?)) + ((name . make-string) + (signature lambda ((integer? k) (char? char)) string?) + (tags pure)) + ((name . make-vector) (signature lambda ((integer? k)) vector?)) + ((name . make-vector) + (signature lambda ((integer? k) fill) vector?) + (tags pure)) + ((name . map) + (signature lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . max) + (signature lambda ((real? x1) (real? x2) ...) real?) + (tags pure)) + ((name . member) + (signature lambda (obj (list? list)) (or #f list?)) + (tags pure)) + ((name . member) + (signature lambda (obj (list? list) (procedure? compare)) (or #f list?)) + (tags pure) + (subsigs (compare (lambda (obj1 obj2) *)))) + ((name . memq) + (signature lambda (obj (list? list)) (or #f list?)) + (tags pure)) + ((name . memv) + (signature lambda (obj (list? list)) (or #f list?)) + (tags pure)) + ((name . min) + (signature lambda ((real? x1) (real? x2) ...) real?) + (tags pure)) + ((name . modulo) + (signature lambda ((integer? n1) (integer? n2)) integer?) + (tags pure)) + ((name . negative?) (signature lambda ((real? x)) boolean?) (tags pure)) + ((name . newline) (signature lambda () undefined) (tags parameterized)) + ((name . newline) (signature lambda ((output-port? port)) undefined)) + ((name . not) (signature lambda (obj) boolean?) (tags pure)) + ((name . null?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . number->string) (signature lambda ((number? z)) string?) (tags pure)) + ((name . number->string) + (signature lambda ((number? z) (integer? radix)) string?) + (tags pure)) + ((name . number?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . numerator) (signature lambda ((rational? q)) integer?) (tags pure)) + ((name . odd?) + (signature lambda ((integer? n)) boolean?) + (tags pure predicate)) + ((name . open-input-bytevector) + (signature lambda ((bytevector? bytevector)) input-port?) + (tags pure)) + ((name . open-input-string) + (signature lambda ((string? string)) input-port?) + (tags pure)) + ((name . open-output-bytevector) + (signature lambda () output-port?) + (tags pure)) + ((name . open-output-string) (signature lambda () output-port?) (tags pure)) + ((name . or) (signature syntax-rules () ((_ test1 ...)))) + ((name . output-port-open?) (signature lambda ((output-port? port)) boolean?)) + ((name . output-port?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes port?)) + ((name . pair?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . parameterize) + (signature syntax-rules () ((_ ((param1 value1) ...) body)))) + ((name . peek-char) + (signature lambda () (or eof-object? char?)) + (tags parameterized)) + ((name . peek-char) + (signature lambda ((input-port? port)) (or eof-object? char?))) + ((name . peek-u8) + (signature lambda () (or eof-object? integer?)) + (tags parameterized)) + ((name . peek-u8) + (signature lambda ((input-port? port)) (or eof-object? integer?))) + ((name . port?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . positive?) (signature lambda ((real? x)) boolean?) (tags pure)) + ((name . procedure?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . quasiquote) (signature syntax-rules () ((_ qq-template)))) + ((name . quote) (signature syntax-rules () ((_ datum)))) + ((name . quotient) + (signature lambda ((integer? n1) (integer? n2)) integer?) + (tags pure)) + ((name . raise) (signature lambda (obj) undefined)) + ((name . raise-continuable) (signature lambda (obj) undefined)) + ((name . rational?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes real?)) + ((name . rationalize) + (signature lambda ((real? x) (real? y)) rational?) + (tags pure)) + ((name . read-bytevector) + (signature lambda ((integer? k)) bytevector?) + (tags parameterized)) + ((name . read-bytevector) + (signature lambda ((integer? k) (input-port? port)) bytevector?)) + ((name . read-bytevector!) + (signature lambda ((bytevector? bytevector)) (or eof-object? integer?)) + (tags parameterized)) + ((name . read-bytevector!) + (signature + lambda + ((bytevector? bytevector) (input-port? port)) + (or eof-object? integer?))) + ((name . read-bytevector!) + (signature + lambda + ((bytevector? bytevector) (input-port? port) (integer? start)) + (or eof-object? integer?))) + ((name . read-bytevector!) + (signature + lambda + ((bytevector? bytevector) + (input-port? port) + (integer? start) + (integer? end)) + (or eof-object? integer?))) + ((name . read-char) + (signature lambda () (or eof-object? char?)) + (tags parameterized)) + ((name . read-char) + (signature lambda ((input-port? port)) (or eof-object? char?))) + ((name . read-error?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . read-line) + (signature lambda () (or eof-object? string?)) + (tags parameterized)) + ((name . read-line) + (signature lambda ((input-port? port)) (or eof-object? string?))) + ((name . read-string) + (signature lambda ((integer? k)) (or eof-object? string?)) + (tags parameterized)) + ((name . read-string) + (signature + lambda + ((integer? k) (input-port? port)) + (or eof-object? string?))) + ((name . read-u8) + (signature lambda () (or eof-object? integer?)) + (tags parameterized)) + ((name . read-u8) + (signature lambda ((input-port? port)) (or eof-object? integer?))) + ((name . real?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes complex?)) + ((name . remainder) + (signature lambda ((integer? n1) (integer? n2)) integer?) + (tags pure)) + ((name . reverse) (signature lambda ((list? list)) list?) (tags pure)) + ((name . round) (signature lambda ((real? x)) integer?) (tags pure)) + ((name . set!) (signature syntax-rules () ((_ variable expression)))) + ((name . set-car!) (signature lambda ((pair? pair) obj) undefined)) + ((name . set-cdr!) (signature lambda ((pair? pair) obj) undefined)) + ((name . square) (signature lambda ((number? z)) number?) (tags pure)) + ((name . string) (signature lambda ((char? char) ...) string?) (tags pure)) + ((name . string->list) + (signature lambda ((string? string)) list?) + (tags pure)) + ((name . string->list) + (signature lambda ((string? string) (integer? start)) list?) + (tags pure)) + ((name . string->list) + (signature lambda ((string? string) (integer? start) (integer? end)) list?) + (tags pure)) + ((name . string->number) + (signature lambda ((string? string)) number?) + (tags pure)) + ((name . string->number) + (signature lambda ((string? string) (integer? radix)) number?) + (tags pure)) + ((name . string->symbol) + (signature lambda ((string? string)) symbol?) + (tags pure)) + ((name . string->utf8) + (signature lambda ((string? string)) bytevector?) + (tags pure)) + ((name . string->utf8) + (signature lambda ((string? string) (integer? start)) bytevector?) + (tags pure)) + ((name . string->utf8) + (signature + lambda + ((string? string) (integer? start) (integer? end)) + bytevector?) + (tags pure)) + ((name . string->vector) + (signature lambda ((string? string)) vector?) + (tags pure)) + ((name . string->vector) + (signature lambda ((string? string) (integer? start)) vector?) + (tags pure)) + ((name . string->vector) + (signature lambda ((string? string) (integer? start) (integer? end)) vector?) + (tags pure)) + ((name . string-append) + (signature lambda ((string? string) ...) string?) + (tags pure)) + ((name . string-copy) + (signature lambda ((string? string)) string?) + (tags pure)) + ((name . string-copy) + (signature lambda ((string? string) (integer? start)) string?) + (tags pure)) + ((name . string-copy) + (signature lambda ((string? string) (integer? start) (integer? end)) string?) + (tags pure)) + ((name . string-copy!) + (signature lambda ((string? to) (integer? at) (string? from)) undefined)) + ((name . string-copy!) + (signature + lambda + ((string? to) (integer? at) (string? from) (integer? start)) + undefined)) + ((name . string-copy!) + (signature + lambda + ((string? to) (integer? at) (string? from) (integer? start) (integer? end)) + undefined)) + ((name . string-fill!) + (signature lambda ((string? string) (char? fill)) undefined)) + ((name . string-fill!) + (signature + lambda + ((string? string) (char? fill) (integer? start)) + undefined)) + ((name . string-fill!) + (signature + lambda + ((string? string) (char? fill) (integer? start) (integer? end)) + undefined)) + ((name . string-for-each) + (signature + lambda + ((procedure? proc) (string? string1) (string? string2) ...) + undefined) + (subsigs (proc (lambda ((string? string) ...) undefined)))) + ((name . string-length) + (signature lambda ((string? string)) integer?) + (tags pure)) + ((name . string-map) + (signature + lambda + ((procedure? proc) (string? string1) (string? string2) ...) + string?) + (tags pure) + (subsigs (proc (lambda ((string? string) ...) char?)))) + ((name . string-ref) + (signature lambda ((string? string) (integer? k)) char?) + (tags pure)) + ((name . string-set!) + (signature lambda ((string? string) (integer? k) (char? char)) undefined)) + ((name . string<=?) + (signature + lambda + ((string? string1) (string? string2) (string? string3) ...) + boolean?) + (tags pure)) + ((name . string=?) + (signature + lambda + ((string? string1) (string? string2) (string? string3) ...) + boolean?) + (tags pure)) + ((name . string>?) + (signature + lambda + ((string? string1) (string? string2) (string? string3) ...) + boolean?) + (tags pure)) + ((name . string?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes textual?)) + ((name . substring) + (signature lambda ((string? string) (integer? start) (integer? end)) string?) + (tags pure)) + ((name . symbol->string) + (signature lambda ((symbol? symbol)) string?) + (tags pure)) + ((name . symbol=?) + (signature + lambda + ((symbol? symbol1) (symbol? symbol2) (symbol? symbol3) ...) + boolean?) + (tags pure)) + ((name . symbol?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . syntax-error) (signature syntax-rules () ((_ message args ...)))) + ((name . syntax-rules) + (signature + syntax-rules () - (number?)) - - (cond - (syntax-rules (else =>) - ((_ clause1 clause2 ...))) - () - ((clause (test expression1 ...) - (test => expression) - (else expression1 expression2 ...)))) - - (cond-expand - (syntax-rules (library and or not else) - ((_ ce-clause1 ce-clause2 ...))) - () - ((ce-clause (feature-requirement expression ...) - (else expression)) - (feature-requirement feature-identifier - (library library-name) - (and feature-requirement ...) - (or feature-requirement ...) - (not feature-requirement)))) - - (cons - (lambda (obj1 obj2) pair?) - (pure)) - - (current-error-port - (lambda () output-port?) - (parameter)) - - (current-input-port - (lambda () input-port?) - (parameter)) - - (current-output-port - (lambda () output-port?) - (parameter)) - - (define - (syntax-rules () - ((_ variable expression)) - ((_ (variable parameter1 ...) body)) - ((_ (variable parameter1 ... . parameter) body)))) - - (define-record-type - (syntax-rules () - ((name constructor pred field ...))) - () - ((constructor (constructor-name field-name ...)) - (field (field-name accessor-name) - (field-name accessor-name modifier-name)))) - - (define-syntax - (syntax-rules () - ((_ keyword transformer-spec)))) - - (define-values - (syntax-rules () - ((_ formals expression))) - () - ((formals (variable1 ...) - variable - (variable1 ... variable_n . variable_n+1)))) - - (denominator - (lambda ((rational? q)) integer?) - (pure)) - - (do - (syntax-rules () - ((_ (variable-decl1 ...) - (test expression ...) - command ...))) - () - ((variable-decl (variable init step) - (variable init)))) - - (dynamic-wind - (lambda ((procedure? before) (procedure? thunk) (procedure? after)) *) - () - ((before (lambda () undefined)) - (thunk (lambda () *)) - (after (lambda () undefined)))) - - - (eof-object - (lambda () eof-object?) - (pure)) - - (eof-object? - (lambda (obj) boolean?) - (pure predicate)) - - (eq? - (lambda (obj1 obj2) boolean?) - (pure)) - - (equal? - (lambda (obj1 obj2) boolean?) - (pure)) - - (eqv? - (lambda (obj1 obj2) boolean?) - (pure)) - - (error - (lambda ((string? message) obj ...) undefined) - ()) - - (error-object-irritants - (lambda ((error-object? error-object)) list?) - (pure)) - - (error-object-message - (lambda ((error-object? error-object)) string?) - (pure)) - - (error-object? - (lambda (obj) boolean?) - (pure predicate)) - - (even? - (lambda ((integer? n)) boolean?) - (pure predicate)) - - (exact - (lambda ((number? z)) exact?) - (pure)) - - (exact-integer-sqrt - (lambda ((integer? k)) (values integer? integer?)) - (pure)) - - (exact-integer? - (lambda ((number? z)) boolean?) - (pure) - () - (exact? integer?) - ) - - (exact? - (lambda ((number? z)) boolean?) - (pure) - () - (number?)) - - (expt - (lambda ((number? z1) (number? z2)) number?) - (pure)) - - (features - (lambda () list?) - (pure)) - - (file-error? - (lambda (obj) boolean?) - (pure predicate)) - - (floor - (lambda ((real? x)) integer?) - (pure)) - - (floor-quotient - (lambda ((integer? n1) (integer? n2)) integer?) - (pure)) - - (floor-remainder - (lambda ((integer? n1) (integer? n2)) integer?) - (pure)) - - (floor/ - (lambda ((integer? n1) (integer? n2)) (values integer? integer?)) - (pure)) - - (flush-output-port - (lambda () undefined) - (parameterized)) - - (flush-output-port - (lambda ((output-port? port)) undefined) - ()) - - (for-each - (lambda ((procedure? proc) (list? list1) (list? list2) ...) undefined) - () - ((proc (lambda (obj1 obj2 ...) undefined)))) - - (gcd - (lambda ((integer? n) ...) integer?) - (pure)) - - (get-output-bytevector - (lambda ((output-port? port)) bytevector?) - ()) - - (get-output-string - (lambda ((output-port? port)) string?) - ()) - - (guard - (syntax-rules (=> else) - ((_ (variable cond-clause1 cond-clause2 ...) body))) - () - ((cond-clause (test expression1 ...) - (test => expression) - (else expression1 expression2 ...)))) - - (if - (syntax-rules () - ((_ test consequent)) - ((_ test consequent alternate)))) - - (include - (syntax-rules () - ((_ string1 string2 ...)))) - - (include-ci - (syntax-rules () - ((_ string1 string2 ...)))) - - (inexact - (lambda ((number? z)) inexact?) - (pure)) - - (inexact? - (lambda ((number? z)) boolean?) - (pure) - () - (number?)) - - (input-port-open? - (lambda ((input-port? port)) boolean?)) - - (input-port? - (lambda (obj) boolean?) - (pure predicate) - () - (port?)) - - (integer->char - (lambda ((integer? n)) char?) - (pure)) - - (integer? - (lambda (obj) boolean?) - (pure predicate) - () - (rational?)) - - (lambda - (syntax-rules () - ((_ formals body))) - () - ((formals (variable1 ...) - variable - (variable1 ... variable_n . variable_n+1)))) - - (lcm - (lambda ((integer? n) ...) integer?) - (pure)) - - (length - (lambda ((list? list)) integer?) - (pure)) - - (let - (syntax-rules () - ((_ bindings body))) - () - ((bindings ((variable1 init1) ...)))) - - (let* - (syntax-rules () - ((_ bindings body))) - () - ((bindings ((variable1 init1) ...)))) - - (let*-values - (syntax-rules () - ((_ mv-binding-spec body))) - () - ((mv-binding-spec ((formals1 init1) ...)) - (formals (variable1 ...) - variable - (variable1 ... variable_n . variable_n+1)))) - - (let-syntax - (syntax-rules () - ((_ bindings body))) - () - ((bindings ((keyword transformer-spec) ...)))) - - (let-values - (syntax-rules () - ((_ mv-binding-spec body))) - () - ((mv-binding-spec ((formals1 init1) ...)) - (formals (variable1 ...) - variable - (variable1 ... variable_n . variable_n+1)))) - - (letrec - (syntax-rules () - ((_ bindings body))) - () - ((bindings ((variable1 init1) ...)))) - - (letrec* - (syntax-rules () - ((_ bindings body))) - () - ((bindings ((variable1 init1) ...)))) - - (letrec-syntax - (syntax-rules () - ((_ bindings body))) - () - ((bindings ((keyword transformer-spec) ...)))) - - (list - (lambda (obj ...) list?) - (pure)) - - (list->string - (lambda ((list? list)) string?) - (pure)) - - (list->vector - (lambda ((list? list)) vector?) - (pure)) - - (list-copy - (lambda (obj) *) - (pure)) - - (list-ref - (lambda ((list? list) (integer? k)) *) - (pure)) - - (list-set! - (lambda ((list? list) (integer? k) obj) undefined) - ()) - - (list-tail - (lambda ((list? list) (integer? k)) list?) - (pure)) - - (list? - (lambda (obj) boolean?) - (pure predicate) - () - (pair? null?)) - - (make-bytevector - (lambda ((integer? k)) bytevector?) - ()) - - (make-bytevector - (lambda ((integer? k) (integer? byte)) bytevector?) - (pure)) - - (make-list - (lambda ((integer? k)) list?) - ()) - - (make-list - (lambda ((integer? k) obj) list?) - (pure)) - - (make-parameter - (lambda (obj) procedure?) - (pure)) - - (make-parameter - (lambda (obj (procedure? converter)) procedure?) - (pure) - ((converter (lambda (obj) *)))) - - (make-string - (lambda ((integer? k)) string?) - ()) - - (make-string - (lambda ((integer? k) (char? char)) string?) - (pure)) - - (make-vector - (lambda ((integer? k)) vector?) - ()) - - (make-vector - (lambda ((integer? k) fill) vector?) - (pure)) - - (map - (lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) - (pure) - ((proc (lambda (obj1 obj2 ...) *)))) - - (max - (lambda ((real? x1) (real? x2) ...) real?) - (pure)) - - (member - (lambda (obj (list? list)) (or #f list?)) - (pure)) - - (member - (lambda (obj (list? list) (procedure? compare)) (or #f list?)) - (pure) - ((compare (lambda (obj1 obj2) *)))) - - (memq - (lambda (obj (list? list)) (or #f list?)) - (pure)) - - (memv - (lambda (obj (list? list)) (or #f list?)) - (pure)) - - (min - (lambda ((real? x1) (real? x2) ...) real?) - (pure)) - - (modulo - (lambda ((integer? n1) (integer? n2)) integer?) - (pure)) - - (negative? - (lambda ((real? x)) boolean?) - (pure)) - - (newline - (lambda () undefined) - (parameterized)) - - (newline - (lambda ((output-port? port)) undefined) - ()) - - (not - (lambda (obj) boolean?) - (pure)) - - (null? - (lambda (obj) boolean?) - (pure predicate)) - - (number->string - (lambda ((number? z)) string?) - (pure)) - - (number->string - (lambda ((number? z) (integer? radix)) string?) - (pure)) - - (number? - (lambda (obj) boolean?) - (pure predicate)) - - (numerator - (lambda ((rational? q)) integer?) - (pure)) - - (odd? - (lambda ((integer? n)) boolean?) - (pure predicate)) - - (open-input-bytevector - (lambda ((bytevector? bytevector)) input-port?) - (pure)) - - (open-input-string - (lambda ((string? string)) input-port?) - (pure)) - - (open-output-bytevector - (lambda () output-port?) - (pure)) - - (open-output-string - (lambda () output-port?) - (pure)) - - (or - (syntax-rules () - ((_ test1 ...)))) - - (output-port-open? - (lambda ((output-port? port)) boolean?) - ()) - - (output-port? - (lambda (obj) boolean?) - (pure predicate) - () - (port?)) - - (pair? - (lambda (obj) boolean?) - (pure predicate)) - - (parameterize - (syntax-rules () - ((_ ((param1 value1) ...) body)))) - - (peek-char - (lambda () (or eof-object? char?)) - (parameterized)) - - (peek-char - (lambda ((input-port? port)) (or eof-object? char?)) - ()) - - (peek-u8 - (lambda () (or eof-object? integer?)) - (parameterized)) - - (peek-u8 - (lambda ((input-port? port)) (or eof-object? integer?)) - ()) - - (port? - (lambda (obj) boolean?) - (pure predicate)) - - (positive? - (lambda ((real? x)) boolean?) - (pure)) - - (procedure? - (lambda (obj) boolean?) - (pure predicate)) - - (quasiquote - (syntax-rules () - ((_ qq-template)))) - - (quote - (syntax-rules () - ((_ datum)))) - - (quotient - (lambda ((integer? n1) (integer? n2)) integer?) - (pure)) - - (raise - (lambda (obj) undefined) - ()) - - (raise-continuable - (lambda (obj) undefined) - ()) - - (rational? - (lambda (obj) boolean?) - (pure predicate) - () - (real?)) - - (rationalize - (lambda ((real? x) (real? y)) rational?) - (pure)) - - (read-bytevector - (lambda ((integer? k)) bytevector?) - (parameterized)) - - (read-bytevector - (lambda ((integer? k) (input-port? port)) bytevector?) - ()) - - (read-bytevector! - (lambda ((bytevector? bytevector)) (or eof-object? integer?)) - (parameterized)) - - (read-bytevector! - (lambda ((bytevector? bytevector) (input-port? port)) (or eof-object? integer?)) - ()) - - (read-bytevector! - (lambda ((bytevector? bytevector) (input-port? port) (integer? start)) (or eof-object? integer?)) - ()) - - (read-bytevector! - (lambda ((bytevector? bytevector) (input-port? port) (integer? start) (integer? end)) (or eof-object? integer?)) - ()) - - (read-char - (lambda () (or eof-object? char?)) - (parameterized)) - - (read-char - (lambda ((input-port? port)) (or eof-object? char?)) - ()) - - (read-error? - (lambda (obj) boolean?) - (pure predicate)) - - (read-line - (lambda () (or eof-object? string?)) - (parameterized)) - - (read-line - (lambda ((input-port? port)) (or eof-object? string?)) - ()) - - (read-string - (lambda ((integer? k)) (or eof-object? string?)) - (parameterized)) - - (read-string - (lambda ((integer? k) (input-port? port)) (or eof-object? string?)) - ()) - - - (read-u8 - (lambda () (or eof-object? integer?)) - (parameterized)) - - (read-u8 - (lambda ((input-port? port)) (or eof-object? integer?)) - ()) - - (real? - (lambda (obj) boolean?) - (pure predicate) - () - (complex?)) - - (remainder - (lambda ((integer? n1) (integer? n2)) integer?) - (pure)) - - (reverse - (lambda ((list? list)) list?) - (pure)) - - (round - (lambda ((real? x)) integer?) - (pure)) - - (set! - (syntax-rules () - ((_ variable expression)))) - - (set-car! - (lambda ((pair? pair) obj) undefined)) - - (set-cdr! - (lambda ((pair? pair) obj) undefined)) - - (square - (lambda ((number? z)) number?) - (pure)) - - (string - (lambda ((char? char) ...) string?) - (pure)) - - (string->list - (lambda ((string? string)) list?) - (pure)) - - (string->list - (lambda ((string? string) (integer? start)) list?) - (pure)) - - (string->list - (lambda ((string? string) (integer? start) (integer? end)) list?) - (pure)) - - (string->number - (lambda ((string? string)) number?) - (pure)) - - (string->number - (lambda ((string? string) (integer? radix)) number?) - (pure)) - - (string->symbol - (lambda ((string? string)) symbol?) - (pure)) - - (string->utf8 - (lambda ((string? string)) bytevector?) - (pure)) - - (string->utf8 - (lambda ((string? string) (integer? start)) bytevector?) - (pure)) - - (string->utf8 - (lambda ((string? string) (integer? start) (integer? end)) bytevector?) - (pure)) - - (string->vector - (lambda ((string? string)) vector?) - (pure)) - - (string->vector - (lambda ((string? string) (integer? start)) vector?) - (pure)) - - (string->vector - (lambda ((string? string) (integer? start) (integer? end)) vector?) - (pure)) - - (string-append - (lambda ((string? string) ...) string?) - (pure)) - - (string-copy - (lambda ((string? string)) string?) - (pure)) - - (string-copy - (lambda ((string? string) (integer? start)) string?) - (pure)) - - (string-copy - (lambda ((string? string) (integer? start) (integer? end)) string?) - (pure)) - - (string-copy! - (lambda ((string? to) (integer? at) (string? from)) undefined) - ()) - - (string-copy! - (lambda ((string? to) (integer? at) (string? from) (integer? start)) undefined) - ()) - - (string-copy! - (lambda ((string? to) (integer? at) (string? from) (integer? start) (integer? end)) undefined) - ()) - - (string-fill! - (lambda ((string? string) (char? fill)) undefined) - ()) - - (string-fill! - (lambda ((string? string) (char? fill) (integer? start)) undefined) - ()) - - (string-fill! - (lambda ((string? string) (char? fill) (integer? start) (integer? end)) undefined) - ()) - - (string-for-each - (lambda ((procedure? proc) (string? string1) (string? string2) ...) undefined) - () - ((proc (lambda ((string? string) ...) undefined)))) - - (string-length - (lambda ((string? string)) integer?) - (pure)) - - (string-map - (lambda ((procedure? proc) (string? string1) (string? string2) ...) string?) - (pure) - ((proc (lambda ((string? string) ...) char?)))) - - (string-ref - (lambda ((string? string) (integer? k)) char?) - (pure)) - - (string-set! - (lambda ((string? string) (integer? k) (char? char)) undefined) - ()) - - (string<=? - (lambda ((string? string1) (string? string2) (string? string3) ...) boolean?) - (pure)) - - (string=? - (lambda ((string? string1) (string? string2) (string? string3) ...) boolean?) - (pure)) - - (string>? - (lambda ((string? string1) (string? string2) (string? string3) ...) boolean?) - (pure)) - - (string? - (lambda (obj) boolean?) - (pure predicate) - () - (textual?)) - - (substring - (lambda ((string? string) (integer? start) (integer? end)) string?) - (pure)) - - (symbol->string - (lambda ((symbol? symbol)) string?) - (pure)) - - (symbol=? - (lambda ((symbol? symbol1) (symbol? symbol2) (symbol? symbol3) ...) boolean?) - (pure)) - - (symbol? - (lambda (obj) boolean?) - (pure predicate)) - - (syntax-error - (syntax-rules () - ((_ message args ...)))) - - (syntax-rules - (syntax-rules () - ((_ (literal ...) syntax-rule ...)) - ((_ ellipsis (literal ...) syntax-rule ...))) - () - ((syntax-rule (pattern template)) - (pattern identifier - constant - (pattern ...) - (pattern pattern ... . pattern) - (pattern ... pattern ellipsis pattern ...) - (pattern ... pattern ellipsis pattern ... . pattern) - (_append |#| (pattern ...)) - (_append |#| (pattern ... pattern ellipsis pattern ...))) - (template identifier - constant - (element ...) - (element element ... . template) - (ellipsis template) - (_append |#| (element ...))) - (element template - (_append template ellipsis)))) - - (textual-port? - (lambda (obj) boolean?) - (pure predicate) - () - (port?)) - - (truncate - (lambda ((real? x)) integer?) - (pure)) - - (truncate-quotient - (lambda ((integer? n1) (integer? n2)) integer?) - (pure)) - - (truncate-remainder - (lambda ((integer? n1) (integer? n2)) integer?) - (pure)) - - (truncate/ - (lambda ((integer? n1) (integer? n2)) (values integer? integer?)) - (pure)) - - - (u8-ready? - (lambda () boolean?) - (parameterized)) - - (unless - (syntax-rules () - ((_ test expression1 expression2 ...)))) - - (unquote - (syntax-rules () - ((_ expression)))) - - (unquote-splicing - (syntax-rules () - ((_ expression)))) - - (u8-ready? - (lambda ((input-port? port)) boolean?) - ()) - - (utf8->string - (lambda ((bytevector? bytevector)) string?) - (pure)) - - (utf8->string - (lambda ((bytevector? bytevector) (integer? start)) string?) - (pure)) - - (utf8->string - (lambda ((bytevector? bytevector) (integer? start) (integer? end)) string?) - (pure)) - - (values - (lambda (obj ...) (values * ...)) - (pure)) - - (vector - (lambda (obj ...) vector?) - (pure)) - - (vector->list - (lambda ((vector? vector)) list?) - (pure)) - - (vector->list - (lambda ((vector? vector) (integer? start)) list?) - (pure)) - - (vector->list - (lambda ((vector? vector) (integer? start) (integer? end)) list?) - (pure)) - - (vector->string - (lambda ((vector? vector)) string?) - (pure)) - - (vector->string - (lambda ((vector? vector) (integer? start)) string?) - (pure)) - - (vector->string - (lambda ((vector? vector) (integer? start) (integer? end)) string?) - (pure)) - - (vector-append - (lambda ((vector? vector) ...) vector?) - (pure)) - - (vector-copy - (lambda ((vector? vector)) vector?) - (pure)) - - (vector-copy - (lambda ((vector? vector) (integer? start)) vector?) - (pure)) - - (vector-copy - (lambda ((vector? vector) (integer? start) (integer? end)) vector?) - (pure)) - - (vector-copy! - (lambda ((vector? to) (integer? at) (vector? from)) undefined) - ()) - - (vector-copy! - (lambda ((vector? to) (integer? at) (vector? from) (integer? start)) undefined) - ()) - - (vector-copy! - (lambda ((vector? to) (integer? at) (vector? from) (integer? start) (integer? end)) undefined) - ()) - - (vector-fill! - (lambda ((vector? vector) fill) undefined) - ()) - - (vector-fill! - (lambda ((vector? vector) fill (integer? start)) undefined) - ()) - - (vector-fill! - (lambda ((vector? vector) fill (integer? start) (integer? end)) undefined) - ()) - - (vector-for-each - (lambda ((procedure? proc) (vector? vector1) (vector? vector2) ...) undefined) - () - ((proc (lambda (obj ...) undefined)))) - - (vector-length - (lambda ((vector? vector)) integer?) - (pure)) - - (vector-map - (lambda ((procedure? proc) (vector? vector1) (vector? vector2) ...) vector?) - (pure) - ((proc (lambda (obj ...) *)))) - - (vector-ref - (lambda ((vector? vector) (integer? k)) *) - (pure)) - - (vector-set! - (lambda ((vector? vector) (integer? k) obj) undefined) - ()) - - (vector? - (lambda (obj) boolean?) - (pure predicate)) - - (when - (syntax-rules () - ((_ test expression1 expression2 ...)))) - - (with-exception-handler - (lambda ((procedure? handler) (procedure? thunk)) *) - () - ((handler (lambda (obj) *)) - (thunk (lambda () *)))) - - (write-bytevector - (lambda ((bytevector? bytevector)) undefined) - (parameterized)) - - (write-bytevector - (lambda ((bytevector? bytevector) (output-port? port)) undefined) - ()) - - (write-bytevector - (lambda ((bytevector? bytevector) (output-port? port) (integer? start)) undefined) - ()) - - (write-bytevector - (lambda ((bytevector? bytevector) (output-port? port) (integer? start) (integer? end)) undefined) - ()) - - (write-char - (lambda ((char? char)) undefined) - (parameterized)) - - (write-char - (lambda ((char? char) (output-port? port)) undefined) - ()) - - (write-string - (lambda ((string? string)) undefined) - (parameterized)) - - (write-string - (lambda ((string? string) (output-port? port)) undefined) - ()) - - (write-string - (lambda ((string? string) (output-port? port) (integer? start)) undefined) - ()) - - (write-string - (lambda ((string? string) (output-port? port) (integer? start) (integer? end)) undefined) - ()) - - (write-u8 - (lambda ((integer? byte)) undefined) - (parameterized)) - - (write-u8 - (lambda ((integer? byte) (output-port? port)) undefined) - ()) - - (zero? - (lambda ((number? z)) boolean?) - (pure predicate)) - - ) + ((_ (literal ...) syntax-rule ...)) + ((_ ellipsis (literal ...) syntax-rule ...))) + (subsigs + (syntax-rule (pattern template)) + (pattern + identifier + constant + (pattern ...) + (pattern pattern ... . pattern) + (pattern ... pattern ellipsis pattern ...) + (pattern ... pattern ellipsis pattern ... . pattern) + (_append |#| (pattern ...)) + (_append |#| (pattern ... pattern ellipsis pattern ...))) + (template + identifier + constant + (element ...) + (element element ... . template) + (ellipsis template) + (_append |#| (element ...))) + (element template (_append template ellipsis)))) + ((name . textual-port?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes port?)) + ((name . truncate) (signature lambda ((real? x)) integer?) (tags pure)) + ((name . truncate-quotient) + (signature lambda ((integer? n1) (integer? n2)) integer?) + (tags pure)) + ((name . truncate-remainder) + (signature lambda ((integer? n1) (integer? n2)) integer?) + (tags pure)) + ((name . truncate/) + (signature lambda ((integer? n1) (integer? n2)) (values integer? integer?)) + (tags pure)) + ((name . u8-ready?) (signature lambda () boolean?) (tags parameterized)) + ((name . unless) + (signature syntax-rules () ((_ test expression1 expression2 ...)))) + ((name . unquote) (signature syntax-rules () ((_ expression)))) + ((name . unquote-splicing) (signature syntax-rules () ((_ expression)))) + ((name . u8-ready?) (signature lambda ((input-port? port)) boolean?)) + ((name . utf8->string) + (signature lambda ((bytevector? bytevector)) string?) + (tags pure)) + ((name . utf8->string) + (signature lambda ((bytevector? bytevector) (integer? start)) string?) + (tags pure)) + ((name . utf8->string) + (signature + lambda + ((bytevector? bytevector) (integer? start) (integer? end)) + string?) + (tags pure)) + ((name . values) (signature lambda (obj ...) (values * ...)) (tags pure)) + ((name . vector) (signature lambda (obj ...) vector?) (tags pure)) + ((name . vector->list) + (signature lambda ((vector? vector)) list?) + (tags pure)) + ((name . vector->list) + (signature lambda ((vector? vector) (integer? start)) list?) + (tags pure)) + ((name . vector->list) + (signature lambda ((vector? vector) (integer? start) (integer? end)) list?) + (tags pure)) + ((name . vector->string) + (signature lambda ((vector? vector)) string?) + (tags pure)) + ((name . vector->string) + (signature lambda ((vector? vector) (integer? start)) string?) + (tags pure)) + ((name . vector->string) + (signature lambda ((vector? vector) (integer? start) (integer? end)) string?) + (tags pure)) + ((name . vector-append) + (signature lambda ((vector? vector) ...) vector?) + (tags pure)) + ((name . vector-copy) + (signature lambda ((vector? vector)) vector?) + (tags pure)) + ((name . vector-copy) + (signature lambda ((vector? vector) (integer? start)) vector?) + (tags pure)) + ((name . vector-copy) + (signature lambda ((vector? vector) (integer? start) (integer? end)) vector?) + (tags pure)) + ((name . vector-copy!) + (signature lambda ((vector? to) (integer? at) (vector? from)) undefined)) + ((name . vector-copy!) + (signature + lambda + ((vector? to) (integer? at) (vector? from) (integer? start)) + undefined)) + ((name . vector-copy!) + (signature + lambda + ((vector? to) (integer? at) (vector? from) (integer? start) (integer? end)) + undefined)) + ((name . vector-fill!) (signature lambda ((vector? vector) fill) undefined)) + ((name . vector-fill!) + (signature lambda ((vector? vector) fill (integer? start)) undefined)) + ((name . vector-fill!) + (signature + lambda + ((vector? vector) fill (integer? start) (integer? end)) + undefined)) + ((name . vector-for-each) + (signature + lambda + ((procedure? proc) (vector? vector1) (vector? vector2) ...) + undefined) + (subsigs (proc (lambda (obj ...) undefined)))) + ((name . vector-length) + (signature lambda ((vector? vector)) integer?) + (tags pure)) + ((name . vector-map) + (signature + lambda + ((procedure? proc) (vector? vector1) (vector? vector2) ...) + vector?) + (tags pure) + (subsigs (proc (lambda (obj ...) *)))) + ((name . vector-ref) + (signature lambda ((vector? vector) (integer? k)) *) + (tags pure)) + ((name . vector-set!) + (signature lambda ((vector? vector) (integer? k) obj) undefined)) + ((name . vector?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . when) + (signature syntax-rules () ((_ test expression1 expression2 ...)))) + ((name . with-exception-handler) + (signature lambda ((procedure? handler) (procedure? thunk)) *) + (subsigs (handler (lambda (obj) *)) (thunk (lambda () *)))) + ((name . write-bytevector) + (signature lambda ((bytevector? bytevector)) undefined) + (tags parameterized)) + ((name . write-bytevector) + (signature lambda ((bytevector? bytevector) (output-port? port)) undefined)) + ((name . write-bytevector) + (signature + lambda + ((bytevector? bytevector) (output-port? port) (integer? start)) + undefined)) + ((name . write-bytevector) + (signature + lambda + ((bytevector? bytevector) + (output-port? port) + (integer? start) + (integer? end)) + undefined)) + ((name . write-char) + (signature lambda ((char? char)) undefined) + (tags parameterized)) + ((name . write-char) + (signature lambda ((char? char) (output-port? port)) undefined)) + ((name . write-string) + (signature lambda ((string? string)) undefined) + (tags parameterized)) + ((name . write-string) + (signature lambda ((string? string) (output-port? port)) undefined)) + ((name . write-string) + (signature + lambda + ((string? string) (output-port? port) (integer? start)) + undefined)) + ((name . write-string) + (signature + lambda + ((string? string) (output-port? port) (integer? start) (integer? end)) + undefined)) + ((name . write-u8) + (signature lambda ((integer? byte)) undefined) + (tags parameterized)) + ((name . write-u8) + (signature lambda ((integer? byte) (output-port? port)) undefined)) + ((name . zero?) + (signature lambda ((number? z)) boolean?) + (tags pure predicate))) diff --git a/types/scheme.bitwise.scm b/types/scheme.bitwise.scm index ed1791d..e943426 100644 --- a/types/scheme.bitwise.scm +++ b/types/scheme.bitwise.scm @@ -1,172 +1,134 @@ -( - - (bitwise-not - (lambda ((integer? i)) integer?) - (pure)) - - (bitwise-and - (lambda ((integer? i) ...) integer?) - (pure)) - - (bitwise-ior - (lambda ((integer? i) ...) integer?) - (pure)) - - (bitwise-xor - (lambda ((integer? i) ...) integer?) - (pure)) - - (bitwise-eqv - (lambda ((integer? i) ...) integer?) - (pure)) - - (bitwise-nand - (lambda ((integer? i) (integer? j)) integer?) - (pure)) - - (bitwise-nor - (lambda ((integer? i) (integer? j)) integer?) - (pure)) - - (bitwise-andc1 - (lambda ((integer? i) (integer? j)) integer?) - (pure)) - - (bitwise-andc2 - (lambda ((integer? i) (integer? j)) integer?) - (pure)) - - (bitwise-orc1 - (lambda ((integer? i) (integer? j)) integer?) - (pure)) - - (bitwise-orc2 - (lambda ((integer? i) (integer? j)) integer?) - (pure)) - - (arithmetic-shift - (lambda ((integer? i) (integer? count)) integer?) - (pure)) - - (bit-count - (lambda ((integer? i)) integer?) - (pure)) - - (integer-length - (lambda ((integer? i)) integer?) - (pure)) - - (bitwise-if - (lambda ((integer? mask) (integer? i) (integer? j)) integer?) - (pure)) - - (bit-set? - (lambda ((integer? index) (integer? i)) boolean?) - (pure)) - - (copy-bit - (lambda ((integer? index) (integer? i) (boolean? boolean)) integer?) - (pure)) - - (bit-swap - (lambda ((integer? index1) (integer? index2) (integer? i)) integer?) - (pure)) - - (any-bit-set? - (lambda ((integer? test-bits) (integer? i)) boolean?) - (pure)) - - (every-bit-set? - (lambda ((integer? test-bits) (integer? i)) boolean?) - (pure)) - - (first-set-bit - (lambda ((integer? i)) integer?) - (pure)) - - (bit-field - (lambda ((integer? i) (integer? start) (integer? end)) integer?) - (pure)) - - (bit-field-any? - (lambda ((integer? i) (integer? start) (integer? end)) boolean?) - (pure)) - - (bit-field-every? - (lambda ((integer? i) (integer? start) (integer? end)) boolean?) - (pure)) - - (bit-field-clear - (lambda ((integer? i) (integer? start) (integer? end)) integer?) - (pure)) - - (bit-field-set - (lambda ((integer? i) (integer? start) (integer? end)) integer?) - (pure)) - - (bit-field-replace - (lambda ((integer? dest) (integer? source) (integer? start) (integer? end)) integer?) - (pure)) - - (bit-field-replace-same - (lambda ((integer? dest) (integer? source) (integer? start) (integer? end)) integer?) - (pure)) - - (bit-field-rotate - (lambda ((integer? i) (integer? count) (integer? start) (integer? end)) integer?) - (pure)) - - (bit-field-reverse - (lambda ((integer? i) (integer? start) (integer? end)) integer?) - (pure)) - - (bits->list - (lambda ((integer? i)) list?) - (pure)) - - (bits->list - (lambda ((integer? i) (integer? len)) list?) - (pure)) - - (bits->vector - (lambda ((integer? i)) vector?) - (pure)) - - (bits->vector - (lambda ((integer? i) (integer? len)) vector?) - (pure)) - - (list->bits - (lambda ((list? list)) integer?) - (pure)) - - (vector->bits - (lambda ((vector? vector)) integer?) - (pure)) - - (bits - (lambda ((boolean? bool) ...) integer?) - (pure)) - - (bitwise-fold - (lambda ((procedure? proc) seed (integer? i)) *) - (pure) - ((proc (lambda ((boolean? bit) state) *)))) - - (bitwise-for-each - (lambda ((procedure? proc) (integer? i)) undefined) - () - ((proc (lambda ((boolean? bit)) undefined)))) - - (bitwise-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) integer?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) boolean?)) - (successor (lambda (seed) *)))) - - (make-bitwise-generator - (lambda ((integer? i)) procedure?) - () - ((return (lambda () boolean?)))) - ) +(((name . bitwise-not) (signature lambda ((integer? i)) integer?) (tags pure)) + ((name . bitwise-and) + (signature lambda ((integer? i) ...) integer?) + (tags pure)) + ((name . bitwise-ior) + (signature lambda ((integer? i) ...) integer?) + (tags pure)) + ((name . bitwise-xor) + (signature lambda ((integer? i) ...) integer?) + (tags pure)) + ((name . bitwise-eqv) + (signature lambda ((integer? i) ...) integer?) + (tags pure)) + ((name . bitwise-nand) + (signature lambda ((integer? i) (integer? j)) integer?) + (tags pure)) + ((name . bitwise-nor) + (signature lambda ((integer? i) (integer? j)) integer?) + (tags pure)) + ((name . bitwise-andc1) + (signature lambda ((integer? i) (integer? j)) integer?) + (tags pure)) + ((name . bitwise-andc2) + (signature lambda ((integer? i) (integer? j)) integer?) + (tags pure)) + ((name . bitwise-orc1) + (signature lambda ((integer? i) (integer? j)) integer?) + (tags pure)) + ((name . bitwise-orc2) + (signature lambda ((integer? i) (integer? j)) integer?) + (tags pure)) + ((name . arithmetic-shift) + (signature lambda ((integer? i) (integer? count)) integer?) + (tags pure)) + ((name . bit-count) (signature lambda ((integer? i)) integer?) (tags pure)) + ((name . integer-length) + (signature lambda ((integer? i)) integer?) + (tags pure)) + ((name . bitwise-if) + (signature lambda ((integer? mask) (integer? i) (integer? j)) integer?) + (tags pure)) + ((name . bit-set?) + (signature lambda ((integer? index) (integer? i)) boolean?) + (tags pure)) + ((name . copy-bit) + (signature + lambda + ((integer? index) (integer? i) (boolean? boolean)) + integer?) + (tags pure)) + ((name . bit-swap) + (signature + lambda + ((integer? index1) (integer? index2) (integer? i)) + integer?) + (tags pure)) + ((name . any-bit-set?) + (signature lambda ((integer? test-bits) (integer? i)) boolean?) + (tags pure)) + ((name . every-bit-set?) + (signature lambda ((integer? test-bits) (integer? i)) boolean?) + (tags pure)) + ((name . first-set-bit) + (signature lambda ((integer? i)) integer?) + (tags pure)) + ((name . bit-field) + (signature lambda ((integer? i) (integer? start) (integer? end)) integer?) + (tags pure)) + ((name . bit-field-any?) + (signature lambda ((integer? i) (integer? start) (integer? end)) boolean?) + (tags pure)) + ((name . bit-field-every?) + (signature lambda ((integer? i) (integer? start) (integer? end)) boolean?) + (tags pure)) + ((name . bit-field-clear) + (signature lambda ((integer? i) (integer? start) (integer? end)) integer?) + (tags pure)) + ((name . bit-field-set) + (signature lambda ((integer? i) (integer? start) (integer? end)) integer?) + (tags pure)) + ((name . bit-field-replace) + (signature + lambda + ((integer? dest) (integer? source) (integer? start) (integer? end)) + integer?) + (tags pure)) + ((name . bit-field-replace-same) + (signature + lambda + ((integer? dest) (integer? source) (integer? start) (integer? end)) + integer?) + (tags pure)) + ((name . bit-field-rotate) + (signature + lambda + ((integer? i) (integer? count) (integer? start) (integer? end)) + integer?) + (tags pure)) + ((name . bit-field-reverse) + (signature lambda ((integer? i) (integer? start) (integer? end)) integer?) + (tags pure)) + ((name . bits->list) (signature lambda ((integer? i)) list?) (tags pure)) + ((name . bits->list) + (signature lambda ((integer? i) (integer? len)) list?) + (tags pure)) + ((name . bits->vector) (signature lambda ((integer? i)) vector?) (tags pure)) + ((name . bits->vector) + (signature lambda ((integer? i) (integer? len)) vector?) + (tags pure)) + ((name . list->bits) (signature lambda ((list? list)) integer?) (tags pure)) + ((name . vector->bits) + (signature lambda ((vector? vector)) integer?) + (tags pure)) + ((name . bits) (signature lambda ((boolean? bool) ...) integer?) (tags pure)) + ((name . bitwise-fold) + (signature lambda ((procedure? proc) seed (integer? i)) *) + (tags pure) + (subsigs (proc (lambda ((boolean? bit) state) *)))) + ((name . bitwise-for-each) + (signature lambda ((procedure? proc) (integer? i)) undefined) + (subsigs (proc (lambda ((boolean? bit)) undefined)))) + ((name . bitwise-unfold) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + integer?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) boolean?)) + (successor (lambda (seed) *)))) + ((name . make-bitwise-generator) + (signature lambda ((integer? i)) procedure?) + (subsigs (return (lambda () boolean?))))) diff --git a/types/scheme.box.scm b/types/scheme.box.scm index ffc9811..bdfe669 100644 --- a/types/scheme.box.scm +++ b/types/scheme.box.scm @@ -1,19 +1,4 @@ -( - - (box - (lambda (value) box?) - (pure)) - - (box? - (lambda (object) boolean?) - (pure predicate)) - - (unbox - (lambda ((box? box)) *) - (pure)) - - (set-box! - (lambda ((box? box) value) undefined) - ()) - - ) +(((name . box) (signature lambda (value) box?) (tags pure)) + ((name . box?) (signature lambda (object) boolean?) (tags pure predicate)) + ((name . unbox) (signature lambda ((box? box)) *) (tags pure)) + ((name . set-box!) (signature lambda ((box? box) value) undefined))) diff --git a/types/scheme.bytevector.scm b/types/scheme.bytevector.scm index c215bc2..2fda3f3 100644 --- a/types/scheme.bytevector.scm +++ b/types/scheme.bytevector.scm @@ -1,264 +1,354 @@ -( - - (endianness - (syntax-rules () - ((_ endianness-symbol)))) - - (native-endianness - (lambda () symbol?)) - - (bytevector? - (lambda (obj) boolean?) - (pure predicate)) - - (make-bytevector - (lambda ((integer? k)) bytevector?) - ()) - - (make-bytevector - (lambda ((integer? k) (integer? byte)) bytevector?) - (pure)) - - (bytevector-length - (lambda ((bytevector? bytevector)) integer?) - (pure)) - - (bytevector=? - (lambda ((bytevector? bytevector1) (bytevector? bytevector2)) boolean?) - (pure)) - - (bytevector-fill! - (lambda ((bytevector? bytevector) (integer? k)) undefined) - ()) - - (bytevector-copy! - (lambda ((bytevector? source) (integer? source-start) (bytevector? target) (integer? target-start) (integer? k)) undefined) - ()) - - (bytevector-copy - (lambda ((bytevector? bytevector)) bytevector?) - (pure)) - - (bytevector-u8-ref - (lambda ((bytevector? bytevector) (integer? k)) integer?) - (pure)) - - (bytevector-s8-ref - (lambda ((bytevector? bytevector) (integer? k)) integer?) - (pure)) - - (bytevector-u8-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? octet)) undefined)) - - (bytevector-s8-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? byte)) undefined)) - - (bytevector->u8-list - (lambda ((bytevector? bytevector)) list?) - (pure)) - - (u8-list->bytevector - (lambda ((list? list)) bytevector?) - (pure)) - - (bytevector-uint-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-sint-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-uint-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-sint-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector->uint-list - (lambda ((bytevector? bytevector) (symbol? endianness) (integer? size)) list?) - (pure)) - - (bytevector->sint-list - (lambda ((bytevector? bytevector) (symbol? endianness) (integer? size)) list?) - (pure)) - - (uint-list->bytevector - (lambda ((list? list) (symbol? endianness) (integer? size)) bytevector?) - (pure)) - - (sint-list->bytevector - (lambda ((list? list) (symbol? endianness) (integer? size)) bytevector?) - (pure)) - - (bytevector-u16-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-s16-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-u16-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?) - (pure)) - - (bytevector-s16-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?) - (pure)) - - (bytevector-u16-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-s16-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-u16-native-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined) - ()) - - (bytevector-s16-native-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined) - ()) - - (bytevector-u32-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-s32-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-u32-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?) - (pure)) - - (bytevector-s32-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?) - (pure)) - - (bytevector-u32-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-s32-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-u32-native-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined) - ()) - - (bytevector-s32-native-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined) - ()) - - (bytevector-u64-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-s64-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?) - (pure)) - - (bytevector-u64-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?) - (pure)) - - (bytevector-s64-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?) - (pure)) - - (bytevector-u64-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-s64-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-u64-native-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined) - ()) - - (bytevector-s64-native-set! - (lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined) - ()) - - (bytevector-ieee-single-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) real?) - (pure)) - - (bytevector-ieee-double-ref - (lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) real?) - (pure)) - - (bytevector-ieee-single-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) real?) - (pure)) - - (bytevector-ieee-double-native-ref - (lambda ((bytevector? bytevector) (integer? k) (integer? size)) real?) - (pure)) - - (bytevector-ieee-single-set! - (lambda ((bytevector? bytevector) (integer? k) (real? x) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-ieee-double-set! - (lambda ((bytevector? bytevector) (integer? k) (real? x) (symbol? endianness) (integer? size)) undefined) - ()) - - (bytevector-ieee-single-native-set! - (lambda ((bytevector? bytevector) (integer? k) (real? x) (integer? size)) undefined) - ()) - - (bytevector-ieee-double-native-set! - (lambda ((bytevector? bytevector) (integer? k) (real? x) (integer? size)) undefined) - ()) - - (string->utf8 - (lambda ((string? string)) bytevector?) - (pure)) - - (string->utf16 - (lambda ((string? string)) bytevector?) - (pure)) - - (string->utf16 - (lambda ((string? string) (symbol? endianness)) bytevector?) - (pure)) - - (string->utf32 - (lambda ((string? string)) bytevector?) - (pure)) - - (string->utf32 - (lambda ((string? string) (symbol? endianness)) bytevector?) - (pure)) - - (utf8->string - (lambda ((bytevector? bytevector)) string?) - (pure)) - - (utf16->string - (lambda ((bytevector? bytevector) (symbol? endianness)) string?) - (pure)) - - (utf16->string - (lambda ((bytevector? bytevector) (symbol? endianness) (boolean? endianness-mandatory?)) string?) - (pure)) - - (utf32->string - (lambda ((bytevector? bytevector) (symbol? endianness)) string?) - (pure)) - - (utf32->string - (lambda ((bytevector? bytevector) (symbol? endianness) (boolean? endianness-mandatory?)) string?) - (pure)) - - ) +(((name . endianness) (signature syntax-rules () ((_ endianness-symbol)))) + ((name . native-endianness) (signature lambda () symbol?)) + ((name . bytevector?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . make-bytevector) (signature lambda ((integer? k)) bytevector?)) + ((name . make-bytevector) + (signature lambda ((integer? k) (integer? byte)) bytevector?) + (tags pure)) + ((name . bytevector-length) + (signature lambda ((bytevector? bytevector)) integer?) + (tags pure)) + ((name . bytevector=?) + (signature + lambda + ((bytevector? bytevector1) (bytevector? bytevector2)) + boolean?) + (tags pure)) + ((name . bytevector-fill!) + (signature lambda ((bytevector? bytevector) (integer? k)) undefined)) + ((name . bytevector-copy!) + (signature + lambda + ((bytevector? source) + (integer? source-start) + (bytevector? target) + (integer? target-start) + (integer? k)) + undefined)) + ((name . bytevector-copy) + (signature lambda ((bytevector? bytevector)) bytevector?) + (tags pure)) + ((name . bytevector-u8-ref) + (signature lambda ((bytevector? bytevector) (integer? k)) integer?) + (tags pure)) + ((name . bytevector-s8-ref) + (signature lambda ((bytevector? bytevector) (integer? k)) integer?) + (tags pure)) + ((name . bytevector-u8-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? octet)) + undefined)) + ((name . bytevector-s8-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? byte)) + undefined)) + ((name . bytevector->u8-list) + (signature lambda ((bytevector? bytevector)) list?) + (tags pure)) + ((name . u8-list->bytevector) + (signature lambda ((list? list)) bytevector?) + (tags pure)) + ((name . bytevector-uint-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-sint-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-uint-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-sint-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector->uint-list) + (signature + lambda + ((bytevector? bytevector) (symbol? endianness) (integer? size)) + list?) + (tags pure)) + ((name . bytevector->sint-list) + (signature + lambda + ((bytevector? bytevector) (symbol? endianness) (integer? size)) + list?) + (tags pure)) + ((name . uint-list->bytevector) + (signature + lambda + ((list? list) (symbol? endianness) (integer? size)) + bytevector?) + (tags pure)) + ((name . sint-list->bytevector) + (signature + lambda + ((list? list) (symbol? endianness) (integer? size)) + bytevector?) + (tags pure)) + ((name . bytevector-u16-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-s16-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-u16-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-s16-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-u16-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-s16-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-u16-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) + undefined)) + ((name . bytevector-s16-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) + undefined)) + ((name . bytevector-u32-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-s32-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-u32-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-s32-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-u32-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-s32-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-u32-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) + undefined)) + ((name . bytevector-s32-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) + undefined)) + ((name . bytevector-u64-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-s64-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-u64-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-s64-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + integer?) + (tags pure)) + ((name . bytevector-u64-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-s64-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (integer? n) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-u64-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) + undefined)) + ((name . bytevector-s64-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) + undefined)) + ((name . bytevector-ieee-single-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + real?) + (tags pure)) + ((name . bytevector-ieee-double-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) + real?) + (tags pure)) + ((name . bytevector-ieee-single-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + real?) + (tags pure)) + ((name . bytevector-ieee-double-native-ref) + (signature + lambda + ((bytevector? bytevector) (integer? k) (integer? size)) + real?) + (tags pure)) + ((name . bytevector-ieee-single-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (real? x) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-ieee-double-set!) + (signature + lambda + ((bytevector? bytevector) + (integer? k) + (real? x) + (symbol? endianness) + (integer? size)) + undefined)) + ((name . bytevector-ieee-single-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (real? x) (integer? size)) + undefined)) + ((name . bytevector-ieee-double-native-set!) + (signature + lambda + ((bytevector? bytevector) (integer? k) (real? x) (integer? size)) + undefined)) + ((name . string->utf8) + (signature lambda ((string? string)) bytevector?) + (tags pure)) + ((name . string->utf16) + (signature lambda ((string? string)) bytevector?) + (tags pure)) + ((name . string->utf16) + (signature lambda ((string? string) (symbol? endianness)) bytevector?) + (tags pure)) + ((name . string->utf32) + (signature lambda ((string? string)) bytevector?) + (tags pure)) + ((name . string->utf32) + (signature lambda ((string? string) (symbol? endianness)) bytevector?) + (tags pure)) + ((name . utf8->string) + (signature lambda ((bytevector? bytevector)) string?) + (tags pure)) + ((name . utf16->string) + (signature lambda ((bytevector? bytevector) (symbol? endianness)) string?) + (tags pure)) + ((name . utf16->string) + (signature + lambda + ((bytevector? bytevector) + (symbol? endianness) + (boolean? endianness-mandatory?)) + string?) + (tags pure)) + ((name . utf32->string) + (signature lambda ((bytevector? bytevector) (symbol? endianness)) string?) + (tags pure)) + ((name . utf32->string) + (signature + lambda + ((bytevector? bytevector) + (symbol? endianness) + (boolean? endianness-mandatory?)) + string?) + (tags pure))) diff --git a/types/scheme.case-lambda.scm b/types/scheme.case-lambda.scm index 387c4b7..b737e71 100644 --- a/types/scheme.case-lambda.scm +++ b/types/scheme.case-lambda.scm @@ -1,10 +1,8 @@ -( - (case-lambda - (syntax-rules () - ((_ clause ...))) - () - ((clause (formals body)) - (formals (variable1 ...) - variable - (variable1 ... variable_n . variable_n+1)))) - ) +(((name . case-lambda) + (signature syntax-rules () ((_ clause ...))) + (subsigs + (clause (formals body)) + (formals + (variable1 ...) + variable + (variable1 ... variable_n . variable_n+1))))) diff --git a/types/scheme.char.scm b/types/scheme.char.scm index 27cfd16..6b31160 100644 --- a/types/scheme.char.scm +++ b/types/scheme.char.scm @@ -1,88 +1,75 @@ -( - (char-alphabetic? - (lambda ((char? char)) boolean?) - (pure)) - - (char-ci<=? - (lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) - (pure)) - - (char-ci=? - (lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) - (pure)) - - (char-ci>? - (lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) - (pure)) - - (char-downcase - (lambda ((char? char)) char?) - (pure)) - - (char-foldcase - (lambda ((char? char)) char?) - (pure)) - - (char-lower-case? - (lambda ((char? char)) boolean?) - (pure)) - - (char-numeric? - (lambda ((char? char)) boolean?) - (pure)) - - (char-upcase - (lambda ((char? char)) char?) - (pure)) - - (char-upper-case? - (lambda ((char? char)) boolean?) - (pure)) - (char-whitespace? - (lambda ((char? char)) boolean?) - (pure)) - - (digit-value - (lambda ((char? char)) (or #f integer?)) - (pure)) - - (string-ci<=? - (lambda ((string? string1) (string? string2) (string? string3) ...) boolean?) - (pure)) - - (string-ci=? - (lambda ((string? string1) (string? string2) (string? string3) ...) boolean?) - (pure)) - - (string-ci>? - (lambda ((string? string1) (string? string2) (string? string3) ...) boolean?) - (pure)) - - (string-downcase - (lambda ((string? string)) string?) - (pure)) - - (string-foldcase - (lambda ((string? string)) string?) - (pure)) - - (string-upcase - (lambda ((string? string)) string?) - (pure)) - ) +(((name . char-alphabetic?) + (signature lambda ((char? char)) boolean?) + (tags pure)) + ((name . char-ci<=?) + (signature lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) + (tags pure)) + ((name . char-ci=?) + (signature lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) + (tags pure)) + ((name . char-ci>?) + (signature lambda ((char? char1) (char? char2) (char? char3) ...) boolean?) + (tags pure)) + ((name . char-downcase) (signature lambda ((char? char)) char?) (tags pure)) + ((name . char-foldcase) (signature lambda ((char? char)) char?) (tags pure)) + ((name . char-lower-case?) + (signature lambda ((char? char)) boolean?) + (tags pure)) + ((name . char-numeric?) + (signature lambda ((char? char)) boolean?) + (tags pure)) + ((name . char-upcase) (signature lambda ((char? char)) char?) (tags pure)) + ((name . char-upper-case?) + (signature lambda ((char? char)) boolean?) + (tags pure)) + ((name . char-whitespace?) + (signature lambda ((char? char)) boolean?) + (tags pure)) + ((name . digit-value) + (signature lambda ((char? char)) (or #f integer?)) + (tags pure)) + ((name . string-ci<=?) + (signature + lambda + ((string? string1) (string? string2) (string? string3) ...) + boolean?) + (tags pure)) + ((name . string-ci=?) + (signature + lambda + ((string? string1) (string? string2) (string? string3) ...) + boolean?) + (tags pure)) + ((name . string-ci>?) + (signature + lambda + ((string? string1) (string? string2) (string? string3) ...) + boolean?) + (tags pure)) + ((name . string-downcase) + (signature lambda ((string? string)) string?) + (tags pure)) + ((name . string-foldcase) + (signature lambda ((string? string)) string?) + (tags pure)) + ((name . string-upcase) + (signature lambda ((string? string)) string?) + (tags pure))) diff --git a/types/scheme.charset.scm b/types/scheme.charset.scm index 3759e6a..4dbe64c 100644 --- a/types/scheme.charset.scm +++ b/types/scheme.charset.scm @@ -1,289 +1,201 @@ -( - - (char-set? - (lambda (obj) boolean?) - (pure predicate)) - - (char-set= - (lambda ((char-set? cs1) ...) boolean?) - (pure)) - - (char-set<= - (lambda ((char-set? cs1) ...) boolean?) - (pure)) - - (char-set-hash - (lambda ((char-set? cs)) integer?) - (pure)) - - (char-set-hash - (lambda ((char-set? cs) (integer? bound)) integer?) - (pure)) - - (char-set-cursor - (lambda ((char-set? cset)) *)) - - (char-set-ref - (lambda ((char-set? cset) cursor) char?)) - - (char-set-cursor-next - (lambda ((char-set? cset) cursor) *)) - - (end-of-char-set? - (lambda (cursor) boolean?)) - - (char-set-fold - (lambda ((procedure? kons) knil (char-set? cs)) *) - (pure) - ((kons (lambda ((char? c) state) *)))) - - (char-set-unfold - (lambda ((procedure? f) (procedure? p) (procedure? g) seed) char-set?) - (pure) - ((f (lambda (seed) char?)) - (p (lambda (seed) boolean?)) - (g (lambda (seed) *)))) - - (char-set-unfold - (lambda ((procedure? f) (procedure? p) (procedure? g) seed (char-set? base-cs)) char-set?) - (pure) - ((f (lambda (seed) char?)) - (p (lambda (seed) boolean?)) - (g (lambda (seed) *)))) - - (char-set-unfold! - (lambda ((procedure? f) (procedure? p) (procedure? g) seed (char-set? base-cs)) char-set?) - (pure) - ((f (lambda (seed) char?)) - (p (lambda (seed) boolean?)) - (g (lambda (seed) *)))) - - (char-set-for-each - (lambda ((procedure? proc) (char-set? cs)) undefined) - () - ((proc (lambda ((char? c)) undefined)))) - - (char-set-map - (lambda ((procedure? proc) (char-set? cs)) char-set?) - (pure) - ((proc (lambda ((char? c)) char?)))) - - (char-set-copy - (lambda ((char-set? cs)) char-set?) - (pure)) - - (char-set - (lambda ((char? char1) ...) char-set?) - (pure)) - - (list->char-set - (lambda ((list? char-list)) char-set?) - (pure)) - - (list->char-set - (lambda ((list? char-list) (char-set? base-cs)) char-set?) - (pure)) - - (list->char-set! - (lambda ((list? char-list) (char-set? base-cs)) char-set?) - ()) - - (string->char-set - (lambda ((string? s)) char-set?) - (pure)) - - (string->char-set - (lambda ((string? s) (char-set? base-cs)) char-set?) - (pure)) - - (string->char-set! - (lambda ((string? s) (char-set? base-cs)) char-set?) - ()) - - (char-set-filter - (lambda ((procedure? pred) (char-set? cs)) char-set?) - (pure) - ((pred (lambda ((char? c)) boolean?)))) - - (char-set-filter - (lambda ((procedure? pred) (char-set? cs) (char-set? base-cs)) char-set?) - (pure) - ((pred (lambda ((char? c)) boolean?)))) - - (char-set-filter! - (lambda ((procedure? pred) (char-set? cs) (char-set? base-cs)) char-set?) - () - ((pred (lambda ((char? c)) boolean?)))) - - (ucs-range->char-set - (lambda ((integer? lower) (integer? upper)) char-set?) - (pure)) - - (ucs-range->char-set - (lambda ((integer? lower) (integer? upper) (boolean? error?)) char-set?) - (pure)) - - (ucs-range->char-set - (lambda ((integer? lower) (integer? upper) (boolean? error?) (char-set? base-cs)) char-set?) - (pure)) - - (ucs-range->char-set! - (lambda ((integer? lower) (integer? upper) (boolean? error?) (char-set? base-cs)) char-set?) - ()) - - (|->char-set| - (lambda ((string? x)) char-set?) - (pure)) - - (|->char-set| - (lambda ((char? x)) char-set?) - (pure)) - - (|->char-set| - (lambda ((char-set? x)) char-set?) - (pure)) - - (char-set-size - (lambda ((char-set? cs)) integer?) - (pure)) - - (char-set-count - (lambda ((procedure? pred) (char-set? cs)) integer?) - (pure) - ((pred (lambda ((char? c)) boolean?)))) - - (char-set->list - (lambda ((char-set? cs)) list?)) - - (char-set->string - (lambda ((char-set? cs)) string?)) - - (char-set-contains? - (lambda ((char-set? cs) (char? char)) boolean?)) - - (char-set-every - (lambda ((procedure? pred) (char-set? cs)) boolean?) - (pure) - ((pred (lambda ((char? c)) boolean?)))) - - (char-set-any - (lambda ((procedure? pred) (char-set? cs)) boolean?) - (pure) - ((pred (lambda ((char? c)) boolean?)))) - - (char-set-adjoin - (lambda ((char-set? cs) (char? char1) ...) char-set?) - (pure)) - - (char-set-delete - (lambda ((char-set? cs) (char? char1) ...) char-set?) - (pure)) - - (char-set-adjoin! - (lambda ((char-set? cs) (char? char1) ...) char-set?) - ()) - - (char-set-delete! - (lambda ((char-set? cs) (char? char1) ...) char-set?) - ()) - - (char-set-complement - (lambda ((char-set? cs)) char-set?) - (pure)) - - (char-set-union - (lambda ((char-set? cs1) ...) char-set?) - (pure)) - - (char-set-intersection - (lambda ((char-set? cs1) ...) char-set?) - (pure)) - - (char-set-difference - (lambda ((char-set? cs1) (char-set? cs2) ...) char-set?) - (pure)) - - (char-set-xor - (lambda ((char-set? cs1) ...) char-set?) - (pure)) - - (char-set-diff+intersection - (lambda ((char-set? cs1) (char-set? cs2) ...) (values char-set? char-set?)) - (pure)) - - (char-set-complement! - (lambda ((char-set? cs)) char-set?) - ()) - - (char-set-union - (lambda ((char-set? cs1) (char-set? cs2) ...) char-set?) - ()) - - (char-set-intersection! - (lambda ((char-set? cs1) (char-set? cs2) ...) char-set?) - ()) - - (char-set-difference! - (lambda ((char-set? cs1) (char-set? cs2) ...) char-set?) - ()) - - (char-set-xor! - (lambda ((char-set? cs1) (char-set? cs2) ...) char-set?) - ()) - - (char-set-diff+intersection! - (lambda ((char-set? cs1) (char-set? cs2) (char-set? cs3) ...) (values char-set? char-set?)) - ()) - - (|char-set:lower-case| - (value char-set?)) - - (|char-set:upper-case| - (value char-set?)) - - (|char-set:title-case| - (value char-set?)) - - (|char-set:letter| - (value char-set?)) - - (|char-set:digit| - (value char-set?)) - - (|char-set:letter+digit| - (value char-set?)) - - (|char-set:graphic| - (value char-set?)) - - (|char-set:printing| - (value char-set?)) - - (|char-set:whitespace| - (value char-set?)) - - (|char-set:iso-control| - (value char-set?)) - - (|char-set:punctuation| - (value char-set?)) - - (|char-set:symbol| - (value char-set?)) - - (|char-set:hex-digit| - (value char-set?)) - - (|char-set:blank| - (value char-set?)) - - (|char-set:ascii| - (value char-set?)) - - (|char-set:empty| - (value char-set?)) - - (|char-set:full| - (value char-set?)) - - ) +(((name . char-set?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . char-set=) + (signature lambda ((char-set? cs1) ...) boolean?) + (tags pure)) + ((name . char-set<=) + (signature lambda ((char-set? cs1) ...) boolean?) + (tags pure)) + ((name . char-set-hash) + (signature lambda ((char-set? cs)) integer?) + (tags pure)) + ((name . char-set-hash) + (signature lambda ((char-set? cs) (integer? bound)) integer?) + (tags pure)) + ((name . char-set-cursor) (signature lambda ((char-set? cset)) *)) + ((name . char-set-ref) (signature lambda ((char-set? cset) cursor) char?)) + ((name . char-set-cursor-next) (signature lambda ((char-set? cset) cursor) *)) + ((name . end-of-char-set?) (signature lambda (cursor) boolean?)) + ((name . char-set-fold) + (signature lambda ((procedure? kons) knil (char-set? cs)) *) + (tags pure) + (subsigs (kons (lambda ((char? c) state) *)))) + ((name . char-set-unfold) + (signature + lambda + ((procedure? f) (procedure? p) (procedure? g) seed) + char-set?) + (tags pure) + (subsigs + (f (lambda (seed) char?)) + (p (lambda (seed) boolean?)) + (g (lambda (seed) *)))) + ((name . char-set-unfold) + (signature + lambda + ((procedure? f) (procedure? p) (procedure? g) seed (char-set? base-cs)) + char-set?) + (tags pure) + (subsigs + (f (lambda (seed) char?)) + (p (lambda (seed) boolean?)) + (g (lambda (seed) *)))) + ((name . char-set-unfold!) + (signature + lambda + ((procedure? f) (procedure? p) (procedure? g) seed (char-set? base-cs)) + char-set?) + (tags pure) + (subsigs + (f (lambda (seed) char?)) + (p (lambda (seed) boolean?)) + (g (lambda (seed) *)))) + ((name . char-set-for-each) + (signature lambda ((procedure? proc) (char-set? cs)) undefined) + (subsigs (proc (lambda ((char? c)) undefined)))) + ((name . char-set-map) + (signature lambda ((procedure? proc) (char-set? cs)) char-set?) + (tags pure) + (subsigs (proc (lambda ((char? c)) char?)))) + ((name . char-set-copy) + (signature lambda ((char-set? cs)) char-set?) + (tags pure)) + ((name . char-set) + (signature lambda ((char? char1) ...) char-set?) + (tags pure)) + ((name . list->char-set) + (signature lambda ((list? char-list)) char-set?) + (tags pure)) + ((name . list->char-set) + (signature lambda ((list? char-list) (char-set? base-cs)) char-set?) + (tags pure)) + ((name . list->char-set!) + (signature lambda ((list? char-list) (char-set? base-cs)) char-set?)) + ((name . string->char-set) + (signature lambda ((string? s)) char-set?) + (tags pure)) + ((name . string->char-set) + (signature lambda ((string? s) (char-set? base-cs)) char-set?) + (tags pure)) + ((name . string->char-set!) + (signature lambda ((string? s) (char-set? base-cs)) char-set?)) + ((name . char-set-filter) + (signature lambda ((procedure? pred) (char-set? cs)) char-set?) + (tags pure) + (subsigs (pred (lambda ((char? c)) boolean?)))) + ((name . char-set-filter) + (signature + lambda + ((procedure? pred) (char-set? cs) (char-set? base-cs)) + char-set?) + (tags pure) + (subsigs (pred (lambda ((char? c)) boolean?)))) + ((name . char-set-filter!) + (signature + lambda + ((procedure? pred) (char-set? cs) (char-set? base-cs)) + char-set?) + (subsigs (pred (lambda ((char? c)) boolean?)))) + ((name . ucs-range->char-set) + (signature lambda ((integer? lower) (integer? upper)) char-set?) + (tags pure)) + ((name . ucs-range->char-set) + (signature + lambda + ((integer? lower) (integer? upper) (boolean? error?)) + char-set?) + (tags pure)) + ((name . ucs-range->char-set) + (signature + lambda + ((integer? lower) (integer? upper) (boolean? error?) (char-set? base-cs)) + char-set?) + (tags pure)) + ((name . ucs-range->char-set!) + (signature + lambda + ((integer? lower) (integer? upper) (boolean? error?) (char-set? base-cs)) + char-set?)) + ((name . ->char-set) (signature lambda ((string? x)) char-set?) (tags pure)) + ((name . ->char-set) (signature lambda ((char? x)) char-set?) (tags pure)) + ((name . ->char-set) (signature lambda ((char-set? x)) char-set?) (tags pure)) + ((name . char-set-size) + (signature lambda ((char-set? cs)) integer?) + (tags pure)) + ((name . char-set-count) + (signature lambda ((procedure? pred) (char-set? cs)) integer?) + (tags pure) + (subsigs (pred (lambda ((char? c)) boolean?)))) + ((name . char-set->list) (signature lambda ((char-set? cs)) list?)) + ((name . char-set->string) (signature lambda ((char-set? cs)) string?)) + ((name . char-set-contains?) + (signature lambda ((char-set? cs) (char? char)) boolean?)) + ((name . char-set-every) + (signature lambda ((procedure? pred) (char-set? cs)) boolean?) + (tags pure) + (subsigs (pred (lambda ((char? c)) boolean?)))) + ((name . char-set-any) + (signature lambda ((procedure? pred) (char-set? cs)) boolean?) + (tags pure) + (subsigs (pred (lambda ((char? c)) boolean?)))) + ((name . char-set-adjoin) + (signature lambda ((char-set? cs) (char? char1) ...) char-set?) + (tags pure)) + ((name . char-set-delete) + (signature lambda ((char-set? cs) (char? char1) ...) char-set?) + (tags pure)) + ((name . char-set-adjoin!) + (signature lambda ((char-set? cs) (char? char1) ...) char-set?)) + ((name . char-set-delete!) + (signature lambda ((char-set? cs) (char? char1) ...) char-set?)) + ((name . char-set-complement) + (signature lambda ((char-set? cs)) char-set?) + (tags pure)) + ((name . char-set-union) + (signature lambda ((char-set? cs1) ...) char-set?) + (tags pure)) + ((name . char-set-intersection) + (signature lambda ((char-set? cs1) ...) char-set?) + (tags pure)) + ((name . char-set-difference) + (signature lambda ((char-set? cs1) (char-set? cs2) ...) char-set?) + (tags pure)) + ((name . char-set-xor) + (signature lambda ((char-set? cs1) ...) char-set?) + (tags pure)) + ((name . char-set-diff+intersection) + (signature + lambda + ((char-set? cs1) (char-set? cs2) ...) + (values char-set? char-set?)) + (tags pure)) + ((name . char-set-complement!) (signature lambda ((char-set? cs)) char-set?)) + ((name . char-set-union) + (signature lambda ((char-set? cs1) (char-set? cs2) ...) char-set?)) + ((name . char-set-intersection!) + (signature lambda ((char-set? cs1) (char-set? cs2) ...) char-set?)) + ((name . char-set-difference!) + (signature lambda ((char-set? cs1) (char-set? cs2) ...) char-set?)) + ((name . char-set-xor!) + (signature lambda ((char-set? cs1) (char-set? cs2) ...) char-set?)) + ((name . char-set-diff+intersection!) + (signature + lambda + ((char-set? cs1) (char-set? cs2) (char-set? cs3) ...) + (values char-set? char-set?))) + ((name . |char-set:lower-case|) (signature value char-set?)) + ((name . |char-set:upper-case|) (signature value char-set?)) + ((name . |char-set:title-case|) (signature value char-set?)) + ((name . |char-set:letter|) (signature value char-set?)) + ((name . |char-set:digit|) (signature value char-set?)) + ((name . |char-set:letter+digit|) (signature value char-set?)) + ((name . |char-set:graphic|) (signature value char-set?)) + ((name . |char-set:printing|) (signature value char-set?)) + ((name . |char-set:whitespace|) (signature value char-set?)) + ((name . |char-set:iso-control|) (signature value char-set?)) + ((name . |char-set:punctuation|) (signature value char-set?)) + ((name . |char-set:symbol|) (signature value char-set?)) + ((name . |char-set:hex-digit|) (signature value char-set?)) + ((name . |char-set:blank|) (signature value char-set?)) + ((name . |char-set:ascii|) (signature value char-set?)) + ((name . |char-set:empty|) (signature value char-set?)) + ((name . |char-set:full|) (signature value char-set?))) diff --git a/types/scheme.comparator.scm b/types/scheme.comparator.scm index 3532845..4858ca3 100644 --- a/types/scheme.comparator.scm +++ b/types/scheme.comparator.scm @@ -1,158 +1,131 @@ -( - - (comparator? - (lambda (obj) boolean?) - (pure predicate)) - - (comparator-ordered? - (lambda ((comparator? comparator)) boolean?) - (pure)) - - (comparatory-hashable? - (lambda ((comparator? comparator)) boolean?) - (pure)) - - (make-comparator - (lambda ((procedure? type-test) (procedure? equality) ((or procedure? #f) ordering) ((or procedure? #f) hash)) comparator?) - (pure) - ((type-test (lambda (obj) boolean?)) - (equality (lambda (obj1 obj2) boolean?)) - (ordering (lambda (obj1 obj2) boolean?)) - (hash (lambda (obj) integer?)))) - - (make-pair-comparator - (lambda ((comparator? car-comparator) (comparator? cdr-comparator)) comparator?) - (pure)) - - (make-list-comparator - (lambda ((comparator? element-comparator) (procedure? type-test) (procedure? empty?) (procedure? head) (procedure? tail)) comparator?) - (pure) - ((type-test (lambda (obj) boolean?)) - (empty? (lambda (obj) boolean?)) - (head (lambda (obj) *)) - (tail (lambda (obj) *)))) - - (make-vector-comparator - (lambda ((comparator? element-comparator) (procedure? type-test) (procedure? length) (procedure? ref)) comparator?) - (pure) - ((type-test (lambda (obj) boolean?)) - (length (lambda (obj) integer?)) - (ref (lambda (vec (integer? index)) *)))) - - (make-eq-comparator - (lambda () comparator?) - (pure)) - - (make-eqv-comparator - (lambda () comparator?) - (pure)) - - (make-equal-comparator - (lambda () comparator?) - (pure)) - - (boolean-hash - (lambda (obj) integer?) - (pure)) - - (char-hash - (lambda (obj) integer?) - (pure)) - - (char-ci-hash - (lambda (obj) integer?) - (pure)) - - (string-hash - (lambda (obj) integer?) - (pure)) - - (string-ci-hash - (lambda (obj) integer?) - (pure)) - - (symbol-hash - (lambda (obj) integer?) - (pure)) - - (number-hash - (lambda (obj) integer?) - (pure)) - - (hash-bound - (lambda () integer?) - (syntax)) - - (hash-salt - (lambda () integer?) - (syntax)) - - (make-default-comparator - (lambda () comparator?) - ()) - - (default-hash - (lambda (obj) integer?) - ()) - - (comparator-register-default! - (lambda ((comparator? comparator)) undefined)) - - (comparator-type-test-predicate - (lambda ((comparator? comparator)) procedure?) - (pure) - ((return (lambda (obj) boolean?)))) - - (comparator-equality-predicate - (lambda ((comparator? comparator)) procedure?) - (pure) - ((return (lambda (obj1 obj2) boolean?)))) - - (comparator-ordering-predicate - (lambda ((comparator? comparator)) (or #f procedure?)) - (pure) - ((return (lambda (obj1 obj2) boolean?)))) - - (comparator-hash-function - (lambda ((comparator? comparator)) (or #f procedure?)) - (pure) - ((return (lambda (obj) integer?)))) - - (comparator-test-type - (lambda ((comparator? comparator) obj) boolean?) - (pure)) - - (comparator-check-type - (lambda ((comparator? comparator) obj) boolean?) - ()) - - (comparator-hash - (lambda ((comparator? comparator) obj) integer?) - (pure)) - - (=? - (lambda ((comparator? comparator) object1 object2 object3 ...) boolean?) - (pure)) - - (? - (lambda ((comparator? comparator) object1 object2 object3 ...) boolean?) - (pure)) - - (<=? - (lambda ((comparator? comparator) object1 object2 object3 ...) boolean?) - (pure)) - - (>=? - (lambda ((comparator? comparator) object1 object2 object3 ...) boolean?) - (pure)) - - (comparator-if<=> - (syntax-rules () - ((_ comparator object1 object2 less-than equal-to greater-than)) - ((_ object1 object2 less-than equal-to greater-than)))) - - ) +(((name . comparator?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . comparator-ordered?) + (signature lambda ((comparator? comparator)) boolean?) + (tags pure)) + ((name . comparatory-hashable?) + (signature lambda ((comparator? comparator)) boolean?) + (tags pure)) + ((name . make-comparator) + (signature + lambda + ((procedure? type-test) + (procedure? equality) + ((or procedure? #f) ordering) + ((or procedure? #f) hash)) + comparator?) + (tags pure) + (subsigs + (type-test (lambda (obj) boolean?)) + (equality (lambda (obj1 obj2) boolean?)) + (ordering (lambda (obj1 obj2) boolean?)) + (hash (lambda (obj) integer?)))) + ((name . make-pair-comparator) + (signature + lambda + ((comparator? car-comparator) (comparator? cdr-comparator)) + comparator?) + (tags pure)) + ((name . make-list-comparator) + (signature + lambda + ((comparator? element-comparator) + (procedure? type-test) + (procedure? empty?) + (procedure? head) + (procedure? tail)) + comparator?) + (tags pure) + (subsigs + (type-test (lambda (obj) boolean?)) + (empty? (lambda (obj) boolean?)) + (head (lambda (obj) *)) + (tail (lambda (obj) *)))) + ((name . make-vector-comparator) + (signature + lambda + ((comparator? element-comparator) + (procedure? type-test) + (procedure? length) + (procedure? ref)) + comparator?) + (tags pure) + (subsigs + (type-test (lambda (obj) boolean?)) + (length (lambda (obj) integer?)) + (ref (lambda (vec (integer? index)) *)))) + ((name . make-eq-comparator) (signature lambda () comparator?) (tags pure)) + ((name . make-eqv-comparator) (signature lambda () comparator?) (tags pure)) + ((name . make-equal-comparator) (signature lambda () comparator?) (tags pure)) + ((name . boolean-hash) (signature lambda (obj) integer?) (tags pure)) + ((name . char-hash) (signature lambda (obj) integer?) (tags pure)) + ((name . char-ci-hash) (signature lambda (obj) integer?) (tags pure)) + ((name . string-hash) (signature lambda (obj) integer?) (tags pure)) + ((name . string-ci-hash) (signature lambda (obj) integer?) (tags pure)) + ((name . symbol-hash) (signature lambda (obj) integer?) (tags pure)) + ((name . number-hash) (signature lambda (obj) integer?) (tags pure)) + ((name . hash-bound) (signature syntax-rules () ((_) integer?)) (tags)) + ((name . hash-salt) (signature syntax-rules () ((_) integer?)) (tags)) + ((name . make-default-comparator) (signature lambda () comparator?)) + ((name . default-hash) (signature lambda (obj) integer?)) + ((name . comparator-register-default!) + (signature lambda ((comparator? comparator)) undefined)) + ((name . comparator-type-test-predicate) + (signature lambda ((comparator? comparator)) procedure?) + (tags pure) + (subsigs (return (lambda (obj) boolean?)))) + ((name . comparator-equality-predicate) + (signature lambda ((comparator? comparator)) procedure?) + (tags pure) + (subsigs (return (lambda (obj1 obj2) boolean?)))) + ((name . comparator-ordering-predicate) + (signature lambda ((comparator? comparator)) (or #f procedure?)) + (tags pure) + (subsigs (return (lambda (obj1 obj2) boolean?)))) + ((name . comparator-hash-function) + (signature lambda ((comparator? comparator)) (or #f procedure?)) + (tags pure) + (subsigs (return (lambda (obj) integer?)))) + ((name . comparator-test-type) + (signature lambda ((comparator? comparator) obj) boolean?) + (tags pure)) + ((name . comparator-check-type) + (signature lambda ((comparator? comparator) obj) boolean?)) + ((name . comparator-hash) + (signature lambda ((comparator? comparator) obj) integer?) + (tags pure)) + ((name . =?) + (signature + lambda + ((comparator? comparator) object1 object2 object3 ...) + boolean?) + (tags pure)) + ((name . ?) + (signature + lambda + ((comparator? comparator) object1 object2 object3 ...) + boolean?) + (tags pure)) + ((name . <=?) + (signature + lambda + ((comparator? comparator) object1 object2 object3 ...) + boolean?) + (tags pure)) + ((name . >=?) + (signature + lambda + ((comparator? comparator) object1 object2 object3 ...) + boolean?) + (tags pure)) + ((name . comparator-if<=>) + (signature + syntax-rules + () + ((_ comparator object1 object2 less-than equal-to greater-than)) + ((_ object1 object2 less-than equal-to greater-than))))) diff --git a/types/scheme.complex.scm b/types/scheme.complex.scm index 6f2e8a2..e5194f7 100644 --- a/types/scheme.complex.scm +++ b/types/scheme.complex.scm @@ -1,26 +1,10 @@ -( - (angle - (lambda ((complex? z)) real?) - (pure)) - - (imag-part - (lambda ((complex? z)) real?) - (pure)) - - (magnitude - (lambda ((complex? z)) real?) - (pure)) - - (make-polar - (lambda ((real? x3) (real? x4)) complex?) - (pure)) - - (make-rectangular - (lambda ((real? x1) (real? x2)) complex?) - (pure)) - - (real-part - (lambda ((complex? z)) real?) - (pure)) - - ) +(((name . angle) (signature lambda ((complex? z)) real?) (tags pure)) + ((name . imag-part) (signature lambda ((complex? z)) real?) (tags pure)) + ((name . magnitude) (signature lambda ((complex? z)) real?) (tags pure)) + ((name . make-polar) + (signature lambda ((real? x3) (real? x4)) complex?) + (tags pure)) + ((name . make-rectangular) + (signature lambda ((real? x1) (real? x2)) complex?) + (tags pure)) + ((name . real-part) (signature lambda ((complex? z)) real?) (tags pure))) diff --git a/types/scheme.cxr.scm b/types/scheme.cxr.scm index 83e4b7e..8b48fe5 100644 --- a/types/scheme.cxr.scm +++ b/types/scheme.cxr.scm @@ -1,97 +1,24 @@ -( - (caaaar - (lambda ((pair? pair)) *) - (pure)) - - (caaadr - (lambda ((pair? pair)) *) - (pure)) - - (caaar - (lambda ((pair? pair)) *) - (pure)) - - (caadar - (lambda ((pair? pair)) *) - (pure)) - - (caaddr - (lambda ((pair? pair)) *) - (pure)) - - (caadr - (lambda ((pair? pair)) *) - (pure)) - - (cadaar - (lambda ((pair? pair)) *) - (pure)) - - (cadadr - (lambda ((pair? pair)) *) - (pure)) - - (cadar - (lambda ((pair? pair)) *) - (pure)) - - (caddar - (lambda ((pair? pair)) *) - (pure)) - - (cadddr - (lambda ((pair? pair)) *) - (pure)) - - (caddr - (lambda ((pair? pair)) *) - (pure)) - - (cdaaar - (lambda ((pair? pair)) *) - (pure)) - - (cdaadr - (lambda ((pair? pair)) *) - (pure)) - - (cdaar - (lambda ((pair? pair)) *) - (pure)) - - (cdadar - (lambda ((pair? pair)) *) - (pure)) - - (cdaddr - (lambda ((pair? pair)) *) - (pure)) - - (cdadr - (lambda ((pair? pair)) *) - (pure)) - - (cddaar - (lambda ((pair? pair)) *) - (pure)) - - (cddadr - (lambda ((pair? pair)) *) - (pure)) - - (cddar - (lambda ((pair? pair)) *) - (pure)) - - (cdddar - (lambda ((pair? pair)) *) - (pure)) - - (cddddr - (lambda ((pair? pair)) *) - (pure)) - - (cdddr - (lambda ((pair? pair)) *) - (pure)) - ) +(((name . caaaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caaadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caadar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caaddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caddar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdadar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdddar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdddr) (signature lambda ((pair? pair)) *) (tags pure))) diff --git a/types/scheme.division.scm b/types/scheme.division.scm index a946b22..032c1f2 100644 --- a/types/scheme.division.scm +++ b/types/scheme.division.scm @@ -1,74 +1,72 @@ -( - - (floor/ - (lambda ((integer? numerator) (integer? denominator)) (values integer? integer?)) - (pure)) - - (floor-quotient - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (floor-remainder - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (ceiling/ - (lambda ((integer? numerator) (integer? denominator)) (values integer? integer?)) - (pure)) - - (ceiling-quotient - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (ceiling-remainder - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (truncate/ - (lambda ((integer? numerator) (integer? denominator)) (values integer? integer?)) - (pure)) - - (truncate-quotient - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (truncate-remainder - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (round/ - (lambda ((integer? numerator) (integer? denominator)) (values integer? integer?)) - (pure)) - - (round-quotient - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (round-remainder - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (euclidean/ - (lambda ((integer? numerator) (integer? denominator)) (values integer? integer?)) - (pure)) - - (euclidean-quotient - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (euclidean-remainder - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (balanced/ - (lambda ((integer? numerator) (integer? denominator)) (values integer? integer?)) - (pure)) - - (balanced-quotient - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - - (balanced-remainder - (lambda ((integer? numerator) (integer? denominator)) integer?) - (pure)) - ) +(((name . floor/) + (signature + lambda + ((integer? numerator) (integer? denominator)) + (values integer? integer?)) + (tags pure)) + ((name . floor-quotient) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . floor-remainder) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . ceiling/) + (signature + lambda + ((integer? numerator) (integer? denominator)) + (values integer? integer?)) + (tags pure)) + ((name . ceiling-quotient) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . ceiling-remainder) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . truncate/) + (signature + lambda + ((integer? numerator) (integer? denominator)) + (values integer? integer?)) + (tags pure)) + ((name . truncate-quotient) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . truncate-remainder) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . round/) + (signature + lambda + ((integer? numerator) (integer? denominator)) + (values integer? integer?)) + (tags pure)) + ((name . round-quotient) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . round-remainder) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . euclidean/) + (signature + lambda + ((integer? numerator) (integer? denominator)) + (values integer? integer?)) + (tags pure)) + ((name . euclidean-quotient) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . euclidean-remainder) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . balanced/) + (signature + lambda + ((integer? numerator) (integer? denominator)) + (values integer? integer?)) + (tags pure)) + ((name . balanced-quotient) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure)) + ((name . balanced-remainder) + (signature lambda ((integer? numerator) (integer? denominator)) integer?) + (tags pure))) diff --git a/types/scheme.ephemeron.scm b/types/scheme.ephemeron.scm index a3c2d0b..835f068 100644 --- a/types/scheme.ephemeron.scm +++ b/types/scheme.ephemeron.scm @@ -1,22 +1,9 @@ -( - - (ephemeron? - (lambda (object) boolean?) - (pure predicate)) - - (make-ephemeron - (lambda (key datum) ephemeron?)) - - (ephemeron-broken? - (lambda ((ephemeron? ephemeron)) boolean?)) - - (ephemeron-key - (lambda ((ephemeron? ephemeron)) *)) - - (ephemeron-datum - (lambda ((ephemeron? ephemeron)) *)) - - (reference-barrier - (lambda (key) *)) - - ) +(((name . ephemeron?) + (signature lambda (object) boolean?) + (tags pure predicate)) + ((name . make-ephemeron) (signature lambda (key datum) ephemeron?)) + ((name . ephemeron-broken?) + (signature lambda ((ephemeron? ephemeron)) boolean?)) + ((name . ephemeron-key) (signature lambda ((ephemeron? ephemeron)) *)) + ((name . ephemeron-datum) (signature lambda ((ephemeron? ephemeron)) *)) + ((name . reference-barrier) (signature lambda (key) *))) diff --git a/types/scheme.eval.scm b/types/scheme.eval.scm index 2e6697c..ee9deee 100644 --- a/types/scheme.eval.scm +++ b/types/scheme.eval.scm @@ -1,8 +1,2 @@ -( - (environment - (lambda ((list? list1) ...) *) - (pure)) - - (eval - (lambda (expr-or-def environment-specifier) *)) - ) +(((name . environment) (signature lambda ((list? list1) ...) *) (tags pure)) + ((name . eval) (signature lambda (expr-or-def environment-specifier) *))) diff --git a/types/scheme.file.scm b/types/scheme.file.scm index 1a461d8..0e58d8e 100644 --- a/types/scheme.file.scm +++ b/types/scheme.file.scm @@ -1,39 +1,22 @@ -( - (call-with-input-file - (lambda ((string? string) (procedure? proc)) *) - () - ((proc (lambda ((input-port? port)) *)))) - - (call-with-output-file - (lambda ((string? string) (procedure? proc)) *) - () - ((proc (lambda ((output-port? port)) *)))) - - (delete-file - (lambda ((string? filename)) undefined)) - - (file-exists? - (lambda ((string? filename)) boolean?)) - - (open-binary-input-file - (lambda ((string? string)) input-port?)) - - (open-binary-output-file - (lambda ((string? string)) output-port?)) - - (open-input-file - (lambda ((string? string)) input-port?)) - - (open-output-file - (lambda ((string? string)) output-port?)) - - (with-input-from-file - (lambda ((string? string) (procedure? thunk)) *) - (parameterized) - ((thunk (lambda () *)))) - - (with-output-to-file - (lambda ((string? string) (procedure? thunk)) *) - (parameterized) - ((thunk (lambda () *)))) - ) +(((name . call-with-input-file) + (signature lambda ((string? string) (procedure? proc)) *) + (subsigs (proc (lambda ((input-port? port)) *)))) + ((name . call-with-output-file) + (signature lambda ((string? string) (procedure? proc)) *) + (subsigs (proc (lambda ((output-port? port)) *)))) + ((name . delete-file) (signature lambda ((string? filename)) undefined)) + ((name . file-exists?) (signature lambda ((string? filename)) boolean?)) + ((name . open-binary-input-file) + (signature lambda ((string? string)) input-port?)) + ((name . open-binary-output-file) + (signature lambda ((string? string)) output-port?)) + ((name . open-input-file) (signature lambda ((string? string)) input-port?)) + ((name . open-output-file) (signature lambda ((string? string)) output-port?)) + ((name . with-input-from-file) + (signature lambda ((string? string) (procedure? thunk)) *) + (tags parameterized) + (subsigs (thunk (lambda () *)))) + ((name . with-output-to-file) + (signature lambda ((string? string) (procedure? thunk)) *) + (tags parameterized) + (subsigs (thunk (lambda () *))))) diff --git a/types/scheme.fixnum.scm b/types/scheme.fixnum.scm index eed1325..f6a68ae 100644 --- a/types/scheme.fixnum.scm +++ b/types/scheme.fixnum.scm @@ -1,177 +1,100 @@ -( - - (fx-width - (value integer?)) - - (fx-greatest - (value fixnum?)) - - (fx-least - (value fixnum?)) - - (fixnum? - (lambda (obj) boolean?) - (pure predicate) - () - (integer?)) - - (fx=? - (lambda ((fixnum? i) ...) boolean?) - (pure)) - - (fx? - (lambda ((fixnum? i) ...) boolean?) - (pure)) - - (fx<=? - (lambda ((fixnum? i) ...) boolean?) - (pure)) - - (fx>=? - (lambda ((fixnum? i) ...) boolean?) - (pure)) - - (fxzero? - (lambda ((fixnum? i)) boolean?) - (pure)) - - (fxpositive? - (lambda ((fixnum? i)) boolean?) - (pure)) - - (fxnegative? - (lambda ((fixnum? i)) boolean?) - (pure)) - - (fxodd? - (lambda ((fixnum? i)) boolean?) - (pure)) - - (fxeven? - (lambda ((fixnum? i)) boolean?) - (pure)) - - (fxmax - (lambda ((fixnum? i) (fixnum? j) ...) fixnum?) - (pure)) - - (fxmin - (lambda ((fixnum? i) (fixnum? j) ...) fixnum?) - (pure)) - - (fx+ - (lambda ((fixnum? i) (fixnum? j)) fixnum?) - (pure)) - - (fx- - (lambda ((fixnum? i) (fixnum? j)) fixnum?) - (pure)) - - (fxneg - (lambda ((fixnum? i)) fixnum?) - (pure)) - - (fx* - (lambda ((fixnum? i) (fixnum? j)) fixnum?) - (pure)) - - (fxquotient - (lambda ((fixnum? i) (fixnum? j)) fixnum?) - (pure)) - - (fxremainder - (lambda ((fixnum? i) (fixnum? j)) fixnum?) - (pure)) - - (fxabs - (lambda ((fixnum? i)) fixnum?) - (pure)) - - (fxsquare - (lambda ((fixnum? i)) fixnum?) - (pure)) - - (fxsqrt - (lambda ((fixnum? i)) fixnum?) - (pure)) - - (fx+/carry - (lambda ((fixnum? i) (fixnum? j) (fixnum? k)) (values fixnum? fixnum?)) - (pure)) - - (fx-/carry - (lambda ((fixnum? i) (fixnum? j) (fixnum? k)) (values fixnum? fixnum?)) - (pure)) - - (fx*/carry - (lambda ((fixnum? i) (fixnum? j) (fixnum? k)) (values fixnum? fixnum?)) - (pure)) - - (fxnot - (lambda ((integer? i)) integer?) - (pure)) - - (fxand - (lambda ((integer? i) ...) integer?) - (pure)) - - (fxior - (lambda ((integer? i) ...) integer?) - (pure)) - - (fxxor - (lambda ((integer? i) ...) integer?) - (pure)) - - (fxarithmetic-shift - (lambda ((fixnum? i) (integer? count)) fixnum?) - (pure)) - - (arithmetic-shift-left - (lambda ((fixnum? i) (integer? count)) fixnum?) - (pure)) - - (arithmetic-shift-right - (lambda ((fixnum? i) (integer? count)) fixnum?) - (pure)) - - (fxbit-count - (lambda ((fixnum? i)) integer?) - (pure)) - - (fxlength - (lambda ((fixnum? i)) integer?) - (pure)) - - (fxif - (lambda ((fixnum? mask) (fixnum? i) (fixnum? j)) fixnum?) - (pure)) - - (fxbit-set? - (lambda ((integer? index) (fixnum? i)) boolean?) - (pure)) - - (fxcopy-bit - (lambda ((integer? index) (fixnum? i) (boolean? boolean)) fixnum?) - (pure)) - - (fxfirst-set-bit - (lambda ((fixnum? i)) integer?) - (pure)) - - (fxbit-field - (lambda ((fixnum? i) (integer? start) (integer? end)) fixnum?) - (pure)) - - (fxbit-field-rotate - (lambda ((fixnum? i) (integer? count) (integer? start) (integer? end)) fixnum?) - (pure)) - - (bit-field-reverse - (lambda ((fixnum? i) (integer? start) (integer? end)) fixnum?) - (pure)) - ) +(((name . fx-width) (signature value integer?)) + ((name . fx-greatest) (signature value fixnum?)) + ((name . fx-least) (signature value fixnum?)) + ((name . fixnum?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes integer?)) + ((name . fx=?) (signature lambda ((fixnum? i) ...) boolean?) (tags pure)) + ((name . fx?) (signature lambda ((fixnum? i) ...) boolean?) (tags pure)) + ((name . fx<=?) (signature lambda ((fixnum? i) ...) boolean?) (tags pure)) + ((name . fx>=?) (signature lambda ((fixnum? i) ...) boolean?) (tags pure)) + ((name . fxzero?) (signature lambda ((fixnum? i)) boolean?) (tags pure)) + ((name . fxpositive?) (signature lambda ((fixnum? i)) boolean?) (tags pure)) + ((name . fxnegative?) (signature lambda ((fixnum? i)) boolean?) (tags pure)) + ((name . fxodd?) (signature lambda ((fixnum? i)) boolean?) (tags pure)) + ((name . fxeven?) (signature lambda ((fixnum? i)) boolean?) (tags pure)) + ((name . fxmax) + (signature lambda ((fixnum? i) (fixnum? j) ...) fixnum?) + (tags pure)) + ((name . fxmin) + (signature lambda ((fixnum? i) (fixnum? j) ...) fixnum?) + (tags pure)) + ((name . fx+) + (signature lambda ((fixnum? i) (fixnum? j)) fixnum?) + (tags pure)) + ((name . fx-) + (signature lambda ((fixnum? i) (fixnum? j)) fixnum?) + (tags pure)) + ((name . fxneg) (signature lambda ((fixnum? i)) fixnum?) (tags pure)) + ((name . fx*) + (signature lambda ((fixnum? i) (fixnum? j)) fixnum?) + (tags pure)) + ((name . fxquotient) + (signature lambda ((fixnum? i) (fixnum? j)) fixnum?) + (tags pure)) + ((name . fxremainder) + (signature lambda ((fixnum? i) (fixnum? j)) fixnum?) + (tags pure)) + ((name . fxabs) (signature lambda ((fixnum? i)) fixnum?) (tags pure)) + ((name . fxsquare) (signature lambda ((fixnum? i)) fixnum?) (tags pure)) + ((name . fxsqrt) (signature lambda ((fixnum? i)) fixnum?) (tags pure)) + ((name . fx+/carry) + (signature + lambda + ((fixnum? i) (fixnum? j) (fixnum? k)) + (values fixnum? fixnum?)) + (tags pure)) + ((name . fx-/carry) + (signature + lambda + ((fixnum? i) (fixnum? j) (fixnum? k)) + (values fixnum? fixnum?)) + (tags pure)) + ((name . fx*/carry) + (signature + lambda + ((fixnum? i) (fixnum? j) (fixnum? k)) + (values fixnum? fixnum?)) + (tags pure)) + ((name . fxnot) (signature lambda ((integer? i)) integer?) (tags pure)) + ((name . fxand) (signature lambda ((integer? i) ...) integer?) (tags pure)) + ((name . fxior) (signature lambda ((integer? i) ...) integer?) (tags pure)) + ((name . fxxor) (signature lambda ((integer? i) ...) integer?) (tags pure)) + ((name . fxarithmetic-shift) + (signature lambda ((fixnum? i) (integer? count)) fixnum?) + (tags pure)) + ((name . arithmetic-shift-left) + (signature lambda ((fixnum? i) (integer? count)) fixnum?) + (tags pure)) + ((name . arithmetic-shift-right) + (signature lambda ((fixnum? i) (integer? count)) fixnum?) + (tags pure)) + ((name . fxbit-count) (signature lambda ((fixnum? i)) integer?) (tags pure)) + ((name . fxlength) (signature lambda ((fixnum? i)) integer?) (tags pure)) + ((name . fxif) + (signature lambda ((fixnum? mask) (fixnum? i) (fixnum? j)) fixnum?) + (tags pure)) + ((name . fxbit-set?) + (signature lambda ((integer? index) (fixnum? i)) boolean?) + (tags pure)) + ((name . fxcopy-bit) + (signature lambda ((integer? index) (fixnum? i) (boolean? boolean)) fixnum?) + (tags pure)) + ((name . fxfirst-set-bit) + (signature lambda ((fixnum? i)) integer?) + (tags pure)) + ((name . fxbit-field) + (signature lambda ((fixnum? i) (integer? start) (integer? end)) fixnum?) + (tags pure)) + ((name . fxbit-field-rotate) + (signature + lambda + ((fixnum? i) (integer? count) (integer? start) (integer? end)) + fixnum?) + (tags pure)) + ((name . bit-field-reverse) + (signature lambda ((fixnum? i) (integer? start) (integer? end)) fixnum?) + (tags pure))) diff --git a/types/scheme.flonum.scm b/types/scheme.flonum.scm index 84851a4..54ccb94 100644 --- a/types/scheme.flonum.scm +++ b/types/scheme.flonum.scm @@ -1,412 +1,183 @@ -( - - (fl-e (value flonum?)) - - (fl-1/e (value flonum?)) - - (fl-e-2 (value flonum?)) - - (fl-e-pi/4 (value flonum?)) - - (fl-log2-e (value flonum?)) - - (fl-log10-e (value flonum?)) - - (fl-log-2 (value flonum?)) - - (fl-1/log-2 (value flonum?)) - - (fl-log-3 (value flonum?)) - - (fl-log-pi (value flonum?)) - - (fl-log-10 (value flonum?)) - - (fl-1/log-10 (value flonum?)) - - (fl-pi (value flonum?)) - - (fl-1/pi (value flonum?)) - - (fl-2pi (value flonum?)) - - (fl-pi/2 (value flonum?)) - - (fl-pi/4 (value flonum?)) - - (fl-pi-squared (value flonum?)) - - (fl-degree (value flonum?)) - - (fl-2/pi (value flonum?)) - - (fl-2/sqrt-pi (value flonum?)) - - (fl-sqrt-2 (value flonum?)) - - (fl-sqrt-3 (value flonum?)) - - (fl-sqrt-5 (value flonum?)) - - (fl-sqrt-10 (value flonum?)) - - (fl-1/sqrt-2 (value flonum?)) - - (fl-cbrt-2 (value flonum?)) - - (fl-cbrt-3 (value flonum?)) - - (fl-4thrt-2 (value flonum?)) - - (fl-phi (value flonum?)) - - (fl-log-phi (value flonum?)) - - (fl-1/log-phi (value flonum?)) - - (fl-euler (value flonum?)) - - (fl-e-euler (value flonum?)) - - (fl-sin-1 (value flonum?)) - - (fl-cos-1 (value flonum?)) - - (fl-gamma-1/2 (value flonum?)) - - (fl-gamma-1/3 (value flonum?)) - - (fl-gamma-2/3 (value flonum?)) - - (fl-greatest (value flonum?)) - - (fl-least (value flonum?)) - - (fl-epsilon (value flonum?)) - - (fl-fast-fl+* (value boolean?)) - - (fl-integer-exponent-zero (value integer?)) - - (fl-integer-exponent-nan (value integer?)) - - (flonum - (lambda ((real? number)) flonum?) - (pure)) - - (fladjacent - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (flcopysign - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (make-flonum - (lambda ((flonum? x) (integer? n)) flonum?) - (pure)) - - (flinteger-fraction - (lambda ((flonum? x)) (values flonum? flonum?)) - (pure)) - - (flexponent - (lambda ((flonum? x)) flonum?) - (pure)) - - (flinteger-exponent - (lambda ((flonum? x)) integer?) - (pure)) - - (flnormalized-fraction-exponent - (lambda ((flonum? x)) (flonum? integer?)) - (pure)) - - (flsign-bit - (lambda ((flonum? x)) integer?) - (pure)) - - (flonum? - (lambda (obj) boolean?) - (pure predicate) - () - (real?)) - - (fl=? - (lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) - (pure)) - - (fl? - (lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) - (pure)) - - (fl<=? - (lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) - (pure)) - - (fl>=? - (lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) - (pure)) - - (flunordered - (lambda ((flonum? x) (flonum? y)) boolean?) - (pure)) - - (flinteger? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flzero? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flpositive? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flnegative? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flodd? - (lambda ((flonum? x)) boolean?) - (pure)) - - (fleven? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flfinite? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flinfinite? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flnan? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flnormalized? - (lambda ((flonum? x)) boolean?) - (pure)) - - (fldenormalized? - (lambda ((flonum? x)) boolean?) - (pure)) - - (flmax - (lambda ((flonum? x) ...) flonum?) - (pure)) - - (flmin - (lambda ((flonum? x) ...) flonum?) - (pure)) - - (fl+ - (lambda ((flonum? x) ...) flonum?) - (pure)) - - (fl* - (lambda ((flonum? x) ...) flonum?) - (pure)) - - (fl+* - (lambda ((flonum? x) (flonum? y) (flonum? z)) flonum?) - (pure)) - - (fl- - (lambda ((flonum? x) (flonum? y) ...) flonum?) - (pure)) - - (fl/ - (lambda ((flonum? x) (flonum? y) ...) flonum?) - (pure)) - - (flabs - (lambda ((flonum? x)) flonum?) - (pure)) - - (flabsdiff - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (flposdiff - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (flsgn - (lambda ((flonum? x)) flonum?) - (pure)) - - (flnumerator - (lambda ((flonum? x)) flonum?) - (pure)) - - (fldenominator - (lambda ((flonum? x)) flonum?) - (pure)) - - (flfloor - (lambda ((flonum? x)) flonum?) - (pure)) - - (flceiling - (lambda ((flonum? x)) flonum?) - (pure)) - - (flround - (lambda ((flonum? x)) flonum?) - (pure)) - - (fltruncate - (lambda ((flonum? x)) flonum?) - (pure)) - - (flexp - (lambda ((flonum? x)) flonum?) - (pure)) - - (flexp2 - (lambda ((flonum? x)) flonum?) - (pure)) - - (flexp-1 - (lambda ((flonum? x)) flonum?) - (pure)) - - (flsquare - (lambda ((flonum? x)) flonum?) - (pure)) - - (flsqrt - (lambda ((flonum? x)) flonum?) - (pure)) - - (flcbrt - (lambda ((flonum? x)) flonum?) - (pure)) - - (flhypot - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (flexpt - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (fllog - (lambda ((flonum? x)) flonum?) - (pure)) - - (fllog1+ - (lambda ((flonum? x)) flonum?) - (pure)) - - (fllog2 - (lambda ((flonum? x)) flonum?) - (pure)) - - (fllog10 - (lambda ((flonum? x)) flonum?) - (pure)) - - (make-fllog-base - (lambda ((flonum? base)) procedure?) - (pure) - ((return (lambda ((flonum? x)) flonum?)))) - - (flsin - (lambda ((flonum? x)) flonum?) - (pure)) - - (flcos - (lambda ((flonum? x)) flonum?) - (pure)) - - (fltan - (lambda ((flonum? x)) flonum?) - (pure)) - - (flasin - (lambda ((flonum? x)) flonum?) - (pure)) - - (flacos - (lambda ((flonum? x)) flonum?) - (pure)) - - (flatan - (lambda ((flonum? x)) flonum?) - (pure)) - - (flatan - (lambda ((flonum? y) (flonum? x)) flonum?) - (pure)) - - (flsinh - (lambda ((flonum? x)) flonum?) - (pure)) - - (flcosh - (lambda ((flonum? x)) flonum?) - (pure)) - - (fltanh - (lambda ((flonum? x)) flonum?) - (pure)) - - (flasinh - (lambda ((flonum? x)) flonum?) - (pure)) - - (flacosh - (lambda ((flonum? x)) flonum?) - (pure)) - - (flatanh - (lambda ((flonum? x)) flonum?) - (pure)) - - (flquotient - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (flremainder - (lambda ((flonum? x) (flonum? y)) flonum?) - (pure)) - - (flremquo - (lambda ((flonum? x) (flonum? y)) (values flonum? integer?)) - (pure)) - - (flgamma - (lambda ((flonum? x)) flonum?) - (pure)) - - (flloggamma - (lambda ((flonum? x)) flonum?) - (pure)) - - (flfirst-bessel - (lambda ((integer? n) (flonum? x)) flonum?) - (pure)) - - (flsecond-bessel - (lambda ((integer? n) (flonum? x)) flonum?) - (pure)) - - (flerf - (lambda ((flonum? x)) flonum?) - (pure)) - - (flerfc - (lambda ((flonum? x)) flonum?) - (pure)) - -) +(((name . fl-e) (signature value flonum?)) + ((name . fl-1/e) (signature value flonum?)) + ((name . fl-e-2) (signature value flonum?)) + ((name . fl-e-pi/4) (signature value flonum?)) + ((name . fl-log2-e) (signature value flonum?)) + ((name . fl-log10-e) (signature value flonum?)) + ((name . fl-log-2) (signature value flonum?)) + ((name . fl-1/log-2) (signature value flonum?)) + ((name . fl-log-3) (signature value flonum?)) + ((name . fl-log-pi) (signature value flonum?)) + ((name . fl-log-10) (signature value flonum?)) + ((name . fl-1/log-10) (signature value flonum?)) + ((name . fl-pi) (signature value flonum?)) + ((name . fl-1/pi) (signature value flonum?)) + ((name . fl-2pi) (signature value flonum?)) + ((name . fl-pi/2) (signature value flonum?)) + ((name . fl-pi/4) (signature value flonum?)) + ((name . fl-pi-squared) (signature value flonum?)) + ((name . fl-degree) (signature value flonum?)) + ((name . fl-2/pi) (signature value flonum?)) + ((name . fl-2/sqrt-pi) (signature value flonum?)) + ((name . fl-sqrt-2) (signature value flonum?)) + ((name . fl-sqrt-3) (signature value flonum?)) + ((name . fl-sqrt-5) (signature value flonum?)) + ((name . fl-sqrt-10) (signature value flonum?)) + ((name . fl-1/sqrt-2) (signature value flonum?)) + ((name . fl-cbrt-2) (signature value flonum?)) + ((name . fl-cbrt-3) (signature value flonum?)) + ((name . fl-4thrt-2) (signature value flonum?)) + ((name . fl-phi) (signature value flonum?)) + ((name . fl-log-phi) (signature value flonum?)) + ((name . fl-1/log-phi) (signature value flonum?)) + ((name . fl-euler) (signature value flonum?)) + ((name . fl-e-euler) (signature value flonum?)) + ((name . fl-sin-1) (signature value flonum?)) + ((name . fl-cos-1) (signature value flonum?)) + ((name . fl-gamma-1/2) (signature value flonum?)) + ((name . fl-gamma-1/3) (signature value flonum?)) + ((name . fl-gamma-2/3) (signature value flonum?)) + ((name . fl-greatest) (signature value flonum?)) + ((name . fl-least) (signature value flonum?)) + ((name . fl-epsilon) (signature value flonum?)) + ((name . fl-fast-fl+*) (signature value boolean?)) + ((name . fl-integer-exponent-zero) (signature value integer?)) + ((name . fl-integer-exponent-nan) (signature value integer?)) + ((name . flonum) (signature lambda ((real? number)) flonum?) (tags pure)) + ((name . fladjacent) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . flcopysign) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . make-flonum) + (signature lambda ((flonum? x) (integer? n)) flonum?) + (tags pure)) + ((name . flinteger-fraction) + (signature lambda ((flonum? x)) (values flonum? flonum?)) + (tags pure)) + ((name . flexponent) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flinteger-exponent) + (signature lambda ((flonum? x)) integer?) + (tags pure)) + ((name . flnormalized-fraction-exponent) + (signature lambda ((flonum? x)) (flonum? integer?)) + (tags pure)) + ((name . flsign-bit) (signature lambda ((flonum? x)) integer?) (tags pure)) + ((name . flonum?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes real?)) + ((name . fl=?) + (signature lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) + (tags pure)) + ((name . fl?) + (signature lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) + (tags pure)) + ((name . fl<=?) + (signature lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) + (tags pure)) + ((name . fl>=?) + (signature lambda ((flonum? x) (flonum? y) (flonum? z) ...) boolean?) + (tags pure)) + ((name . flunordered) + (signature lambda ((flonum? x) (flonum? y)) boolean?) + (tags pure)) + ((name . flinteger?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flzero?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flpositive?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flnegative?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flodd?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . fleven?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flfinite?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flinfinite?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flnan?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . flnormalized?) (signature lambda ((flonum? x)) boolean?) (tags pure)) + ((name . fldenormalized?) + (signature lambda ((flonum? x)) boolean?) + (tags pure)) + ((name . flmax) (signature lambda ((flonum? x) ...) flonum?) (tags pure)) + ((name . flmin) (signature lambda ((flonum? x) ...) flonum?) (tags pure)) + ((name . fl+) (signature lambda ((flonum? x) ...) flonum?) (tags pure)) + ((name . fl*) (signature lambda ((flonum? x) ...) flonum?) (tags pure)) + ((name . fl+*) + (signature lambda ((flonum? x) (flonum? y) (flonum? z)) flonum?) + (tags pure)) + ((name . fl-) + (signature lambda ((flonum? x) (flonum? y) ...) flonum?) + (tags pure)) + ((name . fl/) + (signature lambda ((flonum? x) (flonum? y) ...) flonum?) + (tags pure)) + ((name . flabs) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flabsdiff) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . flposdiff) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . flsgn) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flnumerator) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . fldenominator) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flfloor) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flceiling) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flround) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . fltruncate) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flexp) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flexp2) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flexp-1) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flsquare) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flsqrt) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flcbrt) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flhypot) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . flexpt) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . fllog) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . fllog1+) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . fllog2) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . fllog10) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . make-fllog-base) + (signature lambda ((flonum? base)) procedure?) + (tags pure) + (subsigs (return (lambda ((flonum? x)) flonum?)))) + ((name . flsin) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flcos) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . fltan) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flasin) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flacos) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flatan) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flatan) + (signature lambda ((flonum? y) (flonum? x)) flonum?) + (tags pure)) + ((name . flsinh) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flcosh) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . fltanh) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flasinh) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flacosh) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flatanh) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flquotient) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . flremainder) + (signature lambda ((flonum? x) (flonum? y)) flonum?) + (tags pure)) + ((name . flremquo) + (signature lambda ((flonum? x) (flonum? y)) (values flonum? integer?)) + (tags pure)) + ((name . flgamma) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flloggamma) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flfirst-bessel) + (signature lambda ((integer? n) (flonum? x)) flonum?) + (tags pure)) + ((name . flsecond-bessel) + (signature lambda ((integer? n) (flonum? x)) flonum?) + (tags pure)) + ((name . flerf) (signature lambda ((flonum? x)) flonum?) (tags pure)) + ((name . flerfc) (signature lambda ((flonum? x)) flonum?) (tags pure))) diff --git a/types/scheme.generator.scm b/types/scheme.generator.scm index 023001f..f043618 100644 --- a/types/scheme.generator.scm +++ b/types/scheme.generator.scm @@ -1,318 +1,229 @@ -( - (generator - (lambda (arg ...) procedure?) - () - ((return (lambda () *)))) - - (make-iota-generator - (lambda ((integer? count)) procedure?) - () - ((return (lambda () (or integer? eof-object?))))) - - (make-iota-generator - (lambda ((integer? count) (real? start)) procedure?) - () - ((return (lambda () (or real? eof-object?))))) - - (make-iota-generator - (lambda ((integer? count) (real? start) (real? step)) procedure?) - () - ((return (lambda () (or real? eof-object?))))) - - (make-range-generator - (lambda ((real? start)) procedure?) - () - ((return (lambda () real?)))) - - (make-range-generator - (lambda ((real? start) (real? end)) procedure?) - () - ((return (lambda () (or real? eof-object?))))) - - (make-range-generator - (lambda ((real? start) (real? end) (real? step)) procedure?) - () - ((return (lambda () (or real? eof-object?))))) - - (make-coroutine-generator - (lambda ((procedure? proc)) procedure?) - () - ((proc (lambda ((procedure? yield)) undefined)) - (yield (lambda (value) undefined)) - (return (lambda () *)))) - - (list->generator - (lambda ((list? lis)) procedure?) - () - ((return (lambda () *)))) - - (vector->generator - (lambda ((vector? vec)) procedure?) - () - ((return (lambda () *)))) - - (vector->generator - (lambda ((vector? vec) (integer? start)) procedure?) - () - ((return (lambda () *)))) - - (vector->generator - (lambda ((vector? vec) (integer? start) (integer? end)) procedure?) - () - ((return (lambda () *)))) - - (reverse-vector->generator - (lambda ((vector? vec)) procedure?) - () - ((return (lambda () *)))) - - (reverse-vector->generator - (lambda ((vector? vec) (integer? start)) procedure?) - () - ((return (lambda () *)))) - - (reverse-vector->generator - (lambda ((vector? vec) (integer? start) (integer? end)) procedure?) - () - ((return (lambda () *)))) - - (string->generator - (lambda ((string? str)) procedure?) - () - ((return (lambda () (or char? eof-object?))))) - - (string->generator - (lambda ((string? str) (integer? start)) procedure?) - () - ((return (lambda () (or char? eof-object?))))) - - (string->generator - (lambda ((string? str) (integer? start) (integer? end)) procedure?) - () - ((return (lambda () (or char? eof-object?))))) - - (bytevector->generator - (lambda ((bytevector? bytevector)) procedure?) - () - ((return (lambda () (or integer? eof-object?))))) - - (bytevector->generator - (lambda ((bytevector? bytevector) (integer? start)) procedure?) - () - ((return (lambda () (or integer? eof-object?))))) - - (bytevector->generator - (lambda ((bytevector? bytevector) (integer? start) (integer? end)) procedure?) - () - ((return (lambda () (or integer? eof-object?))))) - - (make-for-each-generator - (lambda ((procedure? for-each) obj) procedure?) - () - ((for-each (lambda (element) undefined)) - (return (lambda () *)))) - - (make-unfold-generator - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) procedure?) - () - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)) - (return (lambda () *)))) - - (gcons* - (lambda (item ... (procedure? gen)) procedure?) - () - ((gen (lambda () *)) - (return (lambda () *)))) - - (gappend - (lambda ((procedure? gen) ...) procedure?) - () - ((gen (lambda () *)) - (return (lambda () *)))) - - (gcombine - (lambda ((procedure? proc) seed (procedure? gen1) (procedure? gen2) ...) procedure?) - () - ((proc (lambda (value1 value2 ... seed) (values * *))) - (gen (lambda () *)) - (return (lambda () *)))) - - (gfilter - (lambda ((procedure? pred) (procedure? gen)) procedure?) - () - ((pred (lambda (element) boolean?)) - (gen (lambda () *)) - (return (lambda () *)))) - - (gremove - (lambda ((procedure? pred) (procedure? gen)) procedure?) - () - ((pred (lambda (element) boolean?)) - (gen (lambda () *)) - (return (lambda () *)))) - - (gtake - (lambda ((procedure? gen) (integer? k)) procedure?) - () - ((gen (lambda () *)) - (return (lambda () *)))) - - (gtake - (lambda ((procedure? gen) (integer? k) padding) procedure?) - () - ((gen (lambda () *)) - (return (lambda () *)))) - - (gdrop - (lambda ((procedure? gen) (integer? k)) procedure?) - () - ((gen (lambda () *)) - (return (lambda () *)))) - - (gtake-while - (lambda ((procedure? pred) (procedure? gen)) procedure?) - () - ((pred (lambda (element) boolean?)) - (gen (lambda () *)) - (return (lambda () *)))) - - (gdrop-while - (lambda ((procedure? pred) (procedure? gen)) procedure?) - () - ((pred (lambda (element) boolean?)) - (gen (lambda () *)) - (return (lambda () *)))) - - (gdelete - (lambda (item (procedure? gen)) procedure?) - () - ((gen (lambda () *)) - (return (lambda () *)))) - - (gdelete - (lambda (item (procedure? gen) (procedure? =)) procedure?) - () - ((gen (lambda () *)) - (= (lambda (a b) boolean?)) - (return (lambda () *)))) - - (gdelete-neighbor-dups - (lambda ((procedure? gen)) procedure?) - () - ((gen (lambda () *)) - (return (lambda () *)))) - - (gdelete-neighbor-dups - (lambda ((procedure? gen) (procedure? =)) procedure?) - () - ((gen (lambda () *)) - (= (lambda (a b) boolean?)) - (return (lambda () *)))) - - (gindex - (lambda ((procedure? value-gen) (procedure? index-gen)) procedure?) - () - ((value-gen (lambda () *)) - (index-gen (lambda () (or integer? eof-object?))) - (return (lambda () *)))) - - (gselect - (lambda ((procedure? value-gen) (procedure? truth-gen)) procedure?) - () - ((value-gen (lambda () *)) - (truth-gen (lambda () (or boolean? eof-object?))) - (return (lambda () *)))) - - (generator->list - (lambda ((procedure? generator)) list?) - () - ((generator (lambda () *)))) - - (generator->list - (lambda ((procedure? generator) (integer? k)) list?) - () - ((generator (lambda () *)))) - - (generator->reverse-list - (lambda ((procedure? generator)) list?) - () - ((generator (lambda () *)))) - - (generator->reverse-list - (lambda ((procedure? generator) (integer? k)) list?) - () - ((generator (lambda () *)))) - - (generator->vector - (lambda ((procedure? generator)) vector?) - () - ((generator (lambda () *)))) - - (generator->vector - (lambda ((procedure? generator) (integer? k)) vector?) - () - ((generator (lambda () *)))) - - (generator->vector! - (lambda ((vector? vector) (integer? at) (procedure? generator)) integer?) - () - ((generator (lambda () *)))) - - (generator->string - (lambda ((procedure? generator)) string?) - () - ((generator (lambda () (or char? eof-object?))))) - - (generator->string - (lambda ((procedure? generator) (integer? k)) string?) - () - ((generator (lambda () (or char? eof-object?))))) - - (generator-fold - (lambda ((procedure? proc) seed (procedure? gen1) (procedure? gen2) ...) procedure?) - () - ((proc (lambda (val1 val2 ... state) *)) - (gen (lambda () *)))) - - (generator-for-each - (lambda ((procedure? proc) (procedure? gen1) (procedure? gen2) ...) undefined) - () - ((proc (lambda (val1 val2 ...) undefined)) - (gen (lambda () *)))) - - (generator-find - (lambda ((procedure? pred) (procedure? generator)) *) - () - ((pred (lambda (element) boolean?)) - (generator (lambda () *)))) - - (generator-count - (lambda ((procedure? pred) (procedure? generator)) integer?) - () - ((pred (lambda (element) boolean?)) - (generator (lambda () *)))) - - (generator-any - (lambda ((procedure? pred) (procedure? generator)) *) - () - ((pred (lambda (element) boolean?)) - (generator (lambda () *)))) - - (generator-every - (lambda ((procedure? pred) (procedure? generator)) *) - () - ((pred (lambda (element) boolean?)) - (generator (lambda () *)))) - - (generator-unfold - (lambda ((procedure? gen) (procedure? unfold) arg ...) *) - () - ((gen (lambda () *)) - (unfold (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed args ...) *)) - (stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - ) +(((name . generator) + (signature lambda (arg ...) procedure?) + (subsigs (return (lambda () *)))) + ((name . make-iota-generator) + (signature lambda ((integer? count)) procedure?) + (subsigs (return (lambda () (or integer? eof-object?))))) + ((name . make-iota-generator) + (signature lambda ((integer? count) (real? start)) procedure?) + (subsigs (return (lambda () (or real? eof-object?))))) + ((name . make-iota-generator) + (signature lambda ((integer? count) (real? start) (real? step)) procedure?) + (subsigs (return (lambda () (or real? eof-object?))))) + ((name . make-range-generator) + (signature lambda ((real? start)) procedure?) + (subsigs (return (lambda () real?)))) + ((name . make-range-generator) + (signature lambda ((real? start) (real? end)) procedure?) + (subsigs (return (lambda () (or real? eof-object?))))) + ((name . make-range-generator) + (signature lambda ((real? start) (real? end) (real? step)) procedure?) + (subsigs (return (lambda () (or real? eof-object?))))) + ((name . make-coroutine-generator) + (signature lambda ((procedure? proc)) procedure?) + (subsigs + (proc (lambda ((procedure? yield)) undefined)) + (yield (lambda (value) undefined)) + (return (lambda () *)))) + ((name . list->generator) + (signature lambda ((list? lis)) procedure?) + (subsigs (return (lambda () *)))) + ((name . vector->generator) + (signature lambda ((vector? vec)) procedure?) + (subsigs (return (lambda () *)))) + ((name . vector->generator) + (signature lambda ((vector? vec) (integer? start)) procedure?) + (subsigs (return (lambda () *)))) + ((name . vector->generator) + (signature lambda ((vector? vec) (integer? start) (integer? end)) procedure?) + (subsigs (return (lambda () *)))) + ((name . reverse-vector->generator) + (signature lambda ((vector? vec)) procedure?) + (subsigs (return (lambda () *)))) + ((name . reverse-vector->generator) + (signature lambda ((vector? vec) (integer? start)) procedure?) + (subsigs (return (lambda () *)))) + ((name . reverse-vector->generator) + (signature lambda ((vector? vec) (integer? start) (integer? end)) procedure?) + (subsigs (return (lambda () *)))) + ((name . string->generator) + (signature lambda ((string? str)) procedure?) + (subsigs (return (lambda () (or char? eof-object?))))) + ((name . string->generator) + (signature lambda ((string? str) (integer? start)) procedure?) + (subsigs (return (lambda () (or char? eof-object?))))) + ((name . string->generator) + (signature lambda ((string? str) (integer? start) (integer? end)) procedure?) + (subsigs (return (lambda () (or char? eof-object?))))) + ((name . bytevector->generator) + (signature lambda ((bytevector? bytevector)) procedure?) + (subsigs (return (lambda () (or integer? eof-object?))))) + ((name . bytevector->generator) + (signature lambda ((bytevector? bytevector) (integer? start)) procedure?) + (subsigs (return (lambda () (or integer? eof-object?))))) + ((name . bytevector->generator) + (signature + lambda + ((bytevector? bytevector) (integer? start) (integer? end)) + procedure?) + (subsigs (return (lambda () (or integer? eof-object?))))) + ((name . make-for-each-generator) + (signature lambda ((procedure? for-each) obj) procedure?) + (subsigs (for-each (lambda (element) undefined)) (return (lambda () *)))) + ((name . make-unfold-generator) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + procedure?) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)) + (return (lambda () *)))) + ((name . gcons*) + (signature lambda (item ... (procedure? gen)) procedure?) + (subsigs (gen (lambda () *)) (return (lambda () *)))) + ((name . gappend) + (signature lambda ((procedure? gen) ...) procedure?) + (subsigs (gen (lambda () *)) (return (lambda () *)))) + ((name . gcombine) + (signature + lambda + ((procedure? proc) seed (procedure? gen1) (procedure? gen2) ...) + procedure?) + (subsigs + (proc (lambda (value1 value2 ... seed) (values * *))) + (gen (lambda () *)) + (return (lambda () *)))) + ((name . gfilter) + (signature lambda ((procedure? pred) (procedure? gen)) procedure?) + (subsigs + (pred (lambda (element) boolean?)) + (gen (lambda () *)) + (return (lambda () *)))) + ((name . gremove) + (signature lambda ((procedure? pred) (procedure? gen)) procedure?) + (subsigs + (pred (lambda (element) boolean?)) + (gen (lambda () *)) + (return (lambda () *)))) + ((name . gtake) + (signature lambda ((procedure? gen) (integer? k)) procedure?) + (subsigs (gen (lambda () *)) (return (lambda () *)))) + ((name . gtake) + (signature lambda ((procedure? gen) (integer? k) padding) procedure?) + (subsigs (gen (lambda () *)) (return (lambda () *)))) + ((name . gdrop) + (signature lambda ((procedure? gen) (integer? k)) procedure?) + (subsigs (gen (lambda () *)) (return (lambda () *)))) + ((name . gtake-while) + (signature lambda ((procedure? pred) (procedure? gen)) procedure?) + (subsigs + (pred (lambda (element) boolean?)) + (gen (lambda () *)) + (return (lambda () *)))) + ((name . gdrop-while) + (signature lambda ((procedure? pred) (procedure? gen)) procedure?) + (subsigs + (pred (lambda (element) boolean?)) + (gen (lambda () *)) + (return (lambda () *)))) + ((name . gdelete) + (signature lambda (item (procedure? gen)) procedure?) + (subsigs (gen (lambda () *)) (return (lambda () *)))) + ((name . gdelete) + (signature lambda (item (procedure? gen) (procedure? =)) procedure?) + (subsigs + (gen (lambda () *)) + (= (lambda (a b) boolean?)) + (return (lambda () *)))) + ((name . gdelete-neighbor-dups) + (signature lambda ((procedure? gen)) procedure?) + (subsigs (gen (lambda () *)) (return (lambda () *)))) + ((name . gdelete-neighbor-dups) + (signature lambda ((procedure? gen) (procedure? =)) procedure?) + (subsigs + (gen (lambda () *)) + (= (lambda (a b) boolean?)) + (return (lambda () *)))) + ((name . gindex) + (signature lambda ((procedure? value-gen) (procedure? index-gen)) procedure?) + (subsigs + (value-gen (lambda () *)) + (index-gen (lambda () (or integer? eof-object?))) + (return (lambda () *)))) + ((name . gselect) + (signature lambda ((procedure? value-gen) (procedure? truth-gen)) procedure?) + (subsigs + (value-gen (lambda () *)) + (truth-gen (lambda () (or boolean? eof-object?))) + (return (lambda () *)))) + ((name . generator->list) + (signature lambda ((procedure? generator)) list?) + (subsigs (generator (lambda () *)))) + ((name . generator->list) + (signature lambda ((procedure? generator) (integer? k)) list?) + (subsigs (generator (lambda () *)))) + ((name . generator->reverse-list) + (signature lambda ((procedure? generator)) list?) + (subsigs (generator (lambda () *)))) + ((name . generator->reverse-list) + (signature lambda ((procedure? generator) (integer? k)) list?) + (subsigs (generator (lambda () *)))) + ((name . generator->vector) + (signature lambda ((procedure? generator)) vector?) + (subsigs (generator (lambda () *)))) + ((name . generator->vector) + (signature lambda ((procedure? generator) (integer? k)) vector?) + (subsigs (generator (lambda () *)))) + ((name . generator->vector!) + (signature + lambda + ((vector? vector) (integer? at) (procedure? generator)) + integer?) + (subsigs (generator (lambda () *)))) + ((name . generator->string) + (signature lambda ((procedure? generator)) string?) + (subsigs (generator (lambda () (or char? eof-object?))))) + ((name . generator->string) + (signature lambda ((procedure? generator) (integer? k)) string?) + (subsigs (generator (lambda () (or char? eof-object?))))) + ((name . generator-fold) + (signature + lambda + ((procedure? proc) seed (procedure? gen1) (procedure? gen2) ...) + procedure?) + (subsigs (proc (lambda (val1 val2 ... state) *)) (gen (lambda () *)))) + ((name . generator-for-each) + (signature + lambda + ((procedure? proc) (procedure? gen1) (procedure? gen2) ...) + undefined) + (subsigs (proc (lambda (val1 val2 ...) undefined)) (gen (lambda () *)))) + ((name . generator-find) + (signature lambda ((procedure? pred) (procedure? generator)) *) + (subsigs (pred (lambda (element) boolean?)) (generator (lambda () *)))) + ((name . generator-count) + (signature lambda ((procedure? pred) (procedure? generator)) integer?) + (subsigs (pred (lambda (element) boolean?)) (generator (lambda () *)))) + ((name . generator-any) + (signature lambda ((procedure? pred) (procedure? generator)) *) + (subsigs (pred (lambda (element) boolean?)) (generator (lambda () *)))) + ((name . generator-every) + (signature lambda ((procedure? pred) (procedure? generator)) *) + (subsigs (pred (lambda (element) boolean?)) (generator (lambda () *)))) + ((name . generator-unfold) + (signature lambda ((procedure? gen) (procedure? unfold) arg ...) *) + (subsigs + (gen (lambda () *)) + (unfold + (lambda ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + args + ...) + *)) + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *))))) diff --git a/types/scheme.hash-table.scm b/types/scheme.hash-table.scm index 2b5c2da..a9f95b9 100644 --- a/types/scheme.hash-table.scm +++ b/types/scheme.hash-table.scm @@ -1,274 +1,268 @@ -( - - (make-hash-table - (lambda ((comparator? comparator) arg ...) hash-table?) - (pure)) - - (make-hash-table - (lambda ((procedure? equality-predicate) arg ...) hash-table?) - (pure deprecated) - ((equality-predicate (lambda (a b) boolean?)))) - - (make-hash-table - (lambda ((procedure? equality-predicate) (procedure? hash-function) arg ...) hash-table?) - (pure deprecated) - ((equality-predicate (lambda (a b) boolean?)) - (hash-function (lambda (obj) integer?)))) - - (hash-table - (lambda ((comparator? comparator) key1 value1 ...) hash-table?) - (pure)) - - (hash-table-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (comparator? comparator) arg ...) hash-table?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (values * *))) - (successor (lambda (seed) *)))) - - (alist->hash-table - (lambda ((list? alist) (comparator? comparator) arg ...) hash-table?) - (pure)) - - (alist->hash-table - (lambda ((list? alist) (procedure? equality-predicate) arg ...) hash-table?) - (pure deprecated) - ((equality-predicate (lambda (a b) boolean?)) - (hash-function (lambda (obj) integer?)))) - - (alist->hash-table - (lambda ((list? alist) (procedure? equality-predicate) (procedure? hash-function) arg ...) hash-table?) - (pure deprecated) - ((equality-predicate (lambda (a b) boolean?)) - (hash-function (lambda (obj) integer?)))) - - (hash-table? - (lambda (obj) boolean?) - (pure predicate)) - - (hash-table-contains? - (lambda ((hash-table? hash-table) key) boolean?) - (pure)) - - (hash-table-exists? - (lambda ((hash-table? hash-table) key) boolean?) - (pure deprecated)) - - (hash-table-empty? - (lambda ((hash-table? hash-table)) boolean?) - (pure)) - - (hash-table=? - (lambda ((comparator? value-comparator) (hash-table? hash-table1) (hash-table? hash-table2)) boolean?) - (pure)) - - (hash-table-mutable? - (lambda ((hash-table? hash-table)) boolean?) - (pure)) - - (hash-table-ref - (lambda ((hash-table? hash-table) key) *) - (pure)) - - (hash-table-ref - (lambda ((hash-table? hash-table) key (procedure? failure)) *) - (pure) - ((failure (lambda () *)))) - - (hash-table-ref - (lambda ((hash-table? hash-table) key (procedure? failure) (procedure? success)) *) - (pure) - ((failure (lambda () *)) - (success (lambda (value) *)))) - - (hash-table-ref/default - (lambda ((hash-table? hash-table) key default) *) - (pure)) - - (hash-table-set! - (lambda ((hash-table? hash-table) key1 value1 ...) undefined)) - - (hash-table-delete! - (lambda ((hash-table? hash-table) key ...) undefined)) - - (hash-table-intern! - (lambda ((hash-table? hash-table) key (procedure? failure)) undefined) - () - ((failure (lambda () *)))) - - (hash-table-update! - (lambda ((hash-table? hash-table) key (procedure? updater)) undefined) - () - ((updated (lambda (value) *)))) - - (hash-table-update! - (lambda ((hash-table? hash-table) key (procedure? updater) (procedure? failure)) undefined) - () - ((updater (lambda (value) *)) - (failure (lambda () *)))) - - (hash-table-update! - (lambda ((hash-table? hash-table) key (procedure? updater) (procedure? failure) (procedure? success)) undefined) - () - ((updater (lambda (value) *)) - (failure (lambda () *)) - (success (lambda (value) *)))) - - (hash-table-update!/default - (lambda ((hash-table? hash-table) key (procedure? updater) default) undefined) - () - ((updated (lambda (value) *)))) - - (hash-table-pop! - (lambda ((hash-table? hash-table)) (values * *)) - ()) - - (hash-table-clear! - (lambda ((hash-table? hash-table)) undefined)) - - (hash-table-size - (lambda ((hash-table? hash-table)) integer?) - (pure)) - - (hash-table-keys - (lambda ((hash-table? hash-table)) list?) - (pure)) - - (hash-table-values - (lambda ((hash-table? hash-table)) list?) - (pure)) - - (hash-table-entries - (lambda ((hash-table? hash-table)) (values list? list?)) - (pure)) - - (hash-table-find - (lambda ((procedure? proc) (hash-table? hash-table) (procedure? failure)) *) - (pure) - ((proc (lambda (key value) *)) - (failure (lambda () *)))) - - (hash-table-count - (lambda ((procedure? pred) (hash-table? hash-table)) integer?) - (pure) - ((pred (lambda (key value) boolean?)))) - - (hash-table-map - (lambda ((procedure? proc) (comparator? comparator) (hash-table? hash-table)) hash-table?) - (pure) - ((proc (lambda (value) *)))) - - (hash-table-for-each - (lambda ((procedure? proc) (hash-table? hash-table)) undefined) - () - ((proc (lambda (key value) undefined)))) - - (hash-table-walk - (lambda ((hash-table? hash-table) (procedure? proc)) undefined) - (deprecated) - ((proc (lambda (key value) undefined)))) - - (hash-table-map! - (lambda ((procedure? proc) (comparator? comparator) (hash-table? hash-table)) undefined) - () - ((proc (lambda (key value) *)))) - - (hash-table-map->list - (lambda ((procedure? proc) (hash-table? hash-table)) list?) - () - ((proc (lambda (key value) *)))) - - (hash-table-fold - (lambda ((procedure? proc) seed (hash-table? hash-table)) *) - (pure) - ((proc (lambda (key value state) *)))) - - (hash-table-fold - (lambda ((hash-table? hash-table) (procedure? proc) seed) *) - (pure deprecated) - ((proc (lambda (key value state) *)))) - - (hash-table-prune! - (lambda ((procedure? proc) (hash-table? hash-table)) undefined) - () - ((proc (lambda (key value) boolean?)))) - - (hash-table-copy - (lambda ((hash-table? hash-table)) hash-table?) - (pure)) - - (hash-table-copy - (lambda ((hash-table? hash-table) (boolean? mutable)) hash-table?) - (pure)) - - (hash-table-empty-copy - (lambda ((hash-table? hash-table)) hash-table?) - (pure)) - - (hash-table->alist - (lambda ((hash-table? hash-table)) list?) - ()) - - (hash-table-union! - (lambda ((hash-table? hash-table1) (hash-table? hash-table2)) hash-table?) - ()) - - (hash-table-merge! - (lambda ((hash-table? hash-table1) (hash-table? hash-table2)) hash-table?) - (deprecated)) - - (hash-table-intersection! - (lambda ((hash-table? hash-table1) (hash-table? hash-table2)) hash-table?) - ()) - - (hash-table-difference! - (lambda ((hash-table? hash-table1) (hash-table? hash-table2)) hash-table?) - ()) - - (hash-table-xor! - (lambda ((hash-table? hash-table1) (hash-table? hash-table2)) hash-table?) - ()) - - (hash - (lambda (obj) integer?) - (deprecated)) - - (hash - (lambda (obj arg) integer?) - (deprecated)) - - (string-hash - (lambda ((string? str)) integer?) - (pure deprecated)) - - (string-hash - (lambda ((string? str) arg) integer?) - (pure deprecated)) - - (string-ci-hash - (lambda ((string? str)) integer?) - (pure deprecated)) - - (string-ci-hash - (lambda ((string? str) arg) integer?) - (pure deprecated)) - - (hash-by-identity - (lambda (obj) integer?) - (pure deprecated)) - - (hash-by-identity - (lambda (obj arg) integer?) - (pure deprecated)) - - (hash-table-equivalence-function - (lambda ((hash-table? hash-table)) procedure?) - (pure deprecated) - ((return (lambda (a b) boolean?)))) - - (hash-table-hash-function - (lambda ((hash-table? hash-table)) procedure?) - (pure deprecated) - ((return (lambda (obj) integer?)))) - - ) +(((name . make-hash-table) + (signature lambda ((comparator? comparator) arg ...) hash-table?) + (tags pure)) + ((name . make-hash-table) + (signature lambda ((procedure? equality-predicate) arg ...) hash-table?) + (tags pure deprecated) + (subsigs (equality-predicate (lambda (a b) boolean?)))) + ((name . make-hash-table) + (signature + lambda + ((procedure? equality-predicate) (procedure? hash-function) arg ...) + hash-table?) + (tags pure deprecated) + (subsigs + (equality-predicate (lambda (a b) boolean?)) + (hash-function (lambda (obj) integer?)))) + ((name . hash-table) + (signature lambda ((comparator? comparator) key1 value1 ...) hash-table?) + (tags pure)) + ((name . hash-table-unfold) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (comparator? comparator) + arg + ...) + hash-table?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (values * *))) + (successor (lambda (seed) *)))) + ((name . alist->hash-table) + (signature + lambda + ((list? alist) (comparator? comparator) arg ...) + hash-table?) + (tags pure)) + ((name . alist->hash-table) + (signature + lambda + ((list? alist) (procedure? equality-predicate) arg ...) + hash-table?) + (tags pure deprecated) + (subsigs + (equality-predicate (lambda (a b) boolean?)) + (hash-function (lambda (obj) integer?)))) + ((name . alist->hash-table) + (signature + lambda + ((list? alist) + (procedure? equality-predicate) + (procedure? hash-function) + arg + ...) + hash-table?) + (tags pure deprecated) + (subsigs + (equality-predicate (lambda (a b) boolean?)) + (hash-function (lambda (obj) integer?)))) + ((name . hash-table?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . hash-table-contains?) + (signature lambda ((hash-table? hash-table) key) boolean?) + (tags pure)) + ((name . hash-table-exists?) + (signature lambda ((hash-table? hash-table) key) boolean?) + (tags pure deprecated)) + ((name . hash-table-empty?) + (signature lambda ((hash-table? hash-table)) boolean?) + (tags pure)) + ((name . hash-table=?) + (signature + lambda + ((comparator? value-comparator) + (hash-table? hash-table1) + (hash-table? hash-table2)) + boolean?) + (tags pure)) + ((name . hash-table-mutable?) + (signature lambda ((hash-table? hash-table)) boolean?) + (tags pure)) + ((name . hash-table-ref) + (signature lambda ((hash-table? hash-table) key) *) + (tags pure)) + ((name . hash-table-ref) + (signature lambda ((hash-table? hash-table) key (procedure? failure)) *) + (tags pure) + (subsigs (failure (lambda () *)))) + ((name . hash-table-ref) + (signature + lambda + ((hash-table? hash-table) key (procedure? failure) (procedure? success)) + *) + (tags pure) + (subsigs (failure (lambda () *)) (success (lambda (value) *)))) + ((name . hash-table-ref/default) + (signature lambda ((hash-table? hash-table) key default) *) + (tags pure)) + ((name . hash-table-set!) + (signature lambda ((hash-table? hash-table) key1 value1 ...) undefined)) + ((name . hash-table-delete!) + (signature lambda ((hash-table? hash-table) key ...) undefined)) + ((name . hash-table-intern!) + (signature + lambda + ((hash-table? hash-table) key (procedure? failure)) + undefined) + (subsigs (failure (lambda () *)))) + ((name . hash-table-update!) + (signature + lambda + ((hash-table? hash-table) key (procedure? updater)) + undefined) + (subsigs (updated (lambda (value) *)))) + ((name . hash-table-update!) + (signature + lambda + ((hash-table? hash-table) key (procedure? updater) (procedure? failure)) + undefined) + (subsigs (updater (lambda (value) *)) (failure (lambda () *)))) + ((name . hash-table-update!) + (signature + lambda + ((hash-table? hash-table) + key + (procedure? updater) + (procedure? failure) + (procedure? success)) + undefined) + (subsigs + (updater (lambda (value) *)) + (failure (lambda () *)) + (success (lambda (value) *)))) + ((name . hash-table-update!/default) + (signature + lambda + ((hash-table? hash-table) key (procedure? updater) default) + undefined) + (subsigs (updated (lambda (value) *)))) + ((name . hash-table-pop!) + (signature lambda ((hash-table? hash-table)) (values * *))) + ((name . hash-table-clear!) + (signature lambda ((hash-table? hash-table)) undefined)) + ((name . hash-table-size) + (signature lambda ((hash-table? hash-table)) integer?) + (tags pure)) + ((name . hash-table-keys) + (signature lambda ((hash-table? hash-table)) list?) + (tags pure)) + ((name . hash-table-values) + (signature lambda ((hash-table? hash-table)) list?) + (tags pure)) + ((name . hash-table-entries) + (signature lambda ((hash-table? hash-table)) (values list? list?)) + (tags pure)) + ((name . hash-table-find) + (signature + lambda + ((procedure? proc) (hash-table? hash-table) (procedure? failure)) + *) + (tags pure) + (subsigs (proc (lambda (key value) *)) (failure (lambda () *)))) + ((name . hash-table-count) + (signature lambda ((procedure? pred) (hash-table? hash-table)) integer?) + (tags pure) + (subsigs (pred (lambda (key value) boolean?)))) + ((name . hash-table-map) + (signature + lambda + ((procedure? proc) (comparator? comparator) (hash-table? hash-table)) + hash-table?) + (tags pure) + (subsigs (proc (lambda (value) *)))) + ((name . hash-table-for-each) + (signature lambda ((procedure? proc) (hash-table? hash-table)) undefined) + (subsigs (proc (lambda (key value) undefined)))) + ((name . hash-table-walk) + (signature lambda ((hash-table? hash-table) (procedure? proc)) undefined) + (tags deprecated) + (subsigs (proc (lambda (key value) undefined)))) + ((name . hash-table-map!) + (signature + lambda + ((procedure? proc) (comparator? comparator) (hash-table? hash-table)) + undefined) + (subsigs (proc (lambda (key value) *)))) + ((name . hash-table-map->list) + (signature lambda ((procedure? proc) (hash-table? hash-table)) list?) + (subsigs (proc (lambda (key value) *)))) + ((name . hash-table-fold) + (signature lambda ((procedure? proc) seed (hash-table? hash-table)) *) + (tags pure) + (subsigs (proc (lambda (key value state) *)))) + ((name . hash-table-fold) + (signature lambda ((hash-table? hash-table) (procedure? proc) seed) *) + (tags pure deprecated) + (subsigs (proc (lambda (key value state) *)))) + ((name . hash-table-prune!) + (signature lambda ((procedure? proc) (hash-table? hash-table)) undefined) + (subsigs (proc (lambda (key value) boolean?)))) + ((name . hash-table-copy) + (signature lambda ((hash-table? hash-table)) hash-table?) + (tags pure)) + ((name . hash-table-copy) + (signature lambda ((hash-table? hash-table) (boolean? mutable)) hash-table?) + (tags pure)) + ((name . hash-table-empty-copy) + (signature lambda ((hash-table? hash-table)) hash-table?) + (tags pure)) + ((name . hash-table->alist) + (signature lambda ((hash-table? hash-table)) list?)) + ((name . hash-table-union!) + (signature + lambda + ((hash-table? hash-table1) (hash-table? hash-table2)) + hash-table?)) + ((name . hash-table-merge!) + (signature + lambda + ((hash-table? hash-table1) (hash-table? hash-table2)) + hash-table?) + (tags deprecated)) + ((name . hash-table-intersection!) + (signature + lambda + ((hash-table? hash-table1) (hash-table? hash-table2)) + hash-table?)) + ((name . hash-table-difference!) + (signature + lambda + ((hash-table? hash-table1) (hash-table? hash-table2)) + hash-table?)) + ((name . hash-table-xor!) + (signature + lambda + ((hash-table? hash-table1) (hash-table? hash-table2)) + hash-table?)) + ((name . hash) (signature lambda (obj) integer?) (tags deprecated)) + ((name . hash) (signature lambda (obj arg) integer?) (tags deprecated)) + ((name . string-hash) + (signature lambda ((string? str)) integer?) + (tags pure deprecated)) + ((name . string-hash) + (signature lambda ((string? str) arg) integer?) + (tags pure deprecated)) + ((name . string-ci-hash) + (signature lambda ((string? str)) integer?) + (tags pure deprecated)) + ((name . string-ci-hash) + (signature lambda ((string? str) arg) integer?) + (tags pure deprecated)) + ((name . hash-by-identity) + (signature lambda (obj) integer?) + (tags pure deprecated)) + ((name . hash-by-identity) + (signature lambda (obj arg) integer?) + (tags pure deprecated)) + ((name . hash-table-equivalence-function) + (signature lambda ((hash-table? hash-table)) procedure?) + (tags pure deprecated) + (subsigs (return (lambda (a b) boolean?)))) + ((name . hash-table-hash-function) + (signature lambda ((hash-table? hash-table)) procedure?) + (tags pure deprecated) + (subsigs (return (lambda (obj) integer?))))) diff --git a/types/scheme.ideque.scm b/types/scheme.ideque.scm index 7359429..9d08bf5 100644 --- a/types/scheme.ideque.scm +++ b/types/scheme.ideque.scm @@ -1,234 +1,189 @@ -( - - (ideque - (lambda (element ...) ideque?) - (pure)) - - (ideque-tabulate - (lambda ((integer? n) (procedure? proc)) ideque?) - (pure) - ((proc (lambda ((integer? k)) *)))) - - (ideque-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) ideque?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (ideque-unfold-right - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) ideque?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (ideque? - (lambda (x) boolean?) - (pure predicate)) - - (ideque= - (lambda ((procedure? elt=) (ideque? ideque) ...) boolean?) - (pure) - ((elt= (lambda (a b) boolean?)))) - - (ideque-any - (lambda ((procedure? pred) (ideque? ideque)) *) - (pure) - ((pred (lambda (element) *)))) - - (ideque-every - (lambda ((procedure? pred) (ideque? ideque)) *) - (pure) - ((pred (lambda (element) *)))) - - (ideque-front - (lambda ((ideque? ideque)) *) - (pure)) - - (ideque-back - (lambda ((ideque? ideque)) *) - (pure)) - - (ideque-remove-front - (lambda ((ideque? ideque)) ideque?) - (pure)) - - (ideque-remove-back - (lambda ((ideque? ideque)) ideque?) - (pure)) - - (ideque-add-front - (lambda ((ideque? ideque) obj) ideque?) - (pure)) - - (ideque-add-back - (lambda ((ideque? ideque) obj) ideque?) - (pure)) - - (ideque-ref - (lambda ((ideque? ideque) (integer? n)) *) - (pure)) - - (ideque-take - (lambda ((ideque? ideque) (integer? n)) ideque?) - (pure)) - - (ideque-take-right - (lambda ((ideque? ideque) (integer? n)) ideque?) - (pure)) - - (ideque-drop - (lambda ((ideque? ideque) (integer? n)) ideque?) - (pure)) - - (ideque-drop-right - (lambda ((ideque? ideque) (integer? n)) ideque?) - (pure)) - - (ideque-split-at - (lambda ((ideque? ideque) (integer? n)) (values ideque? ideque?)) - (pure)) - - (ideque-length - (lambda ((ideque? ideque)) integer?) - (pure)) - - (ideque-append - (lambda ((ideque? ideque) ...) ideque?) - (pure)) - - (ideque-reverse - (lambda ((ideque? ideque)) ideque?) - (pure)) - - (ideque-count - (lambda ((procedure? pred) (ideque? ideque)) integer?) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-zip - (lambda ((ideque? ideque1) (ideque? ideque2) ...) ideque?) - (pure)) - - (ideque-map - (lambda ((procedure? proc) (ideque? ideque)) ideque?) - (pure) - ((proc (lambda (element) *)))) - - (ideque-filter-map - (lambda ((procedure? proc) (ideque? ideque)) ideque?) - (pure) - ((proc (lambda (element) *)))) - - (ideque-for-each - (lambda ((procedure? proc) (ideque? ideque)) undefined) - () - ((proc (lambda (element) undefined)))) - - (ideque-for-each-right - (lambda ((procedure? proc) (ideque? ideque)) undefined) - () - ((proc (lambda (element) undefined)))) - - (ideque-fold - (lambda ((procedure? proc) nil (ideque? ideque)) *) - (pure) - ((proc (lambda (element state) *)))) - - (ideque-fold-right - (lambda ((procedure? proc) nil (ideque? ideque)) *) - (pure) - ((proc (lambda (element state) *)))) - - (ideque-append-map - (lambda ((procedure? proc) (ideque? ideque)) ideque?) - (pure) - ((proc (lambda (element) list?)))) - - (ideque-filter - (lambda ((procedure? pred) (ideque? ideque)) ideque?) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-remove - (lambda ((procedure? pred) (ideque? ideque)) ideque?) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-partition - (lambda ((procedure? pred) (ideque? ideque)) (values ideque? ideque?)) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-find - (lambda ((procedure? pred) (ideque? ideque)) *) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-find - (lambda ((procedure? pred) (ideque? ideque) (procedure? failure)) *) - (pure) - ((pred (lambda (element) boolean?)) - (failure (lambda () *)))) - - (ideque-find-right - (lambda ((procedure? pred) (ideque? ideque)) *) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-find-right - (lambda ((procedure? pred) (ideque? ideque) (procedure? failure)) *) - (pure) - ((pred (lambda (element) boolean?)) - (failure (lambda () *)))) - - (ideque-take-while - (lambda ((procedure? pred) (ideque? ideque)) ideque?) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-take-while-right - (lambda ((procedure? pred) (ideque? ideque)) ideque?) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-drop-while - (lambda ((procedure? pred) (ideque? ideque)) ideque?) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-drop-while-right - (lambda ((procedure? pred) (ideque? ideque)) ideque?) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-span - (lambda ((procedure? pred) (ideque? ideque)) (values ideque? ideque?)) - (pure) - ((pred (lambda (element) boolean?)))) - - (ideque-break - (lambda ((procedure? pred) (ideque? ideque)) (values ideque? ideque?)) - (pure) - ((pred (lambda (element) boolean?)))) - - (list->ideque - (lambda ((list? list)) ideque?) - (pure)) - - (ideque->list - (lambda ((ideque? ideque)) list?) - (pure)) - - (generator->ideque - (lambda ((procedure? generator)) ideque?) - () - ((generator (lambda () *)))) - - (ideque->generator - (lambda ((ideque? ideque)) procedure?) - () - ((return (lambda () *)))) - - ) +(((name . ideque) (signature lambda (element ...) ideque?) (tags pure)) + ((name . ideque-tabulate) + (signature lambda ((integer? n) (procedure? proc)) ideque?) + (tags pure) + (subsigs (proc (lambda ((integer? k)) *)))) + ((name . ideque-unfold) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + ideque?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . ideque-unfold-right) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + ideque?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . ideque?) (signature lambda (x) boolean?) (tags pure predicate)) + ((name . ideque=) + (signature lambda ((procedure? elt=) (ideque? ideque) ...) boolean?) + (tags pure) + (subsigs (elt= (lambda (a b) boolean?)))) + ((name . ideque-any) + (signature lambda ((procedure? pred) (ideque? ideque)) *) + (tags pure) + (subsigs (pred (lambda (element) *)))) + ((name . ideque-every) + (signature lambda ((procedure? pred) (ideque? ideque)) *) + (tags pure) + (subsigs (pred (lambda (element) *)))) + ((name . ideque-front) (signature lambda ((ideque? ideque)) *) (tags pure)) + ((name . ideque-back) (signature lambda ((ideque? ideque)) *) (tags pure)) + ((name . ideque-remove-front) + (signature lambda ((ideque? ideque)) ideque?) + (tags pure)) + ((name . ideque-remove-back) + (signature lambda ((ideque? ideque)) ideque?) + (tags pure)) + ((name . ideque-add-front) + (signature lambda ((ideque? ideque) obj) ideque?) + (tags pure)) + ((name . ideque-add-back) + (signature lambda ((ideque? ideque) obj) ideque?) + (tags pure)) + ((name . ideque-ref) + (signature lambda ((ideque? ideque) (integer? n)) *) + (tags pure)) + ((name . ideque-take) + (signature lambda ((ideque? ideque) (integer? n)) ideque?) + (tags pure)) + ((name . ideque-take-right) + (signature lambda ((ideque? ideque) (integer? n)) ideque?) + (tags pure)) + ((name . ideque-drop) + (signature lambda ((ideque? ideque) (integer? n)) ideque?) + (tags pure)) + ((name . ideque-drop-right) + (signature lambda ((ideque? ideque) (integer? n)) ideque?) + (tags pure)) + ((name . ideque-split-at) + (signature lambda ((ideque? ideque) (integer? n)) (values ideque? ideque?)) + (tags pure)) + ((name . ideque-length) + (signature lambda ((ideque? ideque)) integer?) + (tags pure)) + ((name . ideque-append) + (signature lambda ((ideque? ideque) ...) ideque?) + (tags pure)) + ((name . ideque-reverse) + (signature lambda ((ideque? ideque)) ideque?) + (tags pure)) + ((name . ideque-count) + (signature lambda ((procedure? pred) (ideque? ideque)) integer?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-zip) + (signature lambda ((ideque? ideque1) (ideque? ideque2) ...) ideque?) + (tags pure)) + ((name . ideque-map) + (signature lambda ((procedure? proc) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (proc (lambda (element) *)))) + ((name . ideque-filter-map) + (signature lambda ((procedure? proc) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (proc (lambda (element) *)))) + ((name . ideque-for-each) + (signature lambda ((procedure? proc) (ideque? ideque)) undefined) + (subsigs (proc (lambda (element) undefined)))) + ((name . ideque-for-each-right) + (signature lambda ((procedure? proc) (ideque? ideque)) undefined) + (subsigs (proc (lambda (element) undefined)))) + ((name . ideque-fold) + (signature lambda ((procedure? proc) nil (ideque? ideque)) *) + (tags pure) + (subsigs (proc (lambda (element state) *)))) + ((name . ideque-fold-right) + (signature lambda ((procedure? proc) nil (ideque? ideque)) *) + (tags pure) + (subsigs (proc (lambda (element state) *)))) + ((name . ideque-append-map) + (signature lambda ((procedure? proc) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (proc (lambda (element) list?)))) + ((name . ideque-filter) + (signature lambda ((procedure? pred) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-remove) + (signature lambda ((procedure? pred) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-partition) + (signature + lambda + ((procedure? pred) (ideque? ideque)) + (values ideque? ideque?)) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-find) + (signature lambda ((procedure? pred) (ideque? ideque)) *) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-find) + (signature + lambda + ((procedure? pred) (ideque? ideque) (procedure? failure)) + *) + (tags pure) + (subsigs (pred (lambda (element) boolean?)) (failure (lambda () *)))) + ((name . ideque-find-right) + (signature lambda ((procedure? pred) (ideque? ideque)) *) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-find-right) + (signature + lambda + ((procedure? pred) (ideque? ideque) (procedure? failure)) + *) + (tags pure) + (subsigs (pred (lambda (element) boolean?)) (failure (lambda () *)))) + ((name . ideque-take-while) + (signature lambda ((procedure? pred) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-take-while-right) + (signature lambda ((procedure? pred) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-drop-while) + (signature lambda ((procedure? pred) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-drop-while-right) + (signature lambda ((procedure? pred) (ideque? ideque)) ideque?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-span) + (signature + lambda + ((procedure? pred) (ideque? ideque)) + (values ideque? ideque?)) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . ideque-break) + (signature + lambda + ((procedure? pred) (ideque? ideque)) + (values ideque? ideque?)) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . list->ideque) (signature lambda ((list? list)) ideque?) (tags pure)) + ((name . ideque->list) + (signature lambda ((ideque? ideque)) list?) + (tags pure)) + ((name . generator->ideque) + (signature lambda ((procedure? generator)) ideque?) + (subsigs (generator (lambda () *)))) + ((name . ideque->generator) + (signature lambda ((ideque? ideque)) procedure?) + (subsigs (return (lambda () *))))) diff --git a/types/scheme.ilist.scm b/types/scheme.ilist.scm index a0b74cf..e25048a 100644 --- a/types/scheme.ilist.scm +++ b/types/scheme.ilist.scm @@ -1,664 +1,417 @@ -( - (ipair - (lambda (a d) ipair?) - (pure)) - - (ilist - (lambda (object ...) ilist?) - (pure)) - - (xipair - (lambda (d a) ipair?) - (pure)) - - (ipair* - (lambda (elt1 elt2 ...) *)) - - (make-ilist - (lambda ((integer? n)) ilist?)) - - (make-ilist - (lambda ((integer? n) fill) ilist?) - (pure)) - - (ilist-tabulate - (lambda ((integer? n) (procedure? init-proc)) ilist?) - (pure) - ((init-proc (lambda ((integer? i)) *)))) - - (ilist-copy - (lambda ((ilist? dilist)) ilist?) - (pure)) - - (ilist-copy - (lambda ((dotted-ilist? dilist)) dotted-ilist?) - (pure)) - - (iiota - (lambda ((integer? count)) ilist?) - (pure)) - - (iiota - (lambda ((integer? count) (number? start)) ilist?) - (pure)) - - (iiota - (lambda ((integer? count) (number? start) (number? step)) ilist?) - (pure)) - - (proper-ilist? - (lambda (obj) boolean?) - (pure predicate) - () - (ilist?)) - - (ilist? - (lambda (obj) boolean?) - (pure predicate) - () - (ilist?)) - - (dotted-ilist? - (lambda (obj) boolean?) - (pure predicate) - () - (ipair?)) - - (ipair? - (lambda (obj) boolean?) - (pure predicate)) - - (null-ilist? - (lambda ((ilist? lst)) boolean?) - (pure predicate)) - - (not-ipair? - (lambda (obj) boolean?) - (pure predicate)) - - (ilist= - (lambda ((procedure? elt=) (ilist? ilist1) ...) boolean?) - (pure) - ((elt= (lambda (a b) *)))) - - (icaar - (lambda ((ipair? ipair)) *) - (pure)) - - (icadr - (lambda ((ipair? ipair)) *) - (pure)) - - (icar - (lambda ((ipair? ipair)) *) - (pure)) - - (icdar - (lambda ((ipair? ipair)) *) - (pure)) - - (icddr - (lambda ((ipair? ipair)) *) - (pure)) - - (icdr - (lambda ((ipair? ipair)) *) - (pure)) - - (icaaaar - (lambda ((ipair? ipair)) *) - (pure)) - - (icaaadr - (lambda ((ipair? ipair)) *) - (pure)) - - (icaaar - (lambda ((ipair? ipair)) *) - (pure)) - - (icaadar - (lambda ((ipair? ipair)) *) - (pure)) - - (icaaddr - (lambda ((ipair? ipair)) *) - (pure)) - - (icaadr - (lambda ((ipair? ipair)) *) - (pure)) - - (icadaar - (lambda ((ipair? ipair)) *) - (pure)) - - (icadadr - (lambda ((ipair? ipair)) *) - (pure)) - - (icadar - (lambda ((ipair? ipair)) *) - (pure)) - - (icaddar - (lambda ((ipair? ipair)) *) - (pure)) - - (icadddr - (lambda ((ipair? ipair)) *) - (pure)) - - (icaddr - (lambda ((ipair? ipair)) *) - (pure)) - - (icdaaar - (lambda ((ipair? ipair)) *) - (pure)) - - (icdaadr - (lambda ((ipair? ipair)) *) - (pure)) - - (icdaar - (lambda ((ipair? ipair)) *) - (pure)) - - (icdadar - (lambda ((ipair? ipair)) *) - (pure)) - - (icdaddr - (lambda ((ipair? ipair)) *) - (pure)) - - (icdadr - (lambda ((ipair? ipair)) *) - (pure)) - - (icddaar - (lambda ((ipair? ipair)) *) - (pure)) - - (icddadr - (lambda ((ipair? ipair)) *) - (pure)) - - (icddar - (lambda ((ipair? ipair)) *) - (pure)) - - (icdddar - (lambda ((ipair? ipair)) *) - (pure)) - - (icddddr - (lambda ((ipair? ipair)) *) - (pure)) - - (icdddr - (lambda ((ipair? ipair)) *) - (pure)) - - (ilist-ref - (lambda ((ilist? ilist) (integer? i)) *) - (pure)) - - (ifirst - (lambda ((ipair? ipair)) *) - (pure)) - - (isecond - (lambda ((ipair? ipair)) *) - (pure)) - - (ithird - (lambda ((ipair? ipair)) *) - (pure)) - - (ifourth - (lambda ((ipair? ipair)) *) - (pure)) - - (ififth - (lambda ((ipair? ipair)) *) - (pure)) - - (isixth - (lambda ((ipair? ipair)) *) - (pure)) - - (iseventh - (lambda ((ipair? ipair)) *) - (pure)) - - (ieighth - (lambda ((ipair? ipair)) *) - (pure)) - - (ininth - (lambda ((ipair? ipair)) *) - (pure)) - - (itenth - (lambda ((ipair? ipair)) *) - (pure)) - - (icar+cdr - (lambda ((ipair? ipair)) (values * *)) - (pure)) - - (itake - (lambda ((ilist? x) (integer? i)) ilist?) - (pure)) - - (itake - (lambda ((dotted-ilist? x) (integer? i)) ilist?) - (pure)) - - (idrop - (lambda ((ilist? x) (integer? i)) ilist?) - (pure)) - - (idrop - (lambda ((dotted-ilist? x) (integer? i)) *) - (pure)) - - (itake-right - (lambda ((ilist? dilist) (integer? i)) ilist?) - (pure)) - - (itake-right - (lambda ((dotted-ilist? dilist) (integer? i)) *) - (pure)) - - (idrop-right - (lambda ((ilist? dilist) (integer? i)) ilist?) - (pure)) - - (idrop-right - (lambda ((dotted-ilist? dilist) (integer? i)) ilist?) - (pure)) - - (isplit-at - (lambda ((ilist? x) (integer? i)) (values ilist? ilist?)) - (pure)) - - (isplit-at - (lambda ((dotted-ilist? x) (integer? i)) (values ilist? *)) - (pure)) - - (ilast - (lambda ((ilist? ipair)) *) - (pure)) - - (ilast-ipair - (lambda ((ilist? ipair)) ipair?) - (pure)) - - (ilength - (lambda ((ilist? ilist)) integer?) - (pure)) - - (iappend - (lambda ((ilist? ilist) ...) ilist?) - (pure)) - - (iappend - (lambda ((ilist? ilist) ... obj) *) - (pure)) - - (iconcatenate - (lambda ((ilist? ilist-of-ilists)) *) - (pure)) - - (ireverse - (lambda ((ilist? ilist)) ilist?) - (pure)) - - (iappend-reverse - (lambda ((ilist? rev-head) (ilist? tail)) ilist?) - (pure)) - - (iappend-reverse - (lambda ((ilist? rev-head) tail) *) - (pure)) - - (izip - (lambda ((ilist? ilist1) (ilist? ilist2) ...) ilist?) - (pure)) - - (iunzip1 - (lambda ((ilist? ilist)) ilist?) - (pure)) - - (iunzip2 - (lambda ((ilist? ilist)) (values ilist? ilist?)) - (pure)) - - (iunzip3 - (lambda ((ilist? ilist)) (values ilist? ilist? ilist?)) - (pure)) - - (iunzip4 - (lambda ((ilist? ilist)) (values ilist? ilist? ilist? ilist?)) - (pure)) - - (iunzip5 - (lambda ((ilist? ilist)) (values ilist? ilist? ilist? ilist? ilist?)) - (pure)) - - (icount - (lambda ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) integer?) - (pure) - ((pred (lambda (obj ...) *)))) - - (ifold - (lambda ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) *) - (pure) - ((kons (lambda (obj1 obj2 ... fold-state) *)))) - - (ifold-right - (lambda ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) *) - (pure) - ((kons (lambda (obj1 obj2 ... fold-state) *)))) - - (ipair-fold - (lambda ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) *) - (pure) - ((kons (lambda ((ipair? ipair1) (ipair? ipair2) ... fold-state) *)))) - - (ipair-fold-right - (lambda ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) *) - (pure) - ((kons (lambda ((ipair? ipair1) (ipair? ipair2) ... fold-state) *)))) - - (ireduce - (lambda ((procedure? f) ridentity (ilist? ilist))*) - (pure) - ((f (lambda (obj fold-state) *)))) - - (ireduce-right - (lambda ((procedure? f) ridentity (ilist? ilist))*) - (pure) - ((f (lambda (obj fold-state) *)))) - - (iunfold - (lambda ((procedure? p) (procedure? f) (procedure? g) seed) ilist?) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)))) - - (iunfold - (lambda ((procedure? p) (procedure? f) (procedure? g) seed (ilist? tail-gen)) *) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)) - (tail-gen (lambda () *)))) - - (iunfold-right - (lambda ((procedure? p) (procedure? f) (procedure? g) seed) ilist?) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)))) - - (iunfold-right - (lambda ((procedure? p) (procedure? f) (procedure? g) seed (ilist? tail-gen)) *) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)) - (tail-gen (lambda () *)))) - - (imap - (lambda ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) ilist?) - (pure) - ((proc (lambda (obj1 obj2 ...) *)))) - - (ifor-each - (lambda ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) undefined) - () - ((proc (lambda (obj1 obj2 ...) undefined)))) - - (iappend-map - (lambda ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) ilist?) - (pure) - ((proc (lambda (obj1 obj2 ...) ilist?)))) - - (imap-in-order - (lambda ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) ilist?) - () - ((proc (lambda (obj1 obj2 ...) *)))) - - (ipair-for-each - (lambda ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) undefined) - () - ((proc (lambda ((ipair? obj1) (ipair? obj2) ...) undefined)))) - - (ifilter-map - (lambda ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) ilist?) - (pure) - ((proc (lambda (obj1 obj2 ...) *)))) - - (ifilter - (lambda ((procedure? pred) (ilist? ilist)) ilist?) - (pure) - ((pred (lambda (obj) *)))) - - (ipartition - (lambda ((procedure? pred) (ilist? ilist)) (values ilist? ilist?)) - (pure) - ((pred (lambda (obj) *)))) - - (iremove - (lambda ((procedure? pred) (ilist? ilist)) ilist?) - (pure) - ((pred (lambda (obj) *)))) - - (ifind - (lambda ((procedure? pred) (ilist? ilist)) *) - (pure) - ((pred (lambda (obj) *)))) - - (ifind-tail - (lambda ((procedure? pred) (ilist? ilist)) (or ipair? #f)) - (pure) - ((pred (lambda (obj) *)))) - - (itake-while - (lambda ((procedure? pred) (ilist? ilist)) ilist?) - (pure) - ((pred (lambda (obj) *)))) - - (idrop-while - (lambda ((procedure? pred) (ilist? ilist)) ilist?) - (pure) - ((pred (lambda (obj) *)))) - - (ispan - (lambda ((procedure? pred) (ilist? ilist)) (values ilist? ilist?)) - (pure) - ((pred (lambda (obj) *)))) - - (ibreak - (lambda ((procedure? pred) (ilist? ilist)) (values ilist? ilist?)) - (pure) - ((pred (lambda (obj) *)))) - - (iany - (lambda ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) *) - (pure) - ((pred (lambda (obj1 obj2 ...) *)))) - - (ievery - (lambda ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) *) - (pure) - ((pred (lambda (obj1 obj2 ...) *)))) - - (ilist-index - (lambda ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) (or integer? #f)) - (pure) - ((pred (lambda (obj1 obj2 ...) *)))) - - (imember - (lambda (obj (ilist? ilist)) (or #f ilist?)) - (pure)) - - (imember - (lambda (obj (ilist? ilist) (procedure? =)) (or #f ilist?)) - (pure) - ((= (lambda (obj1 obj2) *)))) - - (imemq - (lambda (obj (ilist? ilist)) (or #f ilist?)) - (pure)) - - (imemv - (lambda (obj (ilist? ilist)) (or #f ilist?)) - (pure)) - - (idelete - (lambda (obj (ilist? ilist)) ilist?) - (pure)) - - (idelete - (lambda (obj (ilist? ilist) (procedure? =)) ilist?) - (pure) - ((= (lambda (obj1 obj2) *)))) - - (idelete-duplicates - (lambda ((ilist? ilist)) ilist?) - (pure)) - - (idelete-duplicates - (lambda ((ilist? ilist) (procedure? =)) ilist?) - (pure) - ((= (lambda (obj1 obj2) *)))) - - (iassoc - (lambda (obj (ilist? ialist)) (or ilist? #f)) - (pure)) - - (iassoc - (lambda (obj (ilist? ialist) (procedure? =)) (or ipair? #f)) - (pure) - ((= (lambda (a b) *)))) - - (iassq - (lambda (obj (ilist? ialist)) (or ipair? #f)) - (pure)) - - (iassv - (lambda (obj (ilist? ialist)) (or ipair? #f)) - (pure)) - - (ialist-cons - (lambda (key datum (ilist? ialist)) ilist?) - (pure)) - - (ialist-delete - (lambda (key (ilist? ialist)) ilist?) - (pure)) - - (ialist-delete - (lambda (key (ilist? ialist) (procedure? =)) ilist?) - (pure) - ((= (lambda (a b) *)))) - - (replace-icar - (lambda ((ipair? ipair) object) ipair?)) - - (replace-icdr - (lambda ((ipair? ipair) object) ipair?)) - - (pair->ipair - (lambda ((pair? pair)) ipair?) - (pure)) - - (ipair->pair - (lambda ((ipair? ipair)) pair?) - (pure)) - - (list->ilist - (lambda ((list? flist)) ilist?) - (pure)) - - (list->ilist - (lambda ((dotted-list? flist)) dotted-ilist?) - (pure)) - - (ilist->list - (lambda ((ilist? flist)) list?) - (pure)) - - (ilist->list - (lambda ((dotted-ilist? flist)) dotted-list?) - (pure)) - - (tree->itree - (lambda ((pair? pair)) ipair?) - (pure)) - - (tree->itree - (lambda (object) *) - (pure)) - - (itree->tree - (lambda ((ipair? ipair)) pair?) - (pure)) - - (itree->tree - (lambda (object) *) - (pure)) - - (gtree->itree - (lambda ((pair? pair)) ipair?) - (pure)) - - (gtree->itree - (lambda (object) *) - (pure)) - - (gitree->tree - (lambda ((ipair? ipair)) pair?) - (pure)) - - (gitree->tree - (lambda (object) *) - (pure)) - - (iapply - (lambda ((procedure? proc) arg1 ... (ilist? args)) *) - (pure)) - - (ipair-comparator - (value comparator?)) - - (ilist-comparator - (value comparator?)) - - (make-ilist-comparator - (lambda ((comparator? element-comparator)) comparator?) - (pure)) - - (make-improper-ilist-comparator - (lambda ((comparator? element-comparator)) comparator?) - (pure)) - - (make-ipair-comparator - (lambda ((comparator? car-comparator) (comparator? cdr-comparator)) comparator?) - (pure)) - - (make-icar-comparator - (lambda ((comparator? comparator)) comparator?) - (pure)) - - (make-icdr-comparator - (lambda ((comparator? comparator)) comparator?) - (pure)) - - ) +(((name . ipair) (signature lambda (a d) ipair?) (tags pure)) + ((name . ilist) (signature lambda (object ...) ilist?) (tags pure)) + ((name . xipair) (signature lambda (d a) ipair?) (tags pure)) + ((name . ipair*) (signature lambda (elt1 elt2 ...) *)) + ((name . make-ilist) (signature lambda ((integer? n)) ilist?)) + ((name . make-ilist) + (signature lambda ((integer? n) fill) ilist?) + (tags pure)) + ((name . ilist-tabulate) + (signature lambda ((integer? n) (procedure? init-proc)) ilist?) + (tags pure) + (subsigs (init-proc (lambda ((integer? i)) *)))) + ((name . ilist-copy) (signature lambda ((ilist? dilist)) ilist?) (tags pure)) + ((name . ilist-copy) + (signature lambda ((dotted-ilist? dilist)) dotted-ilist?) + (tags pure)) + ((name . iiota) (signature lambda ((integer? count)) ilist?) (tags pure)) + ((name . iiota) + (signature lambda ((integer? count) (number? start)) ilist?) + (tags pure)) + ((name . iiota) + (signature lambda ((integer? count) (number? start) (number? step)) ilist?) + (tags pure)) + ((name . proper-ilist?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes ilist?)) + ((name . ilist?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes ilist?)) + ((name . dotted-ilist?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes ipair?)) + ((name . ipair?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . null-ilist?) + (signature lambda ((ilist? lst)) boolean?) + (tags pure predicate)) + ((name . not-ipair?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . ilist=) + (signature lambda ((procedure? elt=) (ilist? ilist1) ...) boolean?) + (tags pure) + (subsigs (elt= (lambda (a b) *)))) + ((name . icaar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icadr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icddr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaaaar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaaadr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaaar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaadar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaaddr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaadr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icadaar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icadadr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icadar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaddar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icadddr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icaddr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdaaar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdaadr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdaar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdadar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdaddr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdadr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icddaar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icddadr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icddar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdddar) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icddddr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icdddr) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . ilist-ref) + (signature lambda ((ilist? ilist) (integer? i)) *) + (tags pure)) + ((name . ifirst) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . isecond) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . ithird) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . ifourth) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . ififth) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . isixth) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . iseventh) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . ieighth) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . ininth) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . itenth) (signature lambda ((ipair? ipair)) *) (tags pure)) + ((name . icar+cdr) + (signature lambda ((ipair? ipair)) (values * *)) + (tags pure)) + ((name . itake) + (signature lambda ((ilist? x) (integer? i)) ilist?) + (tags pure)) + ((name . itake) + (signature lambda ((dotted-ilist? x) (integer? i)) ilist?) + (tags pure)) + ((name . idrop) + (signature lambda ((ilist? x) (integer? i)) ilist?) + (tags pure)) + ((name . idrop) + (signature lambda ((dotted-ilist? x) (integer? i)) *) + (tags pure)) + ((name . itake-right) + (signature lambda ((ilist? dilist) (integer? i)) ilist?) + (tags pure)) + ((name . itake-right) + (signature lambda ((dotted-ilist? dilist) (integer? i)) *) + (tags pure)) + ((name . idrop-right) + (signature lambda ((ilist? dilist) (integer? i)) ilist?) + (tags pure)) + ((name . idrop-right) + (signature lambda ((dotted-ilist? dilist) (integer? i)) ilist?) + (tags pure)) + ((name . isplit-at) + (signature lambda ((ilist? x) (integer? i)) (values ilist? ilist?)) + (tags pure)) + ((name . isplit-at) + (signature lambda ((dotted-ilist? x) (integer? i)) (values ilist? *)) + (tags pure)) + ((name . ilast) (signature lambda ((ilist? ipair)) *) (tags pure)) + ((name . ilast-ipair) (signature lambda ((ilist? ipair)) ipair?) (tags pure)) + ((name . ilength) (signature lambda ((ilist? ilist)) integer?) (tags pure)) + ((name . iappend) (signature lambda ((ilist? ilist) ...) ilist?) (tags pure)) + ((name . iappend) (signature lambda ((ilist? ilist) ... obj) *) (tags pure)) + ((name . iconcatenate) + (signature lambda ((ilist? ilist-of-ilists)) *) + (tags pure)) + ((name . ireverse) (signature lambda ((ilist? ilist)) ilist?) (tags pure)) + ((name . iappend-reverse) + (signature lambda ((ilist? rev-head) (ilist? tail)) ilist?) + (tags pure)) + ((name . iappend-reverse) + (signature lambda ((ilist? rev-head) tail) *) + (tags pure)) + ((name . izip) + (signature lambda ((ilist? ilist1) (ilist? ilist2) ...) ilist?) + (tags pure)) + ((name . iunzip1) (signature lambda ((ilist? ilist)) ilist?) (tags pure)) + ((name . iunzip2) + (signature lambda ((ilist? ilist)) (values ilist? ilist?)) + (tags pure)) + ((name . iunzip3) + (signature lambda ((ilist? ilist)) (values ilist? ilist? ilist?)) + (tags pure)) + ((name . iunzip4) + (signature lambda ((ilist? ilist)) (values ilist? ilist? ilist? ilist?)) + (tags pure)) + ((name . iunzip5) + (signature + lambda + ((ilist? ilist)) + (values ilist? ilist? ilist? ilist? ilist?)) + (tags pure)) + ((name . icount) + (signature + lambda + ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) + integer?) + (tags pure) + (subsigs (pred (lambda (obj ...) *)))) + ((name . ifold) + (signature + lambda + ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) + *) + (tags pure) + (subsigs (kons (lambda (obj1 obj2 ... fold-state) *)))) + ((name . ifold-right) + (signature + lambda + ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) + *) + (tags pure) + (subsigs (kons (lambda (obj1 obj2 ... fold-state) *)))) + ((name . ipair-fold) + (signature + lambda + ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) + *) + (tags pure) + (subsigs (kons (lambda ((ipair? ipair1) (ipair? ipair2) ... fold-state) *)))) + ((name . ipair-fold-right) + (signature + lambda + ((procedure? kons) knil (ilist? ilist1) (ilist? ilist2) ...) + *) + (tags pure) + (subsigs (kons (lambda ((ipair? ipair1) (ipair? ipair2) ... fold-state) *)))) + ((name . ireduce) + (signature lambda ((procedure? f) ridentity (ilist? ilist)) *) + (tags pure) + (subsigs (f (lambda (obj fold-state) *)))) + ((name . ireduce-right) + (signature lambda ((procedure? f) ridentity (ilist? ilist)) *) + (tags pure) + (subsigs (f (lambda (obj fold-state) *)))) + ((name . iunfold) + (signature lambda ((procedure? p) (procedure? f) (procedure? g) seed) ilist?) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)))) + ((name . iunfold) + (signature + lambda + ((procedure? p) (procedure? f) (procedure? g) seed (ilist? tail-gen)) + *) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)) + (tail-gen (lambda () *)))) + ((name . iunfold-right) + (signature lambda ((procedure? p) (procedure? f) (procedure? g) seed) ilist?) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)))) + ((name . iunfold-right) + (signature + lambda + ((procedure? p) (procedure? f) (procedure? g) seed (ilist? tail-gen)) + *) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)) + (tail-gen (lambda () *)))) + ((name . imap) + (signature + lambda + ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) + ilist?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . ifor-each) + (signature + lambda + ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) + undefined) + (subsigs (proc (lambda (obj1 obj2 ...) undefined)))) + ((name . iappend-map) + (signature + lambda + ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) + ilist?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) ilist?)))) + ((name . imap-in-order) + (signature + lambda + ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) + ilist?) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . ipair-for-each) + (signature + lambda + ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) + undefined) + (subsigs (proc (lambda ((ipair? obj1) (ipair? obj2) ...) undefined)))) + ((name . ifilter-map) + (signature + lambda + ((procedure? proc) (ilist? ilist1) (ilist? ilist2) ...) + ilist?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . ifilter) + (signature lambda ((procedure? pred) (ilist? ilist)) ilist?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . ipartition) + (signature lambda ((procedure? pred) (ilist? ilist)) (values ilist? ilist?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . iremove) + (signature lambda ((procedure? pred) (ilist? ilist)) ilist?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . ifind) + (signature lambda ((procedure? pred) (ilist? ilist)) *) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . ifind-tail) + (signature lambda ((procedure? pred) (ilist? ilist)) (or ipair? #f)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . itake-while) + (signature lambda ((procedure? pred) (ilist? ilist)) ilist?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . idrop-while) + (signature lambda ((procedure? pred) (ilist? ilist)) ilist?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . ispan) + (signature lambda ((procedure? pred) (ilist? ilist)) (values ilist? ilist?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . ibreak) + (signature lambda ((procedure? pred) (ilist? ilist)) (values ilist? ilist?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . iany) + (signature lambda ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) *) + (tags pure) + (subsigs (pred (lambda (obj1 obj2 ...) *)))) + ((name . ievery) + (signature lambda ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) *) + (tags pure) + (subsigs (pred (lambda (obj1 obj2 ...) *)))) + ((name . ilist-index) + (signature + lambda + ((procedure? pred) (ilist? ilist1) (ilist? ilist2) ...) + (or integer? #f)) + (tags pure) + (subsigs (pred (lambda (obj1 obj2 ...) *)))) + ((name . imember) + (signature lambda (obj (ilist? ilist)) (or #f ilist?)) + (tags pure)) + ((name . imember) + (signature lambda (obj (ilist? ilist) (procedure? =)) (or #f ilist?)) + (tags pure) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . imemq) + (signature lambda (obj (ilist? ilist)) (or #f ilist?)) + (tags pure)) + ((name . imemv) + (signature lambda (obj (ilist? ilist)) (or #f ilist?)) + (tags pure)) + ((name . idelete) (signature lambda (obj (ilist? ilist)) ilist?) (tags pure)) + ((name . idelete) + (signature lambda (obj (ilist? ilist) (procedure? =)) ilist?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . idelete-duplicates) + (signature lambda ((ilist? ilist)) ilist?) + (tags pure)) + ((name . idelete-duplicates) + (signature lambda ((ilist? ilist) (procedure? =)) ilist?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . iassoc) + (signature lambda (obj (ilist? ialist)) (or ilist? #f)) + (tags pure)) + ((name . iassoc) + (signature lambda (obj (ilist? ialist) (procedure? =)) (or ipair? #f)) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . iassq) + (signature lambda (obj (ilist? ialist)) (or ipair? #f)) + (tags pure)) + ((name . iassv) + (signature lambda (obj (ilist? ialist)) (or ipair? #f)) + (tags pure)) + ((name . ialist-cons) + (signature lambda (key datum (ilist? ialist)) ilist?) + (tags pure)) + ((name . ialist-delete) + (signature lambda (key (ilist? ialist)) ilist?) + (tags pure)) + ((name . ialist-delete) + (signature lambda (key (ilist? ialist) (procedure? =)) ilist?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . replace-icar) (signature lambda ((ipair? ipair) object) ipair?)) + ((name . replace-icdr) (signature lambda ((ipair? ipair) object) ipair?)) + ((name . pair->ipair) (signature lambda ((pair? pair)) ipair?) (tags pure)) + ((name . ipair->pair) (signature lambda ((ipair? ipair)) pair?) (tags pure)) + ((name . list->ilist) (signature lambda ((list? flist)) ilist?) (tags pure)) + ((name . list->ilist) + (signature lambda ((dotted-list? flist)) dotted-ilist?) + (tags pure)) + ((name . ilist->list) (signature lambda ((ilist? flist)) list?) (tags pure)) + ((name . ilist->list) + (signature lambda ((dotted-ilist? flist)) dotted-list?) + (tags pure)) + ((name . tree->itree) (signature lambda ((pair? pair)) ipair?) (tags pure)) + ((name . tree->itree) (signature lambda (object) *) (tags pure)) + ((name . itree->tree) (signature lambda ((ipair? ipair)) pair?) (tags pure)) + ((name . itree->tree) (signature lambda (object) *) (tags pure)) + ((name . gtree->itree) (signature lambda ((pair? pair)) ipair?) (tags pure)) + ((name . gtree->itree) (signature lambda (object) *) (tags pure)) + ((name . gitree->tree) (signature lambda ((ipair? ipair)) pair?) (tags pure)) + ((name . gitree->tree) (signature lambda (object) *) (tags pure)) + ((name . iapply) + (signature lambda ((procedure? proc) arg1 ... (ilist? args)) *) + (tags pure)) + ((name . ipair-comparator) (signature value comparator?)) + ((name . ilist-comparator) (signature value comparator?)) + ((name . make-ilist-comparator) + (signature lambda ((comparator? element-comparator)) comparator?) + (tags pure)) + ((name . make-improper-ilist-comparator) + (signature lambda ((comparator? element-comparator)) comparator?) + (tags pure)) + ((name . make-ipair-comparator) + (signature + lambda + ((comparator? car-comparator) (comparator? cdr-comparator)) + comparator?) + (tags pure)) + ((name . make-icar-comparator) + (signature lambda ((comparator? comparator)) comparator?) + (tags pure)) + ((name . make-icdr-comparator) + (signature lambda ((comparator? comparator)) comparator?) + (tags pure))) diff --git a/types/scheme.inexact.scm b/types/scheme.inexact.scm index 80a1f30..8a49de9 100644 --- a/types/scheme.inexact.scm +++ b/types/scheme.inexact.scm @@ -1,41 +1,15 @@ -( - (acos - (lambda ((number? z)) number?) - (pure)) - (asin - (lambda ((number? z)) number?) - (pure)) - (atan - (lambda ((number? z)) number?) - (pure)) - (cos - (lambda ((number? z)) number?) - (pure)) - (exp - (lambda ((number? z)) number?) - (pure)) - (finite? - (lambda ((number? z)) boolean?) - (pure)) - (infinite? - (lambda ((number? z)) boolean?) - (pure)) - (log - (lambda ((number? z)) number?) - (pure)) - (log - (lambda ((number? z1) (number? z2)) number?) - (pure)) - (nan? - (lambda ((number? z)) boolean?) - (pure)) - (sin - (lambda ((number? z)) number?) - (pure)) - (sqrt - (lambda ((number? z)) number?) - (pure)) - (tan - (lambda ((number? z)) number?) - (pure)) - ) +(((name . acos) (signature lambda ((number? z)) number?) (tags pure)) + ((name . asin) (signature lambda ((number? z)) number?) (tags pure)) + ((name . atan) (signature lambda ((number? z)) number?) (tags pure)) + ((name . cos) (signature lambda ((number? z)) number?) (tags pure)) + ((name . exp) (signature lambda ((number? z)) number?) (tags pure)) + ((name . finite?) (signature lambda ((number? z)) boolean?) (tags pure)) + ((name . infinite?) (signature lambda ((number? z)) boolean?) (tags pure)) + ((name . log) (signature lambda ((number? z)) number?) (tags pure)) + ((name . log) + (signature lambda ((number? z1) (number? z2)) number?) + (tags pure)) + ((name . nan?) (signature lambda ((number? z)) boolean?) (tags pure)) + ((name . sin) (signature lambda ((number? z)) number?) (tags pure)) + ((name . sqrt) (signature lambda ((number? z)) number?) (tags pure)) + ((name . tan) (signature lambda ((number? z)) number?) (tags pure))) diff --git a/types/scheme.lazy.scm b/types/scheme.lazy.scm index 686407a..832d459 100644 --- a/types/scheme.lazy.scm +++ b/types/scheme.lazy.scm @@ -1,22 +1,5 @@ -( - - (delay - (lambda (expression) promise?) - (syntax)) - - (delay-force - (lambda (expression) promise?) - (syntax)) - - (force - (lambda ((promise? promise)) *)) - - (make-promise - (lambda (obj) promise?) - (pure)) - - (promise? - (lambda (obj) boolean?) - (pure predicate)) - - ) +(((name . delay) (signature syntax-rules () ((_ expression) promise?))) + ((name . delay-force) (signature syntax-rules () ((_ expression) promise?)) (tags)) + ((name . force) (signature lambda ((promise? promise)) *)) + ((name . make-promise) (signature lambda (obj) promise?) (tags pure)) + ((name . promise?) (signature lambda (obj) boolean?) (tags pure predicate))) diff --git a/types/scheme.list-queue.scm b/types/scheme.list-queue.scm index e336f8b..f3a590f 100644 --- a/types/scheme.list-queue.scm +++ b/types/scheme.list-queue.scm @@ -1,126 +1,109 @@ -( - - (make-list-queue - (lambda ((list? list)) list-queue?) - (pure)) - - (make-list-queue - (lambda ((list? list) (pair? last)) list-queue?) - (pure)) - - (list-queue - (lambda (element ...) list-queue?) - (pure)) - - (list-queue - (lambda ((list-queue? list-queue)) list-queue?) - (pure)) - - (list-queue-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) list-queue?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (list-queue-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (list-queue? queue)) list-queue?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (list-queue-unfold-right - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) list-queue?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (list-queue-unfold-right - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (list-queue? queue)) list-queue?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (list-queue? - (lambda (obj) boolean?) - (pure predicate)) - - (list-queue-empty? - (lambda ((list-queue? list-queue)) boolean?) - (pure)) - - (list-queue-front - (lambda ((list-queue? list-queue)) *) - (pure)) - - (list-queue-back - (lambda ((list-queue? list-queue)) *) - (pure)) - - (list-queue-list - (lambda ((list-queue? list-queue)) list?) - (pure)) - - (list-queue-first-last - (lambda ((list-queue? list-queue)) (values list? list?)) - (pure)) - - (list-queue-add-front! - (lambda ((list-queue? list-queue) element) undefined) - ()) - - (list-queue-add-back! - (lambda ((list-queue? list-queue) element) undefined) - ()) - - (list-queue-remove-front! - (lambda ((list-queue? list-queue)) *) - ()) - - (list-queue-remove-back! - (lambda ((list-queue? list-queue)) *) - ()) - - (list-queue-remove-all! - (lambda ((list-queue? list-queue)) list?) - ()) - - (list-queue-set-list! - (lambda ((list-queue? list-queue) (list? list)) undefined) - ()) - - (list-queue-set-list! - (lambda ((list-queue? list-queue) (list? list) (pair? last)) undefined) - ()) - - (list-queue-append - (lambda ((list-queue? list-queue) ...) list-queue?) - (pure)) - - (list-queue-append! - (lambda ((list-queue? list-queue) ...) list-queue?) - ()) - - (list-queue-concatenate - (lambda ((list? list-of-list-queues)) list-queue?) - (pure)) - - (list-queue-map - (lambda ((procedure? proc) (list-queue? list-queue)) list-queue?) - (pure) - ((proc (lambda (element) *)))) - - (list-queue-map! - (lambda ((procedure? proc) (list-queue? list-queue)) undefined) - () - ((proc (lambda (element) *)))) - - (list-queue-for-each - (lambda ((procedure? proc) (list-queue? list-queue)) undefined) - () - ((proc (lambda (element) undefined)))) - - ) +(((name . make-list-queue) + (signature lambda ((list? list)) list-queue?) + (tags pure)) + ((name . make-list-queue) + (signature lambda ((list? list) (pair? last)) list-queue?) + (tags pure)) + ((name . list-queue) (signature lambda (element ...) list-queue?) (tags pure)) + ((name . list-queue) + (signature lambda ((list-queue? list-queue)) list-queue?) + (tags pure)) + ((name . list-queue-unfold) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + list-queue?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . list-queue-unfold) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (list-queue? queue)) + list-queue?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . list-queue-unfold-right) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + list-queue?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . list-queue-unfold-right) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (list-queue? queue)) + list-queue?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . list-queue?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . list-queue-empty?) + (signature lambda ((list-queue? list-queue)) boolean?) + (tags pure)) + ((name . list-queue-front) + (signature lambda ((list-queue? list-queue)) *) + (tags pure)) + ((name . list-queue-back) + (signature lambda ((list-queue? list-queue)) *) + (tags pure)) + ((name . list-queue-list) + (signature lambda ((list-queue? list-queue)) list?) + (tags pure)) + ((name . list-queue-first-last) + (signature lambda ((list-queue? list-queue)) (values list? list?)) + (tags pure)) + ((name . list-queue-add-front!) + (signature lambda ((list-queue? list-queue) element) undefined)) + ((name . list-queue-add-back!) + (signature lambda ((list-queue? list-queue) element) undefined)) + ((name . list-queue-remove-front!) + (signature lambda ((list-queue? list-queue)) *)) + ((name . list-queue-remove-back!) + (signature lambda ((list-queue? list-queue)) *)) + ((name . list-queue-remove-all!) + (signature lambda ((list-queue? list-queue)) list?)) + ((name . list-queue-set-list!) + (signature lambda ((list-queue? list-queue) (list? list)) undefined)) + ((name . list-queue-set-list!) + (signature + lambda + ((list-queue? list-queue) (list? list) (pair? last)) + undefined)) + ((name . list-queue-append) + (signature lambda ((list-queue? list-queue) ...) list-queue?) + (tags pure)) + ((name . list-queue-append!) + (signature lambda ((list-queue? list-queue) ...) list-queue?)) + ((name . list-queue-concatenate) + (signature lambda ((list? list-of-list-queues)) list-queue?) + (tags pure)) + ((name . list-queue-map) + (signature lambda ((procedure? proc) (list-queue? list-queue)) list-queue?) + (tags pure) + (subsigs (proc (lambda (element) *)))) + ((name . list-queue-map!) + (signature lambda ((procedure? proc) (list-queue? list-queue)) undefined) + (subsigs (proc (lambda (element) *)))) + ((name . list-queue-for-each) + (signature lambda ((procedure? proc) (list-queue? list-queue)) undefined) + (subsigs (proc (lambda (element) undefined))))) diff --git a/types/scheme.list.scm b/types/scheme.list.scm index 01cbbea..80425c8 100644 --- a/types/scheme.list.scm +++ b/types/scheme.list.scm @@ -1,805 +1,508 @@ -( - (cons - (lambda (a d) pair?) - (pure)) - - (list - (lambda (object ...) list?) - (pure)) - - (xcons - (lambda (d a) pair?) - (pure)) - - (cons* - (lambda (elt1 elt2 ...) *)) - - (make-list - (lambda ((integer? n)) list?)) - - (make-list - (lambda ((integer? n) fill) list?) - (pure)) - - (list-tabulate - (lambda ((integer? n) (procedure? init-proc)) list?) - (pure) - ((init-proc (lambda ((integer? i)) *)))) - - (list-copy - (lambda ((list? flist)) list?) - (pure)) - - (list-copy - (lambda ((dotted-list? flist)) dotted-list?) - (pure)) - - (circular-list - (lambda (elt1 elt2 ...) circular-list?) - (pure)) - - (iota - (lambda ((integer? count)) list?) - (pure)) - - (iota - (lambda ((integer? count) (number? start)) list?) - (pure)) - - (iota - (lambda ((integer? count) (number? start) (number? step)) list?) - (pure)) - - (proper-list? - (lambda (obj) boolean?) - (pure predicate) - ()) - - (circular-list? - (lambda (obj) boolean?) - (pure predicate) - () - (pair?)) - - (dotted-list? - (lambda (obj) boolean?) - (pure predicate) - () - (pair?)) - - (pair? - (lambda (obj) boolean?) - (pure predicate)) - - (null? - (lambda (obj) boolean?) - (pure predicate)) - - (null-list? - (lambda ((list? lst)) boolean?) - (pure predicate)) - - (null-list? - (lambda ((circular-list? lst)) boolean?) - (pure predicate)) - - (not-pair? - (lambda (obj) boolean?) - (pure predicate)) - - (list= - (lambda ((procedure? elt=) (list? list1) ...) boolean?) - (pure) - ((elt= (lambda (a b) *)))) - - (caar - (lambda ((pair? pair)) *) - (pure)) - - (cadr - (lambda ((pair? pair)) *) - (pure)) - - (car - (lambda ((pair? pair)) *) - (pure)) - - (cdar - (lambda ((pair? pair)) *) - (pure)) - - (cddr - (lambda ((pair? pair)) *) - (pure)) - - (cdr - (lambda ((pair? pair)) *) - (pure)) - - (caaaar - (lambda ((pair? pair)) *) - (pure)) - - (caaadr - (lambda ((pair? pair)) *) - (pure)) - - (caaar - (lambda ((pair? pair)) *) - (pure)) - - (caadar - (lambda ((pair? pair)) *) - (pure)) - - (caaddr - (lambda ((pair? pair)) *) - (pure)) - - (caadr - (lambda ((pair? pair)) *) - (pure)) - - (cadaar - (lambda ((pair? pair)) *) - (pure)) - - (cadadr - (lambda ((pair? pair)) *) - (pure)) - - (cadar - (lambda ((pair? pair)) *) - (pure)) - - (caddar - (lambda ((pair? pair)) *) - (pure)) - - (cadddr - (lambda ((pair? pair)) *) - (pure)) - - (caddr - (lambda ((pair? pair)) *) - (pure)) - - (cdaaar - (lambda ((pair? pair)) *) - (pure)) - - (cdaadr - (lambda ((pair? pair)) *) - (pure)) - - (cdaar - (lambda ((pair? pair)) *) - (pure)) - - (cdadar - (lambda ((pair? pair)) *) - (pure)) - - (cdaddr - (lambda ((pair? pair)) *) - (pure)) - - (cdadr - (lambda ((pair? pair)) *) - (pure)) - - (cddaar - (lambda ((pair? pair)) *) - (pure)) - - (cddadr - (lambda ((pair? pair)) *) - (pure)) - - (cddar - (lambda ((pair? pair)) *) - (pure)) - - (cdddar - (lambda ((pair? pair)) *) - (pure)) - - (cddddr - (lambda ((pair? pair)) *) - (pure)) - - (cdddr - (lambda ((pair? pair)) *) - (pure)) - - (list-ref - (lambda ((list? clist) (integer? i)) *) - (pure)) - - (list-ref - (lambda ((circular-list? clist) (integer? i)) *) - (pure)) - - (first - (lambda ((pair? pair)) *) - (pure)) - - (second - (lambda ((pair? pair)) *) - (pure)) - - (third - (lambda ((pair? pair)) *) - (pure)) - - (fourth - (lambda ((pair? pair)) *) - (pure)) - - (fifth - (lambda ((pair? pair)) *) - (pure)) - - (sixth - (lambda ((pair? pair)) *) - (pure)) - - (seventh - (lambda ((pair? pair)) *) - (pure)) - - (eighth - (lambda ((pair? pair)) *) - (pure)) - - (ninth - (lambda ((pair? pair)) *) - (pure)) - - (tenth - (lambda ((pair? pair)) *) - (pure)) - - (car+cdr - (lambda ((pair? pair)) (values * *)) - (pure)) - - (take - (lambda ((list? x) (integer? i)) list?) - (pure)) - - (take - (lambda ((circular-list? x) (integer? i)) list?) - (pure)) - - (take - (lambda ((dotted-list? x) (integer? i)) list?) - (pure)) - - (drop - (lambda ((list? x) (integer? i)) list?) - (pure)) - - (drop - (lambda ((circular-list? x) (integer? i)) circular-list?) - (pure)) - - (drop - (lambda ((dotted-list? x) (integer? i)) *) - (pure)) - - (take-right - (lambda ((list? flist) (integer? i)) list?) - (pure)) - - (take-right - (lambda ((dotted-list? flist) (integer? i)) *) - (pure)) - - (drop-right - (lambda ((list? flist) (integer? i)) list?) - (pure)) - - (drop-right - (lambda ((dotted-list? flist) (integer? i)) list?) - (pure)) - - (take! - (lambda ((list? x) (integer? i)) list?)) - - (take! - (lambda ((circular-list? x) (integer? i)) list?)) - - (take! - (lambda ((dotted-list? x) (integer? i)) list?)) - - (drop-right! - (lambda ((list? flist) (integer? i)) list?)) - - (drop-right! - (lambda ((dotted-list? flist) (integer? i)) list?)) - - (split-at - (lambda ((list? x) (integer? i)) (values list? list?)) - (pure)) - - (split-at - (lambda ((circular-list? x) (integer? i)) (values list? circular-list?)) - (pure)) - - (split-at - (lambda ((dotted-list? x) (integer? i)) (values list? *)) - (pure)) - - (split-at! - (lambda ((list? x) (integer? i)) (values list? list?))) - - (split-at! - (lambda ((circular-list? x) (integer? i)) (values list? circular-list?))) - - (split-at! - (lambda ((dotted-list? x) (integer? i)) (values list? *))) - - (last - (lambda ((list? pair)) *) - (pure)) - - (last-pair - (lambda ((list? pair)) pair?) - (pure)) - - (length - (lambda ((list? list)) integer?) - (pure)) - - (length+ - (lambda ((list? clist)) integer?) - (pure)) - - (length+ - (lambda ((circular-list? clist)) boolean?) - (pure)) - - (append - (lambda ((list? list) ...) list?) - (pure)) - - (append - (lambda ((list? list) ... obj) *) - (pure)) - - (append! - (lambda ((list? list) ...) list?)) - - (append! - (lambda ((list? list) ... obj) *)) - - (concatenate - (lambda ((list? list-of-lists)) *) - (pure)) - - (concatenate! - (lambda ((list? list-of-lists)) *)) - - (reverse - (lambda ((list? list)) list?) - (pure)) - - (reverse! - (lambda ((list? list)) list?)) - - (append-reverse - (lambda ((list? rev-head) (list? tail)) list?) - (pure)) - - (append-reverse - (lambda ((list? rev-head) tail) *) - (pure)) - - (append-reverse! - (lambda ((list? rev-head) (list? tail)) list?)) - - (append-reverse! - (lambda ((list? rev-head) tail) *)) - - (zip - (lambda ((list? clist1) (list? clist2) ...) list?) - (pure)) - - (unzip1 - (lambda ((list? list)) list?) - (pure)) - - (unzip2 - (lambda ((list? list)) (values list? list?)) - (pure)) - - (unzip3 - (lambda ((list? list)) (values list? list? list?)) - (pure)) - - (unzip4 - (lambda ((list? list)) (values list? list? list? list?)) - (pure)) - - (unzip5 - (lambda ((list? list)) (values list? list? list? list? list?)) - (pure)) - - (count - (lambda ((procedure? pred) (list? clist1) (list? clist2) ...) integer?) - (pure) - ((pred (lambda (obj ...) *)))) - - (fold - (lambda ((procedure? kons) knil (list? clist1) (list? clist2) ...) *) - (pure) - ((kons (lambda (obj1 obj2 ... fold-state) *)))) - - (fold-right - (lambda ((procedure? kons) knil (list? clist1) (list? clist2) ...) *) - (pure) - ((kons (lambda (obj1 obj2 ... fold-state) *)))) - - (pair-fold - (lambda ((procedure? kons) knil (list? clist1) (list? clist2) ...) *) - (pure) - ((kons (lambda ((pair? pair1) (pair? pair2) ... fold-state) *)))) - - (pair-fold-right - (lambda ((procedure? kons) knil (list? clist1) (list? clist2) ...) *) - (pure) - ((kons (lambda ((pair? pair1) (pair? pair2) ... fold-state) *)))) - - (reduce - (lambda ((procedure? f) ridentity (list? list))*) - (pure) - ((f (lambda (obj fold-state) *)))) - - (reduce-right - (lambda ((procedure? f) ridentity (list? list))*) - (pure) - ((f (lambda (obj fold-state) *)))) - - (unfold - (lambda ((procedure? p) (procedure? f) (procedure? g) seed) list?) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)))) - - (unfold - (lambda ((procedure? p) (procedure? f) (procedure? g) seed (list? tail-gen)) *) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)) - (tail-gen (lambda () *)))) - - (unfold-right - (lambda ((procedure? p) (procedure? f) (procedure? g) seed) list?) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)))) - - (unfold-right - (lambda ((procedure? p) (procedure? f) (procedure? g) seed (list? tail-gen)) *) - (pure) - ((p (lambda (seed) boolean?)) - (f (lambda (seed) *)) - (g (lambda (seed) *)) - (tail-gen (lambda () *)))) - - (map - (lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) - (pure) - ((proc (lambda (obj1 obj2 ...) *)))) - - (for-each - (lambda ((procedure? proc) (list? list1) (list? list2) ...) undefined) - () - ((proc (lambda (obj1 obj2 ...) undefined)))) - - (append-map - (lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) - (pure) - ((proc (lambda (obj1 obj2 ...) list?)))) - - (append-map! - (lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) - () - ((proc (lambda (obj1 objs2 ...) list?)))) - - (map! - (lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) - () - ((proc (lambda (obj1 obj2 ...) *)))) - - (map-in-order - (lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) - () - ((proc (lambda (obj1 obj2 ...) *)))) - - (pair-for-each - (lambda ((procedure? proc) (list? list1) (list? list2) ...) undefined) - () - ((proc (lambda ((pair? obj1) (pair? obj2) ...) undefined)))) - - (filter-map - (lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) - (pure) - ((proc (lambda (obj1 obj2 ...) *)))) - - (filter - (lambda ((procedure? pred) (list? list)) list?) - (pure) - ((pred (lambda (obj) *)))) - - (filter! - (lambda ((procedure? pred) (list? list)) list?) - () - ((pred (lambda (obj) *)))) - - (partition - (lambda ((procedure? pred) (list? list)) (values list? list?)) - (pure) - ((pred (lambda (obj) *)))) - - (partition! - (lambda ((procedure? pred) (list? list)) (values list? list?)) - () - ((pred (lambda (obj) *)))) - - (remove - (lambda ((procedure? pred) (list? list)) list?) - (pure) - ((pred (lambda (obj) *)))) - - (remove! - (lambda ((procedure? pred) (list? list)) list?) - () - ((pred (lambda (obj) *)))) - - (find - (lambda ((procedure? pred) (list? list)) *) - (pure) - ((pred (lambda (obj) *)))) - - (find-tail - (lambda ((procedure? pred) (list? list)) (or pair? #f)) - (pure) - ((pred (lambda (obj) *)))) - - (take-while - (lambda ((procedure? pred) (list? list)) list?) - (pure) - ((pred (lambda (obj) *)))) - - (take-while! - (lambda ((procedure? pred) (list? list)) list?) - () - ((pred (lambda (obj) *)))) - - (drop-while - (lambda ((procedure? pred) (list? list)) list?) - (pure) - ((pred (lambda (obj) *)))) - - (drop-while - (lambda ((procedure? pred) (circular-list? list)) circular-list?) - (pure) - ((pred (lambda (obj) *)))) - - (span - (lambda ((procedure? pred) (list? list)) (values list? list?)) - (pure) - ((pred (lambda (obj) *)))) - - (span - (lambda ((procedure? pred) (circular-list? list)) (values list? circular-list?)) - (pure) - ((pred (lambda (obj) *)))) - - (span! - (lambda ((procedure? pred) (list? list)) (values list? list?)) - () - ((pred (lambda (obj) *)))) - - (break - (lambda ((procedure? pred) (list? list)) (values list? list?)) - (pure) - ((pred (lambda (obj) *)))) - - (break - (lambda ((procedure? pred) (circular-list? list)) (values list? circular-list?)) - (pure) - ((pred (lambda (obj) *)))) - - (break! - (lambda ((procedure? pred) (list? list)) (values list? list?)) - () - ((pred (lambda (obj) *)))) - - (any - (lambda ((procedure? pred) (list? clist1) (list? clist2) ...) *) - (pure) - ((pred (lambda (obj1 obj2 ...) *)))) - - (every - (lambda ((procedure? pred) (list? clist1) (list? clist2) ...) *) - (pure) - ((pred (lambda (obj1 obj2 ...) *)))) - - (list-index - (lambda ((procedure? pred) (list? clist1) (list? clist2) ...) (or integer? #f)) - (pure) - ((pred (lambda (obj1 obj2 ...) *)))) - - (member - (lambda (obj (list? list)) (or #f list?)) - (pure)) - - (member - (lambda (obj (list? list) (procedure? =)) (or #f list?)) - (pure) - ((= (lambda (obj1 obj2) *)))) - - (memq - (lambda (obj (list? list)) (or #f list?)) - (pure)) - - (memv - (lambda (obj (list? list)) (or 3f list?)) - (pure)) - - (delete - (lambda (obj (list? list)) list?) - (pure)) - - (delete - (lambda (obj (list? list) (procedure? =)) list?) - (pure) - ((= (lambda (obj1 obj2) *)))) - - (delete! - (lambda (obj (list? list)) list?) - ()) - - (delete! - (lambda (obj (list? list) (procedure? =)) list?) - () - ((= (lambda (obj1 obj2) *)))) - - (delete-duplicates - (lambda ((list? list)) list?) - (pure)) - - (delete-duplicates - (lambda ((list? list) (procedure? =)) list?) - (pure) - ((= (lambda (obj1 obj2) *)))) - - (delete-duplicates! - (lambda ((list? list)) list?) - ()) - - (delete-duplicates! - (lambda ((list? list) (procedure? =)) list?) - () - ((= (lambda (obj1 obj2) *)))) - - (assoc - (lambda (obj (list? alist)) (or list? #f)) - (pure)) - - (assoc - (lambda (obj (list? alist) (procedure? =)) (or pair? #f)) - (pure) - ((= (lambda (a b) *)))) - - (assq - (lambda (obj (list? alist)) (or pair? #f)) - (pure)) - - (assv - (lambda (obj (list? alist)) (or pair? #f)) - (pure)) - - (alist-cons - (lambda (key datum (list? alist)) list?) - (pure)) - - (alist-copy - (lambda ((list? alist)) list?) - (pure)) - - (alist-delete - (lambda (key (list? alist)) list?) - (pure)) - - (alist-delete - (lambda (key (list? alist) (procedure? =)) list?) - (pure) - ((= (lambda (a b) *)))) - - (alist-delete! - (lambda (key (list? alist)) list?)) - - (alist-delete! - (lambda (key (list? alist) (procedure? =)) list?) - () - ((= (lambda (a b) *)))) - - (lset<= - (lambda ((procedure? =) (list? list1) ...) boolean?) - (pure) - ((= (lambda (a b) *)))) - - (lset= - (lambda ((procedure? =) (list? list1) (list? list2) ...) boolean?) - (pure) - ((= (lambda (a b) *)))) - - (lset-adjoin - (lambda ((procedure? =) (list? list) elt1 ...) list?) - (pure) - ((= (lambda (a b) *)))) - - (lset-union - (lambda ((procedure? =) (list? list1) ...) list?) - (pure) - ((= (lambda (a b) *)))) - - (lset-union! - (lambda ((procedure? =) (list? list1) ...) list?) - () - ((= (lambda (a b) *)))) - - (lset-intersection - (lambda ((procedure? =) (list? list1) (list? list2) ...) list?) - (pure) - ((= (lambda (a b) *)))) - - (lset-intersection! - (lambda ((procedure? =) (list? list1) (list? list2) ...) list?) - () - ((= (lambda (a b) *)))) - - (lset-difference - (lambda ((procedure? =) (list? list1) (list? list2) ...) list?) - (pure) - ((= (lambda (a b) *)))) - - (lset-difference! - (lambda ((procedure? =) (list? list1) (list? list2) ...) list?) - () - ((= (lambda (a b) *)))) - - (lset-xor - (lambda ((procedure? =) (list? list1) ...) list?) - (pure) - ((= (lambda (a b) *)))) - - (lset-xor! - (lambda ((procedure? =) (list? list1) ...) list?) - () - ((= (lambda (a b) *)))) - - (lset-diff+intersection - (lambda ((procedure? =) (list? list1) (list? list2) ...) (values list? list?)) - (pure) - ((= (lambda (a b) *)))) - - (lset-diff+intersection! - (lambda ((procedure? =) (list? list1) (list? list2) ...) (values list? list?)) - () - ((= (lambda (a b) *)))) - - (set-car! - (lambda ((pair? pair) object) undefined)) - - (set-cdr! - (lambda ((pair? pair) object) undefined)) - - ) +(((name . cons) (signature lambda (a d) pair?) (tags pure)) + ((name . list) (signature lambda (object ...) list?) (tags pure)) + ((name . xcons) (signature lambda (d a) pair?) (tags pure)) + ((name . cons*) (signature lambda (elt1 elt2 ...) *)) + ((name . make-list) (signature lambda ((integer? n)) list?)) + ((name . make-list) (signature lambda ((integer? n) fill) list?) (tags pure)) + ((name . list-tabulate) + (signature lambda ((integer? n) (procedure? init-proc)) list?) + (tags pure) + (subsigs (init-proc (lambda ((integer? i)) *)))) + ((name . list-copy) (signature lambda ((list? flist)) list?) (tags pure)) + ((name . list-copy) + (signature lambda ((dotted-list? flist)) dotted-list?) + (tags pure)) + ((name . circular-list) + (signature lambda (elt1 elt2 ...) circular-list?) + (tags pure)) + ((name . iota) (signature lambda ((integer? count)) list?) (tags pure)) + ((name . iota) + (signature lambda ((integer? count) (number? start)) list?) + (tags pure)) + ((name . iota) + (signature lambda ((integer? count) (number? start) (number? step)) list?) + (tags pure)) + ((name . proper-list?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs)) + ((name . circular-list?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes pair?)) + ((name . dotted-list?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes pair?)) + ((name . pair?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . null?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . null-list?) + (signature lambda ((list? lst)) boolean?) + (tags pure predicate)) + ((name . null-list?) + (signature lambda ((circular-list? lst)) boolean?) + (tags pure predicate)) + ((name . not-pair?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . list=) + (signature lambda ((procedure? elt=) (list? list1) ...) boolean?) + (tags pure) + (subsigs (elt= (lambda (a b) *)))) + ((name . caar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . car) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caaaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caaadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caadar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caaddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caddar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cadddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . caddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdadar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdaddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddaar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddadr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdddar) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cddddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . cdddr) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . list-ref) + (signature lambda ((list? clist) (integer? i)) *) + (tags pure)) + ((name . list-ref) + (signature lambda ((circular-list? clist) (integer? i)) *) + (tags pure)) + ((name . first) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . second) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . third) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . fourth) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . fifth) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . sixth) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . seventh) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . eighth) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . ninth) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . tenth) (signature lambda ((pair? pair)) *) (tags pure)) + ((name . car+cdr) (signature lambda ((pair? pair)) (values * *)) (tags pure)) + ((name . take) (signature lambda ((list? x) (integer? i)) list?) (tags pure)) + ((name . take) + (signature lambda ((circular-list? x) (integer? i)) list?) + (tags pure)) + ((name . take) + (signature lambda ((dotted-list? x) (integer? i)) list?) + (tags pure)) + ((name . drop) (signature lambda ((list? x) (integer? i)) list?) (tags pure)) + ((name . drop) + (signature lambda ((circular-list? x) (integer? i)) circular-list?) + (tags pure)) + ((name . drop) + (signature lambda ((dotted-list? x) (integer? i)) *) + (tags pure)) + ((name . take-right) + (signature lambda ((list? flist) (integer? i)) list?) + (tags pure)) + ((name . take-right) + (signature lambda ((dotted-list? flist) (integer? i)) *) + (tags pure)) + ((name . drop-right) + (signature lambda ((list? flist) (integer? i)) list?) + (tags pure)) + ((name . drop-right) + (signature lambda ((dotted-list? flist) (integer? i)) list?) + (tags pure)) + ((name . take!) (signature lambda ((list? x) (integer? i)) list?)) + ((name . take!) (signature lambda ((circular-list? x) (integer? i)) list?)) + ((name . take!) (signature lambda ((dotted-list? x) (integer? i)) list?)) + ((name . drop-right!) (signature lambda ((list? flist) (integer? i)) list?)) + ((name . drop-right!) + (signature lambda ((dotted-list? flist) (integer? i)) list?)) + ((name . split-at) + (signature lambda ((list? x) (integer? i)) (values list? list?)) + (tags pure)) + ((name . split-at) + (signature + lambda + ((circular-list? x) (integer? i)) + (values list? circular-list?)) + (tags pure)) + ((name . split-at) + (signature lambda ((dotted-list? x) (integer? i)) (values list? *)) + (tags pure)) + ((name . split-at!) + (signature lambda ((list? x) (integer? i)) (values list? list?))) + ((name . split-at!) + (signature + lambda + ((circular-list? x) (integer? i)) + (values list? circular-list?))) + ((name . split-at!) + (signature lambda ((dotted-list? x) (integer? i)) (values list? *))) + ((name . last) (signature lambda ((list? pair)) *) (tags pure)) + ((name . last-pair) (signature lambda ((list? pair)) pair?) (tags pure)) + ((name . length) (signature lambda ((list? list)) integer?) (tags pure)) + ((name . length+) (signature lambda ((list? clist)) integer?) (tags pure)) + ((name . length+) + (signature lambda ((circular-list? clist)) boolean?) + (tags pure)) + ((name . append) (signature lambda ((list? list) ...) list?) (tags pure)) + ((name . append) (signature lambda ((list? list) ... obj) *) (tags pure)) + ((name . append!) (signature lambda ((list? list) ...) list?)) + ((name . append!) (signature lambda ((list? list) ... obj) *)) + ((name . concatenate) + (signature lambda ((list? list-of-lists)) *) + (tags pure)) + ((name . concatenate!) (signature lambda ((list? list-of-lists)) *)) + ((name . reverse) (signature lambda ((list? list)) list?) (tags pure)) + ((name . reverse!) (signature lambda ((list? list)) list?)) + ((name . append-reverse) + (signature lambda ((list? rev-head) (list? tail)) list?) + (tags pure)) + ((name . append-reverse) + (signature lambda ((list? rev-head) tail) *) + (tags pure)) + ((name . append-reverse!) + (signature lambda ((list? rev-head) (list? tail)) list?)) + ((name . append-reverse!) (signature lambda ((list? rev-head) tail) *)) + ((name . zip) + (signature lambda ((list? clist1) (list? clist2) ...) list?) + (tags pure)) + ((name . unzip1) (signature lambda ((list? list)) list?) (tags pure)) + ((name . unzip2) + (signature lambda ((list? list)) (values list? list?)) + (tags pure)) + ((name . unzip3) + (signature lambda ((list? list)) (values list? list? list?)) + (tags pure)) + ((name . unzip4) + (signature lambda ((list? list)) (values list? list? list? list?)) + (tags pure)) + ((name . unzip5) + (signature lambda ((list? list)) (values list? list? list? list? list?)) + (tags pure)) + ((name . count) + (signature + lambda + ((procedure? pred) (list? clist1) (list? clist2) ...) + integer?) + (tags pure) + (subsigs (pred (lambda (obj ...) *)))) + ((name . fold) + (signature + lambda + ((procedure? kons) knil (list? clist1) (list? clist2) ...) + *) + (tags pure) + (subsigs (kons (lambda (obj1 obj2 ... fold-state) *)))) + ((name . fold-right) + (signature + lambda + ((procedure? kons) knil (list? clist1) (list? clist2) ...) + *) + (tags pure) + (subsigs (kons (lambda (obj1 obj2 ... fold-state) *)))) + ((name . pair-fold) + (signature + lambda + ((procedure? kons) knil (list? clist1) (list? clist2) ...) + *) + (tags pure) + (subsigs (kons (lambda ((pair? pair1) (pair? pair2) ... fold-state) *)))) + ((name . pair-fold-right) + (signature + lambda + ((procedure? kons) knil (list? clist1) (list? clist2) ...) + *) + (tags pure) + (subsigs (kons (lambda ((pair? pair1) (pair? pair2) ... fold-state) *)))) + ((name . reduce) + (signature lambda ((procedure? f) ridentity (list? list)) *) + (tags pure) + (subsigs (f (lambda (obj fold-state) *)))) + ((name . reduce-right) + (signature lambda ((procedure? f) ridentity (list? list)) *) + (tags pure) + (subsigs (f (lambda (obj fold-state) *)))) + ((name . unfold) + (signature lambda ((procedure? p) (procedure? f) (procedure? g) seed) list?) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)))) + ((name . unfold) + (signature + lambda + ((procedure? p) (procedure? f) (procedure? g) seed (list? tail-gen)) + *) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)) + (tail-gen (lambda () *)))) + ((name . unfold-right) + (signature lambda ((procedure? p) (procedure? f) (procedure? g) seed) list?) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)))) + ((name . unfold-right) + (signature + lambda + ((procedure? p) (procedure? f) (procedure? g) seed (list? tail-gen)) + *) + (tags pure) + (subsigs + (p (lambda (seed) boolean?)) + (f (lambda (seed) *)) + (g (lambda (seed) *)) + (tail-gen (lambda () *)))) + ((name . map) + (signature lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . for-each) + (signature + lambda + ((procedure? proc) (list? list1) (list? list2) ...) + undefined) + (subsigs (proc (lambda (obj1 obj2 ...) undefined)))) + ((name . append-map) + (signature lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) list?)))) + ((name . append-map!) + (signature lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) + (subsigs (proc (lambda (obj1 objs2 ...) list?)))) + ((name . map!) + (signature lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . map-in-order) + (signature lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . pair-for-each) + (signature + lambda + ((procedure? proc) (list? list1) (list? list2) ...) + undefined) + (subsigs (proc (lambda ((pair? obj1) (pair? obj2) ...) undefined)))) + ((name . filter-map) + (signature lambda ((procedure? proc) (list? list1) (list? list2) ...) list?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . filter) + (signature lambda ((procedure? pred) (list? list)) list?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . filter!) + (signature lambda ((procedure? pred) (list? list)) list?) + (subsigs (pred (lambda (obj) *)))) + ((name . partition) + (signature lambda ((procedure? pred) (list? list)) (values list? list?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . partition!) + (signature lambda ((procedure? pred) (list? list)) (values list? list?)) + (subsigs (pred (lambda (obj) *)))) + ((name . remove) + (signature lambda ((procedure? pred) (list? list)) list?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . remove!) + (signature lambda ((procedure? pred) (list? list)) list?) + (subsigs (pred (lambda (obj) *)))) + ((name . find) + (signature lambda ((procedure? pred) (list? list)) *) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . find-tail) + (signature lambda ((procedure? pred) (list? list)) (or pair? #f)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . take-while) + (signature lambda ((procedure? pred) (list? list)) list?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . take-while!) + (signature lambda ((procedure? pred) (list? list)) list?) + (subsigs (pred (lambda (obj) *)))) + ((name . drop-while) + (signature lambda ((procedure? pred) (list? list)) list?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . drop-while) + (signature lambda ((procedure? pred) (circular-list? list)) circular-list?) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . span) + (signature lambda ((procedure? pred) (list? list)) (values list? list?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . span) + (signature + lambda + ((procedure? pred) (circular-list? list)) + (values list? circular-list?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . span!) + (signature lambda ((procedure? pred) (list? list)) (values list? list?)) + (subsigs (pred (lambda (obj) *)))) + ((name . break) + (signature lambda ((procedure? pred) (list? list)) (values list? list?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . break) + (signature + lambda + ((procedure? pred) (circular-list? list)) + (values list? circular-list?)) + (tags pure) + (subsigs (pred (lambda (obj) *)))) + ((name . break!) + (signature lambda ((procedure? pred) (list? list)) (values list? list?)) + (subsigs (pred (lambda (obj) *)))) + ((name . any) + (signature lambda ((procedure? pred) (list? clist1) (list? clist2) ...) *) + (tags pure) + (subsigs (pred (lambda (obj1 obj2 ...) *)))) + ((name . every) + (signature lambda ((procedure? pred) (list? clist1) (list? clist2) ...) *) + (tags pure) + (subsigs (pred (lambda (obj1 obj2 ...) *)))) + ((name . list-index) + (signature + lambda + ((procedure? pred) (list? clist1) (list? clist2) ...) + (or integer? #f)) + (tags pure) + (subsigs (pred (lambda (obj1 obj2 ...) *)))) + ((name . member) + (signature lambda (obj (list? list)) (or #f list?)) + (tags pure)) + ((name . member) + (signature lambda (obj (list? list) (procedure? =)) (or #f list?)) + (tags pure) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . memq) + (signature lambda (obj (list? list)) (or #f list?)) + (tags pure)) + ((name . memv) + (signature lambda (obj (list? list)) (or #f list?)) + (tags pure)) + ((name . delete) (signature lambda (obj (list? list)) list?) (tags pure)) + ((name . delete) + (signature lambda (obj (list? list) (procedure? =)) list?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . delete!) (signature lambda (obj (list? list)) list?)) + ((name . delete!) + (signature lambda (obj (list? list) (procedure? =)) list?) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . delete-duplicates) + (signature lambda ((list? list)) list?) + (tags pure)) + ((name . delete-duplicates) + (signature lambda ((list? list) (procedure? =)) list?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . delete-duplicates!) (signature lambda ((list? list)) list?)) + ((name . delete-duplicates!) + (signature lambda ((list? list) (procedure? =)) list?) + (subsigs (= (lambda (obj1 obj2) *)))) + ((name . assoc) + (signature lambda (obj (list? alist)) (or list? #f)) + (tags pure)) + ((name . assoc) + (signature lambda (obj (list? alist) (procedure? =)) (or pair? #f)) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . assq) + (signature lambda (obj (list? alist)) (or pair? #f)) + (tags pure)) + ((name . assv) + (signature lambda (obj (list? alist)) (or pair? #f)) + (tags pure)) + ((name . alist-cons) + (signature lambda (key datum (list? alist)) list?) + (tags pure)) + ((name . alist-copy) (signature lambda ((list? alist)) list?) (tags pure)) + ((name . alist-delete) + (signature lambda (key (list? alist)) list?) + (tags pure)) + ((name . alist-delete) + (signature lambda (key (list? alist) (procedure? =)) list?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . alist-delete!) (signature lambda (key (list? alist)) list?)) + ((name . alist-delete!) + (signature lambda (key (list? alist) (procedure? =)) list?) + (subsigs (= (lambda (a b) *)))) + ((name . lset<=) + (signature lambda ((procedure? =) (list? list1) ...) boolean?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset=) + (signature lambda ((procedure? =) (list? list1) (list? list2) ...) boolean?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset-adjoin) + (signature lambda ((procedure? =) (list? list) elt1 ...) list?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset-union) + (signature lambda ((procedure? =) (list? list1) ...) list?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset-union!) + (signature lambda ((procedure? =) (list? list1) ...) list?) + (subsigs (= (lambda (a b) *)))) + ((name . lset-intersection) + (signature lambda ((procedure? =) (list? list1) (list? list2) ...) list?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset-intersection!) + (signature lambda ((procedure? =) (list? list1) (list? list2) ...) list?) + (subsigs (= (lambda (a b) *)))) + ((name . lset-difference) + (signature lambda ((procedure? =) (list? list1) (list? list2) ...) list?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset-difference!) + (signature lambda ((procedure? =) (list? list1) (list? list2) ...) list?) + (subsigs (= (lambda (a b) *)))) + ((name . lset-xor) + (signature lambda ((procedure? =) (list? list1) ...) list?) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset-xor!) + (signature lambda ((procedure? =) (list? list1) ...) list?) + (subsigs (= (lambda (a b) *)))) + ((name . lset-diff+intersection) + (signature + lambda + ((procedure? =) (list? list1) (list? list2) ...) + (values list? list?)) + (tags pure) + (subsigs (= (lambda (a b) *)))) + ((name . lset-diff+intersection!) + (signature + lambda + ((procedure? =) (list? list1) (list? list2) ...) + (values list? list?)) + (subsigs (= (lambda (a b) *)))) + ((name . set-car!) (signature lambda ((pair? pair) object) undefined)) + ((name . set-cdr!) (signature lambda ((pair? pair) object) undefined))) diff --git a/types/scheme.load.scm b/types/scheme.load.scm index 9d943f2..b24ccd8 100644 --- a/types/scheme.load.scm +++ b/types/scheme.load.scm @@ -1,7 +1,3 @@ -( - (load - (lambda ((string? filename)) undefined)) - - (load - (lambda ((string? filename) environment-specifier) undefined)) - ) +(((name . load) (signature lambda ((string? filename)) undefined)) + ((name . load) + (signature lambda ((string? filename) environment-specifier) undefined))) diff --git a/types/scheme.lseq.scm b/types/scheme.lseq.scm index 67f93be..9f759b1 100644 --- a/types/scheme.lseq.scm +++ b/types/scheme.lseq.scm @@ -1,140 +1,93 @@ -( - - (generator->lseq - (lambda ((procedure? generator)) lseq?) - () - ((generator (lambda () *)))) - - (lseq? - (lambda (x) boolean?) - (pure predicate) - () - (list? dotted-list?)) - - (lseq=? - (lambda ((procedure? elt=?) (lseq? lseq1) (lseq? lseq2)) boolean?) - (pure) - ((elt=? (lambda (a b) boolean?)))) - - (lseq-car - (lambda ((lseq? lseq)) *) - (pure)) - - (lseq-first - (lambda ((lseq? lseq)) *) - (pure)) - - (lseq-cdr - (lambda ((lseq? lseq)) lseq?) - (pure)) - - (lseq-rest - (lambda ((lseq? lseq)) lseq?) - (pure)) - - (lseq-ref - (lambda ((lseq? lseq) (integer? i)) *) - (pure)) - - (lseq-take - (lambda ((lseq? lseq) (integer? i)) lseq?) - (pure)) - - (lseq-drop - (lambda ((lseq? lseq) (integer? i)) lseq?) - (pure)) - - (lseq-realize - (lambda ((lseq? lseq)) list?) - (pure)) - - (lseq->generator - (lambda ((lseq? lseq)) procedure?) - () - ((return (lambda () *)))) - - (lseq-length - (lambda ((lseq? lseq)) integer?) - (pure)) - - (lseq-append - (lambda ((lseq? lseq) ...) lseq?) - (pure)) - - (lseq-zip - (lambda ((lseq? lseq1) (lseq? lseq2) ...) lseq?) - (pure)) - - (lseq-map - (lambda ((procedure? proc) (lseq? lseq1) (lseq? lseq2) ...) lseq?) - (pure) - ((proc (lambda (value1 value2 ...) *)))) - - (lseq-for-each - (lambda ((procedure? proc) (lseq? lseq1) (lseq? lseq2) ...) *) - () - ((proc (lambda (value1 value2 ...) *)))) - - (lseq-filter - (lambda ((procedure? pred) (lseq? lseq)) lseq?) - (pure) - ((pred (lambda (element) boolean?)))) - - (lseq-remove - (lambda ((procedure? pred) (lseq? lseq)) lseq?) - (pure) - ((pred (lambda (element) boolean?)))) - - (lseq-find - (lambda ((procedure? pred) (lseq? lseq)) *) - (pure) - ((pred (lambda (element) boolean?)))) - - (lseq-find-tail - (lambda ((procedure? pred) (lseq? lseq)) (or #f lseq?)) - (pure) - ((pred (lambda (element) boolean?)))) - - (lseq-take-while - (lambda ((procedure? pred) (lseq? lseq)) lseq?) - (pure) - ((pred (lambda (element) boolean?)))) - - (lseq-drop-while - (lambda ((procedure? pred) (lseq? lseq)) lseq?) - (pure) - ((pred (lambda (element) boolean?)))) - - (lseq-any - (lambda ((procedure? pred) (lseq? lseq1) (lseq? lseq2) ...) *) - (pure) - ((pred (lambda (element) *)))) - - (lseq-every - (lambda ((procedure? pred) (lseq? lseq1) (lseq? lseq2) ...) *) - (pure) - ((pred (lambda (element) *)))) - - (lseq-index - (lambda ((procedure? pred) (lseq? lseq1) (lseq? lseq2) ...) (or integer? #f)) - (pure) - ((pred (lambda (element) *)))) - - (lseq-member - (lambda (x (lseq? lseq)) (or #f lseq?)) - (pure)) - - (lseq-member - (lambda (x (lseq? lseq) (procedure? =)) (or #f lseq?)) - (pure) - ((= (lambda (a b) boolean?)))) - - (lseq-memq - (lambda (x (lseq? lseq)) (or #f lseq?)) - (pure)) - - (lseq-memv - (lambda (x (lseq? lseq)) (or #f lseq?)) - (pure)) - - ) +(((name . generator->lseq) + (signature lambda ((procedure? generator)) lseq?) + (subsigs (generator (lambda () *)))) + ((name . lseq?) + (signature lambda (x) boolean?) + (tags pure predicate) + (subsigs) + (supertypes list? dotted-list?)) + ((name . lseq=?) + (signature lambda ((procedure? elt=?) (lseq? lseq1) (lseq? lseq2)) boolean?) + (tags pure) + (subsigs (elt=? (lambda (a b) boolean?)))) + ((name . lseq-car) (signature lambda ((lseq? lseq)) *) (tags pure)) + ((name . lseq-first) (signature lambda ((lseq? lseq)) *) (tags pure)) + ((name . lseq-cdr) (signature lambda ((lseq? lseq)) lseq?) (tags pure)) + ((name . lseq-rest) (signature lambda ((lseq? lseq)) lseq?) (tags pure)) + ((name . lseq-ref) + (signature lambda ((lseq? lseq) (integer? i)) *) + (tags pure)) + ((name . lseq-take) + (signature lambda ((lseq? lseq) (integer? i)) lseq?) + (tags pure)) + ((name . lseq-drop) + (signature lambda ((lseq? lseq) (integer? i)) lseq?) + (tags pure)) + ((name . lseq-realize) (signature lambda ((lseq? lseq)) list?) (tags pure)) + ((name . lseq->generator) + (signature lambda ((lseq? lseq)) procedure?) + (subsigs (return (lambda () *)))) + ((name . lseq-length) (signature lambda ((lseq? lseq)) integer?) (tags pure)) + ((name . lseq-append) (signature lambda ((lseq? lseq) ...) lseq?) (tags pure)) + ((name . lseq-zip) + (signature lambda ((lseq? lseq1) (lseq? lseq2) ...) lseq?) + (tags pure)) + ((name . lseq-map) + (signature lambda ((procedure? proc) (lseq? lseq1) (lseq? lseq2) ...) lseq?) + (tags pure) + (subsigs (proc (lambda (value1 value2 ...) *)))) + ((name . lseq-for-each) + (signature lambda ((procedure? proc) (lseq? lseq1) (lseq? lseq2) ...) *) + (subsigs (proc (lambda (value1 value2 ...) *)))) + ((name . lseq-filter) + (signature lambda ((procedure? pred) (lseq? lseq)) lseq?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . lseq-remove) + (signature lambda ((procedure? pred) (lseq? lseq)) lseq?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . lseq-find) + (signature lambda ((procedure? pred) (lseq? lseq)) *) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . lseq-find-tail) + (signature lambda ((procedure? pred) (lseq? lseq)) (or #f lseq?)) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . lseq-take-while) + (signature lambda ((procedure? pred) (lseq? lseq)) lseq?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . lseq-drop-while) + (signature lambda ((procedure? pred) (lseq? lseq)) lseq?) + (tags pure) + (subsigs (pred (lambda (element) boolean?)))) + ((name . lseq-any) + (signature lambda ((procedure? pred) (lseq? lseq1) (lseq? lseq2) ...) *) + (tags pure) + (subsigs (pred (lambda (element) *)))) + ((name . lseq-every) + (signature lambda ((procedure? pred) (lseq? lseq1) (lseq? lseq2) ...) *) + (tags pure) + (subsigs (pred (lambda (element) *)))) + ((name . lseq-index) + (signature + lambda + ((procedure? pred) (lseq? lseq1) (lseq? lseq2) ...) + (or integer? #f)) + (tags pure) + (subsigs (pred (lambda (element) *)))) + ((name . lseq-member) + (signature lambda (x (lseq? lseq)) (or #f lseq?)) + (tags pure)) + ((name . lseq-member) + (signature lambda (x (lseq? lseq) (procedure? =)) (or #f lseq?)) + (tags pure) + (subsigs (= (lambda (a b) boolean?)))) + ((name . lseq-memq) + (signature lambda (x (lseq? lseq)) (or #f lseq?)) + (tags pure)) + ((name . lseq-memv) + (signature lambda (x (lseq? lseq)) (or #f lseq?)) + (tags pure))) diff --git a/types/scheme.mapping.hash.scm b/types/scheme.mapping.hash.scm index be0f39e..acc84dd 100644 --- a/types/scheme.mapping.hash.scm +++ b/types/scheme.mapping.hash.scm @@ -1,342 +1,329 @@ -( - - (hashmap - (lambda ((comparator? comparator) arg ...) hashmap?) - (pure)) - - (hashmap-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (comparator? comparator)) hashmap?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (values * *))) - (successor (lambda (seed) *)))) - - (hashmap? - (lambda (obj) boolean?) - (pure predicate)) - - (hashmap-contains? - (lambda ((hashmap? hashmap) key) boolean?) - (pure)) - - (hashmap-empty? - (lambda ((hashmap? hashmap)) boolean?) - (pure)) - - (hashmap-disjoint? - (lambda ((hashmap? hashmap1) (hashmap? hashmap2)) boolean?) - (pure)) - - (hashmap-ref - (lambda ((hashmap? hashmap) key) *) - (pure)) - - (hashmap-ref - (lambda ((hashmap? hashmap) key (procedure? failure)) *) - (pure) - ((failure (lambda () *)))) - - (hashmap-ref - (lambda ((hashmap? hashmap) key (procedure? failure) (procedure? success)) *) - (pure) - ((failure (lambda () *)) - (success (lambda (value) *)))) - - (hashmap-ref/default - (lambda ((hashmap? hashmap) key default) *) - (pure)) - - (hashmap-key-comparator - (lambda ((hashmap? hashmap)) comparator?) - (pure)) - - (hashmap-adjoin - (lambda ((hashmap? hashmap) key1 value1 ...) hashmap?) - (pure)) - - (hashmap-adjoin! - (lambda ((hashmap? hashmap) key1 value1 ...) hashmap?) - ()) - - (hashmap-set - (lambda ((hashmap? hashmap) key1 value1 ...) hashmap?) - (pure)) - - (hashmap-set! - (lambda ((hashmap? hashmap) key1 value1 ...) hashmap?) - ()) - - (hashmap-replace - (lambda ((hashmap? hashmap) key value) hashmap?) - (pure)) - - (hashmap-replace! - (lambda ((hashmap? hashmap) key value) hashmap?) - ()) - - (hashmap-delete - (lambda ((hashmap? hashmap) key ...) hashmap?) - (pure)) - - (hashmap-delete! - (lambda ((hashmap? hashmap) key ...) hashmap?) - (pure)) - - (hashmap-delete-all - (lambda ((hashmap? hashmap) (list? keys)) hashmap?) - (pure)) - - (hashmap-delete-all! - (lambda ((hashmap? hashmap) (list? keys)) hashmap?) - ()) - - (hashmap-intern - (lambda ((hashmap? hashmap) key (procedure? failure)) (values hashmap? *)) - (pure) - ((failure (lambda () *)))) - - (hashmap-intern! - (lambda ((hashmap? hashmap) key (procedure? failure)) (values hashmap? *)) - () - ((failure (lambda () *)))) - - (hashmap-update - (lambda ((hashmap? hashmap) key (procedure? updater)) hashmap?) - (pure) - ((updater (lambda (value) *)))) - - (hashmap-update - (lambda ((hashmap? hashmap) key (procedure? updater) (procedure? failure)) hashmap?) - (pure) - ((updater (lambda (value) *)) - (failure (lambda () *)))) - - (hashmap-update - (lambda ((hashmap? hashmap) key (procedure? updater) (procedure? failure) (procedure? success)) hashmap?) - (pure) - ((updater (lambda (value) *)) - (failure (lambda () *)) - (success (lambda (value) *)))) - - (hashmap-update! - (lambda ((hashmap? hashmap) key (procedure? updater)) hashmap?) - () - ((updater (lambda (value) *)))) - - (hashmap-update! - (lambda ((hashmap? hashmap) key (procedure? updater) (procedure? failure)) hashmap?) - () - ((updater (lambda (value) *)) - (failure (lambda () *)))) - - (hashmap-update! - (lambda ((hashmap? hashmap) key (procedure? updater) (procedure? failure) (procedure? success)) hashmap?) - () - ((updater (lambda (value) *)) - (failure (lambda () *)) - (success (lambda (value) *)))) - - (hashmap-update/default - (lambda ((hashmap? hashmap) key (procedure? updater) default) hashmap?) - (pure) - ((updater (lambda (value) *)))) - - (hashmap-update!/default - (lambda ((hashmap? hashmap) key (procedure? updater) default) hashmap?) - () - ((updater (lambda (value) *)))) - - (hashmap-pop - (lambda ((hashmap? hashmap)) (values hashmap? * *)) - (pure)) - - (hashmap-pop - (lambda ((hashmap? hashmap) (procedure? failure)) (values hashmap? * *)) - (pure) - ((failure (lambda () (values hashmap? * *))))) - - (hashmap-pop! - (lambda ((hashmap? hashmap)) (values hashmap? * *)) - ()) - - (hashmap-pop! - (lambda ((hashmap? hashmap) (procedure? failure)) (values hashmap? * *)) - () - ((failure (lambda () (values hashmap? * *))))) - - (hashmap-search - (lambda ((hashmap? hashmap) key (procedure? failure) (procedure? success)) (values hashmap? *)) - (pure) - ((failure (lambda ((procedure? insert) (procedure? ignore)) *)) - (insert (lambda (value obj) *)) - (ignore (lambda (obj) *)) - (success (lambda (key value (procedure? update) (procedure? remove)) *)) - (update (lambda (new-key new-value obj) *)) - (remove (lambda (obj) *)))) - - (hashmap-search! - (lambda ((hashmap? hashmap) key (procedure? failure) (procedure? success)) (values hashmap? *)) - () - ((failure (lambda ((procedure? insert) (procedure? ignore)) *)) - (insert (lambda (value obj) *)) - (ignore (lambda (obj) *)) - (success (lambda (key value (procedure? update) (procedure? remove)) *)) - (update (lambda (new-key new-value obj) *)) - (remove (lambda (obj) *)))) - - (hashmap-size - (lambda ((hashmap? hashmap)) integer?) - (pure)) - - (hashmap-find - (lambda ((procedure? predicate) (hashmap? hashmap) (procedure? failure)) (values * *)) - (pure) - ((predicate (lambda (key value) boolean?)) - (failure (lambda () *)))) - - (hashmap-count - (lambda ((procedure? predicate) (hashmap? hashmap)) integer?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (hashmap-any? - (lambda ((procedure? predicate) (hashmap? hashmap)) boolean?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (hashmap-every? - (lambda ((procedure? predicate) (hashmap? hashmap)) boolean?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (hashmap-keys - (lambda ((hashmap? hashmap)) list?) - (pure)) - - (hashmap-values - (lambda ((hashmap? hashmap)) list?) - (pure)) - - (hashmap-entries - (lambda ((hashmap? hashmap)) (values list? list?)) - (pure)) - - (hashmap-map - (lambda ((procedure? proc) (comparator? comparator) (hashmap? hashmap)) hashmap?) - (pure) - ((proc (lambda (key value) (values * *))))) - - (hashmap-for-each - (lambda ((procedure? proc) (comparator? comparator) (hashmap? hashmap)) undefined) - () - ((proc (lambda (key value) undefined)))) - - (hashmap-fold - (lambda ((procedure? proc) nil (hashmap? hashmap)) *) - (pure) - ((proc (lambda (key value state) *)))) - - (hashmap-map->list - (lambda ((procedure? proc) (hashmap? hashmap)) list?) - (pure) - ((proc (lambda (key value) *)))) - - (hashmap-filter - (lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (hashmap-filter! - (lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) - () - ((predicate (lambda (key value) boolean?)))) - - (hashmap-remove - (lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (hashmap-remove! - (lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) - () - ((predicate (lambda (key value) boolean?)))) - - (hashmap-partition - (lambda ((procedure? predicate) (hashmap? hashmap)) (values hashmap? hashmap?)) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (hashmap-partition! - (lambda ((procedure? predicate) (hashmap? hashmap)) (values hashmap? hashmap?)) - () - ((predicate (lambda (key value) boolean?)))) - - (hashmap-copy - (lambda ((hashmap? hashmap)) hashmap?) - (pure)) - - (hashmap->alist - (lambda ((hashmap? hashmap)) list?) - (pure)) - - (alist->hashmap - (lambda ((comparator? comparator) (list? alist)) hashmap?) - (pure)) - - (alist->hashmap! - (lambda ((hashmap? hashmap) (list? alist)) hashmap?) - ()) - - (hashmap=? - (lambda ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) boolean?) - (pure)) - - (hashmap? - (lambda ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) boolean?) - (pure)) - - (hashmap<=? - (lambda ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) boolean?) - (pure)) - - (hashmap>=? - (lambda ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) boolean?) - (pure)) - - (hashmap-union - (lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) - (pure)) - - (hashmap-intersection - (lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) - (pure)) - - (hashmap-difference - (lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) - (pure)) - - (hashmap-xor - (lambda ((hashmap? hashmap1) (hashmap? hashmap2)) hashmap?) - (pure)) - - (hashmap-union! - (lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) - ()) - - (hashmap-intersection! - (lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) - ()) - - (hashmap-difference! - (lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) - ()) - - (hashmap-xor! - (lambda ((hashmap? hashmap1) (hashmap? hashmap2)) hashmap?) - ()) - - ) +(((name . hashmap) + (signature lambda ((comparator? comparator) arg ...) hashmap?) + (tags pure)) + ((name . hashmap-unfold) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (comparator? comparator)) + hashmap?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (values * *))) + (successor (lambda (seed) *)))) + ((name . hashmap?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . hashmap-contains?) + (signature lambda ((hashmap? hashmap) key) boolean?) + (tags pure)) + ((name . hashmap-empty?) + (signature lambda ((hashmap? hashmap)) boolean?) + (tags pure)) + ((name . hashmap-disjoint?) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2)) boolean?) + (tags pure)) + ((name . hashmap-ref) + (signature lambda ((hashmap? hashmap) key) *) + (tags pure)) + ((name . hashmap-ref) + (signature lambda ((hashmap? hashmap) key (procedure? failure)) *) + (tags pure) + (subsigs (failure (lambda () *)))) + ((name . hashmap-ref) + (signature + lambda + ((hashmap? hashmap) key (procedure? failure) (procedure? success)) + *) + (tags pure) + (subsigs (failure (lambda () *)) (success (lambda (value) *)))) + ((name . hashmap-ref/default) + (signature lambda ((hashmap? hashmap) key default) *) + (tags pure)) + ((name . hashmap-key-comparator) + (signature lambda ((hashmap? hashmap)) comparator?) + (tags pure)) + ((name . hashmap-adjoin) + (signature lambda ((hashmap? hashmap) key1 value1 ...) hashmap?) + (tags pure)) + ((name . hashmap-adjoin!) + (signature lambda ((hashmap? hashmap) key1 value1 ...) hashmap?)) + ((name . hashmap-set) + (signature lambda ((hashmap? hashmap) key1 value1 ...) hashmap?) + (tags pure)) + ((name . hashmap-set!) + (signature lambda ((hashmap? hashmap) key1 value1 ...) hashmap?)) + ((name . hashmap-replace) + (signature lambda ((hashmap? hashmap) key value) hashmap?) + (tags pure)) + ((name . hashmap-replace!) + (signature lambda ((hashmap? hashmap) key value) hashmap?)) + ((name . hashmap-delete) + (signature lambda ((hashmap? hashmap) key ...) hashmap?) + (tags pure)) + ((name . hashmap-delete!) + (signature lambda ((hashmap? hashmap) key ...) hashmap?) + (tags pure)) + ((name . hashmap-delete-all) + (signature lambda ((hashmap? hashmap) (list? keys)) hashmap?) + (tags pure)) + ((name . hashmap-delete-all!) + (signature lambda ((hashmap? hashmap) (list? keys)) hashmap?)) + ((name . hashmap-intern) + (signature + lambda + ((hashmap? hashmap) key (procedure? failure)) + (values hashmap? *)) + (tags pure) + (subsigs (failure (lambda () *)))) + ((name . hashmap-intern!) + (signature + lambda + ((hashmap? hashmap) key (procedure? failure)) + (values hashmap? *)) + (subsigs (failure (lambda () *)))) + ((name . hashmap-update) + (signature lambda ((hashmap? hashmap) key (procedure? updater)) hashmap?) + (tags pure) + (subsigs (updater (lambda (value) *)))) + ((name . hashmap-update) + (signature + lambda + ((hashmap? hashmap) key (procedure? updater) (procedure? failure)) + hashmap?) + (tags pure) + (subsigs (updater (lambda (value) *)) (failure (lambda () *)))) + ((name . hashmap-update) + (signature + lambda + ((hashmap? hashmap) + key + (procedure? updater) + (procedure? failure) + (procedure? success)) + hashmap?) + (tags pure) + (subsigs + (updater (lambda (value) *)) + (failure (lambda () *)) + (success (lambda (value) *)))) + ((name . hashmap-update!) + (signature lambda ((hashmap? hashmap) key (procedure? updater)) hashmap?) + (subsigs (updater (lambda (value) *)))) + ((name . hashmap-update!) + (signature + lambda + ((hashmap? hashmap) key (procedure? updater) (procedure? failure)) + hashmap?) + (subsigs (updater (lambda (value) *)) (failure (lambda () *)))) + ((name . hashmap-update!) + (signature + lambda + ((hashmap? hashmap) + key + (procedure? updater) + (procedure? failure) + (procedure? success)) + hashmap?) + (subsigs + (updater (lambda (value) *)) + (failure (lambda () *)) + (success (lambda (value) *)))) + ((name . hashmap-update/default) + (signature + lambda + ((hashmap? hashmap) key (procedure? updater) default) + hashmap?) + (tags pure) + (subsigs (updater (lambda (value) *)))) + ((name . hashmap-update!/default) + (signature + lambda + ((hashmap? hashmap) key (procedure? updater) default) + hashmap?) + (subsigs (updater (lambda (value) *)))) + ((name . hashmap-pop) + (signature lambda ((hashmap? hashmap)) (values hashmap? * *)) + (tags pure)) + ((name . hashmap-pop) + (signature + lambda + ((hashmap? hashmap) (procedure? failure)) + (values hashmap? * *)) + (tags pure) + (subsigs (failure (lambda () (values hashmap? * *))))) + ((name . hashmap-pop!) + (signature lambda ((hashmap? hashmap)) (values hashmap? * *))) + ((name . hashmap-pop!) + (signature + lambda + ((hashmap? hashmap) (procedure? failure)) + (values hashmap? * *)) + (subsigs (failure (lambda () (values hashmap? * *))))) + ((name . hashmap-search) + (signature + lambda + ((hashmap? hashmap) key (procedure? failure) (procedure? success)) + (values hashmap? *)) + (tags pure) + (subsigs + (failure (lambda ((procedure? insert) (procedure? ignore)) *)) + (insert (lambda (value obj) *)) + (ignore (lambda (obj) *)) + (success (lambda (key value (procedure? update) (procedure? remove)) *)) + (update (lambda (new-key new-value obj) *)) + (remove (lambda (obj) *)))) + ((name . hashmap-search!) + (signature + lambda + ((hashmap? hashmap) key (procedure? failure) (procedure? success)) + (values hashmap? *)) + (subsigs + (failure (lambda ((procedure? insert) (procedure? ignore)) *)) + (insert (lambda (value obj) *)) + (ignore (lambda (obj) *)) + (success (lambda (key value (procedure? update) (procedure? remove)) *)) + (update (lambda (new-key new-value obj) *)) + (remove (lambda (obj) *)))) + ((name . hashmap-size) + (signature lambda ((hashmap? hashmap)) integer?) + (tags pure)) + ((name . hashmap-find) + (signature + lambda + ((procedure? predicate) (hashmap? hashmap) (procedure? failure)) + (values * *)) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)) (failure (lambda () *)))) + ((name . hashmap-count) + (signature lambda ((procedure? predicate) (hashmap? hashmap)) integer?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-any?) + (signature lambda ((procedure? predicate) (hashmap? hashmap)) boolean?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-every?) + (signature lambda ((procedure? predicate) (hashmap? hashmap)) boolean?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-keys) + (signature lambda ((hashmap? hashmap)) list?) + (tags pure)) + ((name . hashmap-values) + (signature lambda ((hashmap? hashmap)) list?) + (tags pure)) + ((name . hashmap-entries) + (signature lambda ((hashmap? hashmap)) (values list? list?)) + (tags pure)) + ((name . hashmap-map) + (signature + lambda + ((procedure? proc) (comparator? comparator) (hashmap? hashmap)) + hashmap?) + (tags pure) + (subsigs (proc (lambda (key value) (values * *))))) + ((name . hashmap-for-each) + (signature + lambda + ((procedure? proc) (comparator? comparator) (hashmap? hashmap)) + undefined) + (subsigs (proc (lambda (key value) undefined)))) + ((name . hashmap-fold) + (signature lambda ((procedure? proc) nil (hashmap? hashmap)) *) + (tags pure) + (subsigs (proc (lambda (key value state) *)))) + ((name . hashmap-map->list) + (signature lambda ((procedure? proc) (hashmap? hashmap)) list?) + (tags pure) + (subsigs (proc (lambda (key value) *)))) + ((name . hashmap-filter) + (signature lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-filter!) + (signature lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-remove) + (signature lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-remove!) + (signature lambda ((procedure? predicate) (hashmap? hashmap)) hashmap?) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-partition) + (signature + lambda + ((procedure? predicate) (hashmap? hashmap)) + (values hashmap? hashmap?)) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-partition!) + (signature + lambda + ((procedure? predicate) (hashmap? hashmap)) + (values hashmap? hashmap?)) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . hashmap-copy) + (signature lambda ((hashmap? hashmap)) hashmap?) + (tags pure)) + ((name . hashmap->alist) + (signature lambda ((hashmap? hashmap)) list?) + (tags pure)) + ((name . alist->hashmap) + (signature lambda ((comparator? comparator) (list? alist)) hashmap?) + (tags pure)) + ((name . alist->hashmap!) + (signature lambda ((hashmap? hashmap) (list? alist)) hashmap?)) + ((name . hashmap=?) + (signature + lambda + ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) + boolean?) + (tags pure)) + ((name . hashmap?) + (signature + lambda + ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) + boolean?) + (tags pure)) + ((name . hashmap<=?) + (signature + lambda + ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) + boolean?) + (tags pure)) + ((name . hashmap>=?) + (signature + lambda + ((comparator? comparator) (hashmap? hashmap1) (hashmap? hashmap2) ...) + boolean?) + (tags pure)) + ((name . hashmap-union) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) + (tags pure)) + ((name . hashmap-intersection) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) + (tags pure)) + ((name . hashmap-difference) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?) + (tags pure)) + ((name . hashmap-xor) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2)) hashmap?) + (tags pure)) + ((name . hashmap-union!) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?)) + ((name . hashmap-intersection!) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?)) + ((name . hashmap-difference!) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2) ...) hashmap?)) + ((name . hashmap-xor!) + (signature lambda ((hashmap? hashmap1) (hashmap? hashmap2)) hashmap?))) diff --git a/types/scheme.mapping.scm b/types/scheme.mapping.scm index 8a0503b..9f18157 100644 --- a/types/scheme.mapping.scm +++ b/types/scheme.mapping.scm @@ -1,476 +1,446 @@ -( - - (mapping - (lambda ((comparator? comparator) arg ...) mapping?) - (pure)) - - (mapping-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (comparator? comparator)) mapping?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (values * *))) - (successor (lambda (seed) *)))) - - (mapping? - (lambda (obj) boolean?) - (pure predicate)) - - (mapping-contains? - (lambda ((mapping? mapping) key) boolean?) - (pure)) - - (mapping-empty? - (lambda ((mapping? mapping)) boolean?) - (pure)) - - (mapping-disjoint? - (lambda ((mapping? mapping1) (mapping? mapping2)) boolean?) - (pure)) - - (mapping-ref - (lambda ((mapping? mapping) key) *) - (pure)) - - (mapping-ref - (lambda ((mapping? mapping) key (procedure? failure)) *) - (pure) - ((failure (lambda () *)))) - - (mapping-ref - (lambda ((mapping? mapping) key (procedure? failure) (procedure? success)) *) - (pure) - ((failure (lambda () *)) - (success (lambda (value) *)))) - - (mapping-ref/default - (lambda ((mapping? mapping) key default) *) - (pure)) - - (mapping-key-comparator - (lambda ((mapping? mapping)) comparator?) - (pure)) - - (mapping-adjoin - (lambda ((mapping? mapping) key1 value1 ...) mapping?) - (pure)) - - (mapping-adjoin! - (lambda ((mapping? mapping) key1 value1 ...) mapping?) - ()) - - (mapping-set - (lambda ((mapping? mapping) key1 value1 ...) mapping?) - (pure)) - - (mapping-set! - (lambda ((mapping? mapping) key1 value1 ...) mapping?) - ()) - - (mapping-replace - (lambda ((mapping? mapping) key value) mapping?) - (pure)) - - (mapping-replace! - (lambda ((mapping? mapping) key value) mapping?) - ()) - - (mapping-delete - (lambda ((mapping? mapping) key ...) mapping?) - (pure)) - - (mapping-delete! - (lambda ((mapping? mapping) key ...) mapping?) - (pure)) - - (mapping-delete-all - (lambda ((mapping? mapping) (list? keys)) mapping?) - (pure)) - - (mapping-delete-all! - (lambda ((mapping? mapping) (list? keys)) mapping?) - ()) - - (mapping-intern - (lambda ((mapping? mapping) key (procedure? failure)) (values mapping? *)) - (pure) - ((failure (lambda () *)))) - - (mapping-intern! - (lambda ((mapping? mapping) key (procedure? failure)) (values mapping? *)) - () - ((failure (lambda () *)))) - - (mapping-update - (lambda ((mapping? mapping) key (procedure? updater)) mapping?) - (pure) - ((updater (lambda (value) *)))) - - (mapping-update - (lambda ((mapping? mapping) key (procedure? updater) (procedure? failure)) mapping?) - (pure) - ((updater (lambda (value) *)) - (failure (lambda () *)))) - - (mapping-update - (lambda ((mapping? mapping) key (procedure? updater) (procedure? failure) (procedure? success)) mapping?) - (pure) - ((updater (lambda (value) *)) - (failure (lambda () *)) - (success (lambda (value) *)))) - - (mapping-update! - (lambda ((mapping? mapping) key (procedure? updater)) mapping?) - () - ((updater (lambda (value) *)))) - - (mapping-update! - (lambda ((mapping? mapping) key (procedure? updater) (procedure? failure)) mapping?) - () - ((updater (lambda (value) *)) - (failure (lambda () *)))) - - (mapping-update! - (lambda ((mapping? mapping) key (procedure? updater) (procedure? failure) (procedure? success)) mapping?) - () - ((updater (lambda (value) *)) - (failure (lambda () *)) - (success (lambda (value) *)))) - - (mapping-update/default - (lambda ((mapping? mapping) key (procedure? updater) default) mapping?) - (pure) - ((updater (lambda (value) *)))) - - (mapping-update!/default - (lambda ((mapping? mapping) key (procedure? updater) default) mapping?) - () - ((updater (lambda (value) *)))) - - (mapping-pop - (lambda ((mapping? mapping)) (values mapping? * *)) - (pure)) - - (mapping-pop - (lambda ((mapping? mapping) (procedure? failure)) (values mapping? * *)) - (pure) - ((failure (lambda () (values mapping? * *))))) - - (mapping-pop! - (lambda ((mapping? mapping)) (values mapping? * *)) - ()) - - (mapping-pop! - (lambda ((mapping? mapping) (procedure? failure)) (values mapping? * *)) - () - ((failure (lambda () (values mapping? * *))))) - - (mapping-search - (lambda ((mapping? mapping) key (procedure? failure) (procedure? success)) (values mapping? *)) - (pure) - ((failure (lambda ((procedure? insert) (procedure? ignore)) *)) - (insert (lambda (value obj) *)) - (ignore (lambda (obj) *)) - (success (lambda (key value (procedure? update) (procedure? remove)) *)) - (update (lambda (new-key new-value obj) *)) - (remove (lambda (obj) *)))) - - (mapping-search! - (lambda ((mapping? mapping) key (procedure? failure) (procedure? success)) (values mapping? *)) - () - ((failure (lambda ((procedure? insert) (procedure? ignore)) *)) - (insert (lambda (value obj) *)) - (ignore (lambda (obj) *)) - (success (lambda (key value (procedure? update) (procedure? remove)) *)) - (update (lambda (new-key new-value obj) *)) - (remove (lambda (obj) *)))) - - (mapping-size - (lambda ((mapping? mapping)) integer?) - (pure)) - - (mapping-find - (lambda ((procedure? predicate) (mapping? mapping) (procedure? failure)) (values * *)) - (pure) - ((predicate (lambda (key value) boolean?)) - (failure (lambda () *)))) - - (mapping-count - (lambda ((procedure? predicate) (mapping? mapping)) integer?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (mapping-any? - (lambda ((procedure? predicate) (mapping? mapping)) boolean?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (mapping-every? - (lambda ((procedure? predicate) (mapping? mapping)) boolean?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (mapping-keys - (lambda ((mapping? mapping)) list?) - (pure)) - - (mapping-values - (lambda ((mapping? mapping)) list?) - (pure)) - - (mapping-entries - (lambda ((mapping? mapping)) (values list? list?)) - (pure)) - - (mapping-map - (lambda ((procedure? proc) (comparator? comparator) (mapping? mapping)) mapping?) - (pure) - ((proc (lambda (key value) (values * *))))) - - (mapping-for-each - (lambda ((procedure? proc) (comparator? comparator) (mapping? mapping)) undefined) - () - ((proc (lambda (key value) undefined)))) - - (mapping-fold - (lambda ((procedure? proc) nil (mapping? mapping)) *) - (pure) - ((proc (lambda (key value state) *)))) - - (mapping-map->list - (lambda ((procedure? proc) (mapping? mapping)) list?) - (pure) - ((proc (lambda (key value) *)))) - - (mapping-filter - (lambda ((procedure? predicate) (mapping? mapping)) mapping?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (mapping-filter! - (lambda ((procedure? predicate) (mapping? mapping)) mapping?) - () - ((predicate (lambda (key value) boolean?)))) - - (mapping-remove - (lambda ((procedure? predicate) (mapping? mapping)) mapping?) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (mapping-remove! - (lambda ((procedure? predicate) (mapping? mapping)) mapping?) - () - ((predicate (lambda (key value) boolean?)))) - - (mapping-partition - (lambda ((procedure? predicate) (mapping? mapping)) (values mapping? mapping?)) - (pure) - ((predicate (lambda (key value) boolean?)))) - - (mapping-partition! - (lambda ((procedure? predicate) (mapping? mapping)) (values mapping? mapping?)) - () - ((predicate (lambda (key value) boolean?)))) - - (mapping-copy - (lambda ((mapping? mapping)) mapping?) - (pure)) - - (mapping->alist - (lambda ((mapping? mapping)) list?) - (pure)) - - (alist->mapping - (lambda ((comparator? comparator) (list? alist)) mapping?) - (pure)) - - (alist->mapping! - (lambda ((mapping? mapping) (list? alist)) mapping?) - ()) - - (mapping=? - (lambda ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) boolean?) - (pure)) - - (mapping? - (lambda ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) boolean?) - (pure)) - - (mapping<=? - (lambda ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) boolean?) - (pure)) - - (mapping>=? - (lambda ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) boolean?) - (pure)) - - (mapping-union - (lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) - (pure)) - - (mapping-intersection - (lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) - (pure)) - - (mapping-difference - (lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) - (pure)) - - (mapping-xor - (lambda ((mapping? mapping1) (mapping? mapping2)) mapping?) - (pure)) - - (mapping-union! - (lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) - ()) - - (mapping-intersection! - (lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) - ()) - - (mapping-difference! - (lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) - ()) - - (mapping-xor! - (lambda ((mapping? mapping1) (mapping? mapping2)) mapping?) - ()) - - (mapping/ordered - (lambda ((comparator? comparator) arg ...) mapping?) - (pure)) - - (mapping-unfold/ordered - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (comparator? comparator)) mapping?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (values * *))) - (successor (lambda (seed) *)))) - - (alist->mapping/ordered - (lambda ((comparator? comparator) (list? alist)) mapping?) - (pure)) - - (alist->mapping/ordered! - (lambda ((mapping? mapping) (list? alist)) mapping?) - ()) - - (mapping-min-key - (lambda ((mapping? mapping)) *) - (pure)) - - (mapping-max-key - (lambda ((mapping? mapping)) *) - (pure)) - - (mapping-min-value - (lambda ((mapping? mapping)) *) - (pure)) - - (mapping-max-value - (lambda ((mapping? mapping)) *) - (pure)) - - (mapping-min-entry - (lambda ((mapping? mapping)) (values * *)) - (pure)) - - (mapping-max-entry - (lambda ((mapping? mapping)) (values * *)) - (pure)) - - (mapping-key-predecessor - (lambda ((mapping? mapping) obj (procedure? failure)) *) - (pure) - ((failure (lambda () *)))) - - (mapping-key-successor - (lambda ((mapping? mapping) obj (procedure? failure)) *) - (pure) - ((failure (lambda () *)))) - - (mapping-range= - (lambda ((mapping? mapping) obj) mapping?) - (pure)) - - (mapping-range< - (lambda ((mapping? mapping) obj) mapping?) - (pure)) - - (mapping-range> - (lambda ((mapping? mapping) obj) mapping?) - (pure)) - - (mapping-range<= - (lambda ((mapping? mapping) obj) mapping?) - (pure)) - - (mapping-range>= - (lambda ((mapping? mapping) obj) mapping?) - (pure)) - - (mapping-range=! - (lambda ((mapping? mapping) obj) mapping?) - ()) - - (mapping-range! - (lambda ((mapping? mapping) obj) mapping?) - ()) - - (mapping-range<=! - (lambda ((mapping? mapping) obj) mapping?) - ()) - - (mapping-range>=! - (lambda ((mapping? mapping) obj) mapping?) - ()) - - (mapping-split - (lambda ((mapping? mapping) obj) (values mapping? mapping? mapping? mapping? mapping?)) - (pure)) - - (mapping-split! - (lambda ((mapping? mapping) obj) (values mapping? mapping? mapping? mapping? mapping?)) - ()) - - (mapping-catenate - (lambda ((mapping? mapping1) key value (mapping? mapping2)) mapping?) - (pure)) - - (mapping-catenate! - (lambda ((mapping? mapping1) key value (mapping? mapping2)) mapping?) - ()) - - (mapping-map/monotone - (lambda ((procedure? proc) (comparator? comparator) (mapping? mapping)) mapping?) - (pure) - ((proc (lambda (key value) (values * *))))) - - (mapping-map/monotone! - (lambda ((procedure? proc) (comparator? comparator) (mapping? mapping)) mapping?) - () - ((proc (lambda (key value) (values * *))))) - - (mapping-fold/reverse - (lambda ((procedure? proc) nil (mapping? mapping)) *) - (pure) - ((proc (lambda (key value state) *)))) - - (comparator? - (lambda (obj) boolean?) - (pure predicate)) - - (make-mapping-comparator - (lambda ((comparator? comparator)) comparator?) - (pure)) - - (mapping-comparator (value comparator?)) - - ) +(((name . mapping) + (signature lambda ((comparator? comparator) arg ...) mapping?) + (tags pure)) + ((name . mapping-unfold) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (comparator? comparator)) + mapping?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (values * *))) + (successor (lambda (seed) *)))) + ((name . mapping?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . mapping-contains?) + (signature lambda ((mapping? mapping) key) boolean?) + (tags pure)) + ((name . mapping-empty?) + (signature lambda ((mapping? mapping)) boolean?) + (tags pure)) + ((name . mapping-disjoint?) + (signature lambda ((mapping? mapping1) (mapping? mapping2)) boolean?) + (tags pure)) + ((name . mapping-ref) + (signature lambda ((mapping? mapping) key) *) + (tags pure)) + ((name . mapping-ref) + (signature lambda ((mapping? mapping) key (procedure? failure)) *) + (tags pure) + (subsigs (failure (lambda () *)))) + ((name . mapping-ref) + (signature + lambda + ((mapping? mapping) key (procedure? failure) (procedure? success)) + *) + (tags pure) + (subsigs (failure (lambda () *)) (success (lambda (value) *)))) + ((name . mapping-ref/default) + (signature lambda ((mapping? mapping) key default) *) + (tags pure)) + ((name . mapping-key-comparator) + (signature lambda ((mapping? mapping)) comparator?) + (tags pure)) + ((name . mapping-adjoin) + (signature lambda ((mapping? mapping) key1 value1 ...) mapping?) + (tags pure)) + ((name . mapping-adjoin!) + (signature lambda ((mapping? mapping) key1 value1 ...) mapping?)) + ((name . mapping-set) + (signature lambda ((mapping? mapping) key1 value1 ...) mapping?) + (tags pure)) + ((name . mapping-set!) + (signature lambda ((mapping? mapping) key1 value1 ...) mapping?)) + ((name . mapping-replace) + (signature lambda ((mapping? mapping) key value) mapping?) + (tags pure)) + ((name . mapping-replace!) + (signature lambda ((mapping? mapping) key value) mapping?)) + ((name . mapping-delete) + (signature lambda ((mapping? mapping) key ...) mapping?) + (tags pure)) + ((name . mapping-delete!) + (signature lambda ((mapping? mapping) key ...) mapping?) + (tags pure)) + ((name . mapping-delete-all) + (signature lambda ((mapping? mapping) (list? keys)) mapping?) + (tags pure)) + ((name . mapping-delete-all!) + (signature lambda ((mapping? mapping) (list? keys)) mapping?)) + ((name . mapping-intern) + (signature + lambda + ((mapping? mapping) key (procedure? failure)) + (values mapping? *)) + (tags pure) + (subsigs (failure (lambda () *)))) + ((name . mapping-intern!) + (signature + lambda + ((mapping? mapping) key (procedure? failure)) + (values mapping? *)) + (subsigs (failure (lambda () *)))) + ((name . mapping-update) + (signature lambda ((mapping? mapping) key (procedure? updater)) mapping?) + (tags pure) + (subsigs (updater (lambda (value) *)))) + ((name . mapping-update) + (signature + lambda + ((mapping? mapping) key (procedure? updater) (procedure? failure)) + mapping?) + (tags pure) + (subsigs (updater (lambda (value) *)) (failure (lambda () *)))) + ((name . mapping-update) + (signature + lambda + ((mapping? mapping) + key + (procedure? updater) + (procedure? failure) + (procedure? success)) + mapping?) + (tags pure) + (subsigs + (updater (lambda (value) *)) + (failure (lambda () *)) + (success (lambda (value) *)))) + ((name . mapping-update!) + (signature lambda ((mapping? mapping) key (procedure? updater)) mapping?) + (subsigs (updater (lambda (value) *)))) + ((name . mapping-update!) + (signature + lambda + ((mapping? mapping) key (procedure? updater) (procedure? failure)) + mapping?) + (subsigs (updater (lambda (value) *)) (failure (lambda () *)))) + ((name . mapping-update!) + (signature + lambda + ((mapping? mapping) + key + (procedure? updater) + (procedure? failure) + (procedure? success)) + mapping?) + (subsigs + (updater (lambda (value) *)) + (failure (lambda () *)) + (success (lambda (value) *)))) + ((name . mapping-update/default) + (signature + lambda + ((mapping? mapping) key (procedure? updater) default) + mapping?) + (tags pure) + (subsigs (updater (lambda (value) *)))) + ((name . mapping-update!/default) + (signature + lambda + ((mapping? mapping) key (procedure? updater) default) + mapping?) + (subsigs (updater (lambda (value) *)))) + ((name . mapping-pop) + (signature lambda ((mapping? mapping)) (values mapping? * *)) + (tags pure)) + ((name . mapping-pop) + (signature + lambda + ((mapping? mapping) (procedure? failure)) + (values mapping? * *)) + (tags pure) + (subsigs (failure (lambda () (values mapping? * *))))) + ((name . mapping-pop!) + (signature lambda ((mapping? mapping)) (values mapping? * *))) + ((name . mapping-pop!) + (signature + lambda + ((mapping? mapping) (procedure? failure)) + (values mapping? * *)) + (subsigs (failure (lambda () (values mapping? * *))))) + ((name . mapping-search) + (signature + lambda + ((mapping? mapping) key (procedure? failure) (procedure? success)) + (values mapping? *)) + (tags pure) + (subsigs + (failure (lambda ((procedure? insert) (procedure? ignore)) *)) + (insert (lambda (value obj) *)) + (ignore (lambda (obj) *)) + (success (lambda (key value (procedure? update) (procedure? remove)) *)) + (update (lambda (new-key new-value obj) *)) + (remove (lambda (obj) *)))) + ((name . mapping-search!) + (signature + lambda + ((mapping? mapping) key (procedure? failure) (procedure? success)) + (values mapping? *)) + (subsigs + (failure (lambda ((procedure? insert) (procedure? ignore)) *)) + (insert (lambda (value obj) *)) + (ignore (lambda (obj) *)) + (success (lambda (key value (procedure? update) (procedure? remove)) *)) + (update (lambda (new-key new-value obj) *)) + (remove (lambda (obj) *)))) + ((name . mapping-size) + (signature lambda ((mapping? mapping)) integer?) + (tags pure)) + ((name . mapping-find) + (signature + lambda + ((procedure? predicate) (mapping? mapping) (procedure? failure)) + (values * *)) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)) (failure (lambda () *)))) + ((name . mapping-count) + (signature lambda ((procedure? predicate) (mapping? mapping)) integer?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-any?) + (signature lambda ((procedure? predicate) (mapping? mapping)) boolean?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-every?) + (signature lambda ((procedure? predicate) (mapping? mapping)) boolean?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-keys) + (signature lambda ((mapping? mapping)) list?) + (tags pure)) + ((name . mapping-values) + (signature lambda ((mapping? mapping)) list?) + (tags pure)) + ((name . mapping-entries) + (signature lambda ((mapping? mapping)) (values list? list?)) + (tags pure)) + ((name . mapping-map) + (signature + lambda + ((procedure? proc) (comparator? comparator) (mapping? mapping)) + mapping?) + (tags pure) + (subsigs (proc (lambda (key value) (values * *))))) + ((name . mapping-for-each) + (signature + lambda + ((procedure? proc) (comparator? comparator) (mapping? mapping)) + undefined) + (subsigs (proc (lambda (key value) undefined)))) + ((name . mapping-fold) + (signature lambda ((procedure? proc) nil (mapping? mapping)) *) + (tags pure) + (subsigs (proc (lambda (key value state) *)))) + ((name . mapping-map->list) + (signature lambda ((procedure? proc) (mapping? mapping)) list?) + (tags pure) + (subsigs (proc (lambda (key value) *)))) + ((name . mapping-filter) + (signature lambda ((procedure? predicate) (mapping? mapping)) mapping?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-filter!) + (signature lambda ((procedure? predicate) (mapping? mapping)) mapping?) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-remove) + (signature lambda ((procedure? predicate) (mapping? mapping)) mapping?) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-remove!) + (signature lambda ((procedure? predicate) (mapping? mapping)) mapping?) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-partition) + (signature + lambda + ((procedure? predicate) (mapping? mapping)) + (values mapping? mapping?)) + (tags pure) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-partition!) + (signature + lambda + ((procedure? predicate) (mapping? mapping)) + (values mapping? mapping?)) + (subsigs (predicate (lambda (key value) boolean?)))) + ((name . mapping-copy) + (signature lambda ((mapping? mapping)) mapping?) + (tags pure)) + ((name . mapping->alist) + (signature lambda ((mapping? mapping)) list?) + (tags pure)) + ((name . alist->mapping) + (signature lambda ((comparator? comparator) (list? alist)) mapping?) + (tags pure)) + ((name . alist->mapping!) + (signature lambda ((mapping? mapping) (list? alist)) mapping?)) + ((name . mapping=?) + (signature + lambda + ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) + boolean?) + (tags pure)) + ((name . mapping?) + (signature + lambda + ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) + boolean?) + (tags pure)) + ((name . mapping<=?) + (signature + lambda + ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) + boolean?) + (tags pure)) + ((name . mapping>=?) + (signature + lambda + ((comparator? comparator) (mapping? mapping1) (mapping? mapping2) ...) + boolean?) + (tags pure)) + ((name . mapping-union) + (signature lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) + (tags pure)) + ((name . mapping-intersection) + (signature lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) + (tags pure)) + ((name . mapping-difference) + (signature lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?) + (tags pure)) + ((name . mapping-xor) + (signature lambda ((mapping? mapping1) (mapping? mapping2)) mapping?) + (tags pure)) + ((name . mapping-union!) + (signature lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?)) + ((name . mapping-intersection!) + (signature lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?)) + ((name . mapping-difference!) + (signature lambda ((mapping? mapping1) (mapping? mapping2) ...) mapping?)) + ((name . mapping-xor!) + (signature lambda ((mapping? mapping1) (mapping? mapping2)) mapping?)) + ((name . mapping/ordered) + (signature lambda ((comparator? comparator) arg ...) mapping?) + (tags pure)) + ((name . mapping-unfold/ordered) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (comparator? comparator)) + mapping?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (values * *))) + (successor (lambda (seed) *)))) + ((name . alist->mapping/ordered) + (signature lambda ((comparator? comparator) (list? alist)) mapping?) + (tags pure)) + ((name . alist->mapping/ordered!) + (signature lambda ((mapping? mapping) (list? alist)) mapping?)) + ((name . mapping-min-key) + (signature lambda ((mapping? mapping)) *) + (tags pure)) + ((name . mapping-max-key) + (signature lambda ((mapping? mapping)) *) + (tags pure)) + ((name . mapping-min-value) + (signature lambda ((mapping? mapping)) *) + (tags pure)) + ((name . mapping-max-value) + (signature lambda ((mapping? mapping)) *) + (tags pure)) + ((name . mapping-min-entry) + (signature lambda ((mapping? mapping)) (values * *)) + (tags pure)) + ((name . mapping-max-entry) + (signature lambda ((mapping? mapping)) (values * *)) + (tags pure)) + ((name . mapping-key-predecessor) + (signature lambda ((mapping? mapping) obj (procedure? failure)) *) + (tags pure) + (subsigs (failure (lambda () *)))) + ((name . mapping-key-successor) + (signature lambda ((mapping? mapping) obj (procedure? failure)) *) + (tags pure) + (subsigs (failure (lambda () *)))) + ((name . mapping-range=) + (signature lambda ((mapping? mapping) obj) mapping?) + (tags pure)) + ((name . mapping-range<) + (signature lambda ((mapping? mapping) obj) mapping?) + (tags pure)) + ((name . mapping-range>) + (signature lambda ((mapping? mapping) obj) mapping?) + (tags pure)) + ((name . mapping-range<=) + (signature lambda ((mapping? mapping) obj) mapping?) + (tags pure)) + ((name . mapping-range>=) + (signature lambda ((mapping? mapping) obj) mapping?) + (tags pure)) + ((name . mapping-range=!) + (signature lambda ((mapping? mapping) obj) mapping?)) + ((name . mapping-range!) + (signature lambda ((mapping? mapping) obj) mapping?)) + ((name . mapping-range<=!) + (signature lambda ((mapping? mapping) obj) mapping?)) + ((name . mapping-range>=!) + (signature lambda ((mapping? mapping) obj) mapping?)) + ((name . mapping-split) + (signature + lambda + ((mapping? mapping) obj) + (values mapping? mapping? mapping? mapping? mapping?)) + (tags pure)) + ((name . mapping-split!) + (signature + lambda + ((mapping? mapping) obj) + (values mapping? mapping? mapping? mapping? mapping?))) + ((name . mapping-catenate) + (signature + lambda + ((mapping? mapping1) key value (mapping? mapping2)) + mapping?) + (tags pure)) + ((name . mapping-catenate!) + (signature + lambda + ((mapping? mapping1) key value (mapping? mapping2)) + mapping?)) + ((name . mapping-map/monotone) + (signature + lambda + ((procedure? proc) (comparator? comparator) (mapping? mapping)) + mapping?) + (tags pure) + (subsigs (proc (lambda (key value) (values * *))))) + ((name . mapping-map/monotone!) + (signature + lambda + ((procedure? proc) (comparator? comparator) (mapping? mapping)) + mapping?) + (subsigs (proc (lambda (key value) (values * *))))) + ((name . mapping-fold/reverse) + (signature lambda ((procedure? proc) nil (mapping? mapping)) *) + (tags pure) + (subsigs (proc (lambda (key value state) *)))) + ((name . comparator?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . make-mapping-comparator) + (signature lambda ((comparator? comparator)) comparator?) + (tags pure)) + ((name . mapping-comparator) (signature value comparator?))) diff --git a/types/scheme.process-context.scm b/types/scheme.process-context.scm index bfa5095..2b2c822 100644 --- a/types/scheme.process-context.scm +++ b/types/scheme.process-context.scm @@ -1,25 +1,9 @@ -( - (command-line - (lambda () list?) - (pure)) - - (emergency-exit - (lambda () undefined)) - - (emergency-exit - (lambda (obj) undefined)) - - (exit - (lambda () undefined)) - - (exit - (lambda (obj) undefined)) - - (get-environment-variable - (lambda ((string? name)) (or string? #f)) - (pure)) - - (get-environment-variables - (lambda () list?) - (pure)) - ) +(((name . command-line) (signature lambda () list?) (tags pure)) + ((name . emergency-exit) (signature lambda () undefined)) + ((name . emergency-exit) (signature lambda (obj) undefined)) + ((name . exit) (signature lambda () undefined)) + ((name . exit) (signature lambda (obj) undefined)) + ((name . get-environment-variable) + (signature lambda ((string? name)) (or string? #f)) + (tags pure)) + ((name . get-environment-variables) (signature lambda () list?) (tags pure))) diff --git a/types/scheme.read.scm b/types/scheme.read.scm index 2c85233..79b01ad 100644 --- a/types/scheme.read.scm +++ b/types/scheme.read.scm @@ -1,9 +1,2 @@ -( - (read - (lambda () *) - (parameterized)) - - (read - (lambda ((input-port? port)) *)) - - ) +(((name . read) (signature lambda () *) (tags parameterized)) + ((name . read) (signature lambda ((input-port? port)) *))) diff --git a/types/scheme.repl.scm b/types/scheme.repl.scm index 2d258aa..f8fd8ad 100644 --- a/types/scheme.repl.scm +++ b/types/scheme.repl.scm @@ -1,4 +1 @@ -( - (interaction-environment - (lambda () *)) - ) +(((name . interaction-environment) (signature lambda () *))) diff --git a/types/scheme.rlist.scm b/types/scheme.rlist.scm index b6d65ee..5ef1b93 100644 --- a/types/scheme.rlist.scm +++ b/types/scheme.rlist.scm @@ -1,219 +1,83 @@ -( - - (rquote - (syntax-rules () - ((_ datum)))) - - (requal? - (lambda (obj1 obj2) boolean?) - (pure)) - - (rpair? - (lambda (obj) boolean?) - (pure predicate)) - - (rcons - (lambda (obj1 obj2) rpair?) - (pure)) - - (rcar - (lambda ((rpair? pair)) *) - (pure)) - - (rcdr - (lambda ((rpair? pair)) *) - (pure)) - - (rcaar - (lambda ((rpair? pair)) *) - (pure)) - - (rcadr - (lambda ((rpair? pair)) *) - (pure)) - - (rcdar - (lambda ((rpair? pair)) *) - (pure)) - - (rcddr - (lambda ((rpair? pair)) *) - (pure)) - - (rcaaar - (lambda ((rpair? pair)) *) - (pure)) - - (rcaadr - (lambda ((rpair? pair)) *) - (pure)) - - (rcadar - (lambda ((rpair? pair)) *) - (pure)) - - (rcaddr - (lambda ((rpair? pair)) *) - (pure)) - - (rcdaar - (lambda ((rpair? pair)) *) - (pure)) - - (rcdadr - (lambda ((rpair? pair)) *) - (pure)) - - (rcddar - (lambda ((rpair? pair)) *) - (pure)) - - (rcdddr - (lambda ((rpair? pair)) *) - (pure)) - - (rcaaaar - (lambda ((rpair? pair)) *) - (pure)) - - (rcaaadr - (lambda ((rpair? pair)) *) - (pure)) - - (rcaadar - (lambda ((rpair? pair)) *) - (pure)) - - (rcaaddr - (lambda ((rpair? pair)) *) - (pure)) - - (rcadaar - (lambda ((rpair? pair)) *) - (pure)) - - (rcadadr - (lambda ((rpair? pair)) *) - (pure)) - - (rcaddar - (lambda ((rpair? pair)) *) - (pure)) - - (rcadddr - (lambda ((rpair? pair)) *) - (pure)) - - (rcdaaar - (lambda ((rpair? pair)) *) - (pure)) - - (rcdaadr - (lambda ((rpair? pair)) *) - (pure)) - - (rcdadar - (lambda ((rpair? pair)) *) - (pure)) - - (rcdaddr - (lambda ((rpair? pair)) *) - (pure)) - - (rcddaar - (lambda ((rpair? pair)) *) - (pure)) - - (rcddadr - (lambda ((rpair? pair)) *) - (pure)) - - (rcdddar - (lambda ((rpair? pair)) *) - (pure)) - - (rcddddr - (lambda ((rpair? pair)) *) - (pure)) - - (rnull? - (lambda (obj) boolean?) - (pure)) - - (rlist? - (lambda (obj) boolean?) - (pure predicate) - () - (rpair?)) - - (rlist - (lambda (obj ...) rlist?) - (pure)) - - (make-rlist - (lambda ((integer? k)) rlist?)) - - (make-rlist - (lambda ((integer? k) obj) rlist?) - (pure)) - - (rlength - (lambda ((rlist? list)) integer?) - (pure)) - - (rlength<=? - (lambda (obj (integer? k)) boolean?) - (pure)) - - (rappend - (lambda ((rlist? list) ...) rlist?) - (pure)) - - (rappend - (lambda ((rlist? list) ... obj) *) - (pure)) - - (rreverse - (lambda ((rlist? list)) rlist?) - (pure)) - - (rlist-tail - (lambda ((rlist? list) (integer? k)) rlist?) - (pure)) - - (rlist-tail - (lambda (obj (integer? k)) *) - (pure)) - - (rlist-ref - (lambda ((rpair? pair) (integer? k)) *) - (pure)) - - (rlist-set - (lambda ((rpair? pair) (integer? k) obj) rpair?) - (pure)) - - (rlist-ref/update - (lambda ((rpair? pair) (integer? k) (procedure? proc)) (values * rpair?)) - (pure) - ((proc (lambda (obj) *)))) - - (rmap - (lambda ((procedure? proc) (rlist? list1) (rlist? list2) ...) rlist?) - (pure) - ((proc (lambda (obj1 obj2 ...) *)))) - - (rfor-each - (lambda ((procedure? proc) (rlist? list1) (rlist? list2) ...) undefined) - (pure) - ((proc (lambda (obj1 obj2 ...) undefined)))) - - (rlist->list - (lambda ((rlist? rlist)) list?) - (pure)) - - (list->rlist - (lambda ((list? list)) rlist?) - (pure)) - - ) +(((name . rquote) (signature syntax-rules () ((_ datum)))) + ((name . requal?) (signature lambda (obj1 obj2) boolean?) (tags pure)) + ((name . rpair?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . rcons) (signature lambda (obj1 obj2) rpair?) (tags pure)) + ((name . rcar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcadr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcddr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaaar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaadr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcadar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaddr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdaar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdadr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcddar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdddr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaaaar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaaadr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaadar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaaddr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcadaar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcadadr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcaddar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcadddr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdaaar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdaadr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdadar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdaddr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcddaar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcddadr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcdddar) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rcddddr) (signature lambda ((rpair? pair)) *) (tags pure)) + ((name . rnull?) (signature lambda (obj) boolean?) (tags pure)) + ((name . rlist?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes rpair?)) + ((name . rlist) (signature lambda (obj ...) rlist?) (tags pure)) + ((name . make-rlist) (signature lambda ((integer? k)) rlist?)) + ((name . make-rlist) (signature lambda ((integer? k) obj) rlist?) (tags pure)) + ((name . rlength) (signature lambda ((rlist? list)) integer?) (tags pure)) + ((name . rlength<=?) + (signature lambda (obj (integer? k)) boolean?) + (tags pure)) + ((name . rappend) (signature lambda ((rlist? list) ...) rlist?) (tags pure)) + ((name . rappend) (signature lambda ((rlist? list) ... obj) *) (tags pure)) + ((name . rreverse) (signature lambda ((rlist? list)) rlist?) (tags pure)) + ((name . rlist-tail) + (signature lambda ((rlist? list) (integer? k)) rlist?) + (tags pure)) + ((name . rlist-tail) (signature lambda (obj (integer? k)) *) (tags pure)) + ((name . rlist-ref) + (signature lambda ((rpair? pair) (integer? k)) *) + (tags pure)) + ((name . rlist-set) + (signature lambda ((rpair? pair) (integer? k) obj) rpair?) + (tags pure)) + ((name . rlist-ref/update) + (signature + lambda + ((rpair? pair) (integer? k) (procedure? proc)) + (values * rpair?)) + (tags pure) + (subsigs (proc (lambda (obj) *)))) + ((name . rmap) + (signature + lambda + ((procedure? proc) (rlist? list1) (rlist? list2) ...) + rlist?) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) *)))) + ((name . rfor-each) + (signature + lambda + ((procedure? proc) (rlist? list1) (rlist? list2) ...) + undefined) + (tags pure) + (subsigs (proc (lambda (obj1 obj2 ...) undefined)))) + ((name . rlist->list) (signature lambda ((rlist? rlist)) list?) (tags pure)) + ((name . list->rlist) (signature lambda ((list? list)) rlist?) (tags pure))) diff --git a/types/scheme.set.scm b/types/scheme.set.scm index 82e3246..81e05f3 100644 --- a/types/scheme.set.scm +++ b/types/scheme.set.scm @@ -1,505 +1,328 @@ -( - - (set - (lambda ((comparator? comparator) element ...) set?) - (pure)) - - (set-unfold - (lambda ((comparator? comparator) (procedure? stop?) (procedure? mapper) (procedure? successor) seed) set?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (set? - (lambda (obj) boolean?) - (pure predicate)) - - (set-contains? - (lambda ((set? set) element) boolean?) - (pure)) - - (set-empty? - (lambda ((set? set)) boolean?) - (pure)) - - (set-disjoint? - (lambda ((set? set1) (set? set2)) boolean?) - (pure)) - - (set-member - (lambda ((set? set) element default) *) - (pure)) - - (set-element-comparator - (lambda ((set? set)) comparator?) - (pure)) - - (set-adjoin - (lambda ((set? set) element ...) set?) - (pure)) - - (set-adjoin! - (lambda ((set? set) element ...) set?) - ()) - - (set-replace - (lambda ((set? set) element) set?) - (pure)) - - (set-replace! - (lambda ((set? set) element) set?) - ()) - - (set-delete - (lambda ((set? set) element ...) set?) - (pure)) - - (set-delete! - (lambda ((set? set) element ...) set?) - ()) - - (set-delete-all - (lambda ((set? set) (list? elements)) set?) - (pure)) - - (set-delete-all! - (lambda ((set? set) (list? elements)) set?) - ()) - - (set-search! - (lambda ((set? set) element (procedure? failure) (procedure? success)) (values set? *)) - () - ((failure (lambda ((procedure? insert) (procedure? ignore)) *)) - (insert (lambda (obj) *)) - (ignore (lambda (obj) *)) - (success (lambda (element (procedure? update) (procedure? remove)) *)) - (update (lambda (new-element obj) *)) - (remove (lambda (obj) *)))) - - (set-size - (lambda ((set? set)) integer?) - (pure)) - - (set-find - (lambda ((procedure? predicate) (set? set) (procedure? failure)) *) - (pure) - ((predicate (lambda (obj) boolean?)) - (failure (lambda () *)))) - - (set-count - (lambda ((procedure? predicate) (set? set)) integer?) - (pure) - ((predicate (lambda (obj) boolean?)))) - - (set-any? - (lambda ((procedure? predicate) (set? set)) boolean?) - (pure) - ((predicate (lambda (obj) boolean?)))) - - (set-every? - (lambda ((procedure? predicate) (set? set)) boolean?) - (pure) - ((predicate (lambda (obj) boolean?)))) - - (set-map - (lambda ((comparator? comparator) (procedure? proc) (set? set)) *) - (pure) - ((proc (lambda (obj) *)))) - - (set-for-each - (lambda ((procedure? proc) (set? set)) undefined) - () - ((proc (lambda (obj) undefined)))) - - (set-fold - (lambda ((procedure? proc) nil (set? set)) *) - (pure) - ((proc (lambda (obj state) *)))) - - (set-filter - (lambda ((procedure? predicate) (set? set)) set?) - (pure) - ((predicate (lambda (obj) *)))) - - (set-filter! - (lambda ((procedure? predicate) (set? set)) set?) - () - ((predicate (lambda (obj) *)))) - - (set-remove - (lambda ((procedure? predicate) (set? set)) set?) - (pure) - ((predicate (lambda (obj) *)))) - - (set-remove! - (lambda ((procedure? predicate) (set? set)) set?) - () - ((predicate (lambda (obj) *)))) - - (set-partition - (lambda ((procedure? predicate) (set? set)) (values set? set?)) - (pure) - ((predicate (lambda (obj) *)))) - - (set-partition! - (lambda ((procedure? predicate) (set? set)) (values set? set?)) - () - ((predicate (lambda (obj) *)))) - - (set-copy - (lambda ((set? set)) set?) - (pure)) - - (set->list - (lambda ((set? set)) list?) - ()) - - (list->set - (lambda ((comparator? comparator) (list? list)) set?) - (pure)) - - (list->set! - (lambda ((set? set) (list? list)) set?) - ()) - - (set=? - (lambda ((set? set1) (set? set2) ...) boolean?) - (pure)) - - (set? - (lambda ((set? set1) (set? set2) ...) boolean?) - (pure)) - - (set<=? - (lambda ((set? set1) (set? set2) ...) boolean?) - (pure)) - - (set>=? - (lambda ((set? set1) (set? set2) ...) boolean?) - (pure)) - - (set-union - (lambda ((set? set1) (set? set2) ...) set?) - (pure)) - - (set-intersection - (lambda ((set? set1) (set? set2) ...) set?) - (pure)) - - (set-difference - (lambda ((set? set1) (set? set2) ...) set?) - (pure)) - - (set-xor - (lambda ((set? set1) (set? set2)) set?) - (pure)) - - (set-union! - (lambda ((set? set1) (set? set2) ...) set?) - ()) - - (set-intersection! - (lambda ((set? set1) (set? set2) ...) set?) - ()) - - (set-difference! - (lambda ((set? set1) (set? set2) ...) set?) - ()) - - (set-xor! - (lambda ((set? set1) (set? set2)) set?) - ()) - - ;;;;; - - - (bag - (lambda ((comparator? comparator) element ...) bag?) - (pure)) - - (bag-unfold - (lambda ((comparator? comparator) (procedure? stop?) (procedure? mapper) (procedure? successor) seed) bag?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) *)) - (successor (lambda (seed) *)))) - - (bag? - (lambda (obj) boolean?) - (pure predicate)) - - (bag-contains? - (lambda ((bag? bag) element) boolean?) - (pure)) - - (bag-empty? - (lambda ((bag? bag)) boolean?) - (pure)) - - (bag-disjoint? - (lambda ((bag? bag1) (bag? bag2)) boolean?) - (pure)) - - (bag-member - (lambda ((bag? bag) element default) *) - (pure)) - - (bag-element-comparator - (lambda ((bag? bag)) comparator?) - (pure)) - - (bag-adjoin - (lambda ((bag? bag) element ...) bag?) - (pure)) - - (bag-adjoin! - (lambda ((bag? bag) element ...) bag?) - ()) - - (bag-replace - (lambda ((bag? bag) element) bag?) - (pure)) - - (bag-replace! - (lambda ((bag? bag) element) bag?) - ()) - - (bag-delete - (lambda ((bag? bag) element ...) bag?) - (pure)) - - (bag-delete! - (lambda ((bag? bag) element ...) bag?) - ()) - - (bag-delete-all - (lambda ((bag? bag) (list? elements)) bag?) - (pure)) - - (bag-delete-all! - (lambda ((bag? bag) (list? elements)) bag?) - ()) - - (bag-search! - (lambda ((bag? bag) element (procedure? failure) (procedure? success)) (values bag? *)) - () - ((failure (lambda ((procedure? insert) (procedure? ignore)) *)) - (insert (lambda (obj) *)) - (ignore (lambda (obj) *)) - (success (lambda (element (procedure? update) (procedure? remove)) *)) - (update (lambda (new-element obj) *)) - (remove (lambda (obj) *)))) - - (bag-size - (lambda ((bag? bag)) integer?) - (pure)) - - (bag-find - (lambda ((procedure? predicate) (bag? bag) (procedure? failure)) *) - (pure) - ((predicate (lambda (obj) boolean?)) - (failure (lambda () *)))) - - (bag-count - (lambda ((procedure? predicate) (bag? bag)) integer?) - (pure) - ((predicate (lambda (obj) boolean?)))) - - (bag-any? - (lambda ((procedure? predicate) (bag? bag)) boolean?) - (pure) - ((predicate (lambda (obj) boolean?)))) - - (bag-every? - (lambda ((procedure? predicate) (bag? bag)) boolean?) - (pure) - ((predicate (lambda (obj) boolean?)))) - - (bag-map - (lambda ((comparator? comparator) (procedure? proc) (bag? bag)) *) - (pure) - ((proc (lambda (obj) *)))) - - (bag-for-each - (lambda ((procedure? proc) (bag? bag)) undefined) - () - ((proc (lambda (obj) undefined)))) - - (bag-fold - (lambda ((procedure? proc) nil (bag? bag)) *) - (pure) - ((proc (lambda (obj state) *)))) - - (bag-filter - (lambda ((procedure? predicate) (bag? bag)) bag?) - (pure) - ((predicate (lambda (obj) *)))) - - (bag-filter! - (lambda ((procedure? predicate) (bag? bag)) bag?) - () - ((predicate (lambda (obj) *)))) - - (bag-remove - (lambda ((procedure? predicate) (bag? bag)) bag?) - (pure) - ((predicate (lambda (obj) *)))) - - (bag-remove! - (lambda ((procedure? predicate) (bag? bag)) bag?) - () - ((predicate (lambda (obj) *)))) - - (bag-partition - (lambda ((procedure? predicate) (bag? bag)) (values bag? bag?)) - (pure) - ((predicate (lambda (obj) *)))) - - (bag-partition! - (lambda ((procedure? predicate) (bag? bag)) (values bag? bag?)) - () - ((predicate (lambda (obj) *)))) - - (bag-copy - (lambda ((bag? bag)) bag?) - (pure)) - - (bag->list - (lambda ((bag? bag)) list?) - ()) - - (list->bag - (lambda ((comparator? comparator) (list? list)) bag?) - (pure)) - - (list->bag! - (lambda ((bag? bag) (list? list)) bag?) - ()) - - (bag=? - (lambda ((bag? bag1) (bag? bag2) ...) boolean?) - (pure)) - - (bag? - (lambda ((bag? bag1) (bag? bag2) ...) boolean?) - (pure)) - - (bag<=? - (lambda ((bag? bag1) (bag? bag2) ...) boolean?) - (pure)) - - (bag>=? - (lambda ((bag? bag1) (bag? bag2) ...) boolean?) - (pure)) - - (bag-union - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - (pure)) - - (bag-intersection - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - (pure)) - - (bag-difference - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - (pure)) - - (bag-xor - (lambda ((bag? bag1) (bag? bag2)) bag?) - (pure)) - - (bag-union! - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - ()) - - (bag-intersection! - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - ()) - - (bag-difference! - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - ()) - - (bag-xor! - (lambda ((bag? bag1) (bag? bag2)) bag?) - ()) - - ;;;;;;;;;; - - (bag-sum - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - (pure)) - - (bag-sum! - (lambda ((bag? bag1) (bag? bag2) ...) bag?) - ()) - - (bag-product - (lambda ((integer? n) (bag? bag)) bag?) - (pure)) - - (bag-product! - (lambda ((integer? n) (bag? bag)) bag?) - ()) - - (bag-unique-size - (lambda ((bag? bag)) integer?) - (pure)) - - (bag-element-count - (lambda ((bag? bag) element) integer?) - (pure)) - - (bag-for-each-unique - (lambda ((procedure? proc) (bag? bag)) undefined) - () - ((proc (lambda (obj) undefined)))) - - (bag-fold-unique - (lambda ((procedure? proc) nil (bag? bag)) *) - (pure) - ((proc (lambda (obj state) *)))) - - (bag-increment! - (lambda ((bag? bag) element count) bag?) - ()) - - (bag-decrement! - (lambda ((bag? bag) element count) bag?) - ()) - - (bag->set - (lambda ((bag? bag)) set?) - (pure)) - - (set->bag - (lambda ((set? set)) bag?) - (pure)) - - (set->bag! - (lambda ((set? set)) bag?) - ()) - - (bag->alist - (lambda ((bag? bag)) list?)) - - (alist->bag - (lambda ((comparator? comparator) (list? alist)) bag?) - (pure)) - - (set-comparator - (value comparator?)) - - (bag-comparator - (value comparator?)) - - ) +(((name . set) + (signature lambda ((comparator? comparator) element ...) set?) + (tags pure)) + ((name . set-unfold) + (signature + lambda + ((comparator? comparator) + (procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed) + set?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . set?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . set-contains?) + (signature lambda ((set? set) element) boolean?) + (tags pure)) + ((name . set-empty?) (signature lambda ((set? set)) boolean?) (tags pure)) + ((name . set-disjoint?) + (signature lambda ((set? set1) (set? set2)) boolean?) + (tags pure)) + ((name . set-member) + (signature lambda ((set? set) element default) *) + (tags pure)) + ((name . set-element-comparator) + (signature lambda ((set? set)) comparator?) + (tags pure)) + ((name . set-adjoin) + (signature lambda ((set? set) element ...) set?) + (tags pure)) + ((name . set-adjoin!) (signature lambda ((set? set) element ...) set?)) + ((name . set-replace) + (signature lambda ((set? set) element) set?) + (tags pure)) + ((name . set-replace!) (signature lambda ((set? set) element) set?)) + ((name . set-delete) + (signature lambda ((set? set) element ...) set?) + (tags pure)) + ((name . set-delete!) (signature lambda ((set? set) element ...) set?)) + ((name . set-delete-all) + (signature lambda ((set? set) (list? elements)) set?) + (tags pure)) + ((name . set-delete-all!) + (signature lambda ((set? set) (list? elements)) set?)) + ((name . set-search!) + (signature + lambda + ((set? set) element (procedure? failure) (procedure? success)) + (values set? *)) + (subsigs + (failure (lambda ((procedure? insert) (procedure? ignore)) *)) + (insert (lambda (obj) *)) + (ignore (lambda (obj) *)) + (success (lambda (element (procedure? update) (procedure? remove)) *)) + (update (lambda (new-element obj) *)) + (remove (lambda (obj) *)))) + ((name . set-size) (signature lambda ((set? set)) integer?) (tags pure)) + ((name . set-find) + (signature lambda ((procedure? predicate) (set? set) (procedure? failure)) *) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)) (failure (lambda () *)))) + ((name . set-count) + (signature lambda ((procedure? predicate) (set? set)) integer?) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)))) + ((name . set-any?) + (signature lambda ((procedure? predicate) (set? set)) boolean?) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)))) + ((name . set-every?) + (signature lambda ((procedure? predicate) (set? set)) boolean?) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)))) + ((name . set-map) + (signature lambda ((comparator? comparator) (procedure? proc) (set? set)) *) + (tags pure) + (subsigs (proc (lambda (obj) *)))) + ((name . set-for-each) + (signature lambda ((procedure? proc) (set? set)) undefined) + (subsigs (proc (lambda (obj) undefined)))) + ((name . set-fold) + (signature lambda ((procedure? proc) nil (set? set)) *) + (tags pure) + (subsigs (proc (lambda (obj state) *)))) + ((name . set-filter) + (signature lambda ((procedure? predicate) (set? set)) set?) + (tags pure) + (subsigs (predicate (lambda (obj) *)))) + ((name . set-filter!) + (signature lambda ((procedure? predicate) (set? set)) set?) + (subsigs (predicate (lambda (obj) *)))) + ((name . set-remove) + (signature lambda ((procedure? predicate) (set? set)) set?) + (tags pure) + (subsigs (predicate (lambda (obj) *)))) + ((name . set-remove!) + (signature lambda ((procedure? predicate) (set? set)) set?) + (subsigs (predicate (lambda (obj) *)))) + ((name . set-partition) + (signature lambda ((procedure? predicate) (set? set)) (values set? set?)) + (tags pure) + (subsigs (predicate (lambda (obj) *)))) + ((name . set-partition!) + (signature lambda ((procedure? predicate) (set? set)) (values set? set?)) + (subsigs (predicate (lambda (obj) *)))) + ((name . set-copy) (signature lambda ((set? set)) set?) (tags pure)) + ((name . set->list) (signature lambda ((set? set)) list?)) + ((name . list->set) + (signature lambda ((comparator? comparator) (list? list)) set?) + (tags pure)) + ((name . list->set!) (signature lambda ((set? set) (list? list)) set?)) + ((name . set=?) + (signature lambda ((set? set1) (set? set2) ...) boolean?) + (tags pure)) + ((name . set?) + (signature lambda ((set? set1) (set? set2) ...) boolean?) + (tags pure)) + ((name . set<=?) + (signature lambda ((set? set1) (set? set2) ...) boolean?) + (tags pure)) + ((name . set>=?) + (signature lambda ((set? set1) (set? set2) ...) boolean?) + (tags pure)) + ((name . set-union) + (signature lambda ((set? set1) (set? set2) ...) set?) + (tags pure)) + ((name . set-intersection) + (signature lambda ((set? set1) (set? set2) ...) set?) + (tags pure)) + ((name . set-difference) + (signature lambda ((set? set1) (set? set2) ...) set?) + (tags pure)) + ((name . set-xor) + (signature lambda ((set? set1) (set? set2)) set?) + (tags pure)) + ((name . set-union!) (signature lambda ((set? set1) (set? set2) ...) set?)) + ((name . set-intersection!) + (signature lambda ((set? set1) (set? set2) ...) set?)) + ((name . set-difference!) + (signature lambda ((set? set1) (set? set2) ...) set?)) + ((name . set-xor!) (signature lambda ((set? set1) (set? set2)) set?)) + ((name . bag) + (signature lambda ((comparator? comparator) element ...) bag?) + (tags pure)) + ((name . bag-unfold) + (signature + lambda + ((comparator? comparator) + (procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed) + bag?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) *)) + (successor (lambda (seed) *)))) + ((name . bag?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . bag-contains?) + (signature lambda ((bag? bag) element) boolean?) + (tags pure)) + ((name . bag-empty?) (signature lambda ((bag? bag)) boolean?) (tags pure)) + ((name . bag-disjoint?) + (signature lambda ((bag? bag1) (bag? bag2)) boolean?) + (tags pure)) + ((name . bag-member) + (signature lambda ((bag? bag) element default) *) + (tags pure)) + ((name . bag-element-comparator) + (signature lambda ((bag? bag)) comparator?) + (tags pure)) + ((name . bag-adjoin) + (signature lambda ((bag? bag) element ...) bag?) + (tags pure)) + ((name . bag-adjoin!) (signature lambda ((bag? bag) element ...) bag?)) + ((name . bag-replace) + (signature lambda ((bag? bag) element) bag?) + (tags pure)) + ((name . bag-replace!) (signature lambda ((bag? bag) element) bag?)) + ((name . bag-delete) + (signature lambda ((bag? bag) element ...) bag?) + (tags pure)) + ((name . bag-delete!) (signature lambda ((bag? bag) element ...) bag?)) + ((name . bag-delete-all) + (signature lambda ((bag? bag) (list? elements)) bag?) + (tags pure)) + ((name . bag-delete-all!) + (signature lambda ((bag? bag) (list? elements)) bag?)) + ((name . bag-search!) + (signature + lambda + ((bag? bag) element (procedure? failure) (procedure? success)) + (values bag? *)) + (subsigs + (failure (lambda ((procedure? insert) (procedure? ignore)) *)) + (insert (lambda (obj) *)) + (ignore (lambda (obj) *)) + (success (lambda (element (procedure? update) (procedure? remove)) *)) + (update (lambda (new-element obj) *)) + (remove (lambda (obj) *)))) + ((name . bag-size) (signature lambda ((bag? bag)) integer?) (tags pure)) + ((name . bag-find) + (signature lambda ((procedure? predicate) (bag? bag) (procedure? failure)) *) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)) (failure (lambda () *)))) + ((name . bag-count) + (signature lambda ((procedure? predicate) (bag? bag)) integer?) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)))) + ((name . bag-any?) + (signature lambda ((procedure? predicate) (bag? bag)) boolean?) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)))) + ((name . bag-every?) + (signature lambda ((procedure? predicate) (bag? bag)) boolean?) + (tags pure) + (subsigs (predicate (lambda (obj) boolean?)))) + ((name . bag-map) + (signature lambda ((comparator? comparator) (procedure? proc) (bag? bag)) *) + (tags pure) + (subsigs (proc (lambda (obj) *)))) + ((name . bag-for-each) + (signature lambda ((procedure? proc) (bag? bag)) undefined) + (subsigs (proc (lambda (obj) undefined)))) + ((name . bag-fold) + (signature lambda ((procedure? proc) nil (bag? bag)) *) + (tags pure) + (subsigs (proc (lambda (obj state) *)))) + ((name . bag-filter) + (signature lambda ((procedure? predicate) (bag? bag)) bag?) + (tags pure) + (subsigs (predicate (lambda (obj) *)))) + ((name . bag-filter!) + (signature lambda ((procedure? predicate) (bag? bag)) bag?) + (subsigs (predicate (lambda (obj) *)))) + ((name . bag-remove) + (signature lambda ((procedure? predicate) (bag? bag)) bag?) + (tags pure) + (subsigs (predicate (lambda (obj) *)))) + ((name . bag-remove!) + (signature lambda ((procedure? predicate) (bag? bag)) bag?) + (subsigs (predicate (lambda (obj) *)))) + ((name . bag-partition) + (signature lambda ((procedure? predicate) (bag? bag)) (values bag? bag?)) + (tags pure) + (subsigs (predicate (lambda (obj) *)))) + ((name . bag-partition!) + (signature lambda ((procedure? predicate) (bag? bag)) (values bag? bag?)) + (subsigs (predicate (lambda (obj) *)))) + ((name . bag-copy) (signature lambda ((bag? bag)) bag?) (tags pure)) + ((name . bag->list) (signature lambda ((bag? bag)) list?)) + ((name . list->bag) + (signature lambda ((comparator? comparator) (list? list)) bag?) + (tags pure)) + ((name . list->bag!) (signature lambda ((bag? bag) (list? list)) bag?)) + ((name . bag=?) + (signature lambda ((bag? bag1) (bag? bag2) ...) boolean?) + (tags pure)) + ((name . bag?) + (signature lambda ((bag? bag1) (bag? bag2) ...) boolean?) + (tags pure)) + ((name . bag<=?) + (signature lambda ((bag? bag1) (bag? bag2) ...) boolean?) + (tags pure)) + ((name . bag>=?) + (signature lambda ((bag? bag1) (bag? bag2) ...) boolean?) + (tags pure)) + ((name . bag-union) + (signature lambda ((bag? bag1) (bag? bag2) ...) bag?) + (tags pure)) + ((name . bag-intersection) + (signature lambda ((bag? bag1) (bag? bag2) ...) bag?) + (tags pure)) + ((name . bag-difference) + (signature lambda ((bag? bag1) (bag? bag2) ...) bag?) + (tags pure)) + ((name . bag-xor) + (signature lambda ((bag? bag1) (bag? bag2)) bag?) + (tags pure)) + ((name . bag-union!) (signature lambda ((bag? bag1) (bag? bag2) ...) bag?)) + ((name . bag-intersection!) + (signature lambda ((bag? bag1) (bag? bag2) ...) bag?)) + ((name . bag-difference!) + (signature lambda ((bag? bag1) (bag? bag2) ...) bag?)) + ((name . bag-xor!) (signature lambda ((bag? bag1) (bag? bag2)) bag?)) + ((name . bag-sum) + (signature lambda ((bag? bag1) (bag? bag2) ...) bag?) + (tags pure)) + ((name . bag-sum!) (signature lambda ((bag? bag1) (bag? bag2) ...) bag?)) + ((name . bag-product) + (signature lambda ((integer? n) (bag? bag)) bag?) + (tags pure)) + ((name . bag-product!) (signature lambda ((integer? n) (bag? bag)) bag?)) + ((name . bag-unique-size) + (signature lambda ((bag? bag)) integer?) + (tags pure)) + ((name . bag-element-count) + (signature lambda ((bag? bag) element) integer?) + (tags pure)) + ((name . bag-for-each-unique) + (signature lambda ((procedure? proc) (bag? bag)) undefined) + (subsigs (proc (lambda (obj) undefined)))) + ((name . bag-fold-unique) + (signature lambda ((procedure? proc) nil (bag? bag)) *) + (tags pure) + (subsigs (proc (lambda (obj state) *)))) + ((name . bag-increment!) (signature lambda ((bag? bag) element count) bag?)) + ((name . bag-decrement!) (signature lambda ((bag? bag) element count) bag?)) + ((name . bag->set) (signature lambda ((bag? bag)) set?) (tags pure)) + ((name . set->bag) (signature lambda ((set? set)) bag?) (tags pure)) + ((name . set->bag!) (signature lambda ((set? set)) bag?)) + ((name . bag->alist) (signature lambda ((bag? bag)) list?)) + ((name . alist->bag) + (signature lambda ((comparator? comparator) (list? alist)) bag?) + (tags pure)) + ((name . set-comparator) (signature value comparator?)) + ((name . bag-comparator) (signature value comparator?))) diff --git a/types/scheme.show.scm b/types/scheme.show.scm index 6c6cc9c..d00ac99 100644 --- a/types/scheme.show.scm +++ b/types/scheme.show.scm @@ -1,399 +1,405 @@ -( - - (show - (lambda ((#f port) (formatter fmt) ...) string?) - (pure)) - - (show - (lambda (((or output-port? boolean?) port) (formatter fmt) ...) undefined) - ()) - - (displayed - (lambda (obj) formatter) - (pure)) - - (written - (lambda (obj) formatter) - (pure)) - - (written-simply - (lambda (obj) formatter) - (pure)) - - (pretty - (lambda (obj) formatter) - (pure)) - - (pretty-simply - (lambda (obj) formatter) - (pure)) - - (escaped - (lambda ((string? str)) formatter) - (pure)) - - (escaped - (lambda ((string? str) (char? quote-ch)) formatter) - (pure)) - - (escaped - (lambda ((string? str) (char? quote-ch) (char? esc-ch)) formatter) - (pure)) - - (escaped - (lambda ((string? str) (char? quote-ch) (char? esc-ch) (procedure? renamer)) formatter) - (pure) - ((renamer (lambda (char? c) char?)))) - - (maybe-escaped - (lambda ((string? str) (procedure? pred)) formatter) - (pure) - ((pred (lambda (char? c) boolean?)))) - - (maybe-escaped - (lambda ((string? str) (procedure? pred) (char? quote-ch)) formatter) - (pure) - ((pred (lambda (char? c) boolean?)))) - - (maybe-escaped - (lambda ((string? str) (procedure? pred) (char? quote-ch) (char? esc-ch)) formatter) - (pure) - ((pred (lambda (char? c) boolean?)))) - - (maybe-escaped - (lambda ((string? str) (procedure? pred) (char? quote-ch) (char? esc-ch) (procedure? renamer)) formatter) - (pure) - ((pred (lambda (char? c) boolean?)) - (renamer (lambda (char? c) char?)))) - - (numeric - (lambda ((number? num)) formatter) - (pure)) - - (numeric - (lambda ((number? num) (integer? radix)) formatter) - (pure)) - - (numeric - (lambda ((number? num) (integer? radix) (integer? precision)) formatter) - (pure)) - - (numeric - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign)) formatter) - (pure)) - - (numeric - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign) (integer? comma)) formatter) - (pure)) - - (numeric - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign) (integer? comma) (char? comma-sep)) formatter) - (pure)) - - (numeric - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign) (integer? comma) (char? comma-sep) (char? decimal-sep)) formatter) - (pure)) - - (numeric/comma - (lambda ((number? num)) formatter) - (pure)) - - (numeric/comma - (lambda ((number? num) (integer? radix)) formatter) - (pure)) - - (numeric/comma - (lambda ((number? num) (integer? radix) (integer? precision)) formatter) - (pure)) - - (numeric/comma - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign)) formatter) - (pure)) - - (numeric/si - (lambda ((number? num)) formatter) - (pure)) - - (numeric/si - (lambda ((number? num) (integer? base)) formatter) - (pure)) - - (numeric/si - (lambda ((number? num) (integer? base) (string? separator)) formatter) - (pure)) - - (numeric/fitted - (lambda ((number? num)) formatter) - (pure)) - - (numeric/fitted - (lambda ((number? num) (integer? radix)) formatter) - (pure)) - - (numeric/fitted - (lambda ((number? num) (integer? radix) (integer? precision)) formatter) - (pure)) - - (numeric/fitted - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign)) formatter) - (pure)) - - (numeric/fitted - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign) (integer? comma)) formatter) - (pure)) - - (numeric/fitted - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign) (integer? comma) (char? comma-sep)) formatter) - (pure)) - - (numeric/fitted - (lambda ((number? num) (integer? radix) (integer? precision) ((or boolean? pair?) sign) (integer? comma) (char? comma-sep) (char? decimal-sep)) formatter) - (pure)) - - (nl (value formatter)) - - (fl (value formatter)) - - (space-to - (lambda ((integer? column)) formatter) - (pure)) - - (tab-to - (lambda () formatter) - (pure)) - - (tab-to - (lambda ((integer? tab-width)) formatter) - (pure)) - - (nothing (value formatter)) - - (each - (lambda ((formatter fmt) ...) formatter) - (pure)) - - (each-in-list - (lambda ((list? list-of-fmts)) formatter) - (pure)) - - (joined - (lambda ((procedure? mapper) (list? list)) formatter) - (pure) - ((mapper (lambda (element) formatter)))) - - (joined - (lambda ((procedure? mapper) (list? list) ((or string? formatter) separator)) formatter) - (pure) - ((mapper (lambda (element) formatter)))) - - (joined/prefix - (lambda ((procedure? mapper) (list? list)) formatter) - (pure) - ((mapper (lambda (element) formatter)))) - - (joined/prefix - (lambda ((procedure? mapper) (list? list) ((or string? formatter) separator)) formatter) - (pure) - ((mapper (lambda (element) formatter)))) - - (joined/suffix - (lambda ((procedure? mapper) (list? list)) formatter) - (pure) - ((mapper (lambda (element) formatter)))) - - (joined/suffix - (lambda ((procedure? mapper) (list? list) ((or string? formatter) separator)) formatter) - (pure) - ((mapper (lambda (element) formatter)))) - - (joined/last - (lambda ((procedure? mapper) (procedure? last-mapper) (list? list)) formatter) - (pure) - ((mapper (lambda (element) formatter)) - (last-mapper (lambda (element) formatter)))) - - (joined/last - (lambda ((procedure? mapper) (procedure? last-mapper) (list? list) ((or string? formatter) separator)) formatter) - (pure) - ((mapper (lambda (element) formatter)) - (last-mapper (lambda (element) formatter)))) - - (joined/dot - (lambda ((procedure? mapper) (procedure? dot-mapper) ((or list? dotted-list?) list)) formatter) - (pure) - ((mapper (lambda (element) formatter)) - (dot-mapper (lambda (tail) formatter)))) - - (joined/dot - (lambda ((procedure? mapper) (procedure? dot-mapper) ((or list? dotted-list?) list) ((or string? formatter) separator)) formatter) - (pure) - ((mapper (lambda (element) formatter)) - (dot-mapper (lambda (tail) formatter)))) - - (joined/range - (lambda ((procedure? mapper) (integer? start)) formatter) - (pure) - ((mapper (lambda ((integer? value)) formatter)))) - - (joined/range - (lambda ((procedure? mapper) (integer? start) ((or integer? #f) end)) formatter) - (pure) - ((mapper (lambda ((integer? value)) formatter)))) - - (joined/range - (lambda ((procedure? mapper) (integer? start) ((or integer? #f) end) ((or string? formatter) separator)) formatter) - (pure) - ((mapper (lambda ((integer? value)) formatter)))) - - (padded - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (padded/right - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (padded/both - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (trimmed - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (trimmed/right - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (trimmed/both - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (trimmed/lazy - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (fitted - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (fitted/right - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (fitted/both - (lambda ((integer? width) (formatter fmt) ...) formatter) - (pure)) - - (columnar - (lambda (((or formatter string? symbol? number?) column) ...) formatter) - (pure)) - - (tabular - (lambda (((or formatter string? symbol? number?) column) ...) formatter) - (pure)) - - (wrapped - (lambda ((formatter fmt) ...) formatter) - (pure)) - - (wrapped/list - (lambda ((list? list-of-strings) ...) formatter) - (pure)) - - (wrapped/char - (lambda ((formatter fmt) ...) formatter) - (pure)) - - (justified - (lambda ((formatter fmt) ...) formatter) - (pure)) - - (from-file - (lambda ((string? pathname)) formatter)) - - (line-numbers - (lambda () formatter) - (pure)) - - (line-numbers - (lambda ((integer? start)) formatter) - (pure)) - - (as-red - (lambda ((formatter fmt) ...) formatter)) - - (as-blue - (lambda ((formatter fmt) ...) formatter)) - - (as-green - (lambda ((formatter fmt) ...) formatter)) - - (as-cyan - (lambda ((formatter fmt) ...) formatter)) - - (as-yellow - (lambda ((formatter fmt) ...) formatter)) - - (as-magenta - (lambda ((formatter fmt) ...) formatter)) - - (as-white - (lambda ((formatter fmt) ...) formatter)) - - (as-black - (lambda ((formatter fmt) ...) formatter)) - - (as-bold - (lambda ((formatter fmt) ...) formatter)) - - (as-underline - (lambda ((formatter fmt) ...) formatter)) - - (as-unicode - (lambda ((formatter fmt) ...) formatter)) - - (unicode-terminal-width - (lambda ((string? str)) integer?) - (pure)) - - (fn - (syntax-rules () - ((_ (binding ...) expr ... fmt))) - () - ((binding (id state-var) - id))) - - (with - (syntax-rules () - ((_ ((state-var value) ...) fmt ...)))) - - (with! - (syntax-rules () - ((_ (state-var value) ...)))) - - (forked - (lambda ((formatter fmt1) (formatter fmt2)) formatter) - (pure)) - - (call-with-output - (lambda ((formatter fmt) (procedure? mapper)) formatter) - (pure) - ((mapper (lambda ((string? result-string)) formatter)))) - - (port (value formatter-variable)) - (row (value formatter-variable)) - (col (value formatter-variable)) - (width (value formatter-variable)) - (output (value formatter-variable)) - (writer (value formatter-variable)) - (string-width (value formatter-variable)) - (pad-char (value formatter-variable)) - (ellipsis (value formatter-variable)) - (radix (value formatter-variable)) - (precision (value formatter-variable)) - (decimal-sep (value formatter-variable)) - (decimal-align (value formatter-variable)) - (word-separator? (value formatter-variable)) - - ) +(((name . show) + (signature lambda ((#f port) (formatter fmt) ...) string?) + (tags pure)) + ((name . show) + (signature + lambda + (((or output-port? boolean?) port) (formatter fmt) ...) + undefined)) + ((name . displayed) (signature lambda (obj) formatter) (tags pure)) + ((name . written) (signature lambda (obj) formatter) (tags pure)) + ((name . written-simply) (signature lambda (obj) formatter) (tags pure)) + ((name . pretty) (signature lambda (obj) formatter) (tags pure)) + ((name . pretty-simply) (signature lambda (obj) formatter) (tags pure)) + ((name . escaped) (signature lambda ((string? str)) formatter) (tags pure)) + ((name . escaped) + (signature lambda ((string? str) (char? quote-ch)) formatter) + (tags pure)) + ((name . escaped) + (signature lambda ((string? str) (char? quote-ch) (char? esc-ch)) formatter) + (tags pure)) + ((name . escaped) + (signature + lambda + ((string? str) (char? quote-ch) (char? esc-ch) (procedure? renamer)) + formatter) + (tags pure) + (subsigs (renamer (lambda (char? c) char?)))) + ((name . maybe-escaped) + (signature lambda ((string? str) (procedure? pred)) formatter) + (tags pure) + (subsigs (pred (lambda (char? c) boolean?)))) + ((name . maybe-escaped) + (signature + lambda + ((string? str) (procedure? pred) (char? quote-ch)) + formatter) + (tags pure) + (subsigs (pred (lambda (char? c) boolean?)))) + ((name . maybe-escaped) + (signature + lambda + ((string? str) (procedure? pred) (char? quote-ch) (char? esc-ch)) + formatter) + (tags pure) + (subsigs (pred (lambda (char? c) boolean?)))) + ((name . maybe-escaped) + (signature + lambda + ((string? str) + (procedure? pred) + (char? quote-ch) + (char? esc-ch) + (procedure? renamer)) + formatter) + (tags pure) + (subsigs + (pred (lambda (char? c) boolean?)) + (renamer (lambda (char? c) char?)))) + ((name . numeric) (signature lambda ((number? num)) formatter) (tags pure)) + ((name . numeric) + (signature lambda ((number? num) (integer? radix)) formatter) + (tags pure)) + ((name . numeric) + (signature + lambda + ((number? num) (integer? radix) (integer? precision)) + formatter) + (tags pure)) + ((name . numeric) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign)) + formatter) + (tags pure)) + ((name . numeric) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign) + (integer? comma)) + formatter) + (tags pure)) + ((name . numeric) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign) + (integer? comma) + (char? comma-sep)) + formatter) + (tags pure)) + ((name . numeric) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign) + (integer? comma) + (char? comma-sep) + (char? decimal-sep)) + formatter) + (tags pure)) + ((name . numeric/comma) + (signature lambda ((number? num)) formatter) + (tags pure)) + ((name . numeric/comma) + (signature lambda ((number? num) (integer? radix)) formatter) + (tags pure)) + ((name . numeric/comma) + (signature + lambda + ((number? num) (integer? radix) (integer? precision)) + formatter) + (tags pure)) + ((name . numeric/comma) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign)) + formatter) + (tags pure)) + ((name . numeric/si) (signature lambda ((number? num)) formatter) (tags pure)) + ((name . numeric/si) + (signature lambda ((number? num) (integer? base)) formatter) + (tags pure)) + ((name . numeric/si) + (signature + lambda + ((number? num) (integer? base) (string? separator)) + formatter) + (tags pure)) + ((name . numeric/fitted) + (signature lambda ((number? num)) formatter) + (tags pure)) + ((name . numeric/fitted) + (signature lambda ((number? num) (integer? radix)) formatter) + (tags pure)) + ((name . numeric/fitted) + (signature + lambda + ((number? num) (integer? radix) (integer? precision)) + formatter) + (tags pure)) + ((name . numeric/fitted) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign)) + formatter) + (tags pure)) + ((name . numeric/fitted) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign) + (integer? comma)) + formatter) + (tags pure)) + ((name . numeric/fitted) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign) + (integer? comma) + (char? comma-sep)) + formatter) + (tags pure)) + ((name . numeric/fitted) + (signature + lambda + ((number? num) + (integer? radix) + (integer? precision) + ((or boolean? pair?) sign) + (integer? comma) + (char? comma-sep) + (char? decimal-sep)) + formatter) + (tags pure)) + ((name . nl) (signature value formatter)) + ((name . fl) (signature value formatter)) + ((name . space-to) + (signature lambda ((integer? column)) formatter) + (tags pure)) + ((name . tab-to) (signature lambda () formatter) (tags pure)) + ((name . tab-to) + (signature lambda ((integer? tab-width)) formatter) + (tags pure)) + ((name . nothing) (signature value formatter)) + ((name . each) (signature lambda ((formatter fmt) ...) formatter) (tags pure)) + ((name . each-in-list) + (signature lambda ((list? list-of-fmts)) formatter) + (tags pure)) + ((name . joined) + (signature lambda ((procedure? mapper) (list? list)) formatter) + (tags pure) + (subsigs (mapper (lambda (element) formatter)))) + ((name . joined) + (signature + lambda + ((procedure? mapper) (list? list) ((or string? formatter) separator)) + formatter) + (tags pure) + (subsigs (mapper (lambda (element) formatter)))) + ((name . joined/prefix) + (signature lambda ((procedure? mapper) (list? list)) formatter) + (tags pure) + (subsigs (mapper (lambda (element) formatter)))) + ((name . joined/prefix) + (signature + lambda + ((procedure? mapper) (list? list) ((or string? formatter) separator)) + formatter) + (tags pure) + (subsigs (mapper (lambda (element) formatter)))) + ((name . joined/suffix) + (signature lambda ((procedure? mapper) (list? list)) formatter) + (tags pure) + (subsigs (mapper (lambda (element) formatter)))) + ((name . joined/suffix) + (signature + lambda + ((procedure? mapper) (list? list) ((or string? formatter) separator)) + formatter) + (tags pure) + (subsigs (mapper (lambda (element) formatter)))) + ((name . joined/last) + (signature + lambda + ((procedure? mapper) (procedure? last-mapper) (list? list)) + formatter) + (tags pure) + (subsigs + (mapper (lambda (element) formatter)) + (last-mapper (lambda (element) formatter)))) + ((name . joined/last) + (signature + lambda + ((procedure? mapper) + (procedure? last-mapper) + (list? list) + ((or string? formatter) separator)) + formatter) + (tags pure) + (subsigs + (mapper (lambda (element) formatter)) + (last-mapper (lambda (element) formatter)))) + ((name . joined/dot) + (signature + lambda + ((procedure? mapper) (procedure? dot-mapper) ((or list? dotted-list?) list)) + formatter) + (tags pure) + (subsigs + (mapper (lambda (element) formatter)) + (dot-mapper (lambda (tail) formatter)))) + ((name . joined/dot) + (signature + lambda + ((procedure? mapper) + (procedure? dot-mapper) + ((or list? dotted-list?) list) + ((or string? formatter) separator)) + formatter) + (tags pure) + (subsigs + (mapper (lambda (element) formatter)) + (dot-mapper (lambda (tail) formatter)))) + ((name . joined/range) + (signature lambda ((procedure? mapper) (integer? start)) formatter) + (tags pure) + (subsigs (mapper (lambda ((integer? value)) formatter)))) + ((name . joined/range) + (signature + lambda + ((procedure? mapper) (integer? start) ((or integer? #f) end)) + formatter) + (tags pure) + (subsigs (mapper (lambda ((integer? value)) formatter)))) + ((name . joined/range) + (signature + lambda + ((procedure? mapper) + (integer? start) + ((or integer? #f) end) + ((or string? formatter) separator)) + formatter) + (tags pure) + (subsigs (mapper (lambda ((integer? value)) formatter)))) + ((name . padded) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . padded/right) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . padded/both) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . trimmed) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . trimmed/right) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . trimmed/both) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . trimmed/lazy) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . fitted) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . fitted/right) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . fitted/both) + (signature lambda ((integer? width) (formatter fmt) ...) formatter) + (tags pure)) + ((name . columnar) + (signature + lambda + (((or formatter string? symbol? number?) column) ...) + formatter) + (tags pure)) + ((name . tabular) + (signature + lambda + (((or formatter string? symbol? number?) column) ...) + formatter) + (tags pure)) + ((name . wrapped) + (signature lambda ((formatter fmt) ...) formatter) + (tags pure)) + ((name . wrapped/list) + (signature lambda ((list? list-of-strings) ...) formatter) + (tags pure)) + ((name . wrapped/char) + (signature lambda ((formatter fmt) ...) formatter) + (tags pure)) + ((name . justified) + (signature lambda ((formatter fmt) ...) formatter) + (tags pure)) + ((name . from-file) (signature lambda ((string? pathname)) formatter)) + ((name . line-numbers) (signature lambda () formatter) (tags pure)) + ((name . line-numbers) + (signature lambda ((integer? start)) formatter) + (tags pure)) + ((name . as-red) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-blue) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-green) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-cyan) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-yellow) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-magenta) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-white) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-black) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-bold) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-underline) (signature lambda ((formatter fmt) ...) formatter)) + ((name . as-unicode) (signature lambda ((formatter fmt) ...) formatter)) + ((name . unicode-terminal-width) + (signature lambda ((string? str)) integer?) + (tags pure)) + ((name . fn) + (signature syntax-rules () ((_ (binding ...) expr ... fmt))) + (subsigs (binding (id state-var) id))) + ((name . with) + (signature syntax-rules () ((_ ((state-var value) ...) fmt ...)))) + ((name . with!) (signature syntax-rules () ((_ (state-var value) ...)))) + ((name . forked) + (signature lambda ((formatter fmt1) (formatter fmt2)) formatter) + (tags pure)) + ((name . call-with-output) + (signature lambda ((formatter fmt) (procedure? mapper)) formatter) + (tags pure) + (subsigs (mapper (lambda ((string? result-string)) formatter)))) + ((name . port) (signature value formatter-variable)) + ((name . row) (signature value formatter-variable)) + ((name . col) (signature value formatter-variable)) + ((name . width) (signature value formatter-variable)) + ((name . output) (signature value formatter-variable)) + ((name . writer) (signature value formatter-variable)) + ((name . string-width) (signature value formatter-variable)) + ((name . pad-char) (signature value formatter-variable)) + ((name . ellipsis) (signature value formatter-variable)) + ((name . radix) (signature value formatter-variable)) + ((name . precision) (signature value formatter-variable)) + ((name . decimal-sep) (signature value formatter-variable)) + ((name . decimal-align) (signature value formatter-variable)) + ((name . word-separator?) (signature value formatter-variable))) diff --git a/types/scheme.sort.scm b/types/scheme.sort.scm index 23d04ca..4bd1c90 100644 --- a/types/scheme.sort.scm +++ b/types/scheme.sort.scm @@ -1,255 +1,253 @@ -( - - (list-sorted? - (lambda ((procedure? <) (list? lis)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sorted? - (lambda ((procedure? <) (vector? v)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sorted? - (lambda ((procedure? <) (vector? v) (integer? start)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sorted? - (lambda ((procedure? <) (vector? v) (integer? start) (integer? end)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (list-sort - (lambda ((procedure? <) (list? lis)) list?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (list-stable-sort - (lambda ((procedure? <) (list? lis)) list?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (list-sort! - (lambda ((procedure? <) (list? lis)) list?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (list-stable-sort! - (lambda ((procedure? <) (list? lis)) list?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sort - (lambda ((procedure? <) (vector? v)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sort - (lambda ((procedure? <) (vector? v) (integer? start)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sort - (lambda ((procedure? <) (vector? v) (integer? start) (integer? end)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-stable-sort - (lambda ((procedure? <) (vector? v)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-stable-sort - (lambda ((procedure? <) (vector? v) (integer? start)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-stable-sort - (lambda ((procedure? <) (vector? v) (integer? start) (integer? end)) boolean?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sort! - (lambda ((procedure? <) (vector? v)) boolean?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sort! - (lambda ((procedure? <) (vector? v) (integer? start)) boolean?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-sort! - (lambda ((procedure? <) (vector? v) (integer? start) (integer? end)) boolean?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-stable-sort! - (lambda ((procedure? <) (vector? v)) boolean?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-stable-sort! - (lambda ((procedure? <) (vector? v) (integer? start)) boolean?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-stable-sort! - (lambda ((procedure? <) (vector? v) (integer? start) (integer? end)) boolean?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (list-merge - (lambda ((procedure? <) (list? lis1) (list? lis2)) list?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (list-merge! - (lambda ((procedure? <) (list? lis1) (list? lis2)) list?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge - (lambda ((procedure? <) (vector? v1) (vector? v2)) vector?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1)) vector?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1)) vector?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1) (integer? start2)) vector?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) vector?) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge! - (lambda ((procedure? <) (vector? v1) (vector? v2)) vector?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge! - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1)) vector?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge! - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1)) vector?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge! - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1) (integer? start2)) vector?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-merge! - (lambda ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) vector?) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (list-delete-neighbor-dups - (lambda ((procedure? =) (list? lis)) list?) - (pure) - ((= (lambda (obj1 obj2) boolean?)))) - - (list-delete-neighbor-dups! - (lambda ((procedure? =) (list? lis)) list?) - () - ((= (lambda (obj1 obj2) boolean?)))) - - (vector-delete-neighbor-dups - (lambda ((procedure? =) (vector? v)) vector?) - (pure) - ((= (lambda (obj1 obj2) boolean?)))) - - (vector-delete-neighbor-dups - (lambda ((procedure? =) (vector? v) (integer? start)) vector?) - (pure) - ((= (lambda (obj1 obj2) boolean?)))) - - (vector-delete-neighbor-dups - (lambda ((procedure? =) (vector? v) (integer? start) (integer? end)) vector?) - (pure) - ((= (lambda (obj1 obj2) boolean?)))) - - (vector-delete-neighbor-dups! - (lambda ((procedure? =) (vector? v)) vector?) - () - ((= (lambda (obj1 obj2) boolean?)))) - - (vector-delete-neighbor-dups! - (lambda ((procedure? =) (vector? v) (integer? start)) vector?) - () - ((= (lambda (obj1 obj2) boolean?)))) - - (vector-delete-neighbor-dups! - (lambda ((procedure? =) (vector? v) (integer? start) (integer? end)) vector?) - () - ((= (lambda (obj1 obj2) boolean?)))) - - (vector-find-median - (lambda ((procedure? <) (vector? v) knil) *) - (pure) - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-find-median - (lambda ((procedure? <) (vector? v) knil (procedure? mean)) *) - (pure) - ((< (lambda (obj1 obj2) boolean?)) - (mean (lambda (obj1 obj2) *)))) - - (vector-find-median! - (lambda ((procedure? <) (vector? v) knil) *) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-find-median! - (lambda ((procedure? <) (vector? v) knil (procedure? mean)) *) - () - ((< (lambda (obj1 obj2) boolean?)) - (mean (lambda (obj1 obj2) *)))) - - (vector-select! - (lambda ((procedure? <) (vector? v) (integer? k)) *) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-select! - (lambda ((procedure? <) (vector? v) (integer? k) (integer? start)) *) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-select! - (lambda ((procedure? <) (vector? v) (integer? k) (integer? start) (integer? end)) *) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-separate! - (lambda ((procedure? <) (vector? v) (integer? k)) undefined) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-separate! - (lambda ((procedure? <) (vector? v) (integer? k) (integer? start)) undefined) - () - ((< (lambda (obj1 obj2) boolean?)))) - - (vector-separate! - (lambda ((procedure? <) (vector? v) (integer? k) (integer? start) (integer? end)) undefined) - () - ((< (lambda (obj1 obj2) boolean?)))) - - ) +(((name . list-sorted?) + (signature lambda ((procedure? <) (list? lis)) boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sorted?) + (signature lambda ((procedure? <) (vector? v)) boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sorted?) + (signature lambda ((procedure? <) (vector? v) (integer? start)) boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sorted?) + (signature + lambda + ((procedure? <) (vector? v) (integer? start) (integer? end)) + boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . list-sort) + (signature lambda ((procedure? <) (list? lis)) list?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . list-stable-sort) + (signature lambda ((procedure? <) (list? lis)) list?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . list-sort!) + (signature lambda ((procedure? <) (list? lis)) list?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . list-stable-sort!) + (signature lambda ((procedure? <) (list? lis)) list?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sort) + (signature lambda ((procedure? <) (vector? v)) boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sort) + (signature lambda ((procedure? <) (vector? v) (integer? start)) boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sort) + (signature + lambda + ((procedure? <) (vector? v) (integer? start) (integer? end)) + boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-stable-sort) + (signature lambda ((procedure? <) (vector? v)) boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-stable-sort) + (signature lambda ((procedure? <) (vector? v) (integer? start)) boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-stable-sort) + (signature + lambda + ((procedure? <) (vector? v) (integer? start) (integer? end)) + boolean?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sort!) + (signature lambda ((procedure? <) (vector? v)) boolean?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sort!) + (signature lambda ((procedure? <) (vector? v) (integer? start)) boolean?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-sort!) + (signature + lambda + ((procedure? <) (vector? v) (integer? start) (integer? end)) + boolean?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-stable-sort!) + (signature lambda ((procedure? <) (vector? v)) boolean?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-stable-sort!) + (signature lambda ((procedure? <) (vector? v) (integer? start)) boolean?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-stable-sort!) + (signature + lambda + ((procedure? <) (vector? v) (integer? start) (integer? end)) + boolean?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . list-merge) + (signature lambda ((procedure? <) (list? lis1) (list? lis2)) list?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . list-merge!) + (signature lambda ((procedure? <) (list? lis1) (list? lis2)) list?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge) + (signature lambda ((procedure? <) (vector? v1) (vector? v2)) vector?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge) + (signature + lambda + ((procedure? <) (vector? v1) (vector? v2) (integer? start1)) + vector?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge) + (signature + lambda + ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1)) + vector?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge) + (signature + lambda + ((procedure? <) + (vector? v1) + (vector? v2) + (integer? start1) + (integer? end1) + (integer? start2)) + vector?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge) + (signature + lambda + ((procedure? <) + (vector? v1) + (vector? v2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + vector?) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge!) + (signature lambda ((procedure? <) (vector? v1) (vector? v2)) vector?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge!) + (signature + lambda + ((procedure? <) (vector? v1) (vector? v2) (integer? start1)) + vector?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge!) + (signature + lambda + ((procedure? <) (vector? v1) (vector? v2) (integer? start1) (integer? end1)) + vector?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge!) + (signature + lambda + ((procedure? <) + (vector? v1) + (vector? v2) + (integer? start1) + (integer? end1) + (integer? start2)) + vector?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-merge!) + (signature + lambda + ((procedure? <) + (vector? v1) + (vector? v2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + vector?) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . list-delete-neighbor-dups) + (signature lambda ((procedure? =) (list? lis)) list?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . list-delete-neighbor-dups!) + (signature lambda ((procedure? =) (list? lis)) list?) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . vector-delete-neighbor-dups) + (signature lambda ((procedure? =) (vector? v)) vector?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . vector-delete-neighbor-dups) + (signature lambda ((procedure? =) (vector? v) (integer? start)) vector?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . vector-delete-neighbor-dups) + (signature + lambda + ((procedure? =) (vector? v) (integer? start) (integer? end)) + vector?) + (tags pure) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . vector-delete-neighbor-dups!) + (signature lambda ((procedure? =) (vector? v)) vector?) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . vector-delete-neighbor-dups!) + (signature lambda ((procedure? =) (vector? v) (integer? start)) vector?) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . vector-delete-neighbor-dups!) + (signature + lambda + ((procedure? =) (vector? v) (integer? start) (integer? end)) + vector?) + (subsigs (= (lambda (obj1 obj2) boolean?)))) + ((name . vector-find-median) + (signature lambda ((procedure? <) (vector? v) knil) *) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-find-median) + (signature lambda ((procedure? <) (vector? v) knil (procedure? mean)) *) + (tags pure) + (subsigs (< (lambda (obj1 obj2) boolean?)) (mean (lambda (obj1 obj2) *)))) + ((name . vector-find-median!) + (signature lambda ((procedure? <) (vector? v) knil) *) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-find-median!) + (signature lambda ((procedure? <) (vector? v) knil (procedure? mean)) *) + (subsigs (< (lambda (obj1 obj2) boolean?)) (mean (lambda (obj1 obj2) *)))) + ((name . vector-select!) + (signature lambda ((procedure? <) (vector? v) (integer? k)) *) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-select!) + (signature + lambda + ((procedure? <) (vector? v) (integer? k) (integer? start)) + *) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-select!) + (signature + lambda + ((procedure? <) (vector? v) (integer? k) (integer? start) (integer? end)) + *) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-separate!) + (signature lambda ((procedure? <) (vector? v) (integer? k)) undefined) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-separate!) + (signature + lambda + ((procedure? <) (vector? v) (integer? k) (integer? start)) + undefined) + (subsigs (< (lambda (obj1 obj2) boolean?)))) + ((name . vector-separate!) + (signature + lambda + ((procedure? <) (vector? v) (integer? k) (integer? start) (integer? end)) + undefined) + (subsigs (< (lambda (obj1 obj2) boolean?))))) diff --git a/types/scheme.stream.scm b/types/scheme.stream.scm index d7e0621..c3c732b 100644 --- a/types/scheme.stream.scm +++ b/types/scheme.stream.scm @@ -1,200 +1,134 @@ -( - - (stream-null - (value stream-null?) - ()) - - (stream-cons - (lambda (obj (stream? stream)) stream-pair?) - (pure syntax)) - - (stream? - (lambda (obj) boolean?) - (pure predicate)) - - (stream-null? - (lambda (obj) boolean?) - (pure predicate) +(((name . stream-null) (signature value stream-null?)) + ((name . stream-cons) + (signature syntax-rules () ((_ obj stream) stream-pair?)) + (tags pure) + (syntax-param-signatures (stream stream?))) + ((name . stream?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . stream-null?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes stream?)) + ((name . stream-pair?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes stream?)) + ((name . stream-car) (signature lambda ((stream-pair? stream)) *) (tags pure)) + ((name . stream-cdr) + (signature lambda ((stream-pair? stream)) stream?) + (tags pure)) + ((name . stream-lambda) + (signature syntax-rules () ((_ formals body))) + (subsigs + (formals + (variable1 ...) + variable + (variable1 ... variable_n . variable_n+1)))) + ((name . define-stream) + (signature + syntax-rules () - (stream?)) - - (stream-pair? - (lambda (obj) boolean?) - (pure predicate) - () - (stream?)) - - (stream-car - (lambda ((stream-pair? stream)) *) - (pure)) - - (stream-cdr - (lambda ((stream-pair? stream)) stream?) - (pure)) - - (stream-lambda - (syntax-rules () - ((_ formals body))) - () - ((formals (variable1 ...) - variable - (variable1 ... variable_n . variable_n+1)))) - - (define-stream - (syntax-rules () - ((_ (variable parameter1 ...) body)) - ((_ (variable parameter1 ... . parameter) body))) - ()) - - (list->stream - (lambda ((list? list-of-objects)) stream?) - (pure)) - - (port->stream - (lambda () stream?) - (parameterized)) - - (port->stream - (lambda ((input-port? port)) stream?)) - - (stream - (lambda (object ...) stream?) - (pure syntax)) - - (stream->list - (lambda ((stream? stream)) list?) - (pure)) - - (stream->list - (lambda ((integer? n) (stream? stream)) list?) - (pure)) - - (stream-append - (lambda ((stream? stream) ...) stream?) - (pure)) - - (stream-concat - (lambda ((stream? stream-of-streams)) stream?) - (pure)) - - (stream-constant - (lambda (object ...) stream?) - (pure)) - - (stream-drop - (lambda ((integer? n) (stream? stream)) stream?) - (pure)) - - (stream-drop-while - (lambda ((procedure? pred?) (stream? stream)) stream?) - (pure) - ((pred? (lambda (obj) boolean?)))) - - (stream-filter - (lambda ((procedure? pred?) (stream? stream)) stream?) - (pure) - ((pred? (lambda (obj) boolean?)))) - - (stream-fold - (lambda ((procedure? proc) base (stream? stream)) *) - (pure) - ((proc (lambda (base element) *)))) - - (stream-for-each - (lambda ((procedure? proc) (stream? stream1) ...) undefined) - () - ((proc (lambda (element1 ...) undefined)))) - - (stream-from - (lambda ((number? from)) stream?) - (pure)) - - (stream-from - (lambda ((number? from) (number? step)) stream?) - (pure)) - - (stream-iterate - (lambda ((procedure? proc) base) stream?) - (pure) - ((proc (lambda (element) *)))) - - (stream-length - (lambda ((stream? stream)) integer?) - (pure)) - - (stream-let - (syntax-rules () - ((_ tag ((var expr) ...) body)))) - - (stream-map - (lambda ((procedure? proc) (stream? stream1) ...) stream?) - () - ((proc (lambda (element1 ...) *)))) - - (stream-match - (syntax-rules (_) - ((_ stream clause ...))) - () - ((clause () - (pat0 pat1 ...) - (pat0 pat1 ... . pat_rest) - pat) - (pat identifier - _))) - - (stream-of - (syntax-rules (in is) - ((_ expr clause ...))) - () - ((clause (var in stream-expr) - (var is expr) - (pred? expr) - ))) - - (stream-range - (lambda ((real? first) (real? past)) stream?) - (pure)) - - (stream-range - (lambda ((real? first) (real? past) (real? step)) stream?) - (pure)) - - (stream-ref - (lambda ((stream? stream) (integer? n)) *) - (pure)) - - (stream-reverse - (lambda ((stream? stream)) stream?) - (pure)) - - (stream-scan - (lambda ((procedure? proc) base (stream? stream)) stream?) - (pure) - ((proc (lambda (base element) *)))) - - (stream-take - (lambda ((integer? n) (stream? stream)) stream?) - (pure)) - - (stream-take-while - (lambda ((procedure? pred?) (stream? stream)) stream?) - (pure) - ((pred? (lambda (obj) boolean?)))) - - (stream-unfold - (lambda ((procedure? map) (procedure? pred?) (procedure? gen) base) stream?) - (pure) - ((map (lambda (base) *)) - (pred? (lambda (base) boolean?)) - (gen (lambda (base) *)))) - - (stream-unfolds - (lambda ((procedure? proc) seed) (values stream? ...)) - (pure) - ((proc (lambda (seed) (values (or list? #f) * ...))))) - - (stream-zip - (lambda ((stream? stream) ...) stream?) - (pure)) - - ) + ((_ (variable parameter1 ...) body)) + ((_ (variable parameter1 ... . parameter) body)))) + ((name . list->stream) + (signature lambda ((list? list-of-objects)) stream?) + (tags pure)) + ((name . port->stream) (signature lambda () stream?) (tags parameterized)) + ((name . port->stream) (signature lambda ((input-port? port)) stream?)) + ((name . stream) (signature syntax-rules () ((_ object ...) stream?)) (tags pure)) + ((name . stream->list) + (signature lambda ((stream? stream)) list?) + (tags pure)) + ((name . stream->list) + (signature lambda ((integer? n) (stream? stream)) list?) + (tags pure)) + ((name . stream-append) + (signature lambda ((stream? stream) ...) stream?) + (tags pure)) + ((name . stream-concat) + (signature lambda ((stream? stream-of-streams)) stream?) + (tags pure)) + ((name . stream-constant) (signature lambda (object ...) stream?) (tags pure)) + ((name . stream-drop) + (signature lambda ((integer? n) (stream? stream)) stream?) + (tags pure)) + ((name . stream-drop-while) + (signature lambda ((procedure? pred?) (stream? stream)) stream?) + (tags pure) + (subsigs (pred? (lambda (obj) boolean?)))) + ((name . stream-filter) + (signature lambda ((procedure? pred?) (stream? stream)) stream?) + (tags pure) + (subsigs (pred? (lambda (obj) boolean?)))) + ((name . stream-fold) + (signature lambda ((procedure? proc) base (stream? stream)) *) + (tags pure) + (subsigs (proc (lambda (base element) *)))) + ((name . stream-for-each) + (signature lambda ((procedure? proc) (stream? stream1) ...) undefined) + (subsigs (proc (lambda (element1 ...) undefined)))) + ((name . stream-from) (signature lambda ((number? from)) stream?) (tags pure)) + ((name . stream-from) + (signature lambda ((number? from) (number? step)) stream?) + (tags pure)) + ((name . stream-iterate) + (signature lambda ((procedure? proc) base) stream?) + (tags pure) + (subsigs (proc (lambda (element) *)))) + ((name . stream-length) + (signature lambda ((stream? stream)) integer?) + (tags pure)) + ((name . stream-let) + (signature syntax-rules () ((_ tag ((var expr) ...) body)))) + ((name . stream-map) + (signature lambda ((procedure? proc) (stream? stream1) ...) stream?) + (subsigs (proc (lambda (element1 ...) *)))) + ((name . stream-match) + (signature syntax-rules (_) ((_ stream clause ...))) + (subsigs + (clause () (pat0 pat1 ...) (pat0 pat1 ... . pat_rest) pat) + (pat identifier _))) + ((name . stream-of) + (signature syntax-rules (in is) ((_ expr clause ...))) + (subsigs (clause (var in stream-expr) (var is expr) (pred? expr)))) + ((name . stream-range) + (signature lambda ((real? first) (real? past)) stream?) + (tags pure)) + ((name . stream-range) + (signature lambda ((real? first) (real? past) (real? step)) stream?) + (tags pure)) + ((name . stream-ref) + (signature lambda ((stream? stream) (integer? n)) *) + (tags pure)) + ((name . stream-reverse) + (signature lambda ((stream? stream)) stream?) + (tags pure)) + ((name . stream-scan) + (signature lambda ((procedure? proc) base (stream? stream)) stream?) + (tags pure) + (subsigs (proc (lambda (base element) *)))) + ((name . stream-take) + (signature lambda ((integer? n) (stream? stream)) stream?) + (tags pure)) + ((name . stream-take-while) + (signature lambda ((procedure? pred?) (stream? stream)) stream?) + (tags pure) + (subsigs (pred? (lambda (obj) boolean?)))) + ((name . stream-unfold) + (signature + lambda + ((procedure? map) (procedure? pred?) (procedure? gen) base) + stream?) + (tags pure) + (subsigs + (map (lambda (base) *)) + (pred? (lambda (base) boolean?)) + (gen (lambda (base) *)))) + ((name . stream-unfolds) + (signature lambda ((procedure? proc) seed) (values stream? ...)) + (tags pure) + (subsigs (proc (lambda (seed) (values (or list? #f) * ...))))) + ((name . stream-zip) + (signature lambda ((stream? stream) ...) stream?) + (tags pure))) diff --git a/types/scheme.text.scm b/types/scheme.text.scm index 165cbcb..b88b4cc 100644 --- a/types/scheme.text.scm +++ b/types/scheme.text.scm @@ -1,848 +1,1040 @@ -( - - (text? - (lambda (obj) boolean?) - (pure predicate) - () - (textual?)) - - (textual? - (lambda (obj) boolean?) - (pure predicate)) - - (textual-null? - (lambda ((textual? textual)) boolean?) - (pure)) - - (textual-every - (lambda ((procedure? pred) (textual? textual)) *) - (pure) - ((pred (lambda ((char? char)) *)))) - - (textual-every - (lambda ((procedure? pred) (textual? textual) (integer? start)) *) - (pure) - ((pred (lambda ((char? char)) *)))) - - (textual-every - (lambda ((procedure? pred) (textual? textual) (integer? start) (integer? end)) *) - (pure) - ((pred (lambda ((char? char)) *)))) - - (textual-any - (lambda ((procedure? pred) (textual? textual)) *) - (pure) - ((pred (lambda ((char? char)) *)))) - - (textual-any - (lambda ((procedure? pred) (textual? textual) (integer? start)) *) - (pure) - ((pred (lambda ((char? char)) *)))) - - (textual-any - (lambda ((procedure? pred) (textual? textual) (integer? start) (integer? end)) *) - (pure) - ((pred (lambda ((char? char)) *)))) - - (make-text - (lambda ((integer? len) (char? char)) text?) - (pure)) - - (text - (lambda ((char? char) ...) text?) - (pure)) - - (text-tabulate - (lambda ((procedure? proc) (integer? len)) text?) - (pure) - ((proc (lambda ((integer? k)) char?)))) - - (text-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) text?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (or char? string? text?))) - (success (lambda (seed) *)))) - - (text-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (textual? base)) text?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (or char? string? text?))) - (success (lambda (seed) *)))) - - (text-unfold - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (textual? base) (procedure? make-final)) text?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (or char? string? text?))) - (success (lambda (seed) *)) - (make-final (lambda (seed) (or char? string? text?))))) - - (text-unfold-right - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) text?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (or char? string? text?))) - (success (lambda (seed) *)))) - - (text-unfold-right - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (textual? base)) text?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (or char? string? text?))) - (success (lambda (seed) *)))) - - (text-unfold-right - (lambda ((procedure? stop?) (procedure? mapper) (procedure? successor) seed (textual? base) (procedure? make-final)) text?) - (pure) - ((stop? (lambda (seed) boolean?)) - (mapper (lambda (seed) (or char? string? text?))) - (success (lambda (seed) *)) - (make-final (lambda (seed) (or char? string? text?))))) - - (textual->text - (lambda ((textual? textual)) text?) - (pure)) - - (textual->string - (lambda ((textual? textual)) string?) - (pure)) - - (textual->string - (lambda ((textual? textual) (integer? start)) string?) - (pure)) - - (textual->string - (lambda ((textual? textual) (integer? start) (integer? end)) string?) - (pure)) - - (textual->vector - (lambda ((textual? textual)) vector?) - (pure)) - - (textual->vector - (lambda ((textual? textual) (integer? start)) vector?) - (pure)) - - (textual->vector - (lambda ((textual? textual) (integer? start) (integer? end)) vector?) - (pure)) - - (textual->list - (lambda ((textual? textual)) list?) - (pure)) - - (textual->list - (lambda ((textual? textual) (integer? start)) list?) - (pure)) - - (textual->list - (lambda ((textual? textual) (integer? start) (integer? end)) list?) - (pure)) - - (string->text - (lambda ((string? string)) text?) - (pure)) - - (string->text - (lambda ((string? string) (integer? start)) text?) - (pure)) - - (string->text - (lambda ((string? string) (integer? start) (integer? end)) text?) - (pure)) - - (vector->text - (lambda ((vector? vector)) text?) - (pure)) - - (vector->text - (lambda ((vector? vector) (integer? start)) text?) - (pure)) - - (vector->text - (lambda ((vector? vector) (integer? start) (integer? end)) text?) - (pure)) - - (list->text - (lambda ((list? list)) text?) - (pure)) - - (list->text - (lambda ((list? list) (integer? start)) text?) - (pure)) - - (list->text - (lambda ((list? list) (integer? start) (integer? end)) text?) - (pure)) - - (reverse-list->text - (lambda ((list? char-list)) text?) - (pure)) - - (textual->utf8 - (lambda ((textual? textual)) bytevector?) - (pure)) - - (textual->utf8 - (lambda ((textual? textual) (integer? start)) bytevector?) - (pure)) - - (textual->utf8 - (lambda ((textual? textual) (integer? start) (integer? end)) bytevector?) - (pure)) - - (utf8->text - (lambda ((bytevector? bytevector)) text?) - (pure)) - - (utf8->text - (lambda ((bytevector? bytevector) (integer? start)) text?) - (pure)) - - (utf8->text - (lambda ((bytevector? bytevector) (integer? start) (integer? end)) text?) - (pure)) - - (textual->utf16 - (lambda ((textual? textual)) bytevector?) - (pure)) - - (textual->utf16 - (lambda ((textual? textual) (integer? start)) bytevector?) - (pure)) - - (textual->utf16 - (lambda ((textual? textual) (integer? start) (integer? end)) bytevector?) - (pure)) - - (utf16->text - (lambda ((bytevector? bytevector)) text?) - (pure)) - - (utf16->text - (lambda ((bytevector? bytevector) (integer? start)) text?) - (pure)) - - (utf16->text - (lambda ((bytevector? bytevector) (integer? start) (integer? end)) text?) - (pure)) - - (textual->utf16be - (lambda ((textual? textual)) bytevector?) - (pure)) - - (textual->utf16be - (lambda ((textual? textual) (integer? start)) bytevector?) - (pure)) - - (textual->utf16be - (lambda ((textual? textual) (integer? start) (integer? end)) bytevector?) - (pure)) - - (utf16be->text - (lambda ((bytevector? bytevector)) text?) - (pure)) - - (utf16be->text - (lambda ((bytevector? bytevector) (integer? start)) text?) - (pure)) - - (utf16be->text - (lambda ((bytevector? bytevector) (integer? start) (integer? end)) text?) - (pure)) - - (textual->utf16le - (lambda ((textual? textual)) bytevector?) - (pure)) - - (textual->utf16le - (lambda ((textual? textual) (integer? start)) bytevector?) - (pure)) - - (textual->utf16le - (lambda ((textual? textual) (integer? start) (integer? end)) bytevector?) - (pure)) - - (utf16le->text - (lambda ((bytevector? bytevector)) text?) - (pure)) - - (utf16le->text - (lambda ((bytevector? bytevector) (integer? start)) text?) - (pure)) - - (utf16le->text - (lambda ((bytevector? bytevector) (integer? start) (integer? end)) text?) - (pure)) - - (text-length - (lambda ((text? text)) integer?) - (pure)) - - (text-ref - (lambda ((text? text) (integer? idx)) char?) - (pure)) - - (textual-length - (lambda ((textual? textual)) integer?) - (pure)) - - (textual-ref - (lambda ((textual? text) (integer? idx)) char?) - (pure)) - - (subtext - (lambda ((text? text) (integer? start) (integer? end)) text?) - (pure)) - - (subtextual - (lambda ((textual? text) (integer? start) (integer? end)) text?) - (pure)) - - (textual-copy - (lambda ((textual? textual)) text?) - (pure)) - - (textual-copy - (lambda ((textual? textual) (integer? start)) text?) - (pure)) - - (textual-copy - (lambda ((textual? textual) (integer? start) (integer? end)) text?) - (pure)) - - (textual-take - (lambda ((textual? textual) (integer? nchars)) text?) - (pure)) - - (textual-drop - (lambda ((textual? textual) (integer? nchars)) text?) - (pure)) - - (textual-take-right - (lambda ((textual? textual) (integer? nchars)) text?) - (pure)) - - (textual-drop-right - (lambda ((textual? textual) (integer? nchars)) text?) - (pure)) - - (textual-pad - (lambda ((textual? textual) (integer? len)) text?) - (pure)) - - (textual-pad - (lambda ((textual? textual) (integer? len) (char? char)) text?) - (pure)) - - (textual-pad - (lambda ((textual? textual) (integer? len) (char? char) (integer? start)) text?) - (pure)) - - (textual-pad - (lambda ((textual? textual) (integer? len) (char? char) (integer? start) (integer? end)) text?) - (pure)) - - (textual-pad-right - (lambda ((textual? textual) (integer? len)) text?) - (pure)) - - (textual-pad-right - (lambda ((textual? textual) (integer? len) (char? char)) text?) - (pure)) - - (textual-pad-right - (lambda ((textual? textual) (integer? len) (char? char) (integer? start)) text?) - (pure)) - - (textual-pad-right - (lambda ((textual? textual) (integer? len) (char? char) (integer? start) (integer? end)) text?) - (pure)) - - (textual-trim - (lambda ((textual? textual)) text?) - (pure)) - - (textual-trim - (lambda ((textual? textual) (procedure? pred)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim - (lambda ((textual? textual) (procedure? pred) (integer? start)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim-right - (lambda ((textual? textual)) text?) - (pure)) - - (textual-trim-right - (lambda ((textual? textual) (procedure? pred)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim-right - (lambda ((textual? textual) (procedure? pred) (integer? start)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim-right - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim-both - (lambda ((textual? textual)) text?) - (pure)) - - (textual-trim-both - (lambda ((textual? textual) (procedure? pred)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim-both - (lambda ((textual? textual) (procedure? pred) (integer? start)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-trim-both - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-replace - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) text?) - (pure)) - - (textual-replace - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2)) text?) - (pure)) - - (textual-replace - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) text?) - (pure)) - - (textual=? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual<=? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual>=? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual-ci=? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual-ci? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual-ci<=? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual-ci>=? - (lambda ((textual? textual1) (textual? textual2) (textual? textual3) ...) boolean?) - (pure)) - - (textual-prefix-length - (lambda ((textual? textual1) (textual? textual2)) integer?) - (pure)) - - (textual-prefix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1)) integer?) - (pure)) - - (textual-prefix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) integer?) - (pure)) - - (textual-prefix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2)) integer?) - (pure)) - - (textual-prefix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) integer?) - (pure)) - - (textual-suffix-length - (lambda ((textual? textual1) (textual? textual2)) integer?) - (pure)) - - (textual-suffix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1)) integer?) - (pure)) - - (textual-suffix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) integer?) - (pure)) - - (textual-suffix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2)) integer?) - (pure)) - - (textual-suffix-length - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) integer?) - (pure)) - - (textual-prefix? - (lambda ((textual? textual1) (textual? textual2)) boolean?) - (pure)) - - (textual-prefix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1)) boolean?) - (pure)) - - (textual-prefix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) boolean?) - (pure)) - - (textual-prefix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2)) boolean?) - (pure)) - - (textual-prefix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) boolean?) - (pure)) - - (textual-suffix? - (lambda ((textual? textual1) (textual? textual2)) boolean?) - (pure)) - - (textual-suffix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1)) boolean?) - (pure)) - - (textual-suffix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) boolean?) - (pure)) - - (textual-suffix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2)) boolean?) - (pure)) - - (textual-suffix? - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) boolean?) - (pure)) - - (textual-index - (lambda ((textual? textual) (procedure? pred)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-index - (lambda ((textual? textual) (procedure? pred) (integer? start)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-index - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-index-right - (lambda ((textual? textual) (procedure? pred)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-index-right - (lambda ((textual? textual) (procedure? pred) (integer? start)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-index-right - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-skip - (lambda ((textual? textual) (procedure? pred)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-skip - (lambda ((textual? textual) (procedure? pred) (integer? start)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-skip - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-skip-right - (lambda ((textual? textual) (procedure? pred)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-skip-right - (lambda ((textual? textual) (procedure? pred) (integer? start)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-skip-right - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) (or #f integer?)) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-contains - (lambda ((textual? textual1) (textual? textual2)) (or #f integer?)) - (pure)) - - (textual-contains - (lambda ((textual? textual1) (textual? textual2) (integer? start1)) (or #f integer?)) - (pure)) - - (textual-contains - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) (or #f integer?)) - (pure)) - - (textual-contains - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2)) (or #f integer?)) - (pure)) - - (textual-contains - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) (or #f integer?)) - (pure)) - - (textual-contains-right - (lambda ((textual? textual1) (textual? textual2)) (or #f integer?)) - (pure)) - - (textual-contains-right - (lambda ((textual? textual1) (textual? textual2) (integer? start1)) (or #f integer?)) - (pure)) - - (textual-contains-right - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) (or #f integer?)) - (pure)) - - (textual-contains-right - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2)) (or #f integer?)) - (pure)) - - (textual-contains-right - (lambda ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1) (integer? start2) (integer? end2)) (or #f integer?)) - (pure)) - - (textual-upcase - (lambda ((textual? textual)) text?) - (pure)) - - (textual-downcase - (lambda ((textual? textual)) text?) - (pure)) - - (textual-foldcase - (lambda ((textual? textual)) text?) - (pure)) - - (textual-titlecase - (lambda ((textual? textual)) text?) - (pure)) - - (textual-append - (lambda ((textual? textual) ...) text?) - (pure)) - - (textual-concatenate - (lambda ((list? textual-list)) text?) - (pure)) - - (textual-concatenate-reverse - (lambda ((list? textual-list)) text?) - (pure)) - - (textual-concatenate-reverse - (lambda ((list? textual-list) (textual? final-textual)) text?) - (pure)) - - (textual-concatenate-reverse - (lambda ((list? textual-list) (textual? final-textual) (integer? end)) text?) - (pure)) - - (textual-join - (lambda ((list? textual-list)) text?) - (pure)) - - (textual-join - (lambda ((list? textual-list) (textual? delimiter)) text?) - (pure)) - - (textual-join - (lambda ((list? textual-list) (textual? delimiter) (symbol? grammar)) text?) - (pure)) - - (textual-fold - (lambda ((procedure? kons) knil (textual? textual)) *) - (pure) - ((kons (lambda ((char? char) state) *)))) - - (textual-fold - (lambda ((procedure? kons) knil (textual? textual) (integer? start)) *) - (pure) - ((kons (lambda ((char? char) state) *)))) - - (textual-fold - (lambda ((procedure? kons) knil (textual? textual) (integer? start) (integer? end)) *) - (pure) - ((kons (lambda ((char? char) state) *)))) - - (textual-fold-right - (lambda ((procedure? kons) knil (textual? textual)) *) - (pure) - ((kons (lambda ((char? char) state) *)))) - - (textual-fold-right - (lambda ((procedure? kons) knil (textual? textual) (integer? start)) *) - (pure) - ((kons (lambda ((char? char) state) *)))) - - (textual-fold-right - (lambda ((procedure? kons) knil (textual? textual) (integer? start) (integer? end)) *) - (pure) - ((kons (lambda ((char? char) state) *)))) - - (textual-map - (lambda ((procedure? proc) (textual? textual1) (textual? textual2) ...) text?) - (pure) - ((proc (lambda ((char? char1) (char? char2) ...) (or textual? char?))))) - - (textual-for-each - (lambda ((procedure? proc) (textual? textual1) (textual? textual2) ...) undefined) - () - ((proc (lambda ((char? char1) (char? char2) ...) undefined)))) - - (textual-map-index - (lambda ((procedure? proc) (textual? textual)) text?) - (pure) - ((proc (lambda ((char? char)) (or textual? char?))))) - - (textual-map-index - (lambda ((procedure? proc) (textual? textual) (integer? start)) text?) - (pure) - ((proc (lambda ((char? char)) (or textual? char?))))) - - (textual-map-index - (lambda ((procedure? proc) (textual? textual) (integer? start) (integer? end)) text?) - (pure) - ((proc (lambda ((char? char)) (or textual? char?))))) - - (textual-for-each-index - (lambda ((procedure? proc) (textual? textual)) undefined) - () - ((proc (lambda ((char? char)) undefined)))) - - (textual-for-each-index - (lambda ((procedure? proc) (textual? textual) (integer? start)) undefined) - () - ((proc (lambda ((char? char)) undefined)))) - - (textual-for-each-index - (lambda ((procedure? proc) (textual? textual) (integer? start) (integer? end)) undefined) - () - ((proc (lambda ((char? char)) undefined)))) - - (textual-count - (lambda ((textual? textual) (procedure? pred)) integer?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-count - (lambda ((textual? textual) (procedure? pred) (integer? start)) integer?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-count - (lambda ((textual? textual) (procedure? pred) (integer? start) (integer? end)) integer?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-filter - (lambda ((procedure? pred) (textual? textual)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-filter - (lambda ((procedure? pred) (textual? textual) (integer? start)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-filter - (lambda ((procedure? pred) (textual? textual) (integer? start) (integer? end)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-remove - (lambda ((procedure? pred) (textual? textual)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-remove - (lambda ((procedure? pred) (textual? textual) (integer? start)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-remove - (lambda ((procedure? pred) (textual? textual) (integer? start) (integer? end)) text?) - (pure) - ((pred (lambda ((char? char)) boolean?)))) - - (textual-replicate - (lambda ((textual? textual) (integer? from) (integer? to)) text?) - (pure)) - - (textual-replicate - (lambda ((textual? textual) (integer? from) (integer? to) (integer? start)) text?) - (pure)) - - (textual-replicate - (lambda ((textual? textual) (integer? from) (integer? to) (integer? start) (integer? end)) text?) - (pure)) - - (textual-split - (lambda ((textual? textual) (textual? delimiter)) list?) - (pure)) - - (textual-split - (lambda ((textual? textual) (textual? delimiter) (symbol? grammar)) list?) - (pure)) - - (textual-split - (lambda ((textual? textual) (textual? delimiter) (symbol? grammar) (integer? limit)) list?) - (pure)) - - (textual-split - (lambda ((textual? textual) (textual? delimiter) (symbol? grammar) (integer? limit) (integer? start)) list?) - (pure)) - - (textual-split - (lambda ((textual? textual) (textual? delimiter) (symbol? grammar) (integer? limit) (integer? start) (integer? end)) list?) - (pure)) - - ) +(((name . text?) + (signature lambda (obj) boolean?) + (tags pure predicate) + (subsigs) + (supertypes textual?)) + ((name . textual?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . textual-null?) + (signature lambda ((textual? textual)) boolean?) + (tags pure)) + ((name . textual-every) + (signature lambda ((procedure? pred) (textual? textual)) *) + (tags pure) + (subsigs (pred (lambda ((char? char)) *)))) + ((name . textual-every) + (signature lambda ((procedure? pred) (textual? textual) (integer? start)) *) + (tags pure) + (subsigs (pred (lambda ((char? char)) *)))) + ((name . textual-every) + (signature + lambda + ((procedure? pred) (textual? textual) (integer? start) (integer? end)) + *) + (tags pure) + (subsigs (pred (lambda ((char? char)) *)))) + ((name . textual-any) + (signature lambda ((procedure? pred) (textual? textual)) *) + (tags pure) + (subsigs (pred (lambda ((char? char)) *)))) + ((name . textual-any) + (signature lambda ((procedure? pred) (textual? textual) (integer? start)) *) + (tags pure) + (subsigs (pred (lambda ((char? char)) *)))) + ((name . textual-any) + (signature + lambda + ((procedure? pred) (textual? textual) (integer? start) (integer? end)) + *) + (tags pure) + (subsigs (pred (lambda ((char? char)) *)))) + ((name . make-text) + (signature lambda ((integer? len) (char? char)) text?) + (tags pure)) + ((name . text) (signature lambda ((char? char) ...) text?) (tags pure)) + ((name . text-tabulate) + (signature lambda ((procedure? proc) (integer? len)) text?) + (tags pure) + (subsigs (proc (lambda ((integer? k)) char?)))) + ((name . text-unfold) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + text?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (or char? string? text?))) + (success (lambda (seed) *)))) + ((name . text-unfold) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (textual? base)) + text?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (or char? string? text?))) + (success (lambda (seed) *)))) + ((name . text-unfold) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (textual? base) + (procedure? make-final)) + text?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (or char? string? text?))) + (success (lambda (seed) *)) + (make-final (lambda (seed) (or char? string? text?))))) + ((name . text-unfold-right) + (signature + lambda + ((procedure? stop?) (procedure? mapper) (procedure? successor) seed) + text?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (or char? string? text?))) + (success (lambda (seed) *)))) + ((name . text-unfold-right) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (textual? base)) + text?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (or char? string? text?))) + (success (lambda (seed) *)))) + ((name . text-unfold-right) + (signature + lambda + ((procedure? stop?) + (procedure? mapper) + (procedure? successor) + seed + (textual? base) + (procedure? make-final)) + text?) + (tags pure) + (subsigs + (stop? (lambda (seed) boolean?)) + (mapper (lambda (seed) (or char? string? text?))) + (success (lambda (seed) *)) + (make-final (lambda (seed) (or char? string? text?))))) + ((name . textual->text) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual->string) + (signature lambda ((textual? textual)) string?) + (tags pure)) + ((name . textual->string) + (signature lambda ((textual? textual) (integer? start)) string?) + (tags pure)) + ((name . textual->string) + (signature + lambda + ((textual? textual) (integer? start) (integer? end)) + string?) + (tags pure)) + ((name . textual->vector) + (signature lambda ((textual? textual)) vector?) + (tags pure)) + ((name . textual->vector) + (signature lambda ((textual? textual) (integer? start)) vector?) + (tags pure)) + ((name . textual->vector) + (signature + lambda + ((textual? textual) (integer? start) (integer? end)) + vector?) + (tags pure)) + ((name . textual->list) + (signature lambda ((textual? textual)) list?) + (tags pure)) + ((name . textual->list) + (signature lambda ((textual? textual) (integer? start)) list?) + (tags pure)) + ((name . textual->list) + (signature lambda ((textual? textual) (integer? start) (integer? end)) list?) + (tags pure)) + ((name . string->text) + (signature lambda ((string? string)) text?) + (tags pure)) + ((name . string->text) + (signature lambda ((string? string) (integer? start)) text?) + (tags pure)) + ((name . string->text) + (signature lambda ((string? string) (integer? start) (integer? end)) text?) + (tags pure)) + ((name . vector->text) + (signature lambda ((vector? vector)) text?) + (tags pure)) + ((name . vector->text) + (signature lambda ((vector? vector) (integer? start)) text?) + (tags pure)) + ((name . vector->text) + (signature lambda ((vector? vector) (integer? start) (integer? end)) text?) + (tags pure)) + ((name . list->text) (signature lambda ((list? list)) text?) (tags pure)) + ((name . list->text) + (signature lambda ((list? list) (integer? start)) text?) + (tags pure)) + ((name . list->text) + (signature lambda ((list? list) (integer? start) (integer? end)) text?) + (tags pure)) + ((name . reverse-list->text) + (signature lambda ((list? char-list)) text?) + (tags pure)) + ((name . textual->utf8) + (signature lambda ((textual? textual)) bytevector?) + (tags pure)) + ((name . textual->utf8) + (signature lambda ((textual? textual) (integer? start)) bytevector?) + (tags pure)) + ((name . textual->utf8) + (signature + lambda + ((textual? textual) (integer? start) (integer? end)) + bytevector?) + (tags pure)) + ((name . utf8->text) + (signature lambda ((bytevector? bytevector)) text?) + (tags pure)) + ((name . utf8->text) + (signature lambda ((bytevector? bytevector) (integer? start)) text?) + (tags pure)) + ((name . utf8->text) + (signature + lambda + ((bytevector? bytevector) (integer? start) (integer? end)) + text?) + (tags pure)) + ((name . textual->utf16) + (signature lambda ((textual? textual)) bytevector?) + (tags pure)) + ((name . textual->utf16) + (signature lambda ((textual? textual) (integer? start)) bytevector?) + (tags pure)) + ((name . textual->utf16) + (signature + lambda + ((textual? textual) (integer? start) (integer? end)) + bytevector?) + (tags pure)) + ((name . utf16->text) + (signature lambda ((bytevector? bytevector)) text?) + (tags pure)) + ((name . utf16->text) + (signature lambda ((bytevector? bytevector) (integer? start)) text?) + (tags pure)) + ((name . utf16->text) + (signature + lambda + ((bytevector? bytevector) (integer? start) (integer? end)) + text?) + (tags pure)) + ((name . textual->utf16be) + (signature lambda ((textual? textual)) bytevector?) + (tags pure)) + ((name . textual->utf16be) + (signature lambda ((textual? textual) (integer? start)) bytevector?) + (tags pure)) + ((name . textual->utf16be) + (signature + lambda + ((textual? textual) (integer? start) (integer? end)) + bytevector?) + (tags pure)) + ((name . utf16be->text) + (signature lambda ((bytevector? bytevector)) text?) + (tags pure)) + ((name . utf16be->text) + (signature lambda ((bytevector? bytevector) (integer? start)) text?) + (tags pure)) + ((name . utf16be->text) + (signature + lambda + ((bytevector? bytevector) (integer? start) (integer? end)) + text?) + (tags pure)) + ((name . textual->utf16le) + (signature lambda ((textual? textual)) bytevector?) + (tags pure)) + ((name . textual->utf16le) + (signature lambda ((textual? textual) (integer? start)) bytevector?) + (tags pure)) + ((name . textual->utf16le) + (signature + lambda + ((textual? textual) (integer? start) (integer? end)) + bytevector?) + (tags pure)) + ((name . utf16le->text) + (signature lambda ((bytevector? bytevector)) text?) + (tags pure)) + ((name . utf16le->text) + (signature lambda ((bytevector? bytevector) (integer? start)) text?) + (tags pure)) + ((name . utf16le->text) + (signature + lambda + ((bytevector? bytevector) (integer? start) (integer? end)) + text?) + (tags pure)) + ((name . text-length) (signature lambda ((text? text)) integer?) (tags pure)) + ((name . text-ref) + (signature lambda ((text? text) (integer? idx)) char?) + (tags pure)) + ((name . textual-length) + (signature lambda ((textual? textual)) integer?) + (tags pure)) + ((name . textual-ref) + (signature lambda ((textual? text) (integer? idx)) char?) + (tags pure)) + ((name . subtext) + (signature lambda ((text? text) (integer? start) (integer? end)) text?) + (tags pure)) + ((name . subtextual) + (signature lambda ((textual? text) (integer? start) (integer? end)) text?) + (tags pure)) + ((name . textual-copy) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-copy) + (signature lambda ((textual? textual) (integer? start)) text?) + (tags pure)) + ((name . textual-copy) + (signature lambda ((textual? textual) (integer? start) (integer? end)) text?) + (tags pure)) + ((name . textual-take) + (signature lambda ((textual? textual) (integer? nchars)) text?) + (tags pure)) + ((name . textual-drop) + (signature lambda ((textual? textual) (integer? nchars)) text?) + (tags pure)) + ((name . textual-take-right) + (signature lambda ((textual? textual) (integer? nchars)) text?) + (tags pure)) + ((name . textual-drop-right) + (signature lambda ((textual? textual) (integer? nchars)) text?) + (tags pure)) + ((name . textual-pad) + (signature lambda ((textual? textual) (integer? len)) text?) + (tags pure)) + ((name . textual-pad) + (signature lambda ((textual? textual) (integer? len) (char? char)) text?) + (tags pure)) + ((name . textual-pad) + (signature + lambda + ((textual? textual) (integer? len) (char? char) (integer? start)) + text?) + (tags pure)) + ((name . textual-pad) + (signature + lambda + ((textual? textual) + (integer? len) + (char? char) + (integer? start) + (integer? end)) + text?) + (tags pure)) + ((name . textual-pad-right) + (signature lambda ((textual? textual) (integer? len)) text?) + (tags pure)) + ((name . textual-pad-right) + (signature lambda ((textual? textual) (integer? len) (char? char)) text?) + (tags pure)) + ((name . textual-pad-right) + (signature + lambda + ((textual? textual) (integer? len) (char? char) (integer? start)) + text?) + (tags pure)) + ((name . textual-pad-right) + (signature + lambda + ((textual? textual) + (integer? len) + (char? char) + (integer? start) + (integer? end)) + text?) + (tags pure)) + ((name . textual-trim) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-trim) + (signature lambda ((textual? textual) (procedure? pred)) text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim-right) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-trim-right) + (signature lambda ((textual? textual) (procedure? pred)) text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim-right) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim-right) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim-both) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-trim-both) + (signature lambda ((textual? textual) (procedure? pred)) text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim-both) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-trim-both) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-replace) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) + text?) + (tags pure)) + ((name . textual-replace) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2)) + text?) + (tags pure)) + ((name . textual-replace) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + text?) + (tags pure)) + ((name . textual=?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual<=?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual>=?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual-ci=?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual-ci?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual-ci<=?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual-ci>=?) + (signature + lambda + ((textual? textual1) (textual? textual2) (textual? textual3) ...) + boolean?) + (tags pure)) + ((name . textual-prefix-length) + (signature lambda ((textual? textual1) (textual? textual2)) integer?) + (tags pure)) + ((name . textual-prefix-length) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1)) + integer?) + (tags pure)) + ((name . textual-prefix-length) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) + integer?) + (tags pure)) + ((name . textual-prefix-length) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2)) + integer?) + (tags pure)) + ((name . textual-prefix-length) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + integer?) + (tags pure)) + ((name . textual-suffix-length) + (signature lambda ((textual? textual1) (textual? textual2)) integer?) + (tags pure)) + ((name . textual-suffix-length) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1)) + integer?) + (tags pure)) + ((name . textual-suffix-length) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) + integer?) + (tags pure)) + ((name . textual-suffix-length) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2)) + integer?) + (tags pure)) + ((name . textual-suffix-length) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + integer?) + (tags pure)) + ((name . textual-prefix?) + (signature lambda ((textual? textual1) (textual? textual2)) boolean?) + (tags pure)) + ((name . textual-prefix?) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1)) + boolean?) + (tags pure)) + ((name . textual-prefix?) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) + boolean?) + (tags pure)) + ((name . textual-prefix?) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2)) + boolean?) + (tags pure)) + ((name . textual-prefix?) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + boolean?) + (tags pure)) + ((name . textual-suffix?) + (signature lambda ((textual? textual1) (textual? textual2)) boolean?) + (tags pure)) + ((name . textual-suffix?) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1)) + boolean?) + (tags pure)) + ((name . textual-suffix?) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) + boolean?) + (tags pure)) + ((name . textual-suffix?) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2)) + boolean?) + (tags pure)) + ((name . textual-suffix?) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + boolean?) + (tags pure)) + ((name . textual-index) + (signature lambda ((textual? textual) (procedure? pred)) (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-index) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-index) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-index-right) + (signature lambda ((textual? textual) (procedure? pred)) (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-index-right) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-index-right) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-skip) + (signature lambda ((textual? textual) (procedure? pred)) (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-skip) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-skip) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-skip-right) + (signature lambda ((textual? textual) (procedure? pred)) (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-skip-right) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-skip-right) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + (or #f integer?)) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-contains) + (signature lambda ((textual? textual1) (textual? textual2)) (or #f integer?)) + (tags pure)) + ((name . textual-contains) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1)) + (or #f integer?)) + (tags pure)) + ((name . textual-contains) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) + (or #f integer?)) + (tags pure)) + ((name . textual-contains) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2)) + (or #f integer?)) + (tags pure)) + ((name . textual-contains) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + (or #f integer?)) + (tags pure)) + ((name . textual-contains-right) + (signature lambda ((textual? textual1) (textual? textual2)) (or #f integer?)) + (tags pure)) + ((name . textual-contains-right) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1)) + (or #f integer?)) + (tags pure)) + ((name . textual-contains-right) + (signature + lambda + ((textual? textual1) (textual? textual2) (integer? start1) (integer? end1)) + (or #f integer?)) + (tags pure)) + ((name . textual-contains-right) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2)) + (or #f integer?)) + (tags pure)) + ((name . textual-contains-right) + (signature + lambda + ((textual? textual1) + (textual? textual2) + (integer? start1) + (integer? end1) + (integer? start2) + (integer? end2)) + (or #f integer?)) + (tags pure)) + ((name . textual-upcase) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-downcase) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-foldcase) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-titlecase) + (signature lambda ((textual? textual)) text?) + (tags pure)) + ((name . textual-append) + (signature lambda ((textual? textual) ...) text?) + (tags pure)) + ((name . textual-concatenate) + (signature lambda ((list? textual-list)) text?) + (tags pure)) + ((name . textual-concatenate-reverse) + (signature lambda ((list? textual-list)) text?) + (tags pure)) + ((name . textual-concatenate-reverse) + (signature lambda ((list? textual-list) (textual? final-textual)) text?) + (tags pure)) + ((name . textual-concatenate-reverse) + (signature + lambda + ((list? textual-list) (textual? final-textual) (integer? end)) + text?) + (tags pure)) + ((name . textual-join) + (signature lambda ((list? textual-list)) text?) + (tags pure)) + ((name . textual-join) + (signature lambda ((list? textual-list) (textual? delimiter)) text?) + (tags pure)) + ((name . textual-join) + (signature + lambda + ((list? textual-list) (textual? delimiter) (symbol? grammar)) + text?) + (tags pure)) + ((name . textual-fold) + (signature lambda ((procedure? kons) knil (textual? textual)) *) + (tags pure) + (subsigs (kons (lambda ((char? char) state) *)))) + ((name . textual-fold) + (signature + lambda + ((procedure? kons) knil (textual? textual) (integer? start)) + *) + (tags pure) + (subsigs (kons (lambda ((char? char) state) *)))) + ((name . textual-fold) + (signature + lambda + ((procedure? kons) knil (textual? textual) (integer? start) (integer? end)) + *) + (tags pure) + (subsigs (kons (lambda ((char? char) state) *)))) + ((name . textual-fold-right) + (signature lambda ((procedure? kons) knil (textual? textual)) *) + (tags pure) + (subsigs (kons (lambda ((char? char) state) *)))) + ((name . textual-fold-right) + (signature + lambda + ((procedure? kons) knil (textual? textual) (integer? start)) + *) + (tags pure) + (subsigs (kons (lambda ((char? char) state) *)))) + ((name . textual-fold-right) + (signature + lambda + ((procedure? kons) knil (textual? textual) (integer? start) (integer? end)) + *) + (tags pure) + (subsigs (kons (lambda ((char? char) state) *)))) + ((name . textual-map) + (signature + lambda + ((procedure? proc) (textual? textual1) (textual? textual2) ...) + text?) + (tags pure) + (subsigs + (proc (lambda ((char? char1) (char? char2) ...) (or textual? char?))))) + ((name . textual-for-each) + (signature + lambda + ((procedure? proc) (textual? textual1) (textual? textual2) ...) + undefined) + (subsigs (proc (lambda ((char? char1) (char? char2) ...) undefined)))) + ((name . textual-map-index) + (signature lambda ((procedure? proc) (textual? textual)) text?) + (tags pure) + (subsigs (proc (lambda ((char? char)) (or textual? char?))))) + ((name . textual-map-index) + (signature + lambda + ((procedure? proc) (textual? textual) (integer? start)) + text?) + (tags pure) + (subsigs (proc (lambda ((char? char)) (or textual? char?))))) + ((name . textual-map-index) + (signature + lambda + ((procedure? proc) (textual? textual) (integer? start) (integer? end)) + text?) + (tags pure) + (subsigs (proc (lambda ((char? char)) (or textual? char?))))) + ((name . textual-for-each-index) + (signature lambda ((procedure? proc) (textual? textual)) undefined) + (subsigs (proc (lambda ((char? char)) undefined)))) + ((name . textual-for-each-index) + (signature + lambda + ((procedure? proc) (textual? textual) (integer? start)) + undefined) + (subsigs (proc (lambda ((char? char)) undefined)))) + ((name . textual-for-each-index) + (signature + lambda + ((procedure? proc) (textual? textual) (integer? start) (integer? end)) + undefined) + (subsigs (proc (lambda ((char? char)) undefined)))) + ((name . textual-count) + (signature lambda ((textual? textual) (procedure? pred)) integer?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-count) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start)) + integer?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-count) + (signature + lambda + ((textual? textual) (procedure? pred) (integer? start) (integer? end)) + integer?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-filter) + (signature lambda ((procedure? pred) (textual? textual)) text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-filter) + (signature + lambda + ((procedure? pred) (textual? textual) (integer? start)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-filter) + (signature + lambda + ((procedure? pred) (textual? textual) (integer? start) (integer? end)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-remove) + (signature lambda ((procedure? pred) (textual? textual)) text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-remove) + (signature + lambda + ((procedure? pred) (textual? textual) (integer? start)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-remove) + (signature + lambda + ((procedure? pred) (textual? textual) (integer? start) (integer? end)) + text?) + (tags pure) + (subsigs (pred (lambda ((char? char)) boolean?)))) + ((name . textual-replicate) + (signature lambda ((textual? textual) (integer? from) (integer? to)) text?) + (tags pure)) + ((name . textual-replicate) + (signature + lambda + ((textual? textual) (integer? from) (integer? to) (integer? start)) + text?) + (tags pure)) + ((name . textual-replicate) + (signature + lambda + ((textual? textual) + (integer? from) + (integer? to) + (integer? start) + (integer? end)) + text?) + (tags pure)) + ((name . textual-split) + (signature lambda ((textual? textual) (textual? delimiter)) list?) + (tags pure)) + ((name . textual-split) + (signature + lambda + ((textual? textual) (textual? delimiter) (symbol? grammar)) + list?) + (tags pure)) + ((name . textual-split) + (signature + lambda + ((textual? textual) (textual? delimiter) (symbol? grammar) (integer? limit)) + list?) + (tags pure)) + ((name . textual-split) + (signature + lambda + ((textual? textual) + (textual? delimiter) + (symbol? grammar) + (integer? limit) + (integer? start)) + list?) + (tags pure)) + ((name . textual-split) + (signature + lambda + ((textual? textual) + (textual? delimiter) + (symbol? grammar) + (integer? limit) + (integer? start) + (integer? end)) + list?) + (tags pure))) diff --git a/types/scheme.time.scm b/types/scheme.time.scm index d632206..40d6776 100644 --- a/types/scheme.time.scm +++ b/types/scheme.time.scm @@ -1,10 +1,3 @@ -( - (current-jiffy - (lambda () integer?)) - - (current-second - (lambda () real?)) - - (jiffies-per-second - (lambda () integer?)) - ) +(((name . current-jiffy) (signature lambda () integer?)) + ((name . current-second) (signature lambda () real?)) + ((name . jiffies-per-second) (signature lambda () integer?))) diff --git a/types/scheme.vector.scm b/types/scheme.vector.scm index c287309..5a6bf2e 100644 --- a/types/scheme.vector.scm +++ b/types/scheme.vector.scm @@ -1,279 +1,260 @@ -( - - (make-vector - (lambda ((integer? k)) vector?) - ()) - - (make-vector - (lambda ((integer? k) fill) vector?) - (pure)) - - (vector - (lambda (obj ...) vector?) - (pure)) - - (vector-unfold - (lambda ((procedure? f) (integer? length) initial-seed ...) vector?) - (pure) - ((f (lambda ((integer? index) seed ...) (values * * ...))))) - - (vector-unfold-right - (lambda ((procedure? f) (integer? length) initial-seed ...) vector?) - (pure) - ((f (lambda ((integer? index) seed ...) (values * * ...))))) - - (vector-copy - (lambda ((vector? vector)) vector?) - (pure)) - - (vector-copy - (lambda ((vector? vector) (integer? start)) vector?) - (pure)) - - (vector-copy - (lambda ((vector? vector) (integer? start) (integer? end)) vector?) - (pure)) - - (vector-reverse-copy - (lambda ((vector? vector)) vector?) - (pure)) - - (vector-reverse-copy - (lambda ((vector? vector) (integer? start)) vector?) - (pure)) - - (vector-reverse-copy - (lambda ((vector? vector) (integer? start) (integer? end)) vector?) - (pure)) - - (vector-append - (lambda ((vector? vector) ...) vector?) - (pure)) - - (vector-concatenate - (lambda ((list? list-of-vectors) ...) vector?) - (pure)) - - (vector-append-subvectors - (lambda ((vector? vec1) (integer? start1) (integer? end1) ...) vector?) - (pure)) - - (vector? - (lambda (obj) boolean?) - (pure predicate)) - - (vector-empty? - (lambda ((vector? vec)) boolean?) - (pure)) - - (vector= - (lambda ((procedure? elt=?) (vector? vec) ...) boolean?) - (pure) - ((elt=? (lambda (a b) boolean?)))) - - (vector-ref - (lambda ((vector? vector) (integer? k)) *) - (pure)) - - (vector-length - (lambda ((vector? vector)) integer?) - (pure)) - - (vector-fold - (lambda ((procedure? kons) knil (vector? vec1) (vector? vec2) ...) *) - (pure) - ((kons (lambda (state obj1 obj2 ...) *)))) - - (vector-fold-right - (lambda ((procedure? kons) knil (vector? vec1) (vector? vec2) ...) *) - (pure) - ((kons (lambda (state obj1 obj2 ...) *)))) - - (vector-map - (lambda ((procedure? proc) (vector? vector1) (vector? vector2) ...) vector?) - (pure) - ((proc (lambda (obj ...) *)))) - - (vector-map! - (lambda ((procedure? proc) (vector? vector1) (vector? vector2) ...) undefined) - () - ((proc (lambda (obj ...) *)))) - - (vector-for-each - (lambda ((procedure? proc) (vector? vector1) (vector? vector2) ...) undefined) - () - ((proc (lambda (obj ...) undefined)))) - - (vector-count - (lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) integer?) - (pure) - ((pred? (lambda (obj1 obj2 ...) *)))) - - (vector-cumulate - (lambda ((procedure? f) knil (vector? vec)) vector?) - (pure) - ((f (lambda (obj1 obj2) *)))) - - (vector-index - (lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) (or integer? #f)) - (pure) - ((pred? (lambda (obj1 obj2 ...) *)))) - - (vector-index-right - (lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) (or integer? #f)) - (pure) - ((pred? (lambda (obj1 obj2 ...) *)))) - - (vector-skip - (lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) (or integer? #f)) - (pure) - ((pred? (lambda (obj1 obj2 ...) *)))) - - (vector-skip-right - (lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) (or integer? #f)) - (pure) - ((pred? (lambda (obj1 obj2 ...) *)))) - - (vector-binary-search - (lambda ((vector? vec) value (procedure? cmp)) (or integer? #f)) - (pure) - ((cmp (lambda (a b) integer?)))) - - (vector-any - (lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) *) - (pure) - ((pred? (lambda (obj1 obj2 ...) *)))) - - (vector-every - (lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) *) - (pure) - ((pred? (lambda (obj1 obj2 ...) *)))) - - (vector-partition - (lambda ((procedure? pred?) (vector? vec) ) (values vector? integer?)) - (pure) - ((pred? (lambda (obj) boolean?)))) - - (vector-set! - (lambda ((vector? vector) (integer? k) obj) undefined) - ()) - - (vector-swap! - (lambda ((vector? vector) (integer? i) (integer? j)) undefined) - ()) - - (vector-fill! - (lambda ((vector? vector) fill) undefined) - ()) - - (vector-fill! - (lambda ((vector? vector) fill (integer? start)) undefined) - ()) - - (vector-fill! - (lambda ((vector? vector) fill (integer? start) (integer? end)) undefined) - ()) - - (vector-reverse! - (lambda ((vector? vector)) undefined) - ()) - - (vector-reverse! - (lambda ((vector? vector) (integer? start)) undefined) - ()) - - (vector-reverse! - (lambda ((vector? vector) (integer? start) (integer? end)) undefined) - ()) - - (vector-copy! - (lambda ((vector? to) (integer? at) (vector? from)) undefined) - ()) - - (vector-copy! - (lambda ((vector? to) (integer? at) (vector? from) (integer? start)) undefined) - ()) - - (vector-copy! - (lambda ((vector? to) (integer? at) (vector? from) (integer? start) (integer? end)) undefined) - ()) - - (vector-reverse-copy! - (lambda ((vector? to) (integer? at) (vector? from)) undefined) - ()) - - (vector-reverse-copy! - (lambda ((vector? to) (integer? at) (vector? from) (integer? start)) undefined) - ()) - - (vector-reverse-copy! - (lambda ((vector? to) (integer? at) (vector? from) (integer? start) (integer? end)) undefined) - ()) - - (vector-unfold! - (lambda ((procedure? f) (vector? vec) (integer? start) (integer? end) initial-seed ...) undefined) - () - ((f (lambda ((integer? index) seed ...) (values * * ...))))) - - (vector-unfold-right! - (lambda ((procedure? f) (vector? vec) (integer? start) (integer? end) initial-seed ...) undefined) - () - ((f (lambda ((integer? index) seed ...) (values * * ...))))) - - (vector->list - (lambda ((vector? vector)) list?) - (pure)) - - (vector->list - (lambda ((vector? vector) (integer? start)) list?) - (pure)) - - (vector->list - (lambda ((vector? vector) (integer? start) (integer? end)) list?) - (pure)) - - (reverse-vector->list - (lambda ((vector? vector)) list?) - (pure)) - - (reverse-vector->list - (lambda ((vector? vector) (integer? start)) list?) - (pure)) - - (reverse-vector->list - (lambda ((vector? vector) (integer? start) (integer? end)) list?) - (pure)) - - (list->vector - (lambda ((list? list)) vector?) - (pure)) - - (reverse-list->vector - (lambda ((list? list)) vector?) - (pure)) - - (string->vector - (lambda ((string? string)) vector?) - (pure)) - - (string->vector - (lambda ((string? string) (integer? start)) vector?) - (pure)) - - (string->vector - (lambda ((string? string) (integer? start) (integer? end)) vector?) - (pure)) - - (vector->string - (lambda ((vector? vector)) string?) - (pure)) - - (vector->string - (lambda ((vector? vector) (integer? start)) string?) - (pure)) - - (vector->string - (lambda ((vector? vector) (integer? start) (integer? end)) string?) - (pure)) - - ) +(((name . make-vector) (signature lambda ((integer? k)) vector?)) + ((name . make-vector) + (signature lambda ((integer? k) fill) vector?) + (tags pure)) + ((name . vector) (signature lambda (obj ...) vector?) (tags pure)) + ((name . vector-unfold) + (signature + lambda + ((procedure? f) (integer? length) initial-seed ...) + vector?) + (tags pure) + (subsigs (f (lambda ((integer? index) seed ...) (values * * ...))))) + ((name . vector-unfold-right) + (signature + lambda + ((procedure? f) (integer? length) initial-seed ...) + vector?) + (tags pure) + (subsigs (f (lambda ((integer? index) seed ...) (values * * ...))))) + ((name . vector-copy) + (signature lambda ((vector? vector)) vector?) + (tags pure)) + ((name . vector-copy) + (signature lambda ((vector? vector) (integer? start)) vector?) + (tags pure)) + ((name . vector-copy) + (signature lambda ((vector? vector) (integer? start) (integer? end)) vector?) + (tags pure)) + ((name . vector-reverse-copy) + (signature lambda ((vector? vector)) vector?) + (tags pure)) + ((name . vector-reverse-copy) + (signature lambda ((vector? vector) (integer? start)) vector?) + (tags pure)) + ((name . vector-reverse-copy) + (signature lambda ((vector? vector) (integer? start) (integer? end)) vector?) + (tags pure)) + ((name . vector-append) + (signature lambda ((vector? vector) ...) vector?) + (tags pure)) + ((name . vector-concatenate) + (signature lambda ((list? list-of-vectors) ...) vector?) + (tags pure)) + ((name . vector-append-subvectors) + (signature + lambda + ((vector? vec1) (integer? start1) (integer? end1) ...) + vector?) + (tags pure)) + ((name . vector?) (signature lambda (obj) boolean?) (tags pure predicate)) + ((name . vector-empty?) + (signature lambda ((vector? vec)) boolean?) + (tags pure)) + ((name . vector=) + (signature lambda ((procedure? elt=?) (vector? vec) ...) boolean?) + (tags pure) + (subsigs (elt=? (lambda (a b) boolean?)))) + ((name . vector-ref) + (signature lambda ((vector? vector) (integer? k)) *) + (tags pure)) + ((name . vector-length) + (signature lambda ((vector? vector)) integer?) + (tags pure)) + ((name . vector-fold) + (signature + lambda + ((procedure? kons) knil (vector? vec1) (vector? vec2) ...) + *) + (tags pure) + (subsigs (kons (lambda (state obj1 obj2 ...) *)))) + ((name . vector-fold-right) + (signature + lambda + ((procedure? kons) knil (vector? vec1) (vector? vec2) ...) + *) + (tags pure) + (subsigs (kons (lambda (state obj1 obj2 ...) *)))) + ((name . vector-map) + (signature + lambda + ((procedure? proc) (vector? vector1) (vector? vector2) ...) + vector?) + (tags pure) + (subsigs (proc (lambda (obj ...) *)))) + ((name . vector-map!) + (signature + lambda + ((procedure? proc) (vector? vector1) (vector? vector2) ...) + undefined) + (subsigs (proc (lambda (obj ...) *)))) + ((name . vector-for-each) + (signature + lambda + ((procedure? proc) (vector? vector1) (vector? vector2) ...) + undefined) + (subsigs (proc (lambda (obj ...) undefined)))) + ((name . vector-count) + (signature + lambda + ((procedure? pred?) (vector? vec1) (vector? vec2) ...) + integer?) + (tags pure) + (subsigs (pred? (lambda (obj1 obj2 ...) *)))) + ((name . vector-cumulate) + (signature lambda ((procedure? f) knil (vector? vec)) vector?) + (tags pure) + (subsigs (f (lambda (obj1 obj2) *)))) + ((name . vector-index) + (signature + lambda + ((procedure? pred?) (vector? vec1) (vector? vec2) ...) + (or integer? #f)) + (tags pure) + (subsigs (pred? (lambda (obj1 obj2 ...) *)))) + ((name . vector-index-right) + (signature + lambda + ((procedure? pred?) (vector? vec1) (vector? vec2) ...) + (or integer? #f)) + (tags pure) + (subsigs (pred? (lambda (obj1 obj2 ...) *)))) + ((name . vector-skip) + (signature + lambda + ((procedure? pred?) (vector? vec1) (vector? vec2) ...) + (or integer? #f)) + (tags pure) + (subsigs (pred? (lambda (obj1 obj2 ...) *)))) + ((name . vector-skip-right) + (signature + lambda + ((procedure? pred?) (vector? vec1) (vector? vec2) ...) + (or integer? #f)) + (tags pure) + (subsigs (pred? (lambda (obj1 obj2 ...) *)))) + ((name . vector-binary-search) + (signature lambda ((vector? vec) value (procedure? cmp)) (or integer? #f)) + (tags pure) + (subsigs (cmp (lambda (a b) integer?)))) + ((name . vector-any) + (signature lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) *) + (tags pure) + (subsigs (pred? (lambda (obj1 obj2 ...) *)))) + ((name . vector-every) + (signature lambda ((procedure? pred?) (vector? vec1) (vector? vec2) ...) *) + (tags pure) + (subsigs (pred? (lambda (obj1 obj2 ...) *)))) + ((name . vector-partition) + (signature + lambda + ((procedure? pred?) (vector? vec)) + (values vector? integer?)) + (tags pure) + (subsigs (pred? (lambda (obj) boolean?)))) + ((name . vector-set!) + (signature lambda ((vector? vector) (integer? k) obj) undefined)) + ((name . vector-swap!) + (signature lambda ((vector? vector) (integer? i) (integer? j)) undefined)) + ((name . vector-fill!) (signature lambda ((vector? vector) fill) undefined)) + ((name . vector-fill!) + (signature lambda ((vector? vector) fill (integer? start)) undefined)) + ((name . vector-fill!) + (signature + lambda + ((vector? vector) fill (integer? start) (integer? end)) + undefined)) + ((name . vector-reverse!) (signature lambda ((vector? vector)) undefined)) + ((name . vector-reverse!) + (signature lambda ((vector? vector) (integer? start)) undefined)) + ((name . vector-reverse!) + (signature + lambda + ((vector? vector) (integer? start) (integer? end)) + undefined)) + ((name . vector-copy!) + (signature lambda ((vector? to) (integer? at) (vector? from)) undefined)) + ((name . vector-copy!) + (signature + lambda + ((vector? to) (integer? at) (vector? from) (integer? start)) + undefined)) + ((name . vector-copy!) + (signature + lambda + ((vector? to) (integer? at) (vector? from) (integer? start) (integer? end)) + undefined)) + ((name . vector-reverse-copy!) + (signature lambda ((vector? to) (integer? at) (vector? from)) undefined)) + ((name . vector-reverse-copy!) + (signature + lambda + ((vector? to) (integer? at) (vector? from) (integer? start)) + undefined)) + ((name . vector-reverse-copy!) + (signature + lambda + ((vector? to) (integer? at) (vector? from) (integer? start) (integer? end)) + undefined)) + ((name . vector-unfold!) + (signature + lambda + ((procedure? f) + (vector? vec) + (integer? start) + (integer? end) + initial-seed + ...) + undefined) + (subsigs (f (lambda ((integer? index) seed ...) (values * * ...))))) + ((name . vector-unfold-right!) + (signature + lambda + ((procedure? f) + (vector? vec) + (integer? start) + (integer? end) + initial-seed + ...) + undefined) + (subsigs (f (lambda ((integer? index) seed ...) (values * * ...))))) + ((name . vector->list) + (signature lambda ((vector? vector)) list?) + (tags pure)) + ((name . vector->list) + (signature lambda ((vector? vector) (integer? start)) list?) + (tags pure)) + ((name . vector->list) + (signature lambda ((vector? vector) (integer? start) (integer? end)) list?) + (tags pure)) + ((name . reverse-vector->list) + (signature lambda ((vector? vector)) list?) + (tags pure)) + ((name . reverse-vector->list) + (signature lambda ((vector? vector) (integer? start)) list?) + (tags pure)) + ((name . reverse-vector->list) + (signature lambda ((vector? vector) (integer? start) (integer? end)) list?) + (tags pure)) + ((name . list->vector) (signature lambda ((list? list)) vector?) (tags pure)) + ((name . reverse-list->vector) + (signature lambda ((list? list)) vector?) + (tags pure)) + ((name . string->vector) + (signature lambda ((string? string)) vector?) + (tags pure)) + ((name . string->vector) + (signature lambda ((string? string) (integer? start)) vector?) + (tags pure)) + ((name . string->vector) + (signature lambda ((string? string) (integer? start) (integer? end)) vector?) + (tags pure)) + ((name . vector->string) + (signature lambda ((vector? vector)) string?) + (tags pure)) + ((name . vector->string) + (signature lambda ((vector? vector) (integer? start)) string?) + (tags pure)) + ((name . vector->string) + (signature lambda ((vector? vector) (integer? start) (integer? end)) string?) + (tags pure))) diff --git a/types/scheme.write.scm b/types/scheme.write.scm index 180c3c7..4dd789d 100644 --- a/types/scheme.write.scm +++ b/types/scheme.write.scm @@ -1,30 +1,13 @@ -( - (display - (lambda (obj) undefined) - (parameterized)) - - (display - (lambda (obj (output-port? port)) undefined)) - - (write - (lambda (obj) undefined) - (parameterized)) - - (write - (lambda (obj (output-port? port)) undefined)) - - (write-shared - (lambda (obj) undefined) - (parameterized)) - - (write-shared - (lambda (obj (output-port? port)) undefined)) - - (write-simple - (lambda (obj) undefined) - (parameterized)) - - (write-simple - (lambda (obj (output-port? port)) undefined)) - - ) +(((name . display) (signature lambda (obj) undefined) (tags parameterized)) + ((name . display) (signature lambda (obj (output-port? port)) undefined)) + ((name . write) (signature lambda (obj) undefined) (tags parameterized)) + ((name . write) (signature lambda (obj (output-port? port)) undefined)) + ((name . write-shared) + (signature lambda (obj) undefined) + (tags parameterized)) + ((name . write-shared) (signature lambda (obj (output-port? port)) undefined)) + ((name . write-simple) + (signature lambda (obj) undefined) + (tags parameterized)) + ((name . write-simple) + (signature lambda (obj (output-port? port)) undefined)))