2023/11/01

2023-11-01 00:00:07 +0100 <monodoom> Why? I think it is just fine.
2023-11-01 00:00:31 +0100juri_stares blankly.
2023-11-01 00:00:41 +0100Square2(~Square@user/square) (Ping timeout: 255 seconds)
2023-11-01 00:00:43 +0100Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2023-11-01 00:01:00 +0100 <monodoom> Unless you literally mean floating point as in the Haskell Report being very under-specified.
2023-11-01 00:01:37 +0100michalz(~michalz@185.246.207.221) (Remote host closed the connection)
2023-11-01 00:02:03 +0100 <EvanR> I missed the opportunity to say haskell and C are both terrible at math. Use fortran
2023-11-01 00:02:11 +0100 <monodoom> :)
2023-11-01 00:02:35 +0100 <juri_> monodoom: i perform floating point operations, with error calculation, and well defined direction of rounding. in haskell.
2023-11-01 00:02:41 +0100 <monodoom> Well, "math" is broad. The statement is right for number crunching.
2023-11-01 00:03:34 +0100 <monodoom> But "math" also has, say, finite group and coset crunching, at which point C and Fortran are painful to use, Haskell is slighty less, you need Mathematica or something.
2023-11-01 00:04:24 +0100 <monodoom> juri_: You are very brave. :)
2023-11-01 00:05:18 +0100son0p(~ff@181.136.122.143)
2023-11-01 00:05:50 +0100 <juri_> no, the other word. :)
2023-11-01 00:07:19 +0100 <monodoom> I am reading a paper that does this. You already know that mathematicians sometimes use the notation "- * c" to mean the 1-ary function "\x -> x * c". Well, this paper now uses "- * =" for the 2-ary version...
2023-11-01 00:08:26 +0100neceve(~neceve@user/neceve) (Ping timeout: 255 seconds)
2023-11-01 00:08:52 +0100tomith(tomith@85-156-187-17.elisa-laajakaista.fi) (Changing host)
2023-11-01 00:08:52 +0100tomith(tomith@user/tomith)
2023-11-01 00:09:40 +0100htor(~htor@84.208.240.181)
2023-11-01 00:10:35 +0100kraftwerk28(~kraftwerk@164.92.219.160) (Ping timeout: 240 seconds)
2023-11-01 00:11:04 +0100 <EvanR> \x -> x - x would then be - - -
2023-11-01 00:11:39 +0100 <EvanR> code for M M M
2023-11-01 00:11:43 +0100 <EvanR> er
2023-11-01 00:11:59 +0100 <EvanR> forgot it all already
2023-11-01 00:12:34 +0100 <EvanR> T T T
2023-11-01 00:18:42 +0100 <haskellbridge> 08<t​ewuzij> Maybe Haskell should learn from Wolfram Language?
2023-11-01 00:18:53 +0100 <haskellbridge> 12<C​elestial> this is getting APLy
2023-11-01 00:19:38 +0100P1RATEZ(piratez@user/p1ratez) (Remote host closed the connection)
2023-11-01 00:21:31 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-11-01 00:27:11 +0100johnw(~johnw@69.62.242.138)
2023-11-01 00:36:46 +0100Axman6Axeman6
2023-11-01 00:37:09 +0100 <Axeman6> figured I should join the halloween fun
2023-11-01 00:37:43 +0100 <monodoom> :)
2023-11-01 00:39:13 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2023-11-01 00:40:39 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 00:41:26 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 00:46:43 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-11-01 00:46:43 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-11-01 00:46:43 +0100wroathe(~wroathe@user/wroathe)
2023-11-01 00:47:53 +0100motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2023-11-01 00:53:34 +0100nyc(~nyc@user/nyc)
2023-11-01 00:55:16 +0100 <nyc> How do I correlate warning messages from haddock with the source files that triggered them?
2023-11-01 00:59:39 +0100 <Axeman6> By reading all your code and going 'ah, there it is!'
2023-11-01 01:01:07 +0100applecat(~Srain@116.204.144.69)
2023-11-01 01:01:30 +0100 <Axeman6> Sorry, I wish it was better than that; it's been a while since I did any Haddock, but I do remember that problem being a massive pain
2023-11-01 01:01:41 +0100 <nyc> Axeman6: The thought is by post-processing output.
2023-11-01 01:03:55 +0100ph88(~ph88@2a02:8109:9e26:c800:87d5:3b0a:6da9:2216) (Ping timeout: 264 seconds)
2023-11-01 01:06:04 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 248 seconds)
2023-11-01 01:10:18 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-11-01 01:12:13 +0100pixelmonk(~pixelmonk@50.205.76.66) (Ping timeout: 252 seconds)
2023-11-01 01:15:55 +0100dtman34_(~dtman34@2601:447:d000:93c9:c0c7:16d5:6cb5:4382)
2023-11-01 01:15:55 +0100dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2023-11-01 01:17:31 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-a6e3-3ba3-0107-8cff.res6.spectrum.com) (Remote host closed the connection)
2023-11-01 01:17:47 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
2023-11-01 01:19:09 +0100Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 258 seconds)
2023-11-01 01:20:27 +0100hololeapholoween
2023-11-01 01:24:16 +0100Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2023-11-01 01:24:40 +0100y04nn(~username@2a03:1b20:8:f011::e10d)
2023-11-01 01:24:46 +0100Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Remote host closed the connection)
2023-11-01 01:24:59 +0100pixelmonk(~pixelmonk@50.205.76.66)
2023-11-01 01:26:21 +0100kraftwerk28(~kraftwerk@164.92.219.160)
2023-11-01 01:27:25 +0100 <monodoom> holoween: haha
2023-11-01 01:27:28 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-11-01 01:27:40 +0100Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
2023-11-01 01:27:42 +0100 <holoween> :p
2023-11-01 01:27:48 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-11-01 01:27:48 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-11-01 01:27:48 +0100wroathe(~wroathe@user/wroathe)
2023-11-01 01:29:14 +0100htor(~htor@84.208.240.181) (Quit: zzz)
2023-11-01 01:34:49 +0100ph88(~ph88@ip5b40e272.dynamic.kabel-deutschland.de)
2023-11-01 01:39:01 +0100 <Axeman6> =)
2023-11-01 01:40:05 +0100thegman(~Srain@2603-9001-3700-621e-0000-0000-0000-1181.inf6.spectrum.com)
2023-11-01 01:40:25 +0100 <thegman> i had to go afk for a while and i dont know how to get chat history back so i have no idea what was said since i last said something
2023-11-01 01:40:58 +0100 <geekosaur> there's a channel log in the /topic
2023-11-01 01:41:39 +0100 <ddellacosta> thegman check it out https://ircbrowse.tomsmeding.com/browse/lchaskell
2023-11-01 01:42:37 +0100 <ddellacosta> while I'm here, I just want to say that I love Halloween
2023-11-01 01:57:45 +0100thegman(~Srain@2603-9001-3700-621e-0000-0000-0000-1181.inf6.spectrum.com) (Remote host closed the connection)
2023-11-01 02:06:19 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-11-01 02:06:19 +0100forell(~forell@user/forell) (Ping timeout: 264 seconds)
2023-11-01 02:06:50 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2023-11-01 02:07:43 +0100Lord_of_Life_Lord_of_Life
2023-11-01 02:07:50 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 258 seconds)
2023-11-01 02:08:24 +0100thegman(~Srain@072-239-207-086.res.spectrum.com)
2023-11-01 02:16:08 +0100forell(~forell@user/forell)
2023-11-01 02:18:46 +0100applecat(~Srain@116.204.144.69) (Ping timeout: 260 seconds)
2023-11-01 02:21:24 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection)
2023-11-01 02:21:43 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-a6e3-3ba3-0107-8cff.res6.spectrum.com)
2023-11-01 02:23:24 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-a6e3-3ba3-0107-8cff.res6.spectrum.com) (Remote host closed the connection)
2023-11-01 02:23:43 +0100hgolden(~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
2023-11-01 02:24:11 +0100 <Axeman6> jackdk: /nick jack-o-lanterndk, haven't been able to think of a better one for you :P (even if Halloween was yesterday for us)
2023-11-01 02:25:51 +0100mud(~mud@user/kadoban) (Quit: quit)
2023-11-01 02:29:43 +0100forell(~forell@user/forell) (Ping timeout: 264 seconds)
2023-11-01 02:32:39 +0100forell(~forell@user/forell)
2023-11-01 02:33:20 +0100jackdkjack-o-lanterndk
2023-11-01 02:33:36 +0100 <jack-o-lanterndk> Axeman6: thanks, I was struggling to come up with anything at all
2023-11-01 02:34:11 +0100geekosauralready is. raaaaar
2023-11-01 02:35:11 +0100 <EvanR> other than phantom types is there anything particularly haskell related to support the theme
2023-11-01 02:36:12 +0100 <monodoom> monads? >:)
2023-11-01 02:36:48 +0100 <geekosaur> apparently types are scary 😛
2023-11-01 02:37:17 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-11-01 02:37:23 +0100 <EvanR> LANGUAGE FRankNTypes should be a seasonable extension
2023-11-01 02:37:32 +0100 <monodoom> linear lens monad = LLM
2023-11-01 02:37:39 +0100 <EvanR> seasonal
2023-11-01 02:37:53 +0100 <monodoom> Oh hahaha FRankNTypes is a good one!
2023-11-01 02:39:26 +0100 <jack-o-lanterndk> 'tis the season to re-read https://kataskeue.com/gdp.pdf
2023-11-01 02:42:17 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-11-01 02:42:32 +0100 <EvanR> oh nice
2023-11-01 02:42:39 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-11-01 02:44:33 +0100forell(~forell@user/forell) (Ping timeout: 260 seconds)
2023-11-01 02:44:40 +0100 <Axeman6> EvanR: /nick EllR, assuming Evan is just cockny for Heaven =D
2023-11-01 02:44:41 +0100forell_(~forell@host-178-216-90-220.sta.tvknaszapraca.pl)
2023-11-01 02:45:34 +0100 <Axeman6> Ha, FRankNTypes is excellent XD
2023-11-01 02:50:49 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 02:53:25 +0100xff0x(~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 252 seconds)
2023-11-01 02:55:03 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-11-01 02:59:48 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-11-01 03:00:35 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-11-01 03:29:35 +0100otto_s(~user@p5de2f514.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2023-11-01 03:31:17 +0100otto_s(~user@p5b044594.dip0.t-ipconnect.de)
2023-11-01 03:37:56 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Remote host closed the connection)
2023-11-01 03:38:13 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-11-01 03:39:43 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-11-01 03:44:04 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-11-01 03:44:43 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-11-01 03:44:43 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 264 seconds)
2023-11-01 03:46:29 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-11-01 03:52:25 +0100ubert1(~Thunderbi@77.119.210.181.wireless.dyn.drei.com)
2023-11-01 03:53:51 +0100ubert(~Thunderbi@178.165.194.145.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2023-11-01 03:53:51 +0100ubert1ubert
2023-11-01 03:55:07 +0100thegeekinside(~thegeekin@189.180.105.214)
2023-11-01 04:04:35 +0100td_(~td@i53870904.versanet.de) (Ping timeout: 240 seconds)
2023-11-01 04:06:27 +0100td_(~td@i5387090C.versanet.de)
2023-11-01 04:11:34 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-11-01 04:11:34 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-11-01 04:11:34 +0100finn_elijaFinnElija
2023-11-01 04:13:14 +0100thegeekinside(~thegeekin@189.180.105.214) (Ping timeout: 255 seconds)
2023-11-01 04:27:06 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-11-01 04:41:24 +0100y04nn(~username@2a03:1b20:8:f011::e10d) (Ping timeout: 240 seconds)
2023-11-01 04:42:30 +0100 <Axeman6> I feel we need a wiki page for haskelloween puns
2023-11-01 04:48:07 +0100 <jack-o-lanterndk> We should do more for haskellween next year. This was fun
2023-11-01 04:48:41 +0100 <EvanR> we can come up with an egregious amount of syntactic sugar
2023-11-01 05:01:54 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-01 05:02:38 +0100td_(~td@i5387090C.versanet.de) (Ping timeout: 258 seconds)
2023-11-01 05:04:31 +0100td_(~td@i5387092B.versanet.de)
2023-11-01 05:08:52 +0100 <jack-o-lanterndk> Okay now I'm thoroughly spooked
2023-11-01 05:34:34 +0100waleee(~waleee@h-176-10-144-38.na.cust.bahnhof.se) (Ping timeout: 272 seconds)
2023-11-01 05:38:23 +0100aforemny_(~aforemny@2001:9e8:6cd7:ec00:d45e:8bbd:8f7d:5f92)
2023-11-01 05:39:00 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds)
2023-11-01 05:39:55 +0100aforemny(~aforemny@2001:9e8:6cf3:2b00:2f73:3d2b:9ae5:6d60) (Ping timeout: 264 seconds)
2023-11-01 05:43:02 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2023-11-01 06:04:28 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-11-01 06:25:33 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-11-01 06:37:25 +0100rgw(~R@2605:a601:a0df:5600:8c02:4fa2:4860:8f37) (Read error: Connection reset by peer)
2023-11-01 06:45:01 +0100monodoommonochrom
2023-11-01 06:53:21 +0100BestSteve(~beststeve@220-135-3-239.hinet-ip.hinet.net)
2023-11-01 07:04:32 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-11-01 07:06:27 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
2023-11-01 07:18:01 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 07:32:28 +0100 <thegman> how do i do a task with a list like [1..10] but replacing 10 with n
2023-11-01 07:32:55 +0100 <jack-o-lanterndk> what do you mean by "do a task"?
2023-11-01 07:32:56 +0100 <thegman> im trying to do n `mod` [2..(isqrt n)] /= 0 = True
2023-11-01 07:33:23 +0100 <thegman> i can send the rest of the function if it helps
2023-11-01 07:33:34 +0100 <jack-o-lanterndk> > :t all
2023-11-01 07:33:35 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2023-11-01 07:33:39 +0100 <jack-o-lanterndk> % :t all
2023-11-01 07:33:40 +0100 <yahb2> all :: Foldable t => (a -> Bool) -> t a -> Bool
2023-11-01 07:34:10 +0100 <jack-o-lanterndk> Lists are "Foldable", so you can think of this function as having type `all :: (a -> Bool) -> [a] -> Bool`
2023-11-01 07:34:43 +0100 <thegman> sorry if im a bit incompetent ive never touched haskell until around 8 hours ago
2023-11-01 07:34:45 +0100 <jack-o-lanterndk> all (\x -> even x && x < 5) [1..]
2023-11-01 07:35:00 +0100 <jack-o-lanterndk> > all (\x -> even x) [1..10]
2023-11-01 07:35:01 +0100 <lambdabot> False
2023-11-01 07:35:16 +0100 <jack-o-lanterndk> > all (\x -> x < 20) [1..10]
2023-11-01 07:35:18 +0100 <lambdabot> True
2023-11-01 07:35:41 +0100 <jack-o-lanterndk> all good thegman, and welcome to Haskell and #haskell . some examples^ that might help
2023-11-01 07:36:28 +0100 <thegman> ok i just need a second to try to read that
2023-11-01 07:36:34 +0100 <thegman> still new to this syntax
2023-11-01 07:38:02 +0100 <jack-o-lanterndk> Yeah there's a bit to get started. `\x -> blah` is an anonymous function of one argument, `x`.
2023-11-01 07:39:03 +0100chomwitt(~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1)
2023-11-01 07:39:51 +0100 <thegman> heres what im trying to do
2023-11-01 07:39:52 +0100 <thegman> prime :: Integer -> Bool;
2023-11-01 07:39:52 +0100 <thegman> prime n
2023-11-01 07:39:52 +0100 <thegman> | n (.&.) 1 == 1 = False
2023-11-01 07:39:53 +0100 <thegman> | n `mod` [2..(isqrt n)] /= 0 = True
2023-11-01 07:40:03 +0100Maxlelyonai(~Maxlelyon@178.237.232.145)
2023-11-01 07:40:08 +0100 <Maxlelyonai> hello everyone
2023-11-01 07:40:13 +0100 <thegman> hi
2023-11-01 07:40:29 +0100 <Maxlelyonai> I have an error loading the module
2023-11-01 07:40:32 +0100 <Maxlelyonai> hahahha
2023-11-01 07:40:40 +0100 <Maxlelyonai> Can someone help me?
2023-11-01 07:40:55 +0100 <Maxlelyonai> because I have search and I don't find anything
2023-11-01 07:41:15 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-11-01 07:41:31 +0100 <jack-o-lanterndk> thegman: For future reference, it's better IRC etiquette to paste code into a pastebin service, let me bring up a link
2023-11-01 07:41:34 +0100 <jack-o-lanterndk> @where paste
2023-11-01 07:41:34 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2023-11-01 07:42:24 +0100 <Maxlelyonai> done
2023-11-01 07:43:05 +0100 <jack-o-lanterndk> thegman: That said, lemme take a look at your code. I think your bitwise test is backwards, because it equals `n .&. 1` equals zero on even numbers.
2023-11-01 07:43:17 +0100pixelmonk(~pixelmonk@50.205.76.66) (Quit: WeeChat 4.1.0)
2023-11-01 07:44:19 +0100 <thegman> oops sorry
2023-11-01 07:44:51 +0100 <thegman> my goal with that part was to filter out even numbers
2023-11-01 07:45:54 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2023-11-01 07:45:59 +0100bliminse(~bliminse@user/bliminse) (Quit: leaving)
2023-11-01 07:48:16 +0100 <jack-o-lanterndk> thegman: https://www.irccloud.com/pastebin/fEhcPysw/Prime.hs
2023-11-01 07:48:47 +0100 <dsal> Does `even` do anything there?
2023-11-01 07:49:03 +0100 <jack-o-lanterndk> The use of `even n` is probably not worth its own case; because Haskell is lazy, `any` will bail out as soon as it finds an element that tests `True`
2023-11-01 07:49:28 +0100 <jack-o-lanterndk> dsal: almost certainly not, but I wanted to follow thegman 's structure closely as a first pass
2023-11-01 07:49:30 +0100 <dsal> If you did `[3, 5 .. isqrt n]` maybe.
2023-11-01 07:49:37 +0100 <dsal> Yeah, I read backwards. heh
2023-11-01 07:50:02 +0100 <jack-o-lanterndk> It also claims that 2 is composite, so it's actually not right on multiple levels
2023-11-01 07:51:27 +0100 <dsal> If you want to get haskeller, prime is a list of numbers that isn't divisble by numbers in the list smaller than itself
2023-11-01 07:51:52 +0100 <jack-o-lanterndk> Challenge for thegman : add a special case to test if `n == 2` before the `even n` test, then change the `any factor` test to only test odd numbers
2023-11-01 07:52:24 +0100 <thegman> ok your code has a lot of things i had no idea existed
2023-11-01 07:52:38 +0100 <thegman> haskell has a lot more useful stuff than i originally thought
2023-11-01 07:52:48 +0100 <thegman> is factor from a package of some kind though
2023-11-01 07:53:14 +0100 <dsal> It's defined in that snippet
2023-11-01 07:53:32 +0100 <thegman> oh i wasnt paying attention
2023-11-01 07:54:16 +0100 <dsal> This is a style I really like. Write the thing you mean. Introduce words that help. Define the words in an appendix.
2023-11-01 07:54:28 +0100 <thegman> it works now
2023-11-01 07:55:17 +0100 <thegman> i just added n == 2 = True and that seems to work as far as the 2 clause goes
2023-11-01 07:55:43 +0100Maxlelyonai(~Maxlelyon@178.237.232.145) (Quit: Client closed)
2023-11-01 07:56:08 +0100 <dsal> You can also just write `isPrime 2 = True`
2023-11-01 07:56:30 +0100 <thegman> wow
2023-11-01 07:56:33 +0100 <thegman> haskell is really compact
2023-11-01 07:56:52 +0100 <dsal> At which point the whole thing becomes `isPrime n = not $ any factor [2..isqrt n]`
2023-11-01 07:58:52 +0100acidjnk(~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de)
2023-11-01 07:59:06 +0100 <jack-o-lanterndk> The definition of `factor` might need to use `floor` instead of `ceiling`; currently `isqrt 2 == 2` so if you don't have the separate equation for `isPrime 2 = True`, it'll test that 2 is a factor of itself.
2023-11-01 08:00:40 +0100 <thegman> wait do you mean the definition of isqrt
2023-11-01 08:01:04 +0100 <thegman> that already uses floor
2023-11-01 08:02:14 +0100 <dsal> > let primes = [2, 3] <> [x | x <- [3, 5..], all (\j -> x `mod` j /= 0) $ takeWhile (\i -> i * i <= x) primes] in primes -- you can just make the whole thing be a single list of all primes and not divide by redundant stuff like 6 or 9 or whatever.
2023-11-01 08:02:16 +0100 <lambdabot> [2,3,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,10...
2023-11-01 08:02:21 +0100 <jack-o-lanterndk> I wrote a version in that pastebin link that uses `ceiling`; it's under the definition of `factor` in the `where`
2023-11-01 08:02:39 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
2023-11-01 08:02:54 +0100 <dsal> damnit. That's got too many 3s.
2023-11-01 08:03:01 +0100 <dsal> > let primes = [2, 3] <> [x | x <- [5, 7..], all (\j -> x `mod` j /= 0) $ takeWhile (\i -> i * i <= x) primes] in primes -- you can just make the whole thing be a single list of all primes and not divide by redundant stuff like 6 or 9 or whatever.
2023-11-01 08:03:03 +0100 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,...
2023-11-01 08:03:23 +0100 <thegman> wasnt there a way to pass a list to a function expecting a non list
2023-11-01 08:03:26 +0100 <thegman> i thought it was map
2023-11-01 08:03:29 +0100 <thegman> but that didnt work
2023-11-01 08:03:54 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-11-01 08:04:10 +0100 <thegman> either way i gotta go
2023-11-01 08:04:13 +0100 <jack-o-lanterndk> depends on what you want to do. `map` will apply a function to every element and build up a list of the result
2023-11-01 08:04:17 +0100 <jack-o-lanterndk> adios, and good luck
2023-11-01 08:04:40 +0100 <thegman> is it bad to leave irc on so i dont lose chat history
2023-11-01 08:05:06 +0100 <dsal> I've not left irc in a decade or so.
2023-11-01 08:05:13 +0100 <dsal> But there's also logs in the topic.
2023-11-01 08:05:22 +0100 <jack-o-lanterndk> many people do, often on some always-on server or service which idles for them
2023-11-01 08:05:31 +0100 <thegman> the logs didnt work for me the last time i tried but i suppose i didnt have an account when i tried
2023-11-01 08:05:35 +0100 <thegman> anyway
2023-11-01 08:05:35 +0100 <thegman> ye
2023-11-01 08:05:37 +0100 <thegman> bye
2023-11-01 08:07:23 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-01 08:12:34 +0100lorenzo(~lorenzo@2a01:e0a:541:b8f0:6820:a343:4d88:c9b8)
2023-11-01 08:14:50 +0100lorenzolortabac
2023-11-01 08:15:15 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-11-01 08:24:44 +0100danza(~francesco@151.47.132.56)
2023-11-01 08:43:14 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2023-11-01 08:44:15 +0100Jackneill(~Jackneill@20014C4E1E03D80081B997486BB26576.dsl.pool.telekom.hu)
2023-11-01 08:46:31 +0100bliminse(~bliminse@user/bliminse)
2023-11-01 08:46:50 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:2871:6c00:10b3:bec4)
2023-11-01 08:46:50 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:2871:6c00:10b3:bec4) (Changing host)
2023-11-01 08:46:50 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-11-01 08:47:48 +0100applecat(~Srain@116.204.144.69)
2023-11-01 08:49:32 +0100gmg(~user@user/gehmehgeh)
2023-11-01 08:52:10 +0100haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 272 seconds)
2023-11-01 09:00:52 +0100euleritian(~euleritia@dynamic-046-114-200-079.46.114.pool.telefonica.de)
2023-11-01 09:01:14 +0100euleritian(~euleritia@dynamic-046-114-200-079.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-01 09:01:32 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 09:02:20 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-11-01 09:03:01 +0100haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-11-01 09:03:01 +0100ChanServ+v haskellbridge
2023-11-01 09:06:46 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 256 seconds)
2023-11-01 09:09:10 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-11-01 09:09:22 +0100Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk)
2023-11-01 09:13:12 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-11-01 09:14:08 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-11-01 09:14:36 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2023-11-01 09:16:05 +0100danza(~francesco@151.47.132.56) (Ping timeout: 240 seconds)
2023-11-01 09:16:47 +0100mc47(~mc47@xmonad/TheMC47)
2023-11-01 09:24:19 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Remote host closed the connection)
2023-11-01 09:31:11 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-01 09:39:05 +0100chele(~chele@user/chele)
2023-11-01 09:41:52 +0100Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 255 seconds)
2023-11-01 09:45:16 +0100Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk)
2023-11-01 09:48:52 +0100yaroot(~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (Remote host closed the connection)
2023-11-01 09:49:28 +0100yaroot(~yaroot@p3477236-ipngn9802souka.saitama.ocn.ne.jp)
2023-11-01 09:49:50 +0100Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 255 seconds)
2023-11-01 09:50:45 +0100danse-nr3(~danse@151.47.132.56)
2023-11-01 09:53:11 +0100mmhat(~mmh@p200300f1c7445ed6ee086bfffe095315.dip0.t-ipconnect.de)
2023-11-01 09:56:41 +0100danse-nr3(~danse@151.47.132.56) (Remote host closed the connection)
2023-11-01 09:57:06 +0100danse-nr3(~danse@151.47.132.56)
2023-11-01 09:58:59 +0100mmhat(~mmh@p200300f1c7445ed6ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.1.1)
2023-11-01 09:59:50 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-11-01 10:00:38 +0100rosco(~rosco@yp-150-69.tm.net.my)
2023-11-01 10:04:22 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-11-01 10:04:35 +0100danse-nr3(~danse@151.47.132.56) (Ping timeout: 240 seconds)
2023-11-01 10:05:00 +0100danse-nr3(~danse@151.43.45.82)
2023-11-01 10:07:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-01 10:08:47 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 246 seconds)
2023-11-01 10:12:23 +0100applecat(~Srain@116.204.144.69) (Remote host closed the connection)
2023-11-01 10:41:44 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-11-01 10:43:00 +0100xigua(~xigua@user/xigua) (Remote host closed the connection)
2023-11-01 10:43:35 +0100xigua(~xigua@user/xigua)
2023-11-01 10:45:03 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-01 10:45:54 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2023-11-01 10:57:54 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-11-01 11:01:59 +0100Pickchea(~private@user/pickchea)
2023-11-01 11:11:19 +0100chomwitt(~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1) (Ping timeout: 245 seconds)
2023-11-01 11:14:02 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 272 seconds)
2023-11-01 11:15:06 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-11-01 11:16:05 +0100ubert(~Thunderbi@77.119.210.181.wireless.dyn.drei.com) (Remote host closed the connection)
2023-11-01 11:16:23 +0100ubert(~Thunderbi@77.119.210.181.wireless.dyn.drei.com)
2023-11-01 11:16:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-01 11:19:24 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 248 seconds)
2023-11-01 11:23:48 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 240 seconds)
2023-11-01 11:30:50 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-11-01 11:35:57 +0100oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Quit: oo_miguel)
2023-11-01 11:43:08 +0100oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
2023-11-01 11:50:46 +0100coot_(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-01 11:51:20 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 255 seconds)
2023-11-01 11:51:42 +0100coot_coot
2023-11-01 11:55:06 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 260 seconds)
2023-11-01 11:55:08 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 248 seconds)
2023-11-01 11:56:47 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-11-01 11:59:43 +0100Pickchea(~private@user/pickchea) (Ping timeout: 264 seconds)
2023-11-01 12:03:30 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-01 12:09:08 +0100htor(~htor@84.208.240.181)
2023-11-01 12:13:31 +0100Lycurgus(~georg@user/Lycurgus)
2023-11-01 12:15:29 +0100stefan-__(~m-yh2rcc@42dots.de)
2023-11-01 12:15:56 +0100xff0x(~xff0x@ai101218.d.east.v6connect.net)
2023-11-01 12:16:16 +0100emmanuelux(~emmanuelu@user/emmanuelux)
2023-11-01 12:16:38 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-11-01 12:22:29 +0100htor(~htor@84.208.240.181) (Quit: htor)
2023-11-01 12:23:05 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 258 seconds)
2023-11-01 12:24:51 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-11-01 12:26:57 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-11-01 12:38:07 +0100chomwitt(~chomwitt@ppp-94-67-130-102.home.otenet.gr)
2023-11-01 12:38:31 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-11-01 12:39:45 +0100danse-nr3(~danse@151.43.45.82) (Ping timeout: 255 seconds)
2023-11-01 12:50:09 +0100shapr(~user@2600:1700:c640:3100:ae87:a681:fe23:3563) (Remote host closed the connection)
2023-11-01 12:57:25 +0100edr(~edr@user/edr)
2023-11-01 12:59:24 +0100remedan(~remedan@ip-94-112-0-18.bb.vodafone.cz) (Ping timeout: 240 seconds)
2023-11-01 13:01:30 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-11-01 13:02:36 +0100red-snail1(~snail@static.151.210.203.116.clients.your-server.de)
2023-11-01 13:03:14 +0100lortabac(~lorenzo@2a01:e0a:541:b8f0:6820:a343:4d88:c9b8) (Quit: WeeChat 3.5)
2023-11-01 13:03:35 +0100lortabac(~lorenzo@2a01:e0a:541:b8f0:6820:a343:4d88:c9b8)
2023-11-01 13:07:11 +0100vglfr(~vglfr@88.155.154.204) (Remote host closed the connection)
2023-11-01 13:07:48 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 13:08:34 +0100beteigeuze(~Thunderbi@185.206.24.241)
2023-11-01 13:14:09 +0100aforemny(~aforemny@2001:9e8:6cdd:c900:9923:5c3a:5b87:d41c)
2023-11-01 13:14:35 +0100aforemny_(~aforemny@2001:9e8:6cd7:ec00:d45e:8bbd:8f7d:5f92) (Ping timeout: 240 seconds)
2023-11-01 13:15:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-01 13:16:07 +0100danse-nr3(~danse@151.43.45.82)
2023-11-01 13:16:16 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-11-01 13:16:38 +0100red-snail(~snail@static.151.210.203.116.clients.your-server.de)
2023-11-01 13:18:18 +0100red-snail1(~snail@static.151.210.203.116.clients.your-server.de) (Leaving)
2023-11-01 13:37:27 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-11-01 13:37:59 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-11-01 13:40:01 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-11-01 13:41:36 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 256 seconds)
2023-11-01 13:42:00 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-11-01 13:46:01 +0100beteigeuze(~Thunderbi@185.206.24.241) (Quit: beteigeuze)
2023-11-01 13:49:26 +0100aforemny(~aforemny@2001:9e8:6cdd:c900:9923:5c3a:5b87:d41c) (Ping timeout: 260 seconds)
2023-11-01 13:50:30 +0100ghoulpinevulpine
2023-11-01 13:55:27 +0100fweht(uid404746@id-404746.lymington.irccloud.com)
2023-11-01 13:56:31 +0100anpad(~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-01 13:56:55 +0100danse-nr3(~danse@151.43.45.82) (Remote host closed the connection)
2023-11-01 13:57:18 +0100danse-nr3(~danse@151.43.45.82)
2023-11-01 13:58:36 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 256 seconds)
2023-11-01 13:58:52 +0100anpad(~pandeyan@user/anpad)
2023-11-01 13:59:06 +0100aforemny(~aforemny@2001:9e8:6cde:2400:d38b:278:6ff7:5f3f)
2023-11-01 13:59:08 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2023-11-01 13:59:36 +0100CO2(CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.1)
2023-11-01 14:03:40 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-11-01 14:04:56 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-11-01 14:04:58 +0100danse-nr3(~danse@151.43.45.82) (Ping timeout: 252 seconds)
2023-11-01 14:05:22 +0100danse-nr3(~danse@fi-19-197-182.service.infuturo.it)
2023-11-01 14:05:34 +0100chiselfuse(~chiselfus@user/chiselfuse)
2023-11-01 14:05:49 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 258 seconds)
2023-11-01 14:06:10 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
2023-11-01 14:06:58 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-11-01 14:07:12 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-11-01 14:07:18 +0100vglfr(vglfr@gateway/vpn/protonvpn/vglfr)
2023-11-01 14:08:05 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-11-01 14:10:44 +0100chiselfuse(~chiselfus@user/chiselfuse)
2023-11-01 14:10:55 +0100vglfr(vglfr@gateway/vpn/protonvpn/vglfr) (Remote host closed the connection)
2023-11-01 14:11:23 +0100vglfr(vglfr@gateway/vpn/protonvpn/vglfr)
2023-11-01 14:12:00 +0100vglfr(vglfr@gateway/vpn/protonvpn/vglfr) (Remote host closed the connection)
2023-11-01 14:12:00 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-11-01 14:13:24 +0100vglfr(~vglfr@212-8-250-238.hosted-by-worldstream.net)
2023-11-01 14:13:52 +0100vglfr(~vglfr@212-8-250-238.hosted-by-worldstream.net) (Remote host closed the connection)
2023-11-01 14:14:19 +0100vglfr(~vglfr@212-8-250-238.hosted-by-worldstream.net)
2023-11-01 14:15:51 +0100chiselfuse(~chiselfus@user/chiselfuse)
2023-11-01 14:18:04 +0100fendor(~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca)
2023-11-01 14:19:00 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-11-01 14:23:07 +0100vglfr(~vglfr@212-8-250-238.hosted-by-worldstream.net) (Ping timeout: 255 seconds)
2023-11-01 14:23:24 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 14:23:38 +0100ham(~ham@user/ham)
2023-11-01 14:25:48 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-11-01 14:25:48 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-11-01 14:25:48 +0100wroathe(~wroathe@user/wroathe)
2023-11-01 14:30:55 +0100arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-11-01 14:32:15 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-11-01 14:32:35 +0100vglfr(~vglfr@149.102.239.229)
2023-11-01 14:32:40 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-11-01 14:33:09 +0100chiselfu1e(~chiselfus@user/chiselfuse)
2023-11-01 14:33:18 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-11-01 14:37:13 +0100vglfr(~vglfr@149.102.239.229) (Ping timeout: 255 seconds)
2023-11-01 14:37:32 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 14:43:01 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-11-01 14:48:00 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-11-01 14:53:01 +0100lortabac(~lorenzo@2a01:e0a:541:b8f0:6820:a343:4d88:c9b8) (Quit: WeeChat 3.5)
2023-11-01 14:54:51 +0100lortabac(~lorenzo@2a01:e0a:541:b8f0:6820:a343:4d88:c9b8)
2023-11-01 14:57:13 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 260 seconds)
2023-11-01 15:03:46 +0100Lycurgus(~georg@user/Lycurgus)
2023-11-01 15:05:29 +0100justHauntedjustache
2023-11-01 15:05:44 +0100chiselfu1e(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-11-01 15:06:21 +0100chiselfuse(~chiselfus@user/chiselfuse)
2023-11-01 15:07:23 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-01 15:08:52 +0100aztex(~aztex@2001:6b0:2:2801:2ba8:4ba0:f78d:8f72)
2023-11-01 15:12:02 +0100 <aztex> I have a question on `forkIO` vs `forkOS`.
2023-11-01 15:12:08 +0100 <aztex> Imagine I have an FFI computation called `ffiComp :: IO ()` and in the main thread I do: `main = forkIO ffiComp >> c_usleep 200` vs `main = forkOS ffiComp >> c_usleep 200`; In the above the `c_usleep` can be imagined as a binding to the `usleep` Linux function; will there be any difference in behaviour?
2023-11-01 15:13:14 +0100 <aztex> my initial thoughts were the behaviour would be different in that in case of `forkIO` the c_usleep will put all of the Haskell threads to sleep
2023-11-01 15:13:39 +0100 <aztex> however in `forkOS` the ffi computation will not go to sleep because its bound to a separate OS thread
2023-11-01 15:13:46 +0100 <aztex> but probably I am mistaken?
2023-11-01 15:15:45 +0100 <[exa]> aztex: the actual behavior depends on too many factors, I'd suggest not relying on the result too much
2023-11-01 15:17:35 +0100CO2(CO2@gateway/vpn/protonvpn/co2)
2023-11-01 15:18:30 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2023-11-01 15:18:56 +0100 <[exa]> aztex: afaik the only real guarantee you get is that all things in `ffiComp` are going to be run in a single OS thread (thus not breaking thread-local things)
2023-11-01 15:20:10 +0100 <aztex> I see; I think the usage of a Haskell specific sleep function like `threadDelay` would make things more predictable but there are certain reasons why I am explicity using `c_usleep` and not the Haskell `threadDelay`
2023-11-01 15:20:12 +0100 <[exa]> aztex: I'd say it might also prevent the usleep from being run in that thread but I can't see any guarantee in the docs about that (there's no reason the forked-off thread wouldn't be reused for evaluating unmarked stuff)
2023-11-01 15:21:54 +0100 <[exa]> might be useful to read the ghc rts source on this... :D
2023-11-01 15:25:24 +0100 <[exa]> actually looks like `forkOS` and then RTS `forkOS_createThread` always make a new pthread and detach it
2023-11-01 15:25:59 +0100thegeekinside(~thegeekin@189.180.105.214)
2023-11-01 15:26:53 +0100 <aztex> > actually looks like `forkOS` and then RTS `forkOS_createThread` always make a new pthread and detach it
2023-11-01 15:26:54 +0100 <aztex> If that is the case then my earlier intuition might be correct
2023-11-01 15:26:55 +0100 <lambdabot> <hint>:1:34: error: parse error on input ‘then’
2023-11-01 15:28:25 +0100 <[exa]> like, I still wouldn't rely on that
2023-11-01 15:28:29 +0100 <[exa]> why do you need usleep btw?
2023-11-01 15:28:55 +0100 <aztex> I am working on a modified fork of the GHC RTS where I have disabled all the timing APIs
2023-11-01 15:29:21 +0100 <aztex> for a reason (linking with a libc that isn't POSIX compliant)
2023-11-01 15:29:43 +0100crvs(~crvs@185.147.238.3)
2023-11-01 15:29:46 +0100 <aztex> very strange setup :)
2023-11-01 15:30:01 +0100gatekempt(~gatekempt@user/gatekempt)
2023-11-01 15:31:48 +0100beteigeuze(~Thunderbi@185.206.24.241)
2023-11-01 15:33:18 +0100 <adamCS> Anyone know of any differences in how ghc 9.4.x and ghc 9.6.x find plugins? I'm trying to upgrade to 9.6.3 from 9.4.7. The exact same repo compiles on 9.4.7 but, when installing a dynamic library during building on 9.4.6, gives me a "Could not find module ‘Polysemy.Plugin’". I'm not quite sure how to debug this. I asked yesterday on the ghc group but got no replies.
2023-11-01 15:33:47 +0100 <adamCS> Sorry, when attempting to build using 9.6.3 not 9.4.6.
2023-11-01 15:34:16 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-11-01 15:35:16 +0100htor(~htor@84.208.240.181)
2023-11-01 15:36:11 +0100oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Quit: oo_miguel)
2023-11-01 15:38:02 +0100acidjnk(~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2023-11-01 15:38:20 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-11-01 15:38:58 +0100 <[exa]> adamCS: plugins or modules?
2023-11-01 15:39:05 +0100 <[exa]> aztex: oh wow ok, good luck :]
2023-11-01 15:39:37 +0100 <adamCS> exa: Well, it's complaining about the module but it's a module for a plugin so I guess I'm not sure.
2023-11-01 15:39:43 +0100 <[exa]> adamCS: btw did you check that the resolved polysemy version is the same?
2023-11-01 15:40:25 +0100 <[exa]> my wild first guess would be some kind of small version difference, or a CPP #ifdef in source that breaks on versions or so
2023-11-01 15:41:03 +0100 <adamCS> exa: No! And I hadn't thought about the differences in the deps. How would I check that? I often want to know which version of something I'm getting in a build and I don't know an easy way...
2023-11-01 15:41:48 +0100 <[exa]> you build with cabal right?
2023-11-01 15:42:01 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2023-11-01 15:42:13 +0100 <adamCS> yes
2023-11-01 15:42:39 +0100 <aztex> Thanks for the discussion [exa]
2023-11-01 15:42:48 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 15:43:02 +0100aztex(~aztex@2001:6b0:2:2801:2ba8:4ba0:f78d:8f72) (Quit: Client closed)
2023-11-01 15:43:05 +0100danse-nr3(~danse@fi-19-197-182.service.infuturo.it) (Ping timeout: 255 seconds)
2023-11-01 15:43:38 +0100beteigeuze(~Thunderbi@185.206.24.241) (Quit: beteigeuze)
2023-11-01 15:43:54 +0100 <[exa]> adamCS: there should be a cabal command that dumps all resolved package versions but I can't find it lol
2023-11-01 15:44:31 +0100danse-nr3(~danse@fi-19-197-182.service.infuturo.it)
2023-11-01 15:44:31 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 15:44:39 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 15:45:01 +0100gatekempt(~gatekempt@user/gatekempt) (Ping timeout: 255 seconds)
2023-11-01 15:46:15 +0100 <[exa]> (like, you can have a look at the plan in dist-newstyle/cache/plan.json but that might be a hack :D )
2023-11-01 15:48:05 +0100Pickchea(~private@user/pickchea)
2023-11-01 15:48:35 +0100 <adamCS> exa: Thanks! That is sort of a pain to look at but it's something...
2023-11-01 15:49:02 +0100 <[exa]> pipe it through `jq .`, it looks pretty much ok
2023-11-01 15:49:28 +0100 <[exa]> `cabal freeze` might help too, the freeze file it creates contains all versions precisely
2023-11-01 15:49:54 +0100 <[exa]> there should be a command for it but I have no idea how to find it, maybe others here will know
2023-11-01 15:50:21 +0100gatekempt(~gatekempt@user/gatekempt)
2023-11-01 15:50:35 +0100 <adamCS> 'jq' was new to me. Nice!
2023-11-01 15:51:27 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-11-01 15:51:51 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de)
2023-11-01 15:52:16 +0100 <adamCS> Looks like the same polysemy version, 19.1.3
2023-11-01 15:53:12 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-11-01 15:54:53 +0100acidjnk(~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de)
2023-11-01 15:55:51 +0100tjnhxmzhmqgytuwt(~user@cust-west-par-46-193-2-167.cust.wifirst.net)
2023-11-01 15:57:20 +0100tjnhxmzhmqgytuwt(~user@cust-west-par-46-193-2-167.cust.wifirst.net) (Client Quit)
2023-11-01 15:57:42 +0100tjnhxmzhmqgytuwt(~user@cust-west-par-46-193-2-167.cust.wifirst.net)
2023-11-01 15:58:50 +0100gatekempt(~gatekempt@user/gatekempt) (Ping timeout: 255 seconds)
2023-11-01 15:58:57 +0100 <[exa]> adamCS: likely in a different package.... can you pastebin the whole error? (see /topic for pastebin link)
2023-11-01 15:59:00 +0100tjnhxmzhmqgytuwtAssCrackBandit
2023-11-01 15:59:07 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 264 seconds)
2023-11-01 16:01:46 +0100 <adamCS> I think that's right. It happens when installing the library for a dependency: https://paste.tomsmeding.com/9ZgOunhP
2023-11-01 16:05:28 +0100 <adamCS> The library it's referring to itself builds fine. Trying now to use local source instead of github repo for that dependency so I can make sure it's exactly the same and see the plan file for it as well.
2023-11-01 16:11:10 +0100 <adamCS> Weird. Builds fine using the local version.
2023-11-01 16:12:09 +0100AssCrackBandit(~user@cust-west-par-46-193-2-167.cust.wifirst.net) (Ping timeout: 245 seconds)
2023-11-01 16:12:47 +0100 <adamCS> And, as far as "git status" will tell me, they are the same.
2023-11-01 16:19:07 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-11-01 16:20:29 +0100andreso(~andreso@user/andreso)
2023-11-01 16:27:47 +0100 <thegman> is there a way to assign a variable thats never used
2023-11-01 16:27:58 +0100 <thegman> would that be disabling lazy evaluation
2023-11-01 16:28:15 +0100 <thegman> i just want to calculate all the prime numbers between 1 and 1000000 without printing them
2023-11-01 16:29:23 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-11-01 16:32:51 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
2023-11-01 16:32:54 +0100htor(~htor@84.208.240.181) (Quit: htor)
2023-11-01 16:34:56 +0100 <int-e> print their sum? there are proper ways to force evaluation, see `seq`, Control.Exception.evaluate, and the various variantions on deepseq
2023-11-01 16:36:31 +0100 <thegman> how do i use it in a let statement
2023-11-01 16:36:43 +0100 <EvanR> mapM_ evaluate primes
2023-11-01 16:36:52 +0100 <EvanR> which is an IO action
2023-11-01 16:37:12 +0100 <EvanR> :t evaluate
2023-11-01 16:37:13 +0100 <lambdabot> a -> IO a
2023-11-01 16:37:21 +0100 <int-e> thegman: May I ask why though...
2023-11-01 16:37:31 +0100 <thegman> i wanted to do a speed test
2023-11-01 16:37:39 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-01 16:37:43 +0100 <int-e> So it doesn't have to be a let then.
2023-11-01 16:37:56 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 16:38:10 +0100 <int-e> I'd seriously recommend printing the sum because that doubles as an indicator of correctness.
2023-11-01 16:38:33 +0100 <thegman> ok then
2023-11-01 16:38:36 +0100 <EvanR> well then the speed test includes the speed of summing
2023-11-01 16:39:05 +0100int-ehas broken code while trying to optimize it too many times.
2023-11-01 16:39:07 +0100 <EvanR> my suggestion includes the speed of evaluating... though that might be the point
2023-11-01 16:39:21 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2023-11-01 16:39:29 +0100 <int-e> EvanR: I suspect the overhead of summing is smaller :)
2023-11-01 16:40:07 +0100 <int-e> But I haven't benchmarked a thing.
2023-11-01 16:40:15 +0100 <EvanR> then to satisfy the lack of printing, which might be an XY problem, evaluate (sum primes)
2023-11-01 16:41:20 +0100 <int-e> sure.
2023-11-01 16:41:41 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:2871:6c00:10b3:bec4)
2023-11-01 16:41:41 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:2871:6c00:10b3:bec4) (Changing host)
2023-11-01 16:41:41 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-11-01 16:42:03 +0100 <int-e> My recommendation stems from the fact that I've often timed code blindly while optimizing it, only to find out that the optimized version was also wrong :)
2023-11-01 16:42:52 +0100 <int-e> (But there was no context provided, this is my imagination colored by personal experience.)
2023-11-01 16:43:16 +0100dsrt^(~cd@76.145.193.217) (Ping timeout: 260 seconds)
2023-11-01 16:44:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-11-01 16:44:56 +0100 <EvanR> my benchmark is showing a number too large. Gotta change the benchmark xD
2023-11-01 16:46:18 +0100 <EvanR> a well designed benchmark in any language will involve doing something identifiable, so print the sum seems more cromulent
2023-11-01 16:48:49 +0100red-snail1(~snail@static.151.210.203.116.clients.your-server.de)
2023-11-01 16:49:56 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-11-01 16:50:24 +0100santiagopim(~user@90.167.66.131)
2023-11-01 16:53:43 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 16:54:27 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-11-01 16:54:32 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 16:59:08 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 16:59:20 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de)
2023-11-01 16:59:58 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-11-01 17:00:22 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-01 17:00:42 +0100notzmv(~zmv@user/notzmv)
2023-11-01 17:00:48 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 17:03:05 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 17:03:42 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 17:05:22 +0100thegeekinside(~thegeekin@189.180.105.214) (Ping timeout: 252 seconds)
2023-11-01 17:05:46 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-11-01 17:09:11 +0100thegeekinside(~thegeekin@189.180.105.214)
2023-11-01 17:10:35 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
2023-11-01 17:10:57 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de)
2023-11-01 17:13:13 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2023-11-01 17:14:09 +0100gmg(~user@user/gehmehgeh)
2023-11-01 17:15:32 +0100hugo(znc@130.236.254.26)
2023-11-01 17:16:52 +0100vglfr(~vglfr@88.155.154.204) (Remote host closed the connection)
2023-11-01 17:17:09 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 17:20:38 +0100vglfr(~vglfr@88.155.154.204) (Remote host closed the connection)
2023-11-01 17:21:10 +0100Square2(~Square@user/square)
2023-11-01 17:21:24 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 17:21:30 +0100vglfr(~vglfr@88.155.154.204) (Remote host closed the connection)
2023-11-01 17:22:23 +0100andreso(~andreso@user/andreso) (Quit: eof)
2023-11-01 17:22:49 +0100thegeekinside(~thegeekin@189.180.105.214) (Ping timeout: 255 seconds)
2023-11-01 17:23:15 +0100thegeekinside(~thegeekin@189.141.80.123)
2023-11-01 17:26:09 +0100EvanR(~EvanR@user/evanr) (Quit: Leaving)
2023-11-01 17:26:56 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 17:27:44 +0100EvanR(~EvanR@user/evanr)
2023-11-01 17:29:36 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-01 17:29:58 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 17:30:03 +0100AssCrackBandit(~user@cust-west-par-46-193-2-167.cust.wifirst.net)
2023-11-01 17:30:03 +0100crvs(~crvs@185.147.238.3) (Read error: Connection reset by peer)
2023-11-01 17:33:24 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
2023-11-01 17:33:37 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-11-01 17:34:11 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 17:34:38 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 17:35:35 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 240 seconds)
2023-11-01 17:35:51 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-01 17:37:58 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-11-01 17:46:08 +0100sabino(~sabino@user/sabino)
2023-11-01 17:49:42 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2023-11-01 17:55:08 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-11-01 17:55:13 +0100fendor(~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) (Remote host closed the connection)
2023-11-01 17:55:45 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-11-01 17:56:52 +0100AssCrackBandit(~user@cust-west-par-46-193-2-167.cust.wifirst.net) (Ping timeout: 255 seconds)
2023-11-01 17:58:15 +0100lortabac(~lorenzo@2a01:e0a:541:b8f0:6820:a343:4d88:c9b8) (Quit: WeeChat 3.5)
2023-11-01 17:59:52 +0100 <danse-nr3> irc-cloud ought to be having some troubles
2023-11-01 18:02:30 +0100danse-nr3(~danse@fi-19-197-182.service.infuturo.it) (Read error: Connection reset by peer)
2023-11-01 18:02:57 +0100danse-nr3(~danse@151.47.190.137)
2023-11-01 18:03:57 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 18:08:42 +0100AlexZenon(~alzenon@94.233.241.58) (Ping timeout: 255 seconds)
2023-11-01 18:09:37 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
2023-11-01 18:11:43 +0100Nachtgespenst(~user@user/siracusa) (Quit: Bye!)
2023-11-01 18:15:37 +0100 <EvanR> why
2023-11-01 18:15:37 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 18:15:48 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 18:19:34 +0100 <danse-nr3> a lot of joins and quits
2023-11-01 18:19:49 +0100AlexZenon(~alzenon@94.233.241.58)
2023-11-01 18:20:02 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-11-01 18:20:11 +0100 <danse-nr3> not as many as last time irc-cloud had troubles, to be fair
2023-11-01 18:21:03 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de)
2023-11-01 18:25:04 +0100 <geekosaur> most of them are the same handful of people
2023-11-01 18:26:00 +0100 <danse-nr3> maybe some network infrastructure component somewhere
2023-11-01 18:32:16 +0100 <[exa]> danse-nr3: you can hide joins and parts, problem solved
2023-11-01 18:33:08 +0100 <geekosaur> and irccloud already had its trouble for the week 😛
2023-11-01 18:33:33 +0100 <geekosaur> (the bnc-like bridge crashed sometime yesterday)
2023-11-01 18:34:07 +0100 <danse-nr3> i was just interested in what was going on
2023-11-01 18:41:24 +0100rosco(~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal)
2023-11-01 18:44:22 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-11-01 18:46:30 +0100ShelobShe
2023-11-01 18:47:28 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-11-01 18:47:53 +0100 <yin> with OverloadedLists is there a way of telling ghc to assume normal lists when the type can't be inferred?
2023-11-01 18:48:26 +0100__monty__(~toonn@user/toonn)
2023-11-01 18:49:14 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-11-01 18:49:19 +0100 <yin> like if i write `and [a,b,c]` i and enable the extension i don't want to have to write `and ([a,b,c] :: [Bool])`
2023-11-01 18:49:53 +0100 <EvanR> in that example, wouldn't the type in fact be inferred
2023-11-01 18:49:58 +0100Lycurgus(~georg@li1192-118.members.linode.com)
2023-11-01 18:49:58 +0100Lycurgus(~georg@li1192-118.members.linode.com) (Changing host)
2023-11-01 18:49:58 +0100Lycurgus(~georg@user/Lycurgus)
2023-11-01 18:50:02 +0100 <EvanR> oh, the type of list
2023-11-01 18:50:05 +0100 <yin> yes
2023-11-01 18:50:22 +0100 <yin> as opposed to a Set or something
2023-11-01 18:50:34 +0100 <EvanR> :t and
2023-11-01 18:50:35 +0100 <lambdabot> Foldable t => t Bool -> Bool
2023-11-01 18:51:33 +0100 <EvanR> what about ExtendedDefaultRules
2023-11-01 18:52:14 +0100 <yin> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_lists.html#defaulting
2023-11-01 18:53:26 +0100 <EvanR> hahaha
2023-11-01 18:54:37 +0100 <EvanR> honestly I would just disable OverloadedList and use a function taking a list when I don't want a list
2023-11-01 18:56:36 +0100 <yin> i'm trying different containers for the same program so i wanted to see if i could change just a type synonym instead of having to change it multiple lines across files
2023-11-01 18:57:08 +0100 <EvanR> or take a ([a] -> f a) argument, then change the f
2023-11-01 18:57:38 +0100 <EvanR> use the algorithm at different f
2023-11-01 18:57:49 +0100 <yin> maybe RebindableSyntax
2023-11-01 18:58:04 +0100 <yin> i've never used it, just reading about it now
2023-11-01 19:00:47 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-01 19:01:19 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de)
2023-11-01 19:01:26 +0100danse-nr3(~danse@151.47.190.137) (Ping timeout: 272 seconds)
2023-11-01 19:04:54 +0100 <yin> ExtendedDefaultRUles did the trick just fine, thanks
2023-11-01 19:06:51 +0100 <yin> default ([])
2023-11-01 19:07:12 +0100 <EvanR> I guess the documentation needs to be updated
2023-11-01 19:07:24 +0100 <EvanR> because that's not obvious
2023-11-01 19:07:27 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-01 19:08:59 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-11-01 19:11:13 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-11-01 19:12:06 +0100h2t_(~h2t@user/h2t) (Quit: ZNC - https://znc.in)
2023-11-01 19:12:30 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2023-11-01 19:16:59 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-11-01 19:18:24 +0100monochrm(~trebla@138-51-85-114-lsn-2.nat.utoronto.ca)
2023-11-01 19:19:06 +0100danza(~francesco@151.47.190.137)
2023-11-01 19:20:31 +0100neceve(~neceve@user/neceve)
2023-11-01 19:24:22 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-11-01 19:26:03 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:2871:6c00:10b3:bec4)
2023-11-01 19:26:03 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:2871:6c00:10b3:bec4) (Changing host)
2023-11-01 19:26:03 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-11-01 19:26:49 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-11-01 19:29:13 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-01 19:29:33 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 19:30:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-01 19:33:30 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-11-01 19:33:43 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 19:35:51 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
2023-11-01 19:38:03 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2023-11-01 19:38:23 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2023-11-01 19:38:37 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de)
2023-11-01 19:38:55 +0100 <yin> yes
2023-11-01 19:39:58 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 19:40:32 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-11-01 19:44:40 +0100vglfr(~vglfr@88.155.154.204)
2023-11-01 19:44:58 +0100Lycurgus(~georg@user/Lycurgus)
2023-11-01 19:45:30 +0100 <thegman> i got the benchmark working
2023-11-01 19:45:31 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-11-01 19:45:52 +0100 <thegman> it takes 16 seconds to calculate the prime numbers between 1 and 16 million
2023-11-01 19:45:59 +0100 <thegman> 10 million*
2023-11-01 19:46:33 +0100 <c_wraith> that seems very slow
2023-11-01 19:46:43 +0100 <yin> thegman: which algorithm are you using?
2023-11-01 19:46:44 +0100 <thegman> im assuming i did something wrong
2023-11-01 19:46:52 +0100 <thegman> hang on il upload the code
2023-11-01 19:46:56 +0100 <c_wraith> well, it would be about right if you were using trial division
2023-11-01 19:47:25 +0100 <thegman> https://paste.tomsmeding.com/0Rs4tCzV
2023-11-01 19:48:14 +0100 <c_wraith> oh. yeah, that's trial division
2023-11-01 19:48:24 +0100 <c_wraith> Ok, 16 seconds sounds roughly right.
2023-11-01 19:48:38 +0100 <thegman> well
2023-11-01 19:48:48 +0100 <thegman> at least its a problem with my code and not a problem with some library
2023-11-01 19:50:21 +0100 <c_wraith> That is a bit of an odd specification, though. It returns 0 or the smallest prime factor?
2023-11-01 19:50:37 +0100 <thegman> i think i did that part wrong too
2023-11-01 19:50:42 +0100 <c_wraith> well. smallest factor >1, but that will always happen to be prime
2023-11-01 19:50:59 +0100 <c_wraith> it's weird to have res named at all
2023-11-01 19:51:09 +0100euleritian(~euleritia@dynamic-046-114-203-048.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-11-01 19:51:11 +0100 <thegman> i dont know how to do it without a variable
2023-11-01 19:51:12 +0100 <c_wraith> like... the res + 2 case will always just be 2
2023-11-01 19:51:27 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-11-01 19:51:40 +0100 <c_wraith> like, everywhere you use res, just substitute in 0
2023-11-01 19:51:47 +0100 <c_wraith> then simplify if it makes sense
2023-11-01 19:52:11 +0100 <thegman> ok just a minute i gotta go do something
2023-11-01 19:52:15 +0100 <c_wraith> oh. actually, it's return 0 if composite, n if prime
2023-11-01 19:52:21 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-11-01 19:52:24 +0100 <c_wraith> that's still a bit unusual, but sure
2023-11-01 19:53:11 +0100mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-01 19:53:28 +0100 <thegman> i couldnt figure out how to only do something if it was prime so i just did that
2023-11-01 19:54:02 +0100 <c_wraith> what would you prefer to have it return?
2023-11-01 19:54:25 +0100 <c_wraith> or is it returning what you want, and you just would like slightly more direct logic?
2023-11-01 19:54:34 +0100 <thegman> my goal is just to add together all the prime numbers then print them at the end
2023-11-01 19:54:42 +0100 <c_wraith> got it.
2023-11-01 19:54:54 +0100 <EvanR> hackage package arithmoi has isPrime :: Integer -> Bool
2023-11-01 19:54:57 +0100mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
2023-11-01 19:55:03 +0100 <EvanR> which is probablistic
2023-11-01 19:55:06 +0100 <c_wraith> I'd be tempted to factor the logic apart a bit more. Just return a boolean, then apply a filter before sum
2023-11-01 19:55:20 +0100 <c_wraith> EvanR: arithmoi is completely irrelevant to this sort of problem
2023-11-01 19:55:37 +0100 <c_wraith> arithmoi is for doing number theory, not math exercises to learn the language
2023-11-01 19:55:50 +0100 <EvanR> oh I thought we were trying to speed up primes
2023-11-01 19:56:04 +0100 <thegman> im mainly just trying to figure out the otherworldly syntax
2023-11-01 19:56:26 +0100 <yin> can we set default rules in the .cabal file?
2023-11-01 19:57:10 +0100 <c_wraith> thegman: In that case, I'd very much recommend prime having the type Integer -> Bool
2023-11-01 19:57:16 +0100mikess(~sam@S010664777dafd303.cg.shawcable.net)
2023-11-01 19:57:43 +0100 <c_wraith> thegman: and then your logic would be more like sum (filter prime [1..10000000])
2023-11-01 19:57:59 +0100 <thegman> il try that
2023-11-01 19:58:00 +0100 <c_wraith> thegman: it separates the different parts of what you're doing a bit more cleanly
2023-11-01 19:59:38 +0100 <c_wraith> yin: no - that's a per-module declaration that's part of the haskell source. It's not like language pragmas, which are an alternative to compiler flags
2023-11-01 20:01:48 +0100 <yin> got it
2023-11-01 20:02:05 +0100 <yin> any reason i can't seem to import GHC.Conc.listThreads ?
2023-11-01 20:02:27 +0100 <c_wraith> are you on a sufficiently new version of ghc?
2023-11-01 20:02:43 +0100 <yin> oh wait
2023-11-01 20:02:54 +0100 <c_wraith> that call has only existed since like 9.8, and it only worked without crashing since 9.8.2. IIRC
2023-11-01 20:03:21 +0100 <geekosaur> 9.6? we're only on 9.8.1
2023-11-01 20:03:27 +0100monochrm(~trebla@138-51-85-114-lsn-2.nat.utoronto.ca) (Ping timeout: 240 seconds)
2023-11-01 20:03:31 +0100 <c_wraith> Hmm. maybe.
2023-11-01 20:03:45 +0100 <c_wraith> yeah, must be.
2023-11-01 20:03:51 +0100 <c_wraith> 9.6 instead of 9.8 in those
2023-11-01 20:04:00 +0100 <yin> that's it. thanks
2023-11-01 20:08:00 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-11-01 20:10:38 +0100ss4(~wootehfoo@user/wootehfoot)
2023-11-01 20:10:54 +0100Pickchea(~private@user/pickchea)
2023-11-01 20:11:43 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 264 seconds)
2023-11-01 20:12:22 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 252 seconds)
2023-11-01 20:15:21 +0100 <thegman> that worked
2023-11-01 20:15:32 +0100Guest36(~Guest37@149.159.195.52)
2023-11-01 20:16:00 +0100 <thegman> so is "filter" matching all "True"s with the number in the same location in the list
2023-11-01 20:17:46 +0100 <c_wraith> > filter even [1..10]
2023-11-01 20:17:47 +0100 <lambdabot> [2,4,6,8,10]
2023-11-01 20:17:52 +0100 <c_wraith> :t filter
2023-11-01 20:17:53 +0100 <lambdabot> (a -> Bool) -> [a] -> [a]
2023-11-01 20:18:03 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2023-11-01 20:18:14 +0100 <c_wraith> It's returning a new list that has only the elements for which the function returns true
2023-11-01 20:18:49 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-11-01 20:19:10 +0100 <c_wraith> that lets you separate the logic of "is this number prime" from any concern about what's being done with that knowledge
2023-11-01 20:20:12 +0100y04nn(~username@2a03:1b20:8:f011::e10d)
2023-11-01 20:20:49 +0100 <thegman> sorry i was afk
2023-11-01 20:21:10 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Remote host closed the connection)
2023-11-01 20:21:15 +0100 <thegman> thats pretty neat
2023-11-01 20:21:31 +0100thegeekinside(~thegeekin@189.141.80.123) (Remote host closed the connection)
2023-11-01 20:21:58 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-11-01 20:24:50 +0100 <c_wraith> One of the big things that can really trip you up when learning Haskell is that people put a lot of attention towards separating concerns, and it's not at all obvious what tools are available. You can spend a lot of time looking for something that doesn't exist - or that exists but in a very unexpected way
2023-11-01 20:28:26 +0100 <thegman> hopefully its worth it in the end
2023-11-01 20:35:17 +0100 <EvanR> learning haskell stuff really helped me in programming even in other languages
2023-11-01 20:36:00 +0100 <EvanR> the (working, beneficial) logic that ghc inflicts upon you can be emulated even in untyped languages, in your brain
2023-11-01 20:37:49 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-11-01 20:37:57 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-11-01 20:38:29 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2023-11-01 20:40:13 +0100michalz(~michalz@185.246.207.201)
2023-11-01 20:43:26 +0100ss4(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-11-01 20:43:43 +0100ss4(~wootehfoo@user/wootehfoot)
2023-11-01 20:48:01 +0100ss4(~wootehfoo@user/wootehfoot) (Client Quit)
2023-11-01 20:48:18 +0100ss4(~wootehfoo@user/wootehfoot)
2023-11-01 20:48:26 +0100ss4(~wootehfoo@user/wootehfoot) (Remote host closed the connection)
2023-11-01 20:51:35 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
2023-11-01 20:51:43 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2023-11-01 20:53:51 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-11-01 20:55:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401)
2023-11-01 21:00:12 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) (Ping timeout: 248 seconds)
2023-11-01 21:02:05 +0100 <yin> haskell is nice
2023-11-01 21:05:02 +0100 <yin> sometimes I get annoyed at all its imperfections but then i try another languages and I remember to be grateful
2023-11-01 21:05:43 +0100swistak-(~swistak@185.21.216.141) (Ping timeout: 264 seconds)
2023-11-01 21:06:20 +0100 <juri_> hear, hear.
2023-11-01 21:07:05 +0100y04nn(~username@2a03:1b20:8:f011::e10d) (Ping timeout: 240 seconds)
2023-11-01 21:08:36 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2023-11-01 21:11:11 +0100red-snail(~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-01 21:11:11 +0100red-snail1(~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2023-11-01 21:11:31 +0100red-snail(~snail@static.151.210.203.116.clients.your-server.de)
2023-11-01 21:14:08 +0100red-snail1(~snail@static.151.210.203.116.clients.your-server.de)
2023-11-01 21:18:21 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-11-01 21:20:25 +0100monochrm(~trebla@138-51-65-75-lsn-2.nat.utoronto.ca)
2023-11-01 21:21:18 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-11-01 21:21:19 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-11-01 21:21:31 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-11-01 21:23:12 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-11-01 21:23:30 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-11-01 21:29:00 +0100Guest36(~Guest37@149.159.195.52) (Quit: Client closed)
2023-11-01 21:29:54 +0100swistak(~swistak@185.21.216.141)
2023-11-01 21:31:30 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-11-01 21:33:00 +0100mikoto-chan(~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be)
2023-11-01 21:37:18 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-11-01 21:38:56 +0100swistak(~swistak@185.21.216.141) (Ping timeout: 255 seconds)
2023-11-01 21:44:37 +0100 <juri_> dumb question: how do i signify to the compiler that a function will always return a value with a given constructor that conforms to a given typeclass?
2023-11-01 21:44:40 +0100swistak(~swistak@185.21.216.141)
2023-11-01 21:45:29 +0100monochrm(~trebla@138-51-65-75-lsn-2.nat.utoronto.ca) (Quit: Leaving)
2023-11-01 21:46:11 +0100 <geekosaur> you don't get to specify that a given constructor will be used. you can specify a typeclass instance in the usual way (with a context)
2023-11-01 21:47:08 +0100 <geekosaur> (well, there's some type level shenanigans but you want to avoid those because they'll rot your brain)
2023-11-01 21:51:21 +0100 <juri_> fair. :)
2023-11-01 21:51:57 +0100 <EvanR> values don't conform to a type class, types do
2023-11-01 21:52:53 +0100 <EvanR> you can't do instance Num 'x' where, you have to do instance Num Char where, if you wanted to make Char a Num
2023-11-01 21:56:55 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401)
2023-11-01 21:57:16 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 248 seconds)
2023-11-01 21:58:09 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-11-01 22:04:04 +0100danza(~francesco@151.47.190.137) (Read error: Connection reset by peer)
2023-11-01 22:04:23 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-11-01 22:08:02 +0100Nachtgespenst(~user@user/siracusa)
2023-11-01 22:08:42 +0100holoweenhololeap
2023-11-01 22:10:15 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-11-01 22:17:35 +0100danza(~francesco@an-19-172-182.service.infuturo.it)
2023-11-01 22:22:27 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-11-01 22:28:15 +0100Jackneill(~Jackneill@20014C4E1E03D80081B997486BB26576.dsl.pool.telekom.hu) (Ping timeout: 240 seconds)
2023-11-01 22:32:11 +0100AssCrackBandit(~user@cust-west-par-46-193-2-167.cust.wifirst.net)
2023-11-01 22:33:13 +0100pixelmonk(~pixelmonk@173.46.79.26)
2023-11-01 22:35:07 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 264 seconds)
2023-11-01 22:36:55 +0100mikoto-chan(~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) (Ping timeout: 264 seconds)
2023-11-01 22:38:30 +0100 <dsal> How hard would it be for my software to conditionally exclude some functionality? In particular, I use postgres, but my software doesn't _require_ postgres, so could I make it not build the file that adds all the postgres-specific stuff and whatever database selection stuff I've got that uses it?
2023-11-01 22:39:44 +0100 <geekosaur> you're not supposed to use flags that way, but people often do
2023-11-01 22:40:11 +0100 <geekosaur> (the reason you're not supposed to do it is it really complicates dependencies when you have to deal with flags)
2023-11-01 22:41:23 +0100 <geekosaur> an alternative is to put the postgres-related stuff in a public sublibrary (or whatever they end up being called)
2023-11-01 22:43:01 +0100 <geekosaur> set it `buildable: false` if the pg libs aren't available (ideally this can be determined with pkg-config, but you could also use a flag)
2023-11-01 22:43:03 +0100y04nn(~username@2a03:1b20:8:f011::e10d)
2023-11-01 22:43:11 +0100 <dsal> Oh. So like, I could make a "plugin" for DB types. It might be worth learning to do that. sqlite is probably fine for most people.
2023-11-01 22:43:17 +0100y04nn(~username@2a03:1b20:8:f011::e10d) (Remote host closed the connection)
2023-11-01 22:46:03 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-11-01 22:46:13 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 255 seconds)
2023-11-01 22:48:24 +0100pretty_dumm_guy(~trottel@2a02:810b:43bf:aba0:919f:b5f7:24a3:5392)
2023-11-01 22:51:15 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-11-01 22:51:19 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-11-01 22:51:27 +0100infinity0(~infinity0@pwned.gg) (Ping timeout: 240 seconds)
2023-11-01 22:51:38 +0100chomwitt(~chomwitt@ppp-94-67-130-102.home.otenet.gr) (Remote host closed the connection)
2023-11-01 22:52:05 +0100chomwitt(~chomwitt@2a02:587:7a2d:bc00:1ac0:4dff:fedb:a3f1)
2023-11-01 22:53:34 +0100infinity0(~infinity0@pwned.gg)
2023-11-01 22:55:42 +0100mikess(~sam@S010664777dafd303.cg.shawcable.net) ()
2023-11-01 22:58:18 +0100pixelmonk(~pixelmonk@173.46.79.26) (Ping timeout: 272 seconds)
2023-11-01 22:58:39 +0100neceve(~neceve@user/neceve) (Ping timeout: 240 seconds)
2023-11-01 23:00:55 +0100Jackneill(~Jackneill@20014C4E1E03D8004F80E1E499FDC965.dsl.pool.telekom.hu)
2023-11-01 23:02:58 +0100 <EvanR> how does excluding functionality, or switching between alternative driver libs work if they come in the form of sublibraries
2023-11-01 23:03:19 +0100 <EvanR> which cabal thing allows that
2023-11-01 23:04:45 +0100laxmik(~laxmik@2a01:c23:90b6:7a00:654a:11b:230a:5041)
2023-11-01 23:05:37 +0100laxmik(~laxmik@2a01:c23:90b6:7a00:654a:11b:230a:5041) (Client Quit)
2023-11-01 23:05:55 +0100laxmik(~laxmik@2a01:c23:90b6:7a00:654a:11b:230a:5041)
2023-11-01 23:08:21 +0100laxmikmichals
2023-11-01 23:09:17 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2023-11-01 23:10:02 +0100pixelmonk(~pixelmonk@173.46.79.26)
2023-11-01 23:10:57 +0100pretty_dumm_guy(~trottel@2a02:810b:43bf:aba0:919f:b5f7:24a3:5392) (Quit: WeeChat 3.5)
2023-11-01 23:11:39 +0100Sgeo(~Sgeo@user/sgeo)
2023-11-01 23:18:20 +0100chomwitt(~chomwitt@2a02:587:7a2d:bc00:1ac0:4dff:fedb:a3f1) (Ping timeout: 248 seconds)
2023-11-01 23:19:26 +0100michals(~laxmik@2a01:c23:90b6:7a00:654a:11b:230a:5041) (Quit: michals)
2023-11-01 23:23:53 +0100 <geekosaur> each sublibrary has its own functionality, and is visible as a separate library on Hackage that other packages can use as a dependency if you set `visibility: public`
2023-11-01 23:27:55 +0100danza(~francesco@an-19-172-182.service.infuturo.it) (Ping timeout: 264 seconds)
2023-11-01 23:33:04 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-11-01 23:38:12 +0100htor(~htor@84.208.240.181)
2023-11-01 23:41:26 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-11-01 23:42:01 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds)
2023-11-01 23:46:53 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) (Ping timeout: 260 seconds)
2023-11-01 23:49:00 +0100arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
2023-11-01 23:50:07 +0100juri_(~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 264 seconds)
2023-11-01 23:52:08 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds)
2023-11-01 23:52:09 +0100juri_(~juri@84-19-175-187.pool.ovpn.com)
2023-11-01 23:53:57 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2023-11-01 23:54:05 +0100acidjnk(~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-11-01 23:57:10 +0100juri__(~juri@84-19-175-187.pool.ovpn.com)
2023-11-01 23:57:49 +0100michalz(~michalz@185.246.207.201) (Remote host closed the connection)
2023-11-01 23:58:18 +0100Guest91(~Guest37@149.159.195.52)
2023-11-01 23:58:40 +0100juri_(~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 255 seconds)