Logs on 2020-12-25 (freenode/#haskell)
| 00:00:28 | <nshepperd> | it's like a depth first traversal of your tree except the tree is implicit |
| 00:01:35 | × | jannee quits (52d18c9d@82-209-140-157.cust.bredband2.com) (Remote host closed the connection) |
| 00:03:13 | × | vexed__ quits (~vexed__@178.162.212.214) (Ping timeout: 264 seconds) |
| 00:03:55 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:07:32 | × | fuzzypixelz quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds) |
| 00:10:28 | <glguy> | I combined part 1 and 2 into the same transitive closure map: https://github.com/glguy/advent2020/blob/master/execs/Day07.hs |
| 00:12:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 00:13:31 | × | kam1 quits (~kam1@24.231.108.143) (Ping timeout: 246 seconds) |
| 00:14:04 | → | mbomba joins (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) |
| 00:14:10 | → | hiroaki joins (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) |
| 00:14:47 | → | Thoralf joins (~Thoralf__@69.162.230.96) |
| 00:15:32 | <Thoralf> | Has anyone here experimented with proof verification systems? |
| 00:15:37 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 00:16:35 | <glguy> | Thoralf, are you asking about Haskell? |
| 00:17:23 | <Thoralf> | If there are haskell related proof verification systems, yes. If not, I realize this may not be the best channel. |
| 00:19:26 | <Clint> | do you mean like agda? |
| 00:20:13 | → | jollygood2 joins (~bc8165ab@217.29.117.252) |
| 00:21:39 | → | Laat joins (~Laat@139.28.218.148) |
| 00:22:52 | → | fuzzypixelz joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 00:23:04 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 272 seconds) |
| 00:24:14 | × | al3x27 quits (~plovs@85.254.74.40) (Ping timeout: 260 seconds) |
| 00:25:27 | × | jedws quits (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:26:00 | → | notzmv joins (~user@unaffiliated/zmv) |
| 00:28:07 | → | kam1 joins (~kam1@24.231.108.143) |
| 00:28:40 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 00:31:10 | × | mbomba quits (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0) |
| 00:32:24 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
| 00:32:46 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:32:55 | <Thoralf> | Yes... basically I started learning a little Haskell so I could work more easily with algebraic data types and think about proofs about them. I have a background in math (MS) and code for a living (C#) and wanted to due some more mathy coding. |
| 00:33:22 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
| 00:35:16 | × | olligobber quits (~olligobbe@unaffiliated/olligobber) (Ping timeout: 240 seconds) |
| 00:35:52 | × | alx741 quits (~alx741@186.178.110.248) (Ping timeout: 256 seconds) |
| 00:36:18 | → | HarveyPwca joins (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) |
| 00:38:18 | × | srk quits (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection) |
| 00:40:20 | → | srk joins (~sorki@gateway/tor-sasl/sorki) |
| 00:43:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:45:32 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 260 seconds) |
| 00:46:19 | × | matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in) |
| 00:46:39 | → | matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
| 00:46:52 | × | matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Remote host closed the connection) |
| 00:47:17 | → | matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
| 00:48:44 | → | alx741 joins (~alx741@181.196.69.246) |
| 00:48:49 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 00:51:30 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds) |
| 00:51:36 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds) |
| 00:52:48 | → | dibblego joins (~dibblego@122-199-1-30.ip4.superloop.com) |
| 00:52:48 | × | dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
| 00:52:48 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 00:52:55 | <__monty__> | Thoralf Pierce's Software Foundations is great. Chlipala's Certified Programming with Dependent Types too. |
| 00:53:38 | × | xcmw quits (~textual@2601:541:4404:bb5c:383c:b842:edcb:4461) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:56:38 | → | Tario joins (~Tario@201.192.165.173) |
| 00:56:51 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-dkfzyfmbutdgutbh) (Quit: Connection closed for inactivity) |
| 01:00:23 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 01:00:33 | → | functional_noob joins (~suhas@45-30-150-65.lightspeed.dybhfl.sbcglobal.net) |
| 01:01:35 | → | err32 joins (2d1e9641@45-30-150-65.lightspeed.dybhfl.sbcglobal.net) |
| 01:01:43 | × | kam1 quits (~kam1@24.231.108.143) (Ping timeout: 256 seconds) |
| 01:01:48 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection) |
| 01:07:15 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 01:07:17 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 01:08:41 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-luozpabxvpomtxpu) |
| 01:09:17 | ← | functional_noob parts (~suhas@45-30-150-65.lightspeed.dybhfl.sbcglobal.net) ("Leaving") |
| 01:12:07 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 01:12:18 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 01:15:41 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:17:00 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
| 01:17:25 | × | hiroaki quits (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 01:17:32 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
| 01:17:46 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 01:18:25 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:18:27 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 01:19:39 | → | hiroaki joins (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) |
| 01:19:56 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 01:21:08 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 01:21:14 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:21:20 | × | xsperry quits (~as@unaffiliated/xsperry) (Ping timeout: 272 seconds) |
| 01:22:23 | × | jollygood2 quits (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout)) |
| 01:23:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:24:46 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 01:25:25 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 240 seconds) |
| 01:25:37 | → | chang joins (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
| 01:26:24 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:27:52 | → | Tario joins (~Tario@201.192.165.173) |
| 01:28:02 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 01:30:18 | ← | fuzzypixelz parts (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) () |
| 01:31:13 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 01:36:22 | × | chang quits (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:38:05 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:38:12 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 01:39:52 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection) |
| 01:40:45 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 01:45:03 | → | AWizzArd joins (~code@unaffiliated/awizzard) |
| 01:45:34 | × | columbarius quits (~columbari@i5E86B3E4.versanet.de) (Ping timeout: 268 seconds) |
| 01:47:42 | → | columbarius joins (~columbari@87.123.198.131) |
| 01:50:42 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 01:54:47 | × | cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
| 01:55:26 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 268 seconds) |
| 01:57:45 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 02:03:36 | × | Entertainment quits (~entertain@104.246.132.210) (Ping timeout: 240 seconds) |
| 02:05:42 | → | toorevitimirp joins (~tooreviti@117.182.181.108) |
| 02:06:22 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 02:07:07 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 02:08:01 | × | Mikagami quits (~MOSCOS@122.54.107.175) (Remote host closed the connection) |
| 02:08:27 | → | Mikagami joins (~MOSCOS@122.54.107.175) |
| 02:08:50 | <Cale> | byorgey: I don't know if you have anything to do with this at this point, but the Homework 1 from your edition of CIS194 seems to be missing |
| 02:11:19 | → | jedws joins (~jedws@121.209.189.201) |
| 02:19:19 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 02:22:34 | × | acidjnk_new quits (~acidjnk@p200300d0c704e766c945272cf742f08c.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 02:23:06 | → | chang joins (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
| 02:23:49 | → | xcmw joins (~textual@2601:541:4404:bb5c:383c:b842:edcb:4461) |
| 02:27:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:28:04 | × | pallas quits (~pallas@183.193.112.99) (Ping timeout: 256 seconds) |
| 02:31:13 | × | tff^ quits (tff@ip98-184-89-2.mc.at.cox.net) () |
| 02:32:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 02:39:20 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:39:43 | → | fxg joins (~fxg@unaffiliated/fxg) |
| 02:42:43 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
| 02:42:57 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 02:44:01 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 02:45:00 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com) (Ping timeout: 265 seconds) |
| 02:45:07 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:46:50 | × | fxg quits (~fxg@unaffiliated/fxg) (Quit: Leaving) |
| 02:47:51 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 02:48:12 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 02:50:00 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 02:50:28 | × | Thoralf quits (~Thoralf__@69.162.230.96) (Quit: Leaving) |
| 02:51:06 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 02:52:51 | → | tsrt^ joins (tsrt@ip98-184-89-2.mc.at.cox.net) |
| 02:53:10 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds) |
| 02:56:20 | × | err32 quits (2d1e9641@45-30-150-65.lightspeed.dybhfl.sbcglobal.net) (Ping timeout: 245 seconds) |
| 02:57:37 | × | xff0x_ quits (~fox@2001:1a81:5220:8900:a71f:c669:1430:24d7) (Ping timeout: 260 seconds) |
| 02:59:29 | → | xff0x_ joins (~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124) |
| 03:03:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:04:12 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 03:06:26 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) |
| 03:06:40 | × | jedws quits (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 03:10:36 | × | theDon quits (~td@94.134.91.70) (Ping timeout: 240 seconds) |
| 03:12:36 | → | theDon joins (~td@94.134.91.122) |
| 03:12:36 | × | m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds) |
| 03:13:15 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 03:14:36 | → | kam1 joins (~kam1@24.231.108.143) |
| 03:15:10 | × | Ariakenom_ quits (~Ariakenom@2001:9b1:efb:fc00:d1a7:4f8d:6a93:cd27) (Quit: Leaving) |
| 03:16:47 | → | xirhtogal joins (~lagothrix@unaffiliated/lagothrix) |
| 03:16:47 | lagothrix | is now known as Guest33303 |
| 03:16:47 | × | Guest33303 quits (~lagothrix@unaffiliated/lagothrix) (Killed (hitchcock.freenode.net (Nickname regained by services))) |
| 03:16:47 | xirhtogal | is now known as lagothrix |
| 03:21:04 | × | chang quits (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 03:21:30 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 03:24:59 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection) |
| 03:25:14 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 03:26:37 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
| 03:26:46 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 03:29:16 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 240 seconds) |
| 03:30:03 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 03:31:12 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 260 seconds) |
| 03:31:45 | × | unfixpoint quits (1f0a965a@31-10-150-90.cgn.dynamic.upc.ch) (Ping timeout: 245 seconds) |
| 03:33:02 | → | zaquest joins (~notzaques@5.128.210.178) |
| 03:37:30 | hackage | arch-hs 0.6.1.0 - Distribute hackage packages to archlinux https://hackage.haskell.org/package/arch-hs-0.6.1.0 (berberman) |
| 03:37:42 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 03:37:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 03:38:23 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
| 03:41:20 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 03:43:54 | → | sand_dull joins (~theuser@62.182.99.39) |
| 03:45:52 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
| 03:46:23 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 03:50:30 | → | Saukk joins (~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3) |
| 03:50:52 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
| 03:51:23 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 03:51:24 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 03:53:38 | → | drbean joins (~drbean@TC210-63-209-143.static.apol.com.tw) |
| 03:58:31 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds) |
| 04:00:08 | × | HarveyPwca quits (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving) |
| 04:01:04 | → | nbloomf joins (~nbloomf@2601:285:401:7490:59cb:5937:686f:ce2a) |
| 04:01:47 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 04:06:15 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:06:38 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 04:07:10 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
| 04:07:14 | × | Tops2 quits (~Tobias@dyndsl-095-033-090-086.ewe-ip-backbone.de) (Quit: Leaving.) |
| 04:11:08 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 260 seconds) |
| 04:11:31 | × | electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 04:11:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 04:12:13 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 246 seconds) |
| 04:12:51 | → | jedws joins (~jedws@121.209.189.201) |
| 04:13:42 | × | jedws quits (~jedws@121.209.189.201) (Client Quit) |
| 04:28:25 | × | Genius123 quits (~jessiesgi@unaffiliated/sailorreality) (Read error: No route to host) |
| 04:31:14 | → | FreeBirdLjj joins (~freebirdl@101.87.168.174) |
| 04:31:31 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 04:35:35 | → | ransom_ joins (~c4264035@8.47.12.52) |
| 04:35:37 | × | FreeBirdLjj quits (~freebirdl@101.87.168.174) (Ping timeout: 264 seconds) |
| 04:37:06 | × | solonarv quits (~solonarv@adijon-656-1-25-229.w90-13.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 04:38:03 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 04:38:05 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:39:56 | × | sand_dull quits (~theuser@62.182.99.39) (Read error: Connection reset by peer) |
| 04:42:04 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:d7e8:3126:b46e:67f2) (Ping timeout: 258 seconds) |
| 04:43:43 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection) |
| 04:43:46 | → | coot_ joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
| 04:43:57 | × | ransom_ quits (~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:45:08 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 04:47:40 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-luozpabxvpomtxpu) (Quit: Connection closed for inactivity) |
| 04:48:10 | × | xcmw quits (~textual@2601:541:4404:bb5c:383c:b842:edcb:4461) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:48:27 | × | pdxleif quits (~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds) |
| 04:49:10 | → | solonarv joins (~solonarv@adijon-656-1-25-229.w90-13.abo.wanadoo.fr) |
| 04:49:22 | × | hwabyong quits (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (Ping timeout: 260 seconds) |
| 04:50:19 | × | vancz quits (~vancz@unaffiliated/vancz) (Ping timeout: 260 seconds) |
| 04:50:20 | → | pdxleif joins (~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com) |
| 04:50:32 | → | vancz joins (~vancz@unaffiliated/vancz) |
| 04:51:26 | × | poljar quits (~poljar@78-3-3-62.adsl.net.t-com.hr) (Read error: Connection reset by peer) |
| 04:51:57 | → | poljar joins (~poljar@78-3-3-62.adsl.net.t-com.hr) |
| 04:52:26 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 04:52:33 | → | Vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 04:53:35 | → | hwabyong joins (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) |
| 04:54:22 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:59e8:11f9:1fd3:c445) |
| 04:57:06 | × | Vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds) |
| 04:57:06 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 04:57:56 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds) |
| 04:58:13 | → | electricityZZZZ joins (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) |
| 05:01:34 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 246 seconds) |
| 05:05:14 | × | jvanbure quits (~jvanbure@159.65.233.183) (Ping timeout: 260 seconds) |
| 05:05:30 | → | jvanbure joins (~jvanbure@159.65.233.183) |
| 05:09:07 | × | hexfive quits (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.) |
| 05:11:07 | → | chang joins (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
| 05:12:15 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 05:14:39 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0adc.res6.spectrum.com) (Ping timeout: 258 seconds) |
| 05:21:01 | → | Fractalis joins (~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f) |
| 05:26:09 | × | benjamingr__ quits (uid23465@gateway/web/irccloud.com/x-ankgvusjjrkefawj) (Quit: Connection closed for inactivity) |
| 05:26:42 | × | bandali quits (bandali@fsf/emeritus/bandali) (Quit: ZNC - https://znc.in) |
| 05:27:29 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 05:29:56 | → | bandali joins (bandali@fsf/emeritus/bandali) |
| 05:30:28 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-sgkmaldlngsmvshg) (Quit: Connection closed for inactivity) |
| 05:31:02 | × | chang quits (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:31:57 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 260 seconds) |
| 05:32:05 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds) |
| 05:35:22 | × | matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in) |
| 05:35:43 | → | matryoshka joins (~matryoshk@184.75.223.227) |
| 05:38:40 | × | iekfkk quits (~username@117.200.6.46) (Ping timeout: 268 seconds) |
| 05:40:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:40:39 | → | iekfkk joins (~username@117.200.6.46) |
| 05:43:41 | → | christo joins (~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8) |
| 05:45:11 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 05:45:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 05:50:19 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
| 05:53:07 | × | Fractalis quits (~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f) (Quit: Have a good one all, im out!) |
| 05:54:27 | × | coot_ quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot_) |
| 05:55:33 | → | coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
| 05:55:49 | × | coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
| 05:57:22 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 05:57:33 | → | wei2912 joins (~wei2912@unaffiliated/wei2912) |
| 05:58:36 | × | electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 06:01:58 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 06:02:27 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 06:02:42 | × | ADG1089__ quits (~aditya@122.163.239.116) (Read error: Connection reset by peer) |
| 06:03:05 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 06:03:15 | × | fengh quits (~haskeller@ip72-205-40-121.dc.dc.cox.net) (Ping timeout: 256 seconds) |
| 06:04:17 | × | eacameron quits (uid256985@gateway/web/irccloud.com/x-lhbgdftewugimdol) (Quit: Connection closed for inactivity) |
| 06:05:40 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 06:09:44 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) |
| 06:10:41 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 06:12:21 | × | christo quits (~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8) (Remote host closed the connection) |
| 06:13:30 | → | shatriff_ joins (~vitaliish@176-52-216-242.irishtelecom.com) |
| 06:14:26 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 264 seconds) |
| 06:15:12 | × | shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Ping timeout: 272 seconds) |
| 06:15:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:16:17 | → | christo joins (~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8) |
| 06:20:00 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 06:20:28 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 06:21:15 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 06:21:41 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 06:22:16 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 06:26:37 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 06:27:02 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 06:27:23 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds) |
| 06:30:31 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 06:32:42 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 06:37:24 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 06:37:47 | → | Tario joins (~Tario@201.192.165.173) |
| 06:43:04 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
| 06:46:53 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 06:49:58 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 06:50:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 06:50:22 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 06:51:07 | → | kori joins (~kori@2804:14c:85a3:9105::1001) |
| 06:51:07 | × | kori quits (~kori@2804:14c:85a3:9105::1001) (Changing host) |
| 06:51:07 | → | kori joins (~kori@arrowheads/kori) |
| 06:51:17 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds) |
| 06:52:03 | → | ransom_ joins (~c4264035@8.47.12.52) |
| 06:52:09 | × | ransom_ quits (~c4264035@8.47.12.52) (Client Quit) |
| 06:52:29 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 06:52:52 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 06:54:14 | × | fiddlerwoaroof quits (~fiddlerwo@unaffiliated/fiddlerwoaroof) (Remote host closed the connection) |
| 06:56:17 | → | ransom_ joins (~c4264035@8.47.12.52) |
| 07:00:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:07:03 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 07:07:57 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
| 07:08:25 | × | ransom_ quits (~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:11:42 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds) |
| 07:17:24 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 07:17:50 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 07:19:58 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 07:22:01 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 07:24:45 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 07:27:23 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 07:28:35 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 07:30:40 | × | Saukk quits (~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3) (Remote host closed the connection) |
| 07:31:50 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 264 seconds) |
| 07:33:12 | → | qwerty joins (~tema@217.118.92.215) |
| 07:34:25 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 264 seconds) |
| 07:36:10 | → | ransom_ joins (~c4264035@8.47.12.52) |
| 07:36:11 | × | matryoshka quits (~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:36:35 | → | matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
| 07:39:12 | × | Laat quits (~Laat@139.28.218.148) (Remote host closed the connection) |
| 07:47:43 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 07:48:12 | <_deepfire> | are there any libraries that provide secure websockets (wss) servers, that don't involve webserver stacks, like warp etc.? |
| 07:52:11 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 07:52:32 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds) |
| 07:57:20 | → | plutoniix joins (~q@ppp-27-55-66-145.revip3.asianet.co.th) |
| 07:59:43 | → | ironmarx joins (~ironmarx@84.39.117.57) |
| 08:11:23 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 08:14:36 | → | coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
| 08:23:37 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 08:27:03 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
| 08:29:54 | → | cheater joins (~user@unaffiliated/cheater) |
| 08:30:20 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 08:30:28 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 08:30:52 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
| 08:31:15 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds) |
| 08:32:18 | × | nbloomf quits (~nbloomf@2601:285:401:7490:59cb:5937:686f:ce2a) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:33:14 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 08:34:43 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 246 seconds) |
| 08:35:21 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 08:37:44 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 260 seconds) |
| 08:38:14 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 08:39:42 | → | al3x27 joins (~plovs@85.254.74.40) |
| 08:43:25 | × | drbean quits (~drbean@TC210-63-209-143.static.apol.com.tw) (Ping timeout: 264 seconds) |
| 08:45:25 | → | jamm joins (~jamm@unaffiliated/jamm) |
| 08:47:26 | → | vicfred joins (vicfred@gateway/vpn/mullvad/vicfred) |
| 08:49:36 | × | jamm quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
| 08:51:59 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 08:52:43 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
| 08:54:15 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 08:55:43 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:56:52 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 08:58:34 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 09:00:14 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 09:00:36 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 09:03:07 | <siraben> | (aoc day 25 spoiler) is there a better way to write the semigroup instance for B? https://github.com/siraben/haoc-2020/blob/master/day25.hs |
| 09:03:20 | <siraben> | if I were to do instance Semigroup (Product B) I get overlapping instances |
| 09:11:06 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 09:14:43 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
| 09:15:24 | → | zhulikas joins (~derp@213.239.204.108) |
| 09:15:44 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 09:16:07 | × | zhulikas quits (~derp@213.239.204.108) (Client Quit) |
| 09:16:16 | → | zhulikas joins (~derp@213.239.204.108) |
| 09:17:33 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 09:20:51 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 09:24:26 | → | fiddlerwoaroof joins (~fiddlerwo@unaffiliated/fiddlerwoaroof) |
| 09:25:42 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
| 09:29:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:29:16 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-gekljygtchkukcbi) (Quit: Connection closed for inactivity) |
| 09:34:11 | × | vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
| 09:40:28 | × | styledash quits (~styledash@157.230.173.136) (Quit: Ping timeout (120 seconds)) |
| 09:40:30 | <gentauro> | anybody know how (where?) to change colors for the `lsp-ui`? I really can't use it :) https://imgur.com/a/bAs2SQn |
| 09:40:36 | × | L29Ah quits (~L29Ah@unaffiliated/l29ah) (Ping timeout: 240 seconds) |
| 09:40:54 | → | styledash joins (~styledash@157.230.173.136) |
| 09:46:04 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 09:46:41 | <gentauro> | found it :) |
| 09:46:50 | <gentauro> | https://github.com/emacs-lsp/lsp-ui/issues/369#issue-544422242 |
| 09:48:23 | <siraben> | gentauro: :D |
| 09:50:39 | → | banner joins (~banner@116-255-17-47.ip4.superloop.com) |
| 09:50:39 | × | banner quits (~banner@116-255-17-47.ip4.superloop.com) (Client Quit) |
| 09:51:55 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 09:52:04 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 09:55:43 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
| 09:58:52 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 10:03:18 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 258 seconds) |
| 10:03:49 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
| 10:04:57 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Remote host closed the connection) |
| 10:05:12 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 10:11:20 | × | guest1222 quits (~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1)) |
| 10:11:42 | → | son0p joins (~son0p@181.58.39.182) |
| 10:19:02 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 10:19:21 | → | _noblegas joins (uid91066@gateway/web/irccloud.com/x-aqakevzlgrrqrlmm) |
| 10:24:02 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 264 seconds) |
| 10:25:44 | → | polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
| 10:27:33 | → | DavidEichmann joins (~david@2a01:4b00:ea36:d800:7190:b601:9ea:6e3e) |
| 10:27:33 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 10:33:03 | → | kuribas joins (~user@ptr-25vy0ia20n5d17pacij.18120a2.ip6.access.telenet.be) |
| 10:33:17 | → | Franciman joins (~francesco@host-82-49-79-73.retail.telecomitalia.it) |
| 10:34:30 | hackage | bishbosh 0.0.0.7 - Plays chess. https://hackage.haskell.org/package/bishbosh-0.0.0.7 (AlistairWard) |
| 10:35:45 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:9d10:f316:4709:bd2c) |
| 10:37:06 | → | asheshambasta joins (~user@ptr-e1lysaxt4bg7tmaahx1.18120a2.ip6.access.telenet.be) |
| 10:37:17 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 10:37:40 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 10:39:21 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 10:39:22 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 10:41:28 | × | christo quits (~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8) (Remote host closed the connection) |
| 10:43:18 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:5526:7bff:8975:9331) (Ping timeout: 268 seconds) |
| 10:44:02 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds) |
| 10:44:13 | → | knupfer joins (~Thunderbi@mue-88-130-61-228.dsl.tropolys.de) |
| 10:45:49 | → | acidjnk_new joins (~acidjnk@p200300d0c704e768908e218c407fff58.dip0.t-ipconnect.de) |
| 10:46:22 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Quit: Nice weekend & Merry Christmas) |
| 10:46:42 | × | coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 10:49:20 | → | strawman2511 joins (~strawman2@171.252.155.14) |
| 10:50:38 | <xerox_> | Merry Christmas #haskell! |
| 10:50:41 | <strawman2511> | I am new to programming and I really want to learn Haskell the effective way. Which book do you think I should take? This one https://haskellbook.com/ |
| 10:52:16 | <__monty__> | Merry christmas, xerox_, peeps |
| 10:52:39 | <__monty__> | strawman2511: How much experience do you have with programming and functional languages? |
| 10:53:17 | <strawman2511> | I don't have any experience. |
| 10:53:37 | <strawman2511> | But I like Haskell |
| 10:53:46 | <__monty__> | Then that book's probably the way to go. |
| 10:53:53 | <merijn> | strawman2511: That one is decent. I've also heard that "Thinking Functionall With Haskell" by Richard Bird and "Programming in Haskell" by Graham Hutton are good |
| 10:54:08 | <__monty__> | Yeah, was going to recommend the latter too. |
| 10:55:20 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 10:55:29 | <strawman2511> | Are all of that book include a lastest version of Haskell? |
| 10:55:45 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 10:55:46 | → | avdb joins (~avdb@gateway/tor-sasl/avdb) |
| 10:55:58 | <__monty__> | Don't think any of them do. GHC 8.10.3 was released the day before yesterday : ) |
| 10:56:11 | <merijn> | strawman2511: There isn't really a "latest version" (in any sense that matters) in the sense of python 2 vs 3 |
| 10:56:45 | <__monty__> | But I wouldn't worry too much about that. This channel is a great place to ask about stuff that confuses you. |
| 10:57:03 | <merijn> | strawman2511: I mean, the latest Haskell spec is from 2010 and GHC's support for that has changed rather little. Of course the "standard" library has changed a bit, but not enough to worry about |
| 10:57:05 | <__monty__> | And you've already found it : ) |
| 10:57:48 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 10:58:10 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 10:59:17 | × | berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in) |
| 10:59:23 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 10:59:41 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 10:59:49 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:00:58 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:01:21 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:02:55 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:03:57 | × | strawman2511 quits (~strawman2@171.252.155.14) (Quit: Leaving) |
| 11:05:56 | × | sgibber2018 quits (~arch-gibb@208.85.237.137) (Ping timeout: 240 seconds) |
| 11:05:59 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:07:03 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:07:28 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:08:01 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:08:31 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:08:46 | → | rando25892 joins (~rando2589@unaffiliated/mixfix41) |
| 11:09:11 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:09:36 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:12:39 | × | son0p quits (~son0p@181.58.39.182) (Quit: leaving) |
| 11:14:36 | × | asheshambasta quits (~user@ptr-e1lysaxt4bg7tmaahx1.18120a2.ip6.access.telenet.be) (Ping timeout: 258 seconds) |
| 11:14:48 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 11:15:16 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:15:36 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:15:39 | <idnar> | :t traverse |
| 11:15:41 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
| 11:16:46 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) |
| 11:16:55 | <idnar> | @hoogle (Foldable t, Applicative f) => (a -> f b) -> t a -> f [b] |
| 11:16:56 | <lambdabot> | Data.Vector.Fixed.Generic mapMG :: (Vector v a, Vector w b, Dim w ~ Dim v, Monad m) => (a -> m b) -> v a -> m (w b) |
| 11:18:01 | <idnar> | :t (traverse .) . toList |
| 11:18:03 | <lambdabot> | error: |
| 11:18:03 | <lambdabot> | Ambiguous occurrence ‘toList’ |
| 11:18:03 | <lambdabot> | It could refer to |
| 11:18:44 | <idnar> | :t (traverse .) . Data.Foldable.toList |
| 11:18:45 | <lambdabot> | error: |
| 11:18:45 | <lambdabot> | • Couldn't match type ‘[a]’ with ‘a1 -> a2 -> f b’ |
| 11:18:45 | <lambdabot> | Expected type: t a -> a1 -> a2 -> f b |
| 11:19:20 | <idnar> | :t \f -> traverse f . Data.Foldable.toList |
| 11:19:22 | <lambdabot> | (Applicative f, Foldable t) => (a -> f b) -> t a -> f [b] |
| 11:19:54 | <idnar> | @pl \f -> traverse f . Data.Foldable.toList |
| 11:19:54 | <lambdabot> | (. Data.Foldable.toList) . traverse |
| 11:20:15 | <idnar> | ohh |
| 11:21:45 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 11:26:16 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 11:29:01 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:29:22 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:31:50 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
| 11:31:56 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 11:32:59 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 11:34:27 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 11:34:43 | × | roconnor quits (~roconnor@host-45-78-199-13.dyn.295.ca) (Quit: Konversation terminated!) |
| 11:35:25 | → | fendor joins (~fendor@178.115.130.212.wireless.dyn.drei.com) |
| 11:35:30 | → | drbean joins (~drbean@TC210-63-209-18.static.apol.com.tw) |
| 11:36:11 | × | haritz quits (~hrtz@unaffiliated/haritz) (Ping timeout: 272 seconds) |
| 11:37:02 | → | haritz joins (~hrtz@62.3.70.206) |
| 11:37:03 | × | haritz quits (~hrtz@62.3.70.206) (Changing host) |
| 11:37:03 | → | haritz joins (~hrtz@unaffiliated/haritz) |
| 11:40:07 | → | Lscot22 joins (~Lscot22@cpc101772-grth12-2-0-cust170.16-4.cable.virginm.net) |
| 11:41:52 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Quit: cosimone) |
| 11:43:20 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 11:43:49 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 11:44:52 | → | ulidtko joins (~ulidtko@194.54.80.38) |
| 11:45:07 | × | ulidtko quits (~ulidtko@194.54.80.38) (Remote host closed the connection) |
| 11:45:21 | → | ulidtko joins (~ulidtko@194.54.80.38) |
| 11:46:05 | × | Lscot22 quits (~Lscot22@cpc101772-grth12-2-0-cust170.16-4.cable.virginm.net) () |
| 11:47:40 | <__monty__> | idnar: Hmm, thought that might be a bird but closest I can get is `cardinal' . flip` and what's the point of birds if you need flip anyway : / |
| 11:53:26 | × | acidjnk_new quits (~acidjnk@p200300d0c704e768908e218c407fff58.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 11:57:27 | × | ironmarx quits (~ironmarx@84.39.117.57) (Remote host closed the connection) |
| 11:58:02 | → | coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
| 12:03:00 | <int-e> | flipping birds is traditional, I suppose |
| 12:05:42 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 12:09:03 | × | Mikagami quits (~MOSCOS@122.54.107.175) (Remote host closed the connection) |
| 12:09:27 | × | avdb quits (~avdb@gateway/tor-sasl/avdb) (Quit: avdb) |
| 12:09:42 | → | Mikagami joins (~MOSCOS@122.54.107.175) |
| 12:11:05 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 240 seconds) |
| 12:11:37 | <idnar> | birds? |
| 12:13:08 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 12:13:38 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 12:14:02 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:ac1c:ca8f:6bba:6ac5) |
| 12:15:42 | <int-e> | See https://en.wikipedia.org/wiki/To_Mock_a_Mockingbird |
| 12:16:11 | → | Entertainment joins (~entertain@104.246.132.210) |
| 12:19:00 | → | Lycurgus joins (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) |
| 12:19:31 | × | solonarv quits (~solonarv@adijon-656-1-25-229.w90-13.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 12:22:13 | × | plutoniix quits (~q@ppp-27-55-66-145.revip3.asianet.co.th) (Quit: Leaving) |
| 12:27:40 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 12:27:48 | <kuribas> | merijn: I find the "traversal over a fold" explanation of clojure transducer not that satisfactory. Since filter comparers to filtering, which isn't a lawful traversal. |
| 12:27:53 | <kuribas> | :t filtering |
| 12:27:54 | <lambdabot> | error: Variable not in scope: filtering |
| 12:28:02 | <kuribas> | :t filtered |
| 12:28:04 | <lambdabot> | (Choice p, Applicative f) => (a -> Bool) -> Optic' p f a a |
| 12:28:23 | → | m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
| 12:30:40 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 12:30:43 | <kuribas> | merijn: With the streaming analogy you get: filter p = \a -> if p a then pure a else mempty |
| 12:32:14 | <kuribas> | however the transducer abstraction in clojure is quite *dirty*, since you need to use side-effectful state for some operations (like take), and actual short circuit termination needs to be checked in each transducer separately. |
| 12:33:37 | <kuribas> | Where it's automatic when using "SerialT (ExceptT IO) a" for example. |
| 12:34:13 | <kuribas> | it shows how the whole explanation of "dynamic types are more general since they have less restrictions" falls flat in practice. |
| 12:36:03 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-ydcdmiqkfmdjfpug) |
| 12:36:07 | <kuribas> | In theory you can write more dynamic programs than statically typed programs, but in practice, without means for a language to properly create abstractions, layering and structuring abstractions becomes almost impossible. |
| 12:38:43 | <kuribas> | transducers in clojure seem rather easy to use, but tricky to implement properly. |
| 12:39:17 | <kuribas> | And the explanation is rather confusing. |
| 12:41:04 | → | berberman_ joins (~berberman@unaffiliated/berberman) |
| 12:41:11 | → | Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:79fd:8fd5:a80e:11e2) |
| 12:42:08 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 12:42:53 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 12:44:14 | <kuribas> | hmm, I guess the side effects would make the type: IO (\a -> Streamly (ExceptT IO) b) |
| 12:44:31 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 12:44:37 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 264 seconds) |
| 12:44:42 | <kuribas> | hmm, is there a way to "hide state", without using IO and IORef? |
| 12:45:20 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 12:45:42 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 12:46:38 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 12:47:02 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 12:47:04 | × | metamod quits (uid478611@gateway/web/irccloud.com/x-rmjicccbfuhhydlz) (Quit: Connection closed for inactivity) |
| 12:47:57 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 12:48:33 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 12:48:55 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 12:50:20 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 12:52:59 | × | ADG1089__ quits (~aditya@122.163.239.116) (Remote host closed the connection) |
| 12:53:21 | → | ADG1089__ joins (~aditya@122.163.239.116) |
| 12:54:29 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:9d10:f316:4709:bd2c) () |
| 12:55:08 | → | tchoutri joins (~tchoutri@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr) |
| 12:55:14 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 264 seconds) |
| 12:55:14 | <tchoutri> | hello there |
| 12:56:09 | → | axeman- joins (~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) |
| 12:57:24 | → | Guest78853 joins (~botro@178.239.168.171) |
| 12:57:49 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 12:58:14 | → | superstar64 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) |
| 12:59:06 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 13:00:42 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 13:01:48 | <juri_> | hallo! |
| 13:02:24 | × | coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 13:02:55 | <kuribas> | hey |
| 13:03:04 | → | coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
| 13:03:08 | <kuribas> | ah, this would hide the state: Transducer = forall s . Transducer s (a -> (\c -> Streamly (ExceptT a (StateT s IO) a)) ((s, a) -> b)) |
| 13:10:40 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 13:15:04 | × | notzmv quits (~user@unaffiliated/zmv) (Ping timeout: 246 seconds) |
| 13:15:07 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds) |
| 13:15:54 | → | notzmv joins (~user@unaffiliated/zmv) |
| 13:17:53 | × | tchoutri quits (~tchoutri@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr) (Quit: leaving) |
| 13:19:19 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 268 seconds) |
| 13:20:40 | × | Lycurgus quits (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt) |
| 13:20:40 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds) |
| 13:21:27 | × | knupfer quits (~Thunderbi@mue-88-130-61-228.dsl.tropolys.de) (Quit: knupfer) |
| 13:23:34 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 13:24:41 | → | ADG1089_ joins (~aditya@223.226.230.252) |
| 13:25:35 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 13:27:06 | × | ADG1089__ quits (~aditya@122.163.239.116) (Ping timeout: 256 seconds) |
| 13:28:22 | × | ADG1089_ quits (~aditya@223.226.230.252) (Remote host closed the connection) |
| 13:28:28 | → | strawman2511 joins (~strawman2@171.252.155.14) |
| 13:28:43 | × | todda7 quits (~torstein@ppp-2-84-17-53.home.otenet.gr) (Ping timeout: 246 seconds) |
| 13:29:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 13:29:59 | → | ADG1089__ joins (~aditya@223.226.230.252) |
| 13:30:28 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 13:30:48 | × | axeman- quits (~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 13:32:48 | <__monty__> | kuribas: Isn't that what ST does? |
| 13:32:58 | <kuribas> | __monty__: yes |
| 13:33:07 | × | matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in) |
| 13:33:26 | <kuribas> | __monty__: I suppose using ST would be more efficient |
| 13:35:29 | <kuribas> | __monty__: I just wanted to know if it is possible without IO or ST |
| 13:36:30 | <__monty__> | If the state is transitive and self-contained you can sprinkle whatever amount of unsafe you need in there : ) |
| 13:37:28 | <kuribas> | no need, an existential quantification can do it safely. |
| 13:37:48 | <kuribas> | as in the type I gave above |
| 13:40:00 | <kuribas> | then to compose states you can tuple both states. |
| 13:40:26 | <kuribas> | but I think a STRef is more efficient, as you don't need to destructure the tuples. |
| 13:41:08 | <strawman2511> | I am think about only "Programming in Haskell" and "Haskell Programming from First Principles" but which one is more easy to learn with? |
| 13:43:28 | → | ADG1089_ joins (~aditya@27.58.161.118) |
| 13:44:14 | × | ADG1089__ quits (~aditya@223.226.230.252) (Ping timeout: 272 seconds) |
| 13:44:32 | × | ADG1089_ quits (~aditya@27.58.161.118) (Remote host closed the connection) |
| 13:47:49 | → | ADG1089__ joins (~aditya@27.58.161.118) |
| 13:50:55 | × | ADG1089__ quits (~aditya@27.58.161.118) (Remote host closed the connection) |
| 13:51:28 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:38c4:4e36:ea6c:80a4) |
| 13:52:05 | × | drbean quits (~drbean@TC210-63-209-18.static.apol.com.tw) (Ping timeout: 240 seconds) |
| 13:53:08 | <superstar64> | what properties does `!` from linear logic have? it forms a comonad right? |
| 13:53:19 | → | ADG1089__ joins (~aditya@27.58.161.118) |
| 13:56:09 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:38c4:4e36:ea6c:80a4) (Ping timeout: 272 seconds) |
| 13:59:26 | <dyeplexer> | Can we say that interpreted haskell is dynamically typed by definition, since we are not compiling anything and about everything is done at run time? |
| 13:59:48 | × | strawman2511 quits (~strawman2@171.252.155.14) (Quit: Leaving) |
| 14:00:08 | → | theelous3 joins (~theelous3@unaffiliated/theelous3) |
| 14:00:17 | → | carthia joins (~carthia@gateway/tor-sasl/carthia) |
| 14:00:28 | <kuribas> | dyeplexer: no, because even when interpreted, the types are checked before any code is run. |
| 14:00:30 | <superstar64> | i wouldn't say so |
| 14:00:59 | <kuribas> | unless you turn on defer type errors. |
| 14:01:07 | <kuribas> | Then it's some weird hybrid. |
| 14:01:09 | → | son0p joins (~son0p@181.136.122.143) |
| 14:01:09 | <dyeplexer> | but aren't types checked only when a statement is executed in the case of an interpreter? |
| 14:01:19 | <kuribas> | dyeplexer: by default no |
| 14:01:39 | <hpc> | ghci isn't an interpreted full program |
| 14:01:51 | <hpc> | think of runghc instead |
| 14:02:26 | <kuribas> | dyeplexer: it is if you use the flag -fdefer-type-errors Which can be used when compiling also btw. |
| 14:02:37 | × | hvr quits (~hvr@haskell/developer/hvr) (Read error: Connection reset by peer) |
| 14:02:39 | <kuribas> | it has nothing to do with being interpreted. |
| 14:03:06 | → | hvr joins (~hvr@haskell/developer/hvr) |
| 14:04:06 | → | kadobanana joins (~mud@unaffiliated/kadoban) |
| 14:04:25 | × | mud quits (~mud@unaffiliated/kadoban) (Ping timeout: 264 seconds) |
| 14:04:54 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Remote host closed the connection) |
| 14:05:00 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) |
| 14:05:39 | × | ADG1089__ quits (~aditya@27.58.161.118) (Remote host closed the connection) |
| 14:06:29 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 14:07:05 | <dyeplexer> | Okay, I think I realised what I was missing. Let's say in a language like python the "initial pass" only checks for syntax errors and type checking is only done when a given function is called. In Haskell, however, the function bodies will be checked for type errors immediately. |
| 14:07:50 | <dyeplexer> | So yes. It is deferred in one case until a given function or block is called, and not in the other. |
| 14:08:24 | <kuribas> | yes |
| 14:09:07 | <dyeplexer> | thanks |
| 14:10:25 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
| 14:11:08 | <merijn> | dyeplexer: Also, ghci does compile |
| 14:11:13 | <merijn> | dyeplexer: It compiles to bytecode and runs that |
| 14:11:34 | <dyeplexer> | I see |
| 14:11:45 | <siraben> | How do I view the GHC core for a function? |
| 14:11:59 | <merijn> | dyeplexer: The real issue is that ghci is kind of a weird animal |
| 14:12:20 | <merijn> | dyeplexer: Where it kinda pretend as if you're writing everything into some pseudo-do-block, but you can also define things |
| 14:12:35 | <merijn> | siraben: You want one of the -d dump flags from the user guide |
| 14:12:55 | <siraben> | merijn: I used -ddump-simpl but get simplified core |
| 14:12:57 | <siraben> | for main |
| 14:13:06 | → | avdb joins (~avdb@gateway/tor-sasl/avdb) |
| 14:13:28 | <merijn> | There's roughly 20 gazillion dump flags, so I'm sure *one* of them does what you want ;) |
| 14:14:24 | → | mud joins (~mud@unaffiliated/kadoban) |
| 14:14:30 | → | L29Ah joins (~L29Ah@unaffiliated/l29ah) |
| 14:15:02 | × | kadobanana quits (~mud@unaffiliated/kadoban) (Ping timeout: 256 seconds) |
| 14:15:27 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:59e8:11f9:1fd3:c445) (Ping timeout: 260 seconds) |
| 14:17:05 | <kuribas> | siraben: https://www.stephendiehl.com/posts/ghc_03.html |
| 14:17:32 | <kuribas> | siraben: wait, you want core before simplifying? |
| 14:17:41 | <kuribas> | usually you want it after... |
| 14:18:57 | × | hiroaki quits (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 14:19:03 | <siraben> | `ghci -ddump-simpl -dsuppress-idinfo -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes` worked, haha |
| 14:19:41 | <siraben> | I was wondering why http://ix.io/2JuY typechecked |
| 14:21:18 | → | unfixpoint joins (1f0a965a@31-10-150-90.cgn.dynamic.upc.ch) |
| 14:22:03 | <siraben> | new bug report: https://gitlab.haskell.org/ghc/ghc/-/issues/19120 |
| 14:22:22 | → | kenran joins (~kenran@mue-88-130-62-111.dsl.tropolys.de) |
| 14:25:24 | <wz1000> | siraben: is there some CSE going on in the core? |
| 14:26:46 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:ab2d:498c:8056:226d) |
| 14:28:08 | <siraben> | wz1000: even if there was, this should fail: http://ix.io/2Jv0 |
| 14:30:20 | × | shatriff_ quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
| 14:30:56 | → | shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com) |
| 14:31:20 | → | hiroaki joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
| 14:32:03 | × | cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds) |
| 14:32:34 | → | nbloomf joins (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) |
| 14:35:11 | → | cantstanya joins (~chatting@gateway/tor-sasl/cantstanya) |
| 14:38:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 14:39:55 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 14:40:02 | → | kadobanana joins (~mud@unaffiliated/kadoban) |
| 14:40:12 | → | bitmagie joins (~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de) |
| 14:40:18 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 14:41:01 | × | mud quits (~mud@unaffiliated/kadoban) (Ping timeout: 264 seconds) |
| 14:41:21 | → | tick joins (3b639272@59.99.146.114) |
| 14:42:07 | × | tick quits (3b639272@59.99.146.114) (Remote host closed the connection) |
| 14:45:02 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds) |
| 14:45:25 | × | perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0) |
| 14:47:55 | × | nbloomf quits (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:48:26 | × | kish` quits (~oracle@unaffiliated/oracle) (Read error: Connection reset by peer) |
| 14:49:01 | → | kish` joins (~oracle@unaffiliated/oracle) |
| 14:50:13 | → | nbloomf joins (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) |
| 14:51:18 | × | nbloomf quits (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Client Quit) |
| 14:53:40 | × | kadobanana quits (~mud@unaffiliated/kadoban) (Ping timeout: 268 seconds) |
| 14:55:48 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 14:57:42 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 258 seconds) |
| 15:00:44 | → | perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 15:01:24 | → | p8m joins (p8m@gateway/vpn/protonvpn/p8m) |
| 15:02:33 | × | toorevitimirp quits (~tooreviti@117.182.181.108) (Remote host closed the connection) |
| 15:02:39 | × | p8m_ quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds) |
| 15:03:35 | × | perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit) |
| 15:04:35 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-ydcdmiqkfmdjfpug) (Quit: Connection closed for inactivity) |
| 15:04:41 | → | kadobanana joins (~mud@unaffiliated/kadoban) |
| 15:05:02 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 15:07:01 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:07:12 | → | perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 15:08:11 | → | nbloomf joins (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) |
| 15:08:52 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) |
| 15:11:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 15:13:01 | × | nbloomf quits (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Client Quit) |
| 15:13:50 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 264 seconds) |
| 15:16:59 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 15:17:50 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 15:18:22 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
| 15:18:38 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 264 seconds) |
| 15:18:45 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 15:19:01 | → | Tario joins (~Tario@201.192.165.173) |
| 15:20:51 | → | xcmw joins (~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e) |
| 15:23:05 | → | fendor_ joins (~fendor@77.119.130.68.wireless.dyn.drei.com) |
| 15:23:10 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
| 15:24:27 | <kuribas> | is this related to monadBaseControl? https://hackage.haskell.org/package/transformers-base-0.4.5.2/docs/Control-Monad-Base.html |
| 15:25:00 | × | superstar64 quits (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Remote host closed the connection) |
| 15:25:07 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 15:25:37 | × | fendor quits (~fendor@178.115.130.212.wireless.dyn.drei.com) (Ping timeout: 246 seconds) |
| 15:27:47 | → | nbloomf joins (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) |
| 15:30:03 | <kuribas> | is there a way to "map" an inner monad? Like (m a -> n a) -> t m a -> t n a |
| 15:30:06 | <kuribas> | ? |
| 15:30:30 | <Uniaika> | I see what you mean |
| 15:30:39 | <Uniaika> | but I don't think I could implement it |
| 15:30:46 | <Uniaika> | hmm |
| 15:31:12 | × | DavidEichmann quits (~david@2a01:4b00:ea36:d800:7190:b601:9ea:6e3e) (Remote host closed the connection) |
| 15:32:30 | × | wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
| 15:33:12 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 15:33:28 | → | trafaret1 joins (~user@178.206.114.251) |
| 15:34:58 | <kuribas> | maybe not even possible in general |
| 15:35:39 | <MarcelineVQ> | kuribas: hoist of mmorph |
| 15:36:52 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds) |
| 15:36:56 | <trafaret1> | o/ |
| 15:37:12 | <kuribas> | MarcelineVQ: neat, thanks :) |
| 15:38:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:38:35 | <trafaret1> | dear haskellers as a newbie want to know subtle difference between learning lisp and haskell? |
| 15:38:55 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 15:41:09 | × | son0p quits (~son0p@181.136.122.143) (Ping timeout: 268 seconds) |
| 15:42:31 | × | Franciman quits (~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving) |
| 15:43:06 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-icexdirphumbtiyv) |
| 15:43:39 | <kuribas> | there is nothing subtle between lisp and haskell, they are totally different. |
| 15:45:31 | <trafaret1> | kuribas: for military purpose which one would be prefferable lisp or haskell. i.e. i want to create models of hyper speed missles and poisones for military purpose |
| 15:46:35 | <kuribas> | trafaret1: sounds like you want a CAD library, instead of a programming language. |
| 15:47:26 | <kuribas> | trafaret1: brl-cad was actually developed by the army |
| 15:48:28 | <trafaret1> | kuribas: hmm It's free like in freedom |
| 15:49:01 | <kuribas> | though it'd be nicer to use any of those for peaceful purposes. |
| 15:49:29 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 15:49:50 | <Uniaika> | kuribas: I'd be interested to see your implementation of hoist of mmorph :) |
| 15:50:21 | <kuribas> | Uniaika: for which class? |
| 15:50:30 | <kuribas> | which instance better? |
| 15:53:03 | <Uniaika> | hmm |
| 15:53:16 | × | infinity0 quits (~infinity0@freenet/developer/infinity0) (Ping timeout: 246 seconds) |
| 15:53:31 | <Uniaika> | let's do something simple? IO [a]? |
| 15:54:34 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 15:54:38 | → | computerbernd joins (5cdabf52@ipservice-092-218-191-082.092.218.pools.vodafone-ip.de) |
| 15:55:09 | → | knupfer joins (~Thunderbi@200116b8248ff600885567758ef1158c.dip.versatel-1u1.de) |
| 15:55:30 | <kuribas> | IO is not a transfomer... |
| 15:55:42 | → | unlink2 joins (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) |
| 15:56:10 | × | xcmw quits (~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:56:30 | → | todda7 joins (~torstein@ppp-2-84-17-53.home.otenet.gr) |
| 15:59:22 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
| 15:59:26 | <kuribas> | did you mean ListT? |
| 15:59:38 | <kuribas> | ListT is hardly simple. It's not even a proper transformer. |
| 15:59:41 | ← | trafaret1 parts (~user@178.206.114.251) ("ERC (IRC client for Emacs 26.3)") |
| 16:00:05 | × | aloiscochard[m] quits (aloiscocha@gateway/shell/matrix.org/x-oybvygklfcvredwt) (Quit: Idle for 30+ days) |
| 16:00:29 | <Uniaika> | kuribas: dangit. ReaderT then? |
| 16:00:33 | <Uniaika> | and uh |
| 16:00:43 | <Uniaika> | hmm, I realise I don't stack Transformers that much |
| 16:00:57 | <Uniaika> | okay why not a simple WriterT + ReaderT? |
| 16:01:38 | <computerbernd> | heya, can anyone help me extract the Aeson Object from field "doc" and convert to type SensorData using Data.Aeson.Lens? https://pastebin.com/KFfhFe4D |
| 16:02:52 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 16:03:20 | <kuribas> | Uniaika: instance Hoist ReaderT where hoist f (ReaderT g) = ReaderT $ f . g |
| 16:03:59 | → | HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) |
| 16:05:25 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) () |
| 16:05:49 | → | cheater1 joins (~user@unaffiliated/cheater) |
| 16:05:54 | × | ransom_ quits (~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:06:09 | <kuribas> | Uniaika: instance Hoist (WriterT w) where hoist f (WriterT m) = WriterT $ f m |
| 16:06:12 | <Uniaika> | kuribas: this awfully looks like Functor ((->) r), right? |
| 16:06:58 | <kuribas> | yeah |
| 16:08:00 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 272 seconds) |
| 16:08:04 | cheater1 | is now known as cheater |
| 16:09:30 | <kuribas> | so hoist is basically fmap . unwrap? |
| 16:10:15 | → | paintcan joins (~user@cpe-69-206-241-99.nyc.res.rr.com) |
| 16:10:20 | <kuribas> | well wrap . fmap . unwrap? |
| 16:10:26 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) |
| 16:10:48 | <kuribas> | shame these aren't provided by default |
| 16:11:34 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) |
| 16:12:31 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 16:12:41 | → | son0p joins (~son0p@181.136.122.143) |
| 16:12:53 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 16:13:13 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 246 seconds) |
| 16:14:29 | hackage | incremental-parser 0.5.0.1 - Generic parser library capable of providing partial results from partial input. https://hackage.haskell.org/package/incremental-parser-0.5.0.1 (MarioBlazevic) |
| 16:15:04 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 268 seconds) |
| 16:19:19 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-138.cust.tzulo.com) |
| 16:20:23 | × | _noblegas quits (uid91066@gateway/web/irccloud.com/x-aqakevzlgrrqrlmm) (Quit: Connection closed for inactivity) |
| 16:24:33 | santadaemon | is now known as shadowdaemon |
| 16:26:06 | → | otulp joins (~otulp@ti0187q162-6038.bb.online.no) |
| 16:26:42 | <nf> | if i have a top-level m :: Nat , can i somehow use it like cyclicGroup @Integer @m ? (https://hackage.haskell.org/package/arithmoi-0.11.0.1/docs/Math-NumberTheory-Moduli-Singleton.html#v:cyclicGroup) |
| 16:26:50 | <nf> | er, Natural |
| 16:28:39 | → | hexfive joins (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) |
| 16:30:27 | → | kayprish joins (~kayprish@cable-188-2-151-212.dynamic.sbb.rs) |
| 16:30:48 | × | son0p quits (~son0p@181.136.122.143) (Quit: leaving) |
| 16:32:19 | → | jamm joins (~jamm@unaffiliated/jamm) |
| 16:33:09 | × | hiroaki quits (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 16:34:17 | × | bitmagie quits (~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de) (Quit: bitmagie) |
| 16:35:55 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 16:38:13 | → | bitmagie joins (~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de) |
| 16:39:36 | × | bitmagie quits (~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de) (Client Quit) |
| 16:39:44 | × | coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 16:39:47 | → | hekkaidekapus{ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 16:41:19 | × | kayprish quits (~kayprish@cable-188-2-151-212.dynamic.sbb.rs) (Quit: Leaving) |
| 16:42:03 | × | hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 16:44:11 | × | jamm quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 16:44:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:44:28 | → | Franciman joins (~francesco@host-82-49-79-73.retail.telecomitalia.it) |
| 16:46:34 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 16:47:02 | × | nbloomf quits (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:47:10 | <computerbernd> | hi, i got this monster to parse some aeson Value, how do i get to a Data.Aeson.Lens one liner? https://pastebin.com/gk8wirBn |
| 16:47:54 | <xerox_> | nf: doesn't glguy's do that |
| 16:48:19 | <nf> | he uses a type Modulus :: Nat directly |
| 16:49:34 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
| 16:49:52 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Remote host closed the connection) |
| 16:49:56 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 16:49:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 16:50:04 | → | hiroaki joins (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) |
| 16:50:15 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) |
| 16:50:19 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 272 seconds) |
| 16:51:32 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 16:52:37 | <glguy> | nf, you'll need to get it into a Some-variant |
| 16:52:48 | <glguy> | And then do the algorithm in a case statement |
| 16:52:53 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 16:52:58 | <nf> | but then can i use discreteLogarithm? |
| 16:53:52 | <glguy> | Yeah |
| 16:53:56 | <glguy> | https://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-TypeNats.html#t:SomeNat |
| 16:54:50 | <nf> | but cyclicGroup :: forall a m. (Integral a, UniqueFactorisation a, KnownNat m) => Maybe (CyclicGroup a m) |
| 16:55:03 | <nf> | how do i get a KnownNat there |
| 16:56:56 | <glguy> | Case on the SomeNat |
| 16:57:29 | <nf> | oooh right, it has a KnownNat inside |
| 16:57:53 | <nf> | type-level stuff in haskell is so confusing *_* |
| 16:59:46 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:03:13 | <monochrom> | This is why I avoid non-trivial type-level techniques. |
| 17:03:40 | <monochrom> | encodings and emulations die die die. |
| 17:03:46 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 17:03:51 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 17:03:57 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 17:03:57 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 17:04:08 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 17:07:20 | → | jamm joins (~jamm@unaffiliated/jamm) |
| 17:08:42 | × | xff0x_ quits (~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124) (Quit: xff0x_) |
| 17:08:49 | → | xff0x joins (~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124) |
| 17:09:05 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
| 17:11:08 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) |
| 17:11:29 | → | electricityZZZZ joins (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) |
| 17:14:59 | → | xcmw joins (~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e) |
| 17:16:02 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 260 seconds) |
| 17:16:15 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:16:56 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Remote host closed the connection) |
| 17:17:17 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 17:23:40 | → | ADG1089__ joins (~aditya@27.58.161.118) |
| 17:24:08 | × | knupfer quits (~Thunderbi@200116b8248ff600885567758ef1158c.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 17:24:43 | → | knupfer joins (~Thunderbi@200116b8248ff6009cce3efffe09a09b.dip.versatel-1u1.de) |
| 17:24:43 | × | knupfer quits (~Thunderbi@200116b8248ff6009cce3efffe09a09b.dip.versatel-1u1.de) (Client Quit) |
| 17:24:50 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Remote host closed the connection) |
| 17:24:59 | → | knupfer joins (~Thunderbi@mue-88-130-61-228.dsl.tropolys.de) |
| 17:25:13 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 17:28:03 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 17:28:41 | → | Fischmiep joins (~Fischmiep@149.224.226.211) |
| 17:28:44 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 258 seconds) |
| 17:29:10 | <kuribas> | Uniaika: considering how easy they are to write, they should have been standard, like MonadTrans... |
| 17:29:33 | <Uniaika> | kuribas: awaiting your MR on GHC :) |
| 17:29:34 | <Uniaika> | :3 |
| 17:29:49 | <Uniaika> | (joking, I think this would warrant a libraries proposal first) |
| 17:30:22 | <nf> | so... this works https://github.com/ncfavier/aoc/blob/master/src/2020/Day25.hs#L14 |
| 17:30:33 | <nf> | but if i remove @Integer i get "Could not deduce (Integral a0) arising from a use of ‘isPrimitiveRoot’" |
| 17:30:52 | <nf> | seems like i'm doing exactly the same thing as glguy though o_O |
| 17:31:02 | <nf> | maybe some language extension |
| 17:31:42 | <computerbernd> | what does it mean that 'join (parseMaybe A.parseJSON <$> (r ^? nth 0 ^? key "doc"))' results in "No instance for (AsValue (Maybe Value)) arising from a use of ‘key’"? |
| 17:33:32 | <nf> | oh god, it's the monomorphism restriction |
| 17:34:36 | <nf> | ok i have no idea what's happening |
| 17:35:22 | <kuribas> | Uniaika: I don't mean just base, also monad transformers in libraries. |
| 17:35:39 | <kuribas> | Uniaika: but if it's in base, then libraries are more likely to implement them :) |
| 17:36:13 | <Uniaika> | kuribas: awaiting your email to libraries@ then :3 |
| 17:36:24 | <kuribas> | where is that? |
| 17:36:54 | <Uniaika> | https://mail.haskell.org/mailman/listinfo/libraries kuribas |
| 17:37:00 | <kuribas> | ok, thanks |
| 17:39:32 | × | theelous3 quits (~theelous3@unaffiliated/theelous3) (Read error: Connection reset by peer) |
| 17:39:41 | <kuribas> | Ah, I see some other nice discussions, like sum and product :) |
| 17:40:56 | × | xcmw quits (~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:41:06 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 17:41:33 | <Uniaika> | kuribas: always happy to bring the good stuff in base! o7 |
| 17:41:59 | <kuribas> | it's about time... |
| 17:42:15 | <alexfmpe> | looking for a binary serialization library that lets me align values via padding on multi-word boundaries (e.g. left-pad to 4 bytes, right-pad to 8 bytes) |
| 17:42:15 | <alexfmpe> | binary and cereal have a `bytesRead :: Get Int64` but no `bytesWritten` equivalent, so it looks like I need to resort to `runPut` to look at the current size to compute padding size |
| 17:43:30 | <dsal> | computerbernd: do you have an example input you're trying to take apart? |
| 17:43:52 | <dsal> | That second ^? should probably be . |
| 17:44:38 | <dsal> | But it's weird that you're trying to parse json out of json |
| 17:46:09 | <glguy> | nf: I'll take a look, I don't know what's different. Separate issue: no.cabal project?? |
| 17:46:46 | × | jamm quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 17:47:44 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:50:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 17:51:44 | × | texasmyn_ quits (~texasmyns@ip-148-72-133-198.ip.secureserver.net) (Ping timeout: 256 seconds) |
| 17:51:45 | → | yammy3 joins (43ab1202@c-67-171-18-2.hsd1.wa.comcast.net) |
| 17:52:25 | × | texasmynsted quits (~texasmyns@99.96.221.112) (Ping timeout: 264 seconds) |
| 17:55:50 | <pie_> | does anyone know if the (?) hslua author (?) is on irc https://github.com/tarleb |
| 17:56:35 | <Uniaika> | kuribas: sometimes we need to be the change we want to see in the world |
| 18:00:28 | <glguy> | nf, Did you *disable* the monomorphism restriction? |
| 18:09:16 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 18:09:33 | → | ransom_ joins (~c4264035@8.47.12.52) |
| 18:09:34 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 18:11:00 | hackage | atom-conduit 0.9.0.1 - Streaming parser/renderer for the Atom 1.0 standard (RFC 4287). https://hackage.haskell.org/package/atom-conduit-0.9.0.1 (koral) |
| 18:11:34 | × | kam1 quits (~kam1@24.231.108.143) (Ping timeout: 256 seconds) |
| 18:11:51 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) |
| 18:12:37 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 18:12:59 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 18:16:19 | → | kam1 joins (~kam1@24.231.108.143) |
| 18:16:23 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 260 seconds) |
| 18:18:13 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
| 18:19:40 | × | computerbernd quits (5cdabf52@ipservice-092-218-191-082.092.218.pools.vodafone-ip.de) (Ping timeout: 245 seconds) |
| 18:22:10 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:23:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:25:07 | fendor_ | is now known as fendor |
| 18:25:53 | <glguy> | nf, you've convinced me to make the solver a bit more general: https://github.com/glguy/advent2020/blob/master/execs/Day25.hs |
| 18:26:20 | × | rando25892 quits (~rando2589@unaffiliated/mixfix41) (Read error: Connection reset by peer) |
| 18:26:28 | <nf> | i don't like the monomorphism restriction |
| 18:28:50 | <int-e> | . o O ( pari/gp: p = 20201227; d = <door>; k = <key>; g = Mod(7,p); Mod(d,p)^znlog(Mod(k,p),g) ) |
| 18:28:59 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 18:29:23 | <glguy> | nf, probably better to just learn it than introduce inefficiency avoiding it though |
| 18:29:48 | <nf> | i'd rather learn not to introduce inefficiency with it! |
| 18:30:12 | × | ransom_ quits (~c4264035@8.47.12.52) (Read error: Connection reset by peer) |
| 18:30:19 | <glguy> | that's significantly more work |
| 18:30:28 | <nf> | maybe |
| 18:30:34 | <glguy> | and error prone |
| 18:31:57 | → | knupfer1 joins (~Thunderbi@200116b8248ff60059cda9566e02c619.dip.versatel-1u1.de) |
| 18:31:57 | × | knupfer quits (~Thunderbi@mue-88-130-61-228.dsl.tropolys.de) (Read error: Connection reset by peer) |
| 18:31:57 | knupfer1 | is now known as knupfer |
| 18:32:30 | hackage | safe-json 1.1.1.1 - Automatic JSON format versioning https://hackage.haskell.org/package/safe-json-1.1.1.1 (nideco) |
| 18:32:40 | → | ransom_ joins (~c4264035@2a09:bac0:72::82f:c34) |
| 18:34:17 | → | cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
| 18:34:23 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
| 18:39:53 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 18:40:34 | × | ransom_ quits (~c4264035@2a09:bac0:72::82f:c34) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:42:55 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 18:43:56 | × | orion quits (~orion@unaffiliated/orion) (Ping timeout: 240 seconds) |
| 18:44:38 | → | nbloomf joins (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) |
| 18:45:10 | × | iekfkk quits (~username@117.200.6.46) (Read error: Connection reset by peer) |
| 18:45:45 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds) |
| 18:45:49 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:45:56 | → | iekfkk joins (~username@117.200.9.174) |
| 18:46:31 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 18:48:10 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 18:49:20 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-lfotxvknswkvlalm) |
| 18:52:02 | → | MOSCOS joins (~MOSCOS@152.32.70.55) |
| 18:53:58 | → | texasmynsted joins (~texasmyns@138.199.52.75) |
| 18:54:01 | → | solonarv joins (~solonarv@astrasbourg-653-1-157-135.w90-6.abo.wanadoo.fr) |
| 18:54:45 | → | orion joins (~orion@unaffiliated/orion) |
| 18:55:03 | × | Mikagami quits (~MOSCOS@122.54.107.175) (Ping timeout: 256 seconds) |
| 18:55:25 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 18:55:30 | → | Mikagami joins (~MOSCOS@122.54.107.175) |
| 18:57:28 | × | MOSCOS quits (~MOSCOS@152.32.70.55) (Ping timeout: 265 seconds) |
| 18:58:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:59:09 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) |
| 19:02:16 | × | texasmynsted quits (~texasmyns@138.199.52.75) (Ping timeout: 240 seconds) |
| 19:03:03 | <gentauro> | how to `mapM` (more like `mapConcurrently`) over the following type: `Either String [Guid]`? |
| 19:03:31 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 19:03:42 | <gentauro> | if I use `<$>` (`fmap`) it will unwrap the `Either` type right? |
| 19:04:22 | <Rembane> | fmap will unwrap the Right-part of the Either. |
| 19:04:32 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 19:04:47 | <Rembane> | Or rather, it will let you apply a function to the Right-part of Either. |
| 19:05:10 | <gentauro> | Rembane: which in this case is `mapM / mapConcurrently`? |
| 19:06:19 | <Rembane> | gentauro: It's the Right-part too, if that's what you're asking. :) |
| 19:07:28 | <gentauro> | hmmm |
| 19:07:53 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Remote host closed the connection) |
| 19:08:10 | → | coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
| 19:08:47 | <gentauro> | The following extract the unique identified from the `parsed` entities: `fmap getGuid <$> parseEntities entities` |
| 19:09:03 | <gentauro> | which are of the type `Either String [Bytes]` |
| 19:09:28 | <gentauro> | so the `<$>` unwraps the Either type and the other `fmap` applys the function over the list of entities |
| 19:09:39 | <gentauro> | so I need to use both `fmap` and `<$>` |
| 19:09:42 | <dsal> | :t fmap . mapM |
| 19:09:44 | <lambdabot> | (Traversable t, Monad m, Functor f) => (a -> m b) -> f (t a) -> f (m (t b)) |
| 19:10:19 | <dsal> | :t mapM . fmap |
| 19:10:21 | <lambdabot> | (Traversable t, Monad m) => (a -> b) -> t (m a) -> m (t b) |
| 19:11:59 | hackage | chessIO 0.6.0.0 - Basic chess library https://hackage.haskell.org/package/chessIO-0.6.0.0 (mlang) |
| 19:12:32 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-icexdirphumbtiyv) (Quit: Connection closed for inactivity) |
| 19:12:39 | <gentauro> | `lsp` is really worse tha `intero`. Gosh I miss `intero` :( |
| 19:13:18 | <dsal> | > (fmap . mapM) (const [5]) $ Right [1,2,3] |
| 19:13:20 | <lambdabot> | Right [[5,5,5]] |
| 19:13:22 | <dminuoso> | nf: The MMR trades the rare type error (fixable by adding a type signature) for very hard to track down lack-of-sharing bugs that are, even to experienced Haskellers, hard to spot. |
| 19:14:03 | <gentauro> | is it normal if the project doesn't build that `lsp` "just give up?". |
| 19:14:39 | <dminuoso> | We recently had this example where we tried to figure out why a particular code path wouldn't share, with I think 5 experienced Haskellers in here not figuring out for nearly 30 minutes. The MMR is good and must stay. :) |
| 19:16:18 | <gentauro> | dminuoso: `MMR`? are you talking `dota2` now? |
| 19:16:23 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
| 19:16:31 | <gentauro> | oh, it's related to nf |
| 19:17:52 | × | yammy3 quits (43ab1202@c-67-171-18-2.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 19:19:17 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 19:21:12 | <gentauro> | 19:32 * hackage safe-json 1.1.1.1 - Automatic JSON format versioning https://hackage.haskell.org/package/safe-json-1.1.1.1 (nideco) |
| 19:21:19 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) |
| 19:21:28 | <gentauro> | `Safe Haskell: None` (oh gosh) |
| 19:21:29 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Read error: Connection reset by peer) |
| 19:21:35 | → | Vulfe_ joins (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) |
| 19:22:00 | hackage | imm 2.1.0.0 - Execute arbitrary actions for each item from RSS/Atom feeds https://hackage.haskell.org/package/imm-2.1.0.0 (koral) |
| 19:22:18 | <gentauro> | it reminds me of people when they try to misguide users with statements like: "Oh so you code in Haskell that is `pure`? Well this JS lib is in `pure` JS" |
| 19:22:24 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 19:22:24 | <gentauro> | what the heck is `pure` JS? |
| 19:23:57 | <Rembane> | pure JS is JAvascript that doesn't use jQuery |
| 19:24:22 | <Rembane> | ...or any other library |
| 19:24:30 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Remote host closed the connection) |
| 19:24:46 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 19:29:12 | × | ulidtko quits (~ulidtko@194.54.80.38) (Ping timeout: 256 seconds) |
| 19:30:54 | × | nbloomf quits (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:31:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 19:35:43 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
| 19:37:38 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 272 seconds) |
| 19:38:18 | → | nbloomf joins (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) |
| 19:40:16 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 19:42:04 | × | neiluj quits (~jco@unaffiliated/neiluj) (Ping timeout: 272 seconds) |
| 19:51:42 | → | monoidcat` joins (~user@2001:984:35a2:1:5105:944b:675d:feb2) |
| 19:53:12 | × | nbloomf quits (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:55:17 | × | xff0x quits (~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124) (Ping timeout: 260 seconds) |
| 19:56:06 | ← | monoidcat` parts (~user@2001:984:35a2:1:5105:944b:675d:feb2) ("ERC (IRC client for Emacs 27.1.50)") |
| 20:00:01 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0) |
| 20:00:19 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 272 seconds) |
| 20:01:37 | → | xff0x joins (~fox@port-92-195-52-121.dynamic.as20676.net) |
| 20:06:01 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 20:07:54 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:08:12 | → | acidjnk_new joins (~acidjnk@p200300d0c704e768e5ab7a2f7255b0f1.dip0.t-ipconnect.de) |
| 20:11:07 | → | chidy joins (~chidy@95.145.57.166) |
| 20:11:19 | × | kenran quits (~kenran@mue-88-130-62-111.dsl.tropolys.de) (Quit: leaving) |
| 20:12:14 | × | chidy quits (~chidy@95.145.57.166) (Remote host closed the connection) |
| 20:12:30 | <koz_> | If I wanna draw graphs (vertices-and-edges, not charts) from Haskell, what should I use? |
| 20:12:30 | hackage | cabal2nix 2.15.6 - Convert Cabal files into Nix build instructions. https://hackage.haskell.org/package/cabal2nix-2.15.6 (PeterSimons) |
| 20:12:49 | → | cads2 joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 20:13:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 20:13:51 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0) (Remote host closed the connection) |
| 20:14:16 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0) |
| 20:14:18 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 20:16:34 | × | kam1 quits (~kam1@24.231.108.143) (Ping timeout: 260 seconds) |
| 20:16:58 | <koz_> | maerwald: I'm getting this when I try to compile GHC 8.10.3 with ghcup: https://gist.github.com/kozross/670d6aed5de76f75ea00806dcf0f6c11 |
| 20:20:28 | × | Vulfe_ quits (~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Remote host closed the connection) |
| 20:21:08 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 20:21:46 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) |
| 20:24:40 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 20:26:12 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 260 seconds) |
| 20:27:26 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
| 20:27:47 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 20:32:41 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
| 20:33:26 | → | fuzzypixelz joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 20:33:42 | × | juuandyy quits (~juuandyy@90.166.144.65) (Quit: Konversation terminated!) |
| 20:33:43 | <fuzzypixelz> | where can I learn more about monads |
| 20:34:01 | <fuzzypixelz> | in a rather "concise" way |
| 20:34:01 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Read error: Connection reset by peer) |
| 20:34:06 | × | knupfer quits (~Thunderbi@200116b8248ff60059cda9566e02c619.dip.versatel-1u1.de) (Remote host closed the connection) |
| 20:34:13 | <fuzzypixelz> | preferably not a long book chapter |
| 20:34:15 | → | knupfer joins (~Thunderbi@200116b8248ff600b8e82c0882f29b26.dip.versatel-1u1.de) |
| 20:34:23 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 20:34:41 | <fuzzypixelz> | rather an example of practical use? |
| 20:35:01 | <fuzzypixelz> | I may be asking for too much haha |
| 20:35:52 | <kuribas> | fuzzypixelz: I'd say, first try to understand how IO works. |
| 20:35:58 | <kuribas> | and Maybe |
| 20:37:07 | <kuribas> | like, what does "do x <- Just 3; y <- Just 3; pure (x + y)" do? |
| 20:37:27 | <kuribas> | or "do x <- Just 3; y <- Nothing; pure (x + y)" |
| 20:37:58 | <kuribas> | fuzzypixelz: if you got an intuition for some instances, understand the whole pattern becomes trivial. |
| 20:38:05 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
| 20:38:19 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-134-138.cust.tzulo.com) (Ping timeout: 272 seconds) |
| 20:38:51 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-bguusmbctpsytvun) |
| 20:39:46 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
| 20:40:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:40:13 | → | Tario joins (~Tario@200.119.187.28) |
| 20:40:14 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 20:41:25 | × | leothrix quits (~leothrix@elastic/staff/leothrix) (Quit: ZNC 1.7.5 - https://znc.in) |
| 20:44:02 | → | fcortesi joins (~fcortesi@78-66-245-190.fibertel.com.ar) |
| 20:44:19 | <sm[m]> | fuzzypixelz: just read code in some small projects |
| 20:44:34 | → | axeman-_ joins (~axeman_@2a02:8109:86c0:1f98:1153:e96f:d711:7cc8) |
| 20:44:41 | → | gioyik joins (~gioyik@186.112.107.251) |
| 20:45:01 | <sm[m]> | Eg cli tools |
| 20:45:23 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
| 20:46:04 | <kuribas> | fuzzypixelz: btw, thinking of a Monad as "configurable do notation" is a good start. |
| 20:46:19 | <fuzzypixelz> | sm[m]: do you any in mind? |
| 20:47:24 | <sm[m]> | no, just small ones on hackage, I think there's a category for them |
| 20:48:15 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0) (Ping timeout: 268 seconds) |
| 20:48:22 | → | nbloomf joins (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) |
| 20:48:37 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-svbzcydmccffkyhg) |
| 20:49:02 | <kuribas> | fuzzypixelz: did you try writing some IO with do notation? |
| 20:49:39 | <fuzzypixelz> | btw, in IO for example, I have a difficult time understanding why people say "writing a string to stdout is a side effect", is it just because it might fail? Can't we just say "let this function write a string to stdout and return 1 if it suceeds and 0 otherwise" |
| 20:50:07 | <fuzzypixelz> | kuribas: oh yes, mainly with readFile and putStr |
| 20:50:43 | × | knupfer quits (~Thunderbi@200116b8248ff600b8e82c0882f29b26.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 20:51:07 | <fuzzypixelz> | I understand how the bind, anonymous bind work and return work |
| 20:51:10 | <kuribas> | fuzzypixelz: the idea of a side-effect is that it's some desirable outcome, but which cannot be considered a value. |
| 20:52:44 | → | knupfer joins (~Thunderbi@200116b8248ff600c4f4ca64117d4161.dip.versatel-1u1.de) |
| 20:52:45 | <fuzzypixelz> | kuribas: can't we just agree on a value to assign to it? |
| 20:53:04 | <kuribas> | fuzzypixelz: for example a value cannot distinguish between a value which is written to my screen, or when you redirect to file. Those are clearly different. |
| 20:53:43 | <kuribas> | fuzzypixelz: the value 1 or 0 have nothing to do with writing to stdout. |
| 20:54:26 | <kuribas> | fuzzypixelz: think about this: the effect of writing to stdout can be different everytime. |
| 20:54:37 | <kuribas> | it's not just binary |
| 20:54:58 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 246 seconds) |
| 20:55:06 | × | cads2 quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds) |
| 20:55:07 | × | Tario quits (~Tario@200.119.187.28) (Read error: Connection reset by peer) |
| 20:55:33 | <fuzzypixelz> | kuribas: so how does the IO monad handle this internally? |
| 20:55:34 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection) |
| 20:55:45 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-75.cust.tzulo.com) |
| 20:55:46 | → | infinity0 joins (~infinity0@freenet/developer/infinity0) |
| 20:56:10 | → | Tario joins (~Tario@201.192.165.173) |
| 20:56:17 | <fuzzypixelz> | kuribas: when I use `putStrLn "Haskell"`, what information does the Monad I get back actually contain? |
| 20:56:33 | <kuribas> | fuzzypixelz: internally it's converted to a procedure. |
| 20:57:02 | <kuribas> | fuzzypixelz: the information you get is "write haskell to stdout". |
| 20:57:24 | <kuribas> | fuzzypixelz: think of it as a checklist. |
| 20:57:45 | <kuribas> | whatever you do with the checklist is handled somewhere else. |
| 20:58:00 | <kuribas> | you could throw the checklist in the bin, or go over it twice, ... |
| 20:58:15 | <kuribas> | or make 5000 copies of it. |
| 20:58:23 | <kuribas> | however the checklist itself does nothing. |
| 20:58:31 | <kuribas> | that's where main comes in |
| 20:58:47 | <kuribas> | main takes the checklist, and performs all actions in it. |
| 20:59:10 | <kuribas> | so, an IO action does nothing |
| 20:59:44 | <kuribas> | it's actually main (or the ghci repl), which does the action. |
| 20:59:56 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-134-75.cust.tzulo.com) (Ping timeout: 240 seconds) |
| 21:00:13 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 264 seconds) |
| 21:00:19 | <fuzzypixelz> | kuribas: Aha! I wasn't thinking of it that way! I thought it the monad did the action and returned something about wether it was succesfull or not |
| 21:00:57 | <fuzzypixelz> | kuribas: so how does main behave if some action in our checklist fails |
| 21:01:24 | <fuzzypixelz> | does it just throw an excetion? |
| 21:01:24 | <kuribas> | you mean an exception? |
| 21:01:42 | <kuribas> | depends on the definition of "fails" |
| 21:01:54 | <kuribas> | > error "foo" |
| 21:01:56 | <lambdabot> | *Exception: foo |
| 21:01:59 | <fuzzypixelz> | For example I tried to write to /etc/file |
| 21:02:31 | <kuribas> | that will throw an exception |
| 21:03:10 | <fuzzypixelz> | does the monad itself "return" an exception? |
| 21:03:27 | <fuzzypixelz> | no wait that doesn't make sense |
| 21:04:22 | → | kam1 joins (~kam1@24.231.108.143) |
| 21:05:14 | <fuzzypixelz> | I still don't see why we need it to be a monad, is the IO monad anything more than a procedure? |
| 21:05:40 | → | ransom_ joins (~c4264035@2a09:bac0:72::82f:c34) |
| 21:06:38 | → | cads2 joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 21:06:41 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 21:06:58 | <fuzzypixelz> | we certainly need bind and return so that we can work with functions returning monads, but it there anything else to it? |
| 21:07:03 | × | avdb quits (~avdb@gateway/tor-sasl/avdb) (Ping timeout: 240 seconds) |
| 21:07:31 | <kuribas> | fuzzypixelz: no, main does |
| 21:07:58 | <kuribas> | fuzzypixelz: essentially it's just a procedure |
| 21:08:31 | <kuribas> | fuzzypixelz: the main reason for having monads in haskell, is so you know which action comes first and which next. |
| 21:08:43 | <kuribas> | pure functions are lazy, so they can be executed in any order. |
| 21:09:01 | <kuribas> | monads ensure the action are executed in the order you want. |
| 21:09:11 | × | fcortesi quits (~fcortesi@78-66-245-190.fibertel.com.ar) (Quit: Lost terminal) |
| 21:09:14 | <kuribas> | And they have actually many other nice properties. |
| 21:09:39 | × | axeman-_ quits (~axeman_@2a02:8109:86c0:1f98:1153:e96f:d711:7cc8) (Remote host closed the connection) |
| 21:09:40 | <fuzzypixelz> | kuribas: I thought the point was for functions to not have side effects |
| 21:10:18 | <kuribas> | the don't have side-effects. |
| 21:10:48 | <solonarv> | *side* effects are called that because they happen "on the side" and aren't called out explicitly |
| 21:11:10 | <kuribas> | so the only way to "observe" what a function does, is by using IO. |
| 21:11:54 | <solonarv> | also, the point is for *evaluating* things to not have side effects; that's still true for, say 'putStrLn "Haskell"', because evaluating that only means "figure out what all the items on the checklist say" |
| 21:12:05 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-62.cust.tzulo.com) |
| 21:12:44 | <kuribas> | right, evaluating a pure function that returns an action, will not actually perform the action. |
| 21:12:53 | <fuzzypixelz> | solonarv: what would be an example of a side effect for putStrLn |
| 21:13:00 | <kuribas> | hence will not perform side-effects. |
| 21:13:19 | × | nbloomf quits (~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:13:42 | <exarkun> | is `IO [a] -> [IO a]` possible with a big tangled mess? |
| 21:13:47 | <fuzzypixelz> | if performing the action is a side effect, then the main function is not pure is it?? |
| 21:14:08 | <exarkun> | fuzzypixelz: But there is separation between the two |
| 21:14:21 | <exarkun> | fuzzypixelz: The main function is a pure function that *makes* the action |
| 21:14:35 | <exarkun> | fuzzypixelz: It does not perform the action |
| 21:14:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 21:14:47 | <kuribas> | fuzzypixelz: anything that alters the state of the computer or the outside world is considered a side-effect. The only side-effect that *evaluating* a pure function does, is increasin CPU load, and slighly heating up the transistors. |
| 21:15:23 | <fuzzypixelz> | well, at which point in my program is the action perfomed |
| 21:15:35 | <exarkun> | After main returns it to the runtime |
| 21:15:45 | <exarkun> | or when you explicitly call `unsafePerformIO` :) |
| 21:17:10 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 21:17:10 | <fuzzypixelz> | so the Haskell program really is absolutely pure and will only do what I typed into it |
| 21:19:08 | <fuzzypixelz> | or rather, the Haskell program always returns the exact same set of instructions to the run-time and then that is executed |
| 21:19:31 | <fuzzypixelz> | assuming we give it the exact same input |
| 21:19:32 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 21:19:47 | × | ransom_ quits (~c4264035@2a09:bac0:72::82f:c34) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:19:47 | <fuzzypixelz> | right? |
| 21:20:04 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
| 21:20:35 | <kuribas> | if by Haskll program you mean a pure function, then yes. |
| 21:20:37 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 21:20:44 | <kuribas> | however main is considered part of a haskell program. |
| 21:21:21 | <fuzzypixelz> | kuribas: main is not a pure function? doesn't it just return a IO () ? |
| 21:21:28 | <kuribas> | main isn't a function |
| 21:22:05 | <exarkun> | Sorry, I said "main returns" above which was imprecise and incorrect. |
| 21:22:08 | <fuzzypixelz> | I mean it has type signature `main :: IO ()` |
| 21:22:33 | <kuribas> | the haskell runtime looks at the main IO action, and starts executing it. |
| 21:22:38 | <exarkun> | fuzzypixelz: Right. It _is_ the IO action. |
| 21:23:20 | <kuribas> | when it sees pure funtions it evaluates those (lazily, as needed), and if it finds other IO actions it performs them in order. |
| 21:24:33 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 21:25:17 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) |
| 21:26:24 | <fuzzypixelz> | kuribas: normaly the only IO actions are described in main right? |
| 21:26:31 | <kuribas> | yes |
| 21:27:07 | <kuribas> | you can *call* other actions from main though |
| 21:27:12 | <dsal> | I'm not sure IO is the easiest monad to understand, but it's important to understand different ones. |
| 21:27:43 | <kuribas> | I think the hard thing is to understand IO, not monads... |
| 21:27:59 | <dsal> | Yeah. IO is complicated for a variety of reasons. |
| 21:28:06 | <dsal> | Maybe is an easy Monad. |
| 21:28:15 | <fuzzypixelz> | kuribas: like I could make a funcion return an IO monad to print a string and then call that in main? |
| 21:28:19 | → | benjamingr__ joins (uid23465@gateway/web/irccloud.com/x-ijdfrtykxmezfdmc) |
| 21:29:02 | <dsal> | % let f :: IO String; f = pure "hi" in putStrLn =<< f |
| 21:29:02 | <yahb> | dsal: hi |
| 21:29:14 | <kuribas> | fuzzypixelz: of course |
| 21:29:42 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 21:29:45 | <fuzzypixelz> | dsal: I see how maybe is useful. The Safe division problem convinced me, Maybe allows us to propagate any divisions by zero while evaluating an arbitrary expression |
| 21:30:18 | × | ADG1089__ quits (~aditya@27.58.161.118) (Remote host closed the connection) |
| 21:30:26 | <dsal> | Yeah, but I mean understanding the Monad instance, not just Maybe values. |
| 21:31:43 | <fuzzypixelz> | dsal: by monad instance you mean Maybe + bind + return? |
| 21:32:41 | <dsal> | To be "A monad" a type must have an instance of the Monad class. Maybe does. |
| 21:33:39 | <fuzzypixelz> | dsal: what's an example use case of Maybe as a strict Monad? |
| 21:34:26 | <dsal> | I'm not good at coming up with examples. heh |
| 21:34:28 | <dsal> | > let mx = Just 2; mo = Just (*); my = Just 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) } |
| 21:34:30 | <lambdabot> | Just 6 |
| 21:34:36 | <dsal> | > let mx = Just 2; mo = Nothing; my = Just 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) } |
| 21:34:38 | <lambdabot> | Nothing |
| 21:34:56 | → | axeman- joins (~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) |
| 21:35:37 | × | axeman- quits (~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 21:35:48 | <dsal> | But in general, if you have Maybe values, you can work with them like they're not Maybe values. |
| 21:36:09 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) |
| 21:36:42 | <dsal> | > let mx = Right 2; mo = Right (*); my = Right 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) } |
| 21:36:44 | <lambdabot> | Right 6 |
| 21:36:49 | <dsal> | > let mx = Right 2; mo = Left "oh no"; my = Right 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) } |
| 21:36:52 | <lambdabot> | Left "oh no" |
| 21:37:49 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 21:38:07 | → | ransom_ joins (~c4264035@8.47.12.52) |
| 21:38:12 | <dsal> | (notice that do block didn't change. Same thing for IO or any other monad) |
| 21:40:10 | <dsal> | Maybe is the easiest thing to understand here. Basically bind will pass the Just value forward as a parameter to the next function, or in the case of Nothing, won't call any of the remaining code, and just return the Nothing value. |
| 21:40:26 | <dsal> | @undo do { x <- mx; o <- mo; y <- my; pure (x * y) } |
| 21:40:26 | <lambdabot> | mx >>= \ x -> mo >>= \ o -> my >>= \ y -> pure (x * y) |
| 21:40:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:40:49 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 21:41:08 | <fuzzypixelz> | dsal: I see what mean |
| 21:41:21 | <fuzzypixelz> | *you mean |
| 21:41:31 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Remote host closed the connection) |
| 21:41:48 | <dsal> | (Just x) >>= k = k x |
| 21:41:48 | <dsal> | Nothing >>= _ = Nothing |
| 21:42:04 | <dsal> | (I just plucked that out of the source) |
| 21:42:30 | <fuzzypixelz> | source code for Maybe? |
| 21:43:22 | <dsal> | Maybe's Monad instance in particular. |
| 21:44:07 | <dsal> | IO would be a little harder to reason about, but it's conceptually similar. You just end up having to learn about stuff like MonadFail and other messes. |
| 21:44:13 | × | hiroaki quits (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
| 21:46:31 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 21:48:00 | <dsal> | Hmm... I don't actually know how to find a case where I've used the Maybe monad because I did it implicitly. |
| 21:48:12 | → | bisickcor joins (~username@117.200.1.158) |
| 21:49:16 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) |
| 21:49:34 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 246 seconds) |
| 21:49:54 | <dsal> | Heh. Looking through some of my code, I'm not even sure what monad I'm in just because it doesn't really matter. |
| 21:50:01 | → | Guess59061 joins (4e01b525@unaffiliated/guess59061) |
| 21:50:02 | × | cads2 quits (~cads@ip-64-72-99-232.lasvegas.net) (Remote host closed the connection) |
| 21:50:16 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 21:50:23 | → | cads2 joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 21:50:26 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 21:50:37 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 21:50:45 | × | iekfkk quits (~username@117.200.9.174) (Ping timeout: 240 seconds) |
| 21:51:07 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Remote host closed the connection) |
| 21:51:34 | <fuzzypixelz> | dsal, kuribas, exarkun: thank you all! |
| 21:51:44 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) |
| 21:52:23 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:52:28 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 258 seconds) |
| 21:53:36 | <dsal> | I don't know that I *would* write this this way, but you also get stuff like guard: |
| 21:53:37 | <dsal> | > let safeDiv mn md = do { n <- mn; d <- md; guard (d /= 0); pure (n `div` d) } in Just 30 `safeDiv` Just 3 `safeDiv` Just 5 |
| 21:53:40 | <lambdabot> | Just 2 |
| 21:53:41 | <dsal> | > let safeDiv mn md = do { n <- mn; d <- md; guard (d /= 0); pure (n `div` d) } in Just 30 `safeDiv` Just 0 `safeDiv` Just 5 |
| 21:53:43 | <lambdabot> | Nothing |
| 21:55:01 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
| 21:55:27 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 260 seconds) |
| 21:55:46 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 21:55:48 | → | axeman-_ joins (~axeman_@2a09:bac0:48::82b:7a05) |
| 21:57:24 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-134-62.cust.tzulo.com) (Quit: Leaving) |
| 21:57:36 | <dsal> | fuzzypixelz: Oh, I found one of the cases! https://github.com/dustin/gopro/blob/master/src/GoPro/Commands/Backup.hs#L109-L114 |
| 21:57:38 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
| 21:57:39 | <ddellacosta> | so I'm reading this code that uses ContT heavily, and I think I get it, but I have a question: it's really just a syntactic convenience here, right? Otherwise we'd have to deal with piles and piles of indented withX blocks...? |
| 21:57:46 | <ddellacosta> | https://hackage.haskell.org/package/alsa-seq-0.6.0.7/src/examples/beat.hs |
| 21:57:53 | → | hiroaki joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
| 21:58:00 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 21:58:08 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 21:58:22 | <dsal> | Here, I've got a JSON value and I'm extracting a bunch of values with lens to combine into something. If any of my lookups fail, then I don't have the thing I think, so I return Nothinig. |
| 21:58:36 | <Guess59061> | Why does `lucky 7 = "whatever"` need to have a member of the Eq typeclass as its parameter? Is it because whatever parameter is supplied, it'll internally be checked whether it's equal to 7? |
| 21:59:10 | → | aarvar joins (~foewfoiew@2601:602:a080:fa0:ac47:8893:80c1:4f6c) |
| 21:59:13 | <dsal> | Guess59061: I'm not sure what you're asking. It doesn't quite make sense. |
| 21:59:23 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Ping timeout: 272 seconds) |
| 21:59:29 | <dsal> | > let lucky 7 = "whatever" in lucky 7 |
| 21:59:31 | <lambdabot> | "whatever" |
| 21:59:55 | <merijn> | Guess59061: Well, how else would you compare 7 to anything? |
| 22:00:04 | <merijn> | Guess59061: Keep in mind 7 is polymorphic |
| 22:00:13 | <merijn> | dsal: That'll infer as (Num a, Eq a) |
| 22:00:18 | <Guess59061> | merijn There's some kind of internal "if" I suppose then. |
| 22:00:24 | <merijn> | Guess59061: Yes |
| 22:00:30 | × | natechan quits (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9) |
| 22:00:43 | <merijn> | :t \7 -> () |
| 22:00:44 | <lambdabot> | (Eq a, Num a) => a -> () |
| 22:00:46 | <dsal> | merijn: Sure, but I think there's information missing. |
| 22:01:04 | <merijn> | Guess59061: The question was "why is Eq there?" |
| 22:01:08 | <merijn> | eh |
| 22:01:16 | <merijn> | s/Guess59061/dsal |
| 22:01:27 | → | nbloomf joins (~nbloomf@2601:285:401:7490:80b2:6d6b:6d09:280) |
| 22:01:56 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) |
| 22:02:38 | <dsal> | :t let lucky 7 = "whatever" in lucky -- you mean this Eq? |
| 22:02:39 | <lambdabot> | (Eq a, Num a) => a -> [Char] |
| 22:03:54 | <dsal> | OK, I didn't parse the question that way. |
| 22:04:32 | × | nbloomf quits (~nbloomf@2601:285:401:7490:80b2:6d6b:6d09:280) (Client Quit) |
| 22:05:14 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 22:05:20 | × | axeman-_ quits (~axeman_@2a09:bac0:48::82b:7a05) (Ping timeout: 268 seconds) |
| 22:05:36 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 22:06:55 | → | natechan joins (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 22:07:06 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 22:09:37 | → | sgibber2018 joins (~arch-gibb@208.85.237.137) |
| 22:09:38 | × | cads2 quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 272 seconds) |
| 22:09:39 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 268 seconds) |
| 22:13:02 | × | Franciman quits (~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving) |
| 22:15:39 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 22:16:06 | <fuzzypixelz> | what is an example of a monad where `return` is not `pure`? |
| 22:16:17 | <glguy> | there isn't one |
| 22:16:18 | <merijn> | none |
| 22:17:03 | <glguy> | So why does Monad have a return method? Because it predates the existence of Applicative |
| 22:18:15 | <fuzzypixelz> | :) |
| 22:18:25 | <fuzzypixelz> | glguy: beat me to it |
| 22:18:28 | <merijn> | By almost a decade, even |
| 22:18:38 | → | recursionIsGreat joins (4f81c10c@athedsl-4444444.home.otenet.gr) |
| 22:18:53 | <merijn> | And then another decade or something where Applicative existed, but wasn't a superclass of Monad |
| 22:18:56 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 22:19:13 | <recursionIsGreat> | https://www.reddit.com/r/haskell/comments/kk6ulv/need_some_help_with_backtracking_in_haskell/ any help would be appreciated |
| 22:19:18 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 22:19:51 | <fuzzypixelz> | merijn: glad to hear these abstractions weren't just dreamt out in a few months |
| 22:19:55 | <glguy> | recursionIsGreat, you'll have to re-ask here |
| 22:20:12 | <fuzzypixelz> | recursionIsGreat: your post is removed |
| 22:20:52 | × | recursionIsGreat quits (4f81c10c@athedsl-4444444.home.otenet.gr) (Remote host closed the connection) |
| 22:21:10 | × | Varis quits (~Tadas@unaffiliated/varis) (Quit: Leaving) |
| 22:21:18 | <merijn> | fuzzypixelz: The first version of Haskell didn't even have a monadic interface for IO (or even an IO type) :p |
| 22:22:08 | → | cads2 joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 22:22:09 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 22:22:11 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 22:22:28 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Remote host closed the connection) |
| 22:22:47 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 22:23:54 | × | benjamingr__ quits (uid23465@gateway/web/irccloud.com/x-ijdfrtykxmezfdmc) (Ping timeout: 258 seconds) |
| 22:23:56 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 22:24:02 | × | davetapley quits (sid666@gateway/web/irccloud.com/x-awwgmkyqubhslzoc) (Ping timeout: 260 seconds) |
| 22:24:02 | <fuzzypixelz> | merijn: it was because functions are lazily evaluated and they couldn't have side effects? That's why monads were introduced, yes? |
| 22:24:18 | × | ReinH__ quits (sid179972@gateway/web/irccloud.com/x-zzaluaokazkinfvl) (Ping timeout: 260 seconds) |
| 22:24:20 | × | Guest78853 quits (~botro@178.239.168.171) (Remote host closed the connection) |
| 22:24:26 | <merijn> | fuzzypixelz: Well, not really. That was already the case from the beginning |
| 22:24:27 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection) |
| 22:24:32 | × | eruditass quits (uid248673@gateway/web/irccloud.com/x-xcgqqniunfnuqsoi) (Read error: Connection reset by peer) |
| 22:24:37 | × | natim87 quits (sid286962@gateway/web/irccloud.com/x-vorfpnwdjimlpxrz) (Ping timeout: 260 seconds) |
| 22:24:37 | × | AndreasK quits (uid320732@gateway/web/irccloud.com/x-uktqzadfuhxfqwmf) (Ping timeout: 260 seconds) |
| 22:24:53 | × | joshmeredith quits (sid387798@gateway/web/irccloud.com/x-zkhaozfesfkitweq) (Ping timeout: 260 seconds) |
| 22:24:53 | × | totbwf quits (sid402332@gateway/web/irccloud.com/x-lstwvrpzhbbezavu) (Ping timeout: 260 seconds) |
| 22:25:00 | <merijn> | IO and it's monadic interface were introduced because the interface before it sucked and everyone agreed the current approach is infinitely better :p |
| 22:25:04 | × | banjiewen_ quits (sid115913@gateway/web/irccloud.com/x-efwzmbigxjpyhyqn) (Ping timeout: 268 seconds) |
| 22:25:05 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 22:25:10 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 22:25:11 | × | ebutleriv quits (sid217783@gateway/web/irccloud.com/x-nsyjifznvtdwqlor) (Read error: Connection reset by peer) |
| 22:25:13 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 22:25:13 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 22:25:32 | <monochrom> | Laziness was actually a plus for the 1st I/O model. |
| 22:25:35 | → | ebutleriv joins (sid217783@gateway/web/irccloud.com/x-vuvhvprvfualywxv) |
| 22:25:35 | → | totbwf joins (sid402332@gateway/web/irccloud.com/x-vozoqtzcwltbknrs) |
| 22:25:37 | → | joshmeredith joins (sid387798@gateway/web/irccloud.com/x-fznswsrrgymxksrk) |
| 22:25:41 | → | benjamingr__ joins (uid23465@gateway/web/irccloud.com/x-ddxcndlvmkcaysph) |
| 22:25:45 | → | ReinH__ joins (sid179972@gateway/web/irccloud.com/x-gxvdlavauwivnxng) |
| 22:26:03 | × | benwr____ quits (sid372383@gateway/web/irccloud.com/x-ylolloivjmxllmfb) (Ping timeout: 260 seconds) |
| 22:26:13 | → | eruditass joins (uid248673@gateway/web/irccloud.com/x-vskreoprzujwnjjs) |
| 22:26:18 | × | bradparker quits (sid262931@gateway/web/irccloud.com/x-oixqgvqtguzzzzhx) (Ping timeout: 268 seconds) |
| 22:26:18 | × | gOOgler quits (uid125351@gateway/web/irccloud.com/x-roypmjethenoxwzs) (Ping timeout: 268 seconds) |
| 22:26:18 | × | cemerick quits (sid54985@gateway/web/irccloud.com/x-jknlsyojitfopgjs) (Ping timeout: 268 seconds) |
| 22:26:38 | → | Fractalis joins (~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f) |
| 22:26:41 | → | davetapley joins (sid666@gateway/web/irccloud.com/x-twriwvvdmengoodi) |
| 22:26:43 | → | banjiewen_ joins (sid115913@gateway/web/irccloud.com/x-cjhdsthtfayybebu) |
| 22:26:44 | <monochrom> | Imagine you have a simple ADT for I/O commands like "data Command = GetChar | PutChar Char | OpenFile String FileMode | ..." |
| 22:26:55 | → | cemerick joins (sid54985@gateway/web/irccloud.com/x-hvytxjnfgkcybten) |
| 22:26:57 | × | systemfault quits (sid267009@gateway/web/irccloud.com/x-dlmhkaandvmrncuu) (Ping timeout: 260 seconds) |
| 22:27:41 | → | AndreasK joins (uid320732@gateway/web/irccloud.com/x-hcwkkoekyeoydiqt) |
| 22:27:43 | <monochrom> | and you have another simple ADT for the computer's responses to your commands, "data Answer = OK | Error | HereBeChar Char | HereBeHandle Handle | ..." |
| 22:27:54 | → | benwr____ joins (sid372383@gateway/web/irccloud.com/x-cmdybrasxgtsczal) |
| 22:28:10 | → | natim87 joins (sid286962@gateway/web/irccloud.com/x-rsbfresybxjbdfwv) |
| 22:28:10 | → | gOOgler joins (uid125351@gateway/web/irccloud.com/x-vundpllovrkdofsh) |
| 22:28:27 | <monochrom> | Then you code up your main to this type: "main :: [Answer] -> [Command]". Important: I have no typo there. |
| 22:29:09 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 272 seconds) |
| 22:29:16 | <fuzzypixelz> | wait why, answer and then command? |
| 22:29:23 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 22:29:34 | × | davetapley quits (sid666@gateway/web/irccloud.com/x-twriwvvdmengoodi) (Max SendQ exceeded) |
| 22:29:34 | <monochrom> | The semantics: You produce a lazy list of commands, perhaps some later commands depend on some earlier answers. You receive a lazy list of answers. |
| 22:29:45 | <merijn> | fuzzypixelz: Well, if you read from disk you *presumably* want to be able to do something with that data, so it needs to be an input |
| 22:29:59 | × | lally quits (sid388228@gateway/web/irccloud.com/x-sahonvgrjrbzkxrq) (Read error: Connection reset by peer) |
| 22:30:00 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection) |
| 22:30:08 | <glguy> | fuzzypixelz, your program generates commands and consumes answers to those commands |
| 22:30:26 | <monochrom> | Think about it. The computer gives you answers. You give commands to the computer. From your POV, you output commands, input answers. Hence, [Answer] -> [Command] |
| 22:30:36 | → | systemfault joins (sid267009@gateway/web/irccloud.com/x-gdfwilpwbdeyfdvr) |
| 22:30:39 | → | lally joins (sid388228@gateway/web/irccloud.com/x-tfnobvqpeuxjovei) |
| 22:30:44 | <monochrom> | And if [] is super lazy, it can work, you can have later commands depend on earlier answers. |
| 22:30:55 | × | benwr____ quits (sid372383@gateway/web/irccloud.com/x-cmdybrasxgtsczal) (Read error: Connection reset by peer) |
| 22:31:02 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 22:31:03 | → | benwr____ joins (sid372383@gateway/web/irccloud.com/x-rfsfsfysohdtgikt) |
| 22:31:06 | × | eruditass quits (uid248673@gateway/web/irccloud.com/x-vskreoprzujwnjjs) (Max SendQ exceeded) |
| 22:31:09 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:31:14 | × | SrPx quits (sid108780@gateway/web/irccloud.com/x-xocntreqlornxygw) (Ping timeout: 268 seconds) |
| 22:31:41 | × | ReinH__ quits (sid179972@gateway/web/irccloud.com/x-gxvdlavauwivnxng) (Ping timeout: 272 seconds) |
| 22:31:59 | → | son0p joins (~son0p@181.136.122.143) |
| 22:32:01 | <monochrom> | Of course if you code like "main (x:xs) = ..." that is wrong. The 1st answer isn't available until you issue your 1st command. |
| 22:32:02 | → | davetapley joins (sid666@gateway/web/irccloud.com/x-ionovhqqpktzqpxd) |
| 22:32:04 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Read error: Connection reset by peer) |
| 22:32:08 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 22:32:20 | → | ReinH__ joins (sid179972@gateway/web/irccloud.com/x-gpfwmlgqwhiukqzi) |
| 22:32:25 | → | eruditass joins (uid248673@gateway/web/irccloud.com/x-zzmifhezrdakvmqp) |
| 22:32:29 | → | axeman- joins (~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) |
| 22:32:36 | × | natim87 quits (sid286962@gateway/web/irccloud.com/x-rsbfresybxjbdfwv) (Ping timeout: 240 seconds) |
| 22:32:45 | <monochrom> | But this can work: "main xs = GetChar : (case xs of HereBeChar c : xt -> ...)" |
| 22:32:53 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 22:32:55 | → | SrPx joins (sid108780@gateway/web/irccloud.com/x-jqknpexcrnufpwgi) |
| 22:33:24 | <nf> | getting answers and giving commands means you're the one in control |
| 22:33:37 | → | bradparker joins (sid262931@gateway/web/irccloud.com/x-hkmwjhwvnriiibwj) |
| 22:34:05 | × | kam1 quits (~kam1@24.231.108.143) (Ping timeout: 240 seconds) |
| 22:35:06 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 22:35:07 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:ac1c:ca8f:6bba:6ac5) (Ping timeout: 260 seconds) |
| 22:35:08 | <Rembane> | It sounds awfully lot like an interpreter. |
| 22:35:26 | → | axeman-_ joins (~axeman_@2a09:bac0:48::82b:7a05) |
| 22:35:32 | × | Varis quits (~Tadas@unaffiliated/varis) (Max SendQ exceeded) |
| 22:35:37 | <nf> | that would be the other way around |
| 22:35:42 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 22:35:43 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:71b2:cc28:f79:2771) |
| 22:35:46 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 22:35:49 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 22:36:27 | <merijn> | The main thing is: It sucked so hard it's been dead for over a quarter century :p |
| 22:37:26 | → | axeman-__ joins (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) |
| 22:37:27 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 260 seconds) |
| 22:37:45 | → | matryoshka joins (~matryoshk@184.75.223.227) |
| 22:38:14 | × | axeman- quits (~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 22:40:22 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:71b2:cc28:f79:2771) (Ping timeout: 260 seconds) |
| 22:41:13 | × | axeman-_ quits (~axeman_@2a09:bac0:48::82b:7a05) (Ping timeout: 260 seconds) |
| 22:41:15 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 265 seconds) |
| 22:42:00 | × | axeman-__ quits (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Remote host closed the connection) |
| 22:43:21 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 22:43:22 | → | axeman- joins (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) |
| 22:43:48 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:ac1c:ca8f:6bba:6ac5) |
| 22:44:30 | → | natim87 joins (sid286962@gateway/web/irccloud.com/x-ryjfgihdwvppjeie) |
| 22:44:52 | → | lgedeon joins (~lgedeon@178.239.168.171) |
| 22:45:31 | × | kuribas quits (~user@ptr-25vy0ia20n5d17pacij.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 22:47:57 | × | axeman- quits (~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Ping timeout: 260 seconds) |
| 22:48:12 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds) |
| 22:49:03 | → | kam1 joins (~kam1@24.231.108.143) |
| 22:51:06 | × | puffnfresh quits (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Quit: killed) |
| 22:51:11 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 22:51:44 | → | puffnfresh joins (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) |
| 22:51:55 | → | xcmw joins (~textual@2601:541:4404:bb5c:c568:d02b:e892:a15e) |
| 22:52:41 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 22:53:24 | → | fcortesi joins (~fcortesi@78-66-245-190.fibertel.com.ar) |
| 22:53:31 | × | polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Read error: Connection reset by peer) |
| 22:53:53 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 22:54:35 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 22:55:52 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
| 22:56:01 | → | t3xp4t joins (~texinwien@213162073014.public.t-mobile.at) |
| 22:56:26 | × | perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0) |
| 22:58:55 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 272 seconds) |
| 22:59:40 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 23:00:37 | × | coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 23:00:53 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
| 23:02:03 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 23:02:52 | → | o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
| 23:03:36 | × | jneira quits (5127adb4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.180) (Ping timeout: 240 seconds) |
| 23:04:04 | → | olligobber joins (~olligobbe@unaffiliated/olligobber) |
| 23:04:40 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 23:04:44 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 23:05:31 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 256 seconds) |
| 23:05:53 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
| 23:06:48 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 23:08:05 | <fuzzypixelz> | this is a really nice blog post: https://diego.codes/post/learning-monads/ |
| 23:09:02 | × | Fractalis quits (~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f) (Ping timeout: 264 seconds) |
| 23:09:52 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 23:10:12 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 23:10:52 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection) |
| 23:11:11 | × | paintcan quits (~user@cpe-69-206-241-99.nyc.res.rr.com) (Ping timeout: 256 seconds) |
| 23:11:22 | <aldum> | another monadtutorial? :D |
| 23:12:40 | <dsal> | fuzzypixelz: Your original question included: in a rather "concise" way ... preferably not a long book chapter |
| 23:13:06 | <dsal> | Some shortcuts take much longer than the simple direct route. |
| 23:13:10 | × | kori quits (~kori@arrowheads/kori) (Ping timeout: 268 seconds) |
| 23:13:37 | × | o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection) |
| 23:14:52 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 23:15:11 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 23:15:31 | × | sgibber2018 quits (~arch-gibb@208.85.237.137) (Quit: WeeChat 3.0) |
| 23:15:49 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 264 seconds) |
| 23:16:43 | × | xcmw quits (~textual@2601:541:4404:bb5c:c568:d02b:e892:a15e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:17:23 | <fuzzypixelz> | dsal: What do you recommend I do? :) |
| 23:18:43 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 23:18:53 | → | xcmw joins (~textual@2601:541:4404:bb5c:c568:d02b:e892:a15e) |
| 23:19:29 | × | fendor quits (~fendor@77.119.130.68.wireless.dyn.drei.com) (Remote host closed the connection) |
| 23:19:36 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 240 seconds) |
| 23:19:44 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds) |
| 23:21:31 | <dsal> | I don't know. I learn by practice, mostly. I did like haskellbook.com for the pace. (some people hate it for the pace). But also had been writing a lot of code at the time. |
| 23:21:46 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:71b2:cc28:f79:2771) |
| 23:22:29 | <fuzzypixelz> | in this code, https://github.com/DiegoVicen/monadic-gcd/blob/master/src/MonadicGCD.hs I don't see how the log strings are passed around in each function call, isn't the "saveLog $ show ..." just discarded and then next monad is returned? |
| 23:22:59 | <fuzzypixelz> | dsal: by pace you mean it's slow? |
| 23:23:49 | <dsal> | It walks you through all the parts as if they didn't exist and you have to make them yourself, but by the time you get to a think, you've often needed it, so it basically names a thing that's been annoying you and shows you how to build it. |
| 23:24:25 | <dsal> | I don't have *great* intuition for a lot of the things, but most of the magic went away with that book. |
| 23:24:37 | × | xcmw quits (~textual@2601:541:4404:bb5c:c568:d02b:e892:a15e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:25:14 | <int-e> | dsal: Note how >>= combines the logs of the first and second actions. |
| 23:25:53 | <int-e> | @undo do saveLog something; call something else |
| 23:25:53 | <lambdabot> | <unknown>.hs:1:38:Parse error: else |
| 23:25:58 | <int-e> | oops |
| 23:26:01 | <int-e> | @undo do saveLog something; call something |
| 23:26:01 | <lambdabot> | saveLog something >> call something |
| 23:26:24 | <fuzzypixelz> | int-e: but >> isn't the same this as >>=? |
| 23:26:33 | <int-e> | and a >> b = a >>= \_ -> b |
| 23:26:35 | <dsal> | :t (>>) |
| 23:26:36 | → | cheater joins (~user@unaffiliated/cheater) |
| 23:26:37 | <lambdabot> | Monad m => m a -> m b -> m b |
| 23:26:39 | <dsal> | :t (>>=) |
| 23:26:40 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 23:26:44 | × | son0p quits (~son0p@181.136.122.143) (Quit: leaving) |
| 23:26:48 | <int-e> | it's implemented in terms of >>=. |
| 23:27:00 | <fuzzypixelz> | oh! |
| 23:27:26 | <fuzzypixelz> | I thought people just wrote that as a property |
| 23:28:14 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Remote host closed the connection) |
| 23:28:30 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 23:28:35 | → | dandart joins (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) |
| 23:28:37 | <int-e> | fuzzypixelz: I lied. It is a property, and also the default implementation of >>. |
| 23:28:47 | <ephemient> | well, a monad instance can override it to do something else (e.g. (>>) = (*>)) |
| 23:28:58 | <ephemient> | but the default implementation is defined in terms of (>>=) |
| 23:28:59 | <int-e> | but if you go out of your way you can write a lawless instance of Monad that violates this idea. |
| 23:30:04 | <int-e> | It's worth noting that <*> treats the logs in the same way. |
| 23:30:16 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds) |
| 23:30:36 | → | kori joins (~kori@arrowheads/kori) |
| 23:31:46 | × | jmchael quits (~jmchael@81.174.205.210) (Ping timeout: 246 seconds) |
| 23:31:57 | <fuzzypixelz> | int-e: alright only the value is discarded but the strings are added on, since >>= only binds the value, rereading the implementation for >>= makes sense |
| 23:33:07 | <fuzzypixelz> | Cya! Love you! |
| 23:33:31 | × | dandart quits (~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 268 seconds) |
| 23:33:59 | ← | fuzzypixelz parts (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) () |
| 23:36:15 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:38:16 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-prsljozdtcilczmu) (Quit: Connection closed for inactivity) |
| 23:38:38 | → | Lycurgus joins (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) |
| 23:42:29 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 23:43:44 | → | jmchael joins (~jmchael@81.174.205.210) |
| 23:45:43 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 23:47:01 | × | ransom_ quits (~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:47:42 | × | knupfer quits (~Thunderbi@200116b8248ff600c4f4ca64117d4161.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 23:51:23 | → | perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 23:53:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:59:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
All times are in UTC on 2020-12-25.