Home liberachat/#haskell: Logs Calendar

Logs on 2022-08-11 (liberachat/#haskell)

00:03:26 × lsrts^ quits (~lsrts@206.85.120.17) (Ping timeout: 268 seconds)
00:04:44 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds)
00:05:09 geekosaur joins (~geekosaur@xmonad/geekosaur)
00:06:27 ChaiTRex joins (~ChaiTRex@user/chaitrex)
00:09:02 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
00:09:23 ChaiTRex joins (~ChaiTRex@user/chaitrex)
00:14:35 × vglfr quits (~vglfr@88.155.13.82) (Ping timeout: 255 seconds)
00:15:24 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
00:15:30 Chai-T-Rex joins (~ChaiTRex@user/chaitrex)
00:15:54 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:d0f9:9fe4:8717:f94d) (Ping timeout: 268 seconds)
00:15:56 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
00:16:33 <Axman6> d34df00d: I'm glad to see the Elm gateway drug worked :p
00:17:54 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
00:20:19 allbery_b joins (~geekosaur@xmonad/geekosaur)
00:20:19 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
00:20:23 allbery_b is now known as geekosaur
00:21:07 × brettgilio quits (~brettgili@c9yh.net) (Remote host closed the connection)
00:25:51 × moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
00:29:17 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:29:18 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:29:18 wroathe joins (~wroathe@user/wroathe)
00:31:09 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
00:33:53 mima joins (mmh@gateway/vpn/airvpn/mima)
00:33:59 × mima quits (mmh@gateway/vpn/airvpn/mima) (Client Quit)
00:34:19 mima joins (mmh@gateway/vpn/airvpn/mima)
00:34:52 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
00:34:52 allbery_b joins (~geekosaur@xmonad/geekosaur)
00:34:56 allbery_b is now known as geekosaur
00:36:11 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
00:37:18 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:39:45 vysn joins (~vysn@user/vysn)
00:42:22 matthewmosior joins (~matthewmo@173.170.253.91)
00:45:00 nilradical joins (~nilradica@user/naso)
00:49:42 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
00:49:42 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
00:53:02 nilradical joins (~nilradica@user/naso)
00:53:18 × Kaiepi quits (~Kaiepi@142.68.249.28) (Quit: Leaving)
00:56:35 brettgilio joins (~brettgili@c9yh.net)
00:57:13 <c_wraith> zzz: it still reserves the namespace for that behavior if the internal representation changes in the future
01:03:51 <albet70> there's a term called f-expr in newlisp, it's more powerful than macro, could haskell implement it?
01:04:30 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
01:05:29 <Axman6> what is it?
01:06:56 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds)
01:08:31 <c_wraith> from what I'm seeing, most lisps had dropped support for them sometime in the 90s because they broke static compilation
01:08:40 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
01:09:44 <albet70> https://en.wikipedia.org/wiki/Fexpr
01:13:10 <zzz> not ecaluating operands? isn't that just lazyness?
01:13:19 <zzz> *eval
01:13:42 <Axman6> yeah it feels like laziness to me, but I assume you can also inspect those values' AST
01:14:28 <Axman6> so you could do the equivalent of f x = case x of a + b -> ...; a * b -> ...; -a -> ...
01:16:37 <c_wraith> ultimately the question is wrong.
01:16:57 <c_wraith> albet70: don't ask how to do other-language-feature. Ask how to achieve a particular result.
01:17:38 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:17:42 × hsw quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection)
01:18:15 <c_wraith> do you want to pass a code block into template haskell? cool, write a TH function that accepts an Q Exp.
01:20:13 <c_wraith> the whole distinction between FExpr and macro doesn't make sense in Haskell, because Haskell doesn't pretend list of tokens and code are the same thing
01:20:47 <c_wraith> So you don't need special forms to treat the same input two different ways. You just have two different types of input.
01:20:50 geekosaur joins (~geekosaur@xmonad/geekosaur)
01:21:02 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
01:21:48 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:22:40 <jackdk> "a fexpr is a function whose operands are passed to it without being evaluated" sure sounds like a lazy function to me
01:23:08 <c_wraith> well. it's more like a macro whose operands are passed without being evaluated.
01:24:00 <c_wraith> in sufficiently old versions of lisp, they were used to implement control flow structures
01:24:02 <Axman6> I think the main benefit is that the AST is accessible, so a function can modify its inputs
01:24:11 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds)
01:24:22 <c_wraith> which in lisp requires turning the arguments into the bodies of functions
01:26:55 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
01:29:18 <Axman6> a bit of a long shot, but does anyone know of a tool for visualising bitwise operations? the closest I've found is https://github.com/mellowcandle/bitwise which isn't really close at all to what I'm after
01:30:01 nate4 joins (~nate@98.45.169.16)
01:31:48 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
01:33:02 <Axman6> I want something symbolic that lets me do things like abcd_2 * 0x0201 and it'll give me back abcd0abcd_b (not super clear in text only, hence why I want something better)
01:33:03 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
01:33:09 <Axman6> maybe I should make something
01:35:15 geekosaur joins (~geekosaur@xmonad/geekosaur)
01:35:32 <dibblego> and thus, the yak was again hairless
01:35:38 <dibblego> I use pen/paper tbh
01:35:57 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
01:37:56 <Axman6> the problem is when you want to represent things like y = x * 0x0101010101010101 and show that the top byte is the sum of the values in each of the bytes in x (if each byte is zero or one)
01:38:58 <Axman6> I've written a bunch of implementations of popcount in C and was thinking about writing a blog post about them, and being able to visualise how they work ould be pretty useful
01:40:45 mcglk joins (~mcglk@131.191.49.120)
01:45:34 <Axman6> ((((x * 0x8040201008040201) >> 7) & 0x0101010101010101) * 0x0101010101010101) >> 56 for example will do an 8 bit popcount but it's not at all clear why the multiplication works
01:45:36 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
01:47:31 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
01:48:23 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 252 seconds)
01:48:30 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:50:48 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
01:55:40 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
01:55:54 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
01:56:18 × alp_ quits (~alp@user/alp) (Ping timeout: 268 seconds)
01:57:41 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
01:58:50 zaquest joins (~notzaques@5.130.79.72)
02:00:29 <jackdk> I look forward to your blogpost about bitwise visualisation axman6
02:00:33 <jackdk> :>
02:02:21 nate4 joins (~nate@98.45.169.16)
02:07:23 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
02:12:58 matthewmosior joins (~matthewmo@173.170.253.91)
02:13:35 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
02:13:58 noteness joins (~noteness@user/noteness)
02:16:12 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:16:12 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:16:12 finn_elija is now known as FinnElija
02:16:12 [_] is now known as [itchyjunk]
02:17:26 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
02:24:39 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
02:29:36 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 268 seconds)
02:32:03 × td_ quits (~td@muedsl-82-207-238-185.citykom.de) (Ping timeout: 268 seconds)
02:32:08 codaraxis__ joins (~codaraxis@user/codaraxis)
02:33:23 td_ joins (~td@94.134.91.58)
02:33:51 matthewmosior joins (~matthewmo@173.170.253.91)
02:36:06 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 264 seconds)
02:40:56 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
02:42:39 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
02:57:49 ddellacosta joins (~ddellacos@89.45.224.209)
02:58:05 nilradical joins (~nilradica@user/naso)
03:01:41 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
03:02:15 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 268 seconds)
03:04:39 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
03:06:07 × ddellacosta quits (~ddellacos@89.45.224.209) (Ping timeout: 252 seconds)
03:07:36 × luffy quits (~chenqisu1@183.217.201.23) (Quit: Leaving)
03:07:55 × nilradical quits (~nilradica@user/naso) ()
03:07:59 luffy joins (~chenqisu1@183.217.201.23)
03:08:10 ddellacosta joins (~ddellacos@143.244.47.100)
03:08:53 nate4 joins (~nate@98.45.169.16)
03:11:30 causal joins (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e)
03:14:00 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
03:17:07 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
03:18:12 <dibblego> thx Axman6
03:20:12 kadoban1 joins (~kadoban@user/kadoban)
03:20:25 × mima quits (mmh@gateway/vpn/airvpn/mima) (Ping timeout: 252 seconds)
03:24:29 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.6)
03:31:18 × Vajb quits (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) (Read error: Connection reset by peer)
03:31:30 Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
03:32:09 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
03:32:18 vglfr joins (~vglfr@88.155.19.3)
03:32:57 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
03:36:10 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
03:36:47 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
03:40:48 matthewmosior joins (~matthewmo@173.170.253.91)
03:41:51 kazaf joins (~kazaf@94.180.63.53)
03:46:08 × kazaf quits (~kazaf@94.180.63.53) (Ping timeout: 252 seconds)
03:56:39 nate4 joins (~nate@98.45.169.16)
03:58:40 × Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
03:59:27 Vajb joins (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014)
04:00:19 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
04:00:45 × vglfr quits (~vglfr@88.155.19.3) (Ping timeout: 252 seconds)
04:00:48 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
04:01:13 mbuf joins (~Shakthi@122.165.55.71)
04:01:29 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
04:05:09 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds)
04:05:16 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
04:05:50 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
04:05:50 zxx7529 joins (~Thunderbi@user/zxx7529)
04:07:54 Guest|3 joins (~Guest|3@a81-14-214-243.net-htp.de)
04:07:55 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
04:08:16 <Guest|3> does haskell run on armv7?
04:11:15 <c_wraith> like on phones? You can compile to mobile, yes, though it's a pain to get set up initially.
04:17:36 <jackdk> arm is becoming an increasingly important compile target because of m1
04:17:44 <Guest|3> https://github.com/simplex-chat/simplex-chat/issues/538#issuecomment-1100840391
04:18:23 <Guest|3> simplex devs says it runs on aarch64 but not armv7
04:19:09 <c_wraith> There are certainly people running haskell on mobile
04:19:48 <Guest|3> yea but mobile phone cpus differ
04:20:14 <Guest|3> my question is does armv7 work too?
04:20:48 <Guest|3> not only aarch64 (which is also arm)
04:21:48 <jackdk> https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms seems to be the canonical resource
04:24:08 biberu\ joins (~biberu@user/biberu)
04:27:58 × biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds)
04:27:59 biberu\ is now known as biberu
04:31:49 nate4 joins (~nate@98.45.169.16)
04:34:08 × Guest|3 quits (~Guest|3@a81-14-214-243.net-htp.de) (Ping timeout: 268 seconds)
04:34:30 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
04:34:52 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
04:37:12 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
04:37:15 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
04:37:23 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:42:09 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds)
04:44:08 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
04:46:56 <Inst> yikes
04:49:53 × macabre quits (~m@161.35.15.236) (Ping timeout: 252 seconds)
04:51:06 × vysn quits (~vysn@user/vysn) (Ping timeout: 244 seconds)
04:53:03 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
04:57:35 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
05:01:25 × kitty4 quits (~kitty@096-039-147-043.res.spectrum.com) (Ping timeout: 268 seconds)
05:01:55 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
05:02:23 kitty4 joins (~kitty@096-039-147-043.res.spectrum.com)
05:04:49 img joins (~img@user/img)
05:05:22 × mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Quit: Going elsewhere)
05:06:39 mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec)
05:11:47 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
05:12:11 img joins (~img@user/img)
05:14:02 matthewmosior joins (~matthewmo@173.170.253.91)
05:18:28 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
05:20:01 macabre joins (~m@161.35.15.236)
05:23:28 × luffy quits (~chenqisu1@183.217.201.23) (Ping timeout: 268 seconds)
05:23:37 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
05:30:56 matthewmosior joins (~matthewmo@173.170.253.91)
05:32:31 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
05:33:22 nate4 joins (~nate@98.45.169.16)
05:38:17 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
05:40:46 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
05:47:33 <dsal> I used to have a few things deployed on 32-bit ARM machines running armbian. It's been a while, though.
05:51:35 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:04:44 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
06:05:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
06:06:06 × tv quits (~tv@user/tv) (Ping timeout: 264 seconds)
06:07:17 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
06:09:15 <sm> Guest|3: yes it does
06:17:55 frost joins (~frost@user/frost)
06:18:17 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:24:36 coot joins (~coot@213.134.176.158)
06:28:24 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
06:31:36 <Axman6> jackdk: well, I was thinking this might be a good excuse to look at reanimate... these examples are amazing: https://reanimate.readthedocs.io/en/latest/voice/
06:32:04 lortabac joins (~lortabac@2a01:e0a:541:b8f0:4859:a137:2c1f:9457)
06:32:42 <c_wraith> isn't that the one where the author refuses to stop using unsafePerformIO for file output?
06:33:02 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 255 seconds)
06:34:58 × ddellacosta quits (~ddellacos@143.244.47.100) (Quit: WeeChat 3.5)
06:35:31 ddellacosta joins (~ddellacos@143.244.47.100)
06:36:50 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
06:37:09 <jackdk> X_X
06:37:10 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
06:43:10 <Axman6> eh, it's really an app, I'm not too worried about that
06:43:57 chomwitt joins (~chomwitt@2a02:587:dc15:5e00:8014:4f1d:3973:a5c3)
06:44:12 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
06:44:30 <Axman6> it would be better to use template haskell to embed them, but I can understand why they'd do it that way
06:47:46 <tomsmeding> Axman6: c_wraith said "file output"
06:48:41 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
06:49:37 mc47 joins (~mc47@xmonad/TheMC47)
06:54:40 Kaiepi joins (~Kaiepi@142.68.249.28)
06:57:37 Cajun joins (~Cajun@user/cajun)
07:04:12 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
07:07:42 joo-_ joins (~joo-_@80-62-116-198-mobile.dk.customer.tdc.net)
07:07:42 × joo-_ quits (~joo-_@80-62-116-198-mobile.dk.customer.tdc.net) (Changing host)
07:07:42 joo-_ joins (~joo-_@fsf/member/joo--)
07:07:56 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
07:09:59 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
07:10:19 geekosaur joins (~geekosaur@xmonad/geekosaur)
07:12:06 <Axman6> oh I missed that - yeah that's less ok
07:12:36 <Axman6> but whatevs, it's supposed to be a DSL for making pretty pictures, I can't see a lot of harm in doing that
07:12:41 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 268 seconds)
07:13:15 × gff quits (~gff@user/gff) (Ping timeout: 268 seconds)
07:13:47 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
07:15:05 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
07:16:05 Moyst_ joins (~moyst@user/moyst)
07:18:01 <siers> 1195532
07:18:21 <siers> oh, that's just an expired 2fa code, sorry
07:18:25 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
07:19:37 gff joins (~gff@user/gff)
07:20:01 × c_wraith quits (~c_wraith@adjoint.us) (Ping timeout: 268 seconds)
07:20:34 × ystael quits (~ystael@user/ystael) (Remote host closed the connection)
07:20:49 ystael joins (~ystael@user/ystael)
07:22:31 <tomsmeding> interesting length
07:23:09 <siers> I was thinking someone might say that and that's because I have a short repeat delay and the initial one repeated
07:23:19 <tomsmeding> :')
07:24:48 c_wraith joins (~c_wraith@adjoint.us)
07:31:48 <[exa]> siers: I know a root password when I see it! :D
07:31:50 nate4 joins (~nate@98.45.169.16)
07:31:56 <siers> (':
07:32:42 <tdammers> wait, what, you guys use multi-character root passwords?
07:34:23 <siers> tdammers, your single-character password must have external entropy to achieve security — the password means so many things to you, that it has more information!
07:34:34 × Cajun quits (~Cajun@user/cajun) (Ping timeout: 252 seconds)
07:35:00 ccntrq joins (~Thunderbi@172.209.94.92.rev.sfr.net)
07:35:08 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
07:36:08 mikoto-chan joins (~mikoto-ch@85-76-5-204-nat.elisa-mobile.fi)
07:36:14 <Axman6> my root password is ********
07:36:22 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:36:25 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 244 seconds)
07:37:47 <[exa]> (almost 20 bits of entropy in a single random unicode char may be better than most people's passwords.)
07:38:21 michalz joins (~michalz@185.246.204.69)
07:39:25 tomsmeding . o O ( $ wc -l /usr/share/dict/words # -> 123115 )
07:39:30 yvan-sraka joins (~yvan-srak@105.67.135.250)
07:41:51 ubert joins (~Thunderbi@178.165.202.57.wireless.dyn.drei.com)
07:43:19 vysn joins (~vysn@user/vysn)
07:44:48 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer)
07:44:48 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
07:45:07 chexum joins (~quassel@gateway/tor-sasl/chexum)
07:45:35 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
07:49:20 matthewmosior joins (~matthewmo@173.170.253.91)
07:50:50 <Axman6> > 123115^4
07:50:52 <lambdabot> 229743841054595400625
07:51:04 <Axman6> > logBase 10 229743841054595400625
07:51:05 <lambdabot> 20.36124387769969
07:51:14 <Axman6> > logBase 2 229743841054595400625
07:51:16 <lambdabot> 67.63858808418391
07:51:26 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
07:51:37 × mikoto-chan quits (~mikoto-ch@85-76-5-204-nat.elisa-mobile.fi) (Ping timeout: 268 seconds)
07:52:27 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
07:54:15 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
07:55:33 acidjnk_new joins (~acidjnk@p5dd87aad.dip0.t-ipconnect.de)
07:56:02 mikoto-chan joins (~mikoto-ch@85-76-5-204-nat.elisa-mobile.fi)
07:56:11 fserucas joins (~fserucas@83.223.227.123)
07:56:14 × fserucas quits (~fserucas@83.223.227.123) (Client Quit)
07:56:28 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds)
07:56:33 fserucas joins (~fserucas@83.223.227.123)
07:59:24 <tomsmeding> Axman6: why ^4?
07:59:30 <tomsmeding> oh four words, duh
08:00:14 <tomsmeding> manhole spacey stretchering nonmetal's
08:00:29 <tomsmeding> somewhat less enticing than the classic
08:02:35 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:03:02 Sgeo joins (~Sgeo@user/sgeo)
08:04:19 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:05:22 tv joins (~tv@user/tv)
08:07:48 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
08:10:49 titibandit joins (~titibandi@xdsl-212-8-147-38.nc.de)
08:11:38 <chreekat> The spacey manhole is for stretchering nonmetals
08:12:04 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 244 seconds)
08:19:33 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
08:19:35 kuribas joins (~user@silversquare.silversquare.eu)
08:20:37 jgeerds joins (~jgeerds@55d46bad.access.ecotel.net)
08:21:07 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
08:22:57 jinsun joins (~jinsun@user/jinsun)
08:24:49 alternateved joins (~user@staticline-31-183-149-36.toya.net.pl)
08:26:39 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:8014:4f1d:3973:a5c3) (Ping timeout: 268 seconds)
08:27:04 chele joins (~chele@user/chele)
08:30:20 × titibandit quits (~titibandi@xdsl-212-8-147-38.nc.de) (Remote host closed the connection)
08:30:58 × zxx7529 quits (~Thunderbi@user/zxx7529) (Ping timeout: 268 seconds)
08:33:14 × Inst quits (~Inst@2601:6c4:4080:3f80:9130:6712:37bc:57ff) (Ping timeout: 255 seconds)
08:36:59 ubert1 joins (~Thunderbi@178.165.178.67.wireless.dyn.drei.com)
08:37:10 × ubert quits (~Thunderbi@178.165.202.57.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
08:37:10 ubert1 is now known as ubert
08:39:30 zxx7529 joins (~Thunderbi@user/zxx7529)
08:41:34 mc47 joins (~mc47@xmonad/TheMC47)
08:41:48 <Athas> I'm reading an older paper on the GHC profiler and the sample profiling report for GHC itself shows a peak memory usage of 3MiB.
08:41:52 <Athas> Where did we go wrong...
08:43:53 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 268 seconds)
08:44:18 <merijn> Athas: tbh, peak memory varies a lot, a lot of my executables are actually showing surprisingly small peak memory usage compared to the amount of data I make them dig through
08:45:12 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
08:47:26 <merijn> Athas: tbh, I think one of the big issues (not just in Haskell, but programming overall) with poor performance has come from people misunderstanding/abusing Knuth's "premature optimisation" quote to not think about performance and optimisation at all
08:47:29 × jgeerds quits (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 252 seconds)
08:47:42 <merijn> Since optimising bad code is a rather huge task
08:48:31 <kuribas> merijn: yeah, Knuth is an optimization freak.
08:48:32 luffy joins (~chenqisu1@183.217.201.23)
08:48:54 <kuribas> merijn: what he meant is that some optimizations simply don't improve anything, not that you should not optimize.
08:49:20 <kuribas> Now it has started to mean "don't optimize, because computers are fast enough".
08:50:31 <merijn> kuribas: No, what he meant was that most people's idea of "optimising" was micro-stuff (like rewriting divisions to shifts, etc.) where you don't know if they are either 1) a bottleneck at all or 2) if it's even an optimisation at all
08:50:55 <kuribas> that's what I meant
08:51:17 <merijn> Some of the beginner programmers in #programming discussing their C code "optimisation" stuff has me facepalm hard. Spending hours on stuff that's basically irrelevant >.>
08:51:21 <kuribas> and it's even more true now that you cannot just count instructions.
08:51:37 <merijn> Also, benchmarking is *hard*
08:51:40 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
08:51:45 <merijn> People consistently underestimate that
08:51:59 <tomsmeding> especially if the hotspot is a small loop
08:52:22 <merijn> tomsmeding: That's when you get your boss to pay for vtune :p
08:52:23 chomwitt joins (~chomwitt@2a02:587:dc15:5e00:312b:b0d2:43e8:3622)
08:53:07 <tomsmeding> I've had some grief from adding a printf in some unrelated place, which adjusted the offset of the address of said loop, which significantly changed performance
08:53:34 <kuribas> ironically, LaTeX is encredibly slow because of all the stupid kpathsearch stuff.
08:53:50 <merijn> kuribas: LaTeX is slow because lots of reasons :p
08:53:53 <tomsmeding> well also if you start tikzing
08:53:59 <merijn> I wonder if LaTeX3 will ever take off
08:54:00 <kuribas> merijn: but not because of TeX
08:54:43 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:56:03 <dminuoso> The main mistake with Knuth is not quoting properly I guess?
08:56:13 <dminuoso> The original version goes "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil."
08:56:53 × avpx quits (~nick@ec2-54-214-223-1.us-west-2.compute.amazonaws.com) (Quit: ZNC 1.8.2 - https://znc.in)
08:56:53 × hexeme quits (~hexeme@user/hexeme) (Quit: co'o ro do)
08:57:22 <dminuoso> Or I guess this was Sir Tony Hoare actually?
08:57:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
08:57:54 titibandit joins (~titibandi@2a00:8a60:c000:1:8a13:bf74:b2:8d47)
08:57:56 <kuribas> for sure it didn't mean "don't think about which are the optimal datastructures for our problem."
08:58:14 hexeme joins (~hexeme@user/hexeme)
08:58:15 avpx joins (~nick@ec2-54-214-223-1.us-west-2.compute.amazonaws.com)
08:59:05 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
08:59:45 mmhat joins (~mmh@p200300f1c706f76bee086bfffe095315.dip0.t-ipconnect.de)
08:59:57 <merijn> The real issue is: you can only tackle performance holistically
09:00:20 <merijn> You can optimise the shit out of your inner loop, but that won't help you if you can't feed it data fast enough
09:00:42 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (Quit: You have been kicked for being idle)
09:03:04 <Athas> This is why I prefer to only focus on application-level performance! It's easy to measure and you definitely only end up worrying about big changes.
09:03:18 wildsebastian joins (~wildsebas@2001:470:69fc:105::1:14b1)
09:03:33 <merijn> Athas: I disagree about the easy to measure part :p
09:03:48 <dminuoso> My perspective differs slightly. The act of religiously ignoring optimized code can easily lead to an accumulation of performance problems. Premature optimizing as rewriting without profiling is generally bad, but using efficient data structures or algorithms when it doesn't incur too much overhead is a great practice.
09:04:17 <zzz> shouldn't it be immature? premature implies maturation
09:04:30 <dminuoso> Even if the code in question is outside hot code. For one it reduces the chance of introducing performance regressions, and the more practice you have writing performant code, the better you get at it?
09:04:57 <kuribas> dminuoso: I am sure Knuth was talking about small linear optimizations, not choosing correct algorithms/data structures.
09:05:27 <dminuoso> So perhaps we should differentiate between "writing optimized code during rewriting" and "rewriting existing code after the fact"
09:05:35 <dminuoso> Uhh hold on, that went wrong.
09:05:50 <dminuoso> I meant "writing optimized code during rewriting" and "writing initially optimized code"
09:06:18 <Athas> My experience is that it's very easy to use asymptotically efficient (or even optimal) data structures. Most of the performance problems I encounter are not asymptotic.
09:06:28 <kuribas> dminuoso: for example, you could rewrite some code using SSE, but that will only bring a benifit if the code is a hotspot.
09:06:43 <dminuoso> kuribas: I dont think that differentiation is meaningful at all.
09:06:58 <Athas> Use Data.Map and you're in pretty good company asymptotically, but you can still end up with sluggish allocation-heavy code with bad locality.
09:08:07 <merijn> Athas: My experience is that "arrays beat optimal data structures 90% of the time"
09:08:20 <Athas> Yes, that is also my experience.
09:08:25 <Athas> Brawns scale better than brains.
09:08:48 <dminuoso> merijn: That goes into "things in cache are unbelivably fast"
09:08:50 <Athas> It is unfortunate that Haskell is not great at arrays.
09:08:55 <merijn> dminuoso: Sure
09:08:59 <tdammers> the thing with asymptotic performance is that in a lot of cases, n is never anywhere near big enough for it to matter
09:09:03 <merijn> Athas: I dunno, vector's pretty decent
09:09:10 <kuribas> Athas: Vector work good enough?
09:09:24 <merijn> tdammers: The thing is, when N *is* big, cache locality becomes *more* important
09:09:33 <tdammers> merijn: haha, yeah, that too
09:09:37 <Athas> Vector is indeed good! It is my favourite array library. But it's not great when you want something as exotic as a 2D array.
09:09:43 wildsebastian parts (~wildsebas@2001:470:69fc:105::1:14b1) ()
09:09:52 <merijn> tdammers: I had a super intricate O(n log n) solution for a problem with big N (double digit billions)
09:09:57 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
09:10:08 <Athas> And it's still a bit more clumsy than in many other languages (mostly because of the type zoo you have to traverse to get the Good Vector, i.e. unboxed or storable).
09:10:43 <merijn> I rewrote it from heaps to arrays and doing multi-pass, so O(n) + a bit, and it was orders of magnitude faster
09:10:44 <Athas> merijn: sounds like something that can easily end up just being O(n) cache misses.
09:10:53 <merijn> Turns out, sequential scans of multi-GB are pretty fast
09:10:58 <dminuoso> merijn, tdammers: With large things, there's not just cache locality but also cache friendly access. If you can trigger cache CPU prefetching early enough for future data to be in the cache line earlier.
09:11:31 <merijn> Athas: Yeah, in the end I did a full pass over the data, counting elements per bucket, then radix sortig the whole thing, so two O(n) passes. Much faster
09:11:35 <tdammers> merijn: cache misses kind of throw the big O off, yeah
09:11:41 <dminuoso> So regarding multi-GB, its only fast if prefetched well enough, and you dont suffer from cache thrashing too much
09:11:44 <merijn> Big O is all lies I tell you
09:11:48 <kuribas> merijn: wouldn't chuncked lists or maps be better?
09:11:50 <siers> caches and the low-level architecture is how I'm certain I know nothing about optimization
09:12:13 <kuribas> siers: I can recommend anything by Agner Fog
09:12:14 <dminuoso> tdammers: Ah, regarding that. https://www.ilikebigbits.com/2014_04_21_myth_of_ram_1.html and following parts! :)
09:12:50 <dminuoso> Perhaps part of big-O is the physically incorrect assumption of random memory access being constant
09:13:18 <merijn> big O is off by arbitrary amounts, depending on the access patterns, yes
09:13:29 <merijn> dminuoso: Did you ever see PHK's article on the same thing?
09:13:36 <Athas> Do modern CPUs perform much automatic prefetching?
09:13:39 <dminuoso> merijn: No, do you have a link ready?
09:13:42 <dminuoso> Athas: yes
09:13:44 <merijn> https://queue.acm.org/detail.cfm?id=1814327
09:13:47 <Athas> dminuoso: this is not about big-O; this is about the RAM cost model.
09:14:08 × haskl quits (~haskl@user/haskl) (Remote host closed the connection)
09:14:10 <merijn> Athas: You need a memory model for Big-O analysis to make sense
09:14:21 <merijn> And most people use "O(1) memory access" as their memory model
09:14:23 <merijn> Which is bogus
09:14:24 haskl joins (~haskl@user/haskl)
09:14:27 MajorBiscuit joins (~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl)
09:14:28 <Athas> merijn: sure, but it doesn't have to be the RAM model. It's not the idea of doing asymptotic analysis that's the problem.
09:14:31 <merijn> But doing it right is nearly infinitely hard
09:14:42 <kuribas> merijn: For example, I was thinking about storing time series data using lmdb, with chunks of contiguous series data.
09:14:52 × haskl quits (~haskl@user/haskl) (Remote host closed the connection)
09:14:55 <merijn> Athas: The problem is that the results of asymptotic analysis can be off by an arbitrary factor from reality
09:15:05 <kuribas> merijn: wouldn't that be obviously better than a single big array?
09:15:08 haskl joins (~haskl@user/haskl)
09:15:16 <dminuoso> Athas: Intel has two separate prefetchers. One is the data cache unit prefetcher that triggers on desc/ascending access of memory (it sort of assumes if you load addr, and then addr+n, you will also want addr+(2*n) where n is the cache line size
09:15:22 <Athas> merijn: isn't the factor something like 'sqrt(n)' where 'n' is peak data requirement?
09:15:26 <merijn> Athas: i.e. it's very possible (even easy) to construct problems where the "asymptotically worse" wins by near arbitrary margins over the asymptotically better one
09:15:32 <dminuoso> The other is the instruction pointer stride prefetcher that monitors loads
09:15:45 <merijn> Athas: No, because the impact is non-linear
09:16:08 × mikoto-chan quits (~mikoto-ch@85-76-5-204-nat.elisa-mobile.fi) (Ping timeout: 244 seconds)
09:16:09 <Athas> The sqrt(n) factor is non-linear. It assumes that every single operation requires the equivalent of a cache miss.
09:16:10 <merijn> So you can get arbitrarily big blow ups depending on your access pattern
09:16:26 <siers> merijn, what do you do at work that you have to solve such problems?
09:16:28 <Athas> It's a *factor*; not an additional term.
09:17:23 <merijn> siers: It's been awhile since I did this stuff, but I did a bunch of it when I was interning at Oracle working on distributed graph processing
09:18:02 <merijn> siers: I always find it hard to explain this stuff, since I mostly learned it through osmosis :p
09:18:25 <siers> :) that sounds like quite the experience
09:18:35 <merijn> siers: But we've reached a point where consumer hardware is starting to have a lot of them same issues that HPC systems used to have
09:18:52 <kuribas> merijn: cache sized chunks makes sense, but does it make sense to store large arrays?
09:19:08 <merijn> i.e. nearly every consumer machine is multi-core now, although I guess we don't really have NUMA consumers systems yet? (or do we?)
09:19:32 <merijn> kuribas: I mean, once you go big chunks, what even is the point of having lists of chunks over a giant array?)
09:19:40 <merijn> The giant array is much easier to write code for
09:19:54 <kuribas> merijn: fast insertion?
09:20:20 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
09:20:32 <merijn> kuribas: If you insert you're doing it wrong anyway. You wanna precompute and preallocate the entire array
09:20:49 <kuribas> merijn: well, in a database I want to insert...
09:21:24 × etoast quits (~exaltedto@user/exaltedtoast) (Quit: Tschüss)
09:21:38 <kuribas> merijn: also, allocation is slow.
09:21:46 <merijn> kuribas: Which is why you precompute and do it once
09:21:52 etoast joins (~exaltedto@user/exaltedtoast)
09:21:54 <kuribas> merijn: wouldn't it be faster to have preallocated chunks?
09:22:16 <merijn> The database example seems a bit disingenious, since arrays are not an alternative to databases, those are very different usecases
09:22:45 <merijn> kuribas: allocating 10GB or allocating 20 bytes takes roughly the same time, so I don't see how preallocating chunks helps you much?
09:23:11 <kuribas> merijn: if they are preallocated, no allocation is necessary?
09:23:33 <kuribas> well, I choose that example because it is relevant to our domain.
09:23:37 <merijn> kuribas: Well, you have to do the preallocation?
09:23:52 <kuribas> sure, but only once in a while.
09:24:05 <kuribas> I can keep the blocks around.
09:24:06 <merijn> kuribas: How is that different from preallocating a giant array?
09:24:23 <Athas> I don't think there is any doubt that trees-of-chunks (e.g. B-trees) are superior to arrays for some problems.
09:24:36 <kuribas> right
09:25:29 <kuribas> I've been trying to push for this idea (we now store blocks in a RDBMs and load it into linked lists of data), but not much succesfully.
09:25:58 <merijn> Anyway, I need to go back through scrolling through fonts to decide on the perfect title font :p
09:26:20 <Athas> merijn: it's about performance right? That means italic Impact.
09:26:24 <Athas> It is the fastest font.
09:26:35 <merijn> Athas: Doesn't quite fit the cover design :p
09:26:43 <merijn> Athas: I was thinking impact for the spine, though
09:27:08 <kuribas> people have forgotten that title fonts are different from text fonts.
09:27:13 <merijn> Because the big glyphs make it easier to keep legible over the background
09:27:26 <kuribas> Using time new roman for fonts is heresy.
09:27:27 <merijn> kuribas: I haven't, you should see my CV ;)
09:27:34 <kuribas> good :)
09:27:36 cawfee_ is now known as cawfee
09:27:51 matthewmosior joins (~matthewmo@173.170.253.91)
09:27:58 <kuribas> fonts used to be subtly different for different sizes.
09:28:12 <kuribas> But since digital fonts the same is used for everything.
09:28:24 <kuribas> I am not sure if variable fonts are taking off.
09:29:18 <Athas> Wait, have you actually seen how normal people use fonts? E.g. flyers about a summer party or whatever posted by a home owner's association? I promise you they do not use the same font for everything.
09:29:52 <Athas> Titles are big wavy polychromatic things, preferably with drop shadows and gradients.
09:30:22 <Athas> The body text will be a more modest Comic Sans, clearly inspired by SPJ's slides.
09:30:50 <merijn> Athas: No, don't use Comic Sans
09:30:58 <merijn> Athas: Comic Neue :D
09:31:10 <merijn> Athas: http://comicneue.com/
09:31:41 merijn moves to -offtopic
09:31:54 <Athas> Yes, no. That has no heritage to it. Don't watch movie remakes, and only use the version of Comic Sans you can extract from a 1993 trial CD of Microsoft BOB.
09:36:08 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
09:36:27 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:4859:a137:2c1f:9457) (Ping timeout: 268 seconds)
09:40:19 × yvan-sraka quits (~yvan-srak@105.67.135.250) (Remote host closed the connection)
09:40:28 lortabac joins (~lortabac@2a01:e0a:541:b8f0:7101:c713:9f12:569c)
09:46:03 × gawen_ quits (~gawen@user/gawen) (Quit: cya)
09:52:13 gawen joins (~gawen@user/gawen)
09:56:39 × gff quits (~gff@user/gff) (Ping timeout: 268 seconds)
10:01:36 yvan-sraka joins (~yvan-srak@105.67.135.250)
10:02:48 × coot quits (~coot@213.134.176.158) (Quit: coot)
10:03:27 nate4 joins (~nate@98.45.169.16)
10:04:39 pmarg joins (~pmarg@2a01:799:159f:9b00:3e59:ad16:5739:cb9b)
10:05:38 × Ram-Z_ quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 240 seconds)
10:08:09 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
10:12:55 × pgib quits (~textual@173.38.117.83) (Ping timeout: 252 seconds)
10:13:28 benin0 joins (~benin@183.82.31.108)
10:19:18 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:7101:c713:9f12:569c) (Ping timeout: 264 seconds)
10:22:35 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
10:24:40 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
10:24:40 pavonia_ joins (~user@user/siracusa)
10:27:03 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
10:27:05 pavonia_ is now known as pavonia
10:28:15 img joins (~img@user/img)
10:33:00 <apache2> "written on my copy of Microsoft ComicChat"
10:33:41 <apache2> kuribas: vector fonts also generate different fonts for different sizes, accentuating different aspects to enhance readability.
10:33:54 <apache2> or at least the virtual machine supports it
10:34:17 <APic> # Appears as Boten Anna
10:34:54 coot joins (~coot@213.134.176.158)
10:39:36 lortabac joins (~lortabac@2a01:e0a:541:b8f0:8722:865e:dc02:97b0)
10:43:15 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:47:04 <kuribas> apache2: not in general
10:48:39 azimut joins (~azimut@gateway/tor-sasl/azimut)
10:56:31 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:58:46 × coot quits (~coot@213.134.176.158) (Quit: coot)
11:00:46 <Maxdamantus> afaict, the people that make font renderers have basically decided not to enhance legibility and instead maintain sub-pixel positions in all cases.
11:00:54 <Maxdamantus> at least horizontally.
11:00:57 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
11:01:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
11:01:45 nate4 joins (~nate@98.45.169.16)
11:01:55 <Maxdamantus> you can see it in Freetype. If you use a TTF font, it becomes blurry by default from Freetype 2.7, unless you set FREETYPE_PROPERTIES=truetype:interpreter-version=35
11:02:38 <Maxdamantus> the same thing happened at some point with OTF as well, as they switched to the Adobe OTF hinter.
11:03:31 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:03:40 <Maxdamantus> in both cases, horizontal hints are now ignored, so vertical stems are usually blurred.
11:06:34 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
11:06:38 Ram-Z joins (~Ram-Z@li1814-254.members.linode.com)
11:06:57 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
11:07:04 <Maxdamantus> I was actually working on making some browser-based demo of how I prefer font rendering to be done, but haven't got around to finishing it: https://maxdamantus.eu.org/ftv35-220719/site/
11:07:36 × zxx7529 quits (~Thunderbi@user/zxx7529) (Ping timeout: 255 seconds)
11:08:49 <Maxdamantus> that just uses Freetype compiled to WebAssembly, but most of the text should render in a way that I consider legible (assuming you're not using a fractionally scaled display, eg, on Wayland or macOS)
11:13:58 jgeerds joins (~jgeerds@55d46bad.access.ecotel.net)
11:15:31 × dibblego quits (~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
11:15:47 dibblego joins (~dibblego@122-199-1-30.ip4.superloop.com)
11:15:47 × dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
11:15:47 dibblego joins (~dibblego@haskell/developer/dibblego)
11:18:03 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
11:18:18 Maxdamantus joins (~Maxdamant@user/maxdamantus)
11:24:39 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
11:24:40 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
11:25:29 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:312b:b0d2:43e8:3622) (Ping timeout: 268 seconds)
11:26:34 × kuribas quits (~user@silversquare.silversquare.eu) (Remote host closed the connection)
11:26:55 kuribas joins (~user@silversquare.silversquare.eu)
11:28:04 × xal quits (~quassel@S01063c7c3f334fd0.vw.shawcable.net) (Ping timeout: 268 seconds)
11:29:09 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds)
11:31:46 mastarija joins (~mastarija@2a05:4f46:e03:6000:61a4:b62e:43b7:9ad3)
11:34:33 cfricke joins (~cfricke@user/cfricke)
11:36:20 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
11:40:33 gff joins (~gff@user/gff)
11:43:56 Batzy_ joins (~quassel@user/batzy)
11:43:57 × Batzy quits (~quassel@user/batzy) (Ping timeout: 268 seconds)
11:46:04 <albet70> > let intersect = foldl1 (\xs ys -> [ x |x <- xs, elem x ys]) in intersect [[1,2,3],[4,3,5], [3,7,8,9,12]]
11:46:07 <lambdabot> [3]
11:46:25 <albet70> how to speed this up?
11:48:09 <zzz> what are some possible arguments against StricData?
11:49:52 matthewmosior joins (~matthewmo@173.170.253.91)
11:51:36 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
11:53:51 × mastarija quits (~mastarija@2a05:4f46:e03:6000:61a4:b62e:43b7:9ad3) (Ping timeout: 268 seconds)
11:54:22 <merijn> zzz: It is nearly equally likely to make performance worse as it is to make performance better
11:54:42 <merijn> zzz: You cannot absolve yourself from thinking about strictness. StrictData merely changes the default behaviour
11:55:25 jinsun joins (~jinsun@user/jinsun)
11:56:08 <arahael> I naively wrote something in purescript the same way I would in haskell.
11:56:15 <arahael> Result: Took ages, then crashed.
11:59:55 <dminuoso> albet70: With Data.Set
12:01:35 × yvan-sraka quits (~yvan-srak@105.67.135.250) (Remote host closed the connection)
12:01:39 <zzz> merijn: that's what i figured
12:03:04 <albet70> dminuoso , for example?
12:04:03 <dminuoso> albet70: https://hackage.haskell.org/package/containers-0.6.6/docs/Data-Set.html#v:intersection
12:04:12 <dminuoso> Whether this is truly faster depends on the real size of your lists.
12:14:21 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
12:18:42 × alternateved quits (~user@staticline-31-183-149-36.toya.net.pl) (Remote host closed the connection)
12:19:43 × joo-_ quits (~joo-_@fsf/member/joo--) (Ping timeout: 268 seconds)
12:19:49 sabry joins (~sabry@41.44.89.119)
12:19:57 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:22:12 zxx7529 joins (~Thunderbi@user/zxx7529)
12:25:53 × luffy quits (~chenqisu1@183.217.201.23) (Ping timeout: 268 seconds)
12:27:24 natechan joins (~nate@98.45.169.16)
12:27:45 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 268 seconds)
12:28:02 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
12:28:21 × nahcetan quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
12:40:48 oo_miguel joins (~pi@77.252.47.226)
12:53:08 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
12:55:56 ph88 joins (~ph88@sonicwall.snp-ag.com)
12:57:16 <tomsmeding> if you don't need to treat the lists as sets in different places too, you might get a better constant factor by sorting the lists first and then merge pairwise à la mergesort
12:57:28 <tomsmeding> (but profile first)
12:58:55 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:02:29 matthewmosior joins (~matthewmo@173.170.253.91)
13:03:30 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
13:04:29 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
13:06:30 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
13:09:35 img joins (~img@user/img)
13:10:24 mc47 joins (~mc47@xmonad/TheMC47)
13:15:07 × Hash quits (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Quit: ZNC - https://znc.in)
13:15:36 yvan-sraka joins (~yvan-srak@105.67.135.250)
13:19:21 ec joins (~ec@gateway/tor-sasl/ec)
13:25:05 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
13:25:33 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:27:45 fr33domlover[m] joins (~fr33domlo@2001:470:69fc:105::1:3bb6)
13:31:20 matthewmosior joins (~matthewmo@173.170.253.91)
13:31:33 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.6)
13:32:47 nate4 joins (~nate@98.45.169.16)
13:38:11 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
13:40:56 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
13:41:45 ec joins (~ec@gateway/tor-sasl/ec)
13:48:49 chomwitt joins (~chomwitt@2a02:587:dc15:5e00:bc9f:ef3a:bfe5:3be8)
13:50:48 × benin0 quits (~benin@183.82.31.108) (Quit: The Lounge - https://thelounge.chat)
13:51:08 zer0bitz joins (~zer0bitz@2001:2003:f748:2000:4941:f6bb:794b:548e)
13:52:36 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
13:53:12 azimut joins (~azimut@gateway/tor-sasl/azimut)
13:54:08 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:bc9f:ef3a:bfe5:3be8) (Ping timeout: 268 seconds)
13:55:17 chomwitt joins (~chomwitt@2a02:587:dc15:5e00:b1ae:6546:179b:240)
13:56:22 × zxx7529 quits (~Thunderbi@user/zxx7529) (Remote host closed the connection)
13:56:35 zxx7529 joins (~Thunderbi@user/zxx7529)
14:00:46 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:b1ae:6546:179b:240) (Remote host closed the connection)
14:01:05 chomwitt joins (~chomwitt@2a02:587:dc15:5e00:1638:9f00:c92a:288b)
14:01:32 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
14:03:20 giedreich joins (~giedreich@host-92-26-16-130.as13285.net)
14:05:52 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
14:06:40 × zxx7529 quits (~Thunderbi@user/zxx7529) (Remote host closed the connection)
14:06:52 zxx7529 joins (~Thunderbi@user/zxx7529)
14:07:57 <bairyn> Have the online GHC docs gone missing from haskell.org?
14:08:24 <merijn> no?
14:08:44 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
14:08:46 <merijn> actually...maybe? xD
14:08:50 <merijn> @where usersguide
14:08:50 <lambdabot> I know nothing about usersguide.
14:08:54 <merijn> @where users-guide
14:08:54 <lambdabot> see @where ghc-guide or @where cabal-guide
14:08:55 × yvan-sraka quits (~yvan-srak@105.67.135.250) (Remote host closed the connection)
14:08:57 <tomsmeding> the /html is gone from the url
14:08:59 <merijn> @where ghc-guide
14:08:59 <lambdabot> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide
14:08:59 <tomsmeding> https://downloads.haskell.org/~ghc/latest/docs/users_guide/index.html
14:09:05 <geekosaur> 9.4.1 is as usually not up yet
14:09:08 <geekosaur> they take a few days
14:09:29 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
14:09:32 <geekosaur> actually, iirc hadrian built them wrong and it'll be fixed in 9.4.2, hich is a priority to get released
14:09:39 <geekosaur> *which
14:09:42 <dolio> If you replace 'latest' with an earlier version they're still there.
14:09:50 <tomsmeding> dolio: latest is also there, but without /html in the url
14:10:05 <merijn> tomsmeding: Right, succesfully breaking google and links everywhere :p
14:10:07 <geekosaur> right, that's the hadrian bug
14:10:10 <tomsmeding> ah
14:10:11 <merijn> Which is, kinda bad :p
14:10:21 <merijn> the top google hit leads to a 404 now
14:10:43 <dolio> Oh huh.
14:12:22 stiell joins (~stiell@gateway/tor-sasl/stiell)
14:13:51 Hash joins (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net)
14:14:03 jmdaemon joins (~jmdaemon@user/jmdaemon)
14:14:05 × zxx7529 quits (~Thunderbi@user/zxx7529) (Remote host closed the connection)
14:14:18 zxx7529 joins (~Thunderbi@user/zxx7529)
14:15:01 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
14:16:56 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
14:17:49 zebrag joins (~chris@user/zebrag)
14:21:56 yvan-sraka joins (~yvan-srak@105.67.135.250)
14:22:08 valhardt joins (~parsival@209.141.195.79)
14:22:59 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:24:35 × zxx7529 quits (~Thunderbi@user/zxx7529) (Ping timeout: 244 seconds)
14:26:10 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:1638:9f00:c92a:288b) (Ping timeout: 268 seconds)
14:29:26 × giedreich quits (~giedreich@host-92-26-16-130.as13285.net) (Quit: Connection closed)
14:29:55 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 268 seconds)
14:29:57 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:30:46 ec joins (~ec@gateway/tor-sasl/ec)
14:37:40 × kuribas quits (~user@silversquare.silversquare.eu) (Remote host closed the connection)
14:38:30 valhardt is now known as valzant
14:41:14 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:45:29 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:45:54 matthewmosior joins (~matthewmo@173.170.253.91)
14:47:22 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:47:22 <albet70> dminuoso , for example?
14:52:55 shriekingnoise joins (~shrieking@186.137.167.202)
14:55:36 razetime joins (~quassel@117.193.4.185)
15:00:07 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
15:00:43 <zzz> any impediment for the compiler to simplify arithmetic expressions as an optimization?
15:01:41 <merijn> zzz: You mean technically or conceptually? :p
15:02:30 <merijn> I guess it also means what you mean exactly by simplifying? i.e. just constant folding or something more complex?
15:02:49 × acidjnk_new quits (~acidjnk@p5dd87aad.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
15:04:53 Hash is now known as stoned
15:05:05 slack1256 joins (~slack1256@wsip-184-177-0-226.no.no.cox.net)
15:05:38 matthewmosior joins (~matthewmo@173.170.253.91)
15:12:41 <tomsmeding> why does GadtC in template-haskell have a _list_ of names? https://hackage.haskell.org/package/template-haskell-2.18.0.0/docs/Language-Haskell-TH.html#t:Con
15:13:39 × pmarg quits (~pmarg@2a01:799:159f:9b00:3e59:ad16:5739:cb9b) (Ping timeout: 268 seconds)
15:14:30 <tomsmeding> I can't seem to write a gadt that produces anything else than a list of length 1 there
15:14:42 × yvan-sraka quits (~yvan-srak@105.67.135.250) (Remote host closed the connection)
15:19:30 CiaoSen joins (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
15:19:51 <Lears> tomsmeding: Maybe it's because GADTSyntax allows `C1, C2 :: ...`?
15:20:36 <tomsmeding> O.o
15:20:45 <tomsmeding> wow TIL
15:20:59 <tomsmeding> Lears++
15:21:39 <tomsmeding> oh
15:21:57 <tomsmeding> Lears: even if I use C1, C2 :: ... syntax, I still get separate GadtC values for every constructor
15:22:11 <tomsmeding> so perhaps that was the intention (can't really be anything else), but it wasn't implemented
15:22:48 <tomsmeding> furthermore, RecGadtC also has the list-of-names parameter, but declaring multiple constructors with the same record field names is clearly nonsense!
15:22:56 <tomsmeding> oh wait it isn't, heh
15:23:00 <tomsmeding> disregard that
15:23:57 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:8722:865e:dc02:97b0) (Quit: WeeChat 2.8)
15:25:16 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
15:25:56 pmarg joins (~pmarg@224.80-203-5.customer.lyse.net)
15:30:08 × pmarg quits (~pmarg@224.80-203-5.customer.lyse.net) (Read error: Connection reset by peer)
15:34:00 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6)
15:35:20 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
15:37:02 Guest56 joins (~Guest56@152.red-88-14-101.dynamicip.rima-tde.net)
15:37:03 × razetime quits (~quassel@117.193.4.185) (Ping timeout: 252 seconds)
15:38:05 × Guest56 quits (~Guest56@152.red-88-14-101.dynamicip.rima-tde.net) (Client Quit)
15:38:06 vglfr joins (~vglfr@37.73.137.225)
15:39:15 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:39:30 × mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 244 seconds)
15:43:41 nate4 joins (~nate@98.45.169.16)
15:47:34 × vglfr quits (~vglfr@37.73.137.225) (Ping timeout: 268 seconds)
15:49:18 razetime joins (~quassel@117.254.34.226)
15:49:53 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
15:52:41 mikoto-chan joins (~mikoto-ch@85-76-75-89-nat.elisa-mobile.fi)
15:53:55 <Athas> Dinging on GHC for being slow is very enjoyable, but it can compile my main project from scratch in 4m27s on my laptop. That's enough for me.
15:54:07 <Athas> I do vaguely recall it wasn't always this fast.
15:54:42 <merijn> Athas: The 9.x series has gotten quite some performance work
15:55:02 × sabry quits (~sabry@41.44.89.119) (Quit: Client closed)
15:55:05 <Athas> Yes, I'm using 9.2.4.
15:55:37 <Athas> I also made an effort to split the module dependency tree of my program to be wider. GHC is pretty decent at intra-package parallelisation nowadays.
15:55:43 × titibandit quits (~titibandi@2a00:8a60:c000:1:8a13:bf74:b2:8d47) (Remote host closed the connection)
15:56:21 coot joins (~coot@213.134.176.158)
15:57:35 <tomsmeding> Athas: are you compiling with -j in GHC's flags?
15:58:27 <Athas> Yes.
15:58:27 <merijn> I was gonna port my code to GHC 9.x, but too much dependency churn to be worth it :p
15:58:52 <Athas> Version migration has been pretty easy for me for the past few years. Maybe I'm just getting lucky.
15:59:34 <merijn> Athas: Yeah, but this is stuff that's been pinned and unupdated since late 2018 :p
16:00:25 <merijn> So with 1 or 2 (barely) maintained packages it quickly because quite a hassle to get everything working again. So I decided to "not fuck with it" until I finished archiving on Zenodo :p
16:00:35 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:01:54 × MajorBiscuit quits (~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) (Ping timeout: 264 seconds)
16:01:55 acidjnk_new joins (~acidjnk@p200300d6e70586293de428a35ddddd41.dip0.t-ipconnect.de)
16:07:18 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
16:07:50 matthewmosior joins (~matthewmo@173.170.253.91)
16:12:11 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
16:13:01 matthewmosior joins (~matthewmo@173.170.253.91)
16:15:12 titibandit joins (~titibandi@xdsl-212-8-147-38.nc.de)
16:22:43 nate4 joins (~nate@98.45.169.16)
16:24:45 × mbuf quits (~Shakthi@122.165.55.71) (Quit: Leaving)
16:26:55 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
16:28:53 <zzz> merijn: well i guess i mean something like, for example, if you have `f x = div x y * mod x y` it knows that `f = id`
16:29:15 <zzz> i mean
16:29:40 <zzz> f x = div x y * y + mod x y
16:30:09 <zzz> stuff like this
16:30:41 <geekosaur> that depends on laziness, though
16:31:06 <geekosaur> and I'm not sure ghc knows that the wired in Int and Integer types are strict
16:31:35 <geekosaur> such that that equivalence only holds for *lazy* types, since with strict types it could bottom when `id` wouldn't
16:32:06 <geekosaur> laziness concerns complicate optimization considerably, sadly
16:33:45 × valzant quits (~parsival@209.141.195.79) (Ping timeout: 244 seconds)
16:38:15 <merijn> zzz: I'm not even immediately convinced that's true :p
16:38:27 <merijn> mod vs rem is confusing and complicated :p
16:39:25 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
16:41:02 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
16:41:23 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:44:36 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
16:45:18 × Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Quit: Chai-T-Rex)
16:46:15 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
16:46:44 ChaiTRex joins (~ChaiTRex@user/chaitrex)
16:46:56 <zzz> well, div leaves out the remainder and mod is just rem but it behaves better with negative numbers in this case
16:47:49 <zzz> so `div x y * y` is just `x - (mod x y)`
16:48:11 × mikoto-chan quits (~mikoto-ch@85-76-75-89-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
16:48:17 <Lears> We have divMod and quotRem so you can remember which to use with which. Just pretend div/mod/quot/rem don't even exist.
16:48:50 <zzz> this was just a quick example of something "simplifiable" i came up with on the spot
16:50:08 <zzz> Lears: and eeew partial funcions :p
16:50:28 <dolio> The thing is, if you implement that simplification, will it ever actually matter?
16:51:44 <zzz> dolio: not this specifically, but some general rules for simplification. i guess the compiler would have to know which functions are inverses of eachother, which are commutative, wich are associative, etc
16:52:15 <zzz> wolfram alfa doesnt do too bad simplifying expressions
16:52:23 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
16:52:23 <albet70> dminuoso , for example?
16:53:29 <Lears> We kinda have this already, e.g. `fmap f . fmap g` is replaced with `fmap (f . g)`. But it's a bit fragile, so it might be hard to have it handle arithmetic simplifications flexibly or thoroughly.
16:54:08 <Lears> (the mechanism is called RULES)
16:55:00 × CiaoSen quits (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
16:55:05 <zzz> aren't those just ad hoc simplifications?
16:55:43 <zzz> but i guess i know what you mean
16:55:51 <zzz> where do you draw the line
16:56:24 <Lears> Is what wolfram does any different? It's probably just more careful about how it collects, composes and applies its ad hoc rules.
16:57:03 <zzz> i have no idea but i imagine it's something a but more sophisticated
16:57:17 <zzz> *bit
16:59:04 mikoto-chan joins (~mikoto-ch@85-76-75-89-nat.elisa-mobile.fi)
16:59:31 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
17:00:59 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:03:55 adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan)
17:04:42 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
17:05:04 × razetime quits (~quassel@117.254.34.226) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
17:05:45 chomwitt joins (~chomwitt@2a02:587:dc15:5e00:589f:ba83:fe7:256a)
17:07:43 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:07:48 <carbolymer> how do I compose lenses? https://bpa.st/URDA
17:08:28 matthewmosior joins (~matthewmo@173.170.253.91)
17:08:43 Kaipei joins (~Kaiepi@142.68.249.28)
17:08:58 moonsheep joins (~user@user/moonsheep)
17:11:11 × Kaiepi quits (~Kaiepi@142.68.249.28) (Ping timeout: 255 seconds)
17:11:28 <geekosaur> you're composing them correctly but how those lenses compose makes no sense
17:12:10 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:589f:ba83:fe7:256a) (Ping timeout: 268 seconds)
17:12:11 <[exa]> carbolymer: I guess it's just the other way? (lenses compose left to right)
17:12:49 <[exa]> as in, I see no reason why `db . query` wouldn't work
17:13:01 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
17:13:55 <moonsheep> Is there any way to have multiple readers in an MTL stack? This article (https://ro-che.info/articles/2014-06-11-problem-with-mtl) suggests merging both readers with one record, but that isn't really possible in my case, since my actual monad stacks each individually have a reader, and one is part of the other
17:14:22 <moonsheep> I understand the problem, but I was wondering what is the best workaround
17:14:23 <carbolymer> [exa]: you're right, thanks
17:14:32 <moonsheep> Preferably one that doesn't require writing tons of boilerplate.
17:15:02 <geekosaur> we just have a custom liftX that lifts past the outer Reader so you can reach the inner one
17:15:23 <moonsheep> But I can't have a function with multiple MonadReaders in its context because of functional dependencies
17:16:04 ChaiTRex joins (~ChaiTRex@user/chaitrex)
17:16:25 <dolio> It isn't multiple MonadReaders for the same monad.
17:16:31 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
17:16:51 k` joins (~user@2605:a601:a60d:5400:55e6:a9b6:adcd:beaa)
17:17:29 <[exa]> moonsheep: you might wrap Reader (possibly automatically with DerivingVia and everything) to make a lot of reader types with lots of different MonadReader class types, or have an indexed MonadReader class (such as `MonadReader Env1 Int a`), but honestly just don't
17:17:49 <[exa]> moonsheep: what's the usecase?
17:17:58 <k`> What is `Data.Default.def` for `Int`? 1 or 0 or something else? (It's not documented and the source is hidden from Hoogle.)
17:17:59 <Lears> moonsheep: I have some code with three monad stacks, each a reader over the last. Two custom lifts and, best of all, two withRunIn*s, and all your problems are solved.
17:19:13 <[exa]> k`: here: https://hackage.haskell.org/package/data-default-class-0.1.2.0/docs/src/Data-Default-Class.html#line-92
17:19:25 <[exa]> (it's in another package)
17:20:48 neceve joins (~quassel@2.26.93.14)
17:20:54 cheater joins (~Username@user/cheater)
17:21:49 <geekosaur> 0, as I learned all too well close to a year ago…
17:22:36 <monochrom> This is why Default makes less sense than Monoid.
17:25:21 matthewmosior joins (~matthewmo@173.170.253.91)
17:26:30 × jgeerds quits (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 264 seconds)
17:27:27 <geekosaur> https://github.com/xmonad/xmonad/commit/383ffb772e4a is why Default makes less sense than Monoid
17:28:08 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:29:03 × ph88 quits (~ph88@sonicwall.snp-ag.com) (Read error: Connection reset by peer)
17:30:43 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
17:30:46 <carbolymer> is there a way to change functions this way `f(a -> b ->c) -> a -> b -> f c` for any number of arguments?
17:31:47 <carbolymer> Applicative f
17:32:27 <monochrom> If you don't mind "upgrading" to f(a -> b ->c) -> f a -> f b -> f c, it becomes liftA3.
17:32:31 Kaiepi joins (~Kaiepi@142.68.249.28)
17:32:59 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
17:33:02 <monochrom> I might right "f <*> pure a <*> pure b <*> ... <*> pure z" in general.
17:33:08 <monochrom> s/right/write/
17:33:18 <monochrom> "Mr. Wright is right" :)
17:33:26 <carbolymer> monochrom: actually I mind ;)
17:33:39 × titibandit quits (~titibandi@xdsl-212-8-147-38.nc.de) (Quit: Leaving.)
17:33:40 ec joins (~ec@gateway/tor-sasl/ec)
17:34:17 × vysn quits (~vysn@user/vysn) (Ping timeout: 268 seconds)
17:35:23 <Lears> :t let ff &> x = ff <&> ($ x); infixl 4 &> in \ff x y z -> ff &> x &> y &> z
17:35:24 <lambdabot> Functor f => f (a1 -> a2 -> a3 -> b) -> a1 -> a2 -> a3 -> f b
17:35:29 × Kaipei quits (~Kaiepi@142.68.249.28) (Ping timeout: 252 seconds)
17:35:39 <Lears> You can do something like that, though I'm not sure about the name.
17:35:47 <Lears> Or if it exists somewhere.
17:36:13 <carbolymer> @_@
17:36:28 <monochrom> Yeah I was about to suggest that too.
17:36:54 <ddellacosta> where can I find more on how the choices for the extensions in GHC2021 were made? I'm just curious
17:37:22 <monochrom> &> is like <*> except that it just needs Functor because it's "downgraded" to f (x -> y) -> x -> f y
17:37:50 <carbolymer> ddellacosta: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0380-ghc2021.rst
17:37:59 <ddellacosta> carbolymer: thank you!
17:38:04 <carbolymer> ddellacosta: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html
17:38:21 × phma quits (~phma@host-67-44-208-154.hnremote.net) (Read error: Connection reset by peer)
17:38:32 <moonsheep> [exa]: so there really isn't anything I can do other than wrapping everything in newtypes and making classes?
17:39:14 phma joins (~phma@host-67-44-208-161.hnremote.net)
17:39:23 <carbolymer> monochrom: makes sense
17:39:32 <carbolymer> Lears: thans, I'l try that
17:40:42 ChaiTRex joins (~ChaiTRex@user/chaitrex)
17:40:54 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
17:43:14 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:46:19 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:51:46 gmg joins (~user@user/gehmehgeh)
17:52:11 × adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
17:52:32 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
17:52:38 econo joins (uid147250@user/econo)
17:52:49 slac79690 joins (~slack1256@2607:fb90:c6b:3cba:71e3:d44c:d4aa:8a0b)
17:53:25 valzant joins (~parsival@209.141.195.79)
17:55:11 × slack1256 quits (~slack1256@wsip-184-177-0-226.no.no.cox.net) (Ping timeout: 268 seconds)
17:57:37 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:05:09 × geranim0 quits (~geranim0@modemcable062.79-202-24.mc.videotron.ca) (Remote host closed the connection)
18:05:26 <monochrom> Haha I suck at this game: http://www.doscienceto.it/whos-that-monoid/
18:05:55 geranim0 joins (~geranim0@modemcable062.79-202-24.mc.videotron.ca)
18:06:06 × aeka quits (~aeka@2606:6080:1001:17:9ea4:71f9:d294:d7b7) (Quit: ZNC 1.8.2 - https://znc.in)
18:06:25 slack1256 joins (~slack1256@69.85.193.146)
18:06:30 aeka joins (~aeka@user/hiruji)
18:06:54 × mikoto-chan quits (~mikoto-ch@85-76-75-89-nat.elisa-mobile.fi) (Ping timeout: 268 seconds)
18:08:00 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
18:08:08 × valzant quits (~parsival@209.141.195.79) (Ping timeout: 268 seconds)
18:08:23 mikoto-chan joins (~mikoto-ch@164.5.249.78)
18:08:46 ec joins (~ec@gateway/tor-sasl/ec)
18:08:49 × slac79690 quits (~slack1256@2607:fb90:c6b:3cba:71e3:d44c:d4aa:8a0b) (Ping timeout: 244 seconds)
18:09:13 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
18:09:27 × moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
18:10:05 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
18:10:06 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:10:13 mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec)
18:10:52 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
18:11:26 × slack1256 quits (~slack1256@69.85.193.146) (Ping timeout: 255 seconds)
18:13:08 euandreh_ is now known as euandreh
18:14:45 kenran joins (~kenran@200116b82be1610022a2541211968a00.dip.versatel-1u1.de)
18:14:52 × kenran quits (~kenran@200116b82be1610022a2541211968a00.dip.versatel-1u1.de) (Client Quit)
18:14:58 <monochrom> cabal-install 3.8 looks nice.
18:15:05 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
18:16:06 azimut joins (~azimut@gateway/tor-sasl/azimut)
18:17:10 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
18:19:36 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Read error: Connection reset by peer)
18:19:36 × ec quits (~ec@gateway/tor-sasl/ec) (Write error: Connection reset by peer)
18:19:36 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Write error: Connection reset by peer)
18:20:01 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:20:04 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
18:20:06 ec joins (~ec@gateway/tor-sasl/ec)
18:20:07 × troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
18:20:13 azimut joins (~azimut@gateway/tor-sasl/azimut)
18:20:46 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
18:21:17 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:22:43 troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua)
18:23:04 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
18:23:13 mastarija joins (~mastarija@2a05:4f46:e03:6000:a177:7533:ec47:fb52)
18:23:22 valzant joins (~parsival@209.141.195.79)
18:23:24 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:23:29 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
18:23:51 × mastarija quits (~mastarija@2a05:4f46:e03:6000:a177:7533:ec47:fb52) (Client Quit)
18:28:15 × neceve quits (~quassel@2.26.93.14) (Remote host closed the connection)
18:31:23 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:31:36 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
18:32:36 titibandit joins (~titibandi@xdsl-212-8-147-38.nc.de)
18:32:58 <zzz> from the gloss docs, the the 7th argument to the function `play`, of type `(Float -> world -> world)` is described as "A function to step the world one interation. It is passed the period of time (in seconds) needing to be advanced.". I don't understand what this means.
18:33:08 × titibandit quits (~titibandi@xdsl-212-8-147-38.nc.de) (Client Quit)
18:33:09 ianliu joins (~Ian_Liu_R@2804:431:cfcf:8a26:265:a252:7b71:aacb)
18:33:17 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:33:36 <zzz> What is "the period of time needing to be advanced" ?
18:34:01 <geekosaur> the amount of time that has passed in the "world"
18:35:05 <monochrom> Suppose you intend a frame rate of 10 frames per second. Then the next frame is 0.1 seconds after the previous frame. Now s/frame/world/ because what's a frame other than a projection of the world.
18:35:33 <zzz> i see
18:36:02 pagnol joins (~me@213-205-209-87.ftth.glasoperator.nl)
18:36:56 <ianliu> on https://wiki.haskell.org/Foreign_Function_Interface there is a warning on the top saying not to use ccall and use capi, but I couldn't find any working "hello world" for capi. Is there any "tutorial" on capi out there?
18:37:02 <zzz> so the world gets updated at x time and rendered at x+1/fps, at which point the world gets updated again?
18:37:41 jgeerds joins (~jgeerds@55d46bad.access.ecotel.net)
18:37:45 <monochrom> The GHC User's Guide has capi examples.
18:38:32 <monochrom> But anything that ccall works for, you can just s/ccall/capi/ and it still works, just via a different path.
18:39:30 <pagnol> are there any packages which provide a Tree class with implementations of all sorts of algorithms on trees?
18:39:41 <monochrom> And then capi also works for, for example, C macros.
18:40:12 <monochrom> (Just pretend the macro is a function/global-variable of the appropriate type.)
18:41:00 <monochrom> The GHC User's Guide also explains how it manages to get macros to work.
18:41:05 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
18:41:25 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:41:49 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
18:41:51 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
18:41:55 matthewmosior joins (~matthewmo@173.170.253.91)
18:42:37 Guest|1 joins (~Guest|1@172.58.171.168)
18:43:19 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
18:43:35 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:45:42 Tuplanolla joins (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi)
18:48:26 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:48:59 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
18:53:46 × Guest|1 quits (~Guest|1@172.58.171.168) (Ping timeout: 268 seconds)
18:55:52 <ianliu> monochrom: hmm, changing ccall to capi gives me a parse error
18:56:15 <geekosaur> did you do {-# LANGUAGE CApiFFI #-} ?
18:56:35 stoned is now known as Hash
18:56:38 <ianliu> ah
18:56:41 <ianliu> now it works :P
18:56:42 <ianliu> thanks
18:57:02 <monochrom> Did the wiki remind you?
18:57:55 <monochrom> No. This is why I don't read the wiki.
18:58:04 <ianliu> https://downloads.haskell.org/ghc/9.0.1/docs/html/users_guide/exts/ffi.html?highlight=capiffi#extension-CApiFFI This page here doesn't show a working example, but now that geekosaur replied, I see that the user guide says "The CApiFFI *extension*"
18:58:05 geekosaur just has it memorized
18:58:46 <ianliu> I don't program in haskell very much, so I'm not used to it
18:59:03 <monochrom> No worries, I'm roasting low quality haskell wiki
18:59:40 <monochrom> Right? An off-the-hand remark "use capi instead of ccall" and no support.
19:01:16 <monochrom> The fact is that ccall is still in use and is still suitable for a lot of things.
19:01:32 matthewmosior joins (~matthewmo@173.170.253.91)
19:01:43 chomwitt joins (~chomwitt@2a02:587:dc15:5e00:671f:736d:4d41:28c3)
19:01:52 <geekosaur> ghc hq is strongly pushing capi and hinting that ccall may go away in the future
19:02:04 <geekosaur> it causes too many weird support issues
19:02:06 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
19:02:18 <monochrom> The useful thing to know is under what condition ccall fails and why doesn't capi suffer the same issue.
19:02:37 <geekosaur> the problem is, knowing that requires internals knowledge of the thing you're calling
19:02:53 Boone joins (~Boone@172.58.171.168)
19:03:00 <geekosaur> like, you have to know that glibc hides under several layers of macros the fact that there are four variants of the stat() syscall
19:03:09 McCabe joins (~McCabe@63.sub-174-231-82.myvzw.com)
19:03:14 <monochrom> Sure, but I don't mean that.
19:03:18 <geekosaur> and the only way you'll get that right is to call it with capi
19:03:34 <monochrom> I just mean that, e.g., ccall fails if the "function" is a macro.
19:03:40 <monochrom> That is not rocket science.
19:03:46 <geekosaur> right, but when do you know that?
19:04:16 <geekosaur> "not rocket science" to those of us who know C and know how to trace through possibly multiple layers of include files
19:04:23 × Boone quits (~Boone@172.58.171.168) (Client Quit)
19:04:50 <monochrom> No, just who know C.
19:04:50 <geekosaur> and looking in a symbol table won't necessarily work because it may have one that's not guaranteed to work without all those macros
19:05:14 <monochrom> Again, I do not mean that one has to find out whether execvp is a macro.
19:06:47 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
19:08:52 × McCabe quits (~McCabe@63.sub-174-231-82.myvzw.com) (Quit: Connection closed)
19:10:01 <geekosaur> in any case, you're arguing with the wrong person. as I said, ghc hq is deprecating ccall in favor of capi
19:10:19 <geekosaur> argue it with them or make your peace with it
19:11:20 <monochrom> I make peace with that. I just want more people to know why.
19:12:12 <geekosaur> that's fine as long as it you and not ghc hq that has to do so, I suspect 🙂
19:12:17 × Kaiepi quits (~Kaiepi@142.68.249.28) (Ping timeout: 252 seconds)
19:12:21 <geekosaur> *it's
19:13:35 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
19:13:41 matthewmosior joins (~matthewmo@173.170.253.91)
19:14:06 <monochrom> And someone who cares about the wiki could have just done a s/ccall/capi/g instead of "oh let's be too afraid to change existing content, let's just add one mysterious line at the top".
19:14:14 <monochrom> (I no longer care about the wiki.)
19:20:39 McCabe joins (~McCabe@63.sub-174-231-82.myvzw.com)
19:21:15 × McCabe quits (~McCabe@63.sub-174-231-82.myvzw.com) (Client Quit)
19:21:42 McCabe joins (~McCabe@63.sub-174-231-82.myvzw.com)
19:23:25 × McCabe quits (~McCabe@63.sub-174-231-82.myvzw.com) (Client Quit)
19:24:03 <k`> Wikis can be high value, but for whatever reason Haskell seems to rely much more on blogs.
19:24:36 <monochrom> Yeah I just mean the haskell wiki.
19:24:53 <monochrom> But no, the blogs are not of better quality either.
19:25:28 <monochrom> An article is of value [to readers] iff it is written for readers.
19:25:29 × valzant quits (~parsival@209.141.195.79) (Ping timeout: 252 seconds)
19:25:49 <k`> What would you do if there wasn't someone to rant at you that 'Monads are burritos'?
19:26:08 <geekosaur> be happier?
19:26:13 <monochrom> Writers of the Haskell wiki and many Haskell blogs have "I'm so excited I must share this in mind". This usually does not align with the readers.
19:27:12 <k`> Unfortunately, Haskell changes quickly enough in backwards-incompatible ways that a Haskell book is likely out-of-date before it is published.
19:27:45 <monochrom> Oh, I said that on haskell-cafe when someone talked about writing a Haskell database book.
19:28:16 <monochrom> That someone was not very happy to hear such a cold hard truth. :)
19:28:42 <monochrom> Hell, even databases change quickly too.
19:32:00 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
19:33:30 ChaiTRex joins (~ChaiTRex@user/chaitrex)
19:35:17 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
19:36:38 ChaiTRex joins (~ChaiTRex@user/chaitrex)
19:38:40 × acidjnk_new quits (~acidjnk@p200300d6e70586293de428a35ddddd41.dip0.t-ipconnect.de) (Remote host closed the connection)
19:39:03 acidjnk_new joins (~acidjnk@p200300d6e70586293de428a35ddddd41.dip0.t-ipconnect.de)
19:39:23 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
19:41:19 matthewmosior joins (~matthewmo@173.170.253.91)
19:45:24 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
19:45:31 matthewmosior joins (~matthewmo@173.170.253.91)
19:46:34 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:49:01 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:49:52 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
19:53:35 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
19:55:54 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
19:56:38 matthewmosior joins (~matthewmo@173.170.253.91)
19:57:17 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
19:57:32 Kaiepi joins (~Kaiepi@142.68.249.28)
19:59:28 ChaiTRex joins (~ChaiTRex@user/chaitrex)
19:59:38 cheater joins (~Username@user/cheater)
20:00:23 × coot quits (~coot@213.134.176.158) (Quit: coot)
20:00:32 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
20:00:40 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
20:00:56 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
20:01:22 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
20:02:44 titibandit joins (~titibandi@xdsl-212-8-147-38.nc.de)
20:03:28 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Client Quit)
20:03:46 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
20:04:08 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:04:12 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
20:05:34 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:05:35 × mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 244 seconds)
20:06:31 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
20:06:53 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:10:19 × acidjnk_new quits (~acidjnk@p200300d6e70586293de428a35ddddd41.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
20:12:27 × jargon quits (~jargon@184.101.168.117) (Remote host closed the connection)
20:13:58 matthewmosior joins (~matthewmo@173.170.253.91)
20:14:01 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
20:15:26 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:16:08 slack1256 joins (~slack1256@wsip-184-177-0-226.no.no.cox.net)
20:17:38 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:23:50 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
20:26:44 acidjnk joins (~acidjnk@p200300d6e70586290c6dd2639c811ffe.dip0.t-ipconnect.de)
20:27:18 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
20:27:42 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:30:28 <ddellacosta> It seems like people with a deeper understanding of Haskell/PLT/etc. use the expression "term-level" to talk about values (vs. "type-level")--but why is it not "value-level?" I thought "term" was a very general word for syntactic constructs--what is the history of this usage, where does it come from?
20:30:28 vysn joins (~vysn@user/vysn)
20:31:33 <tomsmeding> people use "value-level" as well
20:31:52 <tomsmeding> a "term" is, in general, usually a piece of syntax
20:32:45 <tomsmeding> but the thing is, for types, the word "type" can both refer to the abstract concept of some type, say the type of the integers, as well as to the syntax that describes it, e.g. `Integer`
20:33:00 <tomsmeding> though I believe I've seen people use "type-term" for the latter -- but not sure
20:33:20 <tomsmeding> for value-level things, "value" doesn't refer to both -- a "value" is simply the abstract meaning of a program
20:33:38 <tomsmeding> the syntax that describes it is itself not a value (barring lisps)
20:34:14 yvan-sraka joins (~yvan-srak@105.67.135.250)
20:34:20 <tomsmeding> so people use "term" for that when constrasting with types -- and it's probably also a factor that the words "type" and "term" are both similar in structure :)
20:34:48 <qrpnxz> ghc just hit me with a <<loop>> 🥹 debug time
20:35:32 <ddellacosta> tomsmeding: okay, I have to think about that a bit--thank you
20:40:11 pmarg joins (~pmarg@2a01:799:159f:9b00:9386:acc:da1e:eccd)
20:41:45 × son0p quits (~ff@181.136.122.143) (Ping timeout: 252 seconds)
20:42:11 × ddellacosta quits (~ddellacos@143.244.47.100) (Ping timeout: 255 seconds)
20:42:55 Furor joins (~colere@about/linux/staff/sauvin)
20:45:05 × pmarg quits (~pmarg@2a01:799:159f:9b00:9386:acc:da1e:eccd) (Remote host closed the connection)
20:47:16 × Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 268 seconds)
20:50:31 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
20:54:23 mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec)
20:54:41 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
20:54:41 × califax quits (~califax@user/califx) (Read error: Connection reset by peer)
20:54:41 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
20:54:42 × ec quits (~ec@gateway/tor-sasl/ec) (Write error: Connection reset by peer)
20:54:42 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
20:55:04 jpds joins (~jpds@gateway/tor-sasl/jpds)
20:55:04 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:55:12 califax joins (~califax@user/califx)
20:55:17 ec joins (~ec@gateway/tor-sasl/ec)
20:55:28 chexum joins (~quassel@gateway/tor-sasl/chexum)
20:57:05 × califax quits (~califax@user/califx) (Remote host closed the connection)
20:57:22 califax joins (~califax@user/califx)
20:59:38 Inst joins (~Inst@2601:6c4:4080:3f80:60a2:552d:5c38:7396)
21:01:32 toby joins (~toby@137.220.84.171)
21:03:20 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
21:03:20 allbery_b joins (~geekosaur@xmonad/geekosaur)
21:03:23 allbery_b is now known as geekosaur
21:09:45 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:10:15 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
21:11:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:11:19 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
21:13:05 Furor is now known as Colere
21:16:07 <monochrom> Oh darn missed that conversation.
21:17:34 kadoban1 parts (~kadoban@user/kadoban) ()
21:17:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:17:49 kadoban1 joins (~kadoban@user/kadoban)
21:19:21 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
21:19:32 chexum joins (~quassel@gateway/tor-sasl/chexum)
21:22:15 <toby> Recently started with haskell. I've been running into a segfault/assertion failiure at in the nonmoving-gc (rts/sm/NonMovingMark.c:1815 on a few ghc versions, including ghc-9.2.4. I have some sort of reproducer for this but im not sure if this is something dodgy in a library or an actual RTS bug. Any pointers on how to go about pinning this down further?
21:22:44 × ubert quits (~Thunderbi@178.165.178.67.wireless.dyn.drei.com) (Ping timeout: 255 seconds)
21:28:22 × zer0bitz quits (~zer0bitz@2001:2003:f748:2000:4941:f6bb:794b:548e) (Read error: Connection reset by peer)
21:30:12 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:31:05 geekosaur joins (~geekosaur@xmonad/geekosaur)
21:35:24 <merijn> toby: Check with #ghc ?
21:35:30 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:35:35 dcoutts joins (~duncan@host86-167-206-78.range86-167.btcentralplus.com)
21:35:37 × ianliu quits (~Ian_Liu_R@2804:431:cfcf:8a26:265:a252:7b71:aacb) (Quit: WeeChat 3.6)
21:36:01 × dcoutts_ quits (~duncan@host86-167-206-78.range86-167.btcentralplus.com) (Ping timeout: 252 seconds)
21:38:45 <geekosaur> they just fixed such a bug but it should have been fixed already in 9.2.4
21:43:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
21:44:53 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
21:44:53 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
21:44:53 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
21:45:25 ChaiTRex joins (~ChaiTRex@user/chaitrex)
21:45:26 jpds joins (~jpds@gateway/tor-sasl/jpds)
21:45:30 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
21:45:36 chexum joins (~quassel@gateway/tor-sasl/chexum)
21:45:51 ChaiTRex joins (~ChaiTRex@user/chaitrex)
21:48:05 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
21:48:26 ChaiTRex joins (~ChaiTRex@user/chaitrex)
21:48:47 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
21:49:08 jpds joins (~jpds@gateway/tor-sasl/jpds)
21:50:55 matthewmosior joins (~matthewmo@173.170.253.91)
21:54:36 × ccntrq quits (~Thunderbi@172.209.94.92.rev.sfr.net) (Remote host closed the connection)
21:55:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
21:56:22 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:59:15 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
21:59:28 dcoutts_ joins (~duncan@host86-153-135-126.range86-153.btcentralplus.com)
22:01:20 × dcoutts quits (~duncan@host86-167-206-78.range86-167.btcentralplus.com) (Ping timeout: 244 seconds)
22:02:43 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
22:03:43 × pagnol quits (~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 268 seconds)
22:04:53 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
22:04:55 matthewmosior joins (~matthewmo@173.170.253.91)
22:05:17 jpds joins (~jpds@gateway/tor-sasl/jpds)
22:07:57 × yvan-sraka quits (~yvan-srak@105.67.135.250) (Remote host closed the connection)
22:09:19 × titibandit quits (~titibandi@xdsl-212-8-147-38.nc.de) (Remote host closed the connection)
22:12:36 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
22:13:02 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
22:13:42 azimut joins (~azimut@gateway/tor-sasl/azimut)
22:14:20 noteness joins (~noteness@user/noteness)
22:15:25 × farn quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (Ping timeout: 260 seconds)
22:15:27 × chomwitt quits (~chomwitt@2a02:587:dc15:5e00:671f:736d:4d41:28c3) (Ping timeout: 268 seconds)
22:15:30 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 268 seconds)
22:15:30 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
22:15:41 chexum joins (~quassel@gateway/tor-sasl/chexum)
22:16:17 farn joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
22:16:44 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds)
22:17:39 ChaiTRex joins (~ChaiTRex@user/chaitrex)
22:17:53 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
22:18:12 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
22:18:25 chexum joins (~quassel@gateway/tor-sasl/chexum)
22:23:02 × causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.6)
22:24:49 nate4 joins (~nate@98.45.169.16)
22:29:36 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
22:35:42 Midjak joins (~Midjak@82.66.147.146)
22:36:16 × michalz quits (~michalz@185.246.204.69) (Remote host closed the connection)
22:38:21 × k` quits (~user@2605:a601:a60d:5400:55e6:a9b6:adcd:beaa) (Ping timeout: 255 seconds)
22:38:28 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:39:53 pavonia joins (~user@user/siracusa)
22:50:36 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
22:51:09 <Axman6> toby: nice work on such a minimal reproduction of the bug
22:52:30 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
22:53:02 × jgeerds quits (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 268 seconds)
22:53:31 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
22:57:14 valhardt joins (~parsival@209.141.195.79)
22:58:18 × valhardt quits (~parsival@209.141.195.79) (Client Quit)
22:59:12 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
22:59:40 × Kaiepi quits (~Kaiepi@142.68.249.28) (Read error: Connection reset by peer)
23:01:18 × acidjnk quits (~acidjnk@p200300d6e70586290c6dd2639c811ffe.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
23:02:54 slac96944 joins (~slack1256@2607:fb90:c6b:3cba:8eb0:bff6:9960:78c9)
23:03:03 × slac96944 quits (~slack1256@2607:fb90:c6b:3cba:8eb0:bff6:9960:78c9) (Remote host closed the connection)
23:05:24 × slack1256 quits (~slack1256@wsip-184-177-0-226.no.no.cox.net) (Ping timeout: 268 seconds)
23:06:51 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
23:06:57 luffy joins (~chenqisu1@183.217.201.23)
23:17:06 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
23:21:58 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
23:22:31 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
23:22:31 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
23:22:32 wroathe joins (~wroathe@user/wroathe)
23:26:31 nicos joins (~nico@190.247.245.154)
23:31:16 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds)
23:32:49 × Patternm1ster quits (~georg@li1192-118.members.linode.com) (Quit: leaving)
23:33:42 kimjetwav joins (~user@2607:fea8:235e:b600:3b09:c412:8c94:9daa)
23:34:24 Patternmaster joins (~georg@user/Patternmaster)
23:34:46 <toby> Axman6: thanks, although a large degree of luck was involved
23:45:54 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
23:45:54 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
23:45:54 wroathe joins (~wroathe@user/wroathe)
23:49:47 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
23:50:27 darchitect1 joins (~darchitec@2a00:23c6:3584:df01:81a:29c9:cfd8:abaa)
23:51:00 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
23:53:02 × sudden quits (~cat@user/sudden) (Ping timeout: 255 seconds)
23:53:58 sudden joins (~cat@user/sudden)
23:58:08 Kaiepi joins (~Kaiepi@142.68.249.28)
23:58:30 × Tuplanolla quits (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) (Quit: Leaving.)
23:59:15 jargon joins (~jargon@184.101.168.117)

All times are in UTC on 2022-08-11.