Search Haskell Channel Logs

Wednesday, March 1, 2017

#haskell channel featuring lambdabot, phadej, mauke, zuck007__, c_wraith, tsahyt,

tsahyt 2017-02-28 20:49:08
@hoogle (f a -> f b) -> f (m a) -> f (m b)
lambdabot 2017-02-28 20:49:11
Data.Tuple.HT mapFst3 :: (a -> d) -> (a, b, c) -> (d, b, c)
lambdabot 2017-02-28 20:49:11
Data.Tuple.Lazy mapFst3 :: (a -> d) -> (a, b, c) -> (d, b, c)
lambdabot 2017-02-28 20:49:11
Data.Tuple.Strict mapFst3 :: (a -> d) -> (a, b, c) -> (d, b, c)
c_wraith 2017-02-28 20:52:48
tsahyt: Can do it if both f and m are Traversable - not sure about anything weaker.
tsahyt 2017-02-28 20:53:33
m is IO, f is not traversable in practice. there is an instance but it's not feasible to even have it because of computational constraints
tsahyt 2017-02-28 20:54:26
maybe I can write a function that does it in that special case though
zuck007__ 2017-02-28 21:07:40
DROP zuck007
zuck007__ 2017-02-28 21:08:15
wtf is this
zuck007__ 2017-02-28 21:08:41
how do i logout from annonyms login session and regain my username
mauke 2017-02-28 21:10:09
you can log into your account from any nick
zuck007__ 2017-02-28 21:10:34
ok
mauke 2017-02-28 21:10:38
/msg nickserv identify zuck007 yourpasswordhere
zuck007__ 2017-02-28 21:11:01
i haven't set a password yet
mauke 2017-02-28 21:11:27
wait, do you even have an account?
zuck007__ 2017-02-28 21:11:35
nope
zuck007__ 2017-02-28 21:12:05
i just login from website and chose a username thatsit
mauke 2017-02-28 21:12:26
then you'll have to wait until the other connection goes away by itself
zuck007__ 2017-02-28 21:12:40
ok i need to read some docs on irc
zuck007__ 2017-02-28 21:12:46
its my first time :)
mauke 2017-02-28 21:13:26
traditional IRC doesn't have accounts/passwords at all :-)
mauke 2017-02-28 21:13:44
here's something on freenode: http://freenode.net/kb/answer/registration
zuck007__ 2017-02-28 21:14:25
thanks @mauke
mauke 2017-02-28 21:15:16
another thing. on IRC we generally don't use the @ thing to refer to names
mauke 2017-02-28 21:15:41
clients normally just highlight any line that contains your nick, especially at the beginning of a line
mauke 2017-02-28 21:15:48
zuck007__: like this
tsahyt 2017-02-28 21:15:57
@hoogle (f a -> f b) -> m (f (m a) -> f (m b))
lambdabot 2017-02-28 21:15:58
Data.List.Split.Internals build :: ((a -> [a] -> [a]) -> [a] -> [a]) -> [a]
lambdabot 2017-02-28 21:15:58
Data.Tuple.HT mapPair :: (a -> c, b -> d) -> (a, b) -> (c, d)
lambdabot 2017-02-28 21:15:58
Data.Tuple.Lazy mapPair :: (a -> c, b -> d) -> (a, b) -> (c, d)
tsahyt 2017-02-28 21:16:10
that's not helpful either then
mauke 2017-02-28 21:16:19
^ and that's the problem with @nick: lambdabot interprets every line starting with @ as a command
tsahyt 2017-02-28 21:16:47
@does it fail silently?
lambdabot 2017-02-28 21:16:48
it fail silently? not available
tsahyt 2017-02-28 21:17:00
or was I just unlucky there
mauke 2017-02-28 21:17:17
@ajsdkflaskdjfks
lambdabot 2017-02-28 21:17:17
Unknown command, try @list
mauke 2017-02-28 21:17:58
bonus feature: lambdabot tries to autocorrect typos in command names
tsahyt 2017-02-28 21:18:27
@hgoole (a -> b) -> f a -> f b
lambdabot 2017-02-28 21:18:27
Maybe you meant: hoogle google
tsahyt 2017-02-28 21:18:32
nice
mauke 2017-02-28 21:19:01
@quate
lambdabot 2017-02-28 21:19:02
Ezla says: Why does Haskell need so many thunks?
tsahyt 2017-02-28 21:22:01
under what circumstances can I get f a -> f b -> f (a -> b)?
tsahyt 2017-02-28 21:22:13
umm with parens
tsahyt 2017-02-28 21:22:21
(f a -> f b) -> f (a -> b)
tsahyt 2017-02-28 21:22:23
there
tsahyt 2017-02-28 21:23:15
no that's not useful either. welp, seems like I'm stuck
phadej 2017-02-28 21:31:48
tsahyt: IIRC (a -> m b) -> m (a -> b) is stronger requirement than "Monad"
tsahyt 2017-02-28 21:32:33
phadej: it seems so. at least in my case it requires "time travel" in both directions
tsahyt 2017-02-28 21:33:12
but I figured out that I can limit the scope of those time travelling things cleverly and produce functions of the required type anyhow
tsahyt 2017-02-28 21:34:14
and limiting the scope of computation is something that's going on in DSP all the time anyhow, so I already have those functions around to lift computations on buffers to my waves types
phadej 2017-02-28 21:39:28
strong monad is the one you an do (a, m b) -> m (a, b); but I have no idea what's the term for exponentiation: (,) is product, (->) is exponent
phadej 2017-02-28 21:40:51
at least if you belive http://comonad.com/reader/2008/deriving-strength-from-laziness/ has terminology right