We rewrote <http://frenchy64.github.io/papers/submitted-popl16-typed-clojure-draft.pdf> most of the paper highlighting relationships between the different features.
Thanks, Ambrose On Sat, Mar 14, 2015 at 10:47 PM, Chris Ford <christophertf...@gmail.com> wrote: > Seems to me that is cool enough to warrant a bit more bragging - perhaps > use the word "novel" in the introduction so that the reader appreciates > that you've broken new ground by occurrence typing multimethods. > > On 14 March 2015 at 03:22, Ambrose Bonnaire-Sergeant < > abonnaireserge...@gmail.com> wrote: > >> Ah great catch. Here's the justification for our surprise. >> >> 1) Occurrence typing was not designed with multimethods in mind. >> 2) Multimethods are surprisingly easy to formalise, and straightforward >> to understand (B-DefMulti, B-DefMethod, B-BetaMulti in figure 9 model the >> core semantics for multimethods) >> 3) `isa?` is surprisingly easy to support with occurrence typing, even >> though it is the core dispatch mechanism for multimethods. Complicated >> tests like (isa? [(class a) (class b)] [Number Boolean]) naturally learn >> that `a` is a Number >> and `b` is a Boolean. >> 4) Relating the dispatch function with the current dispatch value to >> learn new types via normal occurrence typing is almost always sufficient to >> type check the current defmethod body. >> >> Thanks for the feedback. >> Ambrose >> >> On Fri, Mar 13, 2015 at 5:20 PM, Chris Ford <christophertf...@gmail.com> >> wrote: >> >>> I like the paper. >>> >>> One small piece of feedback - I didn't understand what about the >>> multimethods section justifies the claim of "surprising synergy" in the >>> introduction. Perhaps you could elaborate on the novelty? >>> >>> Chris >>> El 12/03/2015 02:50, "Ambrose Bonnaire-Sergeant" < >>> abonnaireserge...@gmail.com> escribió: >>> >>>> Hi, >>>> >>>> Please check out our new paper draft >>>> <http://frenchy64.github.io/papers/typed-clojure-draft.pdf> on >>>> core.typed's type system. >>>> >>>> The first few pages has a lot of executable code and is intended to be >>>> accessible >>>> to anyone. Feedback welcome! >>>> >>>> Thanks, >>>> Ambrose >>>> >>>> -- >>>> 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. >> > > -- > 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.