I recently raised a similar point regarding `starts-with?` and `ends-with?` (link - http://dev.clojure.org/jira/browse/CLJ-1449) and it seems that Clojure's team acknowledges that this is valid reasoning.
I think you should open a ticket as well as the case you present is pretty much the same. With ClojureScript and cljx it makes much more sense now to create portable interfaces that it used to before (in the era of Java-only Clojure). On Saturday, July 19, 2014 6:56:44 PM UTC+3, Pierre Masci wrote: > > Thank you for your insight Andy :-) > > Interesting question Bruce. > > -- Pierre Masci > > > On 19 July 2014 16:49, Andy Fingerhut <andy.fi...@gmail.com <javascript:>> > wrote: > >> I would have to defer that question to someone who makes decisions >> regarding what goes into Clojure/ClojureScript, and what does not. >> >> Of course, anyone else is free to create libraries that try to make >> portability between those two platforms easier. Perhaps someone has >> already taken a go at creating such a thing? I haven't used ClojureScript >> myself yet, so haven't looked for anything in that area. >> >> Andy >> >> >> On Sat, Jul 19, 2014 at 8:23 AM, Bruce Durling <b...@otfrom.com >> <javascript:>> wrote: >> >>> Andy, >>> >>> How much of this reasoning do you think changes when we starting >>> thinking about being hosted on multiple platforms (I'm thinking >>> specifically clojure/clojurescript and cljx)? >>> >>> cheers, >>> Bruce >>> >>> On Sat, Jul 19, 2014 at 4:17 PM, Andy Fingerhut >>> <andy.fi...@gmail.com <javascript:>> wrote: >>> > Pierre: >>> > >>> > I maintain the cheatsheet, and I put .indexOf and .lastIndexOf on there >>> > since they are probably the most common thing I saw asked about that >>> is in >>> > the Java API but not the Clojure API, for strings. There are also >>> links to >>> > whole Java classes and their entire API, e.g. for file I/O, for which >>> there >>> > is no Clojure equivalent, since file I/O is a common need. Clojure is >>> meant >>> > to be a hosted language, not hiding its host platform, but making it >>> easily >>> > callable. >>> > >>> > If there are entire Java classes that meet very common needs that >>> aren't >>> > mentioned on the cheatsheet, I would consider adding links to their >>> > documentation pages. I don't want to fill up the cheatsheet with many >>> > individual Java methods, though. >>> > >>> > As for why there are not Clojure equivalents of particular Java API >>> methods, >>> > I think the reasoning might be similar (it has likely been discussed >>> > publicly, but I don't have a link handy) -- don't create a large >>> number of >>> > Clojure functions that do nothing more than what the equivalent Java >>> APIs >>> > do. >>> > >>> > Andy >>> > >>> > >>> > On Sat, Jul 19, 2014 at 3:58 AM, Pierre Masci <mas...@gmail.com >>> <javascript:>> wrote: >>> >> >>> >> Hi all, just nit picking about Clojure's String API. >>> >> >>> >> I've been comparing it with Java's, and I noticed that (not >>> surprisingly) >>> >> they are very similar. >>> >> There are just 2-3 functions that exist in Java but don't have an >>> >> equivalent in Clojure. I was wondering if they could be worth adding >>> to >>> >> clojure.string : >>> >> >>> >> (.indexOf s "c") and (.lastIndexOf "c") >>> >> >>> >> (.startsWith s "danc") and (.endsWith s "ing") >>> >> >>> >> (.charAt s 5) >>> >> same as (get s 5) but expresses a clearer intent. It's less >>> general >>> >> than (get) though as it only applies to Strings, so that might be >>> >> unnecessary sugar. >>> >> >>> >> >>> >> >>> >> >>> >> .indexOf and .lastIndexOf are indicated in the Clojure Cheatsheet, >>> maybe >>> >> .startsWith and .endsWith also deserve to be mentioned there? >>> >> >>> >> I've been wondering why some functions have been ported, like >>> (lower-case) >>> >> for (.toLowerCase), but not the ones mentioned above. >>> >> >>> >> I told you it was nit picking (^c^) Clojure's API is awesome as it is. >>> >> >>> >> -- >>> >> You received this message because you are subscribed to the Google >>> >> Groups "Clojure" group. >>> >> To post to this group, send email to clo...@googlegroups.com >>> <javascript:> >>> >> Note that posts from new members are moderated - please be patient >>> with >>> >> your first post. >>> >> To unsubscribe from this group, send email to >>> >> clojure+u...@googlegroups.com <javascript:> >>> >> 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+u...@googlegroups.com <javascript:>. >>> >> 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 clo...@googlegroups.com >>> <javascript:> >>> > Note that posts from new members are moderated - please be patient >>> with your >>> > first post. >>> > To unsubscribe from this group, send email to >>> > clojure+u...@googlegroups.com <javascript:> >>> > 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+u...@googlegroups.com <javascript:>. >>> > For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >>> -- >>> @otfrom | CTO & co-founder @MastodonC | mastodonc.com >>> See recent coverage of us in the Economist http://econ.st/WeTd2i and >>> the Financial Times http://on.ft.com/T154BA >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clo...@googlegroups.com >>> <javascript:> >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+u...@googlegroups.com <javascript:> >>> 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+u...@googlegroups.com <javascript:>. >>> 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 clo...@googlegroups.com >> <javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "Clojure" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/clojure/MzsfBo7Vkjg/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> clojure+u...@googlegroups.com <javascript:>. >> 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.