cyclone/docs/API.md
2016-10-01 16:28:06 -04:00

35 KiB

cyclone-scheme

API Documentation

R7RS Libraries

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

SRFI Library Support

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 Compiler API

These libraries are used by the Cyclone compiler itself and could change in the future:

Index

*Cyc-version-banner* *af-inet* *af-inet6* *af-unspec* *ai-addrconfig* *ai-all* *ai-canonname* *ai-numerichost* *ai-v4mapped* *c-file-header-comment* *ipproto-ip* *ipproto-tcp* *ipproto-udp* *msg-oob* *msg-peek* *msg-waitall* *primitives* *primitives-num-args* *shut-rd* *shut-rdwr* *shut-wr* *sock-dgram* *sock-stream* *version* *version-banner* *version-name* *version-number*


->heap


Cyc-minor-gc


abs acos adb:clear! adb:function? adb:get-db adb:get/default adb:get adb:make-fnc adb:make-var adb:set! adb:variable? adbf:set-simple! adbf:set-unused-params! adbf:simple adbf:unused-params adbv:assigned-value adbv:const-value adbv:const? 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->hash-table alist-cons alist-copy alist-delete! alist-delete analyze-cps and-let* and angle any any append! append-map! append-map append-reverse! append-reverse append asin assoc assq assv ast:%make-lambda ast:lambda-args ast:lambda-body ast:lambda-id ast:lambda? ast:make-lambda ast:set-lambda-args! ast:set-lambda-body! atan


begin boolean=? box? box break! break bytevector-copy! bytevector-copy


caaaar caaadr caaar caadar caaddr caadr cadaar cadadr cadar caddar cadddr caddr call-with-current-continuation call-with-input-file call-with-output-file call-with-port call-with-socket call-with-values call/cc car+cdr case-lambda case cdaaar cdaadr cdaar cdadar cdaddr cdadr cddaar cddadr cddar cdddar cddddr cdddr ceiling char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-foldcase char-lower-case? char-numeric? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? circular-list? circular-list command-line complex? concatenate! concatenate cond-expand cond condition-variable-broadcast! condition-variable-signal! condition-variable-wait! condition-variable? cons* cos count 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-reporter current-test-group current-test-handler current-test-skipper current-test-verbosity


default-random-source define-record-type define-syntax? delay-force delay delete! delete-duplicates! delete-duplicates delete denominator digit-value display do dotted-list? drop-right! drop-right drop-while drop dynamic-wind


eighth emergency-exit emit* emit-newline emit emits* emits eof-object error eval even? every every exact-integer? exact? exact exp expt


features fifth filter! filter-map filter find-tail find finite? first floor-quotient floor-remainder floor-remainder floor/ floor flush-output-port fold-right fold foldl foldr for-each force fourth


gcd get-environment-variable get-environment-variables get-output-bytevector get-output-string guard


hash-by-identity hash-table->alist 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/default hash-table-ref hash-table-set! hash-table-size hash-table-update!/default hash-table-update! hash-table-values hash-table-walk hash-table? hash


imag-part inexact? inexact infinite? input-port-open? input-port? iota ip-protocol


jiffies-per-second


last-pair last lcm length+ let*-values let* let-values let letrec* letrec lib:body lib:exports lib:get-all-import-deps lib:get-all lib:get-dep-list lib:idb:id->import lib:idb:ids lib:import->export-list lib:import->filename lib:import->metalist lib:import->path lib:imports->idb lib:imports lib:include-c-headers lib:includes lib:list->import-set lib:name->string lib:name->symbol lib:name lib:read-imports lib:rename-exports lib:resolve-imports lib:resolve-meta lib:result library? list-copy list-copy list-delete-neighbor-dups! list-delete-neighbor-dups list-index list-merge! list-merge list-queue-add-back! list-queue-add-front! 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-right list-queue-unfold list-queue? list-queue list-ref list-set! list-sort! list-sort list-sorted? list-stable-sort! list-stable-sort list-tabulate list-tail list= list? list load log lset-adjoin lset-diff+intersection lset-difference! lset-difference lset-intersection! lset-intersection lset-union! lset-union lset-xor! lset-xor lset<= lset=


macro:add! macro:cleanup macro:expand macro:get-defined-macros macro:get-env macro:load-env! macro:macro? magnitude make-client-socket make-condition-variable make-constructor make-getter make-hash-table make-list-queue make-list make-list 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 map! map-in-order map max member memq memv message-type min modulo mta:code-gen mutex-lock! mutex-unlock! mutex?


nan? negative? newline ninth not-pair? not null-list? numerator


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


pair-fold-right pair-fold pair-for-each parameterize partition! partition positive? pretty-print prim->c-func prim-call? prim/c-var-assign prim/cvar? prim/data-arg? prim:allocates-object?) prim:arg-count? prim:check-arg-count prim:cont/no-args? prim:cont? prim:mutates? prim? print-exception promise? proper-list?


quasiquote quotient


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


second set-box! setup-environment seventh shutdown-method simple-lambda? sin sixth slot-set! socket-accept socket-close socket-domain socket-input-port socket-merge-flags socket-output-port socket-purge-flags socket-recv socket-send socket-shutdown socket? span! span split-at! split-at sqrt square string->list string->utf8 string->vector string-ci-hash string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy! string-copy string-downcase string-fill! string-foldcase string-for-each string-hash string-join string-map string-upcase string<=? string<? string=? string>=? string>? string symbol=? syntax-error


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


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


values vector->list vector->string vector-any vector-append-subvectors vector-append 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-right vector-fold vector-for-each vector-index-right vector-index vector-map! vector-map vector-merge! vector-merge vector-partition vector-reverse! vector-reverse-copy! vector-reverse-copy vector-skip-right vector-skip vector-sort! vector-sort vector-sorted? vector-stable-sort! vector-stable-sort vector-swap! vector-unfold! vector-unfold-right! vector-unfold-right vector-unfold vector= vector


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


xcons


zero? zip