Fork me on GitHub
#other-languages
<
2016-06-30
>
cfleming00:06:00

@seancorfield: Well, as I wrote there I disagree, but I don’t think we’ll get anywhere going over it again. I think it’s going to be more Kotlin for me, which makes me sad.

seancorfield00:06:41

Yours is definitely a very interesting "edge case" in terms of Clojure projects, so deeply embedded with existing Java code, so full of null values.

seancorfield00:06:13

I wondered whether you could build a sort of Kotlin "wall" around the Java and have happy Clojure inside that?

cfleming00:06:01

Well, a lot of people using Cursive are using it because it has good interop support. This must be hurting them too. Rich made the decision to embrace the host - interop is generally considered idiomatic.

cfleming00:06:37

Maybe, I’m not sure. Honestly, I’m just not sure how much I’d gain by doing that.

cfleming00:06:09

I mean, I’ll have to when I talk to nREPL or lein or whatever, but for application logic I’m starting to feel like I’m fighting the language.

cfleming00:06:18

I already run a significant fork to improve the interop.

seancorfield01:06:25

^ I didn’t realize that. What sort of changes have you made?

seancorfield01:06:41

And what version of Clojure is it forked from?

cfleming01:06:24

I have two new forms, define-class and extend-class, which allow me to extend abstract classes, call super methods etc. One is like deftype which allows class extension, and the other is like reify but allows class extension.

cfleming01:06:51

It’s based on 1.7 right now, I’ve actually rebased it to 1.8 but haven’t tested and started using that yet.

cfleming01:06:58

It has various other niceties, some of which have made it into Clojure proper now (allowing a deftype to load its containing namespace when the class is initialised, and a few others)

cfleming01:06:20

And a few bug fixes from JIRA

cfleming01:06:17

After using Kotlin a while, I have a bunch of other things I’d add to it, but I’m going to wait a bit and decide what I’m going to do before investing more time there.