#
PLT MzLib: Libraries Manual

PLT (scheme@plt-scheme.org)

301
Released December 2006

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 Mixins
4.7 Object Serialization
4.8 Object, Class, and Interface Utilities
4.9 Expanding to a Class Declaration

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 `foreign.ss`: Foreign Interface

20 `include.ss`: Textually Including Source

21 `inflate.ss`: Inflating Compressed Data

22 `integer-set.ss`: Integer Sets

23 `kw.ss`: Keyword Arguments
23.1 Required Arguments
23.2 Optional Arguments
23.3 Keyword Arguments
23.4 Rest and Rest-like Arguments
23.5 Body Argument
23.6 Mode Keywords
23.7 Property Lists

24 `list.ss`: List Utilities

25 `match.ss`: Pattern Matching
25.1 Patterns
25.2 Extending Match
25.3 Examples

26 `math.ss`: Math

27 `md5.ss`: MD5 Message Digest

28 `os.ss`: System Utilities

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

30 `pconvert.ss`: Converted Printing

31 `pconvert-prop.ss`: Converted Printing Property

32 `plt-match.ss`: Pattern Matching

33 `port.ss`: Port Utilities

34 `pregexp.ss`: Perl-Style Regular Expressions
34.1 Introduction
34.2 Regexp procedures
34.2.1 `pregexp`
34.2.2 `pregexp-match-positions`
34.2.3 `pregexp-match`
34.2.4 `pregexp-split`
34.2.5 `pregexp-replace`
34.2.6 `pregexp-replace*`
34.2.7 `pregexp-quote`
34.3 The regexp pattern language
34.3.1 Basic assertions
34.3.2 Characters and character classes
34.3.2.1 Some frequently used character classes
34.3.2.2 POSIX character classes
34.3.3 Quantifiers
34.3.3.1 Numeric quantifiers
34.3.3.2 Non-greedy quantifiers
34.3.4 Clusters
34.3.4.1 Backreferences
34.3.4.2 Non-capturing clusters
34.3.4.3 Cloisters
34.3.5 Alternation
34.3.6 Backtracking
34.3.6.1 Disabling backtracking
34.3.7 Looking ahead and behind
34.3.7.1 Lookahead
34.3.7.2 Lookbehind
34.4 An extended example

35 `pretty.ss`: Pretty Printing

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

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

38 `sendevent.ss`: AppleEvents
38.1 AppleEvents

39 `serialize.ss`: Serializing Data

40 `shared.ss`: Graph Constructor Syntax

41 `spidey.ss`: MrSpidey Annotations

42 `string.ss`: String Utilities

43 `struct.ss`: Structure Utilities

44 `stxparam.ss`: Syntax Parameters

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

46 `thread.ss`: Thread Utilities

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

48 `traceld.ss`: Tracing File Loads

49 `transcr.ss`: Transcripts

50 `unit.ss`: Core Units
50.1 Creating Units
50.2 Invoking Units
50.3 Linking Units and Creating Compound Units
50.4 Unit Utilities

51 `unitsig.ss`: Units with Signatures
51.1 Importing and Exporting with Signatures
51.2 Signatures
51.3 Signed Units
51.4 Linking with Signatures
51.5 Restricting Signatures
51.6 Embedded Units
51.7 Signed Compound Units
51.8 Invoking Signed Units
51.9 Extracting a Primitive Unit from a Signed Unit
51.10 Adding a Signature to Primitive Units
51.11 Expanding Signed Unit Expressions

## Copyright notice

Copyright ©1996-2005 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, Bruce Hauman, Jens Axel Søgaard, Gann Bierner, 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 Thursday, January 12th, 2006.

Last modified: Thursday, January 12th, 2006 3:26:28pm
HTML conversion by TeX2page 20050501