2022/02/05

2022-02-05 00:01:14 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2022-02-05 00:01:23 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2022-02-05 00:04:59 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-02-05 00:08:28 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-05 00:09:35 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-05 00:13:02 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 00:13:53 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-02-05 00:14:16 +0100vysn(~vysn@user/vysn) (Remote host closed the connection)
2022-02-05 00:15:43 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2022-02-05 00:17:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-02-05 00:21:42 +0100nitrix(~nitrix@user/nitrix) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-05 00:24:10 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-05 00:25:20 +0100jrm(~jrm@156.34.173.250) (Quit: ciao)
2022-02-05 00:25:34 +0100adnaahm(~adnaahm@host-57-net-67-160-119.mobilinkinfinity.net.pk) (Remote host closed the connection)
2022-02-05 00:26:39 +0100jrm(~jrm@156.34.173.250)
2022-02-05 00:30:32 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-05 00:32:38 +0100tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2022-02-05 00:33:24 +0100tomboy64(~tomboy64@user/tomboy64)
2022-02-05 00:35:34 +0100nosewings(~ngpc@cpe-68-206-102-85.satx.res.rr.com)
2022-02-05 00:44:33 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 00:44:54 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-05 00:45:41 +0100ardell(~ardell@user/ardell) (Quit: Konversation terminated!)
2022-02-05 00:48:55 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-05 00:52:32 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-02-05 00:53:41 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 00:56:02 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 00:57:02 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Ping timeout: 268 seconds)
2022-02-05 00:57:41 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Quit: WeeChat 3.4)
2022-02-05 00:58:23 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds)
2022-02-05 01:01:47 +0100cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2022-02-05 01:01:57 +0100cheater(~Username@user/cheater)
2022-02-05 01:03:37 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 240 seconds)
2022-02-05 01:03:38 +0100mmalter(~mmalter@88.126.10.237) (Quit: Lost terminal)
2022-02-05 01:03:59 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-05 01:05:51 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-02-05 01:11:11 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-02-05 01:14:18 +0100catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Read error: Connection reset by peer)
2022-02-05 01:14:40 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Quit: Leaving.)
2022-02-05 01:17:21 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Remote host closed the connection)
2022-02-05 01:20:43 +0100nitrix(~nitrix@user/nitrix)
2022-02-05 01:24:07 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-05 01:25:03 +0100nitrix(~nitrix@user/nitrix) (Remote host closed the connection)
2022-02-05 01:25:55 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 01:26:24 +0100nitrix(~nitrix@user/nitrix)
2022-02-05 01:29:25 +0100nitrix(~nitrix@user/nitrix) (Client Quit)
2022-02-05 01:30:26 +0100nitrix(~nitrix@user/nitrix)
2022-02-05 01:30:35 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 250 seconds)
2022-02-05 01:37:09 +0100 <hololeap> how would one go about testing the bounds of a dependency on a package? for instance, if I have a package with semigroups listed as a dependency, how would I go about testing to see which version of semigroups is the lowest that still compiles with it?
2022-02-05 01:39:30 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-05 01:40:34 +0100emf_(~emf@2620:10d:c090:400::5:9a32) (Ping timeout: 250 seconds)
2022-02-05 01:41:51 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-05 01:42:23 +0100 <sm> do you use stack or cabal ?
2022-02-05 01:42:39 +0100 <hololeap> cabal
2022-02-05 01:43:38 +0100 <sm> run a bunch of test builds like cabal build --constraint 'semigroups == X.Y' -O0
2022-02-05 01:44:19 +0100 <sm> also, check semigroups' changelog for signs of api change
2022-02-05 01:45:15 +0100 <hololeap> does anyone actually do this in practice?
2022-02-05 01:46:41 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-05 01:47:00 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net)
2022-02-05 01:48:58 +0100alp(~alp@user/alp)
2022-02-05 01:50:33 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-05 01:51:39 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-05 01:51:58 +0100 <hololeap> testing every version bump with every version of every dependency seems unmanagable, but I would think the bounds should have _some_ testing, so what is a compromise that is actually done in practice?
2022-02-05 01:56:05 +0100 <sshine> hololeap, in practice, I think most people add the currently available package as the lower bound.
2022-02-05 01:56:27 +0100Inst[m](~instrmatr@2001:470:69fc:105::1:903e)
2022-02-05 01:57:02 +0100 <hololeap> ok, that's what it seems like
2022-02-05 01:57:06 +0100 <sshine> hololeap, in the case of stackage snapshots that may be fine, since others depending on your package wouldn't see it in an older snapshot. but in general, what you're suggesting is something I also considered, but never bothered to test.
2022-02-05 01:58:05 +0100 <sshine> hololeap, since the lower bound never changes, you could do a binary search on every dependency.
2022-02-05 01:59:10 +0100 <sshine> hololeap, or rather, step backwards in (manor, minor) until it breaks.
2022-02-05 01:59:40 +0100 <hololeap> yeah. I suppose this isn't a problem that is specific to haskell/cabal, either.
2022-02-05 02:00:03 +0100 <sshine> hololeap, what you're solving is that you make your package available to people who depend on really old versions of things without having to bump their versions.
2022-02-05 02:00:35 +0100 <sshine> hololeap, but I think what's typically more customary, is that if people start depending on new things, they start by bumping their old dependencies to the point where their new dependencies resolve.
2022-02-05 02:02:16 +0100 <hololeap> the problem is when someone depends on an abandoned package that never get bumps, it may drag down the rest of their environment, so actually knowing what lower bounds work for your package could be very helpful in this scenario
2022-02-05 02:02:27 +0100 <sshine> hololeap, and, I think, you'll solve some problems if they have multiple dependencies where one is stale and depends on an old package version. in that case they don't need to --allow-newer.
2022-02-05 02:02:36 +0100 <hololeap> but really, I am just curious about the problem in general
2022-02-05 02:02:39 +0100 <sshine> right
2022-02-05 02:04:05 +0100 <sshine> it'd be neat if you could check if a version of a package works cheaper than trying it
2022-02-05 02:04:28 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 02:04:39 +0100 <sshine> I guess a neater solution is to shrink the problem like Unison does :)
2022-02-05 02:07:39 +0100 <hololeap> this problem gets hairy in the case of gentoo-haskell, where you might have 600 packages installed at once on your system, if you (ab)use it like I do. (I know this is very niche and probably doesn't make sense for most people)
2022-02-05 02:08:26 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-05 02:08:59 +0100 <sshine> right... having your Linux package manager handle Haskell packages is pretty far down most people's lists :P
2022-02-05 02:09:11 +0100 <sshine> I'd rather learn Nix then.
2022-02-05 02:09:19 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-05 02:10:20 +0100 <hololeap> well, I end up sending out a lot of PRs trying to get people to bump their dependencies! :)
2022-02-05 02:10:39 +0100 <hololeap> or remove certain dependencies... *cough* system-filepath *cough*
2022-02-05 02:10:45 +0100nosewings(~ngpc@cpe-68-206-102-85.satx.res.rr.com) (Remote host closed the connection)
2022-02-05 02:11:36 +0100 <sshine> so... the gentoo-haskell packages have dependencies that aren't in hackage? or are you talking about unnecessary dependencies in hackage packages?
2022-02-05 02:12:23 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-05 02:13:57 +0100 <hololeap> we try to keep it so that (ideally) you could install all the packages available at once and not have any problems. in reality this isn't obtainable, but we try to shoot for a high percentage. as a consequence, we are often times patching packages for newer versions of libs or just doing simple bumps in the .cabal file
2022-02-05 02:15:02 +0100 <hololeap> but on occasion there is a popular package that is not trivial to patch and it just won't compile with newer libs, so we end up omitting the newer libs or "mask" them at the very least
2022-02-05 02:16:25 +0100 <hololeap> for instance, it's going to be a while before we bring aeson-2 in
2022-02-05 02:16:36 +0100 <hololeap> there's too little support for it right now
2022-02-05 02:16:36 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Read error: Connection reset by peer)
2022-02-05 02:16:56 +0100 <Inst[m]> Hecate: is there a roadmap for Haskell in 2022?
2022-02-05 02:17:12 +0100 <Inst[m]> It's often comforting to have a plan, even if deadlines and targets are not met
2022-02-05 02:18:16 +0100 <hololeap> it's a weird hobby, I admit :)
2022-02-05 02:18:42 +0100tavares(~tavares@187.19.213.50)
2022-02-05 02:18:44 +0100tavares(~tavares@187.19.213.50) (Remote host closed the connection)
2022-02-05 02:18:53 +0100 <Inst[m]> you could link it to donations, i.e, you underpromise for certain donation thresholds
2022-02-05 02:20:33 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 02:21:30 +0100dajoer(~david@user/gvx)
2022-02-05 02:22:30 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2022-02-05 02:25:36 +0100MatthiasG2(~matthias@i6DFA03D9.versanet.de) (Quit: Lost terminal)
2022-02-05 02:29:43 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 256 seconds)
2022-02-05 02:31:37 +0100 <hololeap> I'm not sure enough people would donate for that to make sense. I like using gentoo's package manager for my haskell deps, so there's a personal incentive to work on it
2022-02-05 02:36:24 +0100 <hololeap> plus it teaches me about gentoo development and haskell/hackage development
2022-02-05 02:40:23 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2022-02-05 02:41:05 +0100jonathanx_(~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-05 02:41:23 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-05 02:41:47 +0100 <sshine> hololeap, constraint resolution is everybody's favorite hobby. some have wordle, you bump gentoo package constraints.
2022-02-05 02:42:06 +0100 <hololeap> lol
2022-02-05 02:42:13 +0100little_mac(~little_ma@2601:410:4300:3ce0:d78:32a5:c637:9190)
2022-02-05 02:44:35 +0100sshineis caught up trying to find optimal paths through various wordle clones. -_-
2022-02-05 02:48:47 +0100koolazer(~koo@user/koolazer) (Remote host closed the connection)
2022-02-05 02:49:10 +0100 <EvanR> there's at least 2 wordie, it's very confusing
2022-02-05 02:52:05 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-05 02:52:05 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-05 02:52:05 +0100wroathe(~wroathe@user/wroathe)
2022-02-05 02:56:56 +0100 <sm> hololeap: yes I will sometimes do that manually if I care about installability over a wider range of dep versions. It's not a recurring thing usually, just a one time activity
2022-02-05 02:57:26 +0100pavonia(~user@user/siracusa)
2022-02-05 02:58:18 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-05 02:58:29 +0100 <sm> when installability is less of a priority, I'll just set a more conservative bound, probably checking stackage snapshots or cabal matrix builder for guidance
2022-02-05 02:59:53 +0100notzmv(~zmv@user/notzmv) (Remote host closed the connection)
2022-02-05 03:00:18 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-05 03:04:07 +0100 <hololeap> makes sense
2022-02-05 03:04:07 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-05 03:04:42 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-02-05 03:05:19 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net)
2022-02-05 03:08:31 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-02-05 03:09:37 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-02-05 03:12:28 +0100img(~img@user/img)
2022-02-05 03:12:47 +0100mmhat(~mmh@55d49d8b.access.ecotel.net) (Ping timeout: 256 seconds)
2022-02-05 03:14:09 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 256 seconds)
2022-02-05 03:18:43 +0100califax-(~califax@user/califx)
2022-02-05 03:20:57 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
2022-02-05 03:21:42 +0100Ariakenom_(~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) (Quit: Leaving)
2022-02-05 03:22:25 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-05 03:23:13 +0100little_mac(~little_ma@2601:410:4300:3ce0:d78:32a5:c637:9190) (Remote host closed the connection)
2022-02-05 03:23:21 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-02-05 03:23:22 +0100califax-califax
2022-02-05 03:27:33 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-05 03:29:45 +0100alp(~alp@user/alp) (Ping timeout: 250 seconds)
2022-02-05 03:30:23 +0100mmhat(~mmh@55d44844.access.ecotel.net)
2022-02-05 03:32:51 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-05 03:33:04 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-05 03:34:53 +0100chenqisu1(~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds)
2022-02-05 03:37:26 +0100xff0x(~xff0x@2001:1a81:5244:c900:2c67:9c0a:1653:d1e3) (Ping timeout: 260 seconds)
2022-02-05 03:39:04 +0100xff0x(~xff0x@2001:1a81:525e:1300:a39:53d4:f8b2:1b4f)
2022-02-05 03:43:50 +0100ss4(~wootehfoo@user/wootehfoot)
2022-02-05 03:43:54 +0100razetime(~quassel@49.207.209.26)
2022-02-05 03:43:57 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds)
2022-02-05 03:46:53 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-02-05 03:50:45 +0100alx741(~alx741@157.100.197.240) (Quit: alx741)
2022-02-05 03:51:41 +0100little_mac(~little_ma@2601:410:4300:3ce0:9964:9851:99b7:1e83)
2022-02-05 03:54:32 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-02-05 04:00:18 +0100burnsidesLlama(~burnsides@dhcp168-031.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-05 04:02:07 +0100leungbk(~brian@cpe-142-129-149-172.socal.res.rr.com)
2022-02-05 04:03:26 +0100zebrag(~chris@user/zebrag)
2022-02-05 04:13:00 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-02-05 04:19:30 +0100res0nat0r08(~Fletch@dia.whatbox.ca)
2022-02-05 04:20:16 +0100Taneb0(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2022-02-05 04:20:31 +0100srk(~sorki@user/srk) (Remote host closed the connection)
2022-02-05 04:20:31 +0100derelict(~derelict@user/derelict) (Quit: bye)
2022-02-05 04:20:32 +0100ldlework(~hexeme@user/hexeme) (Remote host closed the connection)
2022-02-05 04:20:49 +0100srk(~sorki@user/srk)
2022-02-05 04:20:51 +0100derelict(derelict@user/derelict)
2022-02-05 04:21:25 +0100welterde(welterde@thinkbase.srv.welterde.de) (Ping timeout: 240 seconds)
2022-02-05 04:21:25 +0100res0nat0r0(~Fletch@dia.whatbox.ca) (Ping timeout: 240 seconds)
2022-02-05 04:22:45 +0100welterde(~welterde@thinkbase.srv.welterde.de)
2022-02-05 04:23:22 +0100hexeme(~hexeme@user/hexeme)
2022-02-05 04:24:13 +0100Taneb(~Taneb@runciman.hacksoc.org) (Ping timeout: 240 seconds)
2022-02-05 04:25:06 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds)
2022-02-05 04:26:42 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 04:28:40 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca) (Quit: Leaving)
2022-02-05 04:29:10 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca)
2022-02-05 04:33:40 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-05 04:39:57 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-05 04:41:25 +0100td_(~td@muedsl-82-207-238-085.citykom.de) (Ping timeout: 256 seconds)
2022-02-05 04:42:43 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-05 04:42:52 +0100td_(~td@muedsl-82-207-238-241.citykom.de)
2022-02-05 04:49:21 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds)
2022-02-05 04:50:17 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds)
2022-02-05 04:50:19 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-05 04:52:25 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-05 04:56:57 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 04:59:37 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2022-02-05 05:01:32 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-05 05:01:32 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-05 05:01:32 +0100wroathe(~wroathe@user/wroathe)
2022-02-05 05:11:06 +0100shriekingnoise_(~shrieking@201.231.16.156)
2022-02-05 05:11:38 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-02-05 05:12:21 +0100shriekingnoise(~shrieking@201.231.16.156) (Ping timeout: 256 seconds)
2022-02-05 05:15:37 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-05 05:21:58 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-05 05:21:58 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-05 05:21:58 +0100wroathe(~wroathe@user/wroathe)
2022-02-05 05:26:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-05 05:31:35 +0100n_blownapart(~nb@135-180-218-226.fiber.dynamic.sonic.net)
2022-02-05 05:37:37 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-05 05:38:25 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-05 05:38:35 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-05 05:39:22 +0100mmhat(~mmh@55d44844.access.ecotel.net) (Quit: WeeChat 3.4)
2022-02-05 05:42:06 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-02-05 05:50:19 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-05 05:54:30 +0100xff0x(~xff0x@2001:1a81:525e:1300:a39:53d4:f8b2:1b4f) (Ping timeout: 250 seconds)
2022-02-05 05:55:15 +0100xff0x(~xff0x@2001:1a81:525e:1300:8f21:adc2:1c05:78b)
2022-02-05 05:55:39 +0100lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-05 05:55:57 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
2022-02-05 05:58:24 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-02-05 06:00:11 +0100random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
2022-02-05 06:01:13 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-05 06:04:08 +0100ario(~ario@159.65.220.102)
2022-02-05 06:06:13 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 06:10:37 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-05 06:12:39 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 06:18:38 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net)
2022-02-05 06:22:37 +0100leungbk(~brian@cpe-142-129-149-172.socal.res.rr.com) (Ping timeout: 240 seconds)
2022-02-05 06:23:05 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-05 06:24:35 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-05 06:24:56 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-05 06:28:50 +0100ardell(~ardell@user/ardell)
2022-02-05 06:30:26 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 06:33:35 +0100leungbk(~brian@cpe-142-129-149-172.socal.res.rr.com)
2022-02-05 06:34:14 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-02-05 06:34:14 +0100 <Inst[m]> why is it
2022-02-05 06:34:19 +0100 <Inst[m]> that no one covers until?
2022-02-05 06:35:51 +0100 <Inst[m]> or more specifically, why is Richard Bird covering until?
2022-02-05 06:36:16 +0100 <dsal> covers until what?
2022-02-05 06:36:23 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-02-05 06:38:05 +0100wyrd_(~wyrd@gateway/tor-sasl/wyrd)
2022-02-05 06:39:08 +0100 <EvanR> :t until
2022-02-05 06:39:08 +0100 <lambdabot> (a -> Bool) -> (a -> a) -> a -> a
2022-02-05 06:39:24 +0100 <EvanR> cool
2022-02-05 06:39:26 +0100 <Inst[m]> it's Haskell's for loop
2022-02-05 06:39:29 +0100 <Inst[m]> that no one ever uses
2022-02-05 06:39:58 +0100 <EvanR> well it's limited to a very specific kind of loop
2022-02-05 06:40:04 +0100 <Inst[m]> until x y z = if x z then z else until x y (y z)
2022-02-05 06:40:15 +0100 <EvanR> @src until
2022-02-05 06:40:15 +0100 <lambdabot> until p f x | p x = x
2022-02-05 06:40:15 +0100 <lambdabot> | otherwise = until p f (f x)
2022-02-05 06:40:15 +0100 <Inst[m]> also there's no warning on infinite loops with it, but Bird covers it
2022-02-05 06:40:18 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds)
2022-02-05 06:41:03 +0100 <Inst[m]> I'm more wondering why people haven't stolen until yet, simply because of the syntax, but it's probably because most languages don't have tco
2022-02-05 06:41:08 +0100 <EvanR> also this seems more like a `while' loop xD
2022-02-05 06:41:22 +0100 <EvanR> which are known to diverge from time to time
2022-02-05 06:44:39 +0100 <Inst[m]> it doesn't really have much of an advantage over:
2022-02-05 06:44:45 +0100Inst[m]uploaded an image: (14KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/tNDqnCYuezDWWCsWYeBPAcGo/image.png >
2022-02-05 06:46:12 +0100 <EvanR> they aren't really comparable
2022-02-05 06:46:30 +0100 <Inst[m]> i mean it's expression-based vs syntax-based language, also FP vs IP
2022-02-05 06:46:36 +0100 <Inst[m]> erm, statement-based language
2022-02-05 06:46:54 +0100 <janus> hololeap: if you need help to advance your PR for happstack-server, i'll happily help
2022-02-05 06:47:01 +0100 <Inst[m]> i was just wondering why someone didn't steal until syntax
2022-02-05 06:47:09 +0100 <EvanR> what syntax
2022-02-05 06:48:37 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 240 seconds)
2022-02-05 06:49:09 +0100 <dsal> It's just a function.
2022-02-05 06:49:13 +0100 <dsal> There are a lot of functions.
2022-02-05 06:49:16 +0100 <dsal> Have you tried fix?
2022-02-05 06:51:11 +0100 <janus> Inst[m]: i think a big part of the reason is that if you need imperative stuff like loops, you probably also need some effect. and then you need something like monad-loops
2022-02-05 06:51:27 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-05 06:52:33 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca) (Quit: Leaving)
2022-02-05 06:52:44 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 06:53:08 +0100 <EvanR> untilM :: Monad m => m a -> m Bool -> m [a]
2022-02-05 06:53:17 +0100 <EvanR> in which case the condition test is conveniently 2nd
2022-02-05 06:53:56 +0100 <EvanR> "The condition is evaluated after the loop body" ah, that's why
2022-02-05 06:53:57 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-02-05 06:54:20 +0100 <EvanR> which is different from until. And why there's no standard for loops
2022-02-05 06:54:26 +0100 <EvanR> too many to choose from
2022-02-05 06:54:50 +0100 <janus> yeah, you can get into analysis paralysis :O
2022-02-05 06:55:01 +0100 <janus> i like https://hackage.haskell.org/package/break-1.0.2/docs/Control-Break.html
2022-02-05 06:55:31 +0100 <janus> because breaking surely subsumes all of them. and then you don't have to figure out if it tests before or after
2022-02-05 06:55:47 +0100 <janus> but otoh it is the most imperative of all
2022-02-05 06:55:55 +0100califax(~califax@user/califx)
2022-02-05 06:55:59 +0100 <janus> anyway, i like gabriel's packages, they always have good docs
2022-02-05 06:56:25 +0100 <EvanR> I like to see 6 year old packages still working xD
2022-02-05 06:56:47 +0100 <janus> why wouldn't it? the bounds are super loose
2022-02-05 06:57:15 +0100 <janus> and if it broke, i'd trust gabriel to fix it
2022-02-05 06:57:32 +0100 <EvanR> from the looks of it, it can't break, it's too simple!
2022-02-05 06:57:46 +0100 <janus> ;)
2022-02-05 06:57:50 +0100 <EvanR> lol "loose bounds" as grounds for being super reliable
2022-02-05 06:58:25 +0100 <EvanR> lets all burn our braz-- version bounds
2022-02-05 06:58:42 +0100 <janus> well if the loose bounds are also fortune telling, that would make them more reliable than others :P
2022-02-05 07:01:57 +0100Andrew(andrew@andrewyu.org) (Ping timeout: 240 seconds)
2022-02-05 07:02:13 +0100 <EvanR> if you want subsumption, code your loop using Cont monads xD
2022-02-05 07:02:28 +0100 <EvanR> which subsumes all loops and more
2022-02-05 07:05:17 +0100euouae(~euouae@user/euouae)
2022-02-05 07:05:37 +0100 <euouae> Hello are the hackage archive packages digitally signed?
2022-02-05 07:05:49 +0100 <euouae> or at least some of them?
2022-02-05 07:09:33 +0100 <sshine> I don't think so.
2022-02-05 07:09:35 +0100phma(phma@2001:5b0:211f:7008:1fdf:50b9:29f4:b115) (Read error: Connection reset by peer)
2022-02-05 07:09:38 +0100 <euouae> got it, thank you
2022-02-05 07:10:32 +0100phma(phma@2001:5b0:211c:1a98:48d4:386a:82f8:d37)
2022-02-05 07:11:03 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 07:11:48 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-05 07:12:36 +0100 <sshine> euouae, it might be worth considering for https://dev.flora.pm/
2022-02-05 07:13:02 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 260 seconds)
2022-02-05 07:13:49 +0100 <euouae> sshine the search bar does not respond here
2022-02-05 07:13:56 +0100n_blownapart(~nb@135-180-218-226.fiber.dynamic.sonic.net) (Quit: Lost terminal)
2022-02-05 07:14:07 +0100 <euouae> firefox 96.0
2022-02-05 07:16:00 +0100 <random-jellyfish> can I get a state monad to return an infinite list? e.g. I want to generate an infinite list of random numbers
2022-02-05 07:16:19 +0100 <sshine> euouae, yeah, I just realize that page doesn't work very well.
2022-02-05 07:16:27 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Ping timeout: 256 seconds)
2022-02-05 07:16:29 +0100 <sshine> euouae, I thought it was more functional, never mind. :)
2022-02-05 07:16:37 +0100 <c_wraith> random-jellyfish: sure. But... You can do that without, too!
2022-02-05 07:16:56 +0100 <random-jellyfish> without the state monad?
2022-02-05 07:17:00 +0100 <c_wraith> yes
2022-02-05 07:17:14 +0100mrkajetanp(~mrkajetan@88.98.245.28) (Ping timeout: 260 seconds)
2022-02-05 07:17:16 +0100 <wavemode> randoms
2022-02-05 07:17:19 +0100 <sshine> https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-State-Lazy.html
2022-02-05 07:17:28 +0100 <c_wraith> But the most naive State version works with... yeah, that version
2022-02-05 07:17:58 +0100mrkajetanp(~mrkajetan@88.98.245.28)
2022-02-05 07:18:07 +0100 <wavemode> :t randoms
2022-02-05 07:18:09 +0100 <lambdabot> (Random a, RandomGen g) => g -> [a]
2022-02-05 07:18:38 +0100 <random-jellyfish> okay
2022-02-05 07:18:57 +0100 <random-jellyfish> but as an exercise...how would I do that with a state monad?
2022-02-05 07:19:51 +0100 <c_wraith> with exactly what sshine linked to
2022-02-05 07:20:17 +0100 <c_wraith> Just write the naive code, pretend you don't care how much it leaks...
2022-02-05 07:20:27 +0100 <sshine> random-jellyfish, so... RandomGen is a type class, so you'd need a concrete implementation of it that works for a State monad. https://hackage.haskell.org/package/random-1.2.1/docs/System-Random.html#t:RandomGen
2022-02-05 07:20:32 +0100 <c_wraith> though to be fair, it's like that randoms leaks too
2022-02-05 07:20:35 +0100 <c_wraith> *likely
2022-02-05 07:20:51 +0100 <sshine> random-jellyfish, it looks like StateGen might work: https://hackage.haskell.org/package/random-1.2.1/docs/System-Random-Stateful.html#t:StateGen
2022-02-05 07:21:15 +0100 <sshine> random-jellyfish, I'd just use StdGen :)
2022-02-05 07:21:26 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-02-05 07:22:11 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-02-05 07:26:33 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 07:26:59 +0100gentauro(~gentauro@user/gentauro)
2022-02-05 07:27:54 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-02-05 07:30:47 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca)
2022-02-05 07:30:49 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-05 07:35:13 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-05 07:35:30 +0100 <ski> random-jellyfish : make sure to use `newStdGen' (not `getStdGen')
2022-02-05 07:39:18 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-02-05 07:39:48 +0100nitrix(~nitrix@user/nitrix) (Leaving)
2022-02-05 07:39:58 +0100notzmv(~zmv@user/notzmv)
2022-02-05 07:41:51 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-02-05 07:44:28 +0100megeve_megeve
2022-02-05 07:47:17 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds)
2022-02-05 07:49:02 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-02-05 07:49:55 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-05 07:53:02 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-05 07:53:19 +0100img(~img@user/img)
2022-02-05 07:54:17 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-02-05 07:59:52 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 08:01:04 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-05 08:04:18 +0100random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
2022-02-05 08:06:13 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-05 08:07:49 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-02-05 08:15:37 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-05 08:18:44 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-05 08:20:13 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net)
2022-02-05 08:20:20 +0100img(~img@user/img)
2022-02-05 08:20:43 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 256 seconds)
2022-02-05 08:23:03 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-05 08:24:02 +0100jespada(~jespada@87.74.36.188)
2022-02-05 08:27:17 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-02-05 08:28:08 +0100messier102(~messier10@user/messier102)
2022-02-05 08:30:55 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-05 08:34:20 +0100wavemode(~wavemode@2601:241:0:fc90:e107:b5f8:8bcd:8e3a) (Ping timeout: 256 seconds)
2022-02-05 08:36:58 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-05 08:44:19 +0100 <hololeap> janus: I was waiting to see what would happen with this PR, but it doesn't look like it's going anywhere currently
2022-02-05 08:44:30 +0100 <hololeap> https://github.com/Gabriel439/Haskell-Turtle-Library/issues/54
2022-02-05 08:44:39 +0100 <hololeap> *issue, not PR
2022-02-05 08:45:10 +0100 <hololeap> janus: but you can pull in my PR if you want. I'll un-draft it
2022-02-05 08:46:41 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-05 08:50:36 +0100 <Sqaure> is there some way to find unused code in a project?
2022-02-05 08:52:54 +0100xkuru(~xkuru@user/xkuru)
2022-02-05 08:52:59 +0100 <hololeap> there's warnings you can turn on
2022-02-05 08:53:21 +0100 <hololeap> I think -Wall has most of them
2022-02-05 08:55:57 +0100little_mac(~little_ma@2601:410:4300:3ce0:9964:9851:99b7:1e83) (Remote host closed the connection)
2022-02-05 08:56:38 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Remote host closed the connection)
2022-02-05 08:58:40 +0100 <hololeap> actually, -W is all you need: https://downloads.haskell.org/ghc/8.10.6/docs/html/users_guide/using-warnings.html#ghc-flag--W
2022-02-05 08:59:16 +0100 <hololeap> those four -Wunused-* warnings
2022-02-05 09:02:10 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-05 09:06:40 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-05 09:06:48 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2022-02-05 09:06:48 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2022-02-05 09:06:48 +0100turlando(~turlando@user/turlando)
2022-02-05 09:08:20 +0100zmt00(~zmt00@user/zmt00) (Ping timeout: 252 seconds)
2022-02-05 09:11:38 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
2022-02-05 09:11:56 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-05 09:12:13 +0100euouae(~euouae@user/euouae) (Quit: )
2022-02-05 09:12:51 +0100Natch(~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se)
2022-02-05 09:15:03 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-02-05 09:23:29 +0100eoiles[m](~eoilesmat@2001:470:69fc:105::1:6164) (Quit: You% have% been% kicked% for% being% idle)
2022-02-05 09:23:33 +0100codygman[m](~codygman@2001:470:69fc:105::b4ba) (Quit: You% have% been% kicked% for% being% idle)
2022-02-05 09:23:45 +0100Graham31415(~Graham314@213.237.82.193)
2022-02-05 09:24:55 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 09:25:42 +0100Jing(~hedgehog@240e:390:7c53:a7e1:30fc:7acd:1f91:844b)
2022-02-05 09:32:46 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
2022-02-05 09:37:32 +0100 <hololeap> what is a .hs-boot file?
2022-02-05 09:38:31 +0100 <hololeap> oh, found it... nvm
2022-02-05 09:38:37 +0100 <pavonia> I think it's created to resolve dependencies if you have mutually recursive modules
2022-02-05 09:39:28 +0100 <hololeap> yeah
2022-02-05 09:39:28 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
2022-02-05 09:40:21 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-05 09:41:25 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-05 09:43:09 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-05 09:43:43 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
2022-02-05 09:44:01 +0100leungbk(~brian@cpe-142-129-149-172.socal.res.rr.com) (Ping timeout: 256 seconds)
2022-02-05 09:50:25 +0100 <Hecate> < Inst[m]> Hecate: is there a roadmap for Haskell in 2022? // Not that I know of
2022-02-05 09:56:54 +0100leungbk(~brian@cpe-142-129-149-172.socal.res.rr.com)
2022-02-05 09:57:02 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622)
2022-02-05 09:57:51 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 10:00:13 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 10:00:27 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca) (Ping timeout: 256 seconds)
2022-02-05 10:00:40 +0100xbreu(~xbreu@2001:470:69fc:105::1:5061) (Quit: You have been kicked for being idle)
2022-02-05 10:01:15 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-05 10:01:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Ping timeout: 240 seconds)
2022-02-05 10:01:23 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-05 10:04:53 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-05 10:05:04 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-05 10:15:25 +0100mcglk(~mcglk@131.191.49.120) (Ping timeout: 256 seconds)
2022-02-05 10:15:52 +0100mcglk(~mcglk@131.191.49.120)
2022-02-05 10:17:39 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-02-05 10:17:39 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-02-05 10:17:42 +0100allbery_bgeekosaur
2022-02-05 10:19:19 +0100MatthiasG2(~matthias@i6DFA03D9.versanet.de)
2022-02-05 10:21:11 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2022-02-05 10:21:26 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-02-05 10:24:00 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 10:24:01 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-05 10:25:57 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds)
2022-02-05 10:28:50 +0100max22-(~maxime@2a01cb088335980099495edec395a55d.ipv6.abo.wanadoo.fr)
2022-02-05 10:33:26 +0100yauhsien(~yauhsien@49.216.190.89)
2022-02-05 10:35:01 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2022-02-05 10:38:11 +0100chenqisu1(~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds)
2022-02-05 10:41:05 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-05 10:41:57 +0100APic(apic@apic.name) (Ping timeout: 240 seconds)
2022-02-05 10:41:58 +0100yauhsien(~yauhsien@49.216.190.89) (Read error: Connection reset by peer)
2022-02-05 10:44:58 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-02-05 10:48:04 +0100ksqsf(~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e)
2022-02-05 10:48:43 +0100coot(~coot@213.134.190.95)
2022-02-05 10:49:07 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-02-05 10:51:20 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-05 10:59:56 +0100namkeleser(~namkelese@124.188.192.57)
2022-02-05 11:04:14 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net)
2022-02-05 11:04:37 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-02-05 11:05:16 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-05 11:06:05 +0100 <oscurochu> There are a bunch of http servers for haskell... which one should i use and why?
2022-02-05 11:06:25 +0100 <oscurochu> im looking to build a backend server.
2022-02-05 11:08:03 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-02-05 11:08:16 +0100 <Rembane> oscurochu: I like Scotty because it's a very simple HTTP server that's not too hairy to get setup. Servant is cool because types are cool.
2022-02-05 11:09:31 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-02-05 11:10:03 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-02-05 11:12:23 +0100 <Las[m]> Does anyone know whether there's a flag to warn on .. imports?
2022-02-05 11:16:40 +0100chomwitt(~chomwitt@2a02:587:dc07:dd00:12c3:7bff:fe6d:d374) (Remote host closed the connection)
2022-02-05 11:17:35 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 252 seconds)
2022-02-05 11:18:01 +0100 <geekosaur> if you mean Type(..), no
2022-02-05 11:18:53 +0100 <geekosaur> if anything I'd expect the opposite, the most common patterns are Type(..) for all data constructors or Type for none (and then smart constructors)
2022-02-05 11:19:25 +0100alp(~alp@user/alp)
2022-02-05 11:20:57 +0100fef(~thedawn@user/thedawn)
2022-02-05 11:25:21 +0100__monty__(~toonn@user/toonn)
2022-02-05 11:25:55 +0100__monty__(~toonn@user/toonn) (Client Quit)
2022-02-05 11:26:13 +0100__monty__(~toonn@user/toonn)
2022-02-05 11:28:03 +0100ksqsf(~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e) (Ping timeout: 256 seconds)
2022-02-05 11:29:05 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 11:30:55 +0100ksqsf(~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e)
2022-02-05 11:31:03 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:b4e8:6f53:6fdf:55e6)
2022-02-05 11:36:27 +0100max22-(~maxime@2a01cb088335980099495edec395a55d.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-02-05 11:37:15 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-02-05 11:39:29 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Read error: Connection reset by peer)
2022-02-05 11:48:37 +0100alp(~alp@user/alp) (Ping timeout: 240 seconds)
2022-02-05 11:48:57 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-02-05 11:50:11 +0100 <ksqsf> I'm using a mirror of Hackage, but Cabal upload wanted to upload to the mirror site. Is there any cabal config that sets the proper Hackage API root?
2022-02-05 11:52:38 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-05 11:53:53 +0100jakalx(~jakalx@base.jakalx.net)
2022-02-05 11:55:18 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-02-05 11:57:11 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-02-05 11:58:17 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-02-05 12:00:36 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-02-05 12:01:02 +0100Taneb0Taneb
2022-02-05 12:01:16 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-05 12:06:49 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-05 12:08:29 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-05 12:12:37 +0100tfeb(~tfb@5.133.43.132)
2022-02-05 12:13:34 +0100tubogram4(~tubogram@user/tubogram)
2022-02-05 12:15:56 +0100tfeb(~tfb@5.133.43.132) (Client Quit)
2022-02-05 12:20:11 +0100CHUD(~CHUD@dhcp6353.kent.ac.uk)
2022-02-05 12:22:00 +0100tubogram4(~tubogram@user/tubogram) (Quit: See ya later!)
2022-02-05 12:22:22 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-05 12:24:57 +0100tubogram4(~tubogram@user/tubogram)
2022-02-05 12:25:22 +0100xff0x(~xff0x@2001:1a81:525e:1300:8f21:adc2:1c05:78b) (Ping timeout: 250 seconds)
2022-02-05 12:25:37 +0100fendor(~fendor@91.141.79.239.wireless.dyn.drei.com)
2022-02-05 12:26:06 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2022-02-05 12:26:26 +0100xff0x(~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652)
2022-02-05 12:27:34 +0100ec(~ec@gateway/tor-sasl/ec)
2022-02-05 12:32:19 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 256 seconds)
2022-02-05 12:38:39 +0100 <CHUD> I get an error whenever I try to run this distance :: double distance x1 y1 x2 y2= sqrt ((x2-x1)^2 + (y2-y1)^2)
2022-02-05 12:39:04 +0100 <geekosaur> :t sqrt
2022-02-05 12:39:05 +0100 <lambdabot> Floating a => a -> a
2022-02-05 12:39:10 +0100 <geekosaur> :t (^)
2022-02-05 12:39:11 +0100 <lambdabot> (Integral b, Num a) => a -> b -> a
2022-02-05 12:39:57 +0100 <CHUD> they are different types
2022-02-05 12:40:53 +0100 <geekosaur> you might show the error, but I already see a problem if you didn't include the parameter types
2022-02-05 12:41:42 +0100 <geekosaur> > let distance :: Double; distance x1 y1 x2 y2 = sqrt ((x2-x1)^2 + (y2-y1)^2) in distance 1 2 1 2
2022-02-05 12:41:43 +0100 <lambdabot> error:
2022-02-05 12:41:43 +0100 <lambdabot> • Couldn't match expected type ‘Double’
2022-02-05 12:41:43 +0100 <lambdabot> with actual type ‘a0 -> a0 -> a0 -> a0 -> a0’
2022-02-05 12:42:16 +0100ardell_(~ardell@user/ardell)
2022-02-05 12:42:27 +0100 <CHUD> so I need to say I am expecting 4 doubles and say I am expecting the return type to also be a double
2022-02-05 12:42:51 +0100ardell(~ardell@user/ardell) (Ping timeout: 256 seconds)
2022-02-05 12:43:15 +0100 <geekosaur> > let distance :: Double -> Double -> Double -> Double -> Double; distance x1 y1 x2 y2 = sqrt ((x2-x1)^2 + (y2-y1)^2) in distance 1 2 1 2
2022-02-05 12:43:16 +0100 <lambdabot> 0.0
2022-02-05 12:43:34 +0100Topsi(~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de)
2022-02-05 12:44:18 +0100 <geekosaur> > let distance :: Double -> Double -> Double -> Double -> Double; distance x1 y1 x2 y2 = sqrt ((x2-x1)^2 + (y2-y1)^2) in distance 1 1 2 2
2022-02-05 12:44:20 +0100 <lambdabot> 1.4142135623730951
2022-02-05 12:44:38 +0100 <geekosaur> would help if I read the parameters correctly :>
2022-02-05 12:45:32 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-05 12:46:57 +0100 <CHUD> so I put distance :: Double -> Double -> Double -> Double -> Double distance x1 y1 x2 y2= sqrt ((x2-x1)^2 + (y2-y1)^2) but I was wondering why did you put let in front of the first line?
2022-02-05 12:47:16 +0100 <CHUD> I there a way to do multiline on IRC?
2022-02-05 12:48:02 +0100 <geekosaur> no, and lambdabot only does expressions so I had to do it with a let-in
2022-02-05 12:48:07 +0100 <c_wraith> not really. Using the pastebin is recommended
2022-02-05 12:48:40 +0100 <geekosaur> % distance :: Double -> Double -> Double -> Double -> Double; distance x1 y1 x2 y2 = sqrt ((x2-x1)^2 + (y2-y1)^2)
2022-02-05 12:48:40 +0100 <yahb> geekosaur:
2022-02-05 12:48:46 +0100 <geekosaur> % distance 1 1 2 2
2022-02-05 12:48:46 +0100 <yahb> geekosaur: 1.4142135623730951
2022-02-05 12:48:57 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 240 seconds)
2022-02-05 12:49:06 +0100 <CHUD> Ok, cool, thank you
2022-02-05 12:49:10 +0100 <geekosaur> yahb is actual ghci. still doesn't do multiline though
2022-02-05 12:49:12 +0100Unhammer(~Unhammer@user/unhammer) (Ping timeout: 250 seconds)
2022-02-05 12:49:27 +0100Graham31415(~Graham314@213.237.82.193) (Quit: Client closed)
2022-02-05 12:50:18 +0100APic(apic@apic.name)
2022-02-05 12:56:41 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2022-02-05 12:58:53 +0100max22-(~maxime@2a01cb08833598005486a79f6b483be0.ipv6.abo.wanadoo.fr)
2022-02-05 13:00:55 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-02-05 13:01:15 +0100ec(~ec@gateway/tor-sasl/ec)
2022-02-05 13:01:22 +0100alx741(~alx741@157.100.197.240)
2022-02-05 13:01:46 +0100xff0x(~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652) (Ping timeout: 250 seconds)
2022-02-05 13:03:18 +0100Unhammer(~Unhammer@user/unhammer)
2022-02-05 13:07:24 +0100RFV(~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net)
2022-02-05 13:08:47 +0100RFV(~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net) (Client Quit)
2022-02-05 13:14:34 +0100lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-02-05 13:15:23 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds)
2022-02-05 13:21:23 +0100 <CHUD> Is using the || operator appropriate here? https://paste.tomsmeding.com/cZqd2g4N
2022-02-05 13:22:18 +0100 <CHUD> When I checked it first time I kept getting an error, I think it was an indentation issue but it seems to work now
2022-02-05 13:23:37 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-02-05 13:23:39 +0100 <geekosaur> it's fine
2022-02-05 13:23:42 +0100 <byorgey> CHUD: looks OK to me, assuming the intention is that either of those two passwords should work
2022-02-05 13:24:01 +0100xff0x(~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652)
2022-02-05 13:25:50 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 13:26:57 +0100 <CHUD> I tried to initially solve it in replit and I got a scope error https://paste.tomsmeding.com/PwYSFVD8 I don't understand why though
2022-02-05 13:28:01 +0100 <geekosaur> I'd have to see more, but by itself the error is correct
2022-02-05 13:30:00 +0100 <CHUD> https://replit.com/join/olbucvxubu-sr53
2022-02-05 13:30:05 +0100 <geekosaur> if I had to guess I'd say you needed to use multiline input
2022-02-05 13:31:34 +0100 <CHUD> I got even more errors :/ f
2022-02-05 13:31:54 +0100 <geekosaur> indentation
2022-02-05 13:34:26 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-05 13:39:28 +0100 <CHUD> geekosaur: thanks dude
2022-02-05 13:40:36 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-05 13:41:03 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-05 13:43:40 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-05 13:43:57 +0100turlando(~turlando@user/turlando) (Ping timeout: 256 seconds)
2022-02-05 13:44:41 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-05 13:45:00 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-05 13:46:13 +0100cynomys(~cynomys@user/cynomys) (Ping timeout: 256 seconds)
2022-02-05 13:46:18 +0100 <Inst[m]> sort of embarrassing
2022-02-05 13:46:25 +0100 <geekosaur> at this point you might want to learn about guards
2022-02-05 13:46:25 +0100 <Inst[m]> class Monad m => MonadReader r m | m -> r where
2022-02-05 13:46:42 +0100 <Inst[m]> wait, was that in reply to me?
2022-02-05 13:46:46 +0100 <geekosaur> no
2022-02-05 13:46:53 +0100 <geekosaur> that was to CHUD
2022-02-05 13:46:57 +0100 <Inst[m]> why is there a | in the class definition? I checked Haskell Report
2022-02-05 13:47:14 +0100 <Inst[m]> is it valid to put a | in a class definition?
2022-02-05 13:47:15 +0100 <geekosaur> it's called a functional dependency, and it's not in the Report
2022-02-05 13:47:23 +0100 <Inst[m]> thank you so much
2022-02-05 13:47:44 +0100 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/functional_dependencies.html
2022-02-05 13:48:13 +0100 <Inst[m]> https://wiki.haskell.org/Functional_dependencies
2022-02-05 13:48:46 +0100 <CHUD> geekosaur: yeah, it's in lecture 2, shall I jump to it now? I'm up to exercise 7 from the pset
2022-02-05 13:48:57 +0100fendor(~fendor@91.141.79.239.wireless.dyn.drei.com) (Remote host closed the connection)
2022-02-05 13:49:21 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 13:49:23 +0100 <geekosaur> CHUD, probably not yet. but this looks like it'll show you why we use guards :)
2022-02-05 13:50:44 +0100 <geekosaur> there's also MultiWayIf but I assume they don't want you to use extensions either
2022-02-05 13:50:52 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4)
2022-02-05 13:51:06 +0100 <CHUD> geekosaur: what are extensions?
2022-02-05 13:51:10 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds)
2022-02-05 13:51:36 +0100 <geekosaur> extennsions to standard Haskell as defined in the Haskell Report
2022-02-05 13:51:46 +0100 <geekosaur> ghc has a bunch of extensions
2022-02-05 13:51:54 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2022-02-05 13:51:54 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2022-02-05 13:51:54 +0100turlando(~turlando@user/turlando)
2022-02-05 13:52:13 +0100 <CHUD> I think I should use the bare minimum I don't think for assessments they will allows anything except a basic text editor and the terminal
2022-02-05 13:53:57 +0100APic(apic@apic.name) (Ping timeout: 240 seconds)
2022-02-05 13:54:27 +0100 <CHUD> Do I always include the type annotation/signature in a programme?
2022-02-05 13:54:55 +0100 <geekosaur> it's generally a good idea
2022-02-05 13:55:12 +0100 <geekosaur> haskell doesn't require it, but it often makes tracking down type errors easier
2022-02-05 13:55:56 +0100 <messier102> A good rule of thumb is to explicitly annotate your function types, while local definitions can be left to automatic inference
2022-02-05 13:56:15 +0100 <Inst[m]> if it's for uni, you have a style guide and it probably requires type sigs / annotations
2022-02-05 13:57:05 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-02-05 13:57:13 +0100 <CHUD> I think if it helps track type errors I will include it
2022-02-05 13:57:32 +0100 <CHUD> especially while learning, it's probably best to at this stage
2022-02-05 13:57:38 +0100 <Inst[m]> type annotations are usually for the dev / reader, i.e, it makes it easier to understand what the functions actually do
2022-02-05 13:58:04 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-05 13:58:13 +0100 <geekosaur> they're also useful when working with numbers, since haskell will happily infer nonsense like (Integral a, Fractional a) => a
2022-02-05 13:58:33 +0100 <geekosaur> and putting type ascriptions everywhere will help you localize where you made the mistake
2022-02-05 13:58:35 +0100 <Inst[m]> iirc, the stuff HLS suggests to your editor, what is that called again?
2022-02-05 13:58:58 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4) (Remote host closed the connection)
2022-02-05 13:59:14 +0100 <messier102> Inst[m]: type lenses?
2022-02-05 14:00:01 +0100 <messier102> https://haskell-language-server.readthedocs.io/en/latest/features.html#add-type-signature
2022-02-05 14:00:09 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 14:00:15 +0100 <Inst[m]> i'm sort of dependent on type lenses :(
2022-02-05 14:01:31 +0100 <geekosaur> I'll also mention that ghc will almost always infer the most general type possible for something, but you may want to constrain it beyond that and a type signature will let you do so
2022-02-05 14:01:46 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-05 14:01:57 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
2022-02-05 14:02:05 +0100 <messier102> function type inference is nice for interactive stuff, but I feel like for anything beyond toy snippets it's a mistake to rely on
2022-02-05 14:02:31 +0100 <messier102> Rust made the right choice to require explicit signatures imho
2022-02-05 14:02:40 +0100 <Inst[m]> hmmm, what happens if i install haskell platform despite having GHCup installed?
2022-02-05 14:02:49 +0100 <geekosaur> you can enable that
2022-02-05 14:03:01 +0100 <maerwald> Inst[m]: nothing
2022-02-05 14:03:17 +0100 <maerwald> Inst[m]: which GHC is picked depends on how your PATH variable is configured
2022-02-05 14:03:29 +0100 <maerwald> run `which ghc` to see
2022-02-05 14:03:35 +0100 <geekosaur> -Werror=missing-signatures iirc
2022-02-05 14:03:51 +0100 <Inst[m]> just going to install it, see what happens
2022-02-05 14:04:21 +0100 <geekosaur> I thought the platform was gone, tbh
2022-02-05 14:04:30 +0100 <maerwald> Inst[m]: each ghc installation has its own global pkg database... they don't conflict. cabal however only distinguishes compilers by version
2022-02-05 14:04:52 +0100 <maerwald> that can (in some cases) cause trouble
2022-02-05 14:04:55 +0100 <maerwald> but not generally
2022-02-05 14:05:04 +0100 <Inst[m]> i have no idea where this comes from
2022-02-05 14:05:05 +0100 <geekosaur> the preferred way to do things is to use stack or cabal v2, not install a bunch of libs globally that you then can't safely upgrade for a project that needs something newer
2022-02-05 14:05:09 +0100 <Inst[m]> https://downloads.haskell.org/~platform/8.6.5/
2022-02-05 14:05:19 +0100 <Inst[m]> just hoping it comes with winghci or something like that
2022-02-05 14:05:20 +0100 <messier102> geekosaur: thank you
2022-02-05 14:05:22 +0100 <maerwald> Inst[m]: on windows?
2022-02-05 14:05:29 +0100 <maerwald> Please use chocolatey or ghcup on windows
2022-02-05 14:05:34 +0100 <maerwald> platform is not supported anymore
2022-02-05 14:05:45 +0100 <maerwald> we won't be helping you :p
2022-02-05 14:06:43 +0100 <Inst[m]> i just wish i weren't a freaking skid, otherwise i'd work on projects improving windows IDE etc support
2022-02-05 14:07:02 +0100the_proffesor(~theproffe@user/theproffesor) (Ping timeout: 240 seconds)
2022-02-05 14:08:15 +0100 <Inst[m]> although tbh given tendencies in haskell community, the language would probably fork into multiple custom preludes if the userbase was 10x larger
2022-02-05 14:08:36 +0100 <geekosaur> there are already multiple custom preludes
2022-02-05 14:08:41 +0100 <maerwald> xD
2022-02-05 14:09:08 +0100 <Inst[m]> there are, but they haven't forked the language
2022-02-05 14:09:10 +0100 <maerwald> Inst[m]: if you have knowledge about MSIX installers, lets me know
2022-02-05 14:09:14 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-05 14:09:33 +0100 <Inst[m]> it's somethign you guys are actively working on?
2022-02-05 14:09:34 +0100 <Inst[m]> great to hear
2022-02-05 14:10:03 +0100 <maerwald> it's just an idea to get something into MS store
2022-02-05 14:10:10 +0100 <maerwald> e.g. ghcup or GHC bindist itself
2022-02-05 14:10:38 +0100 <maerwald> we have exactly one GHC devs who knows windows, so...
2022-02-05 14:10:52 +0100ksqsf(~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e) (Remote host closed the connection)
2022-02-05 14:11:14 +0100 <messier102> I think you don't need to package as MSIX for the updated Windows store, do you?
2022-02-05 14:11:24 +0100 <Inst[m]> you'd actually be better off trying to turn an experienced windows dev into a haskeller
2022-02-05 14:11:55 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 14:11:57 +0100 <maerwald> Inst[m]: they're too pragmatic to waste their time on something like that
2022-02-05 14:11:58 +0100 <Inst[m]> it's great fun selling haskell as a scam, i.e, "if you use defer type errors, it's almost like it's a dynamic language!"
2022-02-05 14:12:08 +0100 <geekosaur> I thought the HF was supposed to be working on improving that situation
2022-02-05 14:12:31 +0100 <Inst[m]> they probably are, but outsourced it to maerwald
2022-02-05 14:12:31 +0100 <maerwald> geekosaur: they'd support someone spearheading MS store inclusion
2022-02-05 14:12:45 +0100 <maerwald> exactly
2022-02-05 14:13:00 +0100 <Inst[m]> i'd love it too, if it could save me 90 minutes getting someone to get VSC / GHCup installed and configured
2022-02-05 14:13:03 +0100Philonous(~Philonous@user/philonous) (Quit: ZNC - https://znc.in)
2022-02-05 14:13:10 +0100 <maerwald> the main issue is msys2
2022-02-05 14:13:28 +0100 <geekosaur> I meant getting windows devs, and more generally improving the windows experience
2022-02-05 14:13:33 +0100Philonous(~Philonous@user/philonous)
2022-02-05 14:13:46 +0100 <geekosaur> msys2 is a lousy way to get windows support
2022-02-05 14:13:53 +0100 <Inst[m]> lol btw anyone know how to get runghc to support RTS options?
2022-02-05 14:14:00 +0100 <maerwald> ghcup/cabal/GHC/stack all need a working msys2 installation... both stack and ghcup bootstrap an msys2 themselves... and msys2 is really hard to package as a clean install-uninstall target, because it's mutable
2022-02-05 14:14:01 +0100tiferrei(~tiferrei@user/tiferrei) (Remote host closed the connection)
2022-02-05 14:14:25 +0100tiferrei(~tiferrei@user/tiferrei)
2022-02-05 14:14:36 +0100 <Inst[m]> why not just have a slaved msys2?
2022-02-05 14:14:44 +0100 <maerwald> slaved?
2022-02-05 14:14:47 +0100 <Inst[m]> i guess someone will come in and complain about all the disk space you're wasting
2022-02-05 14:14:57 +0100 <Inst[m]> i mean that GHCup already installs its own msys2
2022-02-05 14:15:22 +0100 <maerwald> it does so via a powershell script... the binary itself (handling GHC versions) has no knowledge of it
2022-02-05 14:15:23 +0100 <Inst[m]> i think on this machine i technically have cygwin, but don't use it, etc
2022-02-05 14:15:44 +0100 <Inst[m]> also thanks for making GHCup usable on windows
2022-02-05 14:16:11 +0100 <geekosaur> re RTS options, it looks like it supports RTS options but was not built with -threaded so -N doesn't work
2022-02-05 14:16:16 +0100 <Inst[m]> I'm not sure what I'd do without it, i.e, I was briefly considering learning OCaml (up to and only including a bootstrap), but decided to give up after I realized it wasn't trivial to get the compiler installed
2022-02-05 14:16:22 +0100fendor(~fendor@91.141.79.239.wireless.dyn.drei.com)
2022-02-05 14:16:25 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-05 14:16:26 +0100 <Inst[m]> i need it to use winIO
2022-02-05 14:16:35 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-05 14:16:47 +0100 <Inst[m]> i'm also wondering if you can get a full GHCup installation via a VSC extension
2022-02-05 14:16:51 +0100 <Inst[m]> that would actually be ridiculously convenient
2022-02-05 14:17:09 +0100ellie(~ellie@user/ellie) (Ping timeout: 250 seconds)
2022-02-05 14:17:11 +0100 <maerwald> I think VSCode already uses ghcup for some stuff afair
2022-02-05 14:17:15 +0100 <maerwald> not sure
2022-02-05 14:17:54 +0100 <messier102> What would the benefit of getting on MS store be as opposed to the current state of affairs?
2022-02-05 14:18:13 +0100 <Inst[m]> i'm pretty dependent on VSC, it's just way too much fun having type lenses, having a haskelly hack that can call GHCi, etc
2022-02-05 14:19:02 +0100 <Inst[m]> messier102; at least in my use case, getting some rube to run a powershell script requires lots of trust, and you have to trust haskell.org hasn't been compromised, which, for haskellers, isn't such a big problem
2022-02-05 14:19:14 +0100 <maerwald> messier102: running a powershell script from the internet on your computer isn't as cool as getting it certified from the MS store?
2022-02-05 14:19:24 +0100 <maerwald> not sure windows users care, though
2022-02-05 14:19:24 +0100 <Inst[m]> everyone else? "this is a niche language that i've never heard of that wants me to run a powershell script"
2022-02-05 14:19:49 +0100 <maerwald> maybe it's part of the expected experience to get viruses from installers and then have windows defender clean it up
2022-02-05 14:20:15 +0100 <maerwald> like the whole experience
2022-02-05 14:20:17 +0100 <maerwald> xD
2022-02-05 14:20:42 +0100 <messier102> That's fair, but at the same time I don't think any other language does it all that differently
2022-02-05 14:20:54 +0100 <maerwald> someone claimed python is in MS store
2022-02-05 14:20:55 +0100 <messier102> It's always either an installer or a spooky looking shell script
2022-02-05 14:21:44 +0100 <messier102> maerwald: It is, yes. Actually the default `python` command on a clean Windows install will link you to the store page, which can be a source of problems in and of itself
2022-02-05 14:21:46 +0100 <Inst[m]> you install visual studio (community iirc) for C++
2022-02-05 14:22:15 +0100 <maerwald> https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7#activetab=pivot:overviewtab
2022-02-05 14:22:24 +0100 <maerwald> I think that's pretty cool
2022-02-05 14:23:00 +0100 <messier102> Getting PL runtimes off of MS store feels weird conceptually, but who knows
2022-02-05 14:23:32 +0100 <messier102> Or toolchains, I should say
2022-02-05 14:24:01 +0100 <messier102> Then again, all the WSL Linux distros is on the store too
2022-02-05 14:28:02 +0100 <messier102> Ah, I suppose it would make more sense to be able to do `winget haskell` or some such
2022-02-05 14:29:41 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 14:30:48 +0100pothepanda(~pot_@109.249.187.17)
2022-02-05 14:31:07 +0100pothepanda(~pot_@109.249.187.17) ()
2022-02-05 14:31:14 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-05 14:33:07 +0100 <mon_aaraj> Hey, I have been trying to get ghcup with GHCUP_USE_XDG_DIRS, but it generates symlinks with broken paths into my ~/.local/bin, any idea how to fix it from doing that? I would like to evade putting .ghcup in my home directory
2022-02-05 14:33:35 +0100 <maerwald> mon_aaraj: where do the links point to
2022-02-05 14:34:01 +0100 <maerwald> and what are your XDG variables
2022-02-05 14:34:09 +0100 <maerwald> I assume they point outside of home?
2022-02-05 14:34:18 +0100pothepanda(~pot_@109.249.187.17)
2022-02-05 14:34:57 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 14:35:21 +0100 <mon_aaraj> for example, a binary in ~/.local/bin/runghc points to `../share/ghcup/ghc/8.10.7/bin/runghc`, i believe the only variable that matters here is XDG_DATA_HOME which is ~/.local/share for me
2022-02-05 14:35:57 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net)
2022-02-05 14:36:09 +0100[exa](~exa@user/exa/x-3587197)
2022-02-05 14:36:17 +0100 <mon_aaraj> running `file ~/.local/bin/runghc` results in `/home/mon/.local/bin/runghc: broken symbolic link to ../share/ghcup/ghc/8.10.7/bin/runghc`, which is how i know it is a broken symlink
2022-02-05 14:36:48 +0100 <maerwald> lemme try
2022-02-05 14:38:23 +0100 <maerwald> mon_aaraj: GHCUP_INSTALL_BASE_PREFIX should definitely work though
2022-02-05 14:38:53 +0100 <Inst[m]> wait, there's no way to get runghc to use winio without modifying global environment variables, is there?
2022-02-05 14:39:01 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 256 seconds)
2022-02-05 14:40:11 +0100jespada(~jespada@87.74.36.188)
2022-02-05 14:40:37 +0100yauhsien(~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-05 14:42:17 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-05 14:44:06 +0100 <maerwald> mon_aaraj: works here
2022-02-05 14:44:52 +0100 <maerwald> mon_aaraj: can you pastebin all your env?
2022-02-05 14:45:33 +0100 <mon_aaraj> alright, let me see
2022-02-05 14:46:00 +0100gaff(~gaff@49.207.224.13)
2022-02-05 14:46:00 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 14:46:33 +0100 <mon_aaraj> https://bpa.st/OJHQ
2022-02-05 14:46:46 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-05 14:47:25 +0100 <geekosaur> Inst[m], --ghc-arg=+RTS --ghc-arg=--io-manager=native --ghc-arg=-RTS
2022-02-05 14:47:42 +0100 <Inst[m]> thank you so much
2022-02-05 14:47:45 +0100 <gaff> if you have something like `data X = X Int`, is it possible to enforce a constraint on what `Int` values are allowed? for example, suppose you want to allow only 1 & 2.
2022-02-05 14:48:10 +0100 <geekosaur> gaff, no, ghc does not support subtyping
2022-02-05 14:48:19 +0100 <geekosaur> you have to use a smart constructor
2022-02-05 14:48:32 +0100 <gaff> yeah, i thought so.
2022-02-05 14:48:45 +0100 <maerwald> mon_aaraj: what are the contents of ~/.local/share/ghcup?
2022-02-05 14:48:48 +0100 <Inst[m]> so every ghc-arg has to be explicitly spelled out, instead of allowing a block
2022-02-05 14:48:50 +0100 <geekosaur> liquid haskell supports this iirc
2022-02-05 14:48:56 +0100 <geekosaur> Inst[m], yes
2022-02-05 14:49:18 +0100 <maerwald> mon_aaraj: and what is your ghcup version?
2022-02-05 14:49:32 +0100 <gaff> smart constructor is just a function that simply creates `X 1`, or `X 2`, in this example?
2022-02-05 14:49:47 +0100 <geekosaur> yes
2022-02-05 14:50:29 +0100 <gaff> and you don't expose the type declaration outside the module, but you just expose the smart constructor to outsiders?
2022-02-05 14:50:35 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-05 14:50:38 +0100 <geekosaur> correct
2022-02-05 14:50:46 +0100 <gaff> ah, i thought so
2022-02-05 14:50:54 +0100 <geekosaur> well, you expose the type constructor but not the data constructor(s)
2022-02-05 14:50:58 +0100 <gaff> funny name: "smart constructor"
2022-02-05 14:51:12 +0100 <gaff> geekosaur: correct
2022-02-05 14:52:28 +0100 <gaff> geekosaur: thanks much.
2022-02-05 14:52:58 +0100 <mon_aaraj> here: https://bpa.st/IE3Q with ghcup version v0.1.17.4
2022-02-05 14:53:09 +0100 <gaff> are there any plans to allow such a thing using language extensions in the future? i suppose not but hought i would ask.
2022-02-05 14:54:05 +0100 <maerwald> mon_aaraj: your paste indicates that the link is not broken
2022-02-05 14:54:08 +0100 <maerwald> I'm confused
2022-02-05 14:54:31 +0100Graham31415(~Graham314@213.237.82.193)
2022-02-05 14:54:32 +0100 <mon_aaraj> huh, i guess `file` got it wrong?
2022-02-05 14:54:45 +0100 <maerwald> can you run ~/.local/bin/runghc?
2022-02-05 14:55:02 +0100 <mon_aaraj> nope, `zsh: no such file or directory: /home/mon/.local/bin/runghc`
2022-02-05 14:56:05 +0100 <mon_aaraj> or anything else inside ~/.local/bin made by ghcup, i have had this issue days ago, but i've tried everything to fix it, including nuking ghcup and reinstalling it, but it didn't work
2022-02-05 14:56:39 +0100 <maerwald> mon_aaraj: wait, so the symlink points to itself?
2022-02-05 14:56:41 +0100 <Inst[m]> hmmm
2022-02-05 14:56:41 +0100 <Inst[m]> this is nice
2022-02-05 14:56:48 +0100 <Inst[m]> haskell platform is technically installed, but i didn't let it do a damn thing to path variables
2022-02-05 14:57:47 +0100gaff(~gaff@49.207.224.13) ()
2022-02-05 14:59:12 +0100 <mon_aaraj> well, I don't think so, here's the output of `ls -Alh ~/.local/bin/`: https://bpa.st/3AWA
2022-02-05 14:59:34 +0100 <mon_aaraj> oh, wait, i think i realise why
2022-02-05 14:59:40 +0100 <maerwald> mon_aaraj: those links look all correct
2022-02-05 15:00:07 +0100 <mon_aaraj> oh, then nevermind
2022-02-05 15:00:24 +0100 <maerwald> can you run ~/.local/share/ghcup/ghc/8.10.7/bin/runghc?
2022-02-05 15:00:59 +0100 <maerwald> I have a feeling you can't run the extracted binaries
2022-02-05 15:01:28 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622)
2022-02-05 15:01:56 +0100 <mon_aaraj> well when i try to run just that path it doen't do anything for a while, but when i add --version it says: `runghc 8.10.7`
2022-02-05 15:02:09 +0100pothepanda(~pot_@109.249.187.17) (Ping timeout: 256 seconds)
2022-02-05 15:02:49 +0100 <mon_aaraj> hold on, maybe symlinks could mess with it? i have ~/.local/bin also symlinked to ~/Git/dotfiles/.local/bin, so maybe for some reason it goes to the Git folder instead of going to local when it does `..`
2022-02-05 15:02:57 +0100 <maerwald> oh gosh
2022-02-05 15:03:07 +0100 <maerwald> yes
2022-02-05 15:03:23 +0100 <mon_aaraj> huh, alright then
2022-02-05 15:03:27 +0100 <maerwald> that could be considered a bug indeed... we don't run realpath on ~/.local/bin
2022-02-05 15:03:37 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 240 seconds)
2022-02-05 15:03:49 +0100 <mon_aaraj> ah, i see! Thank you so much for your help
2022-02-05 15:04:38 +0100 <Inst[m]> okay, now to uninstall haskell platform
2022-02-05 15:04:39 +0100 <mon_aaraj> meanwhile i will try your suggestion to use BASE_PREFIX
2022-02-05 15:04:45 +0100 <Inst[m]> what does it actually come with?
2022-02-05 15:05:03 +0100 <maerwald> https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/311
2022-02-05 15:05:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Ping timeout: 240 seconds)
2022-02-05 15:05:44 +0100 <maerwald> mon_aaraj: you can also use bind-mounts instead of symlinks
2022-02-05 15:05:55 +0100 <mon_aaraj> i forgot about that
2022-02-05 15:06:08 +0100 <maerwald> although bind mounts can cause funny bugs with recursive file operations
2022-02-05 15:06:20 +0100 <maerwald> but not in this case I think
2022-02-05 15:06:33 +0100 <mon_aaraj> yeah, they kind of sound scary to do haha but i've never played much with them, so that is a great suggestion
2022-02-05 15:06:44 +0100 <mon_aaraj> thank you so much for your help once again!
2022-02-05 15:07:06 +0100 <maerwald> I've tested once whether file managers detect infinite recursion due to bind mounts, but most don't
2022-02-05 15:09:16 +0100 <mon_aaraj> that's sad, but i wouldn't have thought any of em did, i am kind of curious about which ones you found detected them?
2022-02-05 15:10:54 +0100 <maerwald> only my own xD
2022-02-05 15:12:43 +0100Guest21(~Guest21@94.19.154.46)
2022-02-05 15:12:49 +0100 <Inst[m]> hmmm, maybe i need to reinstall ghcup... again
2022-02-05 15:13:06 +0100 <Inst[m]> or maybe just a reinstall would work
2022-02-05 15:13:42 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84)
2022-02-05 15:14:35 +0100 <Inst[m]> guess it's my fault for installing haskell platform
2022-02-05 15:14:39 +0100 <Inst[m]> winio seems to be broken now
2022-02-05 15:15:08 +0100Kosades(~Kosades@94.19.154.46)
2022-02-05 15:15:16 +0100Guest21(~Guest21@94.19.154.46) (Client Quit)
2022-02-05 15:16:17 +0100rustisafungus(~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84)
2022-02-05 15:17:02 +0100APic(apic@apic.name)
2022-02-05 15:17:03 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
2022-02-05 15:17:47 +0100messier102(~messier10@user/messier102) (Ping timeout: 256 seconds)
2022-02-05 15:17:57 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84) (Ping timeout: 240 seconds)
2022-02-05 15:18:04 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-05 15:20:16 +0100Everything(~Everythin@37.115.210.35)
2022-02-05 15:23:56 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41)
2022-02-05 15:24:59 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-02-05 15:27:45 +0100Graham31415(~Graham314@213.237.82.193) (Quit: Client closed)
2022-02-05 15:28:27 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-05 15:28:55 +0100Kosades(~Kosades@94.19.154.46) (Quit: Client closed)
2022-02-05 15:29:44 +0100Inst(~delicacie@2601:6c4:4080:3f80:5d10:aa97:98cb:a150)
2022-02-05 15:31:37 +0100 <Inst> do you know who do I talk to to complain about WinIO?
2022-02-05 15:31:37 +0100rustisafungus(~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84) (Ping timeout: 240 seconds)
2022-02-05 15:31:40 +0100 <Inst> or at least, try to debug it?
2022-02-05 15:32:34 +0100 <[exa]> Inst: it seems quite unmaintained
2022-02-05 15:33:37 +0100 <[exa]> what functionality from there are you using? chances are there's a better way now
2022-02-05 15:35:34 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-05 15:37:41 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 15:40:57 +0100unyu(~pyon@user/pyon) (Ping timeout: 240 seconds)
2022-02-05 15:41:30 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-05 15:42:01 +0100max22-(~maxime@2a01cb08833598005486a79f6b483be0.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2022-02-05 15:46:35 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:b4e8:6f53:6fdf:55e6) (Read error: Connection reset by peer)
2022-02-05 15:46:51 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:90d6:f3c8:741b:677a)
2022-02-05 15:53:38 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-05 15:54:21 +0100Inst(~delicacie@2601:6c4:4080:3f80:5d10:aa97:98cb:a150) (Read error: Connection reset by peer)
2022-02-05 15:54:57 +0100xff0x(~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652) (Ping timeout: 240 seconds)
2022-02-05 15:55:16 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-05 15:56:11 +0100xff0x(~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009)
2022-02-05 15:57:57 +0100 <CHUD> Is there a way to view each evaluation in Haskell for example yesterday I asked what f x = if even (x + 1) then x + 1 else f (x - 1) evaluated to at each step and opqdonut responded with f 3 ==> if even (3+1) then 3+1 else f (3-1) ==> if True then 3+1 else f (3-1) ==> 3+1 ==> 4
2022-02-05 15:59:28 +0100 <CHUD> it could be a simpler like this example factorial 3 ==> 3 * factorial (3-1) ==> 3 * factorial 2 ==> 3 * 2 * factorial 1 ==> 3 * 2 * 1 ==> 6
2022-02-05 15:59:50 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca)
2022-02-05 16:00:17 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds)
2022-02-05 16:02:16 +0100ardell(~ardell@user/ardell)
2022-02-05 16:02:47 +0100ardell_(~ardell@user/ardell) (Ping timeout: 256 seconds)
2022-02-05 16:03:11 +0100 <geekosaur> you could try ghc-vis
2022-02-05 16:03:17 +0100 <geekosaur> @hackage ghc-vis
2022-02-05 16:03:17 +0100 <lambdabot> https://hackage.haskell.org/package/ghc-vis
2022-02-05 16:04:57 +0100 <CHUD> cool, I will try it out when I get home, can't install anything on computer lab pcs
2022-02-05 16:07:23 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-02-05 16:08:46 +0100ardell(~ardell@user/ardell) (Quit: Konversation terminated!)
2022-02-05 16:10:17 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca) (Read error: Connection reset by peer)
2022-02-05 16:10:39 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca)
2022-02-05 16:11:17 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds)
2022-02-05 16:13:07 +0100_xor(~xor@dsl-50-5-233-169.fuse.net) (Quit: WeeChat 3.4)
2022-02-05 16:16:53 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-05 16:17:40 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-05 16:17:40 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-05 16:17:40 +0100wroathe(~wroathe@user/wroathe)
2022-02-05 16:18:35 +0100x_kuru(~xkuru@user/xkuru)
2022-02-05 16:18:53 +0100namkeleser(~namkelese@124.188.192.57) (Quit: Client closed)
2022-02-05 16:18:59 +0100vysn(~vysn@user/vysn)
2022-02-05 16:20:17 +0100xkuru(~xkuru@user/xkuru) (Ping timeout: 240 seconds)
2022-02-05 16:21:24 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-05 16:21:52 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-05 16:22:55 +0100 <Inst[m]> [exa]: winio is a new feature to make haskell compatible with windows console, in 9.0.1, or maybe 8.12 or something
2022-02-05 16:23:28 +0100 <Inst[m]> somehow it bugged out and is now causing getLine to freak out
2022-02-05 16:23:42 +0100 <geekosaur> --io-manager=native is ghc 9.0.1 and later
2022-02-05 16:24:13 +0100stef204(~stef204@user/stef204)
2022-02-05 16:24:14 +0100 <Inst[m]> i was warned! it's probably the installation and uninstallation of haskell platform that did this :(
2022-02-05 16:24:21 +0100 <Inst[m]> or maybe something crashed and winio couldn't terminate smoothly
2022-02-05 16:24:52 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293)
2022-02-05 16:27:46 +0100 <xerox> CHUD: there's also simple-reflect that can show some interesting things
2022-02-05 16:28:15 +0100 <CHUD> is that a extension?
2022-02-05 16:28:25 +0100 <geekosaur> nope, just a library
2022-02-05 16:28:27 +0100 <CHUD> package*
2022-02-05 16:28:30 +0100 <CHUD> oh
2022-02-05 16:28:33 +0100 <geekosaur> > foldr f z [a,b,c]
2022-02-05 16:28:35 +0100 <lambdabot> f a (f b (f c z))
2022-02-05 16:28:50 +0100 <geekosaur> lambdabot has simple-reflect loaded
2022-02-05 16:29:00 +0100 <geekosaur> it takes over all the single-letter variables
2022-02-05 16:30:05 +0100 <xerox> > reduction $ fix (\f x -> if even (x + 1) then x + 1 else f (x - 1)) $ 2
2022-02-05 16:30:07 +0100 <lambdabot> [2 - 1 + 1,1 + 1,2]
2022-02-05 16:30:28 +0100 <xerox> nicer with a mapM_ print $ in front in your ghci (:
2022-02-05 16:30:53 +0100 <geekosaur> %% mapM_ print $ reduction $ fix (\f x -> if even (x + 1) then x + 1 else f (x - 1)) $ 2
2022-02-05 16:30:53 +0100 <yahb> geekosaur: http://qp.mniip.com/y/41
2022-02-05 16:30:56 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 16:31:26 +0100 <geekosaur> oh right, no simple-reflection in yahb :(
2022-02-05 16:31:36 +0100 <geekosaur> % import Debug.SimpleReflect
2022-02-05 16:31:37 +0100 <yahb> geekosaur:
2022-02-05 16:31:42 +0100 <geekosaur> %% mapM_ print $ reduction $ fix (\f x -> if even (x + 1) then x + 1 else f (x - 1)) $ 2
2022-02-05 16:31:42 +0100 <yahb> geekosaur: http://qp.mniip.com/y/42
2022-02-05 16:32:14 +0100 <xerox> hehehe
2022-02-05 16:38:41 +0100 <[exa]> Inst[m]: oh so, I googled the wrong thing
2022-02-05 16:39:00 +0100Inst(~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d)
2022-02-05 16:39:07 +0100 <Inst> thanks for trying to help @hexa
2022-02-05 16:39:19 +0100messier102(~messier10@user/messier102)
2022-02-05 16:40:21 +0100 <[exa]> I was a bit curious about what they actually did there
2022-02-05 16:40:55 +0100 <[exa]> looks a bit more than "console compatibility"
2022-02-05 16:41:19 +0100 <Inst> getLine and getChar aren't working anymore
2022-02-05 16:41:19 +0100fef(~thedawn@user/thedawn)
2022-02-05 16:41:25 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 16:41:57 +0100 <Inst> two hypotheses: either, one, I crashed winio and it hada improperly set console settings, or two, haskell platform screwed with settings that weren't fixed by uninstall
2022-02-05 16:42:03 +0100 <geekosaur> https://downloads.haskell.org/ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html
2022-02-05 16:42:26 +0100 <geekosaur> the new io manager is listed in the highlights, and links to a youtube presentation
2022-02-05 16:43:07 +0100 <CHUD> is it possible to see this channels chat history?
2022-02-05 16:43:09 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-05 16:43:22 +0100 <Inst[m]> i guess you're a Discord native?
2022-02-05 16:43:26 +0100 <Inst[m]> get Matrix
2022-02-05 16:43:40 +0100 <CHUD> I have Matrix
2022-02-05 16:43:44 +0100 <[exa]> CHUD: it's in topic :]
2022-02-05 16:43:49 +0100 <CHUD> ohhh
2022-02-05 16:43:54 +0100 <Inst[m]> then just scroll up
2022-02-05 16:44:11 +0100 <Inst[m]> as far as matrix bridge is capable of doing so
2022-02-05 16:44:15 +0100 <[exa]> wow the winio effort is actually huge
2022-02-05 16:44:15 +0100 <Inst[m]> with the logs, etc
2022-02-05 16:44:19 +0100 <CHUD> I'm not on matrix rn I'm using gamja
2022-02-05 16:44:33 +0100 <Inst[m]> getting windows codemonkeys into haskell is good for the ecosystem
2022-02-05 16:44:48 +0100 <Inst[m]> better haskell chimps than codemonkeys
2022-02-05 16:44:51 +0100 <CHUD> but I need to take a walk and if I leave my PC for too long it will logout and I don't want to lose chat history
2022-02-05 16:44:55 +0100 <[exa]> not sure how windows is doing now but the last time I tried to get async IO working, I found like 3 uncodumented bugs in both possibilities and then gave up
2022-02-05 16:44:56 +0100 <Inst[m]> can be used for linguistics / ethology experiments :)
2022-02-05 16:45:17 +0100 <[exa]> CHUD: did you see the "logs" link in /topic right?
2022-02-05 16:45:41 +0100 <geekosaur> it's the last entry in the topic
2022-02-05 16:45:58 +0100 <CHUD> oh nice
2022-02-05 16:46:01 +0100 <[exa]> (also, you might want to reflect on the transient nature of the mood of this conversation :] )
2022-02-05 16:46:02 +0100 <geekosaur> I use it somewhat regularly, to the point that my browser autocompletes it if I type "irc" :)
2022-02-05 16:46:15 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-05 16:46:16 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-05 16:46:36 +0100 <CHUD> I just don't want to ask the same question again if I can avoid it
2022-02-05 16:46:58 +0100 <[exa]> like, you can write down what you found
2022-02-05 16:47:07 +0100 <[exa]> but the irc logger solves it too I guess
2022-02-05 16:47:36 +0100 <CHUD> I did do that briefly yesterday, but I was only asking a single line question, it's been more back and forth today
2022-02-05 16:49:44 +0100 <[exa]> you even have a nice profile there now https://ircbrowse.tomsmeding.com/nick/CHUD
2022-02-05 16:50:19 +0100 <CHUD> Yeah I just saw that
2022-02-05 16:50:25 +0100 <CHUD> is my IP public?
2022-02-05 16:50:57 +0100 <[exa]> yeah, IRC makes hosts visible
2022-02-05 16:50:58 +0100 <geekosaur> currently yes
2022-02-05 16:51:07 +0100 <[exa]> you can setup a cloak (register with NickServ)
2022-02-05 16:51:22 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:3911:f302:476a:5d4c)
2022-02-05 16:51:23 +0100 <CHUD> Can I cloak without registering?
2022-02-05 16:51:27 +0100 <geekosaur> no
2022-02-05 16:51:32 +0100 <CHUD> alright
2022-02-05 16:51:36 +0100 <geekosaur> the cloak is tied to the registration
2022-02-05 16:52:10 +0100 <segfaultfizzbuzz> i'm a bit confused here: bluespec is haskell and is "good for specifying hardware" ... i am also aware of some other hardware specified in bluespec/a haskell dialect.
2022-02-05 16:52:11 +0100 <geekosaur> if you're that worried about exposure you might instead want to look up how to connect via tor
2022-02-05 16:52:35 +0100 <segfaultfizzbuzz> but you would think that hardware specification would be all about knowing what computations are performed up-front, and probably even having static memory allocation
2022-02-05 16:52:52 +0100 <segfaultfizzbuzz> laziness and garbage collection don't seem to be friendly to this modality of thought... what am i not understanding?
2022-02-05 16:52:57 +0100 <CHUD> geekosaur: no I'm not worried, I mean this is just a temporary nickname, someone else might take it in the future
2022-02-05 16:52:57 +0100messier102(~messier10@user/messier102) (Ping timeout: 240 seconds)
2022-02-05 16:53:09 +0100 <[exa]> CHUD: now really unless you desperately need to avoid others posing here under your nick (unlikely) or you have something very breakable/problematic on that IP, I wouldn't care
2022-02-05 16:53:28 +0100 <geekosaur> you could always register it and then protect it
2022-02-05 16:53:43 +0100 <geekosaur> then nickserv will boot anyone who tries to use it without logging in
2022-02-05 16:53:52 +0100 <CHUD> I'm just connecting via my university network
2022-02-05 16:54:20 +0100 <[exa]> yeah, that's basically the only thing people will know from the IP
2022-02-05 16:54:32 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 16:54:45 +0100 <[exa]> (it translates back to dhcpXXXX.kent.ac.uk)
2022-02-05 16:55:03 +0100 <Inst[m]> where is hutton at again?
2022-02-05 16:55:06 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-05 16:55:07 +0100 <geekosaur> segfaultfizzbuzz, it's not like using haskell means necessarily making use of laziness. haskell has other advantages
2022-02-05 16:55:24 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-05 16:55:35 +0100 <Inst[m]> i mean you could just set {-# LANGUAGE Strict #-}
2022-02-05 16:55:45 +0100 <Inst[m]> iirc, does that force strictness on everything, or does it implement strict by default?
2022-02-05 16:56:20 +0100 <CHUD> [exa]: I thought the owners of this channel would just cloak everyone by default
2022-02-05 16:56:29 +0100 <CHUD> it's alright
2022-02-05 16:56:34 +0100 <Inst> it's IRC
2022-02-05 16:56:47 +0100 <Inst> at least on libera/freenode, there's no native IP blocking
2022-02-05 16:56:51 +0100 <Inst> you have to request a cloak
2022-02-05 16:57:05 +0100 <geekosaur> and cloaks are controlled by the server operators, not per channel
2022-02-05 16:57:17 +0100 <geekosaur> channels can offer custom cloaks, but not automatic cloaking
2022-02-05 16:57:30 +0100 <CHUD> oh I see
2022-02-05 16:57:33 +0100 <Inst> wait, is Strict language pragma forcing strict by default or lazy by default?
2022-02-05 16:57:47 +0100 <Inst> erm, strict by default or everything is forced to strict?
2022-02-05 16:57:55 +0100 <geekosaur> (we don't offer custom cloaks here. several other channels I'm in have cloaks for developers)
2022-02-05 16:58:12 +0100 <[exa]> CHUD: cloaking by default also kinda slows down action against abuse (spambots etc)
2022-02-05 16:58:12 +0100 <geekosaur> Inst, -XStrict makes everything strict by default
2022-02-05 16:58:37 +0100 <Inst> does it have to be XStrict, or is Strict via pragmas enough?
2022-02-05 16:58:46 +0100 <Inst> iirc a major corporate Haskell implementation is Strict
2022-02-05 16:58:54 +0100 <geekosaur> there's also -XStrictData which acts as if you marked every ADT you define as strict
2022-02-05 16:58:59 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds)
2022-02-05 16:59:15 +0100 <Inst> btw can you ~datatypes?
2022-02-05 16:59:26 +0100 <Inst> and when you say ADT, do you mean Algebraic Datatypes or Abstract Datatypes?
2022-02-05 16:59:35 +0100 <CHUD> fair
2022-02-05 16:59:39 +0100 <geekosaur> the "-X" is just convenient shorthand, as long as it appears before the `module` pragmas work just as well
2022-02-05 17:00:02 +0100 <geekosaur> I believe so, yes (~ on datatypes to override default !)
2022-02-05 17:00:02 +0100 <Inst> I know you can !DataConstructor, but not sure if you can ~DataConstructor to force laziness
2022-02-05 17:01:03 +0100 <geekosaur> "Informally the StrictData language extension switches data type declarations to be strict by default allowing fields to be lazy by adding a ~ in front of the field."
2022-02-05 17:02:05 +0100gaff(~gaff@49.207.224.13)
2022-02-05 17:02:38 +0100 <Inst> but it implies in native Haskell ~ is not supported for datatypes
2022-02-05 17:03:25 +0100 <Inst> also how much more Haskell do I have to do before I can say Haskell is my first language?
2022-02-05 17:04:14 +0100mmhat(~mmh@55d44844.access.ecotel.net)
2022-02-05 17:04:23 +0100 <Inst> i have a friend who probably needs Python training, and I have a copy of K&R that's busy destroying my bookshelf
2022-02-05 17:04:50 +0100 <geekosaur> standard Haskell only supports ~ in one place, and that is in patterns
2022-02-05 17:05:01 +0100 <Inst> thanks
2022-02-05 17:05:06 +0100 <Hecate> do we have abstract datatypes in Haskell?
2022-02-05 17:05:14 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-02-05 17:05:37 +0100Topsi(~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2022-02-05 17:05:41 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-05 17:05:42 +0100 <Inst[m]> you're trolling me, hecate?
2022-02-05 17:05:43 +0100 <geekosaur> "ADT" above was algebraic data type. "abstract" depends on usage, not definition
2022-02-05 17:05:43 +0100Inst[m]uploaded an image: (17KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/pLTELmLGtlMcQCqFGqkUxeBB/image.png >
2022-02-05 17:05:44 +0100 <Inst[m]> ;_;
2022-02-05 17:07:00 +0100 <Hecate> this is terribly named
2022-02-05 17:07:01 +0100 <segfaultfizzbuzz> geekosaur: okay, so then what advantages does haskell have in specifying hardware, if laziness is not relevant
2022-02-05 17:07:03 +0100 <Hecate> > but whose representation is hidden
2022-02-05 17:07:04 +0100 <lambdabot> error:
2022-02-05 17:07:04 +0100 <lambdabot> • Variable not in scope: but :: t0 -> t1 -> t2 -> t3 -> t
2022-02-05 17:07:04 +0100 <lambdabot> • Perhaps you meant one of these:
2022-02-05 17:07:07 +0100 <Hecate> It whould be named "opaque"
2022-02-05 17:07:09 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-05 17:07:40 +0100tiferrei2000(~tiferrei@user/tiferrei)
2022-02-05 17:07:43 +0100 <Hecate> segfaultfizzbuzz: https://clash-lang.org/
2022-02-05 17:07:49 +0100 <geekosaur> segfaultfizzbuzz, types and type inference
2022-02-05 17:07:50 +0100 <Inst[m]> the term "hidden" seems to have been used enough that it's understandable, the way i'm interpreting it is to mean a datatype on which pattern matching fails and you're forced to use predefined functions
2022-02-05 17:08:11 +0100hololeaphas never heard that called "abstract data type"
2022-02-05 17:08:22 +0100tiferrei(~tiferrei@user/tiferrei) (Remote host closed the connection)
2022-02-05 17:08:27 +0100 <Inst[m]> i was told on Discord
2022-02-05 17:08:48 +0100 <hololeap> abstract data type sounds like a oxymoron
2022-02-05 17:09:07 +0100 <Inst> in my textbooks, it seems ADT means abstract data type by default, not algebraic data type
2022-02-05 17:09:38 +0100 <Inst> which is, for me, insane, because they do mention that GADT refers to generalized algebraic data type, but ADT means abstract data type
2022-02-05 17:10:00 +0100 <geekosaur> that seems odd, yes
2022-02-05 17:10:45 +0100 <Inst> https://wiki.haskell.org/Algebraic_data_type
2022-02-05 17:10:56 +0100 <Inst> Algebraic Data Type is not to be confused with *Abstract* Data Type, which (ironically) is its opposite, in some sense. The initialism "ADT" usually means *Abstract* Data Type, but GADT usually means Generalized *Algebraic* Data Type.
2022-02-05 17:11:01 +0100Instfacepalms
2022-02-05 17:11:28 +0100 <hololeap> what
2022-02-05 17:11:55 +0100wroathe(~wroathe@user/wroathe)
2022-02-05 17:13:32 +0100razetime(~quassel@49.207.209.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-02-05 17:13:48 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-02-05 17:15:37 +0100 <ski> "ADT" is sometimes used to mean Algebraic Data Type ..
2022-02-05 17:15:49 +0100brandonh(~brandonh@102.39.195.50)
2022-02-05 17:15:52 +0100 <hololeap> that's what I always thought it meant
2022-02-05 17:16:08 +0100 <Inst> AlDT vs AbDT
2022-02-05 17:16:12 +0100 <Inst> damn you, Haskell community!
2022-02-05 17:16:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-05 17:16:49 +0100tdammers(~tdammers@77.109.72.177.res.static.edpnet.net) (Quit: WeeChat 3.0)
2022-02-05 17:18:18 +0100 <hololeap> I don't even find "abstract data types" interesting enough to abbreviate, let alone take precedence over algebraic data types
2022-02-05 17:18:31 +0100 <hololeap> you didn't export the constructors... whoopty doo
2022-02-05 17:22:27 +0100 <ski> abstract data types are often a means to do subtypes, or quotient types, or both
2022-02-05 17:22:49 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2022-02-05 17:23:17 +0100 <ski> (can also be to e.g. hide differences between underlying platforms)
2022-02-05 17:25:39 +0100xff0x(~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009) (Ping timeout: 250 seconds)
2022-02-05 17:28:50 +0100m4lvin(~m4lvin@w4eg.de) ()
2022-02-05 17:31:47 +0100brandonh(~brandonh@102.39.195.50) (Quit: brandonh)
2022-02-05 17:32:11 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2022-02-05 17:32:30 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 17:32:44 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2022-02-05 17:32:53 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Ping timeout: 256 seconds)
2022-02-05 17:33:03 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-02-05 17:35:51 +0100zmt00(~zmt00@user/zmt00)
2022-02-05 17:36:36 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2022-02-05 17:37:43 +0100xff0x(~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009)
2022-02-05 17:45:15 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2022-02-05 17:45:49 +0100glguy(x@libera/staff/glguy) (Ping timeout: 622 seconds)
2022-02-05 17:46:51 +0100ec(~ec@gateway/tor-sasl/ec)
2022-02-05 17:47:04 +0100Feuermagier_(~Feuermagi@84.17.48.173) (Remote host closed the connection)
2022-02-05 17:47:10 +0100deadmarshal(~deadmarsh@95.38.114.62)
2022-02-05 17:47:12 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds)
2022-02-05 17:47:23 +0100Feuermagier_(~Feuermagi@84.17.48.173)
2022-02-05 17:48:14 +0100Feuermagier_(~Feuermagi@84.17.48.173) (Client Quit)
2022-02-05 17:48:27 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-05 17:48:49 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-05 17:50:35 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-05 17:51:43 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-05 17:54:28 +0100 <monochrom> http://www.vex.net/~trebla/haskell/abs-type-param.html is why abstract data types are interesting.
2022-02-05 17:55:19 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
2022-02-05 17:56:18 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-05 18:00:19 +0100RFV(~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net)
2022-02-05 18:02:24 +0100RFV(~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net) (Client Quit)
2022-02-05 18:03:01 +0100xff0x(~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009) (Ping timeout: 256 seconds)
2022-02-05 18:03:18 +0100 <maerwald> labeloptics can cause really weird error messages when you pass too many parameters to a function
2022-02-05 18:03:54 +0100xff0x(~xff0x@2001:1a81:525e:1300:ccb2:578e:6a32:bac8)
2022-02-05 18:04:06 +0100 <maerwald> telling you an instance is missing
2022-02-05 18:04:11 +0100dajoer(~david@user/gvx) (Quit: leaving)
2022-02-05 18:04:40 +0100CHUD(~CHUD@dhcp6353.kent.ac.uk) ()
2022-02-05 18:05:56 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-05 18:05:57 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-05 18:05:57 +0100wroathe(~wroathe@user/wroathe)
2022-02-05 18:13:13 +0100 <hololeap> thanks for the link monochrom
2022-02-05 18:13:15 +0100Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-02-05 18:14:45 +0100emad(~emad@156.214.198.176)
2022-02-05 18:14:56 +0100_xor(~xor@dsl-50-5-233-169.fuse.net)
2022-02-05 18:17:59 +0100 <ski> monochrom : nice ! :)
2022-02-05 18:21:57 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-02-05 18:22:25 +0100wavemode(~wavemode@2601:241:0:fc90:5d33:217d:3934:b62c)
2022-02-05 18:24:33 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-02-05 18:25:18 +0100zebrag(~chris@user/zebrag)
2022-02-05 18:27:20 +0100Jing(~hedgehog@240e:390:7c53:a7e1:30fc:7acd:1f91:844b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-02-05 18:35:23 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-02-05 18:37:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-05 18:37:04 +0100maxime_(~maxime@2a01cb0883359800c4d240234508d9fe.ipv6.abo.wanadoo.fr)
2022-02-05 18:39:45 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2022-02-05 18:40:34 +0100 <Sqaure> Some classes requires a type function (m :: * -> *). Say if i want to implement Foldable on MyType a b, but want it to operate on "a", is there some trick to that?
2022-02-05 18:41:35 +0100 <monochrom> No. You have to change MyType or write a newtype wrapper.
2022-02-05 18:41:50 +0100 <Sqaure> thanks
2022-02-05 18:45:05 +0100stef204(~stef204@user/stef204) (Quit: WeeChat 3.4)
2022-02-05 18:46:21 +0100tiferrei2000(~tiferrei@user/tiferrei) (Ping timeout: 276 seconds)
2022-02-05 18:46:26 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2022-02-05 18:47:30 +0100tiferrei(~tiferrei@user/tiferrei)
2022-02-05 18:50:22 +0100eugen[m](~eugenrahr@2001:470:69fc:105::1:a153)
2022-02-05 18:51:03 +0100Topsi(~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de)
2022-02-05 18:51:25 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 18:53:07 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-05 18:55:07 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2022-02-05 18:58:49 +0100Andrew(~andrew@user/AndrewYu)
2022-02-05 18:59:07 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 18:59:08 +0100 <hololeap> Sqaure: you can also use this for convenience: https://hackage.haskell.org/package/bifunctors-5.5.11/docs/Data-Bifunctor-Flip.html
2022-02-05 19:00:03 +0100 <Sqaure> hololeap, ah, great. Thanks
2022-02-05 19:00:14 +0100 <hololeap> and use GeneralizedNewtypeDeriving or DerivingVia to get all the nifty instances
2022-02-05 19:01:21 +0100 <hololeap> you will need to define bi(functor/foldable/traversable/etc) for your type though if you want to derive them
2022-02-05 19:01:27 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 19:04:23 +0100hexemeldlework
2022-02-05 19:06:40 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-02-05 19:11:39 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca) (Remote host closed the connection)
2022-02-05 19:12:05 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca)
2022-02-05 19:12:57 +0100martin02(~silas@141.84.69.76) (Ping timeout: 256 seconds)
2022-02-05 19:14:39 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds)
2022-02-05 19:35:37 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-05 19:37:51 +0100 <hololeap> when are we going to get DeriveBitraversable
2022-02-05 19:38:07 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 19:38:24 +0100little_mac(~little_ma@2601:410:4300:3ce0:a45b:6ac9:43c1:2d7f)
2022-02-05 19:39:44 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-05 19:40:19 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622)
2022-02-05 19:41:16 +0100theproffesor(~theproffe@user/theproffesor)
2022-02-05 19:43:11 +0100 <EvanR> zero one infinity rule
2022-02-05 19:43:43 +0100 <hololeap> DeriveNTraversable? :o
2022-02-05 19:46:01 +0100gaff(~gaff@49.207.224.13) (Remote host closed the connection)
2022-02-05 19:46:05 +0100cuz(~user@50.226.229.246)
2022-02-05 19:46:10 +0100x_kuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-02-05 19:49:24 +0100xkuru(~xkuru@user/xkuru)
2022-02-05 19:50:19 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-05 19:51:40 +0100flinner(~flinner__@2001:16a2:79d5:9b00:4d69:65fd:2ae4:cd31)
2022-02-05 19:51:40 +0100flinner(~flinner__@2001:16a2:79d5:9b00:4d69:65fd:2ae4:cd31) (Changing host)
2022-02-05 19:51:40 +0100flinner(~flinner__@user/flinner)
2022-02-05 19:57:13 +0100gaff(~gaff@49.207.224.13)
2022-02-05 19:57:15 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-05 19:57:18 +0100gaff(~gaff@49.207.224.13) (Read error: Connection reset by peer)
2022-02-05 19:57:33 +0100gaff(~gaff@49.207.224.13)
2022-02-05 19:57:38 +0100x_kuru(~xkuru@user/xkuru)
2022-02-05 19:58:31 +0100xkuru(~xkuru@user/xkuru) (Ping timeout: 256 seconds)
2022-02-05 19:58:40 +0100MatthiasG2(~matthias@i6DFA03D9.versanet.de) (Quit: Lost terminal)
2022-02-05 19:59:36 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-02-05 20:00:31 +0100qwedfg_(~qwedfg@user/qwedfg) (Read error: Connection reset by peer)
2022-02-05 20:03:03 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-05 20:03:34 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2022-02-05 20:04:41 +0100maxime_(~maxime@2a01cb0883359800c4d240234508d9fe.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2022-02-05 20:05:04 +0100qwedfg(~qwedfg@user/qwedfg)
2022-02-05 20:07:47 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2022-02-05 20:07:51 +0100qwedfg(~qwedfg@user/qwedfg) (Read error: Connection reset by peer)
2022-02-05 20:08:15 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-02-05 20:08:26 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-02-05 20:11:14 +0100vicfred(~vicfred@user/vicfred)
2022-02-05 20:11:48 +0100econo(uid147250@user/econo)
2022-02-05 20:11:55 +0100qwedfg(~qwedfg@user/qwedfg)
2022-02-05 20:12:02 +0100vysn(~vysn@user/vysn) (Quit: WeeChat 3.3)
2022-02-05 20:15:51 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-05 20:17:03 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2022-02-05 20:17:36 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2022-02-05 20:18:54 +0100deadmarshal(~deadmarsh@95.38.114.62) (Ping timeout: 260 seconds)
2022-02-05 20:19:03 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-02-05 20:21:51 +0100flinner(~flinner__@user/flinner) (Ping timeout: 256 seconds)
2022-02-05 20:22:17 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:3911:f302:476a:5d4c) (Ping timeout: 240 seconds)
2022-02-05 20:23:20 +0100qwedfg(~qwedfg@user/qwedfg) (Read error: Connection reset by peer)
2022-02-05 20:24:02 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-02-05 20:25:33 +0100brandonh(~brandonh@102.39.195.50)
2022-02-05 20:30:56 +0100brandonh(~brandonh@102.39.195.50) (Quit: brandonh)
2022-02-05 20:33:36 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2022-02-05 20:36:29 +0100ec(~ec@gateway/tor-sasl/ec)
2022-02-05 20:38:14 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-05 20:42:15 +0100qwedfg(~qwedfg@user/qwedfg)
2022-02-05 20:42:18 +0100polyphem(~rod@2a02:810d:840:8754:5126:c335:5f23:8358) (Quit: WeeChat 3.4)
2022-02-05 20:43:26 +0100maxime_(~maxime@2a01cb08833598005be65fcb4fda67db.ipv6.abo.wanadoo.fr)
2022-02-05 20:45:05 +0100Sgeo(~Sgeo@user/sgeo)
2022-02-05 20:47:32 +0100Topsi(~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-02-05 20:54:12 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-05 20:57:36 +0100cuz(~user@50.226.229.246) (Remote host closed the connection)
2022-02-05 20:57:46 +0100cuz(~user@50.226.229.246)
2022-02-05 20:58:13 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-05 21:02:46 +0100cuz(~user@50.226.229.246) (Ping timeout: 260 seconds)
2022-02-05 21:05:23 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 256 seconds)
2022-02-05 21:06:46 +0100juhp(~juhp@128.106.188.82)
2022-02-05 21:09:51 +0100alp(~alp@user/alp)
2022-02-05 21:09:55 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net)
2022-02-05 21:13:13 +0100mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2022-02-05 21:15:03 +0100mcglk(~mcglk@131.191.49.120)
2022-02-05 21:23:05 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca) (Quit: Leaving)
2022-02-05 21:23:07 +0100fendor_(~fendor@91.141.79.239.wireless.dyn.drei.com)
2022-02-05 21:23:51 +0100fendor_(~fendor@91.141.79.239.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2022-02-05 21:24:11 +0100fendor_(~fendor@91.141.79.239.wireless.dyn.drei.com)
2022-02-05 21:26:57 +0100fendor(~fendor@91.141.79.239.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-02-05 21:28:55 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-05 21:30:39 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-05 21:31:13 +0100rando25892(~homefame@user/rando25892) (Ping timeout: 256 seconds)
2022-02-05 21:31:20 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-05 21:31:27 +0100fendor__(~fendor@212095005025.public.telering.at)
2022-02-05 21:32:02 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-05 21:32:22 +0100rando25892(~homefame@user/rando25892)
2022-02-05 21:34:13 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 21:35:11 +0100fendor_(~fendor@91.141.79.239.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
2022-02-05 21:37:32 +0100gaff(~gaff@49.207.224.13) (Remote host closed the connection)
2022-02-05 21:38:49 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-05 21:39:39 +0100skiidly ponders optics as a query (and modification) language
2022-02-05 21:41:26 +0100 <Rembane> ski: Like xpath?
2022-02-05 21:41:45 +0100 <ski> maybe. or SQL
2022-02-05 21:42:27 +0100 <ski> (someone mentioned "yes well, \"drilling\" for values insome some deeply nested structure will always require some code" in another channel)
2022-02-05 21:46:40 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-05 21:47:39 +0100qwedfg(~qwedfg@user/qwedfg) (Ping timeout: 256 seconds)
2022-02-05 21:48:05 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-02-05 21:48:20 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2022-02-05 21:50:43 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-05 21:52:40 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-05 21:58:00 +0100fendor__(~fendor@212095005025.public.telering.at) (Read error: Connection reset by peer)
2022-02-05 21:58:06 +0100fendor_(~fendor@91.141.79.239.wireless.dyn.drei.com)
2022-02-05 21:59:06 +0100tired(~tired@user/tired) (Quit: /)
2022-02-05 22:00:41 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net) (Ping timeout: 256 seconds)
2022-02-05 22:03:23 +0100Pickchea(~private@user/pickchea)
2022-02-05 22:06:01 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-02-05 22:06:14 +0100tired(~tired@user/tired)
2022-02-05 22:08:01 +0100qwedfg(~qwedfg@user/qwedfg)
2022-02-05 22:09:25 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-02-05 22:16:11 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-02-05 22:19:54 +0100tired(~tired@user/tired) (Quit: /)
2022-02-05 22:20:31 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 256 seconds)
2022-02-05 22:21:25 +0100tired(~tired@user/tired)
2022-02-05 22:23:57 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
2022-02-05 22:26:22 +0100coot(~coot@213.134.190.95)
2022-02-05 22:31:12 +0100coot(~coot@213.134.190.95) (Client Quit)
2022-02-05 22:33:08 +0100 <Inst> can Haskell be considered type-level programming + pure functional programming?
2022-02-05 22:33:19 +0100 <Inst> I'm getting the feeling that the type-level programming is as important or more so than the pure functional programming
2022-02-05 22:33:40 +0100 <Inst> functional programming is a system of support and restraint, i.e, TCO, first-class functions
2022-02-05 22:33:49 +0100 <Inst> immutability by default
2022-02-05 22:34:14 +0100 <EvanR> is type level programming different from functional programming?
2022-02-05 22:34:26 +0100 <monochrom> I would pin those descriptions on individual programs not the whole language.
2022-02-05 22:35:08 +0100 <Inst> i'm just trying to see whether it's a valid to say "you know you're a Haskeller when the first thing you do when you learn a new language is look up the type system"
2022-02-05 22:35:19 +0100 <maerwald> EvanR: there's functional programming without types, so yes
2022-02-05 22:35:30 +0100 <Inst> lisp, i assume?
2022-02-05 22:35:46 +0100 <monochrom> Are you a "journalist"? Only someone who has magazine article due is desperate enough to ask those generic hearsay questions.
2022-02-05 22:36:03 +0100 <EvanR> "you know you're a haskell when" sounds like a hilarious jeff foxworthy show
2022-02-05 22:36:09 +0100 <EvanR> haskeller
2022-02-05 22:36:42 +0100polyphem(~rod@2a02:810d:840:8754:3d7:e2e3:b5c3:df83)
2022-02-05 22:36:53 +0100 <Inst> but is it valid / good practice to learn new languages starting from the type system?
2022-02-05 22:37:08 +0100 <monochrom> Depends on the language?
2022-02-05 22:37:28 +0100 <monochrom> OK I'm outta here.
2022-02-05 22:37:31 +0100 <Inst> sorry
2022-02-05 22:37:35 +0100Inst(~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d) (Leaving)
2022-02-05 22:39:06 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-05 22:39:29 +0100jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-05 22:40:11 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-02-05 22:40:42 +0100 <EvanR> if you like type level programming go check out some dependently typed languages, at least. There's probably other kinds of languages with type level programming nicer than haskell out there too
2022-02-05 22:40:53 +0100 <monochrom> They left :)
2022-02-05 22:41:14 +0100EvanRrealizes they are talking to an empty patch of wall
2022-02-05 22:41:20 +0100 <maerwald> yeah... any language that doesn't chaotically retro-fit dependent types will be a smoother experience
2022-02-05 22:41:28 +0100Inst(~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d)
2022-02-05 22:41:43 +0100 <Inst> or someone who's still monitoring via matrix, but actually left for monochrom's sensitivity
2022-02-05 22:41:48 +0100 <maerwald> lol
2022-02-05 22:41:57 +0100Inst(~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d) (Leaving)
2022-02-05 22:42:01 +0100 <sm> when talking to Inst.. be ready for sudden moves in any direction :)
2022-02-05 22:42:02 +0100 <geekosaur> oy
2022-02-05 22:42:52 +0100 <monochrom> And after all these months I'm pretty sure their core interest is beating around the bush and mincing words, not actual investigations.
2022-02-05 22:43:37 +0100 <maerwald> did they apply for scotland yard?
2022-02-05 22:43:46 +0100 <Inst[m]> i, at least, will know if i'm completely full of shit by october
2022-02-05 22:43:58 +0100 <EvanR> a good skill to have
2022-02-05 22:46:46 +0100tdammers(~tdammers@77.109.72.177.res.static.edpnet.net)
2022-02-05 22:46:49 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-05 22:47:27 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Remote host closed the connection)
2022-02-05 22:48:41 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622)
2022-02-05 22:50:32 +0100cynomys(~cynomys@user/cynomys)
2022-02-05 22:56:47 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-05 23:00:37 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 250 seconds)
2022-02-05 23:01:00 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-05 23:01:49 +0100lavaman(~lavaman@98.38.249.169)
2022-02-05 23:01:56 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-02-05 23:03:23 +0100cuz(~user@50.226.229.246)
2022-02-05 23:04:02 +0100cuz`(~user@50.226.229.246)
2022-02-05 23:07:13 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2022-02-05 23:07:53 +0100cuz(~user@50.226.229.246) (Ping timeout: 256 seconds)
2022-02-05 23:13:16 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-05 23:13:57 +0100fendor_(~fendor@91.141.79.239.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2022-02-05 23:16:05 +0100etale(~user@2600:8802:2105:7100:721c:e7ff:feda:ed41)
2022-02-05 23:28:07 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-05 23:28:23 +0100cuz`(~user@50.226.229.246) (Remote host closed the connection)
2022-02-05 23:28:30 +0100cuz`(~user@50.226.229.246)
2022-02-05 23:29:18 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-02-05 23:39:01 +0100enyc(~enyc@user/enyc) (Ping timeout: 240 seconds)
2022-02-05 23:43:06 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Remote host closed the connection)
2022-02-05 23:44:41 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:3911:f302:476a:5d4c)
2022-02-05 23:45:38 +0100 <hololeap> Inst[m]: one thing to keep in mind is that the the type system only exists before the program is compiled. it's purely logic that exists inside GHC, so you could think of it as another language, in a way
2022-02-05 23:46:53 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-05 23:47:01 +0100maxime_(~maxime@2a01cb08833598005be65fcb4fda67db.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2022-02-05 23:47:33 +0100 <hololeap> for instance, some knuckleheads have written a way to solve the n-queens problem purely in the type system. when it's taken that far, it seems to me like a seperate language
2022-02-05 23:49:00 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-05 23:52:52 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622)