other-languages

here be heresies and things we have to use for work
cfleming 2016-06-30T00:35:00.000032Z

@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.

seancorfield 2016-06-30T00:36:41.000033Z

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.

seancorfield 2016-06-30T00:37:13.000034Z

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

cfleming 2016-06-30T00:38:01.000035Z

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.

cfleming 2016-06-30T00:38:37.000036Z

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

cfleming 2016-06-30T00:39:09.000037Z

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.

cfleming 2016-06-30T00:39:18.000038Z

I already run a significant fork to improve the interop.

seancorfield 2016-06-30T01:24:25.000039Z

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

seancorfield 2016-06-30T01:24:41.000040Z

And what version of Clojure is it forked from?

cfleming 2016-06-30T01:27:24.000041Z

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.

cfleming 2016-06-30T01:27:51.000042Z

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.

cfleming 2016-06-30T01:28:58.000043Z

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)

cfleming 2016-06-30T01:29:20.000044Z

And a few bug fixes from JIRA

seancorfield 2016-06-30T01:30:30.000045Z

Interesting.

cfleming 2016-06-30T01:31:17.000046Z

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.