Home liberachat/#haskell: Logs Calendar

Logs on 2022-10-20 (liberachat/#haskell)

00:00:05 <EvanR> really, did leibniz come up with it? xD
00:01:02 <dminuoso> Im just saying that the idea of encoding state as a function producing a tuple is very old
00:01:21 <EvanR> well the question wasn't how to keep state but how to get a supply of unique names
00:01:54 <EvanR> there's the splittable generator stuff, but it seems a bit involved
00:02:22 <dminuoso> Are you implementing a language?
00:03:52 × Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds)
00:03:52 <dminuoso> At any rate, a simple state based name generator can be as simple as just keeping a counter in your state, and then using that number in your name
00:04:13 <dminuoso> So if that isnt enough, you arent telling us enough.
00:04:30 <geekosaur> which is all `gensym` does except it uses the equivalent of unsafePerformIO on a counter in an IORef
00:04:34 <EvanR> a simple state based state is simple by keeping state in the state and then you have state xD
00:04:58 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:04:58 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:04:58 wroathe joins (~wroathe@user/wroathe)
00:05:01 wroathe_ joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:05:05 <EvanR> yeah that's gensym
00:05:11 <dminuoso> Im highly unsure what you are asking for. You want a pure stateful name generation without unsafePerformIO, and you dont want state..?
00:05:21 <EvanR> I never said anything about state lol
00:05:23 <dminuoso> Okay.
00:05:46 <geekosaur> I will ask this more explicitly than earlier, then: what part of `unique` does not imply state to you?
00:06:12 <EvanR> well, is a list of unique values "state" ?
00:06:16 <geekosaur> or even more explicitly: how does it ensure uniqueness without state?
00:06:23 <geekosaur> yes
00:06:28 <EvanR> ._.
00:06:29 <dminuoso> EvanR: sure. knowing what values have been picked so far is state.
00:06:31 <EvanR> where am I
00:06:41 <dminuoso> EvanR: which is why the simplest such implementation is just a counter.
00:06:46 <geekosaur> or what values to pick next, which is just state in the other direction
00:06:48 <dminuoso> where the counter denotes all the numbers that have, already, been used for a name
00:07:46 × mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
00:08:58 mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001)
00:10:04 <EvanR> if you have an infinite list of unique values, i.e. the supply, then you can split it by taking the evens and the odds to get two new supplies. Which might be the answer. In one paper they throw something equivalent to this under the bus because of performance
00:10:42 × lyxia quits (~lyxia@poisson.chat) (Quit: WeeChat 3.5)
00:10:44 <EvanR> but might be the answer
00:11:55 × wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 246 seconds)
00:12:30 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds)
00:13:01 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
00:13:08 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
00:14:23 <dminuoso> Generating a list of numbers is probably easier and scales better
00:14:38 × wroathe quits (~wroathe@user/wroathe) (Killed (NickServ (GHOST command used by wroathe_!~wroathe@206-55-188-8.fttp.usinternet.com)))
00:14:42 wroathe_ is now known as wroathe
00:14:55 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:14:55 wroathe joins (~wroathe@user/wroathe)
00:15:31 <dminuoso> otherwise you will have a nasty quadric asymptotic on the depth of your name generation.
00:17:16 <EvanR> quadratic? how do you figure
00:17:18 <dminuoso> which is also splittable with some basic encoding, where you might say prepending [n, 0] is for local names, and [x] where x is non-null for splitting
00:17:26 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds)
00:17:38 <talismanick> How can I shorten `\x -> let _ = x :: MyType in foo . bar $ x` when calling QuickCheck from within HSpec?
00:17:44 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds)
00:17:50 <EvanR> oh, the thing they threw under the bus was to keep tacking on prefixes each time you split
00:18:00 <dminuoso> EvanR: imagine you generate a list of all numbers, the first time you split, each time you want to generate a number you have to force 2 elements of the spine of the original list.
00:18:10 <dminuoso> you split again, you will have to force 4 elements for each name
00:18:11 <talismanick> because it's a rather roundabout way to say that the argument should be of `MyType`
00:18:16 <EvanR> yeah that's exponential right
00:19:37 <dminuoso> talismanick: \(x :: MyType) -> ...
00:19:48 <dminuoso> (required ScopedTypeVariables)
00:19:59 <talismanick> ahh, I see
00:20:12 <talismanick> the typechecker didn't like that when I wrote it
00:20:20 <dminuoso> EvanR: hence, if you generate a list you can avoid that.
00:21:09 <dminuoso> well its actually generating a tree, sort if
00:21:36 <talismanick> yay, it works. thanks
00:21:42 <dminuoso> each non-left-most leaf would be a name
00:22:16 thegeekinside joins (~thegeekin@189.180.97.156)
00:23:00 <EvanR> for each split you increase the list of prefixes by 1, so it's linear in the splits instead of exponential?
00:23:05 <dminuoso> Right
00:23:15 lyxia joins (~lyxia@51.255.32.62)
00:23:25 <dminuoso> Well you can actually avoid the linear cost at the expense of memory
00:24:15 <dminuoso> but it depends on what kind of names you want to generate
00:24:25 <EvanR> unique ones xD
00:24:31 <dminuoso> do they have to be pretty?
00:24:34 <EvanR> nope
00:25:17 <dolio> You can instead store the information that would generate such numbers, which is an amount to shift, and bits to fill in the shifted portion with. However, you will still be using very large numbers very quickly.
00:26:22 <dolio> Like, Word64 probably isn't big enough.
00:26:54 <EvanR> without knowing the pattern of splitting ahead of time, you can't make the most use of the bits
00:27:09 <EvanR> which is probably where this performance concern came from
00:27:17 <dminuoso> Is splitting important to you for parallelism?
00:27:37 <EvanR> not really but that's a nice benefit
00:27:53 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds)
00:27:57 × inversed quits (~inversed@90.209.137.56) (Ping timeout: 268 seconds)
00:28:04 <EvanR> I'm just tired of rewriting every other pure function as a state monad
00:28:16 <EvanR> hoping to sometimes find there's other ways
00:28:34 <dminuoso> See, I found pleasure in using unboxed state with unboxed tuples, unboxed ints...
00:28:41 <dminuoso> Not boring anymore. :)
00:31:06 <Axman6> you know you're having a good day when you get to use a bunch of #'s
00:31:41 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
00:37:42 rockystone joins (~rocky@user/rockymarine)
00:37:47 <EvanR> dminuoso you're in good company, see the very bottom snippet https://stackoverflow.com/questions/6311512/creating-unique-labels-in-haskell
00:38:44 <EvanR> i get the impression any and all tasks have a solution involving # everywhere
00:39:06 Lumia joins (~Lumia@user/Lumia)
00:39:37 × talismanick quits (~talismani@96.71.204.25) (Ping timeout: 255 seconds)
00:42:17 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
00:47:03 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
00:57:57 rockystone joins (~rocky@user/rockymarine)
01:00:04 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
01:00:38 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
01:01:20 Lord_of_Life_ is now known as Lord_of_Life
01:05:33 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
01:10:56 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
01:12:01 × xff0x quits (~xff0x@2405:6580:b080:900:6701:db86:2182:5220) (Ping timeout: 260 seconds)
01:12:09 × danza quits (~francesco@151.57.79.164) (Read error: Connection reset by peer)
01:12:10 zaquest joins (~notzaques@5.130.79.72)
01:23:09 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
01:26:50 codaraxis__ joins (~codaraxis@user/codaraxis)
01:28:12 danza joins (~francesco@151.57.122.37)
01:29:41 codaraxis joins (~codaraxis@user/codaraxis)
01:30:41 × codaraxis___ quits (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
01:32:37 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
01:32:46 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds)
01:33:07 × codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 272 seconds)
01:35:31 img joins (~img@user/img)
01:35:57 × Lumia quits (~Lumia@user/Lumia) (Ping timeout: 260 seconds)
01:41:43 jargon joins (~jargon@184.101.208.112)
01:43:00 × jargon quits (~jargon@184.101.208.112) (Remote host closed the connection)
01:43:32 × beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 260 seconds)
01:44:57 phma_ is now known as phma
01:47:04 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
01:50:33 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
01:51:40 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds)
01:53:11 rockystone joins (~rocky@user/rockymarine)
01:53:39 × zaquest quits (~notzaques@5.130.79.72) (*.net *.split)
01:53:39 × lyxia quits (~lyxia@51.255.32.62) (*.net *.split)
01:53:39 × jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (*.net *.split)
01:53:39 × pavonia quits (~user@user/siracusa) (*.net *.split)
01:53:55 lyxia joins (~lyxia@poisson.chat)
01:54:01 jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
01:54:01 zaquest joins (~notzaques@5.130.79.72)
01:54:36 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
01:57:41 frost78 joins (~frost@user/frost)
01:57:55 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds)
01:58:36 pavonia joins (~user@user/siracusa)
02:02:11 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
02:03:10 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
02:04:57 img joins (~img@user/img)
02:06:22 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
02:06:22 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
02:06:22 wroathe joins (~wroathe@user/wroathe)
02:17:56 × td_ quits (~td@83.135.9.59) (Ping timeout: 260 seconds)
02:19:40 td_ joins (~td@83.135.9.19)
02:19:44 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
02:24:18 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds)
02:24:52 rockystone joins (~rocky@user/rockymarine)
02:29:10 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:29:10 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:29:10 finn_elija is now known as FinnElija
02:35:40 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
02:38:22 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
02:38:35 yuzhao joins (~yuzhao@36.112.45.77)
02:39:41 rockystone joins (~rocky@user/rockymarine)
02:41:39 king_gs joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0)
02:45:22 jmorris joins (uid537181@id-537181.uxbridge.irccloud.com)
02:47:07 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
02:48:10 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
02:54:56 detuneattune joins (~detuneatt@user/detuneattune)
02:55:25 nate1 joins (~nate@98.45.169.16)
02:57:07 × yuzhao quits (~yuzhao@36.112.45.77) (Ping timeout: 246 seconds)
02:58:13 × king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 255 seconds)
02:58:44 rockystone joins (~rocky@user/rockymarine)
03:03:06 × detuneattune quits (~detuneatt@user/detuneattune) (Quit: detuneattune)
03:06:24 inversed joins (~inversed@bcdcac82.skybroadband.com)
03:07:18 detuneattune joins (~detuneatt@user/detuneattune)
03:07:25 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Remote host closed the connection)
03:08:10 × detuneattune quits (~detuneatt@user/detuneattune) (Client Quit)
03:09:42 yuzhao joins (~yuzhao@36.112.45.77)
03:14:24 detuneattune joins (~detuneatt@user/detuneattune)
03:19:12 × yuzhao quits (~yuzhao@36.112.45.77) (Ping timeout: 260 seconds)
03:21:10 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds)
03:25:18 Lumia joins (~Lumia@user/Lumia)
03:36:07 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
03:38:00 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds)
03:46:34 yuzhao joins (~yuzhao@36.112.45.77)
03:46:34 × Vajb quits (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer)
03:46:49 Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
03:50:50 × yuzhao quits (~yuzhao@36.112.45.77) (Ping timeout: 252 seconds)
03:53:08 074AAAFF2 joins (~vn36@123.63.203.210)
03:54:40 <EvanR> when I translated my glorious state monad code to elixir, which does not have monads, I used a temporary process to hold the state. The size of the code came out equal to haskell, but I was told it was not idiomatic xD
03:55:46 <EvanR> haskell : monads :: elixir : processes, come on
03:57:17 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
04:01:19 × monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER)
04:01:47 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds)
04:02:07 nate1 joins (~nate@98.45.169.16)
04:07:07 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
04:07:49 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds)
04:11:32 rockystone joins (~rocky@user/rockymarine)
04:13:05 monochrom joins (trebla@216.138.220.146)
04:13:29 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
04:18:24 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds)
04:20:18 mbuf joins (~Shakthi@49.204.135.71)
04:21:08 yelllloowwww joins (~igloo@76.209.246.53)
04:24:18 × Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
04:24:42 × [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
04:24:47 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
04:24:59 Vajb joins (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
04:26:17 × yelllloowwww quits (~igloo@76.209.246.53) (Ping timeout: 260 seconds)
04:27:33 [Leary] joins (~Leary]@user/Leary/x-0910699)
04:29:19 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
04:30:01 × Lumia quits (~Lumia@user/Lumia) (Ping timeout: 255 seconds)
04:30:24 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds)
04:31:38 <Axman6> dminuoso: are you responsible for flatparse?
04:34:59 nate1 joins (~nate@98.45.169.16)
04:40:17 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
05:02:42 × 074AAAFF2 quits (~vn36@123.63.203.210) (Ping timeout: 252 seconds)
05:11:58 × danza quits (~francesco@151.57.122.37) (Read error: Connection reset by peer)
05:15:09 × jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
05:16:26 axeman joins (~quassel@2a02:8109:a380:78:5219:72f2:505c:674c)
05:28:27 danza joins (~francesco@151.43.231.219)
05:31:57 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:33:09 mixfix41 joins (~sdeny9ee@user/mixfix41)
05:33:28 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
05:36:46 chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
05:42:00 yvan-sraka joins (~yvan-srak@2a01cb0802a4b900babea20f7de51cb8.ipv6.abo.wanadoo.fr)
05:46:26 × axeman quits (~quassel@2a02:8109:a380:78:5219:72f2:505c:674c) (Ping timeout: 272 seconds)
05:47:18 aliosablack joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
05:49:05 × aliosablack quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
05:49:32 aliosablack joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
05:52:12 chomwitt is now known as Guest4561
05:52:12 × Guest4561 quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Killed (tungsten.libera.chat (Nickname regained by services)))
05:52:12 aliosablack is now known as chomwitt
05:52:37 Guest4561 joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
05:58:21 × yvan-sraka quits (~yvan-srak@2a01cb0802a4b900babea20f7de51cb8.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
05:59:36 jakalx parts (~jakalx@base.jakalx.net) ()
06:02:26 king_gs joins (~Thunderbi@187.201.131.180)
06:02:35 jakalx joins (~jakalx@base.jakalx.net)
06:10:41 × Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds)
06:15:13 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds)
06:17:44 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
06:18:04 berberman joins (~berberman@user/berberman)
06:21:37 vn36_ joins (~vn36@123.63.203.210)
06:21:39 × king_gs quits (~Thunderbi@187.201.131.180) (Read error: Connection reset by peer)
06:22:02 kenran` joins (~user@user/kenran)
06:22:55 Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
06:23:14 king_gs joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0)
06:27:02 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
06:30:09 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds)
06:31:27 rockystone joins (~rocky@user/rockymarine)
06:31:53 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
06:32:19 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
06:34:37 × vn36_ quits (~vn36@123.63.203.210) (Ping timeout: 260 seconds)
06:35:34 × echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
06:36:06 echoreply joins (~echoreply@45.32.163.16)
06:36:29 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 272 seconds)
06:37:15 Lycurgus joins (~juan@user/Lycurgus)
06:38:48 × m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.7)
06:40:18 rockystone joins (~rocky@user/rockymarine)
06:40:47 m1dnight joins (~christoph@78-22-0-121.access.telenet.be)
06:48:55 akegalj joins (~akegalj@109.60.124.36)
06:49:36 × Guest4561 quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
06:49:36 × chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
06:51:28 chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
06:53:48 × raym quits (~aritra@user/raym) (Ping timeout: 264 seconds)
06:54:32 raym joins (~aritra@user/raym)
06:58:25 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:59:32 zeenk joins (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494)
06:59:55 titibandit joins (~titibandi@xdsl-78-34-208-230.nc.de)
07:01:40 <akegalj> User on reddit post said "it would be useful if type system could track partial functions" https://old.reddit.com/r/haskell/comments/y8dulb/why_is_the_koolaid_so_fucking_delicious/it1e2s0/ . Well, is there anything foundamentally stopping us to define Partial class and mark bits of functions with it and thus colour every function upstream with this constraint? It might have poor performance but in my
07:01:46 <akegalj> mind it could be done. Am I missing something?
07:02:26 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
07:06:29 × chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
07:08:05 acidjnk_new joins (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de)
07:08:31 chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
07:09:06 mc47 joins (~mc47@xmonad/TheMC47)
07:09:08 Kaiepi joins (~Kaiepi@108.175.84.104)
07:09:36 × Ristovski quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 260 seconds)
07:10:40 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds)
07:11:17 × chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
07:11:20 michalz joins (~michalz@185.246.207.221)
07:13:11 chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
07:14:55 MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl)
07:15:10 Ristovski joins (~Ristovski@hellomouse/perf/ristovski)
07:18:02 <c_wraith> akegalj: I think the request was more along the lines of mandatory tracking. Which is difficult. A naive first pass would have to mark every recursive function call as Partial
07:23:53 yvan-sraka joins (~yvan-srak@163.172.69.160)
07:24:12 codaraxis__ joins (~codaraxis@user/codaraxis)
07:24:56 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
07:25:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:25:42 × akegalj quits (~akegalj@109.60.124.36) (Ping timeout: 252 seconds)
07:27:09 × Ristovski quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 272 seconds)
07:27:40 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds)
07:28:42 × yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds)
07:29:07 rockystone joins (~rocky@user/rockymarine)
07:29:32 coot joins (~coot@213.134.171.3)
07:32:38 akegalj joins (~akegalj@212.15.177.13)
07:33:20 <akegalj> c_wraith: yes, it would be hard to move whole ecosystem to the state where everything is marked as Partial. Are you saying that most systems out there which support tracking partial functions can do it optionally ? If I remember correctly purescript also has mandatory partial tracking
07:33:21 yvan-sraka joins (~yvan-srak@163.172.69.160)
07:33:27 <akegalj> c_wraith: or did you mean it "would be difficult" in some other way?
07:34:17 <akegalj> (sorry if this message came out few times, connection issues)
07:37:29 × yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds)
07:39:33 <c_wraith> I was mostly looking at "partial" being really annoying to determine in turing-complete langauges
07:39:44 <c_wraith> wow, my spelling is atrocious at this time of day
07:39:44 <[Leary]> akegalj: Your description using a constraint would rely on programmer discipline. Actual compiler-checked totality isn't easy to implement, nor is it easy for programmers to shape their programs so the compiler will accept them as such.
07:40:36 <c_wraith> (by "really annoying" I mean "actually impossible")
07:42:16 × glguy quits (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 260 seconds)
07:42:21 <akegalj> c_wraith: [Leary]: that makes sense
07:42:50 <akegalj> do you happen to know how purescript implements Partial functionality ?
07:43:10 <c_wraith> It probably ignores non-termination as a source of partiality
07:43:39 <c_wraith> If you do that, you can just mark specific language constructs, like incomplete pattern matches
07:44:06 yvan-sraka joins (~yvan-srak@163.172.69.160)
07:44:29 <[Leary]> So long as we don't actually /reject/ partial functions we won't lose turing completeness. It's just that the compiler can only recognise a decidable subset of total functions, so you'd have to write your program within that subset or accept the compiler presuming it partial.
07:44:40 <dminuoso> Axman6: No, but I've started doing work on it.
07:44:50 <[Leary]> Idris and co work like that.
07:45:08 <[Leary]> Well, except that they really do reject the partial functions.
07:45:19 × yvan-sraka quits (~yvan-srak@163.172.69.160) (Remote host closed the connection)
07:45:37 yvan-sraka joins (~yvan-srak@163.172.69.160)
07:46:22 zer0bitz joins (~zer0bitz@2001:2003:f748:2000:b8a3:a4ce:6b2a:34af)
07:47:02 glguy joins (~glguy@libera/staff-emeritus/glguy)
07:47:14 <dminuoso> EvanR: Huh Im surprised, state is usually modelled very similar to state monad - but it requires a bit of squinting.
07:49:14 <akegalj> [Leary]: c_wraith: ok, that makes things clear for me. I was always confused how purescript managed to pull that up, but I guess it only marks subset of all partial functions as partial (ignoring non-termination)
07:51:50 <akegalj> and when I was writing my first comment/question up there (asking why haskell can't do a similar trick) I actually forgot about non-termination part :D which was a bit naive from me
07:55:07 <dminuoso> EvanR: At any rate, `Functional Pearl: On generating unique names` by Lennart Augustsson, Mikael Rittri and Dan Synek seems to be the relevant document.
07:55:57 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
07:57:27 × thegeekinside quits (~thegeekin@189.180.97.156) (Ping timeout: 260 seconds)
07:57:31 _xor joins (~xor@74.215.182.83)
07:57:45 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
07:59:33 shriekingnoise joins (~shrieking@186.137.167.202)
08:00:56 nate1 joins (~nate@98.45.169.16)
08:01:31 ccapndave joins (~ccapndave@xcpe-62-167-164-44.cgn.res.adslplus.ch)
08:03:19 × yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds)
08:03:26 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection)
08:03:58 yvan-sraka joins (~yvan-srak@37.171.191.42)
08:05:19 dagit6406 joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da)
08:05:42 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
08:06:12 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
08:06:47 × MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 260 seconds)
08:06:59 dagi33709 joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da)
08:07:18 × dagit quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Ping timeout: 264 seconds)
08:07:33 × dagit6406 quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Read error: Connection reset by peer)
08:07:47 Ristovski joins (~Ristovski@hellomouse/perf/ristovski)
08:09:00 × yvan-sraka quits (~yvan-srak@37.171.191.42) (Ping timeout: 244 seconds)
08:13:51 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
08:17:07 × jespada quits (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Ping timeout: 248 seconds)
08:18:30 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
08:20:39 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
08:20:39 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
08:20:39 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
08:20:39 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
08:21:50 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
08:22:02 jpds joins (~jpds@gateway/tor-sasl/jpds)
08:22:09 jespada joins (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net)
08:22:36 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
08:22:52 ChaiTRex joins (~ChaiTRex@user/chaitrex)
08:27:10 × jespada quits (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Ping timeout: 255 seconds)
08:28:20 × titibandit quits (~titibandi@xdsl-78-34-208-230.nc.de) (Remote host closed the connection)
08:31:34 MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl)
08:32:33 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 255 seconds)
08:32:45 jespada joins (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net)
08:37:56 × MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds)
08:40:28 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds)
08:43:51 rockystone joins (~rocky@user/rockymarine)
08:45:45 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
08:48:47 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
08:49:45 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
08:50:30 <albet70> let a=3 in id a, this 'let' create a lexical scope?
08:52:14 × Ristovski quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 252 seconds)
08:55:04 birdgoose joins (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe)
08:56:45 ubert joins (~Thunderbi@178.115.56.41.wireless.dyn.drei.com)
08:57:40 <dminuoso> Zes.
08:57:43 <dminuoso> Yes.
08:58:31 kuribas joins (~user@silversquare.silversquare.eu)
09:01:28 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
09:01:46 yvan-sraka joins (~yvan-srak@163.172.69.160)
09:01:59 <albet70> is it a closure?
09:02:47 <ski> "closure" is an implementation term
09:03:15 <ski> `a' is just a local variable, bound to `3'
09:03:53 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
09:04:51 <ski> (what are you trying to ask about ?)
09:05:52 × ubert quits (~Thunderbi@178.115.56.41.wireless.dyn.drei.com) (Ping timeout: 255 seconds)
09:06:47 × yvan-sraka quits (~yvan-srak@163.172.69.160) (Remote host closed the connection)
09:07:29 rockystone joins (~rocky@user/rockymarine)
09:08:22 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 252 seconds)
09:12:48 ubert joins (~Thunderbi@77.119.160.6.wireless.dyn.drei.com)
09:13:01 × akegalj quits (~akegalj@212.15.177.13) (Ping timeout: 246 seconds)
09:13:06 × danza quits (~francesco@151.43.231.219) (Read error: Connection reset by peer)
09:13:27 <kuribas> Anyone going to FOSDEM or BOB?
09:14:59 vglfr joins (~vglfr@145.224.100.100)
09:15:25 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
09:16:45 <albet70> in other languages like python or scheme we can create a closure by bind a function and a outside variable, so I wonder how to do x in y
09:17:47 <kuribas> > let adder = (+); add5 = adder 5 in add5 3
09:17:49 <lambdabot> 8
09:17:56 <kuribas> albet70: ^
09:18:15 <kuribas> you could capture a IORef if that's what you fancy.
09:18:39 vglfr joins (~vglfr@145.224.100.100)
09:20:24 × ccapndave quits (~ccapndave@xcpe-62-167-164-44.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com)
09:24:40 akegalj joins (~akegalj@213-202-90-118.dsl.iskon.hr)
09:25:07 wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130)
09:25:52 yvan-sraka joins (~yvan-srak@163.172.69.160)
09:26:48 × mjacob quits (~mjacob@adrastea.uberspace.de) (Read error: Connection reset by peer)
09:27:50 danza joins (~francesco@151.37.141.231)
09:31:22 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
09:31:40 × yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds)
09:31:57 mmhat joins (~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de)
09:32:12 mjacob joins (~mjacob@adrastea.uberspace.de)
09:32:30 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:33:48 × ft quits (~ft@p3e9bc845.dip0.t-ipconnect.de) (Quit: leaving)
09:36:10 Everything joins (~Everythin@37.115.210.35)
09:37:15 gmg joins (~user@user/gehmehgeh)
09:38:08 <dminuoso> albet70: A closure is an implementation detail.
09:42:19 × acidjnk_new quits (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
09:46:01 <dminuoso> albet70: Semantically what you meant is, given `let x = 5 in \y -> x + y`, `y` is bound in \y -> x + y`
09:46:33 <dminuoso> So yes, Haskell lets you bind variables from outside a lambda. Whether we end up using a closure or a different technique to implement that is an implementation detail
09:46:38 `2jt joins (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
09:46:58 <dminuoso> Oh sorry, I miswrote. `x` is bound in \y -> x + y`
09:47:30 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:48:12 <dminuoso> We could, instead, just create a new function on the spot with `x` replaced by 5. No closure needed.
09:48:43 <dminuoso> But from a semantic point of view this is indistinguishable, aside from the performance perspective
09:49:09 kavvadias joins (~kavvadias@2001:9e8:632f:ca00:d323:974c:a374:e838)
09:49:37 <kavvadias> hey i was wondering if someone could help me with hls and coc for nvim
09:50:02 <[exa]> kavvadias: please state your trouble. :]
09:50:55 <dminuoso> *please state the nature of your functional emergency
09:54:37 <kavvadias> i was setting up coc-config, as per their github and im struglling with the navigation (to Definition, type Definition) i keep getting typeDefinition not found
09:54:38 × danza quits (~francesco@151.37.141.231) (Read error: Connection reset by peer)
09:55:38 <[exa]> does it work on some tiny example (such as you define the type, use it on a next line and try the goto definition) ?
09:55:47 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:01:02 × birdgoose quits (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 272 seconds)
10:01:35 <kavvadias> no it doesnt
10:02:07 <[exa]> ok then it's just broken it seems. I'm not using these so I don't know much about how to debug that but chances are others here will know
10:02:14 <[exa]> in the meantime, are there any logs?
10:05:32 <kavvadias> ihttps://pastebin.com/rLVHgCLz
10:05:40 <kavvadias> thats from Coc log
10:06:07 <[exa]> nothing suspicious there right
10:06:29 <kavvadias> dont seem like it
10:09:02 × kuribas quits (~user@silversquare.silversquare.eu) (Read error: Connection reset by peer)
10:11:49 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds)
10:12:28 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
10:14:24 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
10:15:23 Midjak joins (~Midjak@82.66.147.146)
10:17:22 acidjnk_new joins (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de)
10:19:25 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds)
10:20:25 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:24:43 × haritz quits (~hrtz@user/haritz) (Remote host closed the connection)
10:25:20 rockystone joins (~rocky@user/rockymarine)
10:25:25 <dminuoso> % :set -XPolyKinds
10:25:25 <yahb2> <no output>
10:25:41 <dminuoso> % data T (s :: TYPE rr) = T s
10:25:42 <yahb2> <interactive>:70:25: error: ; • A levity-polymorphic type is not allowed here: ; Type: s ; Kind: TYPE rr ; • In the definition of data constructor ‘T’ ; In the data ty...
10:25:58 <dminuoso> % data T (s :: TYPE rr) = T s
10:25:58 <yahb2> <interactive>:74:25: error: ; • A levity-polymorphic type is not allowed here: ; Type: s ; Kind: TYPE rr ; • In the definition of data constructor ‘T’ ; In the data ty...
10:26:01 <dminuoso> % newtype T (s :: TYPE rr) = T s
10:26:01 <yahb2> <no output>
10:26:24 <dminuoso> % f :: T s -> Int; f = undefined
10:26:24 <yahb2> <no output>
10:26:33 <dminuoso> % {-# SPECIALIZE f :: T Int# -> Int #-}
10:26:33 <yahb2> <no output>
10:26:41 <dminuoso> Huh!
10:27:39 × vglfr quits (~vglfr@145.224.100.100) (Ping timeout: 272 seconds)
10:29:46 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
10:38:05 <tomsmeding> kavvadias: what happens if you try to run `haskell-language-server-wrapper` in a terminal in your project folder? Does that succeed?
10:38:40 __monty__ joins (~toonn@user/toonn)
10:39:26 zkSNOOP joins (~username@ptr-21zvp7pbt2o6jn2ooyl.18120a2.ip6.access.telenet.be)
10:40:03 <kavvadias> https://pastebin.com/K6c9ArCU
10:41:22 <dminuoso> Ohh GHCI cant do these pragmas right
10:41:39 JonathanWatson[m joins (~jjwmatrix@2001:470:69fc:105::2:a544)
10:42:53 rockystone joins (~rocky@user/rockymarine)
10:44:44 × coot quits (~coot@213.134.171.3) (Quit: coot)
10:47:05 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 258 seconds)
10:48:28 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
10:48:55 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds)
10:50:08 absence_ is now known as absence
10:56:55 jakalx parts (~jakalx@base.jakalx.net) ()
10:59:34 haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk)
10:59:34 × haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host)
10:59:34 haritz joins (~hrtz@user/haritz)
10:59:58 vglfr joins (~vglfr@145.224.100.100)
11:02:06 rockystone joins (~rocky@user/rockymarine)
11:02:09 <kavvadias> can someone share some config file for nvim please ?
11:06:01 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
11:06:18 jakalx joins (~jakalx@base.jakalx.net)
11:06:26 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
11:08:23 MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl)
11:08:27 vn36 joins (~vn36@123.63.203.210)
11:08:34 × raym quits (~aritra@user/raym) (Quit: kernel update, rebooting...)
11:10:08 Tobias83 joins (~Tobias@dyndsl-095-033-094-034.ewe-ip-backbone.de)
11:11:07 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:12:54 × Tobias83 quits (~Tobias@dyndsl-095-033-094-034.ewe-ip-backbone.de) (Client Quit)
11:18:36 <tomsmeding> for coc+nvim specifically, I assume
11:20:03 <dminuoso> % newtype State (s :: TYPE rr) a = State { runState :: s -> (# s, a #) }
11:20:03 <yahb2> <no output>
11:20:10 <dminuoso> % put :: forall rr (s :: TYPE rr). s -> State s (); put x = State (\_ -> (# x, () #))
11:20:11 <dminuoso> % put :: forall rr (s :: TYPE rr). s -> State s (); put x = State (\_ -> (# x, () #))
11:20:11 <yahb2> <interactive>:88:55: error: ; A levity-polymorphic type is not allowed here: ; Type: s ; Kind: TYPE rr ; In the type of binder ‘x’
11:20:23 <dminuoso> Is there a way to build this?
11:21:37 × vn36 quits (~vn36@123.63.203.210) (Quit: leaving)
11:21:47 <raehik> isn't it impossible to bind a levity poly value
11:22:00 <raehik> (I have a note from myself that says as much when I tried before)
11:22:22 <dminuoso> So much for my brilliant idea of making a levity polymorphic variant of FlatParse.Stateful :(
11:22:29 <dminuoso> That idea prompt died.
11:22:32 <dminuoso> *promptly
11:22:58 <dminuoso> raehik: Hi! I have some further thoughts to share on 9.4 compatibility on flatparse, by the wya
11:23:07 <kavvadias> tomsmeding yes , that would be great, even for more plugins, im kind of new to nvim
11:23:42 <raehik> dminuoso: yes plz! I wonder if you were added to the repo as a contributor yet
11:23:51 <dminuoso> I just started yesterday :P
11:24:53 <dminuoso> raehik: So invested a few hours last night in various approaches. Im close to having convinced myself ditching 32 bit support is the best course of action.
11:25:41 <raehik> current flatparse design doesn't support 32-bit anyway so I'm comfortable with that
11:25:46 <dminuoso> Alternatively you either risk poorer performance (since you need to constantly convert things around depending on which primop you use, and they arent all noops), or you will spend reimplementing a lot
11:25:58 <dminuoso> In that case, the word-compat way is the only sensible
11:26:08 <dminuoso> its less effort, and wont require re-converting on every primop and callsite
11:26:32 <dminuoso> we dont have to use the package itself, all we really need is just similar bidirectional view patterns
11:26:52 lortabac joins (~lortabac@2a01:e0a:541:b8f0:3f57:8fd:2b35:c02c)
11:27:33 <dminuoso> raehik: by the way, getting a Word64# on ghc 9.0 is easy.
11:27:51 <tomsmeding> kavvadias: I'm using the built-in lsp functionality of nvim; has less features than coc, and is supposedly harder to set up, but it works for me
11:27:59 <dminuoso> Let me give you the code Ive written last night
11:28:02 × mixfix41 quits (~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds)
11:28:18 nschoe joins (~q@141.101.51.197)
11:30:29 <dminuoso> raehik: https://gist.github.com/dminuoso/d583018afcac70ccc034b4eefac416cd
11:31:00 <dminuoso> The dark secret here, is that on 32bit there's suddenly a new primop wordToWord64#, which is however not visible on haddock because it uses the same CPP macro guard in the gist
11:31:07 <raehik> dminuoso: ah right, that's fair
11:31:21 <dminuoso> raehik: alternatively, you can do this:
11:31:38 <dminuoso> Or rather, for the opposite direction:
11:31:47 <dminuoso> word64ToWord# w64 = let GHC.W# w = fromIntegral (GHC.W64# w64) in w
11:32:02 <dminuoso> (Which is obviously only safe on 64 bits)
11:32:25 <dminuoso> This relies on a) a RULES that will inline the corresponding primop (which however is not exported), and b) GHC will definitely unbox this.
11:32:40 × acidjnk_new quits (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
11:33:07 <dminuoso> And on 32 bit that thing actually exists (but is iomplemented as an FFI call)
11:33:12 <dminuoso> See libraries/ghc-prim/GHC/IntWord64.hs
11:34:03 <dminuoso> raehik: by the way, where do we not support 32 bits yet?
11:34:10 <raehik> huh. that is all a bit confusing
11:35:45 <raehik> dminuoso: there are parser combinators that use Word, Word# though state themselves to be 64-bit, and some implementations might rely on 64-bit ints
11:35:53 rockystone joins (~rocky@user/rockymarine)
11:36:09 <dminuoso> Word# does definitely not state itself to be 64 bit.
11:36:17 <dminuoso> It's just a machine word sized prim type.
11:36:24 <dminuoso> On 32 bit systems it will be 32 bit.
11:37:17 <dminuoso> The trick is that on old GHC Word64, using CPP will use Word# on 64 bit, and on 32 bit systems it will use Word64# (which is only ever generated on 32 bit systems)
11:37:27 <tomsmeding> dminuoso: I think raehik meant that the parser combinators state themselves to be 64-bit
11:37:31 <raehik> we assume Word# s are 8-bytes long though: https://github.com/AndrasKovacs/flatparse/blob/f51ead69b568f73bb7d3b47f3bc7a2b2b6db259d/src/FlatParse/Basic.hs#L1149-L1154
11:38:15 <dminuoso> I would personally really prefer `withAnyWord64 :: (Word64# -> ...) -> ...`
11:38:29 <dminuoso> But there's really no pretty way to make it happen
11:38:55 <dminuoso> Because then you need to provide an indexWord64OffAddr# shim for example
11:39:13 <raehik> yeah, that's what I did in my temp GHC 9.4 branch https://github.com/AndrasKovacs/flatparse/pull/29/files#diff-902431788ef1828ee9050e062bd33fc61675efe0aeb36b9a10c456370b53acb6R1149
11:39:16 xff0x joins (~xff0x@2405:6580:b080:900:e42c:dea5:20dc:c5aa)
11:40:26 <raehik> certain we could remove some amount of the 64-bit assumption, some things will need a little more thought? maybe CPP solves it though
11:41:38 <dminuoso> On the bright side, regardless of what approach we chose, its fixed work,.
11:41:50 <dminuoso> I think its mostly done on GHC 9.4
11:42:01 <dminuoso> There's just a few rough edges missing
11:42:22 <dminuoso> What I just dont really like is the `type Word64'# = Word64#` shenanigans.
11:42:49 <dminuoso> If we just force a Word64# onto, regardless of what GHC version you use, its easier from the consumer side to reliably deal with it.
11:42:55 <dminuoso> Otherwise you essentially impose CPP on the library user
11:43:36 <dminuoso> Which is sort of why forcing everything into Word# induces less work for us and users.
11:43:51 <dminuoso> Very unsatisfying
11:45:43 <dminuoso> raehik: Tell you what, you finish your approach on (3), and Ill try and roll (1)
11:45:46 <raehik> I agree - I went with WordX'# because I didn't want to lose the improvements from 9.2
11:45:53 <dminuoso> And when we're done, well just compare them
11:46:14 <Franciman> does ghc runtime support Word128# ?
11:46:16 <dminuoso> Well, thats the beauty of (1). If you use newer GHC, you will definitely not pay a penalty
11:46:20 <dminuoso> Butfor older versions you might
11:46:22 <dminuoso> Franciman: No
11:46:25 <raehik> yeah that I'm fine with
11:46:31 <Franciman> how come?
11:46:36 <Franciman> is there a specific reason not to?
11:46:52 <merijn> Franciman: "without a specific reason to support it, nobody has bothered"?
11:47:06 <Franciman> crystal clear
11:47:30 <dminuoso> raehik: there's another alternative, by the way.
11:47:31 <Franciman> so haskell has no interest in working with high performance numeric computations?
11:47:44 <dminuoso> We could go with (1) *and* expose Word# casted variants of combinators
11:47:48 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:48:22 <dminuoso> So you have: `anyWord64# :: (Word64# -> Parser e a) -> Parser e a` and `anyWord64'# :: (Word# -> Parser e a) -> Parser e a`
11:48:48 <dminuoso> That way, newer GHC users can just use anyWord64, and newer users can too, of for better compatibility decide for anyWord64'# instead.
11:48:57 <dminuoso> It defers the compatibility choice to the user
11:49:07 <merijn> Franciman: I mean, GMP is already rather high performance
11:49:28 <merijn> What high performance numeric problem does Word128# solve?
11:49:30 <Franciman> ok i understand
11:49:30 cfricke joins (~cfricke@user/cfricke)
11:49:42 <dminuoso> Franciman: Feel free to submit a pull request implementing Work128# if you want it?
11:49:47 <Franciman> sure
11:50:02 <Franciman> i wasn't aware GMP was already high performance
11:50:03 <raehik> dminuoso: why not `anyWord# :: (Word# -> ...` ?
11:50:14 <Franciman> if it's enough for the haskell communityu, it's probably enough for me too
11:50:16 <dminuoso> raehik: And how much does that parse off the input? :P
11:50:32 <Franciman> word128# solves various problems in which you work with large numbers without resorting to bignum tricks
11:50:54 <Franciman> but there are no widespread architectures supporting word128, so it's only natural
11:50:55 <dminuoso> raehik: but honestly, we dont even need that. a user can just unsafeCoerce# a Word64# into Word# themselves for easier use.
11:50:56 <raehik> dminuoso: ...could we just give up there and use CPP like in your snippet?
11:50:56 <Franciman> that nobody cares
11:51:08 <dminuoso> these wrappers might be redundant
11:51:30 <dminuoso> raehik: Im not a big fan of the interface/types changing depending on CPP.
11:51:57 <dminuoso> Because this forces CPP on consumers if they want broad GHC compatibility
11:52:10 × MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6)
11:52:45 <probie> I think the only time I've used a "Word128" was when doing bitboards for things like Reversi
11:53:16 <raehik> dminuoso: ok, haven't thought of wider implications of using CPP before
11:53:18 <dminuoso> Franciman: Honestly, I think if we want better optimization potential, auto vectorization in GHC is probably a better source of it/
11:53:33 <Franciman> yup
11:53:35 <Franciman> i agree
11:54:29 <dminuoso> raehik: So I guess that should be the first decision, whether we want to impose CPP onto library users or not.
11:54:53 <dminuoso> If not, then its just a matter of "Coerce everything into Word# or not"
11:55:23 <dminuoso> Realistically users will hate you for it either way.
11:57:07 <dminuoso> If you force Word# for a Word8# on them, and they are on GHC 9.4 its not too terrible. because the main advantage of a native Word8# is being able to pack them densely inside constructors, say `data D = D {-# UNPACK #-} Word8# {-# UNPACK #-} Word8# {-# UNPACK #-} Word8# {-# UNPACK #-} Word8#` being packed into a single Word32# internally
11:57:21 <dminuoso> But that's not the side we care about
11:57:21 <raehik> I have now viewed the Tweag article on why CPP bad. Good points
11:57:45 × kavvadias quits (~kavvadias@2001:9e8:632f:ca00:d323:974c:a374:e838) (Quit: Client closed)
11:59:07 MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl)
11:59:37 <dminuoso> raehik: There is also a case to be made to not provide prim types here at all, and expecting GHC to unbox them.
11:59:53 <dminuoso> Given that everything is inlined, the chances of unboxing are extremely high
12:00:11 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
12:01:13 <raehik> mm I appreciate providing parsers using unboxed types for the clear performance implications. but truthfully I do not understand compilation machinery enough to give strong opinions for any of this...!
12:01:51 <raehik> we should start some discussion on the repository
12:02:01 <dminuoso> Well, we could just move them into an internal module, that would avoid public API being brittle
12:02:26 nate1 joins (~nate@98.45.169.16)
12:02:51 <dminuoso> And then, if its inconvenient to use it (for whatever reason, say because it gives you Word64# on GHC 9.0, or Word# everywhere on 9.4), well tough luck, its an internal module. Write your own if you want a particular flavour.
12:02:56 <dminuoso> Maybe, yeah
12:07:42 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
12:13:25 shriekingnoise joins (~shrieking@186.137.167.202)
12:28:00 × _xor quits (~xor@74.215.182.83) (Quit: brb)
12:29:48 × maerwald quits (~maerwald@mail.hasufell.de) (Changing host)
12:29:48 maerwald joins (~maerwald@user/maerwald)
12:32:53 _xor joins (~xor@74.215.182.83)
12:33:02 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
12:33:50 acidjnk_new joins (~acidjnk@p200300d6e7137a87a017d72952e61ce6.dip0.t-ipconnect.de)
12:46:21 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 272 seconds)
12:46:49 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
12:47:13 rockystone joins (~rocky@user/rockymarine)
12:51:40 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
12:55:36 × ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
12:57:41 ec_ joins (~ec@gateway/tor-sasl/ec)
12:58:26 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds)
13:01:26 × frost78 quits (~frost@user/frost) (Ping timeout: 244 seconds)
13:05:14 × king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 252 seconds)
13:07:16 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
13:08:24 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
13:12:13 × `2jt quits (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Remote host closed the connection)
13:12:19 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 272 seconds)
13:12:32 `2jt joins (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
13:16:21 <sayola> whats the next best thing to a sum type but thats somehow extensible?
13:17:42 L29Ah joins (~L29Ah@wikipedia/L29Ah)
13:20:26 <lortabac> sayola: it depends, there are several ways to make extensible sum types
13:21:32 <lortabac> the simplest one is to add a polymorphic constructor, for eg.: data Foo ext = Foo | Ext ext
13:21:42 <probie> A sum type? data ExtendableThingy a = C1 ... | C2 ... | Extend a; type Thingy = ExtendableThingy Void; data MyExt = C3_ ... | C4_ ...; pattern (C3 a b c ...) = Extend (C3_ a b c ..); pattern (C4 a b c ...) = Extend (C4_ a b c ...)
13:22:16 <sayola> hmh wasnt thinking about pattern synonyms lol
13:22:19 rockystone joins (~rocky@user/rockymarine)
13:22:33 <sayola> but i guess that might work
13:23:11 <sayola> its for an event type, but which should be extensible so that the user could feed it with other events. the user is also the only one to consume it.
13:24:13 thegeekinside joins (~thegeekin@189.180.97.156)
13:24:35 <[Leary]> sayola: In that case, I'd suggest `class Typeable e => Event e; data SomeEvent where SomeEvent :: Event e => e -> SomeEvent`.
13:25:30 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6)
13:25:37 <probie> In that case, I wouldn't even suggest pattern synonyms. Just keep it simple and have `data Event userEvent = SomeEventType ... | AnotherEventType ... | UserEvent userEvent`
13:26:09 <[Leary]> Ah, though I guess if it really is only the user consuming it, then the existential version might be overkill.
13:26:24 <[Leary]> Since it doesn't need to play nice with other extensions.
13:26:34 <sayola> it be great to pattern match over it in the end, so probably a mix of the basic plus one synonym for a single extension
13:27:28 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds)
13:29:10 <sayola> thank you guys
13:35:50 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
13:36:41 vglfr joins (~vglfr@145.224.100.100)
13:38:37 <probie> sayola: alternatively, you could flip it around, and require the user to embed your event type https://paste.tomsmeding.com/eG3pbKYB
13:40:34 <sayola> interesting idea. i'll keep it in mind. i'll work around a bit and see how it works out.
13:43:28 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:43:41 <probie> I've never done that or seen it done, and it probably won't play nicely with the exhaustiveness checker without requiring the user to add a COMPLETE pragma.
13:44:55 <probie> If your code only produces events and never reads them, having the user supply a function `SystemEvent -> UserEvent` is probably the most flexible and convenient solution
13:45:51 azimut joins (~azimut@gateway/tor-sasl/azimut)
13:45:53 × mmhat quits (~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7)
13:47:57 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
13:48:48 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
13:48:48 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
13:48:48 wroathe joins (~wroathe@user/wroathe)
13:50:10 chexum joins (~quassel@gateway/tor-sasl/chexum)
13:51:07 mncheck joins (~mncheck@193.224.205.254)
13:54:44 rockystone joins (~rocky@user/rockymarine)
13:55:49 × chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Ping timeout: 246 seconds)
13:57:17 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds)
14:00:55 chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
14:01:31 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds)
14:02:38 stef204 joins (~stef204@user/stef204)
14:05:52 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:06:47 vglfr joins (~vglfr@145.224.100.100)
14:07:37 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:08:06 vglfr joins (~vglfr@145.224.100.100)
14:10:11 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
14:10:50 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:12:02 vglfr joins (~vglfr@145.224.100.100)
14:15:01 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds)
14:15:04 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 246 seconds)
14:21:44 raym joins (~aritra@user/raym)
14:25:53 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
14:29:49 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:30:33 vglfr joins (~vglfr@145.224.100.100)
14:31:10 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:33:30 vglfr joins (~vglfr@145.224.100.100)
14:38:40 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:39:47 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
14:39:49 vglfr joins (~vglfr@145.224.100.100)
14:39:52 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:40:14 beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
14:42:47 vglfr joins (~vglfr@145.224.100.100)
14:45:12 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
14:53:01 × vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection)
14:53:46 vglfr joins (~vglfr@145.224.100.100)
14:54:50 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:59:04 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
14:59:27 Sgeo joins (~Sgeo@user/sgeo)
15:06:19 × acidjnk_new quits (~acidjnk@p200300d6e7137a87a017d72952e61ce6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
15:08:11 o-90 joins (~o-90@gateway/tor-sasl/o-90)
15:08:44 <zzz> why are cyclic imports a problem in haskell?
15:09:13 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
15:11:44 × AlexZenon quits (~alzenon@178.34.163.70) (Quit: ;-)
15:12:04 × Alex_test quits (~al_test@178.34.163.70) (Quit: ;-)
15:12:24 × AlexNoo quits (~AlexNoo@178.34.163.70) (Quit: Leaving)
15:14:04 × o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
15:14:32 shriekingnoise joins (~shrieking@186.137.167.202)
15:14:47 <lortabac> zzz: do you mean what is the technical reason why GHC doesn't support them without hs-boot files?
15:15:21 × shriekingnoise quits (~shrieking@186.137.167.202) (Client Quit)
15:15:47 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:16:47 shriekingnoise joins (~shrieking@186.137.167.202)
15:19:06 <zzz> i don't know what hs-boot files are but yes i guess that's what i'm asking
15:21:57 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
15:22:13 littlefinger joins (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net)
15:22:31 <lortabac> zzz: hs-boot files are special files that are needed to compile mutually recursive modules https://downloads.haskell.org/ghc/latest/docs/users_guide/separate_compilation.html#how-to-compile-mutually-recursive-modules
15:23:04 <lortabac> I don't know exactly what the technical issue is, but I'm sure it has something to do with the fact that modules are the basic compilation unit in GHC
15:23:37 shriekingnoise joins (~shrieking@186.137.167.202)
15:25:41 <lortabac> mutually recursive modules require the compiler to be somehow able of more granularity than modules
15:26:37 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds)
15:27:01 AlexNoo joins (~AlexNoo@178.34.163.70)
15:27:03 <geekosaur> less granular, actually: it would need to compile two modules at once, each referencing the other
15:27:09 × AlexNoo quits (~AlexNoo@178.34.163.70) (Client Quit)
15:27:25 <lortabac> geekosaur: that's also another possibility
15:27:30 AlexZenon joins (~alzenon@178.34.163.70)
15:27:51 <geekosaur> it can do that *within* a single module (you can have data Foo = Foo Bar at the top and data Bar ... at the bottom, but not across modules
15:27:55 <lortabac> I meant something like: compile one function from module A, then one function from module B, then another from module A etc.
15:28:26 <geekosaur> s/.../= Bar Foo/
15:28:38 AlexNoo joins (~AlexNoo@178.34.163.70)
15:29:39 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
15:30:02 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.7)
15:32:01 Alex_test joins (~al_test@178.34.163.70)
15:32:38 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
15:32:48 yvan-sraka joins (~yvan-srak@2001:470:1f13:21d:e7f8:f613:453a:84bf)
15:32:54 <zzz> why don't we just concatenate everything that's imported into a single file and compile that?
15:34:20 <zzz> (solving for name collisions etc of course)
15:34:24 × kenran` quits (~user@user/kenran) (Remote host closed the connection)
15:34:32 <geekosaur> because you may not have the file to import, you may only have a .hi file from a compiled package. granting you can't have a recursive import in that case, but then that means you have two different kinds of imports to deal with
15:34:51 <geekosaur> remember, separate compilation, not whole-program
15:35:13 jakalx joins (~jakalx@base.jakalx.net)
15:36:01 <geekosaur> oh, and no way to tell which kind of import is which from the source; the compiler only finds out when it tries to do the import
15:36:25 <zzz> fair enough. so that's the main reason
15:37:37 <geekosaur> it's a bit late to try to turn ghc into a whole-program compiler (although I think someone recently=ish tried to?) and the memory usage would really explode
15:38:09 <geekosaur> https://github.com/grin-compiler/ghc-grin
15:39:24 <geekosaur> which is one of the major reasons for ghc being module at a time, as is even that can use a lot of memory
15:40:26 × akegalj quits (~akegalj@213-202-90-118.dsl.iskon.hr) (Quit: leaving)
15:42:28 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
15:43:04 tremon joins (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl)
15:43:21 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.7)
15:45:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
15:48:46 <tomsmeding> geekosaur: are you talking about the GHC-WPC project thing by Csaba Hruska?
15:48:57 <tomsmeding> (just dropping the name in case you forgot and were looking for it)
15:49:21 <tomsmeding> oh this is also csaba :D
15:49:26 <geekosaur> maybe there are multiiple. I recall grin wanted to do WPC for some reason though
15:50:07 <tomsmeding> seems said project is linked from the ghc-grin repo readme
15:50:56 × yvan-sraka quits (~yvan-srak@2001:470:1f13:21d:e7f8:f613:453a:84bf) (Remote host closed the connection)
15:52:26 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
15:54:25 × shriekingnoise quits (~shrieking@186.137.167.202) (Remote host closed the connection)
15:54:35 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:3f57:8fd:2b35:c02c) (Quit: WeeChat 2.8)
15:55:37 shriekingnoise joins (~shrieking@186.137.167.202)
15:56:14 Topsi joins (~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de)
15:58:31 × MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 255 seconds)
15:58:44 × shriekingnoise quits (~shrieking@186.137.167.202) (Client Quit)
15:59:46 shriekingnoise joins (~shrieking@186.137.167.202)
16:03:31 milia joins (~milia@user/milia)
16:04:05 nate1 joins (~nate@98.45.169.16)
16:05:11 <EvanR> dminuoso, I'm told it's more idiomatic to pass updated state back in a tuple and carefully thread the latest state through each function call (in elixir) which I'm just going to say "isn't monads" xD
16:05:19 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
16:05:29 <EvanR> because there's no type system or sugar to help with that
16:06:55 HackingSpring joins (~haru@201-27-75-20.dsl.telesp.net.br)
16:08:07 × beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 246 seconds)
16:08:52 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds)
16:09:21 razetime joins (~quassel@117.254.34.48)
16:11:33 <EvanR> dminuoso, I've seen this paper but I didn't realize it was only 4 pages... thanks
16:12:58 × vglfr quits (~vglfr@145.224.100.100) (Ping timeout: 252 seconds)
16:18:43 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
16:19:21 × Goodbye_Vincent quits (cyvahl@freakshells.net) (Quit: Ping timeout (120 seconds))
16:20:45 mastarija joins (~mastarija@212.15.178.9)
16:20:58 <HackingSpring> Hey, folks. Coming here to get some help. If this is not the right place, please let me know. I'm trying to debug a compiled haskell program with lldb. I can't get the bare example from ghc user guide docs to work. Maybe worth noting, I'm using a mac m1. Is there some limitation for darwin arm?
16:23:03 <mastarija> Where is the list of packages installed with `cabal install`?
16:23:55 <HackingSpring> What I'm doing: a simple Main.hs with a main function and a simple adder function. I'm compiling the file with these ghc flags: -g3,-rtsopts,-O0. Afterwards, I execute dsymutil Main (which, btw, tells me "warning: no debug symbols in executable (-arch arm64)") and execute `lldb Main -- +RTS -V0`
16:25:30 <HackingSpring> once into lldb, I can't set breakpoints using `Main.hs:3`. It also doesn't work when using the extended command `breakpoint set --file Main.hs --line 4`
16:26:06 <HackingSpring> neither can I execute `target symbols add Main.dSYM` to get that functionality
16:26:30 <HackingSpring> am I missing something while compilling/executing?
16:28:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:28:53 Goodbye_Vincent joins (cyvahl@freakshells.net)
16:30:16 MajorBiscuit joins (~MajorBisc@86-88-79-148.fixed.kpn.net)
16:31:53 <geekosaur> mastarija, normally library packages are installed under ~/.cabal/store and exposed as needed according to cabal files, so so you can have multiple versions of packages installed without causing conflicts
16:32:10 <geekosaur> you should generally not try to manage this yourself
16:32:22 <geekosaur> but let cabal do it
16:32:23 <mastarija> I want to delete that file :)
16:33:57 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:34:00 <mastarija> geekosaur, I don't think that's it
16:34:09 <mastarija> that's a folder containing libraries
16:34:15 <geekosaur> there is no "file" unless you';ve been installing with --lib, in which case you want to look for something like .ghc.environment.<ghcver>
16:34:44 <geekosaur> otherwise I think you're assuming cabal is doing something it isn't
16:35:00 <mastarija> yes, that's it I think
16:36:46 × MajorBiscuit quits (~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 255 seconds)
16:37:45 isamiamsam joins (~d@zukertort.childrenofmay.org)
16:38:09 × mastarija quits (~mastarija@212.15.178.9) (Quit: Leaving)
16:39:38 <isamiamsam> is there a way to automatically generate Read instances that allow the terse constructor syntax?
16:39:39 <geekosaur> HackingSpring, I don't think DWARF support is provided in current release versions of ghc; you'd have to build it yourself
16:39:44 <geekosaur> skkukuk «xmonad*skkukuk» ⁅xmonad-bsa⁆ Z$ grep libdw $(ghc --print-libdir)/settings
16:39:44 <geekosaur> ,("RTS expects libdw", "NO")
16:39:54 <EvanR> I vaguely remember ghc-pkg list
16:40:16 <geekosaur> EvanR, there's no package db in either --lib or store cases
16:40:25 <geekosaur> that's only used for bootlibs these days
16:40:34 <geekosaur> and you can't delete those without breaking ghc
16:41:32 <EvanR> isamiamsam, terse constructor syntax?
16:41:53 Tuplanolla joins (~Tuplanoll@91-159-69-245.elisa-laajakaista.fi)
16:42:22 <HackingSpring> geekosaur: are you talking about the execution of "dsymutil Main"?
16:42:46 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds)
16:43:24 × raym quits (~aritra@user/raym) (Quit: leaving)
16:44:10 <isamiamsam> EvanR: where you don't specify the field names
16:44:42 <geekosaur> HackingSpring, from the manual: "GHC binary distributions configured in this way are provided for a select number of platforms; other platforms are advised to build using Hadrian’s +debug_info flavour transformer. Note as well that the built-in unwinding support provided by the base library’s GHC.ExecutionStack module requires that the runtime system be built with libdw support enabled (using the --enable-dwarf-unwind flag to configure wh
16:44:42 <geekosaur> ile building the compiler) and a platform which libdw supports."
16:45:51 <geekosaur> also "Currently only DWARF debug information is supported on x86-64 and i386." which implies no support for M1s
16:46:12 <geekosaur> this from the 9.4.2 manual
16:46:24 <EvanR> isamiamsam, i just found this https://hackage.haskell.org/package/deriving-show-simple
16:46:33 <EvanR> dammit that is Show not Read
16:46:58 <HackingSpring> oof, I was completely blind when reading that section. thanks for helping me, geekosaur
16:49:38 <EvanR> https://hackage.haskell.org/package/deriving-compat-0.6.1 seems to have code for deriving Read instances, but no option to skip field names. But it might contain something to go on
16:50:15 × nschoe quits (~q@141.101.51.197) (Ping timeout: 255 seconds)
16:54:24 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
16:54:42 × Everything quits (~Everythin@37.115.210.35) (Ping timeout: 260 seconds)
16:55:28 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
16:56:53 raym joins (~aritra@user/raym)
16:57:16 azimut joins (~azimut@gateway/tor-sasl/azimut)
16:58:15 econo joins (uid147250@user/econo)
16:58:48 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds)
17:00:21 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
17:04:13 rockystone joins (~rocky@user/rockymarine)
17:05:11 vglfr joins (~vglfr@145.224.100.100)
17:06:37 × razetime quits (~quassel@117.254.34.48) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
17:07:24 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection)
17:11:39 akegalj joins (~akegalj@212.15.177.32)
17:13:12 × raym quits (~aritra@user/raym) (Quit: leaving)
17:14:11 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
17:15:10 <lyxia> isamiamsam: using generic-data https://gist.github.com/Lysxia/0951fc852da2bb3274433f241a013307
17:16:23 birdgoose joins (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe)
17:17:19 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:18:28 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds)
17:19:02 mvk joins (~mvk@2607:fea8:5ce3:8500::a80f)
17:19:32 × akegalj quits (~akegalj@212.15.177.32) (Read error: Connection reset by peer)
17:19:32 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
17:24:49 gentauro joins (~gentauro@user/gentauro)
17:25:27 × littlefinger quits (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Ping timeout: 244 seconds)
17:25:32 polo joins (sid532813@user/polo)
17:26:17 × birdgoose quits (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 272 seconds)
17:27:48 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
17:33:57 jakalx joins (~jakalx@base.jakalx.net)
17:34:10 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
17:34:47 × mbuf quits (~Shakthi@49.204.135.71) (Quit: Leaving)
17:34:57 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
17:36:26 azimut joins (~azimut@gateway/tor-sasl/azimut)
17:39:18 × heartburn quits (~gass@2a00:d880:3:1::b1e4:b241) (Ping timeout: 240 seconds)
17:40:36 × wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 252 seconds)
17:40:46 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
17:53:07 × feliix42 quits (~felix@gibbs.uberspace.de) (Read error: Connection reset by peer)
17:53:07 × AWizzArd quits (~code@gehrels.uberspace.de) (Read error: Connection reset by peer)
17:55:59 feliix42 joins (~felix@gibbs.uberspace.de)
17:58:44 AWizzArd joins (~code@gehrels.uberspace.de)
18:00:03 heartburn joins (~gass@2a00:d880:3:1::b1e4:b241)
18:07:35 ulvarrefr joins (~user@188.124.56.153)
18:07:41 <isamiamsam> lyxia: awesome
18:10:07 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection)
18:15:59 acidjnk_new joins (~acidjnk@p200300d6e7137a985cc769c881031731.dip0.t-ipconnect.de)
18:19:59 × mvk quits (~mvk@2607:fea8:5ce3:8500::a80f) (Quit: Going elsewhere)
18:20:23 mvk joins (~mvk@2607:fea8:5ce3:8500::a80f)
18:23:52 raym joins (~aritra@user/raym)
18:25:22 AlexNoo_ joins (~AlexNoo@178.34.162.124)
18:25:22 kenran joins (~user@user/kenran)
18:27:27 × AlexZenon quits (~alzenon@178.34.163.70) (Ping timeout: 255 seconds)
18:28:59 × Alex_test quits (~al_test@178.34.163.70) (Ping timeout: 272 seconds)
18:28:59 × AlexNoo quits (~AlexNoo@178.34.163.70) (Ping timeout: 272 seconds)
18:31:24 <EvanR> updating thunk for this subject to generic-data xD
18:32:21 Alex_test joins (~al_test@178.34.162.124)
18:32:30 AlexZenon joins (~alzenon@178.34.162.124)
18:35:36 × ubert quits (~Thunderbi@77.119.160.6.wireless.dyn.drei.com) (Remote host closed the connection)
18:37:12 birdgoose joins (~birdgoose@222-153-24-178-adsl.sparkbb.co.nz)
18:37:22 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds)
18:54:42 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
18:56:41 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
18:59:25 × ksu quits (~ksu@user/prtr) (Ping timeout: 252 seconds)
19:00:19 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds)
19:04:37 AlexNoo_ is now known as AlexNoo
19:04:46 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
19:05:57 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
19:05:59 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
19:11:19 LukeHoersten joins (~LukeHoers@user/lukehoersten)
19:12:45 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:13:16 mc47 joins (~mc47@xmonad/TheMC47)
19:18:41 × kenran quits (~user@user/kenran) (Remote host closed the connection)
19:22:10 Momentum joins (momentum@tilde.team)
19:23:21 × polo quits (sid532813@user/polo) ()
19:24:36 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds)
19:24:52 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
19:27:51 danza joins (~francesco@151.43.69.239)
19:28:11 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:29:53 LukeHoersten joins (~LukeHoers@user/lukehoersten)
19:31:51 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Client Quit)
19:35:28 × Maja quits (~quassel@178-37-215-128.adsl.inetia.pl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
19:37:43 polo_ joins (sid532813@id-532813.tinside.irccloud.com)
19:37:57 × polo_ quits (sid532813@id-532813.tinside.irccloud.com) (Client Quit)
19:38:10 polo_ joins (sid532813@user/polo)
19:38:50 polo_ is now known as polo
19:39:06 pavonia joins (~user@user/siracusa)
19:42:51 [Ristovski] joins (~Ristovski@hellomouse/perf/ristovski)
19:42:52 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection)
19:46:48 rockystone joins (~rocky@user/rockymarine)
19:51:19 ksu joins (~ksu@user/prtr)
19:55:13 × [Ristovski] quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 258 seconds)
19:55:17 Ristovsk- joins (~Ristovski@hellomouse/perf/ristovski)
19:56:06 × raym quits (~aritra@user/raym) (Quit: leaving)
19:56:07 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
19:56:44 rockystone joins (~rocky@user/rockymarine)
20:01:44 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 258 seconds)
20:02:51 rockystone joins (~rocky@user/rockymarine)
20:05:36 nate1 joins (~nate@98.45.169.16)
20:08:15 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
20:09:10 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds)
20:10:04 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:10:33 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 258 seconds)
20:18:46 mestre joins (~mestre@191.177.185.178)
20:19:17 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
20:25:01 raym joins (~aritra@user/raym)
20:29:10 littlefinger joins (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net)
20:37:00 yvan-sraka joins (~yvan-srak@2a01cb0802a4b900266adbf2c2065e5f.ipv6.abo.wanadoo.fr)
20:43:23 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
20:46:09 × littlefinger quits (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Quit: Client closed)
20:48:19 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 272 seconds)
20:56:05 × ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
21:02:49 jmdaemon joins (~jmdaemon@user/jmdaemon)
21:04:17 wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130)
21:09:00 × tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
21:09:43 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
21:10:11 coot joins (~coot@213.134.171.3)
21:15:24 × yvan-sraka quits (~yvan-srak@2a01cb0802a4b900266adbf2c2065e5f.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
21:16:55 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:17:03 <Alex_test> 1862
21:17:44 × zeenk quits (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!)
21:18:29 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
21:21:20 × acidjnk_new quits (~acidjnk@p200300d6e7137a985cc769c881031731.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
21:21:43 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:23:46 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 258 seconds)
21:24:08 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
21:24:35 × chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
21:25:20 yvan-sraka joins (~yvan-srak@2a01cb0802a4b900c2769ca0f3b46125.ipv6.abo.wanadoo.fr)
21:25:38 chexum joins (~quassel@gateway/tor-sasl/chexum)
21:25:49 × coot quits (~coot@213.134.171.3) (Quit: coot)
21:32:12 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:32:19 ec joins (~ec@gateway/tor-sasl/ec)
21:38:04 × milia quits (~milia@user/milia) (Quit: leaving)
21:39:45 × Athas quits (athas@sigkill.dk) (Quit: ZNC 1.8.2 - https://znc.in)
21:41:01 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 258 seconds)
21:43:18 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
21:44:39 ft joins (~ft@p3e9bc845.dip0.t-ipconnect.de)
21:45:37 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
21:47:32 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
21:49:02 caryhartline joins (~caryhartl@2600:1700:2d0:8d30:989e:e378:903e:38da)
21:49:10 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 246 seconds)
21:49:14 max25 joins (~max25@187.32.187.113)
21:49:23 max25 parts (~max25@187.32.187.113) ()
21:49:30 × `2jt quits (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 255 seconds)
21:50:18 × freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds)
21:50:59 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:51:20 × detuneattune quits (~detuneatt@user/detuneattune) (Quit: detuneattune)
21:51:22 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
21:51:57 × zkSNOOP quits (~username@ptr-21zvp7pbt2o6jn2ooyl.18120a2.ip6.access.telenet.be) ()
21:54:07 cyphase joins (~cyphase@user/cyphase)
21:55:20 × EvanR quits (~EvanR@user/evanr) (Quit: Leaving)
21:56:28 Athas joins (athas@2a01:7c8:aaac:1cf:d087:7abc:7f63:ba68)
21:58:37 × vglfr quits (~vglfr@145.224.100.100) (Ping timeout: 272 seconds)
21:59:22 vglfr joins (~vglfr@145.224.100.100)
22:00:12 EvanR joins (~EvanR@user/evanr)
22:04:59 king_gs joins (~Thunderbi@187.201.131.180)
22:05:45 freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg)
22:08:39 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds)
22:09:20 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:09:29 chexum joins (~quassel@gateway/tor-sasl/chexum)
22:12:02 rockystone joins (~rocky@user/rockymarine)
22:12:02 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
22:12:26 × yvan-sraka quits (~yvan-srak@2a01cb0802a4b900c2769ca0f3b46125.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
22:12:37 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
22:16:49 zer0bitz_ joins (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi)
22:18:46 × zer0bitz quits (~zer0bitz@2001:2003:f748:2000:b8a3:a4ce:6b2a:34af) (Ping timeout: 255 seconds)
22:21:28 × wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 255 seconds)
22:25:01 king_gs1 joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0)
22:25:02 × king_gs quits (~Thunderbi@187.201.131.180) (Read error: Connection reset by peer)
22:25:02 king_gs1 is now known as king_gs
22:25:15 × Tuplanolla quits (~Tuplanoll@91-159-69-245.elisa-laajakaista.fi) (Quit: Leaving.)
22:31:49 × king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 255 seconds)
22:31:52 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 260 seconds)
22:43:43 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
22:46:18 axeman joins (~quassel@2a02:8109:a380:78:22d6:a885:1244:9fc9)
22:56:22 wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130)
22:57:26 codaraxis___ joins (~codaraxis@user/codaraxis)
23:01:19 × codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 272 seconds)
23:05:42 rekahsoft joins (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-156.dsl.bell.ca)
23:05:43 × rekahsoft quits (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-156.dsl.bell.ca) (Read error: Connection reset by peer)
23:16:28 × rockystone quits (~rocky@user/rockymarine) (Ping timeout: 258 seconds)
23:23:02 detuneattune joins (~detuneatt@user/detuneattune)
23:24:51 beteigeuze joins (~Thunderbi@89.187.168.35)
23:25:16 × danza quits (~francesco@151.43.69.239) (Ping timeout: 252 seconds)
23:26:29 rekahsoft joins (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-156.dsl.bell.ca)
23:28:05 beteigeuze1 joins (~Thunderbi@bl14-81-220.dsl.telepac.pt)
23:29:10 × xff0x quits (~xff0x@2405:6580:b080:900:e42c:dea5:20dc:c5aa) (Ping timeout: 272 seconds)
23:29:18 × beteigeuze quits (~Thunderbi@89.187.168.35) (Ping timeout: 252 seconds)
23:29:18 beteigeuze1 is now known as beteigeuze
23:29:58 nate1 joins (~nate@98.45.169.16)
23:30:26 × mvk quits (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 272 seconds)
23:34:52 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
23:35:26 × HackingSpring quits (~haru@201-27-75-20.dsl.telesp.net.br) (Remote host closed the connection)
23:37:57 × mestre quits (~mestre@191.177.185.178) (Quit: Lost terminal)
23:38:05 danza joins (~francesco@ge-19-126-18.service.infuturo.it)
23:38:07 × Topsi quits (~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de) (Read error: Connection reset by peer)
23:38:45 rockystone joins (~rocky@user/rockymarine)
23:45:59 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c567:3589:9f8f:b6ad)
23:47:33 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
23:49:09 ec joins (~ec@gateway/tor-sasl/ec)
23:50:43 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c567:3589:9f8f:b6ad) (Ping timeout: 272 seconds)
23:51:34 xff0x joins (~xff0x@2405:6580:b080:900:e42c:dea5:20dc:c5aa)
23:53:58 × axeman quits (~quassel@2a02:8109:a380:78:22d6:a885:1244:9fc9) (Ping timeout: 246 seconds)

All times are in UTC on 2022-10-20.