ldnclj

Find us on #clojure-uk
thomas 2015-06-23T07:47:40.001234Z

Morning

agile_geek 2015-06-23T08:12:45.001235Z

Yo!

jonpither 2015-06-23T08:23:28.001237Z

hey

benedek 2015-06-23T08:32:09.001238Z

reggelt!

steven 2015-06-23T09:49:51.001239Z

@martintrojer: Cool article! I’m not sure if you’re open to suggestions/modifications, but there will be situations when you are forced to do so if you adopt a typed workflow would be even better with an example. As a reader who hasn’t tried core.typed, my imagination can’t decide if these would be meaningful, in-the-end-you’ll-thank-me refactorings like Haskell would shove down my throat, or if they would just expose immaturity in core.typed that I’d have to work around as a user (or both?).

steven 2015-06-23T09:49:57.001240Z

Thanks for writing this. :simple_smile:

martintrojer 2015-06-23T09:52:11.001241Z

steven: thanks, its a delicate balance between the length of the post and the number of details you can cram in there.

steven 2015-06-23T09:54:17.001242Z

@martintrojer: Totally. :simple_smile: You could probably write a small book if you wanted to explore details. It actually feels really balanced with the external links.

steven 2015-06-23T09:56:10.001245Z

Upvoted. You’re still page 4, fwiw

martintrojer 2015-06-23T09:56:32.001246Z

Interestingly is its combination of imperfect annotations in core.typed

martintrojer 2015-06-23T09:57:14.001247Z

… and some forms that is not possible to correctly annotate

martintrojer 2015-06-23T09:57:48.001248Z

the latter is more a active research area I believe where the Typed Racket ppl needs a brain wave to solve it for us :simple_smile:

steven 2015-06-23T09:58:22.001249Z

ha

martintrojer 2015-06-23T09:58:47.001250Z

So its not exactly a ‘you-should-use-a-state-monad-transformer-here-dumbo’ haskell kind of thing.

steven 2015-06-23T09:58:57.001252Z

I’d definitely be interested in an entire article on the latter (in a clj context, at least… not enough hours in my life to start caring about typed racket).

steven 2015-06-23T09:59:08.001253Z

Gotcha.

martintrojer 2015-06-23T10:00:31.001254Z

The reason I mention Typed Racket is that is provides the theoretical underpinnings of core.typed.

kitallis 2015-06-23T10:25:29.001256Z

Hola

steven 2015-06-23T10:26:53.001257Z

Yeah, makes sense. It’s a curmudgeonly position to take, but because I would probably never build production software in TR, I’m unlikely to explore it much. c.t offers only limited appeal on its own, but articles like yours chip away at me, since there’s the “you could retrofit this to your legacy clj codebase” angle. :simple_smile:

steven 2015-06-23T10:26:57.001258Z

Howdy @kitallis

kitallis 2015-06-23T10:29:09.001259Z

ripping it

2015-06-23T12:31:15.001260Z

martintrojer: actually I'm in a good position to improve the type inference drastically in Typed Clojure. an XML processing language called CDuce is a goldmine for complete local type inference which I've been studying since January.

2015-06-23T12:31:39.001261Z

it will probably come next after gradual typing, the rationale being type checking transducers

2015-06-23T12:32:10.001262Z

since it's almost always polymorphic functions applied to complicated args, you need to instantiate most transducers.

martintrojer 2015-06-23T13:16:46.001263Z

ambrosebs: cool

agile_geek 2015-06-23T18:38:23.001264Z

@tcrayford: Tom, been playing with matcha and I like it but I have one comment: the error messages format poorly when run from clojure.test e.g.

expected: "\"{\\\"message\\\":\\\"This is a new message!\\\"}\""
  actual: "nil\n\n    diff:\n       +: \"{\\\"message\\\":\\\"This is a new message!\\\"}\"\n\n       -: nil\n”

agile_geek 2015-06-23T18:40:01.001265Z

Am I just misusing it?

xlevus 2015-06-23T19:56:11.001266Z

just switched to solarized colourscheme... Holy poop rainbows. http://i.imgur.com/TtvdZo1.png