Generics

The :std/generic library provides support for generic methods.

usage

(import :std/generic)

Overview

Please write me!

Macros

defgeneric

(defgeneric ...)

Please document me!

defmethod

(defmethod ...)

Please document me!

defbuiltin-type

(defbuiltin-type ...)

Please document me!

defprimitive-type

(defprimitive-type ...)

Please document me!

Predefined Types

<bignum>

(defprimitive-type <bignum> ...)

Please document me!

<boolean>

(defprimitive-type <boolean> ...)

Please document me!

<box>

(defprimitive-type <box> ...)

Please document me!

<byte-port>

(defbuiltin-type <byte-port> ...)

Please document me!

<char>

(defprimitive-type <char> ...)

Please document me!

<character-port>

(defbuiltin-type <character-port> ...)

Please document me!

<complex>

(defprimitive-type <complex> ...)

Please document me!

<condvar>

(defbuiltin-type <condvar> ...)

Please document me!

<continuation>

(defprimitive-type <continuation> ...)

Please document me!

<device-port>

(defbuiltin-type <device-port> ...)

Please document me!

<directory-port>

(defbuiltin-type <directory-port> ...)

Please document me!

<eof>

(defprimitive-type <eof> ...)

Please document me!

<event-queue-port>

(defbuiltin-type <event-queue-port> ...)

Please document me!

<exception>

(defbuiltin-type <exception> ...)

Please document me!

<f32vector>

(defprimitive-type <f32vector> ...)

Please document me!

<f64vector>

(defprimitive-type <f64vector> ...)

Please document me!

<fixnum>

(defprimitive-type <fixnum> ...)

Please document me!

<flonum>

(defprimitive-type <flonum> ...)

Please document me!

<foreign>

(defprimitive-type <foreign> ...)

Please document me!

<hash-table>

(defprimitive-type <hash-table> ...)

Please document me!

<integer>

(defprimitive-type <integer> ...)

Please document me!

<keyword>

(defprimitive-type <keyword> ...)

Please document me!

<mutex>

(defbuiltin-type <mutex> ...)

Please document me!

<null>

(defprimitive-type <null> ...)

Please document me!

<number>

(defprimitive-type <number> ...)

Please document me!

<object-port>

(defbuiltin-type <object-port> ...)

Please document me!

<object>

(defprimitive-type <object> ...)

Please document me!

<pair>

(defprimitive-type <pair> ...)

Please document me!

<port>

(defbuiltin-type <port> ...)

Please document me!

<procedure>

(defprimitive-type <procedure> ...)

Please document me!

<promise>

(defprimitive-type <promise> ...)

Please document me!

<rational>

(defprimitive-type <rational> ...)

Please document me!

<raw-device-port>

(defbuiltin-type <raw-device-port> ...)

Please document me!

<readtable>

(defbuiltin-type <readtable> ...)

Please document me!

<real>

(defprimitive-type <real> ...)

Please document me!

<s16vector>

(defprimitive-type <s16vector> ...)

Please document me!

<s32vector>

(defprimitive-type <s32vector> ...)

Please document me!

<s64vector>

(defprimitive-type <s64vector> ...)

Please document me!

<s8vector>

(defprimitive-type <s8vector> ...)

Please document me!

<string-port>

(defbuiltin-type <string-port> ...)

Please document me!

<string>

(defprimitive-type <string> ...)

Please document me!

<symbol>

(defprimitive-type <symbol> ...)

Please document me!

<t>

(defprimitive-type <t> ...)

Please document me!

<tcp-server-port>

(defbuiltin-type <tcp-server-port> ...)

Please document me!

<thread-group>

(defbuiltin-type <thread-group> ...)

Please document me!

<thread>

(defbuiltin-type <thread> ...)

Please document me!

<time>

(defbuiltin-type <time> ...)

Please document me!

<type>

(defbuiltin-type <type> ...)

Please document me!

<u16vector>

(defprimitive-type <u16vector> ...)

Please document me!

<u32vector>

(defprimitive-type <u32vector> ...)

Please document me!

<u64vector>

(defprimitive-type <u64vector> ...)

Please document me!

<u8vector-port>

(defbuiltin-type <u8vector-port> ...)

Please document me!

<u8vector>

(defprimitive-type <u8vector> ...)

Please document me!

<values>

(defprimitive-type <values> ...)

Please document me!

<vector-port>

(defbuiltin-type <vector-port> ...)

Please document me!

<vector>

(defprimitive-type <vector> ...)

Please document me!

<void>

(defbuiltin-type <void> ...)

Please document me!

Generic Object Types

type-of

(type-of ...)

Please document me!

linear-type-of

(linear-type-of ...)

Please document me!

type-linearize-class

(type-linearize-class ...)

Please document me!

Generic Method Objects

make-generic

(make-generic ...)

Please document me!

generic?

(generic? ...)

Please document me!

generic-id

(generic-id ...)

Please document me!

generic-bind!

(generic-bind! ...)

Please document me!

generic-dispatch

(generic-dispatch ...)

Please document me!

generic-dispatch-next

(generic-dispatch-next ...)

Please document me!

Syntax Bindings

generic-info

(defclass (generic-info macro-object) (table procedure))

Please document me!

generic-type-info

(defclass generic-type-info ())

Please document me!

primitive-type-info

(defclass (primitive-type-info generic-type-info) (type))

Please document me!

builtin-type-info

(defclass (builtin-type-info generic-type-info) (runtime-identifier))

Please document me!

Example

Please write me!