Search Haskell Channel Logs

Friday, February 3, 2017

#haskell channel featuring Geraldus, erisco, ski, dolio, mniip, geekosaur,

sternmull 2017-02-03 08:46:27
i do it while i chat with you :) But i still have no idea what would be a good starting point. At the moment i am looking at wiki.haskell.org.
erisco 2017-02-03 08:46:48
http://learnyouahaskell.com/chapters
Tuplanolla 2017-02-03 08:46:50
Definitely not the wiki.
Tuplanolla 2017-02-03 08:47:01
It's the least coherent of all sources.
erisco 2017-02-03 08:47:12
the wiki is only for experts who can weed out the obsolete information
Geraldus 2017-02-03 08:47:30
Hi folks!
sternmull 2017-02-03 08:47:46
oh, i hoped the wiki would be more up to date than the other resources.
erisco 2017-02-03 08:48:20
it is partially an article graveyard
mniip 2017-02-03 08:49:08
monochrom, when will textbooks include a FreeT ((->) t) parser
erisco 2017-02-03 08:49:21
you can just scroll through here and pick stuff off https://wiki.haskell.org/Learning_Haskell
Geraldus 2017-02-03 08:49:29
Sorry about this off-chanell question, I really don't know a better place to ask (: Are there some idioms meaning (sweet) dreams which will never come true?
erisco 2017-02-03 08:49:40
https://wiki.haskell.org/Tutorials
mniip 2017-02-03 08:49:56
Geraldus, you mean delusions?
ski 2017-02-03 08:50:26
sternmull : suspected cut off near ".. So i can check out if this would fit my"
Tuplanolla 2017-02-03 08:50:26
Pipe dreams, Geraldus?
Tuplanolla 2017-02-03 08:50:44
Are you naming modules or variables?
ski 2017-02-03 08:50:48
the old wiki was more live ..
Geraldus 2017-02-03 08:50:54
mniip: not exactly, just something I wish to happen
ski 2017-02-03 08:51:06
(MoinMoin, vs. MediaWiki, iirc)
erisco 2017-02-03 08:52:02
there is good stuff on the wiki too, not just old things, but it doesn't guide you down any path
Geraldus 2017-02-03 08:52:18
Tuplanolla: Google Translate offers such translation, but I wasn't certain and decided to ask some native English people. Also it offered "candy-floss"
erisco 2017-02-03 08:52:50
so you might start reading https://wiki.haskell.org/Fold which is an important topic but it might be too quick
erisco 2017-02-03 08:53:41
therefore it is more useful as a reference, as you'd expect wikis to be, when you already know what you need information on
erisco 2017-02-03 08:54:57
then you stumble on https://wiki.haskell.org/Catamorphisms and are not informed you are in the twilight zone
mniip 2017-02-03 08:55:32
hey ski
mniip 2017-02-03 08:55:44
do you happen to know what the Arrow tyclass corresponds to in CT?
Geraldus 2017-02-03 08:55:57
mniip, Tuplanolla, thanks )
cocreature 2017-02-03 09:00:01
mniip: there is this paper http://www-kb.is.s.u-tokyo.ac.jp/~asada/papers/arrStrMnd.pdf which claims to answer that question but I've come to the conclusion that I don't really care about arrows before I read more than the abstract :)
erisco 2017-02-03 09:00:37
"nope"
cocreature 2017-02-03 09:00:44
mniip: without "arr" it's a cartesian closed category iirc
mniip 2017-02-03 09:00:56
well
mniip 2017-02-03 09:01:17
I did find the resemblance between &&& and a product's mediating morphism
mniip 2017-02-03 09:01:38
but then ||| is a comediating morphism of a coproduct
mniip 2017-02-03 09:01:51
and it is somehow a subclass of Arrow (ArrowChoice) which makes no sense
mniip 2017-02-03 09:01:55
and then there's arr
dolio 2017-02-03 09:02:15
I thought we just talked about this. :)
mniip 2017-02-03 09:02:33
I was about to mention your dialogue with me
mniip 2017-02-03 09:03:48
then dolio mentions that arrows are actually profunctors that are like monads but profunctors
sternmull 2017-02-03 09:04:01
what do you guy think about en.wikibooks.org/wiki/Haskell? To me it looks like a good list of topics to start with. But of course i can't tell if they are really what matters or if they are of poor quality.
mniip 2017-02-03 09:04:22
which I guess is better explained with monoids in a monoidal profunctor category under profunctor composition
mniip 2017-02-03 09:04:35
though, that explains 'arr' and composition
geekosaur 2017-02-03 09:04:35
mniip, I think Arrow predates giving stuff CT basis, and it's a mixed-up and confused beast
mniip 2017-02-03 09:04:53
which suggests that arrows are closer to profunctors that compose, than to categories
geekosaur 2017-02-03 09:04:59
which eventually got untangled into profunctors, Control.Category, and Applicative
mniip 2017-02-03 09:05:02
and there's no sign of ***/&&& anywhere
dolio 2017-02-03 09:05:11
mniip: The last piece is the 'strong' part which gives you 'first'.
dolio 2017-02-03 09:05:37
M x y -> M (x, z) (y, z)
dolio 2017-02-03 09:06:10
mniip: I can probably find a paper that goes into all this, by the way.
ski 2017-02-03 09:06:10
(.. in the title, i.e.)
dolio 2017-02-03 09:06:26
If you want to look at that.
dolio 2017-02-03 09:08:23
Oh, the paper is called "Arrows are Strong Monads."
mniip 2017-02-03 09:09:59
please do
mniip 2017-02-03 09:10:02
while I brb
dolio 2017-02-03 09:10:12
If you google that title, it should be the first hit.
cocreature 2017-02-03 09:10:23
that's the one I linked above
erisco 2017-02-03 09:23:00
seems there are two ways to do this... I want to write some code independent of a solver. There are just two problems I need solved
erisco 2017-02-03 09:23:36
I can define classes for these functions, or I can define a GADT for them
erisco 2017-02-03 09:23:55
in the former it is implemented by instancing the class and in the latter it is implemented by interpreting the GADT
erisco 2017-02-03 09:24:25
the GADT commits me to a Monad which is more syntactic noise so maybe the former is better
erisco 2017-02-03 09:24:38
I just get antsy about spuriously adding classes
erisco 2017-02-03 09:28:07
though with the class I am not sure how to make the type parameter appear in the class body, hrm
erisco 2017-02-03 09:32:22
yeah I don't think that works... not the way I am setting it up anyhow
erisco 2017-02-03 09:32:56
I guess the other way is to pass in a dictionary but that is clumsy... Reader helps but I am back to a Monad again
erisco 2017-02-03 09:33:38
it is quite simply that I need an X -> S where X is my problem type and S is my solution type
erisco 2017-02-03 09:33:55
but this needs to be given later
erisco 2017-02-03 09:34:37
class Solve solver where solve :: X -> S can't work
erisco 2017-02-03 09:34:56
neither can class Solve solver problem | solver -> problem where solve :: problem -> S
mniip 2017-02-03 09:36:35
ca
erisco 2017-02-03 09:36:47
reversing the dependency is a bit janky... would happen to work because there is only one solver I am interested in
erisco 2017-02-03 09:38:34
maybe I just don't try to untangle the solver... but I know that that is a weaker design
erisco 2017-02-03 09:39:13
hurts my head more to think about it that way :P
mniip 2017-02-03 09:44:28
"Hughes' arrows were shown, by Jacobs et al., to be roughly monads in the bicategory Prof of profunctors"
mniip 2017-02-03 09:44:36
wouldn't they by monoids in that category