Logs on 2022-02-05 (liberachat/#haskell)
| 00:01:47 | × | cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds) |
| 00:01:57 | → | cheater joins (~Username@user/cheater) |
| 00:03:37 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 240 seconds) |
| 00:03:38 | × | mmalter quits (~mmalter@88.126.10.237) (Quit: Lost terminal) |
| 00:03:59 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 00:05:51 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 00:11:11 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 00:14:18 | × | catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Read error: Connection reset by peer) |
| 00:14:40 | × | Tuplanolla quits (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:17:21 | × | max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:20:43 | → | nitrix joins (~nitrix@user/nitrix) |
| 00:24:07 | → | waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
| 00:25:03 | × | nitrix quits (~nitrix@user/nitrix) (Remote host closed the connection) |
| 00:25:55 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 00:26:24 | → | nitrix joins (~nitrix@user/nitrix) |
| 00:29:25 | × | nitrix quits (~nitrix@user/nitrix) (Client Quit) |
| 00:30:26 | → | nitrix joins (~nitrix@user/nitrix) |
| 00:30:35 | × | jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 250 seconds) |
| 00:37:09 | <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? |
| 00:39:30 | → | wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
| 00:40:34 | × | emf_ quits (~emf@2620:10d:c090:400::5:9a32) (Ping timeout: 250 seconds) |
| 00:41:51 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 00:42:23 | <sm> | do you use stack or cabal ? |
| 00:42:39 | <hololeap> | cabal |
| 00:43:38 | <sm> | run a bunch of test builds like cabal build --constraint 'semigroups == X.Y' -O0 |
| 00:44:19 | <sm> | also, check semigroups' changelog for signs of api change |
| 00:45:15 | <hololeap> | does anyone actually do this in practice? |
| 00:46:41 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:47:00 | → | yauhsien joins (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) |
| 00:48:58 | → | alp joins (~alp@user/alp) |
| 00:50:33 | → | soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 00:51:39 | × | yauhsien quits (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 00:51:58 | <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? |
| 00:56:05 | <sshine> | hololeap, in practice, I think most people add the currently available package as the lower bound. |
| 00:56:27 | → | Inst[m] joins (~instrmatr@2001:470:69fc:105::1:903e) |
| 00:57:02 | <hololeap> | ok, that's what it seems like |
| 00:57:06 | <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. |
| 00:58:05 | <sshine> | hololeap, since the lower bound never changes, you could do a binary search on every dependency. |
| 00:59:10 | <sshine> | hololeap, or rather, step backwards in (manor, minor) until it breaks. |
| 00:59:40 | <hololeap> | yeah. I suppose this isn't a problem that is specific to haskell/cabal, either. |
| 01:00:03 | <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. |
| 01:00:35 | <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. |
| 01:02:16 | <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 |
| 01:02:27 | <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. |
| 01:02:36 | <hololeap> | but really, I am just curious about the problem in general |
| 01:02:39 | <sshine> | right |
| 01:04:05 | <sshine> | it'd be neat if you could check if a version of a package works cheaper than trying it |
| 01:04:28 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:04:39 | <sshine> | I guess a neater solution is to shrink the problem like Unison does :) |
| 01:07:39 | <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) |
| 01:08:26 | → | chenqisu1 joins (~chenqisu1@183.217.200.249) |
| 01:08:59 | <sshine> | right... having your Linux package manager handle Haskell packages is pretty far down most people's lists :P |
| 01:09:11 | <sshine> | I'd rather learn Nix then. |
| 01:09:19 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 01:10:20 | <hololeap> | well, I end up sending out a lot of PRs trying to get people to bump their dependencies! :) |
| 01:10:39 | <hololeap> | or remove certain dependencies... *cough* system-filepath *cough* |
| 01:10:45 | × | nosewings quits (~ngpc@cpe-68-206-102-85.satx.res.rr.com) (Remote host closed the connection) |
| 01:11:36 | <sshine> | so... the gentoo-haskell packages have dependencies that aren't in hackage? or are you talking about unnecessary dependencies in hackage packages? |
| 01:12:23 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 01:13:57 | <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 |
| 01:15:02 | <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 |
| 01:16:25 | <hololeap> | for instance, it's going to be a while before we bring aeson-2 in |
| 01:16:36 | <hololeap> | there's too little support for it right now |
| 01:16:36 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Read error: Connection reset by peer) |
| 01:16:56 | <Inst[m]> | Hecate: is there a roadmap for Haskell in 2022? |
| 01:17:12 | <Inst[m]> | It's often comforting to have a plan, even if deadlines and targets are not met |
| 01:18:16 | <hololeap> | it's a weird hobby, I admit :) |
| 01:18:42 | → | tavares joins (~tavares@187.19.213.50) |
| 01:18:44 | × | tavares quits (~tavares@187.19.213.50) (Remote host closed the connection) |
| 01:18:53 | <Inst[m]> | you could link it to donations, i.e, you underpromise for certain donation thresholds |
| 01:20:33 | × | soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
| 01:21:30 | → | dajoer joins (~david@user/gvx) |
| 01:22:30 | × | Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
| 01:25:36 | × | MatthiasG2 quits (~matthias@i6DFA03D9.versanet.de) (Quit: Lost terminal) |
| 01:29:43 | × | waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 256 seconds) |
| 01:31:37 | <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 |
| 01:36:24 | <hololeap> | plus it teaches me about gentoo development and haskell/hackage development |
| 01:40:23 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 01:41:05 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Remote host closed the connection) |
| 01:41:23 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 01:41:47 | <sshine> | hololeap, constraint resolution is everybody's favorite hobby. some have wordle, you bump gentoo package constraints. |
| 01:42:06 | <hololeap> | lol |
| 01:42:13 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:d78:32a5:c637:9190) |
| 01:44:35 | sshine | is caught up trying to find optimal paths through various wordle clones. -_- |
| 01:48:47 | × | koolazer quits (~koo@user/koolazer) (Remote host closed the connection) |
| 01:49:10 | <EvanR> | there's at least 2 wordie, it's very confusing |
| 01:52:05 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:52:05 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:52:05 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:56:56 | <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 |
| 01:57:26 | → | pavonia joins (~user@user/siracusa) |
| 01:58:18 | → | soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 01:58:29 | <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 |
| 01:59:53 | × | notzmv quits (~zmv@user/notzmv) (Remote host closed the connection) |
| 02:00:18 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 02:04:07 | <hololeap> | makes sense |
| 02:04:07 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 02:04:42 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 02:05:19 | → | yauhsien joins (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) |
| 02:08:31 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 02:09:37 | × | yauhsien quits (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 02:12:28 | → | img joins (~img@user/img) |
| 02:12:47 | × | mmhat quits (~mmh@55d49d8b.access.ecotel.net) (Ping timeout: 256 seconds) |
| 02:14:09 | × | neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
| 02:18:43 | → | califax- joins (~califax@user/califx) |
| 02:20:57 | × | soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds) |
| 02:21:42 | × | Ariakenom_ quits (~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) (Quit: Leaving) |
| 02:22:25 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 02:23:13 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:d78:32a5:c637:9190) (Remote host closed the connection) |
| 02:23:21 | × | califax quits (~califax@user/califx) (Ping timeout: 276 seconds) |
| 02:23:22 | califax- | is now known as califax |
| 02:27:33 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 02:29:45 | × | alp quits (~alp@user/alp) (Ping timeout: 250 seconds) |
| 02:30:23 | → | mmhat joins (~mmh@55d44844.access.ecotel.net) |
| 02:32:51 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 02:33:04 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 02:34:53 | × | chenqisu1 quits (~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds) |
| 02:37:26 | × | xff0x quits (~xff0x@2001:1a81:5244:c900:2c67:9c0a:1653:d1e3) (Ping timeout: 260 seconds) |
| 02:39:04 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:a39:53d4:f8b2:1b4f) |
| 02:43:50 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 02:43:54 | → | razetime joins (~quassel@49.207.209.26) |
| 02:43:57 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds) |
| 02:46:53 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 02:50:45 | × | alx741 quits (~alx741@157.100.197.240) (Quit: alx741) |
| 02:51:41 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:9964:9851:99b7:1e83) |
| 02:54:32 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 03:00:18 | × | burnsidesLlama quits (~burnsides@dhcp168-031.wadham.ox.ac.uk) (Remote host closed the connection) |
| 03:02:07 | → | leungbk joins (~brian@cpe-142-129-149-172.socal.res.rr.com) |
| 03:03:26 | → | zebrag joins (~chris@user/zebrag) |
| 03:13:00 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 03:19:30 | → | res0nat0r08 joins (~Fletch@dia.whatbox.ca) |
| 03:20:16 | → | Taneb0 joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
| 03:20:31 | × | srk quits (~sorki@user/srk) (Remote host closed the connection) |
| 03:20:31 | × | derelict quits (~derelict@user/derelict) (Quit: bye) |
| 03:20:32 | × | ldlework quits (~hexeme@user/hexeme) (Remote host closed the connection) |
| 03:20:49 | → | srk joins (~sorki@user/srk) |
| 03:20:51 | → | derelict joins (derelict@user/derelict) |
| 03:21:25 | × | welterde quits (welterde@thinkbase.srv.welterde.de) (Ping timeout: 240 seconds) |
| 03:21:25 | × | res0nat0r0 quits (~Fletch@dia.whatbox.ca) (Ping timeout: 240 seconds) |
| 03:22:45 | → | welterde joins (~welterde@thinkbase.srv.welterde.de) |
| 03:23:22 | → | hexeme joins (~hexeme@user/hexeme) |
| 03:24:13 | × | Taneb quits (~Taneb@runciman.hacksoc.org) (Ping timeout: 240 seconds) |
| 03:25:06 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
| 03:26:42 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 03:28:40 | × | k8yun quits (~k8yun@198-48-158-40.cpe.pppoe.ca) (Quit: Leaving) |
| 03:29:10 | → | k8yun joins (~k8yun@198-48-158-40.cpe.pppoe.ca) |
| 03:33:40 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 03:39:57 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 03:41:25 | × | td_ quits (~td@muedsl-82-207-238-085.citykom.de) (Ping timeout: 256 seconds) |
| 03:42:43 | → | soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 03:42:52 | → | td_ joins (~td@muedsl-82-207-238-241.citykom.de) |
| 03:49:21 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds) |
| 03:50:17 | × | n3rdy1 quits (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds) |
| 03:50:19 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 03:52:25 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 03:56:57 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 03:59:37 | × | wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 240 seconds) |
| 04:01:32 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 04:01:32 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 04:01:32 | → | wroathe joins (~wroathe@user/wroathe) |
| 04:11:06 | → | shriekingnoise_ joins (~shrieking@201.231.16.156) |
| 04:11:38 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 04:12:21 | × | shriekingnoise quits (~shrieking@201.231.16.156) (Ping timeout: 256 seconds) |
| 04:15:37 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 04:21:58 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 04:21:58 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 04:21:58 | → | wroathe joins (~wroathe@user/wroathe) |
| 04:26:17 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 04:31:35 | → | n_blownapart joins (~nb@135-180-218-226.fiber.dynamic.sonic.net) |
| 04:37:37 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 04:38:25 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds) |
| 04:38:35 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 04:39:22 | × | mmhat quits (~mmh@55d44844.access.ecotel.net) (Quit: WeeChat 3.4) |
| 04:42:06 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 04:50:19 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 04:54:30 | × | xff0x quits (~xff0x@2001:1a81:525e:1300:a39:53d4:f8b2:1b4f) (Ping timeout: 250 seconds) |
| 04:55:15 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:8f21:adc2:1c05:78b) |
| 04:55:39 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 256 seconds) |
| 04:55:57 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 04:58:24 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 05:00:11 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
| 05:01:13 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 05:04:08 | → | ario joins (~ario@159.65.220.102) |
| 05:06:13 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:10:37 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 05:12:39 | × | soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
| 05:18:38 | → | yauhsien joins (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) |
| 05:22:37 | × | leungbk quits (~brian@cpe-142-129-149-172.socal.res.rr.com) (Ping timeout: 240 seconds) |
| 05:23:05 | × | yauhsien quits (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 05:24:35 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 05:24:56 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 05:28:50 | → | ardell joins (~ardell@user/ardell) |
| 05:30:26 | → | deadmarshal joins (~deadmarsh@95.38.114.62) |
| 05:33:35 | → | leungbk joins (~brian@cpe-142-129-149-172.socal.res.rr.com) |
| 05:34:14 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 05:34:14 | <Inst[m]> | why is it |
| 05:34:19 | <Inst[m]> | that no one covers until? |
| 05:35:51 | <Inst[m]> | or more specifically, why is Richard Bird covering until? |
| 05:36:16 | <dsal> | covers until what? |
| 05:36:23 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 05:38:05 | → | wyrd_ joins (~wyrd@gateway/tor-sasl/wyrd) |
| 05:39:08 | <EvanR> | :t until |
| 05:39:08 | <lambdabot> | (a -> Bool) -> (a -> a) -> a -> a |
| 05:39:24 | <EvanR> | cool |
| 05:39:26 | <Inst[m]> | it's Haskell's for loop |
| 05:39:29 | <Inst[m]> | that no one ever uses |
| 05:39:58 | <EvanR> | well it's limited to a very specific kind of loop |
| 05:40:04 | <Inst[m]> | until x y z = if x z then z else until x y (y z) |
| 05:40:15 | <EvanR> | @src until |
| 05:40:15 | <lambdabot> | until p f x | p x = x |
| 05:40:15 | <lambdabot> | | otherwise = until p f (f x) |
| 05:40:15 | <Inst[m]> | also there's no warning on infinite loops with it, but Bird covers it |
| 05:40:18 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds) |
| 05:41:03 | <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 |
| 05:41:08 | <EvanR> | also this seems more like a `while' loop xD |
| 05:41:22 | <EvanR> | which are known to diverge from time to time |
| 05:44:39 | <Inst[m]> | it doesn't really have much of an advantage over: |
| 05:44:45 | Inst[m] | uploaded an image: (14KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/tNDqnCYuezDWWCsWYeBPAcGo/image.png > |
| 05:46:12 | <EvanR> | they aren't really comparable |
| 05:46:30 | <Inst[m]> | i mean it's expression-based vs syntax-based language, also FP vs IP |
| 05:46:36 | <Inst[m]> | erm, statement-based language |
| 05:46:54 | <janus> | hololeap: if you need help to advance your PR for happstack-server, i'll happily help |
| 05:47:01 | <Inst[m]> | i was just wondering why someone didn't steal until syntax |
| 05:47:09 | <EvanR> | what syntax |
| 05:48:37 | × | deadmarshal quits (~deadmarsh@95.38.114.62) (Ping timeout: 240 seconds) |
| 05:49:09 | <dsal> | It's just a function. |
| 05:49:13 | <dsal> | There are a lot of functions. |
| 05:49:16 | <dsal> | Have you tried fix? |
| 05:51:11 | <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 |
| 05:51:27 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 05:52:33 | × | k8yun quits (~k8yun@198-48-158-40.cpe.pppoe.ca) (Quit: Leaving) |
| 05:52:44 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 05:53:08 | <EvanR> | untilM :: Monad m => m a -> m Bool -> m [a] |
| 05:53:17 | <EvanR> | in which case the condition test is conveniently 2nd |
| 05:53:56 | <EvanR> | "The condition is evaluated after the loop body" ah, that's why |
| 05:53:57 | × | califax quits (~califax@user/califx) (Ping timeout: 276 seconds) |
| 05:54:20 | <EvanR> | which is different from until. And why there's no standard for loops |
| 05:54:26 | <EvanR> | too many to choose from |
| 05:54:50 | <janus> | yeah, you can get into analysis paralysis :O |
| 05:55:01 | <janus> | i like https://hackage.haskell.org/package/break-1.0.2/docs/Control-Break.html |
| 05:55:31 | <janus> | because breaking surely subsumes all of them. and then you don't have to figure out if it tests before or after |
| 05:55:47 | <janus> | but otoh it is the most imperative of all |
| 05:55:55 | → | califax joins (~califax@user/califx) |
| 05:55:59 | <janus> | anyway, i like gabriel's packages, they always have good docs |
| 05:56:25 | <EvanR> | I like to see 6 year old packages still working xD |
| 05:56:47 | <janus> | why wouldn't it? the bounds are super loose |
| 05:57:15 | <janus> | and if it broke, i'd trust gabriel to fix it |
| 05:57:32 | <EvanR> | from the looks of it, it can't break, it's too simple! |
| 05:57:46 | <janus> | ;) |
| 05:57:50 | <EvanR> | lol "loose bounds" as grounds for being super reliable |
| 05:58:25 | <EvanR> | lets all burn our braz-- version bounds |
| 05:58:42 | <janus> | well if the loose bounds are also fortune telling, that would make them more reliable than others :P |
| 06:01:57 | × | Andrew quits (andrew@andrewyu.org) (Ping timeout: 240 seconds) |
| 06:02:13 | <EvanR> | if you want subsumption, code your loop using Cont monads xD |
| 06:02:28 | <EvanR> | which subsumes all loops and more |
| 06:05:17 | → | euouae joins (~euouae@user/euouae) |
| 06:05:37 | <euouae> | Hello are the hackage archive packages digitally signed? |
| 06:05:49 | <euouae> | or at least some of them? |
| 06:09:33 | <sshine> | I don't think so. |
| 06:09:35 | × | phma quits (phma@2001:5b0:211f:7008:1fdf:50b9:29f4:b115) (Read error: Connection reset by peer) |
| 06:09:38 | <euouae> | got it, thank you |
| 06:10:32 | → | phma joins (phma@2001:5b0:211c:1a98:48d4:386a:82f8:d37) |
| 06:11:03 | → | deadmarshal joins (~deadmarsh@95.38.114.62) |
| 06:11:48 | → | oscurochu joins (~oscurochu@097-096-050-227.res.spectrum.com) |
| 06:12:36 | <sshine> | euouae, it might be worth considering for https://dev.flora.pm/ |
| 06:13:02 | × | Akiva quits (~Akiva@user/Akiva) (Ping timeout: 260 seconds) |
| 06:13:49 | <euouae> | sshine the search bar does not respond here |
| 06:13:56 | × | n_blownapart quits (~nb@135-180-218-226.fiber.dynamic.sonic.net) (Quit: Lost terminal) |
| 06:14:07 | <euouae> | firefox 96.0 |
| 06:16:00 | <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 |
| 06:16:19 | <sshine> | euouae, yeah, I just realize that page doesn't work very well. |
| 06:16:27 | × | oscurochu quits (~oscurochu@097-096-050-227.res.spectrum.com) (Ping timeout: 256 seconds) |
| 06:16:29 | <sshine> | euouae, I thought it was more functional, never mind. :) |
| 06:16:37 | <c_wraith> | random-jellyfish: sure. But... You can do that without, too! |
| 06:16:56 | <random-jellyfish> | without the state monad? |
| 06:17:00 | <c_wraith> | yes |
| 06:17:14 | × | mrkajetanp quits (~mrkajetan@88.98.245.28) (Ping timeout: 260 seconds) |
| 06:17:16 | <wavemode> | randoms |
| 06:17:19 | <sshine> | https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-State-Lazy.html |
| 06:17:28 | <c_wraith> | But the most naive State version works with... yeah, that version |
| 06:17:58 | → | mrkajetanp joins (~mrkajetan@88.98.245.28) |
| 06:18:07 | <wavemode> | :t randoms |
| 06:18:09 | <lambdabot> | (Random a, RandomGen g) => g -> [a] |
| 06:18:38 | <random-jellyfish> | okay |
| 06:18:57 | <random-jellyfish> | but as an exercise...how would I do that with a state monad? |
| 06:19:51 | <c_wraith> | with exactly what sshine linked to |
| 06:20:17 | <c_wraith> | Just write the naive code, pretend you don't care how much it leaks... |
| 06:20:27 | <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 |
| 06:20:32 | <c_wraith> | though to be fair, it's like that randoms leaks too |
| 06:20:35 | <c_wraith> | *likely |
| 06:20:51 | <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 |
| 06:21:15 | <sshine> | random-jellyfish, I'd just use StdGen :) |
| 06:21:26 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 06:22:11 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:26:33 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 06:26:59 | → | gentauro joins (~gentauro@user/gentauro) |
| 06:27:54 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 06:30:47 | → | k8yun joins (~k8yun@198-48-158-40.cpe.pppoe.ca) |
| 06:30:49 | → | waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
| 06:35:13 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 06:35:30 | <ski> | random-jellyfish : make sure to use `newStdGen' (not `getStdGen') |
| 06:39:18 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 06:39:48 | ← | nitrix parts (~nitrix@user/nitrix) (Leaving) |
| 06:39:58 | → | notzmv joins (~zmv@user/notzmv) |
| 06:41:51 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 06:44:28 | megeve_ | is now known as megeve |
| 06:47:17 | × | deadmarshal quits (~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds) |
| 06:49:02 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 06:49:55 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:53:02 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 06:53:19 | → | img joins (~img@user/img) |
| 06:54:17 | × | waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
| 06:59:52 | → | deadmarshal joins (~deadmarsh@95.38.114.62) |
| 07:01:04 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 07:04:18 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
| 07:06:13 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 07:07:49 | → | mikoto-chan joins (~mikoto-ch@213.177.151.239) |
| 07:15:37 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:18:44 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 07:20:13 | → | yauhsien joins (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) |
| 07:20:20 | → | img joins (~img@user/img) |
| 07:20:43 | × | jespada quits (~jespada@87.74.36.188) (Ping timeout: 256 seconds) |
| 07:23:03 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 07:24:02 | → | jespada joins (~jespada@87.74.36.188) |
| 07:27:17 | × | yauhsien quits (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 07:28:08 | → | messier102 joins (~messier10@user/messier102) |
| 07:30:55 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds) |
| 07:34:20 | × | wavemode quits (~wavemode@2601:241:0:fc90:e107:b5f8:8bcd:8e3a) (Ping timeout: 256 seconds) |
| 07:36:58 | → | waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
| 07:44:19 | <hololeap> | janus: I was waiting to see what would happen with this PR, but it doesn't look like it's going anywhere currently |
| 07:44:30 | <hololeap> | https://github.com/Gabriel439/Haskell-Turtle-Library/issues/54 |
| 07:44:39 | <hololeap> | *issue, not PR |
| 07:45:10 | <hololeap> | janus: but you can pull in my PR if you want. I'll un-draft it |
| 07:46:41 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:50:36 | <Sqaure> | is there some way to find unused code in a project? |
| 07:52:54 | → | xkuru joins (~xkuru@user/xkuru) |
| 07:52:59 | <hololeap> | there's warnings you can turn on |
| 07:53:21 | <hololeap> | I think -Wall has most of them |
| 07:55:57 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:9964:9851:99b7:1e83) (Remote host closed the connection) |
| 07:56:38 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Remote host closed the connection) |
| 07:58:40 | <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 |
| 07:59:16 | <hololeap> | those four -Wunused-* warnings |
| 08:02:10 | → | oscurochu joins (~oscurochu@097-096-050-227.res.spectrum.com) |
| 08:06:40 | → | chenqisu1 joins (~chenqisu1@183.217.200.249) |
| 08:06:48 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 08:06:48 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 08:06:48 | → | turlando joins (~turlando@user/turlando) |
| 08:08:20 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 252 seconds) |
| 08:11:38 | × | oscurochu quits (~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection) |
| 08:11:56 | → | oscurochu joins (~oscurochu@097-096-050-227.res.spectrum.com) |
| 08:12:13 | × | euouae quits (~euouae@user/euouae) (Quit: ) |
| 08:12:51 | → | Natch joins (~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se) |
| 08:15:03 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 08:23:29 | × | eoiles[m] quits (~eoilesmat@2001:470:69fc:105::1:6164) (Quit: You% have% been% kicked% for% being% idle) |
| 08:23:33 | × | codygman[m] quits (~codygman@2001:470:69fc:105::b4ba) (Quit: You% have% been% kicked% for% being% idle) |
| 08:23:45 | → | Graham31415 joins (~Graham314@213.237.82.193) |
| 08:24:55 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 08:25:42 | → | Jing joins (~hedgehog@240e:390:7c53:a7e1:30fc:7acd:1f91:844b) |
| 08:32:46 | × | oscurochu quits (~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection) |
| 08:37:32 | <hololeap> | what is a .hs-boot file? |
| 08:38:31 | <hololeap> | oh, found it... nvm |
| 08:38:37 | <pavonia> | I think it's created to resolve dependencies if you have mutually recursive modules |
| 08:39:28 | <hololeap> | yeah |
| 08:39:28 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:40:21 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:41:25 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 08:43:09 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 08:43:43 | → | Tuplanolla joins (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) |
| 08:44:01 | × | leungbk quits (~brian@cpe-142-129-149-172.socal.res.rr.com) (Ping timeout: 256 seconds) |
| 08:50:25 | <Hecate> | < Inst[m]> Hecate: is there a roadmap for Haskell in 2022? // Not that I know of |
| 08:56:54 | → | leungbk joins (~brian@cpe-142-129-149-172.socal.res.rr.com) |
| 08:57:02 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) |
| 08:57:51 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 09:00:13 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 09:00:27 | × | k8yun quits (~k8yun@198-48-158-40.cpe.pppoe.ca) (Ping timeout: 256 seconds) |
| 09:00:40 | × | xbreu quits (~xbreu@2001:470:69fc:105::1:5061) (Quit: You have been kicked for being idle) |
| 09:01:15 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 09:01:17 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Ping timeout: 240 seconds) |
| 09:01:23 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 09:04:53 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 09:05:04 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 09:15:25 | × | mcglk quits (~mcglk@131.191.49.120) (Ping timeout: 256 seconds) |
| 09:15:52 | → | mcglk joins (~mcglk@131.191.49.120) |
| 09:17:39 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 09:17:39 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 09:17:42 | allbery_b | is now known as geekosaur |
| 09:19:19 | → | MatthiasG2 joins (~matthias@i6DFA03D9.versanet.de) |
| 09:21:11 | × | LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
| 09:21:26 | → | LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao) |
| 09:24:00 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:24:01 | → | Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
| 09:25:57 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds) |
| 09:28:50 | → | max22- joins (~maxime@2a01cb088335980099495edec395a55d.ipv6.abo.wanadoo.fr) |
| 09:33:26 | → | yauhsien joins (~yauhsien@49.216.190.89) |
| 09:35:01 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 09:38:11 | × | chenqisu1 quits (~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds) |
| 09:41:05 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 09:41:57 | × | APic quits (apic@apic.name) (Ping timeout: 240 seconds) |
| 09:41:58 | × | yauhsien quits (~yauhsien@49.216.190.89) (Read error: Connection reset by peer) |
| 09:44:58 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 09:48:04 | → | ksqsf joins (~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e) |
| 09:48:43 | → | coot joins (~coot@213.134.190.95) |
| 09:49:07 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:51:20 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 09:59:56 | → | namkeleser joins (~namkelese@124.188.192.57) |
| 10:04:14 | → | yauhsien joins (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) |
| 10:04:37 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 10:05:16 | → | oscurochu joins (~oscurochu@097-096-050-227.res.spectrum.com) |
| 10:06:05 | <oscurochu> | There are a bunch of http servers for haskell... which one should i use and why? |
| 10:06:25 | <oscurochu> | im looking to build a backend server. |
| 10:08:03 | → | MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) |
| 10:08:16 | <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. |
| 10:09:31 | × | yauhsien quits (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
| 10:10:03 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 10:12:23 | <Las[m]> | Does anyone know whether there's a flag to warn on .. imports? |
| 10:16:40 | × | chomwitt quits (~chomwitt@2a02:587:dc07:dd00:12c3:7bff:fe6d:d374) (Remote host closed the connection) |
| 10:17:35 | × | MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 252 seconds) |
| 10:18:01 | <geekosaur> | if you mean Type(..), no |
| 10:18:53 | <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) |
| 10:19:25 | → | alp joins (~alp@user/alp) |
| 10:20:57 | → | fef joins (~thedawn@user/thedawn) |
| 10:25:21 | → | __monty__ joins (~toonn@user/toonn) |
| 10:25:55 | × | __monty__ quits (~toonn@user/toonn) (Client Quit) |
| 10:26:13 | → | __monty__ joins (~toonn@user/toonn) |
| 10:28:03 | × | ksqsf quits (~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e) (Ping timeout: 256 seconds) |
| 10:29:05 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 10:30:55 | → | ksqsf joins (~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e) |
| 10:31:03 | → | zer0bitz joins (~zer0bitz@2001:2003:f74d:b800:b4e8:6f53:6fdf:55e6) |
| 10:36:27 | × | max22- quits (~maxime@2a01cb088335980099495edec395a55d.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:37:15 | → | max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
| 10:39:29 | × | oscurochu quits (~oscurochu@097-096-050-227.res.spectrum.com) (Read error: Connection reset by peer) |
| 10:48:37 | × | alp quits (~alp@user/alp) (Ping timeout: 240 seconds) |
| 10:48:57 | × | waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
| 10:50:11 | <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? |
| 10:52:38 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:53:53 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 10:55:18 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:57:11 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
| 10:58:17 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 11:00:36 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 11:01:02 | Taneb0 | is now known as Taneb |
| 11:01:16 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 11:06:49 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 11:08:29 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 11:12:37 | → | tfeb joins (~tfb@5.133.43.132) |
| 11:13:34 | → | tubogram4 joins (~tubogram@user/tubogram) |
| 11:15:56 | × | tfeb quits (~tfb@5.133.43.132) (Client Quit) |
| 11:20:11 | → | CHUD joins (~CHUD@dhcp6353.kent.ac.uk) |
| 11:22:00 | × | tubogram4 quits (~tubogram@user/tubogram) (Quit: See ya later!) |
| 11:22:22 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 11:24:57 | → | tubogram4 joins (~tubogram@user/tubogram) |
| 11:25:22 | × | xff0x quits (~xff0x@2001:1a81:525e:1300:8f21:adc2:1c05:78b) (Ping timeout: 250 seconds) |
| 11:25:37 | → | fendor joins (~fendor@91.141.79.239.wireless.dyn.drei.com) |
| 11:26:06 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 11:26:26 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652) |
| 11:27:34 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 11:32:19 | × | Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 256 seconds) |
| 11:38:39 | <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) |
| 11:39:04 | <geekosaur> | :t sqrt |
| 11:39:05 | <lambdabot> | Floating a => a -> a |
| 11:39:10 | <geekosaur> | :t (^) |
| 11:39:11 | <lambdabot> | (Integral b, Num a) => a -> b -> a |
| 11:39:57 | <CHUD> | they are different types |
| 11:40:53 | <geekosaur> | you might show the error, but I already see a problem if you didn't include the parameter types |
| 11:41:42 | <geekosaur> | > let distance :: Double; distance x1 y1 x2 y2 = sqrt ((x2-x1)^2 + (y2-y1)^2) in distance 1 2 1 2 |
| 11:41:43 | <lambdabot> | error: |
| 11:41:43 | <lambdabot> | • Couldn't match expected type ‘Double’ |
| 11:41:43 | <lambdabot> | with actual type ‘a0 -> a0 -> a0 -> a0 -> a0’ |
| 11:42:16 | → | ardell_ joins (~ardell@user/ardell) |
| 11:42:27 | <CHUD> | so I need to say I am expecting 4 doubles and say I am expecting the return type to also be a double |
| 11:42:51 | × | ardell quits (~ardell@user/ardell) (Ping timeout: 256 seconds) |
| 11:43:15 | <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 |
| 11:43:16 | <lambdabot> | 0.0 |
| 11:43:34 | → | Topsi joins (~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de) |
| 11:44:18 | <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 |
| 11:44:20 | <lambdabot> | 1.4142135623730951 |
| 11:44:38 | <geekosaur> | would help if I read the parameters correctly :> |
| 11:45:32 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:46:57 | <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? |
| 11:47:16 | <CHUD> | I there a way to do multiline on IRC? |
| 11:48:02 | <geekosaur> | no, and lambdabot only does expressions so I had to do it with a let-in |
| 11:48:07 | <c_wraith> | not really. Using the pastebin is recommended |
| 11:48:40 | <geekosaur> | % distance :: Double -> Double -> Double -> Double -> Double; distance x1 y1 x2 y2 = sqrt ((x2-x1)^2 + (y2-y1)^2) |
| 11:48:40 | <yahb> | geekosaur: |
| 11:48:46 | <geekosaur> | % distance 1 1 2 2 |
| 11:48:46 | <yahb> | geekosaur: 1.4142135623730951 |
| 11:48:57 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 240 seconds) |
| 11:49:06 | <CHUD> | Ok, cool, thank you |
| 11:49:10 | <geekosaur> | yahb is actual ghci. still doesn't do multiline though |
| 11:49:12 | × | Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 250 seconds) |
| 11:49:27 | × | Graham31415 quits (~Graham314@213.237.82.193) (Quit: Client closed) |
| 11:50:18 | → | APic joins (apic@apic.name) |
| 11:56:41 | × | max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 11:58:53 | → | max22- joins (~maxime@2a01cb08833598005486a79f6b483be0.ipv6.abo.wanadoo.fr) |
| 12:00:55 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 12:01:15 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 12:01:22 | → | alx741 joins (~alx741@157.100.197.240) |
| 12:01:46 | × | xff0x quits (~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652) (Ping timeout: 250 seconds) |
| 12:03:18 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 12:07:24 | → | RFV joins (~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net) |
| 12:08:47 | × | RFV quits (~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net) (Client Quit) |
| 12:14:34 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 12:15:23 | × | deadmarshal quits (~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds) |
| 12:21:23 | <CHUD> | Is using the || operator appropriate here? https://paste.tomsmeding.com/cZqd2g4N |
| 12:22:18 | <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 |
| 12:23:37 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 12:23:39 | <geekosaur> | it's fine |
| 12:23:42 | <byorgey> | CHUD: looks OK to me, assuming the intention is that either of those two passwords should work |
| 12:24:01 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652) |
| 12:25:50 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 12:26:57 | <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 |
| 12:28:01 | <geekosaur> | I'd have to see more, but by itself the error is correct |
| 12:30:00 | <CHUD> | https://replit.com/join/olbucvxubu-sr53 |
| 12:30:05 | <geekosaur> | if I had to guess I'd say you needed to use multiline input |
| 12:31:34 | <CHUD> | I got even more errors :/ f |
| 12:31:54 | <geekosaur> | indentation |
| 12:34:26 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:39:28 | <CHUD> | geekosaur: thanks dude |
| 12:40:36 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 12:41:03 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 12:43:40 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 12:43:57 | × | turlando quits (~turlando@user/turlando) (Ping timeout: 256 seconds) |
| 12:44:41 | → | oscurochu joins (~oscurochu@097-096-050-227.res.spectrum.com) |
| 12:45:00 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 12:46:13 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 256 seconds) |
| 12:46:18 | <Inst[m]> | sort of embarrassing |
| 12:46:25 | <geekosaur> | at this point you might want to learn about guards |
| 12:46:25 | <Inst[m]> | class Monad m => MonadReader r m | m -> r where |
| 12:46:42 | <Inst[m]> | wait, was that in reply to me? |
| 12:46:46 | <geekosaur> | no |
| 12:46:53 | <geekosaur> | that was to CHUD |
| 12:46:57 | <Inst[m]> | why is there a | in the class definition? I checked Haskell Report |
| 12:47:14 | <Inst[m]> | is it valid to put a | in a class definition? |
| 12:47:15 | <geekosaur> | it's called a functional dependency, and it's not in the Report |
| 12:47:23 | <Inst[m]> | thank you so much |
| 12:47:44 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/functional_dependencies.html |
| 12:48:13 | <Inst[m]> | https://wiki.haskell.org/Functional_dependencies |
| 12:48:46 | <CHUD> | geekosaur: yeah, it's in lecture 2, shall I jump to it now? I'm up to exercise 7 from the pset |
| 12:48:57 | × | fendor quits (~fendor@91.141.79.239.wireless.dyn.drei.com) (Remote host closed the connection) |
| 12:49:21 | → | deadmarshal joins (~deadmarsh@95.38.114.62) |
| 12:49:23 | <geekosaur> | CHUD, probably not yet. but this looks like it'll show you why we use guards :) |
| 12:50:44 | <geekosaur> | there's also MultiWayIf but I assume they don't want you to use extensions either |
| 12:50:52 | → | zincy joins (~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4) |
| 12:51:06 | <CHUD> | geekosaur: what are extensions? |
| 12:51:10 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds) |
| 12:51:36 | <geekosaur> | extennsions to standard Haskell as defined in the Haskell Report |
| 12:51:46 | <geekosaur> | ghc has a bunch of extensions |
| 12:51:54 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 12:51:54 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 12:51:54 | → | turlando joins (~turlando@user/turlando) |
| 12:52:13 | <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 |
| 12:53:57 | × | APic quits (apic@apic.name) (Ping timeout: 240 seconds) |
| 12:54:27 | <CHUD> | Do I always include the type annotation/signature in a programme? |
| 12:54:55 | <geekosaur> | it's generally a good idea |
| 12:55:12 | <geekosaur> | haskell doesn't require it, but it often makes tracking down type errors easier |
| 12:55:56 | <messier102> | A good rule of thumb is to explicitly annotate your function types, while local definitions can be left to automatic inference |
| 12:56:15 | <Inst[m]> | if it's for uni, you have a style guide and it probably requires type sigs / annotations |
| 12:57:05 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 12:57:13 | <CHUD> | I think if it helps track type errors I will include it |
| 12:57:32 | <CHUD> | especially while learning, it's probably best to at this stage |
| 12:57:38 | <Inst[m]> | type annotations are usually for the dev / reader, i.e, it makes it easier to understand what the functions actually do |
| 12:58:04 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 12:58:13 | <geekosaur> | they're also useful when working with numbers, since haskell will happily infer nonsense like (Integral a, Fractional a) => a |
| 12:58:33 | <geekosaur> | and putting type ascriptions everywhere will help you localize where you made the mistake |
| 12:58:35 | <Inst[m]> | iirc, the stuff HLS suggests to your editor, what is that called again? |
| 12:58:58 | × | zincy quits (~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4) (Remote host closed the connection) |
| 12:59:14 | <messier102> | Inst[m]: type lenses? |
| 13:00:01 | <messier102> | https://haskell-language-server.readthedocs.io/en/latest/features.html#add-type-signature |
| 13:00:09 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 13:00:15 | <Inst[m]> | i'm sort of dependent on type lenses :( |
| 13:01:31 | <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 |
| 13:01:46 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 13:01:57 | × | oscurochu quits (~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection) |
| 13:02:05 | <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 |
| 13:02:31 | <messier102> | Rust made the right choice to require explicit signatures imho |
| 13:02:40 | <Inst[m]> | hmmm, what happens if i install haskell platform despite having GHCup installed? |
| 13:02:49 | <geekosaur> | you can enable that |
| 13:03:01 | <maerwald> | Inst[m]: nothing |
| 13:03:17 | <maerwald> | Inst[m]: which GHC is picked depends on how your PATH variable is configured |
| 13:03:29 | <maerwald> | run `which ghc` to see |
| 13:03:35 | <geekosaur> | -Werror=missing-signatures iirc |
| 13:03:51 | <Inst[m]> | just going to install it, see what happens |
| 13:04:21 | <geekosaur> | I thought the platform was gone, tbh |
| 13:04:30 | <maerwald> | Inst[m]: each ghc installation has its own global pkg database... they don't conflict. cabal however only distinguishes compilers by version |
| 13:04:52 | <maerwald> | that can (in some cases) cause trouble |
| 13:04:55 | <maerwald> | but not generally |
| 13:05:04 | <Inst[m]> | i have no idea where this comes from |
| 13:05:05 | <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 |
| 13:05:09 | <Inst[m]> | https://downloads.haskell.org/~platform/8.6.5/ |
| 13:05:19 | <Inst[m]> | just hoping it comes with winghci or something like that |
| 13:05:20 | <messier102> | geekosaur: thank you |
| 13:05:22 | <maerwald> | Inst[m]: on windows? |
| 13:05:29 | <maerwald> | Please use chocolatey or ghcup on windows |
| 13:05:34 | <maerwald> | platform is not supported anymore |
| 13:05:45 | <maerwald> | we won't be helping you :p |
| 13:06:43 | <Inst[m]> | i just wish i weren't a freaking skid, otherwise i'd work on projects improving windows IDE etc support |
| 13:07:02 | × | the_proffesor quits (~theproffe@user/theproffesor) (Ping timeout: 240 seconds) |
| 13:08:15 | <Inst[m]> | although tbh given tendencies in haskell community, the language would probably fork into multiple custom preludes if the userbase was 10x larger |
| 13:08:36 | <geekosaur> | there are already multiple custom preludes |
| 13:08:41 | <maerwald> | xD |
| 13:09:08 | <Inst[m]> | there are, but they haven't forked the language |
| 13:09:10 | <maerwald> | Inst[m]: if you have knowledge about MSIX installers, lets me know |
| 13:09:14 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 13:09:33 | <Inst[m]> | it's somethign you guys are actively working on? |
| 13:09:34 | <Inst[m]> | great to hear |
| 13:10:03 | <maerwald> | it's just an idea to get something into MS store |
| 13:10:10 | <maerwald> | e.g. ghcup or GHC bindist itself |
| 13:10:38 | <maerwald> | we have exactly one GHC devs who knows windows, so... |
| 13:10:52 | × | ksqsf quits (~user@2001:da8:d800:611:a0b5:a752:45e1:ee6e) (Remote host closed the connection) |
| 13:11:14 | <messier102> | I think you don't need to package as MSIX for the updated Windows store, do you? |
| 13:11:24 | <Inst[m]> | you'd actually be better off trying to turn an experienced windows dev into a haskeller |
| 13:11:55 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:11:57 | <maerwald> | Inst[m]: they're too pragmatic to waste their time on something like that |
| 13:11:58 | <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!" |
| 13:12:08 | <geekosaur> | I thought the HF was supposed to be working on improving that situation |
| 13:12:31 | <Inst[m]> | they probably are, but outsourced it to maerwald |
| 13:12:31 | <maerwald> | geekosaur: they'd support someone spearheading MS store inclusion |
| 13:12:45 | <maerwald> | exactly |
| 13:13:00 | <Inst[m]> | i'd love it too, if it could save me 90 minutes getting someone to get VSC / GHCup installed and configured |
| 13:13:03 | × | Philonous quits (~Philonous@user/philonous) (Quit: ZNC - https://znc.in) |
| 13:13:10 | <maerwald> | the main issue is msys2 |
| 13:13:28 | <geekosaur> | I meant getting windows devs, and more generally improving the windows experience |
| 13:13:33 | → | Philonous joins (~Philonous@user/philonous) |
| 13:13:46 | <geekosaur> | msys2 is a lousy way to get windows support |
| 13:13:53 | <Inst[m]> | lol btw anyone know how to get runghc to support RTS options? |
| 13:14:00 | <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 |
| 13:14:01 | × | tiferrei quits (~tiferrei@user/tiferrei) (Remote host closed the connection) |
| 13:14:25 | → | tiferrei joins (~tiferrei@user/tiferrei) |
| 13:14:36 | <Inst[m]> | why not just have a slaved msys2? |
| 13:14:44 | <maerwald> | slaved? |
| 13:14:47 | <Inst[m]> | i guess someone will come in and complain about all the disk space you're wasting |
| 13:14:57 | <Inst[m]> | i mean that GHCup already installs its own msys2 |
| 13:15:22 | <maerwald> | it does so via a powershell script... the binary itself (handling GHC versions) has no knowledge of it |
| 13:15:23 | <Inst[m]> | i think on this machine i technically have cygwin, but don't use it, etc |
| 13:15:44 | <Inst[m]> | also thanks for making GHCup usable on windows |
| 13:16:11 | <geekosaur> | re RTS options, it looks like it supports RTS options but was not built with -threaded so -N doesn't work |
| 13:16:16 | <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 |
| 13:16:22 | → | fendor joins (~fendor@91.141.79.239.wireless.dyn.drei.com) |
| 13:16:25 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 13:16:26 | <Inst[m]> | i need it to use winIO |
| 13:16:35 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 13:16:47 | <Inst[m]> | i'm also wondering if you can get a full GHCup installation via a VSC extension |
| 13:16:51 | <Inst[m]> | that would actually be ridiculously convenient |
| 13:17:09 | × | ellie quits (~ellie@user/ellie) (Ping timeout: 250 seconds) |
| 13:17:11 | <maerwald> | I think VSCode already uses ghcup for some stuff afair |
| 13:17:15 | <maerwald> | not sure |
| 13:17:54 | <messier102> | What would the benefit of getting on MS store be as opposed to the current state of affairs? |
| 13:18:13 | <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 |
| 13:19:02 | <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 |
| 13:19:14 | <maerwald> | messier102: running a powershell script from the internet on your computer isn't as cool as getting it certified from the MS store? |
| 13:19:24 | <maerwald> | not sure windows users care, though |
| 13:19:24 | <Inst[m]> | everyone else? "this is a niche language that i've never heard of that wants me to run a powershell script" |
| 13:19:49 | <maerwald> | maybe it's part of the expected experience to get viruses from installers and then have windows defender clean it up |
| 13:20:15 | <maerwald> | like the whole experience |
| 13:20:17 | <maerwald> | xD |
| 13:20:42 | <messier102> | That's fair, but at the same time I don't think any other language does it all that differently |
| 13:20:54 | <maerwald> | someone claimed python is in MS store |
| 13:20:55 | <messier102> | It's always either an installer or a spooky looking shell script |
| 13:21:44 | <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 |
| 13:21:46 | <Inst[m]> | you install visual studio (community iirc) for C++ |
| 13:22:15 | <maerwald> | https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7#activetab=pivot:overviewtab |
| 13:22:24 | <maerwald> | I think that's pretty cool |
| 13:23:00 | <messier102> | Getting PL runtimes off of MS store feels weird conceptually, but who knows |
| 13:23:32 | <messier102> | Or toolchains, I should say |
| 13:24:01 | <messier102> | Then again, all the WSL Linux distros is on the store too |
| 13:28:02 | <messier102> | Ah, I suppose it would make more sense to be able to do `winget haskell` or some such |
| 13:29:41 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 13:30:48 | → | pothepanda joins (~pot_@109.249.187.17) |
| 13:31:07 | ← | pothepanda parts (~pot_@109.249.187.17) () |
| 13:31:14 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 13:33:07 | <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 |
| 13:33:35 | <maerwald> | mon_aaraj: where do the links point to |
| 13:34:01 | <maerwald> | and what are your XDG variables |
| 13:34:09 | <maerwald> | I assume they point outside of home? |
| 13:34:18 | → | pothepanda joins (~pot_@109.249.187.17) |
| 13:34:57 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 13:35:21 | <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 |
| 13:35:57 | → | yauhsien joins (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) |
| 13:36:09 | → | [exa] joins (~exa@user/exa/x-3587197) |
| 13:36:17 | <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 |
| 13:36:48 | <maerwald> | lemme try |
| 13:38:23 | <maerwald> | mon_aaraj: GHCUP_INSTALL_BASE_PREFIX should definitely work though |
| 13:38:53 | <Inst[m]> | wait, there's no way to get runghc to use winio without modifying global environment variables, is there? |
| 13:39:01 | × | jespada quits (~jespada@87.74.36.188) (Ping timeout: 256 seconds) |
| 13:40:11 | → | jespada joins (~jespada@87.74.36.188) |
| 13:40:37 | × | yauhsien quits (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 13:42:17 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 13:44:06 | <maerwald> | mon_aaraj: works here |
| 13:44:52 | <maerwald> | mon_aaraj: can you pastebin all your env? |
| 13:45:33 | <mon_aaraj> | alright, let me see |
| 13:46:00 | → | gaff joins (~gaff@49.207.224.13) |
| 13:46:00 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:46:33 | <mon_aaraj> | https://bpa.st/OJHQ |
| 13:46:46 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 13:47:25 | <geekosaur> | Inst[m], --ghc-arg=+RTS --ghc-arg=--io-manager=native --ghc-arg=-RTS |
| 13:47:42 | <Inst[m]> | thank you so much |
| 13:47:45 | <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. |
| 13:48:10 | <geekosaur> | gaff, no, ghc does not support subtyping |
| 13:48:19 | <geekosaur> | you have to use a smart constructor |
| 13:48:32 | <gaff> | yeah, i thought so. |
| 13:48:45 | <maerwald> | mon_aaraj: what are the contents of ~/.local/share/ghcup? |
| 13:48:48 | <Inst[m]> | so every ghc-arg has to be explicitly spelled out, instead of allowing a block |
| 13:48:50 | <geekosaur> | liquid haskell supports this iirc |
| 13:48:56 | <geekosaur> | Inst[m], yes |
| 13:49:18 | <maerwald> | mon_aaraj: and what is your ghcup version? |
| 13:49:32 | <gaff> | smart constructor is just a function that simply creates `X 1`, or `X 2`, in this example? |
| 13:49:47 | <geekosaur> | yes |
| 13:50:29 | <gaff> | and you don't expose the type declaration outside the module, but you just expose the smart constructor to outsiders? |
| 13:50:35 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 13:50:38 | <geekosaur> | correct |
| 13:50:46 | <gaff> | ah, i thought so |
| 13:50:54 | <geekosaur> | well, you expose the type constructor but not the data constructor(s) |
| 13:50:58 | <gaff> | funny name: "smart constructor" |
| 13:51:12 | <gaff> | geekosaur: correct |
| 13:52:28 | <gaff> | geekosaur: thanks much. |
| 13:52:58 | <mon_aaraj> | here: https://bpa.st/IE3Q with ghcup version v0.1.17.4 |
| 13:53:09 | <gaff> | are there any plans to allow such a thing using language extensions in the future? i suppose not but hought i would ask. |
| 13:54:05 | <maerwald> | mon_aaraj: your paste indicates that the link is not broken |
| 13:54:08 | <maerwald> | I'm confused |
| 13:54:31 | → | Graham31415 joins (~Graham314@213.237.82.193) |
| 13:54:32 | <mon_aaraj> | huh, i guess `file` got it wrong? |
| 13:54:45 | <maerwald> | can you run ~/.local/bin/runghc? |
| 13:55:02 | <mon_aaraj> | nope, `zsh: no such file or directory: /home/mon/.local/bin/runghc` |
| 13:56:05 | <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 |
| 13:56:39 | <maerwald> | mon_aaraj: wait, so the symlink points to itself? |
| 13:56:41 | <Inst[m]> | hmmm |
| 13:56:41 | <Inst[m]> | this is nice |
| 13:56:48 | <Inst[m]> | haskell platform is technically installed, but i didn't let it do a damn thing to path variables |
| 13:57:47 | × | gaff quits (~gaff@49.207.224.13) () |
| 13:59:12 | <mon_aaraj> | well, I don't think so, here's the output of `ls -Alh ~/.local/bin/`: https://bpa.st/3AWA |
| 13:59:34 | <mon_aaraj> | oh, wait, i think i realise why |
| 13:59:40 | <maerwald> | mon_aaraj: those links look all correct |
| 14:00:07 | <mon_aaraj> | oh, then nevermind |
| 14:00:24 | <maerwald> | can you run ~/.local/share/ghcup/ghc/8.10.7/bin/runghc? |
| 14:00:59 | <maerwald> | I have a feeling you can't run the extracted binaries |
| 14:01:28 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) |
| 14:01:56 | <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` |
| 14:02:09 | × | pothepanda quits (~pot_@109.249.187.17) (Ping timeout: 256 seconds) |
| 14:02:49 | <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 `..` |
| 14:02:57 | <maerwald> | oh gosh |
| 14:03:07 | <maerwald> | yes |
| 14:03:23 | <mon_aaraj> | huh, alright then |
| 14:03:27 | <maerwald> | that could be considered a bug indeed... we don't run realpath on ~/.local/bin |
| 14:03:37 | × | deadmarshal quits (~deadmarsh@95.38.114.62) (Ping timeout: 240 seconds) |
| 14:03:49 | <mon_aaraj> | ah, i see! Thank you so much for your help |
| 14:04:38 | <Inst[m]> | okay, now to uninstall haskell platform |
| 14:04:39 | <mon_aaraj> | meanwhile i will try your suggestion to use BASE_PREFIX |
| 14:04:45 | <Inst[m]> | what does it actually come with? |
| 14:05:03 | <maerwald> | https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/311 |
| 14:05:37 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Ping timeout: 240 seconds) |
| 14:05:44 | <maerwald> | mon_aaraj: you can also use bind-mounts instead of symlinks |
| 14:05:55 | <mon_aaraj> | i forgot about that |
| 14:06:08 | <maerwald> | although bind mounts can cause funny bugs with recursive file operations |
| 14:06:20 | <maerwald> | but not in this case I think |
| 14:06:33 | <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 |
| 14:06:44 | <mon_aaraj> | thank you so much for your help once again! |
| 14:07:06 | <maerwald> | I've tested once whether file managers detect infinite recursion due to bind mounts, but most don't |
| 14:09:16 | <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? |
| 14:10:54 | <maerwald> | only my own xD |
| 14:12:43 | → | Guest21 joins (~Guest21@94.19.154.46) |
| 14:12:49 | <Inst[m]> | hmmm, maybe i need to reinstall ghcup... again |
| 14:13:06 | <Inst[m]> | or maybe just a reinstall would work |
| 14:13:42 | → | segfaultfizzbuzz joins (~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84) |
| 14:14:35 | <Inst[m]> | guess it's my fault for installing haskell platform |
| 14:14:39 | <Inst[m]> | winio seems to be broken now |
| 14:15:08 | → | Kosades joins (~Kosades@94.19.154.46) |
| 14:15:16 | × | Guest21 quits (~Guest21@94.19.154.46) (Client Quit) |
| 14:16:17 | → | rustisafungus joins (~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84) |
| 14:17:02 | → | APic joins (apic@apic.name) |
| 14:17:03 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 14:17:47 | × | messier102 quits (~messier10@user/messier102) (Ping timeout: 256 seconds) |
| 14:17:57 | × | segfaultfizzbuzz quits (~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84) (Ping timeout: 240 seconds) |
| 14:18:04 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 14:20:16 | → | Everything joins (~Everythin@37.115.210.35) |
| 14:23:56 | → | n3rdy1 joins (~n3rdy1@2600:1700:4570:3480::41) |
| 14:24:59 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 14:27:45 | × | Graham31415 quits (~Graham314@213.237.82.193) (Quit: Client closed) |
| 14:28:27 | → | waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
| 14:28:55 | × | Kosades quits (~Kosades@94.19.154.46) (Quit: Client closed) |
| 14:29:44 | → | Inst joins (~delicacie@2601:6c4:4080:3f80:5d10:aa97:98cb:a150) |
| 14:31:37 | <Inst> | do you know who do I talk to to complain about WinIO? |
| 14:31:37 | × | rustisafungus quits (~rustisafu@2602:306:cd3c:9350:95fa:7805:c4e7:5d84) (Ping timeout: 240 seconds) |
| 14:31:40 | <Inst> | or at least, try to debug it? |
| 14:32:34 | <[exa]> | Inst: it seems quite unmaintained |
| 14:33:37 | <[exa]> | what functionality from there are you using? chances are there's a better way now |
| 14:35:34 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:37:41 | → | deadmarshal joins (~deadmarsh@95.38.114.62) |
| 14:40:57 | × | unyu quits (~pyon@user/pyon) (Ping timeout: 240 seconds) |
| 14:41:30 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 14:42:01 | × | max22- quits (~maxime@2a01cb08833598005486a79f6b483be0.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 14:46:35 | × | zer0bitz quits (~zer0bitz@2001:2003:f74d:b800:b4e8:6f53:6fdf:55e6) (Read error: Connection reset by peer) |
| 14:46:51 | → | zer0bitz joins (~zer0bitz@2001:2003:f74d:b800:90d6:f3c8:741b:677a) |
| 14:53:38 | → | Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
| 14:54:21 | × | Inst quits (~delicacie@2601:6c4:4080:3f80:5d10:aa97:98cb:a150) (Read error: Connection reset by peer) |
| 14:54:57 | × | xff0x quits (~xff0x@2001:1a81:525e:1300:5087:4f80:f91e:3652) (Ping timeout: 240 seconds) |
| 14:55:16 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 14:56:11 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009) |
| 14:57:57 | <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 |
| 14:59:28 | <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 |
| 14:59:50 | → | k8yun joins (~k8yun@198-48-158-40.cpe.pppoe.ca) |
| 15:00:17 | × | deadmarshal quits (~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds) |
| 15:02:16 | → | ardell joins (~ardell@user/ardell) |
| 15:02:47 | × | ardell_ quits (~ardell@user/ardell) (Ping timeout: 256 seconds) |
| 15:03:11 | <geekosaur> | you could try ghc-vis |
| 15:03:17 | <geekosaur> | @hackage ghc-vis |
| 15:03:17 | <lambdabot> | https://hackage.haskell.org/package/ghc-vis |
| 15:04:57 | <CHUD> | cool, I will try it out when I get home, can't install anything on computer lab pcs |
| 15:07:23 | × | fef quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 15:08:46 | × | ardell quits (~ardell@user/ardell) (Quit: Konversation terminated!) |
| 15:10:17 | × | k8yun quits (~k8yun@198-48-158-40.cpe.pppoe.ca) (Read error: Connection reset by peer) |
| 15:10:39 | → | k8yun joins (~k8yun@198-48-158-40.cpe.pppoe.ca) |
| 15:11:17 | × | n3rdy1 quits (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds) |
| 15:13:07 | × | _xor quits (~xor@dsl-50-5-233-169.fuse.net) (Quit: WeeChat 3.4) |
| 15:16:53 | → | wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
| 15:17:40 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 15:17:40 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 15:17:40 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:18:35 | → | x_kuru joins (~xkuru@user/xkuru) |
| 15:18:53 | × | namkeleser quits (~namkelese@124.188.192.57) (Quit: Client closed) |
| 15:18:59 | → | vysn joins (~vysn@user/vysn) |
| 15:20:17 | × | xkuru quits (~xkuru@user/xkuru) (Ping timeout: 240 seconds) |
| 15:21:24 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 15:21:52 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 15:22:55 | <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 |
| 15:23:28 | <Inst[m]> | somehow it bugged out and is now causing getLine to freak out |
| 15:23:42 | <geekosaur> | --io-manager=native is ghc 9.0.1 and later |
| 15:24:13 | → | stef204 joins (~stef204@user/stef204) |
| 15:24:14 | <Inst[m]> | i was warned! it's probably the installation and uninstallation of haskell platform that did this :( |
| 15:24:21 | <Inst[m]> | or maybe something crashed and winio couldn't terminate smoothly |
| 15:24:52 | → | n3rdy1 joins (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
| 15:27:46 | <xerox> | CHUD: there's also simple-reflect that can show some interesting things |
| 15:28:15 | <CHUD> | is that a extension? |
| 15:28:25 | <geekosaur> | nope, just a library |
| 15:28:27 | <CHUD> | package* |
| 15:28:30 | <CHUD> | oh |
| 15:28:33 | <geekosaur> | > foldr f z [a,b,c] |
| 15:28:35 | <lambdabot> | f a (f b (f c z)) |
| 15:28:50 | <geekosaur> | lambdabot has simple-reflect loaded |
| 15:29:00 | <geekosaur> | it takes over all the single-letter variables |
| 15:30:05 | <xerox> | > reduction $ fix (\f x -> if even (x + 1) then x + 1 else f (x - 1)) $ 2 |
| 15:30:07 | <lambdabot> | [2 - 1 + 1,1 + 1,2] |
| 15:30:28 | <xerox> | nicer with a mapM_ print $ in front in your ghci (: |
| 15:30:53 | <geekosaur> | %% mapM_ print $ reduction $ fix (\f x -> if even (x + 1) then x + 1 else f (x - 1)) $ 2 |
| 15:30:53 | <yahb> | geekosaur: http://qp.mniip.com/y/41 |
| 15:30:56 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 15:31:26 | <geekosaur> | oh right, no simple-reflection in yahb :( |
| 15:31:36 | <geekosaur> | % import Debug.SimpleReflect |
| 15:31:37 | <yahb> | geekosaur: |
| 15:31:42 | <geekosaur> | %% mapM_ print $ reduction $ fix (\f x -> if even (x + 1) then x + 1 else f (x - 1)) $ 2 |
| 15:31:42 | <yahb> | geekosaur: http://qp.mniip.com/y/42 |
| 15:32:14 | <xerox> | hehehe |
| 15:38:41 | <[exa]> | Inst[m]: oh so, I googled the wrong thing |
| 15:39:00 | → | Inst joins (~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d) |
| 15:39:07 | <Inst> | thanks for trying to help @hexa |
| 15:39:19 | → | messier102 joins (~messier10@user/messier102) |
| 15:40:21 | <[exa]> | I was a bit curious about what they actually did there |
| 15:40:55 | <[exa]> | looks a bit more than "console compatibility" |
| 15:41:19 | <Inst> | getLine and getChar aren't working anymore |
| 15:41:19 | → | fef joins (~thedawn@user/thedawn) |
| 15:41:25 | × | wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
| 15:41:57 | <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 |
| 15:42:03 | <geekosaur> | https://downloads.haskell.org/ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html |
| 15:42:26 | <geekosaur> | the new io manager is listed in the highlights, and links to a youtube presentation |
| 15:43:07 | <CHUD> | is it possible to see this channels chat history? |
| 15:43:09 | → | wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
| 15:43:22 | <Inst[m]> | i guess you're a Discord native? |
| 15:43:26 | <Inst[m]> | get Matrix |
| 15:43:40 | <CHUD> | I have Matrix |
| 15:43:44 | <[exa]> | CHUD: it's in topic :] |
| 15:43:49 | <CHUD> | ohhh |
| 15:43:54 | <Inst[m]> | then just scroll up |
| 15:44:11 | <Inst[m]> | as far as matrix bridge is capable of doing so |
| 15:44:15 | <[exa]> | wow the winio effort is actually huge |
| 15:44:15 | <Inst[m]> | with the logs, etc |
| 15:44:19 | <CHUD> | I'm not on matrix rn I'm using gamja |
| 15:44:33 | <Inst[m]> | getting windows codemonkeys into haskell is good for the ecosystem |
| 15:44:48 | <Inst[m]> | better haskell chimps than codemonkeys |
| 15:44:51 | <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 |
| 15:44:55 | <[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 |
| 15:44:56 | <Inst[m]> | can be used for linguistics / ethology experiments :) |
| 15:45:17 | <[exa]> | CHUD: did you see the "logs" link in /topic right? |
| 15:45:41 | <geekosaur> | it's the last entry in the topic |
| 15:45:58 | <CHUD> | oh nice |
| 15:46:01 | <[exa]> | (also, you might want to reflect on the transient nature of the mood of this conversation :] ) |
| 15:46:02 | <geekosaur> | I use it somewhat regularly, to the point that my browser autocompletes it if I type "irc" :) |
| 15:46:15 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 15:46:16 | → | soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 15:46:36 | <CHUD> | I just don't want to ask the same question again if I can avoid it |
| 15:46:58 | <[exa]> | like, you can write down what you found |
| 15:47:07 | <[exa]> | but the irc logger solves it too I guess |
| 15:47:36 | <CHUD> | I did do that briefly yesterday, but I was only asking a single line question, it's been more back and forth today |
| 15:49:44 | <[exa]> | you even have a nice profile there now https://ircbrowse.tomsmeding.com/nick/CHUD |
| 15:50:19 | <CHUD> | Yeah I just saw that |
| 15:50:25 | <CHUD> | is my IP public? |
| 15:50:57 | <[exa]> | yeah, IRC makes hosts visible |
| 15:50:58 | <geekosaur> | currently yes |
| 15:51:07 | <[exa]> | you can setup a cloak (register with NickServ) |
| 15:51:22 | → | segfaultfizzbuzz joins (~rustisafu@2602:306:cd3c:9350:3911:f302:476a:5d4c) |
| 15:51:23 | <CHUD> | Can I cloak without registering? |
| 15:51:27 | <geekosaur> | no |
| 15:51:32 | <CHUD> | alright |
| 15:51:36 | <geekosaur> | the cloak is tied to the registration |
| 15:52:10 | <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. |
| 15:52:11 | <geekosaur> | if you're that worried about exposure you might instead want to look up how to connect via tor |
| 15:52:35 | <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 |
| 15:52:52 | <segfaultfizzbuzz> | laziness and garbage collection don't seem to be friendly to this modality of thought... what am i not understanding? |
| 15:52:57 | <CHUD> | geekosaur: no I'm not worried, I mean this is just a temporary nickname, someone else might take it in the future |
| 15:52:57 | × | messier102 quits (~messier10@user/messier102) (Ping timeout: 240 seconds) |
| 15:53:09 | <[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 |
| 15:53:28 | <geekosaur> | you could always register it and then protect it |
| 15:53:43 | <geekosaur> | then nickserv will boot anyone who tries to use it without logging in |
| 15:53:52 | <CHUD> | I'm just connecting via my university network |
| 15:54:20 | <[exa]> | yeah, that's basically the only thing people will know from the IP |
| 15:54:32 | → | deadmarshal joins (~deadmarsh@95.38.114.62) |
| 15:54:45 | <[exa]> | (it translates back to dhcpXXXX.kent.ac.uk) |
| 15:55:03 | <Inst[m]> | where is hutton at again? |
| 15:55:06 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 15:55:07 | <geekosaur> | segfaultfizzbuzz, it's not like using haskell means necessarily making use of laziness. haskell has other advantages |
| 15:55:24 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 15:55:35 | <Inst[m]> | i mean you could just set {-# LANGUAGE Strict #-} |
| 15:55:45 | <Inst[m]> | iirc, does that force strictness on everything, or does it implement strict by default? |
| 15:56:20 | <CHUD> | [exa]: I thought the owners of this channel would just cloak everyone by default |
| 15:56:29 | <CHUD> | it's alright |
| 15:56:34 | <Inst> | it's IRC |
| 15:56:47 | <Inst> | at least on libera/freenode, there's no native IP blocking |
| 15:56:51 | <Inst> | you have to request a cloak |
| 15:57:05 | <geekosaur> | and cloaks are controlled by the server operators, not per channel |
| 15:57:17 | <geekosaur> | channels can offer custom cloaks, but not automatic cloaking |
| 15:57:30 | <CHUD> | oh I see |
| 15:57:33 | <Inst> | wait, is Strict language pragma forcing strict by default or lazy by default? |
| 15:57:47 | <Inst> | erm, strict by default or everything is forced to strict? |
| 15:57:55 | <geekosaur> | (we don't offer custom cloaks here. several other channels I'm in have cloaks for developers) |
| 15:58:12 | <[exa]> | CHUD: cloaking by default also kinda slows down action against abuse (spambots etc) |
| 15:58:12 | <geekosaur> | Inst, -XStrict makes everything strict by default |
| 15:58:37 | <Inst> | does it have to be XStrict, or is Strict via pragmas enough? |
| 15:58:46 | <Inst> | iirc a major corporate Haskell implementation is Strict |
| 15:58:54 | <geekosaur> | there's also -XStrictData which acts as if you marked every ADT you define as strict |
| 15:58:59 | × | deadmarshal quits (~deadmarsh@95.38.114.62) (Ping timeout: 256 seconds) |
| 15:59:15 | <Inst> | btw can you ~datatypes? |
| 15:59:26 | <Inst> | and when you say ADT, do you mean Algebraic Datatypes or Abstract Datatypes? |
| 15:59:35 | <CHUD> | fair |
| 15:59:39 | <geekosaur> | the "-X" is just convenient shorthand, as long as it appears before the `module` pragmas work just as well |
| 16:00:02 | <geekosaur> | I believe so, yes (~ on datatypes to override default !) |
| 16:00:02 | <Inst> | I know you can !DataConstructor, but not sure if you can ~DataConstructor to force laziness |
| 16:01:03 | <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." |
| 16:02:05 | → | gaff joins (~gaff@49.207.224.13) |
| 16:02:38 | <Inst> | but it implies in native Haskell ~ is not supported for datatypes |
| 16:03:25 | <Inst> | also how much more Haskell do I have to do before I can say Haskell is my first language? |
| 16:04:14 | → | mmhat joins (~mmh@55d44844.access.ecotel.net) |
| 16:04:23 | <Inst> | i have a friend who probably needs Python training, and I have a copy of K&R that's busy destroying my bookshelf |
| 16:04:50 | <geekosaur> | standard Haskell only supports ~ in one place, and that is in patterns |
| 16:05:01 | <Inst> | thanks |
| 16:05:06 | <Hecate> | do we have abstract datatypes in Haskell? |
| 16:05:14 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
| 16:05:37 | × | Topsi quits (~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 16:05:41 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 16:05:42 | <Inst[m]> | you're trolling me, hecate? |
| 16:05:43 | <geekosaur> | "ADT" above was algebraic data type. "abstract" depends on usage, not definition |
| 16:05:43 | Inst[m] | uploaded an image: (17KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/pLTELmLGtlMcQCqFGqkUxeBB/image.png > |
| 16:05:44 | <Inst[m]> | ;_; |
| 16:07:00 | <Hecate> | this is terribly named |
| 16:07:01 | <segfaultfizzbuzz> | geekosaur: okay, so then what advantages does haskell have in specifying hardware, if laziness is not relevant |
| 16:07:03 | <Hecate> | > but whose representation is hidden |
| 16:07:04 | <lambdabot> | error: |
| 16:07:04 | <lambdabot> | • Variable not in scope: but :: t0 -> t1 -> t2 -> t3 -> t |
| 16:07:04 | <lambdabot> | • Perhaps you meant one of these: |
| 16:07:07 | <Hecate> | It whould be named "opaque" |
| 16:07:09 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 16:07:40 | → | tiferrei2000 joins (~tiferrei@user/tiferrei) |
| 16:07:43 | <Hecate> | segfaultfizzbuzz: https://clash-lang.org/ |
| 16:07:49 | <geekosaur> | segfaultfizzbuzz, types and type inference |
| 16:07:50 | <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 |
| 16:08:11 | hololeap | has never heard that called "abstract data type" |
| 16:08:22 | × | tiferrei quits (~tiferrei@user/tiferrei) (Remote host closed the connection) |
| 16:08:27 | <Inst[m]> | i was told on Discord |
| 16:08:48 | <hololeap> | abstract data type sounds like a oxymoron |
| 16:09:07 | <Inst> | in my textbooks, it seems ADT means abstract data type by default, not algebraic data type |
| 16:09:38 | <Inst> | which is, for me, insane, because they do mention that GADT refers to generalized algebraic data type, but ADT means abstract data type |
| 16:10:00 | <geekosaur> | that seems odd, yes |
| 16:10:45 | <Inst> | https://wiki.haskell.org/Algebraic_data_type |
| 16:10:56 | <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. |
| 16:11:01 | Inst | facepalms |
| 16:11:28 | <hololeap> | what |
| 16:11:55 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:13:32 | × | razetime quits (~quassel@49.207.209.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 16:13:48 | → | lbseale joins (~ep1ctetus@user/ep1ctetus) |
| 16:15:37 | <ski> | "ADT" is sometimes used to mean Algebraic Data Type .. |
| 16:15:49 | → | brandonh joins (~brandonh@102.39.195.50) |
| 16:15:52 | <hololeap> | that's what I always thought it meant |
| 16:16:08 | <Inst> | AlDT vs AbDT |
| 16:16:12 | <Inst> | damn you, Haskell community! |
| 16:16:17 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 16:16:49 | × | tdammers quits (~tdammers@77.109.72.177.res.static.edpnet.net) (Quit: WeeChat 3.0) |
| 16:18:18 | <hololeap> | I don't even find "abstract data types" interesting enough to abbreviate, let alone take precedence over algebraic data types |
| 16:18:31 | <hololeap> | you didn't export the constructors... whoopty doo |
| 16:22:27 | <ski> | abstract data types are often a means to do subtypes, or quotient types, or both |
| 16:22:49 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 16:23:17 | <ski> | (can also be to e.g. hide differences between underlying platforms) |
| 16:25:39 | × | xff0x quits (~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009) (Ping timeout: 250 seconds) |
| 16:28:50 | ← | m4lvin parts (~m4lvin@w4eg.de) () |
| 16:31:47 | × | brandonh quits (~brandonh@102.39.195.50) (Quit: brandonh) |
| 16:32:11 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
| 16:32:30 | → | lavaman joins (~lavaman@98.38.249.169) |
| 16:32:44 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 16:32:53 | × | lbseale quits (~ep1ctetus@user/ep1ctetus) (Ping timeout: 256 seconds) |
| 16:33:03 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 16:35:51 | → | zmt00 joins (~zmt00@user/zmt00) |
| 16:36:36 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
| 16:37:43 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009) |
| 16:45:15 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 16:45:49 | × | glguy quits (x@libera/staff/glguy) (Ping timeout: 622 seconds) |
| 16:46:51 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 16:47:04 | × | Feuermagier_ quits (~Feuermagi@84.17.48.173) (Remote host closed the connection) |
| 16:47:10 | → | deadmarshal joins (~deadmarsh@95.38.114.62) |
| 16:47:12 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
| 16:47:23 | → | Feuermagier_ joins (~Feuermagi@84.17.48.173) |
| 16:48:14 | × | Feuermagier_ quits (~Feuermagi@84.17.48.173) (Client Quit) |
| 16:48:27 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 16:48:49 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 16:50:35 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 16:51:43 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 16:54:28 | <monochrom> | http://www.vex.net/~trebla/haskell/abs-type-param.html is why abstract data types are interesting. |
| 16:55:19 | × | mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds) |
| 16:56:18 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 17:00:19 | → | RFV joins (~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net) |
| 17:02:24 | × | RFV quits (~Thunderbi@135.red-88-5-244.dynamicip.rima-tde.net) (Client Quit) |
| 17:03:01 | × | xff0x quits (~xff0x@2001:1a81:525e:1300:bf98:a5c2:4041:4009) (Ping timeout: 256 seconds) |
| 17:03:18 | <maerwald> | labeloptics can cause really weird error messages when you pass too many parameters to a function |
| 17:03:54 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:ccb2:578e:6a32:bac8) |
| 17:04:06 | <maerwald> | telling you an instance is missing |
| 17:04:11 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 17:04:40 | ← | CHUD parts (~CHUD@dhcp6353.kent.ac.uk) () |
| 17:05:56 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 17:05:57 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 17:05:57 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:13:13 | <hololeap> | thanks for the link monochrom |
| 17:13:15 | × | Everything quits (~Everythin@37.115.210.35) (Quit: leaving) |
| 17:14:45 | → | emad joins (~emad@156.214.198.176) |
| 17:14:56 | → | _xor joins (~xor@dsl-50-5-233-169.fuse.net) |
| 17:17:59 | <ski> | monochrom : nice ! :) |
| 17:21:57 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
| 17:22:25 | → | wavemode joins (~wavemode@2601:241:0:fc90:5d33:217d:3934:b62c) |
| 17:24:33 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 17:25:18 | → | zebrag joins (~chris@user/zebrag) |
| 17:27:20 | × | Jing quits (~hedgehog@240e:390:7c53:a7e1:30fc:7acd:1f91:844b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:35:23 | → | max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
| 17:37:01 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 17:37:04 | → | maxime_ joins (~maxime@2a01cb0883359800c4d240234508d9fe.ipv6.abo.wanadoo.fr) |
| 17:39:45 | × | max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 250 seconds) |
| 17:40:34 | <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? |
| 17:41:35 | <monochrom> | No. You have to change MyType or write a newtype wrapper. |
| 17:41:50 | <Sqaure> | thanks |
| 17:45:05 | × | stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.4) |
| 17:46:21 | × | tiferrei2000 quits (~tiferrei@user/tiferrei) (Ping timeout: 276 seconds) |
| 17:46:26 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
| 17:47:30 | → | tiferrei joins (~tiferrei@user/tiferrei) |
| 17:50:22 | → | eugen[m] joins (~eugenrahr@2001:470:69fc:105::1:a153) |
| 17:51:03 | → | Topsi joins (~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de) |
| 17:51:25 | × | wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
| 17:53:07 | → | wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
| 17:55:07 | → | burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk) |
| 17:58:49 | → | Andrew joins (~andrew@user/AndrewYu) |
| 17:59:07 | × | soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
| 17:59:08 | <hololeap> | Sqaure: you can also use this for convenience: https://hackage.haskell.org/package/bifunctors-5.5.11/docs/Data-Bifunctor-Flip.html |
| 18:00:03 | <Sqaure> | hololeap, ah, great. Thanks |
| 18:00:14 | <hololeap> | and use GeneralizedNewtypeDeriving or DerivingVia to get all the nifty instances |
| 18:01:21 | <hololeap> | you will need to define bi(functor/foldable/traversable/etc) for your type though if you want to derive them |
| 18:01:27 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 18:04:23 | hexeme | is now known as ldlework |
| 18:06:40 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 18:11:39 | × | k8yun quits (~k8yun@198-48-158-40.cpe.pppoe.ca) (Remote host closed the connection) |
| 18:12:05 | → | k8yun joins (~k8yun@198-48-158-40.cpe.pppoe.ca) |
| 18:12:57 | × | martin02 quits (~silas@141.84.69.76) (Ping timeout: 256 seconds) |
| 18:14:39 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds) |
| 18:35:37 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 18:37:51 | <hololeap> | when are we going to get DeriveBitraversable |
| 18:38:07 | × | wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
| 18:38:24 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:a45b:6ac9:43c1:2d7f) |
| 18:39:44 | → | wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
| 18:40:19 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) |
| 18:41:16 | → | theproffesor joins (~theproffe@user/theproffesor) |
| 18:43:11 | <EvanR> | zero one infinity rule |
| 18:43:43 | <hololeap> | DeriveNTraversable? :o |
| 18:46:01 | × | gaff quits (~gaff@49.207.224.13) (Remote host closed the connection) |
| 18:46:05 | → | cuz joins (~user@50.226.229.246) |
| 18:46:10 | × | x_kuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 18:49:24 | → | xkuru joins (~xkuru@user/xkuru) |
| 18:50:19 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 18:51:40 | → | flinner joins (~flinner__@2001:16a2:79d5:9b00:4d69:65fd:2ae4:cd31) |
| 18:51:40 | × | flinner quits (~flinner__@2001:16a2:79d5:9b00:4d69:65fd:2ae4:cd31) (Changing host) |
| 18:51:40 | → | flinner joins (~flinner__@user/flinner) |
| 18:57:13 | → | gaff joins (~gaff@49.207.224.13) |
| 18:57:15 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 18:57:18 | × | gaff quits (~gaff@49.207.224.13) (Read error: Connection reset by peer) |
| 18:57:33 | → | gaff joins (~gaff@49.207.224.13) |
| 18:57:38 | → | x_kuru joins (~xkuru@user/xkuru) |
| 18:58:31 | × | xkuru quits (~xkuru@user/xkuru) (Ping timeout: 256 seconds) |
| 18:58:40 | × | MatthiasG2 quits (~matthias@i6DFA03D9.versanet.de) (Quit: Lost terminal) |
| 18:59:36 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:00:31 | × | qwedfg_ quits (~qwedfg@user/qwedfg) (Read error: Connection reset by peer) |
| 19:03:03 | × | burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection) |
| 19:03:34 | → | burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk) |
| 19:04:41 | × | maxime_ quits (~maxime@2a01cb0883359800c4d240234508d9fe.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds) |
| 19:05:04 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 19:07:47 | × | burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 19:07:51 | × | qwedfg quits (~qwedfg@user/qwedfg) (Read error: Connection reset by peer) |
| 19:08:15 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
| 19:08:26 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:11:14 | → | vicfred joins (~vicfred@user/vicfred) |
| 19:11:48 | → | econo joins (uid147250@user/econo) |
| 19:11:55 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 19:12:02 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.3) |
| 19:15:51 | → | soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) |
| 19:17:03 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 19:17:36 | → | burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk) |
| 19:18:54 | × | deadmarshal quits (~deadmarsh@95.38.114.62) (Ping timeout: 260 seconds) |
| 19:19:03 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 19:21:51 | × | flinner quits (~flinner__@user/flinner) (Ping timeout: 256 seconds) |
| 19:22:17 | × | segfaultfizzbuzz quits (~rustisafu@2602:306:cd3c:9350:3911:f302:476a:5d4c) (Ping timeout: 240 seconds) |
| 19:23:20 | × | qwedfg quits (~qwedfg@user/qwedfg) (Read error: Connection reset by peer) |
| 19:24:02 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 19:25:33 | → | brandonh joins (~brandonh@102.39.195.50) |
| 19:30:56 | × | brandonh quits (~brandonh@102.39.195.50) (Quit: brandonh) |
| 19:33:36 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 19:36:29 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 19:38:14 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 19:42:15 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 19:42:18 | × | polyphem quits (~rod@2a02:810d:840:8754:5126:c335:5f23:8358) (Quit: WeeChat 3.4) |
| 19:43:26 | → | maxime_ joins (~maxime@2a01cb08833598005be65fcb4fda67db.ipv6.abo.wanadoo.fr) |
| 19:45:05 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:47:32 | × | Topsi quits (~Tobias@dyndsl-095-033-026-182.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 19:54:12 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 19:57:36 | × | cuz quits (~user@50.226.229.246) (Remote host closed the connection) |
| 19:57:46 | → | cuz joins (~user@50.226.229.246) |
| 19:58:13 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 20:02:46 | × | cuz quits (~user@50.226.229.246) (Ping timeout: 260 seconds) |
| 20:05:23 | × | juhp quits (~juhp@128.106.188.82) (Ping timeout: 256 seconds) |
| 20:06:46 | → | juhp joins (~juhp@128.106.188.82) |
| 20:09:51 | → | alp joins (~alp@user/alp) |
| 20:09:55 | → | tommd joins (~tommd@67-42-147-226.ptld.qwest.net) |
| 20:13:13 | × | mcglk quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
| 20:15:03 | → | mcglk joins (~mcglk@131.191.49.120) |
| 20:23:05 | × | k8yun quits (~k8yun@198-48-158-40.cpe.pppoe.ca) (Quit: Leaving) |
| 20:23:07 | → | fendor_ joins (~fendor@91.141.79.239.wireless.dyn.drei.com) |
| 20:23:51 | × | fendor_ quits (~fendor@91.141.79.239.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 20:24:11 | → | fendor_ joins (~fendor@91.141.79.239.wireless.dyn.drei.com) |
| 20:26:57 | × | fendor quits (~fendor@91.141.79.239.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
| 20:28:55 | × | burnsidesLlama quits (~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection) |
| 20:30:39 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 20:31:13 | × | rando25892 quits (~homefame@user/rando25892) (Ping timeout: 256 seconds) |
| 20:31:20 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 20:31:27 | → | fendor__ joins (~fendor@212095005025.public.telering.at) |
| 20:32:02 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 20:32:22 | → | rando25892 joins (~homefame@user/rando25892) |
| 20:34:13 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:35:11 | × | fendor_ quits (~fendor@91.141.79.239.wireless.dyn.drei.com) (Ping timeout: 256 seconds) |
| 20:37:32 | × | gaff quits (~gaff@49.207.224.13) (Remote host closed the connection) |
| 20:38:49 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 20:39:39 | ski | idly ponders optics as a query (and modification) language |
| 20:41:26 | <Rembane> | ski: Like xpath? |
| 20:41:45 | <ski> | maybe. or SQL |
| 20:42:27 | <ski> | (someone mentioned "yes well, \"drilling\" for values insome some deeply nested structure will always require some code" in another channel) |
| 20:46:40 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 20:47:39 | × | qwedfg quits (~qwedfg@user/qwedfg) (Ping timeout: 256 seconds) |
| 20:48:05 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 20:48:20 | → | burnsidesLlama joins (~burnsides@dhcp168-015.wadham.ox.ac.uk) |
| 20:50:43 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 20:52:40 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 20:58:00 | × | fendor__ quits (~fendor@212095005025.public.telering.at) (Read error: Connection reset by peer) |
| 20:58:06 | → | fendor_ joins (~fendor@91.141.79.239.wireless.dyn.drei.com) |
| 20:59:06 | × | tired quits (~tired@user/tired) (Quit: /) |
| 21:00:41 | × | tommd quits (~tommd@67-42-147-226.ptld.qwest.net) (Ping timeout: 256 seconds) |
| 21:03:23 | → | Pickchea joins (~private@user/pickchea) |
| 21:06:01 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
| 21:06:14 | → | tired joins (~tired@user/tired) |
| 21:08:01 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 21:09:25 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds) |
| 21:16:11 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 21:19:54 | × | tired quits (~tired@user/tired) (Quit: /) |
| 21:20:31 | × | `2jt quits (~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 256 seconds) |
| 21:21:25 | → | tired joins (~tired@user/tired) |
| 21:23:57 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
| 21:26:22 | → | coot joins (~coot@213.134.190.95) |
| 21:31:12 | × | coot quits (~coot@213.134.190.95) (Client Quit) |
| 21:33:08 | <Inst> | can Haskell be considered type-level programming + pure functional programming? |
| 21:33:19 | <Inst> | I'm getting the feeling that the type-level programming is as important or more so than the pure functional programming |
| 21:33:40 | <Inst> | functional programming is a system of support and restraint, i.e, TCO, first-class functions |
| 21:33:49 | <Inst> | immutability by default |
| 21:34:14 | <EvanR> | is type level programming different from functional programming? |
| 21:34:26 | <monochrom> | I would pin those descriptions on individual programs not the whole language. |
| 21:35:08 | <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" |
| 21:35:19 | <maerwald> | EvanR: there's functional programming without types, so yes |
| 21:35:30 | <Inst> | lisp, i assume? |
| 21:35:46 | <monochrom> | Are you a "journalist"? Only someone who has magazine article due is desperate enough to ask those generic hearsay questions. |
| 21:36:03 | <EvanR> | "you know you're a haskell when" sounds like a hilarious jeff foxworthy show |
| 21:36:09 | <EvanR> | haskeller |
| 21:36:42 | → | polyphem joins (~rod@2a02:810d:840:8754:3d7:e2e3:b5c3:df83) |
| 21:36:53 | <Inst> | but is it valid / good practice to learn new languages starting from the type system? |
| 21:37:08 | <monochrom> | Depends on the language? |
| 21:37:28 | <monochrom> | OK I'm outta here. |
| 21:37:31 | <Inst> | sorry |
| 21:37:35 | ← | Inst parts (~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d) (Leaving) |
| 21:39:06 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 21:39:29 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 21:40:11 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:40:42 | <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 |
| 21:40:53 | <monochrom> | They left :) |
| 21:41:14 | EvanR | realizes they are talking to an empty patch of wall |
| 21:41:20 | <maerwald> | yeah... any language that doesn't chaotically retro-fit dependent types will be a smoother experience |
| 21:41:28 | → | Inst joins (~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d) |
| 21:41:43 | <Inst> | or someone who's still monitoring via matrix, but actually left for monochrom's sensitivity |
| 21:41:48 | <maerwald> | lol |
| 21:41:57 | ← | Inst parts (~delicacie@2601:6c4:4080:3f80:44dc:4b88:2c8a:316d) (Leaving) |
| 21:42:01 | <sm> | when talking to Inst.. be ready for sudden moves in any direction :) |
| 21:42:02 | <geekosaur> | oy |
| 21:42:52 | <monochrom> | And after all these months I'm pretty sure their core interest is beating around the bush and mincing words, not actual investigations. |
| 21:43:37 | <maerwald> | did they apply for scotland yard? |
| 21:43:46 | <Inst[m]> | i, at least, will know if i'm completely full of shit by october |
| 21:43:58 | <EvanR> | a good skill to have |
| 21:46:46 | → | tdammers joins (~tdammers@77.109.72.177.res.static.edpnet.net) |
| 21:46:49 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 21:47:27 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Remote host closed the connection) |
| 21:48:41 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) |
| 21:50:32 | → | cynomys joins (~cynomys@user/cynomys) |
| 21:56:47 | × | soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
| 22:00:37 | × | n3rdy1 quits (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 250 seconds) |
| 22:01:00 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 22:01:49 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:01:56 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 22:03:23 | → | cuz joins (~user@50.226.229.246) |
| 22:04:02 | → | cuz` joins (~user@50.226.229.246) |
| 22:07:13 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 22:07:53 | × | cuz quits (~user@50.226.229.246) (Ping timeout: 256 seconds) |
| 22:13:16 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 22:13:57 | × | fendor_ quits (~fendor@91.141.79.239.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 22:16:05 | → | etale joins (~user@2600:8802:2105:7100:721c:e7ff:feda:ed41) |
| 22:28:07 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 22:28:23 | × | cuz` quits (~user@50.226.229.246) (Remote host closed the connection) |
| 22:28:30 | → | cuz` joins (~user@50.226.229.246) |
| 22:29:18 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 22:39:01 | × | enyc quits (~enyc@user/enyc) (Ping timeout: 240 seconds) |
| 22:43:06 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) (Remote host closed the connection) |
| 22:44:41 | → | segfaultfizzbuzz joins (~rustisafu@2602:306:cd3c:9350:3911:f302:476a:5d4c) |
| 22:45:38 | <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 |
| 22:46:53 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
| 22:47:01 | × | maxime_ quits (~maxime@2a01cb08833598005be65fcb4fda67db.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 22:47:33 | <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 |
| 22:49:00 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 22:52:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c18f:7483:538b:1622) |
| 23:03:38 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 23:03:48 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 23:03:48 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 23:03:48 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:04:03 | <janus> | hololeap: i can't pull in your PR since I am not a maintainer of happstack-server :P i am just interested |
| 23:04:17 | <janus> | stepcut (jeremy shaw) is the maintainer |
| 23:04:33 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 23:05:25 | <Inst[m]> | <hololeap> "for instance, some knuckleheads..." <- i'm guessing to learn type-level programming, prolog etc might be a better choice? |
| 23:05:45 | <Inst[m]> | as opposed to idris, agda, scala? |
| 23:07:08 | × | segfaultfizzbuzz quits (~rustisafu@2602:306:cd3c:9350:3911:f302:476a:5d4c) (Quit: Leaving) |
| 23:07:09 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 23:07:15 | <geekosaur> | prolog's not really type level programming. neither is scala. if you're becoming comfortable with haskell then idris may be of interest |
| 23:07:25 | <geekosaur> | but there is no one way to approach type systems |
| 23:07:33 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 23:08:06 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:08:09 | <geekosaur> | just as there's no one "type system" |
| 23:09:06 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 23:09:18 | <Inst[m]> | i'm just looking for the high ground, it's the primary argument for my interest in haskell |
| 23:09:24 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 23:09:33 | <geekosaur> | I don't understand "high ground" |
| 23:09:51 | × | emad quits (~emad@156.214.198.176) (Quit: Leaving) |
| 23:10:05 | <Inst[m]> | i.e, have the most sophisticated abstractions, so even if i don't end up using the language,everything else is now easy |
| 23:10:15 | → | emf joins (~emf@2620:10d:c090:400::5:ab3f) |
| 23:10:23 | <Inst[m]> | apparently Abstract Data Types can be used to implement quotient types |
| 23:10:32 | <Inst[m]> | which are dual to dependent types, apparently |
| 23:12:19 | × | xff0x quits (~xff0x@2001:1a81:525e:1300:ccb2:578e:6a32:bac8) (Ping timeout: 250 seconds) |
| 23:12:38 | <hololeap> | hm, homotopy type theory? :p |
| 23:12:56 | <Inst[m]> | not something i'm familiar with, so monochrom's claim is correct |
| 23:13:03 | <Inst[m]> | i'm just rushing to try to get a basic understanding of everything hard |
| 23:13:06 | → | xff0x joins (~xff0x@2001:1a81:525e:1300:8c6b:7d96:3a83:c2cd) |
| 23:13:12 | <hololeap> | I'm not familiar with it either... not very many people are |
| 23:14:07 | <hololeap> | from what I understand it's like a crazy mix of topology and type theory, and I don't know either of those :p |
| 23:15:28 | geekosaur | knows a very little bit of both and assumes he'd be completely lost if he tried to poke at HoTT |
| 23:15:49 | <geekosaur> | s/both/either/ perhaps |
| 23:16:10 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 23:16:22 | <sclv> | geekosaur: you'd be surprised! |
| 23:16:41 | <hololeap> | Inst[m]: if you're looking for more accessible theory, you might be interested in bartosz milewski's stuff |
| 23:17:05 | <Inst[m]> | oh wait |
| 23:17:05 | <Inst[m]> | https://homotopytypetheory.org/book/ |
| 23:17:13 | <Inst[m]> | is this the stuff that's purportedly unreadable even with a PhD? |
| 23:17:29 | <sclv> | its accessible if you go slowly |
| 23:17:43 | <geekosaur> | "a" Ph.D.? I'd imagine it depends on which |
| 23:17:49 | <sclv> | it doesn't make programming haskell easier though. its just really neat math! |
| 23:18:08 | <geekosaur> | so not so different from CT in that regard? |
| 23:18:17 | <sclv> | arguably, yes :-) |
| 23:18:34 | <monochrom> | OOP used to be a PhD thing, too. |
| 23:19:15 | <sclv> | considering fancier abstractions are more "advanced" is not a good approach, in my experience |
| 23:19:21 | <sclv> | they just let you do different things |
| 23:19:26 | <monochrom> | 400 years ago, only PhDs were taught the quadratic formula. |
| 23:19:34 | <sclv> | and they don't substitute for knowing the details of the specific things they abstract |
| 23:19:56 | <Hecate> | < monochrom> OOP used to be a PhD thing, too. // And then Java brought it to the masses by deforming it beyond recognition |
| 23:19:59 | <Hecate> | :D |
| 23:20:15 | <sclv> | i.e. you can formulate group theory as a special case of category theory. but just because a group can be presented as a category doesn't mean that knowing a textbook full of category theory helps you understand the classification of finite simple groups |
| 23:20:32 | <sclv> | it helps with some things for sure, but its no substitute! |
| 23:21:02 | <monochrom> | The deformation also took a few PhDs and research papers to truly understand, too. |
| 23:21:28 | <monochrom> | Not to mention the multiple engineering-inclined PhDs to make Java run faster. |
| 23:21:36 | <monochrom> | or run with less memory |
| 23:21:44 | → | yauhsien joins (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) |
| 23:24:10 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 23:24:25 | <monochrom> | And recall that it took Wadler, not some software "engineer", to figure out Java Generics. |
| 23:25:13 | <ski> | Hecate : yea, it's what usually happens |
| 23:26:33 | × | yauhsien quits (~yauhsien@61-231-25-133.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 23:26:55 | <ski> | Inst[m] : some parts of Prolog (or logic programming in general) is helpful for understanding type systems, sure. also, it helps round out your understanding of different programming paradigms |
| 23:27:12 | <ski> | (Prolog is dynamically typed, btw) |
| 23:27:19 | <monochrom> | Just 50 years ago, replacing goto by loops and if-then-else was an "impractical academic pipe dream". |
| 23:27:45 | ski | idly ponders the invention of the subroutine |
| 23:27:47 | <monochrom> | (look for "Dijkstra structured programming") |
| 23:27:52 | → | zebrag joins (~chris@user/zebrag) |
| 23:29:08 | <maerwald> | monochrom: I had an odd moment yesterday while coding bash and I wished it had goto |
| 23:30:19 | <monochrom> | Which one do you prefer? An exception system. BASIC's "on error goto". |
| 23:30:27 | <sprout_> | goto is useful |
| 23:30:45 | <sprout_> | I think you want both |
| 23:30:46 | <monochrom> | Between a rock and a hard place :) |
| 23:31:12 | <sprout_> | I have it in my lexer (I think that's the only place) but also in my bytecode |
| 23:31:13 | <maerwald> | programming is a conspiracy to make us forget goto |
| 23:31:54 | <sprout_> | both do (naive) pattern matching so I guess goto naturally arises there |
| 23:32:08 | <sprout_> | or rather, conditional jumps |
| 23:33:27 | <ski> | The term "flexibility" is usually used to denote the existence of a range of choices available to a programmer or implementor -- the more choices, the greater the flexibility. Flexibility is sometimes referred to as "generality". Because it is frequently presented in the desirable terms, "delaying binding of virtual objects to their realizations," |
| 23:33:40 | <ski> | increased flexibility has generally been considered a fatted calf of great succulence, sought voraciously and in the hope that the increased complexity that invariably attends it can be kept under control. In recent years, the wisdom of this quest has been called into question, for flexibility without discipline appears contrary to the plans of the god of reliability. |
| 23:33:50 | <ski> | (An automobile with independent steering mechanisms for both front wheels is more flexible but less disciplined than an ordinary one. It is mainly of metaphysical interest, offensive to the god of safe highways.) |
| 23:33:54 | <ski> | -- "Sacrificing the calf of flexibility on the altar of reliability",Peter J. Denning,1976,<http://dl.acm.org/ft_gateway.cfm?id=807704&type=pdf> |
| 23:34:56 | <monochrom> | OTOH independent steering for all 4 wheels is actually useful. |
| 23:35:18 | <ski> | if they're all coordinated with each other in an intelligent way :) |
| 23:35:37 | <monochrom> | One of those times when the middle ground is worse than both extremes. |
| 23:35:51 | <Inst[m]> | iirc, yes, byd, parallel parking via computer |
| 23:36:00 | <Inst[m]> | they were promising a car like that a while back |
| 23:36:05 | <ski> | the (short, three pages) paper goes on to talk about reliability, correctness, flexibility, mentioning patterns in the past like assembly vs. high-level (like BCPL,C), batch vs. interactive, relational vs. network, &c. |
| 23:36:06 | <Inst[m]> | can i ask a question about how haskell-built .exes work? |
| 23:36:17 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 23:36:29 | <Inst[m]> | don't ask to ask |
| 23:36:34 | <monochrom> | The Freedom Convoy demands independent steering of all 18 wheels! >:) |
| 23:36:56 | <geekosaur> | at what level? the high level view is https://en.wikipedia.org/wiki/Graph_reduction |
| 23:37:06 | <Inst[m]> | i'll just put it out there: haskell built exes are independent of path variables, right? especially if it's just a simple program made out of a few putStrLn and getChars, right? |
| 23:37:37 | → | deadmarshal joins (~deadmarsh@95.38.114.160) |
| 23:37:39 | <geekosaur> | the low level view of that is https://www.microsoft.com/en-us/research/wp-content/uploads/1992/04/spineless-tagless-gmachine.pdf |
| 23:38:33 | <geekosaur> | they're independent if they don't use data files and don't use ghc-api (which is more or less all of ghc linked into your program and requires its whole installation to be available) |
| 23:39:01 | <Inst[m]> | define data-files |
| 23:39:03 | <geekosaur> | even if it uses data files you have some control over it, although I haven't looked at recent versions of how that works |
| 23:39:17 | <Inst[m]> | primitive ghc "filename" of crap simple program |
| 23:39:41 | <Inst[m]> | only module used is system.io and only extension is strict |
| 23:39:49 | <geekosaur> | then you don't care |
| 23:40:22 | <geekosaur> | no pathnames and you can just copy the exe around (although I don't know offhand what dlls it might require) |
| 23:40:29 | <geekosaur> | <-- not really a windows person |
| 23:40:38 | <Inst[m]> | files generated were .hi, .hs, .o, .exe |
| 23:40:48 | <geekosaur> | I know on unixlikes the default is to link statically so a program is pretty much self-contained |
| 23:40:56 | <hololeap> | anyone have a clue what this `-i` is doing here in doctest? https://github.com/dhall-lang/dhall-haskell/blob/master/dhall/doctest/Main.hs#L51 |
| 23:41:00 | <Inst[m]> | i guess winio is effectively a black art |
| 23:41:09 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 250 seconds) |
| 23:41:13 | <monochrom> | By default GHC on Windows is even more static than GHC on Linux. |
| 23:41:19 | <geekosaur> | the .hi and .o files are intermediates you probably don't need to hold on to |
| 23:41:38 | <Inst[m]> | so, if the file was compiled while winio was still returning the expected behavior |
| 23:41:46 | <geekosaur> | if you have multiple source files then you might want to keep them in your dev environment to save on recompiling everything when you only change one file |
| 23:41:50 | <Inst[m]> | i should go badger the #powershell folks some more |
| 23:42:11 | × | deadmarshal quits (~deadmarsh@95.38.114.160) (Ping timeout: 256 seconds) |
| 23:43:45 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 23:43:48 | <geekosaur> | hololeap, it's a module include path. you'd have to ask the Dhall dev(s) for more detail than the comment |
| 23:43:59 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 23:45:55 | <geekosaur> | Inst[m], I don't know what dependencies the ghc RTS has on Windows. Said dependencies might include registry entries or something in msys2 which might now be confused because installing HP installed a separate msys2 which might have been left around |
| 23:46:15 | <geekosaur> | and I'd expect mixing things between different msys2 installations to cause problems |
| 23:46:23 | <Inst[m]> | thanks for trying |
| 23:46:24 | <geekosaur> | that said, I'm just guessing |
| 23:46:30 | <maerwald> | someone once said we should have one msys2 per GHC xD |
| 23:46:31 | <Inst[m]> | possible it's the different msys2 that might have created the issue |
| 23:47:54 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:48:25 | × | kaph quits (~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Ping timeout: 256 seconds) |
| 23:52:54 | <hololeap> | geekosaur: thanks. do you know if this is documented anywhere? I can't seem to find it. |
| 23:54:08 | <geekosaur> | it appears to be using (passing on?) ghc options so https://downloads.haskell.org/ghc/latest/docs/html/users_guide/flags.html#finding-imports |
| 23:55:33 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 276 seconds) |
All times are in UTC on 2022-02-05.