#
PLT MzLib: Libraries Manual

PLT (scheme@plt-scheme.org)

351
Released July 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 `cm.ss`: Compilation Manager

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

8 `cmdline.ss`: Command-line Parsing

9 `cml.ss`: Concurrent ML Compatibility

10 `compat.ss`: Compatibility

11 `compile.ss`: Compiling Files

12 `contract.ss`: Contracts
12.1 Flat Contracts
12.2 Function Contracts
12.3 Lazy Data-structure Contracts
12.4 Object and Class Contracts
12.5 Attaching Contracts to Values
12.6 Contract Utility

13 `date.ss`: Dates

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

15 `defmacro.ss`: Non-Hygienic Macros

16 `etc.ss`: Useful Procedures and Syntax

17 `file.ss`: Filesystem Utilities

18 `foreign.ss`: Foreign Interface

19 `include.ss`: Textually Including Source

20 `inflate.ss`: Inflating Compressed Data

21 `integer-set.ss`: Integer Sets

22 `kw.ss`: Keyword Arguments
22.1 Required Arguments
22.2 Optional Arguments
22.3 Keyword Arguments
22.4 Rest and Rest-like Arguments
22.5 Body Argument
22.6 Mode Keywords
22.7 Property Lists

23 `list.ss`: List Utilities

24 `match.ss`: Pattern Matching
24.1 Patterns
24.2 Extending Match
24.3 Examples

25 `math.ss`: Math

26 `md5.ss`: MD5 Message Digest

27 `os.ss`: System Utilities

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

29 `pconvert.ss`: Converted Printing

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

31 `plt-match.ss`: Pattern Matching

32 `port.ss`: Port Utilities

33 `pregexp.ss`: Perl-Style Regular Expressions
33.1 Introduction
33.2 Regexp procedures
33.2.1 `pregexp`
33.2.2 `pregexp-match-positions`
33.2.3 `pregexp-match`
33.2.4 `pregexp-split`
33.2.5 `pregexp-replace`
33.2.6 `pregexp-replace*`
33.2.7 `pregexp-quote`
33.3 The regexp pattern language
33.3.1 Basic assertions
33.3.2 Characters and character classes
33.3.2.1 Some frequently used character classes
33.3.2.2 POSIX character classes
33.3.3 Quantifiers
33.3.3.1 Numeric quantifiers
33.3.3.2 Non-greedy quantifiers
33.3.4 Clusters
33.3.4.1 Backreferences
33.3.4.2 Non-capturing clusters
33.3.4.3 Cloisters
33.3.5 Alternation
33.3.6 Backtracking
33.3.6.1 Disabling backtracking
33.3.7 Looking ahead and behind
33.3.7.1 Lookahead
33.3.7.2 Lookbehind
33.4 An extended example

34 `pretty.ss`: Pretty Printing

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

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

37 `sendevent.ss`: AppleEvents
37.1 AppleEvents

38 `serialize.ss`: Serializing Data

39 `shared.ss`: Graph Constructor Syntax

40 `string.ss`: String Utilities

41 `struct.ss`: Structure Utilities

42 `stxparam.ss`: Syntax Parameters

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

44 `tar.ss`: Creating `tar` Files

45 `thread.ss`: Thread Utilities

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

47 `traceld.ss`: Tracing File Loads

48 `transcr.ss`: Transcripts

49 `unit.ss`: Core Units
49.1 Creating Units
49.2 Invoking Units
49.3 Linking Units and Creating Compound Units
49.4 Unit Utilities

50 `unitsig.ss`: Units with Signatures
50.1 Importing and Exporting with Signatures
50.2 Signatures
50.3 Signed Units
50.4 Linking with Signatures
50.5 Restricting Signatures
50.6 Embedded Units
50.7 Signed Compound Units
50.8 Invoking Signed Units
50.9 Extracting a Primitive Unit from a Signed Unit
50.10 Adding a Signature to Primitive Units
50.11 Expanding Signed Unit Expressions

51 `zip.ss`: Creating `zip` Files

License

## Copyright notice

Copyright ©1996-2006 PLT

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Library General Public License, Version 2 published by the Free Software Foundation. A copy of the license is included in the appendix entitled ``License.''

## 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 Sunday, July 23rd, 2006.

Last modified: Sunday, July 23rd, 2006 11:41:23pm
HTML conversion by TeX2page 20050501