Logs on 2021-04-19 (freenode/#haskell)
| 00:00:07 | × | atk quits (~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.) |
| 00:00:12 | <Axman6> | for loops? Usually just applicatives. Null checks? Just applicatives a lot of the time too. passing around some config? Applicatives too |
| 00:00:29 | → | atk joins (~Arch-TK@ircpuzzles/staff/Arch-TK) |
| 00:00:43 | <Axman6> | erry day Immapplicative |
| 00:01:45 | <lechner> | thanks everyone for your help! |
| 00:01:52 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
| 00:01:55 | <Axman6> | lechner: also, for your second Haskell program, you're doing quite well. No haskeller would have any problems reading that |
| 00:02:01 | × | jess quits (jess@freenode/staff/jess) (Quit: Lost terminal) |
| 00:02:01 | <Axman6> | so nice work |
| 00:02:27 | → | jess joins (jess@freenode/staff/jess) |
| 00:02:29 | <koz_> | Yeah, and you've definitely not picked the easiest second thing to write. |
| 00:02:35 | <koz_> | So definitely nice work. |
| 00:03:03 | → | mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh) |
| 00:04:10 | <lechner> | please let me say that i also like your helpful channel, and the friendly tone eround here. |
| 00:04:25 | → | ddellacosta joins (~ddellacos@86.106.143.10) |
| 00:04:33 | <Axman6> | Thanks for being more flexible than... some others :) |
| 00:04:55 | <koz_> | lechner: We try. |
| 00:05:20 | <lechner> | one day i'll muster the courage to drop Perl and JavaScript everywhere |
| 00:05:34 | <Axman6> | D: |
| 00:08:13 | <Axman6> | well, learn enough haskell, and you can make it look like Perl. using lens's Control.Lens.Operators makes that even easier |
| 00:08:46 | × | ddellacosta quits (~ddellacos@86.106.143.10) (Ping timeout: 252 seconds) |
| 00:10:24 | <lechner> | i watched a talk about lenses but that was totally above my my pay grade. i just worked my way through Hutton's tome but like "What I Wish I Knew ..." a lot better, plus of course "Learn you a Good ..." and a few others |
| 00:11:39 | <koz_> | Typeclassopedia is also essential IMHO. |
| 00:11:42 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 00:11:49 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:12:13 | <lechner> | yeah, it's just a bit steep for the uninitiated |
| 00:13:14 | <lechner> | hey, this program takes tasks from AMQP, but execution can take an hour or more. when using a 30 second heartbeat, do i have to use a special, event-loop aware way to fork programs? |
| 00:17:38 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds) |
| 00:23:21 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 00:23:39 | × | lambdaman quits (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
| 00:24:56 | → | philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) |
| 00:25:06 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:26:29 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 00:26:44 | <Axman6> | lechner: you could use threads |
| 00:27:04 | <geekosaur> | threads and forkProcess don't mix |
| 00:27:27 | <geekosaur> | well, you can do it but expect problems |
| 00:27:57 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 00:28:32 | <geekosaur> | since other threads may have something locked but won't be replicated in the subprocess, leaving it with random things (such as Handles) locked and no way to unlock them |
| 00:28:56 | <Axman6> | I've never needed to fork haskell programs, threads give me everything I've needed |
| 00:29:02 | <lechner> | do i have to use threads when enabling the heartbeat in Network.AMQP, or does the driver send the heartbeat anyway? |
| 00:29:04 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 00:29:28 | <Axman6> | you'd have to look that up, get some experience reading some HAskell library code |
| 00:29:37 | <lechner> | yeah |
| 00:30:06 | <lechner> | hackage is the best place for online reading? |
| 00:30:12 | <Axman6> | sure |
| 00:30:51 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:31:12 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds) |
| 00:33:23 | × | safinaskar quits (6dfc5a88@109-252-90-136.nat.spd-mgts.ru) (Ping timeout: 240 seconds) |
| 00:36:03 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:26cf:eb6d:4a80:182c) (Ping timeout: 260 seconds) |
| 00:37:20 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
| 00:39:30 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
| 00:39:47 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
| 00:40:43 | × | vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
| 00:41:24 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
| 00:41:58 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 00:43:42 | → | bennofs__ joins (~quassel@x4db75e90.dyn.telefonica.de) |
| 00:46:21 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) |
| 00:46:34 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
| 00:47:17 | × | bennofs_ quits (~quassel@x4dbf857b.dyn.telefonica.de) (Ping timeout: 260 seconds) |
| 00:48:06 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:c414:6b2f:3a1f:4a99) |
| 00:48:35 | → | elliott__ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
| 00:49:21 | <Axman6> | lechner: any luck) so far? |
| 00:50:06 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 00:50:33 | × | renzhi quits (~renzhi@2607:fa49:6500:bc00::e7b) (Ping timeout: 258 seconds) |
| 00:50:56 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Ping timeout: 258 seconds) |
| 00:53:21 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:53:40 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 00:57:11 | × | gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 268 seconds) |
| 00:58:34 | × | philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:59:20 | → | safinaskar joins (~user@109.252.90.136) |
| 01:00:03 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 01:00:22 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Ping timeout: 240 seconds) |
| 01:01:24 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 01:01:27 | → | ddellacosta joins (~ddellacos@86.106.143.157) |
| 01:01:28 | <safinaskar> | Axman6: i said about this in the channel. i will repeat. "using "do" inside of "do"? this is intentional. to hide bindings. i. e. i write "do { do { a<-...; ... }; foo; }" to make sure "foo" doesn't see "a". i am inventive:) Â . i don't simply copy-paste examples, i develop my style :)" |
| 01:02:22 | <safinaskar> | Axman6: "i learn haskell using "learn you haskell for a great good". very good book. but i was always frustrated from indentation-based syntax (i came from c++), so i started to use curly braces. In function "lex" i check some condition," |
| 01:02:41 | <safinaskar> | Axman6: "if it holds, i return Nothing, if it doesn't hold, i check another condition, etc. I decided to check conditions using "case" as opposed to "if ... then ... else", because "case" allows me to use curly braces. conclusion: i started from "learn you haskell for a great good" style, then started to use curly braces (because of c++), then get rid of" |
| 01:02:56 | <safinaskar> | Axman6: ""if...then...else". that is" |
| 01:03:35 | <yushyin> | this book does not have such a good reputation here |
| 01:05:26 | <safinaskar> | yushyin: why? i think the book is perfect. the only complain i have today is that the book uses "*" instead of "Type" |
| 01:06:00 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 01:06:01 | <safinaskar> | yushyin: and yes, it was writen before AMP and MonadFail proposal |
| 01:06:05 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 01:06:26 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 01:08:04 | <yushyin> | I don't know never read it, I just know that people here constantly say it's one of the poorer books about teaching haskell. |
| 01:09:48 | × | stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Read error: Connection reset by peer) |
| 01:11:06 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 01:13:30 | × | ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 01:14:27 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds) |
| 01:15:45 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
| 01:16:07 | × | Wizek quits (uid191769@gateway/web/irccloud.com/x-imzvaajwbwqznbhg) (Quit: Connection closed for inactivity) |
| 01:17:01 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
| 01:18:01 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
| 01:22:22 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
| 01:22:57 | × | xff0x quits (~xff0x@2001:1a81:52bc:3c00:45ea:1449:467:f132) (Ping timeout: 250 seconds) |
| 01:25:06 | → | xff0x joins (~xff0x@2001:1a81:52f2:b700:a7c9:31ec:b9a1:9e16) |
| 01:26:31 | → | stef204 joins (~stef204@unaffiliated/stef-204/x-384198) |
| 01:26:49 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
| 01:27:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 01:27:37 | → | Tario joins (~Tario@201.192.165.173) |
| 01:28:25 | → | drbean_ joins (~drbean@TC210-63-209-68.static.apol.com.tw) |
| 01:32:12 | <lechner> | Hi, I made a lot of progess but cannot reconcile Int <-> PortNumber in line 75. FromJSON does not like PortNumber in line 29. Do I need a cast in line 75? Also, general style reviews are welcome, and probably needed. Thanks! https://dpaste.org/NxeL#L29,75 |
| 01:33:45 | <lechner> | i'd like to take the port number from the YAML |
| 01:34:03 | × | AkechiShiro quits (~AkechiShi@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9) (Quit: WeeChat 2.9) |
| 01:34:49 | <c_wraith> | PortNumber is a really weird thing the network library did |
| 01:35:10 | <c_wraith> | The best way to work with it is fromIntegral |
| 01:37:11 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Ping timeout: 260 seconds) |
| 01:38:23 | × | viluon quits (uid453725@gateway/web/irccloud.com/x-nkzdiizrnnhacztz) (Quit: Connection closed for inactivity) |
| 01:41:23 | <lechner> | c_wraith: thanks! that worked great |
| 01:41:44 | <c_wraith> | you're welcome |
| 01:42:37 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection) |
| 01:43:40 | → | nicholasbulka joins (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net) |
| 01:45:08 | <lechner> | Hi, in a stack-managed application, should i still commit the cabal file to the repo? |
| 01:45:27 | <c_wraith> | unless you're using hpack, yes |
| 01:46:54 | <lechner> | c_wraith: thanks! |
| 01:47:02 | → | aarvar joins (~foewfoiew@2601:602:a080:fa0:5ca2:103e:3230:e6a) |
| 01:47:13 | ← | aarvar parts (~foewfoiew@2601:602:a080:fa0:5ca2:103e:3230:e6a) () |
| 01:50:41 | × | nicholasbulka quits (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net) (Ping timeout: 240 seconds) |
| 01:52:30 | <yushyin> | non-stack user will be thankful |
| 01:55:46 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 02:00:03 | → | c9sloud joins (~c9sloud@185.204.1.185) |
| 02:00:41 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds) |
| 02:02:54 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 02:05:07 | <glguy> | Even if you use hpack you should be committing your .cabal files: https://www.fpcomplete.com/blog/storing-generated-cabal-files/ |
| 02:05:19 | × | puke quits (~vroom@217.138.252.196) (Ping timeout: 265 seconds) |
| 02:06:25 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 02:07:33 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 02:09:00 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 02:13:54 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 02:14:10 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 02:14:30 | × | HannaM quits (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
| 02:15:18 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 02:15:27 | ← | safinaskar parts (~user@109.252.90.136) () |
| 02:18:38 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr) |
| 02:20:05 | → | seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net) |
| 02:22:03 | × | xiinotulp quits (~q@node-umb.pool-125-24.dynamic.totinternet.net) (Quit: Leaving) |
| 02:24:12 | → | lambdaman joins (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
| 02:25:32 | ← | seven_three parts (~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)") |
| 02:26:44 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 02:28:23 | × | lambdaman quits (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 246 seconds) |
| 02:31:16 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
| 02:31:57 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 02:33:21 | → | reilly joins (~user@117.222.66.145) |
| 02:34:41 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
| 02:36:20 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 02:36:23 | → | aarvar joins (~foewfoiew@2601:602:a080:fa0:ad7b:fd2e:e5be:a7b9) |
| 02:36:52 | × | aarvar quits (~foewfoiew@2601:602:a080:fa0:ad7b:fd2e:e5be:a7b9) (Client Quit) |
| 02:37:41 | × | reilly quits (~user@117.222.66.145) (Remote host closed the connection) |
| 02:38:43 | → | reilly joins (~user@117.222.66.145) |
| 02:41:18 | × | theDon quits (~td@94.134.91.146) (Ping timeout: 252 seconds) |
| 02:43:03 | → | theDon joins (~td@94.134.91.223) |
| 02:44:36 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 260 seconds) |
| 02:46:26 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 02:46:26 | finn_elija | is now known as Guest29414 |
| 02:46:26 | FinnElija | is now known as finn_elija |
| 02:46:43 | → | gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) |
| 02:47:42 | × | reilly quits (~user@117.222.66.145) (Remote host closed the connection) |
| 02:49:46 | × | geiger quits (~geiger@90.212.77.86) (Ping timeout: 252 seconds) |
| 02:49:57 | × | Guest29414 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
| 02:51:29 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 02:52:44 | → | trexx joins (~trexx@117.222.66.145) |
| 02:58:42 | × | trexx quits (~trexx@117.222.66.145) (Remote host closed the connection) |
| 03:05:43 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 03:06:05 | × | ddellacosta quits (~ddellacos@86.106.143.157) (Remote host closed the connection) |
| 03:15:58 | × | minoru_shiraeesh quits (~shiraeesh@109.166.56.26) (Ping timeout: 240 seconds) |
| 03:19:13 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 03:19:18 | → | heatsink_ joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 03:21:43 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
| 03:22:12 | → | superstar64 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) |
| 03:23:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:33:57 | × | xkapastel quits (uid17782@gateway/web/irccloud.com/x-isdhgqaucsczyafg) (Quit: Connection closed for inactivity) |
| 03:39:31 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 03:40:20 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 03:43:06 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 03:43:35 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 03:43:36 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 03:44:53 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
| 03:45:14 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 03:49:29 | → | rajivr joins (uid269651@gateway/web/irccloud.com/x-ozfaqobeqdbxwvmv) |
| 03:53:43 | <lechner> | Hi, could i use a closure here to pass 'channel' and other variables to the callback? Thanks! https://dpaste.org/jEgi#L107 |
| 03:56:48 | <glguy> | consumeMsgs channel orderQueue Ack (orderCallback channel other variables) |
| 03:57:11 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 03:57:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 04:06:49 | <lechner> | What is the new prototype for orderCallback, please, if the two extra types are Channel and Queue? |
| 04:07:19 | → | ddellacosta joins (~ddellacos@86.106.143.131) |
| 04:08:01 | × | alx741 quits (~alx741@186.178.109.113) (Quit: alx741) |
| 04:08:09 | → | falafel_ joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 04:08:30 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 04:08:33 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 04:10:27 | <lechner> | never mind. i figured it out |
| 04:11:23 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 04:12:03 | × | ddellacosta quits (~ddellacos@86.106.143.131) (Ping timeout: 268 seconds) |
| 04:18:04 | × | stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1) |
| 04:25:49 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 04:26:28 | → | Tario joins (~Tario@201.192.165.173) |
| 04:27:17 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 04:29:27 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-vpfgdoawvwkfbpxh) |
| 04:33:01 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 268 seconds) |
| 04:36:53 | × | horatiohb quits (~horatiohb@45.55.40.152) (Ping timeout: 260 seconds) |
| 04:40:43 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 04:40:54 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 04:42:15 | → | ddellacosta joins (~ddellacos@86.106.143.92) |
| 04:43:30 | <petersen> | Anyone know how nixpkgs distro data gets uploaded to Hackage? |
| 04:43:56 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 04:45:15 | → | plutoniix joins (~q@184.82.212.134) |
| 04:46:48 | × | ddellacosta quits (~ddellacos@86.106.143.92) (Ping timeout: 240 seconds) |
| 04:47:04 | <lechner> | which way? https://hackage.haskell.org/package/distribution-nixpkgs or https://github.com/NixOS/nixpkgs/blob/release-20.03/pkgs/development/haskell-modules/hackage-packages.nix |
| 04:49:13 | × | waleee-cl quits (uid373333@gateway/web/irccloud.com/x-qwacgjbsbbsicbfw) (Quit: Connection closed for inactivity) |
| 04:50:45 | <lechner> | or are you looking for somehthing like this? https://repology.org/project/haskell:aeson/versions |
| 04:52:44 | → | Tario joins (~Tario@201.192.165.173) |
| 04:56:20 | <petersen> | lechner: ah thanks - I meant the code that does the upload |
| 04:56:27 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds) |
| 04:58:43 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
| 05:01:45 | → | lambdaman joins (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
| 05:07:40 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 05:10:56 | × | heatsink_ quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 05:11:01 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 05:12:22 | <lechner> | Hi, is rawSystem from System.Cmd really better than System.Process? http://book.realworldhaskell.org/read/systems-programming-in-haskell.html |
| 05:12:41 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 05:14:33 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 05:17:06 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 05:17:27 | × | c9sloud quits (~c9sloud@185.204.1.185) (Remote host closed the connection) |
| 05:19:04 | → | kristijonas joins (~kristijon@78-56-32-39.static.zebra.lt) |
| 05:19:16 | × | lambdaman quits (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
| 05:19:28 | <lechner> | Also, what's everyone's favorite library for UTF-8, please? I decode early encode as late as possible, preferably right before printing or spewing. Thanks! |
| 05:22:02 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
| 05:29:26 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 05:30:35 | → | aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 05:38:24 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 05:40:52 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
| 05:41:55 | → | Antimatter joins (~Antimatte@195.140.213.38) |
| 05:42:38 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds) |
| 05:45:02 | × | anandprabhu quits (uid495588@gateway/web/irccloud.com/x-eezubqkxedpeqasj) (Quit: Connection closed for inactivity) |
| 05:46:29 | × | jao quits (~jao@pdpc/supporter/professional/jao) (Ping timeout: 246 seconds) |
| 05:46:57 | → | coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
| 05:49:14 | → | geiger joins (~geiger@90.212.77.86) |
| 05:50:20 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 05:52:11 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 05:52:36 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 05:54:10 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 05:54:33 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:55:26 | × | Antimatter quits (~Antimatte@195.140.213.38) (Remote host closed the connection) |
| 05:56:49 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) |
| 05:56:52 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
| 06:04:14 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 06:05:55 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Ping timeout: 250 seconds) |
| 06:06:45 | → | wonko7 joins (~wonko7@62.115.229.50) |
| 06:08:07 | → | asheshambasta joins (~user@ptr-e1lysawvmwijg2oywyl.18120a2.ip6.access.telenet.be) |
| 06:08:13 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 06:09:33 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 06:12:26 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 06:12:38 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection) |
| 06:14:29 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds) |
| 06:14:32 | → | chele joins (~chele@5.53.222.202) |
| 06:16:02 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 06:19:59 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:c414:6b2f:3a1f:4a99) (Ping timeout: 260 seconds) |
| 06:21:26 | <Axman6> | lechner: you want Text for anything related to text. it contains functrions for decoding and encoding ByteStrings using UTF-8 |
| 06:23:25 | <Axman6> | lechner: Looks like System.Cmd is deprecated, keep in mind that Real World Haskell is over a decade old now (and makes me feel very old), so there are lots of things that are no longer true |
| 06:24:18 | <opqdonut> | an annotated version would be nice |
| 06:24:30 | <opqdonut> | I guess the RWH web version has commenting, maybe the comments have pointed out deprecations? |
| 06:24:38 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 06:24:48 | <sm[m]> | lechner: the haddock for System.Process probably indicates what's new and what's old |
| 06:24:49 | <Axman6> | someone started a github repo to rewrite it IIRC |
| 06:25:24 | <Axman6> | https://github.com/tssm/up-to-date-real-world-haskell |
| 06:25:38 | <opqdonut> | nice |
| 06:26:21 | <opqdonut> | looks fairly complete already, cool |
| 06:27:16 | <Axman6> | most of it hasn't been touched for a long time though |
| 06:27:37 | <opqdonut> | yeah work might've fizzled out |
| 06:28:36 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 06:29:46 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds) |
| 06:32:58 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:f72c:ebd9:1857:d75c) |
| 06:33:55 | × | landonf quits (landonf@mac68k.info) (Excess Flood) |
| 06:34:52 | × | sveit quits (~sveit@45.77.0.246) (Ping timeout: 240 seconds) |
| 06:34:55 | × | thonkpod quits (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (Ping timeout: 260 seconds) |
| 06:35:14 | → | landonf joins (landonf@mac68k.info) |
| 06:35:21 | × | simplegauss quits (~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Ping timeout: 245 seconds) |
| 06:35:39 | → | Irenes joins (~irenes@NixOS/user/irenes) |
| 06:36:05 | <Irenes> | hey so uh |
| 06:36:16 | <Axman6> | uh oh no |
| 06:36:25 | <Irenes> | I used to be a regular here but left some years ago |
| 06:36:39 | <Irenes> | I'm coming to apologize for something that happened a long time ago |
| 06:36:47 | <Irenes> | I don't know whether anyone still remembers - maybe some of the mods |
| 06:37:14 | → | thonkpod joins (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) |
| 06:37:18 | <Irenes> | this was in 2014. there was a conflict between me and someone called StoneCypher, who I did not know and don't really remember; I don't know whether they still come here. |
| 06:37:18 | <Axman6> | Your name is vaguely familiar to me... |
| 06:37:25 | <Irenes> | yeah likewise |
| 06:37:35 | <Irenes> | at the time, I found it inexplicable |
| 06:37:52 | <Irenes> | I went back and re-read those chatlogs recently and I realized that my behavior was pretty obnoxious |
| 06:37:56 | <Irenes> | which, like |
| 06:38:04 | <Irenes> | not a total surprise to me |
| 06:38:14 | <Irenes> | I was raised to be an asshole and it took me a long time to learn better |
| 06:38:23 | → | simplegauss joins (~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) |
| 06:38:23 | → | sveit joins (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) |
| 06:38:34 | <Irenes> | but I kind of thought I'd gotten there by 2014 |
| 06:38:46 | <Irenes> | anyway, to anyone who had to deal with it, especially the mods, sorry about that |
| 06:38:49 | × | falafel_ quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
| 06:38:51 | <Irenes> | I know it made a lot of work for the mods |
| 06:39:10 | → | vchlup joins (~vchlup@nat.brnet.cz) |
| 06:39:13 | <Irenes> | I'm not planning to stick around but I'll wait like half an hour or something in case anyone wants to reply, and I'm signed in to Freenode generally these days |
| 06:39:25 | <Irenes> | I expect nobody has anything to say about that but I wanted to say it just in case |
| 06:40:12 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 06:40:21 | <opqdonut> | I was definitely around in 2014 but I don't remember this incident, but I appreciate you taking the effort to apologize now |
| 06:40:28 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 06:40:34 | <Axman6> | I mean, you could do a @where ops if you want to ring their bells. |
| 06:40:41 | <[exa]> | Irenes: well if you're still using haskell and in the mood of helping the community I guess you're welcome. also there are now two offtopic channels for whatever heated discussions :D |
| 06:41:07 | <Axman6> | I also don't remember it, I can certainly remember incidents in other channels going back further than that though, so it can't have been too horrendous. We're all assholes on the internet sometimes |
| 06:41:15 | <MarcelineVQ> | lel |
| 06:41:38 | <Irenes> | I'm into Rust these days, but thank you very much :) |
| 06:41:45 | <Irenes> | Axman6 that's good to hear |
| 06:42:49 | <Axman6> | we need more Rust people around too. I'd love to have good integration between Haskell and Rust |
| 06:43:27 | <Irenes> | heh, well, thank you then :) I might as well at least idle |
| 06:43:49 | [exa] | .oO(idle for victory!!!11) |
| 06:44:00 | <Irenes> | if we're going to stick around you are going to see us intermittently use plural pronouns; cf. https://pluralpride.com/playbook for an explanation |
| 06:44:43 | <Axman6> | they are welcome to use whatever language can be parsed and understood |
| 06:44:51 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 06:45:51 | → | nut` joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 06:45:54 | <Irenes> | thank you very much. really appreciated. "you" and "y'all" are both fine in second-person, they/them is for third person. |
| 06:45:58 | → | johannes_ joins (~johannes@mue-88-130-62-032.dsl.tropolys.de) |
| 06:46:06 | <Irenes> | there was a huge controversy in the 18th century about whether "singular you" was proper English. |
| 06:46:19 | <Irenes> | the outcome was that it works fine for both singular and plural ;) |
| 06:46:28 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 06:46:57 | <[exa]> | Irenes: you're in a channel full of mathematicians who write 99% of the text with 'we prove the theorem' :] |
| 06:47:22 | <Irenes> | yeah tbh when we were kids we used to go out of our way to use "we" in code comments. we told ourselves it was including the reader in our process. |
| 06:47:35 | <Irenes> | excellent then :) |
| 06:49:05 | × | gzj quits (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
| 06:49:25 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 06:52:07 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 06:52:27 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 06:53:13 | <pjb> | Irenes: it's not an inclusive "we", it's a majestic "we"! https://en.wikipedia.org/wiki/Royal_we |
| 06:53:52 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 265 seconds) |
| 06:54:18 | Axman6 | royal waves |
| 06:54:19 | <Irenes> | hehe :3 |
| 06:54:24 | → | idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 06:54:58 | <Axman6> | btw, I'm Australian, so I'm gonna use "youse" |
| 06:56:12 | × | superstar64 quits (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Quit: Connection closed) |
| 06:59:38 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 06:59:52 | → | kuribas joins (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) |
| 07:01:07 | → | Lowl3v3l joins (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) |
| 07:02:29 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 07:02:49 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 07:03:03 | <Irenes> | "youse" works fine, thanks haha |
| 07:03:20 | <Axman6> | youse're welcome |
| 07:03:21 | → | idhugo_ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) |
| 07:04:40 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 07:04:59 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 07:05:11 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 07:06:04 | × | idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 07:06:12 | → | jespada joins (~jespada@90.254.243.187) |
| 07:09:33 | → | lambdaman joins (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
| 07:09:55 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
| 07:10:14 | × | lambdaman quits (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
| 07:10:53 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 260 seconds) |
| 07:11:34 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 07:12:33 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 07:13:46 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 07:15:13 | → | berberman_ joins (~berberman@unaffiliated/berberman) |
| 07:16:03 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 248 seconds) |
| 07:17:04 | × | nut` quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
| 07:18:26 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 07:18:53 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-vpfgdoawvwkfbpxh) (Quit: Connection closed for inactivity) |
| 07:23:14 | → | Sornaensis joins (~Sornaensi@077213200034.dynamic.telenor.dk) |
| 07:29:22 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 07:30:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:32:14 | → | davidfetter1 joins (~davidfett@195.140.213.38) |
| 07:35:50 | → | Sorna joins (~Sornaensi@79.142.232.102) |
| 07:35:54 | <maerwald> | do mods enforce pronoun compliance here? |
| 07:35:56 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 07:36:45 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds) |
| 07:37:41 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 07:38:36 | × | Sornaensis quits (~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 260 seconds) |
| 07:41:20 | <toppler`> | One of my maths tutors said that the purpose of "we" is so that when you make a mistake, you can blame everyone. |
| 07:42:17 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 07:44:23 | <pjb> | toppler`: math tutors have a good sense of humour in general. |
| 07:46:11 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 07:46:26 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
| 07:47:25 | <tdammers> | maerwald: only if your pronouns are "xhkle/xhklim/xhkler" |
| 07:48:11 | → | michalz joins (~user@185.246.204.56) |
| 07:58:15 | <tdammers> | though on a more serious note, singular / plural are highly messed up in most European languages, partly due to the frequent language clashes, partly due to feudalism and the habit of using singular and plural as expressions of social status |
| 07:59:23 | <pjb> | tdammers: on a more serious notes, language is more sophisticated that SJW believe. |
| 07:59:48 | <pjb> | tdammers: ie. the grammatical form is UNRELATED to the actual physical or biological reality! |
| 07:59:52 | <pjb> | DUH! |
| 08:00:06 | <pjb> | tdammers: in French, a table is female, a desk is male !!! |
| 08:00:25 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 08:00:37 | → | GZJ0X_ joins (~gzj@unaffiliated/gzj) |
| 08:00:45 | <pjb> | tdammers: grammatical singular and plural, just like grammatical gender, are unrelated to number and sex. |
| 08:01:07 | <Uniaika> | am French, can testify our pronouns system is fucked up |
| 08:01:14 | <pjb> | It is not. |
| 08:01:23 | <Uniaika> | It is |
| 08:01:24 | <pjb> | Grammar works at a higher, and more symbolic level. |
| 08:01:24 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
| 08:01:35 | <Uniaika> | then why don't we have a neutral pronoun? |
| 08:01:46 | <pjb> | But we have it! |
| 08:02:03 | <pjb> | "on" |
| 08:02:29 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 08:02:31 | <pjb> | and male is neutral as well as it covers both male and female. |
| 08:02:43 | <gnumonic> | Eh we don't have a real second person plural in english. Y'all? Youse? Yinz? |
| 08:02:50 | <Uniaika> | gnumonic: thy |
| 08:02:54 | <Uniaika> | ah, plural |
| 08:02:55 | <Uniaika> | well |
| 08:02:58 | <Uniaika> | it's "you" |
| 08:03:11 | <Uniaika> | but English forgot its second person singular |
| 08:03:14 | <Uniaika> | which is a pity |
| 08:03:33 | × | gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds) |
| 08:03:34 | <tdammers> | pjb: they are not entirely unrelated, but the relationship is much more complex than a plain "equals" or "implies" |
| 08:03:34 | <pjb> | If you're unstatisfied of the historic layers in natural languages, you should just start again from scratch. |
| 08:04:37 | <tdammers> | but yes, it is important to recognize that grammatical gender, social gender, and biological sex, are different things that correlate to varying degrees |
| 08:04:59 | <Uniaika> | tdammers: yep |
| 08:05:05 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 08:06:26 | <tdammers> | for example, when it is clear from the context that I am talking about a human whom I know personally, and I use grammatically male pronouns, then in practically all European languages and their associated cultures, that implies that I consider that person as socially male |
| 08:07:06 | <maerwald> | tdammers: well, in #python, they are enforced, at least partly. Just wanted to check. |
| 08:07:19 | → | hendursa1 joins (~weechat@gateway/tor-sasl/hendursaga) |
| 08:08:13 | <maerwald> | the main issue is coming up with a default pronoun |
| 08:08:41 | <tdammers> | "xhkle" |
| 08:08:47 | <maerwald> | :> |
| 08:08:54 | <Uniaika> | hey I know that vim binding |
| 08:09:03 | <tdammers> | seriously though: it's really a cultural problem rather than a linguistic one |
| 08:09:17 | <gnumonic> | I just wish we had a finite set of pronouns. I'll call anyone whatever they want to be called, but pronouns sorta cease to serve the role of pronouns if you have to remember 100 different ones for 100 people -_- |
| 08:09:33 | × | hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
| 08:09:35 | <maerwald> | yeah, it's unpractical |
| 08:09:47 | <tdammers> | using the wrong pronouns is a problem because our culture(s) consider misgendering someone an offense |
| 08:10:05 | <tdammers> | and that, in turn, is because some genders have historically been privileged, and largely still are |
| 08:10:41 | <tdammers> | which is the reason why distinguishing social genders in the language is kind of a big deal in the first place |
| 08:10:55 | <tdammers> | if gender didn't matter, we wouldn't have grammatical genders |
| 08:11:05 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 260 seconds) |
| 08:11:22 | → | idhugo__ joins (~idhugo@130.225.16.16) |
| 08:11:46 | <tdammers> | or maybe we would, but they'd be something completely different than "male/female/neutral"; they might be something like "anthropomorph/concrete/abstract" maybe |
| 08:11:47 | <maerwald> | at any rate, it's easy to avoid them altogether, by just using the nick instead |
| 08:12:05 | <tdammers> | well, at least the second person pronouns in English are gender-neutral |
| 08:12:26 | <merijn> | tdammers: Fun fact: some languages do have someting like "alive/dead" as "genders" :) |
| 08:12:45 | <merijn> | But that's maybe more for -offtopic :p |
| 08:12:58 | <tdammers> | merijn: oh yes, human languages never cease to amaze. there are languages that have different pronunciation and grammar based on the gender of the *speaker* |
| 08:13:22 | → | GutsTheme joins (1b04cef3@27.4.206.243) |
| 08:13:33 | × | idhugo_ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 08:13:35 | <GutsTheme> | HI |
| 08:13:36 | <opqdonut> | I'm pretty glad my native language (finnish) isn't gendered at all. I think swedish is interesting in that it has male/female gendered pronouns, but nouns are gendered arbitrarily (linguistically male/neuter, but nobody thinks of it that way) |
| 08:14:01 | <opqdonut> | but err yeah this is probably better suited for the offtopic channel |
| 08:14:10 | <gnumonic> | Finnish: A language with no genders but like 50 different words for getting drunk :P |
| 08:14:11 | × | GZJ0X_ quits (~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds) |
| 08:15:16 | <Maxdamantus> | gnumonic: it's "second-person singular" that's missing, not plural, but even thinking about it like that is misleading. |
| 08:15:42 | <Maxdamantus> | There's only really one "singular" in English, and that's third-person. |
| 08:16:22 | <Maxdamantus> | everything other than third-person singular uses regular verbs corresponding to third-person plural. |
| 08:16:48 | <Maxdamantus> | I eat, we eat, you eat, they eat, it eats |
| 08:17:59 | <toppler`> | Haskell types should have a gender. |
| 08:18:32 | <toppler`> | Not sure how well this would play with higher-kinding. |
| 08:18:38 | <merijn> | I say this topic has now officially ran its course and is thoroughly *not* Haskell related... >.> |
| 08:18:39 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 08:18:55 | <joel135> | Dialects of swedish have male/female distinctions in indefinite articles (e.g. jen/je/jett instead of en/ett). |
| 08:19:05 | <Maxdamantus> | I don't think it's useful enough in Haskell. |
| 08:20:07 | <GutsTheme> | I want to retain the value of a variable through replicateM_ loops, how can one do that ? |
| 08:20:08 | joel135 | goes to #haskell-offtopic. |
| 08:20:08 | <Maxdamantus> | The purpose of distinct agreement in natural language is probably to try to resolve some syntactic/referential ambiguities, but Haskell avoids those in other ways. |
| 08:20:45 | <GutsTheme> | and if that's not possible what is the functional equivalend of a while(n--) in haskell ? |
| 08:21:09 | → | ddellacosta joins (~ddellacos@86.106.143.183) |
| 08:21:17 | <Taneb> | :t mapAccumL |
| 08:21:18 | → | enoq joins (~textual@194-208-146-143.lampert.tv) |
| 08:21:19 | <lambdabot> | Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) |
| 08:22:11 | × | oo_miguel quits (~miguel@89-72-187-203.dynamic.chello.pl) (Quit: WeeChat 2.3) |
| 08:22:41 | → | zariuq joins (~zar@fw1.ciirc.cvut.cz) |
| 08:22:53 | × | aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 258 seconds) |
| 08:22:55 | → | kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49) |
| 08:22:56 | <Maxdamantus> | (eg, you don't have referential ambiguities in Haskell, because you always refer to things by unambiguously resolvable variables, rather than having constructs like "that" or "it" which could refer to one of multiple things) |
| 08:22:57 | <Taneb> | GutsTheme: you can use something like mapAccumL, or you can use the StateT monad transformer from the transformers library |
| 08:23:15 | <merijn> | Maxdamantus: I suggest taking the remaining discussion to #haskell-offtopic |
| 08:23:33 | <GutsTheme> | yeah idk what any of that means, let's me just give you the problem that I'm trying to solve |
| 08:24:03 | → | fendor joins (~fendor@178.115.130.32.wireless.dyn.drei.com) |
| 08:25:02 | <tdammers> | Maxdamantus: English does have first-person singular / plural, it just so happens that the verb forms are the same for almost all verbs (however: "I am" / "we are"!@) |
| 08:25:49 | × | ddellacosta quits (~ddellacos@86.106.143.183) (Ping timeout: 252 seconds) |
| 08:27:34 | <GutsTheme> | https://paste.tomsmeding.com/oQtvZQW2 here, I am trying to append all the points to an array and then i'll process them but the cords arrays is empty after an "iteration" |
| 08:29:51 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 08:30:58 | <merijn> | You probably don't want replicateM but just a recursive loop |
| 08:31:08 | <gnumonic> | Ooh if we're talking about Haskell I have a haskell question: What's an indexed cartesian store comonad? |
| 08:31:20 | <gnumonic> | You can assume I know what a regular store comonad is |
| 08:31:56 | <gnumonic> | And have a vague idea about what an indexed normal monad is |
| 08:32:32 | × | DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 240 seconds) |
| 08:33:34 | × | GutsTheme quits (1b04cef3@27.4.206.243) (Quit: Connection closed) |
| 08:36:07 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 08:36:23 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 08:36:41 | <joel135> | Is a store comonad something like (a, _) ? |
| 08:37:56 | <joel135> | Oh I see it is this structure https://hackage.haskell.org/package/comonads-fd-4.0/docs/Control-Comonad-Store.html |
| 08:39:34 | <gnumonic> | Ya. an "indexed cartesian store comonad" is... something mentioned in the lens internals. I'm trying to figure out if I didn't patch this type-level lens library right or if it just can't do what I want, but I don't really understand what the point of an indexed store comonad is exactly :-( |
| 08:39:41 | → | _xor joins (~xor@74.215.46.133) |
| 08:40:39 | <gnumonic> | It has something to do with traversals and holes and whether there are more of them or not, and something to do with how "extend" combines with a type/kind index... i think? |
| 08:42:50 | × | charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 252 seconds) |
| 08:43:07 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 08:43:27 | → | charukiewicz joins (~quassel@irouteince04.i.subnet.rcn.com) |
| 08:43:47 | → | DTZUZU joins (~DTZUZO@205.ip-149-56-132.net) |
| 08:44:16 | <joel135> | Ok and Env e = (e, _) and Store s = (s -> _, s) are instances... |
| 08:47:57 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
| 08:48:53 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 08:49:00 | → | bb010g_ joins (uid21050@gateway/web/irccloud.com/x-onettvptumlyxjvo) |
| 08:49:10 | × | bb010g_ quits (uid21050@gateway/web/irccloud.com/x-onettvptumlyxjvo) (Client Quit) |
| 08:49:43 | → | bb010g joins (uid21050@gateway/web/irccloud.com/x-onrynoluckjwobrc) |
| 08:51:20 | <gnumonic> | I never could figure out what the point of the Env comonad was. Store is neat though. It holds a function (s -> a) and an s and spits out an a. I've been using it to simulate "reversible" effectful functions, so s = Map k (x -> m x) and a = m x, and an accessor function that folds the map with (>=>) over some initial value |
| 08:52:02 | <gnumonic> | i dunno if that made any sense :p |
| 08:55:33 | <gnumonic> | Everyone wanna talk about pronouns, no one wanna talk about comonads :-( |
| 08:56:11 | <joel135> | I want to talk about comonads but I have to hoogle 5 things before I understand what you mean :P |
| 08:56:50 | × | drbean_ quits (~drbean@TC210-63-209-68.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 08:57:20 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 08:58:14 | <trcc> | In some cases, you can only implement one function and then you actually get two functions. I.e. something if simple, if it is not complex. Something is complex, if it is not simple. In such a case it is only necessary to define either complex or simple, but you do not have to define two. What is this concept called? |
| 08:58:33 | <joel135> | gnumonic: Is k like the Σ of a finite automaton? Could you show me an example? |
| 08:58:48 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 08:59:50 | <joel135> | trcc: contrapositive ? |
| 09:00:07 | <trcc> | joel135: I will try and look it up and see if that is what I mean |
| 09:00:07 | × | Cesionaut[m] quits (cesionautm@gateway/shell/matrix.org/x-sdjhygltyhtlomgg) (Quit: Idle for 30+ days) |
| 09:00:43 | <trcc> | I am thinking of the haskell term of this, not necessarily the abstract logic term |
| 09:02:39 | <joel135> | I am not aware that you can implement one function and get two in haskell. |
| 09:03:38 | <trcc> | i.e. if you make a typeclass that subclasses Eq, then you only have to implement == or \= right? |
| 09:03:44 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds) |
| 09:03:50 | <trcc> | but you also get the other |
| 09:04:02 | <trcc> | My terminology might be off |
| 09:04:17 | <joel135> | hackage uses the term 'Minimal complete definition' |
| 09:04:58 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 09:05:06 | <trcc> | perfect! thank you! |
| 09:05:08 | <joel135> | for Applicative this is pure, ((<*>) | liftA2) |
| 09:05:21 | <trcc> | Minimal complete definition: either == or /=. |
| 09:05:27 | <trcc> | this was exactly what I was looking for |
| 09:05:28 | <merijn> | trcc: "default implementations" |
| 09:05:28 | <joel135> | yes |
| 09:05:29 | <trcc> | https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Eq.html |
| 09:06:21 | <merijn> | trcc: The minimal complete definition is the set of things you need to define for a typeclass to work. The reason why you don't have to implement them all is because some typeclasses have default implementations for functions |
| 09:06:45 | <trcc> | Yes I think I understand that, I just needed the term "minimal complete definition" |
| 09:06:54 | <trcc> | thank you both |
| 09:07:11 | <merijn> | ok, just checking, because that wasn't quite what you asked, but if it's what you wanted, good :p |
| 09:07:24 | <trcc> | hehe i agree with both :D |
| 09:07:57 | <trcc> | I cannot find the time to work with haskell because of other obligations, but we have a different employee who is beginning to show some interest |
| 09:08:11 | <trcc> | so I can live out my haskell wild life through him ^^ |
| 09:08:13 | <gnumonic> | Er in my last message k is just a key (i.e. Ord k), I was just trying to point out an application of Store. If you have a map of monadic functions in the store, and the accessor function folds the map monadically, it provides a nice interface for "looking at" the output object under various combinations of the functions in the map |
| 09:08:13 | <joel135> | https://hackage.haskell.org/package/comonads-fd-4.0/docs/Control-Comonad-Trans-Identity.html LOL |
| 09:08:34 | <merijn> | trcc: If you want mathier terminology there's also "necessary and sufficient" |
| 09:09:07 | <gnumonic> | The concrete problem I used it to solve is is like, incredibly stupid, but Store is an order of magnitude less ugly than anything else I could come up with to solve it |
| 09:09:41 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 09:10:43 | → | lambdaman joins (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
| 09:10:57 | <joel135> | ok so you have one way to access m x before and one way to access it after applying a subset of the things in the map |
| 09:11:18 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 09:12:03 | <gnumonic> | yeah. and you can manipulate the map with seeks or peeks |
| 09:12:17 | <trcc> | merijn: what is mathier terminology? not familiar iwth that |
| 09:15:11 | × | lambdaman quits (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds) |
| 09:15:18 | <joel135> | gnumonic: is this instance of ComonadStore provided by some library ? |
| 09:15:26 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 09:16:26 | <merijn> | trcc: "necessary and sufficient" |
| 09:17:06 | <joel135> | noun - math, adjective - mathy mathier mathiest |
| 09:17:20 | × | vv8 quits (~egp_@2.95.117.163) (Remote host closed the connection) |
| 09:17:35 | <gnumonic> | Exactly what I'm using with the map and whatnot? Don't think so. I wasn't sure if it was generally useful enough to make it into a library and throw on hackage. Uh gimme a sec and I'll show you the code though (it's not super pretty/highly experimental/etc) |
| 09:17:56 | <joel135> | good :D |
| 09:17:58 | <merijn> | trcc: in mathspeak something is "necessary" if no solution/proof/whatever of a problem can be made without it (but you might need more than just the *necessary* things). And "sufficient" means that a proof can be constructed using just what you have (although it may include unnecessary/redundant things) |
| 09:18:15 | → | LKoen joins (~LKoen@77.168.9.109.rev.sfr.net) |
| 09:18:23 | <merijn> | trcc: So "necessary and sufficient" describes a, well, "minimal and complete" set of requirements for something |
| 09:18:39 | <trcc> | ahh now I get it |
| 09:18:56 | → | Synthetica joins (uid199651@gateway/web/irccloud.com/x-lrjabllucnezjrom) |
| 09:20:37 | <trcc> | it was the adjective thing I did not get. "mathier" I was looking it up in dictionaries and stuff hehe |
| 09:21:07 | × | forell quits (~forell@unaffiliated/forell) (Quit: ZNC - https://znc.in) |
| 09:21:14 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 09:21:51 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 09:22:30 | <merijn> | ah :D |
| 09:22:59 | → | forell joins (~forell@unaffiliated/forell) |
| 09:24:34 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 09:25:17 | <gnumonic> | https://github.com/gnumonik/refractor/blob/main/src/Control/Refractor/Refractor.hs (again that's kind of a mess / dunno how useful it'll be but it might communicate the idea) |
| 09:25:30 | <tdammers> | I've always rolled with "necessary" = "if this is not met, then the answer is definitely 'no'"; "sufficient" = "if this is met, then the answer is definitely 'yes'"; and in between the two, you have "maybe, maybe not" |
| 09:25:46 | <gnumonic> | The RMap thing is just a hacked-together ordered map that I made because I thought I wanted a Control.Lens.At instance and a regular OMap violates a lens law, or something |
| 09:27:56 | <gnumonic> | q is necessary for p = p -> q = ~q -> ~p (the latter seems more intuitive for some reason) |
| 09:32:18 | <joel135> | I am not seeing a ComonadStore instance anywhere. |
| 09:33:12 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 09:34:41 | <gnumonic> | Er crap I forgot I changed it to the GADT version that doesn't have one, oops. Nevermind :-( |
| 09:34:44 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 09:34:52 | → | heatsink_ joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 09:35:03 | → | ddellacosta joins (~ddellacos@86.106.143.10) |
| 09:36:37 | <joel135> | ok |
| 09:39:12 | × | ddellacosta quits (~ddellacos@86.106.143.10) (Ping timeout: 240 seconds) |
| 09:39:21 | × | heatsink_ quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 09:43:02 | → | vv8 joins (~egp_@2.95.117.163) |
| 09:43:06 | × | todda7 quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds) |
| 09:43:11 | × | bennofs__ quits (~quassel@x4db75e90.dyn.telefonica.de) (Ping timeout: 240 seconds) |
| 09:45:13 | → | DavidEichmann joins (~david@147.136.46.217.dyn.plus.net) |
| 09:46:55 | → | bennofs_ joins (~quassel@x4db75e90.dyn.telefonica.de) |
| 09:52:53 | × | bennofs_ quits (~quassel@x4db75e90.dyn.telefonica.de) (Ping timeout: 246 seconds) |
| 09:56:54 | → | malumore joins (~malumore@151.62.117.103) |
| 09:57:29 | <jumper149> | I just added GHC 9.0.1 to my CI and noticed some problem: https://travis-ci.com/github/jumper149/blucontrol/jobs/499336792#L486 |
| 09:57:40 | <jumper149> | Are problems with the monad-control library expected? |
| 09:58:59 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
| 10:02:56 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 10:03:23 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Ping timeout: 250 seconds) |
| 10:03:28 | → | todda7 joins (~torstein@ppp-2-85-110-156.home.otenet.gr) |
| 10:03:33 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) |
| 10:05:07 | → | slaterr joins (~bc8134e3@217.29.117.252) |
| 10:05:48 | → | guy25 joins (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) |
| 10:06:08 | <slaterr> | hi. I like to pass this page around to show the usefulness of monad abstraction, but taking a closer look, code in the list monad seems to be wrong? last expression in do block prints, instead of returning a list. https://philipnilsson.github.io/Badness10k/escaping-hell-with-monads/ |
| 10:06:34 | <slaterr> | actually, all the examples print |
| 10:06:41 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:06:42 | <slaterr> | so the are all using IO monad :-O |
| 10:06:50 | <guy25> | I know this is a bit of an oxymoron, but can we ask general help questions here |
| 10:07:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:09:01 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Ping timeout: 250 seconds) |
| 10:09:37 | <guy25> | would anyone mind installing a package with cabal for me? |
| 10:10:04 | <guy25> | it keeps failing and I have a feeling it's not my end |
| 10:10:57 | → | philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) |
| 10:11:40 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 10:12:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:13:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:13:44 | → | ddellacosta joins (~ddellacos@86.106.143.222) |
| 10:14:19 | × | guy25 quits (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: Connection closed) |
| 10:15:34 | <olligobber> | what package? and they're gone |
| 10:15:53 | <jumper149> | slaterr: Yeah I think you are right with that one. Monad transformers can still provide the same thing with `lift print d` for example. The `ListT` monad transformer is a weird thing though. Better use a streaming library. |
| 10:17:21 | <olligobber> | if you replace print d with pure $ print d, and then put a fold at the start, it works |
| 10:17:52 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
| 10:18:16 | <olligobber> | well, maybe not for all of them, but fold will do Maybe (IO ()) -> IO () and [IO ()] -> IO () |
| 10:18:21 | × | ddellacosta quits (~ddellacos@86.106.143.222) (Ping timeout: 268 seconds) |
| 10:19:37 | <olligobber> | the state one has like runState or evalState or execState to get the return value out |
| 10:19:46 | <olligobber> | I don't know how continuations work |
| 10:20:22 | × | sdx32 quits (~sdx23@unaffiliated/sdx23) (Ping timeout: 252 seconds) |
| 10:23:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:24:26 | <slaterr> | :t fold |
| 10:24:27 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 10:24:28 | <lambdabot> | (Foldable t, Monoid m) => t m -> m |
| 10:24:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:24:48 | <olligobber> | % fold [print 1, print 2, print 4] |
| 10:24:49 | <yahb> | olligobber: 1; 2; 4 |
| 10:25:04 | <olligobber> | % fold Nothing :: IO () |
| 10:25:04 | <yahb> | olligobber: |
| 10:25:14 | <olligobber> | % fold (Just (print 1)) |
| 10:25:14 | <yahb> | olligobber: 1 |
| 10:25:35 | <slaterr> | so it is like sequence_ |
| 10:25:59 | <olligobber> | probably does the same thing actually |
| 10:26:13 | <olligobber> | :t sequence_ |
| 10:26:14 | <lambdabot> | (Foldable t, Monad m) => t (m a) -> m () |
| 10:26:24 | <slaterr> | just more general |
| 10:26:27 | → | Wo[m] joins (lykos-2021@gateway/shell/matrix.org/x-tfamvfkpyyipdlgr) |
| 10:26:56 | <olligobber> | sequence_ is for monads, fold is for monoids, IO () is both |
| 10:28:56 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 10:29:17 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 10:29:55 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 10:30:43 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:31:04 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 10:36:12 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 10:36:33 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:36:42 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 10:39:46 | × | plutoniix quits (~q@184.82.212.134) (Ping timeout: 240 seconds) |
| 10:41:10 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 268 seconds) |
| 10:42:36 | → | Sorny joins (~Sornaensi@077213200034.dynamic.telenor.dk) |
| 10:43:42 | × | idhugo__ quits (~idhugo@130.225.16.16) (Read error: Connection reset by peer) |
| 10:45:07 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) |
| 10:45:20 | → | idhugo__ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) |
| 10:46:04 | × | Sorna quits (~Sornaensi@79.142.232.102) (Ping timeout: 252 seconds) |
| 10:46:43 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:47:45 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:48:21 | → | ddellacosta joins (~ddellacos@83.143.246.110) |
| 10:49:34 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) (Ping timeout: 245 seconds) |
| 10:50:40 | → | thblt joins (~thblt@unaffiliated/thblt) |
| 10:50:54 | ← | thblt parts (~thblt@unaffiliated/thblt) ("ERC (IRC client for Emacs 28.0.50)") |
| 10:52:25 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr) |
| 10:52:44 | × | ddellacosta quits (~ddellacos@83.143.246.110) (Ping timeout: 246 seconds) |
| 10:52:44 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 10:53:10 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr) (Client Quit) |
| 10:53:12 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 10:53:33 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:01:48 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.43) |
| 11:08:59 | → | HannaM joins (~quassel@p54849510.dip0.t-ipconnect.de) |
| 11:13:55 | → | aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 11:14:41 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 11:14:42 | → | ashesham` joins (~user@d8d87d1b0.access.telenet.be) |
| 11:16:19 | × | asheshambasta quits (~user@ptr-e1lysawvmwijg2oywyl.18120a2.ip6.access.telenet.be) (Ping timeout: 260 seconds) |
| 11:18:44 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 11:22:06 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.43) (Ping timeout: 240 seconds) |
| 11:24:41 | → | Guest81955 joins (b3d906da@179.217.6.218) |
| 11:25:43 | × | Guest81955 quits (b3d906da@179.217.6.218) (Client Quit) |
| 11:25:46 | → | raichoo joins (~raichoo@dslb-178-009-065-077.178.009.pools.vodafone-ip.de) |
| 11:26:06 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 11:26:12 | → | puke joins (~vroom@217.138.252.184) |
| 11:29:04 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.43) |
| 11:30:26 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
| 11:31:08 | → | Sornaensis joins (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) |
| 11:31:18 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
| 11:33:41 | × | Sorny quits (~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
| 11:36:43 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:36:48 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 11:38:57 | → | aveltras joins (uid364989@gateway/web/irccloud.com/x-muzwlbtiuimflysf) |
| 11:39:24 | → | CiaoSen joins (~Jura@p200300c9574e1e00229f455a1e4eecce.dip0.t-ipconnect.de) |
| 11:40:59 | × | todda7 quits (~torstein@ppp-2-85-110-156.home.otenet.gr) (Ping timeout: 268 seconds) |
| 11:41:13 | → | chele_ joins (~chele@5.53.222.202) |
| 11:41:27 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 11:42:46 | × | chele quits (~chele@5.53.222.202) (Disconnected by services) |
| 11:42:50 | chele_ | is now known as chele |
| 11:44:51 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 11:48:01 | × | bb010g quits (uid21050@gateway/web/irccloud.com/x-onrynoluckjwobrc) (Quit: Connection closed for inactivity) |
| 11:51:33 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
| 11:53:58 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) |
| 11:54:14 | × | vv8 quits (~egp_@2.95.117.163) (Quit: EXIT) |
| 11:54:36 | → | vv8 joins (~egp_@2.95.117.163) |
| 11:54:52 | → | Alleria joins (~textual@mskresolve-a.mskcc.org) |
| 11:55:15 | Alleria | is now known as Guest70321 |
| 11:56:38 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 12:00:42 | → | ddellacosta joins (~ddellacos@86.106.143.248) |
| 12:01:49 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 12:02:48 | × | usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving) |
| 12:04:36 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 12:04:42 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Quit: Konversation terminated!) |
| 12:04:50 | × | ddellacosta quits (~ddellacos@86.106.143.248) (Ping timeout: 246 seconds) |
| 12:05:02 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Ping timeout: 268 seconds) |
| 12:05:35 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Ping timeout: 250 seconds) |
| 12:07:07 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9) |
| 12:08:20 | → | todda7 joins (~torstein@athedsl-4519432.home.otenet.gr) |
| 12:11:59 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 12:13:59 | × | MrMobius quits (~MrMobius@208.58.206.154) (Read error: Connection reset by peer) |
| 12:14:51 | → | wmacmil joins (~wmacmil@c83-248-72-252.bredband.comhem.se) |
| 12:15:01 | → | MrMobius joins (~MrMobius@208.58.206.154) |
| 12:15:13 | <infinisil> | :t sequenceA |
| 12:15:15 | <lambdabot> | (Traversable t, Applicative f) => t (f a) -> f (t a) |
| 12:15:35 | → | malumore_ joins (~malumore@151.62.117.103) |
| 12:16:19 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:f72c:ebd9:1857:d75c) (Ping timeout: 248 seconds) |
| 12:18:25 | × | malumore quits (~malumore@151.62.117.103) (Ping timeout: 260 seconds) |
| 12:19:32 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
| 12:20:37 | → | knupfer joins (~Thunderbi@200116b82b68a200a5742d391fae1c41.dip.versatel-1u1.de) |
| 12:21:39 | × | CiaoSen quits (~Jura@p200300c9574e1e00229f455a1e4eecce.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 12:23:22 | → | CiaoSen joins (~Jura@p5dcc163c.dip0.t-ipconnect.de) |
| 12:24:02 | → | rodriga joins (~quassel@134.204.25.66) |
| 12:27:03 | → | drbean_ joins (~drbean@TC210-63-209-146.static.apol.com.tw) |
| 12:27:18 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 12:28:28 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 268 seconds) |
| 12:28:39 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:7417:4794:7820:3adc) |
| 12:30:34 | × | aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 276 seconds) |
| 12:30:57 | → | ddellacosta joins (~ddellacos@86.106.143.40) |
| 12:33:02 | × | wmacmil quits (~wmacmil@c83-248-72-252.bredband.comhem.se) (Read error: Connection reset by peer) |
| 12:33:14 | → | adiosf6f[m] joins (adiosf6fma@gateway/shell/matrix.org/x-sxrfngbhrelkblkw) |
| 12:33:23 | → | wmacmil joins (~wmacmil@c83-248-72-252.bredband.comhem.se) |
| 12:33:54 | ← | adiosf6f[m] parts (adiosf6fma@gateway/shell/matrix.org/x-sxrfngbhrelkblkw) ("User left") |
| 12:34:32 | × | wmacmil quits (~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection) |
| 12:34:47 | → | wmacmil joins (~wmacmil@c83-248-72-252.bredband.comhem.se) |
| 12:37:29 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 12:38:36 | × | slaterr quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (EOF)) |
| 12:41:20 | × | knupfer quits (~Thunderbi@200116b82b68a200a5742d391fae1c41.dip.versatel-1u1.de) (Remote host closed the connection) |
| 12:41:46 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 12:41:59 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-uwdxggeqquhliznf) |
| 12:42:33 | → | knupfer joins (~Thunderbi@200116b82b68a2004db076fcee496007.dip.versatel-1u1.de) |
| 12:46:06 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 12:47:50 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 12:51:33 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.43) (Ping timeout: 260 seconds) |
| 12:53:21 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 12:53:26 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
| 12:53:51 | → | alx741 joins (~alx741@186.178.109.113) |
| 12:58:26 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.43) |
| 12:58:39 | → | Tario joins (~Tario@201.192.165.173) |
| 12:59:05 | × | alx741 quits (~alx741@186.178.109.113) (Ping timeout: 246 seconds) |
| 13:00:49 | × | hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 252 seconds) |
| 13:03:01 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 252 seconds) |
| 13:03:49 | → | Tario joins (~Tario@201.192.165.173) |
| 13:05:04 | × | shailangsa quits (~shailangs@host86-185-98-61.range86-185.btcentralplus.com) (Ping timeout: 265 seconds) |
| 13:07:44 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 13:07:49 | → | son0p joins (~ff@181.136.122.143) |
| 13:08:03 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 13:11:41 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
| 13:11:42 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 13:12:07 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection) |
| 13:12:38 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 13:14:02 | × | wmacmil quits (~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection) |
| 13:14:15 | → | wmacmil joins (~wmacmil@c83-248-72-252.bredband.comhem.se) |
| 13:15:46 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 13:16:09 | → | ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:16:54 | → | idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 13:17:50 | → | waleee-cl joins (uid373333@gateway/web/irccloud.com/x-pqcbjjfbbjmsxwwn) |
| 13:18:11 | → | bor0 joins (~boro@unaffiliated/boro/x-000000001) |
| 13:18:56 | × | loller_ quits (uid358106@gateway/web/irccloud.com/x-uyikepdymdnjzedf) (Quit: Connection closed for inactivity) |
| 13:19:32 | × | wmacmil quits (~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection) |
| 13:19:34 | × | idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds) |
| 13:19:44 | → | wmacmil joins (~wmacmil@c83-248-72-252.bredband.comhem.se) |
| 13:21:02 | × | wmacmil quits (~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection) |
| 13:21:46 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
| 13:22:59 | × | ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 13:25:14 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:28:43 | → | ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:33:37 | → | carlomagno joins (~cararell@148.87.23.8) |
| 13:34:22 | × | ddellacosta quits (~ddellacos@86.106.143.40) (Ping timeout: 252 seconds) |
| 13:38:05 | × | ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 13:38:06 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 13:40:05 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.43) (Ping timeout: 260 seconds) |
| 13:41:22 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:42:12 | → | alx741 joins (~alx741@186.178.109.113) |
| 13:42:31 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 13:44:01 | × | drbean_ quits (~drbean@TC210-63-209-146.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 13:44:38 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 13:45:54 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 13:47:17 | → | barzo joins (~sosal@159.146.53.142) |
| 13:49:36 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:54:26 | × | bor0 quits (~boro@unaffiliated/boro/x-000000001) (Quit: Leaving) |
| 13:55:58 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 13:57:39 | <lechner> | Hi, is it now possible to build multiple executables in a stack project? How? Thanks! |
| 13:58:12 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 13:58:17 | × | wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 260 seconds) |
| 13:58:43 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9) (Ping timeout: 260 seconds) |
| 13:59:21 | → | wonko7 joins (~wonko7@62.115.229.50) |
| 14:00:33 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 14:01:29 | → | hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube) |
| 14:02:05 | → | ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 14:04:11 | × | elliott__ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 14:06:21 | × | johannes_ quits (~johannes@mue-88-130-62-032.dsl.tropolys.de) (Quit: leaving) |
| 14:06:46 | <raehik> | I want to contact the Hackage maintainers regarding a pkg issue, is this wiki page up to date? https://wiki.haskell.org/Taking_over_a_package |
| 14:07:06 | × | ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds) |
| 14:07:27 | <raehik> | last update from 2015, and the hackage.haskell.org email doesn't match with other contact I've had with the maintainers |
| 14:07:53 | × | jess quits (jess@freenode/staff/jess) (Ping timeout: 622 seconds) |
| 14:14:35 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 14:14:54 | × | unyu quits (~pyon@unaffiliated/pyon) (Quit: Reboot.) |
| 14:16:40 | → | unyu joins (~pyon@unaffiliated/pyon) |
| 14:18:38 | × | aveltras quits (uid364989@gateway/web/irccloud.com/x-muzwlbtiuimflysf) (Quit: Connection closed for inactivity) |
| 14:19:44 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 14:23:42 | → | shailangsa joins (~shailangs@host86-186-132-20.range86-186.btcentralplus.com) |
| 14:24:27 | <edwardk> | raehik: usually i'd start with an email to the libraries@ mailing list to see if the author will respond, then gradually escalate rather than dive straight into emailing the trustees |
| 14:25:30 | <raehik> | edwardk: Thanks. It's a bit of a specific problem, the pkg seems to have orphaned itself. I work with the maintainer, they somehow have lost their upload rights and we can't find anyone who can upload |
| 14:25:40 | <merijn> | edwardk: admins and trustees are different, trustees can't take over anything anyhow :p |
| 14:26:04 | <merijn> | raehik: Then the maintainer should just mail hackage admins |
| 14:26:27 | <merijn> | They should be able to see what happened, who (if anyone) has upload rights and/or restore rights |
| 14:26:28 | <raehik> | I ended up emailing the trustees and that admin email on the wiki |
| 14:26:33 | <edwardk> | merijn: indeed |
| 14:26:54 | <merijn> | raehik: trustees can't do anything besides publish revisions (i.e. new bounds) |
| 14:26:56 | <edwardk> | raehik: then in that case yeah, contacting the admins off that link looks to be the right way to fix it |
| 14:27:19 | <raehik> | right thanks merijn and edwardk -- was mostly curious if that email was correct. doesn't match the other Hackage ones |
| 14:27:41 | <edwardk> | raehik my understanding is it hasn't changed. if it doesn't get through you can always ping tapas here |
| 14:27:49 | <edwardk> | and try to get things rolling another way |
| 14:29:06 | <raehik> | Fab, I'll wait a while and keep that in mind. Cheers for the help |
| 14:30:22 | → | ClaudiusMaximus joins (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) |
| 14:30:40 | × | ClaudiusMaximus quits (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host) |
| 14:30:40 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 14:31:17 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 14:33:32 | → | ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 14:33:35 | × | p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Remote host closed the connection) |
| 14:33:41 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 14:35:47 | → | viluon joins (uid453725@gateway/web/irccloud.com/x-ftnuqxhuphmmdyvk) |
| 14:35:49 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 14:36:45 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 14:38:08 | × | davidfetter1 quits (~davidfett@195.140.213.38) (Remote host closed the connection) |
| 14:38:08 | × | ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds) |
| 14:38:32 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 14:38:49 | × | zariuq quits (~zar@fw1.ciirc.cvut.cz) (Quit: Leaving) |
| 14:41:36 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 14:43:46 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 14:46:38 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) |
| 14:47:00 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 14:48:13 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 14:49:34 | → | ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
| 14:50:52 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-fxkopagyhurwlxby) |
| 14:51:03 | × | coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 14:51:42 | × | enoq quits (~textual@194-208-146-143.lampert.tv) (Quit: Textual IRC Client: www.textualapp.com) |
| 14:51:59 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) (Ping timeout: 250 seconds) |
| 14:53:05 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 14:53:14 | × | hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
| 14:53:15 | → | p3n joins (~p3n@217.198.124.246) |
| 14:54:07 | → | Barras2 joins (~Barras2@139.28.218.148) |
| 14:56:44 | → | dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-tozcupusvmlxhyii) |
| 14:57:57 | → | jao joins (~jao@pdpc/supporter/professional/jao) |
| 14:57:58 | × | hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 252 seconds) |
| 14:59:52 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 15:00:05 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 15:00:34 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 15:00:45 | → | lambdaman joins (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
| 15:04:52 | × | lambdaman quits (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds) |
| 15:06:11 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 15:06:46 | → | hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:32e1:d1a7:8b3e:afc2) |
| 15:07:04 | → | barakkleyman_ joins (~barakkley@2.55.141.207) |
| 15:09:43 | → | ddellacosta joins (~ddellacos@86.106.143.183) |
| 15:10:15 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 15:10:48 | × | xsperry quits (~as@unaffiliated/xsperry) () |
| 15:14:26 | × | ddellacosta quits (~ddellacos@86.106.143.183) (Ping timeout: 252 seconds) |
| 15:19:09 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 15:19:17 | × | ashesham` quits (~user@d8d87d1b0.access.telenet.be) (Ping timeout: 268 seconds) |
| 15:23:38 | × | CiaoSen quits (~Jura@p5dcc163c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 15:24:28 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 15:24:45 | × | idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds) |
| 15:27:28 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 15:29:38 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 15:29:42 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Read error: Connection reset by peer) |
| 15:29:56 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 15:30:51 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 15:32:51 | × | barakkleyman_ quits (~barakkley@2.55.141.207) (Ping timeout: 268 seconds) |
| 15:37:59 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:40:35 | → | hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube) |
| 15:40:44 | → | barakkl1993 joins (~barakkley@2.55.141.207) |
| 15:43:50 | × | kuribas quits (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer) |
| 15:45:37 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 15:46:49 | → | coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
| 15:49:01 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 15:50:22 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 265 seconds) |
| 15:50:41 | × | hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 240 seconds) |
| 15:50:51 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 15:51:09 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
| 15:51:27 | → | kuribas joins (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) |
| 15:51:56 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) |
| 15:52:06 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 15:52:39 | → | mctpyt joins (~mctpyt@unaffiliated/mctpyt) |
| 15:52:39 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:52:50 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) (Remote host closed the connection) |
| 15:53:04 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) |
| 15:54:54 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 15:55:13 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 15:56:07 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 250 seconds) |
| 15:57:28 | → | ADG1089 joins (~aditya@223.236.174.241) |
| 15:57:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 15:58:05 | → | kenanmarasli joins (1fdf0934@31.223.9.52) |
| 15:58:11 | <ADG1089> | where can i read up on how to write comments to functions, guards, chained calls, etc.? I have been only using "-- comments" and "{- comment -}" till now |
| 15:58:24 | → | hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube) |
| 15:58:34 | <monochrom> | That is all. |
| 15:59:14 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:59:30 | <ADG1089> | there is ^-- |-- $-- like comments that I've seen |
| 15:59:40 | <monochrom> | Those are for haddock. |
| 15:59:43 | <ski> | @where Haddock |
| 15:59:43 | <lambdabot> | http://www.haskell.org/haddock/ |
| 15:59:55 | <monochrom> | And still none for guards or chained calls. |
| 16:00:24 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 16:01:16 | <monochrom> | And still within the framework of -- and {- -} |
| 16:01:17 | <ski> | (there's also `{-# ... #-}' for pragmas) |
| 16:01:28 | <maerwald> | I wish there was a way to import haddock from another module |
| 16:02:34 | <maerwald> | hugely annoying if you have wrapping APIs |
| 16:02:45 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 16:03:08 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:03:27 | <c_wraith> | there is, to some extent. |
| 16:03:57 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 16:04:02 | <monochrom> | There is. I forgot how. But when you see, for example, some module's doc reciting part or even all of Control.Exception's doc, this is it. |
| 16:04:18 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 268 seconds) |
| 16:04:26 | <monochrom> | Something about re-exporting. |
| 16:04:28 | <c_wraith> | you can tell haddock that a particular module isn't the documentation home for things it defines. So they get documented in other modules that export them. |
| 16:04:45 | <c_wraith> | It's limited in granularity, but it serves that purpose |
| 16:05:02 | → | pengjiz joins (~user@2601:547:902:6d00::2) |
| 16:06:05 | <c_wraith> | Checking one of my packages that uses it... Looks like {-# OPTIONS_HADDOCK not-home #-} |
| 16:06:07 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:7417:4794:7820:3adc) (Ping timeout: 260 seconds) |
| 16:06:09 | <monochrom> | And for example Control.Monad.Writer.Lazy (package mtl) reciting stuff from Control.Monad.Trans.Writer.Lazy (package transformers) |
| 16:07:26 | × | kuribas quits (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer) |
| 16:08:23 | → | Hanma[m] joins (hanmamatri@gateway/shell/matrix.org/x-ktsmcyuxlppyzjzb) |
| 16:09:23 | → | cfricke joins (cfricke@gateway/vpn/mullvad/cfricke) |
| 16:09:40 | × | dolio quits (~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in) |
| 16:11:23 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 16:12:33 | → | kuribas joins (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) |
| 16:14:25 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 252 seconds) |
| 16:14:34 | → | dolio joins (~dolio@haskell/developer/dolio) |
| 16:14:44 | × | cfricke quits (cfricke@gateway/vpn/mullvad/cfricke) (Ping timeout: 246 seconds) |
| 16:15:52 | × | barakkl1993 quits (~barakkley@2.55.141.207) (Ping timeout: 240 seconds) |
| 16:17:54 | ← | cohn parts (~noone@unaffiliated/cohn) () |
| 16:18:37 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:82c:fa7c:5833:ee7a) |
| 16:20:43 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:21:05 | → | barakkl1993 joins (~barakkley@2.55.190.28) |
| 16:21:32 | × | kuribas quits (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer) |
| 16:23:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:26:16 | → | cohn joins (~noone@unaffiliated/cohn) |
| 16:27:28 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.43) |
| 16:28:08 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 16:28:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 16:28:54 | → | lambdaman joins (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
| 16:29:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:30:20 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 16:30:46 | → | v01d4lph4 joins (~v01d4lph4@27.57.103.213) |
| 16:32:45 | Kaeipi | is now known as Kaiepi |
| 16:32:46 | × | kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection) |
| 16:33:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 16:34:21 | → | morkessa joins (~kelsey@096-033-168-208.res.spectrum.com) |
| 16:34:58 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 276 seconds) |
| 16:35:19 | × | v01d4lph4 quits (~v01d4lph4@27.57.103.213) (Ping timeout: 265 seconds) |
| 16:35:46 | × | mctpyt quits (~mctpyt@unaffiliated/mctpyt) (Ping timeout: 240 seconds) |
| 16:37:34 | → | basenode joins (~user@gateway/tor-sasl/basenode) |
| 16:37:39 | <basenode> | hello? |
| 16:37:42 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 16:37:42 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 16:38:02 | → | mctpyt joins (~mctpyt@unaffiliated/mctpyt) |
| 16:38:20 | <sm[m]> | hello |
| 16:39:15 | × | hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:32e1:d1a7:8b3e:afc2) (Ping timeout: 260 seconds) |
| 16:39:19 | <basenode> | hi, i have a quick question: is it possible to convert a (previously nested) flattened (ordered) list to a nested structure with O(n) complexity recursively? |
| 16:41:19 | <basenode> | i.e. [{id: 1, parent_id: nil}, {id: 2, parent_id: 1}, {id: 3: parent_id: nil}] to [{id: 1, children: [{id: 2}]}, {id: 2, children: []}] |
| 16:41:55 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.43) (Ping timeout: 252 seconds) |
| 16:42:19 | <sm[m]> | I don't know if this will help, but did you know it's possible to have a flat list that is also a nested tree ? |
| 16:42:53 | ← | morkessa parts (~kelsey@096-033-168-208.res.spectrum.com) () |
| 16:43:20 | <sm[m]> | sorry, I don't know the answer to your q |
| 16:43:57 | <basenode> | sm[m]: no problem, thanks anyway |
| 16:43:58 | <sm[m]> | but I'll guess yes |
| 16:44:11 | <basenode> | i feel like its yes too, but i just don't know how to do it |
| 16:45:30 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 16:47:17 | → | gitgood joins (~gitgood@80-44-9-246.dynamic.dsl.as9105.com) |
| 16:47:37 | <sm[m]> | maybe https://hackage.haskell.org/package/hledger-lib-1.21/docs/src/Hledger.Utils.Tree.html gives ideas |
| 16:48:04 | <wroathe> | basenode: It would be O(n) for iterating the source array, but inserting into the target tree will likely require an O(log(n)) lookup |
| 16:48:08 | → | geiger_ joins (~geiger@90.212.77.86) |
| 16:48:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 16:48:36 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-pwqigqguzpkhpeqf) |
| 16:49:18 | × | mctpyt quits (~mctpyt@unaffiliated/mctpyt) (Quit: WeeChat 3.1) |
| 16:49:33 | <wroathe> | basenode: You'll be looking up nodes by parent id in the target tree |
| 16:50:13 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 16:50:56 | → | idhugo_ joins (~idhugo@87.49.147.45) |
| 16:51:25 | × | geiger quits (~geiger@90.212.77.86) (Ping timeout: 260 seconds) |
| 16:51:58 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 16:52:27 | × | Techcable quits (~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in) |
| 16:55:09 | → | Techcable joins (~Techcable@168.235.93.147) |
| 16:55:43 | <basenode> | wroathe: ah ok, i thought i might be able to iterate over each element only once |
| 16:56:08 | → | minoru_shiraeesh joins (~shiraeesh@109.166.57.43) |
| 16:56:51 | <wroathe> | basenode: Oh, I missed the detail where you said they were sorted |
| 16:56:58 | <wroathe> | basenode: If they're sorted you can |
| 16:57:01 | <basenode> | ah |
| 16:57:16 | <basenode> | yeah that's quite an important detail i think ;) |
| 16:57:46 | × | gnumonic quits (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 17:03:18 | <basenode> | wroathe: any idea what the general algorithm for this would look like? |
| 17:04:32 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 17:07:22 | → | unlink_ joins (~unlink2@p57b8541f.dip0.t-ipconnect.de) |
| 17:08:13 | × | unlink2 quits (~unlink2@p57b853bf.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 17:08:55 | × | ADG1089 quits (~aditya@223.236.174.241) (Quit: Konversation terminated!) |
| 17:09:06 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds) |
| 17:10:26 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:11:32 | <wroathe> | basenode: The basic idea is just to leverage the call stack to store a reference to the current parent node and to iterate while the child's parent id matches the current parent |
| 17:13:20 | × | coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 17:14:30 | × | kenanmarasli quits (1fdf0934@31.223.9.52) (Quit: Connection closed) |
| 17:15:20 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 17:16:58 | <basenode> | wroathe: been trying to do that for the last few hours to not much success :P |
| 17:17:13 | × | idhugo_ quits (~idhugo@87.49.147.45) (Ping timeout: 240 seconds) |
| 17:17:19 | × | kristijonas quits (~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection) |
| 17:17:52 | → | kristijonas joins (~kristijon@78-56-32-39.static.zebra.lt) |
| 17:18:13 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) |
| 17:18:16 | <wroathe> | uno momento |
| 17:19:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:20:19 | × | kristijonas quits (~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection) |
| 17:20:47 | → | kristijonas joins (~kristijon@78-56-32-39.static.zebra.lt) |
| 17:21:52 | <basenode> | sure |
| 17:22:18 | × | kristijonas quits (~kristijon@78-56-32-39.static.zebra.lt) (Max SendQ exceeded) |
| 17:22:39 | <basenode> | im wondering, i was initially using 2 parameters in my recursion function, initial and final (where initial is the flat array, and final the nestd array) |
| 17:22:56 | <basenode> | but maybe i need a 3 parameter to keep track of a particular tree? |
| 17:23:17 | → | kuribas joins (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) |
| 17:23:28 | <barakkl1993> | hey, I just can't see how to change this list comprehension to map and filter, [x | x <- [1..],x % 3 == 0|| x % 5 == 0, x < 1000] |
| 17:24:11 | → | kristijonas joins (~kristijon@78-56-32-39.static.zebra.lt) |
| 17:24:33 | × | rajivr quits (uid269651@gateway/web/irccloud.com/x-ozfaqobeqdbxwvmv) (Quit: Connection closed for inactivity) |
| 17:24:42 | × | kristijonas quits (~kristijon@78-56-32-39.static.zebra.lt) (Max SendQ exceeded) |
| 17:25:23 | × | xff0x quits (~xff0x@2001:1a81:52f2:b700:a7c9:31ec:b9a1:9e16) (Ping timeout: 250 seconds) |
| 17:26:14 | → | xff0x joins (~xff0x@2001:1a81:52f2:b700:d92:ea7f:92b1:dda) |
| 17:27:49 | × | barakkl1993 quits (~barakkley@2.55.190.28) (Ping timeout: 260 seconds) |
| 17:30:53 | × | barzo quits (~sosal@159.146.53.142) (Read error: Connection reset by peer) |
| 17:31:09 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 17:33:32 | ski | . o O ( "ParentTree.hs" <https://paste.tomsmeding.com/7DyPxjR6> ) |
| 17:36:08 | <wroathe> | basenode: Yeah, use ski's link. I'm too distracted by this Chauvin trial to be any use. |
| 17:36:12 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 17:36:15 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
| 17:36:28 | <tomsmeding> | n log n though |
| 17:37:35 | <tomsmeding> | basenode: are you fine with ST and mutable vectors? :p |
| 17:37:35 | <ski> | you could use an array/vector, and map over it |
| 17:38:01 | <ski> | (assuming you can use your IDs as indices) |
| 17:39:28 | ski | idly notes that the paste on the page doesn't display the form feed |
| 17:39:36 | × | hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 265 seconds) |
| 17:40:02 | <tomsmeding> | ski: the form feed is there in the html, your browser just doesn't do anything with it :p |
| 17:40:13 | <tomsmeding> | in fact I'm not sure what it _should_ do |
| 17:40:27 | <ski> | yea, i noticed it in the raw form |
| 17:40:43 | <ski> | i'm not sure if it should do anything special, either .. just noticed it |
| 17:41:04 | <tomsmeding> | where did the form feed come from |
| 17:41:15 | <ski> | i entered it into the source, as a section separation |
| 17:41:58 | <ski> | (you can navigate to previous/next page, in Emacs, using `C-x [' / `C-x ]') |
| 17:43:40 | <ski> | (i tend to sometimes enter those, trying to keep pages under sixtysix lines, per the suggestion under `*** Pagination' at Riastradh's <https://mumble.net/~campbell/scheme/style.txt>) |
| 17:44:10 | <unyu> | ski: `C-x [` seems to go to the top of the buffer, not just the previous page. |
| 17:44:22 | <ski> | if you're already on the first page, sure |
| 17:44:48 | <unyu> | I'm nowhere near the first page on this very buffer. |
| 17:45:11 | × | Geekingfrog quits (geekingfro@2a01:7e01::f03c:92ff:fe48:8bdf) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:45:20 | <ski> | `C-x [' is bound to `backward-page', here. perhaps you have some other binding |
| 17:45:32 | <ski> | (and `C-x ]' to `forward-page') |
| 17:45:35 | <unyu> | Ah... |
| 17:45:59 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 17:46:38 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 17:47:00 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 17:48:49 | → | Geekingfrog joins (~geekingfr@li2156-64.members.linode.com) |
| 17:51:07 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
| 17:51:34 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 17:51:51 | → | rond_ joins (5940206b@89-64-32-107.dynamic.chello.pl) |
| 17:52:31 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:52:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 18:00:16 | → | MrFantastik joins (~user@rrcs-184-74-43-235.nys.biz.rr.com) |
| 18:00:53 | → | safinaskar joins (~user@109.252.90.136) |
| 18:01:03 | <MrFantastik> | is it possible to explain a monad to someone who has never programmed in haskell and doesn't know category theory? |
| 18:01:12 | <Rembane> | MrFantastik: Yes! |
| 18:01:31 | <safinaskar> | monochrom: Axman6: hi. you said yesterday that SPJ uses {}, show me some code, please :) |
| 18:01:44 | <tomsmeding> | MrFantastik: by teaching them haskell :p |
| 18:01:46 | <MrFantastik> | how would that go? that person is me lol |
| 18:01:56 | <MrFantastik> | lmao |
| 18:02:29 | <MrFantastik> | https://i.kym-cdn.com/entries/icons/original/000/011/656/sophiscated_cat.PNG |
| 18:02:29 | <monochrom> | line 1: "do {". line 2: align with the "{" above, "; s <- getLine" |
| 18:02:31 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 18:02:35 | <MrFantastik> | i should learn haskell |
| 18:02:37 | <tomsmeding> | I learned monads by playing around with them in haskell, and I believe for someone without a very strong mathematical background, that's the best way |
| 18:03:11 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:03:19 | × | fiedlr quits (~fiedlr@83.148.33.254) (Ping timeout: 268 seconds) |
| 18:03:40 | <monochrom> | err actuall no |
| 18:04:05 | <tomsmeding> | I'd say the first statement is before the first ; |
| 18:04:12 | <monochrom> | line 1: "do { s <- getLine". line 2: align with the "{" above, "; putStrLn s". |
| 18:04:18 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 18:04:22 | <tomsmeding> | beautiful |
| 18:05:01 | <monochrom> | And at the end, "}" on its own line, aligning with that column of "{" and ";"s |
| 18:05:44 | <Cale> | MrFantastik: I suppose I could try -- are you familiar with parametric data types? The most common example would be things like container data types which have a parameter for which type of elements they'd have. |
| 18:06:17 | <yushyin> | safinaskar: just look at some commit from spj? |
| 18:06:28 | <yushyin> | safinaskar: https://gitlab.haskell.org/ghc/ghc/-/commit/c71b220491a6ae46924cc5011b80182bcc773a58 https://gitlab.haskell.org/ghc/ghc/-/commit/0a8c14bd5a5438b1d042ad279b8ffff1bc867e7e |
| 18:07:38 | <Cale> | MrFantastik: I will also say, it's probably not very useful to know much about the monad abstraction if you're not programming in a language that makes it usable. If at the end of the day, you can't really write code which would work in an arbitrary monad, then the abstraction buys you very little. |
| 18:08:19 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 248 seconds) |
| 18:08:24 | <basenode> | tomsmeding: not really honestly, i don't really know any haskell |
| 18:08:37 | <MrFantastik> | Cale I'm reading https://en.wikipedia.org/wiki/Parametric_polymorphism in regards to the parameteric data types |
| 18:08:52 | <MrFantastik> | your second comment is reassuring |
| 18:08:58 | <tomsmeding> | basenode: I'm trying to make a fully linear version, but it involves a mutable vector somewhere :p |
| 18:09:00 | <MrFantastik> | monads give me a weird sense of fomo |
| 18:09:07 | <tomsmeding> | not sure you can do without if you won't accept n log n |
| 18:09:17 | <basenode> | tomsmeding: as in non-recursive? |
| 18:09:41 | <wroathe> | MrFantastik: They're not really that magic. They're sort of a solution to a problem that Haskell imposes on itself. Because there's no concept of a "statement" or a "step" in the computation there's no way to sequence that x should come before y. One of the things that monads do, then, is to establish sequencing by saying that some value is a _dependency_ of a computation. |
| 18:09:55 | <tomsmeding> | basenode: what do you mean with recursive? that the function that builds the result should be recursive? |
| 18:10:06 | <basenode> | tomsmeding: exactly |
| 18:10:12 | <tomsmeding> | why do you want that? :p |
| 18:10:18 | <Cale> | wroathe: I'm not sure I'd classify all monads that way |
| 18:10:19 | <basenode> | tomsmeding: purity lol |
| 18:10:39 | <tomsmeding> | I'm not sure what being recursive has to do with being pure, to be honest :p |
| 18:10:41 | <Cale> | One particular monad is a solution to the problem that functions can't do IO, the IO monad |
| 18:10:59 | <basenode> | tomsmeding: it's functional |
| 18:10:59 | <Cale> | But the monad abstraction itself is useful because there are more monads than that. |
| 18:11:09 | <basenode> | no mutation of state |
| 18:11:12 | <Cale> | For example... |
| 18:11:12 | <tomsmeding> | basenode: lots of non-recursive things are also functional :p |
| 18:11:15 | <basenode> | = amazeballs |
| 18:11:29 | <tomsmeding> | basenode: you can encapsulate usage of mutable state within a pure function |
| 18:11:31 | <Cale> | > do x <- [1,2,3]; y <- [4,5]; return (x,y) -- lists are a monad |
| 18:11:33 | <lambdabot> | [(1,4),(1,5),(2,4),(2,5),(3,4),(3,5)] |
| 18:11:44 | <basenode> | tomsmeding: isn't that a type of function though? |
| 18:11:45 | <wroathe> | Cale: What would be an example of a monad that doesn't follow that pattern? |
| 18:11:59 | <monochrom> | Instead of asking "is it possible?", I ask "is it necessary?". |
| 18:12:05 | <tomsmeding> | basenode: a function that allocates an array, does some weird stuff with it, and finally returns a pure result is a completely pure function, but it still uses mutable things inside |
| 18:12:16 | <wroathe> | Cale: The old saying with IO is that there's an implicit "real world" value that comes before the next "real world" value in the sequence |
| 18:12:23 | × | kuribas quits (~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 18:12:40 | <basenode> | tomsmeding: ok, then i meant to say immutable(?) pure function |
| 18:13:22 | <tomsmeding> | basenode: if you want to add the restriction that no mutation can be used in the function, then I don't think it's possible to do it in linear time, but not sure |
| 18:13:33 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds) |
| 18:13:38 | <monochrom> | It is unnecessary to learn monads outside Haskell unless you're interested in at least one of: C# LINQ, digging deeper into callback-style programming |
| 18:13:48 | <tomsmeding> | or, hmm |
| 18:14:38 | <tomsmeding> | no the paste posted earlier is not linear time when converted from maps to lists |
| 18:15:09 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 18:15:16 | <tomsmeding> | basenode: lots of things get log factors when converted to a purely functional algorithm |
| 18:15:47 | <basenode> | tomsmeding: ok, i guess i'm flexible on the linear time requirement, i think the immutable state is probably more important to me |
| 18:16:15 | <tomsmeding> | basenode: then the paste by ski is an answer :) |
| 18:16:20 | <Cale> | wroathe: Well, the bit that I was taking issue with was saying that it's a problem that Haskell imposed on itself. Most programming languages don't have a built-in notion of parsers, or nondeterminism for example |
| 18:17:04 | <Cale> | wroathe: Monad captures a pattern that is common to many libraries in a particular style of functional programming, and lets us write some common control-structure-like combinators once and share that work between all the libraries. |
| 18:18:36 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 18:18:37 | <basenode> | tomsmeding: i just have to convert it to my daily language, i can't read haskell lol |
| 18:18:46 | <tomsmeding> | basenode: which is? :p |
| 18:18:47 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 18:18:49 | <basenode> | tomsmeding: elixir |
| 18:19:02 | <MrFantastik> | its funny that lisp is the alien logo |
| 18:19:13 | <MrFantastik> | because haskell is much more alien language like |
| 18:19:19 | <wroathe> | Cale: That's the interface component of the Monad typeclass. ski and I were having a good conversation about this the other day. We landed on a few different angles for explaining monads to beginners: 1. Monads as a "box" (the most hand-wavy level), 2. Monads as programmable semicolons (the angle I was just tackling) and 3. The Monad typeclass as an interface like you might think of in any language that |
| 18:19:25 | <wroathe> | supports interfaces |
| 18:19:32 | <tomsmeding> | basenode: ski's solution uses haskell's laziness quite crucially though |
| 18:19:59 | <wroathe> | I think ski might have mentioned one more angle |
| 18:20:01 | <basenode> | tomsmeding: ah, then it that case it probably won't be too useful, otherwise i can't translate it |
| 18:20:23 | <tomsmeding> | wroathe: perhaps monads as a computation? or is that nr. 1? |
| 18:20:39 | <monochrom> | that's 2 |
| 18:20:56 | <monochrom> | programmable semicolon |
| 18:21:00 | <tomsmeding> | I guess |
| 18:21:01 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds) |
| 18:21:33 | <monochrom> | Moggi would prefer programmable let-in but meh |
| 18:21:39 | <tomsmeding> | though you can see the list monad [a] also as a computation that produces an a nondeterminstically, with a bit of squinting |
| 18:21:42 | <Cale> | MrFantastik: I think it helps to have some examples, because "monad" is an abstraction, and if you don't already know any examples of the kind of thing it's abstracting over, it's not going to make sense, even though the actual content of what it is, is quite simple. |
| 18:22:04 | → | hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:bd38:fd76:9bf:a5f) |
| 18:22:05 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 18:22:06 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 18:22:11 | <MrFantastik> | i've looked at some examples and have still very little understanding |
| 18:22:34 | <MrFantastik> | i think they will impossible for me to understand until I need to use one |
| 18:22:37 | <tomsmeding> | MrFantastik: play around with the idea, with only reading I estimate the chance very small that you'll get real understanding |
| 18:22:45 | <Cale> | MrFantastik: So, my favourite example is parsers. It's possible in Haskell (and other typed functional programming languages) to define a type Parser t for things that try to consume some portion of a string, and if successful, will produce a result of type t |
| 18:23:12 | <tomsmeding> | MrFantastik: and that holds for all "you", not only MrFantastik in particular :p |
| 18:23:12 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 18:23:49 | <tomsmeding> | (unless, that is, you understand what a monoid in the category of endofunctors is -- some do) |
| 18:23:54 | <monochrom> | Yeah I leverage Maybe and [] playing dual roles of being data and being simple models of non-functions, when I teach functor, applicative, monad. |
| 18:24:06 | <Cale> | MrFantastik: There are a fair number of parsing libraries in Haskell which basically set out by defining a type like that, and some basic parsers for consuming a single character, or trying to match a particular string, or things like that, and then ways of combining simple parsers together to make more complicated ones |
| 18:24:24 | <safinaskar> | yushyin: thanks |
| 18:24:29 | <monochrom> | non-function programs |
| 18:24:34 | <MrFantastik> | Cale: that sounds interesting |
| 18:25:00 | <Cale> | A very basic primitive type of parser is the one which consumes none of its input, but succeeds, and produces a given result. We'll have a function: |
| 18:25:06 | <Cale> | return :: t -> Parser t |
| 18:25:08 | <monochrom> | Oh generally it is true that you never understand something until you need to use it. |
| 18:25:31 | <Cale> | which given a value, constructs that "do nothing, successfully" sort of parser |
| 18:25:46 | <monochrom> | This is why I still don't sweat myself to learn lens or Day convolutions or... |
| 18:26:33 | <Cale> | MrFantastik: Okay so far? |
| 18:27:04 | <Cale> | return is one of the two functions that we need to define to make Parser into a monad. |
| 18:27:50 | → | Deide joins (~Deide@217.155.19.23) |
| 18:28:08 | <Cale> | The other, is pronounced "bind" and written (>>=) and its type might be a bit of a mouthful at first: |
| 18:28:16 | <Cale> | (>>=) :: Parser a -> (a -> Parser b) -> Parser b |
| 18:28:45 | <Cale> | This function takes a parser x, and some function f that's capable of consuming the results of the first parser, and producing a second parser |
| 18:28:54 | <tomsmeding> | basenode: a general recipe to do your thing without laziness is: construct a map (id => parent id); construct a map (id => child id's); perform a topological sort on that last map to get a list of ids; iterate over that list in reverse, building a map (id => Node) where 'data Node = Node id [Node]'; pick the roots from that map |
| 18:29:24 | <tomsmeding> | though that does still require sharing, but every purely functional language should have that |
| 18:29:31 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 18:29:33 | <Cale> | and it stitches them together to make a parser which, when you run it on some string, will try to consume the initial portion of the input with x, and if it succeeds with some result v, will parse the remainder of the input with f v |
| 18:30:00 | <MrFantastik> | and if Parser a fails? |
| 18:30:09 | <Cale> | Then the combined parser fails |
| 18:30:20 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 18:30:21 | <MrFantastik> | what would it return then? |
| 18:30:34 | <MrFantastik> | or would there be some sort of exception raised? |
| 18:30:36 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 18:30:41 | ← | safinaskar parts (~user@109.252.90.136) () |
| 18:31:16 | <ski> | tomsmeding : i mentioned topologically sorting, then building bottom-up, in ##programming, to basenode, before |
| 18:31:27 | <Cale> | It's similar to an exception, even if it's not *technically* one -- generally it's built into the definition of Parser t that it's possible for a parser to produce zero results, or fail with some error |
| 18:32:04 | <Cale> | To make that more concrete, one possible implementation for a type like this (even if it's a little inefficient, it's simple) looks like: |
| 18:32:21 | <basenode> | tomsmeding: yeah ski also mentioned that, i just have no experience with topological sort :P |
| 18:32:30 | <basenode> | but i'll do some research, thanks for the help guys |
| 18:32:34 | <tomsmeding> | you can look up algorithms for that :p |
| 18:32:42 | <Cale> | data Parser t = MkParser (String -> [(t, String)]) |
| 18:32:59 | <tomsmeding> | I think you cannot get around a topsort; isn't this problem basically _equivalent_ to a topsort |
| 18:33:00 | <Cale> | That is, a parser for things, is a function from strings to lists of pairs of things and strings :D |
| 18:33:16 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 18:33:20 | <Cale> | The idea being that the parser may fail, and produce an empty list in that case |
| 18:33:34 | <Cale> | Or it may succeed in a unique way, returning a list of length 1 |
| 18:33:56 | <Cale> | Or it might succeed in multiple ways (if the parse is ambiguous), returning a longer list |
| 18:34:09 | <Cale> | and in each case, the pairs in the list are the parsed result, and the remaining portion of the input |
| 18:34:10 | <tomsmeding> | basenode: if you manage to implement your problem without a topsort, then you can define a topsort function in terms of your solution |
| 18:34:10 | <ski> | the cyclic construction of the table of trees effectively (implicitely) does toposort, yea |
| 18:34:17 | <tomsmeding> | so if you want it or not, you're going to do a topsort :p |
| 18:34:52 | <basenode> | topsort it is then! |
| 18:34:54 | ski | idly recalls first hearing of toposort, in BASIC (with line numbers) |
| 18:35:06 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 18:35:39 | <wroathe> | MrFantastik: Cale: You asked about exceptions. It might be illustrative to look at the definition for the "Either" monad to illustrate one way this is handled. |
| 18:35:42 | <wroathe> | MrFantastik: https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/Data/Either.hs#L157-159 |
| 18:36:20 | <wroathe> | MrFantastik: That "interface" I was referring to was the ability to define "return" (aka "pure", above). and >>= |
| 18:36:57 | <Cale> | Oh, right, it's worth pointing out that we can define a monad that simulates exceptions :) |
| 18:37:06 | <wroathe> | MrFantastik: An Either value is either a Left or a Right. It's a tagged union, if you're familiar with those in other languages. If the value is a left, it's an error state, and if it's a right, it's a value state |
| 18:37:33 | <wroathe> | MrFantastik: So if the Either value on the left hand side of >>= is a Left, we just "skip" the computation that would've otherwise been performed |
| 18:37:50 | <wroathe> | MrFantastik: And if it's a Right, we perform the computation like normal |
| 18:37:53 | × | chele quits (~chele@5.53.222.202) (Remote host closed the connection) |
| 18:37:58 | <ski> | wroathe : yea .. i was circumambulating around the concepts, trying to set the context a bit more clearly, dispelling some misconceptions, and give some hopefully useful clues to get a better handle on them (it wasn't really intended as a tutorial) |
| 18:38:28 | × | lambdaman quits (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
| 18:40:42 | <wroathe> | ski: In what context? Are you saying that none of what we discussed was a good way to help a beginner understand monads? |
| 18:40:56 | <wroathe> | ski: I thought we landed on some good models for explanation there |
| 18:41:07 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 18:41:20 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
| 18:41:56 | <MrFantastik> | so as i understand it |
| 18:42:07 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 18:42:29 | <wroathe> | MrFantastik: So with that Either monad, if you were to do something like (Left "oh noes, this is an error" >>= addThree >>= timesTwo) the result of this expression would be Left "oh noes, this is an error" (ignoring the second and third terms). |
| 18:42:35 | <MrFantastik> | a monad can help assign a type to a value that's type is unkown, but later will be known after the result of some function? |
| 18:42:40 | <wroathe> | MrFantastik: But if you did Left "oh noes, this is an error" >>= addThree >>= timesTwo |
| 18:42:43 | <wroathe> | Ignore that |
| 18:42:48 | <wroathe> | mispaste |
| 18:43:07 | <wroathe> | But if you did Right 3 >>= addThree >>= timesTwo the value would be Right 12 |
| 18:43:47 | <Cale> | MrFantastik: Well, yeah, quite often, the type that our monad is parameterised by will be the type of the eventual result of some computation. |
| 18:44:06 | <Cale> | (In fact, it's always possible to think of it that way) |
| 18:44:47 | <ski> | wroathe : i think (hope) that the discussion would be of some use to (a) people trying to talk about and explain monads to others; (b) people trying to get a better grip on what monad's for. (those are overlapping). however, i wasn't really trying to aim at explaining monads (people seem to agree that you (or most people, anyway) most likely really need to see more specific examples of monads, and how |
| 18:44:54 | <ski> | they're used) |
| 18:46:21 | <wroathe> | ski: Well, I suppose I disagree and think that the discussion was helpful for explaining monads. The interface part is a very tangible thing that people who have programmed in other languages can easily grasp. |
| 18:46:35 | <ski> | i was more aiming at attempting to clarify some surrounding concepts, dispel some confusion, that i don't that often see ventilated, that could serve to help someone make more sense of it, in adjunction with additional material |
| 18:47:26 | <wroathe> | ski: And then if you tackle the problem of sequencing in a lazy functional language you start getting close to an explanation for 1. what they are and 2. why they're used |
| 18:47:37 | <ski> | wroathe : and yea, it was intended to be helpful. but if i were aiming to explain monads (in a more self-contained way, not relying on external sources), i'd have to walk through a lot more examples that i managed to do, there |
| 18:48:06 | <wroathe> | ski: Well, that latter point is why we have books |
| 18:48:20 | <wroathe> | ski: There's plenty of monad tutorials out there that tackle one monad definition at a time |
| 18:48:26 | <ski> | yea. and some on-line resources |
| 18:48:45 | <ski> | (unfortunately, most monad tutorials out there seem to range from bad to worse) |
| 18:48:46 | × | haritz quits (~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
| 18:48:51 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 18:48:51 | <wroathe> | ski: But trying to explain them one monad at a time I still think leaves people confused about what all of these things have in common |
| 18:48:58 | → | Guest_70 joins (8a26aed7@138-38-174-215.eduroam.bath.ac.uk) |
| 18:49:03 | <monochrom> | Yeah too much armchair philosophy out there. |
| 18:50:00 | <Cale> | I think the examples kind of have to come first though, regardless of whether we mention that they're monads or not |
| 18:50:17 | <Cale> | You can explain the abstraction without the examples, but it will seem pointless |
| 18:50:44 | <Cale> | But you *do* actually need to get to the abstraction |
| 18:50:53 | <MrFantastik> | I think that's the hard part |
| 18:50:58 | <ski> | "What the hell are Monads?" by Noel Winstanley in 1999-02 at <https://www-users.mat.uni.torun.pl//~fly/materialy/fp/haskell-doc/Monads.html> is probably my favorite initial monad tutorial (also happens to be the first one, attempting to explain monads in general, that's not in a paper) |
| 18:51:23 | <Guest_70> | Hey everyone, I am trying to install haskell on my Mac OS X El capitan latest version. I get an error message on the second confirmation of pressing enter. Here is the error message: [ Info ] verifying digest of: ghc-8.10.4-x86_64-apple-darwin.tar.xz |
| 18:51:24 | <Guest_70> | [ Info ] Unpacking: ghc-8.10.4-x86_64-apple-darwin.tar.xz to /var/folders/vb/xw21l2391q90s22qq8qgxh7c0000gp/T/ghcup-ALt2jn |
| 18:51:24 | <Guest_70> | dyld: lazy symbol binding failed: Symbol not found: _futimens |
| 18:51:25 | <Guest_70> | Referenced from: /Users/JoeHall/.ghcup/bin/ghcup (which was built for Mac OS X 10.13) |
| 18:51:25 | <Guest_70> | Expected in: /usr/lib/libSystem.B.dylib |
| 18:51:26 | <Guest_70> | dyld: Symbol not found: _futimens |
| 18:51:26 | <Guest_70> | Referenced from: /Users/JoeHall/.ghcup/bin/ghcup (which was built for Mac OS X 10.13) |
| 18:51:27 | <Guest_70> | Expected in: /usr/lib/libSystem.B.dylib |
| 18:51:27 | <ski> | it focuses on practical examples, and doing away with boilerplate repetition, by abstraction |
| 18:51:27 | <Guest_70> | sh: line 45: 1008 Trace/BPT trap: 5 ghcup "$@" |
| 18:51:28 | <Guest_70> | "_eghcup --cache install ghc recommended" failed! |
| 18:51:33 | <xsperry> | :-O |
| 18:51:35 | <wroathe> | Holy spam, batman |
| 18:51:44 | <Guest_70> | sorry xD |
| 18:51:45 | <ski> | Guest_70 : please don't paste many lines of text into the channel |
| 18:51:48 | <ski> | @where paste |
| 18:51:48 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 18:51:51 | <Cale> | I've seen a lot of "Monads in language X" posts where they translate a bunch of examples of things that would be monads in Haskell into language X, but they don't do it in such a way that you could write any code that would be shared between all the examples |
| 18:52:13 | <geekosaur> | I think older OS X is no longer supported? |
| 18:52:37 | <ski> | wroathe : "But trying to explain them one monad at a time .." -- yes, and so i attempted a more general, conceptual, discussion, despite being aware of pitfalls |
| 18:52:45 | <tomsmeding> | yeah that error says that the executable is built for osx 10.13, whereas el capitan is 10.11 |
| 18:53:16 | → | Sorna joins (~Sornaensi@077213200034.dynamic.telenor.dk) |
| 18:53:17 | <wroathe> | ski: Cale: I just think there's low hanging fruit there to be plucked by comparing the Monad typeclass to a plain old interface in another language. Most people can immediately understand that if you can implement the interface you may have a type of monad on your hands. Then it's just a matter of determining whether it satisfied the laws and whether you may have some duplication |
| 18:53:44 | <Cale> | Well, type classes are like interfaces, and Monad is a type class |
| 18:53:50 | <Cale> | sure |
| 18:54:02 | <MrFantastik> | screw it I'm just going to learn category theory |
| 18:54:09 | <tomsmeding> | MrFantastik: be careful |
| 18:54:10 | <monochrom> | Plain old interfaces in another language do not have the *->* kind. There is no translation. |
| 18:54:12 | <ski> | MrFantastik : you're interested in math ? |
| 18:54:17 | <MrFantastik> | I do like math a lot |
| 18:54:20 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 18:54:34 | <MrFantastik> | I'm haven't learned a lot of math yet though |
| 18:54:36 | × | Guest_70 quits (8a26aed7@138-38-174-215.eduroam.bath.ac.uk) (Quit: Connection closed) |
| 18:54:57 | <monochrom> | But I cast type classes as operator overloading anyway, not as interfaces. |
| 18:54:58 | <tomsmeding> | and realise that knowing what a monad is, mathematically, allows you to _deduce_ how to use it, but it doesn't give you any skill in using it :p |
| 18:55:03 | <ski> | MrFantastik : be aware that learning CT in general probably won't have that large an effect on learning or programming in Haskell (or other languages (maybe with Charity as an exception)) |
| 18:55:21 | <wroathe> | monochrom: You get close enough to that with generics |
| 18:55:27 | <monochrom> | And functions of type MyClass t => ..., template methods. |
| 18:55:33 | <ski> | MrFantastik : that said, i'd suggest "Conceptual Mathematics: A first introduction to categories" by Lawvere & Schanuel |
| 18:55:42 | <MrFantastik> | i see the language of category theory all over the haskell source code |
| 18:55:49 | → | haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
| 18:55:49 | × | haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
| 18:55:49 | → | haritz joins (~hrtz@unaffiliated/haritz) |
| 18:55:57 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 18:56:20 | <tomsmeding> | and most haskell programmers just understand those concepts in terms of what they mean operationally, not necessarily what they mean categorically in mathematics |
| 18:56:26 | × | Sornaensis quits (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds) |
| 18:56:42 | <ski> | monochrom : i guess, "interfaces", in the sense of module interfaces/signatures, rather than method interfaces of objects (i.e. object types) .. |
| 18:57:01 | <ski> | @where Charity |
| 18:57:01 | <lambdabot> | http://pll.cpsc.ucalgary.ca/charity1/www/home.html |
| 18:57:19 | → | lordcirth joins (~lordcirth@2607:f2c0:95b3:4400:f95c:f5c5:5660:38cf) |
| 18:57:53 | <monochrom> | Associated type classes would be module interfaces. |
| 18:58:05 | <ski> | MrFantastik : the specific ways in which they're being used in Haskell can, for the most part, be understood in a Haskell-internal (or programming-internal) sense, not requiring to grasp the full abstract generality of CT |
| 18:58:12 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 18:58:20 | <ski> | associated ? |
| 18:58:27 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer) |
| 18:58:32 | <monochrom> | err, associated type families |
| 18:59:08 | <ski> | i suppose you mean, for a type exported by a module |
| 18:59:21 | <lordcirth> | I'm trying to use record dot syntax with a stack project. This is my stack.yaml: https://termbin.com/u38k "unit.hp" is treated as function composition. What am I missing? Thanks |
| 18:59:28 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 18:59:29 | <lordcirth> | package.yaml* sorry |
| 18:59:57 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 18:59:58 | <monochrom> | A module sig can declare both types and values. A Haskell-2010 class can only declare values. |
| 19:00:14 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 19:00:36 | <monochrom> | A Haskell-2010 class falls short of being a module sig. |
| 19:00:57 | <monochrom> | s/being a/covering/ |
| 19:03:02 | <ski> | yea. a module type parameter is not quite the same thing as a type declared in the module |
| 19:03:02 | <iphy> | can you use a test from a dependent package to measure coverage of the dependency package? |
| 19:03:49 | <iphy> | I have pkg1 that defines a bunch of stuff, and pkg2 that defines more stuff based on pkg1 that makes it much easier to use. I'd like to use the stuff from pkg2 to write tests for pkg1 |
| 19:04:12 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 19:04:40 | <iphy> | I don't want pkg2's stuff to be in pkg1 because it doesn't belong there and because of dependencies I don't want to have in pkg1 |
| 19:05:02 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 19:17:14 | → | Fran_ joins (~Fran@181.28.16.4) |
| 19:17:32 | <Fran_> | @pl |
| 19:17:32 | <lambdabot> | (line 1, column 1): |
| 19:17:32 | <lambdabot> | unexpected end of input |
| 19:17:32 | <lambdabot> | expecting white space, "()", natural, identifier, lambda abstraction or expression |
| 19:17:41 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 19:21:21 | <ski> | @help pl |
| 19:21:21 | <lambdabot> | pointless <expr>. Play with pointfree code. |
| 19:21:48 | → | __minoru__shirae joins (~shiraeesh@5.101.59.44) |
| 19:22:09 | × | minoru_shiraeesh quits (~shiraeesh@109.166.57.43) (Ping timeout: 260 seconds) |
| 19:22:46 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:23:07 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 19:25:51 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 19:28:34 | → | lambdaman joins (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
| 19:29:31 | <maerwald> | geekosaur: that old OS X was never supported |
| 19:29:58 | <maerwald> | I think even cabal-install doesn't, but I didn't test |
| 19:35:36 | × | puke quits (~vroom@217.138.252.184) (Quit: puke) |
| 19:35:52 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 19:39:21 | → | Sorny joins (~Sornaensi@191.96.108.77) |
| 19:39:35 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 19:39:54 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 19:40:14 | → | Sornaens1 joins (~Sornaensi@85.203.36.21) |
| 19:41:56 | × | blankhart quits (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 246 seconds) |
| 19:42:31 | × | Sorna quits (~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 260 seconds) |
| 19:43:15 | × | Fran_ quits (~Fran@181.28.16.4) (Quit: Leaving) |
| 19:43:22 | → | coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
| 19:43:41 | × | Sorny quits (~Sornaensi@191.96.108.77) (Ping timeout: 240 seconds) |
| 19:44:14 | × | pengjiz quits (~user@2601:547:902:6d00::2) (Quit: ERC (IRC client for Emacs 27.2)) |
| 19:44:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 19:44:26 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 19:45:55 | → | puke joins (~vroom@217.138.252.184) |
| 19:46:21 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 19:49:50 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:49:58 | ← | basenode parts (~user@gateway/tor-sasl/basenode) () |
| 19:50:26 | × | vchlup quits (~vchlup@nat.brnet.cz) (Ping timeout: 240 seconds) |
| 19:53:59 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 19:55:54 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 19:55:58 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 19:57:58 | × | viluon quits (uid453725@gateway/web/irccloud.com/x-ftnuqxhuphmmdyvk) () |
| 19:58:33 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds) |
| 19:58:42 | → | viluon joins (uid453725@gateway/web/irccloud.com/x-iaenozwsdlvnenzz) |
| 19:59:00 | Lord_of_Life_ | is now known as Lord_of_Life |
| 20:01:53 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 20:02:11 | → | tlgl^nix joins (~damien@S0106008ef25e98fb.su.shawcable.net) |
| 20:03:05 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
| 20:05:05 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9) |
| 20:06:02 | × | petersen quits (~petersen@redhat/juhp) (Ping timeout: 268 seconds) |
| 20:06:59 | × | rj quits (~x@gateway/tor-sasl/rj) (Remote host closed the connection) |
| 20:07:04 | × | danso quits (~dan@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.0) |
| 20:07:16 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds) |
| 20:07:18 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 20:07:47 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:07:54 | → | petersen joins (~petersen@redhat/juhp) |
| 20:08:21 | → | hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube) |
| 20:12:23 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 20:12:34 | <justsomeguy> | Hey, alright, haskellbook has a new revision and they're going to do a print version! |
| 20:12:54 | <Rembane> | \œ/ |
| 20:13:21 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection) |
| 20:13:38 | <justsomeguy> | :D |
| 20:14:17 | <justsomeguy> | Hopefully I can finish the book this year. It was even one of my new years resolutions. |
| 20:16:47 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 20:19:45 | → | Codaraxis_ joins (Codaraxis@gateway/vpn/mullvad/codaraxis) |
| 20:20:14 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 20:21:35 | × | Codaraxis quits (Codaraxis@gateway/vpn/mullvad/codaraxis) (Read error: Connection reset by peer) |
| 20:22:47 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds) |
| 20:23:20 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
| 20:23:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 20:26:45 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 20:28:42 | × | rond_ quits (5940206b@89-64-32-107.dynamic.chello.pl) (Ping timeout: 240 seconds) |
| 20:32:05 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 20:32:44 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 20:33:33 | → | vchlup joins (~vchlup@nat.brnet.cz) |
| 20:33:50 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 20:33:59 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 20:35:23 | → | cole-k joins (~cole-k@172.56.30.51) |
| 20:36:11 | × | alx741 quits (~alx741@186.178.109.113) (Ping timeout: 240 seconds) |
| 20:36:45 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 20:37:00 | × | cole-k quits (~cole-k@172.56.30.51) (Remote host closed the connection) |
| 20:37:47 | × | PoliticsII______ quits (sid193551@gateway/web/irccloud.com/x-xczsjbruunvdnrpf) (Ping timeout: 250 seconds) |
| 20:37:47 | × | heyj quits (sid171370@gateway/web/irccloud.com/x-ztdmvfaxkruzhawl) (Ping timeout: 250 seconds) |
| 20:37:47 | × | angerman quits (sid209936@gateway/web/irccloud.com/x-vwzrxwwqpznmvfzd) (Ping timeout: 250 seconds) |
| 20:37:47 | × | liquorice quits (sid267884@gateway/web/irccloud.com/x-txviedjixtylumvd) (Ping timeout: 250 seconds) |
| 20:37:47 | × | trevorriles quits (sid469656@gateway/web/irccloud.com/x-ztfsmauikpdgmwtj) (Ping timeout: 250 seconds) |
| 20:37:47 | × | iphy quits (sid67735@gateway/web/irccloud.com/x-tamdzevqynwsuesn) (Ping timeout: 250 seconds) |
| 20:37:47 | × | alinab quits (sid468903@gateway/web/irccloud.com/x-mmgxfjoejzkoptwj) (Ping timeout: 250 seconds) |
| 20:37:47 | × | teehemkay quits (sid14792@gateway/web/irccloud.com/x-iudjigrpyzwwyvyh) (Ping timeout: 250 seconds) |
| 20:37:51 | × | drupol quits (sid117588@gateway/web/irccloud.com/x-yunocidhqntsjvsp) (Ping timeout: 245 seconds) |
| 20:37:51 | × | kip quits (sid71464@gateway/web/irccloud.com/x-xjxqpwkisgbviywm) (Ping timeout: 245 seconds) |
| 20:37:51 | × | cbarrett quits (sid192934@adium/cbarrett) (Ping timeout: 245 seconds) |
| 20:37:52 | × | travv0 quits (sid293381@gateway/web/irccloud.com/x-bmnsmvdukydxzojl) (Ping timeout: 245 seconds) |
| 20:37:52 | × | enemeth79 quits (sid309041@gateway/web/irccloud.com/x-iokskzkzdpngtftb) (Ping timeout: 245 seconds) |
| 20:37:55 | × | ProofTechnique quits (sid79547@gateway/web/irccloud.com/x-icnhdahhvfdpvqrx) (Ping timeout: 246 seconds) |
| 20:37:56 | × | edwardk quits (sid47016@haskell/developer/edwardk) (Ping timeout: 258 seconds) |
| 20:38:07 | × | conjunctive quits (sid433686@gateway/web/irccloud.com/x-ywvgcymrsekezwdb) (Ping timeout: 258 seconds) |
| 20:38:07 | × | Adeon quits (sid418992@gateway/web/irccloud.com/x-wguwowrrdxqwnndk) (Ping timeout: 258 seconds) |
| 20:38:07 | × | ibloom quits (sid350277@gateway/web/irccloud.com/x-klvmqrdqeclehwqf) (Ping timeout: 258 seconds) |
| 20:38:11 | × | affinespaces quits (sid327561@gateway/web/irccloud.com/x-uzfjyzvrqoqxacwx) (Ping timeout: 260 seconds) |
| 20:38:11 | × | higherorder__ quits (sid185221@gateway/web/irccloud.com/x-tccblcishfrqasvs) (Ping timeout: 260 seconds) |
| 20:38:11 | × | lally quits (sid388228@gateway/web/irccloud.com/x-csadwvaszxoveiqd) (Ping timeout: 260 seconds) |
| 20:38:11 | × | wpcarro quits (sid397589@gateway/web/irccloud.com/x-ecuoponltgnpdqvt) (Ping timeout: 260 seconds) |
| 20:38:11 | × | ReinH quits (sid179972@gateway/web/irccloud.com/x-tsenbknuiamuoknp) (Ping timeout: 260 seconds) |
| 20:38:11 | × | mcfilib quits (sid302703@gateway/web/irccloud.com/x-juvammsyvplemvln) (Ping timeout: 260 seconds) |
| 20:38:11 | × | alanz quits (sid110616@gateway/web/irccloud.com/x-hohhkiqzyqaiuisr) (Ping timeout: 260 seconds) |
| 20:38:11 | × | natim87 quits (sid286962@gateway/web/irccloud.com/x-kcrciituhyzojhiq) (Ping timeout: 248 seconds) |
| 20:38:13 | × | alexknvl quits (sid259568@gateway/web/irccloud.com/x-fhebzczzstiwcpzq) (Ping timeout: 250 seconds) |
| 20:38:13 | × | pent quits (sid313808@gateway/web/irccloud.com/x-zehtvlxjhkwmhhgc) (Ping timeout: 250 seconds) |
| 20:38:13 | × | rodlogic__ quits (sid214676@gateway/web/irccloud.com/x-qnsaereppjlefdxr) (Ping timeout: 250 seconds) |
| 20:38:13 | × | edmundnoble quits (sid229620@gateway/web/irccloud.com/x-acqjqzoxhelmlagr) (Ping timeout: 250 seconds) |
| 20:38:15 | → | teehemkay joins (sid14792@gateway/web/irccloud.com/x-aozhbjqwwkaxnioe) |
| 20:38:16 | × | caasih quits (sid13241@gateway/web/irccloud.com/x-agadrzqzqvqjptgo) (Ping timeout: 246 seconds) |
| 20:38:16 | × | aizen_s quits (sid462968@gateway/web/irccloud.com/x-qnkvehkmfuwvulmd) (Ping timeout: 245 seconds) |
| 20:38:16 | × | wildsebastian quits (sid324688@gateway/web/irccloud.com/x-cunhkwlmpyymftve) (Ping timeout: 245 seconds) |
| 20:38:16 | × | mudri quits (sid317655@gateway/web/irccloud.com/x-bcigdzdisjxobsht) (Ping timeout: 245 seconds) |
| 20:38:16 | × | carter quits (sid14827@gateway/web/irccloud.com/x-cxyihhqsuqfqchre) (Ping timeout: 245 seconds) |
| 20:38:16 | × | nh2 quits (sid309956@gateway/web/irccloud.com/x-uenbkrwkbbfqagmn) (Ping timeout: 245 seconds) |
| 20:38:19 | × | thi quits (sid97277@gateway/web/irccloud.com/x-eqfjkudsamsuuqbt) (Ping timeout: 258 seconds) |
| 20:38:20 | → | angerman joins (sid209936@gateway/web/irccloud.com/x-vkbiyhlbxhfghaep) |
| 20:38:24 | → | PoliticsII______ joins (sid193551@gateway/web/irccloud.com/x-yxyceemvbzkrgcna) |
| 20:38:30 | × | pepeiborra quits (sid443799@gateway/web/irccloud.com/x-smlzoyfyppguwjck) (Ping timeout: 258 seconds) |
| 20:38:37 | × | b20n quits (sid115913@gateway/web/irccloud.com/x-pctinassjooigaew) (Ping timeout: 246 seconds) |
| 20:38:37 | × | moobar quits (sid171730@gateway/web/irccloud.com/x-tmumveujckzntgio) (Ping timeout: 246 seconds) |
| 20:38:39 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-pwqigqguzpkhpeqf) (Ping timeout: 260 seconds) |
| 20:38:39 | × | sclv quits (sid39734@haskell/developer/sclv) (Ping timeout: 260 seconds) |
| 20:38:39 | × | entel quits (uid256215@botters/entel) (Ping timeout: 260 seconds) |
| 20:38:39 | × | darthThorik quits (sid39589@gateway/web/irccloud.com/x-ovxmffqjkmnhvkwx) (Ping timeout: 260 seconds) |
| 20:38:39 | × | newhoggy quits (sid198874@gateway/web/irccloud.com/x-fjgkldqbnqjnndba) (Ping timeout: 260 seconds) |
| 20:38:39 | × | joshmeredith quits (sid387798@gateway/web/irccloud.com/x-deyyeanvffjutikl) (Ping timeout: 260 seconds) |
| 20:38:39 | × | verlet64_ quits (sid261276@gateway/web/irccloud.com/x-qzcgtsnaanuchemn) (Ping timeout: 260 seconds) |
| 20:38:41 | × | rizary quits (sid220347@gateway/web/irccloud.com/x-jeeizrlvvntrkymr) (Ping timeout: 245 seconds) |
| 20:38:41 | × | parisienne quits (sid383587@gateway/web/irccloud.com/x-wdxmldhahujvwtgt) (Ping timeout: 245 seconds) |
| 20:38:41 | × | liszt quits (sid336875@gateway/web/irccloud.com/x-agbwjiobfjspjplf) (Ping timeout: 245 seconds) |
| 20:38:41 | × | idnar quits (sid12240@gateway/web/irccloud.com/x-zpnhxxgbwuvypcql) (Ping timeout: 245 seconds) |
| 20:38:43 | × | dgpratt quits (sid193493@gateway/web/irccloud.com/x-lgrpkenjgojrepjw) (Ping timeout: 248 seconds) |
| 20:38:43 | × | d0liver quits (sid363046@gateway/web/irccloud.com/x-vlrurtoubbzrlqmk) (Ping timeout: 248 seconds) |
| 20:38:44 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 20:39:06 | → | liquorice joins (sid267884@gateway/web/irccloud.com/x-gifxlxspxpkuruyr) |
| 20:39:06 | → | edmundnoble joins (sid229620@gateway/web/irccloud.com/x-emmrpthgulpebvrs) |
| 20:39:07 | × | tapas quits (sid467876@gateway/web/irccloud.com/x-mdchyvtgigopdvnp) (Ping timeout: 245 seconds) |
| 20:39:07 | × | jonrh quits (sid5185@gateway/web/irccloud.com/x-ysuvrbtwdxclmwmm) (Ping timeout: 245 seconds) |
| 20:39:07 | × | simony quits (sid226116@gateway/web/irccloud.com/x-kqfdecpcfpxqodld) (Ping timeout: 260 seconds) |
| 20:39:07 | → | alexknvl joins (sid259568@gateway/web/irccloud.com/x-wdxobfzstmpkvclf) |
| 20:39:08 | → | joshmeredith joins (sid387798@gateway/web/irccloud.com/x-uxsrlglojomperah) |
| 20:39:08 | → | ibloom joins (sid350277@gateway/web/irccloud.com/x-yhokoaaxqmoudodu) |
| 20:39:08 | → | ProofTechnique joins (sid79547@gateway/web/irccloud.com/x-uvtkxtknhyjkpohz) |
| 20:39:09 | → | lally joins (sid388228@gateway/web/irccloud.com/x-jtlutemywqmachbj) |
| 20:39:09 | → | cbarrett joins (sid192934@adium/cbarrett) |
| 20:39:10 | → | pepeiborra joins (sid443799@gateway/web/irccloud.com/x-nirrncfqraegkpgk) |
| 20:39:10 | → | alanz joins (sid110616@gateway/web/irccloud.com/x-ephuaztzuzimomxa) |
| 20:39:13 | → | b20n joins (sid115913@gateway/web/irccloud.com/x-lrxmhixuzcmcfdhe) |
| 20:39:13 | → | wpcarro joins (sid397589@gateway/web/irccloud.com/x-xnngigwekxregdfs) |
| 20:39:16 | → | travv0 joins (sid293381@gateway/web/irccloud.com/x-hoivuatisyqixyit) |
| 20:39:19 | → | dgpratt joins (sid193493@gateway/web/irccloud.com/x-vbszyjrhlyidsuhn) |
| 20:39:19 | → | parisienne joins (sid383587@gateway/web/irccloud.com/x-aiygzsqhowxpopox) |
| 20:39:19 | → | idnar joins (sid12240@gateway/web/irccloud.com/x-pvawekuiulmnefkg) |
| 20:39:21 | → | kip joins (sid71464@gateway/web/irccloud.com/x-urjbgtyvyzgxzumc) |
| 20:39:22 | → | sclv joins (sid39734@haskell/developer/sclv) |
| 20:39:22 | × | yogani quits (sid42623@gateway/web/irccloud.com/x-qazwmxvjoakhfcrd) (Ping timeout: 276 seconds) |
| 20:39:23 | → | liszt joins (sid336875@gateway/web/irccloud.com/x-aonselplhnbmouys) |
| 20:39:23 | → | aizen_s joins (sid462968@gateway/web/irccloud.com/x-gzlgfjzfpthijryy) |
| 20:39:26 | → | nh2 joins (sid309956@gateway/web/irccloud.com/x-vqylohvjgsiigvkd) |
| 20:39:26 | → | d0liver joins (sid363046@gateway/web/irccloud.com/x-bijzbspzjskqwcir) |
| 20:39:28 | → | darthThorik joins (sid39589@gateway/web/irccloud.com/x-agxewrbiyijpmjiw) |
| 20:39:30 | → | rizary joins (sid220347@gateway/web/irccloud.com/x-zmjqapjzsmflqwgm) |
| 20:39:30 | → | trevorriles joins (sid469656@gateway/web/irccloud.com/x-xdsdtxtxrbrxnitq) |
| 20:39:31 | → | higherorder__ joins (sid185221@gateway/web/irccloud.com/x-koiygmjzeszehzrt) |
| 20:39:32 | → | alinab joins (sid468903@gateway/web/irccloud.com/x-kxduedlnkmrjymym) |
| 20:39:32 | → | mudri joins (sid317655@gateway/web/irccloud.com/x-tkftihyrhfadzkvn) |
| 20:39:32 | → | newhoggy joins (sid198874@gateway/web/irccloud.com/x-odbcefoglogukgog) |
| 20:39:33 | → | iphy joins (sid67735@gateway/web/irccloud.com/x-svcckheboicsfdfm) |
| 20:39:36 | → | rodlogic__ joins (sid214676@gateway/web/irccloud.com/x-jsfobhdzpplfsdpe) |
| 20:39:37 | → | enemeth79 joins (sid309041@gateway/web/irccloud.com/x-vaiujncapfeaexzk) |
| 20:39:37 | → | Adeon joins (sid418992@gateway/web/irccloud.com/x-gymdfseqxtsglqmg) |
| 20:39:40 | → | heyj joins (sid171370@gateway/web/irccloud.com/x-wookyduvyhmgjxsv) |
| 20:39:40 | → | wildsebastian joins (sid324688@gateway/web/irccloud.com/x-huuoejtmpgsbomho) |
| 20:39:43 | → | conjunctive joins (sid433686@gateway/web/irccloud.com/x-veifezvsdidztgvo) |
| 20:39:44 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-lfqvebqbrutpzvro) |
| 20:39:46 | → | drupol joins (sid117588@gateway/web/irccloud.com/x-gsnwinbjioyhnadu) |
| 20:39:51 | → | pent joins (sid313808@gateway/web/irccloud.com/x-mamwukyavontcbfs) |
| 20:39:59 | → | carter joins (sid14827@gateway/web/irccloud.com/x-velgelprbzzboucb) |
| 20:39:59 | → | entel joins (uid256215@botters/entel) |
| 20:40:09 | → | caasih joins (sid13241@gateway/web/irccloud.com/x-uqzvpjpcsslwgwfl) |
| 20:40:09 | → | tapas joins (sid467876@gateway/web/irccloud.com/x-dpxzueexrqylgrju) |
| 20:40:10 | → | edwardk joins (sid47016@haskell/developer/edwardk) |
| 20:40:18 | → | ReinH joins (sid179972@gateway/web/irccloud.com/x-nocjtzmybziqzfuj) |
| 20:40:19 | → | natim87 joins (sid286962@gateway/web/irccloud.com/x-zjxraovaekqnvloq) |
| 20:40:20 | → | thi joins (sid97277@gateway/web/irccloud.com/x-mwvssirlkplfqvqk) |
| 20:40:32 | → | yogani joins (sid42623@gateway/web/irccloud.com/x-diwllcjriwggxbhg) |
| 20:40:34 | → | mcfilib joins (sid302703@gateway/web/irccloud.com/x-qgurzruyjowxqkfb) |
| 20:40:35 | → | moobar joins (sid171730@gateway/web/irccloud.com/x-mfdnwzlgpjfftngj) |
| 20:40:36 | → | simony joins (sid226116@gateway/web/irccloud.com/x-uimvkkhkkjmffmgk) |
| 20:40:40 | → | jonrh joins (sid5185@gateway/web/irccloud.com/x-wzkchmmanupyucfa) |
| 20:40:40 | → | verlet64_ joins (sid261276@gateway/web/irccloud.com/x-pbadcyendmqwahig) |
| 20:40:44 | → | affinespaces joins (sid327561@gateway/web/irccloud.com/x-zprmbywljksowyax) |
| 20:41:07 | × | fendor quits (~fendor@178.115.130.32.wireless.dyn.drei.com) (Remote host closed the connection) |
| 20:41:45 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 20:42:32 | × | rodriga quits (~quassel@134.204.25.66) (Ping timeout: 240 seconds) |
| 20:45:41 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 20:48:37 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 20:48:57 | × | raichoo quits (~raichoo@dslb-178-009-065-077.178.009.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 20:49:09 | → | alx741 joins (~alx741@181.196.68.199) |
| 20:54:05 | → | raichoo joins (~raichoo@dslb-178-009-065-077.178.009.pools.vodafone-ip.de) |
| 20:54:52 | × | Sornaens1 quits (~Sornaensi@85.203.36.21) (Ping timeout: 265 seconds) |
| 20:56:21 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
| 20:58:12 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 21:00:05 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
| 21:00:53 | → | jneira joins (501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182) |
| 21:01:11 | × | knupfer quits (~Thunderbi@200116b82b68a2004db076fcee496007.dip.versatel-1u1.de) (Ping timeout: 250 seconds) |
| 21:04:20 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 21:04:47 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 21:06:21 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 21:06:49 | × | fiedlr quits (~fiedlr@83.148.33.254) (Read error: Connection reset by peer) |
| 21:07:26 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 21:07:32 | × | usr25 quits (~usr25@unaffiliated/usr25) (Ping timeout: 240 seconds) |
| 21:09:30 | → | barakkl1993 joins (~barakkley@2.55.141.207) |
| 21:09:33 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:12:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 21:13:24 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 21:14:21 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 21:14:58 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 21:16:21 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 21:17:32 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 21:17:33 | × | coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 21:18:13 | → | Lycurgus joins (~niemand@98.4.118.65) |
| 21:19:02 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 21:20:04 | → | fiedlr_ joins (~fiedlr@83.148.33.254) |
| 21:23:40 | × | fiedlr quits (~fiedlr@83.148.33.254) (Ping timeout: 252 seconds) |
| 21:24:06 | × | michalz quits (~user@185.246.204.56) (Remote host closed the connection) |
| 21:24:47 | → | Sgeo_ joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 21:24:59 | → | guy9 joins (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) |
| 21:25:46 | × | MrFantastik quits (~user@rrcs-184-74-43-235.nys.biz.rr.com) (Ping timeout: 240 seconds) |
| 21:25:52 | <guy9> | is anyone there |
| 21:25:52 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds) |
| 21:26:03 | <lechner> | yes |
| 21:26:13 | <ski> | no |
| 21:26:28 | <guy9> | I have a question about installing a package with cabal |
| 21:26:34 | <guy9> | is this the right place to ask |
| 21:26:47 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 21:26:56 | <ski> | yes, this is an appropriate channel for such a question |
| 21:27:07 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 21:27:07 | <guy9> | okay, thanks |
| 21:27:12 | <ski> | (try asking, and someone might take it up and try to answer) |
| 21:27:46 | × | fiedlr_ quits (~fiedlr@83.148.33.254) (Read error: Connection reset by peer) |
| 21:28:28 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 21:28:59 | <guy9> | I had installed a package using cabal previously and it had worked just fine. I have no idea what I could have done differently this time around, but the package fails to install. It seems like there is a constraint for cabal versions >=1.7 && <1.25 |
| 21:29:17 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 21:29:21 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 21:29:21 | <guy9> | checking the .cabal file of the package shows no such constraint, though |
| 21:29:38 | → | slack1256 joins (~slack1256@200-112-79-98.baf.movistar.cl) |
| 21:31:10 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 21:31:18 | <slack1256> | On `Katip` given the `MonadIO` constaint on the class, how could a define a dummy unefectful instance for testing? |
| 21:31:21 | <geekosaur> | that means it found an old option in the cabal file that is no longer supported by modern cabal |
| 21:31:57 | <geekosaur> | I should say Cabal, the library, rather than cabal the program |
| 21:32:34 | <geekosaur> | so what has changed is Cabal and cabal-install are probably version 3.x instead of 1.x |
| 21:32:44 | <guy9> | it seems like it is trying to use cabal-install version 3.2.1, though when I do cabal --version it says I have 3.4.0 |
| 21:34:36 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 21:35:00 | <monochrom> | It is a really tall order to write your own uneffectful instance of MonadIO. |
| 21:36:13 | <guy9> | I have a feeling that reinstalling cabal may be something to try |
| 21:36:33 | <guy9> | although I think I've been unsuccessful ateven that so far |
| 21:37:01 | <sclv> | guy9 i would check for a package environment file |
| 21:37:39 | <monochrom> | I would think it is more worth your time to allow IO to happen, but run your exe in a container or virtual machine, complete with various redirection and emulation techniques at that level, if you're trying to achieve mock testing. |
| 21:38:08 | <guy9> | I'm not even sure when to look to be honest |
| 21:38:21 | <guy9> | or what exactly I would be looking for |
| 21:39:22 | × | fiedlr quits (~fiedlr@83.148.33.254) (Read error: Connection reset by peer) |
| 21:39:57 | <slack1256> | monochrom: Mmmm that also seems like a tall order. But at least is more "honest". |
| 21:40:56 | → | tatsumaru joins (~tatsumaru@85.196.189.103) |
| 21:41:23 | × | {abby} quits (~{abby}@unaffiliated/demhydraz) (Quit: Ping timeout (120 seconds)) |
| 21:41:33 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 21:41:34 | → | st8less joins (~st8less@2603:a060:11fd:0:f652:5ff0:83f7:3be7) |
| 21:41:41 | → | {abby} joins (~{abby}@unaffiliated/demhydraz) |
| 21:41:55 | → | ludi49 joins (~hryhorij@ip595.t15.ds.pwr.wroc.pl) |
| 21:42:02 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:42:05 | <tatsumaru> | hey guys, new to haskell, is haskell good for the implementation of complex systems concepts such as ant colony optimization algorithms and adaptive networks etc? |
| 21:42:08 | → | zeenk joins (~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75) |
| 21:43:09 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 21:44:37 | <dmj`> | might be a dumb question, but can someone explain to me why these two stable names are not equal? |
| 21:44:37 | <dmj`> | (==) <$> (makeStableName $! m) <*> (makeStableName (let !x = m in x) |
| 21:44:43 | <guy9> | I see one big place where I was going wrong |
| 21:44:48 | <guy9> | I'm pretty new to this |
| 21:44:57 | <sm[m]> | tatsumaru: |
| 21:44:58 | <monochrom> | slack1256, both are tall orders, but I say that mocking MonadIO is taller because IO is not a free monad, it's opague, if I give you "foo :: IO Int" you can't examine foo to even begin to mock it, not to mention IRL I give you "foo :: IO X" for a type X you've never seen before. Whereas, in docker or a VM at least you can use stdio redirection, fake files, etc. |
| 21:44:58 | <sm[m]> | yes |
| 21:44:59 | <guy9> | I was trying to diagnose several errors at once |
| 21:45:36 | <tatsumaru> | sm[m]: can you briefly elaborate please, why do you think so |
| 21:46:39 | <sm[m]> | tatsumaru: it is an expressive language with good support for abstraction and modelling with types, so can be good for complex/unclear domains |
| 21:46:59 | <sm[m]> | also it's quite fast, which can be useful |
| 21:47:10 | <ski> | dmj` : `let !x = m in x' is equal to `m' |
| 21:47:14 | <slack1256> | monochrom++ |
| 21:47:16 | <guy9> | geekosaur, do you think I should try to install a 1.x version of cabal and try that way? |
| 21:47:22 | <tatsumaru> | sm[m] "fast" as in good for number crunching? |
| 21:47:42 | × | Lycurgus quits (~niemand@98.4.118.65) (Quit: Exeunt) |
| 21:48:19 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 21:48:31 | <geekosaur> | guy9, that's not really recommended either, cabal 3 changed things for good reason. (look up "cabal hell" sometime, although it was really ghc's fault) |
| 21:48:54 | <dmj`> | ski: yea but its forced |
| 21:48:55 | <sm[m]> | generally fast. It's not the best for number crunching, not the worst. It's among the best for knowing that you're crunching the right numbers though |
| 21:49:03 | <sclv> | guy9 what package? Is it in hackage? |
| 21:49:08 | <dmj`> | ski: StableNames will check pointer equality |
| 21:49:20 | <tatsumaru> | sm[m] i see, thank you |
| 21:49:28 | <guy9> | I am definitely learning the meaning of cabal hell |
| 21:49:35 | <dmj`> | ski: I think the let is performing an allocation and its pointer differs |
| 21:49:37 | × | __minoru__shirae quits (~shiraeesh@5.101.59.44) (Ping timeout: 260 seconds) |
| 21:49:38 | <guy9> | sclv it's Euterpea |
| 21:49:55 | <guy9> | yes it's in Hackage |
| 21:49:55 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 21:51:04 | <sclv> | yeah its got busts because it needs to be updated https://matrix.hackage.haskell.org/#/package/Euterpea/2.0.7/ghc-8.10.1@1591706735 |
| 21:51:25 | <sm[m]> | guy9: general info: you may not be doing anything differently.. cabal's installations depend on the current state of hackage and of your local machine, by default |
| 21:51:41 | <guy9> | does that mean there's not much I can do and it's not my fault? |
| 21:52:01 | <sclv> | its not your fault, but that doesn't mean it can't be fixed |
| 21:52:32 | <ski> | dmj` : `makeStableName $! m' should be equal to `let !x = m in makeStableName x'. `do !x <- return m; makeStableName x' / `makeStableName =<< evaluate m' is slightly different, only forcing when the action is executed (rather than merely forced) |
| 21:52:48 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 21:52:53 | <dmj`> | ski: (\f v -> let !v = x in f v) should be equivalent to (\f v -> f $! v) |
| 21:53:07 | <sclv> | you can `cabal unpack` the package, then apply instructions here, then install it from the unpacked source, for example https://github.com/Euterpea/Euterpea2/issues/35 |
| 21:53:24 | <ski> | dmj` : yes. but `f (let !v = x in f v)' is different |
| 21:53:49 | <sclv> | that ticket also suggests just calling `v1-install` may work but idk if thats true |
| 21:54:11 | <guy9> | wow |
| 21:54:13 | <guy9> | that worked |
| 21:54:17 | <guy9> | you are a wizard |
| 21:54:33 | <guy9> | thanks for showing me all of this stuff |
| 21:54:38 | <dmj`> | ski: how does (\f v -> f (let !v = m in v)) not equal (\f v -> let !v = m in f v) |
| 21:54:42 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 21:54:46 | <guy9> | I'm super new to this and there is so much to learn |
| 21:55:06 | <ski> | dmj` : the former won't force `m', unless `f' is strict. the latter will |
| 21:55:14 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 21:55:22 | <guy9> | okay v1 failed somewhere else but I know I'm going in the right direction |
| 21:55:29 | <dmj`> | ski: so makeStableName isn't strict then |
| 21:55:31 | <sclv> | guy9: glad it worked! its just me digging into their issue tracker to see if it was fixed :-) |
| 21:55:51 | <sclv> | you could also just try to clone the repo, which is reputedly more up too date than the hackage release |
| 21:55:55 | <guy9> | honestly I didn't even know there were issue trackers |
| 21:55:55 | → | m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
| 21:56:08 | <guy9> | I have tried cloning it and it fails at the same place |
| 21:56:27 | <sclv> | sadly it seems relatively unmaintained :-/ |
| 21:56:43 | <sclv> | donya is very nice but she's more a musician than a hacker |
| 21:56:55 | <sclv> | (i saw her perform and it was brilliant!) |
| 21:57:23 | <sclv> | with paul hudak's group, a lot of the stuff he worked on is maintained only partially as labors of love |
| 21:57:39 | <sclv> | or rather with his group gone following his death |
| 21:58:17 | <ski> | dmj` : "Note in particular that `makeStableName' may return a different `StableName' after an object is evaluated." <https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base-4.15.0.0/System-Mem-StableName.html> |
| 21:58:34 | <guy9> | you seem so knowledgeable on all of this |
| 21:58:45 | <guy9> | I'm just some guy who picked up the book for the first time |
| 21:59:32 | <ski> | (conceptually, you could think of this as `makeStableName' also reading and writing some other state (or, if you prefer, you can "explain it away" using indeterminacy) in the `IO', making it possibly give different results, when invoked (not called) on equal objects) |
| 21:59:35 | <dmj`> | ski: that's super tricky |
| 22:00:22 | <guy9> | what does your name mean, by the way, sclv |
| 22:01:03 | dave_uy5 | is now known as dave_uy |
| 22:01:24 | <ski> | i agree it's not really that easy to reason about the precise behaviour. however, at least it's possible to "explain away", like this (meaning it doesn't interfere, per se, with equational reasoning. it just makes it hard to get useful results when attempting to reason about it) |
| 22:02:02 | <sclv> | its just a nick, means nothing |
| 22:02:26 | × | malumore_ quits (~malumore@151.62.117.103) (Ping timeout: 240 seconds) |
| 22:02:44 | ← | tatsumaru parts (~tatsumaru@85.196.189.103) () |
| 22:03:02 | <guy9> | interesting |
| 22:03:05 | <ski> | (in that, it's similar to e.g. `unsafeInterleaveIO' (as opposed to `unsafeInterleaveST',`unsafePerformIO',`reallyUnsafePtrEquality#')) |
| 22:03:22 | <guy9> | the issue tracker is really helpful |
| 22:05:03 | × | slack1256 quits (~slack1256@200-112-79-98.baf.movistar.cl) (Ping timeout: 268 seconds) |
| 22:05:09 | ski | . o O ( PyCon Keynote by K. Lars Lohn in 2016 at <https://www.youtube.com/watch?v=bSfe5M_zG2s> ) |
| 22:05:15 | <ski> | (apropos music and hackers) |
| 22:06:48 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 22:07:46 | <guy9> | thanks ski ill watch that |
| 22:10:32 | × | fiedlr quits (~fiedlr@83.148.33.254) (Read error: Connection reset by peer) |
| 22:10:47 | <guy9> | I feel so much better after that, thank you sclv |
| 22:11:04 | <guy9> | I feel like I know how to better troubleshoot now |
| 22:11:13 | <dmj`> | ski: GHCJS implements makeStableName strictly |
| 22:11:59 | × | st8less quits (~st8less@2603:a060:11fd:0:f652:5ff0:83f7:3be7) (Ping timeout: 260 seconds) |
| 22:12:11 | ski | . o O ( specification indeterminacy ) |
| 22:13:44 | <dmj`> | where's the GHC spec, couldn't find it :P |
| 22:13:48 | → | st8less joins (~st8less@inet-167-224-197-181.isp.ozarksgo.net) |
| 22:20:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:23:52 | × | LKoen quits (~LKoen@77.168.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 22:24:31 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 22:24:40 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 22:25:41 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:27:33 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 22:29:22 | × | s00pcan quits (~chris@107.181.165.217) (Read error: Connection reset by peer) |
| 22:29:31 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 22:29:41 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 22:31:03 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:31:04 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 22:32:00 | → | elliott__ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
| 22:33:33 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:34:01 | → | s00pcan joins (~chris@075-133-056-178.res.spectrum.com) |
| 22:34:33 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 22:36:19 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 22:36:40 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 22:40:02 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) |
| 22:40:29 | × | son0p quits (~ff@181.136.122.143) (Remote host closed the connection) |
| 22:40:33 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 22:46:29 | × | Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving) |
| 22:50:06 | × | HannaM quits (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
| 22:50:30 | × | Lowl3v3l quits (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Quit: Leaving.) |
| 22:54:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 22:56:11 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 260 seconds) |
| 22:56:19 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:56:59 | <guy9> | I finally got what I needed up and running! Thank you everybody! Have a good day |
| 23:00:18 | × | raichoo quits (~raichoo@dslb-178-009-065-077.178.009.pools.vodafone-ip.de) (Quit: Lost terminal) |
| 23:00:19 | × | DavidEichmann quits (~david@147.136.46.217.dyn.plus.net) (Ping timeout: 252 seconds) |
| 23:01:41 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 23:03:31 | × | guy9 quits (4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: Connection closed) |
| 23:06:06 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 23:07:09 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 23:07:22 | → | xkapastel joins (uid17782@gateway/web/irccloud.com/x-dagvmnchyestqbjc) |
| 23:08:21 | × | zeenk quits (~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75) (Quit: Konversation terminated!) |
| 23:10:01 | → | chenin joins (bab7243e@186.183.36.62) |
| 23:10:59 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 23:12:52 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:13:09 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 23:14:33 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 23:15:58 | × | fiedlr quits (~fiedlr@83.148.33.254) (Ping timeout: 268 seconds) |
| 23:16:10 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 23:18:24 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 23:18:42 | → | p0a joins (~user@unaffiliated/p0a) |
| 23:19:21 | <p0a> | Hell does megaparsec look a bit like boost::spirit? I've never learned megaparsec but I'm currently learning the C++ library and I'm getting the feeling that they have a similar design |
| 23:19:29 | <p0a> | Hello* |
| 23:19:55 | <geekosaur> | parser combinator libraries will all look fairly similar |
| 23:20:47 | <p0a> | alright, thanks. I thought that they had a similar approach to things, good to know it's called 'parser combinator'. There's also the type system involved |
| 23:21:41 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 23:22:49 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 23:23:15 | × | sqrt2_ quits (~ben@unaffiliated/sqrt2) (Ping timeout: 265 seconds) |
| 23:23:38 | → | jesystani joins (~thorn@2404:4404:17f1:4900:ec8c:5f5b:2c7a:5e7) |
| 23:23:42 | <xsperry> | IIRC boost::spirit was inspired by original parsec. even some of the operators they use are the same, for example >> |
| 23:24:22 | → | tatsumaru joins (~tatsumaru@85.196.189.103) |
| 23:25:05 | <jesystani> | hello, i have a structure built up of lists, and im displaying a subset of those lists after transforming the larger structure. is there a way i can force evaluation of the entire structure? i believe my transformations are stacking up at the "edges" where im not printing |
| 23:25:10 | <tatsumaru> | hey guys, what's the difference between ['h', 'e', 'l', 'l', 'o'] and ["h", "e", "l", "l", "o"] ? |
| 23:25:10 | → | mason_ joins (~bc8134e3@217.29.117.252) |
| 23:25:35 | <tatsumaru> | the first one evaluates as a string list and the second one as a collection of strings in a list |
| 23:25:39 | <geekosaur> | the former is a list of Char, the latter a list of String (aka [Char]) |
| 23:25:50 | <xsperry> | ['h', 'e', 'l', 'l', 'o'] is the same as "hello", ie, a list of chars, or String |
| 23:26:15 | <p0a> | xsperry: oh! very interesting! I thought it went the other way around |
| 23:26:19 | <geekosaur> | as it turns out Haskell's String type is just a list of Char, and the Show instance accordingly assumes any such list of Char is a String |
| 23:26:23 | <mason_> | :t ['h', 'e', 'l', 'l', 'o'] |
| 23:26:25 | <lambdabot> | [Char] |
| 23:26:28 | <mason_> | :t ["h", "e", "l", "l", "o"] |
| 23:26:29 | <lambdabot> | [[Char]] |
| 23:26:59 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 23:27:49 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 23:28:03 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 260 seconds) |
| 23:28:22 | ← | chenin parts (bab7243e@186.183.36.62) () |
| 23:28:34 | <tatsumaru> | so the first one is list of chars and the second one is a list of list of chars? |
| 23:28:41 | <mason_> | yes |
| 23:28:58 | <tatsumaru> | i see, thanks |
| 23:29:02 | <koz_> | Is there a way to use an OPTIONS_GHC pragma to _disable_ the use of a plugin? |
| 23:29:02 | <mason_> | also, String is type alias for [Char] |
| 23:29:07 | <geekosaur> | > ['h', 'e', 'l', 'l', 'o'] |
| 23:29:09 | <lambdabot> | "hello" |
| 23:29:16 | <geekosaur> | same thing |
| 23:29:56 | × | Synthetica quits (uid199651@gateway/web/irccloud.com/x-lrjabllucnezjrom) (Quit: Connection closed for inactivity) |
| 23:30:33 | <jesystani> | ive got a ! pattern going, but it seems like it doesnt go recursively? |
| 23:30:44 | ← | p0a parts (~user@unaffiliated/p0a) ("bye") |
| 23:31:04 | <geekosaur> | !, or seq, only evaluates to the first constructor, not recursively |
| 23:31:21 | <geekosaur> | if you truly want to evaluate an entire structure, consider deepseq and friends |
| 23:31:33 | <geekosaur> | you may need NFData instances for your types |
| 23:32:26 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 23:33:39 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9) (Ping timeout: 248 seconds) |
| 23:34:27 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 23:34:54 | → | sqrt2 joins (~ben@unaffiliated/sqrt2) |
| 23:36:05 | <mason_> | /join #electronics |
| 23:36:08 | <mason_> | woops! |
| 23:38:13 | <jesystani> | geekosaur: how easy is it to write an NFData instance? |
| 23:38:43 | × | barakkl1993 quits (~barakkley@2.55.141.207) (Ping timeout: 265 seconds) |
| 23:38:48 | <geekosaur> | fairly easy, you're just telling it which fields to evaluate (you cannot, for example, do much with a function) |
| 23:40:08 | <mason_> | when I used NFData I just did instance NFData MyType where rnf = genericRnf |
| 23:40:34 | <mason_> | I think you need DeriveGeneric for that |
| 23:40:36 | <tatsumaru> | if b is a list and I do 4:b to add 4 at the beginning the list with 4 at the beginning is actually a new list right, and not b? |
| 23:41:13 | <geekosaur> | it is a list cell whose head contains the new list item and whose tail is the original b |
| 23:41:45 | <tatsumaru> | i am just asking because if I then do b !! 2 the 4 won't be counted |
| 23:41:53 | <jesystani> | wheres the best place to find info on defining that instance? |
| 23:42:02 | <mason_> | yep, tail is shared. because b is immutable, new list can just reuse it without worrying that it may change in the future |
| 23:42:41 | <tatsumaru> | i see, thank you |
| 23:42:42 | <monochrom> | b is reused, not cloned. A new cell is made to point to 4 and point to b. |
| 23:43:12 | <tatsumaru> | so it's like a symlink? |
| 23:43:21 | → | aVikingTrex joins (2be74510@43.231.69.16) |
| 23:43:26 | <monochrom> | "new list" is ambiguous unless you really mean it literally, in which case "obviously yes but obviously not what you have in mind" |
| 23:43:28 | → | pthariensflame joins (~pthariens@2600:6c52:727f:4200:e9eb:b23:a363:a349) |
| 23:44:05 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 23:44:08 | <monochrom> | as new as "4+1 is a newer number than 4" |
| 23:44:23 | × | hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:bd38:fd76:9bf:a5f) (Ping timeout: 260 seconds) |
| 23:45:12 | <geekosaur> | tatsumaru, they are the same pointer |
| 23:45:25 | × | pthariensflame quits (~pthariens@2600:6c52:727f:4200:e9eb:b23:a363:a349) (Client Quit) |
| 23:46:55 | ← | tatsumaru parts (~tatsumaru@85.196.189.103) () |
| 23:47:21 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 23:49:45 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:82c:fa7c:5833:ee7a) (Ping timeout: 250 seconds) |
| 23:50:48 | × | sqrt2 quits (~ben@unaffiliated/sqrt2) (Ping timeout: 265 seconds) |
| 23:51:30 | → | loller_ joins (uid358106@gateway/web/irccloud.com/x-lstrgyekfcdepwsa) |
| 23:52:25 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 276 seconds) |
| 23:52:32 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 23:52:47 | × | jesystani quits (~thorn@2404:4404:17f1:4900:ec8c:5f5b:2c7a:5e7) (Ping timeout: 260 seconds) |
| 23:53:28 | → | jesystani joins (~thorn@2404:4404:17f1:4900:4d97:c743:fd22:2bfd) |
| 23:55:11 | × | xsperry quits (~as@unaffiliated/xsperry) (Remote host closed the connection) |
| 23:55:29 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 23:56:09 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 23:59:33 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 23:59:53 | → | fiedlr joins (~fiedlr@83.148.33.254) |
All times are in UTC on 2021-04-19.