PageRenderTime 15ms CodeModel.GetById 11ms app.highlight 1ms RepoModel.GetById 2ms app.codeStats 0ms

/CHANGES/uniq-via-gensym

http://github.com/alimoeeny/arc
#! | 17 lines | 13 code | 4 blank | 0 comment | 0 complexity | e71609bed186a1cf02cf34e609903e9f MD5 | raw file
 1Replaces arc's implementation of 'uniq with mzscheme's 'gensym. This has two
 2effects. First and foremost, 'uniq now returns a "true" gensym - an uninterned
 3symbol:
 4
 5    arc> (= s (uniq))
 6    g1831
 7    arc> (is s 'g1831)
 8    nil  ; in vanilla arc, this would be t
 9
10Second, 'uniq takes an optional argument. If present, this argument must be a
11symbol or string, and will be used as the prefix for the gensym:
12
13    arc> (uniq 'i-am-a-gensym)
14    i-am-a-gensym1833
15
16This is useful for giving gensyms more informative names, which can be helpful
17when trying to read macro-generated code.