2022/11/26

2022-11-26 00:01:36 +0100zeenk(~zeenk@2a02:2f04:a208:3600::7fe)
2022-11-26 00:01:46 +0100michalz(~michalz@185.246.207.197) (Remote host closed the connection)
2022-11-26 00:05:58 +0100offtherock(~blurb@96.45.2.121)
2022-11-26 00:06:02 +0100rburkholder(~blurb@96.45.2.121) (Remote host closed the connection)
2022-11-26 00:06:19 +0100pavonia(~user@user/siracusa) (Ping timeout: 265 seconds)
2022-11-26 00:07:29 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2022-11-26 00:07:44 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-11-26 00:08:00 +0100erisco(~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2022-11-26 00:08:48 +0100erisco(~erisco@d24-141-66-165.home.cgocable.net)
2022-11-26 00:09:02 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-26 00:10:21 +0100erisco(~erisco@d24-141-66-165.home.cgocable.net) (Client Quit)
2022-11-26 00:10:29 +0100pavonia(~user@user/siracusa)
2022-11-26 00:15:30 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-11-26 00:15:49 +0100elevenkb(~elevenkb@105.184.125.168)
2022-11-26 00:17:16 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-26 00:20:24 +0100OscarZ(~oscarz@95.175.104.88)
2022-11-26 00:21:42 +0100elevenkb(~elevenkb@105.184.125.168) (Remote host closed the connection)
2022-11-26 00:23:54 +0100 <Unhammer> https://ihp.digitallyinduced.com/api-docs/IHP-QueryBuilder.html#v:filterWhereNot i want a version of this where i require value to be 'Maybe a', i tried adding ', value ~ Maybe a' but then ghc just started blathering incoherently
2022-11-26 00:24:31 +0100 <Unhammer> Hm can i do something like
2022-11-26 00:24:42 +0100 <Unhammer> HasField name model value@(Maybe a)
2022-11-26 00:25:02 +0100Major_Biscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
2022-11-26 00:29:31 +0100Major_Biscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 265 seconds)
2022-11-26 00:29:35 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-11-26 00:31:46 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-11-26 00:35:13 +0100Inst(~Inst@2601:6c4:4081:54f0:3c44:89c8:38b2:5760)
2022-11-26 00:39:27 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-11-26 00:40:14 +0100tvandinther(~tvandinth@101.98.118.246)
2022-11-26 00:40:27 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb)
2022-11-26 00:40:33 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb) (Client Quit)
2022-11-26 00:42:43 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-11-26 00:43:05 +0100zeenk(~zeenk@2a02:2f04:a208:3600::7fe) (Quit: Konversation terminated!)
2022-11-26 00:45:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-26 00:47:45 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-26 00:47:46 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) (Read error: Connection reset by peer)
2022-11-26 00:48:17 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-11-26 00:50:35 +0100euandreh(~Thunderbi@179.214.113.107) (Ping timeout: 264 seconds)
2022-11-26 00:52:57 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd) (Remote host closed the connection)
2022-11-26 00:53:12 +0100acidjnk_new(~acidjnk@p200300d6e7137a87dd877e6fe5567bfb.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2022-11-26 00:54:13 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-11-26 00:54:19 +0100 <tvandinther> I'm trying to set up a new project with stack and ghcup and I'm having an incredibly difficult time. First issue is I'm not sure which version of GHC I should use for HLS support. I've tried matching things up with ghcup but then I get issues either building the project or starting the language server.
2022-11-26 00:54:27 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-26 00:54:54 +0100 <tvandinther> And when I set the ghc resolver with stack, it is no longer able to resolve dependencies for building
2022-11-26 00:55:50 +0100Sgeo(~Sgeo@user/sgeo)
2022-11-26 00:57:48 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d)
2022-11-26 01:01:16 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-26 01:03:30 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2022-11-26 01:06:03 +0100Xeroine(~Xeroine@user/xeroine) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2022-11-26 01:06:47 +0100chomwitt(~chomwitt@2a02:587:7a0d:dd00:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds)
2022-11-26 01:08:18 +0100Xeroine(~Xeroine@user/xeroine)
2022-11-26 01:08:40 +0100 <tvandinther> `stack new` is creating a ghc-9.2.5 project but afaik there is no HLS for this version. If I change the ghc version of the resolver in stack.yaml, then the build no longer works. Looking for a stackage-snapshot with an hls-compatible ghc version provides no results. Feels like a stalemate. This shouldn't be so difficult.
2022-11-26 01:10:58 +0100 <VOID[m]> tvandinther: I compiled hls for 9.2.5 and has no problems with that so far
2022-11-26 01:11:29 +0100 <VOID[m]> ghcup let's you do that easily
2022-11-26 01:11:35 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-26 01:11:46 +0100 <VOID[m]> May be not the most stable option, but it works...
2022-11-26 01:11:47 +0100 <tvandinther> I'm using ghcup and when I install HLS through there, the binaries don't include one for 9.2.5
2022-11-26 01:12:03 +0100 <VOID[m]> Yeee, recompile hls from master
2022-11-26 01:13:08 +0100 <tvandinther> that's ridiculous though. Maybe if I really wanted to use 9.2.5 then sure. But I just want a setup that works
2022-11-26 01:13:24 +0100kraftwerk28(~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-26 01:13:43 +0100 <VOID[m]> Something along the lines of
2022-11-26 01:13:43 +0100 <VOID[m]> ```
2022-11-26 01:13:43 +0100 <VOID[m]> ghcup compile hls --git-ref master --ghc 9.2.5
2022-11-26 01:13:49 +0100 <yushyin> https://haskell-language-server.readthedocs.io/en/latest/support/ghc-version-support.html use a ghc version that's supported
2022-11-26 01:14:01 +0100 <tvandinther> how do I make stack use a version that's supported
2022-11-26 01:14:47 +0100kraftwerk28(~kraftwerk@178.62.210.83)
2022-11-26 01:15:15 +0100 <tvandinther> my stack.yaml has this resolver url https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/1.yaml
2022-11-26 01:15:15 +0100 <tvandinther> but if I set the resolver directly targeting a ghc version then the build doesn't work without listing a million extra-deps
2022-11-26 01:15:22 +0100 <yushyin> use a resolver that ships that version, i guess? sorry, i don't use stack
2022-11-26 01:15:41 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd)
2022-11-26 01:17:22 +0100 <geekosaur> there isn't one
2022-11-26 01:17:48 +0100 <geekosaur> 9.2 was nightly until LTS 20.1 came out, and it moved to 9.2.5 because of bugs
2022-11-26 01:18:14 +0100 <geekosaur> so you may simply not be able to use 9.2.4 even if you use an older nightly snapshot
2022-11-26 01:19:29 +0100 <geekosaur> https://www.stackage.org/nightly-2022-10-31 used 9.2.4
2022-11-26 01:20:34 +0100 <geekosaur> this is a downside of stack: if you can't find an appropriate resolverm you're stuck with a lot of extra-deps
2022-11-26 01:22:20 +0100 <tvandinther> thanks, that resolver solves that. how is anyone supposed to find the right resolver? And why aren't there LTS resolvers for each ghc version?
2022-11-26 01:22:23 +0100 <geekosaur> cabal can usually find a build plan
2022-11-26 01:22:53 +0100 <geekosaur> you'll have to ask the stackage folks about that
2022-11-26 01:23:21 +0100 <c_wraith> there are resolvers for each period of time, not each version.
2022-11-26 01:27:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-26 01:29:56 +0100ddellacosta(~ddellacos@89.45.224.188) (Ping timeout: 265 seconds)
2022-11-26 01:32:22 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-26 01:35:16 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2022-11-26 01:37:20 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-26 01:37:20 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-26 01:37:20 +0100wroathe(~wroathe@user/wroathe)
2022-11-26 01:41:05 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 01:45:02 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-26 01:54:25 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-11-26 01:58:05 +0100ddellacosta(~ddellacos@143.244.47.82)
2022-11-26 01:58:56 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 265 seconds)
2022-11-26 02:01:08 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 02:01:16 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 02:05:48 +0100razetime(~quassel@117.193.7.225)
2022-11-26 02:10:12 +0100 <sm> tvandinther: go to stackage.org, it's easy to find the resolver for any ghc version there
2022-11-26 02:10:41 +0100tinwood(~tinwood@canonical/tinwood) (Remote host closed the connection)
2022-11-26 02:10:46 +0100 <sm> you don't need to write out the full url like that btw
2022-11-26 02:13:39 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io)
2022-11-26 02:13:39 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host)
2022-11-26 02:13:39 +0100tinwood(~tinwood@canonical/tinwood)
2022-11-26 02:15:51 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2022-11-26 02:17:13 +0100 <maerwald[m]> sm: afair you can just put ghc-x.y.z as resolver and it will pick the latest compatible?
2022-11-26 02:18:18 +0100bobbingbob(~bobbingbo@S010610561191f5d6.lb.shawcable.net)
2022-11-26 02:18:35 +0100 <sm> iirc that's not a good idea as those are bare bones resolvers, including only minimum packages
2022-11-26 02:19:15 +0100 <geekosaur> that's my understanding as well, it doesn't pick a full resolver based on the ghc
2022-11-26 02:19:32 +0100 <maerwald[m]> Oh
2022-11-26 02:19:54 +0100 <geekosaur> so you end up digging on stackage.org to find an appropriate one
2022-11-26 02:20:41 +0100 <maerwald[m]> Only boot packages?
2022-11-26 02:21:05 +0100 <geekosaur> which is even harder if it's a nightly (which it would have to be since no LTS was released with 9.2.4)
2022-11-26 02:21:30 +0100 <geekosaur> I think so but don't know for certain
2022-11-26 02:31:29 +0100 <bobbingbob> so do i do about an error like this? https://pastebin.com/6TUHu2up
2022-11-26 02:32:22 +0100 <bobbingbob> basically i'm trying to build svgcairo but cabal refuses to install because ghc depends on specific versions right?
2022-11-26 02:33:02 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd) (Remote host closed the connection)
2022-11-26 02:43:53 +0100srz(~srz@179.36.67.11)
2022-11-26 02:45:12 +0100causal(~user@50.35.83.177) (Quit: WeeChat 3.7.1)
2022-11-26 02:46:55 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2022-11-26 02:47:45 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 265 seconds)
2022-11-26 02:48:24 +0100 <geekosaur> it's apparently using the ghc package, and the package is tied to the compiler version
2022-11-26 02:49:12 +0100 <geekosaur> actually svgcairo itself looks okay so it must be a dependency
2022-11-26 02:51:37 +0100 <geekosaur> sadly cabal is somewhat poor at reporting conflicts due to things that require an installed instance (base, ghcm, ghc-prim, template-haskell)
2022-11-26 02:51:48 +0100 <geekosaur> s/ghcm/ghc/
2022-11-26 02:52:18 +0100 <geekosaur> I didn't see immediately where it's getting the binary and bytestring dependencies
2022-11-26 02:53:53 +0100 <geekosaur> hm, binary-0.8.9.1 is ghc-9.4.1
2022-11-26 02:54:56 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-11-26 02:55:02 +0100chexum_(~quassel@gateway/tor-sasl/chexum)
2022-11-26 02:57:58 +0100 <bobbingbob> where does the user constraint on ghc version come from? it's saying 'constraint from user target requires ==9.0.2'
2022-11-26 02:58:31 +0100 <geekosaur> I don't know; what it thinks is a "user target" usually baffles me
2022-11-26 02:58:51 +0100 <geekosaur> how exactly are you trying to build it? as part of a project?
2022-11-26 03:01:40 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 03:01:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-11-26 03:02:01 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-11-26 03:02:35 +0100OscarZ(~oscarz@95.175.104.88) (Ping timeout: 264 seconds)
2022-11-26 03:05:00 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 03:07:07 +0100 <bobbingbob> yes i want to get ghc-vis going. at first i attempted 'cabal install ghc-vis'. that failed because svgcairo wants Cabal < 3.1 and I have 3.4
2022-11-26 03:09:10 +0100 <bobbingbob> so i unpacked ghc-vis and svgcairo. in svgcairo i altered the upper version bound to Cabal < 3.5. this then fails because of binary and bytestring
2022-11-26 03:11:19 +0100 <bobbingbob> binary doesn't want to go because installed ghc depends on older installed binary
2022-11-26 03:11:55 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 03:12:22 +0100 <bobbingbob> bytestring doesn't want to go because ghc depends on bytestring>=0.9 && <0.11 and bytestring wants to be newer
2022-11-26 03:13:24 +0100 <bobbingbob> so i can't just have multiple versions of binary and bytestring installed and they get used appropriately somehow
2022-11-26 03:14:13 +0100 <bobbingbob> i think my next step should be to learn how to develop inside a vm
2022-11-26 03:14:55 +0100 <bobbingbob> do you think using cabal-install from pacman might be conflicting with ghcup somehow?
2022-11-26 03:15:36 +0100 <bobbingbob> its confusing having ghc coming from multiple places
2022-11-26 03:17:27 +0100 <geekosaur> if something has a dependency on ghc-as-a-library, that pins bytestring and binary because it uses both
2022-11-26 03:17:38 +0100 <geekosaur> sadly I am otherwise out of my depth
2022-11-26 03:17:54 +0100 <geekosaur> and it's past my bedtime and I'm starting to turn into a pumpkin…
2022-11-26 03:19:04 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-11-26 03:19:04 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 03:19:04 +0100finn_elijaFinnElija
2022-11-26 03:19:29 +0100 <bobbingbob> alright, good night. thanks for trying
2022-11-26 03:21:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd)
2022-11-26 03:21:33 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2022-11-26 03:28:14 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-26 03:29:04 +0100califax(~califax@user/califx)
2022-11-26 03:29:11 +0100 <bobbingbob> 'No cryptographic hash found for Hackage package xdot-1.3.0.4'. nothing i can do about this?
2022-11-26 03:29:25 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
2022-11-26 03:30:20 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-26 03:30:20 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-11-26 03:30:49 +0100califax(~califax@user/califx)
2022-11-26 03:34:01 +0100money_(~Gambino@user/polo)
2022-11-26 03:35:49 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 03:36:55 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 03:37:03 +0100bobbingbob(~bobbingbo@S010610561191f5d6.lb.shawcable.net) (Ping timeout: 265 seconds)
2022-11-26 03:37:06 +0100money_(~Gambino@user/polo) (Client Quit)
2022-11-26 03:37:39 +0100srz(~srz@179.36.67.11) (Remote host closed the connection)
2022-11-26 03:38:06 +0100srz(~srz@179.36.67.11)
2022-11-26 03:41:33 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2022-11-26 03:44:41 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-11-26 03:46:10 +0100 <sm> cabal update and try again ?
2022-11-26 03:46:23 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-11-26 03:47:18 +0100 <sm> yow, why do people actually still keep using pastebin.com ? Is it the memorable url ?
2022-11-26 03:52:23 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2022-11-26 03:52:44 +0100srz(~srz@179.36.67.11) (Remote host closed the connection)
2022-11-26 03:53:02 +0100nate4(~nate@98.45.169.16)
2022-11-26 03:53:03 +0100srz(~srz@179.36.67.11)
2022-11-26 03:53:44 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd) (Remote host closed the connection)
2022-11-26 03:53:49 +0100califax(~califax@user/califx)
2022-11-26 03:54:40 +0100 <Maxdamantus> Anyone know a site where I can Google things?
2022-11-26 03:54:50 +0100 <shapr> is that a joke?
2022-11-26 03:55:04 +0100 <Maxdamantus> 15:47:18 < sm> yow, why do people actually still keep using pastebin.com ? Is it the memorable url ?
2022-11-26 03:55:32 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd)
2022-11-26 03:55:36 +0100 <Maxdamantus> Anyone know a pastebin site?
2022-11-26 03:56:21 +0100 <Maxdamantus> in both cases it's basically just `‹generic name for the thing›.com`
2022-11-26 03:58:19 +0100nate4(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-11-26 04:00:24 +0100 <sm> so it's the url
2022-11-26 04:00:38 +0100 <Maxdamantus> I'd expect so.
2022-11-26 04:00:43 +0100 <sm> how can we defeat this evil
2022-11-26 04:00:43 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-11-26 04:00:52 +0100 <Maxdamantus> Ask pastebin.com to change their URL.
2022-11-26 04:01:06 +0100 <sm> paste.haskell.org ?
2022-11-26 04:02:16 +0100 <sm> tomsmeding ^
2022-11-26 04:02:28 +0100 <Maxdamantus> I wouldn't expect them to be affiliated with Haskell, but sure, if they change it to that, then someone else will take the "pastebin.com" domain and presumably make a different service (which may or may not be better).
2022-11-26 04:02:53 +0100 <sm> no no no
2022-11-26 04:05:31 +0100 <sm> what a nightmare image. No, I'm talking about moving our community paste site to that possibly more competitive url, helping folks not to reach for the evil 👿 p b dot com
2022-11-26 04:06:52 +0100 <monochrom> premium-pastebin.com :)
2022-11-26 04:06:58 +0100gentauro(~gentauro@user/gentauro)
2022-11-26 04:08:34 +0100 <monochrom> ad-free-pastebin.com :)
2022-11-26 04:09:50 +0100 <monochrom> Cynically, people will just use Google. Cynically, Google has incentives to prioritize popularist low-quality money-making paste bins such as pastebin.com
2022-11-26 04:10:21 +0100 <monochrom> This is something you can't fix unless either you become as greedy as them or they become as altruistic as you.
2022-11-26 04:10:39 +0100marc(~marc@5.83.191.88)
2022-11-26 04:11:03 +0100marcGuest5607
2022-11-26 04:11:28 +0100son0p(~ff@2604:3d08:5b7f:5540::6bfc) (Ping timeout: 256 seconds)
2022-11-26 04:12:58 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-26 04:13:20 +0100 <yushyin> i have been in channels where pastes from certain services like pastebin.com get mirrored by a bot to more desirable paste services.
2022-11-26 04:13:59 +0100Guest3723(~marc@5.83.191.93) (Ping timeout: 264 seconds)
2022-11-26 04:14:16 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 265 seconds)
2022-11-26 04:16:10 +0100waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2022-11-26 04:22:01 +0100LemanR(~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net)
2022-11-26 04:22:57 +0100 <int-e> @where paste
2022-11-26 04:22:58 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-11-26 04:24:38 +0100 <LemanR> hey all, I'm doing pattern matching exercise on exerism.org (I highly recommend this site, btw) I know in case of you'd write pattern = results, but what if that pattern involves the "=" condition. In this year they are talking about calculating leap year so something to the effect of "when mod 4 year = 0 = result" would I just use == to
2022-11-26 04:24:39 +0100 <LemanR> distinguish the conditional = vs the results?
2022-11-26 04:26:31 +0100Lycurgus(~juan@user/Lycurgus)
2022-11-26 04:28:11 +0100 <LemanR> I think I got this
2022-11-26 04:29:28 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 04:29:28 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-11-26 04:29:28 +0100finn_elijaFinnElija
2022-11-26 04:32:55 +0100 <LemanR> found it on https://www.haskell.org/tutorial/patterns.html
2022-11-26 04:35:51 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5)
2022-11-26 04:35:57 +0100wroathe(~wroathe@user/wroathe) (Quit: Reconnecting)
2022-11-26 04:36:34 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-26 04:36:34 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-26 04:36:34 +0100wroathe(~wroathe@user/wroathe)
2022-11-26 04:38:35 +0100xff0x(~xff0x@2405:6580:b080:900:84a4:3e04:c05a:9d80) (Ping timeout: 264 seconds)
2022-11-26 04:40:29 +0100wroathe(~wroathe@user/wroathe) (Client Quit)
2022-11-26 04:42:39 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 04:44:50 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-26 04:44:50 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-26 04:44:50 +0100wroathe(~wroathe@user/wroathe)
2022-11-26 04:45:12 +0100srz(~srz@179.36.67.11) (Remote host closed the connection)
2022-11-26 04:45:32 +0100srz(~srz@179.36.67.11)
2022-11-26 04:47:56 +0100 <sm> yushyin: that would be great
2022-11-26 04:48:51 +0100tjakway(~tjakway@cpe-107-184-74-161.socal.res.rr.com)
2022-11-26 04:48:52 +0100nate4(~nate@98.45.169.16)
2022-11-26 04:49:01 +0100xff0x(~xff0x@2405:6580:b080:900:84a4:3e04:c05a:9d80)
2022-11-26 04:49:28 +0100srz(~srz@179.36.67.11) (Remote host closed the connection)
2022-11-26 04:50:50 +0100acidjnk_new(~acidjnk@p200300d6e7137a87dd877e6fe5567bfb.dip0.t-ipconnect.de)
2022-11-26 04:58:30 +0100td_(~td@83.135.9.38) (Ping timeout: 256 seconds)
2022-11-26 04:59:59 +0100td_(~td@83.135.9.15)
2022-11-26 05:00:12 +0100zant(~zant@62.214.20.26) (Ping timeout: 256 seconds)
2022-11-26 05:01:38 +0100 <LemanR> think I have the format right, I just have to work out the logic now
2022-11-26 05:05:17 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-11-26 05:05:17 +0100chexum_(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
2022-11-26 05:05:47 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-26 05:06:48 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a)
2022-11-26 05:06:56 +0100ridcully_(~ridcully@p508acd69.dip0.t-ipconnect.de)
2022-11-26 05:07:28 +0100ridcully(~ridcully@p508ac9a8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-11-26 05:07:49 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 05:09:53 +0100acidjnk_new(~acidjnk@p200300d6e7137a87dd877e6fe5567bfb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-26 05:12:02 +0100manwithluck(~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-26 05:12:22 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 05:12:41 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-26 05:17:06 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2022-11-26 05:25:51 +0100razetime(~quassel@117.193.7.225) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-11-26 05:31:55 +0100 <LemanR> ugh the logic in this problem is tricky to code, https://exercism.org/tracks/haskell/exercises/leap/edit
2022-11-26 05:32:37 +0100 <dsal> That's a login page.
2022-11-26 05:33:02 +0100 <LemanR> makes sense. It's their haskell leap year problem, one sec
2022-11-26 05:35:16 +0100 <LemanR> was going to wgetpaste the instructions but they are simple. make a function called "isLeapYear" with variable "year" so isLeapYear :: Integer -> Bool. So the conditionals must mark true all years divisible by 4 & 100 however false if divisible by 400
2022-11-26 05:35:45 +0100 <LemanR> *evenly divisible*
2022-11-26 05:37:24 +0100 <LemanR> so far I'm using a guard format (I think), an example I have is " | mod year 100 == 0     = False"
2022-11-26 05:40:03 +0100 <LemanR> got it, I put the largest numbers first so mod 400 then 100 then 4.
2022-11-26 05:41:16 +0100k``(~user@136.56.140.2) (Ping timeout: 265 seconds)
2022-11-26 05:42:35 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-11-26 05:47:07 +0100 <mauke> isLeapYear y = y `mod` 4 == 0 && (y `mod` 100 /= 0 || y `mod` 400 == 0)
2022-11-26 05:48:29 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
2022-11-26 05:48:56 +0100tjakway(~tjakway@cpe-107-184-74-161.socal.res.rr.com) (Quit: WeeChat 3.5)
2022-11-26 05:49:21 +0100 <LemanR> this is what I got https://bpa.st/QPQA
2022-11-26 05:49:33 +0100nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-11-26 05:50:05 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 05:52:32 +0100 <int-e> it'll work
2022-11-26 05:53:15 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb)
2022-11-26 05:53:43 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb) (Client Quit)
2022-11-26 05:54:35 +0100 <LemanR> they both do, I do like mauke solution better but alas I still be learning
2022-11-26 05:55:59 +0100ddellacosta(~ddellacos@143.244.47.82) (Ping timeout: 264 seconds)
2022-11-26 05:56:11 +0100 <LemanR> does syntax sugar cost the compiler time (eve if negligible?)
2022-11-26 05:56:27 +0100 <LemanR> * (even if negligible")*
2022-11-26 05:58:49 +0100euandreh(~Thunderbi@179.214.113.107) (Quit: euandreh)
2022-11-26 05:58:52 +0100 <mauke> does syntax cost the compiler time?
2022-11-26 05:59:57 +0100 <LemanR> like when I compile code that has syntax sugar, does the compile or other part of the process have to change the syntax sugar to the equivalent non-sugar form?
2022-11-26 06:00:32 +0100 <monochrom> It depends on which syntax sugar.
2022-11-26 06:00:33 +0100 <LemanR> like does it have to change year 'mod' 4 into mod year 4 for example
2022-11-26 06:01:05 +0100 <mauke> no, it doesn't literally rewrite source code
2022-11-26 06:01:58 +0100 <monochrom> But the answer to the correct question is: The time you spent asking that is more than enough for the compiler to desugar 20 million sugars already.
2022-11-26 06:03:06 +0100 <monochrom> which is probably enough to cover your use of syntax sugars for your entire programming career, and even of your successor's.
2022-11-26 06:03:37 +0100 <int-e> Maybe if you generate code :)
2022-11-26 06:03:49 +0100 <mauke> also, is mod year 4 "sugar" for ((mod year) 4)?
2022-11-26 06:04:16 +0100 <LemanR> lol I get it lol technically yes but extremely negligible
2022-11-26 06:05:42 +0100 <LemanR> mod year 4 == year 'mod' 4 *shrug* I did it right when I wrote my code, tis all that matters atm lol
2022-11-26 06:06:07 +0100 <int-e> The thing to worry about is readability. I find x `mod` 4 easier to read... mod x 4 makes me stop and think for a second. That's actually a time loss to worry about.
2022-11-26 06:06:25 +0100 <int-e> LemanR: it's ` , not '
2022-11-26 06:06:40 +0100 <int-e> (backtick, not single quote)
2022-11-26 06:06:48 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2022-11-26 06:07:36 +0100 <monochrom> But if you prefer Scheme then mod x 4 is the more natural one.
2022-11-26 06:07:50 +0100 <monochrom> Or rather, the contraposition of that.
2022-11-26 06:07:52 +0100 <int-e> (mod x 4)... and I don't :)
2022-11-26 06:08:08 +0100 <LemanR> I'll remember the backtick thing. I do like to write without the sugar just to get into the practice of reading that form. But after a while I'll write in syntax sugar when reading non-sugar is intuitive. That way I won't have issues reading either.
2022-11-26 06:08:31 +0100 <LemanR> but I swear to use sugar if I ever collaborate lol
2022-11-26 06:08:32 +0100 <monochrom> But I had a TA who preferred prefix syntax/order.
2022-11-26 06:08:34 +0100 <c_wraith> another possible view for that case is that both syntaxes are converted to the same tree in the internal representation. That tree isn't text, so it isn't either of the syntactic options
2022-11-26 06:08:55 +0100 <monochrom> Yes, literally said "prefer Scheme syntax to Haskell/infix syntax".
2022-11-26 06:09:22 +0100 <int-e> monochrom: maybe if you've programmed enough of scheme or lisp...
2022-11-26 06:09:26 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-11-26 06:09:32 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 06:10:12 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-26 06:10:29 +0100 <monochrom> Given that Japanese and Korean are kind of RPN, I have accepted that diversity exists very really.
2022-11-26 06:10:44 +0100 <mauke> (if ((x > 0) && (x < 100)) (open-brace) (printf "x = %d\n" x) (close-brace);
2022-11-26 06:10:47 +0100 <int-e> It's not a terrible syntax (or lack thereof?), but it requires a larger capacity for matching parentheses than infix syntax with sensible precendences.
2022-11-26 06:11:08 +0100 <monochrom> can't even claim "left-to-right is more natural" because there is like 50% chance it's not.
2022-11-26 06:11:18 +0100 <int-e> And, speaking for myself, I'm far less fluent in it.
2022-11-26 06:11:32 +0100 <LemanR> I<3  lisp simplicity honestly. Just work inside out and you're good.
2022-11-26 06:12:26 +0100 <monochrom> I think in practice Scheme programmer use indentations to help. Like, you could claim the same problem with Algol descendents too.
2022-11-26 06:12:53 +0100 <monochrom> Pascal requires unlimited stack for matching begin's and end's...
2022-11-26 06:13:00 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 06:13:16 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 06:13:37 +0100 <LemanR> is it at all common place to write haskell without indentation rules? it is kinda annoying to have to think about whitespace
2022-11-26 06:13:49 +0100 <monochrom> But no, in reality Pascal code is well indented, plus an editor draws vertical lines to help.
2022-11-26 06:14:17 +0100 <LemanR> or is that a good way to get shanked by haskellers lol
2022-11-26 06:15:04 +0100 <monochrom> which is another instance of "during the time spent worrying about CFG stress on humans, the computer has already reformatted 20 million lines of code to help you".
2022-11-26 06:15:29 +0100 <LemanR> the indentation thing?
2022-11-26 06:15:59 +0100 <mauke> I would recommend using layout at least at file (module) scope
2022-11-26 06:16:00 +0100 <int-e> from what I've seen, explicit braces and semicolons instead of indentation are quite uncommon
2022-11-26 06:16:08 +0100 <mauke> anything else, it's a matter of preference
2022-11-26 06:16:20 +0100 <int-e> with exceptions at small scale
2022-11-26 06:17:01 +0100 <LemanR> well I'll just get used to indentation then for other's sake.
2022-11-26 06:17:15 +0100 <mauke> the layout rules are simple enough that you don't have to think much after a little practice
2022-11-26 06:17:17 +0100 <int-e> > do x <- pure 1; let { y = 2 }; pure (x+y) :: Maybe Int
2022-11-26 06:17:18 +0100 <lambdabot> Just 3
2022-11-26 06:17:53 +0100 <mauke> and since haskell is mostly expression based, deeply nested blocks are uncommon
2022-11-26 06:18:15 +0100 <int-e> (that's a small case example, kind of necessary for lambdabot because it's restricted to a single line of input)
2022-11-26 06:18:27 +0100 <int-e> s/case/scale/
2022-11-26 06:20:04 +0100euandreh(~Thunderbi@179.214.113.107) (Quit: euandreh)
2022-11-26 06:20:09 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 06:21:48 +0100son0p(~ff@2604:3d08:5b7f:5540::ebf0)
2022-11-26 06:22:09 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-11-26 06:24:08 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 06:24:55 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-26 06:26:27 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Client Quit)
2022-11-26 06:34:23 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds)
2022-11-26 06:36:22 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
2022-11-26 06:36:35 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-11-26 06:37:50 +0100Lord_of_Life_Lord_of_Life
2022-11-26 06:39:45 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Ping timeout: 265 seconds)
2022-11-26 06:40:14 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2022-11-26 06:44:14 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-11-26 06:46:19 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a) (Remote host closed the connection)
2022-11-26 06:46:37 +0100king_gs(~Thunderbi@187.201.139.206)
2022-11-26 06:46:45 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-11-26 06:47:26 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Client Quit)
2022-11-26 06:47:42 +0100califax(~califax@user/califx)
2022-11-26 06:53:07 +0100manwithluck(~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-26 06:53:10 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-11-26 06:55:11 +0100k``(~user@2605:a601:a60d:5400:7924:eed2:6f57:e9c5)
2022-11-26 06:55:28 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 06:55:49 +0100jinsun(~jinsun@user/jinsun)
2022-11-26 06:57:54 +0100jinsun__(~jinsun@user/jinsun)
2022-11-26 06:57:54 +0100jinsunGuest4590
2022-11-26 06:57:54 +0100Guest4590(~jinsun@user/jinsun) (Killed (lithium.libera.chat (Nickname regained by services)))
2022-11-26 06:57:54 +0100jinsun__jinsun
2022-11-26 06:59:18 +0100pyrex_(~pyrex@2601:645:8781:1c90:9dea:e089:cad9:7d7f)
2022-11-26 07:00:08 +0100k``(~user@2605:a601:a60d:5400:7924:eed2:6f57:e9c5) (Ping timeout: 260 seconds)
2022-11-26 07:03:10 +0100pyrex(~pyrex@user/pyrex) (Ping timeout: 260 seconds)
2022-11-26 07:10:09 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 07:12:08 +0100machined1od(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2022-11-26 07:12:16 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 07:16:13 +0100king_gs1(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-26 07:16:43 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-11-26 07:18:49 +0100king_gs(~Thunderbi@187.201.139.206) (Ping timeout: 268 seconds)
2022-11-26 07:18:50 +0100king_gs1king_gs
2022-11-26 07:33:47 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-26 07:35:41 +0100pyrex_(~pyrex@2601:645:8781:1c90:9dea:e089:cad9:7d7f) ()
2022-11-26 07:36:02 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2022-11-26 07:36:15 +0100phma(~phma@host-67-44-208-136.hnremote.net) (Read error: Connection reset by peer)
2022-11-26 07:36:52 +0100phma(~phma@2001:5b0:211b:f1c8:1660:b1a4:c3b6:5a9)
2022-11-26 07:37:16 +0100califax(~califax@user/califx)
2022-11-26 07:43:01 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 07:46:23 +0100foul_owl(~kerry@193.29.61.77) (Ping timeout: 264 seconds)
2022-11-26 07:50:36 +0100kawen_kawen
2022-11-26 07:52:48 +0100LemanR(~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net) (Quit: Client closed)
2022-11-26 07:53:35 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Ping timeout: 264 seconds)
2022-11-26 07:55:09 +0100waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 265 seconds)
2022-11-26 08:02:14 +0100foul_owl(~kerry@174-21-75-230.tukw.qwest.net)
2022-11-26 08:04:23 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2022-11-26 08:17:35 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-11-26 08:22:57 +0100mei(~mei@user/mei)
2022-11-26 08:23:22 +0100Inst_(~Inst@2601:6c4:4081:54f0:e1a1:1873:3f07:1842)
2022-11-26 08:27:38 +0100Inst(~Inst@2601:6c4:4081:54f0:3c44:89c8:38b2:5760) (Ping timeout: 260 seconds)
2022-11-26 08:44:30 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-26 08:46:12 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd) (Remote host closed the connection)
2022-11-26 08:50:13 +0100zant(~zant@62.214.20.26)
2022-11-26 08:53:23 +0100opticblast(~Thunderbi@172.58.86.28)
2022-11-26 08:53:25 +0100invsersed(~inversed@bcdcac82.skybroadband.com) (Ping timeout: 260 seconds)
2022-11-26 09:00:32 +0100inversed(~inversed@bcdcac82.skybroadband.com)
2022-11-26 09:01:15 +0100Xeroine(~Xeroine@user/xeroine) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2022-11-26 09:01:59 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 264 seconds)
2022-11-26 09:02:29 +0100Xeroine(~Xeroine@user/xeroine)
2022-11-26 09:04:12 +0100king_gs(~Thunderbi@187.201.139.206)
2022-11-26 09:13:43 +0100merijn(~merijn@86.86.29.250)
2022-11-26 09:14:54 +0100opticblast(~Thunderbi@172.58.86.28) (Ping timeout: 265 seconds)
2022-11-26 09:23:08 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-26 09:27:43 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-26 09:33:56 +0100king_gs1(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-26 09:35:21 +0100king_gs(~Thunderbi@187.201.139.206) (Read error: Connection reset by peer)
2022-11-26 09:35:21 +0100king_gs1king_gs
2022-11-26 09:42:05 +0100Erutuon(~Erutuon@user/erutuon)
2022-11-26 09:43:13 +0100zeenk(~zeenk@2a02:2f04:a208:3600::7fe)
2022-11-26 09:46:36 +0100acidjnk_new(~acidjnk@p200300d6e7137a87b092dbda3219496e.dip0.t-ipconnect.de)
2022-11-26 09:46:40 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd)
2022-11-26 09:48:08 +0100merijn(~merijn@86.86.29.250) (Ping timeout: 260 seconds)
2022-11-26 09:51:03 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd) (Ping timeout: 260 seconds)
2022-11-26 09:56:26 +0100 <albet70> how to use let a=x inside if-then-else?
2022-11-26 09:56:33 +0100 <albet70> is that ok?
2022-11-26 09:56:52 +0100 <albet70> if 3=3 then let a=1 else let a=2
2022-11-26 09:56:56 +0100 <albet70> 3==3
2022-11-26 09:57:11 +0100Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 264 seconds)
2022-11-26 09:57:51 +0100Neuromancer(~Neuromanc@user/neuromancer)
2022-11-26 09:57:57 +0100 <mauke> no
2022-11-26 09:59:12 +0100 <mauke> each 'let' needs a subordinate scope in which it is valid (or in the case of do notation, an adjacent scope)
2022-11-26 09:59:50 +0100 <mauke> on the other hand, 'let a = if 3 == 3 then 1 else 2 in ...' is valid
2022-11-26 10:00:08 +0100inkbottle[m](~inkbottle@2001:470:69fc:105::2ff5) (Quit: You have been kicked for being idle)
2022-11-26 10:00:35 +0100 <albet70> then what's the right way to do it? 'cause the variable 'a' is needed in the rest
2022-11-26 10:01:32 +0100 <albet70> do if 3==3 then let a=1 else then let a=2; return a+3
2022-11-26 10:01:43 +0100 <albet70> what's the proper way to express this?
2022-11-26 10:01:57 +0100 <mauke> let a = if 3 == 3 then 1 else 2; return (a+3)
2022-11-26 10:08:43 +0100gmg(~user@user/gehmehgeh)
2022-11-26 10:12:50 +0100 <albet70> thanks
2022-11-26 10:14:03 +0100k``(~user@2605:a601:a60d:5400:7924:eed2:6f57:e9c5)
2022-11-26 10:18:40 +0100k``(~user@2605:a601:a60d:5400:7924:eed2:6f57:e9c5) (Ping timeout: 256 seconds)
2022-11-26 10:18:48 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2022-11-26 10:22:41 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-26 10:26:25 +0100tvandinther(~tvandinth@101.98.118.246) (Quit: Client closed)
2022-11-26 10:30:56 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-11-26 10:31:45 +0100Chioque(~mansur@42.191.148.104)
2022-11-26 10:32:02 +0100Chioque(~mansur@42.191.148.104) (Client Quit)
2022-11-26 10:32:51 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 10:34:07 +0100heisenberg2(~heisenber@2a09:bac1:3f40::16:19a)
2022-11-26 10:39:27 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-26 10:39:35 +0100turlando(~turlando@user/turlando) (Read error: Connection reset by peer)
2022-11-26 10:43:14 +0100aisa(~aisa@user/aisa)
2022-11-26 10:44:22 +0100turlando(~turlando@user/turlando)
2022-11-26 10:44:43 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds)
2022-11-26 10:44:53 +0100heisenberg2(~heisenber@2a09:bac1:3f40::16:19a) (Remote host closed the connection)
2022-11-26 10:48:03 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 10:49:19 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 10:52:55 +0100potash(~foghorn@user/foghorn) (Excess Flood)
2022-11-26 10:54:46 +0100potash(~foghorn@user/foghorn)
2022-11-26 10:59:40 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-11-26 11:00:47 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Ping timeout: 264 seconds)
2022-11-26 11:01:34 +0100ulvarrefr(~user@188.124.56.153)
2022-11-26 11:02:18 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-26 11:05:33 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-26 11:07:24 +0100tabaqui(~root@88.231.62.215) (Quit: WeeChat 3.7.1)
2022-11-26 11:07:51 +0100king_gs(~Thunderbi@187.201.139.206)
2022-11-26 11:17:36 +0100 <albet70> readFile may get IO Exception, how to solve that? with try or catch? what's the different
2022-11-26 11:18:54 +0100Guest60(~Guest60@101.98.118.246)
2022-11-26 11:22:51 +0100 <Guest60> Hiya, got a question where I feel like I'm missing something obvious but I can't figure it out. I have a sum type `data Command = MergeData MergeDataOption | Compile CompileOptions` and a type error "Couldn't match type ‘CompileOptions’ with ‘Command’
2022-11-26 11:22:51 +0100 <Guest60>   Expected: Parser Command
2022-11-26 11:22:52 +0100 <Guest60>     Actual: Parser CompileOptions"
2022-11-26 11:22:52 +0100 <Guest60> My expectation is that CompileOptions can be a command, but I am probably not constructing the type correctly.
2022-11-26 11:23:01 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-11-26 11:24:01 +0100 <Guest60> How do I construct a `Compile CompileOptions` that can satisfy the `Command` type?
2022-11-26 11:24:07 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-11-26 11:24:39 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-11-26 11:25:40 +0100 <Vq> Compile :: CompileOptions -> Command
2022-11-26 11:26:00 +0100 <Vq> fmap :: (a -> b) -> Parser a -> Parser b
2022-11-26 11:26:19 +0100 <Vq> fmap Compile :: Parser CompileOptions -> Parser Command
2022-11-26 11:27:49 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-11-26 11:27:53 +0100manwithluck(~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-26 11:28:13 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 11:29:10 +0100 <Guest60> I'm not sure I fully understand
2022-11-26 11:29:13 +0100michalz(~michalz@185.246.207.203)
2022-11-26 11:29:45 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-26 11:30:17 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-11-26 11:31:02 +0100 <Vq> You have a parser for a CompileOptions, right?
2022-11-26 11:31:06 +0100money_(~Gambino@user/polo)
2022-11-26 11:32:01 +0100 <Guest60> yep
2022-11-26 11:32:48 +0100 <Vq> pCompileOptions :: Parser CompileOptions
2022-11-26 11:33:43 +0100 <Vq> To turn that into a Parser for Command's you can use the (fmap Compile) function
2022-11-26 11:33:44 +0100biberu(~biberu@user/biberu)
2022-11-26 11:33:48 +0100 <[exa]> albet70: `catch` is okay and `bracket` might be useful too
2022-11-26 11:33:59 +0100 <Vq> fmap Compile pCompileOptions :: Parser Command
2022-11-26 11:35:48 +0100 <Vq> I'm assuming here that your Parser is a Functor, if it isn't and this is some sort of school example Parser, I recommend writing the equivalent function.
2022-11-26 11:36:01 +0100 <Vq> pmap :: (a -> b) -> Parser a -> Parser b
2022-11-26 11:36:02 +0100Lycurgus(~juan@user/Lycurgus)
2022-11-26 11:36:34 +0100 <Guest60> ah I see, Compile is the constructor for Command which required the options type to construct
2022-11-26 11:36:50 +0100 <Guest60> so fmap applies the constructor to the options functor, is this correct?
2022-11-26 11:37:00 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2022-11-26 11:37:28 +0100 <Vq> No, the functor is the one for Parser.
2022-11-26 11:38:46 +0100 <Vq> And as far as fmap is concerned, Compile is just a function (with the type: CompileOptions -> Command).
2022-11-26 11:39:14 +0100 <Vq> There is also a very handy alias for fmap called <$>
2022-11-26 11:39:59 +0100 <Vq> pMergeDataOption :: Parser MergeData
2022-11-26 11:40:11 +0100 <Vq> pCompileOptions :: Parser CompileOptions
2022-11-26 11:40:17 +0100 <Vq> pCommand :: Parser Command
2022-11-26 11:40:25 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-26 11:40:25 +0100 <Guest60> okay yes, this is making sense to me now
2022-11-26 11:40:52 +0100 <Guest60> understanding Compile as being CompileOptions -> Command was the missing link in my understanding
2022-11-26 11:40:53 +0100 <Guest60> thank you
2022-11-26 11:40:54 +0100 <Vq> pCommand = MergeData <$> pMergeDataOption <|> Compile <$> pCompileOptions
2022-11-26 11:41:15 +0100 <Vq> You're welcome
2022-11-26 11:41:32 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-11-26 11:42:51 +0100money_(~Gambino@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-11-26 11:46:56 +0100nate4(~nate@98.45.169.16)
2022-11-26 11:49:28 +0100son0p(~ff@2604:3d08:5b7f:5540::ebf0) (Ping timeout: 260 seconds)
2022-11-26 11:49:59 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds)
2022-11-26 11:50:24 +0100foul_owl(~kerry@174-21-75-230.tukw.qwest.net) (Ping timeout: 260 seconds)
2022-11-26 11:51:48 +0100nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-11-26 11:55:47 +0100king_gs1(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-26 11:55:49 +0100king_gs(~Thunderbi@187.201.139.206) (Read error: Connection reset by peer)
2022-11-26 11:55:49 +0100king_gs1king_gs
2022-11-26 12:01:12 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5)
2022-11-26 12:02:59 +0100Inst_Inst
2022-11-26 12:05:56 +0100foul_owl(~kerry@157.97.134.156)
2022-11-26 12:06:50 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a)
2022-11-26 12:07:47 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a) (Remote host closed the connection)
2022-11-26 12:09:21 +0100manwithluck(~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-26 12:09:41 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 12:10:23 +0100 <albet70> why there's Data.Text.Lazy and Data.Text? String Text ByteString [Char8] is already mixed up
2022-11-26 12:11:33 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a)
2022-11-26 12:11:39 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a) (Remote host closed the connection)
2022-11-26 12:14:00 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a)
2022-11-26 12:15:40 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 265 seconds)
2022-11-26 12:15:55 +0100manwithluck(~manwithlu@194.177.28.176) (Remote host closed the connection)
2022-11-26 12:16:18 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 12:17:26 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 12:18:53 +0100heisenbe_(~heisenber@112.151.244.175)
2022-11-26 12:19:02 +0100heisenbe_(~heisenber@112.151.244.175) (Remote host closed the connection)
2022-11-26 12:20:30 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Ping timeout: 265 seconds)
2022-11-26 12:21:33 +0100heisenberg2(~heisenber@2a09:bac1:3f60::16:19a) (Ping timeout: 260 seconds)
2022-11-26 12:23:29 +0100heisenberg2(~heisenber@112.151.244.175)
2022-11-26 12:23:55 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-11-26 12:25:38 +0100acidjnk_new(~acidjnk@p200300d6e7137a87b092dbda3219496e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-26 12:26:47 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 265 seconds)
2022-11-26 12:31:30 +0100Guest60(~Guest60@101.98.118.246) (Quit: Client closed)
2022-11-26 12:33:03 +0100merijn(~merijn@86.86.29.250)
2022-11-26 12:37:30 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 12:37:53 +0100merijn(~merijn@86.86.29.250) (Ping timeout: 260 seconds)
2022-11-26 12:38:36 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 12:43:43 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-26 12:44:10 +0100 <davean> because it has fundimentally different properties
2022-11-26 12:44:14 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-26 12:44:19 +0100 <davean> Programming is all about making good choices
2022-11-26 12:44:33 +0100 <davean> If you didn't have both you'd end up writing both yourself
2022-11-26 12:45:19 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-11-26 12:45:29 +0100shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-11-26 12:45:36 +0100buhman(sid411355@user/buhman)
2022-11-26 12:46:38 +0100Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 260 seconds)
2022-11-26 12:49:15 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 12:49:55 +0100 <buhman> I'm running ghc on aarch64, and I think my toolchain is broken but I'm not sure how to fix it. ghci appears to be ok, but when I run `ghc foo.hs` for any possible haskell source, I get linking errors for __aarch64_cas8_sync, __aarch64_ldset1_sync, __aarch64_ldadd4_sync, and many other compiler intrinsics.
2022-11-26 12:50:51 +0100Neuromancer(~Neuromanc@user/neuromancer)
2022-11-26 12:53:03 +0100 <[exa]> albet70: the lazy variant doubles as stringbuilder, stream, and many other things; the strict variant is for storing stuff efficiently (same for ByteString)
2022-11-26 12:53:40 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 12:53:43 +0100 <buhman> my libgcc.a also doesn't have these *_sync intrinsics, only _relax, _acq, _rel, and _acq_rel
2022-11-26 12:54:45 +0100 <[exa]> buhman: I thought the intrinsics always need to be managed by the compiler somehow to translate to actual assembly, (I don't think that linking assembly instructions would be a good option)
2022-11-26 12:54:50 +0100 <[exa]> (glibc syscalls aside ofc.)
2022-11-26 12:55:16 +0100 <[exa]> buhman: check out if there's a header file that has these instructions inside, there might be documentation around
2022-11-26 12:56:08 +0100 <[exa]> buhman: also make super sure you have the proper CPU flags enabled in ALL compile stages (no idea about aarch but when forgetting CPU flags in certain stages of a pipeline with say avx, you get a pretty similar kind of error)
2022-11-26 12:56:10 +0100 <buhman> I'm not sure why ghc is trying to link these to begin with--as far as I'm aware my toolchain is non-borked from the perspective of everything else that uses it.
2022-11-26 12:56:49 +0100 <[exa]> can you make a debug output of what and how it is thinking that generates the errors?
2022-11-26 12:57:04 +0100 <[exa]> e.g. an actual `ld` command, if there's one (I hope there's one on aarch)
2022-11-26 12:57:32 +0100 <buhman> what output do you want?
2022-11-26 13:07:31 +0100jinsl-(~jinsl@123.120.168.177) (Quit: ZNC - https://znc.in)
2022-11-26 13:07:43 +0100jinsl(~jinsl@2408:8207:2559:28e0:211:32ff:fec8:6aea)
2022-11-26 13:09:00 +0100euandreh(~Thunderbi@179.214.113.107) (Quit: euandreh)
2022-11-26 13:09:18 +0100 <[exa]> well I'd start with finding the actual arguments that it's passing to the linker
2022-11-26 13:10:16 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-26 13:10:35 +0100euandreh(~Thunderbi@179.214.113.107) (Client Quit)
2022-11-26 13:11:23 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-26 13:13:50 +0100euandreh(~Thunderbi@179.214.113.107) (Remote host closed the connection)
2022-11-26 13:14:08 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-26 13:20:44 +0100euandreh(~Thunderbi@179.214.113.107) (Quit: euandreh)
2022-11-26 13:29:40 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 13:31:10 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 13:31:30 +0100 <buhman> it's specifically the functions from https://github.com/ghc/ghc/blob/master/libraries/ghc-prim/cbits/atomic.c that are broken
2022-11-26 13:33:40 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 13:35:38 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 13:36:08 +0100acidjnk_new(~acidjnk@p200300d6e7137a87b092dbda3219496e.dip0.t-ipconnect.de)
2022-11-26 13:36:20 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 13:38:01 +0100 <[exa]> buhman: ok well, there's nothing fishy in there. It might be time to visit #ghc
2022-11-26 13:44:08 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 13:45:15 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 13:45:48 +0100Guest|85(~Guest|85@161.230.224.118)
2022-11-26 13:45:53 +0100 <Guest|85> hey
2022-11-26 13:46:01 +0100 <Guest|85> i need help installing GHCUp
2022-11-26 13:46:12 +0100 <[exa]> hello
2022-11-26 13:46:17 +0100 <[exa]> what's the problem
2022-11-26 13:46:20 +0100 <Guest|85> i have an exam on monday and i really need to install haskell
2022-11-26 13:46:37 +0100 <Guest|85> i don´t really know what is the problem
2022-11-26 13:46:51 +0100 <Guest|85> everytime i try to install GHCup
2022-11-26 13:46:59 +0100 <Guest|85> it says "error"
2022-11-26 13:47:09 +0100 <[exa]> any details on what the error is
2022-11-26 13:47:18 +0100 <Guest|85> yeah wait i can show u
2022-11-26 13:47:40 +0100 <[exa]> if there's a (longer) text description please use a pastebin
2022-11-26 13:49:42 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-26 13:50:05 +0100 <Guest|85> ugh i cant show u
2022-11-26 13:50:07 +0100 <Guest|85> idk why
2022-11-26 13:50:13 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd)
2022-11-26 13:50:35 +0100 <mauke> ...
2022-11-26 13:50:59 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-26 13:51:17 +0100 <[exa]> Guest|85: is the exam a haskell exam?
2022-11-26 13:51:47 +0100 <Guest|85> yes
2022-11-26 13:52:11 +0100 <[exa]> that's gonna be a tough sunday I guess.
2022-11-26 13:52:27 +0100 <Guest|85> omg i cant show u the error
2022-11-26 13:52:33 +0100 <Guest|85> i am freaking out
2022-11-26 13:52:36 +0100 <[exa]> re ghcup, how did you start the installation and what did it do?
2022-11-26 13:52:39 +0100 <mauke> define "can't"
2022-11-26 13:52:48 +0100 <Guest|85> there´s always an error
2022-11-26 13:52:51 +0100 <[exa]> I guess you copypasted the command from the website into powershell or something?
2022-11-26 13:52:55 +0100 <mauke> do your fingers refuse to obey your orders?
2022-11-26 13:53:04 +0100 <Guest|85> yes
2022-11-26 13:53:12 +0100 <Guest|85> i did that in the powershell
2022-11-26 13:53:19 +0100 <Guest|85> and i eliminate all my antivirus
2022-11-26 13:53:19 +0100 <[exa]> does the error say anything about curl?
2022-11-26 13:53:34 +0100 <Guest|85> Exec: Error executing command C:\\ghcup\msys64\msys2_shell.cmd with arguments '-mingw64 -mintty -c export
2022-11-26 13:53:35 +0100 <Guest|85> BOOTSTRAP_HASKELL_NONINTERACTIVE=1 ; export BOOTSTRAP_HASKELL_INSTALL_HLS=1 ; export
2022-11-26 13:53:47 +0100 <Guest|85> BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=1 ; [ -n 'C:\\ghcup\msys64' ] && export GHCUP_MSYS2=$(cygpath -m
2022-11-26 13:53:48 +0100 <Guest|85> 'C:\\ghcup\msys64') ; [ -n 'C:\' ] && export GHCUP_INSTALL_BASE_PREFIX=$(cygpath -m 'C:\/') ; export PATH=$(cygpath -u
2022-11-26 13:53:48 +0100 <Guest|85> 'C:\\ghcup/bin'):$PATH ; export CABAL_DIR='C:\cabal' ; trap 'echo Press any key to exit && read -n 1 && exit' 2 ; [[
2022-11-26 13:53:59 +0100 <Guest|85> 'https://www.haskell.org/ghcup/sh/bootstrap-haskell' = https* ]] && curl --proto '=https' --tlsv1.2 -sSf
2022-11-26 13:54:00 +0100 <Guest|85> https://www.haskell.org/ghcup/sh/bootstrap-haskell | bash || cat $(cygpath -m
2022-11-26 13:54:00 +0100 <Guest|85> 'https://www.haskell.org/ghcup/sh/bootstrap-haskell') | bash ; echo 'Press any key to exit' && read -n 1'
2022-11-26 13:54:01 +0100 <Guest|85> At line:172 char:11
2022-11-26 13:54:03 +0100 <[exa]> ok that's a powershell issue
2022-11-26 13:54:11 +0100 <[exa]> also please do use pastebin for more than 1 line of code
2022-11-26 13:54:25 +0100 <[exa]> do you have WSL2 ?
2022-11-26 13:54:27 +0100 <Guest|85> At line:172 char:11
2022-11-26 13:54:27 +0100 <Guest|85> + throw ('Exec: Error executing command {0} with arguments '' ...
2022-11-26 13:54:28 +0100 <Guest|85> + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-11-26 13:54:28 +0100 <Guest|85>     + CategoryInfo : OperationStopped: (Exec: Error exe...' && read -n 1':String) [], RuntimeException
2022-11-26 13:54:29 +0100 <Guest|85>     + FullyQualifiedErrorId : Exec: Error executing command C:\\ghcup\msys64\msys2_shell.cmd with arguments '-mingw64
2022-11-26 13:54:40 +0100 <mauke> oh no, it's still going
2022-11-26 13:54:41 +0100 <Guest|85>  -mintty -c export BOOTSTRAP_HASKELL_NONINTERACTIVE=1 ; export BOOTSTRAP_HASKELL_INSTALL_HLS=1 ; export BOOTSTRAP_
2022-11-26 13:54:41 +0100 <Guest|85>   HASKELL_ADJUST_CABAL_CONFIG=1 ; [ -n 'C:\\ghcup\msys64' ] && export GHCUP_MSYS2=$(cygpath -m 'C:\\ghcup\msys64')
2022-11-26 13:54:42 +0100 <Guest|85>   ; [ -n 'C:\' ] && export GHCUP_INSTALL_BASE_PREFIX=$(cygpath -m 'C:\/') ; export PATH=$(cygpath -u 'C:\\ghcup/bin
2022-11-26 13:54:52 +0100 <Guest|85> w.haskell.org/ghcup/sh/bootstrap-haskell' = https* ]] && curl --proto '=https' --tlsv1.2 -sSf https://www.haskell
2022-11-26 13:54:53 +0100 <Guest|85> .org/ghcup/sh/bootstrap-haskell | bash || cat $(cygpath -m 'https://www.haskell.org/ghcup/sh/bootstrap-haskell') |
2022-11-26 13:54:53 +0100 <Guest|85> bash ; echo 'Press any key to exit' && read -n 1'
2022-11-26 13:54:54 +0100 <[exa]> Guest|85: take care with the copypaste, you may get kicked
2022-11-26 13:55:00 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd) (Ping timeout: 260 seconds)
2022-11-26 13:55:04 +0100 <Guest|85> ohhh ok
2022-11-26 13:55:07 +0100 <mauke> https://paste.tomsmeding.com
2022-11-26 13:55:13 +0100 <[exa]> anyway yeah that's a powershell issue most likely
2022-11-26 13:55:18 +0100 <Guest|85> soooo what do i do?
2022-11-26 13:55:18 +0100money_(~money@user/polo)
2022-11-26 13:55:24 +0100 <[exa]> do you have WSL2 ?
2022-11-26 13:55:29 +0100 <Guest|85> idk
2022-11-26 13:55:32 +0100 <Guest|85> let me see
2022-11-26 13:55:33 +0100 <[exa]> do you have docker?
2022-11-26 13:55:50 +0100 <Guest|85> no
2022-11-26 13:55:55 +0100 <[exa]> ghcup works in WSL2 (it might even on raw windows but I wouldn't bet too much)
2022-11-26 13:55:58 +0100 <Guest|85> i dont have any of this
2022-11-26 13:56:09 +0100 <Guest|85> soooo i install that?
2022-11-26 13:56:18 +0100 <[exa]> if not you can try docker and just running haskell from docker, that usually helps a lot
2022-11-26 13:56:25 +0100 <maerwald[m]> No
2022-11-26 13:56:34 +0100 <maerwald[m]> ghcup works on plain windows too
2022-11-26 13:56:48 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 13:56:49 +0100 <[exa]> anyway, given you're probably gonna try only exam-level haskell, you should be pretty much okay with just normal ghc+ghci
2022-11-26 13:57:08 +0100 <Guest|85> yeah i need that
2022-11-26 13:57:14 +0100 <[exa]> maerwald[m]: any guess on what's that error then? (from the many people asking here I kinda assumed it doesn't :D )
2022-11-26 13:57:39 +0100 <Guest|85> i need GHC and HLS
2022-11-26 13:57:43 +0100 <[exa]> Guest|85: this should work then https://www.haskell.org/ghc/download_ghc_9_4_3.html#windows64
2022-11-26 13:57:46 +0100 <[exa]> but no HLS
2022-11-26 13:57:54 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 13:57:57 +0100Guest56(~Guest56@68.41.170.234)
2022-11-26 13:58:22 +0100son0p(~ff@2604:3d08:5b7f:5540::7913)
2022-11-26 13:58:22 +0100 <maerwald[m]> Could be that msys2 devs busted the distribution
2022-11-26 13:58:32 +0100 <maerwald[m]> Not the first time
2022-11-26 13:58:48 +0100Guest56bluephones
2022-11-26 13:59:08 +0100 <Guest|85> ok i am trying that link
2022-11-26 13:59:14 +0100 <Guest|85> i am soooo nervous
2022-11-26 13:59:22 +0100 <Guest|85> cause i don´t like this
2022-11-26 13:59:33 +0100 <Guest|85> and this a torture for me
2022-11-26 13:59:35 +0100 <maerwald[m]> I guess I could write up a guide for manual setup on windows
2022-11-26 13:59:35 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 265 seconds)
2022-11-26 13:59:43 +0100 <[exa]> maerwald[m]: please do
2022-11-26 13:59:51 +0100 <maerwald[m]> [exa]: "the many people"?
2022-11-26 14:00:20 +0100 <[exa]> I recall like 4 with random undecipherable error from powershell in the last ~month
2022-11-26 14:00:30 +0100 <[exa]> and I'm usually missing the channel peak so I'd say more
2022-11-26 14:00:53 +0100 <maerwald[m]> 4 per month is many? Lol
2022-11-26 14:01:10 +0100manwithluck(~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-26 14:01:16 +0100 <[exa]> 4 unsolvable problems a month is bad :D
2022-11-26 14:01:29 +0100 <[exa]> otherwise we solve everything!! :D
2022-11-26 14:01:33 +0100 <maerwald[m]> Uhu
2022-11-26 14:02:02 +0100 <[exa]> ok nvm I might also be veeeeery slightly biased towards powershell
2022-11-26 14:02:39 +0100 <maerwald[m]> If they have a working bash shell, that might already be enough
2022-11-26 14:02:46 +0100 <Guest|85> ok sooooo i installed that
2022-11-26 14:02:50 +0100 <maerwald[m]> To execute the "linux" command there
2022-11-26 14:02:51 +0100 <Guest|85> and what now?
2022-11-26 14:02:55 +0100razetime(~quassel@117.193.7.225)
2022-11-26 14:03:15 +0100 <[exa]> Guest|85: you might have something like "GHCi" in the start menu or so now
2022-11-26 14:03:30 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 14:03:45 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-26 14:03:49 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-11-26 14:03:57 +0100 <Guest|85> yeah a GHC
2022-11-26 14:04:42 +0100 <maerwald[m]> GHC without msys2 shell won't help them much
2022-11-26 14:04:51 +0100 <maerwald[m]> And cabal needs to know about it too
2022-11-26 14:04:57 +0100heisenberg2(~heisenber@112.151.244.175) (Remote host closed the connection)
2022-11-26 14:05:06 +0100 <[exa]> generally you should either get a workign terminal command "ghc" that allows you to simply compile haskell programs into executables and try them, or "ghci" that is an interpreter that you just type the code into and it executes
2022-11-26 14:05:15 +0100 <[exa]> maerwald[m]: it's for an exam on monday
2022-11-26 14:05:22 +0100 <[exa]> no software engineering now. :D
2022-11-26 14:05:32 +0100heisenberg2(~heisenber@112.151.244.175)
2022-11-26 14:06:33 +0100bluephones(~Guest56@68.41.170.234) (Ping timeout: 260 seconds)
2022-11-26 14:07:42 +0100 <maerwald[m]> [exa]: you can't install any package that requires configure
2022-11-26 14:08:06 +0100 <maerwald[m]> Like time
2022-11-26 14:08:07 +0100 <maerwald[m]> Good luck
2022-11-26 14:08:17 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2022-11-26 14:08:27 +0100raym(~ray@user/raym) (Read error: Connection timed out)
2022-11-26 14:08:57 +0100 <[exa]> maerwald[m]: unlikely to be required for a uni course
2022-11-26 14:10:05 +0100bluephones(main@gateway/vpn/protonvpn/bluephones)
2022-11-26 14:10:12 +0100 <[exa]> Guest|85: hey one thing that might help; if local installation fails checkout replit.com, they apparently support haskell now
2022-11-26 14:10:58 +0100 <maerwald[m]> [exa]: I don't share your confidence
2022-11-26 14:12:34 +0100 <[exa]> whew replit actually looks pretty cool now
2022-11-26 14:12:35 +0100raym(~ray@user/raym)
2022-11-26 14:12:54 +0100 <[exa]> maerwald[m]: it's a highly probable guess tbh. :D
2022-11-26 14:16:07 +0100 <Guest|85> ohhh yeah
2022-11-26 14:16:12 +0100 <Guest|85> replic is working ig
2022-11-26 14:16:22 +0100 <Guest|85> but i still have to install what my teacher said
2022-11-26 14:16:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-11-26 14:17:28 +0100razetime(~quassel@117.193.7.225) (Ping timeout: 265 seconds)
2022-11-26 14:18:30 +0100 <mauke> what's the assignment?
2022-11-26 14:20:35 +0100Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 264 seconds)
2022-11-26 14:21:02 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-11-26 14:21:47 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 264 seconds)
2022-11-26 14:23:03 +0100alfonsox(~quassel@103.87.57.74)
2022-11-26 14:24:38 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 14:24:54 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 14:25:30 +0100razetime(~quassel@117.193.7.178)
2022-11-26 14:27:24 +0100hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Quit: Leaving)
2022-11-26 14:32:20 +0100thyriaen(~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1)
2022-11-26 14:33:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-26 14:33:44 +0100shailangsa(~shailangs@host109-159-108-137.range109-159.btcentralplus.com) (Ping timeout: 260 seconds)
2022-11-26 14:35:22 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 256 seconds)
2022-11-26 14:36:15 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 14:45:29 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 14:46:57 +0100money_(~money@user/polo) (Remote host closed the connection)
2022-11-26 14:48:55 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-26 14:49:29 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 14:50:08 +0100moneyGuest7618
2022-11-26 14:50:08 +0100Guest7618(money@user/polo) (Killed (cadmium.libera.chat (Nickname regained by services)))
2022-11-26 14:50:39 +0100MONEY(~money@user/polo)
2022-11-26 14:51:23 +0100darchitect(~darchitec@2a00:23c6:3584:df01:4d17:eb7b:88d1:aa1d)
2022-11-26 14:57:47 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-11-26 15:00:58 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 265 seconds)
2022-11-26 15:02:25 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 15:04:23 +0100merijn(~merijn@86.86.29.250)
2022-11-26 15:06:22 +0100random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-11-26 15:07:28 +0100MONEY(~money@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-11-26 15:09:33 +0100merijn(~merijn@86.86.29.250) (Ping timeout: 260 seconds)
2022-11-26 15:10:08 +0100alfonsox(~quassel@103.87.57.74) (Read error: Connection reset by peer)
2022-11-26 15:11:36 +0100mei(~mei@user/mei) (Ping timeout: 265 seconds)
2022-11-26 15:13:38 +0100acidjnk_new(~acidjnk@p200300d6e7137a87b092dbda3219496e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-26 15:13:39 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) (Read error: Connection reset by peer)
2022-11-26 15:14:07 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-11-26 15:16:23 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Ping timeout: 264 seconds)
2022-11-26 15:17:14 +0100money(Guest7618@user/polo)
2022-11-26 15:29:02 +0100 <Digit> random in Haskell? how?
2022-11-26 15:29:02 +0100 <Digit> looking for inspiration where/how to get a "random" in haskell... like a random item from a list, like for a 8ball (so i can add that to my existing haskell bots, and not load a whole supybot just for that)
2022-11-26 15:29:22 +0100mei(~mei@user/mei)
2022-11-26 15:30:10 +0100 <thyriaen> Digit, is this what you are looking for ? https://hackage.haskell.org/package/random-1.2.1.1/docs/System-Random.html
2022-11-26 15:35:31 +0100 <[exa]> Digit: you might get very philosophical on how to get anything random in computers, usually we settle for pseudorandomness
2022-11-26 15:36:58 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 15:38:01 +0100sammelweis__(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 15:39:20 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2022-11-26 15:41:13 +0100 <Guest|85> i think i got it
2022-11-26 15:41:17 +0100Guest|85(~Guest|85@161.230.224.118) (Quit: Connection closed)
2022-11-26 15:42:15 +0100 <mauke> :t randomIO
2022-11-26 15:42:16 +0100 <lambdabot> (Random a, MonadIO m) => m a
2022-11-26 15:44:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-26 15:47:53 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-26 15:48:30 +0100nate4(~nate@98.45.169.16)
2022-11-26 15:48:45 +0100sammelweis__(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 15:48:53 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 15:53:39 +0100nate4(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-11-26 15:53:54 +0100shailangsa(~shailangs@host86-186-177-178.range86-186.btcentralplus.com)
2022-11-26 15:54:13 +0100jespada(~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
2022-11-26 15:57:36 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-11-26 15:58:20 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d)
2022-11-26 16:03:00 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb)
2022-11-26 16:03:16 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb) (Client Quit)
2022-11-26 16:03:34 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-11-26 16:06:43 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 16:15:44 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 16:19:04 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 256 seconds)
2022-11-26 16:19:39 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 16:20:55 +0100chomwitt(~chomwitt@2a02:587:7a0d:dd00:1ac0:4dff:fedb:a3f1)
2022-11-26 16:22:32 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 16:26:48 +0100ddellacosta(~ddellacos@143.244.47.82)
2022-11-26 16:27:06 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
2022-11-26 16:28:24 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 16:31:21 +0100razetime(~quassel@117.193.7.178) (Ping timeout: 268 seconds)
2022-11-26 16:39:11 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-11-26 16:40:28 +0100razetime(~quassel@117.193.3.220)
2022-11-26 16:45:25 +0100Maeda(~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving)
2022-11-26 16:46:53 +0100Maeda(~Maeda@91-161-10-149.subs.proxad.net)
2022-11-26 16:48:00 +0100acidjnk_new(~acidjnk@p200300d6e7137a80e13694882987f228.dip0.t-ipconnect.de)
2022-11-26 16:49:25 +0100gnawzie(~normie@222-0-178-69.static.gci.net)
2022-11-26 16:49:30 +0100 <gnawzie> hello
2022-11-26 16:50:41 +0100 <gnawzie> learning more about pattern matching, is it possible for a string "10x10x10" to be broken up with (w:'x':h:'x':l) or do I have to parse another way?
2022-11-26 16:51:51 +0100 <gnawzie> it appears to be only taking one char for w and h and the remainder goes to l so I might have to find another way
2022-11-26 16:52:15 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-11-26 16:53:34 +0100razetime_(~quassel@117.254.34.27)
2022-11-26 16:53:35 +0100razetime(~quassel@117.193.3.220) (Ping timeout: 264 seconds)
2022-11-26 16:53:48 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd)
2022-11-26 16:54:32 +0100 <[exa]> gnawzie: not really, you'd need to do something like w1:w2:'x':..., which is probably not what you want
2022-11-26 16:55:30 +0100 <[exa]> gnawzie: on the other hand this can be easily split into a few lists using standard functions (see the `split` package)
2022-11-26 16:57:02 +0100 <gnawzie> thank you, I also see 'splitOn' but I don't know if that's any good
2022-11-26 16:57:38 +0100 <[exa]> yeah that could work, wordsOn, splitBy, ... many almost-synonyms of the splitting thing
2022-11-26 16:58:10 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd) (Ping timeout: 256 seconds)
2022-11-26 16:59:32 +0100 <[exa]> as a pretty good exercise I'd suggest trying to implement your own version with `span`, something like: mysplit str = case span (/= 'x') str of (num, 'x':rest) -> ???; (num, "") -> ???
2022-11-26 17:02:09 +0100nate4(~nate@98.45.169.16)
2022-11-26 17:07:59 +0100heisenberg2(~heisenber@112.151.244.175) (Ping timeout: 264 seconds)
2022-11-26 17:12:27 +0100 <gnawzie> thanks for that exercise [exa] I got it
2022-11-26 17:17:29 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-11-26 17:20:29 +0100zebrag(~chris@user/zebrag)
2022-11-26 17:24:32 +0100heisenberg2(~heisenber@112.151.244.175)
2022-11-26 17:24:48 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-26 17:28:02 +0100sammelweis__(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 17:29:09 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
2022-11-26 17:29:51 +0100 <jean-paul[m]> Parser combinators are really great though, and worth learning.
2022-11-26 17:35:32 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 17:38:07 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-11-26 17:38:28 +0100sammelweis__(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 17:39:42 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-26 17:39:43 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 17:59:39 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-26 17:59:39 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-26 17:59:39 +0100wroathe(~wroathe@user/wroathe)
2022-11-26 18:01:59 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 264 seconds)
2022-11-26 18:02:01 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-11-26 18:04:38 +0100heisenberg2(~heisenber@112.151.244.175) (Ping timeout: 265 seconds)
2022-11-26 18:05:05 +0100nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-11-26 18:06:57 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-26 18:09:55 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 18:10:03 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 18:10:23 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-11-26 18:12:07 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-11-26 18:14:20 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds)
2022-11-26 18:15:37 +0100razetime_(~quassel@117.254.34.27) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-11-26 18:19:18 +0100heisenberg2(~heisenber@112.151.244.175)
2022-11-26 18:20:09 +0100mestre(~mestre@191.177.185.178)
2022-11-26 18:22:36 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 256 seconds)
2022-11-26 18:23:56 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 18:25:26 +0100acidjnk_new(~acidjnk@p200300d6e7137a80e13694882987f228.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-11-26 18:27:05 +0100srz(~srz@179.36.96.129)
2022-11-26 18:28:53 +0100srz_(~srz@181.228.49.93)
2022-11-26 18:29:47 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:926:4196:430e:b1cd)
2022-11-26 18:30:44 +0100ubert(~Thunderbi@77.119.195.101.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2022-11-26 18:30:50 +0100ub(~Thunderbi@178.165.164.59.wireless.dyn.drei.com)
2022-11-26 18:31:59 +0100srz(~srz@179.36.96.129) (Ping timeout: 264 seconds)
2022-11-26 18:33:06 +0100acidjnk_new(~acidjnk@p200300d6e7137a80354abfa64dc17828.dip0.t-ipconnect.de)
2022-11-26 18:33:07 +0100ububert
2022-11-26 18:33:55 +0100pyrex(~pyrex@user/pyrex)
2022-11-26 18:37:52 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-11-26 18:38:29 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 18:38:29 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-11-26 18:38:29 +0100finn_elijaFinnElija
2022-11-26 18:40:58 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 18:42:12 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 18:43:23 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-11-26 18:45:32 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 18:46:34 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-11-26 18:46:34 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer)
2022-11-26 18:46:34 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-26 18:47:03 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 18:47:09 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-26 18:47:10 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-26 18:48:54 +0100econo(uid147250@user/econo)
2022-11-26 18:55:25 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 18:55:36 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 18:58:41 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-26 18:59:22 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-26 19:00:03 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-26 19:06:05 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 19:07:22 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 256 seconds)
2022-11-26 19:07:49 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 19:08:49 +0100 <hippoid> i'm trying to understand how do notation is related to list comprehensions, with the common element being generators. anyone have a good resource for this?
2022-11-26 19:08:53 +0100mei_(~mei@user/mei)
2022-11-26 19:11:23 +0100 <monochrom> https://homepages.inf.ed.ac.uk/wadler/topics/monads.html#monads (comprehending monads)
2022-11-26 19:11:38 +0100 <monochrom> But it can be a one-line example.
2022-11-26 19:12:18 +0100 <monochrom> do { x<-foo; y<-bar; return qax } = [qax | x<-foo, y<-bar]
2022-11-26 19:12:47 +0100mei(~mei@user/mei) (Ping timeout: 264 seconds)
2022-11-26 19:13:30 +0100 <monochrom> In GHC, you can turn on MonadComprehension and use comprehension syntax for any monad, not just [].
2022-11-26 19:14:02 +0100 <hippoid> in the left hand side of the example, where is qax defined?
2022-11-26 19:14:20 +0100 <c_wraith> same places foo and bar are defined
2022-11-26 19:14:21 +0100 <monochrom> [() | putStrLn "Hello what's your name", x<-getLine, putStrLn ("Hello " ++ x)]
2022-11-26 19:14:58 +0100 <monochrom> In the right hand side, where is qax defined?
2022-11-26 19:15:06 +0100 <hippoid> ok, so they're all free variables?
2022-11-26 19:15:21 +0100 <monochrom> No, they are metavariables for any expression you like.
2022-11-26 19:15:21 +0100 <c_wraith> > do { x <- [1..3]; y <- [5..7] ; return (x + y) }
2022-11-26 19:15:24 +0100 <lambdabot> [6,7,8,7,8,9,8,9,10]
2022-11-26 19:15:41 +0100 <c_wraith> that do expression probably looks a lot like a list comprehension
2022-11-26 19:16:09 +0100 <monochrom> Indeed, bar may contain x, qax may contain x and y, and things from outside.
2022-11-26 19:16:28 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-26 19:17:08 +0100 <monochrom> Even x and y may not be simply variables, they can be arbitrary patterns.
2022-11-26 19:17:13 +0100causal(~user@50.35.83.177)
2022-11-26 19:17:37 +0100 <monochrom> I write "do{ x1:x2:_ <- getArgs ..." all the time.
2022-11-26 19:17:46 +0100 <hippoid> what is the do equivalent of something like `[(x, y) | x<-[1..3], y<-[x..4]]`
2022-11-26 19:17:56 +0100 <c_wraith> hippoid: look at my example
2022-11-26 19:18:06 +0100 <monochrom> Your turn to do that as an exercise for the reader?
2022-11-26 19:18:27 +0100 <c_wraith> I mean, my example basically is that. different ranges, different operation, but the structure is identical
2022-11-26 19:18:50 +0100 <monochrom> [1..3] is foo, [x..4] is bar, (x,y) is qax, no? Just plug and chug, no?
2022-11-26 19:18:57 +0100 <monochrom> "Do not think."
2022-11-26 19:19:07 +0100 <monochrom> There is nothing to understand.
2022-11-26 19:20:04 +0100 <hippoid> > do { x <- [1..3]; y <- [x..4] ; return (x, y) }
2022-11-26 19:20:06 +0100 <lambdabot> [(1,1),(1,2),(1,3),(1,4),(2,2),(2,3),(2,4),(3,3),(3,4)]
2022-11-26 19:20:16 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2022-11-26 19:20:25 +0100 <hippoid> interesting stuff. thanks for the lesson!
2022-11-26 19:23:25 +0100 <monochrom> (I have turned on MonadComprehensions on yahb2. So...)
2022-11-26 19:23:35 +0100cheater(~Username@user/cheater) (Quit: (BitchX) He-Man uses BitchX. *HE HAS THE POOWWEEEEEEEEEERRRRRRRR!!!!!*)
2022-11-26 19:23:50 +0100 <gnawzie> trying to find the two smallest numbers in a list of 3 seems difficult unless I should use sort
2022-11-26 19:23:55 +0100 <monochrom> % [() | _<- putStrLn "Hello"]
2022-11-26 19:23:55 +0100 <yahb2> Hello
2022-11-26 19:23:57 +0100 <monochrom> :)
2022-11-26 19:24:17 +0100 <monochrom> s/difficult/tedious/
2022-11-26 19:24:28 +0100 <monochrom> I'm lazy, I would use sort and be done.
2022-11-26 19:24:34 +0100 <c_wraith> gnawzie: you *can* do it without sorting. It's a lot like finding the minimum, but with a second accumulator.
2022-11-26 19:24:42 +0100drdo(~drdo@overlord.drdo.eu) (Quit: The Lounge - https://thelounge.chat)
2022-11-26 19:25:18 +0100drdo(~drdo@2a0b:b800:2:31e6::1)
2022-11-26 19:25:31 +0100 <monochrom> No, it's finding the maximum and discarding it. :)
2022-11-26 19:25:32 +0100cheater(~Username@user/cheater)
2022-11-26 19:26:46 +0100 <c_wraith> dunno, I've never written a function that works only lists of an exact length. :P
2022-11-26 19:27:02 +0100opticblast(~Thunderbi@2607:fb90:17d5:bf2b:77cb:753d:d116:5897)
2022-11-26 19:27:13 +0100 <gnawzie> i just did it as take 2 sort dim lol
2022-11-26 19:27:16 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-26 19:27:19 +0100 <monochrom> Me neither, but I'm math-nerding the problem in the abstract.
2022-11-26 19:27:32 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-26 19:27:58 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 19:28:21 +0100 <monochrom> "This problem is reducible to the minimum spanning tree problem" or something :)
2022-11-26 19:28:41 +0100 <c_wraith> minimum spanning trees are cool.
2022-11-26 19:28:53 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 19:28:56 +0100 <c_wraith> Rarely actually the correct answer in practice, but still cool.
2022-11-26 19:30:55 +0100 <c_wraith> The one time in college I was alert enough to join the ACM programming competition, one of the problems was calculating the weight of a minimum spanning tree of points on a globe. fun times!
2022-11-26 19:35:42 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 256 seconds)
2022-11-26 19:36:40 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 19:39:50 +0100 <hpc> i mean, with the right libraries that's often how you solve problems anyway
2022-11-26 19:40:04 +0100 <hpc> reduce something to SAT, exploit decades of work, then convert back to your problem domain
2022-11-26 19:40:13 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
2022-11-26 19:40:49 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2022-11-26 19:41:19 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 19:44:38 +0100caryhartline(~caryhartl@2600:1700:2d0:8d30:3991:2946:3701:6725) (Quit: caryhartline)
2022-11-26 19:45:39 +0100zant(~zant@62.214.20.26) (Ping timeout: 265 seconds)
2022-11-26 19:46:08 +0100acidjnk_new(~acidjnk@p200300d6e7137a80354abfa64dc17828.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2022-11-26 19:46:48 +0100 <xerox> :t \xs -> head $ do [[a,b,_]] <- groupBy (>=) <$> permutations xs; pure [a,b]
2022-11-26 19:46:49 +0100 <lambdabot> Ord a => [a] -> [a]
2022-11-26 19:51:03 +0100manwithluck(~manwithlu@194.177.28.176) (Read error: Connection reset by peer)
2022-11-26 19:51:43 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2022-11-26 19:51:47 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-11-26 19:52:17 +0100dsrt^(~dsrt@76.145.185.103)
2022-11-26 19:53:00 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 19:53:21 +0100gnawzie(~normie@222-0-178-69.static.gci.net) (Remote host closed the connection)
2022-11-26 19:54:41 +0100 <mauke> is take 2 . sort in O(1)?
2022-11-26 19:57:25 +0100 <Hecate> I wish I knew how to generate a graph that would tell me execution times for functions and plot it so I would see if it's linear or quadratic
2022-11-26 20:00:09 +0100ubert(~Thunderbi@178.165.164.59.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2022-11-26 20:00:47 +0100ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2022-11-26 20:01:14 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-11-26 20:01:26 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-11-26 20:01:27 +0100 <hpc> mauke: you need to fully sort the list to know what the first element is
2022-11-26 20:02:37 +0100 <hpc> at best, it's O(n)
2022-11-26 20:03:33 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-26 20:05:49 +0100 <mauke> uh
2022-11-26 20:05:55 +0100 <mauke> yeah, I meant O(n) :-)
2022-11-26 20:06:27 +0100bjourne2(~bjorn@94.191.152.34)
2022-11-26 20:07:18 +0100manwithluck(~manwithlu@194.177.28.176)
2022-11-26 20:12:44 +0100 <zzz> n
2022-11-26 20:12:51 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-11-26 20:15:57 +0100acidjnk_new(~acidjnk@p200300d6e7137a8088c1e7d0a73974c1.dip0.t-ipconnect.de)
2022-11-26 20:16:05 +0100random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-11-26 20:16:29 +0100opticblast1(~Thunderbi@172.58.86.28)
2022-11-26 20:18:12 +0100opticblast(~Thunderbi@2607:fb90:17d5:bf2b:77cb:753d:d116:5897) (Ping timeout: 256 seconds)
2022-11-26 20:18:12 +0100opticblast1opticblast
2022-11-26 20:29:27 +0100mei_(~mei@user/mei) (Remote host closed the connection)
2022-11-26 20:29:53 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 20:31:00 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 20:32:43 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-26 20:36:28 +0100zmt01(~zmt00@user/zmt00)
2022-11-26 20:36:37 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 20:38:02 +0100zmt00(~zmt00@user/zmt00) (Ping timeout: 256 seconds)
2022-11-26 20:43:35 +0100dsrt^(~dsrt@76.145.185.103) (Remote host closed the connection)
2022-11-26 20:48:40 +0100TomWesterhout[m](~twesterho@2001:470:69fc:105::1:2918)
2022-11-26 20:49:03 +0100heisenberg2(~heisenber@112.151.244.175) (Ping timeout: 260 seconds)
2022-11-26 20:51:31 +0100texasmynsted(~texasmyns@99.96.221.112)
2022-11-26 20:54:26 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
2022-11-26 20:55:40 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 20:56:20 +0100Sgeo(~Sgeo@user/sgeo)
2022-11-26 20:56:51 +0100Topsi(~Topsi@dialin-80-228-154-202.ewe-ip-backbone.de)
2022-11-26 20:59:18 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-26 20:59:35 +0100fostyr42(~fostyr@2607:fea8:c1e2:100::f7a3)
2022-11-26 21:01:12 +0100kenran(~user@user/kenran)
2022-11-26 21:01:59 +0100Topsi(~Topsi@dialin-80-228-154-202.ewe-ip-backbone.de) (Quit: Leaving.)
2022-11-26 21:02:24 +0100fostyr42(~fostyr@2607:fea8:c1e2:100::f7a3) (Quit: Client closed)
2022-11-26 21:02:43 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2022-11-26 21:03:58 +0100heisenberg2(~heisenber@112.151.244.175)
2022-11-26 21:06:11 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-26 21:07:08 +0100Guest5607(~marc@5.83.191.88) (Ping timeout: 260 seconds)
2022-11-26 21:07:58 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-26 21:11:35 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-11-26 21:15:43 +0100coot(~coot@213.134.171.3)
2022-11-26 21:16:03 +0100coderpath(~coderpath@d66-183-126-83.bchsia.telus.net)
2022-11-26 21:16:47 +0100kenran(~user@user/kenran)
2022-11-26 21:17:59 +0100pera(~pera@user/pera)
2022-11-26 21:20:25 +0100pavonia(~user@user/siracusa)
2022-11-26 21:21:40 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2022-11-26 21:24:56 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-26 21:25:54 +0100accord(uid568320@id-568320.hampstead.irccloud.com)
2022-11-26 21:25:59 +0100srz_(~srz@181.228.49.93) (Ping timeout: 264 seconds)
2022-11-26 21:27:00 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-26 21:27:36 +0100yuribarros(~yuribarro@2804:14c:65e4:865c::1000)
2022-11-26 21:39:14 +0100heisenberg2(~heisenber@112.151.244.175) (Ping timeout: 256 seconds)
2022-11-26 21:49:11 +0100euandreh(~Thunderbi@179.214.113.107) (Quit: euandreh)
2022-11-26 21:50:50 +0100kleczkowski(~kleczkows@89-64-80-128.dynamic.chello.pl)
2022-11-26 21:52:20 +0100coot(~coot@213.134.171.3) (Quit: coot)
2022-11-26 21:54:39 +0100heisenberg2(~heisenber@112.151.244.175)
2022-11-26 21:57:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-26 21:58:29 +0100marc(~marc@5.83.191.88)
2022-11-26 21:58:53 +0100marcGuest3917
2022-11-26 22:00:39 +0100king_gs(~Thunderbi@187.201.139.206)
2022-11-26 22:00:40 +0100Topsi(~Topsi@dialin-80-228-154-202.ewe-ip-backbone.de)
2022-11-26 22:01:10 +0100nate4(~nate@98.45.169.16)
2022-11-26 22:06:11 +0100nate4(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-11-26 22:07:09 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 22:10:10 +0100Topsi(~Topsi@dialin-80-228-154-202.ewe-ip-backbone.de) (Ping timeout: 265 seconds)
2022-11-26 22:10:13 +0100Topsi1(~Topsi@dialin-80-228-154-202.ewe-ip-backbone.de)
2022-11-26 22:11:25 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-11-26 22:17:09 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-11-26 22:21:26 +0100zant(~zant@62.214.20.26)
2022-11-26 22:23:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-26 22:30:30 +0100king_gs1(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-26 22:30:30 +0100king_gs(~Thunderbi@187.201.139.206) (Read error: Connection reset by peer)
2022-11-26 22:30:31 +0100king_gs1king_gs
2022-11-26 22:36:34 +0100 <bluephones> Can a compiled haskell binary run arbitrary haskell code at runtime?
2022-11-26 22:36:56 +0100 <drdo> Usually no
2022-11-26 22:37:17 +0100 <drdo> i.e. there is no "eval"
2022-11-26 22:37:59 +0100 <bluephones> Basically what I'm trying to do is have an app, written in Haskell, which allows users to supply plugin scripts also written in Haskell
2022-11-26 22:38:14 +0100 <hpc> "runtime" is flexible if you use runghc
2022-11-26 22:38:59 +0100 <bluephones> hmm
2022-11-26 22:39:40 +0100mestre(~mestre@191.177.185.178) (Quit: Lost terminal)
2022-11-26 22:39:52 +0100random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-11-26 22:40:28 +0100kleczkowski(~kleczkows@89-64-80-128.dynamic.chello.pl) (Read error: Connection reset by peer)
2022-11-26 22:40:29 +0100 <bluephones> can runghc be cross-compiled on iOS and Android?
2022-11-26 22:41:35 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-11-26 22:43:16 +0100 <EvanR> there used to be a plugins library which utilized dark ghc magic and dynamic loading
2022-11-26 22:43:39 +0100 <EvanR> which would be the route you would take in not haskell
2022-11-26 22:43:44 +0100 <EvanR> to make plugins
2022-11-26 22:44:38 +0100 <EvanR> you could also make a haskell-based DSL which compiles to a form that your app can run
2022-11-26 22:44:55 +0100 <EvanR> which would also introduce safety and security to your plugins
2022-11-26 22:44:59 +0100 <EvanR> s/would/could
2022-11-26 22:44:59 +0100 <jean-paul[m]> Even in other languages, plugins as "program you run and do RPCs (over stdio) to" is kind of popular now
2022-11-26 22:45:45 +0100 <bluephones> not a bad idea
2022-11-26 22:46:02 +0100 <bluephones> I think I'll either go the DSL route or just settle for javascript lol
2022-11-26 22:46:44 +0100 <jean-paul[m]> maybe it's the same thing. just embed a js interpreter in your program and use ghcjs to compile haskell plugins to js.
2022-11-26 22:47:04 +0100 <jean-paul[m]> what could go wrong
2022-11-26 22:47:52 +0100 <bluephones> haha
2022-11-26 22:48:15 +0100 <bluephones> I'm considering JS due to the fact that you can easily execute it via webview/webkit on android and iso
2022-11-26 22:48:17 +0100 <bluephones> ios*
2022-11-26 22:48:20 +0100 <EvanR> for good measure, run the plugins within the embedded js using eval (in js)
2022-11-26 22:48:48 +0100 <bluephones> So I won't have to include a runtime myself
2022-11-26 22:49:24 +0100 <drdo> I don't want to interrupt the fun. But you could up with some simple RPC and just have a client library in Haskell that you could use to write plugins
2022-11-26 22:49:45 +0100 <drdo> The experience for the plugin writer wouldn't be too different, still haskell
2022-11-26 22:51:25 +0100 <bluephones> hmm
2022-11-26 22:51:50 +0100 <EvanR> well now that we know this is all running in a browser that changes everything
2022-11-26 22:51:57 +0100 <bluephones> So how would the plugin haskell be interperated by the app in order to run the rpc functions?
2022-11-26 22:52:01 +0100 <drdo> There is also the xmonad way
2022-11-26 22:52:03 +0100 <EvanR> spawning side processes isn't exactly normal there
2022-11-26 22:52:08 +0100Guest|29(~Guest|29@curl-102.dynamic2.rpi.edu)
2022-11-26 22:52:13 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-26 22:52:27 +0100 <bluephones> oh..
2022-11-26 22:53:01 +0100 <bluephones> Well I'll need to do some more research first, thanks for the ideas tho
2022-11-26 22:53:20 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 22:53:26 +0100 <EvanR> ghcjs might actually be what you want, though building the plugin within the browser is next level
2022-11-26 22:54:43 +0100 <bluephones> now that I'm thinking about it its probably not a great idea to use haskell as the plugin language
2022-11-26 22:55:15 +0100 <bluephones> most people won't bother to learn haskell just to write a plugin
2022-11-26 22:55:24 +0100 <bluephones> probably either JS or Python would be best
2022-11-26 22:55:49 +0100 <bluephones> I'm not aware if there are any good python interperators for mobile
2022-11-26 22:56:24 +0100 <EvanR> yeah I'm questioning most conclusions of python-by-default
2022-11-26 22:56:54 +0100 <bluephones> the only reason being that it's popular
2022-11-26 22:57:05 +0100 <drdo> js is definitely more popular
2022-11-26 22:57:07 +0100 <bluephones> most of my users will not be programmers
2022-11-26 22:57:14 +0100 <EvanR> for writing apps in a browser probably not
2022-11-26 22:58:08 +0100 <bluephones> Well actually the browser is the only platform I probably won't support
2022-11-26 22:58:33 +0100 <bluephones> basically haskell for the business logic, and then the client native front end on top
2022-11-26 22:58:48 +0100 <bluephones> message passing via protobuf
2022-11-26 22:59:30 +0100 <EvanR> so are the plugins for UI or business logic
2022-11-26 22:59:39 +0100 <bluephones> business logic
2022-11-26 22:59:43 +0100 <EvanR> phew xD
2022-11-26 22:59:51 +0100 <bluephones> lol
2022-11-26 23:00:26 +0100 <drdo> If you are already even using protobuf for the communication with the UI. You could also do that for plugins
2022-11-26 23:00:26 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Ping timeout: 265 seconds)
2022-11-26 23:00:34 +0100 <EvanR> see if this still works https://hackage.haskell.org/package/plugins
2022-11-26 23:00:36 +0100 <drdo> Then you can write plugins in whatever language you want
2022-11-26 23:01:13 +0100 <drdo> Or just xmonad-it and recompile the whole thing together
2022-11-26 23:01:27 +0100 <EvanR> you can also link to something like e.g. lua
2022-11-26 23:01:37 +0100 <EvanR> and use lua like any other app would
2022-11-26 23:01:52 +0100 <drdo> or guile :D
2022-11-26 23:01:52 +0100 <bluephones> the plugins module seems suuuper old, probably wont go that route
2022-11-26 23:02:35 +0100Guest|29(~Guest|29@curl-102.dynamic2.rpi.edu) (Ping timeout: 264 seconds)
2022-11-26 23:02:44 +0100 <bluephones> my main constraint is android and ios
2022-11-26 23:02:56 +0100 <bluephones> if it werent for those platforms I'd have a ton more options
2022-11-26 23:03:27 +0100 <jean-paul[m]> This week I am learning https://reflex-frp.org/
2022-11-26 23:03:57 +0100 <jean-paul[m]> (who knows, maybe even next week too.)
2022-11-26 23:04:10 +0100coot(~coot@213.134.171.3)
2022-11-26 23:11:23 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-26 23:11:33 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-26 23:11:54 +0100azimut_(~azimut@gateway/tor-sasl/azimut)
2022-11-26 23:12:00 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 23:12:29 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-26 23:13:46 +0100tmtt(~tmtt@user/tmtt)
2022-11-26 23:15:22 +0100Guest|29(~Guest|29@curl-102.dynamic2.rpi.edu)
2022-11-26 23:16:21 +0100 <tmtt> Hi! When I create a new project using `stack new`, it uses github.com as my project's homepage in package.yml. Is it possible to change that base URL to another git server, like gitlab.com or sr.ht? Not a big deal but if there's a way to do this, please let me know. Thanks in advance!
2022-11-26 23:18:47 +0100Guest|29(~Guest|29@curl-102.dynamic2.rpi.edu) (Remote host closed the connection)
2022-11-26 23:21:43 +0100 <bluephones> stack config --setup-info-yam URL
2022-11-26 23:21:54 +0100 <bluephones> stack config --setup-info-yaml URL
2022-11-26 23:22:19 +0100 <bluephones> sorry for the typo (can messages not be deleted in IRC?)
2022-11-26 23:22:25 +0100 <geekosaur> no, they can't
2022-11-26 23:23:04 +0100 <EvanR> your message is etched forever in the internet stone
2022-11-26 23:23:31 +0100 <bluephones> SSN: 387-28-4826
2022-11-26 23:23:39 +0100 <bluephones> oops, can someone delete that?
2022-11-26 23:23:46 +0100 <geekosaur> nobody can
2022-11-26 23:23:50 +0100thyriaen(~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Remote host closed the connection)
2022-11-26 23:23:56 +0100 <geekosaur> welcome to the 1990s
2022-11-26 23:23:56 +0100 <EvanR> it would require reversing entropy
2022-11-26 23:24:27 +0100 <bluephones> ok, pls dont steal my ssn
2022-11-26 23:24:30 +0100 <EvanR> or whatever happened in that old superman movie
2022-11-26 23:24:46 +0100 <geekosaur> theoretically tomsmeding could edit the channel logs, but that won't change my or other people's IRRC logs
2022-11-26 23:24:52 +0100 <darkling> EvanR: Rogue scriptwriter, I think.
2022-11-26 23:25:06 +0100Guest60(~Guest60@101.98.118.246)
2022-11-26 23:25:23 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 264 seconds)
2022-11-26 23:25:47 +0100 <tmtt> bluephones: Thanks! I'll try that.
2022-11-26 23:26:14 +0100 <Guest60> Hi, I want to parse and write both JSON and YAML files into (and from) a data tree. Are there any recommended packages to do this?
2022-11-26 23:26:43 +0100kmein(~weechat@user/kmein) (Quit: ciao kakao)
2022-11-26 23:26:46 +0100sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-26 23:26:53 +0100 <hpc> json is a subset of yaml, you can get away with one parser
2022-11-26 23:26:57 +0100 <geekosaur> and even on matrix you're reliant on clients obeying the rules; it's up to each client to honor delete requests
2022-11-26 23:27:25 +0100 <hpc> probably aeson?
2022-11-26 23:27:34 +0100 <bluephones> Guest60 I know there's the yaml package for yaml and aeson for json
2022-11-26 23:28:49 +0100kmein(~weechat@user/kmein)
2022-11-26 23:28:54 +0100 <Guest60> Makes sense, so I can just go for a yaml parser. Is this the one? https://hackage.haskell.org/package/yaml
2022-11-26 23:29:03 +0100 <hpc> er, yeah that one
2022-11-26 23:29:35 +0100michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2022-11-26 23:29:41 +0100 <Guest60> cool, thanks
2022-11-26 23:37:41 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-26 23:41:01 +0100Topsi1(~Topsi@dialin-80-228-154-202.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-11-26 23:41:44 +0100azimut_(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-26 23:42:56 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-26 23:44:59 +0100gff_(~gff@user/gff) (Ping timeout: 260 seconds)
2022-11-26 23:47:29 +0100Erutuon(~Erutuon@user/erutuon)
2022-11-26 23:48:26 +0100gff_(~gff@user/gff)
2022-11-26 23:52:32 +0100tmtt(~tmtt@user/tmtt) (Ping timeout: 255 seconds)
2022-11-26 23:53:23 +0100aisa(~aisa@user/aisa) (Quit: WeeChat 3.4.1)
2022-11-26 23:54:31 +0100tmtt(~tmtt@user/tmtt)
2022-11-26 23:58:02 +0100Guest60(~Guest60@101.98.118.246) (Quit: Client closed)