From 4148dc076478c530c73432e39352b652f301b240 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 31 Oct 2005 17:24:20 +0000 Subject: [PATCH] more notes on exn conversion svn: r1186 --- notes/mzscheme/MzScheme_300.txt | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/notes/mzscheme/MzScheme_300.txt b/notes/mzscheme/MzScheme_300.txt index e483a0a8b6..39a8b1798d 100644 --- a/notes/mzscheme/MzScheme_300.txt +++ b/notes/mzscheme/MzScheme_300.txt @@ -499,8 +499,12 @@ at nearly the top level of the hierarchy. In particular, most instead of the old (and now removed) `not-break-exn?' predicate. The "type" and "mismatch" exceptions have been merged into -`exn:fail:contract'. Similarly, `exn:i/o:tcp' and `exn:i/o:udp' -have been merged into `exn:fail:network'. +`exn:fail:contract'. Similarly, `exn:i/o:tcp' and `exn:i/o:udp' have +been merged into `exn:fail:network', `exn:i/o:filesystem' has moved to +`exn:fail:filesystem', and other `exn:i/o' exceptions have been +simplified to just `exn:fail'. The `exn:read' and `exn:syntax' +hierarchies moved to `exn:fail:read' and `exn:fail:syntax'. Most other +exceptions merged with `exn:fail:contract' or simply `exn:fail'. Many exception fields have been eliminated, but certain exceptions contain multiple source locations instead of just one. Instead of a @@ -509,8 +513,8 @@ single type for all exceptions with source locations, the information. Field guards are triggered when an exception record is created, and it - checks the "type" of the field arguments. Mutators are not exported - for exception fields. +checks the "type" of the field arguments. Mutators are not exported +for exception fields. Structs: @@ -533,18 +537,17 @@ Structs: exn:fail:unsupported exn:break - continuation - special-comment - width - ; Note: not exn:special-comment, because it doesn't need - ; a message or marks - Properties: - exn:srclocs - accessor + exn:srclocs - accessor ====================================================================== Inside MzScheme (extend MzScheme via C) ====================================================================== +[See "PLT Foreign Interface Manual" for a new alternative to extending +MzScheme with C code.] + A structure that represents a Scheme type should now start with a Scheme_Object, instead of Scheme_Type. A Scheme_Object contains only a Scheme_Type (except in 3m mode), so it takes the same amount of space