2024/03/30

2024-03-30 00:00:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-03-30 00:04:53 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-03-30 00:06:33 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-03-30 00:09:23 +0100destituion(~destituio@2001:4644:c37:0:6086:64f4:a213:b80d)
2024-03-30 00:19:11 +0100magus3(~Thunderbi@189.6.35.139)
2024-03-30 00:21:36 +0100Achylles(~Achylles_@45.182.57.13)
2024-03-30 00:23:24 +0100nij-(~NIL@2601:180:8300:6610:742b:f451:84ff:e5af)
2024-03-30 00:24:10 +0100 <shapr> sm: we'll miss you
2024-03-30 00:24:23 +0100 <shapr> oh wait, was that \o/ *after* the reboot?
2024-03-30 00:25:28 +0100 <geekosaur> yes
2024-03-30 00:25:42 +0100 <geekosaur> I assume that means you have joins/parts muted
2024-03-30 00:26:55 +0100 <sm> yup! reboot and auto-reconnect was fast
2024-03-30 00:27:05 +0100 <nij-> Hello! May I ask a question? Usual OOP has classes and subclasses. While it maybe more flexible, function/method calls sometimes must wait until runtime to be specified. This makes optimizing compiled code harder, and could slow down the whole system.
2024-03-30 00:27:27 +0100 <nij-> I'm not familiar with haskell. But it seems that all function/method calls know exactly which implementation to use at compile time.
2024-03-30 00:27:42 +0100 <nij-> Q1 Is this true? -- Q2, If true, how was it achieved?
2024-03-30 00:27:45 +0100 <geekosaur> usually yes
2024-03-30 00:28:01 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-03-30 00:28:13 +0100 <geekosaur> (the exception is when a typeclass dictionary can't be optimized away, which usually means it's being used polymorphically)
2024-03-30 00:28:58 +0100 <nij-> I think I know what a type class is (e.g. Eq, Show, Monad).. but I don't know what a typeclass dictionary is..
2024-03-30 00:29:22 +0100 <geekosaur> part of the implementation
2024-03-30 00:29:50 +0100 <geekosaur> you could (very, very loosely) say it's a vtable associated with a type
2024-03-30 00:30:43 +0100 <geekosaur> so if a type has an Ord instance, it has a typeclass dictionary containing the definitions of Ord's methods for that type
2024-03-30 00:31:17 +0100siw5ohs0(~aiw5ohs0@user/aiw5ohs0)
2024-03-30 00:31:18 +0100 <geekosaur> (and because Ord requires Eq, it also includes a typeclass dictionary for Eq)
2024-03-30 00:31:45 +0100 <nij-> Eq is a superclass of Ord, right?
2024-03-30 00:31:45 +0100siw5ohs0(~aiw5ohs0@user/aiw5ohs0) (Leaving)
2024-03-30 00:32:03 +0100 <geekosaur> I kinda don't like that terminology because it doesn't really behave like a superclass
2024-03-30 00:32:28 +0100 <nij-> Hmm.. what's the correct terminology?
2024-03-30 00:32:38 +0100 <nij-> Fill in -00Eq is a _ of Ord.
2024-03-30 00:32:42 +0100 <geekosaur> for example, Monad has Applicative as a "superclass", but you can define the Applicative instance in terms of Monad
2024-03-30 00:32:44 +0100 <nij-> Fill in --- Eq ..
2024-03-30 00:32:56 +0100 <geekosaur> which would be a loop if it were an actual superclass
2024-03-30 00:33:28 +0100 <geekosaur> (specifically: instance Applicative MyMonad where { pure = return; (<*>) = ap })
2024-03-30 00:34:07 +0100 <geekosaur> so they're reelated, but can be rather more tangled than an OO superclass
2024-03-30 00:34:17 +0100 <nij-> Say X is a super class of Y, can I redefine methods for X in Y?
2024-03-30 00:34:24 +0100 <geekosaur> no
2024-03-30 00:34:36 +0100 <geekosaur> it just means methods for X can be used in the definition of Y
2024-03-30 00:34:44 +0100 <geekosaur> it's not true OOP
2024-03-30 00:34:48 +0100 <nij-> Nice! That means
2024-03-30 00:35:06 +0100jb3(~jb3@core.jb3.dev) (Konversation terminated!)
2024-03-30 00:35:13 +0100 <geekosaur> so for example Ord can and does use (==) when defining comparison operators
2024-03-30 00:35:15 +0100 <nij-> method call can be determined at compile time!
2024-03-30 00:35:31 +0100 <geekosaur> but it can't define (==) itself; it must get it from the Eq instance
2024-03-30 00:35:56 +0100 <nij-> It's certainly less flexible though.. but compiler is happier.
2024-03-30 00:36:02 +0100 <geekosaur> right, Haskell's type system is all about insuring all types can be statically determined
2024-03-30 00:36:20 +0100 <nij-> How about when one really wants that behavior.. lemme come up with an example..
2024-03-30 00:36:35 +0100 <geekosaur> typeclasses flex this by letting you pass what amount to records of functions ("typeclass dictionaries") around implicitly
2024-03-30 00:37:03 +0100magus3(~Thunderbi@189.6.35.139) (Ping timeout: 255 seconds)
2024-03-30 00:37:24 +0100 <geekosaur> and there is also full polymorphism, but the only thing you can do with a polymorphic value is pass (a pointer to) it around unmodified, or ignore it
2024-03-30 00:37:33 +0100 <geekosaur> % :t length @[]
2024-03-30 00:37:33 +0100 <yahb2> length @[] :: [a] -> Int
2024-03-30 00:37:52 +0100 <geekosaur> length neither knows nor cares what `a` is
2024-03-30 00:38:08 +0100 <nij-> In this case..
2024-03-30 00:38:19 +0100 <nij-> is it still possible for method selection to be determined at compile time?
2024-03-30 00:38:24 +0100 <geekosaur> in this case you can only count how many items are in the list
2024-03-30 00:38:26 +0100 <c_wraith> there's also polymorphic recursion, which is one of the few cases where *something* must survive to runtime to play the part of the typeclass dictionary
2024-03-30 00:39:14 +0100 <nij-> What is I really want to extend a method......
2024-03-30 00:39:15 +0100 <geekosaur> `a` has no constraints, therefore no usable "methods"
2024-03-30 00:39:30 +0100 <nij-> Say I have People and Presidents.
2024-03-30 00:39:38 +0100 <nij-> And I have the method "sign".
2024-03-30 00:39:57 +0100 <nij-> Presidents, while signing, must append their signature with "President".
2024-03-30 00:39:58 +0100 <geekosaur> you can produce it unmodified (`id :: a -> a`), or you can operate on something containing it (as with `length` above), you can't otherwise touch it'
2024-03-30 00:40:11 +0100 <nij-> This is easy to do in OOP. How about Haskell?
2024-03-30 00:40:19 +0100xal(~xal@mx1.xal.systems) ()
2024-03-30 00:41:00 +0100 <geekosaur> in Haskell the focus is on the function, so you would usually have a different function for that
2024-03-30 00:41:01 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
2024-03-30 00:41:15 +0100 <geekosaur> typeclasses can sometimes do it but are usually a poor choice
2024-03-30 00:42:36 +0100 <nij-> c_wraith polymorphic recursion sounds like a deeper topic..
2024-03-30 00:42:39 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-03-30 00:42:50 +0100 <nij-> any article I should read to learn more about it?
2024-03-30 00:42:57 +0100 <nij-> geekosaur Thanks :)
2024-03-30 00:43:17 +0100 <nij-> geekosaur Oh btw, why would having dependent types in Haskell be good or useful?
2024-03-30 00:44:55 +0100 <c_wraith> nij-: It's probably best illustrated with a simple (if silly) example, like...
2024-03-30 00:44:56 +0100 <c_wraith> > let showMany :: Show a => Int -> a -> String ; showMany 0 x = show x ; showMany n x = showMany (n - 1) (x, x) in showMany 3 'a'
2024-03-30 00:44:58 +0100 <lambdabot> "((('a','a'),('a','a')),(('a','a'),('a','a')))"
2024-03-30 00:45:41 +0100 <c_wraith> nij-: notably, the type of the second argument changes on each recursive call - polymorphic recursion
2024-03-30 00:46:42 +0100 <geekosaur> right, that's what I meant about not being able to optimize away a typeclass dictionary earlier: in that case, it has to be passed for `showMany` to know what it's doing
2024-03-30 00:46:44 +0100 <c_wraith> nij-: In principle, you have no way of knowing what type `show` is called at, because it could in principle depend on program input
2024-03-30 00:48:03 +0100 <geekosaur> re dependent types: it can be useful to have types which depend on runtime values. (look at the Servant webserver for an example, where routes are specified at type level and selectable based on network input)
2024-03-30 00:48:31 +0100 <geekosaur> this helps ensure you handle all cases
2024-03-30 00:48:51 +0100destituion(~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 272 seconds)
2024-03-30 00:49:03 +0100 <geekosaur> you can't accidentally forget to define a route, it will be a compile error
2024-03-30 00:50:01 +0100 <geekosaur> but working with such types is really painful in Haskell as it currently exists. dependent types support this kind of usage
2024-03-30 00:50:32 +0100 <c_wraith> I like polymorphic recursion as an example of what it does because it's Haskell98. You don't need to explain (or deal with) emulating dependent types.
2024-03-30 00:50:40 +0100 <nij-> c_wraith I see. That's a good example.
2024-03-30 00:51:22 +0100 <c_wraith> And yes, there are legitimate use cases for polymorphic recursion :)
2024-03-30 00:53:22 +0100 <nij-> Hmm.. here's an example AI gave me why dependent type is good. https://www.perplexity.ai/search/iwhy-do-haskellers-TUEyhVdwSa.azD11_PEGcQ#2
2024-03-30 00:54:02 +0100 <nij-> It seems more flexible and clear, yes.
2024-03-30 00:54:15 +0100 <nij-> (when using dependent type)
2024-03-30 00:54:43 +0100 <nij-> However, I wonder if this would introduce some bad effects (e.g. it may become harder to do things at compile time? Just a guess.)
2024-03-30 00:56:17 +0100 <c_wraith> yes, dependent types make it more difficult to write code. The ideal is that they add more difficulty to incorrect code than they do to correct code.
2024-03-30 00:56:25 +0100 <c_wraith> +write
2024-03-30 00:57:00 +0100 <c_wraith> But you can easily end up in situations where you need to write non-trivial proofs in the type system in order to keep the type checker satisfied
2024-03-30 00:57:45 +0100 <nij-> Hmm.. is it fair to say that dep types make it easier to write "flexibly", but introduce other bad effects for the compiler to reason?
2024-03-30 00:58:00 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2024-03-30 00:58:52 +0100 <ncf> that AI answer is (unsurprisingly) nonsensical garbage
2024-03-30 00:59:05 +0100 <ncf> please do not post garbage AI links in here
2024-03-30 00:59:51 +0100 <nij-> ncf Sorry
2024-03-30 01:01:02 +0100 <nij-> Btw, is there anyway one can have a proof showing that the methods of a new Monad really satisfy the Monad rules?
2024-03-30 01:01:51 +0100 <ncf> you can write an informal proof by chaining together haskell pseudo-equalities, or you can write it in Agda
2024-03-30 01:01:56 +0100destituion(~destituio@2a02:2121:655:c95b:c9ef:1cc8:963c:45)
2024-03-30 01:02:04 +0100 <geekosaur> you can, but not in Haskell. you need to switch to Agda or Idris or Coq, etc.
2024-03-30 01:02:46 +0100 <geekosaur> with, again, the price that you need to carry the proof around with you all the time
2024-03-30 01:03:34 +0100 <geekosaur> kinda the computer version of "with great power comes great responsibility"
2024-03-30 01:04:03 +0100 <ncf> presumably a decent compiler would ensure the laws are erased
2024-03-30 01:05:05 +0100 <nij-> Once a proof is completed in Agda, can Agda tell if that proof describes the case of the monad I implemented in haskell?
2024-03-30 01:05:30 +0100 <nij-> I mean, we surely can prove stuff in Agda. But how to link that proof with the actual implementation I have in haskell?
2024-03-30 01:05:34 +0100 <geekosaur> if you want that, you usually export Haskell code from Agda
2024-03-30 01:05:46 +0100 <ncf> there are tools like agda2hs
2024-03-30 01:06:25 +0100 <geekosaur> so for example we did that with XMonad.StackSet which is the heart of the xmonad window manager
2024-03-30 01:10:14 +0100 <nij-> Amazing
2024-03-30 01:10:28 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 268 seconds)
2024-03-30 01:11:04 +0100 <geekosaur> (sadly "isn't a UX disaster" is not something a proof checker can test…)
2024-03-30 01:12:14 +0100 <ncf> that being said i'm not actually aware of any agda library that formalises lawful monads on the "ambient" category of types 😅 most of them focus on either general monads in category theory or unlawful monads for (meta)programming
2024-03-30 01:12:37 +0100 <ncf> i guess you could instantiate the former with the category of sets
2024-03-30 01:13:39 +0100 <ncf> ah jesper's post on agda2hs describes precisely the lawful monad use case https://jesper.sikanda.be/posts/agda2hs.html
2024-03-30 01:18:55 +0100rvalue(~rvalue@user/rvalue)
2024-03-30 01:19:21 +0100Achylles(~Achylles_@45.182.57.13) (Ping timeout: 255 seconds)
2024-03-30 01:19:58 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2024-03-30 01:23:25 +0100acidjnk_new(~acidjnk@p200300d6e714dc05100e436667b532df.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-03-30 01:32:23 +0100euleritian(~euleritia@dynamic-176-005-145-045.176.5.pool.telefonica.de) (Ping timeout: 264 seconds)
2024-03-30 01:33:24 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-30 01:37:47 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-03-30 01:44:06 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Ping timeout: 260 seconds)
2024-03-30 01:49:54 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-03-30 01:58:46 +0100bilegeek(~bilegeek@2600:1008:b05f:9e00:3c20:c464:db7:a3d7)
2024-03-30 01:59:35 +0100Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-03-30 02:02:42 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-30 02:07:21 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2024-03-30 02:08:14 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-03-30 02:11:06 +0100z0ey(~o-90@gateway/tor-sasl/o-90)
2024-03-30 02:14:35 +0100z0ey(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2024-03-30 02:14:54 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Ping timeout: 260 seconds)
2024-03-30 02:25:24 +0100[Leary](~Leary]@user/Leary/x-0910699)
2024-03-30 02:26:41 +0100shapr`(~user@c-24-218-186-89.hsd1.ma.comcast.net)
2024-03-30 02:27:16 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-30 02:28:39 +0100shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 255 seconds)
2024-03-30 02:34:55 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-03-30 02:45:38 +0100xal(~xal@mx1.xal.systems)
2024-03-30 02:46:47 +0100mmhat(~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-30 02:47:15 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-03-30 02:53:25 +0100 <ski> geekosaur : "which would be a loop if it were an actual superclass" -- whyfore ?
2024-03-30 02:53:29 +0100Inst_(~Inst@120.244.192.126)
2024-03-30 02:54:11 +0100 <ski> "the only thing you can do with a polymorphic value is pass (a pointer to) it around unmodified, or ignore it" -- no. `maybeToList :: forall a. Maybe a -> [a]' is a polymorphic value (and `maybeToList @Bool' is not), but `x' in `maybeToList (Just x) = [x]' is *not* polymorphic. it has the abstract/hidden/forgotten/opaque/skolem type `a', being a type variable in the type of `maybeToList'
2024-03-30 02:55:07 +0100 <geekosaur> I was cutting corners all over the place, yes
2024-03-30 02:55:32 +0100 <geekosaur> not sure introducing skolems to someone who's weak on the basics is a real good idea
2024-03-30 02:55:35 +0100 <ski> (`f' in the rank-2 `foo :: (forall a. [a] -> [a]) -> Int; foo f = f (reverse (f [2,3,5,7])' *is* polymorphic, though)
2024-03-30 02:56:15 +0100 <ski> not sure about how to introduce it either .. but it'd definitely not polymorphic
2024-03-30 03:06:28 +0100shapr`shapr
2024-03-30 03:06:52 +0100shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net) (Quit: sleep)
2024-03-30 03:11:11 +0100nij-(~NIL@2601:180:8300:6610:742b:f451:84ff:e5af) (Using Circe, the loveliest of all IRC clients)
2024-03-30 03:18:17 +0100otto_s(~user@p5de2f9c4.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-03-30 03:19:50 +0100otto_s(~user@p4ff277a3.dip0.t-ipconnect.de)
2024-03-30 03:22:04 +0100hallucinagen(~prodmezha@123.63.203.210)
2024-03-30 03:27:35 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-03-30 03:28:26 +0100Inst_Inst
2024-03-30 03:39:45 +0100hallucinagen(~prodmezha@123.63.203.210) (Ping timeout: 252 seconds)
2024-03-30 03:41:51 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-03-30 04:16:37 +0100Lycurgus(~georg@user/Lycurgus)
2024-03-30 04:36:26 +0100td_(~td@i53870932.versanet.de) (Ping timeout: 268 seconds)
2024-03-30 04:37:45 +0100td_(~td@i53870929.versanet.de)
2024-03-30 04:39:46 +0100mmhat(~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-03-30 05:12:36 +0100Rodney_(~Rodney@176.254.244.83) (Quit: Connection error?!)
2024-03-30 05:34:24 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 268 seconds)
2024-03-30 05:39:52 +0100hallucinagen(~prodmezha@123.63.203.210)
2024-03-30 05:43:03 +0100thaliaa(uid486183@id-486183.uxbridge.irccloud.com)
2024-03-30 05:56:24 +0100aforemny(~aforemny@2001:9e8:6cd3:b600:4403:cb83:9d88:c924)
2024-03-30 05:58:09 +0100aforemny_(~aforemny@i59F516CE.versanet.de) (Ping timeout: 268 seconds)
2024-03-30 06:01:04 +0100xff0x(~xff0x@2405:6580:b080:900:2b2b:eb19:37de:d4bd) (Ping timeout: 246 seconds)
2024-03-30 06:12:19 +0100xff0x(~xff0x@2405:6580:b080:900:2b2b:eb19:37de:d4bd)
2024-03-30 06:17:55 +0100hallucinagen(~prodmezha@123.63.203.210) (Ping timeout: 260 seconds)
2024-03-30 06:20:11 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-03-30 06:26:27 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-03-30 06:27:52 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-03-30 06:28:41 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-30 06:31:57 +0100peterbecich1(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-30 06:33:36 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-03-30 06:33:37 +0100peterbecich1peterbecich
2024-03-30 06:55:17 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-03-30 06:55:58 +0100harveypwca(~harveypwc@2601:246:c200:2740:15b6:f225:14ff:9821)
2024-03-30 06:59:05 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-03-30 07:00:22 +0100hallucinagen(~prodmezha@123.63.203.210)
2024-03-30 07:07:45 +0100euleritian(~euleritia@dynamic-176-004-209-172.176.4.pool.telefonica.de)
2024-03-30 07:16:58 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-03-30 07:22:34 +0100target_i(~target_i@user/target-i/x-6023099)
2024-03-30 07:44:50 +0100chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
2024-03-30 07:45:43 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-30 07:51:18 +0100Vajb(~Vajb@n6jbiwem1nfkemdydn4-1.v6.elisa-mobile.fi) (Ping timeout: 268 seconds)
2024-03-30 07:52:48 +0100Vajb(~Vajb@n6jbiwem1nfkemdydn4-1.v6.elisa-mobile.fi)
2024-03-30 07:54:04 +0100triceraptor(~prodmezha@149.102.244.113)
2024-03-30 07:57:08 +0100mei(~mei@user/mei) (Ping timeout: 256 seconds)
2024-03-30 07:58:11 +0100hallucinagen(~prodmezha@123.63.203.210) (Ping timeout: 264 seconds)
2024-03-30 08:00:36 +0100mei(~mei@user/mei)
2024-03-30 08:04:15 +0100rvalue(~rvalue@user/rvalue)
2024-03-30 08:08:29 +0100triceraptor(~prodmezha@149.102.244.113) (Remote host closed the connection)
2024-03-30 08:08:53 +0100triceraptor(~prodmezha@149.102.244.113)
2024-03-30 08:18:26 +0100bilegeek(~bilegeek@2600:1008:b05f:9e00:3c20:c464:db7:a3d7) (Ping timeout: 268 seconds)
2024-03-30 08:28:53 +0100Cale(~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c)
2024-03-30 08:29:36 +0100triceraptor(~prodmezha@149.102.244.113) (Ping timeout: 252 seconds)
2024-03-30 08:41:23 +0100mei(~mei@user/mei) (Ping timeout: 264 seconds)
2024-03-30 08:41:44 +0100acidjnk_new(~acidjnk@p200300d6e714dc78d00aae6f47e08b8a.dip0.t-ipconnect.de)
2024-03-30 08:45:00 +0100Cale(~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c) (Remote host closed the connection)
2024-03-30 08:47:59 +0100Cale(~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c)
2024-03-30 08:56:23 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
2024-03-30 09:00:59 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-03-30 09:03:06 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-30 09:07:32 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-03-30 09:12:05 +0100mei(~mei@user/mei)
2024-03-30 09:14:06 +0100jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2024-03-30 09:16:57 +0100jinsun(~jinsun@user/jinsun)
2024-03-30 09:20:55 +0100aforemny(~aforemny@2001:9e8:6cd3:b600:4403:cb83:9d88:c924) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-30 09:21:11 +0100aforemny(~aforemny@2001:9e8:6cd3:b600:153d:d7c7:d668:8838)
2024-03-30 09:24:12 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com)
2024-03-30 09:27:57 +0100magus3(~Thunderbi@189.6.35.139)
2024-03-30 09:33:43 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-30 09:38:36 +0100euleritian(~euleritia@dynamic-176-004-209-172.176.4.pool.telefonica.de) (Ping timeout: 268 seconds)
2024-03-30 09:39:09 +0100euleritian(~euleritia@dynamic-176-001-128-083.176.1.pool.telefonica.de)
2024-03-30 09:42:00 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-30 09:42:35 +0100gmg(~user@user/gehmehgeh)
2024-03-30 09:54:25 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-30 09:56:30 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-03-30 10:04:03 +0100CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-03-30 10:05:19 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-30 10:05:58 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-30 10:10:45 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-03-30 10:14:52 +0100oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
2024-03-30 10:15:10 +0100Rodney_(~Rodney@176.254.244.83)
2024-03-30 10:21:06 +0100CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-03-30 10:21:30 +0100sawilagar(~sawilagar@user/sawilagar)
2024-03-30 10:22:44 +0100dostoyevsky2(~sck@user/dostoyevsky2) (Quit: leaving)
2024-03-30 10:23:04 +0100dostoyevsky2(~sck@user/dostoyevsky2)
2024-03-30 10:26:55 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-03-30 10:36:35 +0100oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 272 seconds)
2024-03-30 10:37:55 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-03-30 10:42:28 +0100mmhat(~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-30 10:44:49 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-30 10:46:43 +0100magus3(~Thunderbi@189.6.35.139) (Ping timeout: 272 seconds)
2024-03-30 10:48:37 +0100fedorafan(~fedorafan@user/fedorafan) (Ping timeout: 272 seconds)
2024-03-30 10:49:06 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-03-30 10:50:56 +0100fedorafan(~fedorafan@user/fedorafan)
2024-03-30 10:51:14 +0100califax(~califax@user/califx)
2024-03-30 11:07:32 +0100Inst_(~Inst@120.244.192.126)
2024-03-30 11:09:02 +0100paul_j(~user@8.190.187.81.in-addr.arpa)
2024-03-30 11:09:57 +0100paul_j`(~user@8.190.187.81.in-addr.arpa)
2024-03-30 11:10:16 +0100Inst(~Inst@120.244.192.126) (Ping timeout: 260 seconds)
2024-03-30 11:13:36 +0100zer0bitz_(~zer0bitz@user/zer0bitz)
2024-03-30 11:16:53 +0100zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2024-03-30 11:22:25 +0100paul_j``(~user@8.190.187.81.in-addr.arpa)
2024-03-30 11:23:28 +0100paul_j`(~user@8.190.187.81.in-addr.arpa) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2))
2024-03-30 11:24:09 +0100paul_j``(~user@8.190.187.81.in-addr.arpa) (Client Quit)
2024-03-30 11:27:54 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds)
2024-03-30 11:28:03 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2024-03-30 11:28:07 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-03-30 11:28:32 +0100ec(~ec@gateway/tor-sasl/ec)
2024-03-30 11:28:47 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2024-03-30 11:29:07 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2024-03-30 11:30:06 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-03-30 11:30:11 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-03-30 11:30:40 +0100ec(~ec@gateway/tor-sasl/ec)
2024-03-30 11:31:04 +0100Lord_of_Life_Lord_of_Life
2024-03-30 11:32:27 +0100manwithluck(manwithluc@gateway/vpn/protonvpn/manwithluck)
2024-03-30 11:34:44 +0100FragByte(~christian@user/fragbyte)
2024-03-30 11:36:52 +0100acidjnk_new(~acidjnk@p200300d6e714dc78d00aae6f47e08b8a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-03-30 11:43:26 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-30 11:43:35 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-03-30 11:44:43 +0100FragByte(~christian@user/fragbyte) (Ping timeout: 268 seconds)
2024-03-30 11:46:31 +0100FragByte(~christian@user/fragbyte)
2024-03-30 11:47:00 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-30 11:50:59 +0100ft(~ft@p508db238.dip0.t-ipconnect.de) (Quit: leaving)
2024-03-30 11:52:35 +0100Square2(~Square@user/square) (Ping timeout: 272 seconds)
2024-03-30 11:59:27 +0100nickiminjaj(~nickiminj@user/laxhh)
2024-03-30 11:59:40 +0100triceraptor(~prodmezha@149.102.244.113)
2024-03-30 12:14:16 +0100__monty__(~toonn@user/toonn)
2024-03-30 12:18:30 +0100jtza8(~user@user/jtza8)
2024-03-30 12:20:39 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-30 12:20:43 +0100 <jtza8> Hi all, I'm looking to use Haskell in an in-house comercial context, and I was wondering what my desktop UI options are?
2024-03-30 12:21:08 +0100 <jtza8> I've been looking at wxHaskell, but it seems to not be up to date.
2024-03-30 12:22:33 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-30 12:22:45 +0100 <jtza8> Does anyone here know why? I could put in some work to fix things, it would probably be cheaper than to get a license for Qt.
2024-03-30 12:23:42 +0100 <jtza8> (The target machines will be running Windows.)
2024-03-30 12:38:09 +0100nickiminjaj(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-03-30 12:39:07 +0100Etabeta1(~Etabeta1@176.207.241.56) (Quit: quit)
2024-03-30 12:39:18 +0100triceraptor(~prodmezha@149.102.244.113) (Ping timeout: 255 seconds)
2024-03-30 12:39:54 +0100nickiminjaj(~nickiminj@user/laxhh)
2024-03-30 12:40:02 +0100Etabeta1(~Etabeta1@176.207.241.56)
2024-03-30 12:42:04 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 268 seconds)
2024-03-30 12:43:40 +0100Etabeta1(~Etabeta1@176.207.241.56) (Client Quit)
2024-03-30 12:49:36 +0100euphores(~SASL_euph@user/euphores)
2024-03-30 12:56:14 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-03-30 12:58:25 +0100quelln(~quelln@2405:201:300c:e1c8:6501:321c:bcff:9364)
2024-03-30 12:59:42 +0100quelln(~quelln@2405:201:300c:e1c8:6501:321c:bcff:9364) (Client Quit)
2024-03-30 13:00:13 +0100quelln(~quelln@2405:201:300c:e1c8:6501:321c:bcff:9364)
2024-03-30 13:00:38 +0100quelln(~quelln@2405:201:300c:e1c8:6501:321c:bcff:9364) (Client Quit)
2024-03-30 13:05:51 +0100 <[exa]> jtza8: the GTK support is actually pretty good, and IMO portable easily
2024-03-30 13:06:28 +0100 <[exa]> I only did small apps in that, but the demos in the repo look quite solid
2024-03-30 13:07:43 +0100 <[exa]> (also probably depends a lot on what the app would be supposed do)
2024-03-30 13:07:50 +0100euphores(~SASL_euph@user/euphores)
2024-03-30 13:10:04 +0100 <jtza8> Thanks [exa]. I suspect I might get away with using GTK, I'm just a bit worried about the license not working out in the long term.
2024-03-30 13:12:34 +0100 <[exa]> gtk is iirc lesser GPL right?
2024-03-30 13:13:46 +0100 <[exa]> (that should work even for commercial pruposes. like, it's gonna cost you a bit of supporting paperwork and a license notice somewhere, but no need to GPL your source or anything like that)
2024-03-30 13:13:47 +0100nickiminjaj(~nickiminj@user/laxhh) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-03-30 13:15:06 +0100 <yushyin> https://gitlab.gnome.org/GNOME/gtk/-/blob/main/COPYING (correct, it's lgpl2.1+)
2024-03-30 13:15:52 +0100 <[exa]> yay
2024-03-30 13:16:58 +0100 <yushyin> (or 2.0 but whatever :D)
2024-03-30 13:17:50 +0100 <[exa]> btw the other sensible way would be the browsery one (Elm or Miso or FRP or so) but these were kinda disappointing for me for various minor reasons
2024-03-30 13:20:54 +0100 <jtza8> I've looked into those, you're right, they're a bit disappointing. I'm looking into threepenny, but I'd be a lot happier if I don't need to lug a brower around (Electron).
2024-03-30 13:22:28 +0100 <[exa]> btw is the app more like officey one or very interactive graphical one?
2024-03-30 13:22:41 +0100 <jtza8> More officey.
2024-03-30 13:22:59 +0100 <[exa]> ah ok.. in the other case you might consider looking at some of the ImGui libs
2024-03-30 13:24:26 +0100 <[exa]> for officey just go gtk, it's stable, there are several yuge software packages that will drag it to stability and portability, and on windows it IMO renders much better and "native" than qt
2024-03-30 13:25:17 +0100 <jtza8> I agree, and it seems like my licensing concerns were unfounded.
2024-03-30 13:26:06 +0100 <jtza8> Thanks again, you've given me a few things to think through.
2024-03-30 13:26:31 +0100Etabeta1(~Etabeta1@176.207.241.56)
2024-03-30 13:27:59 +0100qqq(~qqq@92.43.167.61)
2024-03-30 13:28:17 +0100 <[exa]> yw :) good luck there
2024-03-30 13:46:36 +0100Etabeta1(~Etabeta1@176.207.241.56) (Quit: quit)
2024-03-30 13:47:27 +0100Etabeta1(~Etabeta1@176.207.241.56)
2024-03-30 13:59:30 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-03-30 14:04:26 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-03-30 14:04:55 +0100rvalue(~rvalue@user/rvalue)
2024-03-30 14:09:06 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-03-30 14:09:33 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher)
2024-03-30 14:17:51 +0100mmhat(~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-03-30 14:18:13 +0100mmhat(~mmh@p200300f1c706a275ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-30 14:21:43 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-03-30 14:38:13 +0100jtza8(~user@user/jtza8) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2))
2024-03-30 14:44:51 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
2024-03-30 14:44:59 +0100dbaoty(~dbaoty@tptn-04-0838.dsl.iowatelecom.net)
2024-03-30 14:47:31 +0100thaliaa(uid486183@id-486183.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-30 14:51:28 +0100sp1ff(~user@c-24-21-45-157.hsd1.wa.comcast.net)
2024-03-30 14:57:29 +0100pavonia(~user@user/siracusa)
2024-03-30 15:05:06 +0100 <dmj`> [exa]: just curious what did you find disappointing
2024-03-30 15:16:22 +0100euleritian(~euleritia@dynamic-176-001-128-083.176.1.pool.telefonica.de) (Ping timeout: 255 seconds)
2024-03-30 15:20:06 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-30 15:21:02 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-30 15:22:51 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-30 15:26:07 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-30 15:26:24 +0100ddellacosta(~ddellacos@ool-44c73d16.dyn.optonline.net) (Ping timeout: 268 seconds)
2024-03-30 15:42:29 +0100jamesmartinez(uid6451@id-6451.helmsley.irccloud.com)
2024-03-30 15:47:59 +0100shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net)
2024-03-30 15:56:54 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-03-30 16:07:51 +0100euphores(~SASL_euph@user/euphores)
2024-03-30 16:09:14 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-03-30 16:10:42 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher)
2024-03-30 16:10:54 +0100igemnace(~ian@user/igemnace)
2024-03-30 16:36:18 +0100Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) (Quit: Lost terminal)
2024-03-30 16:49:48 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-30 16:56:15 +0100lambdap2371(~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap2371)
2024-03-30 16:56:43 +0100lambdap2371(~lambdap@static.167.190.119.168.clients.your-server.de)
2024-03-30 17:01:51 +0100mrmr155334(~mrmr@user/mrmr) (Quit: Bye, See ya later!)
2024-03-30 17:02:26 +0100mrmr155334(~mrmr@user/mrmr)
2024-03-30 17:02:55 +0100CiaoSen(~Jura@2a05:5800:2bf:ab00:e6b9:7aff:fe80:3d03)
2024-03-30 17:13:23 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-30 17:15:16 +0100CiaoSen(~Jura@2a05:5800:2bf:ab00:e6b9:7aff:fe80:3d03) (Ping timeout: 256 seconds)
2024-03-30 17:19:28 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-03-30 17:28:31 +0100igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-03-30 17:29:22 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-30 17:35:43 +0100nickiminjaj(~nickiminj@user/laxhh)
2024-03-30 17:45:54 +0100alexherbo2(~alexherbo@2a02-8440-3240-eb7d-0540-935a-6f9f-1fe6.rev.sfr.net)
2024-03-30 17:46:04 +0100igemnace(~ian@user/igemnace)
2024-03-30 17:48:27 +0100arjun(~arjun@user/arjun)
2024-03-30 17:54:39 +0100nickiminjaj(~nickiminj@user/laxhh) (Quit: Textual IRC Client: www.textualapp.com)
2024-03-30 17:59:31 +0100igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.1)
2024-03-30 17:59:55 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-03-30 18:00:24 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher)
2024-03-30 18:01:35 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-30 18:11:21 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-03-30 18:29:03 +0100zetef(~quassel@5.2.182.99) (Ping timeout: 272 seconds)
2024-03-30 18:30:45 +0100fryguybo1(~fryguybob@024-094-050-022.inf.spectrum.com) (Read error: Connection reset by peer)
2024-03-30 18:32:51 +0100Joao[3](~Joao003@190.108.99.67)
2024-03-30 18:33:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-30 18:36:38 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-30 18:53:24 +0100alexherbo2(~alexherbo@2a02-8440-3240-eb7d-0540-935a-6f9f-1fe6.rev.sfr.net) (Remote host closed the connection)
2024-03-30 18:54:00 +0100alexherbo2(~alexherbo@2a02-8440-3240-eb7d-b865-78a6-a925-f50d.rev.sfr.net)
2024-03-30 19:00:16 +0100jamesmartinez(uid6451@id-6451.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-30 19:06:25 +0100fryguybob(~fryguybob@024-094-050-022.inf.spectrum.com)
2024-03-30 19:08:05 +0100arjun(~arjun@user/arjun) (Quit: Quit!)
2024-03-30 19:14:25 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 255 seconds)
2024-03-30 19:15:14 +0100otlesfenrtf^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-03-30 19:17:09 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-30 19:20:30 +0100Sgeo(~Sgeo@user/sgeo)
2024-03-30 19:22:03 +0100rvalue(~rvalue@user/rvalue)
2024-03-30 19:29:01 +0100Joao[3](~Joao003@190.108.99.67) (Quit: Bye!)
2024-03-30 19:45:07 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-30 19:45:35 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
2024-03-30 19:45:55 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2024-03-30 19:53:31 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher)
2024-03-30 19:55:40 +0100Ram-Z_(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 256 seconds)
2024-03-30 19:57:23 +0100Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
2024-03-30 19:58:45 +0100zetef(~quassel@5.2.182.99)
2024-03-30 20:03:52 +0100Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Quit: ZNC - http://znc.in)
2024-03-30 20:08:10 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-03-30 20:31:08 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher)
2024-03-30 20:31:16 +0100sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net)
2024-03-30 20:33:35 +0100AlexZenon(~alzenon@94.233.240.255) (Ping timeout: 264 seconds)
2024-03-30 20:37:40 +0100AlexZenon(~alzenon@94.233.240.255)
2024-03-30 20:50:56 +0100akegalj(~akegalj@89-164-114-238.dsl.iskon.hr)
2024-03-30 20:51:25 +0100bilegeek(~bilegeek@2600:1008:b09d:de0f:4083:7125:d524:fe72)
2024-03-30 20:53:27 +0100Lycurgus(~georg@li1192-118.members.linode.com)
2024-03-30 20:53:27 +0100Lycurgus(~georg@li1192-118.members.linode.com) (Changing host)
2024-03-30 20:53:27 +0100Lycurgus(~georg@user/Lycurgus)
2024-03-30 20:53:36 +0100random-jellyfish(~developer@2a02:2f04:11e:c600:aa08:3b3e:8f13:2fee)
2024-03-30 20:53:36 +0100random-jellyfish(~developer@2a02:2f04:11e:c600:aa08:3b3e:8f13:2fee) (Changing host)
2024-03-30 20:53:36 +0100random-jellyfish(~developer@user/random-jellyfish)
2024-03-30 21:03:55 +0100bilegeek(~bilegeek@2600:1008:b09d:de0f:4083:7125:d524:fe72) (Quit: Leaving)
2024-03-30 21:05:11 +0100shapr`(~user@c-24-218-186-89.hsd1.ma.comcast.net)
2024-03-30 21:06:29 +0100shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2024-03-30 21:31:18 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds)
2024-03-30 21:32:23 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-03-30 21:34:02 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-30 21:41:51 +0100bilegeek(~bilegeek@2600:1008:b09d:de0f:4083:7125:d524:fe72)
2024-03-30 21:43:10 +0100arjun(~arjun@user/arjun)
2024-03-30 21:54:37 +0100harveypwca(~harveypwc@2601:246:c200:2740:15b6:f225:14ff:9821) (Quit: Leaving)
2024-03-30 22:04:17 +0100Square2(~Square@user/square)
2024-03-30 22:16:58 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2024-03-30 22:28:24 +0100akegalj(~akegalj@89-164-114-238.dsl.iskon.hr) (Remote host closed the connection)
2024-03-30 22:31:28 +0100enikar(~enikar@chezlefab.net) (Quit: WeeChat 3.0)
2024-03-30 22:33:39 +0100enikar(~enikar@chezlefab.net)
2024-03-30 22:45:48 +0100arjun(~arjun@user/arjun) (Quit: Quit!)
2024-03-30 22:51:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-30 22:52:52 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-30 22:53:21 +0100shapr`(~user@c-24-218-186-89.hsd1.ma.comcast.net) (Quit: reboot)
2024-03-30 22:57:33 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-03-30 23:08:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-30 23:14:23 +0100fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-03-30 23:17:42 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-03-30 23:21:45 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-03-30 23:34:17 +0100Inst_Inst
2024-03-30 23:37:44 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-03-30 23:38:42 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-03-30 23:41:09 +0100barak(~barak@2a0d:6fc2:68c1:7200:3cf2:a87d:a02b:3e21)
2024-03-30 23:46:01 +0100rvalue-(~rvalue@user/rvalue)
2024-03-30 23:46:52 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 256 seconds)
2024-03-30 23:51:26 +0100rvalue(~rvalue@user/rvalue)
2024-03-30 23:52:30 +0100rvalue-(~rvalue@user/rvalue) (Ping timeout: 252 seconds)
2024-03-30 23:56:22 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)