2023/04/16

2023-04-16 00:00:38 +0200OscarZ(~oscarz@95.175.104.196)
2023-04-16 00:08:00 +0200gurkenglas(~gurkengla@dynamic-046-114-182-159.46.114.pool.telefonica.de) (Ping timeout: 255 seconds)
2023-04-16 00:09:52 +0200gurkenglas(~gurkengla@dynamic-046-114-182-107.46.114.pool.telefonica.de)
2023-04-16 00:33:10 +0200heraldo(~heraldo@user/heraldo)
2023-04-16 00:39:25 +0200vglfr(~vglfr@37.73.81.145) (Ping timeout: 240 seconds)
2023-04-16 00:51:14 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2023-04-16 00:52:17 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-04-16 00:53:11 +0200_xor(~xor@74.215.46.17)
2023-04-16 00:57:04 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 248 seconds)
2023-04-16 00:58:48 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2023-04-16 01:03:05 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d) (Remote host closed the connection)
2023-04-16 01:03:56 +0200tjnhxmzhmqgytuwt(~tjnhxmzhm@2001:470:69fc:105::3:70e)
2023-04-16 01:06:39 +0200tjnhxmzh1qgytuwt(~user@eth-west-pareq2-46-193-2-167.wb.wifirst.net)
2023-04-16 01:07:31 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-04-16 01:16:16 +0200acidjnk(~acidjnk@p200300d6e715c4416144e158ab279f3c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-04-16 01:19:19 +0200zeenk2(~zeenk@188.26.30.104) (Quit: Konversation terminated!)
2023-04-16 01:20:39 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-04-16 01:21:47 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d)
2023-04-16 01:21:47 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2023-04-16 01:22:32 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-04-16 01:23:34 +0200OscarZ(~oscarz@95.175.104.196) (Quit: Leaving)
2023-04-16 01:36:26 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au)
2023-04-16 01:38:25 +0200tjnhxmzh1qgytuwt(~user@eth-west-pareq2-46-193-2-167.wb.wifirst.net) (Ping timeout: 276 seconds)
2023-04-16 01:49:04 +0200acidjnk(~acidjnk@p200300d6e715c4246144e158ab279f3c.dip0.t-ipconnect.de)
2023-04-16 01:53:51 +0200nate1(~nate@98.45.169.16)
2023-04-16 01:55:05 +0200_xor(~xor@74.215.46.17) (Quit: WeeChat 3.8)
2023-04-16 01:55:26 +0200_xor(~xor@74.215.46.17)
2023-04-16 01:55:31 +0200mauke_(~mauke@user/mauke)
2023-04-16 01:57:21 +0200mauke(~mauke@user/mauke) (Ping timeout: 255 seconds)
2023-04-16 01:57:22 +0200mauke_mauke
2023-04-16 01:58:42 +0200nate1(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2023-04-16 02:04:25 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2023-04-16 02:04:50 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-04-16 02:05:29 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-04-16 02:09:05 +0200gurkenglas(~gurkengla@dynamic-046-114-182-107.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-04-16 02:17:25 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 276 seconds)
2023-04-16 02:18:03 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 255 seconds)
2023-04-16 02:20:35 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-16 02:20:36 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-16 02:20:36 +0200wroathe(~wroathe@user/wroathe)
2023-04-16 02:23:56 +0200pharonix71(~pharonix7@gateway/tor-sasl/pharonix71) (Changing host)
2023-04-16 02:23:56 +0200pharonix71(~pharonix7@user/pharonix71)
2023-04-16 02:24:05 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-04-16 02:25:52 +0200pavonia(~user@user/siracusa)
2023-04-16 02:26:30 +0200heraldo(~heraldo@user/heraldo)
2023-04-16 02:26:59 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-16 02:28:45 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2023-04-16 02:36:30 +0200nitrix(~nitrix@user/nitrix)
2023-04-16 02:40:51 +0200 <nitrix> Hello. This is a bit coming from the left field, but knowing the strong knowledge about reactive programming and logic systems in the community, I'll try to throw a shot in the dark, we'll see if I'm lucky.
2023-04-16 02:41:32 +0200 <nitrix> I'm trying to build a "production system" which operates with a set of "facts" and "rules". The rules reactively match against facts to create yet more facts. The whole thing is forward-chained I believe. What I'd like to be able to do is to prove that the format I chose for my rules can express all computations: GIVEN x WHEN y THEN z;
2023-04-16 02:42:00 +0200 <nitrix> GIVEN matches facts but does not consume them. WHEN matches facts and consumes them. THEN creates new facts.
2023-04-16 02:42:35 +0200 <nitrix> This seems awefully lambda / SKI-combinator-like to me. Any tips in any direction would help :3
2023-04-16 02:44:58 +0200 <ski> this sounds like ##prolog could also possibly give suggestions. i can already see similarities between CHR (Constraint Handling Rules), and what you're asking about
2023-04-16 02:46:45 +0200 <monochrom> https://en.wikipedia.org/wiki/Rule-based_system and https://en.wikipedia.org/wiki/Expert_system
2023-04-16 02:46:46 +0200 <nitrix> Mhm. That was going to be my next stop :)
2023-04-16 02:47:21 +0200 <nitrix> Hopefully Anniepoo is there or triska :P
2023-04-16 02:48:04 +0200 <ski> Anniepoo has been there a long time in the past, but seems to have been gone for some time
2023-04-16 02:48:53 +0200 <ski> (may perhaps be on a discord, you could try asking)
2023-04-16 02:50:04 +0200 <ski> e.g. <https://www.swi-prolog.org/pldoc/man?section=chr>,<http://www.informatik.uni-ulm.de/pm/fileadmin/pm/home/fruehwirth/constraint-handling-rules-book.html> might be helpful, for CHR
2023-04-16 02:56:56 +0200 <ski> specifically your `GIVEN x WHEN y THEN Z;' corresponds to the "simpagation" (simplfication&propagation) type of CHR rule, which would look like `x \ y <=> z.'. logically, this amounts to `x => (y <=> z)'. the constraint `y' is equivalent to the constraint `z' so we may replace `y' with `z' (without losing information). but this only holds under the condition of `z', so the replacement only holds when the
2023-04-16 02:57:02 +0200 <ski> constraint `x' holds (and `x' is not removed). you can also add additional (non-constraint) conditions (written in the host language, here Prolog) for the rule, like `x \ y <=> z :- Blah.'
2023-04-16 03:10:35 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-04-16 03:11:55 +0200ryantrinkle(~ryantrink@140.174.248.64)
2023-04-16 03:16:42 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-04-16 03:32:50 +0200sefidel(~sefidel@user/sefidel) (Remote host closed the connection)
2023-04-16 03:33:32 +0200sefidel(~sefidel@user/sefidel)
2023-04-16 03:34:44 +0200viole(~viole@user/viole)
2023-04-16 03:37:57 +0200 <viole> Hi. Last time I used haskell for anything serious was back in ghc 7.4. Just fired up ghci 8.8.4, tried to define a Monoid V and... oh... now requires Semigroup.. and looks like this is what I actually need so, fine, I define it no problem. Now, when I try to type V 1 <> V 2, the prompt returns V 1 <> V 2 :: V, instead of the actual result. What's going on here?
2023-04-16 03:38:28 +0200 <c_wraith> viole: that sounds like you're asking it for the type
2023-04-16 03:38:58 +0200 <viole> not really. I then did a partial case V 1 <> V 2 of V x -> x and it does what I want
2023-04-16 03:39:10 +0200 <viole> let me upload a screenshot
2023-04-16 03:41:41 +0200_xor(~xor@74.215.46.17) (Quit: brb rebooting due to usb audio being held by firefox :/)
2023-04-16 03:42:15 +0200 <Axman6> yeah that does not sound like the behaviour of ghci, something must be wrong
2023-04-16 03:42:23 +0200 <Axman6> > Sum 1 <> Sum 2
2023-04-16 03:42:25 +0200 <lambdabot> Sum {getSum = 3}
2023-04-16 03:42:38 +0200 <c_wraith> I mean, it's exactly the behavior when you put :t in front of an expression...
2023-04-16 03:42:45 +0200 <Axman6> yeah
2023-04-16 03:43:20 +0200 <viole> f*** me. This is because I didn't derive Show
2023-04-16 03:43:30 +0200 <viole> mistery solved
2023-04-16 03:43:35 +0200 <viole> if Show is missing, it'll do this
2023-04-16 03:43:39 +0200 <Axman6> TIL about lens' Ixed instance for functions, how handy!
2023-04-16 03:43:41 +0200 <c_wraith> in what environment? ghc just gives an error message...
2023-04-16 03:43:47 +0200 <c_wraith> err, ghci
2023-04-16 03:43:54 +0200 <Axman6> viole: huh, I feel like I've never seen that happen
2023-04-16 03:44:28 +0200 <c_wraith> I'm testing with ghci 8.8.4, and get • No instance for (Show Foo) arising from a use of ‘print’
2023-04-16 03:44:30 +0200 <viole> c_wraith: haskell-mode interaction (version... let me check), emacs 27.1
2023-04-16 03:44:45 +0200 <Axman6> Also worth noting that ghc 8.8 is quite old now - if you installed it using your OS's package manager, you might want to consider removing it and using ghcup to manage the installation of all the tools you'll need
2023-04-16 03:44:56 +0200 <c_wraith> oh. this is what you get for integrating with editors. :P
2023-04-16 03:45:21 +0200 <Axman6> nice feature though
2023-04-16 03:45:29 +0200 <viole> c_wraith: wasn't like this back then, but it's not like it's bad, just unexpected and did throw me for a loop
2023-04-16 03:45:48 +0200 <Axman6> US too!
2023-04-16 03:47:05 +0200 <viole> anyway, if you still want to see the screenshot, I'll paste it. I listen to suggestions, as most image pastebin sites I checked out so far seem quite trashy and full of ads
2023-04-16 03:47:30 +0200gehmehgeh(~user@user/gehmehgeh)
2023-04-16 03:49:29 +0200 <Axman6> yeah probably not worth it.
2023-04-16 03:50:08 +0200 <Axman6> ghcup is worth looking at though, lets you easily manage ghc version through a nice tui, and also tools like cabal, stack and haskell lanuage server
2023-04-16 03:50:17 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2023-04-16 03:50:37 +0200 <viole> so long is not a pain in the ass to get to work in nixos, I'm all for trying it out... later...
2023-04-16 03:50:57 +0200 <viole> s/to get to/to get it to/
2023-04-16 03:52:58 +0200 <Axman6> I'd have to defer to others as to its use on nixos, it's got it's own options. General advice is that OS package managers aren't a good choice for installing ghc, but nixos is likely to be an exception
2023-04-16 03:54:23 +0200 <viole> nixos both gives me pain, lots of it, and also is a blessing. When managing multiple systems, it's an absolute blessing to simply have a shared mountpoint with definitions and simply import whatever is needed for the current system/machine
2023-04-16 03:55:17 +0200 <c_wraith> There is a community working hard to make nix work for haskell. But it's always seemed like a tremendous pain to me if I want to manage it myself.
2023-04-16 03:55:18 +0200 <viole> but many other things are... ugh! hours of struggle to do simple stuff that'd be strightaway in any other distro
2023-04-16 04:02:55 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2023-04-16 04:03:39 +0200gehmehgeh(~user@user/gehmehgeh)
2023-04-16 04:10:33 +0200td_(~td@i53870901.versanet.de) (Ping timeout: 265 seconds)
2023-04-16 04:11:14 +0200glguy(~glguy@libera/staff-emeritus/glguy) (Read error: Connection reset by peer)
2023-04-16 04:11:45 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-04-16 04:12:03 +0200td_(~td@i53870922.versanet.de)
2023-04-16 04:12:58 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 265 seconds)
2023-04-16 04:18:31 +0200glguy(~glguy@libera/staff-emeritus/glguy)
2023-04-16 04:21:03 +0200 <Axman6> > "A 1 a 2 a 1 2 3 4 let's go!" ^.. worded . _Show :: [Int]
2023-04-16 04:21:05 +0200 <lambdabot> [1,2,1,2,3,4]
2023-04-16 04:38:43 +0200jero98772(~jero98772@2800:484:1d84:9000:c240:a1ed:a61f:2a0) (Remote host closed the connection)
2023-04-16 04:41:33 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-04-16 04:45:25 +0200nate1(~nate@98.45.169.16)
2023-04-16 04:51:07 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-04-16 04:55:02 +0200l0s3r(~ensyde@104-62-224-96.lightspeed.chrlnc.sbcglobal.net) (Quit: WeeChat 3.5)
2023-04-16 04:55:04 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-04-16 04:55:04 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-04-16 04:55:04 +0200finn_elijaFinnElija
2023-04-16 05:09:46 +0200 <Nosrep> anyone noticed the comments on realworldhaskell are messed up?
2023-04-16 05:09:58 +0200 <Nosrep> they're always for a completely different section if there even are any
2023-04-16 05:10:49 +0200falafel(~falafel@2603-8000-d700-115c-96a0-9f27-330c-5675.res6.spectrum.com)
2023-04-16 05:14:27 +0200 <Nosrep> well it seems to be only some this one looks normal enoughg
2023-04-16 05:14:35 +0200 <Nosrep> a decent fraction
2023-04-16 05:48:47 +0200nate1(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2023-04-16 06:01:15 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-04-16 06:07:02 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-04-16 06:09:24 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Remote host closed the connection)
2023-04-16 06:10:31 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2023-04-16 06:28:17 +0200falafel(~falafel@2603-8000-d700-115c-96a0-9f27-330c-5675.res6.spectrum.com) (Ping timeout: 250 seconds)
2023-04-16 06:31:28 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 248 seconds)
2023-04-16 06:36:03 +0200MQ-17J(~MQ-17J@104.28.216.166)
2023-04-16 06:37:06 +0200MQ-17J(~MQ-17J@104.28.216.166) (Client Quit)
2023-04-16 06:42:45 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-04-16 06:45:23 +0200FurudeRika[m](~chitandae@2001:470:69fc:105::1:6039)
2023-04-16 06:47:02 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2023-04-16 06:47:37 +0200JoelMcCracken(5ea8252fbb@2604:bf00:561:2000::10e3) (Ping timeout: 252 seconds)
2023-04-16 06:48:08 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-04-16 06:48:43 +0200MonsoonSecrecy(f78c86e960@2604:bf00:561:2000::f99) (Ping timeout: 252 seconds)
2023-04-16 06:49:16 +0200whereiseveryone(206ba86c98@2604:bf00:561:2000::2e4) (Ping timeout: 252 seconds)
2023-04-16 06:49:16 +0200filwisher(2e6936c793@2604:bf00:561:2000::170) (Ping timeout: 252 seconds)
2023-04-16 06:49:16 +0200ymherklotz(cb2c9cfbdd@2604:bf00:561:2000::29a) (Ping timeout: 252 seconds)
2023-04-16 06:49:23 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2023-04-16 06:50:02 +0200JoelMcCracken(5ea8252fbb@2604:bf00:561:2000::10e3)
2023-04-16 06:50:57 +0200MonsoonSecrecy(f78c86e960@2604:bf00:561:2000::f99)
2023-04-16 06:51:18 +0200ymherklotz(cb2c9cfbdd@2604:bf00:561:2000::29a)
2023-04-16 06:51:19 +0200whereiseveryone(206ba86c98@2604:bf00:561:2000::2e4)
2023-04-16 06:51:25 +0200filwisher(2e6936c793@2604:bf00:561:2000::170)
2023-04-16 07:01:57 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
2023-04-16 07:02:35 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-04-16 07:06:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-04-16 07:14:04 +0200barak(~barak@77.125.91.113)
2023-04-16 07:22:16 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 276 seconds)
2023-04-16 07:22:47 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2023-04-16 07:24:41 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2023-04-16 07:24:42 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2023-04-16 07:24:45 +0200allbery_bgeekosaur
2023-04-16 07:37:25 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
2023-04-16 07:39:04 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-04-16 07:41:08 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-16 07:41:08 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-16 07:41:08 +0200wroathe(~wroathe@user/wroathe)
2023-04-16 07:44:00 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-16 07:45:43 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-16 07:46:05 +0200Lycurgus(~juan@user/Lycurgus)
2023-04-16 07:49:45 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-04-16 07:54:54 +0200gurkenglas(~gurkengla@dynamic-046-114-182-107.46.114.pool.telefonica.de)
2023-04-16 08:04:48 +0200_xor(~xor@74.215.46.17)
2023-04-16 08:19:08 +0200redmp(~redmp@mobile-166-137-179-249.mycingular.net)
2023-04-16 08:19:44 +0200 <redmp> do any of the common command-line parsing libraries also facilitate pretty-printing back to cli args?
2023-04-16 08:20:27 +0200 <redmp> i've poked around the source of optparse-generic and optparse-applicative, and the pretty-printing facilities seem buried deep and inaccessibly inside the help-text printers
2023-04-16 08:21:08 +0200Vq(~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 246 seconds)
2023-04-16 08:21:47 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-16 08:22:53 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-16 08:23:09 +0200Vq(~vq@90-227-192-206-no77.tbcn.telia.com)
2023-04-16 08:23:27 +0200euandreh(~Thunderbi@189.6.18.7) (Remote host closed the connection)
2023-04-16 08:23:38 +0200general_j[m](~generaljm@2001:470:69fc:105::3:463b)
2023-04-16 08:25:03 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-04-16 08:26:30 +0200euandreh(~Thunderbi@189.6.18.7)
2023-04-16 08:30:45 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
2023-04-16 08:31:32 +0200 <dsal> Do you mean that you want it to print out the commandline arguments it received?
2023-04-16 08:37:20 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds)
2023-04-16 08:41:26 +0200emmanuelux_(~emmanuelu@user/emmanuelux)
2023-04-16 08:42:30 +0200emmanuelux_(~emmanuelu@user/emmanuelux) (Max SendQ exceeded)
2023-04-16 08:43:00 +0200 <redmp> dsal: yes, or any way to go from an instance of a datatype back to the commandline string(s).. invert the parsing
2023-04-16 08:43:45 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Ping timeout: 240 seconds)
2023-04-16 08:44:29 +0200euandreh(~Thunderbi@189.6.18.7)
2023-04-16 08:45:20 +0200emmanuelux_(~emmanuelu@user/emmanuelux)
2023-04-16 08:46:25 +0200 <hopelessness[m]> that depends on the datatype and how it encapsulates the data
2023-04-16 08:47:03 +0200 <redmp> I suppose so, but in many cases it's straightforward
2023-04-16 08:47:24 +0200 <hopelessness[m]> yeah, but it really depends on how it's structured
2023-04-16 08:49:04 +0200falafel(~falafel@2603-8000-d700-115c-6846-cc5b-2820-7bfc.res6.spectrum.com)
2023-04-16 08:50:02 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2023-04-16 08:58:05 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-04-16 09:02:15 +0200Feuermagier_(~Feuermagi@user/feuermagier) (Quit: Leaving)
2023-04-16 09:02:27 +0200Feuermagier(~Feuermagi@user/feuermagier)
2023-04-16 09:06:55 +0200remexre(~remexre@user/remexre) (Remote host closed the connection)
2023-04-16 09:07:15 +0200remexre(~remexre@user/remexre)
2023-04-16 09:07:16 +0200remexre(~remexre@user/remexre) (Remote host closed the connection)
2023-04-16 09:07:23 +0200shreyasminocha(51fdc93eda@user/shreyasminocha) (Ping timeout: 248 seconds)
2023-04-16 09:07:23 +0200henrytill(e0180937c3@2604:bf00:561:2000::e8c) (Ping timeout: 248 seconds)
2023-04-16 09:07:34 +0200remexre(~remexre@user/remexre)
2023-04-16 09:07:43 +0200 <redmp> I guess i'm only really concerned with the use case where the parser is autogenerated, as in the example of optparse-generic and similar
2023-04-16 09:07:48 +0200JoelMcCracken(5ea8252fbb@2604:bf00:561:2000::10e3) (Ping timeout: 265 seconds)
2023-04-16 09:07:48 +0200fluffyballoon(45ce440a48@2604:bf00:561:2000::e2) (Ping timeout: 265 seconds)
2023-04-16 09:07:48 +0200Ankhers(e99e97ef8e@2604:bf00:561:2000::2a2) (Ping timeout: 265 seconds)
2023-04-16 09:08:05 +0200filwisher(2e6936c793@2604:bf00:561:2000::170) (Ping timeout: 246 seconds)
2023-04-16 09:08:10 +0200cpli(77fc530071@2604:bf00:561:2000::252) (Ping timeout: 260 seconds)
2023-04-16 09:08:20 +0200henrytill(e0180937c3@2604:bf00:561:2000::e8c)
2023-04-16 09:08:27 +0200fluffyballoon(45ce440a48@2604:bf00:561:2000::e2)
2023-04-16 09:08:44 +0200remexre(~remexre@user/remexre) (Remote host closed the connection)
2023-04-16 09:08:47 +0200MonsoonSecrecy(f78c86e960@2604:bf00:561:2000::f99) (Ping timeout: 246 seconds)
2023-04-16 09:09:05 +0200remexre(~remexre@user/remexre)
2023-04-16 09:09:13 +0200cpli(77fc530071@2604:bf00:561:2000::252)
2023-04-16 09:09:15 +0200whereiseveryone(206ba86c98@2604:bf00:561:2000::2e4) (Ping timeout: 265 seconds)
2023-04-16 09:09:27 +0200shreyasminocha(51fdc93eda@user/shreyasminocha)
2023-04-16 09:09:48 +0200filwisher(2e6936c793@2604:bf00:561:2000::170)
2023-04-16 09:09:50 +0200MonsoonSecrecy(f78c86e960@2604:bf00:561:2000::f99)
2023-04-16 09:10:08 +0200 <redmp> iirc there are several libraries that work in that way, which are more or less automatic parsers
2023-04-16 09:10:38 +0200Ankhers(e99e97ef8e@2604:bf00:561:2000::2a2)
2023-04-16 09:10:52 +0200JoelMcCracken(5ea8252fbb@2604:bf00:561:2000::10e3)
2023-04-16 09:12:25 +0200whereiseveryone(206ba86c98@2604:bf00:561:2000::2e4)
2023-04-16 09:13:55 +0200falafel(~falafel@2603-8000-d700-115c-6846-cc5b-2820-7bfc.res6.spectrum.com) (Ping timeout: 252 seconds)
2023-04-16 09:22:10 +0200whereiseveryone(206ba86c98@2604:bf00:561:2000::2e4) (Ping timeout: 260 seconds)
2023-04-16 09:22:10 +0200shreyasminocha(51fdc93eda@user/shreyasminocha) (Ping timeout: 260 seconds)
2023-04-16 09:22:45 +0200JoelMcCracken(5ea8252fbb@2604:bf00:561:2000::10e3) (Ping timeout: 260 seconds)
2023-04-16 09:22:45 +0200MonsoonSecrecy(f78c86e960@2604:bf00:561:2000::f99) (Ping timeout: 260 seconds)
2023-04-16 09:22:45 +0200fluffyballoon(45ce440a48@2604:bf00:561:2000::e2) (Ping timeout: 260 seconds)
2023-04-16 09:22:45 +0200henrytill(e0180937c3@2604:bf00:561:2000::e8c) (Ping timeout: 260 seconds)
2023-04-16 09:23:20 +0200Ankhers(e99e97ef8e@2604:bf00:561:2000::2a2) (Ping timeout: 260 seconds)
2023-04-16 09:23:55 +0200filwisher(2e6936c793@2604:bf00:561:2000::170) (Ping timeout: 260 seconds)
2023-04-16 09:23:55 +0200cpli(77fc530071@2604:bf00:561:2000::252) (Ping timeout: 260 seconds)
2023-04-16 09:24:00 +0200MonsoonSecrecy(f78c86e960@2604:bf00:561:2000::f99)
2023-04-16 09:24:03 +0200whereiseveryone(206ba86c98@2604:bf00:561:2000::2e4)
2023-04-16 09:24:03 +0200shreyasminocha(51fdc93eda@user/shreyasminocha)
2023-04-16 09:24:07 +0200fluffyballoon(45ce440a48@2604:bf00:561:2000::e2)
2023-04-16 09:24:08 +0200JoelMcCracken(5ea8252fbb@2604:bf00:561:2000::10e3)
2023-04-16 09:24:10 +0200henrytill(e0180937c3@2604:bf00:561:2000::e8c)
2023-04-16 09:25:50 +0200filwisher(2e6936c793@2604:bf00:561:2000::170)
2023-04-16 09:25:53 +0200cpli(77fc530071@2604:bf00:561:2000::252)
2023-04-16 09:25:55 +0200Ankhers(e99e97ef8e@2604:bf00:561:2000::2a2)
2023-04-16 09:28:53 +0200tr_ev(~trev@user/trev)
2023-04-16 09:43:59 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-04-16 09:47:53 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d) (Remote host closed the connection)
2023-04-16 09:48:50 +0200redmp(~redmp@mobile-166-137-179-249.mycingular.net) (Quit: leaving)
2023-04-16 09:49:47 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-16 09:51:03 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-16 09:57:07 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-16 09:58:49 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-16 09:59:25 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-04-16 10:00:09 +0200tr_evtrev
2023-04-16 10:01:15 +0200pyook(~puke@user/puke) (Ping timeout: 248 seconds)
2023-04-16 10:01:34 +0200barak(~barak@77.125.91.113) (Remote host closed the connection)
2023-04-16 10:01:56 +0200barak(~barak@2a0d:6fc2:68c0:a400:74a7:4a2d:bdfd:481e)
2023-04-16 10:12:11 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-16 10:13:43 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-04-16 10:18:32 +0200barak(~barak@2a0d:6fc2:68c0:a400:74a7:4a2d:bdfd:481e) (Remote host closed the connection)
2023-04-16 10:18:55 +0200barak(~barak@2a0d:6fc2:68c0:a400:74a7:4a2d:bdfd:481e)
2023-04-16 10:19:27 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-16 10:24:15 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-04-16 10:27:57 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-04-16 10:28:34 +0200troydm(~troydm@user/troydm) (Ping timeout: 255 seconds)
2023-04-16 10:28:53 +0200troydm(~troydm@user/troydm)
2023-04-16 10:29:42 +0200falafel(~falafel@2603-8000-d700-115c-7e61-551e-1609-efe2.res6.spectrum.com)
2023-04-16 10:31:45 +0200ft(~ft@dynamic-046-114-104-137.46.114.pool.telefonica.de)
2023-04-16 10:35:02 +0200pyook(~puke@user/puke)
2023-04-16 10:40:55 +0200heraldo(~heraldo@user/heraldo)
2023-04-16 10:45:12 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 255 seconds)
2023-04-16 10:48:22 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d)
2023-04-16 10:52:37 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d) (Ping timeout: 250 seconds)
2023-04-16 10:57:47 +0200heraldo(~heraldo@user/heraldo)
2023-04-16 11:00:04 +0200VOID[m](~void404ma@2001:470:69fc:105::2:c72c) (Quit: You have been kicked for being idle)
2023-04-16 11:06:15 +0200ft(~ft@dynamic-046-114-104-137.46.114.pool.telefonica.de) (Quit: leaving)
2023-04-16 11:11:04 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 276 seconds)
2023-04-16 11:12:21 +0200xff0x(~xff0x@178.255.149.135)
2023-04-16 11:18:45 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 240 seconds)
2023-04-16 11:25:25 +0200xff0x(~xff0x@178.255.149.135) (Ping timeout: 240 seconds)
2023-04-16 11:27:34 +0200xff0x(~xff0x@2405:6580:b080:900:cdd4:c060:73da:4d99)
2023-04-16 11:31:57 +0200heraldo(~heraldo@user/heraldo)
2023-04-16 11:36:25 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 240 seconds)
2023-04-16 11:43:04 +0200heraldo(~heraldo@user/heraldo)
2023-04-16 11:43:05 +0200heraldo(~heraldo@user/heraldo) (Client Quit)
2023-04-16 11:47:28 +0200Wstfgl0(~me-me@2602:ff16:3:0:1:dc:beef:d00d)
2023-04-16 11:48:59 +0200acidjnk(~acidjnk@p200300d6e715c4246144e158ab279f3c.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2023-04-16 11:56:27 +0200falafel(~falafel@2603-8000-d700-115c-7e61-551e-1609-efe2.res6.spectrum.com) (Ping timeout: 248 seconds)
2023-04-16 11:59:26 +0200acidjnk(~acidjnk@p200300d6e715c424dc796c235bb1f77a.dip0.t-ipconnect.de)
2023-04-16 12:03:56 +0200barak_(~barak@77.125.91.113)
2023-04-16 12:04:33 +0200barak(~barak@2a0d:6fc2:68c0:a400:74a7:4a2d:bdfd:481e) (Remote host closed the connection)
2023-04-16 12:05:48 +0200ft(~ft@87.122.10.136)
2023-04-16 12:19:05 +0200Feuermagier_(~Feuermagi@user/feuermagier)
2023-04-16 12:19:09 +0200Feuermagier_(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2023-04-16 12:22:34 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 276 seconds)
2023-04-16 12:25:32 +0200barak_(~barak@77.125.91.113) (Remote host closed the connection)
2023-04-16 12:25:55 +0200barak_(~barak@2a0d:6fc2:68c0:a400:74a7:4a2d:bdfd:481e)
2023-04-16 12:39:12 +0200mc47(~mc47@xmonad/TheMC47)
2023-04-16 12:46:29 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-04-16 12:52:55 +0200Techcable(~Techcable@user/Techcable)
2023-04-16 13:11:31 +0200Axman6(~Axman6@user/axman6) (Remote host closed the connection)
2023-04-16 13:24:13 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-04-16 13:24:19 +0200__ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-16 13:26:30 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-16 13:28:34 +0200__ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2023-04-16 13:44:51 +0200Axman6(~Axman6@user/axman6)
2023-04-16 13:48:01 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-04-16 13:50:35 +0200pharonix71(~pharonix7@user/pharonix71) (Ping timeout: 255 seconds)
2023-04-16 13:51:31 +0200vgtw_(~vgtw@user/vgtw) (Ping timeout: 255 seconds)
2023-04-16 13:51:49 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-16 13:53:32 +0200pharonix71(~pharonix7@user/pharonix71)
2023-04-16 13:53:42 +0200vgtw(~vgtw@user/vgtw)
2023-04-16 13:55:09 +0200tjnhxmzh1qgytuwt(~user@eth-west-pareq2-46-193-2-167.wb.wifirst.net)
2023-04-16 14:07:54 +0200euandreh(~Thunderbi@189.6.18.7) (Remote host closed the connection)
2023-04-16 14:08:57 +0200barak__(~barak@77.125.91.113)
2023-04-16 14:11:28 +0200barak_(~barak@2a0d:6fc2:68c0:a400:74a7:4a2d:bdfd:481e) (Ping timeout: 252 seconds)
2023-04-16 14:20:58 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-04-16 14:23:17 +0200__monty__(~toonn@user/toonn)
2023-04-16 14:28:41 +0200czy(~user@host-140-25.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
2023-04-16 14:32:58 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-16 14:38:06 +0200npmania(~Thunderbi@121.128.226.31)
2023-04-16 14:38:25 +0200pyook(~puke@user/puke) (Ping timeout: 276 seconds)
2023-04-16 14:39:59 +0200tjnhxmzh1qgytuwt(~user@eth-west-pareq2-46-193-2-167.wb.wifirst.net) (Quit: leaving)
2023-04-16 14:47:59 +0200pyook(~puke@user/puke)
2023-04-16 14:51:04 +0200npmania(~Thunderbi@121.128.226.31) (Ping timeout: 252 seconds)
2023-04-16 14:57:00 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au) (Quit: Going offline, see ya! (www.adiirc.com))
2023-04-16 15:06:27 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: o/)
2023-04-16 15:09:15 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2023-04-16 15:12:25 +0200infinity0(~infinity0@pwned.gg) (Remote host closed the connection)
2023-04-16 15:18:05 +0200barak__(~barak@77.125.91.113) (Ping timeout: 240 seconds)
2023-04-16 15:21:58 +0200czy(~user@host-140-25.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-04-16 15:28:39 +0200paulpaul1076(~textual@95-29-5-208.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-04-16 15:29:13 +0200paulpaul1076(~textual@95-29-5-208.broadband.corbina.ru)
2023-04-16 15:32:51 +0200zeenk(~zeenk@2a02:2f0e:7900:da01:b4a3:67c4:d0e3:beb0)
2023-04-16 15:34:06 +0200barak(~barak@77.125.91.113)
2023-04-16 15:36:10 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-04-16 15:37:27 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-16 15:41:05 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-04-16 15:45:21 +0200trev(~trev@user/trev) (Quit: trev)
2023-04-16 15:46:30 +0200trev(~trev@user/trev)
2023-04-16 15:48:06 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2023-04-16 15:48:29 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2023-04-16 15:49:51 +0200paulpaul1076(~textual@95-29-5-208.broadband.corbina.ru) (Remote host closed the connection)
2023-04-16 15:53:09 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d)
2023-04-16 15:55:58 +0200myme(~myme@2a01:799:d60:e400:7be0:70c6:61f8:dad) (Ping timeout: 252 seconds)
2023-04-16 15:56:56 +0200myme(~myme@2a01:799:d60:e400:f221:398f:f55f:27f9)
2023-04-16 15:57:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d) (Ping timeout: 252 seconds)
2023-04-16 15:59:20 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-04-16 16:02:56 +0200barak_(~barak@77.125.91.113)
2023-04-16 16:05:50 +0200barak(~barak@77.125.91.113) (Ping timeout: 260 seconds)
2023-04-16 16:08:59 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-04-16 16:11:11 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-04-16 16:18:04 +0200ozkutuk[m](~ozkutuk@2001:470:69fc:105::2:9af8)
2023-04-16 16:25:15 +0200barak_(~barak@77.125.91.113) (Ping timeout: 246 seconds)
2023-04-16 16:36:15 +0200pie_(~pie_bnc@user/pie/x-2818909) (Ping timeout: 250 seconds)
2023-04-16 16:40:55 +0200pie_(~pie_bnc@user/pie/x-2818909)
2023-04-16 16:44:55 +0200zeenk2(~zeenk@188.26.30.104)
2023-04-16 16:45:11 +0200zeenk(~zeenk@2a02:2f0e:7900:da01:b4a3:67c4:d0e3:beb0) (Ping timeout: 264 seconds)
2023-04-16 16:47:45 +0200ss4(~wootehfoo@user/wootehfoot)
2023-04-16 16:50:06 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds)
2023-04-16 16:50:24 +0200Ranhir(~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
2023-04-16 16:51:49 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-04-16 16:54:09 +0200jero98772(~jero98772@190.158.28.80)
2023-04-16 17:01:22 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-16 17:04:02 +0200ss4(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-04-16 17:05:26 +0200Ranhir(~Ranhir@157.97.53.139)
2023-04-16 17:06:18 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-04-16 17:07:38 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-16 17:12:44 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-04-16 17:12:58 +0200pie_(~pie_bnc@user/pie/x-2818909) ()
2023-04-16 17:13:21 +0200pie_(~pie_bnc@user/pie/x-2818909)
2023-04-16 17:13:39 +0200zeenk2(~zeenk@188.26.30.104) (Quit: Konversation terminated!)
2023-04-16 17:17:09 +0200Sgeo(~Sgeo@user/sgeo)
2023-04-16 17:22:52 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 276 seconds)
2023-04-16 17:24:16 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-8476-90af-61c3-7964.rev.sfr.net) (Remote host closed the connection)
2023-04-16 17:25:25 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-8476-90af-61c3-7964.rev.sfr.net)
2023-04-16 17:26:35 +0200acidjnk(~acidjnk@p200300d6e715c424dc796c235bb1f77a.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-04-16 17:36:36 +0200AlexNoo_(~AlexNoo@178.34.150.15)
2023-04-16 17:37:37 +0200son0p(~ff@181.136.122.143) (Remote host closed the connection)
2023-04-16 17:39:05 +0200AlexZenon(~alzenon@178.34.162.18) (Ping timeout: 246 seconds)
2023-04-16 17:40:06 +0200AlexNoo(~AlexNoo@178.34.162.18) (Ping timeout: 255 seconds)
2023-04-16 17:40:23 +0200Alex_test(~al_test@178.34.162.18) (Ping timeout: 250 seconds)
2023-04-16 17:41:57 +0200wroathe(~wroathe@50.205.197.50)
2023-04-16 17:41:57 +0200wroathe(~wroathe@50.205.197.50) (Changing host)
2023-04-16 17:41:57 +0200wroathe(~wroathe@user/wroathe)
2023-04-16 17:43:48 +0200AlexZenon(~alzenon@178.34.150.15)
2023-04-16 17:44:18 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-04-16 17:44:21 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 17:47:35 +0200Alex_test(~al_test@178.34.150.15)
2023-04-16 17:51:22 +0200 <random-jellyfish> How do general purpose CPUs perform integer multiplication? With a combinatorial circuit or a sequential shift-add circuit?
2023-04-16 17:51:24 +0200 <aavogt[m]> I don't think it exists. But it should be pretty straightforward to use -XGenerics or the Data instance (whatever the parser uses) to traverse the record with access to field labels as String. If you're lucky the parser will already accept whatever show produces
2023-04-16 18:00:15 +0200gehmehgehgmg
2023-04-16 18:01:31 +0200 <darkling> random-jellyfish: There's a bunch of different ways. The 8086 used shift/add: http://www.righto.com/2023/03/8086-multiplication-microcode.html
2023-04-16 18:01:36 +0200 <darkling> (As I think did the ARM)
2023-04-16 18:01:42 +0200 <darkling> early ARM, that is.
2023-04-16 18:01:45 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Ping timeout (120 seconds))
2023-04-16 18:02:16 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 18:02:22 +0200 <darkling> There's also a combinatorial circuit that's a lot more efficient, but uses loads of gates: https://en.wikipedia.org/wiki/Dadda_multiplier
2023-04-16 18:02:39 +0200 <darkling> I think there's some variants that use lookup tables as well.
2023-04-16 18:06:09 +0200 <random-jellyfish> darkling thanks
2023-04-16 18:10:47 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-04-16 18:13:27 +0200lagash_(lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
2023-04-16 18:14:02 +0200trev(~trev@user/trev) (Quit: trev)
2023-04-16 18:15:27 +0200tr_ev(~trev@user/trev)
2023-04-16 18:15:32 +0200tr_evtrev
2023-04-16 18:20:50 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-16 18:21:42 +0200 <[exa]> random-jellyfish: btw there's a pretty continuous spectrum of the multiplier configurations that can be generated between both extremes; trading off circuit depth for circuit area. There are also physical constraints in place (3D path lengths). AFAIK actual CPUs use whatever arithmetical circuits that are produced by automated optimizers for a precise given timing, area and energy constraints
2023-04-16 18:22:33 +0200econo(uid147250@user/econo)
2023-04-16 18:23:11 +0200oac(~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac)
2023-04-16 18:23:32 +0200XJPL(~fatimasar@189-82-108-215.user3p.veloxzone.com.br)
2023-04-16 18:24:00 +0200 <[exa]> you can see it better on adders I guess; most of the timing improvements there are speculatively executing both versions of one branch so that the result is ready after the branch decision is known. With multipliers it's the "same", just on appropriate steroids.
2023-04-16 18:25:47 +0200 <[exa]> s/after/at the same time when/
2023-04-16 18:26:24 +0200 <random-jellyfish> interesting
2023-04-16 18:27:43 +0200XJPL(~fatimasar@189-82-108-215.user3p.veloxzone.com.br) ()
2023-04-16 18:28:06 +0200 <random-jellyfish> I wonder if these optimizers produce only combinatorial logic or also sequential one for shift and add algorithms
2023-04-16 18:29:02 +0200 <[exa]> sequential logic as with instructions that work in multiple cycles/
2023-04-16 18:29:03 +0200 <[exa]> ?
2023-04-16 18:30:11 +0200gehmehgeh(~user@user/gehmehgeh)
2023-04-16 18:30:15 +0200 <random-jellyfish> no, as with flip-flops and shifters and adders that do one shift-add per clock cycle and save the result in the flip flops for the next iteration
2023-04-16 18:30:41 +0200hochata(~user@user/hochata)
2023-04-16 18:31:23 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2023-04-16 18:33:33 +0200 <random-jellyfish> I think that would take the smallest area but it would require a number of clock cycles proportional with the bit width of the operands to get the final result
2023-04-16 18:35:23 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2023-04-16 18:35:26 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2023-04-16 18:35:54 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 18:38:33 +0200gehmehgeh(~user@user/gehmehgeh)
2023-04-16 18:43:05 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2023-04-16 18:45:00 +0200gehmehgeh(~user@user/gehmehgeh)
2023-04-16 18:45:43 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-04-16 18:47:41 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2023-04-16 18:48:25 +0200 <monochrom> combinatorial = purely functional; sequential = with mutable state :)
2023-04-16 18:49:50 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2023-04-16 18:50:57 +0200 <monochrom> But it is under the assumption that the purely functional side bans all versions of recursion.
2023-04-16 18:51:20 +0200gehmehgeh(~user@user/gehmehgeh)
2023-04-16 18:51:32 +0200 <monochrom> And ironically mutable state in digital circuits is obtained from recursion. This can get into deep philosophy.
2023-04-16 18:58:14 +0200 <[exa]> Ranhir: ah with flipflops, yeah you can do that, it's still combinatorial (you only get an extra constraint that the layers of your combinatorial circuit have to be the same)
2023-04-16 18:58:51 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 18:58:54 +0200 <[exa]> oh sorry wrong highlight
2023-04-16 18:59:14 +0200 <[exa]> random-jellyfish: ah you left for a moment :]
2023-04-16 19:01:13 +0200 <random-jellyfish> [exa] yeah but I read the saved log
2023-04-16 19:02:09 +0200 <[exa]> btw I'm not aware of any systematic approach that would be able to "nicely split" the networks into sensible layers like this, reusing the same wires for the next layer
2023-04-16 19:02:19 +0200 <[exa]> kinda stinks like polyhedral optimization
2023-04-16 19:07:14 +0200 <random-jellyfish> monochrom yeah it's mutual recursion between 2 or more gates, but yeah it's still recursion
2023-04-16 19:08:51 +0200 <random-jellyfish> purely functional programming is suspiciously similar to hardware design
2023-04-16 19:10:02 +0200 <random-jellyfish> I think it would fit formal verification of digital circuits like a glove
2023-04-16 19:10:05 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-04-16 19:10:07 +0200 <random-jellyfish> if it hasn't already...
2023-04-16 19:10:35 +0200 <[exa]> random-jellyfish: you're invited to study some depths of verilog
2023-04-16 19:10:35 +0200 <geekosaur> have you looked at clash or copilot?
2023-04-16 19:11:33 +0200 <[exa]> oh wow clash looks cool
2023-04-16 19:11:38 +0200 <random-jellyfish> I had a look at clash...doesn't it convert haskell to sythesizable verilog?
2023-04-16 19:12:28 +0200 <geekosaur> it's an EDSL that can among other things produce verilog
2023-04-16 19:15:03 +0200 <hammond> does network.http support https?
2023-04-16 19:15:44 +0200 <geekosaur> and the main reason you'd do that is that there's a lot of hardware design tooling that requires verilog
2023-04-16 19:18:48 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Ping timeout (120 seconds))
2023-04-16 19:19:19 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d)
2023-04-16 19:21:22 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 19:21:26 +0200jero98772(~jero98772@190.158.28.80) (Ping timeout: 252 seconds)
2023-04-16 19:21:52 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-04-16 19:22:02 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br) ()
2023-04-16 19:22:22 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-04-16 19:23:09 +0200dsrt^(~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Remote host closed the connection)
2023-04-16 19:23:20 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br) ()
2023-04-16 19:23:21 +0200 <random-jellyfish> does clash do simulation too?
2023-04-16 19:23:40 +0200 <random-jellyfish> or just code conversion?
2023-04-16 19:25:57 +0200 <ski> monochrom : although (e.g.) Lava (implemented as an EDSL in Haskell) allowed recursion in the specification of circuits (e.g. Batcher's bitonic merger, with "butterfly circuits"). it's just that that recursion is "compile-time", not "run-time"
2023-04-16 19:26:28 +0200 <geekosaur> I don't believe it does simulation, but iirc the code it generates is correct by construction (for example it uses types to ensure you don't wire together the wrong things)
2023-04-16 19:27:24 +0200 <geekosaur> oh right, I knew I was forgetting one.
2023-04-16 19:27:27 +0200 <ski> (Mary Sheeran and John Hughes has some papers, i believe)
2023-04-16 19:27:29 +0200 <geekosaur> (lava)
2023-04-16 19:29:36 +0200 <geekosaur> hammond, iirc not. and https is kinda hard to get portably 😞
2023-04-16 19:30:32 +0200 <geekosaur> well, there's at least one implementation, but it's pure haskell and not verified so many people don't quite trust it
2023-04-16 19:30:34 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2023-04-16 19:31:25 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-04-16 19:31:48 +0200 <hammond> geekosaur: that kinda locks u off from 99% of the internet.
2023-04-16 19:32:20 +0200 <hammond> im trying to install http.conduit or http.client see if they work
2023-04-16 19:32:24 +0200 <geekosaur> yes, I'm quite aware
2023-04-16 19:33:10 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 19:33:57 +0200 <hammond> im running into 1 million errors with cabal though . i did get http to work fine.
2023-04-16 19:34:29 +0200 <ski> <[exa]> Ranhir: ah with flipflops, yeah you can do that, it's still combinatorial (you only get an extra constraint that the layers of your combinatorial circuit have to be the same)
2023-04-16 19:34:33 +0200 <ski> random-jellyfish : fwiw ^
2023-04-16 19:34:46 +0200random-jellyfish(~random-je@user/random-jellyfish) (Client Quit)
2023-04-16 19:35:16 +0200jero98772(~jero98772@2800:484:1d84:9000::1)
2023-04-16 19:38:51 +0200vglfr(~vglfr@46.96.133.226)
2023-04-16 19:39:21 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds)
2023-04-16 19:40:05 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-04-16 19:42:34 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 19:43:27 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-04-16 19:44:14 +0200random-jellyfish(~random-je@user/random-jellyfish) (Client Quit)
2023-04-16 19:46:16 +0200Sgeo(~Sgeo@user/sgeo)
2023-04-16 19:46:37 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-04-16 19:47:10 +0200ryantrinkle(~ryantrink@140.174.248.64) (Ping timeout: 276 seconds)
2023-04-16 19:47:23 +0200random-jellyfish(~random-je@user/random-jellyfish)
2023-04-16 19:47:46 +0200ryantrinkle(~ryantrink@140.174.248.64)
2023-04-16 19:47:54 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br) (Client Quit)
2023-04-16 19:50:13 +0200johnw(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-04-16 19:50:13 +0200johnw_(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-04-16 19:50:32 +0200ubert(~Thunderbi@p548c84d6.dip0.t-ipconnect.de) (Quit: ubert)
2023-04-16 19:50:50 +0200ubert(~Thunderbi@p200300ecdf114f258f5f321c9488c19d.dip0.t-ipconnect.de)
2023-04-16 19:53:02 +0200johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-16 19:53:32 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-16 19:54:49 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2023-04-16 19:57:10 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-04-16 19:57:16 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br) ()
2023-04-16 19:59:32 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br)
2023-04-16 20:00:46 +0200HQKY(~crcastilh@189-82-108-215.user3p.veloxzone.com.br) ()
2023-04-16 20:09:31 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
2023-04-16 20:10:51 +0200hochata(~user@user/hochata) (Ping timeout: 248 seconds)
2023-04-16 20:16:43 +0200ub(~Thunderbi@p548c84d6.dip0.t-ipconnect.de)
2023-04-16 20:17:15 +0200ubert(~Thunderbi@p200300ecdf114f258f5f321c9488c19d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-04-16 20:17:15 +0200ububert
2023-04-16 20:21:05 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 265 seconds)
2023-04-16 20:22:27 +0200heinz9(~trace@user/trace)
2023-04-16 20:22:37 +0200 <heinz9> can monads do all what instances can do?
2023-04-16 20:23:09 +0200 <Rembane> heinz9: What a monad can do is decided by its instance.
2023-04-16 20:23:22 +0200 <Rembane> heinz9: Is there a more specific question behind your general question?
2023-04-16 20:23:23 +0200 <heinz9> so a monad is an instance?
2023-04-16 20:23:34 +0200 <Rembane> No, there are instances of monads though.
2023-04-16 20:23:36 +0200 <heinz9> yes, it goes into math
2023-04-16 20:24:13 +0200 <heinz9> is there any math structure, that monads can simulate? as numbers, angles or instances
2023-04-16 20:24:54 +0200 <Rembane> Yes, they are called monads. :)
2023-04-16 20:25:24 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d) (Remote host closed the connection)
2023-04-16 20:25:32 +0200 <Rembane> It's infamously a monoid in the category of endofunctors.
2023-04-16 20:25:41 +0200 <Rembane> But I don't think that's what you're after.
2023-04-16 20:26:05 +0200 <Rembane> Monads can be used to model a computation that can go wrong.
2023-04-16 20:26:16 +0200 <Rembane> Or a computation that can give zero to many answers.
2023-04-16 20:26:22 +0200 <Rembane> ...aka non-determinism.
2023-04-16 20:27:46 +0200 <monochrom> Perhaps define "what instances can do".
2023-04-16 20:28:58 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e40f:1779:8d3b:ad7d)
2023-04-16 20:28:59 +0200 <monochrom> IOW I strongly believe no one is on the same page about what the question means.
2023-04-16 20:30:13 +0200 <Rembane> Perhaps we can have a great melee about it?
2023-04-16 20:31:33 +0200ryantrinkle(~ryantrink@140.174.248.64) (Ping timeout: 255 seconds)
2023-04-16 20:34:31 +0200hopelessness[m]jade[m]
2023-04-16 20:35:12 +0200 <monochrom> I always lose.
2023-04-16 20:37:31 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-50-65-93-192-141.dsl.bell.ca) (Ping timeout: 248 seconds)
2023-04-16 20:37:52 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-04-16 20:38:42 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-50-65-93-192-88.dsl.bell.ca)
2023-04-16 20:39:11 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-04-16 20:43:27 +0200barzo(~hd@31.223.56.129)
2023-04-16 20:47:40 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-16 20:47:40 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-16 20:47:40 +0200wroathe(~wroathe@user/wroathe)
2023-04-16 20:50:38 +0200viole(~viole@user/viole) (Quit: WeeChat 2.9)
2023-04-16 21:00:07 +0200ryantrinkle(~ryantrink@140.174.248.64)
2023-04-16 21:15:13 +0200bliminse(~bliminse@user/bliminse) (Quit: leaving)
2023-04-16 21:18:47 +0200bliminse(~bliminse@user/bliminse)
2023-04-16 21:21:00 +0200wroathe(~wroathe@user/wroathe) (Quit: Reconnecting)
2023-04-16 21:21:13 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-16 21:21:13 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-16 21:21:13 +0200wroathe(~wroathe@user/wroathe)
2023-04-16 21:21:29 +0200pharonix71(~pharonix7@user/pharonix71) (Ping timeout: 255 seconds)
2023-04-16 21:23:21 +0200mc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2023-04-16 21:23:58 +0200pharonix71(~pharonix7@user/pharonix71)
2023-04-16 21:29:01 +0200acidjnk(~acidjnk@p200300d6e715c491dc796c235bb1f77a.dip0.t-ipconnect.de)
2023-04-16 21:32:29 +0200zeenk(~zeenk@188.26.30.104)
2023-04-16 21:33:07 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-04-16 21:34:34 +0200dcleonarski(~user@2804:d51:4793:c800:b0e2:a2e8:89a0:4c46)
2023-04-16 21:41:57 +0200 <ski> heinz9 : what does "instance" mean in your mind ?
2023-04-16 21:42:22 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-16 21:43:36 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-16 21:45:26 +0200NiceBird(~NiceBird@185.133.111.196)
2023-04-16 21:47:05 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-04-16 21:47:48 +0200pieguy128_(~pieguy128@bras-base-mtrlpq5031w-grc-50-65-93-192-3.dsl.bell.ca)
2023-04-16 21:48:05 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-50-65-93-192-88.dsl.bell.ca) (Ping timeout: 240 seconds)
2023-04-16 21:56:22 +0200_leo___(~emmanuelu@user/emmanuelux)
2023-04-16 21:58:58 +0200emmanuelux_(~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds)
2023-04-16 22:09:08 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-16 22:10:46 +0200barzo(~hd@31.223.56.129) (Remote host closed the connection)
2023-04-16 22:17:31 +0200jero98772(~jero98772@2800:484:1d84:9000::1) (Ping timeout: 240 seconds)
2023-04-16 22:18:39 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-8476-90af-61c3-7964.rev.sfr.net) (Remote host closed the connection)
2023-04-16 22:22:39 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-04-16 22:22:41 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-04-16 22:23:53 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-16 22:29:21 +0200jero98772(~jero98772@2800:484:1d84:9000::1)
2023-04-16 22:34:28 +0200wroathe(~wroathe@50.205.197.50)
2023-04-16 22:34:28 +0200wroathe(~wroathe@50.205.197.50) (Changing host)
2023-04-16 22:34:28 +0200wroathe(~wroathe@user/wroathe)
2023-04-16 22:35:08 +0200 <maralorn> If I have during runtime two Nothing :: Maybe Int will GHC automatically have them at the same memory address?
2023-04-16 22:37:12 +0200 <jade[m]> I'm not sure it's true for all cases, but generally, constant constructors will refer to the same memory location
2023-04-16 22:37:46 +0200 <geekosaur> I think all `Nothing`s will be at the same address
2023-04-16 22:38:49 +0200 <jade[m]> https://youtu.be/I4lnCG18TaY
2023-04-16 22:39:18 +0200 <jade[m]> This was a great eye-opener for me originally, when it came to sharing, thunks and evaluation and such
2023-04-16 22:45:24 +0200Guest23(~Guest23@49.207.232.108)
2023-04-16 22:45:56 +0200Guest23(~Guest23@49.207.232.108) (Client Quit)
2023-04-16 22:50:10 +0200ujjwalgupta[m](~guptaujjw@2001:470:69fc:105::3:46b5)
2023-04-16 22:52:22 +0200 <ujjwalgupta[m]> I am trying to profile my project in haskell, but in the profile file (.prof) I am seeing the order in which the function stack is getting printed seems a little jumbled up.... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/3b1df4d8db14ce994d3d09fa682b4316d1fa…>)
2023-04-16 22:55:10 +0200 <L29Ah> ujjwalgupta[m]: apparently it's because log evaluates your database call due to lazy evaluation
2023-04-16 22:57:01 +0200 <jade[m]> L29Ah: hm, I didn't know it worked like that
2023-04-16 22:57:36 +0200 <jade[m]> my guess would have been that it had to do with functional logging and it being encapsulated inside a monad which carries out the computation
2023-04-16 23:02:33 +0200nate1(~nate@98.45.169.16)
2023-04-16 23:07:25 +0200nate1(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-04-16 23:08:16 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-04-16 23:11:49 +0200 <monochrom> Yes all Nothings are at the same address.
2023-04-16 23:12:05 +0200 <monochrom> And shared by all types, too.
2023-04-16 23:13:55 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-04-16 23:14:54 +0200trev(~trev@user/trev) (Quit: trev)
2023-04-16 23:15:11 +0200 <hpc> now that i think about it... is it the same address for all nullary constructors? (or at least, the ones with index 0)
2023-04-16 23:15:26 +0200 <int-e> it's not
2023-04-16 23:15:29 +0200 <hpc> like, is Nothing also the same address as False (and True the same address as EQ)
2023-04-16 23:15:32 +0200 <hpc> ah
2023-04-16 23:15:39 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-16 23:15:48 +0200 <jade[m]> no
2023-04-16 23:15:51 +0200 <monochrom> [] has a different address from Nothing.
2023-04-16 23:15:59 +0200 <hpc> it seems like they could be
2023-04-16 23:16:16 +0200 <jade[m]> pattern matching would break
2023-04-16 23:16:26 +0200 <jade[m]> wait no, it wouldn't
2023-04-16 23:16:36 +0200 <monochrom> :)
2023-04-16 23:16:37 +0200 <jade[m]> yeah im not sure
2023-04-16 23:16:48 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-16 23:16:53 +0200 <monochrom> Perhaps too much work to make them the same. :)
2023-04-16 23:17:25 +0200 <jade[m]> not like it makes a difference
2023-04-16 23:17:29 +0200 <int-e> jade[m]: pattern matching means that the number of constructors of the data type is relevant too
2023-04-16 23:18:02 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2023-04-16 23:19:04 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-16 23:21:19 +0200 <monochrom> If "data X = MkX" gets its own address for MkX, then the compiler does not need to treat it really differently from all other ADT declarations.
2023-04-16 23:21:51 +0200vglfr(~vglfr@46.96.133.226) (Ping timeout: 250 seconds)
2023-04-16 23:23:26 +0200Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2023-04-16 23:24:48 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2023-04-16 23:27:55 +0200jero98772(~jero98772@2800:484:1d84:9000::1) (Ping timeout: 250 seconds)
2023-04-16 23:29:17 +0200dcleonarski(~user@2804:d51:4793:c800:b0e2:a2e8:89a0:4c46) (Remote host closed the connection)
2023-04-16 23:31:08 +0200falafel(~falafel@2603-8000-d700-115c-1fbb-7fdc-aa80-ebf8.res6.spectrum.com)
2023-04-16 23:32:31 +0200 <int-e> Hmm, no, the number of constructors doesn't actually matter; the code inspects the info table to figure out a constructor index. I thought there was a pattern match design that passed continuations (one for each constructor) to an entered closure... (and maybe there was, but it's not how things work now)
2023-04-16 23:33:50 +0200 <int-e> (and there's also pointer tagging to complicate the story)
2023-04-16 23:34:18 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-16 23:40:34 +0200 <monochrom> Pointer tagging is carefully kept consistent with whatever the info table says, so as a first-order approximation you can ignore pointer tagging.
2023-04-16 23:40:48 +0200jero98772(~jero98772@2800:484:1d84:9000::1)
2023-04-16 23:40:53 +0200 <monochrom> But as a second-order approximation you can ignore the info table instead. >:)
2023-04-16 23:41:08 +0200 <monochrom> It is why this works:
2023-04-16 23:41:14 +0200 <monochrom> @quote monochrom unsafeCoerce
2023-04-16 23:41:14 +0200 <lambdabot> monochrom says: isTrue = (unsafeCoerce :: Either a b -> Bool) . (unsafeCoerce :: Maybe c -> Either a b) . (unsafeCoerce :: Bool -> Maybe c)
2023-04-16 23:44:27 +0200 <int-e> monochrom: you can't do that if you do what I did... look at -ddump-asm output.
2023-04-16 23:45:32 +0200 <int-e> (It turns out that if you pattern match on one of the first 7 (3 on 32 bits) constructors, the info table is never consulted.)
2023-04-16 23:45:59 +0200 <int-e> err
2023-04-16 23:46:05 +0200pieguy128_(~pieguy128@bras-base-mtrlpq5031w-grc-50-65-93-192-3.dsl.bell.ca) (Ping timeout: 240 seconds)
2023-04-16 23:46:14 +0200 <int-e> Those numbers should be 6 and 2, respectively.
2023-04-16 23:46:18 +0200pieguy128(~pieguy128@bas1-montreal02-65-92-163-233.dsl.bell.ca)
2023-04-16 23:47:12 +0200 <int-e> (0 is for unevaluated/unknown values; 7 (or 3) is catch-all for all the remaining constructors if there are more than 7 (3) of them.)
2023-04-16 23:53:08 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2023-04-16 23:56:22 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-04-16 23:58:07 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-04-16 23:58:24 +0200 <maralorn> Wait, that means Type are more performanent if there are less then eight constructors?
2023-04-16 23:58:42 +0200 <maralorn> Or they are more performanent for the first eight constructors?