2022/02/01

2022-02-01 00:00:16 +0100 <EvanR> not hateoas?
2022-02-01 00:01:17 +0100 <tomsmeding> EvanR: that i parameter to UBar on the last line looks suspicious to the point of being wrong
2022-02-01 00:01:42 +0100 <EvanR> yep totally is wrong
2022-02-01 00:02:23 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-02-01 00:02:29 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-01 00:02:35 +0100 <EvanR> anyway roundabout but explains how a stateful traversal can ... do
2022-02-01 00:03:05 +0100 <EvanR> with basically just folds
2022-02-01 00:03:06 +0100nineonine(~nineonine@2604:3d08:7780:cd00:1deb:a18f:f447:b812) (Ping timeout: 268 seconds)
2022-02-01 00:05:04 +0100fendor(~fendor@77.119.206.49.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2022-02-01 00:05:10 +0100ardell(~ardell@user/ardell) (Quit: Konversation terminated!)
2022-02-01 00:05:22 +0100emf_(~emf@163.114.132.4) (Ping timeout: 250 seconds)
2022-02-01 00:05:35 +0100 <tomsmeding> EvanR: https://paste.tomsmeding.com/bjp337Bt
2022-02-01 00:06:08 +0100 <tomsmeding> a ULC -> ULC' function would basically be a scope checker
2022-02-01 00:06:28 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-02-01 00:07:01 +0100 <tomsmeding> but this is beside the point for what you're doing I think :p
2022-02-01 00:07:43 +0100 <tomsmeding> if you want moar types and encode the simply-typed lambda calculus instead, you get something like this https://github.com/VMatthijs/CHAD/blob/755fc47e1f8d1c3d91455f123338f44a353fc265/src/Concrete.hs#L3…
2022-02-01 00:08:03 +0100 <tomsmeding> https://github.com/VMatthijs/CHAD/blob/755fc47e1f8d1c3d91455f123338f44a353fc265/src/Env.hs
2022-02-01 00:09:13 +0100ensyde(~ensyde@2600:1700:2050:1040:ac63:f3f7:89ad:2997) (Quit: Leaving)
2022-02-01 00:09:28 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 00:10:50 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-02-01 00:10:52 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2022-02-01 00:13:16 +0100emf(~emf@2620:10d:c090:400::5:7499)
2022-02-01 00:13:34 +0100Lord_of_Life_Lord_of_Life
2022-02-01 00:15:26 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2022-02-01 00:15:51 +0100 <EvanR> go env (UBar' i) = UBar (idx2int i) (prj env i), the 2nd arg to UBar was supposed to be a string which is optional remnant hint of what the name of the var was
2022-02-01 00:16:14 +0100 <EvanR> prj is getting the value from an environment
2022-02-01 00:16:28 +0100 <EvanR> oh type String... ok
2022-02-01 00:17:01 +0100 <EvanR> and comes from the lambda... cool
2022-02-01 00:17:01 +0100ft(~ft@shell.chaostreff-dortmund.de) (Ping timeout: 240 seconds)
2022-02-01 00:18:00 +0100ft(~ft@shell.chaostreff-dortmund.de)
2022-02-01 00:18:19 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-02-01 00:18:46 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-02-01 00:19:18 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-02-01 00:21:43 +0100 <EvanR> in subst1 :: (Idx d -> Either String (Idx d')) -> ULC' d -> ULC' d', d and d' represent max depth of the bindings, so if the callback returns d' < d, the expression shrank?
2022-02-01 00:22:01 +0100 <EvanR> or we just became more ignorant of the true depth
2022-02-01 00:22:17 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-02-01 00:22:30 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-01 00:22:51 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
2022-02-01 00:25:20 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-01 00:27:14 +0100 <carbolymer> is there any trick to lift lenses? i.e. I'm quite often using:
2022-02-01 00:27:14 +0100 <carbolymer> memory' <- use memory
2022-02-01 00:27:14 +0100 <carbolymer> memory' ^. at varName
2022-02-01 00:27:19 +0100 <carbolymer> can I join those together?
2022-02-01 00:27:22 +0100notzmv(~zmv@user/notzmv)
2022-02-01 00:27:23 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2022-02-01 00:27:40 +0100tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2022-02-01 00:28:54 +0100tomboy64(~tomboy64@user/tomboy64)
2022-02-01 00:31:56 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-02-01 00:32:11 +0100AlexNoo_(~AlexNoo@178.34.151.37)
2022-02-01 00:33:50 +0100AlexZenon(~alzenon@94.233.241.141) (Ping timeout: 256 seconds)
2022-02-01 00:34:53 +0100burnsidesLlama(~burnsides@dhcp168-030.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-01 00:35:24 +0100burnsidesLlama(~burnsides@dhcp168-030.wadham.ox.ac.uk)
2022-02-01 00:35:37 +0100Alex_test(~al_test@94.233.241.141) (Ping timeout: 240 seconds)
2022-02-01 00:36:06 +0100AlexNoo(~AlexNoo@94.233.241.141) (Ping timeout: 256 seconds)
2022-02-01 00:37:40 +0100AlexZenon(~alzenon@178.34.151.37)
2022-02-01 00:39:46 +0100Alex_test(~al_test@178.34.151.37)
2022-02-01 00:39:51 +0100burnsidesLlama(~burnsides@dhcp168-030.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-01 00:44:23 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-01 00:44:36 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-02-01 00:45:06 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-02-01 00:45:12 +0100cjb`(~cjb@user/cjb)
2022-02-01 00:45:28 +0100cjb(~cjb@user/cjb) (Ping timeout: 260 seconds)
2022-02-01 00:46:06 +0100cjb`cjb
2022-02-01 00:46:18 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Quit: WeeChat 3.4)
2022-02-01 00:46:37 +0100 <Axman6> what are the types?
2022-02-01 00:46:42 +0100 <Axman6> is memory a lens?
2022-02-01 00:46:47 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-01 00:47:29 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 00:50:23 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Client Quit)
2022-02-01 00:51:11 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 00:51:23 +0100qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2022-02-01 00:51:25 +0100 <Axman6> looks so, so I guess that at varName will return an action - so looks like join $ use (memory . at varName)
2022-02-01 00:51:37 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2022-02-01 00:51:57 +0100qrpnxz(~qrpnxz@user/qrpnxz) ()
2022-02-01 00:52:19 +0100 <Axman6> defininf something like run = join . use might be useful
2022-02-01 00:52:21 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2022-02-01 00:52:30 +0100mmhat(~mmh@55d4f68d.access.ecotel.net) (Quit: WeeChat 3.4)
2022-02-01 00:55:22 +0100qrpnxz(~qrpnxz@user/qrpnxz) ()
2022-02-01 00:55:37 +0100qrpnxz(~qrpnxz@user/qrpnxz)
2022-02-01 00:55:54 +0100qrpnxz(~qrpnxz@user/qrpnxz) ()
2022-02-01 00:56:13 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2022-02-01 01:00:15 +0100burnsidesLlama(~burnsides@dhcp168-030.wadham.ox.ac.uk)
2022-02-01 01:00:27 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
2022-02-01 01:01:35 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Remote host closed the connection)
2022-02-01 01:02:05 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d)
2022-02-01 01:08:28 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 268 seconds)
2022-02-01 01:09:52 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-01 01:10:27 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-02-01 01:12:27 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-01 01:12:30 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-01 01:14:38 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-01 01:14:39 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-01 01:14:39 +0100wroathe(~wroathe@user/wroathe)
2022-02-01 01:19:55 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-01 01:20:31 +0100deadmarshal(~deadmarsh@95.38.231.118)
2022-02-01 01:24:03 +0100y04nn(~y04nn@92.223.89.196) (Ping timeout: 256 seconds)
2022-02-01 01:24:30 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 268 seconds)
2022-02-01 01:25:11 +0100deadmarshal(~deadmarsh@95.38.231.118) (Ping timeout: 256 seconds)
2022-02-01 01:28:37 +0100alx741(~alx741@157.100.197.240)
2022-02-01 01:28:45 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 250 seconds)
2022-02-01 01:29:35 +0100 <carbolymer> hmm
2022-02-01 01:29:42 +0100 <carbolymer> Axman6: memory' is a Map
2022-02-01 01:29:58 +0100 <carbolymer> Axman6: varName is a key in this map
2022-02-01 01:30:31 +0100 <geekosaur> at varName <$> use memory -- ?
2022-02-01 01:30:51 +0100 <Axman6> the way you'e written it, it looks like you're executing the value returned from the map
2022-02-01 01:31:13 +0100 <jackdk> `use memory >>= at varName`?
2022-02-01 01:31:15 +0100 <Axman6> sounds like you just want uses (memory . at varName)
2022-02-01 01:31:46 +0100 <Axman6> but the most concise answer will depend on what you're doing with the result
2022-02-01 01:31:52 +0100 <glguy> s/uses/use/
2022-02-01 01:32:04 +0100 <Axman6> sorry, yes
2022-02-01 01:32:16 +0100 <glguy> clarifying because there's also a "uses"
2022-02-01 01:33:47 +0100 <Axman6> jackdk, geekosaur: at is also an optic
2022-02-01 01:34:20 +0100 <carbolymer> Axman6: yes, `use (memory' . at varName)` is what I was looking for, thanks
2022-02-01 01:34:33 +0100carbolymerneeds to stare into lenses longer
2022-02-01 01:35:14 +0100lep(~lep@94.31.89.203) (Read error: Connection reset by peer)
2022-02-01 01:35:46 +0100 <Axman6> if l1 takes an a and focuses on a b, and l2 takes a b and focuses on a c then l1 . l2 takes an a and focuses on a c
2022-02-01 01:36:52 +0100hueso(~root@user/hueso) (Quit: hueso)
2022-02-01 01:37:02 +0100lep(~lep@94.31.89.203)
2022-02-01 01:37:35 +0100alx741(~alx741@157.100.197.240) (Quit: leaving)
2022-02-01 01:37:36 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 01:40:38 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d) (Quit: Reconnecting)
2022-02-01 01:40:51 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d)
2022-02-01 01:46:25 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 01:46:56 +0100forell(~forell@user/forell) (Ping timeout: 256 seconds)
2022-02-01 01:48:08 +0100hueso(~root@user/hueso)
2022-02-01 01:51:15 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-01 01:53:08 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d) ()
2022-02-01 01:58:16 +0100 <oscurochu> whats wrong here? https://dpaste.com/7Z2N27RT3
2022-02-01 01:59:37 +0100 <Axman6> which version of GHC are you using?
2022-02-01 01:59:54 +0100 <oscurochu> The Glorious Glasgow Haskell Compilation System, version 8.10.7
2022-02-01 02:00:37 +0100emf(~emf@2620:10d:c090:400::5:7499) (Ping timeout: 240 seconds)
2022-02-01 02:01:40 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2022-02-01 02:02:50 +0100 <geekosaur> base-4.11.1.0 is ghc 8.4.4
2022-02-01 02:03:47 +0100 <geekosaur> it would be nice if cabal were smart enough to tell you this; but I had to go dig through https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history to determine it
2022-02-01 02:04:06 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-02-01 02:04:22 +0100 <oscurochu> so what should i do? i just installed haskell last night
2022-02-01 02:04:39 +0100 <glguy> geekosaur: in the future "ghcup tui" is a really easy to find base versions
2022-02-01 02:04:58 +0100 <glguy> easy way to*
2022-02-01 02:05:06 +0100califax(~califax@user/califx)
2022-02-01 02:06:02 +0100 <monochrom> No no no. I would blame it on lambdacube-gl wanting an old version of vector-algorithms. That started the snowball of wanting everything else old.
2022-02-01 02:06:02 +0100 <oscurochu> so i should downgrade to 8.4.4?
2022-02-01 02:06:07 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-01 02:06:22 +0100 <geekosaur> oscurochu, if you used ghcup as we recommend then you can use that to install 8.4.4 and set it active for this package.
2022-02-01 02:06:43 +0100 <geekosaur> that said, I looked it up and it's a library. you don't install libraries directly any more, you let cabal manage them for you
2022-02-01 02:07:03 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-02-01 02:07:21 +0100 <oscurochu> im new to haskell and i wanted to learn 3D. idc how ambitious that sounds. i need a challenge. lol
2022-02-01 02:07:43 +0100 <oscurochu> so how do i install 8.4.4 and set it active for that package?
2022-02-01 02:07:45 +0100 <geekosaur> this thing wants old everything
2022-02-01 02:08:05 +0100 <geekosaur> and hasn't been updated since 2017. it's probably not the way you want to go
2022-02-01 02:08:24 +0100 <glguy> Using an unmaintained library to learn Haskell and 3D rendering at the same time certainly sounds like a path to a challenge
2022-02-01 02:09:01 +0100 <oscurochu> well yeah i dont want that kind of challenge, but challenge within reason
2022-02-01 02:09:25 +0100 <monochrom> I might try "--allow-newer". If it works it works. If it fails it fails.
2022-02-01 02:09:55 +0100 <wavemode> lovely tautology
2022-02-01 02:10:31 +0100 <Axman6> I'm unsure whether to recommend Ed's gl library... it implements _all_ of OpenGL, but whether that's a good place to start when learning 3D graphics I have no idea
2022-02-01 02:10:55 +0100 <oscurochu> yeah i dont think this is happening https://dpaste.com/938SLX7FS
2022-02-01 02:11:35 +0100 <jackdk> Axman6: it is an up-to-date set of generated bindings, so it shouldn't be too bad to work to an existing tutorial
2022-02-01 02:11:39 +0100 <Axman6> al mentioned elsewhere, running cabal install lambdacube-gl is probably something you don't want to do
2022-02-01 02:11:45 +0100 <Axman6> as*
2022-02-01 02:12:02 +0100 <oscurochu> is haskell for 3d a bad choice?
2022-02-01 02:12:04 +0100 <Axman6> you can make a new cabal projest and add it as a dependency and see if that helps
2022-02-01 02:12:48 +0100 <monochrom> That said, using an old GHC is not bad at the beginning.
2022-02-01 02:13:01 +0100 <oscurochu> im just following what is written here. http://lambdacube3d.com/getting-started
2022-02-01 02:13:18 +0100 <oscurochu> and it has examples i can run
2022-02-01 02:13:39 +0100 <Axman6> I think had is probably a more accurate way to say that, the project is quite old and bitrotted
2022-02-01 02:13:49 +0100 <geekosaur> niot updated since 2017, still using cabal v1, probably not a good way to go
2022-02-01 02:15:16 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-01 02:15:37 +0100Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-02-01 02:16:03 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Remote host closed the connection)
2022-02-01 02:16:14 +0100forell(~forell@user/forell)
2022-02-01 02:16:16 +0100Sgeo_(~Sgeo@user/sgeo)
2022-02-01 02:16:21 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-02-01 02:16:44 +0100simpleauthority(~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-01 02:17:02 +0100erisco(~erisco@d24-57-249-233.home.cgocable.net) (Read error: Connection reset by peer)
2022-02-01 02:17:03 +0100simpleauthority(~simpleaut@user/simpleauthority)
2022-02-01 02:17:10 +0100shapr`(~user@pool-173-73-44-80.washdc.fios.verizon.net)
2022-02-01 02:17:21 +0100erisco(~erisco@d24-57-249-233.home.cgocable.net)
2022-02-01 02:17:26 +0100deni(~deni@user/deni) (Quit: bye...)
2022-02-01 02:17:46 +0100fiddlerwoaroof(~fiddlerwo@user/fiddlerwoaroof) (Quit: Gone.)
2022-02-01 02:18:03 +0100fiddlerwoaroof(~fiddlerwo@user/fiddlerwoaroof)
2022-02-01 02:18:30 +0100zebrag(~chris@user/zebrag) (Remote host closed the connection)
2022-02-01 02:18:37 +0100micro_(~micro@user/micro) (Ping timeout: 240 seconds)
2022-02-01 02:18:53 +0100zebrag(~chris@user/zebrag)
2022-02-01 02:19:07 +0100mncheckm(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-02-01 02:19:18 +0100mncheckm(~mncheck@193.224.205.254)
2022-02-01 02:19:37 +0100micro(~micro@user/micro)
2022-02-01 02:19:50 +0100 <oscurochu> I'm not sure that lib is going to help me with my goals anyways. I want to try making my own 3d rasturizer. where should i begin?
2022-02-01 02:20:00 +0100jjhoo(~jahakala@user/jjhoo) (Ping timeout: 268 seconds)
2022-02-01 02:20:40 +0100jjhoo(~jahakala@user/jjhoo)
2022-02-01 02:21:07 +0100ncopa1(~ncopa@gbr2-dev1.alpinelinux.org)
2022-02-01 02:22:04 +0100ncopa(~ncopa@alpine/developer/ncopa) (Ping timeout: 256 seconds)
2022-02-01 02:22:04 +0100ncopa1ncopa
2022-02-01 02:23:37 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-01 02:23:37 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-01 02:23:37 +0100wroathe(~wroathe@user/wroathe)
2022-02-01 02:24:54 +0100shapr`(~user@pool-173-73-44-80.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-01 02:26:21 +0100 <perro_> a raytracer?
2022-02-01 02:26:26 +0100 <perro_> depends on what you want to do
2022-02-01 02:26:49 +0100 <perro_> you want to do realtime 3d graphics, don't use haskell to elarn
2022-02-01 02:27:04 +0100 <perro_> you want to learn basic rendering like raycasting, you can do that in any language becuase it's jsut writing to a bitmap
2022-02-01 02:28:22 +0100 <perro_> https://raytracing.github.io/books/RayTracingInOneWeekend.html
2022-02-01 02:28:38 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-02-01 02:28:45 +0100 <Axman6> I don't see why HAskell wouldn't be ok for real time 3d graphics, it's definitely been done before
2022-02-01 02:28:59 +0100 <perro_> it's beend one but the person learning doesn't need that overhead
2022-02-01 02:29:53 +0100 <perro_> even just js and webgl is a much quicker way to learn that
2022-02-01 02:30:13 +0100 <perro_> it's then much easier to move to haskell with those concepts...just my take
2022-02-01 02:30:13 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-01 02:30:15 +0100jao(~jao@static-68-235-44-23.cust.tzulo.com) (Remote host closed the connection)
2022-02-01 02:33:32 +0100fruitfly(~fruitfly@host-79-121-42-70.kabelnet.hu)
2022-02-01 02:34:10 +0100 <wavemode> Maybe if you followed a C opengl tutorial but used the gl/glfw packages in haskell? the functions would have the same names
2022-02-01 02:34:16 +0100 <wavemode> would be challenging though
2022-02-01 02:37:45 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-01 02:38:51 +0100 <perro_> that's prob the easieast way to jump between languages since everything has to map down to that
2022-02-01 02:40:02 +0100 <oscurochu> perro_ which way?
2022-02-01 02:40:17 +0100 <Axman6> I made the mistake of looking at the course for gl in my browser... it is chonky
2022-02-01 02:40:22 +0100 <perro_> by grokking and using the opengl api
2022-02-01 02:40:24 +0100 <Axman6> my browser is not happy
2022-02-01 02:41:31 +0100 <perro_> webgl maps very closely to it, also
2022-02-01 02:42:28 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-01 02:43:26 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-02-01 02:44:47 +0100vysn(~vysn@user/vysn)
2022-02-01 02:45:04 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-02-01 02:51:46 +0100fruitfly(~fruitfly@host-79-121-42-70.kabelnet.hu) (Quit: Client closed)
2022-02-01 02:53:13 +0100Topsi(~Tobias@dyndsl-095-033-094-250.ewe-ip-backbone.de)
2022-02-01 02:54:09 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-01 02:56:23 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-02-01 02:56:32 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-01 02:59:41 +0100burnsidesLlama(~burnsides@dhcp168-030.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-01 03:00:13 +0100burnsidesLlama(~burnsides@client-8-90.eduroam.oxuni.org.uk)
2022-02-01 03:04:34 +0100burnsidesLlama(~burnsides@client-8-90.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds)
2022-02-01 03:07:07 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Quit: Leaving)
2022-02-01 03:10:04 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2022-02-01 03:10:24 +0100 <oscurochu> i've cloned the raytracing repo, and i cant figure out how to compile it. this stuff makes me feel so dumb lol
2022-02-01 03:12:38 +0100V(~v@anomalous.eu) (Remote host closed the connection)
2022-02-01 03:13:23 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-02-01 03:13:23 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-02-01 03:13:26 +0100allbery_bgeekosaur
2022-02-01 03:14:36 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds)
2022-02-01 03:17:07 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-02-01 03:17:58 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 268 seconds)
2022-02-01 03:19:18 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-02-01 03:23:36 +0100califax-(~califax@user/califx)
2022-02-01 03:23:40 +0100Codaraxis(~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
2022-02-01 03:26:18 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-02-01 03:26:18 +0100califax-califax
2022-02-01 03:28:11 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2022-02-01 03:28:55 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-02-01 03:28:56 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-02-01 03:29:29 +0100Sgeo__(~Sgeo@user/sgeo)
2022-02-01 03:29:56 +0100 <oscurochu> i've finally figured it out. i had to make a build directory... lol
2022-02-01 03:30:21 +0100xff0x(~xff0x@2001:1a81:5330:2600:3a82:23bb:1178:cc83) (Ping timeout: 245 seconds)
2022-02-01 03:32:26 +0100xff0x(~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96)
2022-02-01 03:32:54 +0100Sgeo_(~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
2022-02-01 03:42:32 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-01 03:45:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-01 03:45:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-01 03:45:59 +0100wroathe(~wroathe@user/wroathe)
2022-02-01 03:47:09 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-02-01 03:49:37 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-01 03:50:42 +0100jao(~jao@static-68-235-44-23.cust.tzulo.com)
2022-02-01 03:52:07 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-01 03:57:22 +0100acidsys(~LSD@2.lsd.systems) (Excess Flood)
2022-02-01 03:58:04 +0100acidsys(~LSD@2.lsd.systems)
2022-02-01 04:00:03 +0100V(~v@anomalous.eu)
2022-02-01 04:03:13 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 04:05:29 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-01 04:08:57 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2022-02-01 04:09:10 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-01 04:10:16 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-02-01 04:10:16 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-02-01 04:10:16 +0100finn_elijaFinnElija
2022-02-01 04:14:55 +0100jao(~jao@static-68-235-44-23.cust.tzulo.com) (Remote host closed the connection)
2022-02-01 04:19:41 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-02-01 04:20:14 +0100cynomys(~cynomys@user/cynomys)
2022-02-01 04:22:48 +0100fef(~thedawn@user/thedawn)
2022-02-01 04:23:52 +0100Codaraxis(~Codaraxis@user/codaraxis) (Remote host closed the connection)
2022-02-01 04:24:11 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-02-01 04:25:22 +0100Codaraxis(~Codaraxis@user/codaraxis) (Remote host closed the connection)
2022-02-01 04:27:57 +0100nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: quit)
2022-02-01 04:27:57 +0100nshepperd2(~nshepperd@li364-218.members.linode.com) (Quit: The Lounge - https://thelounge.chat)
2022-02-01 04:28:40 +0100raym(~raym@user/raym) (Quit: kernel update, rebooting...)
2022-02-01 04:29:00 +0100nshepperd2(~nshepperd@li364-218.members.linode.com)
2022-02-01 04:29:03 +0100nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
2022-02-01 04:30:02 +0100cynomys(~cynomys@user/cynomys) (Quit: leaving)
2022-02-01 04:30:07 +0100yauhsien(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 04:31:38 +0100raym(~raym@user/raym)
2022-02-01 04:34:40 +0100yauhsien(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-01 04:37:31 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-02-01 04:42:09 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-02-01 04:43:23 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-02-01 04:45:26 +0100td_(~td@muedsl-82-207-238-222.citykom.de) (Ping timeout: 256 seconds)
2022-02-01 04:47:02 +0100td_(~td@94.134.91.76)
2022-02-01 04:51:28 +0100jao(~jao@static-68-235-44-23.cust.tzulo.com)
2022-02-01 04:57:52 +0100vglfr(~vglfr@46.96.158.194) (Ping timeout: 268 seconds)
2022-02-01 05:04:43 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-01 05:05:40 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 250 seconds)
2022-02-01 05:08:46 +0100cjb(~cjb@user/cjb) (Quit: rcirc on GNU Emacs 29.0.50)
2022-02-01 05:18:13 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-02-01 05:18:45 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-02-01 05:23:09 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 268 seconds)
2022-02-01 05:26:01 +0100Topsi(~Tobias@dyndsl-095-033-094-250.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-02-01 05:26:26 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-01 05:26:26 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-01 05:26:26 +0100wroathe(~wroathe@user/wroathe)
2022-02-01 05:30:39 +0100fef(~thedawn@user/thedawn)
2022-02-01 05:30:44 +0100mbuf(~Shakthi@171.61.172.103)
2022-02-01 05:31:07 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-01 05:32:04 +0100dut(~dut@user/dut)
2022-02-01 05:38:35 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-01 05:48:11 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 05:48:26 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2022-02-01 05:50:32 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-01 05:50:45 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-01 05:52:45 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2022-02-01 05:53:51 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
2022-02-01 05:59:59 +0100[_][itchyjunk]
2022-02-01 06:00:46 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 268 seconds)
2022-02-01 06:08:28 +0100jao(~jao@static-68-235-44-23.cust.tzulo.com) (Remote host closed the connection)
2022-02-01 06:08:32 +0100phma(phma@2001:5b0:211f:83e8:ceab:d757:d3e2:cd8f) (Read error: Connection reset by peer)
2022-02-01 06:08:52 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-02-01 06:09:55 +0100phma(phma@2001:5b0:211c:a988:8f1d:f7a6:3d8d:dc0c)
2022-02-01 06:14:58 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds)
2022-02-01 06:15:00 +0100hyiltiz_(~quassel@31.220.5.250) (Quit: hyiltiz_)
2022-02-01 06:15:16 +0100hyiltiz(~quassel@31.220.5.250)
2022-02-01 06:15:38 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-01 06:16:17 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-02-01 06:16:27 +0100RMSBachRSBach
2022-02-01 06:16:44 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 06:20:13 +0100ardell(~ardell@user/ardell)
2022-02-01 06:20:25 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-01 06:20:59 +0100hyiltiz(~quassel@31.220.5.250) (Ping timeout: 256 seconds)
2022-02-01 06:23:07 +0100hyiltiz(~quassel@31.220.5.250)
2022-02-01 06:27:17 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-02-01 06:31:53 +0100deadmarshal(~deadmarsh@95.38.231.118)
2022-02-01 06:32:18 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-01 06:33:51 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 06:40:21 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-02-01 06:45:10 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-02-01 06:59:35 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-02-01 07:00:18 +0100chenqisu1(~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds)
2022-02-01 07:00:33 +0100y04nn(~y04nn@92.223.89.196)
2022-02-01 07:03:57 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-02-01 07:05:06 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-02-01 07:05:28 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-02-01 07:05:45 +0100cheater(~Username@user/cheater)
2022-02-01 07:07:40 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-01 07:11:34 +0100son0p(~ff@2800:484:1d81:b700:d40b:900:b387:320) (Ping timeout: 260 seconds)
2022-02-01 07:13:02 +0100arjun(~arjun@user/arjun)
2022-02-01 07:14:45 +0100myme(~myme@2a01:799:d5a:cd00:fb5a:85b7:3647:e056)
2022-02-01 07:19:42 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2022-02-01 07:25:52 +0100Ekho(~Ekho@user/ekho) (Quit: CORE ERROR, SYSTEM HALTED.)
2022-02-01 07:26:09 +0100infinity0(~infinity0@occupy.ecodis.net) (Ping timeout: 256 seconds)
2022-02-01 07:26:42 +0100kadobanana(~mud@user/kadoban)
2022-02-01 07:26:43 +0100mud(~mud@user/kadoban) (Ping timeout: 256 seconds)
2022-02-01 07:27:27 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
2022-02-01 07:28:48 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2022-02-01 07:29:23 +0100infinity0(~infinity0@occupy.ecodis.net)
2022-02-01 07:29:36 +0100Jing(~hedgehog@240e:390:7c53:a7e1:1164:2854:8a6e:b4e3)
2022-02-01 07:31:45 +0100modnar(~modnar@shell.sonic.net) (Quit: farewell)
2022-02-01 07:33:59 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Quit: Konversation terminated!)
2022-02-01 07:34:09 +0100Ekho(~Ekho@user/ekho)
2022-02-01 07:37:35 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-02-01 07:41:17 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Ping timeout: 268 seconds)
2022-02-01 08:04:09 +0100ncopa(~ncopa@gbr2-dev1.alpinelinux.org) (Changing host)
2022-02-01 08:04:09 +0100ncopa(~ncopa@alpine/developer/ncopa)
2022-02-01 08:05:07 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-02-01 08:06:40 +0100califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-01 08:06:50 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 08:06:53 +0100califax(~califax@user/califx)
2022-02-01 08:11:08 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-01 08:11:42 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-01 08:11:45 +0100kaph(~kaph@an-19-174-100.service.infuturo.it)
2022-02-01 08:17:25 +0100thevishy(~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64)
2022-02-01 08:20:31 +0100kaph(~kaph@an-19-174-100.service.infuturo.it) (Read error: Connection reset by peer)
2022-02-01 08:20:34 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
2022-02-01 08:20:56 +0100kaph(~kaph@an-19-174-100.service.infuturo.it)
2022-02-01 08:22:21 +0100 <energizer> i'm doing some code gen. what's a good type for representing these type declaration things from C-like languages? `int y[N];`
2022-02-01 08:22:50 +0100quintasan(~quassel@quintasan.pl) (Ping timeout: 250 seconds)
2022-02-01 08:23:35 +0100coot(~coot@213.134.190.95)
2022-02-01 08:23:49 +0100michalz(~michalz@185.246.204.75)
2022-02-01 08:24:40 +0100y04nn(~y04nn@92.223.89.196) (Read error: Connection reset by peer)
2022-02-01 08:25:28 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-02-01 08:30:57 +0100shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-02-01 08:32:55 +0100notzmv(~zmv@user/notzmv)
2022-02-01 08:33:13 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-02-01 08:33:52 +0100 <dsal> It depends on what all you're trying to encode. That's a fixed size array of int, so you'd need to encode that it's an array, of what, and how big.
2022-02-01 08:34:11 +0100quintasan(~quassel@quintasan.pl)
2022-02-01 08:36:23 +0100fendor(~fendor@77.119.206.49.wireless.dyn.drei.com)
2022-02-01 08:36:31 +0100 <dsal> You have to kind of look at all of them, though. The answer changes if you just have that, or also scalars or different types of arrays, or more dimensions, etc...
2022-02-01 08:36:47 +0100tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2022-02-01 08:39:44 +0100 <energizer> let's say i want to support all of those things
2022-02-01 08:39:58 +0100 <energizer> no pointers tho
2022-02-01 08:41:00 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-02-01 08:41:10 +0100kaph_(~kaph@151.57.50.182)
2022-02-01 08:41:17 +0100zmt00(~zmt00@user/zmt00) (Ping timeout: 240 seconds)
2022-02-01 08:41:21 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-01 08:41:33 +0100tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2022-02-01 08:41:55 +0100kaph(~kaph@an-19-174-100.service.infuturo.it) (Read error: Connection reset by peer)
2022-02-01 08:42:51 +0100 <dsal> Well, a sum type with different constructors would be straightforward. I suppose an array might be a recursion. I'm afk, though, so I don't know for sure. I'd just start typing up what I see and then look for patterns to remove things.
2022-02-01 08:46:28 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:5ffd:7ea2:ced5:7680)
2022-02-01 08:50:18 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-01 08:51:22 +0100arjun(~arjun@user/arjun) (Ping timeout: 256 seconds)
2022-02-01 08:52:00 +0100briandaed(~jaroslawj@185.234.208.208.r.toneticgroup.pl)
2022-02-01 08:53:57 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Ping timeout: 240 seconds)
2022-02-01 08:55:13 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
2022-02-01 08:55:30 +0100cfricke(~cfricke@user/cfricke)
2022-02-01 08:58:20 +0100kaph_(~kaph@151.57.50.182) (Remote host closed the connection)
2022-02-01 09:04:26 +0100kaph(~kaph@151.57.50.182)
2022-02-01 09:04:37 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 09:05:00 +0100kaph(~kaph@151.57.50.182) (Remote host closed the connection)
2022-02-01 09:06:35 +0100neurocyte0917090(~neurocyte@IP-094046082248.dynamic.medianet-world.de)
2022-02-01 09:06:35 +0100neurocyte0917090(~neurocyte@IP-094046082248.dynamic.medianet-world.de) (Changing host)
2022-02-01 09:06:35 +0100neurocyte0917090(~neurocyte@user/neurocyte)
2022-02-01 09:07:19 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-01 09:07:31 +0100Major_Biscuit(~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl)
2022-02-01 09:09:54 +0100kaph(~kaph@151.57.50.182)
2022-02-01 09:10:06 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
2022-02-01 09:11:19 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 268 seconds)
2022-02-01 09:11:40 +0100alp(~alp@user/alp)
2022-02-01 09:11:46 +0100quintasan(~quassel@quintasan.pl) (Ping timeout: 256 seconds)
2022-02-01 09:11:48 +0100Sgeo__(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-02-01 09:25:54 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-02-01 09:27:25 +0100kaph(~kaph@151.57.50.182) (Ping timeout: 256 seconds)
2022-02-01 09:28:05 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
2022-02-01 09:28:47 +0100chele(~chele@user/chele)
2022-02-01 09:31:12 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Remote host closed the connection)
2022-02-01 09:31:23 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-02-01 09:36:15 +0100 <tomsmeding> EvanR: indeed if d' < d, then the number of externally bound variables decreased, probably because some variables were inlined
2022-02-01 09:36:59 +0100 <tomsmeding> or perhaps two variables x and y were now expressed as 'fst z' and 'snd z', for z a new bound variable -- I know the language doesn't have fst and snd, but then Church-encoded variants of them :D
2022-02-01 09:38:17 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-02-01 09:39:18 +0100whatif(~user@123.180.40.237)
2022-02-01 09:40:07 +0100 <whatif> runghc test.hs, it tells me that utf8-string is hidden package, I run `ghc-pkg export utf8-string', still the same, why?
2022-02-01 09:40:28 +0100 <whatif> those expose/hidden package is really anonying
2022-02-01 09:40:51 +0100 <whatif> no cabal in current path, just a test file
2022-02-01 09:49:31 +0100quintasan(~quassel@quintasan.pl)
2022-02-01 09:50:04 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-01 09:50:21 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-02-01 09:52:04 +0100 <kuribas> going to be downvoted to hell for this, but just having fun: https://www.reddit.com/r/programming/comments/sh9uif/software_development_languages_haskell/
2022-02-01 09:57:09 +0100 <lortabac> kuribas: :)
2022-02-01 09:59:04 +0100mikoto-chan(~mikoto-ch@84.199.144.235)
2022-02-01 10:00:06 +0100prrxddq[m](~prrxddqma@2001:470:69fc:105::1:4f72) (Quit: You have been kicked for being idle)
2022-02-01 10:02:29 +0100 <whatif> https://hackage.haskell.org/package/scotty-0.9.0/docs/Web-Scotty-Trans.html#v:scottyT
2022-02-01 10:02:57 +0100 <yushyin> kuribas: sure i can give you my downvote ;)
2022-02-01 10:03:00 +0100 <whatif> what is this (m Response -> IO Response)
2022-02-01 10:03:16 +0100 <kuribas> yushyin: do what you want :)
2022-02-01 10:03:37 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Ping timeout: 240 seconds)
2022-02-01 10:03:53 +0100 <whatif> or how to construct (m Response -> IO Response)?
2022-02-01 10:04:16 +0100 <yushyin> tl;dr but if you want some by all means
2022-02-01 10:04:37 +0100 <whatif> @hoogle Response
2022-02-01 10:04:37 +0100 <lambdabot> Network.HTTP.Client data Response body
2022-02-01 10:04:37 +0100 <lambdabot> Network.HTTP.Client.Internal data Response body
2022-02-01 10:04:37 +0100 <lambdabot> Network.HTTP.Client.Internal Response :: Status -> HttpVersion -> ResponseHeaders -> body -> CookieJar -> ResponseClose -> Response body
2022-02-01 10:05:33 +0100 <kuribas> whatif: by "running" your monad.
2022-02-01 10:05:58 +0100 <whatif> kuribas: what does that mean?...
2022-02-01 10:06:10 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
2022-02-01 10:06:23 +0100vysn(~vysn@user/vysn)
2022-02-01 10:06:27 +0100 <kuribas> whatif: If you have a ReaderT, you can use runReaderT...
2022-02-01 10:06:31 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 256 seconds)
2022-02-01 10:06:44 +0100 <whatif> kuribas: StateT
2022-02-01 10:06:52 +0100 <whatif> evalStateT
2022-02-01 10:07:26 +0100 <kuribas> whatif: yes. But that could give problems with concurrency.
2022-02-01 10:07:41 +0100 <whatif> scottyT 3000 $ flip evalStateT "msg" $ get "/" $ test "hello"
2022-02-01 10:07:42 +0100 <kuribas> whatif: put an IORef in a ReaderT
2022-02-01 10:08:13 +0100 <kuribas> ReaderT MyState (IO a)
2022-02-01 10:08:25 +0100 <whatif> Couldn't match expected type `StateT [Char] ((->) (m Response)) (IO Response)' with actual type `ScottyT e1 m1 ()'
2022-02-01 10:08:59 +0100 <kuribas> type MyState = IORef AppState
2022-02-01 10:09:54 +0100 <kuribas> whatif: does your state need to persist?
2022-02-01 10:10:05 +0100 <whatif> kuribas: put and get with StateT could not do the same like IORef?
2022-02-01 10:10:35 +0100 <kuribas> I don't think the pure state will persist between requests.
2022-02-01 10:10:35 +0100 <whatif> kuribas: yes
2022-02-01 10:11:23 +0100 <kuribas> So you'll need a IORef, or MVar, TVar, ...
2022-02-01 10:11:29 +0100 <whatif> kuribas: because requests are?
2022-02-01 10:11:36 +0100 <kuribas> requests are in IO.
2022-02-01 10:12:12 +0100 <whatif> kuribas: StateT could work on IO?
2022-02-01 10:12:17 +0100 <whatif> couldn't?
2022-02-01 10:13:08 +0100 <kuribas> no, StateT encapsulates IO.
2022-02-01 10:13:12 +0100 <kuribas> Not the other way around.
2022-02-01 10:14:14 +0100 <kuribas> and a Wai Application is basically "Request -> IO Response"
2022-02-01 10:14:49 +0100 <kuribas> whatif: you could keep your StateT and wrap it in a ReaderT with IORef.
2022-02-01 10:15:06 +0100 <kuribas> whatif: but that's probably not easier that simply using an IORef.
2022-02-01 10:16:25 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 10:18:58 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-02-01 10:18:58 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-02-01 10:19:01 +0100allbery_bgeekosaur
2022-02-01 10:19:02 +0100 <kuribas> whatif: note that a toplevel "ReaderT IO a" is a common pattern for a toplevel application monad.
2022-02-01 10:19:20 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-02-01 10:20:06 +0100akegalj(~akegalj@185.230.83.17)
2022-02-01 10:20:07 +0100 <whatif> kuribas: what I'm confused is why not use StateT s IO a
2022-02-01 10:20:32 +0100 <kuribas> because the "s" doesn't persist.
2022-02-01 10:20:37 +0100 <kuribas> between requests.
2022-02-01 10:21:06 +0100 <whatif> kuribas: why "s" dones't persist between requests?
2022-02-01 10:21:14 +0100 <kuribas> In other words, the s is "readonly", so you can use ReaderT isntead.
2022-02-01 10:21:14 +0100 <whatif> just because of IO?
2022-02-01 10:21:17 +0100 <kuribas> yes.
2022-02-01 10:21:44 +0100 <kuribas> whatif: look at the Application type above, and tell me how you could persist state.
2022-02-01 10:21:50 +0100 <ephemient> you provide s to every evalStateT
2022-02-01 10:22:10 +0100 <kuribas> ephemient: yes, so you get a ReaderT disguised as a StateT.
2022-02-01 10:22:39 +0100 <ephemient> in theory you could runStateT, pull it out, stuff it in an IORef, read it back the next request and put it into state again, but…
2022-02-01 10:22:47 +0100 <ephemient> why would you do that instead of just using IORef?
2022-02-01 10:23:11 +0100 <whatif> just using IORef would be easier than StateT or ReaderT?
2022-02-01 10:23:34 +0100 <whatif> could we have global variable in Haskell?
2022-02-01 10:23:46 +0100 <whatif> that would be so easy with global variable to do this
2022-02-01 10:23:47 +0100 <kuribas> whatif: not without unsafePerformIO.
2022-02-01 10:24:05 +0100 <whatif> kuribas: but IORef is safe?
2022-02-01 10:24:24 +0100 <kuribas> Putting an IORef in a ReaderT isn't hard.
2022-02-01 10:24:26 +0100 <ephemient> in the ReaderT IO pattern, you'd put references to your "global" variables in the "reader" environment
2022-02-01 10:24:41 +0100 <kuribas> You can write a helper to extract or update this state from your app monad.
2022-02-01 10:25:03 +0100Major_Biscuit(~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.4)
2022-02-01 10:25:11 +0100 <kuribas> whatif: also, "ReaderT AppState IO a " is the idiomatic way to do this.
2022-02-01 10:25:19 +0100 <whatif> ephemient: what if I have two threads want to share the same variable?
2022-02-01 10:25:19 +0100 <ephemient> they're not *global* global, just hoisted outside to outside of the app loop
2022-02-01 10:25:28 +0100 <ephemient> they are shared this way
2022-02-01 10:27:16 +0100 <kuribas> whatif: this is also better than global state, because you could for example run two servers with different state.
2022-02-01 10:27:31 +0100MajorBiscuit(~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl)
2022-02-01 10:28:11 +0100 <whatif> kuribas: that better question is how to save inner value within a function out of it?
2022-02-01 10:28:45 +0100 <kuribas> whatif: modifyIORef
2022-02-01 10:30:50 +0100sterni(~lukas@user/sterni)
2022-02-01 10:34:49 +0100 <whatif> g x = do {o <- get; let {n=o+1}; put n; return (n+x);}
2022-02-01 10:34:59 +0100 <whatif> runState (traverse g [1,1,1]) 0 == ([2,3,4],3)
2022-02-01 10:35:06 +0100 <whatif> this s persist?
2022-02-01 10:36:28 +0100 <kuribas> no?
2022-02-01 10:37:56 +0100 <kuribas> whatif: the question doesn't make sense without context.
2022-02-01 10:43:16 +0100spider__(~spider@vps-951ce37a.vps.ovh.ca) (Ping timeout: 245 seconds)
2022-02-01 10:43:43 +0100arjun(~arjun@103.57.87.139)
2022-02-01 10:44:19 +0100 <ephemient> if you have main = do varRef <- newIORef ...; let env = Env { varRef = varRef }; loop $ evalStateT foo env or whatever. then foo gets the same varRef across all invocations of foo from the same main. foo can gets varRef >>= liftM modifyIORef' (+ 1) or whatever it wants with that
2022-02-01 10:52:31 +0100son0p(~ff@2800:484:1d81:b700:d40b:900:b387:320)
2022-02-01 10:56:56 +0100spider__(~spider@vps-951ce37a.vps.ovh.ca)
2022-02-01 10:57:34 +0100dust_(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Quit: Konversation terminated!)
2022-02-01 10:59:00 +0100max22-(~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr)
2022-02-01 11:01:37 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-01 11:02:45 +0100Pickchea(~private@user/pickchea)
2022-02-01 11:03:27 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-01 11:07:56 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-02-01 11:09:47 +0100yhsiveht(~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64)
2022-02-01 11:10:35 +0100eggplant_(~Eggplanta@2600:1700:bef1:5e10:693a:de00:38ae:dac2)
2022-02-01 11:10:37 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:10:37 +0100yaroot(~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (Ping timeout: 240 seconds)
2022-02-01 11:10:37 +0100Adran(adran@botters/adran) (Ping timeout: 240 seconds)
2022-02-01 11:10:53 +0100aplainze1akind(~johndoe@captainludd.powered.by.lunarbnc.net)
2022-02-01 11:10:57 +0100yaroot(~yaroot@57.48.30.125.dy.iij4u.or.jp)
2022-02-01 11:10:57 +0100agander_m(sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:10:57 +0100mtjm(~mutantmel@2604:a880:2:d0::208b:d001) (Ping timeout: 240 seconds)
2022-02-01 11:10:57 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:10:57 +0100joeyh(joeyh@kitenet.net) (Ping timeout: 240 seconds)
2022-02-01 11:10:57 +0100tito(tito@tilde.team) (Ping timeout: 240 seconds)
2022-02-01 11:11:04 +0100Jing_(~hedgehog@125.105.15.211)
2022-02-01 11:11:06 +0100agander_m(sid407952@id-407952.tinside.irccloud.com)
2022-02-01 11:11:08 +0100lightandlight_(sid135476@id-135476.helmsley.irccloud.com)
2022-02-01 11:11:08 +0100asivitz_(uid178348@id-178348.tinside.irccloud.com)
2022-02-01 11:11:10 +0100tritlo_(sid58727@user/tritlo)
2022-02-01 11:11:17 +0100bbhoss_(sid18216@id-18216.tinside.irccloud.com)
2022-02-01 11:11:17 +0100lightandlight(sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:11:17 +0100img(~img@user/img) (Ping timeout: 240 seconds)
2022-02-01 11:11:17 +0100asivitz(uid178348@id-178348.tinside.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:11:17 +0100catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 240 seconds)
2022-02-01 11:11:17 +0100bbhoss(sid18216@id-18216.tinside.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:11:17 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 240 seconds)
2022-02-01 11:11:17 +0100lightandlight_lightandlight
2022-02-01 11:11:17 +0100asivitz_asivitz
2022-02-01 11:11:18 +0100bbhoss_bbhoss
2022-02-01 11:11:20 +0100joeyh(~joeyh@kitenet.net)
2022-02-01 11:11:29 +0100newhoggy_(sid198874@id-198874.helmsley.irccloud.com)
2022-02-01 11:11:30 +0100aristid_(sid1599@uxbridge.irccloud.com)
2022-02-01 11:11:32 +0100caasih_(sid13241@id-13241.ilkley.irccloud.com)
2022-02-01 11:11:37 +0100SwarmCollective(~joseph@2603-6011-bc02-b600-9258-c9a6-2983-1208.res6.spectrum.com) (Ping timeout: 240 seconds)
2022-02-01 11:11:37 +0100Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Ping timeout: 240 seconds)
2022-02-01 11:11:37 +0100caasih(sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:11:37 +0100caasih_caasih
2022-02-01 11:11:38 +0100feliix42_(~felix@gibbs.uberspace.de)
2022-02-01 11:11:43 +0100conjunctive_(sid433686@id-433686.helmsley.irccloud.com)
2022-02-01 11:11:48 +0100Ram-Z_(~Ram-Z@li1814-254.members.linode.com)
2022-02-01 11:11:48 +0100ehamberg_(sid18208@id-18208.hampstead.irccloud.com)
2022-02-01 11:11:49 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-01 11:11:49 +0100obviyus_(sid415299@user/obviyus)
2022-02-01 11:11:52 +0100truckasaurus_(sid457088@id-457088.helmsley.irccloud.com)
2022-02-01 11:11:55 +0100SwarmCollective(~joseph@2603-6011-bc02-b600-8c82-3804-1c4b-e932.res6.spectrum.com)
2022-02-01 11:11:57 +0100Jing(~hedgehog@240e:390:7c53:a7e1:1164:2854:8a6e:b4e3) (Ping timeout: 240 seconds)
2022-02-01 11:11:57 +0100nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Ping timeout: 240 seconds)
2022-02-01 11:11:57 +0100aristid(sid1599@id-1599.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:11:57 +0100beaky(~beaky@2a03:b0c0:0:1010::1e:a001) (Ping timeout: 240 seconds)
2022-02-01 11:11:57 +0100noddy(~user@user/noddy) (Ping timeout: 240 seconds)
2022-02-01 11:11:58 +0100aristid_aristid
2022-02-01 11:12:00 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2022-02-01 11:12:17 +0100thevishy(~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64) (Ping timeout: 240 seconds)
2022-02-01 11:12:17 +0100conjunctive(sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:12:17 +0100tritlo(sid58727@user/tritlo) (Ping timeout: 240 seconds)
2022-02-01 11:12:17 +0100Flow(~none@gentoo/developer/flow) (Ping timeout: 240 seconds)
2022-02-01 11:12:18 +0100obviyus(sid415299@user/obviyus) (Ping timeout: 240 seconds)
2022-02-01 11:12:18 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 240 seconds)
2022-02-01 11:12:18 +0100Hafydd(~Hafydd@user/hafydd) (Ping timeout: 240 seconds)
2022-02-01 11:12:18 +0100hays(rootvegeta@fsf/member/hays) (Ping timeout: 240 seconds)
2022-02-01 11:12:18 +0100landonf(landonf@mac68k.info) (Ping timeout: 240 seconds)
2022-02-01 11:12:18 +0100obviyus_obviyus
2022-02-01 11:12:18 +0100conjunctive_conjunctive
2022-02-01 11:12:18 +0100tritlo_tritlo
2022-02-01 11:12:37 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:f579:9b2b:4d0d:2d44) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100newhoggy(sid198874@id-198874.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100truckasaurus(sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100ehamberg(sid18208@id-18208.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100feliix42(~felix@gibbs.uberspace.de) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100remexre(~remexre@user/remexre) (Ping timeout: 240 seconds)
2022-02-01 11:12:37 +0100newhoggy_newhoggy
2022-02-01 11:12:37 +0100truckasaurus_truckasaurus
2022-02-01 11:12:38 +0100ehamberg_ehamberg
2022-02-01 11:12:47 +0100dut_(~dut@user/dut)
2022-02-01 11:13:00 +0100tcard_(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2022-02-01 11:13:00 +0100hays(rootvegeta@fsf/member/hays)
2022-02-01 11:13:16 +0100remexre(~remexre@user/remexre)
2022-02-01 11:13:59 +0100mtjm(~mutantmel@2604:a880:2:d0::208b:d001)
2022-02-01 11:14:07 +0100Jing(~hedgehog@125.105.15.211)
2022-02-01 11:14:08 +0100beaky(~beaky@2a03:b0c0:0:1010::1e:a001)
2022-02-01 11:14:14 +0100nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
2022-02-01 11:14:15 +0100noddy(~user@user/noddy)
2022-02-01 11:14:21 +0100Adran(adran@botters/adran)
2022-02-01 11:14:31 +0100Alex_test(~al_test@178.34.151.37) (Ping timeout: 256 seconds)
2022-02-01 11:14:31 +0100matijja(~matijja@193.77.181.201) (Ping timeout: 256 seconds)
2022-02-01 11:14:31 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 256 seconds)
2022-02-01 11:14:41 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2022-02-01 11:14:48 +0100joeyh_(joeyh@kitenet.net)
2022-02-01 11:15:05 +0100cfricke(~cfricke@user/cfricke) (Ping timeout: 256 seconds)
2022-02-01 11:15:05 +0100michalz(~michalz@185.246.204.75) (Ping timeout: 256 seconds)
2022-02-01 11:15:24 +0100matijja(~matijja@193.77.181.201)
2022-02-01 11:15:39 +0100Jing_(~hedgehog@125.105.15.211) (Ping timeout: 256 seconds)
2022-02-01 11:15:39 +0100yaroot(~yaroot@57.48.30.125.dy.iij4u.or.jp) (Ping timeout: 256 seconds)
2022-02-01 11:15:39 +0100quintasan(~quassel@quintasan.pl) (Ping timeout: 256 seconds)
2022-02-01 11:15:39 +0100tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 256 seconds)
2022-02-01 11:15:39 +0100cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2022-02-01 11:15:53 +0100img(~img@user/img)
2022-02-01 11:15:58 +0100cheater(~Username@user/cheater)
2022-02-01 11:16:10 +0100quintasan(~quassel@quintasan.pl)
2022-02-01 11:16:13 +0100joeyh(~joeyh@kitenet.net) (Ping timeout: 256 seconds)
2022-02-01 11:16:13 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-02-01 11:16:13 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Ping timeout: 256 seconds)
2022-02-01 11:16:13 +0100dut(~dut@user/dut) (Ping timeout: 256 seconds)
2022-02-01 11:16:13 +0100nshepperd2(~nshepperd@li364-218.members.linode.com) (Ping timeout: 256 seconds)
2022-02-01 11:16:13 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds)
2022-02-01 11:17:22 +0100jespada(~jespada@87.74.36.188)
2022-02-01 11:17:41 +0100yaroot(~yaroot@57.48.30.125.dy.iij4u.or.jp)
2022-02-01 11:17:41 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net)
2022-02-01 11:18:42 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-01 11:18:59 +0100eggplant_(~Eggplanta@2600:1700:bef1:5e10:693a:de00:38ae:dac2) (Remote host closed the connection)
2022-02-01 11:19:50 +0100__monty__(~toonn@user/toonn)
2022-02-01 11:20:09 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
2022-02-01 11:20:21 +0100Alex_test(~al_test@178.34.151.37)
2022-02-01 11:21:02 +0100yhsiveht(~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64) (Quit: Leaving)
2022-02-01 11:22:59 +0100rusrushal13(~rusrushal@2409:4056:e82:6bda:bd0e:9743:fccb:b2a0)
2022-02-01 11:26:01 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41)
2022-02-01 11:26:35 +0100Hafydd(~Hafydd@user/hafydd)
2022-02-01 11:26:44 +0100Flow(~none@gentoo/developer/flow)
2022-02-01 11:27:32 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-01 11:27:59 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-01 11:28:34 +0100Pickchea(~private@user/pickchea)
2022-02-01 11:30:06 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-01 11:30:10 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-01 11:31:47 +0100ubert1(~Thunderbi@p200300ecdf09945c0ca179bca462169c.dip0.t-ipconnect.de)
2022-02-01 11:33:04 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2022-02-01 11:33:41 +0100Hafydd(~Hafydd@user/hafydd) (Ping timeout: 250 seconds)
2022-02-01 11:34:00 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-01 11:34:27 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-02-01 11:36:39 +0100 <polezaivsani> Hello! What'd be a good way to get a copy of haddoc for a package from hackage? I kind of got it via `cabal install --enable-documentation`, though it ends up in store and i wonder if there is an easier way to do it?
2022-02-01 11:42:21 +0100Benzi-Junior(~BenziJuni@dsl-149-66-61.hive.is) (Ping timeout: 250 seconds)
2022-02-01 11:42:39 +0100Jing(~hedgehog@125.105.15.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-02-01 11:44:03 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-01 11:44:25 +0100tom__(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2022-02-01 11:45:11 +0100davetapley(sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 250 seconds)
2022-02-01 11:45:11 +0100megaTherion(~therion@unix.io) (Ping timeout: 250 seconds)
2022-02-01 11:45:11 +0100hendi(sid489601@2a03:5180:f:2::7:7881) (Ping timeout: 250 seconds)
2022-02-01 11:45:11 +0100AndreasK(sid320732@2a03:5180:f:5::4:e4dc) (Ping timeout: 250 seconds)
2022-02-01 11:45:24 +0100kuribas`(~user@ptr-25vy0i9didaz6k0kzeu.18120a2.ip6.access.telenet.be)
2022-02-01 11:45:37 +0100kristjansson(sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 250 seconds)
2022-02-01 11:45:37 +0100aria(sid380617@2a03:5180:f:2::5:cec9) (Ping timeout: 250 seconds)
2022-02-01 11:45:37 +0100jonrh(sid5185@2a03:5180:f:3::1441) (Ping timeout: 250 seconds)
2022-02-01 11:45:55 +0100jonrh(sid5185@id-5185.ilkley.irccloud.com)
2022-02-01 11:45:58 +0100taktoa[c]_(sid282096@id-282096.tinside.irccloud.com)
2022-02-01 11:45:59 +0100AndreasK(sid320732@id-320732.uxbridge.irccloud.com)
2022-02-01 11:46:05 +0100davetapley(sid666@id-666.uxbridge.irccloud.com)
2022-02-01 11:46:07 +0100hendi(sid489601@id-489601.lymington.irccloud.com)
2022-02-01 11:46:11 +0100oats_(~thomas@user/oats)
2022-02-01 11:46:18 +0100aria(sid380617@lymington.irccloud.com)
2022-02-01 11:46:26 +0100kristjansson(sid126207@id-126207.tinside.irccloud.com)
2022-02-01 11:46:29 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5) (Ping timeout: 250 seconds)
2022-02-01 11:46:29 +0100Arathorn(~arathorn@2001:470:69fc:105::1f) (Ping timeout: 250 seconds)
2022-02-01 11:46:29 +0100flupe(~baboum@radon.sbi.re) (Ping timeout: 250 seconds)
2022-02-01 11:46:35 +0100megaTherion(~therion@unix.io)
2022-02-01 11:46:44 +0100sajith_(~sajith@user/sajith)
2022-02-01 11:46:46 +0100fef(~thedawn@user/thedawn)
2022-02-01 11:46:55 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100ddb(~ddb@ipv6two.tilde.club) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100fgaz(~fgaz@2001:470:69fc:105::842) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100jmcantrell(~jmcantrel@user/jmcantrell) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100sajith(~sajith@user/sajith) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100taktoa[c](sid282096@2a03:5180:f::4:4df0) (Ping timeout: 250 seconds)
2022-02-01 11:46:55 +0100jackhill(~jackhill@kalessin.dragonsnail.net) (Ping timeout: 250 seconds)
2022-02-01 11:46:56 +0100taktoa[c]_taktoa[c]
2022-02-01 11:47:00 +0100cosimone`(~user@93-47-231-100.ip115.fastwebnet.it)
2022-02-01 11:47:21 +0100kuribas(~user@ptr-25vy0i9mijo6rhu39yx.18120a2.ip6.access.telenet.be) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100tom_(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100maralorn(~maralorn@2001:470:69fc:105::251) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100bitonic(~bitonic@2001:470:69fc:105::1812) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100codygman[m](~codygman@2001:470:69fc:105::b4ba) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100synthmeat(~synthmeat@user/synthmeat) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100earthy(~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (Ping timeout: 250 seconds)
2022-02-01 11:47:21 +0100oats(~thomas@user/oats) (Ping timeout: 250 seconds)
2022-02-01 11:47:25 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 11:47:31 +0100Hafydd(~Hafydd@user/hafydd)
2022-02-01 11:47:33 +0100flupe(~baboum@radon.sbi.re)
2022-02-01 11:47:59 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds)
2022-02-01 11:48:26 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2022-02-01 11:48:51 +0100jackhill(~jackhill@kalessin.dragonsnail.net)
2022-02-01 11:49:00 +0100ddb(~ddb@ipv6two.tilde.club)
2022-02-01 11:49:39 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 256 seconds)
2022-02-01 11:49:39 +0100yaroot(~yaroot@57.48.30.125.dy.iij4u.or.jp) (Ping timeout: 256 seconds)
2022-02-01 11:50:04 +0100yaroot(~yaroot@57.48.30.125.dy.iij4u.or.jp)
2022-02-01 11:51:21 +0100__monty__(~toonn@user/toonn) (Ping timeout: 256 seconds)
2022-02-01 11:51:34 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-02-01 11:52:37 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-02-01 11:52:49 +0100__monty__(~toonn@user/toonn)
2022-02-01 11:54:03 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-01 11:54:44 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2022-02-01 11:55:17 +0100ardell(~ardell@user/ardell) (Quit: Konversation terminated!)
2022-02-01 11:55:26 +0100michalz(~michalz@185.246.204.89)
2022-02-01 11:59:22 +0100earthy(~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0)
2022-02-01 11:59:44 +0100Arathorn(~arathorn@2001:470:69fc:105::1f)
2022-02-01 12:00:04 +0100synthmeat(~synthmeat@user/synthmeat)
2022-02-01 12:00:24 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-02-01 12:00:34 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336)
2022-02-01 12:01:11 +0100codygman[m](~codygman@2001:470:69fc:105::b4ba)
2022-02-01 12:01:24 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7)
2022-02-01 12:01:40 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2022-02-01 12:02:31 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5)
2022-02-01 12:02:35 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082)
2022-02-01 12:02:40 +0100bitonic(~bitonic@2001:470:69fc:105::1812)
2022-02-01 12:04:01 +0100Pickchea(~private@user/pickchea) (Ping timeout: 250 seconds)
2022-02-01 12:04:35 +0100fgaz(~fgaz@2001:470:69fc:105::842)
2022-02-01 12:04:36 +0100quintasan(~quassel@quintasan.pl) (Ping timeout: 268 seconds)
2022-02-01 12:05:07 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f)
2022-02-01 12:05:37 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-02-01 12:06:01 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2)
2022-02-01 12:07:19 +0100jmcantrell(~jmcantrel@user/jmcantrell)
2022-02-01 12:07:26 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-02-01 12:08:21 +0100maralorn(~maralorn@2001:470:69fc:105::251)
2022-02-01 12:08:26 +0100landonf(landonf@mac68k.info)
2022-02-01 12:08:51 +0100nshepperd2(nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
2022-02-01 12:09:56 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9)
2022-02-01 12:10:05 +0100Jing(~hedgehog@240e:390:7c53:a7e1:4458:b22e:b9a7:2cea)
2022-02-01 12:13:12 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-02-01 12:18:05 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
2022-02-01 12:19:59 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
2022-02-01 12:20:28 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 256 seconds)
2022-02-01 12:24:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Ping timeout: 240 seconds)
2022-02-01 12:27:22 +0100quintasan(~quassel@quintasan.pl)
2022-02-01 12:28:55 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-01 12:28:55 +0100chenqisu1(~chenqisu1@183.217.200.249) (Read error: Connection reset by peer)
2022-02-01 12:31:51 +0100nunggu(~q@user/nunggu)
2022-02-01 12:32:38 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 12:33:35 +0100moats(~oats@user/oats) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100schuelermine[m](~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100Orbstheorem(~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100aidy(~aidy@2001:470:69fc:105::c7b4) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100EkaiZend[m](~ekai-zend@2001:470:69fc:105::1:7756) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100eoiles[m](~eoilesmat@2001:470:69fc:105::1:6164) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100craige[m](~craigemcw@2001:470:69fc:105::35f1) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100tripa[m](~tripamatr@2001:470:69fc:105::1:4f7e) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100yehoshuapw(~yehoshuap@2001:470:69fc:105::a5f) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100james[m]123(~jamesnina@2001:470:69fc:105::1:4203) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100kalxd[m](~kalxdmatr@2001:470:69fc:105::1:576e) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100throwaaaa[m](~throwaaaa@2001:470:69fc:105::1:6fe6) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100soft(~soft@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100oak-(~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100nomeata(~nomeata@2001:470:69fc:105::1:5ed4) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100octeep[m](~octeepoct@2001:470:69fc:105::1:3dbf) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100mmos[m](~mmosmatri@2001:470:69fc:105::1:8340) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100Michal[m](~oomiguelm@2001:470:69fc:105::1:5ab0) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100benjamin[m]123(~benjaminm@2001:470:69fc:105::1:3f2f) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100Nate[m](~m52957mat@2001:470:69fc:105::1:591a) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100simmsb(~simmsb@2001:470:69fc:105::1:55c3) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100cherryblossom[m](~cherryblo@2001:470:69fc:105::b789) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:36 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:37 +0100Sixto[m](~provornyc@2001:470:69fc:105::1:74df) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:37 +0100bb010g(~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100siraben(~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100ormaaj(~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100kadoban(~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100psydroid(~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100unclechu(~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100carmysilna(~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100jinsun_(~jinsun@user/jinsun) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:38 +0100ericson2314(~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100Deide(~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100Artem[m](~artemtype@2001:470:69fc:105::75b) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100Tisoxin(~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100finalti[m](~finaltima@2001:470:69fc:105::d909) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100unrooted(~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:39 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100ac(~aloiscoch@2001:470:69fc:105::65) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100sm1(~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100peddie(~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100quantum(~quantum@user/quantum/x-8556232) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100xbreu(~xbreu@2001:470:69fc:105::1:5061) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:40 +0100alex[m]1234567(~alexchete@2001:470:69fc:105::1:1001) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100jaror[m](~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100Arathorn(~arathorn@2001:470:69fc:105::1f) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100codygman[m](~codygman@2001:470:69fc:105::b4ba) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100bitonic(~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100fgaz(~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100jmcantrell(~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100maralorn(~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:33:41 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2) (Quit: Bridge terminating on SIGTERM)
2022-02-01 12:35:07 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-02-01 12:35:53 +0100dut_(~dut@user/dut) (Quit: Leaving)
2022-02-01 12:36:41 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 256 seconds)
2022-02-01 12:38:35 +0100mestre(~mestre@191.177.181.194)
2022-02-01 12:39:05 +0100 <mestre> /clear
2022-02-01 12:39:08 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2022-02-01 12:40:18 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9)
2022-02-01 12:40:41 +0100 <mestre> hello, I was wondering if there was an automated way to check unused libraries in the package.yaml.
2022-02-01 12:40:54 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2022-02-01 12:40:54 +0100fgaz(~fgaz@2001:470:69fc:105::842)
2022-02-01 12:40:54 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284)
2022-02-01 12:40:54 +0100peddie(~peddie@2001:470:69fc:105::25d)
2022-02-01 12:41:06 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2022-02-01 12:41:10 +0100 <mestre> Does anyone knows of something or can point me in the right direction?
2022-02-01 12:41:20 +0100bb010g(~bb010g@2001:470:69fc:105::9a5)
2022-02-01 12:41:20 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2022-02-01 12:41:32 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539)
2022-02-01 12:41:44 +0100soft(~soft@2001:470:69fc:105::c75)
2022-02-01 12:41:44 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2022-02-01 12:41:58 +0100oak-(~oakuniver@2001:470:69fc:105::fcd)
2022-02-01 12:41:58 +0100kadoban(~kadoban@user/kadoban)
2022-02-01 12:41:58 +0100ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-02-01 12:41:58 +0100moats(~oats@user/oats)
2022-02-01 12:41:58 +0100Arathorn(~arathorn@2001:470:69fc:105::1f)
2022-02-01 12:41:59 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082)
2022-02-01 12:41:59 +0100unclechu(~unclechu@2001:470:69fc:105::354)
2022-02-01 12:42:10 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f)
2022-02-01 12:42:10 +0100maralorn(~maralorn@2001:470:69fc:105::251)
2022-02-01 12:42:22 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda)
2022-02-01 12:42:22 +0100quantum(~quantum@user/quantum/x-8556232)
2022-02-01 12:42:35 +0100Michal[m](~oomiguelm@2001:470:69fc:105::1:5ab0)
2022-02-01 12:42:49 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2022-02-01 12:42:49 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0)
2022-02-01 12:43:03 +0100finalti[m](~finaltima@2001:470:69fc:105::d909)
2022-02-01 12:43:16 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8)
2022-02-01 12:43:16 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e)
2022-02-01 12:43:30 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f)
2022-02-01 12:43:42 +0100craige[m](~craigemcw@2001:470:69fc:105::35f1)
2022-02-01 12:43:42 +0100schuelermine[m](~schuelerm@user/schuelermine)
2022-02-01 12:43:42 +0100sm(~sm@plaintextaccounting/sm)
2022-02-01 12:43:42 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93)
2022-02-01 12:43:55 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f)
2022-02-01 12:43:56 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4)
2022-02-01 12:43:56 +0100Deide(~deide@user/deide)
2022-02-01 12:44:11 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2022-02-01 12:44:12 +0100Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-02-01 12:44:12 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8)
2022-02-01 12:44:13 +0100psydroid(~psydroid@user/psydroid)
2022-02-01 12:44:25 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e)
2022-02-01 12:44:26 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018)
2022-02-01 12:44:53 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-02-01 12:45:02 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729)
2022-02-01 12:45:03 +0100siraben(~siraben@user/siraben)
2022-02-01 12:45:06 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036)
2022-02-01 12:45:06 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-02-01 12:45:30 +0100alex[m]123(~alexchete@2001:470:69fc:105::1:1001)
2022-02-01 12:45:39 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-02-01 12:45:41 +0100Tisoxin(~ikosit@user/ikosit)
2022-02-01 12:45:45 +0100carmysilna(~brightly-@2001:470:69fc:105::2190)
2022-02-01 12:45:48 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd)
2022-02-01 12:46:09 +0100aidy(~aidy@2001:470:69fc:105::c7b4)
2022-02-01 12:46:23 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886)
2022-02-01 12:46:24 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2022-02-01 12:46:31 +0100jmcantrell(~jmcantrel@user/jmcantrell)
2022-02-01 12:46:32 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2022-02-01 12:46:53 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57)
2022-02-01 12:47:38 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-01 12:47:41 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57) (Remote host closed the connection)
2022-02-01 12:47:42 +0100aidy(~aidy@2001:470:69fc:105::c7b4) (Remote host closed the connection)
2022-02-01 12:47:42 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036) (Remote host closed the connection)
2022-02-01 12:47:42 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f) (Remote host closed the connection)
2022-02-01 12:47:42 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b) (Remote host closed the connection)
2022-02-01 12:47:42 +0100ericson2314(~ericson23@2001:470:69fc:105::70c) (Remote host closed the connection)
2022-02-01 12:47:42 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018) (Remote host closed the connection)
2022-02-01 12:47:42 +0100alex[m]123(~alexchete@2001:470:69fc:105::1:1001) (Remote host closed the connection)
2022-02-01 12:47:42 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Remote host closed the connection)
2022-02-01 12:47:42 +0100bb010g(~bb010g@2001:470:69fc:105::9a5) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100carmysilna(~brightly-@2001:470:69fc:105::2190) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100Michal[m](~oomiguelm@2001:470:69fc:105::1:5ab0) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100peddie(~peddie@2001:470:69fc:105::25d) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729) (Write error: Connection reset by peer)
2022-02-01 12:47:42 +0100Artem[m](~artemtype@2001:470:69fc:105::75b) (Write error: Connection reset by peer)
2022-02-01 12:47:42 +0100oak-(~oakuniver@2001:470:69fc:105::fcd) (Write error: Connection reset by peer)
2022-02-01 12:47:42 +0100Deide(~deide@user/deide) (Remote host closed the connection)
2022-02-01 12:47:42 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100kadoban(~kadoban@user/kadoban) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e) (Remote host closed the connection)
2022-02-01 12:47:42 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100craige[m](~craigemcw@2001:470:69fc:105::35f1) (Remote host closed the connection)
2022-02-01 12:47:42 +0100Arathorn(~arathorn@2001:470:69fc:105::1f) (Remote host closed the connection)
2022-02-01 12:47:42 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100quantum(~quantum@user/quantum/x-8556232) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100jmcantrell(~jmcantrel@user/jmcantrell) (Write error: Connection reset by peer)
2022-02-01 12:47:42 +0100Tisoxin(~ikosit@user/ikosit) (Read error: Connection reset by peer)
2022-02-01 12:47:42 +0100soft(~soft@2001:470:69fc:105::c75) (Write error: Connection reset by peer)
2022-02-01 12:47:42 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f) (Remote host closed the connection)
2022-02-01 12:47:42 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e) (Remote host closed the connection)
2022-02-01 12:47:42 +0100moats(~oats@user/oats) (Remote host closed the connection)
2022-02-01 12:47:42 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda) (Remote host closed the connection)
2022-02-01 12:47:43 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Remote host closed the connection)
2022-02-01 12:47:43 +0100siraben(~siraben@user/siraben) (Write error: Connection reset by peer)
2022-02-01 12:47:43 +0100sm(~sm@plaintextaccounting/sm) (Read error: Connection reset by peer)
2022-02-01 12:47:43 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Remote host closed the connection)
2022-02-01 12:47:43 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8) (Remote host closed the connection)
2022-02-01 12:47:43 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Remote host closed the connection)
2022-02-01 12:47:43 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Remote host closed the connection)
2022-02-01 12:47:43 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8) (Remote host closed the connection)
2022-02-01 12:47:43 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9) (Remote host closed the connection)
2022-02-01 12:47:43 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Remote host closed the connection)
2022-02-01 12:47:43 +0100psydroid(~psydroid@user/psydroid) (Remote host closed the connection)
2022-02-01 12:47:43 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd) (Read error: Connection reset by peer)
2022-02-01 12:47:43 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539) (Read error: Connection reset by peer)
2022-02-01 12:47:43 +0100maralorn(~maralorn@2001:470:69fc:105::251) (Read error: Connection reset by peer)
2022-02-01 12:47:43 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284) (Read error: Connection reset by peer)
2022-02-01 12:47:43 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082) (Write error: Broken pipe)
2022-02-01 12:47:43 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4) (Write error: Connection reset by peer)
2022-02-01 12:47:43 +0100finalti[m](~finaltima@2001:470:69fc:105::d909) (Read error: Connection reset by peer)
2022-02-01 12:47:45 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93) (Remote host closed the connection)
2022-02-01 12:47:45 +0100schuelermine[m](~schuelerm@user/schuelermine) (Read error: Connection reset by peer)
2022-02-01 12:47:45 +0100unclechu(~unclechu@2001:470:69fc:105::354) (Read error: Connection reset by peer)
2022-02-01 12:47:45 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886) (Read error: Connection reset by peer)
2022-02-01 12:47:45 +0100fgaz(~fgaz@2001:470:69fc:105::842) (Read error: Connection reset by peer)
2022-02-01 12:47:45 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Read error: Connection reset by peer)
2022-02-01 12:47:48 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2022-02-01 12:48:06 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-01 12:51:49 +0100zincy(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67)
2022-02-01 12:52:11 +0100zincy(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection)
2022-02-01 12:52:12 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds)
2022-02-01 12:54:10 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net)
2022-02-01 12:55:21 +0100 <fendor> mestre, I think recent ghc version can report unused dependencies
2022-02-01 12:55:56 +0100jakalx(~jakalx@base.jakalx.net)
2022-02-01 12:56:16 +0100 <mestre> oh really? Gonna look for it, thanks!
2022-02-01 12:57:03 +0100 <Unhammer> hm, just realised, I've done 7 years of haskell at work and I have never made a typeclass (for work)
2022-02-01 12:59:56 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9)
2022-02-01 13:00:04 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-02-01 13:01:03 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-01 13:01:21 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 13:02:43 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9) (Remote host closed the connection)
2022-02-01 13:03:06 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 13:05:59 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
2022-02-01 13:05:59 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-02-01 13:06:11 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 245 seconds)
2022-02-01 13:07:19 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9)
2022-02-01 13:08:35 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-02-01 13:08:43 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net)
2022-02-01 13:10:27 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 13:16:42 +0100fgaz(~fgaz@2001:470:69fc:105::842)
2022-02-01 13:16:42 +0100peddie(~peddie@2001:470:69fc:105::25d)
2022-02-01 13:16:42 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284)
2022-02-01 13:16:42 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2022-02-01 13:16:42 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2022-02-01 13:16:42 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539)
2022-02-01 13:16:42 +0100ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-02-01 13:16:42 +0100kadoban(~kadoban@user/kadoban)
2022-02-01 13:16:42 +0100moats(~oats@user/oats)
2022-02-01 13:16:43 +0100Arathorn(~arathorn@2001:470:69fc:105::1f)
2022-02-01 13:16:43 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2022-02-01 13:16:43 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082)
2022-02-01 13:16:43 +0100unclechu(~unclechu@2001:470:69fc:105::354)
2022-02-01 13:16:43 +0100quantum(~quantum@user/quantum/x-8556232)
2022-02-01 13:16:43 +0100maralorn(~maralorn@2001:470:69fc:105::251)
2022-02-01 13:16:44 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2022-02-01 13:16:46 +0100finalti[m](~finaltima@2001:470:69fc:105::d909)
2022-02-01 13:16:46 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0)
2022-02-01 13:16:46 +0100sm(~sm@plaintextaccounting/sm)
2022-02-01 13:16:46 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e)
2022-02-01 13:16:46 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93)
2022-02-01 13:16:46 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4)
2022-02-01 13:16:46 +0100schuelermine[m](~schuelerm@user/schuelermine)
2022-02-01 13:16:46 +0100Deide(~deide@user/deide)
2022-02-01 13:16:46 +0100Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-02-01 13:16:46 +0100psydroid(~psydroid@user/psydroid)
2022-02-01 13:16:46 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018)
2022-02-01 13:16:46 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8)
2022-02-01 13:16:46 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729)
2022-02-01 13:16:46 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-02-01 13:16:46 +0100siraben(~siraben@user/siraben)
2022-02-01 13:16:46 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036)
2022-02-01 13:16:46 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-02-01 13:16:46 +0100alex[m]123(~alexchete@2001:470:69fc:105::1:1001)
2022-02-01 13:16:46 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd)
2022-02-01 13:16:46 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-02-01 13:16:46 +0100carmysilna(~brightly-@2001:470:69fc:105::2190)
2022-02-01 13:16:46 +0100aidy(~aidy@2001:470:69fc:105::c7b4)
2022-02-01 13:16:47 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886)
2022-02-01 13:16:47 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2022-02-01 13:16:47 +0100jmcantrell(~jmcantrel@user/jmcantrell)
2022-02-01 13:16:47 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2022-02-01 13:16:47 +0100Tisoxin(~ikosit@user/ikosit)
2022-02-01 13:16:47 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1)
2022-02-01 13:16:47 +0100jinsun_(~jinsun@user/jinsun)
2022-02-01 13:16:47 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11)
2022-02-01 13:16:47 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2)
2022-02-01 13:16:47 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9)
2022-02-01 13:16:47 +0100xbreu(~xbreu@2001:470:69fc:105::1:5061)
2022-02-01 13:16:47 +0100ormaaj(~ormaaj@user/ormaaj)
2022-02-01 13:16:47 +0100ac(~aloiscoch@2001:470:69fc:105::65)
2022-02-01 13:16:47 +0100bitonic(~bitonic@2001:470:69fc:105::1812)
2022-02-01 13:16:47 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2)
2022-02-01 13:16:47 +0100unrooted(~unrooted@2001:470:69fc:105::a4a)
2022-02-01 13:16:47 +0100Orbstheorem(~orbstheor@2001:470:69fc:105::a56)
2022-02-01 13:16:47 +0100Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac)
2022-02-01 13:16:47 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7)
2022-02-01 13:16:47 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569)
2022-02-01 13:16:48 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4)
2022-02-01 13:16:48 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07)
2022-02-01 13:16:48 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4)
2022-02-01 13:16:48 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5)
2022-02-01 13:16:48 +0100mmos[m](~mmosmatri@2001:470:69fc:105::1:8340)
2022-02-01 13:16:54 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2022-02-01 13:16:54 +0100soft(~soft@2001:470:69fc:105::c75)
2022-02-01 13:16:54 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f)
2022-02-01 13:16:55 +0100Michal[m](~oomiguelm@2001:470:69fc:105::1:5ab0)
2022-02-01 13:16:56 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda)
2022-02-01 13:16:56 +0100oak-(~oakuniver@2001:470:69fc:105::fcd)
2022-02-01 13:16:56 +0100bb010g(~bb010g@2001:470:69fc:105::9a5)
2022-02-01 13:16:58 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2022-02-01 13:16:59 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57)
2022-02-01 13:16:59 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f)
2022-02-01 13:16:59 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e)
2022-02-01 13:16:59 +0100afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b)
2022-02-01 13:16:59 +0100yehoshuapw(~yehoshuap@2001:470:69fc:105::a5f)
2022-02-01 13:16:59 +0100Nate[m](~m52957mat@2001:470:69fc:105::1:591a)
2022-02-01 13:16:59 +0100EkaiZend[m](~ekai-zend@2001:470:69fc:105::1:7756)
2022-02-01 13:16:59 +0100sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd)
2022-02-01 13:16:59 +0100kalxd[m](~kalxdmatr@2001:470:69fc:105::1:576e)
2022-02-01 13:16:59 +0100octeep[m](~octeepoct@2001:470:69fc:105::1:3dbf)
2022-02-01 13:16:59 +0100phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4)
2022-02-01 13:16:59 +0100Sixto[m](~provornyc@2001:470:69fc:105::1:74df)
2022-02-01 13:16:59 +0100tripa[m](~tripamatr@2001:470:69fc:105::1:4f7e)
2022-02-01 13:16:59 +0100eoiles[m](~eoilesmat@2001:470:69fc:105::1:6164)
2022-02-01 13:17:00 +0100james[m]12(~jamesnina@2001:470:69fc:105::1:4203)
2022-02-01 13:17:00 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8)
2022-02-01 13:17:00 +0100craige[m](~craigemcw@2001:470:69fc:105::35f1)
2022-02-01 13:17:00 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae)
2022-02-01 13:17:00 +0100throwaaaa[m](~throwaaaa@2001:470:69fc:105::1:6fe6)
2022-02-01 13:17:00 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7)
2022-02-01 13:17:00 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336)
2022-02-01 13:17:00 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f)
2022-02-01 13:17:01 +0100nomeata(~nomeata@2001:470:69fc:105::1:5ed4)
2022-02-01 13:17:01 +0100cherryblossom[m](~cherryblo@2001:470:69fc:105::b789)
2022-02-01 13:17:01 +0100benjamin[m]123(~benjaminm@2001:470:69fc:105::1:3f2f)
2022-02-01 13:17:01 +0100simmsb(~simmsb@2001:470:69fc:105::1:55c3)
2022-02-01 13:17:01 +0100codygman[m](~codygman@2001:470:69fc:105::b4ba)
2022-02-01 13:17:02 +0100jaror[m](~jaror@2001:470:69fc:105::265)
2022-02-01 13:18:16 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-01 13:20:37 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 13:21:52 +0100 <geekosaur> actually making your own typeclass is fairly unusual, yes
2022-02-01 13:24:29 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
2022-02-01 13:24:31 +0100catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
2022-02-01 13:24:46 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 268 seconds)
2022-02-01 13:25:03 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net)
2022-02-01 13:27:39 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-02-01 13:29:49 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 13:30:39 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082) (Quit: You% have% been% kicked% for% being% idle)
2022-02-01 13:30:39 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer)
2022-02-01 13:30:57 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-01 13:32:16 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-01 13:32:26 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-01 13:32:46 +0100ormaaj(~ormaaj@user/ormaaj) (Quit: Client limit exceeded: 20000)
2022-02-01 13:32:51 +0100siraben(~siraben@user/siraben) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:15 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:15 +0100kadoban(~kadoban@user/kadoban) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:18 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:19 +0100fgaz(~fgaz@2001:470:69fc:105::842) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:19 +0100peddie(~peddie@2001:470:69fc:105::25d) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:34 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:35 +0100moats(~oats@user/oats) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:36 +0100Arathorn(~arathorn@2001:470:69fc:105::1f) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:41 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:43 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:44 +0100sm(~sm@plaintextaccounting/sm) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:44 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e) (Quit: Client limit exceeded: 20000)
2022-02-01 13:33:45 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4) (Quit: Client limit exceeded: 20000)
2022-02-01 13:34:14 +0100Tisoxin(~ikosit@user/ikosit) (Quit: Client limit exceeded: 20000)
2022-02-01 13:34:17 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018) (Quit: Client limit exceeded: 20000)
2022-02-01 13:34:20 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Client limit exceeded: 20000)
2022-02-01 13:34:21 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Quit: Client limit exceeded: 20000)
2022-02-01 13:34:21 +0100unclechu(~unclechu@2001:470:69fc:105::354) (Quit: Client limit exceeded: 20000)
2022-02-01 13:34:25 +0100ericson2314(~ericson23@2001:470:69fc:105::70c) (Quit: Client limit exceeded: 20000)
2022-02-01 13:34:56 +0100unrooted(~unrooted@2001:470:69fc:105::a4a) (Quit: Client limit exceeded: 20000)
2022-02-01 13:35:24 +0100maralorn(~maralorn@2001:470:69fc:105::251) (Quit: Client limit exceeded: 20000)
2022-02-01 13:35:36 +0100carmysilna(~brightly-@2001:470:69fc:105::2190) (Quit: Client limit exceeded: 20000)
2022-02-01 13:35:36 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Client limit exceeded: 20000)
2022-02-01 13:35:48 +0100quantum(~quantum@user/quantum/x-8556232) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:03 +0100Deide(~deide@user/deide) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:17 +0100bitonic(~bitonic@2001:470:69fc:105::1812) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:23 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:31 +0100Artem[m](~artemtype@2001:470:69fc:105::75b) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:32 +0100schuelermine[m](~schuelerm@user/schuelermine) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:33 +0100jmcantrell(~jmcantrel@user/jmcantrell) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:34 +0100jinsun_(~jinsun@user/jinsun) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:36 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:41 +0100xbreu(~xbreu@2001:470:69fc:105::1:5061) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:44 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:45 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539) (Quit: Client limit exceeded: 20000)
2022-02-01 13:36:55 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5) (Quit: Client limit exceeded: 20000)
2022-02-01 13:37:09 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Client limit exceeded: 20000)
2022-02-01 13:37:29 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-01 13:39:17 +0100mestre(~mestre@191.177.181.194) (Quit: Lost terminal)
2022-02-01 13:39:18 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886) (Quit: Client limit exceeded: 20000)
2022-02-01 13:39:35 +0100Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac) (Quit: Client limit exceeded: 20000)
2022-02-01 13:39:36 +0100ac(~aloiscoch@2001:470:69fc:105::65) (Quit: Client limit exceeded: 20000)
2022-02-01 13:39:39 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4) (Quit: Client limit exceeded: 20000)
2022-02-01 13:39:40 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569) (Quit: Client limit exceeded: 20000)
2022-02-01 13:39:41 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Quit: Client limit exceeded: 20000)
2022-02-01 13:40:03 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036) (Quit: Client limit exceeded: 20000)
2022-02-01 13:40:15 +0100finalti[m](~finaltima@2001:470:69fc:105::d909) (Quit: Client limit exceeded: 20000)
2022-02-01 13:40:29 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd) (Quit: Client limit exceeded: 20000)
2022-02-01 13:40:30 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7) (Quit: Client limit exceeded: 20000)
2022-02-01 13:40:32 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9) (Quit: Client limit exceeded: 20000)
2022-02-01 13:40:32 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Quit: Client limit exceeded: 20000)
2022-02-01 13:40:51 +0100Orbstheorem(~orbstheor@2001:470:69fc:105::a56) (Quit: Client limit exceeded: 20000)
2022-02-01 13:41:45 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4) (Quit: Client limit exceeded: 20000)
2022-02-01 13:42:33 +0100 <maerwald> some people use it as a design pattern
2022-02-01 13:42:47 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9)
2022-02-01 13:42:47 +0100fgaz(~fgaz@2001:470:69fc:105::842)
2022-02-01 13:43:01 +0100peddie(~peddie@2001:470:69fc:105::25d)
2022-02-01 13:43:15 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284)
2022-02-01 13:43:30 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2022-02-01 13:43:47 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539)
2022-02-01 13:43:48 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2022-02-01 13:43:48 +0100kadoban(~kadoban@user/kadoban)
2022-02-01 13:43:48 +0100ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-02-01 13:43:48 +0100Arathorn(~arathorn@2001:470:69fc:105::1f)
2022-02-01 13:43:48 +0100Topik[m](~topikmatr@2001:470:69fc:105::a082)
2022-02-01 13:43:48 +0100moats(~oats@user/oats)
2022-02-01 13:43:48 +0100unclechu(~unclechu@2001:470:69fc:105::354)
2022-02-01 13:44:02 +0100maralorn(~maralorn@2001:470:69fc:105::251)
2022-02-01 13:44:02 +0100quantum(~quantum@user/quantum/x-8556232)
2022-02-01 13:44:17 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2022-02-01 13:44:33 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0)
2022-02-01 13:44:33 +0100finalti[m](~finaltima@2001:470:69fc:105::d909)
2022-02-01 13:44:49 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e)
2022-02-01 13:44:49 +0100schuelermine[m](~schuelerm@user/schuelermine)
2022-02-01 13:44:49 +0100sm(~sm@plaintextaccounting/sm)
2022-02-01 13:44:53 +0100alex[m]123(~alexchete@2001:470:69fc:105::1:1001) (Quit: Client limit exceeded: 20000)
2022-02-01 13:45:02 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93)
2022-02-01 13:45:02 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4)
2022-02-01 13:45:02 +0100Deide(~deide@user/deide)
2022-02-01 13:45:07 +0100Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-02-01 13:45:08 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8)
2022-02-01 13:45:20 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018)
2022-02-01 13:45:20 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729)
2022-02-01 13:45:20 +0100siraben(~siraben@user/siraben)
2022-02-01 13:45:21 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-02-01 13:45:21 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036)
2022-02-01 13:45:34 +0100alex[m]12(~alexchete@2001:470:69fc:105::1:1001)
2022-02-01 13:45:34 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-02-01 13:45:35 +0100Tisoxin(~ikosit@user/ikosit)
2022-02-01 13:45:35 +0100carmysilna(~brightly-@2001:470:69fc:105::2190)
2022-02-01 13:45:35 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd)
2022-02-01 13:45:35 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886)
2022-02-01 13:45:35 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2022-02-01 13:45:35 +0100jmcantrell(~jmcantrel@user/jmcantrell)
2022-02-01 13:45:35 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2022-02-01 13:45:36 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1)
2022-02-01 13:45:36 +0100jinsun_(~jinsun@user/jinsun)
2022-02-01 13:45:36 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9)
2022-02-01 13:45:50 +0100xbreu(~xbreu@2001:470:69fc:105::1:5061)
2022-02-01 13:45:50 +0100ormaaj(~ormaaj@user/ormaaj)
2022-02-01 13:45:50 +0100ac(~aloiscoch@2001:470:69fc:105::65)
2022-02-01 13:45:50 +0100bitonic(~bitonic@2001:470:69fc:105::1812)
2022-02-01 13:46:02 +0100unrooted(~unrooted@2001:470:69fc:105::a4a)
2022-02-01 13:46:16 +0100Orbstheorem(~orbstheor@2001:470:69fc:105::a56)
2022-02-01 13:46:28 +0100Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac)
2022-02-01 13:46:40 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7)
2022-02-01 13:46:42 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569)
2022-02-01 13:46:55 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4)
2022-02-01 13:47:09 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4)
2022-02-01 13:47:09 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5)
2022-02-01 13:47:16 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2) (Quit: Client limit exceeded: 20000)
2022-02-01 13:47:18 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Quit: Client limit exceeded: 20000)
2022-02-01 13:47:18 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11) (Quit: Client limit exceeded: 20000)
2022-02-01 13:47:18 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Client limit exceeded: 20000)
2022-02-01 13:47:18 +0100aidy(~aidy@2001:470:69fc:105::c7b4) (Quit: Client limit exceeded: 20000)
2022-02-01 13:47:18 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07) (Quit: Client limit exceeded: 20000)
2022-02-01 13:47:32 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2) (Quit: Client limit exceeded: 20000)
2022-02-01 13:49:47 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-01 13:53:06 +0100rusrushal13(~rusrushal@2409:4056:e82:6bda:bd0e:9743:fccb:b2a0) (Quit: Client closed)
2022-02-01 13:55:49 +0100Pickchea(~private@user/pickchea)
2022-02-01 13:57:51 +0100 <qrpnxz> is cabal parallel at all?
2022-02-01 13:58:03 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2022-02-01 13:58:15 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-02-01 13:58:29 +0100aidy(~aidy@2001:470:69fc:105::c7b4)
2022-02-01 13:58:31 +0100 <tomsmeding> qrpnxz: it builds multiple packages in parallel
2022-02-01 13:58:33 +0100doyougnu(~doyougnu@cpe-67-241-69-171.twcny.res.rr.com)
2022-02-01 13:58:42 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11)
2022-02-01 13:58:54 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2)
2022-02-01 13:59:08 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2)
2022-02-01 13:59:21 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07)
2022-02-01 13:59:43 +0100 <qrpnxz> hm, alright thanks
2022-02-01 13:59:49 +0100 <tomsmeding> within one package the inter-module caching that ghc does is usually more effective than parallelism would be
2022-02-01 14:03:04 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-02-01 14:04:51 +0100max22-(~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2022-02-01 14:05:11 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds)
2022-02-01 14:07:08 +0100striven(~striven@user/striven)
2022-02-01 14:09:00 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 14:09:19 +0100andreabedini(~andreabed@8s8kj6nkjylj6ljnv6zz.ip6.superloop.com)
2022-02-01 14:11:05 +0100fendor_(~fendor@91.141.70.82.wireless.dyn.drei.com)
2022-02-01 14:11:32 +0100striven(~striven@user/striven) (Ping timeout: 256 seconds)
2022-02-01 14:12:18 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-02-01 14:12:53 +0100APic(apic@apic.name) (Ping timeout: 252 seconds)
2022-02-01 14:13:43 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-01 14:13:44 +0100Guest52(~Guest52@89.205.135.101)
2022-02-01 14:14:06 +0100fendor(~fendor@77.119.206.49.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2022-02-01 14:14:24 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-01 14:15:17 +0100andreabedini(~andreabed@8s8kj6nkjylj6ljnv6zz.ip6.superloop.com) (Quit: WeeChat 3.3)
2022-02-01 14:15:25 +0100kaph(~kaph@151.37.72.8)
2022-02-01 14:16:06 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-01 14:16:43 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 14:16:59 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-01 14:17:57 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-02-01 14:20:35 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Remote host closed the connection)
2022-02-01 14:20:52 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
2022-02-01 14:21:48 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-02-01 14:22:59 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-01 14:24:27 +0100cfricke(~cfricke@user/cfricke)
2022-02-01 14:31:25 +0100kaph_(~kaph@151.35.35.178)
2022-02-01 14:31:34 +0100son0p(~ff@2800:484:1d81:b700:d40b:900:b387:320) (Remote host closed the connection)
2022-02-01 14:31:39 +0100kaph(~kaph@151.37.72.8) (Read error: Connection reset by peer)
2022-02-01 14:33:50 +0100vysn(~vysn@user/vysn) (Ping timeout: 268 seconds)
2022-02-01 14:34:12 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-02-01 14:36:41 +0100 <maerwald> qrpnxz: unfortunately yes
2022-02-01 14:36:50 +0100 <maerwald> it should be -j1 by default
2022-02-01 14:37:19 +0100 <qrpnxz> funny, i was installing some gtk libs and it was working really hard on what thread one at a time it looked like. Annoying wait
2022-02-01 14:38:33 +0100 <maerwald> if you catch the wrong libs at the same time, it can just OOM your 16GB ram machine
2022-02-01 14:38:37 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 14:38:44 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-02-01 14:39:02 +0100 <maerwald> because number of jobs = number of cpus is nonsense in GHC
2022-02-01 14:39:10 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-02-01 14:39:33 +0100arjun(~arjun@103.57.87.139) (Quit: Leaving)
2022-02-01 14:39:49 +0100kaph_(~kaph@151.35.35.178) (Remote host closed the connection)
2022-02-01 14:40:05 +0100kaph(~kaph@151.35.35.178)
2022-02-01 14:40:13 +0100quintasan(~quassel@quintasan.pl) (Ping timeout: 256 seconds)
2022-02-01 14:43:40 +0100nehsou^(~nehsou@128-092-164-034.biz.spectrum.com)
2022-02-01 14:44:24 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2022-02-01 14:46:02 +0100kaph(~kaph@151.35.35.178) (Read error: Connection reset by peer)
2022-02-01 14:48:09 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-01 14:48:17 +0100cosimone`(~user@93-47-231-100.ip115.fastwebnet.it) (Ping timeout: 240 seconds)
2022-02-01 14:49:17 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-01 14:49:59 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 14:55:45 +0100slack1256(~slack1256@191.125.99.75)
2022-02-01 14:55:46 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 245 seconds)
2022-02-01 14:56:44 +0100whound(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
2022-02-01 14:57:37 +0100tiferrei(~tiferrei@user/tiferrei)
2022-02-01 14:59:01 +0100arjun(~arjun@user/arjun)
2022-02-01 14:59:32 +0100fendor_fendor
2022-02-01 15:00:53 +0100{-d0t-}(~q_q@user/-d0t-/x-7915216)
2022-02-01 15:01:09 +0100 <{-d0t-}> ohai! What is the best tool to remove redundant imports in my project?
2022-02-01 15:02:22 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-02-01 15:03:05 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 15:04:08 +0100 <fendor> {-d0t-}, probably ghc? You can run ghc with `-ddump-minimal-imports` and it should remove all redundant imports
2022-02-01 15:04:16 +0100 <fendor> HLS has a code-action for it, too
2022-02-01 15:04:21 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 15:04:24 +0100 <{-d0t-}> fendor: is it possible to do this in place?
2022-02-01 15:04:32 +0100 <{-d0t-}> I really want a bulk option for the entire project.
2022-02-01 15:05:56 +0100 <tiferrei> hi folks, does anyone know what's the state of stack on apple M1? GHC itself seems fine, but when stack gets involved I get all sorts of platform errors
2022-02-01 15:07:33 +0100 <fendor> {-d0t-}, uff, I am not sure... I don't think GHC does that at the moment... Maybe you can monkey-patch a small script?
2022-02-01 15:07:58 +0100 <{-d0t-}> fendor: I thought about this. There is also importify from Serokell, but it doesn't build with the later GHC versions :(
2022-02-01 15:07:59 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-01 15:08:50 +0100 <fendor> you could probably extract such a tool from HLS...
2022-02-01 15:09:07 +0100 <fendor> anyway, I am not aware of any tool that can do that at the moment
2022-02-01 15:09:26 +0100 <{-d0t-}> thanks anyway (:
2022-02-01 15:10:36 +0100xff0x(~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96) (Ping timeout: 250 seconds)
2022-02-01 15:11:53 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-01 15:12:57 +0100shriekingnoise(~shrieking@201.231.16.156)
2022-02-01 15:14:20 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 15:17:23 +0100zallocate(~zallocate@pool-72-83-246-129.washdc.east.verizon.net)
2022-02-01 15:17:37 +0100zallocate(~zallocate@pool-72-83-246-129.washdc.east.verizon.net) (Quit: Client closed)
2022-02-01 15:19:37 +0100mikoto-chan(~mikoto-ch@84.199.144.235) (Ping timeout: 240 seconds)
2022-02-01 15:20:42 +0100alp(~alp@user/alp) (Ping timeout: 268 seconds)
2022-02-01 15:22:56 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-01 15:23:29 +0100max22-(~maxime@2a01cb0883359800f6095299facac4b2.ipv6.abo.wanadoo.fr)
2022-02-01 15:24:28 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-01 15:24:28 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-01 15:24:28 +0100wroathe(~wroathe@user/wroathe)
2022-02-01 15:24:48 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 15:25:01 +0100deadmarshal(~deadmarsh@95.38.231.118) (Ping timeout: 268 seconds)
2022-02-01 15:26:12 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-01 15:27:42 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 15:28:17 +0100alp(~alp@user/alp)
2022-02-01 15:29:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-02-01 15:29:58 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-02-01 15:30:29 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-01 15:30:32 +0100enikar(~enikar@user/enikar) (Quit: WeeChat 3.0)
2022-02-01 15:32:05 +0100haskellberryfinn(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-02-01 15:32:07 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-01 15:32:22 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 15:33:10 +0100xff0x(~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96)
2022-02-01 15:36:35 +0100futty14(~futty14@c90-143-137-255.bredband.tele2.se)
2022-02-01 15:38:59 +0100whatif(~user@123.180.40.237) (Quit: ERC (IRC client for Emacs 26.3))
2022-02-01 15:39:47 +0100akegalj(~akegalj@185.230.83.17) (Quit: leaving)
2022-02-01 15:41:11 +0100cigsender(~cigsender@74.124.58.162)
2022-02-01 15:43:08 +0100arjun(~arjun@user/arjun) (Quit: Leaving)
2022-02-01 15:44:41 +0100Guest52(~Guest52@89.205.135.101) (Quit: Connection closed)
2022-02-01 15:45:32 +0100stef204(~stef204@user/stef204)
2022-02-01 15:47:35 +0100Guest58(~Guest58@119-18-0-232.771200.syd.nbn.aussiebb.net)
2022-02-01 15:50:39 +0100whound(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Ping timeout: 250 seconds)
2022-02-01 15:53:47 +0100sajith_sajith
2022-02-01 15:57:34 +0100APic(~apic@apic.name)
2022-02-01 16:03:27 +0100slac16914(~slack1256@186.11.80.172)
2022-02-01 16:03:57 +0100arr(~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
2022-02-01 16:04:05 +0100 <arr> why is Data.Map so large?
2022-02-01 16:04:28 +0100 <arr> i saved it using its Binary instance, and its about 100x larger than the raw data
2022-02-01 16:05:04 +0100 <merijn> arr: That sounds like the question is really "why is the Binary instance for Data.Map so large"
2022-02-01 16:05:15 +0100 <merijn> tbh, I would rarely trust Binary instances
2022-02-01 16:05:31 +0100 <merijn> Typeclass based (de)serialisation is a mistake
2022-02-01 16:06:00 +0100slack1256(~slack1256@191.125.99.75) (Ping timeout: 256 seconds)
2022-02-01 16:06:01 +0100 <c_wraith> nothing looks wrong with the instance for Map
2022-02-01 16:06:10 +0100Guest58(~Guest58@119-18-0-232.771200.syd.nbn.aussiebb.net) (Quit: Client closed)
2022-02-01 16:06:10 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-02-01 16:06:22 +0100 <int-e> how do you measure the size of the raw data?
2022-02-01 16:07:19 +0100 <c_wraith> but it puts all the work on the instances for the key and value types
2022-02-01 16:07:56 +0100 <int-e> serialization as binary does it will lose sharing, so it's possible for serialized data to be muc bigger than the in memory structure.
2022-02-01 16:08:25 +0100 <arr> the raw data is an image
2022-02-01 16:08:39 +0100 <arr> actually i think its larger because i converted from Int8 to Double
2022-02-01 16:08:44 +0100 <int-e> shouldn't you store that in an array then?
2022-02-01 16:08:46 +0100 <arr> probably thats about 100x
2022-02-01 16:09:04 +0100 <arr> erp, yes i meant Data.Array
2022-02-01 16:09:39 +0100 <arr> i thought maybe it was storing some kind of program that could convert from the (Int,Int) indicies to the memory addresses
2022-02-01 16:09:55 +0100 <arr> and that each time you added another index it would inflate the size of this program somehow
2022-02-01 16:09:57 +0100rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-01 16:10:08 +0100 <arr> which i guess is a good, but completely wrong idea
2022-02-01 16:10:37 +0100 <c_wraith> err. I'm lost. How does one get confused whether they're using Map or Array?
2022-02-01 16:10:38 +0100d0ku(~d0ku@178.43.19.180.ipv4.supernova.orange.pl)
2022-02-01 16:10:38 +0100 <int-e> Int8 to double is a factor of 8... oh but the Binary instance for Double is awful
2022-02-01 16:10:53 +0100 <arr> probably just that then
2022-02-01 16:10:55 +0100rembo10(~rembo10@remulis.com)
2022-02-01 16:11:13 +0100 <arr> c_wraith: idk, which is better?
2022-02-01 16:11:22 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 16:11:22 +0100whound(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
2022-02-01 16:11:50 +0100 <c_wraith> which is better, green or blue?
2022-02-01 16:12:02 +0100 <arr> well, in terms of storage size, or lookup speed
2022-02-01 16:12:08 +0100 <merijn> c_wraith: WoW has taught me the answer is blue :p
2022-02-01 16:12:33 +0100 <merijn> int-e: what's the Binary instance for Double then?
2022-02-01 16:12:46 +0100 <arr> depends if its some cryptic way of refering to whats on your weed. if its green then its pure, if its blue, thats probably a bad sign
2022-02-01 16:12:52 +0100 <int-e> merijn: It's built around decodeFloat
2022-02-01 16:12:59 +0100 <int-e> > decodeFloat 42.0
2022-02-01 16:13:01 +0100 <lambdabot> (5910974510923776,-47)
2022-02-01 16:13:58 +0100 <int-e> So now you have an Integer and an Int to encode. So that's... 1 byte tag, 1 byte sign, ~8 bytes mantissa, and 8 bytes for the exponent?
2022-02-01 16:14:00 +0100 <arr> i couldnt figure out how you would create a program that would return storage addresses
2022-02-01 16:14:18 +0100int-eshould try out the actual instance
2022-02-01 16:14:19 +0100 <arr> let alone how it could be smaller if it had to encode fewer addresses
2022-02-01 16:15:25 +0100haskellberryfinn(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-02-01 16:16:39 +0100 <int-e> It comes out as 25 bytes for 42.0, so I'm missing some overhead.
2022-02-01 16:18:27 +0100wavemode(~wavemode@c-98-223-145-19.hsd1.il.comcast.net) (Quit: Client closed)
2022-02-01 16:19:08 +0100futty14(~futty14@c90-143-137-255.bredband.tele2.se) (Quit: Client closed)
2022-02-01 16:19:30 +0100 <arr> no ideas?
2022-02-01 16:19:48 +0100 <int-e> Ah I'm missing the 8 bytes length field for the Integer's data. And the ~8 bytes turn out to be 7 in this case.
2022-02-01 16:19:55 +0100 <arr> i mean, im not even sure how Map or Array stores the lookup
2022-02-01 16:20:10 +0100 <merijn> arr: Map is a binary tree
2022-02-01 16:20:11 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Remote host closed the connection)
2022-02-01 16:20:19 +0100 <merijn> arr: Array is, well, an array
2022-02-01 16:20:20 +0100 <int-e> Anyway, there's another factor of ~3; 25x in total
2022-02-01 16:20:23 +0100wavemode(~wavemode@c-98-223-145-19.hsd1.il.comcast.net)
2022-02-01 16:20:29 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 16:20:37 +0100 <int-e> (compared to storing Int8 as bytes)
2022-02-01 16:21:07 +0100 <merijn> I reiterate my previous point of "typeclass based (de)serialisation is a massive mistake and you should never use it" :)
2022-02-01 16:21:29 +0100deadmarshal(~deadmarsh@95.38.231.118)
2022-02-01 16:21:45 +0100 <arr> well, its x200 larger to store the decoded png with tripples of Double instead of Int8 pixels
2022-02-01 16:21:53 +0100 <arr> in an Array
2022-02-01 16:22:07 +0100 <arr> so there must be some crazyness with the lookups
2022-02-01 16:22:12 +0100 <arr> the indicies or something
2022-02-01 16:22:35 +0100 <merijn> arr: You mean when serialised, yeah?
2022-02-01 16:22:39 +0100 <int-e> Here's pi :: Double: [{- mantissa as Integer, 4 fields -} {- tag -} 1, {- sign -} 1, {- length -} 0,0,0,0,0,0,0,7, {- data -} 24,45,68,84,251,33,25, {- exponent as 64 bit integer -} 255,255,255,255,255,255,255,205]
2022-02-01 16:22:40 +0100 <arr> yes
2022-02-01 16:22:50 +0100 <arr> using its binary instance
2022-02-01 16:22:57 +0100 <merijn> arr: Binary has it's own serialisation protocol why inserts meta data and what not
2022-02-01 16:23:05 +0100 <arr> its huge though
2022-02-01 16:23:07 +0100 <arr> v slow
2022-02-01 16:23:18 +0100 <merijn> If you want actual control over serialisation, I would just roll my own, tbh
2022-02-01 16:23:21 +0100 <int-e> merijn: I'm not sure the type class approach is to be blamed for this poor choice for serialization floating point numbers :P
2022-02-01 16:23:27 +0100 <arr> wondering if i should just use the read show instance...
2022-02-01 16:23:37 +0100 <merijn> int-e: The poor float encoding is a separate bad issue, sure
2022-02-01 16:23:51 +0100oats_oats
2022-02-01 16:24:02 +0100 <arr> anyway never mind the int vs double encoding
2022-02-01 16:24:05 +0100 <arr> its about the grid
2022-02-01 16:24:11 +0100 <arr> and the memory addresses
2022-02-01 16:24:12 +0100 <merijn> int-e: But pointing out someone is using bad technique for amputating their arm should, probably, take a backseat to the advice to "maybe not amputate your arm" :)
2022-02-01 16:24:15 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-01 16:24:34 +0100 <arr> easier said than done...
2022-02-01 16:24:38 +0100 <int-e> merijn: Well I don't share your absolute dismissal of the typeclass based serialization.
2022-02-01 16:25:06 +0100 <int-e> Yes, you give up control for convenience. And you can take it back whenever you want.
2022-02-01 16:25:12 +0100 <merijn> arr: Which memory addresses?
2022-02-01 16:25:29 +0100 <merijn> int-e: Except that Binary uses it's own protocol which is *not* stable across binary and GHC versions
2022-02-01 16:25:51 +0100 <merijn> int-e: So if you plan to serialise stuff that you need to read in, in the future with a different binary/ghc version, you are hosed
2022-02-01 16:26:02 +0100 <int-e> I can find many issues with binary, yes.
2022-02-01 16:26:24 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Quit: No Ping reply in 180 seconds.)
2022-02-01 16:26:50 +0100 <int-e> But again, the issues aren't due to the type class approach.
2022-02-01 16:27:39 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-02-01 16:29:40 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Remote host closed the connection)
2022-02-01 16:29:59 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
2022-02-01 16:32:06 +0100 <int-e> https://hackage.haskell.org/package/cereal-0.5.8.2/docs/Data-Serialize-IEEE754.html looks like a saner foundation for platforms that natively use IEEE-754.
2022-02-01 16:33:27 +0100 <int-e> There's an entirely different can of worms connected to deriving serialization class instances automatically. I suppose you could blame the type class approach for enabling that kind of thing.
2022-02-01 16:33:45 +0100Sgeo(~Sgeo@user/sgeo)
2022-02-01 16:34:42 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Ping timeout: 256 seconds)
2022-02-01 16:34:57 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:5ffd:7ea2:ced5:7680) (Quit: WeeChat 2.8)
2022-02-01 16:35:45 +0100Jing(~hedgehog@240e:390:7c53:a7e1:4458:b22e:b9a7:2cea) (Quit: Textual IRC Client: www.textualapp.com)
2022-02-01 16:37:07 +0100 <merijn> Just using explicit Get/Put is much more elegant, tbh
2022-02-01 16:37:25 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
2022-02-01 16:37:42 +0100kli(~kli@ip-89-177-122-45.net.upcbroadband.cz)
2022-02-01 16:37:44 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Ping timeout: 256 seconds)
2022-02-01 16:38:07 +0100arr(~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Ping timeout (120 seconds))
2022-02-01 16:40:21 +0100alp(~alp@user/alp) (Ping timeout: 245 seconds)
2022-02-01 16:42:41 +0100arr(~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
2022-02-01 16:42:57 +0100 <arr> merijn: wherever its stored in ram or ssd
2022-02-01 16:43:09 +0100 <arr> like, how its looked up
2022-02-01 16:47:22 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-02-01 16:47:39 +0100jlamothe(~jlamothe@198.251.61.229) (Quit: leaving)
2022-02-01 16:47:54 +0100 <merijn> arr: Array is just an array as you're used to in C/Java/languages like that. Only difference is that there's an extra indirection if you're not using unboxed arrays
2022-02-01 16:48:33 +0100 <merijn> arr: You can make your own (efficient) serialisation fairly easily using binary, though
2022-02-01 16:50:16 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2022-02-01 16:50:28 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-02-01 16:54:11 +0100jlamothe(~jlamothe@198.251.61.229)
2022-02-01 16:54:31 +0100d0ku(~d0ku@178.43.19.180.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds)
2022-02-01 16:54:31 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 16:55:49 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-02-01 16:58:04 +0100whound(~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Quit: Konversation terminated!)
2022-02-01 16:59:07 +0100Akiva(~Akiva@user/Akiva)
2022-02-01 17:00:11 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-02-01 17:00:25 +0100nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-02-01 17:00:47 +0100fef(~thedawn@user/thedawn)
2022-02-01 17:01:17 +0100nunggu(~q@user/nunggu)
2022-02-01 17:03:08 +0100slack1256(~slack1256@191.125.99.75)
2022-02-01 17:03:37 +0100remedan(~remedan@octo.cafe) (Ping timeout: 240 seconds)
2022-02-01 17:04:40 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 17:05:17 +0100slac16914(~slack1256@186.11.80.172) (Ping timeout: 256 seconds)
2022-02-01 17:06:53 +0100remedan(~remedan@octo.cafe)
2022-02-01 17:07:19 +0100 <arr> thats not really saying much. i have no idea how C does anything
2022-02-01 17:07:52 +0100 <arr> i thought the idea of an effecient serialization was to do with the encoding of memory addresses
2022-02-01 17:08:19 +0100 <arr> thats why i thought it could be making a program to cast from the (Int,Int) Array lookups to memory addresses
2022-02-01 17:08:59 +0100alp(~alp@user/alp)
2022-02-01 17:09:28 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-01 17:09:30 +0100doxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-01 17:10:19 +0100 <arr> but i have no clue how that would work
2022-02-01 17:10:46 +0100 <arr> like, if you took the hash of the (Int,Int) serielzation, you would still need to store a bunch of associations
2022-02-01 17:11:15 +0100 <arr> so then is it in some kind of partition tree lookup where it can go charwise through the hash "word"
2022-02-01 17:12:01 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 245 seconds)
2022-02-01 17:13:37 +0100 <merijn> I think you need to rollback a whole lot and explain what you actually wanna do
2022-02-01 17:14:01 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-02-01 17:17:54 +0100 <arr> understand how Array works, and use it as a model for an implementation of a "program" based encoding
2022-02-01 17:18:32 +0100 <arr> i give it (Int,Int), it does something, and it finds the value
2022-02-01 17:18:50 +0100 <arr> im assuming it does something like calculating a C stle memory address
2022-02-01 17:19:04 +0100 <arr> that is, that some kind of bytecode is generated to access over the SSD or RAM
2022-02-01 17:19:26 +0100 <arr> like a bunch of logic gate flips to get to where the data is stored on the chip
2022-02-01 17:19:48 +0100 <c_wraith> but... why? what are you doing?
2022-02-01 17:19:49 +0100 <arr> (this is how i understand what a "memory address" is)
2022-02-01 17:19:58 +0100 <arr> c_wraith: why do you ask?
2022-02-01 17:20:19 +0100 <arr> i mean, i dont actually want to know, im just wondering why not just answer the question
2022-02-01 17:20:21 +0100 <c_wraith> because you're describing your expected solution space
2022-02-01 17:20:33 +0100 <arr> and thats bad?
2022-02-01 17:20:38 +0100 <c_wraith> And it's much more useful to describe your problem space and ask what good solutions are
2022-02-01 17:20:57 +0100 <c_wraith> because good solutions might not intersect with your expected solution space at all
2022-02-01 17:21:03 +0100 <arr> the problem is effecient encoding of a 2d array
2022-02-01 17:21:16 +0100 <c_wraith> for what purpose?
2022-02-01 17:21:21 +0100 <arr> i understand this to be the specification of a program that calculates memory addresses
2022-02-01 17:21:27 +0100 <c_wraith> there isn't one efficient encoding
2022-02-01 17:21:29 +0100 <arr> what do you mean for what purpose!?!?
2022-02-01 17:21:41 +0100 <arr> its lie the most generally useful thing there is!
2022-02-01 17:21:48 +0100slac82791(~slack1256@186.11.80.172)
2022-02-01 17:21:56 +0100 <c_wraith> efficient encoding of large sparse matrix is entirely different from efficient encoding of a photograph, yet both are large 2d arrays conceptually
2022-02-01 17:21:57 +0100 <arr> oh ok, you mean that it might be usecase specific
2022-02-01 17:22:13 +0100 <arr> well, the usecase could be considered to be a covnet
2022-02-01 17:22:23 +0100 <arr> or a fluid simulation, both are similar
2022-02-01 17:22:34 +0100 <arr> in that they use convolutions
2022-02-01 17:23:07 +0100 <arr> c_wraith: the important point is that we can expect every piece of data to be accessed exactly once all at the same time
2022-02-01 17:23:17 +0100 <arr> eg, viewing an image
2022-02-01 17:23:25 +0100 <arr> no sparse access
2022-02-01 17:23:41 +0100slack1256(~slack1256@191.125.99.75) (Ping timeout: 245 seconds)
2022-02-01 17:24:12 +0100 <arr> actually, we expect that for the convolutions, that every piece of data will be accessed several times, evenly
2022-02-01 17:24:31 +0100 <arr> i think repa uses something like zip with tail but in a 2d setting
2022-02-01 17:24:50 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 17:24:52 +0100 <arr> but really it should be nd, and for arbitrary stencils, that might not be shaped in a square
2022-02-01 17:25:09 +0100 <arr> like, this zip with tail in many dimensions idea should not be considered
2022-02-01 17:25:23 +0100 <arr> and instead an API should be provided for "navigation"
2022-02-01 17:25:45 +0100 <arr> where then you argue that nd-zippers are slow compared to just using an Array
2022-02-01 17:25:49 +0100 <arr> ...
2022-02-01 17:26:08 +0100 <c_wraith> zippers are almost completely useless for 2-dimensional data
2022-02-01 17:26:26 +0100 <c_wraith> they don't really work when paths aren't unique
2022-02-01 17:27:39 +0100sus(zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2022-02-01 17:27:41 +0100 <c_wraith> anyway, if you want to be efficient reading dense data fitting within rectangular bounds, a single chunk of memory is ideal
2022-02-01 17:28:11 +0100sus(zero@user/zeromomentum)
2022-02-01 17:28:26 +0100 <c_wraith> Though if you want to be doing stencil convolutions, you don't really want a row-major representation. You want something with better data locality
2022-02-01 17:29:39 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-01 17:31:36 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2022-02-01 17:33:50 +0100 <arr> some kind of partition tree?
2022-02-01 17:33:56 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-01 17:34:12 +0100 <merijn> Depends on how you intend to parallelise/SIMD
2022-02-01 17:34:13 +0100 <arr> i dont get how that works though, dont we just use the (Int,Int) to give some memory address?
2022-02-01 17:34:23 +0100 <arr> what does it matter how thats laid out in memory?
2022-02-01 17:34:48 +0100 <c_wraith> memory access isn't constant-time in the real world
2022-02-01 17:35:04 +0100 <arr> merijn: sure, if there was a different hardware available, but for now we can assume its all on one stick of ram or one harddrive
2022-02-01 17:35:13 +0100 <c_wraith> and no, not a partition tree. No pointers at all
2022-02-01 17:35:25 +0100 <c_wraith> just one block of memory
2022-02-01 17:35:34 +0100 <arr> c_wraith: just some kind of, less logic gate flips to get there or something? idk what you mean
2022-02-01 17:35:45 +0100 <merijn> Arrays are the universal HPC data structure
2022-02-01 17:35:46 +0100 <arr> how does row major play into this!?
2022-02-01 17:35:52 +0100 <merijn> arr: Because your CPU has caches
2022-02-01 17:36:02 +0100 <merijn> And those caches assume certain access patterns
2022-02-01 17:36:08 +0100 <arr> oh
2022-02-01 17:36:15 +0100 <arr> how does that work, this sounds important
2022-02-01 17:36:15 +0100 <merijn> And violating those can slow accesses down by orders of magnitude
2022-02-01 17:36:23 +0100 <arr> hmmmm
2022-02-01 17:36:39 +0100 <arr> so say i want the nearest neighbours, for a gradient calculation
2022-02-01 17:36:41 +0100 <arr> in 2d
2022-02-01 17:36:43 +0100 <arr> on nd
2022-02-01 17:36:46 +0100 <arr> or*
2022-02-01 17:37:11 +0100 <merijn> arr: tbh, it sounds like you're a bit out of your depth :) I wish I had a good resource for the basics on high performance code/optimisation, but I learned most of what I know the hard way :\
2022-02-01 17:37:13 +0100 <arr> then your saying if it doesnt all fit on the cpu, that something could be improved
2022-02-01 17:37:34 +0100 <arr> merijn: no need to be disparaging
2022-02-01 17:38:14 +0100 <arr> its likely i can understand the issues you describe adequately
2022-02-01 17:38:16 +0100 <merijn> arr: I didn't mean that disparaging, just an observation. Some relevant things to look into are cache hierarchies, memory access patterns, false sharing
2022-02-01 17:38:57 +0100 <merijn> arr: I just meant that your questions require a bit of diving into modern CPU architectures to really answer/make sensible trade-offs
2022-02-01 17:38:58 +0100 <arr> ok, so issue is with cache hierarchies?
2022-02-01 17:39:46 +0100 <arr> i dont see how the flippy gates on the ram, get data into the cpu's local memory, and then, how are you supposed to have an effecient datatype for convolutions?
2022-02-01 17:40:44 +0100 <arr> like, at what point are you saying that an (Int,Int) -> memory address, is going to be suboptimal
2022-02-01 17:40:51 +0100 <arr> i cant see how it could be improved over
2022-02-01 17:41:09 +0100 <arr> i guess your suggesting you would want to no reaccess data that could be stored
2022-02-01 17:41:13 +0100 <merijn> arr: There's 3 layers of cache in modern CPUs. So when you access "one byte" in reality what happens is that your caches will read entire cache lines (64 bytes or more) at once (since memory buses can transfer a lot of data at once)
2022-02-01 17:41:28 +0100 <arr> but in the high dimensional limit, this is pointless
2022-02-01 17:41:46 +0100 <merijn> arr: This means that sequential access of memory only hits main memory once every 64 bytes (or 128 or whatever your cache line size is)
2022-02-01 17:41:57 +0100 <arr> i guess we never get there though, so there would always be saving from storing instead of reaccessing
2022-02-01 17:41:59 +0100 <merijn> arr: So you want to layout your data such that you end up doing mostly sequential accesses
2022-02-01 17:43:16 +0100son0p(~ff@181.136.122.143)
2022-02-01 17:44:11 +0100 <arr> so im going to be going to each piece of data in the nd-array, and updating it according to its surrounding neigbours
2022-02-01 17:44:28 +0100 <arr> depending on what order of gradient the pde uses, or how wide the convolutions are in the covnet
2022-02-01 17:44:51 +0100 <arr> im going to need to navigate further away from the datapoint being updated to get the data needed for the update
2022-02-01 17:45:22 +0100 <arr> fortunately this does not change (the stencil width) during the computation
2022-02-01 17:45:38 +0100 <arr> so i can arrainge the bytes of the data however is best according to the stencil width
2022-02-01 17:46:22 +0100 <merijn> tbh, you probably don't wanna go for in-place update but have an input array and output array and compute output cells from the immutable input array
2022-02-01 17:46:34 +0100 <merijn> That'd allow you to vectorise/parallelise much easier
2022-02-01 17:46:45 +0100 <arr> sure
2022-02-01 17:46:53 +0100 <arr> but notionally its the same
2022-02-01 17:47:19 +0100 <arr> we have immutable containers so produce a new piece of data in our pure language, this is fine
2022-02-01 17:47:23 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-02-01 17:47:53 +0100 <arr> the question is if there is anything faster than just converting the (Int,Int) to a memory address
2022-02-01 17:47:55 +0100zmt00(~zmt00@user/zmt00)
2022-02-01 17:48:16 +0100 <arr> regardless or reuse of foraged data, which would be basically impossible in the high dimensional limit
2022-02-01 17:48:21 +0100 <arr> of*
2022-02-01 17:48:32 +0100 <arr> s/or/of
2022-02-01 17:49:08 +0100cfricke(~cfricke@user/cfricke)
2022-02-01 17:49:14 +0100 <arr> since the surface are of the surroundings increases as compared to the contact surface
2022-02-01 17:49:18 +0100 <arr> area*
2022-02-01 17:50:11 +0100 <arr> i guess the reason that the zipwith tail approach in repa is effecient is that it is in a low dimensional setting
2022-02-01 17:50:30 +0100 <arr> and that it probably handles this cpu storage nicely
2022-02-01 17:50:51 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 17:50:56 +0100 <arr> but then i guess i partition tree would also
2022-02-01 17:51:28 +0100 <arr> i guess there *are* arguments against fast random containers for structured access patterns even on serial hardware
2022-02-01 17:51:46 +0100 <arr> based on this cpu storage argument
2022-02-01 17:51:57 +0100 <arr> since it gives some ad-hoc parallelism
2022-02-01 17:52:21 +0100 <arr> idk how that would work with a tree zipper though
2022-02-01 17:52:44 +0100 <arr> i guess it wouldnt go to the memory unless you navigate up too far
2022-02-01 17:52:53 +0100 <arr> i g2g anyway
2022-02-01 17:52:54 +0100arr(~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Connection closed)
2022-02-01 17:58:30 +0100quintasan(~quassel@quintasan.pl)
2022-02-01 17:58:45 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 17:59:41 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2022-02-01 17:59:55 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-02-01 18:03:15 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-02-01 18:03:17 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-02-01 18:04:08 +0100cfricke(~cfricke@user/cfricke)
2022-02-01 18:06:24 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds)
2022-02-01 18:07:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-01 18:08:19 +0100polyphem_polyphem
2022-02-01 18:09:01 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
2022-02-01 18:09:01 +0100Gurkenglas_(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
2022-02-01 18:10:40 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2022-02-01 18:10:45 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:11:19 +0100ChanServ+o geekosaur
2022-02-01 18:11:44 +0100geekosaur+b *!*@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net
2022-02-01 18:12:00 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:12:41 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-01 18:14:15 +0100 <geekosaur> that, by host, appears to have been our buddy fog
2022-02-01 18:15:16 +0100geekosaur-o geekosaur
2022-02-01 18:15:41 +0100Sgeo_(~Sgeo@user/sgeo)
2022-02-01 18:15:46 +0100 <monochrom> onoes :)
2022-02-01 18:15:58 +0100Gurkenglas_(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Quit: Leaving)
2022-02-01 18:17:06 +0100 <Profpatsch> Either I’m blind or there is no function Integral a => a -> Maybe Natural
2022-02-01 18:17:47 +0100 <monochrom> I think the standard library doesn't have it.
2022-02-01 18:18:13 +0100 <monochrom> https://hackage.haskell.org/package/int-cast may have something along that line.
2022-02-01 18:18:16 +0100mbuf(~Shakthi@171.61.172.103) (Quit: Leaving)
2022-02-01 18:18:55 +0100chomwitt(~chomwitt@2a02:587:dc03:8900:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds)
2022-02-01 18:19:10 +0100Sgeo(~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
2022-02-01 18:20:42 +0100 <Profpatsch> okay lol huh
2022-02-01 18:20:52 +0100 <Profpatsch> Maybe Natural shouldn’t depend on Maybe
2022-02-01 18:20:52 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-01 18:21:44 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-01 18:21:45 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-01 18:21:45 +0100wroathe(~wroathe@user/wroathe)
2022-02-01 18:23:49 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-01 18:24:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
2022-02-01 18:27:06 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-01 18:27:09 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:27:27 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:27:29 +0100 <geekosaur> hm, spelunking my logs, fog appears to *not* nbe this person. they are however leibniz and froduck among several others
2022-02-01 18:27:33 +0100hyiltiz(~quassel@31.220.5.250) (Ping timeout: 268 seconds)
2022-02-01 18:29:03 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:29:15 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Ping timeout: 250 seconds)
2022-02-01 18:30:15 +0100hyiltiz(~quassel@31.220.5.250)
2022-02-01 18:32:38 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:33:07 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:35:05 +0100ubert1(~Thunderbi@p200300ecdf09945c0ca179bca462169c.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-02-01 18:35:16 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:35:41 +0100modnar(~modnar@shell.sonic.net)
2022-02-01 18:35:48 +0100hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!)
2022-02-01 18:37:18 +0100hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
2022-02-01 18:39:21 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:41:13 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:41:30 +0100nunggu(~q@user/nunggu) (Ping timeout: 276 seconds)
2022-02-01 18:41:49 +0100 <maerwald> tasty seems to print errors in annoying red... I can't find where it's setting the color =o
2022-02-01 18:42:09 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:42:52 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:43:32 +0100 <[exa]> maerwald: (non-fix: ) try overriding TERM to something monochromatic and if it doesn't stop, fill a bug report :]
2022-02-01 18:44:08 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-02-01 18:44:15 +0100 <maerwald> no, I want to use my own colors, so I want to disable it
2022-02-01 18:44:29 +0100 <[exa]> well there is `useColor`
2022-02-01 18:44:45 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:44:52 +0100 <maerwald> I know how to do terminal colors
2022-02-01 18:45:02 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 18:45:14 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-01 18:45:25 +0100 <[exa]> ah so you want to customize colors not turn them off
2022-02-01 18:45:28 +0100 <maerwald> but that might not work or mix well with tasty, because it can just revert everything
2022-02-01 18:45:38 +0100 <maerwald> so I want to know where tasty sets the colors
2022-02-01 18:46:16 +0100 <[exa]> looks around here https://hackage.haskell.org/package/tasty-1.4.2.1/docs/src/Test.Tasty.Ingredients.ConsoleReporter.…
2022-02-01 18:46:19 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:46:45 +0100 <maerwald> aha... it looks like it might be configurable
2022-02-01 18:47:22 +0100 <[exa]> they are passing `colors` around as implicit bool
2022-02-01 18:47:35 +0100 <[exa]> like, turning it off is probably okay, other colors no idea
2022-02-01 18:47:46 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:48:35 +0100 <[exa]> ah, here https://hackage.haskell.org/package/tasty-1.4.2.1/docs/src/Test.Tasty.Providers.ConsoleFormat.html…
2022-02-01 18:49:37 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-02-01 18:50:19 +0100chomwitt(~chomwitt@athedsl-02411.home.otenet.gr)
2022-02-01 18:52:18 +0100nunggu(~q@user/nunggu)
2022-02-01 18:53:21 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 18:55:42 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-02-01 18:56:03 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 18:56:11 +0100fef(~thedawn@user/thedawn)
2022-02-01 18:56:26 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-02-01 18:57:42 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 18:58:44 +0100RFV(~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net)
2022-02-01 18:58:46 +0100 <kaol> Is there a type class that has just extract? It'd be pretty simple to make just one for my program but if there's something obvious I'm missing then I could go with it.
2022-02-01 18:59:24 +0100MajorBiscuit(~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl) (Ping timeout: 250 seconds)
2022-02-01 19:00:23 +0100 <maerwald> [exa]: what an unintuitive API
2022-02-01 19:00:44 +0100 <EvanR> just extract sounds as silly as the Default class
2022-02-01 19:01:13 +0100 <EvanR> Comonad is almost silly in it's full glory
2022-02-01 19:02:08 +0100 <kaol> I guess I'll just make my own type a comonad, its duplicate is going to be silly but valid.
2022-02-01 19:02:14 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-01 19:02:23 +0100 <EvanR> oh if it's actually a Comonad that's better
2022-02-01 19:02:56 +0100 <monochrom> A lot of great things started as silly but valid things. :)
2022-02-01 19:02:59 +0100 <kaol> Still going to only call extract on it.
2022-02-01 19:03:17 +0100 <EvanR> I also saw this, class Eval f where eval :: f a -> a
2022-02-01 19:04:28 +0100 <EvanR> actually, Functor prereq on that
2022-02-01 19:04:41 +0100 <EvanR> from datatypes a la carte
2022-02-01 19:05:27 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:05:36 +0100chele(~chele@user/chele) (Remote host closed the connection)
2022-02-01 19:06:14 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 19:06:40 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:07:59 +0100 <kaol> Even better, I'll just use Env. Since that's what it really is.
2022-02-01 19:08:09 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-02-01 19:09:33 +0100 <kaol> They'll love me in the code review. I just recently gave them some code with fmap . fmap . fmap . fmap . fmap.
2022-02-01 19:09:46 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:09:57 +0100 <monochrom> Recognize that (.) is also fmap. >:)
2022-02-01 19:10:16 +0100 <kaol> I'm not that evil.
2022-02-01 19:10:46 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
2022-02-01 19:11:10 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:11:45 +0100emf(~emf@162.218.217.186)
2022-02-01 19:13:34 +0100doyougnu(~doyougnu@cpe-67-241-69-171.twcny.res.rr.com) (Ping timeout: 256 seconds)
2022-02-01 19:14:29 +0100doxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-01 19:15:14 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 19:16:24 +0100emf(~emf@162.218.217.186) (Ping timeout: 256 seconds)
2022-02-01 19:16:49 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 19:17:04 +0100emf(~emf@2620:10d:c090:400::5:b471)
2022-02-01 19:17:19 +0100 <EvanR> can you form any program from the proper tree of just fmaps and proper Functor instances
2022-02-01 19:17:59 +0100 <EvanR> should be no because it "can't do anything"
2022-02-01 19:18:04 +0100econo(uid147250@user/econo)
2022-02-01 19:19:43 +0100 <DigitalKiwi> sir this is #haskell none of our programs do anything
2022-02-01 19:19:56 +0100geekosaurhides his programs
2022-02-01 19:20:00 +0100 <kaol> unsafeMakeCPUHot
2022-02-01 19:20:10 +0100califax-(~califax@user/califx)
2022-02-01 19:20:30 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-02-01 19:20:33 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:20:46 +0100 <DigitalKiwi> unsafePerformCocoa
2022-02-01 19:20:54 +0100 <monochrom> My program calls itself. Is that OK?
2022-02-01 19:21:06 +0100 <DigitalKiwi> is your program lonely
2022-02-01 19:21:13 +0100 <monochrom> Yes. Very.
2022-02-01 19:21:14 +0100califax-califax
2022-02-01 19:21:26 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 252 seconds)
2022-02-01 19:21:44 +0100 <DigitalKiwi> only after 9 pm and on weekends
2022-02-01 19:21:51 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-01 19:22:30 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-02-01 19:23:21 +0100AlexNoo_AlexNoo
2022-02-01 19:23:32 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:23:40 +0100ubert(~Thunderbi@141.98.252.232) (Ping timeout: 250 seconds)
2022-02-01 19:23:40 +0100ub(~Thunderbi@141.98.252.252)
2022-02-01 19:23:57 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:25:59 +0100ububert
2022-02-01 19:26:53 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:27:10 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:28:13 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Remote host closed the connection)
2022-02-01 19:28:31 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:29:34 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-02-01 19:33:01 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:34:06 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 245 seconds)
2022-02-01 19:34:14 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:39:04 +0100 <EvanR> is there a functional pearl level technique to write a serializer and parser at the same time
2022-02-01 19:39:59 +0100 <EvanR> reversible parser? reversible pretty printer?
2022-02-01 19:40:10 +0100 <EvanR> some kind of unifying theory
2022-02-01 19:40:19 +0100alp(~alp@user/alp) (Ping timeout: 250 seconds)
2022-02-01 19:40:29 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:5d4f:b362:d270:61b0)
2022-02-01 19:41:10 +0100 <segfaultfizzbuzz> so what is the state of the art if i want a language for "heterogeneous" computing
2022-02-01 19:41:33 +0100 <segfaultfizzbuzz> for example i would like to write a program and then be able to do things like:
2022-02-01 19:42:03 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:42:16 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 19:42:27 +0100 <segfaultfizzbuzz> have parts of the program compile to fpga/gpu code if it presents an advantage
2022-02-01 19:43:00 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:43:11 +0100 <segfaultfizzbuzz> have the program compile to a distributed system
2022-02-01 19:43:44 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:43:49 +0100 <EvanR> check out cloud haskell
2022-02-01 19:44:11 +0100 <DigitalKiwi> and then get sad
2022-02-01 19:44:15 +0100 <kaol> EvanR: I guess something like this would come closest to it https://kowainik.github.io/posts/2019-01-14-tomland
2022-02-01 19:44:16 +0100 <EvanR> probably
2022-02-01 19:44:29 +0100 <segfaultfizzbuzz> most recent activity 2016...?
2022-02-01 19:44:38 +0100kli(~kli@ip-89-177-122-45.net.upcbroadband.cz) (Quit: Leaving)
2022-02-01 19:45:02 +0100 <DigitalKiwi> sad isn't it :(
2022-02-01 19:45:46 +0100 <kaol> segfaultfizzbuzz: https://github.com/Kindelia/HVM if you want something cutting edge, though I'd expect it to take quite some time to mature
2022-02-01 19:45:58 +0100 <segfaultfizzbuzz> the third out of four examples is map reduce which is very trivial
2022-02-01 19:46:15 +0100 <segfaultfizzbuzz> k means i am looking at but expect this to also be fairly trivial
2022-02-01 19:46:34 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 19:47:32 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293)
2022-02-01 19:47:44 +0100 <monochrom> EvanR: https://hackage.haskell.org/package/roundtrip and the paper it cites are good starting points.
2022-02-01 19:48:05 +0100 <EvanR> HVM...
2022-02-01 19:48:40 +0100 <EvanR> the executive reports to code ratio is pretty crazy there
2022-02-01 19:49:09 +0100 <EvanR> it supports 2 data types
2022-02-01 19:49:17 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
2022-02-01 19:49:49 +0100 <EvanR> it's also like a week old
2022-02-01 19:50:33 +0100neurocyte0917090(~neurocyte@IP-094046082248.dynamic.medianet-world.de)
2022-02-01 19:50:33 +0100neurocyte0917090(~neurocyte@IP-094046082248.dynamic.medianet-world.de) (Changing host)
2022-02-01 19:50:33 +0100neurocyte0917090(~neurocyte@user/neurocyte)
2022-02-01 19:52:45 +0100 <EvanR> k I remember this paper, time to do a deep dive
2022-02-01 19:53:53 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
2022-02-01 19:55:52 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net)
2022-02-01 19:56:22 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 19:58:37 +0100Guest|7(~Guest|7@185.136.116.179)
2022-02-01 19:59:04 +0100Guest|7(~Guest|7@185.136.116.179) (Client Quit)
2022-02-01 19:59:49 +0100polezaivsani(~polezaivs@orangeshoelaces.net)
2022-02-01 20:00:59 +0100alp(~alp@user/alp)
2022-02-01 20:01:24 +0100 <EvanR> "pretty printers are usually structured around a proper type Doc", where is this Doc type normally
2022-02-01 20:01:30 +0100 <EvanR> :t Doc
2022-02-01 20:01:31 +0100 <lambdabot> error: Data constructor not in scope: Doc
2022-02-01 20:01:37 +0100 <EvanR> :k Doc
2022-02-01 20:01:38 +0100 <[exa]> in `pretty`
2022-02-01 20:01:38 +0100 <lambdabot> *
2022-02-01 20:01:42 +0100 <EvanR> ah
2022-02-01 20:01:44 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:01:55 +0100 <[exa]> https://hackage.haskell.org/package/pretty
2022-02-01 20:02:02 +0100 <kaol> I haven't really felt the need for having bidirectionaly encode and decode myself. I have a web site and all the interesting queries are going to be complex joins to a relational DB with all sorts of aggregates and stuff. I have seldom any use for deserializing something I've inserted or updated to it.
2022-02-01 20:02:02 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:02:13 +0100doxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-02-01 20:03:45 +0100 <[exa]> segfaultfizzbuzz: accelerate can compile to many targets quite efficiently
2022-02-01 20:03:50 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:04:15 +0100 <EvanR> kaol so you only do read only or write only, never both at the same time xD
2022-02-01 20:04:17 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:04:32 +0100 <EvanR> like Eiffel
2022-02-01 20:05:31 +0100 <kaol> insert returning is a thing. And others.
2022-02-01 20:05:46 +0100 <[exa]> segfaultfizzbuzz: the heterogeneous computing problem is that the platforms are so diverse that it's pretty hard to have a single central code that is transformed to all (you'd implicitly encode 4 different implementations there anyway)
2022-02-01 20:05:57 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 20:06:32 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:06:53 +0100 <kaol> hasql is my go to library for DB stuff. The way it does it that every statement comes with an encoder (contrafunctor) and a decoder (functor).
2022-02-01 20:07:09 +0100{-d0t-}(~q_q@user/-d0t-/x-7915216) (Quit: Konversation terminated!)
2022-02-01 20:07:41 +0100 <EvanR> serialize deserialize seems to not really apply to an SQL backed website
2022-02-01 20:08:03 +0100 <EvanR> where you think of your data as either being in haskell or in a database, not serialized
2022-02-01 20:08:32 +0100 <EvanR> or in haskell or in javascript
2022-02-01 20:10:33 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:11:44 +0100 <segfaultfizzbuzz> [exa]: i mean doesn't this seem like a very high value problem to solve...?
2022-02-01 20:12:14 +0100 <[exa]> "very high value"?
2022-02-01 20:12:23 +0100 <segfaultfizzbuzz> yes, for multiple reasons
2022-02-01 20:13:08 +0100 <segfaultfizzbuzz> i think firstly it isn't clear what the "best" method for specifying programs is, and so having a good answer for this problem would shine a lot of light on that
2022-02-01 20:13:50 +0100 <[exa]> programmers have been constantly failing for like 70+ years now to find a "best" method for specifying programs :]
2022-02-01 20:13:52 +0100 <segfaultfizzbuzz> second, it might be that my problem could be solved by running across 100 computers for 1 second instead of running 1 or 2 computers for days. but i don't have time to figure that out myself
2022-02-01 20:14:23 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-01 20:14:24 +0100 <segfaultfizzbuzz> with modern cloud access, there's a large financial incentive to discover that it's worthwhile to perform the distributed compute
2022-02-01 20:14:30 +0100 <[exa]> you don't need heterogeneous computing for that
2022-02-01 20:14:43 +0100 <segfaultfizzbuzz> and furthermore i could temporarily borrow some fpgas or whatever i need for the task at hand, since those are in the cloud too
2022-02-01 20:14:58 +0100Pickchea(~private@user/pickchea)
2022-02-01 20:15:14 +0100 <segfaultfizzbuzz> so, approximately speaking, the sky is the limit in terms of available hardware
2022-02-01 20:15:22 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:15:36 +0100 <[exa]> anyway this is pretty common today, you just don't tell your programmers to code it in 1 supergeneric language, but in 2 specific languages
2022-02-01 20:16:03 +0100 <[exa]> because 2 is literally the practical number of really different platforms we have now for common computing tasks
2022-02-01 20:17:12 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 20:17:15 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:17:17 +0100 <segfaultfizzbuzz> 2 is the number of really different platforms?
2022-02-01 20:17:24 +0100 <segfaultfizzbuzz> what, CPU and GPU...?
2022-02-01 20:17:36 +0100 <segfaultfizzbuzz> meaning branching and non-branching...?
2022-02-01 20:17:46 +0100geekosaurtrying to figure that too, having 3 candidates come to mind
2022-02-01 20:18:00 +0100 <geekosaur> (linux/windows, x86/arm, cpu/gpu)
2022-02-01 20:18:30 +0100 <geekosaur> (android/iphone)
2022-02-01 20:18:35 +0100 <segfaultfizzbuzz> i think only cpu and gpu there are different
2022-02-01 20:18:38 +0100 <[exa]> yeah, literally, if I have a ton of $data (say genomes in my case) and I want to do this the easy way, I can basically choose just between "I'm going to run this paralelly on huge lots of CPUs" or "I'm going to code for GPU(s)"
2022-02-01 20:18:44 +0100 <kaol> browser/backend
2022-02-01 20:18:51 +0100 <DigitalKiwi> blockchain/not blockchain
2022-02-01 20:19:04 +0100 <segfaultfizzbuzz> DigitalKiwi: lol
2022-02-01 20:19:26 +0100 <[exa]> FPGAs are nice but not generally available (making my stuff nonreproducible)
2022-02-01 20:19:34 +0100 <monochrom> currency/nft >:)
2022-02-01 20:19:52 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds)
2022-02-01 20:19:53 +0100 <monochrom> bosons/fermions >:) >:)
2022-02-01 20:20:11 +0100 <[exa]> I'm never going to put a practical generalization again to #haskell
2022-02-01 20:20:44 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:20:57 +0100 <segfaultfizzbuzz> maybe all of this just comes down to programmability, and CPUs win because they are the most programmable
2022-02-01 20:21:43 +0100 <segfaultfizzbuzz> and so you can allocate effort to special programming tasks like what i am describing, but unless you are focusing on doing your work on CPUs, and especially on CPUs on a single machine with fairly trivial sharding/parallelism, you are pretty much hosed...
2022-02-01 20:21:53 +0100 <monochrom> I feel that you were morally right. 2 is the upper limit of how many platforms a code monkey can deal with. :)
2022-02-01 20:21:53 +0100 <EvanR> is most programmable similar to most excellent
2022-02-01 20:21:55 +0100coot(~coot@213.134.190.95) (Ping timeout: 256 seconds)
2022-02-01 20:22:03 +0100zebrag(~chris@user/zebrag)
2022-02-01 20:22:10 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:22:12 +0100 <DigitalKiwi> most unique
2022-02-01 20:22:51 +0100 <[exa]> re platforms, anyone here remembers xeon phi btw? :D
2022-02-01 20:23:31 +0100 <[exa]> segfaultfizzbuzz: why hosed?
2022-02-01 20:23:35 +0100 <EvanR> segfaultfizzbuzz, unfortunately most programs are hopelessly not parallizable
2022-02-01 20:23:40 +0100 <monochrom> I remember Xenix, BeOS, Palm OS, OS/2.
2022-02-01 20:24:02 +0100 <EvanR> and if they are, not in a way that a distributed system would benefit
2022-02-01 20:24:03 +0100 <monochrom> For hardware, I remember 6502 and Z80.
2022-02-01 20:24:16 +0100[exa]pushes back a zilog tear
2022-02-01 20:24:30 +0100 <monochrom> And the CPU that Sharp PC-1500 used.
2022-02-01 20:24:39 +0100 <segfaultfizzbuzz> [exa]: yes i recall xeon phi. arguably nvidia won there because "cuda" won the "programmability" view of things
2022-02-01 20:24:54 +0100 <[exa]> monochrom: oh wow I was playing stuff on mz-800 :D
2022-02-01 20:25:32 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds)
2022-02-01 20:26:42 +0100geekosaurremembers being pissed that the z8000 was not to the 8086 what the z80 was to the 8080
2022-02-01 20:26:55 +0100 <[exa]> wow wait that's the pockety one, cool
2022-02-01 20:27:17 +0100Morrow(~user@bzq-110-168-31-106.red.bezeqint.net)
2022-02-01 20:28:10 +0100 <monochrom> :)
2022-02-01 20:28:28 +0100 <monochrom> The inverted pissing game of "mine is smaller than yours!"
2022-02-01 20:28:56 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:29:02 +0100 <segfaultfizzbuzz> EvanR: distributed systems can't be used for most computations?
2022-02-01 20:29:18 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:29:19 +0100 <EvanR> not what I said
2022-02-01 20:29:42 +0100 <segfaultfizzbuzz> part of what i am wondering is why my ram isn't starting to have more compute onboard
2022-02-01 20:29:48 +0100 <segfaultfizzbuzz> so my machine behaves more like a distributed compute
2022-02-01 20:29:53 +0100 <segfaultfizzbuzz> *distributed computer
2022-02-01 20:30:02 +0100 <monochrom> Look for "transputer".
2022-02-01 20:30:29 +0100 <EvanR> distributing the parts of your computer across the planet sounds pretty bad for performance
2022-02-01 20:30:53 +0100 <segfaultfizzbuzz> because i am being told that fetching data from ram is very slow, so why not tell ram what to do instead
2022-02-01 20:31:11 +0100 <geekosaur> memristors are a thing but not ready for general purpose use
2022-02-01 20:31:13 +0100 <EvanR> that is what your OS does
2022-02-01 20:31:42 +0100emf(~emf@2620:10d:c090:400::5:b471) (Ping timeout: 250 seconds)
2022-02-01 20:32:28 +0100vicfred(~vicfred@user/vicfred)
2022-02-01 20:32:34 +0100 <EvanR> ram+ram controller is specialized to have huge memory, cpu is specialized to have huge computeness
2022-02-01 20:32:52 +0100 <EvanR> basically you want them to both be both
2022-02-01 20:33:06 +0100 <EvanR> and then awkwardly communicate
2022-02-01 20:34:07 +0100 <segfaultfizzbuzz> are computer architecture decisions made quantitatively or by theorizing, speculating, shouting, and enduring market failures?
2022-02-01 20:34:21 +0100 <EvanR> yes
2022-02-01 20:34:35 +0100 <segfaultfizzbuzz> like, i should be able to simulate different computer architecture decisions (like putting more compute in ram)
2022-02-01 20:34:38 +0100 <monochrom> shouting and marketting, yes.
2022-02-01 20:34:43 +0100emf(~emf@2620:10d:c090:400::5:b471)
2022-02-01 20:34:45 +0100 <[exa]> also by publishing benchmarks that are 0.5% better than $othercompany
2022-02-01 20:34:55 +0100 <monochrom> So, not even theorizing. Theorizing would be a good start.
2022-02-01 20:35:03 +0100 <segfaultfizzbuzz> and then determine, for perhaps a particular market segment that
2022-02-01 20:35:19 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-01 20:35:23 +0100 <segfaultfizzbuzz> genomics favors ram with these special instructions
2022-02-01 20:35:26 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:35:46 +0100 <segfaultfizzbuzz> or that i could specialize a cpu with some instructions, or make use of an integrated fpga-cpu in a certain way
2022-02-01 20:36:07 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-02-01 20:36:15 +0100 <monochrom> Humans want small block diagrams. Block diagrams that have, say, at most 5 vertices, and each vertice having at most degree 3.
2022-02-01 20:36:21 +0100 <geekosaur> thi sall has a nasty failure mode
2022-02-01 20:36:39 +0100 <segfaultfizzbuzz> what is a block diagram
2022-02-01 20:36:48 +0100 <monochrom> This immediately advantages centralized models such as the von Neumann model. Even politicians understand the von Neumann model.
2022-02-01 20:36:52 +0100 <segfaultfizzbuzz> i'm not sure whether humans will be relevant to engineering for much longer
2022-02-01 20:37:07 +0100 <geekosaur> pretty soon someone comes up with a computer virus that reconfigures your cpu / fpga / ram / etc.
2022-02-01 20:37:19 +0100 <segfaultfizzbuzz> haha
2022-02-01 20:37:20 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net)
2022-02-01 20:37:23 +0100 <segfaultfizzbuzz> a benevolent virus?
2022-02-01 20:37:52 +0100geekosaursighs
2022-02-01 20:37:58 +0100 <monochrom> Decentralized computing would mean if you had 1000 units of memory and correspondingly 1000 units of computing spread out, the block diagram would be like 1000 nodes and god knows how many edges per node.
2022-02-01 20:38:04 +0100 <geekosaur> where in that did I say "benevolent"?
2022-02-01 20:38:18 +0100 <monochrom> Both voters and politicians hate such a humongous graph.
2022-02-01 20:38:24 +0100 <dolio> If hardware is being tailored to certain domains, why was the previous assumption that a single programming language would be optimally applicable to every domain?
2022-02-01 20:38:33 +0100 <DigitalKiwi> geekosaur: reconfigures it to mine *coin
2022-02-01 20:38:37 +0100 <segfaultfizzbuzz> monochrom: i mean, if it provides a significant advantage in latency or power consumption or whatever, who cares...?
2022-02-01 20:38:53 +0100 <[exa]> dolio: because programmers are the laziest part there
2022-02-01 20:38:58 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:39:07 +0100 <segfaultfizzbuzz> dolio: because programmers won't be smarter than computers for much longer
2022-02-01 20:39:14 +0100 <monochrom> No no. Human nature goes "if it makes me feel better, who cares"
2022-02-01 20:39:19 +0100geekosaurdisbelieves
2022-02-01 20:39:35 +0100 <segfaultfizzbuzz> lol
2022-02-01 20:39:46 +0100 <[exa]> I'd love to share the optimism here tho
2022-02-01 20:39:48 +0100 <EvanR> only in futuristic soviet russia code programs you
2022-02-01 20:39:49 +0100 <geekosaur> AI, like fusion, has been just over the horizon for how long now?
2022-02-01 20:39:51 +0100 <dolio> You're in complete fantasy land.
2022-02-01 20:39:53 +0100 <DigitalKiwi> stop stop i'm not even in psychosis right now
2022-02-01 20:39:58 +0100 <monochrom> I have social empirical evidence for my theory, you know.
2022-02-01 20:40:15 +0100 <DigitalKiwi> ...or am i :(
2022-02-01 20:40:46 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:41:03 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:41:08 +0100 <EvanR> if AI can correctly recognize a zamboni 95% of the time, surely that means it's ready to write our software
2022-02-01 20:41:14 +0100 <monochrom> Transputer failed. Reduceron failed. Functional programming almost failed. Everything against the von Neumann model fails or is marginalized.
2022-02-01 20:41:16 +0100 <DigitalKiwi> i haven't payed my phone bill in months but it's still on so i'm pretty sure the cia is after me ;D
2022-02-01 20:42:29 +0100EvanRwears I'm not with DigitalKiwi shirt
2022-02-01 20:42:43 +0100 <DigitalKiwi> EvanR: for funsies i do mturk and i'm pretty sure the AI is me
2022-02-01 20:43:30 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:43:58 +0100 <DigitalKiwi> pretty sure most advanced AI are really a bunch of people making $0.05 a hit
2022-02-01 20:44:22 +0100Midjak2(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-01 20:45:05 +0100Midjak2(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Remote host closed the connection)
2022-02-01 20:45:43 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 256 seconds)
2022-02-01 20:45:45 +0100Midjak2(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-01 20:45:46 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:46:17 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-01 20:46:21 +0100 <EvanR> in Invertible Syntax Descriptions: Unifying Parsing and Pretty Printing, they have a symmetric type for "partial isomorphisms", like data Iso a b = Iso (a -> Maybe b) (b -> Maybe a), the two directions are for parsing and pretty printing
2022-02-01 20:46:33 +0100oldsk00l(~znc@ec2-13-40-107-163.eu-west-2.compute.amazonaws.com)
2022-02-01 20:46:34 +0100 <EvanR> but I don't really understand why there is partiality for pretty printing
2022-02-01 20:46:49 +0100 <segfaultfizzbuzz> monochrom: is marginalized?
2022-02-01 20:47:37 +0100 <DigitalKiwi> do the project managers get replaced too
2022-02-01 20:48:06 +0100 <DigitalKiwi> can we replace the users too
2022-02-01 20:48:12 +0100 <DigitalKiwi> they seem to be the most problematic
2022-02-01 20:48:53 +0100 <EvanR> It says on this, "We are dealing with partial functions because a Printer α should represent a pretty printer for a subset of the extension of α." what do you think this means
2022-02-01 20:49:02 +0100 <segfaultfizzbuzz> geekosaur: i mean, we are starting to see "ai" based methods being used in circuit design, synopsys is starting to use it for layout and machines are starting to beat people
2022-02-01 20:49:07 +0100 <monochrom> EvanR: I haven't read it yet. But maybe play along and later there may be a use case.
2022-02-01 20:49:12 +0100mickaelviey__(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-01 20:49:29 +0100 <geekosaur> segfaultfizzbuzz, for some things
2022-02-01 20:49:34 +0100 <segfaultfizzbuzz> i don't drink any "ai koolaid" here, i just think that programming is more like chess or go than people think
2022-02-01 20:49:40 +0100mickaelviey__(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Remote host closed the connection)
2022-02-01 20:49:57 +0100 <segfaultfizzbuzz> so at some point we will focus more on program specification than computer instruction
2022-02-01 20:50:02 +0100 <segfaultfizzbuzz> probably sooner rather than later
2022-02-01 20:50:11 +0100 <EvanR> yes many languages have the programmer mindlessly typing the same nonsense over and over
2022-02-01 20:50:35 +0100 <EvanR> which obviously makes those kind of programming jobs more plentiful
2022-02-01 20:50:39 +0100 <segfaultfizzbuzz> and even if you have a temporary advantage being able to exploit some knowledge of an architecture to achieve a performance benefit
2022-02-01 20:50:51 +0100 <segfaultfizzbuzz> something will happen which will make your knowledge obsolete, suboptimal, no longer work, etc
2022-02-01 20:51:15 +0100mickaelviey__(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-01 20:51:15 +0100 <geekosaur> tbh if there's a place that would really benefit it's proigram specification. people are *terrible* at it
2022-02-01 20:51:23 +0100Midjak2(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 256 seconds)
2022-02-01 20:51:28 +0100 <segfaultfizzbuzz> so really knowledge of what the program runs on is the concern of the compiler or the runtime etc, rather than the concern of the programmer
2022-02-01 20:51:33 +0100 <EvanR> program specification: super addictive, borderline abusive massively multiplayer online RPG
2022-02-01 20:51:55 +0100 <EvanR> profitable should be a checkbox
2022-02-01 20:52:04 +0100 <segfaultfizzbuzz> geekosaur: wait "ai" techniques would benefit program specification you are saying...?
2022-02-01 20:52:07 +0100mickaelviey__(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Remote host closed the connection)
2022-02-01 20:52:12 +0100 <EvanR> ok make RPG a checkbox and jam "profitable" to yes
2022-02-01 20:52:23 +0100 <sm> do you want to be profitable: [ ] YES [ ] NO
2022-02-01 20:52:25 +0100 <segfaultfizzbuzz> lol
2022-02-01 20:53:06 +0100 <EvanR> that question does come up when filing for your business license (non-profit)
2022-02-01 20:53:10 +0100kli(~kli@ip-89-177-122-45.net.upcbroadband.cz)
2022-02-01 20:53:27 +0100simendsjo(~user@84.211.91.241)
2022-02-01 20:53:36 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:53:39 +0100deadmarshal(~deadmarsh@95.38.231.118) (Ping timeout: 256 seconds)
2022-02-01 20:53:55 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:55:02 +0100simendsjo(~user@84.211.91.241) (Remote host closed the connection)
2022-02-01 20:56:50 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 250 seconds)
2022-02-01 20:56:57 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:57:15 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 20:57:16 +0100 <DigitalKiwi> https://mostlyabsurd.com/files/2022-02-01-173824_722x209_scrot.png
2022-02-01 20:57:21 +0100simendsjo(~user@84.211.91.241)
2022-02-01 20:57:48 +0100 <DigitalKiwi> they used to just make games!
2022-02-01 20:58:00 +0100 <monochrom> Oh hahaha
2022-02-01 20:58:53 +0100 <EvanR> today's date is one of few remaining trinary dates
2022-02-01 20:58:59 +0100 <EvanR> until 2100
2022-02-01 20:59:18 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 20:59:44 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:00:06 +0100oldsk00l(~znc@ec2-13-40-107-163.eu-west-2.compute.amazonaws.com) (Ping timeout: 256 seconds)
2022-02-01 21:00:18 +0100Pickchea(~private@user/pickchea) (Ping timeout: 250 seconds)
2022-02-01 21:00:37 +0100lavaman(~lavaman@98.38.249.169)
2022-02-01 21:01:10 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:01:46 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:02:41 +0100 <segfaultfizzbuzz> haha
2022-02-01 21:02:44 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 21:04:52 +0100 <EvanR> I see, they don't pattern match to do pretty printing, but use <|>
2022-02-01 21:05:33 +0100 <EvanR> try the pretty printer for each ctor until one works
2022-02-01 21:06:26 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:06:29 +0100 <monochrom> Ahhhh interesting decomposition.
2022-02-01 21:08:27 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:09:08 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-02-01 21:09:39 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:10:07 +0100 <EvanR> because clearly you can't use pattern matching to go the other way
2022-02-01 21:10:12 +0100 <EvanR> *or can you*
2022-02-01 21:10:32 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:10:52 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-01 21:12:31 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 21:13:22 +0100meltedbrain_y2k(~tekserf@87.125.156.8)
2022-02-01 21:13:56 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-01 21:18:46 +0100theseb(~theseb@47-220-214-54.cnrocmta03.res.dyn.suddenlink.net)
2022-02-01 21:18:51 +0100 <theseb> At the risk of stating the obvious i had an epiphany yesterday that "variable" = "key value pair" !!! if you think about it a variable actually represents TWO things....its name (the key) and what it is = to (the value) !!! they are the same thing! surprising?
2022-02-01 21:18:57 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:19:26 +0100x_kuru(~xkuru@user/xkuru)
2022-02-01 21:20:22 +0100 <monochrom> That would be extremely insightful in ##c where "lvalue" is a central idea.
2022-02-01 21:20:34 +0100 <monochrom> Over here it is false.
2022-02-01 21:20:58 +0100 <Rembane> Is lvalue false?
2022-02-01 21:21:05 +0100 <monochrom> Well, perhaps until we get down to efficiency questions such as re-compute vs re-use.
2022-02-01 21:21:25 +0100xkuru(~xkuru@user/xkuru) (Ping timeout: 256 seconds)
2022-02-01 21:21:28 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:24:04 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:25:36 +0100 <monochrom> But tomorrow you can have the related epiphany that a field of a record is a key-value pair, and the whole record a dictionary. That would be insighful in ##perl (in which they really do that) and in a depenently typed language, but still not here.
2022-02-01 21:26:19 +0100kuribas`(~user@ptr-25vy0i9didaz6k0kzeu.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2022-02-01 21:27:03 +0100 <tomsmeding> though in an interpreter, variables are generally stored as key-value pairs in a map :)
2022-02-01 21:27:55 +0100Sgeo(~Sgeo@user/sgeo)
2022-02-01 21:28:11 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:28:28 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 250 seconds)
2022-02-01 21:28:40 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
2022-02-01 21:29:43 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:29:54 +0100 <Rembane> It's quite neat imho
2022-02-01 21:30:04 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:30:08 +0100Sgeo_(~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
2022-02-01 21:30:34 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
2022-02-01 21:31:51 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net)
2022-02-01 21:32:33 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:32:51 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:33:17 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-02-01 21:35:19 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:36:12 +0100 <theseb> Are there some areas where haskell blows away other langs and is a competitive advantage for businesses?
2022-02-01 21:36:35 +0100 <theseb> i'm guessing maybe when you need high assurance and formal verification?
2022-02-01 21:36:45 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:36:47 +0100 <monochrom> Financial contracts. Such as those infamous recursive CDO's.
2022-02-01 21:37:56 +0100 <theseb> monochrom: yes..and i would guess they are great for finance because you need high assurance
2022-02-01 21:38:21 +0100 <theseb> monochrom: Cardano is a blockchain that is using lots of Haskell for similar reasons....i think that is great
2022-02-01 21:38:32 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:38:38 +0100 <theseb> i want to see the state of the art for high assurance software go up
2022-02-01 21:38:40 +0100 <Rembane> theseb: When you need a parser, interpreter or compiler Haskell is your language.
2022-02-01 21:39:24 +0100 <theseb> my only fear if we are correct is that the CONVERSE implies if you aren't using haskell your apps are likely to be buggy
2022-02-01 21:39:27 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:39:38 +0100 <theseb> i'm sure fans of other langs would argue that they can make their apps secure too
2022-02-01 21:39:55 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-02-01 21:41:11 +0100 <random-jellyfish> I have a problem
2022-02-01 21:41:25 +0100 <random-jellyfish> newtype Mealy in out = Mealy (in -> (out, Mealy in out))
2022-02-01 21:41:35 +0100 <random-jellyfish> why is Mealy defined that way?
2022-02-01 21:41:44 +0100 <random-jellyfish> why without a state?
2022-02-01 21:42:02 +0100 <random-jellyfish> somebody tried to explain this to me but I didn't understand
2022-02-01 21:42:12 +0100 <random-jellyfish> why is there no s state in there?
2022-02-01 21:42:19 +0100 <random-jellyfish> like in the state monad for example
2022-02-01 21:42:19 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:43:06 +0100chronon(~chronon@user/chronon) (Remote host closed the connection)
2022-02-01 21:43:34 +0100 <Rembane> random-jellyfish: Where is Mealy defined that way?
2022-02-01 21:43:35 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:43:39 +0100 <lyxia> machines library
2022-02-01 21:44:21 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:44:57 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:45:33 +0100 <monochrom> unfoldMealy allows you to use a state transition function to specify a Mealy machine. Perhaps you can read it source code to see how the state hiding is done.
2022-02-01 21:45:44 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:47:36 +0100 <monochrom> But the short answer is a different state means a different "in -> (out, Mealy in out)" function.
2022-02-01 21:47:56 +0100 <random-jellyfish> unfoldMealy :: (s -> a -> (b, s)) -> s -> Mealy a b
2022-02-01 21:48:30 +0100 <EvanR> the Mealy value itself can contain a hidden state
2022-02-01 21:48:37 +0100 <EvanR> in a closure
2022-02-01 21:48:48 +0100 <EvanR> that's probably the intention of that definition you gave
2022-02-01 21:48:51 +0100 <monochrom> or rather, s/short/high level/
2022-02-01 21:49:09 +0100 <tomsmeding> a Mealy basically _is_ the representation of a state in the state machine, namely the current state. It represents a state by a function that, given an input, returns the corresponding output and the state that you then go to -- a new function
2022-02-01 21:49:32 +0100 <Rembane> Is this the covariant vs contravariant thing?
2022-02-01 21:49:38 +0100 <monochrom> Yeah, at some point I would just take a Mealy value to be the state value already.
2022-02-01 21:49:41 +0100 <tomsmeding> also yes, closures :p
2022-02-01 21:50:01 +0100janus(janus@anubis.0x90.dk)
2022-02-01 21:50:11 +0100 <EvanR> using the Mealy returns a new Mealy, hence, new state
2022-02-01 21:50:19 +0100 <random-jellyfish> okay so the state is encoded as a function not as a record
2022-02-01 21:50:36 +0100 <janus> why are lets allowed in guards? i don't see why they can't just be in the body
2022-02-01 21:50:38 +0100 <tomsmeding> what would you normally put in that record?
2022-02-01 21:50:45 +0100 <EvanR> internally you could have used a record, or an number, or recursed to a new function entirely
2022-02-01 21:50:56 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-02-01 21:50:58 +0100 <tomsmeding> janus: could have a couple of lets, and then another pattern guard
2022-02-01 21:51:53 +0100 <monochrom> janus: Suppose I want "f x > 0, f x < 5", and I don't want to recompute f x, and I don't know that CSE will do it for me?
2022-02-01 21:51:59 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2022-02-01 21:52:32 +0100 <random-jellyfish> tomsmeding the record would contain whatever defines the internal state of a system: counters, tables, etc. things that change after a state transition
2022-02-01 21:52:43 +0100 <monochrom> OK maybe that's a weak reason because "where y = f x" exists.
2022-02-01 21:53:00 +0100 <tomsmeding> random-jellyfish: right, then that's in the closure of the function
2022-02-01 21:53:10 +0100 <EvanR> random-jellyfish, if you wanted to do that, you wouln't need to return a Mealy. You would want something like State s
2022-02-01 21:53:10 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 250 seconds)
2022-02-01 21:53:15 +0100 <monochrom> Convenience? Haskell is not Python, we don't ban multiple ways of doing the "same" thing.
2022-02-01 21:53:25 +0100 <janus> i think tomsmeding's suggestion makes more sense, because you can't have a immediatly as the first thing in the case head, i think?
2022-02-01 21:53:30 +0100 <tomsmeding> random-jellyfish: https://hackage.haskell.org/package/machines-0.7.2/docs/src/Data.Machine.Mealy.html#unfoldMealy
2022-02-01 21:53:34 +0100 <janus> *a let
2022-02-01 21:54:02 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-01 21:54:04 +0100 <tomsmeding> 'go' is a functoin that takes the current state and an input as arguments, and returns a (out, Mealy in out) tuple
2022-02-01 21:54:29 +0100 <tomsmeding> and the function that's stored in a Mealy is the _partial application_ of 'go' to the state record that you're talking about
2022-02-01 21:54:57 +0100 <tomsmeding> % f = let value = 10 in \x -> x + value
2022-02-01 21:54:58 +0100 <yahb> tomsmeding:
2022-02-01 21:55:04 +0100 <tomsmeding> % f 3
2022-02-01 21:55:04 +0100 <yahb> tomsmeding: 13
2022-02-01 21:55:06 +0100 <tomsmeding> % :t f
2022-02-01 21:55:06 +0100 <yahb> tomsmeding: Num a => a -> a
2022-02-01 21:55:15 +0100 <tomsmeding> random-jellyfish: somehow 'f' has stored this '10' somewhere :)
2022-02-01 21:55:28 +0100stef204(~stef204@user/stef204) (Quit: WeeChat 3.4)
2022-02-01 21:55:37 +0100 <tomsmeding> (namely, in its _closure_, as it's called)
2022-02-01 21:55:39 +0100 <janus> > case () of { () | True, let f = 5, f == 5 -> "YES"; _ -> "NO" }
2022-02-01 21:55:41 +0100 <lambdabot> "YES"
2022-02-01 21:55:48 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 21:55:50 +0100 <random-jellyfish> ah I see
2022-02-01 21:56:33 +0100 <random-jellyfish> oh man my neural networks need some serious training to integrate this concept
2022-02-01 21:56:51 +0100 <EvanR> closures are often encountered first these days in javascript
2022-02-01 21:56:56 +0100 <EvanR> for better or worse
2022-02-01 21:57:02 +0100Kaiepi(~Kaiepi@156.34.47.253) (Remote host closed the connection)
2022-02-01 21:57:12 +0100 <random-jellyfish> but I get it, you store "state" in closures using let, right?
2022-02-01 21:57:21 +0100theseb(~theseb@47-220-214-54.cnrocmta03.res.dyn.suddenlink.net) (Quit: Leaving)
2022-02-01 21:57:32 +0100 <EvanR> anything a function body can see will be in its closure, doesn't need to be a let
2022-02-01 21:57:33 +0100 <tomsmeding> const f = (function() { let value = 10; return function(x) { return x + value; }; })();
2022-02-01 21:57:37 +0100 <monochrom> I think stateful thinking is limiting.
2022-02-01 21:57:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Remote host closed the connection)
2022-02-01 21:57:52 +0100 <monochrom> I have 3 possible states, 0, 1, 2.
2022-02-01 21:57:53 +0100 <random-jellyfish> EvanR true
2022-02-01 21:58:03 +0100 <monochrom> If the state is 0, I want to function \x->x
2022-02-01 21:58:17 +0100 <monochrom> If the state is 1, I want the function \x -> x + 4
2022-02-01 21:58:37 +0100 <monochrom> If the state is 2, I want the function \x -> mod x 45
2022-02-01 21:59:01 +0100 <monochrom> Note how I no longer need the 3 states, I just need the 3 functions.
2022-02-01 21:59:19 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 21:59:31 +0100 <monochrom> If you ask yourself "what is this state for? why do I need it?", you can always find a stateless way.
2022-02-01 21:59:43 +0100 <monochrom> State is one of the most popular XY problems.
2022-02-01 21:59:48 +0100 <tomsmeding> though in a sense you're just hiding the state
2022-02-01 21:59:59 +0100 <EvanR> you can take the state out of the state machine, but you can't take the state machine ... nvm
2022-02-01 22:00:13 +0100 <tomsmeding> ... into the states?
2022-02-01 22:00:41 +0100 <random-jellyfish> for some systems the state is not just a simple value or an enum, sometimes it's a record or a tuple or an array
2022-02-01 22:00:42 +0100 <monochrom> The State Machine of Theseus. >:)
2022-02-01 22:01:14 +0100 <random-jellyfish> transition to another state would mean to change one field in that state
2022-02-01 22:01:20 +0100 <random-jellyfish> one or more fields
2022-02-01 22:01:30 +0100Rembanewaves the unfold then fold flag
2022-02-01 22:01:39 +0100 <tomsmeding> monochrom's functions were indexed by the set {0,1,2}
2022-02-01 22:01:42 +0100 <EvanR> usually when you are working with an explicitly state machine, your state really is like 9 enums
2022-02-01 22:01:47 +0100 <tomsmeding> that set doesn't need to be finite
2022-02-01 22:01:52 +0100pavonia(~user@user/siracusa)
2022-02-01 22:02:02 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 22:02:06 +0100 <EvanR> any more complicated and you go nuts trying to build it as 12 transistors
2022-02-01 22:02:14 +0100 <tomsmeding> but then I think the most natural way for a non-advanced functional programmer to think of that, is precisely like a partially applied function, like in unfoldMealy that I linked before
2022-02-01 22:02:56 +0100 <EvanR> an OOP object using a hilarious complicated record of values as its internal state is probably outside the applicability of state machines
2022-02-01 22:03:27 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 22:03:39 +0100 <EvanR> even if theoretically right
2022-02-01 22:03:47 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 22:03:55 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-01 22:04:06 +0100 <random-jellyfish> take for instance this implementation of discrete event system specifications: https://github.com/sglumac/HDevs
2022-02-01 22:04:18 +0100 <tomsmeding> your brain is a state machine -- all of the neurons have a continuous domain they can be in, and the full state of the brain is the product of all those continuous domain
2022-02-01 22:04:22 +0100 <tomsmeding> talk about infinite dimensionality :p
2022-02-01 22:04:24 +0100 <random-jellyfish> DEVS is similar to Mealy and Moore state machines but a bit more complicated
2022-02-01 22:04:42 +0100x_kuru(~xkuru@user/xkuru) (Ping timeout: 256 seconds)
2022-02-01 22:04:48 +0100 <random-jellyfish> in most books I've read about DEVS the state can also be a tuple
2022-02-01 22:04:51 +0100 <tomsmeding> what file is that type in
2022-02-01 22:04:53 +0100 <EvanR> physics works in a space of states... configuration space
2022-02-01 22:04:55 +0100 <monochrom> Well maybe I said it wrong. Stateful thinking is not the limiting one. "State has to be data" is the limiting one.
2022-02-01 22:05:01 +0100 <random-jellyfish> EvanR yes exactly
2022-02-01 22:05:17 +0100 <random-jellyfish> configuration space
2022-02-01 22:05:21 +0100 <EvanR> and a mealy machine is impossible unless the transition function is reversible
2022-02-01 22:05:25 +0100 <EvanR> enjoy
2022-02-01 22:05:28 +0100 <monochrom> Why can't your state variable store a function? Why can't some of your record fields be function fields?
2022-02-01 22:05:39 +0100 <monochrom> Why can't your state space be the function space?
2022-02-01 22:05:57 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 22:06:36 +0100 <monochrom> Oh, it's because the language was C.
2022-02-01 22:06:55 +0100 <EvanR> I've definitely had a function pointer as state in C
2022-02-01 22:07:09 +0100 <monochrom> OK Fortran.
2022-02-01 22:07:15 +0100xkuru(~xkuru@user/xkuru)
2022-02-01 22:07:27 +0100 <monochrom> But really most C programmers haven't thought of that either.
2022-02-01 22:07:32 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-01 22:09:15 +0100Sgeo_(~Sgeo@user/sgeo)
2022-02-01 22:09:56 +0100Sgeo(~Sgeo@user/sgeo) (Ping timeout: 245 seconds)
2022-02-01 22:10:10 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-01 22:10:10 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 22:10:23 +0100 <random-jellyfish> still trying to understand the advantages of this approach
2022-02-01 22:10:33 +0100 <tomsmeding> over?
2022-02-01 22:10:54 +0100 <random-jellyfish> hiding the state vs. not hiding the state
2022-02-01 22:11:03 +0100 <tomsmeding> what would your alternative definition be
2022-02-01 22:11:18 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-01 22:11:36 +0100 <EvanR> if you hide the state type from the type of the machine, then you can conveniently combine a bunch of machines in various ways
2022-02-01 22:11:48 +0100 <random-jellyfish> the state would be a field of the Mealy type, or of any state machine type
2022-02-01 22:11:50 +0100 <EvanR> if you expose the state in the type, you also can, but then the type becomes that much more complex
2022-02-01 22:12:09 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 22:12:27 +0100 <EvanR> e.g. parallel :: Machine s1 a b -> Machine s2 a b -> Machine (s1,s2) a b
2022-02-01 22:12:58 +0100 <tomsmeding> advantage of an explicit state is that you can check which state a machine is in
2022-02-01 22:13:47 +0100tomsmedingfeels that alone would make an explicit state somewhat nicer to work with, if only for debuggability
2022-02-01 22:13:58 +0100 <tomsmeding> functions don't Show very well
2022-02-01 22:14:03 +0100 <EvanR> for small machines, yeah
2022-02-01 22:14:08 +0100 <tomsmeding> true
2022-02-01 22:14:23 +0100 <EvanR> when it becomes the size of insanely profitable, addictive, MMO, ...
2022-02-01 22:14:27 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 22:14:36 +0100 <EvanR> need better tooling either way
2022-02-01 22:14:43 +0100 <tomsmeding> at that point you probably don't want to use Mealy but write a anormal program :p
2022-02-01 22:14:53 +0100 <EvanR> but my silver hammer
2022-02-01 22:15:42 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-02-01 22:15:57 +0100vysn(~vysn@user/vysn)
2022-02-01 22:16:36 +0100xff0x(~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96) (Ping timeout: 245 seconds)
2022-02-01 22:17:31 +0100xff0x(~xff0x@2001:1a81:536e:b500:21cf:8a4e:4a69:c4d4)
2022-02-01 22:17:58 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 22:18:18 +0100sagax(~sagax_nb@user/sagax) (Ping timeout: 260 seconds)
2022-02-01 22:19:19 +0100 <kaol> Only functions which have longer type signatures than definitions are serious.
2022-02-01 22:19:44 +0100 <random-jellyfish> lol
2022-02-01 22:20:30 +0100 <random-jellyfish> excluding the undefined signature I assume
2022-02-01 22:20:42 +0100 <random-jellyfish> excluding the undefined definition I assume **
2022-02-01 22:20:49 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 22:21:05 +0100 <wavemode> f = f
2022-02-01 22:21:19 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 22:21:39 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 22:21:41 +0100 <random-jellyfish> while(true) {}
2022-02-01 22:22:12 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-02-01 22:22:16 +0100 <random-jellyfish> I hope I don't get banned for writing that
2022-02-01 22:23:01 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:5d4f:b362:d270:61b0) (Quit: Leaving)
2022-02-01 22:23:36 +0100 <geekosaur> let f = f in f
2022-02-01 22:23:45 +0100simendsjo(~user@84.211.91.241) (Ping timeout: 256 seconds)
2022-02-01 22:23:53 +0100 <janus> ban this cnidaria!
2022-02-01 22:24:38 +0100 <tomsmeding> f = if True then f else undefined
2022-02-01 22:24:56 +0100 <random-jellyfish> that's a work of art
2022-02-01 22:25:01 +0100 <random-jellyfish> poetry even
2022-02-01 22:25:33 +0100 <tomsmeding> despite all that, it's a bottom :p
2022-02-01 22:25:58 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 22:26:02 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 22:27:18 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 22:27:43 +0100 <janus> can a bottom assume any type?
2022-02-01 22:28:07 +0100 <tomsmeding> % f1 = if True then f1 else undefined
2022-02-01 22:28:07 +0100 <yahb> tomsmeding:
2022-02-01 22:28:16 +0100 <tomsmeding> % f2 = if True then f2 else "no"
2022-02-01 22:28:16 +0100 <yahb> tomsmeding:
2022-02-01 22:28:20 +0100 <tomsmeding> % :t f1
2022-02-01 22:28:20 +0100 <yahb> tomsmeding: t
2022-02-01 22:28:22 +0100 <tomsmeding> % :t f2
2022-02-01 22:28:22 +0100 <yahb> tomsmeding: String
2022-02-01 22:28:26 +0100 <tomsmeding> janus: some can
2022-02-01 22:29:15 +0100 <janus> what is the correct word to describe whether or not it can?
2022-02-01 22:29:17 +0100Sgeo(~Sgeo@user/sgeo)
2022-02-01 22:29:51 +0100 <tomsmeding> not sure, I guess those are fully polymorphic bottoms
2022-02-01 22:30:34 +0100RFV1(~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net)
2022-02-01 22:31:07 +0100Sgeo_(~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
2022-02-01 22:32:01 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-01 22:32:26 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-02-01 22:32:51 +0100RFV(~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net) (Ping timeout: 245 seconds)
2022-02-01 22:32:51 +0100RFV1RFV
2022-02-01 22:33:01 +0100 <dolio> It's not exactly a meaningful question.
2022-02-01 22:34:17 +0100 <geekosaur> any value that is fully polymorphic / inhabits all types is bottom; the reverse is not necessarily true, and under the wrong circumstances (say, out of heap) any code might produce a bottom
2022-02-01 22:36:46 +0100 <wavemode> it's hard to call bottom a "value" at all. a bottom type has no values, so "producing a bottom" really just means not producing anything
2022-02-01 22:37:02 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 22:37:22 +0100 <dolio> Bottom is a value. You can think of it as a single value that ends up in all types, or as necessary structure that every type must have, but are somehow distinct. Both perspectives can be useful.
2022-02-01 22:37:25 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 22:37:55 +0100 <dolio> And some expressions with a polymorphic type can have bottom as a value, while others with monomorphic types can also have bottom as a value, under both interpretations.
2022-02-01 22:37:59 +0100 <janus> why do you say 'bottom' and not 'a bottom'? there are more than one since there is a difference between `error 'msg'` and `undefined` and an infinite loop
2022-02-01 22:38:28 +0100 <tomsmeding> (and some bottoms are fully polymorphic, and some have more specific types :p )
2022-02-01 22:38:31 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-01 22:38:37 +0100 <tomsmeding> % f2
2022-02-01 22:38:39 +0100 <geekosaur> but you can't distinguish between them, at least not within pure code. and even in IO you can only distinguish sonme of them
2022-02-01 22:38:42 +0100 <yahb> tomsmeding: "[Timed out]
2022-02-01 22:39:24 +0100briandaed(~jaroslawj@185.234.208.208.r.toneticgroup.pl) (Quit: Lost terminal)
2022-02-01 22:39:29 +0100 <dolio> In the semantics that "bottom" comes from, it doesn't make any sense for there to be multiple bottoms.
2022-02-01 22:39:31 +0100 <janus> but i can't distinguish the ackermann function called on a large input either, and we still don't call that bottom
2022-02-01 22:39:40 +0100cynomys(~cynomys@user/cynomys)
2022-02-01 22:40:30 +0100 <tomsmeding> janus: we just say it's fairly low down
2022-02-01 22:40:41 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-02-01 22:40:46 +0100yassernasc(~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Remote host closed the connection)
2022-02-01 22:42:50 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-01 22:43:00 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 250 seconds)
2022-02-01 22:43:36 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-02-01 22:44:42 +0100coot(~coot@213.134.190.95)
2022-02-01 22:44:43 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net)
2022-02-01 22:46:31 +0100Topsi(~Tobias@dyndsl-095-033-027-162.ewe-ip-backbone.de)
2022-02-01 22:48:36 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-01 22:49:58 +0100 <random-jellyfish> are GADTs important?
2022-02-01 22:52:01 +0100 <janus> no, they will fade into history when dependent types arrive :O
2022-02-01 22:52:29 +0100 <EvanR> sometimes type inference works with GADTs
2022-02-01 22:52:47 +0100 <dolio> GADTs are called inductive families in dependently typed languages.
2022-02-01 22:52:53 +0100 <dolio> And they're used all the time.
2022-02-01 22:53:23 +0100 <random-jellyfish> they scare me, I watched like 3 hour long videos and I still couldn't process them, starting to feel like fp isn't my game
2022-02-01 22:53:26 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-01 22:53:45 +0100 <janus> all the time? they are used thrice in this codebase of 900 modules
2022-02-01 22:53:46 +0100alp(~alp@user/alp) (Remote host closed the connection)
2022-02-01 22:54:00 +0100 <EvanR> I've never learned 3 hours worth of stuff from 3 hour videos
2022-02-01 22:54:05 +0100alp(~alp@user/alp)
2022-02-01 22:54:08 +0100 <EvanR> try a 1 minute video
2022-02-01 22:54:30 +0100zebrag(~chris@user/zebrag)
2022-02-01 22:55:11 +0100 <tomsmeding> janus: https://tomsmeding.com/f/ackermann.png
2022-02-01 22:55:26 +0100alp(~alp@user/alp) (Remote host closed the connection)
2022-02-01 22:55:45 +0100alp(~alp@user/alp)
2022-02-01 22:57:07 +0100alp(~alp@user/alp) (Remote host closed the connection)
2022-02-01 22:57:10 +0100 <random-jellyfish> bottom is self similar
2022-02-01 22:57:21 +0100zebrag(~chris@user/zebrag) (Client Quit)
2022-02-01 22:57:26 +0100alp(~alp@user/alp)
2022-02-01 22:57:42 +0100 <janus> ackermann is bottom, but misaligned
2022-02-01 22:57:51 +0100 <monochrom> random-jellyfish: I don't think of either representation technique as "better than the other" but you always should learn both to broaden your mind and maybe each has its use case.
2022-02-01 22:58:08 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
2022-02-01 22:58:20 +0100 <tomsmeding> janus: considered equal by most but the most nitpickery
2022-02-01 22:59:09 +0100alp_(~alp@user/alp)
2022-02-01 22:59:45 +0100 <janus> as the first parameter approaches 0, less people are considered nitpickers
2022-02-01 22:59:50 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 23:00:19 +0100 <tomsmeding> isn't it infinity instead of 0?
2022-02-01 23:00:29 +0100 <tomsmeding> I thought A was monotonically increasing
2022-02-01 23:00:35 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-01 23:00:54 +0100alp__(~alp@user/alp)
2022-02-01 23:00:55 +0100 <monochrom> random-jellyfish: Ah I didn't read your recent conversation. I was still referring to how to represent Mealy machine states.
2022-02-01 23:01:07 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
2022-02-01 23:01:17 +0100 <monochrom> For GADT, I would refer to the motivating example in the GHC user's guide THE END.
2022-02-01 23:01:35 +0100 <janus> if the first parameter is 0, the function is (+1). since nobody considers (+1) to be bottom, it is a small amount of people that are considered nitpicking
2022-02-01 23:02:01 +0100alp(~alp@user/alp) (Ping timeout: 245 seconds)
2022-02-01 23:02:20 +0100 <monochrom> Generally, unidirectional watching videos hits diminishing return very quickly, 3 hours is not an improvement over 30 minutes, especially if the 30-minutes version is done properly.
2022-02-01 23:02:38 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Ping timeout: 260 seconds)
2022-02-01 23:02:55 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 23:03:13 +0100 <monochrom> Seriously in the case of GADT, the GHC user's guide example takes only 5 minutes.
2022-02-01 23:03:22 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-01 23:03:26 +0100 <EvanR> I'm wondering if there could be a 5 second animated gif
2022-02-01 23:03:42 +0100Kaiepi(~Kaiepi@156.34.47.253)
2022-02-01 23:03:48 +0100alp_(~alp@user/alp) (Ping timeout: 250 seconds)
2022-02-01 23:03:56 +0100 <monochrom> Beyond that, if you still don't find it something you have always wanted, then it is not something you have always wanted. Nothing wrong with that.
2022-02-01 23:04:12 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-01 23:05:23 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-02-01 23:05:26 +0100vysn(~vysn@user/vysn) (Ping timeout: 260 seconds)
2022-02-01 23:05:32 +0100alp__(~alp@user/alp) (Ping timeout: 250 seconds)
2022-02-01 23:05:40 +0100 <random-jellyfish> I better stop watching those lengthy tech talks
2022-02-01 23:05:54 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-02-01 23:05:58 +0100 <random-jellyfish> such a bad time consuming habbit
2022-02-01 23:06:23 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-01 23:06:49 +0100 <Rembane> There are worse ones.
2022-02-01 23:06:56 +0100 <Rembane> It's all about what you want to achieve.
2022-02-01 23:07:07 +0100 <hpc> i have a youtube-dl alias somewhere that downloads subtitles and formats it for reading
2022-02-01 23:07:18 +0100 <janus> tomsmeding: oh you're right, sorry
2022-02-01 23:07:28 +0100 <random-jellyfish> hpc sounds awesome
2022-02-01 23:07:47 +0100 <hpc> it's handy, although i still need to fix some issues with the actual formatting part of it
2022-02-01 23:07:50 +0100 <monochrom> One of the valuable skills learned ("learned") in grad school is to take only 5 minutes to skim a paper/talk and decide "do I really want to spend hours to study the whole thing".
2022-02-01 23:08:03 +0100 <hpc> maybe write a proper parser for it
2022-02-01 23:08:06 +0100 <tomsmeding> janus: as the first parameter goes to zero the nitpicking fraction certainly converges, but to 1, not to 0
2022-02-01 23:08:11 +0100 <monochrom> "learned" because no one taught you explicitly, it's kind of sink-or-swim. :)
2022-02-01 23:08:19 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2022-02-01 23:08:45 +0100 <hpc> that seems like the kind of thing you would tell someone to learn without actually teaching them lol
2022-02-01 23:08:54 +0100RFV(~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net) (Quit: RFV)
2022-02-01 23:09:18 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
2022-02-01 23:09:20 +0100 <tomsmeding> it's curious how many things people are supposed to "learn" without it ever being taught to them
2022-02-01 23:09:31 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-01 23:09:35 +0100 <hpc> tacit knowledge is a hell of a thing
2022-02-01 23:09:42 +0100 <dolio> That's what brains do.
2022-02-01 23:09:52 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 250 seconds)
2022-02-01 23:10:42 +0100 <EvanR> university is about the platform effect, all the smart people are there, you pay to just be in the same region of spacetime
2022-02-01 23:10:43 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 23:10:58 +0100 <janus> dolio: when you say GADTs are inductive families, is that because they have the same expressive power? in that i can take any haskell GADT, translate it to "inductive" in Coq or Agda, and it would work?
2022-02-01 23:11:32 +0100 <monochrom> Well, to be fair, sometimes you happen upon examples. You happen to run into your supervisor when they are skim, you notice how they do it.
2022-02-01 23:11:43 +0100 <janus> but don't the coq/agda versions support even more powerful typing with that syntax?
2022-02-01 23:11:43 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 23:11:45 +0100 <dolio> I mean they're the same thing, but with fewer restrictions.
2022-02-01 23:12:02 +0100 <monochrom> s/they are skim/they are skimming/
2022-02-01 23:12:15 +0100 <EvanR> or like me you're too lazy to read so many papers so you get good at skimming
2022-02-01 23:12:18 +0100 <janus> ok, so it's like a horse is a car, but faster and with less mood swings
2022-02-01 23:12:26 +0100 <dolio> Like the indices don't have to range over types, but a particular type.
2022-02-01 23:13:46 +0100yauhsien_(~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-02-01 23:14:00 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
2022-02-01 23:15:46 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-01 23:16:01 +0100 <dolio> No, it's more like deciding to say "sedan" instead of "four door auto mobile (FDAM)."
2022-02-01 23:16:48 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-02-01 23:16:49 +0100 <monochrom> I feel that I greatly misunderstand that analogy. :)
2022-02-01 23:17:33 +0100 <monochrom> I am imagining "saying 'cloud computing' instead of 'distributed computing'" SORRY!
2022-02-01 23:18:26 +0100tomsmedingrecalls a visitor in this channel a couple of hours ago
2022-02-01 23:18:31 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-02-01 23:19:34 +0100 <dolio> Distributed computing is too clear. You need to invent a much longer word that you always feel the need to use an uninformative acronym for.
2022-02-01 23:19:44 +0100 <dolio> Er, longer phrase.
2022-02-01 23:21:57 +0100 <janus> ok so to sum up: GADTs are a particular kind of 'inductive families'. there are inductive families that cannot be expressed as GADTs, so we say that 'inductive familiy' is more powerful than 'GADT', which is more restrictive. correct?
2022-02-01 23:22:05 +0100 <dolio> Also the phrase should be uninformative, too. :)
2022-02-01 23:22:59 +0100 <dolio> I guess. GHC can promote all kinds of things to types now, so it's a lot more complicated to give examples of things you can't do with GADTs.
2022-02-01 23:23:06 +0100 <random-jellyfish> I'll just stick to ADTs for now
2022-02-01 23:23:35 +0100 <monochrom> DUCO = distributed ubiquitous computing operations >:)
2022-02-01 23:23:51 +0100 <random-jellyfish> are dependent data types supported now in ghc?
2022-02-01 23:23:59 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-02-01 23:24:54 +0100 <sshine> THAC0
2022-02-01 23:25:32 +0100 <dolio> The difference isn't really in the core idea, but in how many layers of hacks you have to pile on to do the same thing in GHC as in something meant to be dependently typed.
2022-02-01 23:27:03 +0100 <ephemient> to make Haskell cloud-compatible, we should start abbreviating it as h5l
2022-02-01 23:27:09 +0100meltedbrain_y2k(~tekserf@87.125.156.8) (Quit: Leaving.)
2022-02-01 23:27:30 +0100 <monochrom> haha you monster
2022-02-01 23:27:42 +0100 <janus> ephemient: just use https://wiki.haskell.org/Cloud_Haskell
2022-02-01 23:27:42 +0100 <dolio> A lot of obvious ideas for things you can do in a dependently typed language that you can't do in GHC aren't actually good ideas anyway.
2022-02-01 23:29:14 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 260 seconds)
2022-02-01 23:29:33 +0100 <dolio> With respect to inductive families, that is.
2022-02-01 23:30:43 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net)
2022-02-01 23:34:06 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 23:34:23 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 23:35:16 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-02-01 23:36:14 +0100chomwitt(~chomwitt@athedsl-02411.home.otenet.gr) (Remote host closed the connection)
2022-02-01 23:36:24 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 23:36:45 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 23:37:08 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-01 23:38:37 +0100RFV(~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net)
2022-02-01 23:38:40 +0100RFV(~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net) (Client Quit)
2022-02-01 23:39:02 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-02-01 23:41:23 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-01 23:44:16 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-01 23:45:34 +0100lbseale_(~ep1ctetus@user/ep1ctetus)
2022-02-01 23:46:16 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-cdff-5348-04ff-b4e2.res6.spectrum.com) (Read error: Connection reset by peer)
2022-02-01 23:46:20 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-01 23:46:39 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-02-01 23:47:52 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com)
2022-02-01 23:48:41 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Ping timeout: 245 seconds)
2022-02-01 23:50:10 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 23:50:27 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 256 seconds)
2022-02-01 23:50:51 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 23:51:01 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-02-01 23:51:11 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-01 23:51:43 +0100burnsidesLlama(~burnsides@client-8-85.eduroam.oxuni.org.uk)
2022-02-01 23:53:41 +0100 <zzz> why do we need EmptyDataDeriving?
2022-02-01 23:54:17 +0100 <zzz> i mean, why is this an extension an not the default and only option?
2022-02-01 23:55:07 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-02-01 23:55:44 +0100 <monochrom> I guess it was an oversight when they wrote Haskell 2010.
2022-02-01 23:56:07 +0100burnsidesLlama(~burnsides@client-8-85.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds)
2022-02-01 23:58:44 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-01 23:58:59 +0100michalz(~michalz@185.246.204.89) (Remote host closed the connection)
2022-02-01 23:59:14 +0100alp(~alp@user/alp)
2022-02-01 23:59:39 +0100 <zzz> right
2022-02-01 23:59:44 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)