2024-06-09 00:04:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 00:08:29 +0200 | inedia | (~irc@2600:3c00:e000:287::1) (Quit: WeeChat 4.2.2) |
2024-06-09 00:09:03 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2024-06-09 00:13:22 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-06-09 00:17:05 +0200 | Lycurgus | (~georg@user/Lycurgus) |
2024-06-09 00:19:59 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds) |
2024-06-09 00:20:06 +0200 | dcoutts_ | (~duncan@77.109.149.106) |
2024-06-09 00:20:27 +0200 | dcoutts | (~duncan@77.109.149.106) (Read error: Connection reset by peer) |
2024-06-09 00:21:07 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-06-09 00:21:54 +0200 | Jackneill | (~Jackneill@94-21-193-177.pool.digikabel.hu) (Ping timeout: 255 seconds) |
2024-06-09 00:30:31 +0200 | <hololeap> | this is one of those vague questions that I seem to get in trouble for here, but does anyone have any ideas in regards to this kind of boilerplate for writing Monoid instances and how to automate it somehow: https://bpa.st/YD4A |
2024-06-09 00:32:00 +0200 | <hololeap> | or a deeper understanding. I see a lot of that same pattern but I haven't quite figured out what I'm seeing |
2024-06-09 00:32:39 +0200 | <hololeap> | (and yes I wrote that) |
2024-06-09 00:32:59 +0200 | <geekosaur> | it's just the definitions of semigroup and monoid |
2024-06-09 00:34:06 +0200 | <hololeap> | right, but there's often times a constructor that will "dominate", for instance: HelpMode <> _ = HelpMode; _ <> HelpMode = HelpMode |
2024-06-09 00:34:07 +0200 | <geekosaur> | semigroup captures the notion of "combining values", monoid captures the notion of "identity value when combining" |
2024-06-09 00:34:27 +0200 | <geekosaur> | yes, but that depends on the type |
2024-06-09 00:34:36 +0200 | <haskellbridge> | <Heffalump (@hsenag:matrix.org)> I think you'd probably spend more effort defining a clever specification language for that than you would save in writing the boilerplate |
2024-06-09 00:34:42 +0200 | <haskellbridge> | <Heffalump (@hsenag:matrix.org)> unless you have a _lot_ of it |
2024-06-09 00:34:51 +0200 | <geekosaur> | sometimes you get that, sometimes you don't (neither lists nor numbers work that way, for example) |
2024-06-09 00:35:00 +0200 | <hololeap> | ok, maybe I'm the only one who has recognized this pattern |
2024-06-09 00:35:58 +0200 | <hololeap> | It's usually something like: X <> _ = X; _ <> X = X; Y x1 <> Y x2 = ... |
2024-06-09 00:37:12 +0200 | <haskellbridge> | <Heffalump (@hsenag:matrix.org)> I think what you have done is defined a semilattice or similar |
2024-06-09 00:37:52 +0200 | <hololeap> | Heffalump: I think you're right. I watched a talk on that a while back and I kind of get it |
2024-06-09 00:39:17 +0200 | <EvanR> | haskell monoid instance IS the nice specification language xD |
2024-06-09 00:39:36 +0200 | <hololeap> | because here if someone specifies --help, that should override anything else on the command line |
2024-06-09 00:40:02 +0200 | <haskellbridge> | <Heffalump (@hsenag:matrix.org)> EvanR: I don't think it's that simple, hololeap's one has some extra structure |
2024-06-09 00:40:41 +0200 | <hololeap> | so if HelpMode shows up even once in the list from getOpt, it needs to be what remains after running mconcat on the list |
2024-06-09 00:40:47 +0200 | <hololeap> | does that make sense? |
2024-06-09 00:41:15 +0200 | <EvanR> | X <> _ = X; _ <> X = X; Y x1 <> Y x2 = f x1 x2 where ... |
2024-06-09 00:42:05 +0200 | <EvanR> | but shoehorning the behavior of the parsed command line arguments into a monoid instance seems kind like shoehorning |
2024-06-09 00:42:19 +0200 | <EvanR> | parsing them in the first place is another story |
2024-06-09 00:42:46 +0200 | <hololeap> | EvanR: do you want to see the full code? using mconcat worked pretty well |
2024-06-09 00:43:19 +0200 | <EvanR> | I can imagine the config monoid reacting to --help by simply setting the flag in the record saying --help was provided |
2024-06-09 00:43:30 +0200 | <EvanR> | and letting something else deal with the business logic |
2024-06-09 00:43:44 +0200 | <hololeap> | it's just a one file .hs project |
2024-06-09 00:44:24 +0200 | acidjnk | (~acidjnk@p200300d6e714dc900cd3e2d9c55a017d.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2024-06-09 00:44:48 +0200 | <hololeap> | https://github.com/gentoo-haskell/gentoo-haskell/blob/74e70146bf3a60f06966e7239075523568baaced/scr… |
2024-06-09 00:45:17 +0200 | <hololeap> | mconcat is at line 203 |
2024-06-09 00:46:13 +0200 | <EvanR> | not saying it won't work but it just seems like a non obvious way to go about it |
2024-06-09 00:46:51 +0200 | <hololeap> | what would be a more obvious way to do this? |
2024-06-09 00:47:11 +0200 | <hololeap> | I tend to think of things in terms of monoids :p |
2024-06-09 00:47:13 +0200 | <EvanR> | do what, implement --help, --verbose, and whatever else? |
2024-06-09 00:47:55 +0200 | <EvanR> | you're lucky you want to do something which can be construed as a valid monoid xD |
2024-06-09 00:48:16 +0200 | <EvanR> | (semigroup) |
2024-06-09 00:48:29 +0200 | <hololeap> | getOpt returns a list of valid options on the command line. if there's even a single --help in there, it needs to show the help menu. otherwise it needs to know if --verbose was passed, even once |
2024-06-09 00:48:50 +0200 | <EvanR> | and you happen to not care what else was passed if --help appears anywhere, just a fluke |
2024-06-09 00:49:04 +0200 | <monochrom> | hololeap: I wonder if you accept "code up the isomorphism with Maybe Verbose, then you can just use Maybe's monoidness" |
2024-06-09 00:49:14 +0200 | <EvanR> | e.g. some programs might want --help <topic> to work |
2024-06-09 00:49:27 +0200 | <EvanR> | or --help <topic> --color xD |
2024-06-09 00:49:43 +0200 | <hololeap> | monochrom: yeah here I could, since it's either help menu or normal mode + verbose option |
2024-06-09 00:50:08 +0200 | <hololeap> | yeah this is a really simple utility |
2024-06-09 00:50:24 +0200 | <geekosaur> | fwiw I agree this feels like "abuse of Monoid/Semigroup" |
2024-06-09 00:50:24 +0200 | <monochrom> | And then if you're reckless, isomorphism = unsafeCoerce haha |
2024-06-09 00:50:50 +0200 | <hololeap> | how would unsafeCoerce work on sum types |
2024-06-09 00:51:00 +0200 | <geekosaur> | intended to say that earlier but I had to run down and meat the grubhub driver 🙂 |
2024-06-09 00:51:31 +0200 | <EvanR> | I'm here to call out waste fraud and abuse when you're not here |
2024-06-09 00:52:29 +0200 | <hololeap> | geekosaur: I really thought this was *appropriate* use of monoid/semigroup |
2024-06-09 00:52:33 +0200 | <EvanR> | hololeap, in my reimagining, I implement this short circuiting behavior with an if statement, if --help was provided, do this, otherwise do that xD |
2024-06-09 00:52:48 +0200 | <hololeap> | like, it passes all the monoid/semigroup laws |
2024-06-09 00:53:12 +0200 | <EvanR> | you could also use a monad where all return types are () |
2024-06-09 00:53:15 +0200 | <EvanR> | but why |
2024-06-09 00:53:42 +0200 | <hololeap> | well, fair, but that's a step further |
2024-06-09 00:53:50 +0200 | <EvanR> | it would pass all laws! |
2024-06-09 00:53:57 +0200 | <hololeap> | I'm just not sure what the step backward would be |
2024-06-09 00:53:57 +0200 | <EvanR> | (but not make any damn sense) |
2024-06-09 00:54:13 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-06-09 00:54:19 +0200 | <EvanR> | like I said, you want it to do X if --help was provided, Y otherwise |
2024-06-09 00:54:37 +0200 | <EvanR> | there's way less code that does that |
2024-06-09 00:54:47 +0200 | <hololeap> | so basically write what I have but don't call it monoid/semigroup :p |
2024-06-09 00:55:01 +0200 | <geekosaur> | hololeap, informally (that is, without recourse to laws) I would expect a mon oid to preserve information. your HelpMode loses it |
2024-06-09 00:55:26 +0200 | <EvanR> | a type use for monoid here is to combine the provided configuration options into a coherence final config record |
2024-06-09 00:55:29 +0200 | <EvanR> | typical* |
2024-06-09 00:55:37 +0200 | <EvanR> | coherent* |
2024-06-09 00:55:38 +0200 | <geekosaur> | the semantics should be "combine", not "replace" |
2024-06-09 00:56:06 +0200 | <hololeap> | have you not seen Data.Semigroup.{First,Last} |
2024-06-09 00:56:18 +0200 | <EvanR> | the semilattice idea does result in losing information |
2024-06-09 00:56:49 +0200 | <EvanR> | it obeys laws |
2024-06-09 00:56:56 +0200 | <EvanR> | you're up there in the evolution of the haskell programmer xD |
2024-06-09 00:56:57 +0200 | <ncf> | i completely disagree that this is an "abuse of Monoid", or "shoehorning", fwiw |
2024-06-09 00:57:29 +0200 | <ncf> | command-line arguments form a monoid under concatenation, so it's only natural to interpret them into a monoid |
2024-06-09 00:57:41 +0200 | <EvanR> | that's not what the instance does or is used like |
2024-06-09 00:59:14 +0200 | <ncf> | ? |
2024-06-09 00:59:27 +0200 | <EvanR> | it doesn't concatenate as such |
2024-06-09 00:59:51 +0200 | <EvanR> | --help deletes the other options |
2024-06-09 01:00:40 +0200 | <ncf> | ..yes, you interpret them into a *different* monoid |
2024-06-09 01:00:41 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-06-09 01:00:42 +0200 | <EvanR> | it's acting like the infinity for a max monoid |
2024-06-09 01:00:59 +0200 | <EvanR> | it works just a weird way to go about it |
2024-06-09 01:01:27 +0200 | <ncf> | the CLI is a list (i.e. free monoid) of arguments, so you use the universal property to interpret them into the monoid you actually want |
2024-06-09 01:01:32 +0200 | <ncf> | it's not weird at all, it's very principled |
2024-06-09 01:01:35 +0200 | <EvanR> | you sure can |
2024-06-09 01:01:44 +0200 | <EvanR> | it doesn't help achieve the goal really |
2024-06-09 01:02:02 +0200 | <EvanR> | just my perspective from a "can I explain this code to a normal person" angle xD |
2024-06-09 01:03:02 +0200 | <hololeap> | I would hope haskell devs at least understand monoids. I appreciate your perspective EvanR |
2024-06-09 01:03:05 +0200 | <mauke> | > (1 > 2) `max` any even [3, 5, 2] |
2024-06-09 01:03:07 +0200 | <lambdabot> | True |
2024-06-09 01:03:32 +0200 | <hololeap> | and I came here for differing opinions so lay them on |
2024-06-09 01:04:14 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds) |
2024-06-09 01:04:39 +0200 | <EvanR> | i.e. "what's this code doing" is it "interpreting the universal monoid into one which is something like a semi lattice" vs "shows help if they do --help" xD |
2024-06-09 01:05:25 +0200 | <EvanR> | code looks like the first but could look like the second |
2024-06-09 01:06:58 +0200 | causal | (~eric@50.35.88.207) |
2024-06-09 01:10:03 +0200 | <hololeap> | hm good point |
2024-06-09 01:11:27 +0200 | <hololeap> | especially since the monoid/semigroup instance only used once it could be more readable as a custom function |
2024-06-09 01:14:15 +0200 | <hololeap> | thanks. these kind of insights are hard to come by when you're coding by yourself |
2024-06-09 01:21:16 +0200 | shailangsa | (~shailangs@host86-186-127-241.range86-186.btcentralplus.com) |
2024-06-09 01:31:37 +0200 | hiredman | (~hiredman@frontier1.downey.family) (Quit: Lost terminal) |
2024-06-09 01:34:21 +0200 | tremon | (~tremon@83.80.159.219) (Quit: getting boxed in) |
2024-06-09 01:40:29 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-06-09 01:43:35 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-06-09 01:48:43 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 01:52:53 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds) |
2024-06-09 01:56:42 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 01:57:35 +0200 | <monochrom> | I am against explaining to "normal" people. |
2024-06-09 01:58:47 +0200 | <EvanR> | what an elitist!!! |
2024-06-09 01:59:02 +0200 | <monochrom> | s/elit/profession/ |
2024-06-09 01:59:08 +0200 | <EvanR> | retreat to the ivory tower! |
2024-06-09 01:59:40 +0200 | <monochrom> | Every profession will have a lot of things unexplanable to outsiders. This is simply the inevitable consequence of specialization. |
2024-06-09 01:59:54 +0200 | <monochrom> | The alternative is to keep programming unprofessional. |
2024-06-09 02:00:49 +0200 | <monochrom> | But I guess that's exactly what most programmers want. |
2024-06-09 02:01:40 +0200 | <EvanR> | what insight that may contain is fogged over by stuff like UML, what professionals actually use to explain code xD |
2024-06-09 02:01:59 +0200 | <EvanR> | according to very large books |
2024-06-09 02:02:00 +0200 | <monochrom> | Every other profession --- accounting, medicine, law, engineering --- optimize for getting things to actually work, and if that means something is counterintuitive, so be it. |
2024-06-09 02:02:45 +0200 | <monochrom> | Programming is about the only field that wants to be called "professional" even "engineering", but naively insists on "intuitive". |
2024-06-09 02:02:50 +0200 | <monochrom> | No, you can't have both. |
2024-06-09 02:03:49 +0200 | <geekosaur> | ever heard of sanitation engineers? (there is a certain amount of commonality there, speaking cynically) |
2024-06-09 02:04:04 +0200 | <monochrom> | Like, even astrology doesn't claim to be intuitive. Sleep on that. |
2024-06-09 02:04:19 +0200 | <EvanR> | if you tell a bartender you're qualified because you have a degree in bartending school they will laugh. I'm not sure if we're that far yet |
2024-06-09 02:04:30 +0200 | <EvanR> | a degree from* |
2024-06-09 02:05:17 +0200 | <EvanR> | that far gone ... or perhaps that far advanced |
2024-06-09 02:07:22 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-06-09 02:08:14 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-06-09 02:08:36 +0200 | <ncf> | i have a feeling that when people say stuff like "code should be easy to explain to normal people" they mean "code should be easy to explain to imperative programmers" |
2024-06-09 02:08:53 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
2024-06-09 02:09:42 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2024-06-09 02:09:55 +0200 | ft | (~ft@i5C743B45.versanet.de) (Ping timeout: 256 seconds) |
2024-06-09 02:11:40 +0200 | ft | (~ft@i5C743B3C.versanet.de) |
2024-06-09 02:15:24 +0200 | <mauke> | professional math relies on intuition |
2024-06-09 02:15:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
2024-06-09 02:18:32 +0200 | <dolio> | Not on the intuition of non-mathematicians. |
2024-06-09 02:19:48 +0200 | <Leary> | hololeap: <https://en.wikipedia.org/wiki/Absorbing_element>. `Mode` ~ `Annihilate Any` where `data Annihilate a = Zero | NonZero a; instance Semigroup a => Semigroup (Annihilate a) where { NonZero a <> NonZero b = NonZero (a <> b); _ <> _ = Zero }; instance Monoid a => Monoid (Anihilate a) where { mempty = NonZero mempty }`. |
2024-06-09 02:20:10 +0200 | <Leary> | Unfortunately, since DerivingVia is not sufficiently advanced, this won't actually help you improve your code. |
2024-06-09 02:28:19 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds) |
2024-06-09 02:32:20 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 02:33:32 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-06-09 02:33:49 +0200 | <hololeap> | ok, so HelpMode here is the absorbing element. I had a feeling there was something deeper. I just wanted to know if there was some deeper pattern even if I don't implement it in this case |
2024-06-09 02:37:45 +0200 | <geekosaur> | I did wonder if it maybe fit "annihilating element", but it didn't seem like it (should have been the same as mempty) |
2024-06-09 02:38:20 +0200 | <monochrom> | Use multiplication as an anlogy, mempty is 1, helpmode is 0. |
2024-06-09 02:38:22 +0200 | <geekosaur> | hm, no, that's wrong |
2024-06-09 02:38:31 +0200 | talismanick | (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection) |
2024-06-09 02:38:35 +0200 | <geekosaur> | right, that would be annihilating |
2024-06-09 02:39:26 +0200 | <monochrom> | For command line options, mempty is defaults, absorb/annihilate is helpmode. |
2024-06-09 02:39:39 +0200 | <geekosaur> | although then I think you need a second monoid for which HelpMode would be mempty |
2024-06-09 02:41:02 +0200 | talismanick | (~user@2601:644:937c:ed10::ae5) |
2024-06-09 02:41:14 +0200 | <monochrom> | You can bring in lattice theory if you want two identity elements, one for min and one for max, and then the identity for one is the annihilator for the other. :) |
2024-06-09 02:43:33 +0200 | falafel | (~falafel@2a0c:5a87:3103:ec01::62b8) |
2024-06-09 02:57:31 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-06-09 03:01:01 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 03:05:23 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
2024-06-09 03:08:51 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 03:10:02 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
2024-06-09 03:45:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 03:46:19 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
2024-06-09 03:50:59 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
2024-06-09 03:55:13 +0200 | falafel | (~falafel@2a0c:5a87:3103:ec01::62b8) (Ping timeout: 255 seconds) |
2024-06-09 04:02:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 04:05:02 +0200 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
2024-06-09 04:05:32 +0200 | op_4 | (~tslil@user/op-4/x-9116473) |
2024-06-09 04:17:08 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-06-09 04:17:55 +0200 | Sgeo_ | (~Sgeo@user/sgeo) |
2024-06-09 04:19:20 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-06-09 04:19:47 +0200 | dcoutts_ | (~duncan@77.109.149.106) (Ping timeout: 260 seconds) |
2024-06-09 04:20:29 +0200 | vadparaszt | (~Rodney@176.254.244.83) (Ping timeout: 272 seconds) |
2024-06-09 04:56:23 +0200 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) (Remote host closed the connection) |
2024-06-09 04:56:49 +0200 | hiredman | (~hiredman@frontier1.downey.family) |
2024-06-09 04:58:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 04:59:23 +0200 | td_ | (~td@i53870927.versanet.de) (Ping timeout: 268 seconds) |
2024-06-09 05:00:53 +0200 | td_ | (~td@83.135.9.0) |
2024-06-09 05:03:02 +0200 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) |
2024-06-09 05:08:53 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 05:19:43 +0200 | inedia | (~irc@2600:3c00:e000:287::1) |
2024-06-09 05:28:56 +0200 | Guest64 | (~Guest64@50.46.240.117) |
2024-06-09 05:41:25 +0200 | Guest64 | (~Guest64@50.46.240.117) (Ping timeout: 250 seconds) |
2024-06-09 05:45:41 +0200 | phma_ | (~phma@host-67-44-208-103.hnremote.net) |
2024-06-09 05:46:28 +0200 | phma | (~phma@host-67-44-208-65.hnremote.net) (Read error: Connection reset by peer) |
2024-06-09 05:49:48 +0200 | aforemny_ | (~aforemny@2001:9e8:6cc8:c600:4ce7:611a:8656:4065) |
2024-06-09 05:51:03 +0200 | aforemny | (~aforemny@i59F516E7.versanet.de) (Ping timeout: 272 seconds) |
2024-06-09 06:17:13 +0200 | xelxebar | (~xelxebar@wilsonb.com) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
2024-06-09 06:18:00 +0200 | xelxebar | (~xelxebar@wilsonb.com) |
2024-06-09 06:30:39 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 06:31:44 +0200 | philopsos1 | (~caecilius@user/philopsos) |
2024-06-09 06:34:57 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
2024-06-09 06:39:46 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 06:44:11 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-06-09 06:47:32 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 07:17:11 +0200 | sdzx | (~sdzx@2403:2c80:6::3062) |
2024-06-09 07:17:57 +0200 | <sdzx> | hello |
2024-06-09 07:22:18 +0200 | sdzx | (~sdzx@2403:2c80:6::3062) (Remote host closed the connection) |
2024-06-09 07:43:28 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-06-09 08:08:41 +0200 | meritamen | (~user@user/meritamen) |
2024-06-09 08:09:09 +0200 | TheCoffeMaker_ | (~TheCoffeM@200.114.213.75) |
2024-06-09 08:09:56 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds) |
2024-06-09 08:11:53 +0200 | meritamen | (~user@user/meritamen) (Remote host closed the connection) |
2024-06-09 08:13:38 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving) |
2024-06-09 08:13:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 08:14:21 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-06-09 08:18:57 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-06-09 08:19:46 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-06-09 08:22:01 +0200 | <jcarpenter2> | oh my gosh, Haskell is constantly asking me to take my program and make it a value in a meta-program |
2024-06-09 08:22:58 +0200 | philopsos1 | (~caecilius@user/philopsos) (Ping timeout: 255 seconds) |
2024-06-09 08:23:02 +0200 | <jcarpenter2> | that's the direction of the pull in Haskell |
2024-06-09 08:26:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 08:31:39 +0200 | rosco | (~rosco@183.171.74.10) |
2024-06-09 08:33:22 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2024-06-09 08:41:29 +0200 | gmg | (~user@user/gehmehgeh) |
2024-06-09 08:45:03 +0200 | paparispipas | (~androirc@2a02:587:9e01:1742:5922:40bf:11bf:5f69) |
2024-06-09 08:45:35 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
2024-06-09 08:48:41 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-09 08:53:44 +0200 | Guest94 | (~Guest94@mobile-access-6df005-171.dhcp.inet.fi) |
2024-06-09 08:56:02 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 09:00:06 +0200 | tt1231097 | (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat) |
2024-06-09 09:02:55 +0200 | tt1231097 | (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) |
2024-06-09 09:08:31 +0200 | Guest94 | (~Guest94@mobile-access-6df005-171.dhcp.inet.fi) (Quit: Client closed) |
2024-06-09 09:12:53 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds) |
2024-06-09 09:14:05 +0200 | paparispipas | (~androirc@2a02:587:9e01:1742:5922:40bf:11bf:5f69) (Ping timeout: 240 seconds) |
2024-06-09 09:15:44 +0200 | paparispipas | (~androirc@athedsl-4549622.home.otenet.gr) |
2024-06-09 09:24:20 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-09 09:26:45 +0200 | rosco | (~rosco@183.171.74.10) (Read error: Connection reset by peer) |
2024-06-09 09:28:07 +0200 | Square | (~Square@user/square) |
2024-06-09 09:32:32 +0200 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-06-09 09:41:01 +0200 | Jackneill | (~Jackneill@178-164-253-166.pool.digikabel.hu) |
2024-06-09 09:51:15 +0200 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-06-09 09:54:55 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 09:56:23 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 09:57:35 +0200 | augustss | (~augustss@213.106.163.130) |
2024-06-09 09:57:43 +0200 | <augustss> | howdy |
2024-06-09 09:59:40 +0200 | <paparispipas> | sup |
2024-06-09 10:05:29 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-06-09 10:07:26 +0200 | <[exa]> | mornin' |
2024-06-09 10:13:34 +0200 | ski | (~ski@remote11.chalmers.se) (Quit: Lost terminal) |
2024-06-09 10:14:23 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-06-09 10:21:44 +0200 | dcoutts_ | (~duncan@77.109.149.106) |
2024-06-09 10:22:03 +0200 | acidjnk | (~acidjnk@p200300d6e714dc386d02759bd76503b8.dip0.t-ipconnect.de) |
2024-06-09 10:25:10 +0200 | augustss | (~augustss@213.106.163.130) (Read error: Connection reset by peer) |
2024-06-09 10:28:44 +0200 | Guest60 | (~Guest49@astrolabe.plus.com) |
2024-06-09 10:33:07 +0200 | dcoutts_ | (~duncan@77.109.149.106) (Ping timeout: 260 seconds) |
2024-06-09 10:40:20 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 10:43:33 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 10:45:25 +0200 | AndroUser2 | (~androirc@athedsl-4548023.home.otenet.gr) |
2024-06-09 10:46:52 +0200 | paparispipas | (~androirc@athedsl-4549622.home.otenet.gr) (Ping timeout: 268 seconds) |
2024-06-09 10:46:58 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) |
2024-06-09 10:48:15 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-06-09 10:53:34 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 10:55:16 +0200 | xff0x | (~xff0x@2405:6580:b080:900:2f45:7d7a:ed1:7b2) (Ping timeout: 256 seconds) |
2024-06-09 10:57:07 +0200 | AndroUser2 | (~androirc@athedsl-4548023.home.otenet.gr) (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
2024-06-09 10:57:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 11:00:28 +0200 | <tomsmeding> | one can't get the list of exports of a module in TH, right? |
2024-06-09 11:02:25 +0200 | rosco | (~rosco@183.171.74.10) |
2024-06-09 11:06:31 +0200 | xff0x | (~xff0x@2405:6580:b080:900:8b0f:4c93:c18a:67f2) |
2024-06-09 11:08:20 +0200 | dcoutts_ | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) |
2024-06-09 11:08:21 +0200 | TheCoffeMaker_ | (~TheCoffeM@200.114.213.75) (Ping timeout: 272 seconds) |
2024-06-09 11:10:19 +0200 | Guest60 | (~Guest49@astrolabe.plus.com) (Ping timeout: 250 seconds) |
2024-06-09 11:13:34 +0200 | rosco | (~rosco@183.171.74.10) (Quit: Lost terminal) |
2024-06-09 11:13:50 +0200 | __monty__ | (~toonn@user/toonn) |
2024-06-09 11:16:27 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-09 11:25:57 +0200 | Guest74 | (~Guest74@craw-09-b2-v4wan-169726-cust742.vm24.cable.virginm.net) |
2024-06-09 11:31:22 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-06-09 11:34:01 +0200 | <int-e> | tomsmeding: Looking at the Language.Haskell.TH.Syntax.Quasi type classs ...no. (qReifyModule may get your hopes up for a moment but all that returns is module names) |
2024-06-09 11:35:39 +0200 | <tomsmeding> | int-e: indeed |
2024-06-09 11:41:57 +0200 | Guest74 | (~Guest74@craw-09-b2-v4wan-169726-cust742.vm24.cable.virginm.net) (Ping timeout: 250 seconds) |
2024-06-09 11:44:22 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 11:47:03 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 11:50:09 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-06-09 11:56:52 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 11:58:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 11:59:20 +0200 | vadparaszt | (~Rodney@176.254.244.83) |
2024-06-09 12:01:39 +0200 | Inst_ | (~Inst@user/Inst) (Ping timeout: 255 seconds) |
2024-06-09 12:03:59 +0200 | Guest20 | (~Guest20@2601:5c7:8300:6480:7892:f157:c9e:9be2) |
2024-06-09 12:06:23 +0200 | <tomsmeding> | is it known that haddock + TH + foreign imports is a breaking combination? |
2024-06-09 12:07:39 +0200 | <tomsmeding> | I define a foreign import (from C) in module F, then define 'cheese = LitE (StringL "cheese")' in module A and (crucially) import F in A (even if F is unused in A); then I write module B which imports A and uses 'cheese' in a splice |
2024-06-09 12:07:46 +0200 | Guest20 | (~Guest20@2601:5c7:8300:6480:7892:f157:c9e:9be2) (Client Quit) |
2024-06-09 12:08:24 +0200 | <tomsmeding> | if I then `cabal build --enable-documentation`, haddock breaks on B, saying "Loading temp shared object failed", referring to the imported C function |
2024-06-09 12:08:24 +0200 | Sguest1 | (~Sguest1@2a02:26f7:d6c1:6827:0:e0a3:52db:8e95) |
2024-06-09 12:10:10 +0200 | Sguest1 | (~Sguest1@2a02:26f7:d6c1:6827:0:e0a3:52db:8e95) (Remote host closed the connection) |
2024-06-09 12:12:22 +0200 | Guest74 | (~Guest74@craw-09-b2-v4wan-169726-cust742.vm24.cable.virginm.net) |
2024-06-09 12:15:41 +0200 | <tomsmeding> | reproducer: https://git.tomsmeding.com/haddock-th-foreign-repro/about/ |
2024-06-09 12:29:25 +0200 | vadparaszt | (~Rodney@176.254.244.83) (Ping timeout: 272 seconds) |
2024-06-09 12:29:35 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Quit: Leaving) |
2024-06-09 12:33:14 +0200 | vadparaszt | (~Rodney@176.254.244.83) |
2024-06-09 12:35:12 +0200 | phma_ | phma |
2024-06-09 12:43:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 12:45:34 +0200 | augustss | (~augustss@213.106.163.130) |
2024-06-09 12:47:37 +0200 | augustss | (~augustss@213.106.163.130) (Read error: Connection reset by peer) |
2024-06-09 12:51:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 12:56:57 +0200 | Guest74 | (~Guest74@craw-09-b2-v4wan-169726-cust742.vm24.cable.virginm.net) (Quit: Client closed) |
2024-06-09 13:01:48 +0200 | mrmr15533434 | (~mrmr@user/mrmr) (Quit: Bye, See ya later!) |
2024-06-09 13:14:14 +0200 | mrmr15533434 | (~mrmr@user/mrmr) |
2024-06-09 13:15:03 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 261 seconds) |
2024-06-09 13:24:16 +0200 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-06-09 13:26:15 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
2024-06-09 13:27:06 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 13:33:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 13:37:55 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
2024-06-09 13:39:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 13:56:12 +0200 | connrs | (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-06-09 13:56:51 +0200 | connrs | (~connrs@user/connrs) |
2024-06-09 13:58:52 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 14:08:07 +0200 | connrs | (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-06-09 14:08:32 +0200 | samuel | (~samuel@mm-6-12-215-37.mfilial.dynamic.pppoe.byfly.by) |
2024-06-09 14:15:41 +0200 | connrs | (~connrs@user/connrs) |
2024-06-09 14:16:27 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2024-06-09 14:19:48 +0200 | euleritian | (~euleritia@dynamic-176-004-188-038.176.4.pool.telefonica.de) |
2024-06-09 14:20:57 +0200 | euleritian | (~euleritia@dynamic-176-004-188-038.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-09 14:21:13 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 14:23:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 14:24:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 14:25:00 +0200 | xdminsy | (~xdminsy@117.147.70.212) (Read error: Connection reset by peer) |
2024-06-09 14:25:28 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
2024-06-09 14:25:32 +0200 | xdminsy | (~xdminsy@117.147.70.212) |
2024-06-09 14:26:34 +0200 | euleritian | (~euleritia@dynamic-176-004-188-038.176.4.pool.telefonica.de) |
2024-06-09 14:34:34 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 14:35:16 +0200 | falafel | (~falafel@79.117.174.22) |
2024-06-09 14:36:55 +0200 | euleritian | (~euleritia@dynamic-176-004-188-038.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-09 14:38:46 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 14:46:15 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 14:47:32 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-06-09 14:50:09 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 14:52:40 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-06-09 14:52:56 +0200 | gorignak | (~gorignak@user/gorignak) |
2024-06-09 14:55:17 +0200 | samuel | (~samuel@mm-6-12-215-37.mfilial.dynamic.pppoe.byfly.by) () |
2024-06-09 15:01:13 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
2024-06-09 15:02:54 +0200 | euleritian | (~euleritia@dynamic-176-004-188-038.176.4.pool.telefonica.de) |
2024-06-09 15:07:03 +0200 | falafel | (~falafel@79.117.174.22) (Ping timeout: 260 seconds) |
2024-06-09 15:07:14 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 15:19:32 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2024-06-09 15:20:09 +0200 | falafel | (~falafel@79.117.174.22) |
2024-06-09 15:21:39 +0200 | infinity0 | (~infinity0@pwned.gg) |
2024-06-09 15:44:43 +0200 | AlexNoo_ | (~AlexNoo@178.34.160.196) |
2024-06-09 15:47:01 +0200 | AlexZenon | (~alzenon@178.34.163.65) (Ping timeout: 272 seconds) |
2024-06-09 15:48:05 +0200 | AlexNoo | (~AlexNoo@178.34.163.65) (Ping timeout: 240 seconds) |
2024-06-09 15:50:20 +0200 | AlexZenon | (~alzenon@178.34.160.196) |
2024-06-09 15:51:41 +0200 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 240 seconds) |
2024-06-09 15:54:13 +0200 | Inst | (~Inst@user/Inst) |
2024-06-09 15:55:02 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-06-09 15:55:39 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit) |
2024-06-09 15:56:01 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-06-09 15:58:38 +0200 | falafel | (~falafel@79.117.174.22) (Remote host closed the connection) |
2024-06-09 16:05:43 +0200 | AlexNoo_ | AlexNoo |
2024-06-09 16:06:12 +0200 | petrichor | (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-06-09 16:07:38 +0200 | petrichor | (~znc-user@user/petrichor) |
2024-06-09 16:21:18 +0200 | Square | (~Square@user/square) (Ping timeout: 255 seconds) |
2024-06-09 16:22:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 16:29:09 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2024-06-09 16:32:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 16:34:21 +0200 | Guest60 | (~Guest2@151.135.179.175) |
2024-06-09 16:36:06 +0200 | Guest60 | (~Guest2@151.135.179.175) (Client Quit) |
2024-06-09 16:43:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 16:44:14 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-06-09 16:45:21 +0200 | gmg | (~user@user/gehmehgeh) |
2024-06-09 16:50:03 +0200 | polyphem | (~rod@p3ee3f12c.dip0.t-ipconnect.de) |
2024-06-09 17:03:14 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-06-09 17:04:38 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca) |
2024-06-09 17:05:33 +0200 | euleritian | (~euleritia@dynamic-176-004-188-038.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-09 17:05:55 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 17:12:04 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
2024-06-09 17:13:07 +0200 | euleritian | (~euleritia@dynamic-176-006-180-217.176.6.pool.telefonica.de) |
2024-06-09 17:15:45 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-06-09 17:17:06 +0200 | califax | (~califax@user/califx) |
2024-06-09 17:18:08 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2024-06-09 17:20:00 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer) |
2024-06-09 17:21:03 +0200 | noscript | (~noscript@user/earldouglas) |
2024-06-09 17:21:06 +0200 | zer0bitz_ | (~zer0bitz@user/zer0bitz) |
2024-06-09 17:23:22 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2024-06-09 17:24:43 +0200 | euleritian | (~euleritia@dynamic-176-006-180-217.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
2024-06-09 17:24:53 +0200 | zer0bitz | (~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds) |
2024-06-09 17:26:07 +0200 | euleritian | (~euleritia@dynamic-176-006-180-217.176.6.pool.telefonica.de) |
2024-06-09 17:34:27 +0200 | euleritian | (~euleritia@dynamic-176-006-180-217.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-09 17:38:37 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 17:38:49 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-06-09 17:39:46 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
2024-06-09 17:40:13 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-06-09 17:43:23 +0200 | hexeme_ | (~hexeme@user/hexeme) (Ping timeout: 260 seconds) |
2024-06-09 17:43:47 +0200 | Guest4771 | (~Guest4771@syn-071-014-104-225.res.spectrum.com) |
2024-06-09 17:44:06 +0200 | nschoe | (~nschoe@2a01:e0a:8e:a190:b029:5729:77ae:d1dd) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-06-09 17:44:23 +0200 | nschoe | (~nschoe@2a01:e0a:8e:a190:5da6:ca27:9d0c:23d6) |
2024-06-09 17:44:27 +0200 | hexeme | (~hexeme@user/hexeme) |
2024-06-09 17:50:17 +0200 | Guest4771 | (~Guest4771@syn-071-014-104-225.res.spectrum.com) (Ping timeout: 250 seconds) |
2024-06-09 17:54:41 +0200 | turlando | (~turlando@user/turlando) (Remote host closed the connection) |
2024-06-09 17:55:33 +0200 | <glguy> | tomsmeding: It seems like that's more specifically that you have a local c source. If it was a system installed library I bet it would have worked |
2024-06-09 17:55:55 +0200 | turlando | (~turlando@user/turlando) |
2024-06-09 17:56:34 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-06-09 17:57:47 +0200 | <tomsmeding> | oh probably |
2024-06-09 18:01:25 +0200 | <tomsmeding> | glguy: in case you're curious, I reported this on the ghc issue tracker: https://gitlab.haskell.org/ghc/ghc/-/issues/24964 |
2024-06-09 18:01:54 +0200 | <glguy> | I think this is more of a cabal issue than ghc |
2024-06-09 18:02:38 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-06-09 18:02:49 +0200 | <tomsmeding> | perhaps, but I asked Mikolaj and he said something like "perhaps this is cabal's fault, but in any case I have no clue how to solve it, so let's report it to ghc" |
2024-06-09 18:02:52 +0200 | <tomsmeding> | also see Ryan's reply |
2024-06-09 18:03:28 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2024-06-09 18:03:30 +0200 | <tomsmeding> | (which shows that it reproduces without cabal too, and even without haddock) |
2024-06-09 18:04:06 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-06-09 18:05:00 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-06-09 18:05:08 +0200 | gmg | (~user@user/gehmehgeh) |
2024-06-09 18:09:38 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-06-09 18:17:19 +0200 | <glguy> | I don't see why Ryan's example should have worked at all |
2024-06-09 18:17:36 +0200 | <glguy> | It does not provide the c file as an argument |
2024-06-09 18:18:27 +0200 | <tomsmeding> | good point |
2024-06-09 18:19:45 +0200 | <tomsmeding> | added your remark to the issue :) |
2024-06-09 18:26:46 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-06-09 18:28:28 +0200 | philopsos1 | (~caecilius@user/philopsos) |
2024-06-09 18:29:53 +0200 | zer0bitz_ | zer0bitz |
2024-06-09 18:45:07 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-06-09 18:46:57 +0200 | Square | (~Square@user/square) |
2024-06-09 18:48:18 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-06-09 18:48:18 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-09 18:49:07 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 18:54:35 +0200 | philopsos1 | (~caecilius@user/philopsos) (Ping timeout: 264 seconds) |
2024-06-09 18:59:59 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-06-09 19:00:50 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-06-09 19:00:53 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-09 19:01:01 +0200 | euleritian | (~euleritia@dynamic-176-006-180-217.176.6.pool.telefonica.de) |
2024-06-09 19:01:23 +0200 | euleritian | (~euleritia@dynamic-176-006-180-217.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-09 19:01:44 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 19:03:35 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-09 19:04:14 +0200 | Guest4771 | (~Guest4771@syn-071-014-104-225.res.spectrum.com) |
2024-06-09 19:04:31 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 19:06:31 +0200 | dcoutts_ | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) (Ping timeout: 246 seconds) |
2024-06-09 19:07:09 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2024-06-09 19:13:29 +0200 | Guest4771 | (~Guest4771@syn-071-014-104-225.res.spectrum.com) (Ping timeout: 250 seconds) |
2024-06-09 19:15:08 +0200 | dcoutts_ | (~duncan@152.96.92.215) |
2024-06-09 19:17:08 +0200 | ystael | (~ystael@user/ystael) |
2024-06-09 19:19:58 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-06-09 19:23:59 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 264 seconds) |
2024-06-09 19:28:02 +0200 | dcoutts_ | (~duncan@152.96.92.215) (Ping timeout: 252 seconds) |
2024-06-09 19:28:16 +0200 | divya | (~user@202.170.201.16) |
2024-06-09 19:29:43 +0200 | dcoutts_ | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) |
2024-06-09 19:40:23 +0200 | halloy7959 | (~halloy795@c-98-35-18-241.hsd1.ca.comcast.net) |
2024-06-09 19:45:13 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
2024-06-09 19:46:31 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-09 19:47:05 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 19:51:29 +0200 | dcoutts_ | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) (Ping timeout: 272 seconds) |
2024-06-09 19:52:44 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-06-09 19:57:06 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-06-09 19:59:53 +0200 | elpendejo2 | (~elpendejo@190.10.217.198) |
2024-06-09 20:01:08 +0200 | halloy7959 | (~halloy795@c-98-35-18-241.hsd1.ca.comcast.net) (Remote host closed the connection) |
2024-06-09 20:08:39 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
2024-06-09 20:08:47 +0200 | euleritian | (~euleritia@dynamic-176-006-001-067.176.6.pool.telefonica.de) |
2024-06-09 20:14:59 +0200 | polyphem | (~rod@p3ee3f12c.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2024-06-09 20:24:33 +0200 | elpendejo2 | (~elpendejo@190.10.217.198) (Ping timeout: 250 seconds) |
2024-06-09 20:26:23 +0200 | michalz | (~michalz@185.246.207.200) |
2024-06-09 20:26:31 +0200 | falafel | (~falafel@2a0c:5a87:3103:ec01::62b8) |
2024-06-09 20:28:18 +0200 | michalz | (~michalz@185.246.207.200) (Read error: Connection reset by peer) |
2024-06-09 20:31:09 +0200 | michalz | (~michalz@185.246.207.221) |
2024-06-09 20:32:42 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2024-06-09 20:35:33 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds) |
2024-06-09 20:39:38 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-06-09 20:42:54 +0200 | <lxsameer> | hey folks, I'm looking for a safe (concurrency) bound channel implementation. Do you know any? |
2024-06-09 20:43:30 +0200 | euleritian | (~euleritia@dynamic-176-006-001-067.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-09 20:44:07 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 20:45:48 +0200 | <tomsmeding> | @hackage BoundedChan |
2024-06-09 20:45:48 +0200 | <lambdabot> | https://hackage.haskell.org/package/BoundedChan |
2024-06-09 20:45:54 +0200 | <monochrom> | https://hackage.haskell.org/package/stm-chans has a TBChan |
2024-06-09 20:46:14 +0200 | <lxsameer> | cheers |
2024-06-09 20:46:17 +0200 | tabemann_ | (~tabemann@2600:1700:7990:24e0:7b2b:151c:4735:737f) |
2024-06-09 20:46:26 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-09 20:46:34 +0200 | <tomsmeding> | look at that, BoundedChan has a `base >=3` bound! One doesn't see that often :) |
2024-06-09 20:47:13 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-09 20:47:42 +0200 | tabemann | (~tabemann@2600:1700:7990:24e0:ccf:38dd:bb01:b6bf) (Ping timeout: 255 seconds) |
2024-06-09 20:49:26 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-09 20:49:48 +0200 | <monochrom> | "This sword is passed down from my father, and his father before that." |
2024-06-09 20:51:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-09 20:52:00 +0200 | <monochrom> | "But dad we now fight with xbox controllers and nintendo switch, not with swords, not even with joysticks" |
2024-06-09 20:53:42 +0200 | <lxsameer> | that remindes of another question. Since packages in haskell can share namespaces (package name or whatever they're called) how do you find the package that contains a certain symbol? for example the hoogle results can contains many packages with the same symbol |
2024-06-09 20:54:09 +0200 | <tomsmeding> | what do you mean with "the package that contains a certain symbol"? |
2024-06-09 20:54:26 +0200 | <tomsmeding> | do you mean "I have some haskell code that compiles, and I want to know where ghc is getting this name from"? |
2024-06-09 20:55:01 +0200 | <tomsmeding> | (the easiest answer to that, if you have HLS set up, is "ask for the type of the thing" -- the source module is listed in the popup) |
2024-06-09 20:55:20 +0200 | <tomsmeding> | (another answer is: do `:i` on it in ghci) |
2024-06-09 20:55:27 +0200 | <lxsameer> | tomsmeding: no |
2024-06-09 20:55:44 +0200 | <lxsameer> | for example, I want to find TVar definition |
2024-06-09 20:55:50 +0200 | <tomsmeding> | _which_ TVar |
2024-06-09 20:55:53 +0200 | <tomsmeding> | where did you read that name |
2024-06-09 20:56:12 +0200 | <tomsmeding> | as you said, just the name "TVar" does not contain enough information to know where to search :p |
2024-06-09 20:56:31 +0200 | <Rembane> | You can make a TVar yourself! :D |
2024-06-09 20:56:33 +0200 | <tomsmeding> | (well, for "TVar" specifically there's ~100% chance it's from stm:Control.Concurrent.STM.TVar) |
2024-06-09 20:57:10 +0200 | <tomsmeding> | this is the same as in any language; if someone tells you in C++ "I'm using a `vector`", is that `std::vector`? Who knows! |
2024-06-09 20:57:20 +0200 | <tomsmeding> | You have to ask the person who said "vector" to you :) |
2024-06-09 20:57:22 +0200 | <lxsameer> | well TVar might not be good example, but usually you can find good a few packages defining the same symbol |
2024-06-09 20:57:27 +0200 | <tomsmeding> | sure |
2024-06-09 20:57:54 +0200 | <lxsameer> | tomsmeding: not exactly, in haskell, packages tend to use Data, Control or things like that |
2024-06-09 20:58:30 +0200 | <tomsmeding> | Data, Control, etc. are not linked to any package in particular; packages can put their modules in whatever place in the module hierarchy they wish |
2024-06-09 20:58:44 +0200 | <lxsameer> | while in some other langs, they don't choose the same namespace |
2024-06-09 20:58:59 +0200 | <tomsmeding> | can you give an example of that? |
2024-06-09 20:59:03 +0200 | <lxsameer> | yeah I know that, but apparently it is a convension |
2024-06-09 20:59:12 +0200 | <geekosaur> | "Data" and "Control" don't mean anything |
2024-06-09 20:59:20 +0200 | <lxsameer> | yeah i know |
2024-06-09 20:59:23 +0200 | <tomsmeding> | there is a very rough convention of what to put where, indeed, but that still doesn't tell you anything about what package it came from ;) |
2024-06-09 20:59:25 +0200 | <geekosaur> | eiter semantically or organizationally |
2024-06-09 20:59:40 +0200 | <lxsameer> | but 10 packages defining Data.X.Y.Z is pretty confusing |
2024-06-09 20:59:43 +0200 | <tomsmeding> | even if the conventions _were_ strict (which they aren't) |
2024-06-09 20:59:45 +0200 | <tomsmeding> | yes |
2024-06-09 20:59:49 +0200 | <tomsmeding> | that's the fault of those packages |
2024-06-09 21:00:01 +0200 | <tomsmeding> | the answer to your question, I think, is: "ask the person who said 'TVar' to you" |
2024-06-09 21:00:14 +0200 | <tomsmeding> | (using 'TVar' as a standin for the name you'd like to look up) |
2024-06-09 21:00:24 +0200 | <tomsmeding> | "insert" could be a good example |
2024-06-09 21:01:01 +0200 | <tomsmeding> | is it from containers:Data.Map.Strict? containers:Data.Map? aeson:Data.Aeson.KeyMap? Who knows -- you need to ask whoever said that name to you, or wrote that name somewhere |
2024-06-09 21:01:01 +0200 | <lxsameer> | cheers thank you |
2024-06-09 21:01:20 +0200 | <tomsmeding> | again, as far as I know this is the same in any other language |
2024-06-09 21:01:43 +0200 | <tomsmeding> | this would only be different if every use of a name would necessarily carry the name of the package it came from, with it |
2024-06-09 21:01:49 +0200 | <tomsmeding> | which would be _extremely_ cumbersome |
2024-06-09 21:02:14 +0200 | <tomsmeding> | for module names, some languages indeed namespace module names under the package name |
2024-06-09 21:02:22 +0200 | <tomsmeding> | haskell doesn't, so you have the same problem again |
2024-06-09 21:05:50 +0200 | <tomsmeding> | (but C++ also doesn't, nor does Python if I remember correctly (though there is a strong naming convention there), for example) |
2024-06-09 21:07:14 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2024-06-09 21:10:33 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) |
2024-06-09 21:11:57 +0200 | Guest62 | (~Guest25@81.6.34.139) |
2024-06-09 21:13:16 +0200 | Guest62 | (~Guest25@81.6.34.139) (Client Quit) |
2024-06-09 21:13:57 +0200 | Guest79 | (~Guest4@c-98-35-18-241.hsd1.ca.comcast.net) |
2024-06-09 21:14:37 +0200 | Guest79 | (~Guest4@c-98-35-18-241.hsd1.ca.comcast.net) (Client Quit) |
2024-06-09 21:34:27 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-09 21:35:43 +0200 | dagit | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (Read error: Connection reset by peer) |
2024-06-09 21:36:50 +0200 | dagit | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) |
2024-06-09 21:40:15 +0200 | dagit | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (Read error: Connection reset by peer) |
2024-06-09 21:40:50 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-06-09 21:41:24 +0200 | dagit | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) |
2024-06-09 21:42:01 +0200 | elpendejo2 | (~elpendejo@190.10.217.198) |
2024-06-09 21:47:07 +0200 | ocra8 | (ocra8@user/ocra8) (Quit: WeeChat 4.2.2) |
2024-06-09 22:00:11 +0200 | tabemann_ | tabemann |
2024-06-09 22:00:31 +0200 | tabemann | (~tabemann@2600:1700:7990:24e0:7b2b:151c:4735:737f) (Quit: Leaving) |
2024-06-09 22:00:45 +0200 | tabemann | (~tabemann@2600:1700:7990:24e0:7b2b:151c:4735:737f) |
2024-06-09 22:11:45 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2024-06-09 22:12:34 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2024-06-09 22:20:00 +0200 | Square | (~Square@user/square) (Ping timeout: 268 seconds) |
2024-06-09 22:20:51 +0200 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Ping timeout: 255 seconds) |
2024-06-09 22:22:27 +0200 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
2024-06-09 22:23:18 +0200 | r5c4571lh01987 | (~rscastilh@179.221.142.8) |
2024-06-09 22:30:00 +0200 | r5c4571lh01987 | (~rscastilh@179.221.142.8) (Ping timeout: 256 seconds) |
2024-06-09 22:31:05 +0200 | falafel | (~falafel@2a0c:5a87:3103:ec01::62b8) (Ping timeout: 256 seconds) |
2024-06-09 22:32:57 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 268 seconds) |
2024-06-09 22:38:17 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-06-09 22:38:41 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2024-06-09 22:38:43 +0200 | cheater_ | (~Username@user/cheater) |
2024-06-09 22:38:43 +0200 | cheater_ | cheater |
2024-06-09 22:39:20 +0200 | elpendejo2 | (~elpendejo@190.10.217.198) (Quit: Client closed) |
2024-06-09 22:42:18 +0200 | gawen_ | (~gawen@user/gawen) (Quit: cya) |
2024-06-09 22:44:04 +0200 | laxmik | (~laxmik@ip-109-43-243-135.web.vodafone.de) |
2024-06-09 22:44:27 +0200 | laxmik | michals |
2024-06-09 22:49:08 +0200 | michals | (~laxmik@ip-109-43-243-135.web.vodafone.de) (Quit: michals) |
2024-06-09 22:49:41 +0200 | pavonia | (~user@user/siracusa) |
2024-06-09 22:49:55 +0200 | gawen | (~gawen@user/gawen) |
2024-06-09 22:50:55 +0200 | Lycurgus | (~georg@user/Lycurgus) |
2024-06-09 22:52:19 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 260 seconds) |
2024-06-09 23:00:52 +0200 | shailangsa | (~shailangs@host86-186-127-241.range86-186.btcentralplus.com) (Remote host closed the connection) |
2024-06-09 23:01:11 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2024-06-09 23:02:50 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-06-09 23:07:26 +0200 | gawen | (~gawen@user/gawen) (Quit: cya) |
2024-06-09 23:09:28 +0200 | Jackneill | (~Jackneill@178-164-253-166.pool.digikabel.hu) (Ping timeout: 255 seconds) |
2024-06-09 23:11:46 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-06-09 23:15:05 +0200 | gawen | (~gawen@user/gawen) |
2024-06-09 23:19:58 +0200 | andrewboltachev | (~andrewbol@178.141.120.15) |
2024-06-09 23:21:45 +0200 | Guest86 | (~Guest86@109-252-35-221.nat.spd-mgts.ru) |
2024-06-09 23:22:09 +0200 | michalz | (~michalz@185.246.207.221) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-06-09 23:32:25 +0200 | Guest86 | (~Guest86@109-252-35-221.nat.spd-mgts.ru) (Quit: Client closed) |
2024-06-09 23:41:00 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2024-06-09 23:43:51 +0200 | infinity0 | (~infinity0@pwned.gg) |
2024-06-09 23:45:31 +0200 | andrewboltachev | (~andrewbol@178.141.120.15) (Quit: Client closed) |
2024-06-09 23:49:19 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |