src/Pure/General/symbol.ML
2011-07-23 ago defer evaluation of Scan.message, for improved performance in the frequent situation where failure is handled later (e.g. via ||);
2011-07-16 ago added File.fold_pages for streaming of large files;
2011-07-12 ago tuned signature -- less cryptic ASCII names;
2011-06-20 ago more tolerant Symbol.decode;
2011-06-17 ago recovered markup for non-alphabetic keywords;
2010-11-20 ago renamed raw "explode" function to "raw_explode" to emphasize its meaning;
2010-11-13 ago simplified/robustified treatment of malformed symbols, which are now fully internalized (total Symbol.explode etc.);
2010-11-12 ago tuned signatures;
2010-10-25 ago explicitly qualify type Output.output, which is a slightly odd internal feature;
2010-07-06 ago implode pseudo utf8, i.e. decode byte-stuffed low ASCII characters;
2010-06-24 ago escape UTF8 symbols for the ML compiler;
2010-06-24 ago explicit treatment of UTF8 character sequences as Isabelle symbols;
2009-12-17 ago robust representation of low ASCII control characters within XML/YXML text;
2009-11-24 ago curried take/drop
2009-11-10 ago removed obsolete name_of -- cf. decode;
2009-06-10 ago discontinued escaped symbols such as \\<forall> -- only one backslash should be used;
2009-06-04 ago export esc;
2009-04-28 ago Symbol.name_of and Name.desymbolize
2009-01-21 ago removed Ids;
2009-01-02 ago added output;
2008-08-15 ago scan: proper recovery for escaped \\< symbols;
2008-08-12 ago Symbol.source/OuterLex.source: more explicit do_recover argument;
2008-08-07 ago export not_eof;
2008-08-05 ago improved recover: also resync on symbol/comment/verbatim delimiters;
2008-08-04 ago abstract type Scan.stopper;
2008-04-12 ago added is_utf8_trailer;
2008-04-03 ago replaced ETX/EOT by ENQ/ACK, which are less likely to be interpreted by tty etc.;
2008-04-03 ago added some ASCII control symbols;
2007-12-15 ago recover: not skip over "`";
2007-12-15 ago added separate_chars;
2007-12-04 ago symbol chi is also a letter;
2007-09-16 ago added some int constraints (ML_Parse.fix_ints not active here);
2007-09-15 ago replaced Symbol.is_hex_letter to Symbol.is_ascii_hex;
2007-07-11 ago Symbol.not_eof/sync is superceded by Symbol.is_regular (rules out further control symbols);
2007-07-11 ago Output.escape_malformed;
2007-07-10 ago nested source: explicit interactive flag for recover avoids duplicate errors;
2007-07-09 ago scan: changed treatment of malformed symbols, passed to next stage;
2007-07-07 ago simplified output mode setup;
2006-12-22 ago fixed typo in comment
2006-12-15 ago avoid conflict with Alice keywords: renamed pack -> implode, unpack -> explode, any -> many, avoided assert;
2006-11-23 ago removed obsolete alphanum;
2006-07-25 ago raw symbols: disallow dot to avoid confusion in NameSpace.unpack;
2006-07-25 ago added is/to_ascii_lower/upper;
2006-07-25 ago renamed Name.give_names to Name.names and moved Name.alphanum to Symbol.alphanum
2006-07-11 ago hex and binary numerals (contributed by Rafal Kolanski)
2006-04-26 ago tuned;
2006-03-21 ago avoid polymorphic equality;
2006-03-14 ago Output.add_mode: keyword component;
2006-02-06 ago tuned;
2005-10-11 ago raw symbols: allow non-ASCII chars (e.g. UTF-8);
2005-10-04 ago minor tweaks for Poplog/ML;
2005-09-15 ago TableFun/Symtab: curried lookup and update;
2005-09-01 ago curried_lookup/update;
2005-09-01 ago removed obsolete 'symbols' mode;
2005-08-16 ago tuned Symbol.spaces;
2005-05-31 ago added is_ident (from Syntax/lexicon.ML);
2005-05-18 ago tuned;
2005-05-17 ago tuned;
2005-03-03 ago Move towards standard functions.
2005-02-13 ago Deleted Library.option type.