I'm not sure this is the correct place for this, but the GitHub page led me to this place. I believe I have found a problem in the 1.5.1 ClojureCLR currently on GitHub. The problem is with the initialization of the static Compiler class. According to section 10.4.5.1 of the MSDN documentation, the fields of a static class are evaluated "in textual order". Unfortunately, this line: public static readonly Symbol FnOnceSym = (Symbol) Symbol.intern("fn*").withMeta(RT.map(Keyword.intern(null, "once"), true)); comes before this line: static Dictionary<String, Type> _duplicateTypeMap = new Dictionary<string, Type>(); The evaluation of the first causes a call to the static method FindDuplicateType() within the same class, and this method uses the _duplicateTypeMap without a null check. This causes a null exception to be thrown because the initializer for _duplicateTypeMap hasn't executed yet. My solution is to add a section at the very top of the Compiler class for "dependency" intializations - consisiting only of the initialization of _duplicateTypeMap at this point, to give a home to all such initializations that get used by the other static initializers. There is no "Issues" section on the GitHub page, or I would have logged an issue there. Please let me know the best way to get this issue evaluated for a future release of the compiler. Brian C. Barnes
-- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.