What about a compromise where you could opt-in or opt-out of checking macro
specs at compile time (via a compiler option)? It seems worth preserving
the correctness of the spec, without forcing all of the breakage.

Andrew Oberstar

On Sat, Aug 20, 2016 at 9:13 PM Colin Fleming <colin.mailingl...@gmail.com>
wrote:

> With respect to preserving undocumented behaviour, while in general I'm in
> favour of making compilers stricter, in this case it seems like the change
> breaks a lot of existing code in ways that are impossible for library
> consumers to fix themselves - they have to wait for an update to the
> library, or fork it. Leaving the symbol option seems like a very low-impact
> change, it's not going to be a massive amount of technical debt in Clojure
> itself. There are many areas of unspecified behaviour in the reader (for
> example, keywords starting with numbers, the keyword function allowing
> creation of unreadable keywords etc) which have not been fixed because it
> would break some existing code - I suspect the impact of fixing that would
> be far less than the impact of this change.
>
> I don't understand why this particular change is so important that
> significant breakage to real code is considered acceptable. I agree with
> Brian that it doesn't seem very pragmatic.
>
> On 21 August 2016 at 13:22, Brian Marick <mar...@roundingpegs.com> wrote:
>
>>
>> On Aug 20, 2016, at 6:30 PM, Timothy Baldridge <tbaldri...@gmail.com>
>> wrote:
>>
>> Brian, let's make it more concrete then...why should the Clojure compiler
>> continue to support undocumented features that make code unportable?
>>
>>
>> Because:
>>
>> 1. People who want to port to clojurescript will incur exactly the same
>> cost as they do now.
>> 2. People who don’t want to port to clojurescript will incur no
>> additional cost.
>> 3. Clojurescript maintainers will incur no additional cost.
>> 4. Clojure maintainers will incur the cost of adding “or symbol” to
>> current code.
>> 5. No one writing documentation will incur any cost, as what was not
>> mentioned before will continue to be unmentioned.
>>
>> 6. There will be a psychic cost because of an undocumented inconsistency
>> between clojure and clojurescript.
>> 7. If, at some point, clojure and clojurescript shared code for the
>> implementation of `ns`, one or the other would have to change the pre
>> 1.9-alpha11 behavior.
>>
>> Do I have this enumeration of costs wrong?
>>
>> It’s a bit surprising to me that my explicit appeal to consider costs and
>> benefits to real people is not being addressed.
>>
>> --
>> 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/d/optout.
>>
>
> --
> 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/d/optout.
>

-- 
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/d/optout.

Reply via email to