2022/04/30

2022-04-30 00:00:47 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 00:02:32 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-30 00:03:15 +0200 <abastro[m]> How is haskell playground formatting going
2022-04-30 00:04:39 +0200king_gs(~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
2022-04-30 00:07:33 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 00:07:51 +0200vorpuni(~pvorp@2001:861:3881:c690:e32d:1997:1f61:d569) (Quit: bye)
2022-04-30 00:09:00 +0200dcoutts_(~duncan@host86-151-9-6.range86-151.btcentralplus.com)
2022-04-30 00:11:40 +0200dcoutts__(~duncan@host86-151-9-6.range86-151.btcentralplus.com) (Ping timeout: 250 seconds)
2022-04-30 00:13:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 00:15:43 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-04-30 00:16:19 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-04-30 00:19:52 +0200kaph(~kaph@net-2-42-128-205.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-04-30 00:20:03 +0200kaph(~kaph@net-2-42-128-205.cust.vodafonedsl.it)
2022-04-30 00:20:14 +0200alp_(~alp@user/alp) (Remote host closed the connection)
2022-04-30 00:20:33 +0200alp_(~alp@user/alp)
2022-04-30 00:21:38 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-04-30 00:23:16 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-30 00:27:10 +0200random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 252 seconds)
2022-04-30 00:27:31 +0200king_gs(~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
2022-04-30 00:28:08 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 00:31:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-04-30 00:31:17 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 00:32:53 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-30 00:32:58 +0200shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2022-04-30 00:33:20 +0200shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-04-30 00:33:23 +0200lainon(~lainon@2601:7c0:c500:4d20:5d28:87a4:ed98:5a13)
2022-04-30 00:35:35 +0200acidjnk(~acidjnk@p200300d0c73b450341d4da31930f8e6b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-30 00:36:15 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 276 seconds)
2022-04-30 00:42:45 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 276 seconds)
2022-04-30 00:45:17 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 00:45:20 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-30 00:46:46 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-04-30 00:47:29 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-30 00:51:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 00:51:27 +0200dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 260 seconds)
2022-04-30 00:53:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-30 00:57:41 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-04-30 01:02:07 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 01:03:13 +0200king_gs(~Thunderbi@187.201.77.157) (Quit: king_gs)
2022-04-30 01:03:30 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 01:06:33 +0200 <energizer> is it possible to somehow compare classes? like Floating < Fractional < Num
2022-04-30 01:09:19 +0200stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-04-30 01:09:48 +0200king_gs(~Thunderbi@187.201.77.157) (Ping timeout: 246 seconds)
2022-04-30 01:11:01 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-04-30 01:14:39 +0200 <geekosaur> that question sounds confused
2022-04-30 01:16:32 +0200Pickchea(~private@user/pickchea)
2022-04-30 01:16:35 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-04-30 01:16:53 +0200 <energizer> there's an ordering
2022-04-30 01:17:14 +0200 <energizer> how can i take two classes and compare them?
2022-04-30 01:17:23 +0200 <[Leary]> With QuantifiedConstraints I suppose you can define and use a constraint synonym like `type c1 <= c2 = forall a. c1 a => c2 a`, but I wonder where you could meaningfully use it?
2022-04-30 01:17:43 +0200 <exarkun> energizer: There are lots of possible orderings. But does Haskell know about any of them?
2022-04-30 01:18:08 +0200 <energizer> haskell knows Fractional a => Floating a
2022-04-30 01:18:34 +0200 <energizer> which presumably implies Floating < Fractional fsvo <
2022-04-30 01:18:37 +0200 <exarkun> True, but that's not an ordering itself. It's a constraint. You could build an ordering out of it.
2022-04-30 01:19:24 +0200 <exarkun> Or you could say that you don't want an ordering of the typeclasses but instead you want to know a graph made out of typeclasses and their constraint relationships to each other.
2022-04-30 01:19:26 +0200 <geekosaur> right, but Haskell also lets you say things like data Foo a … ; instance Monad Foo where … ; instance Applicative Foo where { pure = return; <*> = ap; }
2022-04-30 01:19:38 +0200 <geekosaur> i.e. the relationship is not a strict one
2022-04-30 01:20:17 +0200 <exarkun> energizer: What are you going to do with the info?
2022-04-30 01:20:53 +0200 <energizer> exarkun: let's say i want to toposort them
2022-04-30 01:23:26 +0200 <geekosaur> toposort doesn't require ordering, just the => relationship (see tsort on unix)
2022-04-30 01:24:13 +0200 <energizer> what distinction are you making between => and ordering?
2022-04-30 01:24:51 +0200 <geekosaur> what distinction are *you* making between them? I'm not the onelooking for ordering
2022-04-30 01:25:31 +0200 <exarkun> energizer: yea but why
2022-04-30 01:25:38 +0200 <exarkun> energizer: if it's purely academic, cool, just say that :)
2022-04-30 01:26:02 +0200 <janus> energizer: i always read '=>' more like 'implies'
2022-04-30 01:26:55 +0200 <energizer> exarkun: sure, it's just curiosity i guess
2022-04-30 01:26:58 +0200 <janus> energizer: if you like 'propositions are types' it makes a lot of sense too, since it says 'if you have this precondition, you can derive this'
2022-04-30 01:27:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-30 01:28:25 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 248 seconds)
2022-04-30 01:28:33 +0200 <geekosaur> except that doesn't quite work. You can have Fractional without Floating
2022-04-30 01:29:12 +0200 <energizer> :info Floating
2022-04-30 01:29:15 +0200 <geekosaur> I read `Fractional a => Floating a where` as `given a type "a" which has a Fractional instance, it has a Floating instance if`
2022-04-30 01:29:49 +0200 <energizer> ok
2022-04-30 01:29:54 +0200 <geekosaur> the standard types that have Floating are Float and Double. But Rational is a Fractional without Floating
2022-04-30 01:30:36 +0200 <energizer> i said it backwards
2022-04-30 01:30:47 +0200 <energizer> any Floating is also Fractional
2022-04-30 01:30:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-30 01:32:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 01:35:14 +0200mmhat(~mmh@55d4d7fb.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-30 01:38:59 +0200 <geekosaur> also you can get some decidedly odd relationships if you take this stuff too seriously. you can declare a Num instance for any Applicative, for instance (instance Applicative a => Num a where …)
2022-04-30 01:40:12 +0200Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-04-30 01:42:17 +0200 <energizer> i dont get it
2022-04-30 01:43:36 +0200 <energizer> unless /all/ Num instances are Applicative, it doesnt seem like a problem
2022-04-30 01:44:03 +0200 <geekosaur> no, but it'll complicate your toposort
2022-04-30 01:44:35 +0200 <monochrom> Please refer to the Haskell 2010 Report which would state that Floating is a "subclass" of Fractional, for example.
2022-04-30 01:44:43 +0200 <geekosaur> and you have that backwards. (and I left out a part, bad me. instance (Num a, Applicative f) => Num (f a) where)
2022-04-30 01:46:23 +0200 <monochrom> But perhaps knowing a magic word is less important than wtf does that word mean in the context of Haskell semantics.
2022-04-30 01:46:25 +0200 <geekosaur> I still think that makes it sound more OO than it is
2022-04-30 01:46:27 +0200 <energizer> is it possible to write `isSubclass`
2022-04-30 01:46:46 +0200smitop2(uid328768@id-328768.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-30 01:47:00 +0200 <[Leary]> The relation as I defined it is a partial order if you relax your notion of equality a little, and should correspond to superclasses/subclasses. I don't think you can get funky results by writing funky /instances/, only funky /classes/.
2022-04-30 01:47:27 +0200 <monochrom> Well yes but the ship has sailed. It all went wrong on day one starting with "class Fractional"
2022-04-30 01:47:57 +0200 <geekosaur> energizer, neither types nor constraints exist at value level. in other words, what would you call isSubclass on?
2022-04-30 01:48:39 +0200 <energizer> geekosaur: i think that's the answer i was looking for
2022-04-30 01:49:20 +0200 <geekosaur> @let isSubclass :: Constraint -> Constraint -> Bool
2022-04-30 01:49:21 +0200 <lambdabot> /sandbox/tmp/.L.hs:176:1: error:
2022-04-30 01:49:21 +0200 <lambdabot> The type signature for ‘isSubclass’ lacks an accompanying binding
2022-04-30 01:49:21 +0200 <lambdabot> |
2022-04-30 01:49:33 +0200 <geekosaur> huh, I expected an error before that
2022-04-30 01:49:42 +0200 <geekosaur> @let isSubclass :: Constraint -> Constraint -> Bool; isSubclass = undefined
2022-04-30 01:49:44 +0200 <lambdabot> Defined.
2022-04-30 01:49:51 +0200 <geekosaur> oh really
2022-04-30 01:50:19 +0200 <monochrom> Perhaps type-in-type :)
2022-04-30 01:50:22 +0200 <geekosaur> somehow I suspect fancy type level machinery is biting me in the butt and this doesn't mean what I think
2022-04-30 01:50:36 +0200 <geekosaur> well, there was a point where Constraint and Type were the same thing
2022-04-30 01:51:06 +0200 <geekosaur> > Fractional `isSubclass` Num
2022-04-30 01:51:08 +0200 <lambdabot> error:
2022-04-30 01:51:08 +0200 <lambdabot> • Data constructor not in scope: Fractional :: Constraint
2022-04-30 01:51:08 +0200 <lambdabot> • Perhaps you meant variable ‘rational’ (imported from Text.PrettyPrint....
2022-04-30 01:51:34 +0200 <geekosaur> right, not even doing what I intended :)
2022-04-30 01:51:37 +0200 <geekosaur> @undefine
2022-04-30 01:51:37 +0200 <lambdabot> Undefined.
2022-04-30 01:51:55 +0200 <geekosaur> @let {-# LANGUAGE ConstraintKinds #-}
2022-04-30 01:51:56 +0200 <lambdabot> Defined.
2022-04-30 01:52:02 +0200 <geekosaur> @let isSubclass :: Constraint -> Constraint -> Bool; isSubclass = undefined
2022-04-30 01:52:03 +0200 <lambdabot> Defined.
2022-04-30 01:52:08 +0200 <geekosaur> > Fractional `isSubclass` Num
2022-04-30 01:52:09 +0200 <lambdabot> error:
2022-04-30 01:52:09 +0200 <lambdabot> • Data constructor not in scope: Fractional :: Constraint
2022-04-30 01:52:09 +0200 <lambdabot> • Perhaps you meant variable ‘rational’ (imported from Text.PrettyPrint....
2022-04-30 01:52:45 +0200 <geekosaur> right, this is taking what I wrote as something completely different
2022-04-30 01:54:01 +0200 <hpc> first off, Fractional isn't :: Constraint
2022-04-30 01:54:50 +0200 <hpc> :t (Fractional Rational) `isSubclass` (Num Rational)
2022-04-30 01:54:51 +0200 <lambdabot> error:
2022-04-30 01:54:51 +0200 <lambdabot> • Data constructor not in scope: Fractional :: t0 -> Constraint
2022-04-30 01:54:51 +0200 <lambdabot> • Perhaps you meant variable ‘rational’ (imported from Text.PrettyPrint.HughesPJ)
2022-04-30 01:54:54 +0200 <monochrom> "Constraint :: Type" is true. Whenever "Foo :: Type" is true, "f :: Foo -> ..." is legal.
2022-04-30 01:55:11 +0200 <hpc> :k Fractional
2022-04-30 01:55:12 +0200 <lambdabot> * -> Constraint
2022-04-30 01:55:28 +0200 <hpc> ugh
2022-04-30 01:55:53 +0200 <hpc> @let {-# LANGUAGE DataKinds #-}
2022-04-30 01:55:54 +0200 <lambdabot> Defined.
2022-04-30 01:55:56 +0200 <hpc> :t (Fractional Rational) `isSubclass` (Num Rational)
2022-04-30 01:55:57 +0200 <lambdabot> error:
2022-04-30 01:55:57 +0200 <lambdabot> • Data constructor not in scope: Fractional :: t0 -> Constraint
2022-04-30 01:55:57 +0200 <lambdabot> • Perhaps you meant variable ‘rational’ (imported from Text.PrettyPrint.HughesPJ)
2022-04-30 01:56:14 +0200 <monochrom> "Fractional Rational :: Constraint" both type-checks and is true. However, "Fractional Rational" is not a term-level thing.
2022-04-30 01:56:25 +0200 <hpc> :k (Fractional Rational) `isSubclass` (Num Rational)
2022-04-30 01:56:26 +0200 <lambdabot> error: Not in scope: type variable ‘isSubclass’
2022-04-30 01:56:30 +0200 <hpc> ah right, because :t
2022-04-30 01:56:36 +0200 <hpc> or >
2022-04-30 01:57:15 +0200 <hpc> :k (Fractional Rational) `'isSubclass` (Num Rational)
2022-04-30 01:57:16 +0200 <lambdabot> error: parse error on input ‘'’
2022-04-30 01:57:39 +0200 <monochrom> Type-level syntax does not support `div` :)
2022-04-30 01:57:48 +0200ahammer(~ahammer@157.122.68.227)
2022-04-30 01:57:50 +0200fernand(uid551405@id-551405.tinside.irccloud.com)
2022-04-30 01:58:22 +0200 <monochrom> Term-level "isSubclass" is not promoted to type level unless you use the templates from the singleton library...
2022-04-30 01:58:27 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
2022-04-30 01:58:42 +0200 <monochrom> You may have better luck with Lean.
2022-04-30 01:59:10 +0200 <hpc> yeah, it's easy to take for granted how far the haskell type-level language has come sometimes
2022-04-30 01:59:36 +0200 <hpc> oh well
2022-04-30 01:59:46 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2022-04-30 02:01:19 +0200sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-04-30 02:01:37 +0200ahammer(~ahammer@157.122.68.227) (Client Quit)
2022-04-30 02:01:44 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 250 seconds)
2022-04-30 02:03:45 +0200ahammer(~ahammer@157.122.68.227)
2022-04-30 02:04:39 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 02:07:24 +0200 <abastro[m]> geekosaur: toposort works on partial ordering
2022-04-30 02:07:54 +0200ahammer(~ahammer@157.122.68.227) (Ping timeout: 246 seconds)
2022-04-30 02:08:04 +0200ahammer(~ahammer@157.122.68.227)
2022-04-30 02:09:02 +0200 <abastro[m]> Oh wait. Ya cycle could exist. Meh
2022-04-30 02:09:18 +0200shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
2022-04-30 02:12:03 +0200 <geekosaur> https://paste.tomsmeding.com/3TlfHSHV
2022-04-30 02:13:06 +0200ahammer(~ahammer@157.122.68.227) (Ping timeout: 276 seconds)
2022-04-30 02:13:27 +0200 <geekosaur> (lorder and tsort were how we built static archives before someone realized nobody used ar for anything but those and built the functionality in)
2022-04-30 02:13:48 +0200shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-04-30 02:13:50 +0200 <geekosaur> (of course, then came debian…)
2022-04-30 02:17:04 +0200xff0x_(~xff0x@om126167099166.29.openmobile.ne.jp)
2022-04-30 02:17:57 +0200 <abastro[m]> Oh
2022-04-30 02:22:40 +0200ahammer(~ahammer@157.122.68.227)
2022-04-30 02:26:31 +0200Guest|18(~Guest|18@75-164-146-210.ptld.qwest.net)
2022-04-30 02:26:48 +0200ahammer(~ahammer@157.122.68.227) (Ping timeout: 246 seconds)
2022-04-30 02:27:00 +0200king_gs1(~Thunderbi@187.201.77.157)
2022-04-30 02:27:24 +0200king_gs(~Thunderbi@187.201.77.157) (Ping timeout: 276 seconds)
2022-04-30 02:27:24 +0200king_gs1king_gs
2022-04-30 02:28:21 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-04-30 02:31:26 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-30 02:32:58 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-30 02:40:10 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-30 02:40:10 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-30 02:40:10 +0200wroathe(~wroathe@user/wroathe)
2022-04-30 02:41:50 +0200alp_(~alp@user/alp) (Remote host closed the connection)
2022-04-30 02:42:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-30 02:42:08 +0200alp_(~alp@user/alp)
2022-04-30 02:42:19 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds)
2022-04-30 02:44:33 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-30 02:44:42 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-04-30 02:45:20 +0200yuv4199(~yuv4199@user/yuv4199)
2022-04-30 02:45:37 +0200king_gs(~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
2022-04-30 02:46:00 +0200 <yuv4199> Which functor product library use for `(:*:)`?
2022-04-30 02:47:25 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 02:47:45 +0200 <yuv4199> There are many... GHC.Generics seems wrong, then there are different libraries.. I dont want to use Data.Functor.Product
2022-04-30 02:48:02 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 02:48:33 +0200Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-04-30 02:54:38 +0200 <abastro[m]> Wdym functor product library?
2022-04-30 02:54:56 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 02:56:22 +0200ahammer(~ahammer@157.122.68.183)
2022-04-30 02:56:56 +0200alp_(~alp@user/alp) (Ping timeout: 248 seconds)
2022-04-30 02:58:18 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-04-30 02:59:56 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 272 seconds)
2022-04-30 03:02:50 +0200 <EvanR> and what is wrong with Data.Functor.Product
2022-04-30 03:08:20 +0200ahammer(~ahammer@157.122.68.183) (Remote host closed the connection)
2022-04-30 03:08:21 +0200king_gs(~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
2022-04-30 03:08:41 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 03:10:32 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-04-30 03:12:33 +0200 <yuv4199> I cannot "rename" it to (:*:) because it gives pattern-match warnings, eg. functor-combinators on Hackage.
2022-04-30 03:13:05 +0200ahammer(~ahammer@157.122.68.183)
2022-04-30 03:13:13 +0200 <yuv4199> And I didn't understand the Show1 constraint for Show last time I used it :(
2022-04-30 03:14:24 +0200ahammer(~ahammer@157.122.68.183) (Read error: Connection reset by peer)
2022-04-30 03:14:58 +0200ahammer(~ahammer@157.122.68.183)
2022-04-30 03:15:08 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 03:15:43 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-30 03:16:03 +0200Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.198)
2022-04-30 03:16:43 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-04-30 03:18:01 +0200king_gs(~Thunderbi@187.201.77.157) (Ping timeout: 256 seconds)
2022-04-30 03:19:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 03:20:24 +0200 <EvanR> an operator starting with : has to be a data constructor
2022-04-30 03:22:00 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 276 seconds)
2022-04-30 03:22:44 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2022-04-30 03:27:51 +0200ahammer(~ahammer@157.122.68.183) (Ping timeout: 276 seconds)
2022-04-30 03:31:07 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 03:32:24 +0200Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.198) (Quit: Leaving)
2022-04-30 03:34:56 +0200kimjetwav(~user@2607:fea8:2362:b400:bc31:2c26:50a2:8acd)
2022-04-30 03:39:38 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-30 03:40:23 +0200Guest|18(~Guest|18@75-164-146-210.ptld.qwest.net) (Quit: Connection closed)
2022-04-30 03:40:44 +0200stackdroid18(~stackdroi@user/stackdroid)
2022-04-30 03:42:38 +0200andrey_(~andrey@p200300dbcf2cae00473664218599dd86.dip0.t-ipconnect.de)
2022-04-30 03:43:11 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2022-04-30 03:43:36 +0200Tuplanolla(~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.)
2022-04-30 03:44:13 +0200BRobersonO(~BRoberson@97.104.41.119)
2022-04-30 03:45:27 +0200BRobersonO(~BRoberson@97.104.41.119) (Client Quit)
2022-04-30 03:45:32 +0200andrey__(~andrey@p200300dbcf087900604788b0cc6ab984.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-30 03:45:46 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-04-30 03:46:10 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2022-04-30 03:47:34 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-30 03:49:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 03:49:54 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-04-30 03:52:17 +0200 <jackdk> People sometimes use (:*:) from GHC.Generics as a functor product, despite it coming from an "odd" module
2022-04-30 03:55:24 +0200h2t(~h2t@user/h2t)
2022-04-30 04:01:04 +0200anomal(~anomal@87.227.196.109)
2022-04-30 04:07:17 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
2022-04-30 04:07:27 +0200fernand(uid551405@id-551405.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-30 04:10:00 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2022-04-30 04:15:57 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
2022-04-30 04:18:35 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-04-30 04:18:35 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-04-30 04:18:35 +0200finn_elijaFinnElija
2022-04-30 04:20:42 +0200xff0x_(~xff0x@om126167099166.29.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-30 04:24:30 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-04-30 04:25:52 +0200yuv4199(~yuv4199@user/yuv4199) (Ping timeout: 252 seconds)
2022-04-30 04:31:32 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-30 04:32:41 +0200abastro(~abab9579@220.75.216.63)
2022-04-30 04:33:40 +0200td_(~td@muedsl-82-207-238-122.citykom.de) (Ping timeout: 272 seconds)
2022-04-30 04:34:47 +0200td_(~td@muedsl-82-207-238-189.citykom.de)
2022-04-30 04:37:48 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-30 04:37:49 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-30 04:42:09 +0200lainon(~lainon@2601:7c0:c500:4d20:5d28:87a4:ed98:5a13) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-04-30 04:42:51 +0200lainon(~lainon@2601:7c0:c500:4d20:5d28:87a4:ed98:5a13)
2022-04-30 04:44:57 +0200cyanide4dinner(~cyanide4d@171.61.13.123)
2022-04-30 04:46:09 +0200img(~img@user/img)
2022-04-30 04:48:34 +0200lainon(~lainon@2601:7c0:c500:4d20:5d28:87a4:ed98:5a13) (Ping timeout: 250 seconds)
2022-04-30 04:49:23 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-30 04:51:41 +0200Guest96(~Guest96@240e:306:2081:b6d5:8d9:2133:ce46:bb8)
2022-04-30 04:52:05 +0200x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2022-04-30 04:58:15 +0200Guest96(~Guest96@240e:306:2081:b6d5:8d9:2133:ce46:bb8) ()
2022-04-30 05:11:23 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Ping timeout: 260 seconds)
2022-04-30 05:23:22 +0200euandreh(~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
2022-04-30 05:33:33 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 05:47:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 05:51:45 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 05:52:48 +0200abastro(~abab9579@220.75.216.63) (Ping timeout: 276 seconds)
2022-04-30 06:00:29 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
2022-04-30 06:03:55 +0200dashkal(~dashkal@user/dashkal)
2022-04-30 06:05:30 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-04-30 06:06:21 +0200notzmv(~zmv@user/notzmv)
2022-04-30 06:06:35 +0200stackdroid18(~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-04-30 06:06:36 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2022-04-30 06:08:42 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-30 06:08:42 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-30 06:08:42 +0200wroathe(~wroathe@user/wroathe)
2022-04-30 06:11:14 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-04-30 06:12:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-30 06:20:24 +0200 <abastro[m]> Oh that is interesting
2022-04-30 06:33:49 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 06:37:59 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 240 seconds)
2022-04-30 06:43:12 +0200cyanide4dinner(~cyanide4d@171.61.13.123) (Quit: cyanide4dinner)
2022-04-30 06:47:56 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2022-04-30 06:49:31 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-30 06:49:31 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-30 06:49:31 +0200wroathe(~wroathe@user/wroathe)
2022-04-30 06:59:17 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-04-30 06:59:33 +0200gentauro(~gentauro@user/gentauro)
2022-04-30 07:03:44 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
2022-04-30 07:04:47 +0200mtjm(~mutantmel@2604:a880:2:d0::208b:d001)
2022-04-30 07:12:10 +0200jargon(~jargon@174-22-206-112.phnx.qwest.net) (Quit: bbl exhausted and need sleep)
2022-04-30 07:14:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 07:17:45 +0200razetime(~quassel@117.254.34.87)
2022-04-30 07:18:06 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 07:19:15 +0200razetime(~quassel@117.254.34.87) (Client Quit)
2022-04-30 07:19:30 +0200razetime(~quassel@117.254.34.87)
2022-04-30 07:22:24 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-04-30 07:26:46 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.5)
2022-04-30 07:32:32 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-04-30 07:36:07 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 07:37:30 +0200abastro(~abab9579@220.75.216.63)
2022-04-30 07:41:26 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 07:43:13 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 07:45:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 07:45:35 +0200inversed(~inversed@94.13.111.159) (Ping timeout: 272 seconds)
2022-04-30 07:45:39 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 246 seconds)
2022-04-30 07:46:04 +0200Pickchea(~private@user/pickchea)
2022-04-30 07:49:26 +0200inversed(~inversed@94.13.111.159)
2022-04-30 07:53:18 +0200ojsaki(~ojsaki@84.64.137.140) (Quit: leaving)
2022-04-30 07:58:10 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-04-30 08:01:13 +0200ojsaki(~ojsaki@84.64.137.140)
2022-04-30 08:03:44 +0200xkuru(~xkuru@user/xkuru)
2022-04-30 08:04:38 +0200xkuru(~xkuru@user/xkuru) (Remote host closed the connection)
2022-04-30 08:05:02 +0200xkuru(~xkuru@user/xkuru)
2022-04-30 08:09:18 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 276 seconds)
2022-04-30 08:12:02 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 08:14:50 +0200frost(~frost@user/frost)
2022-04-30 08:16:59 +0200coot(~coot@213.134.190.95)
2022-04-30 08:19:48 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 08:21:34 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 08:22:23 +0200phma(phma@2001:5b0:212a:9cb8:7117:122:dd12:889b) (Read error: Connection reset by peer)
2022-04-30 08:23:06 +0200phma(~phma@host-67-44-208-188.hnremote.net)
2022-04-30 08:30:40 +0200 <tomsmeding> abastro[m]: what do you mean with formatting? highlighting in the code editor?
2022-04-30 08:35:08 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-30 08:41:34 +0200dashkal(~dashkal@user/dashkal) (Quit: WeeChat 3.5)
2022-04-30 08:43:38 +0200acidjnk(~acidjnk@p200300d0c73b4502b9c6c7f353397b6d.dip0.t-ipconnect.de)
2022-04-30 08:47:02 +0200dust_(~dust@2409:4071:2283:5117:f276:b047:4438:5a20)
2022-04-30 08:49:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 08:49:35 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 08:53:47 +0200[_](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-04-30 08:54:25 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-04-30 08:56:21 +0200Pickchea(~private@user/pickchea) (Ping timeout: 246 seconds)
2022-04-30 08:59:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 09:00:06 +0200dust_(~dust@2409:4071:2283:5117:f276:b047:4438:5a20) (Quit: Konversation terminated!)
2022-04-30 09:03:19 +0200zyklotomic(~ethan@res380d-128-61-85-233.res.gatech.edu) (Ping timeout: 240 seconds)
2022-04-30 09:03:25 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 09:05:41 +0200zyklotomic(~ethan@res388d-128-61-91-167.res.gatech.edu)
2022-04-30 09:10:20 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-04-30 09:12:21 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-30 09:18:26 +0200razetime(~quassel@117.254.34.87) (Remote host closed the connection)
2022-04-30 09:19:30 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 276 seconds)
2022-04-30 09:19:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 09:24:37 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-30 09:24:42 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 276 seconds)
2022-04-30 09:25:45 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-30 09:25:47 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 09:28:56 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 09:28:59 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 09:31:20 +0200zyklotomic(~ethan@res388d-128-61-91-167.res.gatech.edu) (Ping timeout: 272 seconds)
2022-04-30 09:32:48 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-04-30 09:32:59 +0200zyklotomic(~ethan@res388d-128-61-90-233.res.gatech.edu)
2022-04-30 09:35:45 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-30 09:35:51 +0200xkuru(~xkuru@user/xkuru)
2022-04-30 09:36:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 09:37:12 +0200dextaa4(~dextaa@user/dextaa)
2022-04-30 09:39:49 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-30 09:39:59 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-04-30 09:43:55 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-04-30 09:44:12 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 276 seconds)
2022-04-30 09:56:54 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 10:01:45 +0200andrey__(~andrey@p508d5741.dip0.t-ipconnect.de)
2022-04-30 10:02:19 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-30 10:04:19 +0200andrey_(~andrey@p200300dbcf2cae00473664218599dd86.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-04-30 10:04:56 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-04-30 10:05:19 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-04-30 10:12:23 +0200alexiscott(~user@37.red-88-1-75.dynamicip.rima-tde.net)
2022-04-30 10:13:15 +0200Hiring(~Hiring@31.222.238.38)
2022-04-30 10:14:09 +0200alexiscott(~user@37.red-88-1-75.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-04-30 10:21:19 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 240 seconds)
2022-04-30 10:21:19 +0200alp_(~alp@user/alp)
2022-04-30 10:22:53 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-30 10:27:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 10:27:57 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 10:29:40 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-30 10:32:00 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-30 10:32:31 +0200Guest61(~Guest61@45.248.151.250)
2022-04-30 10:32:35 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-30 10:32:59 +0200Guest61(~Guest61@45.248.151.250) (Client Quit)
2022-04-30 10:35:46 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-30 10:40:46 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-30 10:45:48 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-04-30 10:46:01 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-30 10:46:27 +0200 <abastro[m]> Yep
2022-04-30 10:49:51 +0200abastro(~abab9579@220.75.216.63) (Ping timeout: 276 seconds)
2022-04-30 10:51:53 +0200Ether17(~Ether@45.248.151.250)
2022-04-30 10:52:13 +0200 <Ether17>         , ("M-h", bindByLayout [("Full", windows W.focusUp), ("ReflectX Full", windows W.focusUp), ("", sendMessage $ Go L)])
2022-04-30 10:52:13 +0200 <Ether17>         , ("M-l", bindByLayout [("Full", windows W.focusDown), ("ReflectX Full", windows W.focusDown), ("", sendMessage $ Go R)])
2022-04-30 10:52:47 +0200 <Ether17> is it possilbe to automatcially know if the master is in the right or left?
2022-04-30 10:53:19 +0200 <abastro[m]> (Did you post in the right channel?)
2022-04-30 10:53:42 +0200 <Ether17> ohh oo
2022-04-30 10:53:44 +0200 <Ether17> sorry
2022-04-30 10:53:56 +0200 <abastro[m]> Its okay
2022-04-30 10:57:19 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds))
2022-04-30 10:57:29 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2022-04-30 10:59:22 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 272 seconds)
2022-04-30 11:01:28 +0200coot(~coot@213.134.190.95)
2022-04-30 11:07:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 11:07:37 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
2022-04-30 11:08:06 +0200Ether17(~Ether@45.248.151.250) (Quit: Client closed)
2022-04-30 11:08:14 +0200Tuplanolla(~Tuplanoll@91-159-68-39.elisa-laajakaista.fi)
2022-04-30 11:08:21 +0200Ether17(~Ether17@45.248.151.237)
2022-04-30 11:08:35 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-04-30 11:10:40 +0200Ether17(~Ether17@45.248.151.237) (Client Quit)
2022-04-30 11:14:09 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-04-30 11:14:15 +0200dextaa4(~dextaa@user/dextaa) (Remote host closed the connection)
2022-04-30 11:17:43 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-04-30 11:19:37 +0200neceve(~quassel@2.29.116.221)
2022-04-30 11:22:53 +0200dextaa4(~dextaa@user/dextaa)
2022-04-30 11:23:01 +0200anomal(~anomal@87.227.196.109)
2022-04-30 11:23:55 +0200Midjak(~Midjak@82.66.147.146)
2022-04-30 11:26:56 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-30 11:29:03 +0200Guest18(~Guest18@160.16.113.140)
2022-04-30 11:29:25 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 11:30:26 +0200Vajb(~Vajb@n2bi4516ak7u68y31-2.v6.elisa-mobile.fi)
2022-04-30 11:35:53 +0200Ether17(~Ether17@45.248.151.250)
2022-04-30 11:36:02 +0200Guest18(~Guest18@160.16.113.140) (Quit: Client closed)
2022-04-30 11:36:45 +0200Ether17(~Ether17@45.248.151.250) (Client Quit)
2022-04-30 11:40:22 +0200romesrf(~romes@185.5.8.134)
2022-04-30 11:45:14 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-04-30 11:46:16 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 11:46:59 +0200Ether17(~Ether17@45.248.151.250)
2022-04-30 11:48:29 +0200Ether17(~Ether17@45.248.151.250) (Client Quit)
2022-04-30 11:48:59 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2022-04-30 11:49:34 +0200mmhat(~mmh@2001:4090:a242:802d:ee08:6bff:fe09:5315)
2022-04-30 11:51:18 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 272 seconds)
2022-04-30 11:55:53 +0200Ether17(~Ether17@45.248.151.250)
2022-04-30 11:56:48 +0200Ether17(~Ether17@45.248.151.250) (Client Quit)
2022-04-30 11:57:38 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 272 seconds)
2022-04-30 12:05:33 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-30 12:06:20 +0200alp_(~alp@user/alp) (Remote host closed the connection)
2022-04-30 12:06:40 +0200alp_(~alp@user/alp)
2022-04-30 12:11:23 +0200glguy(x@libera/staff/glguy) (Read error: Connection reset by peer)
2022-04-30 12:11:46 +0200glguy(x@libera/staff/glguy)
2022-04-30 12:12:24 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
2022-04-30 12:15:20 +0200mvk(~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds)
2022-04-30 12:15:29 +0200Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-04-30 12:16:18 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-30 12:16:38 +0200Batzy(~quassel@user/batzy)
2022-04-30 12:16:41 +0200xff0x_(~xff0x@om126167099166.29.openmobile.ne.jp)
2022-04-30 12:18:44 +0200dextaa4(~dextaa@user/dextaa) (Remote host closed the connection)
2022-04-30 12:21:30 +0200dextaa4(~dextaa@user/dextaa)
2022-04-30 12:21:46 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-04-30 12:23:34 +0200Ether17(~Ether17@45.248.151.250)
2022-04-30 12:26:20 +0200Ether17(~Ether17@45.248.151.250) (Client Quit)
2022-04-30 12:29:46 +0200oxide(~lambda@user/oxide)
2022-04-30 12:29:46 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 12:34:28 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-30 12:37:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-30 12:39:42 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 276 seconds)
2022-04-30 12:42:57 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds)
2022-04-30 12:44:41 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-04-30 12:44:45 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-04-30 12:47:30 +0200Lord_of_Life_Lord_of_Life
2022-04-30 12:52:11 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-04-30 13:00:25 +0200__monty__(~toonn@user/toonn)
2022-04-30 13:03:52 +0200coot(~coot@213.134.190.95)
2022-04-30 13:07:06 +0200[Leary](~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection)
2022-04-30 13:08:29 +0200Ether17(~Ether17@45.248.151.250)
2022-04-30 13:08:46 +0200Ether17(~Ether17@45.248.151.250) (Client Quit)
2022-04-30 13:13:22 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-30 13:14:54 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 272 seconds)
2022-04-30 13:15:58 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-04-30 13:16:42 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-30 13:24:52 +0200dostoevsky(~5c42c5384@user/dostoevsky) (Quit: Ping timeout (120 seconds))
2022-04-30 13:31:22 +0200romesrf(~romes@185.5.8.134) (Ping timeout: 272 seconds)
2022-04-30 13:36:54 +0200zyklotomic(~ethan@res388d-128-61-90-233.res.gatech.edu) (Ping timeout: 276 seconds)
2022-04-30 13:38:20 +0200zyklotomic(~ethan@res388d-128-61-90-32.res.gatech.edu)
2022-04-30 13:44:10 +0200oxide(~lambda@user/oxide) (Ping timeout: 250 seconds)
2022-04-30 13:47:31 +0200razetime(~quassel@117.254.34.87)
2022-04-30 13:47:51 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-04-30 13:47:52 +0200oxide(~lambda@user/oxide)
2022-04-30 13:58:15 +0200acidjnk(~acidjnk@p200300d0c73b4502b9c6c7f353397b6d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-30 13:58:22 +0200notzmv(~zmv@user/notzmv)
2022-04-30 13:58:36 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 14:00:18 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 276 seconds)
2022-04-30 14:01:28 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 14:06:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 248 seconds)
2022-04-30 14:08:06 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 276 seconds)
2022-04-30 14:09:12 +0200abastro(~abab9579@220.75.216.63)
2022-04-30 14:09:38 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 14:12:37 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-30 14:12:37 +0200abastro(~abab9579@220.75.216.63) (Remote host closed the connection)
2022-04-30 14:12:43 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-30 14:12:54 +0200abastro(~abab9579@220.75.216.63)
2022-04-30 14:15:04 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2022-04-30 14:15:47 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-04-30 14:16:20 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-30 14:18:33 +0200romesrf(~romes@185.5.8.134)
2022-04-30 14:21:12 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 248 seconds)
2022-04-30 14:23:54 +0200razetime(~quassel@117.254.34.87) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-04-30 14:24:21 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 276 seconds)
2022-04-30 14:25:47 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 14:26:46 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 14:31:11 +0200smitop2(uid328768@id-328768.tinside.irccloud.com)
2022-04-30 14:31:30 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-30 14:31:52 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-30 14:32:40 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-30 14:35:20 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 14:37:37 +0200romesrf(~romes@185.5.8.134) (Quit: WeeChat 3.4.1)
2022-04-30 14:37:51 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 14:39:55 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-04-30 14:44:27 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-04-30 14:46:27 +0200oxide(~lambda@user/oxide) (Ping timeout: 276 seconds)
2022-04-30 14:46:56 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-30 14:48:04 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 14:49:06 +0200dostoevsky(~5c42c5384@user/dostoevsky)
2022-04-30 14:50:25 +0200oxide(~lambda@user/oxide)
2022-04-30 14:51:31 +0200mikoto-chan(~mikoto-ch@185.201.60.70)
2022-04-30 14:53:19 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 14:55:36 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 272 seconds)
2022-04-30 14:56:40 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Quit: Leaving)
2022-04-30 14:58:55 +0200mikoto-chan(~mikoto-ch@185.201.60.70) (Read error: No route to host)
2022-04-30 14:58:59 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 240 seconds)
2022-04-30 15:01:19 +0200alp_(~alp@user/alp) (Ping timeout: 240 seconds)
2022-04-30 15:07:00 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 15:09:50 +0200deadmarshal_(~deadmarsh@95.38.230.79)
2022-04-30 15:15:47 +0200Ether17(~Ether17@45.248.151.237)
2022-04-30 15:17:02 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-04-30 15:17:39 +0200tomgus1(~tomgus1@2a02:c7e:4229:d900:dea6:32ff:fe3d:d1a3) (Ping timeout: 240 seconds)
2022-04-30 15:17:47 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-04-30 15:19:16 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 15:22:11 +0200Ether17(~Ether17@45.248.151.237) (Quit: Client closed)
2022-04-30 15:24:03 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-30 15:24:03 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-04-30 15:24:19 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-30 15:25:54 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 246 seconds)
2022-04-30 15:26:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 15:26:14 +0200Pickchea(~private@user/pickchea)
2022-04-30 15:27:55 +0200kspalaiologos(~kspalaiol@user/kspalaiologos)
2022-04-30 15:27:56 +0200Pickchea(~private@user/pickchea) (Client Quit)
2022-04-30 15:28:05 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 15:28:51 +0200Ether17(~Ether17@45.248.151.237)
2022-04-30 15:33:36 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 15:36:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 15:37:20 +0200Ether17(~Ether17@45.248.151.237) (Quit: Client closed)
2022-04-30 15:37:32 +0200Ether17(~Ether17@45.248.151.250)
2022-04-30 15:41:09 +0200Ether17(~Ether17@45.248.151.250) (Client Quit)
2022-04-30 15:41:42 +0200Ether17(~Ether17@45.248.151.237)
2022-04-30 15:45:49 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-04-30 15:47:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-30 15:49:43 +0200zebrag(~chris@user/zebrag)
2022-04-30 15:52:45 +0200malinoskj29064(~malinoskj@48.170-avail-pool-cc.sccoast.net)
2022-04-30 15:52:58 +0200malinoskj2906(~malinoskj@48.170-avail-pool-cc.sccoast.net) (Read error: Connection reset by peer)
2022-04-30 15:53:47 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-30 15:55:28 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds)
2022-04-30 15:57:44 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 16:00:18 +0200Ether17(~Ether17@45.248.151.237) (Quit: Client closed)
2022-04-30 16:00:36 +0200Ether17(~Ether17@45.248.151.237)
2022-04-30 16:02:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 16:03:40 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 16:06:42 +0200Gilbert189(~Gilbert18@user/Gilbert189)
2022-04-30 16:07:45 +0200abastro(~abab9579@220.75.216.63) (Remote host closed the connection)
2022-04-30 16:08:19 +0200tomgus1(~tomgus1@90.218.25.145)
2022-04-30 16:08:30 +0200abastro(~abab9579@220.75.216.63)
2022-04-30 16:09:07 +0200PkmnQ(~PkmnQ@user/PkmnQ)
2022-04-30 16:09:12 +0200PkmnQ(~PkmnQ@user/PkmnQ) (Leaving)
2022-04-30 16:12:23 +0200vicfred(~vicfred@user/vicfred)
2022-04-30 16:14:26 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-30 16:15:00 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-04-30 16:15:30 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 16:17:43 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.5)
2022-04-30 16:18:02 +0200 <Bulby[m]> Are there sum pattern matches? E.g... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/84f8334b2ae30748d565ca9dab612c48b0b2…)
2022-04-30 16:19:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-04-30 16:19:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 16:20:52 +0200 <geekosaur> no
2022-04-30 16:22:53 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-30 16:23:43 +0200hololeap(~hololeap@user/hololeap)
2022-04-30 16:25:15 +0200maerwald[m]sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/f923a0d89eaa4505ec1d2c4eba6794abd581…
2022-04-30 16:26:11 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
2022-04-30 16:27:01 +0200sammelweis_(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection)
2022-04-30 16:27:46 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 16:29:31 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-04-30 16:29:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 16:31:38 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 16:32:38 +0200 <albet70> recently there's a term DAG show up on some programming articles, what's that?
2022-04-30 16:33:33 +0200 <albet70> does haskell have that stuff?
2022-04-30 16:33:44 +0200 <Noinia> hmm, I'm having some issues with haskell-interactive-mode in emacs and a cabal project that has multiple components. In particular, if I have some module that appears only as an 'other-modules' in the test-suite, haskell-interactive-mode doesn't seem to recognize the module when trying to load it using haskell-process-load-file. Does anyone know what the best way to solve that is?
2022-04-30 16:34:21 +0200 <Noinia> I'm guessing I have to specify somewhere that the file I'm trying to laod is part of the test component. But I'm not sure what the most convenient way to do that is
2022-04-30 16:34:51 +0200 <Noinia> albet70: DAG usually means Directed Acyclic Graph
2022-04-30 16:36:51 +0200 <Bulby[m]> Haxe which has rich enums can do sum matches 😭
2022-04-30 16:38:41 +0200 <maerwald[m]> Bulby: Haskell language isn't developed anymore, so unlikely
2022-04-30 16:39:17 +0200 <Bulby[m]> WHAT 😭
2022-04-30 16:39:17 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-04-30 16:39:23 +0200 <abastro> XD
2022-04-30 16:39:53 +0200 <Bulby[m]> I mean even "enumeration types" (flat enums) no sum matches? a bit silly
2022-04-30 16:39:59 +0200 <Bulby[m]> going to have to write a helper function
2022-04-30 16:40:13 +0200 <maerwald[m]> Your suggestion is too practical. Add some obscure type level features and you'll get our attention
2022-04-30 16:40:29 +0200 <Bulby[m]> is that the standard 🤣
2022-04-30 16:41:25 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 16:41:32 +0200king_gs(~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
2022-04-30 16:41:59 +0200 <maerwald[m]> You can get there half way with pattern synonyms/viewpatterns
2022-04-30 16:42:13 +0200 <Bulby[m]> pattern synonyms? how so?
2022-04-30 16:42:39 +0200 <Bulby[m]> oh
2022-04-30 16:43:02 +0200 <Bulby[m]> diff question, is there a different way to write string literals that contain `"`
2022-04-30 16:43:23 +0200 <abastro> What is sum matches
2022-04-30 16:43:25 +0200 <geekosaur> there are some quasiquoters on hackage
2022-04-30 16:43:29 +0200 <Bulby[m]> `"\"color\":\"" <> showColor x <> "ff\""` awful
2022-04-30 16:43:40 +0200 <Bulby[m]> > <@bulbyvr:matrix.org> Are there sum pattern matches? E.g... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/88956d2f8842e8a4185d6d8fff3dfd34b577…)
2022-04-30 16:43:42 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘<@’
2022-04-30 16:43:44 +0200 <geekosaur> abastro, otherwise known as or-patterns
2022-04-30 16:43:45 +0200 <maerwald[m]> Bulby: https://github.com/hasufell/hsfm/blob/322c766ae534fb21e3427d2845011123ddb90952/src/HSFM/FileSystem…
2022-04-30 16:44:14 +0200 <abastro> Well, or patterns are kind of useless tho
2022-04-30 16:44:31 +0200 <abastro> (Unless you mean anonymous sum types, which would be quite useful)
2022-04-30 16:45:07 +0200neceve(~quassel@2.29.116.221) (Ping timeout: 240 seconds)
2022-04-30 16:45:39 +0200 <tomsmeding> maerwald[m]: why does fileLike not return 'Maybe (File FileInfo)'
2022-04-30 16:46:36 +0200 <maerwald[m]> tomsmeding: it's old shitty code
2022-04-30 16:46:45 +0200 <tomsmeding> maerwald[m]: that's a good reason :p
2022-04-30 16:46:51 +0200 <abastro> XD
2022-04-30 16:47:26 +0200 <abastro> Hm the program might like some design overhaul
2022-04-30 16:47:53 +0200 <maerwald[m]> tomsmeding: also, you wouldn't be able to retrieve directory info then
2022-04-30 16:48:04 +0200 <maerwald[m]> But not sure that's used anywhere else
2022-04-30 16:48:16 +0200 <tomsmeding> maerwald[m]: right, I was wondering if something used it
2022-04-30 16:48:20 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 16:48:48 +0200 <maerwald[m]> You're asking questions man :D
2022-04-30 16:49:00 +0200 <tomsmeding> hard questions?
2022-04-30 16:49:24 +0200 <maerwald[m]> 6 years old codebase
2022-04-30 16:49:38 +0200 <tomsmeding> I have older code and it's even shittier
2022-04-30 16:49:40 +0200mikoto-chan(~mikoto-ch@D57C9A7A.static.ziggozakelijk.nl)
2022-04-30 16:50:05 +0200 <tomsmeding> in a grey past I programmed C and tried to use as few spaces between things as possible
2022-04-30 16:50:10 +0200 <maerwald[m]> A lil sad it's abandoned
2022-04-30 16:50:10 +0200 <tomsmeding> now _that_ code was shitty
2022-04-30 16:50:45 +0200 <maerwald[m]> I mean, do people still use filemanagers?
2022-04-30 16:50:53 +0200 <tomsmeding> I use 'ranger' sometimes
2022-04-30 16:50:58 +0200 <tomsmeding> usually 'ls' is enough
2022-04-30 16:51:27 +0200 <maerwald[m]> Yeah, fish has so good completion that I don't bother most of the time
2022-04-30 16:51:34 +0200 <tomsmeding> that
2022-04-30 16:51:52 +0200 <tomsmeding> yay another fish user
2022-04-30 16:52:04 +0200 <maerwald[m]> CWD aware completion
2022-04-30 16:52:27 +0200 <tomsmeding> why is the $PWD variable named PWD and not CWD
2022-04-30 16:52:48 +0200 <abastro> "Who uses file managers" windows user:
2022-04-30 16:52:59 +0200 <tomsmeding> abastro: we were talking about linux
2022-04-30 16:53:50 +0200 <maerwald[m]> Powershell has pretty good completion too
2022-04-30 16:54:25 +0200 <tomsmeding> 80 to 90% of the time I'm looking at terminals full screen (heck, even my irc client runs in the terminal); 9.9 to 19.9% of the time looking at browser; 0.1% remainder looking at some other random app
2022-04-30 16:54:49 +0200dsrt^(~dsrt@50.227.69.228)
2022-04-30 16:54:53 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-30 16:55:40 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
2022-04-30 16:55:41 +0200 <abastro> Sorry that I use vscode
2022-04-30 16:56:06 +0200 <maerwald[m]> abastro: did you upgrade the haskell extension?
2022-04-30 16:56:11 +0200 <abastro> Yes
2022-04-30 16:56:18 +0200 <maerwald[m]> Does it work?
2022-04-30 16:56:22 +0200 <abastro> It does
2022-04-30 16:56:33 +0200 <maerwald[m]> That's a surprise xD
2022-04-30 16:56:41 +0200 <tomsmeding> :')
2022-04-30 16:56:43 +0200 <abastro> Well, it is a bit slower than before, but it at least works
2022-04-30 16:57:13 +0200 <maerwald[m]> Yeah, runs more processes on start
2022-04-30 16:57:54 +0200abastro(~abab9579@220.75.216.63) (Remote host closed the connection)
2022-04-30 16:59:15 +0200abastro(~abab9579@220.75.216.63)
2022-04-30 16:59:45 +0200 <abastro[m]> I wonder how looking at terminal works
2022-04-30 17:00:01 +0200 <abastro[m]> Autocomplete never work well for me, as I always forget what exists
2022-04-30 17:00:11 +0200 <tomsmeding> <tab><tab> gives listing :p
2022-04-30 17:00:19 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-04-30 17:00:21 +0200 <tomsmeding> also fish autocomplete is just so much nicer than bash autocomplete
2022-04-30 17:00:25 +0200 <tomsmeding> I hear that zsh is nice too
2022-04-30 17:00:45 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 17:00:52 +0200 <abastro> I see, hmm
2022-04-30 17:00:58 +0200 <abastro> For me that prints too many
2022-04-30 17:01:09 +0200 <tomsmeding> also fish autofills (but doesn't commit yet) from history
2022-04-30 17:01:14 +0200 <maerwald[m]> Maybe ghcup could use winery instead of parsing yaml every time
2022-04-30 17:01:18 +0200 <maerwald[m]> https://hackage.haskell.org/package/winery
2022-04-30 17:01:38 +0200 <tomsmeding> so if you've ran 'cd a/b/c' some time and you type 'cd a', it appends '/b/c' in grey font which you can commit with <rightarrow>
2022-04-30 17:02:07 +0200 <abastro> I see, fish shell could be nice
2022-04-30 17:02:14 +0200 <tomsmeding> and these autofills are CWD aware, so if the argument existed in the file system when you ran it in the history, fish remembers that and only autofills it if it now exists too
2022-04-30 17:02:16 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 272 seconds)
2022-04-30 17:02:23 +0200 <tomsmeding> removes quite a few false positives
2022-04-30 17:02:43 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-30 17:02:46 +0200 <maerwald[m]> I actually don't like fish-the-shell-language
2022-04-30 17:02:59 +0200 <maerwald[m]> But the default config and completion is unbeatable
2022-04-30 17:03:03 +0200tomsmedingwrites shell scripts in bash still
2022-04-30 17:03:04 +0200 <maerwald[m]> Zsh is just a mess
2022-04-30 17:03:39 +0200 <tomsmeding> despite the fact that fish is supposed to be a nicer language to write actual scripts in
2022-04-30 17:03:48 +0200 <abastro> XD "nicer language"
2022-04-30 17:03:49 +0200 <maerwald[m]> And given that I type dangerous stuff into a shell, I don't want it to be messy
2022-04-30 17:04:18 +0200 <maerwald[m]> tomsmeding: many things you can do in a single bash line, you need several in fish
2022-04-30 17:04:28 +0200 <maerwald[m]> That breaks history
2022-04-30 17:04:36 +0200 <abastro> Perhaps I have too many directories on $HOME
2022-04-30 17:04:37 +0200Fairek94(~Fairek@194.35.45.32)
2022-04-30 17:04:40 +0200 <tomsmeding> I know fairly well how bash quoting and word splitting works, at least with the idioms that I use, and I _require_ knowing precisely how that stuff works when doing dangerous stuff :p
2022-04-30 17:05:09 +0200 <tomsmeding> maerwald[m]: fish lacks <<< which is super annoying, especially for one-liners :p
2022-04-30 17:05:10 +0200Fairek94(~Fairek@194.35.45.32) (Client Quit)
2022-04-30 17:06:11 +0200 <tomsmeding> bash <(sed 's/\.md$/.html/' <<<"$fname") is just a lot shorter than fish (echo "$fname" | sed 's/\.md$/.html/' | psub)
2022-04-30 17:06:42 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 17:06:57 +0200 <abastro> Complex commands woh
2022-04-30 17:07:37 +0200 <tomsmeding> this stuff is useful with loops :p
2022-04-30 17:08:58 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 17:10:45 +0200mikoto-chan(~mikoto-ch@D57C9A7A.static.ziggozakelijk.nl) (Ping timeout: 276 seconds)
2022-04-30 17:10:48 +0200 <maerwald[m]> So sad yi is dead
2022-04-30 17:12:51 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
2022-04-30 17:13:41 +0200mikoto-chan(~mikoto-ch@D57C9A7A.static.ziggozakelijk.nl)
2022-04-30 17:14:03 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-04-30 17:17:54 +0200mikoto-chan(~mikoto-ch@D57C9A7A.static.ziggozakelijk.nl) (Ping timeout: 246 seconds)
2022-04-30 17:18:31 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 17:19:04 +0200hololeap_(~hololeap@user/hololeap)
2022-04-30 17:19:26 +0200abastro(~abab9579@220.75.216.63) (Remote host closed the connection)
2022-04-30 17:20:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-30 17:20:36 +0200abastro(~abab9579@220.75.216.63)
2022-04-30 17:20:38 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2022-04-30 17:21:59 +0200 <dmj`> maerwald[m]: emacs won't let you down
2022-04-30 17:22:19 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-04-30 17:24:12 +0200 <maerwald[m]> dmj`: no thanks, already had RSI xD
2022-04-30 17:24:45 +0200 <maerwald[m]> And I'm quite happy with linux as my main OS
2022-04-30 17:26:09 +0200 <abastro> emacs and OS?
2022-04-30 17:26:39 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 17:26:50 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-04-30 17:27:28 +0200 <maerwald[m]> But I think an editor in the style of xmonad architecture would be cool. Without scripting nonsense
2022-04-30 17:28:12 +0200 <dmj`> maerwald[m]: heavier keys helped my RSI, shock absorbers.
2022-04-30 17:28:19 +0200hololeap_hololeap
2022-04-30 17:29:39 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 17:30:05 +0200 <maerwald[m]> dmj`: For me the opposite was true. Using red cherry mx switches
2022-04-30 17:30:27 +0200 <maerwald[m]> Even have gateron white
2022-04-30 17:30:35 +0200smitop2(uid328768@id-328768.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-30 17:30:46 +0200 <maerwald[m]> They trigger if you sneeze
2022-04-30 17:32:10 +0200malinoskj290645(~malinoskj@48.170-avail-pool-cc.sccoast.net)
2022-04-30 17:33:30 +0200malinoskj29064(~malinoskj@48.170-avail-pool-cc.sccoast.net) (Ping timeout: 276 seconds)
2022-04-30 17:34:31 +0200Ether17(~Ether17@45.248.151.237) (Quit: Client closed)
2022-04-30 17:35:44 +0200Ether17(~Ether17@45.248.151.237)
2022-04-30 17:35:45 +0200neceve(~quassel@2.29.116.221)
2022-04-30 17:35:58 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-04-30 17:36:17 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-30 17:37:04 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-04-30 17:37:23 +0200worldhelloworld1(uid543174@id-543174.helmsley.irccloud.com)
2022-04-30 17:38:16 +0200sudden(~cat@user/sudden) (Quit: leaving)
2022-04-30 17:41:32 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 17:41:37 +0200sudden(~cat@user/sudden)
2022-04-30 17:43:46 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 17:44:09 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-30 17:45:20 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Ping timeout: 272 seconds)
2022-04-30 17:46:57 +0200 <monochrom> <A> qwertyuiopasdfghjkl <B> Your cat? <A> No, I sneezed
2022-04-30 17:48:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-30 17:50:15 +0200 <maerwald> yeah, gateron white actuation force is 35gf
2022-04-30 17:50:24 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 17:50:37 +0200 <maerwald> only flat laptop key switches have lower
2022-04-30 17:53:21 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-30 17:54:24 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
2022-04-30 17:54:42 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 17:56:23 +0200 <worldhelloworld1> https://www.irccloud.com/pastebin/womt9nSr/
2022-04-30 17:58:49 +0200 <worldhelloworld1> the order of function application is basically reversed in the above solution with recursion - just wondering how to go about it with 3 (or more?) functions
2022-04-30 17:59:04 +0200 <dmj`> worldhelloworld1: the altMap' definition doesn't actually apply f' to x
2022-04-30 18:00:00 +0200 <worldhelloworld1> it does - the first function is applied - with the next iteration f' will be applied, no?
2022-04-30 18:01:49 +0200 <worldhelloworld1> check the reversed order for function application , ie, `f x : altMap' f' f xs`
2022-04-30 18:02:04 +0200king_gs(~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d)
2022-04-30 18:02:24 +0200 <dmj`> oh I'm sorry, you're right, didn't see the flip there
2022-04-30 18:02:39 +0200 <dmj`> cool
2022-04-30 18:03:19 +0200abastro(~abab9579@220.75.216.63) (Ping timeout: 240 seconds)
2022-04-30 18:03:29 +0200 <worldhelloworld1> np, just wondering if there is an elegant way to do the same with 3 functions alternating - but struggling to think about it in a recursive/elegant manner
2022-04-30 18:03:55 +0200 <dsal> > let am fs = zipWith ($) (cycle fs) in am [(*10), (*100), (*1000)] [1..10]
2022-04-30 18:03:57 +0200 <lambdabot> [10,200,3000,40,500,6000,70,800,9000,100]
2022-04-30 18:04:09 +0200 <abastro[m]> Wdym order is reversed?
2022-04-30 18:04:17 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1)
2022-04-30 18:05:46 +0200 <worldhelloworld1> abastro[m] - the order of function application in the second equation
2022-04-30 18:05:51 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-04-30 18:07:11 +0200 <worldhelloworld1> dsal - yea could always use zipWith but trying to think recursion instead - looking for elegance, if any possible
2022-04-30 18:07:20 +0200 <dsal> @src zipWith
2022-04-30 18:07:20 +0200 <lambdabot> zipWith f (a:as) (b:bs) = f a b : zipWith f as bs
2022-04-30 18:07:20 +0200 <lambdabot> zipWith _ _ _ = []
2022-04-30 18:08:07 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 18:08:23 +0200xff0x_(~xff0x@om126167099166.29.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-30 18:09:39 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-04-30 18:09:42 +0200 <worldhelloworld1> is it possible to achieve the same using a similar structure to the 2 functions described above? without reporting to builtin functions like zipWith
2022-04-30 18:10:27 +0200 <dsal> Your function above is very similar to zipWIth already.
2022-04-30 18:11:42 +0200 <dsal> :t zipWith ($) (cycle [(*10), (*100), (*1000)])
2022-04-30 18:11:44 +0200 <lambdabot> Num c => [c] -> [c]
2022-04-30 18:11:53 +0200 <dsal> The only thing I did, was use zipWith to make the above.
2022-04-30 18:12:11 +0200 <monochrom> threesome f g h (x:xs) = f x : threesome g h f xs ?
2022-04-30 18:12:18 +0200 <worldhelloworld1> i would like to believe it's the usual recursion approach until exhaustion, ok let's say one doesn't want to use zipWith
2022-04-30 18:12:39 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-04-30 18:12:52 +0200 <dsal> If you don't want to use zipWith, you could reinvent it trivially, as lambdabot showed you above.
2022-04-30 18:13:56 +0200 <worldhelloworld1> monochrom - that looks incredibly simple!
2022-04-30 18:14:21 +0200 <dmj`> worldhelloworld1: what's wrong with cycling the [a -> b] ?
2022-04-30 18:15:07 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 18:15:24 +0200 <monochrom> I guess it's becasue I learend group theory.
2022-04-30 18:15:31 +0200 <dsal> haha
2022-04-30 18:16:00 +0200 <dsal> worldhelloworld1: Since you know the first list will be cycled, you could do the cycling yourself manually and use the thing where you reinvented map.
2022-04-30 18:16:02 +0200 <worldhelloworld1> lol ..... nothing wrong I think , just was looking for a particular approach
2022-04-30 18:16:19 +0200 <monochrom> From "f g" to "g f" is a permutation of 2 elements, you could read it as "flip" but you could read it as "rotate". For 2 elements they coincide.
2022-04-30 18:16:21 +0200 <dsal> map itself wouldn't work because you need to rotate the functions.
2022-04-30 18:16:39 +0200 <monochrom> So now just come up with a 3-element permutation that represents "rotate".
2022-04-30 18:17:27 +0200 <worldhelloworld1> yepp that is it - let me try in my ghci since I don't know how to use the bot here
2022-04-30 18:17:42 +0200shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Ping timeout: 276 seconds)
2022-04-30 18:17:45 +0200alp_(~alp@user/alp)
2022-04-30 18:17:53 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 18:23:18 +0200gurkenglas(~gurkengla@84.57.85.111)
2022-04-30 18:27:46 +0200 <worldhelloworld1> thanks! worked - don't know how i couldn't think of it when it was so deceptively simple .... monochrom .... thanks dsal too for the other approach
2022-04-30 18:28:07 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 18:29:23 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 18:30:38 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 18:30:42 +0200Ether17(~Ether17@45.248.151.237) (Quit: Client closed)
2022-04-30 18:33:28 +0200malinoskj290645(~malinoskj@48.170-avail-pool-cc.sccoast.net) (Ping timeout: 272 seconds)
2022-04-30 18:35:22 +0200Ether17(~Ether17@45.248.151.250)
2022-04-30 18:35:35 +0200x_kuru(~xkuru@user/xkuru)
2022-04-30 18:36:38 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 18:38:51 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 18:39:09 +0200xkuru(~xkuru@user/xkuru) (Ping timeout: 276 seconds)
2022-04-30 18:43:03 +0200cyanide4dinner(~cyanide4d@171.61.13.123)
2022-04-30 18:43:04 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 248 seconds)
2022-04-30 18:44:06 +0200coot(~coot@213.134.190.95)
2022-04-30 18:45:56 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-04-30 18:48:48 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-04-30 18:49:17 +0200|beowulf|(1000@sourcemage/mage/beowulf) (Quit: = "")
2022-04-30 18:53:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-04-30 18:55:27 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 18:57:49 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-04-30 18:58:12 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-04-30 18:58:42 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-30 18:59:35 +0200fjmorazan(~quassel@user/fjmorazan) (Quit: fjmorazan)
2022-04-30 19:00:01 +0200Gilbert189(~Gilbert18@user/Gilbert189) (Leaving)
2022-04-30 19:00:10 +0200fjmorazan(~quassel@user/fjmorazan)
2022-04-30 19:01:12 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-04-30 19:01:31 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-30 19:02:33 +0200dcoutts_(~duncan@host86-151-9-6.range86-151.btcentralplus.com) (Ping timeout: 276 seconds)
2022-04-30 19:04:27 +0200fef(~thedawn@user/thedawn)
2022-04-30 19:06:03 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-04-30 19:06:21 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-30 19:08:38 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 19:08:40 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 248 seconds)
2022-04-30 19:10:10 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 19:13:45 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-04-30 19:14:33 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 256 seconds)
2022-04-30 19:16:04 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 19:17:09 +0200gpncarl(~gpncarl@120.244.220.254)
2022-04-30 19:17:13 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2022-04-30 19:19:15 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-04-30 19:19:34 +0200king_gs(~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Ping timeout: 250 seconds)
2022-04-30 19:22:15 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
2022-04-30 19:22:19 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 19:24:29 +0200titibandit(~titibandi@xdsl-89-0-37-242.nc.de)
2022-04-30 19:25:02 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 19:25:18 +0200gpncarl(~gpncarl@120.244.220.254) (Ping timeout: 246 seconds)
2022-04-30 19:25:36 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-30 19:26:15 +0200mvk(~mvk@2607:fea8:5ce3:8500::aa1d)
2022-04-30 19:28:45 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2022-04-30 19:31:09 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 19:32:09 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-30 19:32:53 +0200titibandit(~titibandi@xdsl-89-0-37-242.nc.de) (Remote host closed the connection)
2022-04-30 19:33:06 +0200titibandit(~titibandi@xdsl-89-0-37-242.nc.de)
2022-04-30 19:34:04 +0200Ether17(~Ether17@45.248.151.250) (Quit: Client closed)
2022-04-30 19:36:06 +0200dcoutts_(~duncan@host86-151-9-6.range86-151.btcentralplus.com)
2022-04-30 19:43:14 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 19:43:54 +0200o-90(~o-90@gateway/tor-sasl/o-90)
2022-04-30 19:43:58 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-04-30 19:46:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-30 19:47:37 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-04-30 19:48:39 +0200alp_(~alp@user/alp) (Ping timeout: 240 seconds)
2022-04-30 19:49:23 +0200o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2022-04-30 19:50:00 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 19:50:33 +0200econo(uid147250@user/econo)
2022-04-30 19:51:03 +0200kspalaiologos(~kspalaiol@user/kspalaiologos) (Quit: Leaving)
2022-04-30 19:52:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 19:53:19 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-30 19:54:33 +0200zyklotomic(~ethan@res388d-128-61-90-32.res.gatech.edu) (Ping timeout: 276 seconds)
2022-04-30 19:55:56 +0200zyklotomic(~ethan@res388d-128-61-94-44.res.gatech.edu)
2022-04-30 19:57:16 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds)
2022-04-30 19:59:23 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 20:04:20 +0200arjun(~arjun@user/arjun)
2022-04-30 20:05:18 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 20:05:54 +0200deadmarshal_(~deadmarsh@95.38.230.79) (Ping timeout: 246 seconds)
2022-04-30 20:07:35 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 20:08:17 +0200mikoto-chan(~mikoto-ch@77.94.246.239)
2022-04-30 20:08:29 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-30 20:11:09 +0200dextaa4(~dextaa@user/dextaa) (Read error: Connection reset by peer)
2022-04-30 20:13:14 +0200dextaa4(~dextaa@user/dextaa)
2022-04-30 20:13:40 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-30 20:14:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 248 seconds)
2022-04-30 20:20:52 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
2022-04-30 20:21:13 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-30 20:23:24 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-04-30 20:27:50 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 20:34:33 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-04-30 20:34:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 20:35:47 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 20:40:24 +0200mikoto-chan(~mikoto-ch@77.94.246.239) (Ping timeout: 248 seconds)
2022-04-30 20:40:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 20:43:46 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 20:43:57 +0200coot(~coot@213.134.190.95)
2022-04-30 20:44:05 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 256 seconds)
2022-04-30 20:50:09 +0200cyanide4dinner(~cyanide4d@171.61.13.123) (Quit: cyanide4dinner)
2022-04-30 20:52:01 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-04-30 20:53:00 +0200dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
2022-04-30 20:53:37 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-04-30 20:54:25 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 20:56:10 +0200Sgeo(~Sgeo@user/sgeo)
2022-04-30 21:00:24 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 21:02:39 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 21:05:45 +0200kenran(~kenran@200116b82bca8f00c650de1a0d81ba2b.dip.versatel-1u1.de)
2022-04-30 21:07:51 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-04-30 21:10:09 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 21:14:29 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 21:15:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 21:18:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 21:18:50 +0200hololeap(~hololeap@user/hololeap)
2022-04-30 21:19:44 +0200 <hololeap> flag ghc-patched-unboxed-bytecode; description: The GHC version we link against supports unboxed sums and tuples in bytecode
2022-04-30 21:19:53 +0200 <hololeap> https://github.com/haskell/haskell-language-server/commit/03e833b3427237061a11661da3b71aea882703f8
2022-04-30 21:20:06 +0200 <hololeap> anyone know what this is talking about?
2022-04-30 21:20:35 +0200 <hololeap> like, which versions support this?
2022-04-30 21:21:49 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-30 21:22:08 +0200stackdroid18(14094@user/stackdroid)
2022-04-30 21:22:58 +0200 <hololeap> is it literally just referring to UnboxedTuples and UnboxedSums language extensions? so ghc >=8.2.1 ?
2022-04-30 21:23:20 +0200 <tomsmeding> hololeap: this sounds relevant https://gitlab.haskell.org/ghc/ghc/-/issues/15617
2022-04-30 21:23:31 +0200 <tomsmeding> hololeap: in particular this comment https://gitlab.haskell.org/ghc/ghc/-/issues/15617#note_286380
2022-04-30 21:24:15 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 21:24:27 +0200 <hololeap> huh, ok
2022-04-30 21:24:41 +0200 <tomsmeding> (found by searching on "unboxed sums bytecode" in the ghc issue tracker :p )
2022-04-30 21:26:00 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 21:31:41 +0200gustik(~gustik@2a01:c844:2457:2220:475d:34f:d571:996f)
2022-04-30 21:32:04 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 21:34:03 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 21:34:12 +0200king_gs(~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
2022-04-30 21:36:00 +0200king_gs(~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d)
2022-04-30 21:43:54 +0200alp_(~alp@user/alp)
2022-04-30 21:45:03 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-30 21:45:36 +0200coot(~coot@213.134.190.95)
2022-04-30 21:46:34 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-30 21:48:15 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-30 21:48:28 +0200coot(~coot@213.134.190.95) (Client Quit)
2022-04-30 21:48:32 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 21:48:53 +0200hololeap(~hololeap@user/hololeap)
2022-04-30 21:48:53 +0200segfaultfizzbuzz(~segfaultf@192-184-223-90.static.sonic.net)
2022-04-30 21:49:25 +0200 <segfaultfizzbuzz> i wasn't getting a quick response in #haskell-beginners so i am trying here, but feel free to tell me to get lost on this one. i'm making yet another attempt at learning haskell here and have defined a simple data structure:
2022-04-30 21:49:34 +0200 <segfaultfizzbuzz> data V2 = { x :: Int, y :: Int }
2022-04-30 21:50:04 +0200 <segfaultfizzbuzz> this is meant to be a vector over the integers. i've successfully defined a distance function and now i want to think about adding/subtracting etc these things
2022-04-30 21:50:20 +0200 <segfaultfizzbuzz> i would, of course, define add and subtract functions but
2022-04-30 21:50:42 +0200 <segfaultfizzbuzz> can i tell rust V2 is an abelian group or something like that ?
2022-04-30 21:50:49 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 21:51:00 +0200 <tomsmeding> s/rust/haskell/?
2022-04-30 21:51:24 +0200 <segfaultfizzbuzz> yeah sorry :)
2022-04-30 21:51:35 +0200 <hololeap> there are libraries that have more fine-tuned typeclasses for numbers, but in stock haskell, you are stuck with Num
2022-04-30 21:51:41 +0200 <tomsmeding> haskell has no type class for "abelian group", but it does have Num https://hackage.haskell.org/package/base-4.15.0.0/docs/Prelude.html#t:Num
2022-04-30 21:52:28 +0200dashkal(~dashkal@user/dashkal)
2022-04-30 21:52:35 +0200 <tomsmeding> segfaultfizzbuzz: do you know how to make a type an instance of a type class?
2022-04-30 21:53:01 +0200 <hololeap> % :i Num
2022-04-30 21:53:10 +0200 <tomsmeding> yahb is dead
2022-04-30 21:53:22 +0200 <hololeap> :(
2022-04-30 21:53:25 +0200 <tomsmeding> yeah
2022-04-30 21:53:58 +0200 <segfaultfizzbuzz> tomsmeding: i mean i can look up the syntax, i understand that as being fairly equivalent to using generic types even if it isn't technically equivalent
2022-04-30 21:54:19 +0200 <tomsmeding> segfaultfizzbuzz: given your typo earlier, I take it you're at least somewhat familiar with rust?
2022-04-30 21:54:23 +0200 <tomsmeding> if so, type class ~= trait
2022-04-30 21:54:39 +0200 <tomsmeding> much more so than being similar to generics in C++/Go/Java
2022-04-30 21:56:09 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-04-30 21:56:17 +0200 <segfaultfizzbuzz> yeah i can make rust do things
2022-04-30 21:56:28 +0200 <segfaultfizzbuzz> i am too dumb to program computers but i keep trying
2022-04-30 21:56:57 +0200 <tomsmeding> segfaultfizzbuzz: here's an example of a Num instance, in this case for Ratio, a type for fractions https://hackage.haskell.org/package/base-4.15.0.0/docs/src/GHC-Real.html#line-495
2022-04-30 21:57:03 +0200 <tomsmeding> ignore the SPECIALIZE
2022-04-30 21:57:11 +0200neceve(~quassel@2.29.116.221) (Ping timeout: 256 seconds)
2022-04-30 21:57:42 +0200 <tomsmeding> the '(Integral a) =>' is a _superclass constraint_: that header says that 'Ratio a', for any type 'a', is an instance of Num (with the below implementation) _if_ 'a' is an instance of Integral
2022-04-30 21:57:57 +0200 <tomsmeding> in your case, V2 doesn't have any type parameters, so it would just be 'instance Num V2 where'
2022-04-30 21:58:12 +0200 <hololeap> a typeclass is similar to an interface from Java. it basically means "this type must implement these functions", so if you wanted to write a Num instance for V2, you would need to write definitions for (+), (-), (*), etc
2022-04-30 21:58:24 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 21:58:37 +0200 <tomsmeding> furthermore, the :% is actually the constructor of Ratio -- don't be fooled by the fact that it's written like an infix operator
2022-04-30 21:59:07 +0200 <hololeap> but there is some hand waving. haskell can't enforce rules such as the commutativity of (+), so it's up to the programmer to do it correctly
2022-04-30 21:59:32 +0200 <tomsmeding> (similarly to Rust, actually)
2022-04-30 21:59:56 +0200 <hololeap> hence why quite a few typeclasses come with a set of rules that you are supposed to make sure are enforced in your instances
2022-04-30 22:00:23 +0200 <segfaultfizzbuzz> can we rename "programmer" to "denial of service victim" ?
2022-04-30 22:00:37 +0200 <tomsmeding> because there's too much to remember? :D
2022-04-30 22:00:45 +0200 <segfaultfizzbuzz> yeah it's all just too much
2022-04-30 22:01:12 +0200king_gs(~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Ping timeout: 250 seconds)
2022-04-30 22:01:19 +0200 <tomsmeding> suggestion: write an instance of Eq for your V2
2022-04-30 22:01:39 +0200 <segfaultfizzbuzz> i was starting to try to define (+)
2022-04-30 22:01:52 +0200 <segfaultfizzbuzz> and... i am fighting maybe with how haskell handles parens or something ?
2022-04-30 22:01:59 +0200 <segfaultfizzbuzz> (+) :: V2 -> V2 -> V2
2022-04-30 22:02:13 +0200 <segfaultfizzbuzz> (+) a b = V2 (x a + x b) (y a + y b)
2022-04-30 22:02:15 +0200 <tomsmeding> what are you writing? Parens with infix operators can be somewhat confusing if you're a haskell beginner
2022-04-30 22:02:28 +0200 <tomsmeding> hm that looks okay actually
2022-04-30 22:02:55 +0200 <tomsmeding> _oh_
2022-04-30 22:03:05 +0200 <segfaultfizzbuzz> haskell complains about the second + which is relaly confusing
2022-04-30 22:03:17 +0200 <tomsmeding> you're writing this as a top-level function, not in a Num instance, so you're shadowing the standard library (+) here
2022-04-30 22:03:39 +0200 <tomsmeding> so both +'es in your definition now refer to your own V2 +
2022-04-30 22:03:43 +0200 <tomsmeding> which isn't going to type check :p
2022-04-30 22:03:54 +0200 <segfaultfizzbuzz> yeah i was kinda trying to overload
2022-04-30 22:04:06 +0200 <tomsmeding> haskell doesn't do ad-hoc overloading like C++
2022-04-30 22:04:19 +0200 <geekosaur> you have to define it as part of the instance, not as an "overload"
2022-04-30 22:04:21 +0200 <segfaultfizzbuzz> lol thank the floppy disk gods
2022-04-30 22:04:22 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-04-30 22:04:24 +0200 <tomsmeding> in order to overload (+) for a type T, you need to make T an instance of the class that (+) comes from
2022-04-30 22:04:31 +0200 <tomsmeding> i.e. you'll have to make V2 an instance of Num
2022-04-30 22:04:53 +0200 <tomsmeding> instance Num V2 where \n (+) a b = ...
2022-04-30 22:05:09 +0200 <geekosaur> remember indentation
2022-04-30 22:05:11 +0200 <tomsmeding> (a line break and indentation instead of \n)
2022-04-30 22:05:15 +0200 <tomsmeding> yes lol
2022-04-30 22:05:46 +0200 <tomsmeding> minor readability hack: this is also allowed: instance Num V2 where a + b = ...
2022-04-30 22:05:47 +0200yauhsien_(~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
2022-04-30 22:06:15 +0200 <geekosaur> and all the other methods of Num, granting you may not care about some of them so you might simply define them as `undefined`
2022-04-30 22:06:23 +0200 <geekosaur> (thinking of (*) in particular)
2022-04-30 22:06:33 +0200 <tomsmeding> well, you can also just omit them, and GHC will spawn lots of warnings
2022-04-30 22:06:34 +0200 <segfaultfizzbuzz> so i am telling haskell that V2 is a Num
2022-04-30 22:06:35 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 22:06:37 +0200 <tomsmeding> yes
2022-04-30 22:06:45 +0200 <tomsmeding> but warnings are not errors
2022-04-30 22:06:49 +0200yauhsien(~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-30 22:06:51 +0200CiaoSen(~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-30 22:07:04 +0200fef(~thedawn@user/thedawn) (Ping timeout: 240 seconds)
2022-04-30 22:07:16 +0200king_gs(~Thunderbi@187.201.77.157)
2022-04-30 22:07:19 +0200 <tomsmeding> (though this does indicate that Num is probably too large a class -- as you already indicated, it would've been nicer if there was an "abelian group" class)
2022-04-30 22:07:56 +0200 <segfaultfizzbuzz> as an outsider it seems like the concepts of group, magma etc are senseless to name
2022-04-30 22:08:06 +0200 <geekosaur> Num is Ring + fromInteger + signum, arguably. (one could also argue abs, but could also argue abs follows from Ring)
2022-04-30 22:08:09 +0200 <segfaultfizzbuzz> one should simply say commutative, has identity, etc at a particulate level
2022-04-30 22:08:20 +0200 <hololeap> there is "numeric-prelude" although it's pretty arcane: https://hackage.haskell.org/package/numeric-prelude-0.4.3.3/docs/Algebra-Additive.html
2022-04-30 22:08:34 +0200king_gs(~Thunderbi@187.201.77.157) (Client Quit)
2022-04-30 22:08:59 +0200 <tomsmeding> segfaultfizzbuzz: right, though "commutative" is kinda odd to have as a type class, because it doesn't add any new _methods_/_members_; and haskell type classes cannot enforce laws actively
2022-04-30 22:09:36 +0200pera(~pera@user/pera)
2022-04-30 22:09:40 +0200 <segfaultfizzbuzz> yeah but lack of law enforcement is a language flaw
2022-04-30 22:10:08 +0200 <geekosaur> not really, unless your language has a metalanguage built in
2022-04-30 22:10:20 +0200[Leary](~Leary]@122-58-228-205-vdsl.sparkbb.co.nz)
2022-04-30 22:10:21 +0200 <tomsmeding> it's not a flaw, it's a tradeoff
2022-04-30 22:10:38 +0200 <geekosaur> but then your metalanguage needs a metametalanguage to prove things on the metalanguage level…
2022-04-30 22:10:43 +0200 <segfaultfizzbuzz> if i ever understand how to program computers, my language will have infinitely recursive metalanguages
2022-04-30 22:10:52 +0200 <hololeap> enforcing commutivity would require dependent types at the very least, I would think
2022-04-30 22:10:54 +0200 <segfaultfizzbuzz> i will define the y languinator
2022-04-30 22:10:57 +0200 <geekosaur> there's one already, Heard's Omega
2022-04-30 22:11:05 +0200 <tomsmeding> if you care more about statically enforced correctness, not having it is a flaw; if you care more about implementability of the language or usability for programmers, _having_ it would be a flaw
2022-04-30 22:11:15 +0200 <tomsmeding> there is a place for Agda and Idris, and there is a place for Haskell
2022-04-30 22:11:23 +0200 <segfaultfizzbuzz> geekosaur: lol google doesn't know what this is
2022-04-30 22:11:23 +0200 <tomsmeding> there is also a place for Go
2022-04-30 22:11:37 +0200 <geekosaur> sorry I meant Sheard
2022-04-30 22:11:44 +0200 <tomsmeding> segfaultfizzbuzz: "infinitely recursive metalanguages" that sounds suspiciously like a dependently-typed language
2022-04-30 22:11:55 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-04-30 22:12:13 +0200 <geekosaur> https://en.wikipedia.org/wiki/%CE%A9mega
2022-04-30 22:12:16 +0200 <hololeap> yeah Idris actually does do this, but it sacrifices performance
2022-04-30 22:12:32 +0200 <hololeap> if I understand correctly
2022-04-30 22:13:02 +0200 <geekosaur> yes. everything comes at a price
2022-04-30 22:13:12 +0200 <geekosaur> the question is whether you're willing to pay the price
2022-04-30 22:13:37 +0200 <geekosaur> there are still arguments going on over dependent haskell because many haskellers are not convinced the price is worth it
2022-04-30 22:13:51 +0200 <hololeap> haskell has good performance and a good track record, and gives you reasonable guarantees with its type system
2022-04-30 22:13:54 +0200 <geekosaur> whereas its developer thinks it can be written while minimizing the price
2022-04-30 22:14:15 +0200 <geekosaur> (but forgets that, once it's out there it will be used, anbd then everyone will be forced to pay the price)
2022-04-30 22:14:37 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-30 22:14:52 +0200 <segfaultfizzbuzz> anyway so i will work out the instance syntax momentarily, but it looks like the major answer here is that
2022-04-30 22:15:19 +0200 <segfaultfizzbuzz> even if i told haskell that V2 was an abelian group, it wouldn't get me anything at compile time as compared to just defining an add function, a subtraction function, etc
2022-04-30 22:15:28 +0200 <tomsmeding> that's right
2022-04-30 22:15:40 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-30 22:15:58 +0200 <tomsmeding> GHC will not complain if you write this: instance Eq V2 where _ == _ = True ; _ /= _ = True
2022-04-30 22:16:02 +0200 <hololeap> it would, however, inform you and anyone looking at your code of what it's supposed to do. there are also test suites that can check this kind of thing
2022-04-30 22:16:05 +0200 <tomsmeding> which is obvious nonsense, and violates the laws
2022-04-30 22:16:15 +0200 <segfaultfizzbuzz> hololeap: yeah it's effectively a comment
2022-04-30 22:16:22 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 22:17:03 +0200 <tomsmeding> indeed, there are generic property tests written for quite a few of the standard classes: https://hackage.haskell.org/package/checkers-0.6.0/docs/Test-QuickCheck-Classes.html
2022-04-30 22:17:13 +0200 <tomsmeding> (not for Num because the Num laws are kind of badly specified anyway)
2022-04-30 22:17:34 +0200 <hololeap> it has more function than a comment
2022-04-30 22:18:11 +0200 <segfaultfizzbuzz> so you can heuristically check
2022-04-30 22:18:51 +0200 <segfaultfizzbuzz> wow neither google scholar nor google know what heard's omega is
2022-04-30 22:18:59 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-30 22:19:13 +0200pavonia(~user@user/siracusa)
2022-04-30 22:19:21 +0200 <geekosaur> I told you earlier, I meant sheard. and sent https://en.wikipedia.org/wiki/%CE%A9mega
2022-04-30 22:19:54 +0200king_gs(~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d)
2022-04-30 22:20:05 +0200 <segfaultfizzbuzz> geekosaur: my bad i missed that, scrollback issue on my part
2022-04-30 22:20:42 +0200 <segfaultfizzbuzz> i like the idea of a type function, that's interesting
2022-04-30 22:21:09 +0200 <tomsmeding> @let type family F where F Int = Bool ; F Bool = Int
2022-04-30 22:21:10 +0200 <lambdabot> /sandbox/tmp/.L.hs:156:9: error:
2022-04-30 22:21:11 +0200 <lambdabot> • Number of parameters must match family declaration; expected 0
2022-04-30 22:21:11 +0200 <lambdabot> • In the type family declaration for ‘F’
2022-04-30 22:21:18 +0200 <tomsmeding> @let type family F a where F Int = Bool ; F Bool = Int
2022-04-30 22:21:19 +0200 <lambdabot> Defined.
2022-04-30 22:21:26 +0200 <tomsmeding> > True :: F Int
2022-04-30 22:21:27 +0200 <lambdabot> True
2022-04-30 22:21:31 +0200 <tomsmeding> that's a type function in Haskell :p
2022-04-30 22:22:21 +0200 <geekosaur> we don't have generalized type functions though, just what amounts ot lookup tables
2022-04-30 22:22:27 +0200 <maerwald> tomsmeding: playground is down?
2022-04-30 22:22:37 +0200 <tomsmeding> rip?
2022-04-30 22:22:54 +0200 <hololeap> but honestly, we can just look at the code and see if (+) is commutative or not and move on. this shouldn't be something to get hung up on
2022-04-30 22:22:59 +0200 <maerwald> 502
2022-04-30 22:23:33 +0200 <tomsmeding> "Apr 30 14:31:35 play-haskell systemd[1]: tom-pastebin-haskell.service: Deactivated successfully." O.o
2022-04-30 22:24:27 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2022-04-30 22:25:29 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
2022-04-30 22:25:49 +0200kenran(~kenran@200116b82bca8f00c650de1a0d81ba2b.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-04-30 22:25:49 +0200 <segfaultfizzbuzz> hololeap: are you talking to me?
2022-04-30 22:26:46 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds)
2022-04-30 22:27:43 +0200 <tomsmeding> maerwald: lol earlyoom killed the server
2022-04-30 22:27:49 +0200 <tomsmeding> segfaultfizzbuzz: I think hololeap was, yes
2022-04-30 22:28:26 +0200 <maerwald> tomsmeding: huh
2022-04-30 22:28:36 +0200 <maerwald> isn't memory constrained already?
2022-04-30 22:28:40 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 22:29:02 +0200 <tomsmeding> memory of spawned bwrap processes should be constrained, the server itself can still crap out, but only because I messed up, presumably
2022-04-30 22:29:08 +0200 <tomsmeding> question is, wtf happened
2022-04-30 22:29:45 +0200 <segfaultfizzbuzz> well i did define (+) if you scholl up a little ways but i can paste again if someone really wants. this was resolved i thought by making V2 an instance of Num
2022-04-30 22:29:50 +0200tomsmedingwas momentarily afraid someone had hacked through the bwrap defences and had deactivated the service as a joke, but luckily no such thing
2022-04-30 22:30:28 +0200 <maerwald> imo it's more likely for someone to hack a haskell lib than to hack bwrap
2022-04-30 22:30:36 +0200 <tomsmeding> :D
2022-04-30 22:31:04 +0200 <tomsmeding> maerwald: any inspiration how I can set things up that next time this happens, I have more info than, well, zero
2022-04-30 22:31:36 +0200 <tomsmeding> (in any case, server is running again)
2022-04-30 22:31:44 +0200 <maerwald> prometheus?
2022-04-30 22:31:52 +0200 <tomsmeding> ._.
2022-04-30 22:32:02 +0200 <maerwald> yes, there's a GHC plugin for it even
2022-04-30 22:32:57 +0200 <maerwald> @hackage prometheus-metrics-ghc
2022-04-30 22:32:57 +0200 <lambdabot> https://hackage.haskell.org/package/prometheus-metrics-ghc
2022-04-30 22:33:02 +0200 <maerwald> @hackage prometheus-proc
2022-04-30 22:33:02 +0200 <lambdabot> https://hackage.haskell.org/package/prometheus-proc
2022-04-30 22:33:47 +0200 <maerwald> @hackage wai-middleware-prometheus
2022-04-30 22:33:47 +0200 <lambdabot> https://hackage.haskell.org/package/wai-middleware-prometheus
2022-04-30 22:33:53 +0200 <maerwald> I've used those
2022-04-30 22:34:04 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-04-30 22:35:07 +0200 <tomsmeding> right the first I looked at recently, which I used as inspiration for how to code this :p https://hackage.haskell.org/package/ghc-gc-hook
2022-04-30 22:35:24 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
2022-04-30 22:36:01 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-04-30 22:36:01 +0200arjun(~arjun@user/arjun) (Quit: Leaving)
2022-04-30 22:36:23 +0200 <tomsmeding> hm right
2022-04-30 22:37:32 +0200 <segfaultfizzbuzz> i don't suppose there is a way of saying "passthrough" in haskell?
2022-04-30 22:38:19 +0200 <segfaultfizzbuzz> for example Num wants me to define fromInteger, and so i would like to say that:
2022-04-30 22:38:49 +0200 <segfaultfizzbuzz> fromInteger a = V2 (fromInteger x a) (fromInteger y a)
2022-04-30 22:38:58 +0200 <tomsmeding> not really
2022-04-30 22:39:06 +0200 <segfaultfizzbuzz> so it would be nice to say fromInteger a = passthrough fromInteger a
2022-04-30 22:39:25 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
2022-04-30 22:39:39 +0200Vajb(~Vajb@n2bi4516ak7u68y31-2.v6.elisa-mobile.fi) (Ping timeout: 240 seconds)
2022-04-30 22:39:58 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-04-30 22:39:59 +0200 <tomsmeding> shouldn't that be `V2 (fromInteger a) (fromInteger a)`
2022-04-30 22:40:25 +0200cyanide4dinner(~cyanide4d@171.61.13.123)
2022-04-30 22:40:26 +0200 <segfaultfizzbuzz> a is V2 isn't it?
2022-04-30 22:40:38 +0200 <tomsmeding> there's a bunch of ways in which you can try to golf that code, but ultimately, not really nicely
2022-04-30 22:40:51 +0200 <tomsmeding> segfaultfizzbuzz: no, a :: Integer, because fromInteger :: Num a => Integer -> a
2022-04-30 22:40:57 +0200Vajb(~Vajb@2001:999:40:1ac3:ad36:85eb:10b3:b81b)
2022-04-30 22:41:08 +0200 <tomsmeding> and even if it was a V2, it would've been `fromInteger (x a)`, not `fromInteger x a` ;)
2022-04-30 22:41:24 +0200rusty(~rustyboy@2a02:2f0e:5b17:3600:dc65:f04e:d4dd:7a0f)
2022-04-30 22:41:29 +0200rustyboy(~rustyboy@2a02:2f0e:5b17:3600:dc65:f04e:d4dd:7a0f)
2022-04-30 22:41:46 +0200 <segfaultfizzbuzz> ah you are right... so then there is no method of doing fromInteger... can i say unimplemented or something? what do i do here
2022-04-30 22:41:53 +0200 <segfaultfizzbuzz> you can't map from a single integer to an integer pair
2022-04-30 22:41:56 +0200 <tomsmeding> = error "not implemented"
2022-04-30 22:42:11 +0200 <tomsmeding> I repeat, the Num class is kind of too large
2022-04-30 22:42:31 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-04-30 22:42:51 +0200jgeerds(~jgeerds@d53604b0.access.ecotel.net)
2022-04-30 22:44:37 +0200zeenk(~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d)
2022-04-30 22:44:49 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 22:47:08 +0200king_gs(~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Ping timeout: 250 seconds)
2022-04-30 22:50:42 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 22:51:02 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-30 22:51:02 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-30 22:51:02 +0200wroathe(~wroathe@user/wroathe)
2022-04-30 22:52:47 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 22:55:01 +0200qy(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2022-04-30 22:55:23 +0200ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 260 seconds)
2022-04-30 22:57:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 240 seconds)
2022-04-30 22:58:24 +0200 <segfaultfizzbuzz> tomsmeding: what class would you suggest?
2022-04-30 22:58:37 +0200rusty(~rustyboy@2a02:2f0e:5b17:3600:dc65:f04e:d4dd:7a0f) (Quit: Leaving)
2022-04-30 22:58:37 +0200rustyboy(~rustyboy@2a02:2f0e:5b17:3600:dc65:f04e:d4dd:7a0f) (Quit: Leaving)
2022-04-30 22:58:43 +0200 <geekosaur> there isn't one unless you switch to one of the numeric preludes
2022-04-30 22:58:50 +0200 <geekosaur> Num wasn't really well thought out
2022-04-30 22:58:51 +0200 <tomsmeding> segfaultfizzbuzz: I meant that there are arguments why the Num class should be split up
2022-04-30 22:58:55 +0200 <tomsmeding> what geekosaur says
2022-04-30 22:58:59 +0200rusty(~rustyboy@2a02:2f0e:5b17:3600:dc65:f04e:d4dd:7a0f)
2022-04-30 23:00:41 +0200yauhsien_(~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-30 23:00:44 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 23:01:07 +0200 <segfaultfizzbuzz> so it sounds like i am trying to push the envelope too much here and perhaps should just be happy with an add function, and move on...?
2022-04-30 23:01:28 +0200yauhsien(~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
2022-04-30 23:01:49 +0200 <geekosaur> you could just do `error "not meaningful"` and call it a day
2022-04-30 23:04:34 +0200 <hololeap> it depends on if you want to find the perfect typeclass for your type, or if you want to continue learning the other basics of the language
2022-04-30 23:06:12 +0200yauhsien(~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-04-30 23:06:20 +0200acidjnk(~acidjnk@p200300d0c73b4502b9c6c7f353397b6d.dip0.t-ipconnect.de)
2022-04-30 23:12:12 +0200zebrag(~chris@user/zebrag)
2022-04-30 23:14:22 +0200cyanide4dinner(~cyanide4d@171.61.13.123) (Remote host closed the connection)
2022-04-30 23:16:42 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 23:17:48 +0200 <segfaultfizzbuzz> ok i almost have this typeclass implemented. abs a = V2 (Prelude.abs x a) (Prelude.abs y a)
2022-04-30 23:18:10 +0200 <segfaultfizzbuzz> somehow haskell isn't happy with that or variations i have tried and considered obvious
2022-04-30 23:18:29 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 23:18:34 +0200 <geekosaur> do you want that, or do you want to use your distance function (abs would be distance from V2 0 0)
2022-04-30 23:18:44 +0200 <segfaultfizzbuzz> Num mandates that i return a V2
2022-04-30 23:18:56 +0200 <geekosaur> mm, right
2022-04-30 23:19:03 +0200 <geekosaur> in any case you're missing parens
2022-04-30 23:19:19 +0200 <segfaultfizzbuzz> yeah i find haskell parens to be counter intuitive
2022-04-30 23:19:24 +0200 <geekosaur> abs a = V2 (abs (x a)) (abs (y a))
2022-04-30 23:19:53 +0200 <segfaultfizzbuzz> ha, it was a parens problem
2022-04-30 23:19:56 +0200 <geekosaur> shouldn't need Prelude there unless you have again defined it outside the instance declaration
2022-04-30 23:20:10 +0200 <segfaultfizzbuzz> ghci complains about abs being ambiguous unless i do that
2022-04-30 23:21:25 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
2022-04-30 23:21:37 +0200 <segfaultfizzbuzz> well this is fun, the Num typeclass is working :-D
2022-04-30 23:21:45 +0200 <geekosaur> then you have slipped it outside the instance definition again
2022-04-30 23:21:51 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-30 23:21:59 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-04-30 23:22:15 +0200 <geekosaur> make sure your indentation is correct. or use braces if you don't want to use indentation
2022-04-30 23:23:43 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-30 23:23:53 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-04-30 23:24:04 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-30 23:24:06 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
2022-04-30 23:24:17 +0200 <segfaultfizzbuzz> ah interesting re indentation
2022-04-30 23:24:34 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-04-30 23:24:42 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2022-04-30 23:24:48 +0200 <segfaultfizzbuzz> thanks for your help folks, tic tac toe is on it's way ;) bbl
2022-04-30 23:24:53 +0200 <segfaultfizzbuzz> its way
2022-04-30 23:26:15 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 23:27:08 +0200worldhelloworld1(uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-30 23:29:42 +0200segfaultfizzbuzz(~segfaultf@192-184-223-90.static.sonic.net) (Ping timeout: 276 seconds)
2022-04-30 23:35:47 +0200mvk(~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 240 seconds)
2022-04-30 23:35:47 +0200nut(~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-04-30 23:36:36 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-04-30 23:38:45 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 23:44:39 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 276 seconds)
2022-04-30 23:46:43 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-04-30 23:46:52 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-04-30 23:48:41 +0200mvk(~mvk@2607:fea8:5ce3:8500::aa1d)
2022-04-30 23:49:49 +0200deadmarshal_(~deadmarsh@95.38.118.198)
2022-04-30 23:51:27 +0200 <tomsmeding> maerwald: ok installed some basic metrics, let's see if it happens again
2022-04-30 23:54:06 +0200deadmarshal_(~deadmarsh@95.38.118.198) (Ping timeout: 246 seconds)
2022-04-30 23:57:21 +0200gustik(~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) (Quit: Leaving)
2022-04-30 23:58:15 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-30 23:58:16 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2022-04-30 23:59:00 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 272 seconds)