#
PLT MzLib: Libraries Manual

PLT (scheme@plt-scheme.org)

209
Released December 2004

1 MzLib

2 `async-channel.ss`: Buffered Asynchronous Channels

3 `awk.ss`: Awk-like Syntax

4 `class.ss`: Classes and Objects
4.1 Object Example
4.2 Creating Interfaces
4.3 Creating Classes
4.3.1 Initialization Variables
4.3.2 Fields
4.3.3 Methods
4.3.3.1 Method Definitions
4.3.3.2 Inherited and Superclass Methods
4.3.3.3 Internal and External Names
4.4 Creating Objects
4.5 Field and Method Access
4.5.1 Methods
4.5.2 Fields
4.5.3 Generics
4.6 Object, Class, and Interface Utilities

5 `class100.ss`: Version-100-Style Classes

6 `class-old.ss`: Version-100 Classes

7 `cm.ss`: Compilation Manager

8 `cm-accomplice.ss`: Compilation Manager Hook for Syntax Transformers

9 `cmdline.ss`: Command-line Parsing

10 `cml.ss`: Concurrent ML Compatibility

11 `compat.ss`: Compatibility

12 `compile.ss`: Compiling Files

13 `contract.ss`: Contracts
13.1 Flat Contracts
13.2 Function Contracts
13.3 Object and Class Contracts
13.4 Attaching Contracts to Values
13.5 Contract Utility

14 `date.ss`: Dates

15 `deflate.ss`: Deflating (Compressing) Data

16 `defmacro.ss`: Non-Hygienic Macros

17 `etc.ss`: Useful Procedures and Syntax

18 `file.ss`: Filesystem Utilities

19 `include.ss`: Textually Including Source

20 `inflate.ss`: Inflating Compressed Data

21 `list.ss`: List Utilities

22 `match.ss`: Pattern Matching
22.1 Patterns
22.2 Examples

23 `math.ss`: Math

24 `package.ss`: Local-Definition Scope Control

25 `pconvert.ss`: Converted Printing

26 `plt-match.ss`: Pattern Matching

27 `pregexp.ss`: Perl-Style Regular Expressions
27.1 Introduction
27.2 Regexp procedures
27.2.1 `pregexp`
27.2.2 `pregexp-match-positions`
27.2.3 `pregexp-match`
27.2.4 `pregexp-split`
27.2.5 `pregexp-replace`
27.2.6 `pregexp-replace*`
27.2.7 `pregexp-quote`
27.3 The regexp pattern language
27.3.1 Basic assertions
27.3.2 Characters and character classes
27.3.2.1 Some frequently used character classes
27.3.2.2 POSIX character classes
27.3.3 Quantifiers
27.3.3.1 Numeric quantifiers
27.3.3.2 Non-greedy quantifiers
27.3.4 Clusters
27.3.4.1 Backreferences
27.3.4.2 Non-capturing clusters
27.3.4.3 Cloisters
27.3.5 Alternation
27.3.6 Backtracking
27.3.6.1 Disabling backtracking
27.3.7 Looking ahead and behind
27.3.7.1 Lookahead
27.3.7.2 Lookbehind
27.4 An extended example

28 `pretty.ss`: Pretty Printing

29 `process.ss`: Process and Shell-Command Execution

30 `restart.ss`: Simulating Stand-alone MzScheme

31 `sendevent.ss`: AppleEvents
31.1 AppleEvents

32 `shared.ss`: Graph Constructor Syntax

33 `spidey.ss`: MrSpidey Annotations

34 `string.ss`: String Utilities

35 `surrogate.ss`: Proxy-like Design Pattern

36 `thread.ss`: Thread Utilities

37 `trace.ss`: Tracing Top-level Procedure Calls

38 `traceld.ss`: Tracing File Loads

39 `transcr.ss`: Transcripts

40 `unit.ss`: Core Units
40.1 Creating Units
40.2 Invoking Units
40.3 Linking Units and Creating Compound Units
40.4 Unit Utilities

41 `unitsig.ss`: Units with Signatures
41.1 Importing and Exporting with Signatures
41.2 Signatures
41.3 Signed Units
41.4 Linking with Signatures
41.5 Restricting Signatures
41.6 Embedded Units
41.7 Signed Compound Units
41.8 Invoking Signed Units
41.9 Extracting a Primitive Unit from a Signed Unit
41.10 Adding a Signature to Primitive Units
41.11 Expanding Signed Unit Expressions

## Copyright notice

Copyright ©1996-2004 PLT

Permission to make digital/hard copies and/or distribute this documentation for any purpose is hereby granted without fee, provided that the above copyright notice, author, and this permission notice appear in all copies of this documentation.

## Send us your Web links

If you use any parts or all of the PLT Scheme package (software, lecture notes) for one of your courses, for your research, or for your work, we would like to know about it. Furthermore, if you use it and publicize the fact on some Web page, we would like to link to that page. Please drop us a line at scheme@plt-scheme.org. Evidence of interest helps the DrScheme Project to maintain the necessary intellectual and financial support. We appreciate your help.

## Thanks

Contributors to MzLib include Dorai Sitaram, Gann Bierner, Bruce Hauman, and Kurt Howard (working from Steve Moshier's Cephes library). Publicly available packages have been assimilated from others, including Andrew Wright (`match`) and Marc Feeley (original pretty-printing implementation).

This manual was typeset using LATEX, SLaTeX, and `tex2page`. Some typesetting macros were originally taken from Julian Smart's Reference Manual for wxWindows 1.60: a portable C++ GUI toolkit.

This manual was typeset on Sunday, December 19th, 2004.

Last modified: Sunday, December 19th, 2004
HTML conversion by TeX2page 2004-09-11