2024/03/17

2024-03-17 00:03:15 +0100ChanServ+o monochrom
2024-03-17 00:03:38 +0100monochrom-b *!*@p200300ca7f01db0062e546154c67a65f.dip0.t-ipconnect.de
2024-03-17 00:03:44 +0100monochrom-o monochrom
2024-03-17 00:04:37 +0100 <geekosaur> eh? didn't use litharge?
2024-03-17 00:04:53 +0100 <geekosaur> (maybe I should have asked that in -ops)
2024-03-17 00:05:55 +0100Axman6(~Axman6@user/axman6) (Ping timeout: 258 seconds)
2024-03-17 00:06:04 +0100kalomus(~johah@p200300ca7f01db00dd803db2cb1b9831.dip0.t-ipconnect.de)
2024-03-17 00:06:24 +0100 <kalomus> hello
2024-03-17 00:06:41 +0100Axman6(~Axman6@user/axman6)
2024-03-17 00:07:14 +0100 <stefan-__> hololeap: some time ago I did a comparison of various xml libraries: https://github.com/dozed/basic-xml-benchmark-hs/ .. might point you towards some libraries
2024-03-17 00:11:03 +0100 <monochrom> geekosaur: I used litharge but I couldn't forgot the id.
2024-03-17 00:11:11 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-03-17 00:11:14 +0100 <hololeap> that one I linked hooks into xml-conduit (DOM) so I'm liking it even more now
2024-03-17 00:11:18 +0100 <monochrom> err, s/I couldn't forgot/I I forgot/
2024-03-17 00:12:08 +0100fansly(~fansly@2404:c0:5c20::1653:a2a2)
2024-03-17 00:12:14 +0100fansly(~fansly@2404:c0:5c20::1653:a2a2) (Client Quit)
2024-03-17 00:12:30 +0100fansly(~fansly@2404:c0:5c20::1653:a2a2)
2024-03-17 00:13:07 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2024-03-17 00:13:28 +0100kalomus(~johah@p200300ca7f01db00dd803db2cb1b9831.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-03-17 00:14:00 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com)
2024-03-17 00:14:48 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2024-03-17 00:15:29 +0100fansly(~fansly@2404:c0:5c20::1653:a2a2) (Client Quit)
2024-03-17 00:15:45 +0100fansly(~fansly@2404:c0:5c20::1653:a2a2)
2024-03-17 00:15:45 +0100fansly(~fansly@2404:c0:5c20::1653:a2a2) (Client Quit)
2024-03-17 00:19:39 +0100tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 260 seconds)
2024-03-17 00:20:27 +0100tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2024-03-17 00:25:23 +0100dolio(~dolio@130.44.134.54)
2024-03-17 00:27:13 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-03-17 00:30:23 +0100dolio(~dolio@130.44.134.54) (Ping timeout: 260 seconds)
2024-03-17 00:32:25 +0100dolio(~dolio@130.44.134.54)
2024-03-17 00:35:17 +0100ph88(~ph88@2a02:8109:9e26:c800:f65f:251b:cec:1ffa) (Quit: Leaving)
2024-03-17 00:43:28 +0100hiredman(~hiredman@frontier1.downey.family) (Quit: Lost terminal)
2024-03-17 00:56:02 +0100iteratee(~kyle@162.218.222.207) (Ping timeout: 252 seconds)
2024-03-17 01:05:15 +0100shapr`(~user@c-24-218-186-89.hsd1.ma.comcast.net)
2024-03-17 01:05:56 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 252 seconds)
2024-03-17 01:07:15 +0100shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 260 seconds)
2024-03-17 01:11:41 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-03-17 01:11:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 01:12:19 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
2024-03-17 01:21:43 +0100acidjnk(~acidjnk@p200300d6e737e7694d901d7278c02256.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-03-17 01:22:16 +0100rvalue(~rvalue@user/rvalue)
2024-03-17 01:24:47 +0100zenstoic(uid461840@id-461840.hampstead.irccloud.com)
2024-03-17 01:29:08 +0100CiaoSen(~Jura@2a05:5800:2d3:8f00:e6b9:7aff:fe80:3d03) (Ping timeout: 268 seconds)
2024-03-17 01:30:17 +0100noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-03-17 01:37:53 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-03-17 01:52:27 +0100iteratee(~kyle@162.218.222.207)
2024-03-17 01:56:49 +0100 <arahael> With sqlite-simple, I have a table, and another table that joins the first using a primary key with a many-one relationship. How can I add this data to the fromRow implementation?
2024-03-17 01:56:56 +0100 <arahael> Can fromRow itself do queries?
2024-03-17 01:57:51 +0100 <arahael> I want to do: fromRow = MyDataType <$> field <*> field <*> (related data from another table)
2024-03-17 02:02:08 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-17 02:07:30 +0100Square(~Square@user/square) (Ping timeout: 255 seconds)
2024-03-17 02:10:43 +0100 <arahael> I suspect what I ultimately should do is have data types that more closely represent the query rows but I'm wondering if I can avoid that.
2024-03-17 02:11:59 +0100Inst(~Inst@120.244.192.27) (Ping timeout: 264 seconds)
2024-03-17 02:13:08 +0100 <geekosaur> I'd be surprised if you could. (And the old database guy in the back of my head is whispering "you're doing it wrong"…)
2024-03-17 02:13:47 +0100agrosant(~agrosant@62.1.178.30.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-17 02:13:56 +0100 <arahael> Not really. I have a monsters stat table, and another table with "monster references" that describe the various book references I have for that monster.
2024-03-17 02:14:25 +0100 <arahael> One monster could be referenced in two different books.
2024-03-17 02:15:26 +0100 <arahael> So I think database wise, this is a sound schema.
2024-03-17 02:19:20 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-03-17 02:23:47 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2024-03-17 02:23:55 +0100 <arahael> (How would the old database guy in the back of your head suggest this?)
2024-03-17 02:26:36 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2024-03-17 02:27:39 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-17 02:28:52 +0100 <EvanR> arahael, you can use a tuple to get the results of a join query
2024-03-17 02:28:54 +0100 <geekosaur> oh, it's a sound schema; it's trying to combine them into a single row like that without doing it on the database side (that is, a join) that is unsound
2024-03-17 02:29:04 +0100agrosant(~agrosant@77.49.175.249.dsl.dyn.forthnet.gr)
2024-03-17 02:29:05 +0100 <EvanR> if you don't want to make a dedicated type
2024-03-17 02:30:05 +0100 <EvanR> sqlite-simple doesn't care if your results reflect an object or a random combination of things made with SQL
2024-03-17 02:30:30 +0100 <geekosaur> doing it in fromRow on the "one" side may produce more than one row, doing it on the "many" side reqquires an extra SELECT which not only isn't permitted by fromRow's type, but will be fairly slow unless it's cached somewhere
2024-03-17 02:32:38 +0100 <arahael> geekosaur: If I did it as a join, it would be multiple rows.
2024-03-17 02:32:51 +0100 <arahael> EvanR: How do I do that?
2024-03-17 02:33:05 +0100 <arahael> I would prefer not to make dedicated types.
2024-03-17 02:33:12 +0100 <geekosaur> well, yes. but if it's one to many, it is multiple rows
2024-03-17 02:34:00 +0100 <arahael> geekosaur: fromRow's type contains these book references as a list type.
2024-03-17 02:38:18 +0100 <geekosaur> mm. think I'd make those `Maybe`s and fill them in afterward
2024-03-17 02:38:38 +0100 <geekosaur> (or the HKD version if you want to be fancy-pants)
2024-03-17 02:40:31 +0100 <arahael> geekosaur: Well, it's a list, so I could have them start out as empty.
2024-03-17 02:40:39 +0100 <arahael> What's the HKD approach?
2024-03-17 02:41:23 +0100 <arahael> I need to head out. But filling them in afterwards seems the way to go.
2024-03-17 02:41:34 +0100 <geekosaur> instead of having separate `(Maybe thing)` and `thing` versions, you have one `f thing` and instantiate `f` as `Maybe` or `Identity`, possibly with a type family to hide the `Identity` one
2024-03-17 02:42:08 +0100 <geekosaur> ime it's not worth the hassle, but some folks like it
2024-03-17 02:42:21 +0100Inst(~Inst@120.244.192.27)
2024-03-17 02:42:27 +0100 <arahael> I think it'd be easier to have db-specific types if I was going that all out on it. I'm not going to do that.
2024-03-17 02:42:38 +0100 <arahael> Ok, I gotta head out, thanks for the help and suggestions!
2024-03-17 03:05:45 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be)
2024-03-17 03:05:59 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2024-03-17 03:06:30 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-03-17 03:08:18 +0100jargon(~jargon@154.sub-174-205-226.myvzw.com) (Remote host closed the connection)
2024-03-17 03:22:34 +0100tri(~tri@2607:fb90:b106:c472:7c70:7015:b6f2:5501)
2024-03-17 03:31:01 +0100puke(~puke@user/puke) (Ping timeout: 264 seconds)
2024-03-17 03:31:47 +0100agrosant(~agrosant@77.49.175.249.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-17 03:33:48 +0100zenstoic(uid461840@id-461840.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-17 03:34:27 +0100otto_s(~user@p4ff27f66.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-03-17 03:36:07 +0100otto_s(~user@p4ff271cb.dip0.t-ipconnect.de)
2024-03-17 03:39:45 +0100darkstardevx(~darkstard@50.53.3.2) (Quit: Leaving)
2024-03-17 03:41:04 +0100tri(~tri@2607:fb90:b106:c472:7c70:7015:b6f2:5501) (Remote host closed the connection)
2024-03-17 03:41:13 +0100rainbyte(~rainbyte@186.22.19.215) (Ping timeout: 264 seconds)
2024-03-17 03:51:31 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2024-03-17 04:01:21 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-03-17 04:05:02 +0100op_4(~tslil@user/op-4/x-9116473) (Remote host closed the connection)
2024-03-17 04:05:36 +0100op_4(~tslil@user/op-4/x-9116473)
2024-03-17 04:10:22 +0100h2t(~h2t@user/h2t) (Ping timeout: 255 seconds)
2024-03-17 04:10:37 +0100h2t(~h2t@user/h2t)
2024-03-17 04:22:30 +0100shapr`(~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 255 seconds)
2024-03-17 04:29:59 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-03-17 04:33:16 +0100Inst(~Inst@120.244.192.27) (Read error: Connection reset by peer)
2024-03-17 04:50:58 +0100td_(~td@i53870919.versanet.de) (Ping timeout: 264 seconds)
2024-03-17 04:52:33 +0100td_(~td@i53870920.versanet.de)
2024-03-17 04:52:40 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-17 04:56:25 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be) (Ping timeout: 272 seconds)
2024-03-17 05:11:37 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-03-17 05:13:01 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-17 05:13:40 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-17 05:15:13 +0100aforemny_(~aforemny@i59f516cb.versanet.de)
2024-03-17 05:15:25 +0100rainbyte(~rainbyte@186.22.19.215)
2024-03-17 05:16:22 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-17 05:16:37 +0100aforemny(~aforemny@i59F516EC.versanet.de) (Ping timeout: 264 seconds)
2024-03-17 05:18:43 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-17 05:21:33 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
2024-03-17 05:24:43 +0100tri(~tri@2607:fb90:b116:460b:5c36:e7a2:712f:e2fd)
2024-03-17 05:27:14 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-17 05:27:54 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-17 06:14:47 +0100renpose(~renpose@user/renpose) (Ping timeout: 250 seconds)
2024-03-17 06:38:25 +0100xal(~xal@mx1.xal.systems) ()
2024-03-17 06:38:48 +0100Flow(~none@gentoo/developer/flow) (Ping timeout: 260 seconds)
2024-03-17 06:40:52 +0100xal(~xal@mx1.xal.systems)
2024-03-17 06:44:03 +0100Flow(~none@gentoo/developer/flow)
2024-03-17 06:45:47 +0100tri(~tri@2607:fb90:b116:460b:5c36:e7a2:712f:e2fd) (Remote host closed the connection)
2024-03-17 06:50:58 +0100tri(~tri@2607:fb90:b106:c578:407d:628f:12f9:20e7)
2024-03-17 07:07:00 +0100phma(phma@2001:5b0:210b:b018:f5e4:5fc6:92c7:7a79) (Read error: Connection reset by peer)
2024-03-17 07:07:51 +0100phma(~phma@2001:5b0:215d:bd98:a5e5:2cbf:8dd6:d196)
2024-03-17 07:18:08 +0100lambdaRule(~lambdaRul@node-1w7jr9phpv013atdkr90xvsbv.ipv6.telus.net)
2024-03-17 07:36:54 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-17 07:37:10 +0100rainbyte(~rainbyte@186.22.19.215) (Read error: Connection reset by peer)
2024-03-17 07:37:55 +0100rainbyte(~rainbyte@186.22.19.215)
2024-03-17 07:39:57 +0100tri(~tri@2607:fb90:b106:c578:407d:628f:12f9:20e7) (Remote host closed the connection)
2024-03-17 07:44:26 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be)
2024-03-17 07:52:26 +0100lambdaRule(~lambdaRul@node-1w7jr9phpv013atdkr90xvsbv.ipv6.telus.net) (Quit: Client closed)
2024-03-17 07:58:57 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-03-17 08:00:07 +0100tt1231(~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Quit: The Lounge - https://thelounge.chat)
2024-03-17 08:02:18 +0100tt1231(~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com)
2024-03-17 08:08:13 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-03-17 08:08:35 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-17 08:10:11 +0100Axman6(~Axman6@user/axman6) (Remote host closed the connection)
2024-03-17 08:10:29 +0100Axman6(~Axman6@user/axman6)
2024-03-17 08:23:12 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 08:23:39 +0100 <arahael> geekosaur: Update: It worked really nicely, took me a bit of a moment to figure out how to do it because I didn't have enough to complete the type, until I realised that it was using an Applicative instance, so I could easily put in the instance I wanted using pure.
2024-03-17 08:24:05 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-03-17 08:36:02 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 08:37:29 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be) (Ping timeout: 252 seconds)
2024-03-17 08:39:41 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds)
2024-03-17 08:57:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 08:59:34 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-17 09:09:09 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-17 09:11:51 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-03-17 09:13:41 +0100rainbyte(~rainbyte@186.22.19.215) (Ping timeout: 240 seconds)
2024-03-17 09:16:45 +0100acidjnk(~acidjnk@p200300d6e737e769fdca3fda7a69273f.dip0.t-ipconnect.de)
2024-03-17 09:20:31 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Ping timeout: 260 seconds)
2024-03-17 09:22:39 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-03-17 09:23:31 +0100euleritian(~euleritia@dynamic-176-006-178-041.176.6.pool.telefonica.de)
2024-03-17 09:24:27 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-17 09:40:11 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
2024-03-17 09:53:16 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-03-17 09:56:59 +0100tv(~tv@user/tv) (Ping timeout: 264 seconds)
2024-03-17 09:59:48 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2024-03-17 10:09:08 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-03-17 10:10:25 +0100tv(~tv@user/tv)
2024-03-17 10:14:53 +0100 <lyxia> Has anyone used Control.Monad.ST.Lazy? Anything that uses mutability is going to be a strict action anyway so I don't see the point.
2024-03-17 10:22:09 +0100 <c_wraith> I see the point, but in every case in which I see the point, unsafeInterleaveST is easier to understand.
2024-03-17 10:22:33 +0100 <c_wraith> One instance being some algorithm running on mutable data that produces a stream of results
2024-03-17 10:22:43 +0100 <c_wraith> The result stream is pure, and making it lazy is nice.
2024-03-17 10:25:19 +0100 <c_wraith> Maybe lazy ST can solve that same problem without needing to make sure you use unsafeInterleaveST correctly?
2024-03-17 10:27:32 +0100 <lyxia> That might be it, and I tend to agree with your assessment.
2024-03-17 10:31:09 +0100 <c_wraith> yeah, it does seem to allow that use case
2024-03-17 10:32:42 +0100Kayzen(~Kayzen@p200300ca7f01db0062e546154c67a65f.dip0.t-ipconnect.de)
2024-03-17 10:33:55 +0100gmg(~user@user/gehmehgeh)
2024-03-17 10:36:16 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 10:36:16 +0100 <c_wraith> > let xs = LST.runST $ do { r <- LST.newSTRef 0 ; fix $ \loop -> do { x <- LST.readSTRef r ; LST.writeSTRef r $! x + 1 ; (x:) <$> loop } } in take 10 xs
2024-03-17 10:36:18 +0100 <lambdabot> [0,1,2,3,4,5,6,7,8,9]
2024-03-17 10:36:40 +0100 <c_wraith> ... after having told lambdabot to import Control.Monad.ST.Lazy and Data.STRef.Lazy as LST
2024-03-17 10:38:14 +0100 <c_wraith> and that's clearly something that wouldn't terminate with regular ST, without unsafeInterleaveST
2024-03-17 10:46:02 +0100 <lyxia> too bad it can't stream trees
2024-03-17 10:47:45 +0100 <c_wraith> yeah, unsafeInterleaveST is still more powerful. And maybe easier to understand.
2024-03-17 10:48:49 +0100 <c_wraith> also, I'm not actually sure that $! in my example is doing anything.
2024-03-17 10:49:27 +0100 <c_wraith> I'm going to continue to just use unsafeInterleaveST, because I can actually predict it.
2024-03-17 10:58:28 +0100Kayzenkayzen
2024-03-17 11:09:21 +0100 <kayzen> How does the garbage collection work in haskell? I cant wrap my head around how having no mutable variables can be efficient.
2024-03-17 11:19:20 +0100kayzen(~Kayzen@p200300ca7f01db0062e546154c67a65f.dip0.t-ipconnect.de) (WeeChat 4.2.1)
2024-03-17 11:30:35 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 11:31:34 +0100 <tomsmeding> similar to other languages, I think
2024-03-17 11:31:47 +0100 <tomsmeding> oh they left
2024-03-17 11:35:42 +0100 <tomsmeding> > let xs = runST $ do { r <- newSTRef 0 ; fix $ \loop -> do { x <- readSTRef r ; writeSTRef r $! x + 1 ; (x:) <$> Control.Monad.ST.Unsafe.unsafeInterleaveST loop } } in take 10 xs
2024-03-17 11:35:43 +0100 <lambdabot> error:
2024-03-17 11:35:43 +0100 <lambdabot> Not in scope: ‘Control.Monad.ST.Unsafe.unsafeInterleaveST’
2024-03-17 11:35:43 +0100 <lambdabot> No module named ‘Control.Monad.ST.Unsafe’ is imported.
2024-03-17 11:35:55 +0100 <tomsmeding> @let import qualified Control.Monad.ST.Unsafe as STUnsafe
2024-03-17 11:35:56 +0100 <lambdabot> /sandbox/tmp/.L.hs:65:1: error:
2024-03-17 11:35:56 +0100 <lambdabot> Control.Monad.ST.Unsafe: Can't be safely imported!
2024-03-17 11:35:56 +0100 <lambdabot> The module itself isn't safe.
2024-03-17 11:36:13 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-17 11:36:36 +0100 <tomsmeding> % let xs = runST $ do { r <- newSTRef 0 ; fix $ \loop -> do { x <- readSTRef r ; writeSTRef r $! x + 1 ; (x:) <$> STUnsafe.unsafeInterleaveST loop } } in take 10 xs
2024-03-17 11:36:36 +0100 <yahb2> [0,1,2,3,4,5,6,7,8,9]
2024-03-17 11:42:29 +0100kayzen(~kayzen@p200300ca7f01db0062e546154c67a65f.dip0.t-ipconnect.de)
2024-03-17 11:46:44 +0100kayzen(~kayzen@p200300ca7f01db0062e546154c67a65f.dip0.t-ipconnect.de) (Changing host)
2024-03-17 11:46:44 +0100kayzen(~kayzen@user/kayzen)
2024-03-17 11:46:53 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-03-17 11:50:50 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-17 11:53:41 +0100mei(~mei@user/mei) (Ping timeout: 240 seconds)
2024-03-17 11:53:56 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-03-17 11:54:47 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-17 11:57:40 +0100mei(~mei@user/mei)
2024-03-17 11:59:26 +0100kayzen(~kayzen@user/kayzen) (Quit: WeeChat 4.2.1)
2024-03-17 11:59:42 +0100kayzen(~kayzen@user/kayzen)
2024-03-17 11:59:44 +0100kayzen(~kayzen@user/kayzen) (Client Quit)
2024-03-17 12:02:07 +0100puke(~puke@user/puke)
2024-03-17 12:02:35 +0100puke(~puke@user/puke) (Remote host closed the connection)
2024-03-17 12:03:09 +0100puke(~puke@user/puke)
2024-03-17 12:03:50 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-17 12:06:22 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-17 12:09:32 +0100remedan(~remedan@ip-78-102-118-253.bb.vodafone.cz) (Ping timeout: 268 seconds)
2024-03-17 12:11:16 +0100remedan(~remedan@ip-78-102-118-253.bb.vodafone.cz)
2024-03-17 12:14:51 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2024-03-17 12:18:25 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 264 seconds)
2024-03-17 12:20:34 +0100target_i(~target_i@user/target-i/x-6023099)
2024-03-17 12:21:21 +0100Square(~Square@user/square)
2024-03-17 12:27:08 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-03-17 12:34:54 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-17 12:44:08 +0100__monty__(~toonn@user/toonn)
2024-03-17 12:51:11 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-17 12:53:42 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-17 12:56:32 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-17 13:02:46 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-17 13:04:30 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-03-17 13:06:19 +0100pavonia(~user@user/siracusa)
2024-03-17 13:06:30 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-03-17 13:13:20 +0100caconym5(~caconym@user/caconym)
2024-03-17 13:15:17 +0100caconym(~caconym@user/caconym) (Ping timeout: 240 seconds)
2024-03-17 13:15:17 +0100caconym5caconym
2024-03-17 13:23:23 +0100ph88(~ph88@2a02:8109:9e26:c800:f65f:251b:cec:1ffa)
2024-03-17 13:23:43 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 13:23:43 +0100 <ph88> Does anyone have experience with Data.Judy? Is it really faster than Map and HashMap ?
2024-03-17 13:32:42 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-03-17 13:36:23 +0100 <probie> ph88: What operations are you doing? There are definitely a lot of use cases where a judy array (or even just a regular mutable hashmap) will outperform `Map` and `HashMap`.
2024-03-17 13:40:15 +0100 <ph88> mutable hashmap from hashtables ?
2024-03-17 13:40:40 +0100 <ph88> well i'm doing inserts and lookups. Or i will when my code is ready ^^
2024-03-17 13:51:52 +0100fmd(~fmd@user/framend)
2024-03-17 13:52:19 +0100ph88(~ph88@2a02:8109:9e26:c800:f65f:251b:cec:1ffa) (Remote host closed the connection)
2024-03-17 13:53:53 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-03-17 13:54:17 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-17 13:54:27 +0100ph88(~ph88@2a02:8109:9e26:c800:7ba6:3830:f8a7:cda7)
2024-03-17 14:18:22 +0100 <tomsmeding> ph88: if you're currently using an immutable map like containers:Map or unordered-containers:HashMap, and you are fine with the map living in ST or IO, I'd start with plain @hackage hashtables
2024-03-17 14:18:37 +0100 <tomsmeding> you can always benchmark and see if you need something special
2024-03-17 14:19:39 +0100kronicmage(~kronicmag@neotame.csclub.uwaterloo.ca) (Ping timeout: 268 seconds)
2024-03-17 14:24:18 +0100kronicmage(~kronicmag@neotame.csclub.uwaterloo.ca)
2024-03-17 14:31:18 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-17 14:34:32 +0100kotrcka(~user@92.63.48.18)
2024-03-17 14:34:51 +0100Guest63(~Guest63@p200300c4172b098282ea4b143076f5c0.dip0.t-ipconnect.de)
2024-03-17 14:37:41 +0100acidjnk(~acidjnk@p200300d6e737e769fdca3fda7a69273f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2024-03-17 14:42:03 +0100tv(~tv@user/tv) (Ping timeout: 260 seconds)
2024-03-17 14:54:39 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-03-17 14:54:39 +0100pastly(~pastly@gateway/tor-sasl/pastly) (Remote host closed the connection)
2024-03-17 14:54:39 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-03-17 14:54:39 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-03-17 14:54:39 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2024-03-17 14:54:39 +0100chiselfuse(~chiselfus@user/chiselfuse) (Read error: Connection reset by peer)
2024-03-17 14:55:14 +0100califax(~califax@user/califx)
2024-03-17 14:55:23 +0100pastly(~pastly@gateway/tor-sasl/pastly)
2024-03-17 14:55:46 +0100tv(~tv@user/tv)
2024-03-17 14:56:03 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-03-17 14:56:32 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-03-17 14:56:42 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-03-17 14:57:04 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-17 14:58:26 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-03-17 14:59:05 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-17 15:02:37 +0100fmd(~fmd@user/framend) (Quit: Need to build more programs… Always more…)
2024-03-17 15:02:52 +0100agrosant(~agrosant@46.246.200.116.dsl.dyn.forthnet.gr)
2024-03-17 15:09:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 15:09:50 +0100noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2024-03-17 15:19:46 +0100Etabeta1(~Etabeta1@176.207.241.56) (Changing host)
2024-03-17 15:19:46 +0100Etabeta1(~Etabeta1@user/Etabeta1)
2024-03-17 15:22:53 +0100kayzen(~kayzen@user/kayzen)
2024-03-17 15:27:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2024-03-17 15:31:13 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-03-17 15:31:14 +0100pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2024-03-17 15:33:58 +0100pavonia(~user@user/siracusa)
2024-03-17 15:36:12 +0100kotrcka(~user@92.63.48.18) (Remote host closed the connection)
2024-03-17 15:39:35 +0100agrosant(~agrosant@46.246.200.116.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-17 15:40:10 +0100target_i(~target_i@user/target-i/x-6023099)
2024-03-17 15:41:59 +0100kalomus(~kalomus@user/kalomus)
2024-03-17 15:44:47 +0100Etabeta1(~Etabeta1@user/Etabeta1) (Remote host closed the connection)
2024-03-17 15:45:20 +0100jau(~user@2a04:4540:7201:c200:3595:a417:1479:38de)
2024-03-17 15:49:37 +0100Etabeta1(~Etabeta1@176.207.241.56)
2024-03-17 15:59:52 +0100kalomus(~kalomus@user/kalomus) (Ping timeout: 268 seconds)
2024-03-17 16:01:09 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 16:04:32 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Quit: Later)
2024-03-17 16:05:07 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 16:05:09 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 16:06:32 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 16:12:20 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Quit: Later)
2024-03-17 16:12:41 +0100 <ph88> thx tomsmeding
2024-03-17 16:17:31 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 16:17:50 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 16:20:18 +0100son0p(~ff@167.0.168.212) (Quit: Bye)
2024-03-17 16:22:05 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 240 seconds)
2024-03-17 16:22:52 +0100kayzen(~kayzen@user/kayzen) (Quit: WeeChat 4.2.1)
2024-03-17 16:23:07 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 16:23:21 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 16:23:47 +0100kayzen(~kayzen@p200300ca7f01db0062e546154c67a65f.dip0.t-ipconnect.de)
2024-03-17 16:23:47 +0100kayzen(~kayzen@p200300ca7f01db0062e546154c67a65f.dip0.t-ipconnect.de) (Changing host)
2024-03-17 16:23:47 +0100kayzen(~kayzen@user/kayzen)
2024-03-17 16:24:05 +0100kayzen(~kayzen@user/kayzen) ()
2024-03-17 16:25:30 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 16:25:31 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 16:29:15 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 16:35:32 +0100pagnol(~user@2a02:a210:a41:dc00:c9f1:8875:1a99:fe45)
2024-03-17 16:36:24 +0100 <pagnol> I'm looking at Haskell again after a long break, wondering if anything has happened that improved the situation around records?
2024-03-17 16:37:20 +0100 <Rembane> pagnol: When did you last do Haskell?
2024-03-17 16:37:59 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 16:38:22 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 16:38:22 +0100 <pagnol> Good question, I think mostly before the ghc 8 release
2024-03-17 16:38:23 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 16:39:00 +0100 <Rembane> Cool, that's some time ago. Welcome back!
2024-03-17 16:39:47 +0100 <Rembane> I think these language extensions are the most concrete improvements to record handling: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/records.html
2024-03-17 16:40:57 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 255 seconds)
2024-03-17 16:41:34 +0100renpose(~renpose@user/renpose)
2024-03-17 16:43:33 +0100ph88^(~ph88@2a02:8109:9e26:c800:8668:b31a:4027:3858)
2024-03-17 16:44:28 +0100 <tomsmeding> interesting that -XNoTraditionalRecordSyntax exists
2024-03-17 16:46:11 +0100ph88(~ph88@2a02:8109:9e26:c800:7ba6:3830:f8a7:cda7) (Ping timeout: 260 seconds)
2024-03-17 16:50:31 +0100 <pagnol> maybe that would come in handy if one decided to use lenses entirely?
2024-03-17 16:50:58 +0100chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
2024-03-17 16:51:13 +0100son0p(~ff@167.0.168.212)
2024-03-17 16:53:01 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-17 16:53:02 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 16:54:45 +0100 <yushyin> DuplicateRecordFields, NamedFieldPuns, NoFieldSelectors is my usual baseline by now
2024-03-17 16:55:32 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-17 16:58:01 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-17 17:00:11 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 260 seconds)
2024-03-17 17:02:42 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk)
2024-03-17 17:03:26 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 17:05:15 +0100jau(~user@2a04:4540:7201:c200:3595:a417:1479:38de) (Quit: Leaving)
2024-03-17 17:05:59 +0100acidjnk(~acidjnk@p200300d6e737e741c1187d44ef12676b.dip0.t-ipconnect.de)
2024-03-17 17:08:35 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-17 17:09:14 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-17 17:10:58 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 17:12:43 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 256 seconds)
2024-03-17 17:13:05 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 17:13:40 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-17 17:16:50 +0100Etabeta1(~Etabeta1@176.207.241.56) (Quit: quit)
2024-03-17 17:16:56 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 17:19:30 +0100Etabeta1(~Etabeta1@176.207.241.56)
2024-03-17 17:22:11 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2024-03-17 17:22:35 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2024-03-17 17:25:31 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 17:26:51 +0100zetef(~quassel@5.2.182.98)
2024-03-17 17:31:16 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-03-17 17:36:32 +0100renpose(~renpose@user/renpose) (Quit: Client closed)
2024-03-17 17:38:41 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 17:38:48 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 17:43:09 +0100euleritian(~euleritia@dynamic-176-006-178-041.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-17 17:43:38 +0100euleritian(~euleritia@dynamic-176-006-178-041.176.6.pool.telefonica.de)
2024-03-17 17:45:29 +0100renpose(~renpose@user/renpose)
2024-03-17 17:45:57 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-03-17 17:53:35 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-17 17:54:10 +0100mankeh(~user@2001:1711:fa40:d540:ddcb:6e5c:48d7:685c)
2024-03-17 17:55:15 +0100zetef(~quassel@5.2.182.98) (Ping timeout: 260 seconds)
2024-03-17 17:59:31 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 17:59:33 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 18:00:52 +0100mankeh(~user@2001:1711:fa40:d540:ddcb:6e5c:48d7:685c) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1))
2024-03-17 18:02:50 +0100abhishek(~abhishek@2406:7400:63:823e:f50a:dfc3:3885:99a9)
2024-03-17 18:05:26 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 18:05:28 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 18:10:37 +0100megaTherion(~therion@unix.io) (Remote host closed the connection)
2024-03-17 18:11:12 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 18:11:19 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 18:12:10 +0100megaTherion(~therion@unix.io)
2024-03-17 18:15:03 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 272 seconds)
2024-03-17 18:22:04 +0100jargon(~jargon@174.sub-174-205-227.myvzw.com)
2024-03-17 18:26:03 +0100abhishek(~abhishek@2406:7400:63:823e:f50a:dfc3:3885:99a9) (Quit: Client closed)
2024-03-17 18:26:03 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 18:27:17 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 18:30:02 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) (Client Quit)
2024-03-17 18:31:52 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 268 seconds)
2024-03-17 18:35:42 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-03-17 18:42:54 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 18:46:53 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 252 seconds)
2024-03-17 18:48:34 +0100euleritian(~euleritia@dynamic-176-006-178-041.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-17 18:48:52 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-17 18:55:28 +0100agrosant(~agrosant@188.4.15.138.dsl.dyn.forthnet.gr)
2024-03-17 18:55:30 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-03-17 18:56:10 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-17 18:56:13 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 246 seconds)
2024-03-17 18:57:35 +0100tri(~tri@ip70-188-174-61.ri.ri.cox.net)
2024-03-17 18:57:39 +0100julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752)
2024-03-17 18:58:50 +0100rvalue(~rvalue@user/rvalue)
2024-03-17 19:00:48 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-03-17 19:01:16 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-03-17 19:01:59 +0100euleritian(~euleritia@dynamic-176-006-178-041.176.6.pool.telefonica.de)
2024-03-17 19:02:22 +0100tri(~tri@ip70-188-174-61.ri.ri.cox.net) (Ping timeout: 264 seconds)
2024-03-17 19:03:08 +0100 <cheater> is return in rust like return in haskell or like return in visualjavacobolscript
2024-03-17 19:06:17 +0100todi(~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
2024-03-17 19:06:35 +0100agrosant(~agrosant@188.4.15.138.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds)
2024-03-17 19:07:19 +0100todi(~todi@p57803331.dip0.t-ipconnect.de)
2024-03-17 19:07:23 +0100 <yushyin> https://doc.rust-lang.org/std/keyword.return.html this?
2024-03-17 19:07:36 +0100 <tomsmeding> return in rust is standard imperative return
2024-03-17 19:07:39 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-03-17 19:07:53 +0100 <tomsmeding> the only non-traditional thing in rust is that an expression as the last thing in a block is implicitly retuend
2024-03-17 19:07:55 +0100 <tomsmeding> *returned
2024-03-17 19:08:12 +0100julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
2024-03-17 19:09:25 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 19:15:27 +0100 <EvanR> return in haskell :(
2024-03-17 19:15:40 +0100 <EvanR> not what it says on the tin
2024-03-17 19:15:42 +0100 <tomsmeding> are you of camp pure
2024-03-17 19:16:00 +0100 <EvanR> in context of this question about rust yes
2024-03-17 19:16:38 +0100 <tomsmeding> I'm on the fence but I wouldn't complain if 'return' were deprecated or something
2024-03-17 19:16:45 +0100 <tomsmeding> ignoring backwards compatibility
2024-03-17 19:16:56 +0100 <EvanR> if you give me decades of return in other languages, I give you :( haskell's naming of return
2024-03-17 19:17:03 +0100 <tomsmeding> if you don't ignore backwards compatibility (i.e. practically) I'm vehemently against deprecating 'return' :p
2024-03-17 19:17:09 +0100 <tomsmeding> yes
2024-03-17 19:20:34 +0100ystael(~ystael@user/ystael)
2024-03-17 19:21:07 +0100zetef(~quassel@5.2.182.98)
2024-03-17 19:25:35 +0100 <probie> Personally, I'm for `return` being deprecated, but over a period of time in the order of 5-10 years
2024-03-17 19:28:29 +0100YoungFrog(~youngfrog@2a02:a03f:c9db:fc00:f708:1cd6:a732:30b)
2024-03-17 19:31:03 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 272 seconds)
2024-03-17 19:31:49 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 19:38:27 +0100euphores(~SASL_euph@user/euphores)
2024-03-17 19:39:19 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 260 seconds)
2024-03-17 19:40:39 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 19:40:48 +0100 <cheater> i prefer haskell's return
2024-03-17 19:40:53 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 19:41:22 +0100euleritian(~euleritia@dynamic-176-006-178-041.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-17 19:41:39 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-17 19:42:31 +0100 <tomsmeding> cheater: also in an imperative language? Or do you mean you prefer 'return' over 'pure'
2024-03-17 19:42:54 +0100 <cheater> i don't see a problem with either
2024-03-17 19:43:20 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 19:43:23 +0100 <cheater> i never like, find myself programming in bash, writing return 1, and thinking it'll create an array that contains 1 as the first element
2024-03-17 19:43:38 +0100 <tomsmeding> well that's what it'd do in haskell
2024-03-17 19:43:44 +0100 <tomsmeding> so what do you mean that you prefer haskell's return? :p
2024-03-17 19:44:21 +0100 <cheater> no, i mean that i prefer things the way they are right now and there's no confusion.
2024-03-17 19:44:30 +0100 <tomsmeding> right
2024-03-17 19:44:37 +0100 <cheater> the usual argument is that it's too confusing to have the same name for two different things
2024-03-17 19:45:04 +0100 <tomsmeding> I think 99.999% of the confusion about the name 'return' is expecting imperative-language-return in haskell, not the other way round :p
2024-03-17 19:45:07 +0100 <cheater> and so people keep coming up with various names: yield, wrap, pure, pack, ...
2024-03-17 19:45:16 +0100 <cheater> yeah well
2024-03-17 19:45:27 +0100 <cheater> there's more confusing things than that in haskell if you've never programmed in haskell
2024-03-17 19:45:31 +0100 <tomsmeding> for sure
2024-03-17 19:45:31 +0100 <cheater> it's just stuff that needs to be learned
2024-03-17 19:45:42 +0100 <cheater> can't be good on the first day
2024-03-17 19:46:16 +0100ystael(~ystael@user/ystael) (Ping timeout: 246 seconds)
2024-03-17 19:47:27 +0100 <tomsmeding> hence my stand on this -- I think 'pure' is a better name than 'return' for haskell's thing, so idealistically I'd say that 'return' be deprecated (but the sheer backwards compatibility cataclysm means that I think this is actually a very bad idea)
2024-03-17 19:47:36 +0100 <tomsmeding> but I don't really mind if things stay the way they are
2024-03-17 19:47:43 +0100 <tomsmeding> MonadOfNoReturn would be cute, though
2024-03-17 19:49:29 +0100 <cheater> pure isn't for monads though.
2024-03-17 19:49:44 +0100 <tomsmeding> it works just fine for monads
2024-03-17 19:49:53 +0100 <tomsmeding> same reason why we don't need mempty now that Semigroup => Monoid
2024-03-17 19:50:15 +0100 <cheater> only coincidentally, but conflating these for the convenience of people who don't care to learn the most basic things in haskell isn't a huge selling point for me
2024-03-17 19:50:20 +0100 <tomsmeding> or would you prefer to use 'return' when you're using the thing as a monad, and 'pure' when you aren't?
2024-03-17 19:50:33 +0100 <cheater> our community is tiny enough as it is, if you break all libraries ever for a bullshit reason the language will finally die
2024-03-17 19:50:35 +0100 <tomsmeding> I don't think it's a conflation
2024-03-17 19:50:40 +0100 <tomsmeding> they are the same thing!
2024-03-17 19:51:11 +0100 <tomsmeding> fair
2024-03-17 19:57:27 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-17 19:58:26 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-17 20:02:07 +0100k_hachig(~k_hachig@2607:fea8:351d:ef0:dd3f:bd40:d39e:dac7)
2024-03-17 20:03:46 +0100zetef(~quassel@5.2.182.98) (Ping timeout: 246 seconds)
2024-03-17 20:05:07 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-03-17 20:05:54 +0100euleritian(~euleritia@77.22.252.56)
2024-03-17 20:07:33 +0100Mr(~junkedsta@78.16.193.114)
2024-03-17 20:08:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 20:11:32 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 20:16:01 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 272 seconds)
2024-03-17 20:16:11 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
2024-03-17 20:18:06 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 20:19:05 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 20:21:38 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 20:22:08 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-03-17 20:32:50 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-03-17 20:35:45 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 20:37:47 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 20:38:50 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 20:39:25 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-17 20:41:18 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 20:42:54 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be)
2024-03-17 20:44:51 +0100tri(~tri@ip70-188-174-61.ri.ri.cox.net)
2024-03-17 20:47:17 +0100k_hachig(~k_hachig@2607:fea8:351d:ef0:dd3f:bd40:d39e:dac7) (Ping timeout: 240 seconds)
2024-03-17 20:50:13 +0100tri(~tri@ip70-188-174-61.ri.ri.cox.net) (Ping timeout: 272 seconds)
2024-03-17 20:54:51 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 20:55:23 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 260 seconds)
2024-03-17 20:55:23 +0100Mr(~junkedsta@78.16.193.114) (Ping timeout: 260 seconds)
2024-03-17 20:56:48 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 20:57:04 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 20:57:26 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 20:58:23 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-03-17 20:59:26 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 21:03:54 +0100pagnol(~user@2a02:a210:a41:dc00:c9f1:8875:1a99:fe45) (Remote host closed the connection)
2024-03-17 21:06:35 +0100rscastilho2024(~rscastilh@179.221.142.47) (Ping timeout: 252 seconds)
2024-03-17 21:09:04 +0100rscastilho2024(~rscastilh@179.221.142.47)
2024-03-17 21:09:45 +0100Sgeo(~Sgeo@user/sgeo)
2024-03-17 21:10:42 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 21:11:25 +0100adium(adium@user/adium) (Quit: Stable ZNC by #bnc4you)
2024-03-17 21:12:56 +0100causal(~eric@50.35.85.7)
2024-03-17 21:16:35 +0100k_hachig(~k_hachig@2607:fea8:351d:ef0:dd3f:bd40:d39e:dac7)
2024-03-17 21:21:35 +0100rscastilho2024(~rscastilh@179.221.142.47) (Remote host closed the connection)
2024-03-17 21:22:14 +0100Guest21(~Guest21@2601:643:897f:5f73:21f5:40f8:9b68:9bb6)
2024-03-17 21:24:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 21:26:43 +0100edwtjo(~edwtjo@fsf/member/edwtjo) (Ping timeout: 255 seconds)
2024-03-17 21:27:23 +0100Guest21(~Guest21@2601:643:897f:5f73:21f5:40f8:9b68:9bb6) (Ping timeout: 250 seconds)
2024-03-17 21:27:43 +0100michalz(~michalz@185.246.207.197)
2024-03-17 21:30:22 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-03-17 21:32:26 +0100adium(adium@user/adium)
2024-03-17 21:36:05 +0100ystael(~ystael@user/ystael)
2024-03-17 21:40:52 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 21:43:48 +0100ystael(~ystael@user/ystael) (Ping timeout: 255 seconds)
2024-03-17 21:46:01 +0100edwtjo(~edwtjo@fsf/member/edwtjo)
2024-03-17 21:49:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 22:05:08 +0100Mr(~junkedsta@78.16.193.114)
2024-03-17 22:19:17 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-03-17 22:19:43 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2024-03-17 22:20:29 +0100rainbyte(~rainbyte@186.22.19.215)
2024-03-17 22:20:56 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2024-03-17 22:26:08 +0100todi(~todi@p57803331.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-03-17 22:26:14 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-03-17 22:26:38 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2024-03-17 22:38:27 +0100renpose(~renpose@user/renpose) (Ping timeout: 250 seconds)
2024-03-17 22:38:43 +0100 <haskellbridge> <J​ade> I changed my mind on deprecating return, but it'd be nice to see it gone from the Monad class atleast
2024-03-17 22:39:01 +0100 <haskellbridge> <J​ade> I use pure almost exclusively and when people ask I tell them to use pure
2024-03-17 22:40:23 +0100 <geekosaur> damn, the proposal appears to have been stuck since 2015
2024-03-17 22:55:37 +0100 <monochrom> At the risk of being way too conservative, I am OK with the current status of just warning "your return is not simply pure" but still allow it for old code that implements return in Monad instances.
2024-03-17 22:56:45 +0100 <monochrom> But if we have data that says "that's negligible tiny minority on hackage" then we can drop it. :)
2024-03-17 22:57:19 +0100 <monochrom> But yeah when teaching new students I just teach pure.
2024-03-17 23:00:59 +0100rainbyte(~rainbyte@186.22.19.215) (Remote host closed the connection)
2024-03-17 23:01:32 +0100marinelli(~weechat@gateway/tor-sasl/marinelli)
2024-03-17 23:02:20 +0100 <geekosaur> I think the problem is old code which retrofitted Applicative instances: `instance Applicative MyMonad where { return = pure; (<*>) = ap; }`
2024-03-17 23:02:48 +0100 <geekosaur> from when AMP went through
2024-03-17 23:05:10 +0100michalz(~michalz@185.246.207.197) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-17 23:06:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 23:10:20 +0100jjhoo(~jahakala@user/jjhoo) (Ping timeout: 252 seconds)
2024-03-17 23:11:31 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-17 23:11:36 +0100tri(~tri@2600:8805:d801:5100:144:622a:4ef1:29b5)
2024-03-17 23:15:32 +0100k_hachig(~k_hachig@2607:fea8:351d:ef0:dd3f:bd40:d39e:dac7) (Ping timeout: 268 seconds)
2024-03-17 23:15:51 +0100tri(~tri@2600:8805:d801:5100:144:622a:4ef1:29b5) (Ping timeout: 260 seconds)
2024-03-17 23:16:05 +0100falafel(~falafel@38.90.133.18)
2024-03-17 23:17:28 +0100jjhoo(~jahakala@user/jjhoo)
2024-03-17 23:18:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-17 23:19:46 +0100acidjnk(~acidjnk@p200300d6e737e741c1187d44ef12676b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-03-17 23:26:50 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2024-03-17 23:27:07 +0100Mr(~junkedsta@78.16.193.114) (Ping timeout: 246 seconds)
2024-03-17 23:30:35 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-17 23:35:28 +0100k_hachig(~k_hachig@2607:fea8:351d:ef0:dd3f:bd40:d39e:dac7)
2024-03-17 23:35:41 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-03-17 23:36:04 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2024-03-17 23:44:02 +0100Mr(~junkedsta@78.16.193.114)
2024-03-17 23:54:31 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-17 23:59:08 +0100__monty__(~toonn@user/toonn) (Quit: leaving)