define-record-type optimizations

The optimizations will only work if the record type is defined before the first use (predicate, accessor, mutator). Not sure if I should deal with this, or just recommend placing define-record-typ...

Id #21564 | Release: None | Updated: Nov 18 at 9:37 AM by leppie | Created: Nov 18 at 9:37 AM by leppie

Complex numbers with hexadecimal rationals in the first part, fails to parse as a number

Examples: #x1/1+1i #x1/1@1 As a workaround, add the exactness modifier. Or use string->number. Examples: #e#x1/1+1i #x#i1/1@1 (string->number "#x1/1@1") Thanks Göran Weinholt for spotting this.

Id #20159 | Release: None | Updated: Aug 31, 2013 at 3:00 PM by leppie | Created: Aug 31, 2013 at 2:59 PM by leppie

Add 'deeper' inspection for eqv? similar to object.Equals in .NET

This would apply to pairs, vectors, strings, records, hashtables and procedures. Also add hashing functions for the above mentioned. TODO: Investigate effect on R6RS specification conformance.

Id #19818 | Release: None | Updated: Jun 5, 2013 at 7:47 PM by leppie | Created: Jun 5, 2013 at 7:46 PM by leppie

Fix Unicode casing

(string-downcase "ΧΑΟΣ. Σ") => "χαος. σ"   Currently returns: "χαοσ. σ"

Id #16334 | Release: None | Updated: Feb 14, 2013 at 8:53 PM by leppie | Created: Aug 4, 2011 at 12:58 PM by leppie

Add better checks when applying values to a continuation

Examples (only 1st is good, rest must have proper errors):     (call-with-values . (lambda () . (call-with-current-continuation (lambda (k) (k 1 2 3)))) . (lambda (x y z) 'ok)) ok (call...

Id #15914 | Release: None | Updated: Feb 14, 2013 at 8:53 PM by leppie | Created: May 25, 2011 at 10:33 AM by leppie

Refactor textual ports to use same transcoders

Expression: (bytevector->string #vu8(97 10 98 13 99 13 10 100 194 133 101 226 128 168 102 13 194 133 103) (make-transcoder (utf-8-codec) 'none)) Result: "a\nbc\nd…e
f…g" Expected: "a\nb\rc\r\nd…e
f...

Id #14848 | Release: None | Updated: Feb 14, 2013 at 8:53 PM by leppie | Created: Dec 9, 2010 at 7:10 AM by leppie

Incorrect code gets generated for procedures whose binding gets mutated at library top-level

This only happen when the arity stays the same. Example:   (define (bar) #f) (define (foo) (bar))   (set! bar (lambda () #t))   (foo)

Id #10878 | Release: None | Updated: Feb 14, 2013 at 8:53 PM by leppie | Created: Nov 4, 2009 at 5:04 AM by leppie

Add case-sensitive parameter

For usage during read

Id #10227 | Release: None | Updated: Feb 14, 2013 at 8:53 PM by leppie | Created: Jul 1, 2009 at 4:37 PM by leppie

Trig procedures fail with numbers larger than 9e18 and smaller than -9e18

Thank you Microsoft for this disturbing behaviour in the .NET framework :(   (sin 1e22) => 1e22

Id #9299 | Release: None | Updated: Feb 14, 2013 at 8:53 PM by leppie | Created: Feb 20, 2009 at 12:37 PM by leppie

Serialization of characters that are represented in .NET as surrogate pairs does not work

As above.   This was discovered trying to serialize the R6RS test suite. This probably indicates a bug somewhere in characters (and strings...).

Id #9220 | Release: None | Updated: Feb 14, 2013 at 8:53 PM by leppie | Created: Feb 10, 2009 at 9:13 PM by leppie