slide-easy
1 Data Abstraction
install
attach
apply-generic
coerce
->pict
tag?
tag
type
make-type
ref
sub
depth
has-tag?
type=?
current
super
root?
has-prefix?
2 Configuring the Slide Function
config
3 Notes
8.17.0.6

slide-easy🔗ℹ

hin

 (require slide-easy) package: slide-easy

You may use this package with
#lang s-exp slide-easy

You can also use it directly to do a lot of heavy lifting, like creating templates.

1 Data Abstraction🔗ℹ

procedure

(install type contract coerce method ...)  any

  type : any/c
  contract : contract?
  coerce : (-> any/c any/c)
  method : (cons/c tag? any/c)

procedure

(attach type method ...)  any

  type : any/c
  method : (cons/c tag? any/c)

procedure

(apply-generic operator object argument ...)  any

  operator : tag?
  object : any/c
  argument : any/c

procedure

(coerce object dest)  any

  object : any/c
  dest : (or/c #f tag?)

procedure

(->pict object)  pict?

  object : any/c

procedure

(tag? v)  boolean?

  v : any/c

procedure

(tag type content)  any/c

  type : any/c
  content : any/c

procedure

(type object)  any/c

  object : any/c

procedure

(make-type tag-or-type ...)  any/c

  tag-or-type : any/c

procedure

(ref type index)  tag?

  type : any/c
  index : exact-nonnegative-integer?

procedure

(sub type start end)  any/c

  type : any/c
  start : exact-nonnegative-integer?
  end : exact-nonnegative-integer?

procedure

(depth type)  exact-nonnegative-integer?

  type : any/c

procedure

(has-tag? type tag)  boolean?

  type : any/c
  tag : tag?

procedure

(type=? type1 type2)  boolean?

  type1 : any/c
  type2 : any/c

procedure

(current type)  tag?

  type : any/c

procedure

(super type)  any/c

  type : any/c

procedure

(root? type)  boolean?

  type : any/c

procedure

(has-prefix? type prefix)  boolean?

  type : any/c
  prefix : any/c

2 Configuring the Slide Function🔗ℹ

syntax

(config (argument ...) body ...)

arguments are passed to slide each time it is called in body. If there is no body, these arguments will be stored into a parameter and used later.

3 Notes🔗ℹ

  • install, attach, apply-generic, coerce, ->pict and tag use an internal hash table, which is not thread-safe.

  • #%app is overridden to automatically call ->pict and slide. The original #%app is renamed to #%ret.