cyclone/docs/API.md
2016-10-11 20:21:07 -04:00

50 KiB

cyclone-scheme

API Documentation

Standard Libraries

This section of the Cyclone API is based on the R7RS Scheme Specification:

SRFI Libraries

Cyclone supports the following Scheme Requests for Implementation (SRFI) libraries. Detailed information is available in the linked SRFI page as well as the provided Cyclone API:

Cyclone Libraries

These libraries are provided by Cyclone with a stable API that is unlikely to change.

Cyclone Compiler API

These libraries are used by the Cyclone compiler. Some of these are stable and unlikely to change, whereas others could change as the compiler evolves.

Index

This section is an alphabetic listing of all the functions, objects, and macros provided by the previous libraries.


abs acos adb:clear! adbf:set-simple! adbf:set-unused-params! adbf:simple adb:function? adbf:unused-params adb:get adb:get-db adb:get/default adb:make-fnc adb:make-var adb:set! adb:variable? adbv:assigned-value adbv:const? adbv:const-value adbv:defined-by adbv:global? adbv:reassigned? adbv:ref-by adbv:set-assigned-value! adbv:set-const! adbv:set-const-value! adbv:set-defined-by! adbv:set-global! adbv:set-reassigned! adbv:set-ref-by! address-family address-info alist-cons alist-copy alist-delete alist-delete! alist->hash-table alpha-convert analyze-cps analyze-mutable-variables and and-let* angle any any app? app->args append append! append-map append-map! append-reverse append-reverse! app->fun apply asin assoc assq assq-remove-key assq-remove-keys assv ast:lambda? ast:lambda-args ast:lambda-body ast:lambda-formals->list ast:lambda-formals-type ast:lambda-id ast:make-lambda ast:%make-lambda ast:set-lambda-args! ast:set-lambda-body! atan azip


%adb:make-fnc %adb:make-var


*af-inet6* *af-inet* *af-unspec* *ai-addrconfig* *ai-all* *ai-canonname* *ai-numerichost* *ai-v4mapped*


-


*


+


/


< <=


=


> >=


basename begin begin? begin->exps boolean? boolean=? box box? break break! built-in-syms bytevector bytevector? bytevector-append bytevector-copy bytevector-copy! bytevector-length bytevector-u8-ref bytevector-u8-set!


caaaar caaadr caaar caadar caaddr caadr caar cadaar cadadr cadar caddar cadddr caddr cadr call/cc call-with-current-continuation call-with-input-file call-with-output-file call-with-port call-with-socket call-with-values car car+cdr case case-lambda cdaaar cdaadr cdaar cdadar cdaddr cdadr cdar cddaar cddadr cddar cdddar cddddr cdddr cddr cdr ceiling cell? cell-get? cell-get->cell cell->value char-alphabetic? char? char<=? char<? char=? char>=? char>? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-foldcase char->integer char-lower-case? char-numeric? char-upcase char-upper-case? char-whitespace? circular-list? circular-list clear-mutables close-input-port close-output-port close-port closure? closure-convert closure->env closure->fv closure->lam command-line command-line-arguments complex? concatenate concatenate! cond cond-expand condition-variable? condition-variable-broadcast! condition-variable-signal! condition-variable-wait! cons cons* const? cos count cps-convert create-environment current-error-port current-input-port current-jiffy current-output-port current-second current-test-applier current-test-comparator current-test-epsilon current-test-group current-test-group-reporter current-test-handler current-test-skipper current-test-verbosity


Cyc-er-compare? Cyc-er-rename


cyc:error


Cyc-minor-gc


*c-file-header-comment* *Cyc-version-banner*


default-random-source define? define-c? define->exp define->lambda define-lambda? define-record-type define-syntax? define->var delay delay-force delete delete delete! delete-duplicates delete-duplicates delete-duplicates! delete-file denominator difference digit-value display do dotted-list? drop drop-right drop-right! drop-while dynamic-wind


*defined-macros* *do-code-gen*


eighth emergency-exit emit emit* emit-newline emits emits* env:add-binding-to-frame! env:all-values env:all-variables env:define-variable! env:enclosing-environment env:extend-environment env:first-frame env:frame-values env:frame-variables env-get? env-get->env env-get->field env-get->id env:lookup env:_lookup-variable-value env:lookup-variable-value env-make? env-make->fields env:make-frame env-make->id env-make->values env:set-variable-value! env:the-empty-environment eof-object? eof-object eq? equal? eqv? error error eval even? every every exact exact? exact-integer? exit expand expand-lambda-body exp expt


features fifth file-exists? filter filter filter! filter-map filter-unused-variables find find-tail finite? first flatten floor floor/ floor-quotient floor-remainder floor-remainder flush-output-port fold foldl foldr fold-right force for-each formals->list fourth free-vars


gcd gensym get-environment-variable get-environment-variables get-macros get-output-bytevector get-output-string global-vars guard


->heap


has-global? hash hash-by-identity hash-table->alist hash-table? hash-table-copy hash-table-delete! hash-table-equivalence-function hash-table-exists? hash-table-fold hash-table-hash-function hash-table-keys hash-table-merge! hash-table-ref hash-table-ref/default hash-table-set! hash-table-size hash-table-update! hash-table-update!/default hash-table-values hash-table-walk


identifier=? identifier? identifier->symbol if? if->condition if->else if-else? if->then imag-part inexact inexact? infinite? input-port? input-port-open? insert integer? integer->char iota ip-protocol is-mutable? isolate-globals


*ipproto-ip* *ipproto-tcp* *ipproto-udp*


jiffies-per-second


lambda? lambda->exp lambda->formals lambda-formals->list lambda-formals-type lambda-num-args lambda-varargs? lambda-varargs-var last last-pair lcm length length+ length/obj let let* let? let->args let->bindings let->bound-vars let->exp let=>lambda letrec letrec* letrec? letrec->args letrec->bindings letrec->bound-vars letrec->exp let*-values let-values lib:body lib:exports lib:get-all lib:get-all-import-deps lib:get-dep-list lib:idb:ids lib:import->export-list lib:import->filename lib:import->metalist lib:import->path lib:imports lib:imports->idb lib:include-c-headers lib:includes lib:list->import-set lib:name lib:name->string lib:name->symbol library? lib:read-imports lib:rename-exports lib:resolve-imports lib:resolve-meta lib:result list list? list= list-copy list-copy list-delete-neighbor-dups list-delete-neighbor-dups! list-index2 list-index list-index list-insert-at! list->lambda-formals list-merge list-merge! list->pair list-prefix? list-queue-add-back! list-queue-add-front! list-queue list-queue? list-queue-append list-queue-append list-queue-append! list-queue-append! list-queue-back list-queue-concatenate list-queue-concatenate list-queue-copy list-queue-empty? list-queue-first-last list-queue-for-each list-queue-front list-queue-list list-queue-map list-queue-map! list-queue-remove-all! list-queue-remove-back! list-queue-remove-front! list-queue-set-list! list-queue-unfold list-queue-unfold-right list-ref list-set! list-sort list-sort! list-sorted? list-stable-sort list-stable-sort! list->string list-tabulate list-tail list->vector load log lset-adjoin lset<= lset= lset-difference lset-difference! lset-diff+intersection lset-intersection lset-intersection! lset-union lset-union! lset-xor lset-xor!


macro:add! macro:cleanup macro:expand macro:get-defined-macros macro:get-env macro:load-env! macro:macro? magnitude make-bytevector make-client-socket make-condition-variable make-constructor make-getter make-hash-table make-list make-list make-list-queue make-mutex make-parameter make-polar make-promise make-random-source make-rectangular make-server-socket make-setter make-string make-thread make-type-predicate make-vector mangle mangle-global map map! map-in-order mark-mutable max member memq memv message-type min modulo mta:code-gen mutex? mutex-lock! mutex-unlock!


*msg-oob* *msg-peek* *msg-waitall*


nan? negative? newline ninth not not-pair? null? null-list? number? number->string numerator


odd? one-instance-of-new-mutable-obj? open-input-bytevector open-input-file open-input-string open-output-bytevector open-output-file open-output-string opt:contract optimize-cps opt:inline-prims or output-port? output-port-open?


pack-lambda-arguments pair? pair-fold pair-fold-right pair-for-each pair->list parameterize partition partition! peek-char port? pos-in-list positive? precompute-prim-app? pretty-print prim:allocates-object?) prim? prim:arg-count? prim-call? prim->c-func prim:check-arg-count prim:cont? prim:cont/no-args? prim/cvar? prim/c-var-assign prim/data-arg? prim:mutates? print-exception procedure? promise? proper-list?


*primitives* *primitives* *primitives-num-args*


quasiquote quote? quotient


raise raise-continuable random-integer random-real random-source? random-source-make-integers random-source-make-reals random-source-pseudo-randomize! random-source-randomize! random-source-state-ref random-source-state-set! rational? read-all read read-char read-line read-string real? real-part receive record? reduce reduce reduce-right ref? remainder remove remove remove! reverse reverse! reverse-list->vector reverse-vector->list round


*shut-rd* *shut-rdwr* *shut-wr* *sock-dgram* *sock-stream*


second set!? set-box! set-car! set-cdr! set-cell!? set-cell!->cell set-cell!->value set!->exp setup-environment set!->var seventh shutdown-method simple-lambda? sin sixth slot-set! socket-accept socket? socket-close socket-domain socket-input-port socket-merge-flags socket-output-port socket-purge-flags socket-recv socket-send socket-shutdown span span! split-at split-at! sqrt square string? string string<=? string<? string=? string>=? string>? string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-ci-hash string-cmp string-copy string-copy! string-downcase string-fill! string-foldcase string-for-each string-hash string-join string-length string->list string-map string->number string-ref string-replace-all string-set! string->symbol string-upcase string->utf8 string->vector substring symbol? symbol=? symbol<? symbol->string syntax-error system


*trace-level*


tagged-list? take take take! take-right take-while take-while! tan tenth test test-assert test-begin test-end test-equal test-error test-exit test-failure-count test-group test-group-inc! test-not test-propagate-info test-run test-syntax-error test-values test-vars third thread? thread-name thread-sleep! thread-specific thread-specific-set! thread-start! thread-terminate! thread-yield! trace trace:debug trace:error trace:info trace:warn tree-copy truncate truncate/ truncate-quotient truncate-remainder type-slot-offset


unbox unfold unfold-right union unless unzip1 unzip2 unzip3 unzip4 unzip5 utf8->string


*version* *version-banner* *version-name* *version-number*


values vector-any vector? vector vector= vector-append vector-append-subvectors vector-binary-search vector-concatenate vector-copy vector-copy! vector-count vector-cumulate vector-delete-neighbor-dups vector-delete-neighbor-dups! vector-empty? vector-every vector-fill! vector-fold vector-fold-right vector-for-each vector-index vector-index-right vector-length vector->list vector-map vector-map! vector-merge vector-merge! vector-partition vector-ref vector-reverse! vector-reverse-copy vector-reverse-copy! vector-set! vector-skip vector-skip-right vector-sort vector-sort! vector-sorted? vector-stable-sort vector-stable-sort! vector->string vector-swap! vector-unfold vector-unfold! vector-unfold-right vector-unfold-right!


warning when with-exception-handler with-input-from-file with-output-to-file wrap-mutables write write-char write-shared write-simple write-string


xcons


zero? zip