webmaster
2017-12-31 15:40:20

@webmaster has joined the channel


notjack
2017-12-31 16:38:10

@lexi.lambda hackett is so fun


notjack
2017-12-31 16:38:43

I’m fiddling around with typeclass hiearchies and it’s a blast


notjack
2017-12-31 16:39:53

would you be interested in a PR that rounds out the functor-applicative-monad hierarchy? specifically one that added contravariant functors, Alternative, and MonadPlus


lexi.lambda
2017-12-31 17:42:29

@notjack Probably, yeah.


lexi.lambda
2017-12-31 17:43:46

I think Contravariant and Alternative are pretty straightforward. I think MonadPlus is more questionably the right thing, so maybe hold off on that one for now?


notjack
2017-12-31 17:45:05

right now I’m trying to get a feel for the “proper” hierarchy (I spent way too much of my vacation reading things by edward kmett)


lexi.lambda
2017-12-31 17:47:23

There’s definitely a balance to be struct between the extremes of simplicity and completeness.


notjack
2017-12-31 17:47:32

yup


lexi.lambda
2017-12-31 17:47:42

I haven’t decided yet if I think PureScript’s extensions to the hierarchy are things I want to emulate.


notjack
2017-12-31 17:54:00

What do you think Hackett’s goal for standard library typeclasses is?


lexi.lambda
2017-12-31 17:55:54

Well, I think it’s good to have all the noncontroversial basic classes in the standard library, since it avoids orphan hell. We obviously want things like Functor f => Applicative f, Applicative m => Monad m, and Semigroup a => Monoid a, since those are pretty universally agreed to be good things.


lexi.lambda
2017-12-31 17:56:48

I think, for the most part, people are satisfied with much of Haskell’s typeclass hierarchy, with the exception of the Num hierarchy, which most people agree is poorly-designed.


notjack
2017-12-31 18:01:59

For context on my viewpoint, I look at Hackett as a future standard rackety way of doing referentially transparent FP - I would like to use it by default whenever I make a package whose domain plays nicely with that paradigm


slack1
2017-12-31 19:27:08

Hmm from a surface POV, Hackett looks so much like Racket


lexi.lambda
2017-12-31 19:27:58

It’s closer to Haskell than it is to Racket.


slack1
2017-12-31 19:28:26

Is it close enough that you can transfer most of your knowledge and techniques over?


lexi.lambda
2017-12-31 19:29:12

To Haskell? Yes. To Racket? No.


slack1
2017-12-31 19:29:21

ahh


targetstorm
2018-1-1 06:32:12

I’m using Dr Racket and FFI. When I load a DLL it seems to be holding on to it even after I hit the “Stop” button. This causes the post-build step for copying the DLL next to my racket file to fail b/c Dr Racket is holding onto the file and the copy needs to overwrite it. Any idea how to tell Dr Racket to let go of this file (without closing Dr Racket)?