Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 705 706 707 708 709 710 711 712 713 714 715 .. 18017
1,801,654 events total
2021-06-29 17:30:49 <boxscape_> Was Haskell ever meant to be used in production when the first person wrote `type FilePath = String`
2021-06-29 17:32:19 <dminuoso> boxscape_: Well it was standardized in Haskell98, and at that time it was mostly still academic curiosity, so..
2021-06-29 17:33:28 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e) (Remote host closed the connection)
2021-06-29 17:33:39 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
2021-06-29 17:35:56 × azeem quits (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Ping timeout: 252 seconds)
2021-06-29 17:36:55 <qrpnxz> i feel like sequenceA without functor could be it's own type class
2021-06-29 17:37:45 azeem joins (~azeem@176.200.239.16)
2021-06-29 17:38:29 arjun parts (~user@user/arjun) (ERC (IRC client for Emacs 28.0.50))
2021-06-29 17:38:37 monochrom sets mode -o monochrom
2021-06-29 17:38:49 <boxscape_> qrpnxz https://hackage.haskell.org/package/semigroupoids-5.3.5/docs/Data-Semigroup-Traversable.html#v:sequence1
2021-06-29 17:39:01 <boxscape_> or wait
2021-06-29 17:39:02 <qrpnxz> though to be fair, idk when you'd get such a structure full of applicatives, that you couldn't map into, that you'd want to sequence
2021-06-29 17:39:05 <boxscape_> I'm wrong
2021-06-29 17:39:11 <boxscape_> that's without pure, not without fmap
2021-06-29 17:39:19 <qrpnxz> yeah lol :)
2021-06-29 17:39:23 <qrpnxz> thanks for input tho
2021-06-29 17:39:44 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-29 17:39:51 <dminuoso> qrpnxz: I think it helps to think of the signature function as traverse, not sequence
2021-06-29 17:40:01 <monochrom> I don't understand "sequenceA without functor".
2021-06-29 17:40:28 <qrpnxz> simply a thing you can sequence, but you can't traverse it,
2021-06-29 17:40:42 <dsal> qrpnxz: Can you write an example?
2021-06-29 17:40:43 <qrpnxz> because to sequence you'd need fmap to do sequenceA . fmap
2021-06-29 17:40:59 <monochrom> I don't know what your definition of "sequence" is in this context.
2021-06-29 17:41:01 <qrpnxz> like i said, there might not be any real world use for it
2021-06-29 17:41:03 <qrpnxz> but it's a thing
2021-06-29 17:41:07 × dunkeln quits (~dunkeln@188.71.193.140) (Ping timeout: 246 seconds)
2021-06-29 17:41:09 <monochrom> Even in this context. Despite this context.
2021-06-29 17:41:18 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-29 17:41:26 <qrpnxz> by sequence i mean the exact same sequence from traversable type class
2021-06-29 17:41:28 <dminuoso> "but it's a thing"
2021-06-29 17:41:33 <qrpnxz> just without requiring fmap
2021-06-29 17:41:37 <dminuoso> Can you give a precise definition/example?
2021-06-29 17:41:59 <qrpnxz> so i can have a structure t (f a) and turn it into f (t a)
2021-06-29 17:42:11 <dsal> Yes, but like, an example that compiles. :)
2021-06-29 17:42:33 <dminuoso> qrpnxz: So I have a vague idea of what you *might* be looking for.
2021-06-29 17:42:56 <qrpnxz> sure you can just take an Identity Identity 1 and turn it into an Identity Identity 1, there's an example lol
2021-06-29 17:43:23 <dsal> But what's the function that does that look like?
2021-06-29 17:44:02 × azeem quits (~azeem@176.200.239.16) (Read error: Connection reset by peer)
2021-06-29 17:44:09 <qrpnxz> sequence (Identity fa) = fmap Identity fa
2021-06-29 17:44:33 <monochrom> OK for starters on how you are very vague and ambiguous: The type of "sequence" is "(Traversable t, Monad m) => t (m a) -> m (t a)". There are two constraints, "Traversable t" and "Monad m". Which one are you saying you can weaken?
2021-06-29 17:44:58 <monochrom> And that's just the most immediate ambiguity.
2021-06-29 17:45:06 <qrpnxz> like i said i'm talking about sequenceA but i don't wanna type sequenceA
2021-06-29 17:45:08 <qrpnxz> cmon
2021-06-29 17:45:54 <monochrom> You can do a great service to clarity and precision by stating positively the type and constraints you want, rather than merely what you don't want.
2021-06-29 17:46:02 azeem joins (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it)
2021-06-29 17:46:07 <qrpnxz> in this case it would be like (Constructable t, Applicative f => t (f a) -> f (t a) where Constructable is the name of a type class that just has sequenceA and no functor requirement
2021-06-29 17:46:09 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:48c3:15b7:84fd:d26e)
2021-06-29 17:46:36 <dminuoso> qrpnxz: I see. Unfoldable is that thing.
2021-06-29 17:46:48 <dminuoso> https://hackage.haskell.org/package/unfoldable-1.0.1/docs/Data-Unfoldable.html
2021-06-29 17:47:05 <dminuoso> unfold :: (Unfoldable t, Unfolder f) => f a -> f (t a)
2021-06-29 17:47:16 <qrpnxz> nice
2021-06-29 17:47:18 <dminuoso> In some way, we could think of Traversable as Foldable and Unfoldable.
2021-06-29 17:47:27 <qrpnxz> wait, unfolder?
2021-06-29 17:47:30 <dminuoso> (Im not sure whether this will actually hold for infinite structures, though)
2021-06-29 17:48:09 <qrpnxz> i think unfolder could just be functor but idk
2021-06-29 17:48:43 <dminuoso> qrpnxz: You need Alternative at least for the construction on f.
2021-06-29 17:48:57 <dsal> I find when I have confusion on things like this, I just try to do the thing that I think is obvious and find out either why it's not or build a thing and start using it.
2021-06-29 17:51:23 lavaman joins (~lavaman@98.38.249.169)
2021-06-29 17:52:02 <monochrom> I guess some people's stance is "the reason I am in IRC not IDE is precisely because I want to just talk"
2021-06-29 17:52:23 <qrpnxz> yeah this type signature does not match the one i gave really
2021-06-29 17:52:41 <qrpnxz> it's unfolder to unfolder of unfoldable
2021-06-29 17:53:06 <qrpnxz> monochrom, lmao thanks for that
2021-06-29 17:54:30 cheater1__ joins (~Username@user/cheater)
2021-06-29 17:54:46 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
2021-06-29 17:54:53 cheater1__ is now known as cheater
2021-06-29 17:55:16 <qrpnxz> if i try to look up my signature all i get is sequenceA lol, i don't think there is a package that does what i'm saying
2021-06-29 17:55:32 <qrpnxz> anyway like i said it probably has no good real world use, just a thought
2021-06-29 17:55:50 <monochrom> You can write mockup code and examples.
2021-06-29 17:56:56 × MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 256 seconds)
2021-06-29 17:57:49 MQ-17J joins (~MQ-17J@8.21.10.15)
2021-06-29 17:59:58 × acidjnk quits (~acidjnk@p200300d0c72b9572bd416add378a35d9.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2021-06-29 18:00:07 <dsal> Most of these things aren't very big. You could build Traversable from a description of it pretty quickly.
2021-06-29 18:00:20 <dsal> For your type of thing, I tend to just write up a couple of examples and then make them work.
2021-06-29 18:01:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-29 18:02:22 × jolly quits (~jolly@208.180.97.158) (Ping timeout: 272 seconds)
2021-06-29 18:02:43 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
2021-06-29 18:04:07 Pickchea joins (~private@user/pickchea)
2021-06-29 18:04:35 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-06-29 18:05:58 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
2021-06-29 18:06:13 × boxscape_ quits (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Quit: Connection closed)
2021-06-29 18:06:54 zmt01 joins (~zmt00@user/zmt00)
2021-06-29 18:07:01 boxscape_ joins (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
2021-06-29 18:07:35 jakalx joins (~jakalx@base.jakalx.net)
2021-06-29 18:09:06 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-06-29 18:09:23 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
2021-06-29 18:10:01 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 250 seconds)
2021-06-29 18:10:22 curiousgay joins (~curiousgg@77-120-144-167.kha.volia.net)
2021-06-29 18:13:00 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection)
2021-06-29 18:17:28 Feuermagier joins (~Feuermagi@user/feuermagier)
2021-06-29 18:20:40 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-29 18:22:24 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-29 18:25:34 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-29 18:26:51 dunkeln joins (~dunkeln@188.71.193.140)
2021-06-29 18:27:05 feliix42 joins (~felix@gibbs.uberspace.de)
2021-06-29 18:28:34 <qrpnxz> that simple https://termbin.com/nqdo
2021-06-29 18:30:42 × nschoe quits (~quassel@2a01:e0a:8e:a190:d025:e55c:9af3:6699) (Ping timeout: 240 seconds)
2021-06-29 18:30:58 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
2021-06-29 18:31:58 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
2021-06-29 18:33:34 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
2021-06-29 18:34:14 gehmehgeh joins (~user@user/gehmehgeh)

All times are in UTC.