2022/04/13

2022-04-13 00:01:31 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-13 00:03:50 +0200sloorush(~sloorush@2401:4900:2346:16f0:2ddf:524c:16d9:9ed2)
2022-04-13 00:03:52 +0200sloorush(~sloorush@2401:4900:2346:16f0:2ddf:524c:16d9:9ed2) (Client Quit)
2022-04-13 00:04:54 +0200juri_(~juri@178.63.35.222) (Ping timeout: 272 seconds)
2022-04-13 00:05:02 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 00:07:15 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-04-13 00:09:48 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2022-04-13 00:10:28 +0200goepsilongo(~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!)
2022-04-13 00:12:13 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-13 00:19:10 +0200slack1256(~slack1256@186.11.41.244) (Ping timeout: 250 seconds)
2022-04-13 00:21:38 +0200sagax(~sagax_nb@user/sagax) (Quit: Konversation terminated!)
2022-04-13 00:23:04 +0200kimjetwav(~user@2607:fea8:2363:8f00:db41:6ba5:4d54:8708)
2022-04-13 00:25:36 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 00:26:12 +0200michalz(~michalz@185.246.204.107) (Remote host closed the connection)
2022-04-13 00:31:02 +0200juri_(~juri@178.63.35.222)
2022-04-13 00:33:06 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 00:33:47 +0200xaotuk(~sasha@cable-178-148-235-107.dynamic.sbb.rs) (Quit: xaotuk)
2022-04-13 00:37:22 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2022-04-13 00:38:05 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-13 00:39:44 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-04-13 00:40:09 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-13 00:42:46 +0200goepsilongo(~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com)
2022-04-13 00:44:51 +0200Pickchea(~private@user/pickchea) (Ping timeout: 246 seconds)
2022-04-13 00:56:00 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
2022-04-13 01:00:15 +0200mud(~mud@user/kadoban)
2022-04-13 01:04:52 +0200vicfred(~vicfred@user/vicfred)
2022-04-13 01:05:52 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-13 01:06:59 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 01:08:40 +0200fjmorazan(~quassel@user/fjmorazan) (Quit: fjmorazan)
2022-04-13 01:08:54 +0200fjmorazan(~quassel@user/fjmorazan)
2022-04-13 01:08:57 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
2022-04-13 01:13:25 +0200fjmorazan(~quassel@user/fjmorazan) (Client Quit)
2022-04-13 01:13:56 +0200fjmorazan(~quassel@user/fjmorazan)
2022-04-13 01:14:26 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 01:18:48 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
2022-04-13 01:26:01 +0200Nahra(~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection)
2022-04-13 01:27:16 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-13 01:33:49 +0200greyrat_(~greyrat@ip202.ip-51-178-215.eu) (Ping timeout: 240 seconds)
2022-04-13 01:36:37 +0200kaph(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Read error: Connection reset by peer)
2022-04-13 01:39:01 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 01:39:19 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-04-13 01:41:10 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2022-04-13 01:43:21 +0200alp__(~alp@user/alp) (Ping timeout: 248 seconds)
2022-04-13 01:43:27 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
2022-04-13 01:45:58 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-04-13 01:45:58 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-04-13 01:45:59 +0200finn_elijaFinnElija
2022-04-13 01:49:11 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 01:52:28 +0200chenqisu1(~chenqisu1@183.217.200.38)
2022-04-13 01:53:38 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
2022-04-13 01:54:42 +0200 <dons> morning all
2022-04-13 01:55:07 +0200 <dons> nice one shapr
2022-04-13 01:55:18 +0200 <shapr> yay!
2022-04-13 01:57:41 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-04-13 01:58:07 +0200 <geekosaur> o/
2022-04-13 01:59:28 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-04-13 02:01:14 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-04-13 02:02:14 +0200califax(~califax@user/califx)
2022-04-13 02:02:22 +0200asthasr(~asthasr@208.80.78.154) (Quit: asthasr)
2022-04-13 02:02:23 +0200 <sm> g'day dons
2022-04-13 02:02:42 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-13 02:02:42 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-13 02:02:42 +0200wroathe(~wroathe@user/wroathe)
2022-04-13 02:03:16 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 02:05:34 +0200 <dons> I'm writing Angle all day today. It's typed datalog, with sums and products. It's like talking to a database via an SMT solver, where the performance model is based on table indexes.
2022-04-13 02:05:41 +0200 <dons> really fun programming model
2022-04-13 02:05:56 +0200 <dons> reminds me a bit of NDP.
2022-04-13 02:06:02 +0200 <dons> all the bulk operations
2022-04-13 02:07:22 +0200 <dons> worked out how to do fmap over a Maybe type :) https://github.com/donsbot/Glean/commit/edb1fe60a164373608daf74735686be109e0737b#diff-dd773c64bb12… in case you're curious what it looks like
2022-04-13 02:07:56 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
2022-04-13 02:12:40 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 248 seconds)
2022-04-13 02:14:39 +0200 <Axman6> can you write a higher order fmap for maybe?
2022-04-13 02:19:24 +0200 <dons> not enough of a type system i think. no type parameters.
2022-04-13 02:20:45 +0200 <dons> its basically a glue language for talking to rocksdb, so closer to some sort of SSD-optimized SQL model, but with this weird feature that you can lookup things by using structured types as keys (records, tuples etc)
2022-04-13 02:20:59 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 02:21:44 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-13 02:26:07 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
2022-04-13 02:26:45 +0200vysn(~vysn@user/vysn)
2022-04-13 02:28:02 +0200xff0x(~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Ping timeout: 272 seconds)
2022-04-13 02:30:15 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 02:30:47 +0200 <Axman6> fair enough - is Angel a Glean specific thing?
2022-04-13 02:31:44 +0200 <dons> its the "SQL" of Glean, yeah. programming language for query / table layout in glean over rocksdb.
2022-04-13 02:32:10 +0200 <dons> datalog-style queries for facts, DAG traversals
2022-04-13 02:32:32 +0200 <Axman6> shapr: is there some more background to this article? You haven't really stated what problem you're trying to solve in the first couple of sections
2022-04-13 02:35:35 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 02:35:36 +0200notzmv(~zmv@user/notzmv)
2022-04-13 02:38:08 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2022-04-13 02:40:20 +0200kimjetwav(~user@2607:fea8:2363:8f00:db41:6ba5:4d54:8708) (Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50))
2022-04-13 02:45:51 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-04-13 02:50:23 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) (Quit: Konversation terminated!)
2022-04-13 02:50:34 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-04-13 02:50:52 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 02:50:58 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-04-13 02:52:08 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2022-04-13 02:56:17 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-13 03:06:20 +0200xff0x(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp)
2022-04-13 03:10:28 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-04-13 03:10:54 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-04-13 03:17:01 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-04-13 03:17:17 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-04-13 03:28:57 +0200redb(~nmh@136.49.49.211) (Ping timeout: 248 seconds)
2022-04-13 03:33:55 +0200andrey__(~andrey@p200300dbcf07c100b04d34d7ed81db16.dip0.t-ipconnect.de)
2022-04-13 03:35:49 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 03:36:24 +0200andrey_(~andrey@p200300dbcf112f00ea6a6fd122b4be68.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-13 03:36:35 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 03:38:20 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds)
2022-04-13 03:38:29 +0200abastro(~abab9579@143.248.229.192)
2022-04-13 03:40:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-04-13 03:41:06 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 250 seconds)
2022-04-13 03:44:22 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 03:44:33 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 03:45:36 +0200Akiva(~Akiva@user/Akiva) (Quit: WeeChat 3.5)
2022-04-13 03:47:12 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-04-13 03:49:11 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
2022-04-13 03:52:12 +0200kanin_(~kanin_@2001:da8:d800:196:888d:5adb:9959:8fba)
2022-04-13 03:52:55 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-13 03:53:09 +0200kanin_(~kanin_@2001:da8:d800:196:888d:5adb:9959:8fba) (Read error: Connection reset by peer)
2022-04-13 03:53:38 +0200redb(~nmh@136.49.49.211)
2022-04-13 03:53:53 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 03:54:43 +0200sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection)
2022-04-13 03:55:32 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 03:55:38 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-04-13 03:58:11 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-13 03:58:39 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 260 seconds)
2022-04-13 03:59:06 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2022-04-13 04:01:46 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 04:04:14 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-04-13 04:09:15 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds)
2022-04-13 04:10:29 +0200redb(~nmh@136.49.49.211)
2022-04-13 04:10:30 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-04-13 04:11:22 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 04:15:15 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-13 04:15:44 +0200Sgeo(~Sgeo@user/sgeo)
2022-04-13 04:19:18 +0200frost(~frost@user/frost)
2022-04-13 04:20:34 +0200kaph(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
2022-04-13 04:27:16 +0200redb(~nmh@136.49.49.211)
2022-04-13 04:27:54 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
2022-04-13 04:29:41 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-13 04:30:02 +0200 <Axman6> I'm currently learning about Rust modules, and they seem ... complex isn't the right word, but it feels like a lot of hoops to jump through. The only time I've really wanted as much control as (in Haskell) it gives you is when I want to export things so that tests can use them, but others can't, and usually that just means using a .Internal module
2022-04-13 04:31:20 +0200redb(~nmh@136.49.49.211) (Ping timeout: 248 seconds)
2022-04-13 04:31:42 +0200 <zero> ,
2022-04-13 04:32:03 +0200 <Axman6> oh no, zero has fallen into a comma!
2022-04-13 04:34:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 04:36:52 +0200 <zero> a -> b -> (a,b)
2022-04-13 04:39:24 +0200 <abastro> Well, one of the gripes of haskell is the namespace things
2022-04-13 04:39:46 +0200 <abastro> What does rust module system allow?
2022-04-13 04:39:58 +0200 <abastro> allow control?
2022-04-13 04:42:09 +0200 <Axman6> you can read the chapter in the book if you like: https://doc.rust-lang.org/book/ch07-00-managing-growing-projects-with-packages-crates-and-modules.…
2022-04-13 04:43:11 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-04-13 04:43:26 +0200 <Axman6> I find it odd that you can define a module as not public, and then a module inside it as public. also specifying whether individual struct fiends can be public feels weird to me, though languages with mutability often do/need to do things like that I guess
2022-04-13 04:44:19 +0200 <Axman6> It is interesting seeing how many features of Rust appear to have come directly from Haskell, occasionally you read something and realise you already understand it
2022-04-13 04:44:25 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-04-13 04:45:24 +0200 <Axman6> Something I've wanted in Haskell for a while is the ability to rename things on import, like module Data.HashMap (HashMap as Map) or something
2022-04-13 04:48:39 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com)
2022-04-13 04:50:01 +0200 <abastro> Directly from haskell?
2022-04-13 04:50:22 +0200 <abastro> Well yea I also want the ability to rename, but I heard that it would require breaking change :/
2022-04-13 04:50:25 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 04:50:46 +0200 <abastro> Accessibility control is for encapsulation I think, rather than for mutation
2022-04-13 04:51:01 +0200 <abastro> Fine-grained encapsulation
2022-04-13 04:52:26 +0200redb(~nmh@136.49.49.211)
2022-04-13 04:53:04 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 04:53:31 +0200 <abastro> I guess in corporate settings, you don't want to grant usage access of code portion for those who are not counted responsible for that code section
2022-04-13 04:55:26 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 04:56:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-04-13 04:56:33 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-04-13 04:56:33 +0200finn_elijaFinnElija
2022-04-13 04:56:56 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-13 04:58:14 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-04-13 05:04:03 +0200russruss(~russruss@my.russellmcc.com)
2022-04-13 05:07:04 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 248 seconds)
2022-04-13 05:09:20 +0200lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-04-13 05:11:12 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 05:18:48 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Read error: Connection reset by peer)
2022-04-13 05:18:55 +0200euandreh(~euandreh@2804:14c:33:9fe5:f1f:1f2:988a:6dea) (Ping timeout: 260 seconds)
2022-04-13 05:19:49 +0200euandreh(~euandreh@2804:14c:33:9fe5:2b05:e929:4a1b:5380)
2022-04-13 05:20:58 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-13 05:23:47 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2022-04-13 05:25:09 +0200z0k(~z0k@39.40.5.37)
2022-04-13 05:25:53 +0200redb(~nmh@136.49.49.211)
2022-04-13 05:27:16 +0200abastro(~abab9579@143.248.229.192) (Ping timeout: 250 seconds)
2022-04-13 05:28:26 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 05:31:09 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-13 05:32:08 +0200redb(~nmh@136.49.49.211)
2022-04-13 05:32:54 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
2022-04-13 05:34:21 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-13 05:34:35 +0200z0k(~z0k@39.40.5.37) (Ping timeout: 256 seconds)
2022-04-13 05:36:24 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-13 05:38:15 +0200redb(~nmh@136.49.49.211)
2022-04-13 05:40:07 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-04-13 05:40:56 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-04-13 05:41:28 +0200z0k(~z0k@39.40.97.184)
2022-04-13 05:42:21 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-13 05:48:07 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
2022-04-13 05:48:28 +0200cdman(~dcm@27.2.216.167)
2022-04-13 05:48:29 +0200cdman(~dcm@27.2.216.167) (Changing host)
2022-04-13 05:48:29 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-13 05:51:41 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 05:54:03 +0200axeman(~quassel@2a02:8109:a380:78:e9e7:400a:2ff3:71f1)
2022-04-13 05:55:26 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 05:56:41 +0200BlackboardN(~Blackboar@user/BlackboardN) (Ping timeout: 248 seconds)
2022-04-13 05:59:46 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-04-13 06:00:07 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-04-13 06:07:35 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2022-04-13 06:08:33 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 06:09:13 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-13 06:10:27 +0200redb(~nmh@136.49.49.211)
2022-04-13 06:11:52 +0200vicfred(~vicfred@user/vicfred)
2022-04-13 06:13:12 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
2022-04-13 06:14:28 +0200goepsilongo(~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!)
2022-04-13 06:14:35 +0200mbuf(~Shakthi@223.184.55.97)
2022-04-13 06:14:56 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-13 06:16:07 +0200z0k(~z0k@39.40.97.184) (Ping timeout: 240 seconds)
2022-04-13 06:19:48 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 246 seconds)
2022-04-13 06:26:23 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 06:29:11 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 06:35:07 +0200redb(~nmh@136.49.49.211)
2022-04-13 06:36:11 +0200bgt32(~keutoi@223.182.17.205)
2022-04-13 06:37:49 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 06:38:31 +0200z0k(~z0k@39.40.127.26)
2022-04-13 06:39:20 +0200redb(~nmh@136.49.49.211) (Ping timeout: 248 seconds)
2022-04-13 06:43:30 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-04-13 06:44:12 +0200 <bgt32> In Data.Ix we have index :: (a, a) -> a -> Int; is there an inverse for it? f :: (a, a) -> Int -> a , that gives nth element of that range. I could use range (a, b) !! n, but that seems in efficient.
2022-04-13 06:44:26 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-13 06:46:43 +0200redb(~nmh@136.49.49.211)
2022-04-13 06:49:29 +0200axeman(~quassel@2a02:8109:a380:78:e9e7:400a:2ff3:71f1) (Ping timeout: 248 seconds)
2022-04-13 07:02:46 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424)
2022-04-13 07:03:33 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 256 seconds)
2022-04-13 07:07:35 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 07:10:41 +0200axeman(~quassel@2a02:8109:a380:78:87db:6d2e:f3e4:fc07)
2022-04-13 07:11:11 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-13 07:11:52 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 248 seconds)
2022-04-13 07:17:41 +0200cdman(~dcm@user/dmc/x-4369397) (Remote host closed the connection)
2022-04-13 07:19:44 +0200cdman(~dcm@27.2.216.167)
2022-04-13 07:19:44 +0200cdman(~dcm@27.2.216.167) (Changing host)
2022-04-13 07:19:44 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-13 07:21:14 +0200axeman(~quassel@2a02:8109:a380:78:87db:6d2e:f3e4:fc07) (Ping timeout: 250 seconds)
2022-04-13 07:23:06 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-04-13 07:30:53 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 07:31:05 +0200zyklotomic(~ethan@res380d-128-61-83-53.res.gatech.edu) (Ping timeout: 248 seconds)
2022-04-13 07:32:14 +0200kenran(~kenran@200116b82b0a340003754354c85ff367.dip.versatel-1u1.de)
2022-04-13 07:33:20 +0200zyklotomic(~ethan@res388d-128-61-89-14.res.gatech.edu)
2022-04-13 07:35:17 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 256 seconds)
2022-04-13 07:35:55 +0200axeman(~quassel@2a02:8109:a380:78:de22:d343:c0cd:4b29)
2022-04-13 07:37:07 +0200son0p(~ff@181.136.122.143) (Ping timeout: 256 seconds)
2022-04-13 07:37:51 +0200michalz(~michalz@185.246.204.125)
2022-04-13 07:39:02 +0200tomku(~tomku@user/tomku) (Remote host closed the connection)
2022-04-13 07:39:08 +0200tomku|two(~tomku@user/tomku)
2022-04-13 07:40:26 +0200 <Axman6> iIlI1|
2022-04-13 07:40:38 +0200 <Axman6> uh, didn't mean to send that. Enjoy your free font test
2022-04-13 07:40:49 +0200benin(~benin@183.82.204.110)
2022-04-13 07:41:07 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
2022-04-13 07:41:51 +0200ss-(~ss-@187.83.249.216.dyn.smithville.net)
2022-04-13 07:41:52 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 07:43:33 +0200 <jackdk> you're not the boss of me Axman6
2022-04-13 07:43:47 +0200tomku|two(~tomku@user/tomku) (Ping timeout: 240 seconds)
2022-04-13 07:44:44 +0200tomku(~tomku@user/tomku)
2022-04-13 07:44:47 +0200axeman(~quassel@2a02:8109:a380:78:de22:d343:c0cd:4b29) (Ping timeout: 240 seconds)
2022-04-13 07:44:53 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 07:47:07 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 07:47:52 +0200JimL(~quassel@89-162-2-132.fiber.signal.no) (Ping timeout: 272 seconds)
2022-04-13 07:50:01 +0200bgt32(~keutoi@223.182.17.205) (Ping timeout: 256 seconds)
2022-04-13 07:51:24 +0200 <zero> Axman6: are those not 2 Is ?
2022-04-13 07:51:27 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
2022-04-13 07:52:02 +0200 <Axman6> yeah was supposed to be iIlL1|
2022-04-13 07:54:05 +0200JimL(~quassel@89-162-2-132.fiber.signal.no)
2022-04-13 07:57:23 +0200tomku(~tomku@user/tomku) (Ping timeout: 256 seconds)
2022-04-13 07:57:49 +0200tomku(~tomku@user/tomku)
2022-04-13 07:57:55 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-13 07:58:31 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2022-04-13 07:58:50 +0200kmein(~weechat@user/kmein)
2022-04-13 08:00:17 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-04-13 08:00:44 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 08:01:18 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 08:03:37 +0200tomku(~tomku@user/tomku) (Ping timeout: 256 seconds)
2022-04-13 08:04:00 +0200tomku(~tomku@user/tomku)
2022-04-13 08:04:12 +0200 <tdammers> weird, it renders as 27 snowmen and a vomit face for me
2022-04-13 08:06:11 +0200coot(~coot@213.134.190.95)
2022-04-13 08:06:12 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-04-13 08:06:26 +0200 <Axman6> I think you might need to take your font into the shop and get that checked out
2022-04-13 08:07:27 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 08:07:35 +0200z0k(~z0k@39.40.127.26) (Ping timeout: 256 seconds)
2022-04-13 08:09:10 +0200z0k(~z0k@39.40.107.216)
2022-04-13 08:09:31 +0200shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-04-13 08:11:04 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2022-04-13 08:11:52 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-13 08:15:42 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 08:15:50 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 250 seconds)
2022-04-13 08:17:30 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 08:19:46 +0200zmt00(~zmt00@user/zmt00) (Quit: Leaving)
2022-04-13 08:20:37 +0200benin(~benin@183.82.204.110) (Ping timeout: 256 seconds)
2022-04-13 08:20:51 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 08:21:29 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 08:23:07 +0200gaff(~gaff@49.207.227.93)
2022-04-13 08:23:08 +0200benin(~benin@183.82.204.110)
2022-04-13 08:23:12 +0200gaff(~gaff@49.207.227.93) (Client Quit)
2022-04-13 08:23:53 +0200zmt00(~zmt00@user/zmt00)
2022-04-13 08:26:51 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-13 08:29:03 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-13 08:29:35 +0200axeman(~quassel@2a02:8109:a380:78:b030:2e2d:7f87:c8e6)
2022-04-13 08:30:22 +0200acidjnk_new(~acidjnk@p200300d0c722df650d0cc85cc0f432cb.dip0.t-ipconnect.de)
2022-04-13 08:30:23 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net)
2022-04-13 08:36:09 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-13 08:39:09 +0200bgt32(~keutoi@223.182.17.205)
2022-04-13 08:39:11 +0200anomal(~anomal@87.227.196.109)
2022-04-13 08:39:26 +0200ss-(~ss-@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2022-04-13 08:40:13 +0200alp__(~alp@user/alp)
2022-04-13 08:43:31 +0200fendor(~fendor@91.141.45.157.wireless.dyn.drei.com)
2022-04-13 08:46:16 +0200axeman(~quassel@2a02:8109:a380:78:b030:2e2d:7f87:c8e6) (Ping timeout: 248 seconds)
2022-04-13 08:46:54 +0200 <jackdk> bgt32: Not to my knowledge, which seems like maybe an oversight?
2022-04-13 08:47:27 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 240 seconds)
2022-04-13 08:48:22 +0200cfricke(~cfricke@user/cfricke)
2022-04-13 08:50:44 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-04-13 08:52:29 +0200neurocyte8614492(~neurocyte@IP-185117068183.dynamic.medianet-world.de)
2022-04-13 08:52:29 +0200neurocyte8614492(~neurocyte@IP-185117068183.dynamic.medianet-world.de) (Changing host)
2022-04-13 08:52:29 +0200neurocyte8614492(~neurocyte@user/neurocyte)
2022-04-13 08:56:47 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2022-04-13 09:00:13 +0200mattil(~mattil@helsinki.portalify.com)
2022-04-13 09:03:07 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds)
2022-04-13 09:03:26 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2022-04-13 09:06:26 +0200abastro(~abab9579@143.248.229.195)
2022-04-13 09:06:32 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1bbe:d06f:b37f:2998)
2022-04-13 09:07:04 +0200dschrempf(~dominik@92-249-159-213.pool.digikabel.hu)
2022-04-13 09:07:39 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-13 09:07:47 +0200chenqisu1(~chenqisu1@183.217.200.38) (Remote host closed the connection)
2022-04-13 09:08:07 +0200chenqisu1(~chenqisu1@183.217.200.38)
2022-04-13 09:11:38 +0200biberu(~biberu@user/biberu)
2022-04-13 09:12:55 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-13 09:13:22 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-13 09:14:46 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-13 09:16:43 +0200dschrempf(~dominik@92-249-159-213.pool.digikabel.hu) (Ping timeout: 256 seconds)
2022-04-13 09:16:57 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 09:17:01 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 09:22:30 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 246 seconds)
2022-04-13 09:23:38 +0200InstX1(~Liam@2601:6c4:4080:3f80:e90d:eced:aa0c:bcb3)
2022-04-13 09:23:48 +0200InstX1_(~Liam@2601:6c4:4080:3f80:1d4a:af44:f702:f9c0) (Ping timeout: 240 seconds)
2022-04-13 09:26:50 +0200redb(~nmh@136.49.49.211)
2022-04-13 09:26:55 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-13 09:28:35 +0200InstX1_(~Liam@2601:6c4:4080:3f80:5940:980:e666:cc89)
2022-04-13 09:29:29 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-13 09:30:02 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-04-13 09:30:22 +0200InstX1(~Liam@2601:6c4:4080:3f80:e90d:eced:aa0c:bcb3) (Ping timeout: 250 seconds)
2022-04-13 09:32:07 +0200alp__(~alp@user/alp) (Remote host closed the connection)
2022-04-13 09:32:23 +0200alp_(~alp@user/alp)
2022-04-13 09:41:07 +0200Midjak(~Midjak@82.66.147.146)
2022-04-13 09:46:22 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424) (Quit: king_gs)
2022-04-13 09:46:54 +0200akegalj(~akegalj@93-138-88-178.adsl.net.t-com.hr)
2022-04-13 09:47:23 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424)
2022-04-13 09:48:07 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-13 09:48:17 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 09:49:26 +0200son0p(~ff@181.136.122.143)
2022-04-13 09:49:35 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net) (Remote host closed the connection)
2022-04-13 09:49:52 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net)
2022-04-13 09:51:31 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-04-13 09:55:30 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
2022-04-13 10:01:06 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 10:03:06 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 10:03:54 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-13 10:04:07 +0200jackson99(~bc8147f2@cerf.good1.com)
2022-04-13 10:05:35 +0200chele(~chele@user/chele)
2022-04-13 10:06:01 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
2022-04-13 10:06:32 +0200abastro(~abab9579@143.248.229.195) (Remote host closed the connection)
2022-04-13 10:07:39 +0200Pickchea(~private@user/pickchea)
2022-04-13 10:15:07 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 240 seconds)
2022-04-13 10:16:01 +0200thiross(~igloo@173.242.113.143.16clouds.com)
2022-04-13 10:16:49 +0200abastro(~abab9579@143.248.229.195)
2022-04-13 10:17:21 +0200thiross(~igloo@173.242.113.143.16clouds.com) (Remote host closed the connection)
2022-04-13 10:19:47 +0200bgt32(~keutoi@223.182.17.205) (Ping timeout: 240 seconds)
2022-04-13 10:20:24 +0200cosimone(~user@93-47-228-79.ip115.fastwebnet.it) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-04-13 10:20:45 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-13 10:22:11 +0200bgt32(~keutoi@223.182.21.148)
2022-04-13 10:25:53 +0200ccntrq(~Thunderbi@2a01:e34:eccb:b060:bc3e:467d:7ac2:fff6)
2022-04-13 10:37:12 +0200Pickchea(~private@user/pickchea) (Ping timeout: 248 seconds)
2022-04-13 10:37:58 +0200InstX1_(~Liam@2601:6c4:4080:3f80:5940:980:e666:cc89) (Ping timeout: 250 seconds)
2022-04-13 10:38:44 +0200jackson100(~bc8147f2@cerf.good1.com)
2022-04-13 10:38:51 +0200fef(~thedawn@user/thedawn)
2022-04-13 10:38:57 +0200InstX1_(~Liam@2601:6c4:4080:3f80:19e5:15a0:708a:70c0)
2022-04-13 10:38:58 +0200anomal(~anomal@87.227.196.109)
2022-04-13 10:41:28 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 248 seconds)
2022-04-13 10:43:05 +0200chenqisu1(~chenqisu1@183.217.200.38) (Remote host closed the connection)
2022-04-13 10:43:13 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-04-13 10:43:37 +0200_________(~nobody@user/noodly) (Ping timeout: 248 seconds)
2022-04-13 10:44:13 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-13 10:45:43 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-13 10:46:02 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-13 10:46:37 +0200mattil(~mattil@helsinki.portalify.com) (Read error: Connection reset by peer)
2022-04-13 10:47:39 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2022-04-13 10:47:59 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-04-13 10:50:28 +0200jackson100jackson99
2022-04-13 10:53:09 +0200ubert(~Thunderbi@p200300ecdf1588a3ccf7a828925c2eab.dip0.t-ipconnect.de)
2022-04-13 10:53:32 +0200dschrempf(~dominik@92-249-159-213.pool.digikabel.hu)
2022-04-13 10:55:25 +0200abastro(~abab9579@143.248.229.195) (Remote host closed the connection)
2022-04-13 10:57:04 +0200ubert1(~Thunderbi@p200300ecdf1588a34b361c912f36e7d5.dip0.t-ipconnect.de)
2022-04-13 10:58:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-13 11:02:40 +0200Pickchea(~private@user/pickchea)
2022-04-13 11:04:23 +0200fockerized(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.3)
2022-04-13 11:05:20 +0200awpr(uid446117@id-446117.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-13 11:21:00 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 11:24:28 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-13 11:25:20 +0200dschrempf(~dominik@92-249-159-213.pool.digikabel.hu) (Quit: WeeChat 3.4.1)
2022-04-13 11:27:46 +0200jonathanx(~jonathan@dyn-5-sc.cdg.chalmers.se)
2022-04-13 11:32:39 +0200jstolarek(~jstolarek@staticline-31-183-186-36.toya.net.pl)
2022-04-13 11:32:45 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-13 11:33:05 +0200anomal(~anomal@87.227.196.109)
2022-04-13 11:33:47 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 11:34:43 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-13 11:35:06 +0200 <jstolarek> how do I force recompilation of a project without rebuilding dependencies using cabal?
2022-04-13 11:38:12 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424) (Ping timeout: 250 seconds)
2022-04-13 11:40:30 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-13 11:41:11 +0200robosexual1(~robosexua@77.223.90.202)
2022-04-13 11:43:31 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Remote host closed the connection)
2022-04-13 11:43:48 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-13 11:44:58 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-13 11:45:17 +0200frost(~frost@user/frost)
2022-04-13 11:45:33 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-13 11:45:51 +0200coot(~coot@213.134.190.95)
2022-04-13 11:51:25 +0200ub(~Thunderbi@p548c8d44.dip0.t-ipconnect.de)
2022-04-13 11:51:51 +0200ubert(~Thunderbi@p200300ecdf1588a3ccf7a828925c2eab.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-13 11:51:52 +0200ububert
2022-04-13 11:51:52 +0200ubert080AAA3P4
2022-04-13 11:51:52 +0200ubert1ubert
2022-04-13 11:57:27 +0200xff0x(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
2022-04-13 11:58:14 +0200mattil(~mattil@helsinki.portalify.com)
2022-04-13 11:58:48 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 248 seconds)
2022-04-13 11:58:48 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 11:59:13 +0200akegalj(~akegalj@93-138-88-178.adsl.net.t-com.hr) (Quit: leaving)
2022-04-13 11:59:34 +0200abastro(~abab9579@143.248.229.195)
2022-04-13 12:01:03 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 246 seconds)
2022-04-13 12:02:15 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 12:03:19 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-04-13 12:03:35 +0200Natch(~natch@c-67bae255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection)
2022-04-13 12:06:31 +0200 <tomsmeding> jstolarek: `cabal clean` first, or `rm -r dist-newstyle`?
2022-04-13 12:07:10 +0200 <tomsmeding> that shouldn't rebuild dependencies, unless you mean git repo dependencies in a cabal.project
2022-04-13 12:07:41 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-04-13 12:07:48 +0200 <tomsmeding> (source-repository-package that is, forgot the keyword)
2022-04-13 12:08:58 +0200Natch(~natch@c-67bae255.014-297-73746f25.bbcust.telenor.se)
2022-04-13 12:09:26 +0200 <jstolarek> yes, I mean git-repo dependencies that take like 30-40 minutes to rebui;d
2022-04-13 12:10:07 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
2022-04-13 12:10:18 +0200 <jstolarek> for now I'm just using `find src -name "*.hs" | xargs touch` but I thought there's probably a better way
2022-04-13 12:10:36 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-13 12:10:41 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-13 12:10:42 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-13 12:10:57 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-04-13 12:10:57 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-04-13 12:10:57 +0200finn_elijaFinnElija
2022-04-13 12:13:51 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-04-13 12:14:16 +0200acidjnk_new(~acidjnk@p200300d0c722df650d0cc85cc0f432cb.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-13 12:15:34 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 12:16:24 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net) (Ping timeout: 248 seconds)
2022-04-13 12:16:27 +0200Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2022-04-13 12:20:14 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
2022-04-13 12:20:31 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-13 12:22:04 +0200zmt01(~zmt00@user/zmt00)
2022-04-13 12:22:50 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 250 seconds)
2022-04-13 12:23:13 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net)
2022-04-13 12:25:44 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 12:26:34 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 12:27:35 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 12:27:44 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-04-13 12:27:45 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-04-13 12:27:45 +0200finn_elijaFinnElija
2022-04-13 12:29:08 +0200xff0x(~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp)
2022-04-13 12:30:16 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
2022-04-13 12:31:47 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-04-13 12:33:26 +0200coot(~coot@213.134.190.95)
2022-04-13 12:35:53 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 12:37:00 +0200gehmehgeh_(~user@user/gehmehgeh)
2022-04-13 12:38:15 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 240 seconds)
2022-04-13 12:39:10 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 12:40:32 +0200redb(~nmh@136.49.49.211)
2022-04-13 12:40:43 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
2022-04-13 12:42:15 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2022-04-13 12:43:38 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 272 seconds)
2022-04-13 12:43:55 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2022-04-13 12:44:22 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-13 12:44:40 +0200redb(~nmh@136.49.49.211) (Ping timeout: 248 seconds)
2022-04-13 12:45:05 +0200Pickchea(~private@user/pickchea)
2022-04-13 12:45:17 +0200Guest|66(~Guest|66@87.247.98.234)
2022-04-13 12:46:03 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 12:46:44 +0200Guest|66(~Guest|66@87.247.98.234) (Client Quit)
2022-04-13 12:49:17 +0200mattil(~mattil@helsinki.portalify.com) (Remote host closed the connection)
2022-04-13 12:50:07 +0200abastro(~abab9579@143.248.229.195) (Ping timeout: 240 seconds)
2022-04-13 12:50:32 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
2022-04-13 12:53:02 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-04-13 12:53:05 +0200jstolarek(~jstolarek@staticline-31-183-186-36.toya.net.pl) (Quit: leaving)
2022-04-13 12:54:00 +0200abastro(~abab9579@192.249.26.196)
2022-04-13 12:55:52 +0200InstX1_(~Liam@2601:6c4:4080:3f80:19e5:15a0:708a:70c0) (Ping timeout: 248 seconds)
2022-04-13 12:59:40 +0200redb(~nmh@136.49.49.211)
2022-04-13 12:59:47 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 13:01:38 +0200mattil(~mattil@helsinki.portalify.com)
2022-04-13 13:04:00 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2022-04-13 13:04:00 +0200Pickchea(~private@user/pickchea) (Ping timeout: 250 seconds)
2022-04-13 13:04:35 +0200 <shapr> Axman6: that's a good point, I thought the writing might be a bit thin
2022-04-13 13:05:05 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-13 13:05:11 +0200 <shapr> I'll expand on the intro paragraph
2022-04-13 13:05:13 +0200jabra(~jabra11@p200300f76f02d600e2d55efffe270715.dip0.t-ipconnect.de)
2022-04-13 13:10:50 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-04-13 13:11:02 +0200redb(~nmh@136.49.49.211)
2022-04-13 13:11:19 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 256 seconds)
2022-04-13 13:11:57 +0200swistak(~swistak@185.21.216.141) (Ping timeout: 252 seconds)
2022-04-13 13:14:49 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-13 13:16:10 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-13 13:16:34 +0200z0k(~z0k@39.40.107.216) (Ping timeout: 250 seconds)
2022-04-13 13:17:12 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-13 13:19:40 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-04-13 13:22:07 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-04-13 13:22:38 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
2022-04-13 13:25:15 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 13:25:38 +0200jabra(~jabra11@p200300f76f02d600e2d55efffe270715.dip0.t-ipconnect.de) (Quit: WeeChat 3.5)
2022-04-13 13:26:34 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-04-13 13:29:44 +0200thiross(~thiross@173.242.113.143.16clouds.com)
2022-04-13 13:30:21 +0200joo-_(~joo-_@fsf/member/joo--) (Quit: Lost terminal)
2022-04-13 13:32:56 +0200Pickchea(~private@user/pickchea)
2022-04-13 13:35:38 +0200mc47(~mc47@xmonad/TheMC47)
2022-04-13 13:37:01 +0200redb(~nmh@136.49.49.211)
2022-04-13 13:38:25 +0200fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-04-13 13:39:42 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net) (Quit: Leaving)
2022-04-13 13:41:09 +0200swistak(~swistak@185.21.216.141)
2022-04-13 13:41:12 +0200joo-_(~joo-_@80-62-116-147-mobile.dk.customer.tdc.net)
2022-04-13 13:41:12 +0200joo-_(~joo-_@80-62-116-147-mobile.dk.customer.tdc.net) (Changing host)
2022-04-13 13:41:12 +0200joo-_(~joo-_@fsf/member/joo--)
2022-04-13 13:42:07 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-13 13:43:04 +0200redb(~nmh@136.49.49.211)
2022-04-13 13:44:21 +0200joo-_(~joo-_@fsf/member/joo--) (Client Quit)
2022-04-13 13:44:44 +0200joo-_(~joo-_@80-62-116-147-mobile.dk.customer.tdc.net)
2022-04-13 13:44:44 +0200joo-_(~joo-_@80-62-116-147-mobile.dk.customer.tdc.net) (Changing host)
2022-04-13 13:44:44 +0200joo-_(~joo-_@fsf/member/joo--)
2022-04-13 13:48:56 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-13 13:48:56 +0200mattil(~mattil@helsinki.portalify.com) (Read error: Connection reset by peer)
2022-04-13 13:49:30 +0200bgt32(~keutoi@223.182.21.148) (Ping timeout: 272 seconds)
2022-04-13 13:51:19 +0200thiross(~thiross@173.242.113.143.16clouds.com) (Quit: Client closed)
2022-04-13 13:51:47 +0200thiross(~thiross@183.156.113.134)
2022-04-13 13:51:55 +0200akegalj(~akegalj@95.168.118.21)
2022-04-13 13:53:19 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-04-13 13:53:19 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Client Quit)
2022-04-13 13:53:29 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 13:54:23 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-13 13:59:34 +0200anomal(~anomal@87.227.196.109)
2022-04-13 14:00:28 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-13 14:01:44 +0200 <thiross> @type map
2022-04-13 14:01:46 +0200 <lambdabot> (a -> b) -> [a] -> [b]
2022-04-13 14:04:49 +0200akegalj(~akegalj@95.168.118.21) (Quit: leaving)
2022-04-13 14:04:53 +0200thiross(~thiross@183.156.113.134) (Quit: Client closed)
2022-04-13 14:06:00 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-13 14:06:20 +0200 <cdman> is there anyone use gedit?
2022-04-13 14:07:24 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-04-13 14:12:34 +0200 <geekosaur> I used to, but it's too heavy for little things and too underpowered for serious editing IMO
2022-04-13 14:15:03 +0200z0k(~z0k@39.40.107.216)
2022-04-13 14:15:49 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 14:18:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-04-13 14:18:58 +0200gehmehgeh_gehmehgeh
2022-04-13 14:22:09 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-13 14:24:12 +0200thiross(~user@183.156.113.134)
2022-04-13 14:33:58 +0200 <albet70> except zipWith, is there other "fmap" can apply a binary function on two list?
2022-04-13 14:34:19 +0200thiross(~user@183.156.113.134) (ERC (IRC client for Emacs 27.1))
2022-04-13 14:34:22 +0200 <albet70> ap?
2022-04-13 14:35:26 +0200z0k(~z0k@39.40.107.216) (Ping timeout: 250 seconds)
2022-04-13 14:39:29 +0200 <abastro> <del>zipWithM</del>
2022-04-13 14:43:14 +0200 <Zemyla> zipWith and ap encompass the two ways of combining two lists of different types.
2022-04-13 14:43:30 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-04-13 14:43:37 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-13 14:43:37 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-13 14:43:37 +0200wroathe(~wroathe@user/wroathe)
2022-04-13 14:44:24 +0200 <geekosaur> what are you actually trying to do? there might be a better way to approach it
2022-04-13 14:44:41 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 14:46:04 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-04-13 14:46:29 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-04-13 14:46:49 +0200mc47(~mc47@xmonad/TheMC47)
2022-04-13 14:47:02 +0200mc47(~mc47@xmonad/TheMC47) (Client Quit)
2022-04-13 14:49:03 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 246 seconds)
2022-04-13 14:50:49 +0200robosexual1(~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
2022-04-13 14:51:17 +0200redb(~nmh@136.49.49.211)
2022-04-13 14:53:26 +0200 <albet70> get a new list from a list, with the next element minus the previous one
2022-04-13 14:53:59 +0200 <albet70> zipWith (-) (tail a) $ a
2022-04-13 14:56:00 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-13 14:57:31 +0200 <abastro> Looks fine to me
2022-04-13 14:57:38 +0200z0k(~z0k@39.40.62.192)
2022-04-13 14:59:02 +0200 <geekosaur> aside from the $ being unnecessary and what happens if the list doesn't have at least two elements
2022-04-13 14:59:26 +0200 <geekosaur> hm
2022-04-13 14:59:30 +0200 <geekosaur> > tail []
2022-04-13 14:59:31 +0200 <lambdabot> *Exception: Prelude.tail: empty list
2022-04-13 14:59:54 +0200 <geekosaur> one element is probably okay, the zipWith will just produce []
2022-04-13 15:00:17 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 15:00:18 +0200 <albet70> I just wonder if this can be done with ap?
2022-04-13 15:00:58 +0200 <geekosaur> ap aka <*> is something different
2022-04-13 15:01:06 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-04-13 15:01:51 +0200 <abastro> Yea, empty case would be different
2022-04-13 15:01:56 +0200 <abastro> :t ap
2022-04-13 15:01:57 +0200 <lambdabot> Monad m => m (a -> b) -> m a -> m b
2022-04-13 15:02:13 +0200 <abastro> Oh, so ap is what you call <*>
2022-04-13 15:02:24 +0200 <albet70> > ap zip tail $ [0..90]
2022-04-13 15:02:25 +0200 <lambdabot> [(0,1),(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12...
2022-04-13 15:03:18 +0200 <albet70> :t zip
2022-04-13 15:03:19 +0200 <geekosaur> well, it's a historical thing
2022-04-13 15:03:19 +0200 <lambdabot> [a] -> [b] -> [(a, b)]
2022-04-13 15:03:30 +0200 <geekosaur> Applicative is still fairly "new" as Haskell goes
2022-04-13 15:03:45 +0200 <geekosaur> so we spelled <$> `liftM` and <*> `ap`
2022-04-13 15:04:30 +0200Flow(~none@gentoo/developer/flow)
2022-04-13 15:04:37 +0200 <geekosaur> and there are still a lot of programs that retrofitted Applicative instances by doing `instance Applicative Foo where <*> = ap` because every Monad is an Applicative
2022-04-13 15:05:05 +0200 <geekosaur> so `ap` has to remain as it is
2022-04-13 15:05:29 +0200 <albet70> a little confused here, tail [0..90] will get [1..90] and what ap zip [1..90] do? zip need two list
2022-04-13 15:06:02 +0200 <geekosaur> :t ap zip tail
2022-04-13 15:06:04 +0200 <lambdabot> [a] -> [(a, a)]
2022-04-13 15:06:10 +0200 <geekosaur> :t ap zip
2022-04-13 15:06:11 +0200 <lambdabot> ([a] -> [b]) -> [a] -> [(a, b)]
2022-04-13 15:06:47 +0200 <geekosaur> bleh, that was less than helpful
2022-04-13 15:06:50 +0200 <geekosaur> :t ap
2022-04-13 15:06:51 +0200 <lambdabot> Monad m => m (a -> b) -> m a -> m b
2022-04-13 15:08:26 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Remote host closed the connection)
2022-04-13 15:09:04 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 15:10:09 +0200 <geekosaur> % :t ap @[]
2022-04-13 15:10:09 +0200 <yahb> geekosaur: [a -> b] -> [a] -> [b]
2022-04-13 15:10:11 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-13 15:10:18 +0200 <abastro> I wonder..
2022-04-13 15:10:19 +0200 <geekosaur> wrong one, sorry
2022-04-13 15:10:28 +0200 <abastro> % :t ap @((->) _)
2022-04-13 15:10:28 +0200 <yahb> abastro: (w -> (a -> b)) -> (w -> a) -> w -> b
2022-04-13 15:10:39 +0200 <abastro> % :t ap zip
2022-04-13 15:10:39 +0200 <yahb> abastro: ([a] -> [b]) -> [a] -> [(a, b)]
2022-04-13 15:10:45 +0200 <abastro> Oh Interesting
2022-04-13 15:11:09 +0200 <abastro> % :t ap zip tail
2022-04-13 15:11:09 +0200 <yahb> abastro: [a] -> [(a, a)]
2022-04-13 15:11:23 +0200 <abastro> Now this is point-free style right
2022-04-13 15:12:10 +0200zaquest(~notzaques@5.130.79.72)
2022-04-13 15:12:17 +0200frost(~frost@user/frost)
2022-04-13 15:12:55 +0200acidjnk_new(~acidjnk@p200300d0c722df65bc11ed8127f1571b.dip0.t-ipconnect.de)
2022-04-13 15:13:07 +0200 <geekosaur> @quote ap.zip
2022-04-13 15:13:07 +0200 <lambdabot> No quotes match. You untyped fool!
2022-04-13 15:13:12 +0200 <geekosaur> oh
2022-04-13 15:13:18 +0200 <geekosaur> @quote zip.ap
2022-04-13 15:13:18 +0200 <lambdabot> quicksilver says: zip`ap`tail - the Aztec god of consecutive numbers
2022-04-13 15:13:37 +0200 <geekosaur> not that that helps either :)
2022-04-13 15:14:06 +0200 <geekosaur> anyway I get lost around here, I still haven't quite figured all of Applicative. need to sit down at some point and work out what's going on
2022-04-13 15:14:18 +0200 <albet70> more confused
2022-04-13 15:14:18 +0200 <geekosaur> but ap / <*> is not quite fmap
2022-04-13 15:14:51 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-04-13 15:14:58 +0200 <albet70> :t ap zip tail
2022-04-13 15:14:59 +0200 <lambdabot> [a] -> [(a, a)]
2022-04-13 15:15:27 +0200 <abastro> geekosaur well if you say that you are lost.. what about us :/
2022-04-13 15:17:31 +0200 <geekosaur> I told you I'm far fromexpert
2022-04-13 15:17:56 +0200 <geekosaur> doesn't help that Applicative came in while I was all but offline
2022-04-13 15:18:17 +0200 <albet70> f xs = zip xs (tail xs)
2022-04-13 15:18:33 +0200 <albet70> f = ap zip tail
2022-04-13 15:19:57 +0200 <geekosaur> that is more or less the ap "pattern"
2022-04-13 15:20:02 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 15:20:04 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 272 seconds)
2022-04-13 15:21:39 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-04-13 15:23:19 +0200redb(~nmh@136.49.49.211)
2022-04-13 15:24:46 +0200 <albet70> when m~ (->) e is always weird
2022-04-13 15:25:19 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Remote host closed the connection)
2022-04-13 15:26:57 +0200 <albet70> : t zip (>>=) tail
2022-04-13 15:27:27 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-13 15:27:31 +0200 <albet70> :t zip (>>=) tail
2022-04-13 15:27:32 +0200 <lambdabot> error:
2022-04-13 15:27:32 +0200 <lambdabot> • Couldn't match expected type ‘[a]’
2022-04-13 15:27:32 +0200 <lambdabot> with actual type ‘m0 a0 -> (a0 -> m0 b0) -> m0 b0’
2022-04-13 15:28:26 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-13 15:29:11 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94)
2022-04-13 15:31:29 +0200 <abastro> You mean this?
2022-04-13 15:31:32 +0200 <abastro> :t zip >>= tail
2022-04-13 15:31:33 +0200 <lambdabot> error:
2022-04-13 15:31:33 +0200 <lambdabot> • Couldn't match expected type ‘[[b]]’
2022-04-13 15:31:33 +0200 <lambdabot> with actual type ‘[a0] -> [b0] -> [(a0, b0)]’
2022-04-13 15:31:59 +0200 <abastro> Still not working hm
2022-04-13 15:32:59 +0200kaph(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Ping timeout: 256 seconds)
2022-04-13 15:35:44 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-13 15:37:07 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-13 15:40:23 +0200bliminse(~bliminse@host86-185-253-73.range86-185.btcentralplus.com) (Quit: leaving)
2022-04-13 15:43:26 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-04-13 15:45:06 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-04-13 15:47:24 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-04-13 15:47:32 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-13 15:50:09 +0200 <Zemyla> @let import Data.Profunctor.Mapping -- int-e
2022-04-13 15:50:11 +0200 <lambdabot> <no location info>: error:
2022-04-13 15:50:11 +0200 <lambdabot> The package (distributive-0.6.2) is required to be trusted but it isn't!
2022-04-13 15:51:21 +0200cfricke(~cfricke@user/cfricke) (Read error: Connection reset by peer)
2022-04-13 15:53:08 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 15:54:10 +0200redb(~nmh@136.49.49.211)
2022-04-13 15:54:13 +0200Everything(~Everythin@37.115.210.35)
2022-04-13 15:58:21 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-13 16:02:48 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-13 16:03:46 +0200Sgeo(~Sgeo@user/sgeo)
2022-04-13 16:04:22 +0200bliminse(~bliminse@host86-185-253-73.range86-185.btcentralplus.com)
2022-04-13 16:06:03 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-04-13 16:07:33 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 256 seconds)
2022-04-13 16:08:08 +0200cfricke(~cfricke@user/cfricke)
2022-04-13 16:11:12 +0200redb(~nmh@136.49.49.211)
2022-04-13 16:11:20 +0200d34df00d(~d34df00d@2600:1700:8c60:3a10::46) (Remote host closed the connection)
2022-04-13 16:13:13 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2022-04-13 16:13:43 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 16:15:48 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-13 16:16:28 +0200 <abastro> When doing haskell is quite fun, so I cannot be hired doing haskell :P
2022-04-13 16:18:08 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 250 seconds)
2022-04-13 16:19:26 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (Quit: meh)
2022-04-13 16:19:34 +0200lambdabot(~lambdabot@silicon.int-e.eu)
2022-04-13 16:19:35 +0200lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2022-04-13 16:19:35 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-04-13 16:20:01 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be) (Quit: WeeChat 3.5)
2022-04-13 16:20:03 +0200 <int-e> @let import Data.Profunctor.Mapping
2022-04-13 16:20:10 +0200 <lambdabot> Defined.
2022-04-13 16:21:08 +0200 <int-e> (all this because import Data.Coerce <-- this module isn't trusted)
2022-04-13 16:21:24 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be)
2022-04-13 16:22:42 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 260 seconds)
2022-04-13 16:23:38 +0200 <abastro> Not trusted for a reason right?
2022-04-13 16:24:23 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-04-13 16:25:09 +0200 <geekosaur> actually Data.Coerce should be fine
2022-04-13 16:25:18 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-04-13 16:25:20 +0200 <int-e> geekosaur: I know.
2022-04-13 16:25:28 +0200 <geekosaur> it uses unsafeCoerce under the hood, but the typechecker ensures it's always safe
2022-04-13 16:25:39 +0200 <geekosaur> right, I meant abastro
2022-04-13 16:26:43 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2022-04-13 16:26:59 +0200ph88(~ph88@ip5f5af71f.dynamic.kabel-deutschland.de)
2022-04-13 16:27:34 +0200 <abastro> I heard that newtype could still be problematic
2022-04-13 16:27:43 +0200 <int-e> Well it's baked into the Core language, and then gets erased (just like unsafeCoerce) when going to Stg, I think.
2022-04-13 16:27:49 +0200 <abastro> Somewhere I heard that GeneralizedNewtypeDeriving was deemed unsafe at least
2022-04-13 16:27:59 +0200 <geekosaur> that was why Coercible exists
2022-04-13 16:28:00 +0200 <abastro> I guess `coerce` would have similar reason
2022-04-13 16:28:02 +0200 <int-e> GND is *much* safer these days
2022-04-13 16:28:03 +0200hololeap(~hololeap@user/hololeap)
2022-04-13 16:28:04 +0200 <geekosaur> go look at type roles
2022-04-13 16:28:42 +0200 <abastro> Oh, I guess it deemed unsafe was legacy then
2022-04-13 16:28:57 +0200 <geekosaur> yes. type roles fixed GND
2022-04-13 16:29:00 +0200 <albet70> why tail >>= tail is wrong?
2022-04-13 16:29:06 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 272 seconds)
2022-04-13 16:29:13 +0200 <abastro> Ohh, I see
2022-04-13 16:29:28 +0200 <int-e> Yes, it used to be totally unsafe because it blindly applied unsafeCoerce under the hood. Now it blindly applies coerce under the hood and benefits from the safety guarantees that comes with.
2022-04-13 16:29:30 +0200 <abastro> What do you expect `tail >>= tail` to do?
2022-04-13 16:29:35 +0200 <albet70> >>= g f = \x -> f (g x)
2022-04-13 16:29:41 +0200 <abastro> Unless you mean `tail >=> tail`
2022-04-13 16:29:59 +0200 <int-e> :t tail >>= tail
2022-04-13 16:30:01 +0200 <lambdabot> error:
2022-04-13 16:30:01 +0200 <lambdabot> • Couldn't match expected type ‘[[b]]’
2022-04-13 16:30:01 +0200 <lambdabot> with actual type ‘[a0] -> [a0]’
2022-04-13 16:30:26 +0200abastro(~abab9579@192.249.26.196) (Remote host closed the connection)
2022-04-13 16:30:29 +0200 <albet70> g is an unary function, f is a binary function
2022-04-13 16:30:33 +0200 <int-e> :t tail >=> tail
2022-04-13 16:30:35 +0200 <lambdabot> [[c]] -> [c]
2022-04-13 16:30:38 +0200 <int-e> :t tail . tail
2022-04-13 16:30:40 +0200 <lambdabot> [a] -> [a]
2022-04-13 16:31:08 +0200 <int-e> (the last one seems most likely, really)
2022-04-13 16:32:21 +0200Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-04-13 16:32:31 +0200lagash(lagash@lagash.shelltalk.net) (Remote host closed the connection)
2022-04-13 16:32:44 +0200 <albet70> tail >=> tail that limit m to []
2022-04-13 16:33:43 +0200 <abastro[m]> Hm but why tho
2022-04-13 16:34:31 +0200 <albet70> what about tail >>= zip?
2022-04-13 16:34:45 +0200 <albet70> :t tail (>>=) zip
2022-04-13 16:34:46 +0200 <lambdabot> error:
2022-04-13 16:34:46 +0200 <lambdabot> • Couldn't match expected type ‘([a2] -> [b1] -> [(a2, b1)]) -> t’
2022-04-13 16:34:46 +0200 <lambdabot> with actual type ‘[a1]’
2022-04-13 16:35:05 +0200 <albet70> :t tail
2022-04-13 16:35:07 +0200 <lambdabot> [a] -> [a]
2022-04-13 16:35:09 +0200 <albet70> :t zip
2022-04-13 16:35:11 +0200 <lambdabot> [a] -> [b] -> [(a, b)]
2022-04-13 16:35:15 +0200lagash(lagash@lagash.shelltalk.net)
2022-04-13 16:35:21 +0200 <albet70> :t (>>=)
2022-04-13 16:35:22 +0200 <lambdabot> Monad m => m a -> (a -> m b) -> m b
2022-04-13 16:35:48 +0200dextaa(~dextaa@user/dextaa)
2022-04-13 16:35:51 +0200dextaa(~dextaa@user/dextaa) (Remote host closed the connection)
2022-04-13 16:36:01 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-04-13 16:36:20 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-04-13 16:36:52 +0200 <abastro[m]> `tail (>>=)` does not make sense
2022-04-13 16:37:27 +0200 <abastro[m]> >>= is not a list
2022-04-13 16:37:51 +0200 <albet70> :t zip <*> tail
2022-04-13 16:37:52 +0200 <lambdabot> [a] -> [(a, a)]
2022-04-13 16:38:08 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-13 16:38:38 +0200 <albet70> tail (>>=) m is (->)_?
2022-04-13 16:40:17 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-13 16:42:02 +0200 <abastro[m]> I don't see a way where `tail (>>=)` would make sense
2022-04-13 16:43:17 +0200redb(~nmh@136.49.49.211)
2022-04-13 16:43:51 +0200maroloccio(~marolocci@213.99.23.106)
2022-04-13 16:44:14 +0200mmhat(~mmh@55d42e6b.access.ecotel.net)
2022-04-13 16:44:23 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
2022-04-13 16:45:01 +0200 <geekosaur> albet70, `tail (>>=)` is tail applied to the operator (>>=). this can't make sense. what are you really trying to say? or do?
2022-04-13 16:46:29 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 16:47:52 +0200redb(~nmh@136.49.49.211) (Ping timeout: 248 seconds)
2022-04-13 16:48:08 +0200 <abastro[m]> % :t tail
2022-04-13 16:48:08 +0200 <yahb> abastro[m]: [a] -> [a]
2022-04-13 16:48:10 +0200 <albet70> nothing to do, just wonder why it can not?
2022-04-13 16:48:28 +0200shriekingnoise(~shrieking@201.231.16.156)
2022-04-13 16:49:12 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout))
2022-04-13 16:49:28 +0200notzmv(~zmv@user/notzmv)
2022-04-13 16:50:20 +0200 <geekosaur> because tail operates on lists, not functions
2022-04-13 16:50:34 +0200 <geekosaur> and `tail >>=` is something different from `tail (>>=)`
2022-04-13 16:50:53 +0200 <albet70> "geekosaur :and `tail >>=` is something different from `tail (>>=)`", how so?
2022-04-13 16:51:18 +0200 <abastro[m]> Operator section is hard
2022-04-13 16:51:22 +0200 <geekosaur> you wrap an operator in parentheses to turn it into a (prefix) function
2022-04-13 16:51:34 +0200 <geekosaur> :t + --this is an error
2022-04-13 16:51:35 +0200 <lambdabot> error: parse error on input ‘+’
2022-04-13 16:51:38 +0200 <abastro[m]> Ye haskell has too much sugar
2022-04-13 16:51:48 +0200 <geekosaur> :t (+) -- this is operator `+` turned into a function
2022-04-13 16:51:49 +0200 <lambdabot> Num a => a -> a -> a
2022-04-13 16:52:41 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-13 16:52:50 +0200 <albet70> what about tail >=> tail?
2022-04-13 16:53:02 +0200 <abastro[m]> > ([] `tail`)
2022-04-13 16:53:04 +0200 <lambdabot> *Exception: Prelude.tail: empty list
2022-04-13 16:53:13 +0200 <abastro[m]> Hehe
2022-04-13 16:53:24 +0200 <abastro[m]> :t (>=>)
2022-04-13 16:53:25 +0200 <lambdabot> Monad m => (a -> m b) -> (b -> m c) -> a -> m c
2022-04-13 16:53:37 +0200 <geekosaur> that composes two monads, the monad in question being the list monad
2022-04-13 16:53:48 +0200 <geekosaur> it's like function composition but for monads
2022-04-13 16:53:50 +0200 <abastro[m]> It is monadic composition
2022-04-13 16:53:56 +0200 <geekosaur> :t (>=>)
2022-04-13 16:53:57 +0200 <lambdabot> Monad m => (a -> m b) -> (b -> m c) -> a -> m c
2022-04-13 16:54:06 +0200 <geekosaur> :t (>>>) -- flipped (.)
2022-04-13 16:54:08 +0200 <lambdabot> forall k (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k). Category cat => cat a b -> cat b c -> cat a c
2022-04-13 16:54:13 +0200 <geekosaur> oh crap
2022-04-13 16:54:18 +0200 <geekosaur> thanks lambdabot :/
2022-04-13 16:54:31 +0200 <albet70> wait a sec, what the m is? e-> or []?
2022-04-13 16:54:45 +0200 <abastro[m]> Haha
2022-04-13 16:55:17 +0200 <abastro[m]> % :k Category
2022-04-13 16:55:17 +0200 <yahb> abastro[m]: (k -> k -> *) -> Constraint
2022-04-13 16:55:28 +0200 <geekosaur> the monad here is [] because that's what tail produces
2022-04-13 16:56:08 +0200jgeerds_(~jgeerds@d5364b87.access.ecotel.net)
2022-04-13 16:56:41 +0200 <albet70> how to express it? >>= or >=> limit or concrete the m by its value?
2022-04-13 16:57:03 +0200 <geekosaur> neither of those limit m, they have to operate on any Monad m
2022-04-13 16:57:18 +0200 <geekosaur> the type of `tail` picks m to be []
2022-04-13 16:58:31 +0200coot(~coot@213.134.190.95)
2022-04-13 16:58:56 +0200 <albet70> but its value limit m?
2022-04-13 16:59:12 +0200 <albet70> its parameter
2022-04-13 16:59:30 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 272 seconds)
2022-04-13 16:59:53 +0200 <abastro[m]> Type parameter
2022-04-13 17:00:05 +0200 <albet70> f >>= g, if f is [a] then m is limited to []
2022-04-13 17:00:23 +0200 <albet70> if f is e-> a then m is limited to e->
2022-04-13 17:00:56 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 17:01:45 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1bbe:d06f:b37f:2998) (Quit: WeeChat 2.8)
2022-04-13 17:02:12 +0200 <albet70> :t fmap
2022-04-13 17:02:13 +0200 <lambdabot> Functor f => (a -> b) -> f a -> f b
2022-04-13 17:02:22 +0200jgeerds_(~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 260 seconds)
2022-04-13 17:03:08 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 17:03:54 +0200 <albet70> mapFuc f g = \x -> f (g x)
2022-04-13 17:06:03 +0200 <albet70> mapList f (x:xs) = (f x):xs
2022-04-13 17:07:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-04-13 17:08:34 +0200 <geekosaur> % :t fmap @((->) _)
2022-04-13 17:08:34 +0200 <yahb> geekosaur: (a -> b) -> (w -> a) -> w -> b
2022-04-13 17:08:45 +0200 <geekosaur> % :t fmap @[]
2022-04-13 17:08:45 +0200 <yahb> geekosaur: (a -> b) -> [a] -> [b]
2022-04-13 17:08:48 +0200acidjnk_new(~acidjnk@p200300d0c722df65bc11ed8127f1571b.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2022-04-13 17:09:19 +0200 <geekosaur> something unclear here is that first one is really (a -> b) -> (w -> a) -> (w -> b)
2022-04-13 17:09:39 +0200 <geekosaur> but :t strips "unnecessary" parentheses
2022-04-13 17:11:01 +0200_________(~nobody@user/noodly)
2022-04-13 17:11:02 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-13 17:11:57 +0200awpr(uid446117@id-446117.lymington.irccloud.com)
2022-04-13 17:12:03 +0200 <albet70> :t tail >=>
2022-04-13 17:12:04 +0200 <lambdabot> error:
2022-04-13 17:12:04 +0200 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2022-04-13 17:12:29 +0200 <albet70> :t (>=>) tail
2022-04-13 17:12:30 +0200 <lambdabot> (b -> [c]) -> [b] -> [c]
2022-04-13 17:12:32 +0200 <abastro[m]> Well, you could:
2022-04-13 17:12:33 +0200 <abastro[m]> :t (tail >=>)
2022-04-13 17:12:35 +0200 <lambdabot> (b -> [c]) -> [b] -> [c]
2022-04-13 17:13:08 +0200 <abastro[m]> When parens change meaning..wait
2022-04-13 17:14:31 +0200redb(~nmh@136.49.49.211)
2022-04-13 17:14:36 +0200 <albet70> so could I say tail limited the m to [] in (>=>) tail?
2022-04-13 17:14:55 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-04-13 17:15:24 +0200 <albet70> but could [a]-> as m?
2022-04-13 17:16:01 +0200 <albet70> [] could be m, e-> could be m, [e]-> could be m?
2022-04-13 17:16:25 +0200 <geekosaur> yes. the third is just a special case of the second
2022-04-13 17:16:53 +0200 <albet70> if a unary function f, (>=>) f would limited m to e->, right?
2022-04-13 17:17:03 +0200 <geekosaur> it's e-> where e is [e'] for some e'
2022-04-13 17:17:27 +0200 <abastro[m]> Fun thing:
2022-04-13 17:17:36 +0200 <geekosaur> and yuou're still trying to treat (op) and op as the same thing
2022-04-13 17:17:37 +0200 <abastro[m]> :t (tai >=>)
2022-04-13 17:17:38 +0200 <lambdabot> error:
2022-04-13 17:17:39 +0200 <lambdabot> • Variable not in scope: tai :: a -> m b
2022-04-13 17:17:39 +0200 <lambdabot> • Perhaps you meant one of these:
2022-04-13 17:17:42 +0200 <abastro[m]> :t (tail >=>)
2022-04-13 17:17:43 +0200 <geekosaur> consider this:
2022-04-13 17:17:44 +0200 <lambdabot> (b -> [c]) -> [b] -> [c]
2022-04-13 17:17:53 +0200 <abastro[m]> :t (>=> tail)
2022-04-13 17:17:54 +0200 <lambdabot> (a -> [[c]]) -> a -> [c]
2022-04-13 17:17:57 +0200 <geekosaur> > fmap (+) z [a,b,c]
2022-04-13 17:17:59 +0200 <lambdabot> error:
2022-04-13 17:17:59 +0200 <lambdabot> • Couldn't match expected type ‘[Expr] -> a’
2022-04-13 17:17:59 +0200 <lambdabot> with actual type ‘Expr’
2022-04-13 17:18:00 +0200 <abastro[m]> Oops.. matrix bridge pls
2022-04-13 17:18:04 +0200 <geekosaur> whoops
2022-04-13 17:18:23 +0200 <albet70> then again why (>>=) tail make no sense
2022-04-13 17:18:32 +0200 <geekosaur> > fmap (+) z [a,b,c] :: FromExpr f => [f]
2022-04-13 17:18:34 +0200 <lambdabot> error:
2022-04-13 17:18:34 +0200 <lambdabot> • Couldn't match type ‘a0 -> a0’ with ‘[f1]’
2022-04-13 17:18:34 +0200 <lambdabot> Expected type: [Expr] -> [f1]
2022-04-13 17:18:35 +0200 <albet70> when m is [e]->
2022-04-13 17:18:50 +0200 <geekosaur> again, yyou are treating (>>=) and >>=mas the same. they are not
2022-04-13 17:18:52 +0200 <abastro[m]> `(>>=) tail` makes sense.
2022-04-13 17:18:52 +0200 <abastro[m]> `tail (>>=)` doesn't.
2022-04-13 17:18:57 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-13 17:19:19 +0200 <albet70> :t (>>=) tail
2022-04-13 17:19:21 +0200 <lambdabot> ([a] -> [a] -> b) -> [a] -> b
2022-04-13 17:19:54 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-13 17:20:18 +0200 <geekosaur> can I have the channel for a second?
2022-04-13 17:20:28 +0200 <geekosaur> albet70, compare these
2022-04-13 17:20:32 +0200 <geekosaur> > 2 + 3
2022-04-13 17:20:34 +0200 <lambdabot> 5
2022-04-13 17:20:38 +0200 <geekosaur> > (+) 2 3
2022-04-13 17:20:40 +0200 <lambdabot> 5
2022-04-13 17:20:57 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-13 17:21:01 +0200 <geekosaur> the first is + as an operator, the second is + as a (prefix) function
2022-04-13 17:21:19 +0200 <geekosaur> you can't simply treat (+) as the same as +, it is different
2022-04-13 17:21:29 +0200 <geekosaur> likewise >>=and (>>=) are different
2022-04-13 17:21:50 +0200 <geekosaur> ok, back to your regularly scheduled confusion :)
2022-04-13 17:22:01 +0200 <albet70> (>>=) tail is a normal prefix expression, and tail (>>=) is a suffix expression
2022-04-13 17:24:05 +0200 <[exa]> unfortunately not
2022-04-13 17:24:21 +0200 <albet70> :t (tail >>=)
2022-04-13 17:24:22 +0200 <lambdabot> ([a] -> [a] -> b) -> [a] -> b
2022-04-13 17:24:43 +0200 <albet70> tail >>= is a suffix expression
2022-04-13 17:25:33 +0200 <[exa]> without the parentheses in place it is a parse error
2022-04-13 17:25:38 +0200 <abastro[m]> Yea parens are supposed to be only for operator precedence
2022-04-13 17:25:44 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
2022-04-13 17:25:53 +0200 <abastro[m]> But haskell uses it for special treatment for operators as well
2022-04-13 17:25:59 +0200 <albet70> add parentheses to >>= would make it a prefix expression
2022-04-13 17:26:22 +0200 <tdammers> "supposed to" according to whom?
2022-04-13 17:26:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 17:26:54 +0200 <tdammers> I would argue that any language is free to define the meaning of its tokens as its designers see fit
2022-04-13 17:27:07 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Ping timeout: 240 seconds)
2022-04-13 17:27:09 +0200redb(~nmh@136.49.49.211)
2022-04-13 17:27:15 +0200 <albet70> then again what's the m in tail >>=?
2022-04-13 17:27:37 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-13 17:27:57 +0200 <tdammers> you mean in the type of (tail >>=) ?
2022-04-13 17:27:58 +0200 <c_wraith> albet70: just follow the types. It's purely mechanical
2022-04-13 17:28:00 +0200 <albet70> [a]->?
2022-04-13 17:28:04 +0200 <[exa]> albet70: the (>>=) gets instantiated for `Monad []` there
2022-04-13 17:28:15 +0200 <abastro[m]> According to math class I guess tdammers
2022-04-13 17:28:24 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 17:28:29 +0200 <tdammers> abastro[m]: programming isn't math
2022-04-13 17:28:46 +0200 <[exa]> albet70: ah no sorry, there's really (->) in place :]
2022-04-13 17:28:47 +0200 <abastro[m]> <del>Oh noo</del>
2022-04-13 17:28:53 +0200 <tdammers> and guess what, parentheses are also used differently in natural language, in music notation, etc.
2022-04-13 17:29:08 +0200 <abastro[m]> Welp so much for me to expect programming to be extension of basic math
2022-04-13 17:29:34 +0200 <abastro[m]> Well then haskell's problem is just having too many syntaxes
2022-04-13 17:29:35 +0200 <tdammers> math and programming are related, but neither is an "extension" of the other
2022-04-13 17:30:03 +0200 <tdammers> "haskell's problem" is that you aren't familiar with its syntax
2022-04-13 17:30:53 +0200 <abastro[m]> Yep, basic math/calc and math are related, but neither is an extension of the other
2022-04-13 17:31:08 +0200dolio(~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-13 17:33:41 +0200dolio(~dolio@130.44.130.54)
2022-04-13 17:33:42 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-04-13 17:36:32 +0200 <abastro[m]> Sorry albet that I interfered your question
2022-04-13 17:37:06 +0200maroloccio(~marolocci@213.99.23.106) (Quit: WeeChat 3.0)
2022-04-13 17:37:09 +0200joo-_(~joo-_@fsf/member/joo--) (Quit: leaving)
2022-04-13 17:38:15 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl)
2022-04-13 17:39:00 +0200Pickchea(~private@user/pickchea)
2022-04-13 17:39:09 +0200jonathanx(~jonathan@dyn-5-sc.cdg.chalmers.se) (Remote host closed the connection)
2022-04-13 17:39:23 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-13 17:40:24 +0200 <albet70> no need, I love haskell, but I can't comprehend
2022-04-13 17:42:31 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl) (Remote host closed the connection)
2022-04-13 17:42:39 +0200 <geekosaur> you need to work with it more and become familiar with its syntax
2022-04-13 17:42:50 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl)
2022-04-13 17:42:55 +0200 <shapr> yeah, write a bunch of code!
2022-04-13 17:42:55 +0200 <geekosaur> have you worked your way through a haskell course or book yet?
2022-04-13 17:44:12 +0200 <albet70> lyah I have read, but it lacks lots of concepts
2022-04-13 17:45:33 +0200stevenxl(~stevenxl@c-73-72-2-81.hsd1.il.comcast.net) (Quit: leaving)
2022-04-13 17:45:56 +0200 <geekosaur> it also lacks exercises for the most part
2022-04-13 17:47:16 +0200 <geekosaur> @where cis194
2022-04-13 17:47:16 +0200 <lambdabot> https://www.seas.upenn.edu/~cis194/spring13/lectures.html
2022-04-13 17:47:46 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-04-13 17:48:48 +0200 <geekosaur> that course is well recommended
2022-04-13 17:49:48 +0200 <geekosaur> unfortunately I'm not the best reference for learning haskell: not only am I a lousy teacher :) but I learned from the original Gentle Introduction — which works best if you have an SML/NJ background (which I do, plus a bunch of other languages)
2022-04-13 17:50:29 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Remote host closed the connection)
2022-04-13 17:50:30 +0200 <Zemyla> A New Jersey background?
2022-04-13 17:50:34 +0200kenran(~kenran@200116b82b0a340003754354c85ff367.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-04-13 17:51:11 +0200 <abastro[m]> I just loled
2022-04-13 17:51:17 +0200 <dolio> Hey, yo, just learn Haskell.
2022-04-13 17:51:18 +0200 <geekosaur> https://www.smlnj.org/
2022-04-13 17:51:43 +0200 <geekosaur> I worked at Carnegie Mellon for a decade and a half, that's smlnj territory
2022-04-13 17:51:44 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-13 17:53:10 +0200jackson99(~bc8147f2@cerf.good1.com)
2022-04-13 17:53:14 +0200 <abastro[m]> Wait SML of New Jersey exists?
2022-04-13 17:53:32 +0200 <abastro[m]> Wow.
2022-04-13 17:53:42 +0200 <c_wraith> You're gonna maker Robert Harper cry
2022-04-13 17:54:05 +0200 <monochrom> I learned from the gentle introduction, and I am a great teacher. :)
2022-04-13 17:54:11 +0200 <geekosaur> SCS gave zerofucks what crazy people in ECE did :)
2022-04-13 17:54:28 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl) (Remote host closed the connection)
2022-04-13 17:54:47 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl)
2022-04-13 17:54:55 +0200FragByte(~christian@user/fragbyte) (Ping timeout: 260 seconds)
2022-04-13 17:55:27 +0200FragByte(~christian@user/fragbyte)
2022-04-13 17:55:49 +0200 <monochrom> Previous SML or Scheme exposure may or may not help depending on how much you relied on mutable variables in them, in which case you were just as stuck in Algol as everyone else.
2022-04-13 17:56:06 +0200 <telser> It isn't free but I've had some success in helping onboard people to the language with https://haskellbook.com/ as the primary resource. Also had success with some of the other things already mentioned, lyah, cis194, etc.
2022-04-13 17:56:56 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
2022-04-13 17:56:56 +0200 <dolio> It'll still help with some stuff, like using recursion for everything.
2022-04-13 17:57:12 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 248 seconds)
2022-04-13 17:57:19 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-13 17:58:12 +0200 <geekosaur> most of my exposure was hoobnobbing with SCS grad students and staff — the latter of whom used a bot speaking smlnj to do system and network queries
2022-04-13 17:58:23 +0200vicfred(~vicfred@user/vicfred)
2022-04-13 17:58:30 +0200 <monochrom> That silver lining has tarnish too because tail recursion is overemphasized there...
2022-04-13 17:58:52 +0200 <abastro[m]> Coming from C background, I personally had great success by writing haskell from get go to solve algorithmic problems
2022-04-13 17:59:00 +0200 <geekosaur> all declarative (in fact the syntax for declaring variables/functions caught me by surprise later) so a good prep for haskell
2022-04-13 17:59:15 +0200 <monochrom> Only Larry Paulson has the gut to say in an SML textbook "you spend linear space for linear-sized output, that's fair game".
2022-04-13 17:59:25 +0200 <c_wraith> monochrom: unfortunately, tail recursion actually is important when your implementation blows up with non-tail recursion
2022-04-13 17:59:32 +0200 <monochrom> (of "map f (x::xs) = f x :: map f xs")
2022-04-13 17:59:41 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 17:59:42 +0200 <dolio> A lot of cases of needing mutation in simple examples revolve around not being able to move to proceed to a case where variables have different values without mutable assignment.
2022-04-13 18:00:00 +0200 <dolio> Because of loops.
2022-04-13 18:00:14 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-13 18:00:34 +0200 <abastro[m]> One can use good deal of recursion in C, so C -> Haskell transition could be easy I think
2022-04-13 18:00:55 +0200 <monochrom> It is true that previous SML exposure conquers the hurdle of accepting sum types.
2022-04-13 18:01:06 +0200lbseale(~ep1ctetus@user/ep1ctetus)
2022-04-13 18:01:08 +0200 <dolio> You can, but people aren't taught that way.
2022-04-13 18:01:20 +0200 <telser> For my learning, my earliest experience was as an undergrad requesting a functional programming course and a professor craming as much of Real World Haskell and SICP as we could handle into a semester. Then I ran with Haskell and tried to use it as much as I could.
2022-04-13 18:01:28 +0200 <abastro[m]> Oh and C has untagged unions
2022-04-13 18:01:29 +0200 <dolio> And often don't work that way.
2022-04-13 18:01:53 +0200 <abastro[m]> Can tag untagged unions to make tagged unions, so I guess that help too
2022-04-13 18:01:59 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com)
2022-04-13 18:02:17 +0200qwedfg_(~qwedfg@user/qwedfg) (Read error: Connection reset by peer)
2022-04-13 18:02:40 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-04-13 18:02:53 +0200 <c_wraith> When I was doing the main CS sequence in my university, one of the students there took "you can do anything with recursion or iteration (and some extra bookkeeping)" as a challenge and did every single assignment both ways.
2022-04-13 18:02:54 +0200 <monochrom> Mutable variables and loops are great temptations. People will not avoid them.
2022-04-13 18:03:52 +0200 <abastro[m]> Wow, dedicated student
2022-04-13 18:04:01 +0200 <monochrom> Even in Haskell, there are beginners who would rather learn IO early so they can use IORef.
2022-04-13 18:04:04 +0200 <dolio> It doesn't help because, "I could implement some Haskell things in C," is not what is required. What is required is experience actually using those things in the same way as Haskell, which isn't what people do in C, typically.
2022-04-13 18:04:18 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-04-13 18:04:19 +0200 <c_wraith> On the other hand, I just figured out how to convert between them mechanically and went "ok, yep".
2022-04-13 18:05:16 +0200 <monochrom> They may even rejoice when they discover the monad-loop package so they can go back to loops again.
2022-04-13 18:05:50 +0200 <abastro[m]> Hm perhaps I was weird then.
2022-04-13 18:05:53 +0200 <c_wraith> instead of just writing those loops themselves? Nothing in that package is more than about 3 lines long
2022-04-13 18:06:01 +0200 <monochrom> The reality is that since it is possible to emulate idiomatic C in Haskell, beginners will do exactly that.
2022-04-13 18:06:08 +0200qwedfg(~qwedfg@user/qwedfg)
2022-04-13 18:06:31 +0200 <[exa]> technically, is there any example of algorithm that would be inherently loopy and really better with cycles? I always thought that dynamic programming would be the case, until I implemented levenshtein in haskell :D
2022-04-13 18:06:39 +0200 <monochrom> As opposed to "since it is possible to emulate idiomatic Haskell in C"... well why would anyone do that?!
2022-04-13 18:06:41 +0200 <abastro[m]> I recall doing loops as recursion in C
2022-04-13 18:07:16 +0200 <[exa]> monochrom: but you can do monads with macros!!!11 :D
2022-04-13 18:07:22 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 18:07:46 +0200 <abastro[m]> My memory might be wrong but I wondered in C if recursion could be optimized to a loop
2022-04-13 18:08:00 +0200 <monochrom> Haha yeah Racket is looking at this conversation and think we are all dumb, it emulates all of us...
2022-04-13 18:08:03 +0200 <c_wraith> It's really painful to write haskell-style code in C. all those void* everywhere.
2022-04-13 18:08:03 +0200 <abastro[m]> So that I could always use easier and more consistent recursion
2022-04-13 18:08:04 +0200 <geekosaur> depends on the compiler
2022-04-13 18:08:18 +0200 <abastro[m]> Also since somehow loop is harder for me than recursion
2022-04-13 18:08:41 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 18:08:51 +0200 <abastro[m]> Yea void* is the hurdle
2022-04-13 18:08:56 +0200slac79763(~slack1256@186.11.43.180)
2022-04-13 18:09:07 +0200 <abastro[m]> But well.. void* and unconstrained casts are unavoidable in C anyway
2022-04-13 18:09:11 +0200 <monochrom> c_wraith: I once did an exercise on using libffi to write a closure in C --- a function that captures some free variables >:)
2022-04-13 18:09:44 +0200 <monochrom> void* is really not too bad in comparison. Manual type checking is not that hard.
2022-04-13 18:10:02 +0200 <abastro[m]> Really?
2022-04-13 18:10:03 +0200 <c_wraith> I've never used libffi. I just get scared when I see the name.
2022-04-13 18:10:47 +0200 <monochrom> "f x = let { g y = x + y } in g" though...
2022-04-13 18:11:15 +0200slack1256(~slack1256@191.126.227.204) (Ping timeout: 260 seconds)
2022-04-13 18:11:24 +0200 <monochrom> Don't worry I did that exercise for the LOL.
2022-04-13 18:11:31 +0200 <dolio> Most people definitely complain that recursion is much harder than loops, in my experience.
2022-04-13 18:11:43 +0200 <dolio> I think it's often not taught well, though.
2022-04-13 18:12:21 +0200 <monochrom> Absolutely.
2022-04-13 18:12:57 +0200 <abastro[m]> Yeah, I feel that is strange
2022-04-13 18:12:57 +0200 <abastro[m]> Recursion is often very powerful
2022-04-13 18:13:10 +0200 <monochrom> I think my https://groups.google.com/g/comp.lang.functional/c/UFLNf1eI95A/m/WXA78_sk31EJ nails it.
2022-04-13 18:13:13 +0200 <dolio> People try to teach the exact operational semantics, and students get lost thinking about all the 'copies' of a variable on the stack and stuff.
2022-04-13 18:13:14 +0200 <abastro[m]> I guess this is an artifact of me being more math-based
2022-04-13 18:13:15 +0200 <abastro[m]> Where recursive definitions are quite normal
2022-04-13 18:13:33 +0200 <abastro[m]> Yea, that
2022-04-13 18:13:58 +0200 <c_wraith> A friend of mine made a comment not too long ago that has stuck with me. She started programming really young, and learned a lot about how things work at a low level. She said that she had no trouble learning recursion because it was obvious to her how it was implemented. Knowing the operational semantics made it completely sensible to her.
2022-04-13 18:14:00 +0200 <abastro[m]> Really, ppl try to teach recursion by stepping and simulating what will happen
2022-04-13 18:14:04 +0200 <abastro[m]> And then stack comes in
2022-04-13 18:14:05 +0200 <monochrom> I teach recursion by saying "think of the induction proof".
2022-04-13 18:14:23 +0200 <abastro[m]> Call-by-value and call-by-reference on top. Eeeh
2022-04-13 18:14:40 +0200 <abastro[m]> Well but yeah, I understand that math is hard.
2022-04-13 18:14:44 +0200 <monochrom> http://www.cs.utoronto.ca/~trebla/CSCC24-2021-Summer/01-haskell-basic.html#synev
2022-04-13 18:14:55 +0200 <abastro[m]> Induction is hard for typical programming beginners
2022-04-13 18:15:38 +0200 <abastro[m]> Learning by its operational semantics??? Wh
2022-04-13 18:15:39 +0200 <monochrom> For those who are not in a CS curriculum? Sure.
2022-04-13 18:16:05 +0200 <monochrom> For those who are in a CS cirriculum? We can exploit a survivor bias there.
2022-04-13 18:16:11 +0200 <c_wraith> honestly, I made sense of induction by going "oh, this is just recursion made hard". :P
2022-04-13 18:16:12 +0200 <geekosaur> hm, guess that's another reason I had no trouble picking up basic Haskell. I already knew about proofs with a base case and an inductive case, and seeing functions defined the same way was natural
2022-04-13 18:16:33 +0200 <monochrom> However, I know of a data point regarding blank-slate kids.
2022-04-13 18:16:34 +0200 <abastro[m]> Well, CS majors nowadays just begin with python
2022-04-13 18:16:48 +0200 <abastro[m]> And I see them sticking with python and writing simplest codes
2022-04-13 18:17:05 +0200 <abastro[m]> I think they won't bother with induction
2022-04-13 18:17:16 +0200 <monochrom> Some MIT people tried teaching Logo with recursion to kids. The kids loved it. Loved the recursion too. Thought it was so natural.
2022-04-13 18:18:08 +0200 <monochrom> CS has a 1st-year course that does induction proofs (among other things).
2022-04-13 18:18:16 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-04-13 18:18:53 +0200cosimone(~user@93-47-228-79.ip115.fastwebnet.it)
2022-04-13 18:18:57 +0200 <abastro[m]> Ok, perhaps this is another regional thing?
2022-04-13 18:19:48 +0200 <abastro[m]> Discrete math in my uni does not teach proper induction iirc, it just teaches sets, relations, functions, I guess it also teaches trees/graphs
2022-04-13 18:19:48 +0200coot(~coot@213.134.190.95) (Read error: Connection reset by peer)
2022-04-13 18:20:00 +0200coot(~coot@213.134.190.95)
2022-04-13 18:20:12 +0200 <telser> Definitely, I've seen programs without it or with so little the students didn't really come out with an understanding.
2022-04-13 18:20:14 +0200 <dolio> Doesn't Python restrict your ability to use recursion by always using stack?
2022-04-13 18:20:31 +0200 <monochrom> geekosaur: Though, very technically (so don't worry about it, I was just curious), I found that using the principle of induction to prove that recursive definitions are OK seems to require a pretty strong version of choice. I hope I'm missing something.
2022-04-13 18:20:32 +0200 <abastro[m]> Hmm, Interesting that Logo recursion pedagogy works.
2022-04-13 18:20:54 +0200 <abastro[m]> Indeed, you can easily get stackoverflow in python by using recursion
2022-04-13 18:21:13 +0200 <geekosaur> monochrom, I'm not really a mathematician, I never really worried about it
2022-04-13 18:21:16 +0200 <monochrom> (Well, in the context of set theory and total functions. Of course it's easier in CPOs...)
2022-04-13 18:21:23 +0200 <abastro[m]> So avoiding recursion is recommended for performance as well
2022-04-13 18:21:30 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl) (Ping timeout: 246 seconds)
2022-04-13 18:21:43 +0200 <geekosaur> I'mkinda trying to catch up on the actual mathematics now
2022-04-13 18:21:46 +0200 <dolio> That's more a defect of set theory, if anything.
2022-04-13 18:22:20 +0200 <abastro[m]> Well checking recursion termination depends on recursion
2022-04-13 18:23:10 +0200 <abastro[m]> I cannot think of a case where recursion is related with AC though, since everything is at most countable and likely finite
2022-04-13 18:23:28 +0200 <monochrom> And then calculus of constructions just say "every recursive data type comes with a recursive elimination axiom, what's the problem?" :)
2022-04-13 18:24:03 +0200 <abastro[m]> Thing is, general recursion needs more than just the recursive elimination
2022-04-13 18:24:26 +0200 <abastro[m]> I think primitive recursion is related with that one
2022-04-13 18:25:02 +0200 <abastro[m]> AFAIK when one of the parameters are guaranteed to be decreasing is one of the most trivial cases
2022-04-13 18:29:07 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-13 18:29:21 +0200slack1256(~slack1256@191.125.227.204)
2022-04-13 18:30:44 +0200slac79763(~slack1256@186.11.43.180) (Ping timeout: 250 seconds)
2022-04-13 18:33:15 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC)
2022-04-13 18:34:21 +0200 <exarkun> this conversation gave me flashbacks to using extensions gcc had in the 90s for having closures in C, thanks
2022-04-13 18:34:24 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.5)
2022-04-13 18:36:28 +0200 <Henson> is there a way I can use filter with a functor? Something like filterFunctor :: Functor f => (a -> Bool) -> [f a] -> [f a] ? I've got some newtypes that wrap around data, and I'd like to filter that wrapped data using a function that operates on the data.
2022-04-13 18:37:08 +0200 <Henson> or some other type of class that "wraps" around data. I don't need the complexity of Monad, and Applicative doesn't seem right in this case.
2022-04-13 18:37:58 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-04-13 18:38:24 +0200Codaraxis(~Codaraxis@user/codaraxis)
2022-04-13 18:39:34 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 272 seconds)
2022-04-13 18:39:56 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-13 18:40:14 +0200 <[exa]> Henson: you'd need to be able to extract the Bool from the functor, which I don't think is possible in the generic case
2022-04-13 18:40:32 +0200 <Henson> [exa]: ok
2022-04-13 18:41:03 +0200 <[exa]> but there are similar things, check out filterM or filterA
2022-04-13 18:42:43 +0200 <[exa]> in your case, you'd basically need the parameter that does `f a -> Bool`, i.e., being able to "unwrap" the functor on itself
2022-04-13 18:49:57 +0200mmhat(~mmh@55d42e6b.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-13 18:50:11 +0200Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-04-13 18:51:11 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-13 18:53:30 +0200ccntrq(~Thunderbi@2a01:e34:eccb:b060:bc3e:467d:7ac2:fff6) (Remote host closed the connection)
2022-04-13 18:53:33 +0200ccntrq1(~Thunderbi@imx92-1-78-204-187-6.fbx.proxad.net)
2022-04-13 18:55:52 +0200ccntrq1ccntrq
2022-04-13 18:56:03 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 18:56:06 +0200 <monochrom> "Functor f => (a -> Bool) -> [f a] -> [f a]" is probably way more general and undoable than your actual problem.
2022-04-13 18:56:06 +0200mmhat(~mmh@55d42e6b.access.ecotel.net)
2022-04-13 18:58:25 +0200razetime(~quassel@117.193.4.40)
2022-04-13 19:03:45 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-13 19:04:44 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 19:07:42 +0200kenran(~kenran@200116b82b0a3400d6f6663d91422485.dip.versatel-1u1.de)
2022-04-13 19:09:44 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl)
2022-04-13 19:12:17 +0200razetime(~quassel@117.193.4.40) (Remote host closed the connection)
2022-04-13 19:12:38 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-04-13 19:15:06 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-13 19:15:26 +0200kaph(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
2022-04-13 19:19:05 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl) (Ping timeout: 256 seconds)
2022-04-13 19:22:01 +0200slac88559(~slack1256@191.125.99.75)
2022-04-13 19:23:09 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 19:23:47 +0200slack1256(~slack1256@191.125.227.204) (Ping timeout: 240 seconds)
2022-04-13 19:25:27 +0200kenran(~kenran@200116b82b0a3400d6f6663d91422485.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-04-13 19:25:39 +0200kenran(~kenran@200116b82b0a3400d6f6663d91422485.dip.versatel-1u1.de)
2022-04-13 19:29:45 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-04-13 19:31:33 +0200alp_(~alp@user/alp) (Ping timeout: 256 seconds)
2022-04-13 19:33:59 +0200califax(~califax@user/califx)
2022-04-13 19:35:58 +0200 <Henson> [exa], monochrom: ok, thanks for the suggestions. I just manually unwrapped, filtered, then rewrapped the data.
2022-04-13 19:36:16 +0200 <Henson> not as clean, but conceptually what a generic filter would have to do anyway
2022-04-13 19:36:54 +0200xkuru(~xkuru@user/xkuru)
2022-04-13 19:37:35 +0200 <[exa]> Henson: btw if you manually unwrapped and rewrapped, you know in advance what functor is there, right?
2022-04-13 19:38:08 +0200 <Henson> [exa]: yes
2022-04-13 19:38:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-04-13 19:38:39 +0200 <Henson> [exa]: I just have a couple different kinds of functors with which my data can be wrapped, and hoping for a generic solution. If there was a lens that could do the filtering I could use that as well.
2022-04-13 19:38:45 +0200 <Henson> but I don't know if lens does filtering
2022-04-13 19:39:00 +0200 <geekosaur> :t filtered
2022-04-13 19:39:02 +0200 <lambdabot> (Choice p, Applicative f) => (a -> Bool) -> Optic' p f a a
2022-04-13 19:39:13 +0200 <geekosaur> lookslike it :þ
2022-04-13 19:39:29 +0200geekosaurjust took a guess based on lens naming conventions
2022-04-13 19:40:47 +0200vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-04-13 19:41:59 +0200 <Henson> geekosaur: awesome, thanks for the helpful guess!
2022-04-13 19:43:41 +0200 <geekosaur> note that it wants an Applicative instead of just a Functor though
2022-04-13 19:44:19 +0200 <geekosaur> @hoogle Choice
2022-04-13 19:44:19 +0200 <lambdabot> Control.Lens.Combinators class Profunctor p => Choice (p :: Type -> Type -> Type)
2022-04-13 19:44:19 +0200 <lambdabot> Control.Lens.Prism class Profunctor p => Choice (p :: Type -> Type -> Type)
2022-04-13 19:44:19 +0200 <lambdabot> Network.AWS.Lens class Profunctor p => Choice (p :: Type -> Type -> Type)
2022-04-13 19:44:35 +0200zebrag(~chris@user/zebrag)
2022-04-13 19:45:46 +0200ccntrq(~Thunderbi@imx92-1-78-204-187-6.fbx.proxad.net) (Remote host closed the connection)
2022-04-13 19:47:17 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-04-13 19:50:48 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-04-13 19:51:30 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2022-04-13 19:52:27 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-04-13 19:54:42 +0200fendor_(~fendor@91.141.51.137.wireless.dyn.drei.com)
2022-04-13 19:56:08 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 248 seconds)
2022-04-13 19:56:41 +0200unyu(~pyon@user/pyon) (Quit: brb)
2022-04-13 19:56:57 +0200unyu(~pyon@user/pyon)
2022-04-13 19:57:03 +0200fendor(~fendor@91.141.45.157.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
2022-04-13 19:57:06 +0200vicfred(~vicfred@user/vicfred)
2022-04-13 19:58:40 +0200econo(uid147250@user/econo)
2022-04-13 20:01:26 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 20:01:38 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 20:03:31 +0200hodan(~hodan@gw-ste.aim-net.cz)
2022-04-13 20:08:57 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 246 seconds)
2022-04-13 20:08:59 +0200hodan(~hodan@gw-ste.aim-net.cz) (Quit: Leaving)
2022-04-13 20:10:55 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-04-13 20:12:28 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 20:12:40 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 248 seconds)
2022-04-13 20:15:20 +0200mmhat(~mmh@55d42e6b.access.ecotel.net) (Ping timeout: 248 seconds)
2022-04-13 20:17:20 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-04-13 20:19:00 +0200axeman(~quassel@ip5f5aecfe.dynamic.kabel-deutschland.de)
2022-04-13 20:22:09 +0200anomal(~anomal@87.227.196.109)
2022-04-13 20:25:40 +0200lcminer(~l@net244-38-245-109.mbb.telenor.rs)
2022-04-13 20:29:02 +0200deadmarshal_(~deadmarsh@95.38.117.55)
2022-04-13 20:29:23 +0200mmhat(~mmh@55d42e6b.access.ecotel.net)
2022-04-13 20:29:40 +0200lcminer(~l@net244-38-245-109.mbb.telenor.rs) (Leaving)
2022-04-13 20:31:24 +0200immae(~immae@2a01:4f8:141:53e7::) (Ping timeout: 240 seconds)
2022-04-13 20:33:22 +0200deadmarshal_(~deadmarsh@95.38.117.55) (Ping timeout: 250 seconds)
2022-04-13 20:34:27 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-13 20:35:38 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-04-13 20:37:22 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 20:38:17 +0200zincy(~zincy@2a00:23c8:970c:4801:2944:efb3:93ff:a753)
2022-04-13 20:41:27 +0200zyklotomic(~ethan@res388d-128-61-89-14.res.gatech.edu) (Ping timeout: 240 seconds)
2022-04-13 20:41:43 +0200slack1256(~slack1256@186.11.40.52)
2022-04-13 20:43:46 +0200slac88559(~slack1256@191.125.99.75) (Ping timeout: 250 seconds)
2022-04-13 20:43:48 +0200zyklotomic(~ethan@r4-128-61-92-120.res.gatech.edu)
2022-04-13 20:44:41 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-13 20:45:38 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net)
2022-04-13 20:48:56 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl)
2022-04-13 20:56:56 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-04-13 20:58:45 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-04-13 20:59:21 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-13 21:00:31 +0200xkuru(~xkuru@user/xkuru) (Ping timeout: 256 seconds)
2022-04-13 21:01:17 +0200kenran(~kenran@200116b82b0a3400d6f6663d91422485.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-04-13 21:04:26 +0200alp_(~alp@user/alp)
2022-04-13 21:05:30 +0200kaph(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Read error: Connection reset by peer)
2022-04-13 21:05:47 +0200kaph(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
2022-04-13 21:06:23 +0200anomal(~anomal@87.227.196.109)
2022-04-13 21:06:52 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:eeed:158a:fd38:dd13)
2022-04-13 21:08:45 +0200immae(~immae@2a01:4f8:141:53e7::)
2022-04-13 21:08:49 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 21:12:58 +0200nort(~textual@c-73-176-198-132.hsd1.in.comcast.net)
2022-04-13 21:13:21 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-04-13 21:18:55 +0200kaph_(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
2022-04-13 21:19:06 +0200kaph(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Read error: Connection reset by peer)
2022-04-13 21:22:00 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 248 seconds)
2022-04-13 21:25:40 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 21:27:33 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-04-13 21:28:18 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-13 21:28:51 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-04-13 21:29:47 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 240 seconds)
2022-04-13 21:33:41 +0200mastarija(~mastarija@2a05:4f46:e04:6000:68d9:b076:ca11:8c6e)
2022-04-13 21:33:57 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 21:36:16 +0200pavonia(~user@user/siracusa)
2022-04-13 21:36:22 +0200 <mastarija> Remind me, how do I connect top level type variables to the ones defined in the `where` part?
2022-04-13 21:36:48 +0200 <geekosaur> "connect"?
2022-04-13 21:36:52 +0200 <mastarija> Besides not specifying type
2022-04-13 21:37:18 +0200 <mastarija> myfunc :: Blah a -> Blah b; where helper :: Blah a
2022-04-13 21:37:31 +0200 <mastarija> Types not matching cause it can't connect a to a1
2022-04-13 21:37:49 +0200 <geekosaur> oh. ScopedTypeVariables and specify the type as forall a b. Blah a -> Blah b
2022-04-13 21:38:07 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 240 seconds)
2022-04-13 21:38:15 +0200 <mastarija> I think I've tried this
2022-04-13 21:38:20 +0200 <mastarija> But I'll try again :D
2022-04-13 21:38:30 +0200 <geekosaur> \it doesn't work without the forall
2022-04-13 21:38:44 +0200 <geekosaur> and youhave to include the b in the forall even if you're not using it
2022-04-13 21:38:44 +0200acidjnk(~acidjnk@p200300d0c722df657ceecd71e591a56b.dip0.t-ipconnect.de)
2022-04-13 21:39:56 +0200 <mastarija> geekosaur, thanks
2022-04-13 21:43:22 +0200jackson99(~bc8147f2@cerf.good1.com)
2022-04-13 21:44:24 +0200slac56075(~slack1256@191.126.99.75)
2022-04-13 21:44:25 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 21:45:42 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
2022-04-13 21:46:32 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2022-04-13 21:46:59 +0200slack1256(~slack1256@186.11.40.52) (Ping timeout: 256 seconds)
2022-04-13 21:49:06 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-13 21:49:12 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 248 seconds)
2022-04-13 21:50:44 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-13 21:50:54 +0200 <RevoGen> Quick question, why does "foldr (\x y-> x||y) False (repeat True)" evaluate but not "foldr (\x acc -> acc || (x<100)) False [1..]"?
2022-04-13 21:51:06 +0200zincy(~zincy@2a00:23c8:970c:4801:2944:efb3:93ff:a753) (Remote host closed the connection)
2022-04-13 21:51:50 +0200Pickchea(~private@user/pickchea)
2022-04-13 21:53:59 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 21:54:47 +0200zyklotomic(~ethan@r4-128-61-92-120.res.gatech.edu) (Ping timeout: 240 seconds)
2022-04-13 21:54:59 +0200kranius(~pi@user/kranius) (Remote host closed the connection)
2022-04-13 21:55:29 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-13 21:57:07 +0200zyklotomic(~ethan@res380d-128-61-81-14.res.gatech.edu)
2022-04-13 21:58:07 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 240 seconds)
2022-04-13 21:58:34 +0200 <mastarija> RevoGen, because the second one is not "tail recursive"?
2022-04-13 21:59:31 +0200 <mastarija> Or rather, because || shortcircuits on the first one
2022-04-13 22:00:15 +0200 <RevoGen> why does it not short circuit in the second one?
2022-04-13 22:00:31 +0200mbuf(~Shakthi@223.184.55.97) (Quit: Leaving)
2022-04-13 22:00:42 +0200 <mastarija> foldr is right associative e.g. (1 `f_x_acc` ( 2 `f_x_acc` ( 3 `f_x_acc` ... ) ) )
2022-04-13 22:00:49 +0200 <dolio> Because (||) looks at its first argument first.
2022-04-13 22:00:52 +0200 <mastarija> so in the first case he sees x first
2022-04-13 22:00:53 +0200odnes(~odnes@5-203-221-3.pat.nym.cosmote.net) (Quit: Leaving)
2022-04-13 22:01:02 +0200 <mastarija> and returns true because x is true
2022-04-13 22:01:08 +0200 <mastarija> or in my example x would be one
2022-04-13 22:01:21 +0200 <mastarija> However, in the second case, it first tries to evaluate `acc`
2022-04-13 22:01:40 +0200 <mastarija> and if you look at the parentheses, acc is `( 2 `f_x_acc` ( 3 `f_x_acc` ... ) )`
2022-04-13 22:01:41 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-13 22:01:46 +0200 <mastarija> which is infinite and never evaluates
2022-04-13 22:02:12 +0200 <sshine> > foldr (\x acc -> (x<100) || acc) False [1..]
2022-04-13 22:02:14 +0200 <lambdabot> True
2022-04-13 22:03:11 +0200 <RevoGen> ah that's genius! thank you
2022-04-13 22:04:26 +0200Guest785(~Guest7@2a00:23c6:2925:8801:a970:2fed:8ee0:243a)
2022-04-13 22:04:35 +0200 <mastarija> Am I right about it not being tail recursive, I always forget what tail recursion is. It's when we can "produce" stuff while recursion is still running instead of waiting for the whole process to finish, right?
2022-04-13 22:04:59 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:eeed:158a:fd38:dd13) (Quit: WeeChat 2.8)
2022-04-13 22:05:30 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 22:05:37 +0200 <sshine> > foldr ((||) . (< 100)) False [1..]
2022-04-13 22:05:39 +0200 <lambdabot> True
2022-04-13 22:05:45 +0200 <sclv> we had a discussion the other day about this -- tail recursion isn't a useful way of thinking about things in haskel
2022-04-13 22:06:09 +0200 <sclv> haskell has an equational theory for reasoning that doesn't require you to think about things like "call stack"
2022-04-13 22:06:16 +0200 <sshine> > any (< 100) [1..]
2022-04-13 22:06:18 +0200 <lambdabot> True
2022-04-13 22:06:19 +0200 <jackson99> > any (<100) [1..]
2022-04-13 22:06:20 +0200 <lambdabot> True
2022-04-13 22:06:48 +0200rawley(~rawley@142.99.241.242)
2022-04-13 22:07:44 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl) (Read error: Connection reset by peer)
2022-04-13 22:08:43 +0200 <exarkun> mastarija: in a language like C, you might have a function and the last thing that function says to do is to recurse. that's tail recursion - recursion happens at the "tail" of the function.
2022-04-13 22:08:56 +0200Guest785(~Guest7@2a00:23c6:2925:8801:a970:2fed:8ee0:243a) (Ping timeout: 250 seconds)
2022-04-13 22:09:19 +0200 <exarkun> mastarija: then, you might have a runtime with the tail call elimination optimization. that optimization notices that the function that is making the call has nothing more to do after the call returns.
2022-04-13 22:09:31 +0200 <mastarija> Yes, so it does some work first, and then it recurses. It doesn't first recurse and do work.
2022-04-13 22:09:49 +0200 <exarkun> mastarija: so it can clean up the function (eg reclaim its stack space) on its way into that call, even though strictly speaking the function isn't done yet
2022-04-13 22:10:09 +0200 <Franciman> > haskell has an equational theory for reasoning that doesn't require you to think about things like "call stack"
2022-04-13 22:10:11 +0200 <Franciman> WUT?
2022-04-13 22:10:11 +0200 <lambdabot> error:
2022-04-13 22:10:12 +0200 <lambdabot> Variable not in scope:
2022-04-13 22:10:12 +0200 <lambdabot> haskell
2022-04-13 22:10:23 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-04-13 22:10:26 +0200 <Franciman> it only works if equational reasoning is what you need
2022-04-13 22:10:28 +0200 <geekosaur> Franciman, haskell uses graph reduction
2022-04-13 22:10:28 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 272 seconds)
2022-04-13 22:10:36 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 22:10:36 +0200 <sshine> Franciman, you need to import haskell.
2022-04-13 22:10:37 +0200 <exarkun> mastarija: right. you can't have more work to do after the recursion or the recursion isn't in the tail position and it's not tail recursion.
2022-04-13 22:10:42 +0200RevoGen(~RevoGen@136.167.108.23) (Quit: Client closed)
2022-04-13 22:10:47 +0200 <Franciman> sshine: :D
2022-04-13 22:11:07 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-13 22:11:20 +0200 <Franciman> geekosaur: i see
2022-04-13 22:11:24 +0200 <Franciman> thanks
2022-04-13 22:11:25 +0200 <mastarija> so then, right fold is tail recursive, but left fold isn't, right?
2022-04-13 22:11:46 +0200 <sshine> so to understand Haskell's evaluation in terms of understanding what tail-recursion is, you need to put on 3D glasses.
2022-04-13 22:12:09 +0200 <mastarija> *puts 3D glasses on
2022-04-13 22:13:28 +0200mmhat(~mmh@55d42e6b.access.ecotel.net) (Ping timeout: 250 seconds)
2022-04-13 22:13:37 +0200slac56075(~slack1256@191.126.99.75) (Ping timeout: 256 seconds)
2022-04-13 22:14:01 +0200 <dolio> I don't see what tail recursion has to do with whether this example terminates.
2022-04-13 22:14:18 +0200 <sshine> https://stackoverflow.com/a/6889335/235908
2022-04-13 22:14:26 +0200 <geekosaur> looks to me like trying to understand it procedurally, which doesn't quite work
2022-04-13 22:14:41 +0200 <geekosaur> you can sort of fake it for this simple example but it falls apart for more complex ones
2022-04-13 22:15:45 +0200 <dolio> It terminates or not due to the evaluation order, not because of whether memory is being consumed.
2022-04-13 22:16:07 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-13 22:16:27 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-13 22:22:41 +0200axeman(~quassel@ip5f5aecfe.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2022-04-13 22:23:48 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-04-13 22:23:59 +0200bahamas(~lucian@84.232.140.158)
2022-04-13 22:24:57 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-04-13 22:25:07 +0200Lord_of_Life_Lord_of_Life
2022-04-13 22:26:13 +0200 <Henson> does anybody here use vscode on Linux for Haskell development? I've got the problem where the haskell extension for vscode isn't properly recognizing when I'm working on files that are in the test build area of my cabal file. Anything within the main library gets compiled interactively with helpful immediate feedback on errors, but nothing in the test suite does.
2022-04-13 22:26:48 +0200RevoGen(~RevoGen@136.167.108.23) (Remote host closed the connection)
2022-04-13 22:26:54 +0200Major_Biscuit(~MajorBisc@83.22.225.84.ipv4.supernova.orange.pl)
2022-04-13 22:27:29 +0200mmhat(~mmh@55d42e6b.access.ecotel.net)
2022-04-13 22:28:27 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 240 seconds)
2022-04-13 22:28:33 +0200 <sclv> tail recursion is unrelated to the example. you can reason purely equationally, as long as you understand (||) is strict in its first argument and nonstrict in its second.
2022-04-13 22:30:04 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-04-13 22:30:11 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-04-13 22:31:26 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-13 22:37:37 +0200mastarija(~mastarija@2a05:4f46:e04:6000:68d9:b076:ca11:8c6e) (Quit: Leaving)
2022-04-13 22:41:28 +0200Major_Biscuit(~MajorBisc@83.22.225.84.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds)
2022-04-13 22:44:05 +0200redb(~nmh@136.49.49.211)
2022-04-13 22:48:07 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-13 22:48:32 +0200immae(~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 3.3)
2022-04-13 22:48:33 +0200[_________](~oos95GWG@user/oos95GWG)
2022-04-13 22:52:16 +0200ph88(~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Quit: Leaving)
2022-04-13 22:55:07 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-04-13 22:55:57 +0200immae(~immae@2a01:4f8:141:53e7::)
2022-04-13 22:58:57 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 256 seconds)
2022-04-13 22:59:55 +0200redb(~nmh@136.49.49.211)
2022-04-13 23:04:37 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-13 23:05:02 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-13 23:05:28 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2022-04-13 23:06:11 +0200 <lechner> Hi, is there a difference between running ghc-pkg --global and simply ghc-pkg without --package-db ?
2022-04-13 23:12:10 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-13 23:13:35 +0200 <geekosaur> ghc-pkg by default shows both global and user dbs
2022-04-13 23:13:47 +0200 <geekosaur> --global constrains it to only the global db
2022-04-13 23:15:29 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-13 23:16:23 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-04-13 23:16:25 +0200 <lechner> geekosaur: thank you!
2022-04-13 23:17:48 +0200Major_Biscuit(~MajorBisc@83.22.225.84.ipv4.supernova.orange.pl)
2022-04-13 23:18:07 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-04-13 23:18:22 +0200 <lechner> Can I run ghc-pkg in a way that so it looks in both --global and --package-db ?
2022-04-13 23:18:35 +0200oats(~thomas@user/oats) (Quit: until later, my friends)
2022-04-13 23:19:02 +0200 <geekosaur> no, if you specify --package-db it looks only there
2022-04-13 23:19:14 +0200 <lechner> geekosaur: okay, thanks!
2022-04-13 23:19:21 +0200redb(~nmh@136.49.49.211)
2022-04-13 23:24:36 +0200oats(~thomas@user/oats)
2022-04-13 23:26:30 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-13 23:26:47 +0200rawley(~rawley@142.99.241.242) (Remote host closed the connection)
2022-04-13 23:32:07 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds)
2022-04-13 23:36:24 +0200fendor_(~fendor@91.141.51.137.wireless.dyn.drei.com) (Remote host closed the connection)
2022-04-13 23:47:40 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-13 23:47:59 +0200anomal(~anomal@87.227.196.109)
2022-04-13 23:50:12 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-04-13 23:51:55 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-13 23:51:57 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-04-13 23:57:12 +0200notzmv(~zmv@user/notzmv)
2022-04-13 23:58:46 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-13 23:59:47 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)