Logs on 2025-01-20 (liberachat/#haskell)
| 00:01:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:06:02 | → | xff0x joins (~xff0x@2405:6580:b080:900:2483:168a:41f:3286) |
| 00:06:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:09:44 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 260 seconds) |
| 00:11:54 | → | rvalue joins (~rvalue@user/rvalue) |
| 00:17:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:22:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:22:52 | → | ystael joins (~ystael@user/ystael) |
| 00:24:03 | × | Midjak quits (~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep) |
| 00:32:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:34:10 | × | dsrt^ quits (~dsrt@108.192.66.114) (Remote host closed the connection) |
| 00:34:16 | × | dnerdhm^ quits (~dnerdhm@108.192.66.114) (Remote host closed the connection) |
| 00:37:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 00:39:02 | × | euleritian quits (~euleritia@77.23.250.232) (Read error: Connection reset by peer) |
| 00:39:27 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 00:46:23 | <albet70> | bind Cont Monad is CPS? |
| 00:46:29 | <albet70> | Cont Monad contain CPS compute, use bind to chain Cont Monad, is this still CPS? |
| 00:47:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:48:00 | × | dtman34 quits (~dtman34@c-75-72-179-251.hsd1.mn.comcast.net) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in) |
| 00:48:21 | → | dtman34 joins (~dtman34@c-75-72-179-251.hsd1.mn.comcast.net) |
| 00:49:08 | × | acidjnk quits (~acidjnk@p200300d6e7283f1558eeea12d8956a76.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 00:52:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:53:33 | × | sprotte24 quits (~sprotte24@p200300d16f4f2e00b0312921636c686d.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 00:57:43 | × | xff0x quits (~xff0x@2405:6580:b080:900:2483:168a:41f:3286) (Ping timeout: 264 seconds) |
| 01:03:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:05:26 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 01:06:06 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 01:06:33 | <haskellbridge> | <Bowuigi> I think so, yeah. It kinda composes two CPS programs |
| 01:08:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 01:08:31 | <albet70> | what's the point to write two CPS and use bind to chain them rather than just write one CPS |
| 01:10:27 | <haskellbridge> | <Bowuigi> Separation of concerns |
| 01:11:15 | × | anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 01:13:27 | <jle`> | albet70: "composable CPS programs" essentially |
| 01:13:39 | <jle`> | same as the point of writing two lists to concat them together instead of writing one long list |
| 01:14:12 | <jle`> | or two IO actions and sequence them one after the other instead of writing one big IO action |
| 01:16:05 | <jle`> | but yeah, consider the function (++) :: [a] -> [a] -> [a] to concat two lists (or strings) together, and someone asks you "why would you ever concat two lists together instead of just writing one big list" |
| 01:17:00 | <albet70> | can CPS do early return from a nested function call? like f (g (a ...))) turn to CPS, can return from a to f directly? like return only return the previous function caller, can it return to the original caller at once? |
| 01:18:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:22:24 | × | homo quits (~homo@user/homo) (Read error: Connection reset by peer) |
| 01:25:02 | <c_wraith> | with CPS, there aren't nested function calls |
| 01:26:05 | <c_wraith> | at least when you go *full* CPS, functions never return. |
| 01:26:26 | <c_wraith> | They take an argument for what to do next - the continuation |
| 01:26:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 01:27:53 | <albet70> | but runCont still need a k to get its result |
| 01:28:27 | <c_wraith> | it's not full CPS - it's bounded in scope. |
| 01:28:48 | <c_wraith> | runCont is the adapter |
| 01:29:38 | × | otto_s quits (~user@p4ff277d7.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 01:29:45 | <c_wraith> | (also, you still have access to all regular functions inside of Cont. they aren't CPS'd) |
| 01:30:37 | <geekosaur> | not by Cont, at least. (doesn't GHC do full CPS?) |
| 01:31:25 | → | otto_s joins (~user@p5b044ca8.dip0.t-ipconnect.de) |
| 01:34:25 | <int-e> | as an invisible implementation detail of graph reduction |
| 01:36:39 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 276 seconds) |
| 01:37:12 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 01:37:43 | <albet70> | so Cont is not CPS? |
| 01:38:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:38:18 | <int-e> | it is |
| 01:38:32 | <int-e> | it lives at a different level of abstraction |
| 01:39:02 | <monochrom> | Does this make sense? Cont does CPS so you don't have to. >:) |
| 01:39:27 | <monochrom> | But then since you don't have to, it's not CPS from your POV. |
| 01:40:39 | <albet70> | it's confused |
| 01:40:46 | <monochrom> | Analogously, GHC compiles my Haskell code to asm. So is Haskell asm? Of course not. But then why does GHC do asm? Doesn't that make Haskell asm? |
| 01:40:52 | <int-e> | :t cont (const ()) -- I guess you can quibble about this and how Codensity is the real CPS |
| 01:40:53 | <lambdabot> | Cont () a |
| 01:41:17 | <probie> | What precisely do you guys mean when you say "CPS"? |
| 01:41:27 | <int-e> | continuation passing style |
| 01:41:42 | <probie> | ... |
| 01:41:46 | <int-e> | where rather than returning a value, you pass it to a continuation |
| 01:42:07 | <probie> | What precisely do you guys means when you say "continuation passing style"? |
| 01:42:09 | <monochrom> | https://www.vex.net/~trebla/haskell/cont.xhtml#cps Does that answer your question? |
| 01:42:21 | <int-e> | probie: It's not precise. That's where I was going. |
| 01:42:37 | <probie> | monochrom: Not really, it gives me a definition that may not match what you are actually talking about |
| 01:42:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:42:50 | <monochrom> | Yeah it's like "I write FP, I write OOP", it's supposed to have grey areas. |
| 01:43:11 | <monochrom> | OK but I wrote that for Cont so it is actually. |
| 01:43:23 | <int-e> | Cont or Codensity express a particular flavor of CPS where every function gets passed exactly one continuation. |
| 01:43:33 | × | alx741 quits (~alx741@186.33.188.229) (Ping timeout: 246 seconds) |
| 01:44:48 | <int-e> | GHC's CPS is that it doesn't maintain a call stack but instead passes continuations (pointers to code to jump to after loading a result in a register) around. |
| 01:44:54 | × | poscat quits (~poscat@user/poscat) (Quit: Bye) |
| 01:45:05 | <int-e> | They're both CPS and they're not the same. |
| 01:46:02 | <int-e> | Cont/Codensity give you Haskell-level access to continuations. GHC's are, as already mentioned, an implementation detail. One you'll probably only care about if you stare at CMM code or disassemblies. |
| 01:46:05 | <probie> | and yet I think albet70 has a specific meaning of CPS in mind which it seems no-one is attempting to discern so that their questions can be answered |
| 01:46:40 | <monochrom> | Sure. You can try to discern. Good luck with that. (Speaking from experience.) |
| 01:47:09 | <monochrom> | Askers should learn to clarify their questions, not be spoiled and expect answerers to guess. |
| 01:47:12 | <albet70> | no, I don't have, I just confused |
| 01:47:21 | <int-e> | probie: /I/ think we have affirmed that Cont is CPS before muddying the water by bringing up all the other stuff :P |
| 01:47:28 | <albet70> | someone say this is , others say this isn't |
| 01:48:09 | → | poscat joins (~poscat@user/poscat) |
| 01:48:19 | <int-e> | The sophistery of Cont vs. Codensity is that with Cont you can discard a continuation and just inject a result. |
| 01:48:25 | <probie> | int-e: I'm not even happy with that. `Cont` is not CPS. `pure $ f (g (h a)) :: Cont r a` is not in continuation passing style. |
| 01:48:43 | → | anpad joins (~pandeyan@user/anpad) |
| 01:48:44 | <int-e> | probie: that's okay and anticipated |
| 01:49:00 | <int-e> | but personally I don't find that distinction useful |
| 01:49:05 | <monochrom> | <monochrom> Does this make sense? Cont does CPS so you don't have to. >:) <monochrom> But then since you don't have to, it's not CPS from your POV. |
| 01:49:46 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 01:50:15 | <int-e> | Cont is a viable answer to "I want to write CPS code, what do I use" in the single-continuation setting. |
| 01:50:40 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:50:46 | <int-e> | Codensity solves a problem that you won't run into if that's your premise. |
| 01:50:51 | <monochrom> | Instead of making "CPS" precise, I think what we lack is chosing the level of abstraction in the first place. |
| 01:50:58 | × | anpad quits (~pandeyan@user/anpad) (Client Quit) |
| 01:51:15 | <int-e> | It's an operational notion, those tend to be inherently imprecise :P |
| 01:51:32 | <int-e> | embrace the ambiguity |
| 01:51:34 | <int-e> | love the bomb |
| 01:51:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:52:35 | <int-e> | probie: anyway, feel free to make things precise |
| 01:54:13 | <monochrom> | One more analogy/fable and I'll stop, I promise. >:) |
| 01:54:15 | <albet70> | can we do early return from nested function call by CPS or callcc without Cont Monad? |
| 01:54:21 | <albet70> | just function level |
| 01:55:35 | <c_wraith> | everything Cont does is just functions |
| 01:56:02 | <monochrom> | Suppose your prof gives you this homework: Write factorial in CPS. You're too lazy to hand-convert to CPS, so you give direct-style factorial code to chatgpt and tell it to CPSize for you. Let's say it even does it correctly. Is it CPS? Surely you didn't write it yourself, so it isn't? But you have a correct solution to hand in, so it is? |
| 01:56:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 01:56:21 | <monochrom> | Right now chatgpt can't do it correctly, but Cont can! |
| 01:56:34 | <c_wraith> | If you want early return, the trick is to not nest functions. Using CPS (by hand or by Cont) can remove that nesting, when done properly |
| 01:57:35 | <int-e> | > runCont (callCC (\cont -> cont 41 >> undefined) >>= pure . succ) id |
| 01:57:37 | <lambdabot> | 42 |
| 01:58:06 | <int-e> | Is that an "early return"? What's a "return" if you're looking at Cont-specific monadic code? |
| 01:59:14 | <int-e> | (note the `undefined` action that is never executed) |
| 01:59:51 | → | anpad joins (~pandeyan@user/anpad) |
| 02:01:05 | <int-e> | This is why I'm reluctant to just say "yes" - there is a form of early return here, but you're writing your code in a very peculiar style. It's a shallow abstraction. |
| 02:02:26 | <probie> | > let f acc l = case l of { x:xs | x <= 10 -> f (x + acc) xs; _ -> acc } in f 0 [4,6,8,9,12,3,2] -- does this count as an early return? |
| 02:02:27 | <lambdabot> | 27 |
| 02:03:07 | <int-e> | You don't even need the Cont monad to achieve and of this; you can manually change your code to return `(a -> r) -> r` instead of `a`, gain the capability to pass multiple continuations without the awkward `callCC`, and have more readable code because it's not monadic. |
| 02:04:06 | <int-e> | And get the same capability of an early return, relying on Haskell's tail recursion elimination. |
| 02:04:09 | int-e | shrugs |
| 02:04:20 | → | weary-traveler joins (~user@user/user363627) |
| 02:04:30 | <c_wraith> | (strict speaking, tail *call* elimination. It works whether the call is recursive or not) |
| 02:04:43 | <int-e> | sure |
| 02:04:56 | <int-e> | Not the objection I was expecting |
| 02:06:09 | <c_wraith> | I think full tail-call elimination is really cool, and in many ways simpler than having a special case for tail recursion |
| 02:06:12 | <int-e> | > let iter n = n : iter (n+1) -- I was expecting this |
| 02:06:13 | <lambdabot> | <no location info>: error: |
| 02:06:13 | <lambdabot> | not an expression: ‘let iter n = n : iter (n+1) -- I was expecting this’ |
| 02:06:19 | <monochrom> | Were you waiting for this? "Haskell doesn't specify TCE" :) |
| 02:06:27 | <int-e> | whoops |
| 02:06:38 | <int-e> | monochrom: no |
| 02:06:54 | <c_wraith> | Haskell may not specify exactly that, but it does specify something roughly equivalent |
| 02:06:54 | <int-e> | monochrom: I was expecting the laziness complication |
| 02:07:10 | <int-e> | that makes things tail-recursive that aren't syntactically tail recursive |
| 02:07:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:07:28 | <c_wraith> | The spec does require that recursion not have a max depth |
| 02:07:38 | <monochrom> | Oh yeah I used to raised that on haskell-cafe. It didn't end well, people thought I was a moron. |
| 02:08:28 | × | Adran quits (~adran@botters/adran) (Quit: Este é o fim.) |
| 02:09:25 | <int-e> | > let start c = c []; push xs x c = c (x:xs); add (x:y:xs) c = c (x+y:xs); end xs = xs in start push 1 push 2 add push 3 add push 4 end -- CPS |
| 02:09:27 | <lambdabot> | [4,6] |
| 02:10:37 | <monochrom> | https://mail.haskell.org/pipermail/haskell-cafe/2007-May/025591.html and see subsequent responses. |
| 02:10:56 | <int-e> | monochrom: yeah that's unfair; you're just a troll :P |
| 02:12:12 | <albet70> | for example in python f(g(a(b(c)))) you can throw an exception in c and catch it in f, no need to return to b, then to a, then to g |
| 02:12:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 02:12:40 | <albet70> | i just wonder if cps can achive that |
| 02:12:58 | <albet70> | without exception stuff |
| 02:13:57 | <c_wraith> | the thing, CPS doesn't work like that. |
| 02:14:40 | <albet70> | try catch isn't cps, right? |
| 02:14:41 | <c_wraith> | You have to write it more like `b c (f . g . a)' |
| 02:15:10 | <c_wraith> | It's an invasive intervention |
| 02:15:18 | <monochrom> | int-e: :( XD |
| 02:15:23 | <int-e> | The answer is yes but you have to change all your functions to take continuations as arguments. (Whether you do that using Cont or not is up to you.) |
| 02:15:38 | <int-e> | For example, look at this https://hackage.haskell.org/package/parsec-3.1.18.0/docs/src/Text.Parsec.Prim.html#ParsecT |
| 02:15:39 | <c_wraith> | You need to make significant changes, because the whole point is that you're replacing nested function calls with continuations |
| 02:15:58 | <int-e> | Which you can read as ParsecT wrapping a function that takes *four* continuations |
| 02:16:36 | <monochrom> | I'm going to go out on a limb that Python achieves that by compiling an exception language to CPS low level code. |
| 02:16:43 | <int-e> | On a different level, the answer is no; you can't have a pure function with an early return. Obviously not; that wouldn't be pure. |
| 02:16:51 | <geekosaur> | it does stack unwinding |
| 02:16:54 | <geekosaur> | so does C++ |
| 02:17:02 | <geekosaur> | so does GHC for that matter |
| 02:17:18 | <geekosaur> | exceptions pretty much require it |
| 02:17:22 | <int-e> | The game we're playing could be called "pick your favorite abstraction to think about your code". |
| 02:17:42 | <monochrom> | THANK YOU! |
| 02:18:38 | <geekosaur> | in all cases it works backwards up stack frames until it finds one with an exception handler |
| 02:20:36 | <probie> | "true" CPS code™ (with TCO) doesn't allocate stack frames |
| 02:21:33 | <geekosaur> | in GHC Haskell these frames don't correspond to calls the way they do in more procedural languages; but I don't recall what they do correspond to. |
| 02:22:28 | <geekosaur> | (possibly it's all exception frames. note that in Haskell you must be in IO to handle an exception, so things are a bit different than they are for pure code anyway) |
| 02:22:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:23:32 | <c_wraith> | ghc uses the stack for nested evaluation of thunks. That often corresponds with nested function calls, but not always. |
| 02:23:59 | <int-e> | AIUI, fundamentally, entering a thunk allocates a stack frame. This extends to strict functions (which can be thought of as a thunk that is entered immediately, but GHC won't allocate the thunk) |
| 02:24:01 | <geekosaur> | I know you can piggyback on the mechanism to get a "stack trace" (with +RTS -xc) *but* profiling must be enabled for it to work; I presume that provides something resembling a call stack |
| 02:25:28 | <int-e> | Details get murky quickly. You won't be able to discern most of these things at the source code level. |
| 02:26:01 | <int-e> | (GHC does way too much inlining, for starters. And you'd need to anticipate strictness analysis too.) |
| 02:26:17 | <geekosaur> | (in a profiling report, you do get an indication of call stacks of some flavor) |
| 02:26:58 | <int-e> | But the thunk thing explains why `foldl (+) 1 [1..1000000]` used to overflow the stack (before stacks were made extensible) |
| 02:27:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 02:27:42 | <int-e> | because that *tail-recusively* builds a huge thunk that is then entered, entering a chain of subthunks all at once |
| 02:28:13 | <int-e> | (the strictness analyser can spoil the fun of course) |
| 02:29:28 | <int-e> | Anyway. Understanding Haskell low-level execution is quite difficult. I'm sure I'm getting it subtly wrong. |
| 02:30:07 | <int-e> | Well, not sure. But the chances are good. |
| 02:32:42 | <monochrom> | Once you fix an evaluation order, you will realize you need a stack for some things. Eager and lazy have opposite "some things", but both will need a stack. |
| 02:33:51 | <monochrom> | Fortunately! PLT people have noticed a commonality over all evaluation orders. The "some things" is called... continuations. You can always say "continuation stack" and it will be always right. |
| 02:37:31 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 02:37:50 | <geekosaur> | you know we probably lost albet70 long ago… |
| 02:38:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:38:15 | <monochrom> | At a high level, it goes like this. Given an evaluation order, you can factor each to-be-evaluated expression into redex and context. Redex means the small subexpression to evaluate right now, context is the rest. |
| 02:39:26 | <int-e> | geekosaur: *surely* one of the many answers we've come up with was satisfactory |
| 02:39:47 | <monochrom> | If you then try to go a bit lower level, you say: push the context (or representation of) on the stack, bring the redex to the front and work on it, afterwards pop the context and look for the next redex, etc. |
| 02:39:55 | <geekosaur> | unless they drowned in the wall-o-wtf |
| 02:40:07 | <monochrom> | In this case, context is synonym for continuation. |
| 02:41:25 | <monochrom> | Ooops, s/small// |
| 02:42:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 02:43:29 | → | Adran joins (~adran@botters/adran) |
| 02:43:58 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection) |
| 02:45:00 | <int-e> | monochrom: Heh. So if you use Cont or other (a -> r) -> (b -> r) -> r Haskell-level continuations, then at runtime, you have thunk-level CPS (continuations are stored in thunks until needed) |
| 02:45:29 | <albet70> | I like this talks even I don't understand now, it's very inspired :) |
| 02:45:39 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) |
| 02:45:47 | <geekosaur> | that's what I said, wall-o-wtf 🙂 |
| 02:46:02 | <monochrom> | Yeah you're just trading heap for stack. It's why I was so worked up about limited stack and unlimited heap. |
| 02:49:40 | <monochrom> | Anyway, that's a high-level reason why I don't make a distinction between "call stack like in C" and "eval stack like in Haskell". (I'm also mocking the irony there too because neither ISO C nor Haskell 2010 require a stack.) They are all continuation stacks, and once you know the evaluation order you know what continuation means. |
| 02:49:49 | <monochrom> | But here is also a low-level reason. |
| 02:50:38 | × | anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 02:51:56 | <monochrom> | For this, you have to accept that I use the callee-pops-arguments convention. Suppose you make a "function call", i.e., push argument, push "return" address, jump to function. And suppose the function "returns", i.e., pop "return" address, pop argument, jump. |
| 02:52:11 | <monochrom> | Now just rename "return" to "continuation" there, and you have CPS. |
| 02:53:21 | <int-e> | right, and `call` (or `jsr` or whatever; the assembly level things) are callCC |
| 02:53:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:53:57 | <int-e> | and you have to read programs backward to discern continuations |
| 02:53:59 | <int-e> | what fun |
| 02:54:09 | <int-e> | +s |
| 02:58:29 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
| 03:01:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 03:01:25 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 03:02:58 | → | homo joins (~homo@user/homo) |
| 03:05:07 | → | anpad joins (~pandeyan@user/anpad) |
| 03:07:57 | × | anpad quits (~pandeyan@user/anpad) (Client Quit) |
| 03:11:31 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:15:30 | → | anpad joins (~pandeyan@user/anpad) |
| 03:15:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 03:16:17 | × | anpad quits (~pandeyan@user/anpad) (Client Quit) |
| 03:19:20 | <homo> | it's happening, microhs lowers language requirements to be bootstrappable with hugs https://github.com/augustss/MicroHs/commit/2f9eab4db4e811e4c75ea370a64914abc94abf9c https://github.com/augustss/MicroHs/commit/56be300c293304b37cb18db499d825621be9ec4d |
| 03:19:48 | <homo> | however, pattern guards are not going away, so someone has to implement those in hugs |
| 03:23:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:24:10 | → | anpad joins (~pandeyan@user/anpad) |
| 03:26:32 | → | pavonia joins (~user@user/siracusa) |
| 03:28:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 03:33:12 | JuanDaugherty | is now known as ColinRobinson |
| 03:37:24 | × | anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:39:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:41:33 | ColinRobinson | is now known as JuanDaugherty |
| 03:42:40 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds) |
| 03:43:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 03:44:36 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 03:52:28 | JuanDaugherty | is now known as ColinRobinson |
| 03:54:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:59:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 04:00:48 | → | anpad joins (~pandeyan@user/anpad) |
| 04:03:11 | × | ColinRobinson quits (~juan@user/JuanDaugherty) (Quit: ColinRobinson) |
| 04:10:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:14:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:25:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:30:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 04:37:21 | × | dtman34 quits (~dtman34@c-75-72-179-251.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 04:40:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:43:14 | × | comonad quits (~comonad@p200300d027182d00bcfd40be9d94d2dc.dip0.t-ipconnect.de) (Quit: WeeChat 4.4.2) |
| 04:47:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 04:51:56 | → | dtman34 joins (~dtman34@2601:447:d000:1f5e:d8cf:6a91:a7b5:a018) |
| 04:56:54 | × | dtman34 quits (~dtman34@2601:447:d000:1f5e:d8cf:6a91:a7b5:a018) (Ping timeout: 252 seconds) |
| 05:00:34 | → | michalz joins (~michalz@185.246.207.217) |
| 05:01:49 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 05:04:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:05:47 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 05:07:47 | × | JimL quits (~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 05:08:49 | → | dtman34 joins (~dtman34@2601:447:d000:1f5e:d8cf:6a91:a7b5:a018) |
| 05:09:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 05:10:42 | × | Pozyomka quits (~pyon@user/pyon) (Ping timeout: 272 seconds) |
| 05:11:00 | → | j1n37 joins (~j1n37@user/j1n37) |
| 05:11:17 | → | JimL joins (~quassel@89.162.16.26) |
| 05:19:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:24:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 05:34:52 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:39:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:39:33 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 248 seconds) |
| 05:41:10 | → | monochrom joins (trebla@216.138.220.146) |
| 05:50:16 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:54:18 | × | ft quits (~ft@p508db21c.dip0.t-ipconnect.de) (Quit: leaving) |
| 05:55:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 06:06:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:09:36 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 265 seconds) |
| 06:10:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:12:46 | → | alp joins (~alp@2001:861:8ca0:4940:eea0:f0c9:6:c921) |
| 06:13:09 | × | haritz quits (~hrtz@user/haritz) (Ping timeout: 248 seconds) |
| 06:17:46 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 06:19:45 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 265 seconds) |
| 06:19:45 | tnt2 | is now known as tnt1 |
| 06:21:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:23:10 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:26:34 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 06:26:38 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 06:27:10 | → | euleritian joins (~euleritia@77.23.250.232) |
| 06:31:46 | × | euleritian quits (~euleritia@77.23.250.232) (Ping timeout: 272 seconds) |
| 06:34:22 | → | euleritian joins (~euleritia@dynamic-176-006-144-251.176.6.pool.telefonica.de) |
| 06:34:44 | → | comonad joins (~comonad@p200300d027182d00bcfd40be9d94d2dc.dip0.t-ipconnect.de) |
| 06:37:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:45:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 06:55:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:58:56 | <haskellbridge> | <sm> What’s the goal there homo ? |
| 07:00:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 07:01:38 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 248 seconds) |
| 07:01:43 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 07:02:14 | → | rvalue joins (~rvalue@user/rvalue) |
| 07:02:35 | <jackdk> | Bootstrap gcc -> hugs -> microhs -> ghc |
| 07:05:36 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
| 07:07:07 | → | monochrom joins (trebla@216.138.220.146) |
| 07:07:20 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 07:11:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:15:13 | → | acidjnk joins (~acidjnk@p200300d6e7283f8031585a6e342b94fb.dip0.t-ipconnect.de) |
| 07:16:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Read error: Connection reset by peer) |
| 07:16:23 | → | comerijn joins (~merijn@77.242.116.146) |
| 07:21:12 | <homo> | sm jackdk while ideally ghc would be bootstrapped with microhs, the first thing I want is to have darcs binary that I can trust |
| 07:22:51 | <haskellbridge> | <Bowuigi> Can microhs bootstrap GHC at all? |
| 07:22:57 | <homo> | it's still preferable that ghc lowers requirements so much that it becomes possible to compile today ghc with ancient ghc, then bootstrap with microhs should be easy |
| 07:23:11 | <homo> | nobody tried bootstrapping ghc with microhs |
| 07:23:33 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
| 07:23:52 | <haskellbridge> | <Bowuigi> Ah it's multistep for now, so like microhs -> ghc -> ghc -> ... -> ghc |
| 07:24:15 | <homo> | the reason to lower requirements is because it only makes sense to use small subset of language to implement whole language |
| 07:24:57 | <homo> | Bowuigi nobody tried even that multistep, it's too much work to adjust source code of any version of ghc |
| 07:26:48 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 07:27:58 | <homo> | anyway, I have different idea: how about to use hugs ported to plan9 to bootstrap microhs on plan9 to have haskell2010 with 50+ ghc extensions compiler on plan9 |
| 07:30:19 | <haskellbridge> | <Bowuigi> Well, the bootstrap process has to be made at most once per platform, but still, compiling a ton of GHC versions sounds painful |
| 07:32:50 | → | paul_j joins (~user@8.190.187.81.in-addr.arpa) |
| 07:34:55 | <homo> | Bowuigi and even impossible, I want to switch to riscv or arm, microhs is easy to boostrap there, but ghc is not |
| 07:42:20 | → | Square joins (~Square@user/square) |
| 07:42:47 | → | Square2 joins (~Square4@user/square) |
| 07:44:15 | <haskellbridge> | <Bowuigi> For a scripting even Hugs is fast enough, do you have a special usecase in mind for GHC? |
| 07:46:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:46:51 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 07:48:14 | <homo> | I want haskell compiler, not haskell interpreter, and my motivation to modify yacc and c parts of hugs just to get language features I need is almost 0 |
| 07:48:57 | <homo> | also is there anyone who tried to run darcs under hugs? |
| 07:49:49 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:53:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:55:49 | × | alfiee quits (alfiee@user/alfiee) (Ping timeout: 260 seconds) |
| 07:56:14 | → | alfiee joins (alfiee@user/alfiee) |
| 08:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:29 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 08:00:41 | → | caconym joins (~caconym@user/caconym) |
| 08:01:24 | → | monochrm joins (trebla@216.138.220.146) |
| 08:01:27 | → | paul_j` joins (~user@8.190.187.81.in-addr.arpa) |
| 08:01:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:02:31 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 264 seconds) |
| 08:02:31 | monochrm | is now known as monochrom |
| 08:05:09 | × | Square quits (~Square@user/square) (Ping timeout: 260 seconds) |
| 08:06:19 | → | caryhartline joins (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) |
| 08:09:21 | → | kuribas joins (~user@d51529C17.access.telenet.be) |
| 08:11:50 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 272 seconds) |
| 08:12:27 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 08:12:39 | → | monochrom joins (trebla@216.138.220.146) |
| 08:12:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:14:53 | × | kuribas quits (~user@d51529C17.access.telenet.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 08:15:08 | → | kuribas joins (~user@ptr-17d51eocedivlwulkvg.18120a2.ip6.access.telenet.be) |
| 08:17:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:17:42 | → | notzmv joins (~umar@user/notzmv) |
| 08:18:55 | <homo> | Bowuigi keep in mind memory manager of hugs is another pain point, try in hugs: sum $ reverse [1..200000] |
| 08:19:18 | <homo> | then try in ghci: sum $ reverse [1..1000000] |
| 08:19:49 | × | caryhartline quits (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) (Read error: Connection reset by peer) |
| 08:20:06 | × | mulk quits (~mulk@pd9514590.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 08:22:50 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 08:27:22 | × | euleritian quits (~euleritia@dynamic-176-006-144-251.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:27:41 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 08:28:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:31:05 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 244 seconds) |
| 08:32:35 | → | CiaoSen joins (~Jura@2a05:5800:2ce:7100:ca4b:d6ff:fec1:99da) |
| 08:32:36 | → | mulk joins (~mulk@pd9514590.dip0.t-ipconnect.de) |
| 08:33:07 | → | monochrom joins (trebla@216.138.220.146) |
| 08:33:07 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 08:33:59 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 08:37:30 | → | weary-traveler joins (~user@user/user363627) |
| 08:38:07 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 08:40:16 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:41:37 | → | img joins (~img@user/img) |
| 08:45:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 08:49:30 | × | kuribas quits (~user@ptr-17d51eocedivlwulkvg.18120a2.ip6.access.telenet.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 08:50:03 | → | kuribas joins (~user@ptr-17d51eocedivlwulkvg.18120a2.ip6.access.telenet.be) |
| 08:51:18 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:52:51 | → | akegalj joins (~akegalj@162-231.dsl.iskon.hr) |
| 08:54:09 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:55:29 | → | img joins (~img@user/img) |
| 08:55:30 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 08:56:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:59:42 | → | alecs joins (~alecs@nat16.software.imdea.org) |
| 09:02:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 09:03:59 | × | alecs quits (~alecs@nat16.software.imdea.org) (Client Quit) |
| 09:04:25 | → | alecs joins (~alecs@nat16.software.imdea.org) |
| 09:05:43 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:06:27 | × | acidjnk quits (~acidjnk@p200300d6e7283f8031585a6e342b94fb.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 09:07:49 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:10:10 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 09:10:41 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 09:11:23 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 244 seconds) |
| 09:11:23 | tnt2 | is now known as tnt1 |
| 09:11:31 | → | img joins (~img@user/img) |
| 09:11:53 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 09:14:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:15:30 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 09:19:08 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 09:21:01 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 09:21:32 | → | SrOs0 joins (~sroso@user/SrOso) |
| 09:30:03 | → | alexherbo2 joins (~alexherbo@2a02-8440-350d-0fe5-4d5d-0a7b-f8e6-7ac2.rev.sfr.net) |
| 09:30:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:33:55 | <hc> | join rust |
| 09:33:59 | <hc> | oops, sry |
| 09:34:55 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 09:34:58 | <kuribas> | What do you think about verse? |
| 09:35:38 | <tomsmeding> | homo: if you're interested in bootstrapping ghc on a different platform, and you somehow manage to compile some version of ghc with microhs, couldn't you copy the resulting combinator C code to the other platform and compile it with gcc there? |
| 09:35:45 | <tomsmeding> | no need to run microhs with hugs, as far as I can see |
| 09:41:05 | → | sroso joins (~sroso@user/SrOso) |
| 09:42:48 | <kuribas> | Is verse only for the metaverse? |
| 09:43:17 | × | sroso quits (~sroso@user/SrOso) (Client Quit) |
| 09:43:26 | → | sroso joins (~sroso@user/SrOso) |
| 09:43:37 | <kuribas> | I wonder why so many haskell jobs are on the hype train (block chain, defense, high speed traiding, metaverse), rather than providing solid society progress. |
| 09:43:50 | → | sroso3 joins (~sroso@user/SrOso) |
| 09:44:39 | × | SrOs0 quits (~sroso@user/SrOso) (Quit: Leaving :)) |
| 09:44:52 | <kuribas> | Though I suppose verse is more widely applicable than just the metaverse? |
| 09:45:40 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:46:03 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 09:47:47 | × | sroso3 quits (~sroso@user/SrOso) (Quit: Client closed) |
| 09:48:58 | × | sroso quits (~sroso@user/SrOso) (Quit: Quit) |
| 09:49:03 | → | SrOs0 joins (~sroso@user/SrOso) |
| 09:49:08 | → | sroso joins (~sroso@user/SrOso) |
| 09:49:30 | × | SrOs0 quits (~sroso@user/SrOso) (Max SendQ exceeded) |
| 09:49:49 | × | sroso quits (~sroso@user/SrOso) (Client Quit) |
| 09:50:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 09:52:19 | × | infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 264 seconds) |
| 09:54:26 | → | sroso joins (~sroso@user/SrOso) |
| 10:01:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:03:03 | → | chele joins (~chele@user/chele) |
| 10:09:08 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 10:12:15 | → | infinity0 joins (~infinity0@pwned.gg) |
| 10:16:14 | → | __monty__ joins (~toonn@user/toonn) |
| 10:18:43 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 245 seconds) |
| 10:20:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:24:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 10:30:09 | × | sroso quits (~sroso@user/SrOso) (Ping timeout: 248 seconds) |
| 10:30:10 | → | acidjnk joins (~acidjnk@p200300d6e7283f8031585a6e342b94fb.dip0.t-ipconnect.de) |
| 10:35:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:36:48 | × | akegalj quits (~akegalj@162-231.dsl.iskon.hr) (Ping timeout: 252 seconds) |
| 10:36:50 | <dminuoso> | 09:43:37 kuribas │ I wonder why so many haskell jobs are on the hype train (block chain, defense, high speed traiding, metaverse), rather than providing solid society progress. |
| 10:36:59 | <dminuoso> | They are on the money train. :-) |
| 10:37:05 | <dminuoso> | Money attracks people. |
| 10:37:19 | <kuribas> | True, but it also feels like a bubble that will pop. |
| 10:37:24 | <kuribas> | blockchain at least. |
| 10:38:07 | → | ensyde joins (~ensyde@2601:5c6:c200:6dc0::95d2) |
| 10:38:56 | <dminuoso> | At work I contribute to societal decay and enable criminal behavior. |
| 10:38:58 | <kuribas> | If I want lots of money, I'd better use scala. |
| 10:39:01 | <dminuoso> | What can I say, I'm morally flexible. |
| 10:40:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 10:40:42 | <dminuoso> | It's just a matter of perspective. From a technical perspective I help build reliable networks. |
| 10:41:14 | <dminuoso> | Being involved with blockchain has some cook perks, namely that you can do math things *and* get paid well for it. |
| 10:42:01 | <dminuoso> | That combination does not exist often. |
| 10:42:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:42:19 | <homo> | tomsmeding if I can't use another platform to produce combinator file, it's not bootstrappable on that platform |
| 10:42:39 | <homo> | and don't tell me anything about reproducible builds propaganda |
| 10:42:48 | <dminuoso> | Given that Haskeller attract mathematically inclined folks more than other languages, it seems reasonable that Haskell has a strong blockchain presence. |
| 10:44:23 | <homo> | tomsmeding for your suggestion to be considered bootstrappable from nothing but source, if my laptop is riscv, I must run hugs and microhs inside virtual machine that emulates x86_64 instructions, which is a waste of time and energy |
| 10:46:18 | <dminuoso> | tomsmeding: Also, why do you presume you can just copy some C code to another platform and get sensible code out of it? Portable C code is something you only ever hear about in philosphical discusssions in ##c |
| 10:47:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 10:47:14 | <dminuoso> | Im not too sure how portable C code is in practice *without* a huge pile of autotools around. |
| 10:47:24 | × | son0p quits (~ff@2800:e6:4001:6cc3:2e2c:4b4e:bc2a:6f17) (Remote host closed the connection) |
| 10:50:08 | <homo> | so, it would be a long chain: start with reviewable 200 byte binary for riscv, use that binary to bootstrap assembler, use that assembler to bootstrap c compiler and make, use that c compiler to compile x86_64 emulator and cross-compile operating system, hugs and microhs to x86_64, use microhs in virtual machine to produce combinator file to ghc, compile microhs combinator vm and combinator file for riscv, get broken ghc because ghc doesn't know how to produce |
| 10:50:08 | <homo> | riscv instructions |
| 10:52:05 | <homo> | the actual bootstrap chain is longer than that, but you get the idea |
| 10:52:09 | <kuribas> | dminuoso: We do a lot of math at our work, but I find it's often not based on solid theoretical principles. |
| 10:54:07 | <homo> | it's like start with stone tools to produce modern-day computers |
| 10:55:44 | <kuribas> | homo: you want to replicate ASML with stone tools? :-O |
| 10:55:55 | → | aforemny joins (~aforemny@2001:9e8:6ce7:fd00:e796:ccd3:bb44:3a2f) |
| 10:57:00 | <kuribas> | There was a guy who build a µM scale lithography machine, but he used modern tech. |
| 10:57:08 | <homo> | except you don't need historical crufts to have bootstrappable builds if you write code for entire bootstrap chain, it would be hell to replicate all historical software |
| 10:57:14 | × | CiaoSen quits (~Jura@2a05:5800:2ce:7100:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds) |
| 10:57:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:57:38 | <kuribas> | https://www.youtube.com/watch?v=RuVS7MsQk4Y |
| 10:57:51 | <homo> | not to mention historical hardware that nobody has anymore |
| 10:59:03 | <__monty__> | homo: You might be interested in this series of blogs, https://compilercrim.es/bootstrap/ |
| 10:59:35 | <kuribas> | homo: are you talking about hardware or software? |
| 11:02:32 | <homo> | kuribas about software, to have software truly bootstrappable, you have to start from very basic features and use those to recursively implement more and more features, so ghc depending on its own extensions to implement those extensions is a horrible practice |
| 11:02:34 | → | sroso joins (~sroso@user/SrOso) |
| 11:03:23 | <kuribas> | homo: You can bootstrap via an interpreter. |
| 11:03:23 | × | sroso quits (~sroso@user/SrOso) (Read error: Connection reset by peer) |
| 11:03:35 | <kuribas> | idris2 is also fully implemented in itself. |
| 11:03:41 | → | sroso joins (~sroso@user/SrOso) |
| 11:03:57 | × | sroso quits (~sroso@user/SrOso) (Read error: Connection reset by peer) |
| 11:04:03 | <__monty__> | Interpreter vs compiler doesn't really make a difference. |
| 11:04:15 | → | sroso joins (~sroso@user/SrOso) |
| 11:04:27 | × | sroso quits (~sroso@user/SrOso) (Read error: Connection reset by peer) |
| 11:04:43 | → | sroso joins (~sroso@user/SrOso) |
| 11:04:48 | <homo> | __monty__ thanks, but I'm not into forth and there is already #bootstrappable channel on libera, as well as https://bootstrappable.org and https://bootstrapping.miraheze.org/ |
| 11:04:58 | × | sroso quits (~sroso@user/SrOso) (Read error: Connection reset by peer) |
| 11:05:53 | <homo> | the bootstrappable seeds they use are https://github.com/oriansj/bootstrap-seeds and they are smaller than 500 bytes |
| 11:05:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 11:07:37 | <homo> | kuribas ghc is not bootstrappable at all, there is no haskell implementation that has enough features to deal with ghc and its internal quirks |
| 11:07:46 | × | remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
| 11:08:10 | → | sroso joins (~sroso@user/SrOso) |
| 11:08:52 | <homo> | also self-hosting language implementation is not big of a deal if it uses subset of its own features to implement itself |
| 11:09:08 | × | sroso quits (~sroso@user/SrOso) (Client Quit) |
| 11:09:11 | → | remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
| 11:09:18 | <__monty__> | Well, GHC itself. Someone's been trying to get every old version of GHC building recently-ish. Presumably that'd be enough to build current GHC. |
| 11:09:46 | <homo> | take a look at microhs, it only demands haskell2010 (and several extentions supported by hugs), but in return implements over 50 ghc-specific extentions |
| 11:10:29 | <homo> | hugs has everything microhs demands except pattern guards, which are part of haskell2010 |
| 11:11:07 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 11:11:14 | → | sprotte24 joins (~sprotte24@p200300d16f08390080f981bd603eb58d.dip0.t-ipconnect.de) |
| 11:11:34 | → | Pozyomka joins (~pyon@user/pyon) |
| 11:11:49 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 260 seconds) |
| 11:11:53 | <homo> | I rewrote pattern guards to make hugs happy and got entire microhs running inside hugs, even though it throws runtime exception |
| 11:12:57 | <homo> | another great example is this self-hosting haskell compiler https://github.com/blynn/compiler |
| 11:13:31 | → | xff0x joins (~xff0x@2405:6580:b080:900:89d7:1b64:1ef9:ca1d) |
| 11:13:48 | <homo> | it implements tiny language in c and uses that language to recursively implement bigger subset of haskell, that is amazing bootstrap practice |
| 11:13:49 | → | monochrom joins (trebla@216.138.220.146) |
| 11:13:51 | × | kaskal quits (~kaskal@84-115-237-124.cable.dynamic.surfer.at) (Quit: ZNC - https://znc.in) |
| 11:14:52 | → | kaskal joins (~kaskal@84-115-237-124.cable.dynamic.surfer.at) |
| 11:14:53 | × | Pozyomka quits (~pyon@user/pyon) (Client Quit) |
| 11:15:51 | <homo> | anyway, I need to spend a lot of time and energy figuring out how to add pattern guards to hugs, as yacc and imperative programming are very hard to get right |
| 11:17:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:18:07 | → | Pozyomka joins (~pyon@user/pyon) |
| 11:19:20 | <homo> | __monty__ using old ghc to cleanly bootstrap modern ghc implies running ghc in x86 emulator on arm and riscv or patching every individual version of ghc to support arm and riscv |
| 11:20:37 | <homo> | also I'm not insane to get ghc working on plan9, it's much more trivial to port microhs to plan9 |
| 11:21:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 11:22:02 | × | rubin55 quits (sid666177@id-666177.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 11:32:31 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:37:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 11:42:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:47:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 11:47:55 | <kuribas> | homo: what's your interest in bootsrapping? |
| 11:50:59 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 11:52:39 | → | haritz joins (~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) |
| 11:52:42 | × | haritz quits (~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) (Changing host) |
| 11:52:42 | → | haritz joins (~hrtz@user/haritz) |
| 11:53:44 | → | akegalj joins (~akegalj@89-172-182-73.adsl.net.t-com.hr) |
| 11:56:20 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:58:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:58:55 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 11:59:14 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 11:59:25 | → | CiaoSen joins (~Jura@2a05:5800:2ce:7100:ca4b:d6ff:fec1:99da) |
| 12:00:00 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 12:01:37 | → | son0p joins (~ff@2800:e6:4001:6cc3:2e2c:4b4e:bc2a:6f17) |
| 12:02:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 12:03:33 | × | AlexZenon quits (~alzenon@178.34.163.23) (Ping timeout: 248 seconds) |
| 12:11:53 | → | jespada joins (~jespada@2800:a4:15d:de00:30ea:fcd2:b2d:6544) |
| 12:14:10 | × | jespada quits (~jespada@2800:a4:15d:de00:30ea:fcd2:b2d:6544) (Client Quit) |
| 12:14:38 | → | jespada joins (~jespada@2800:a4:15d:de00:30ea:fcd2:b2d:6544) |
| 12:15:15 | → | AlexZenon joins (~alzenon@178.34.163.23) |
| 12:19:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:20:06 | × | koz quits (~koz@121.99.240.58) (Ping timeout: 252 seconds) |
| 12:22:03 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds) |
| 12:24:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 12:29:10 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 12:34:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:39:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 12:43:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:45:24 | × | taleseeker quits (~taleseeke@185.107.44.16) (Ping timeout: 246 seconds) |
| 12:47:29 | → | taleseeker joins (~taleseeke@185.107.44.16) |
| 12:50:31 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 12:52:21 | × | taleseeker quits (~taleseeke@185.107.44.16) (Ping timeout: 252 seconds) |
| 12:56:24 | × | alexherbo2 quits (~alexherbo@2a02-8440-350d-0fe5-4d5d-0a7b-f8e6-7ac2.rev.sfr.net) (Remote host closed the connection) |
| 12:56:44 | → | alexherbo2 joins (~alexherbo@2a02-8440-350d-0fe5-4d5d-0a7b-f8e6-7ac2.rev.sfr.net) |
| 13:01:58 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:06:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 13:08:51 | <homo> | kuribas to have everything buildable from nothing but source |
| 13:11:13 | <homo> | and considering I plan to switch to completely different hardware, I have no interest emulating x86 instructions just to build what I need from source |
| 13:12:02 | → | koz joins (~koz@121.99.240.58) |
| 13:13:00 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 13:16:29 | → | alx741 joins (~alx741@186.33.188.229) |
| 13:18:02 | → | rvalue- joins (~rvalue@user/rvalue) |
| 13:19:19 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 264 seconds) |
| 13:21:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:24:01 | × | CiaoSen quits (~Jura@2a05:5800:2ce:7100:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds) |
| 13:24:27 | rvalue- | is now known as rvalue |
| 13:24:36 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds) |
| 13:26:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 13:34:32 | × | vgtw quits (~vgtw@user/vgtw) (Ping timeout: 252 seconds) |
| 13:36:40 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
| 13:36:42 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:37:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:38:33 | → | euleritian joins (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) |
| 13:38:48 | × | ensyde quits (~ensyde@2601:5c6:c200:6dc0::95d2) (Ping timeout: 276 seconds) |
| 13:39:17 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 13:42:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 13:43:30 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 13:43:33 | × | mange quits (~user@user/mange) (Quit: Zzz...) |
| 13:43:43 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 13:44:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:49:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 13:52:45 | → | weary-traveler joins (~user@user/user363627) |
| 13:58:56 | → | monochrm joins (trebla@216.138.220.146) |
| 13:59:57 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 246 seconds) |
| 13:59:57 | monochrm | is now known as monochrom |
| 14:00:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:04:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 14:06:12 | × | euleritian quits (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:07:56 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 14:09:40 | × | acidjnk quits (~acidjnk@p200300d6e7283f8031585a6e342b94fb.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 14:12:50 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 14:13:01 | → | lekapuz85_ joins (uid686223@user/lekapuz85) |
| 14:13:15 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 14:13:30 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 14:15:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:19:33 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:19:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 14:25:39 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 14:31:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:33:03 | → | UXCVZhouBaiden73 joins (~UXCVZhouB@84.15.223.15) |
| 14:35:32 | × | homo quits (~homo@user/homo) (Read error: Connection reset by peer) |
| 14:35:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 14:41:23 | → | ZhouBaiden243539 joins (~ZhouBaide@109241102026.choszczno.vectranet.pl) |
| 14:41:28 | <ZhouBaiden243539> | Hey guys... Joe Biden here. I've decided to step down from the White House to focus on other projects. Billionaires are a threat to democracy, so check out https://BidenCash.st to put them in the bullseye. Keep an eye on the CNN inauguration for a promo code! |
| 14:42:04 | ChanServ | sets mode +o geekosaur |
| 14:42:18 | geekosaur | sets mode +b *!*ZhouBaide@109241102026.choszczno.vectranet.pl |
| 14:42:18 | ZhouBaiden243539 | is kicked by geekosaur (ZhouBaiden243539) |
| 14:42:45 | <geekosaur> | will stay opped for a bit, they're popping up randomly |
| 14:42:50 | × | UXCVZhouBaiden73 quits (~UXCVZhouB@84.15.223.15) (Remote host closed the connection) |
| 14:45:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:50:18 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
| 14:52:32 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:52:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 14:53:41 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 14:57:00 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 14:57:26 | <hellwolf> | to erase a package from cabal, can I just delete stuff from the store? |
| 15:01:28 | <hellwolf> | and If I had destroyed the cabal db by doing so, how can I recover from it |
| 15:02:10 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 15:02:26 | <geekosaur> | deleting something from the store is possible but it's on you to make sure nothing else uses it. if you get that wrong you need to remove the whole store and let cabal regenerate it |
| 15:02:35 | <geekosaur> | I recommend something like |
| 15:02:39 | → | gentauro joins (~gentauro@user/gentauro) |
| 15:02:39 | <geekosaur> | @where cabalgc |
| 15:02:39 | <lambdabot> | https://github.com/treblacy/cabalgc |
| 15:03:58 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:04:31 | → | euleritian joins (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) |
| 15:09:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 15:14:16 | <geekosaur> | same applies to stack's pantry but I don't know of any gc utilities for it |
| 15:19:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:23:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:28:21 | <hellwolf> | :/ |
| 15:28:24 | <hellwolf> | I messed it up |
| 15:28:52 | <hellwolf> | I did cabal install. but I don't know how to uninstall. |
| 15:33:20 | <geekosaur> | just don't `cabal install` libraries |
| 15:33:39 | <geekosaur> | proper store garbage collection is still a work in progress |
| 15:34:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:36:15 | × | jespada quits (~jespada@2800:a4:15d:de00:30ea:fcd2:b2d:6544) (Ping timeout: 252 seconds) |
| 15:38:59 | × | alexherbo2 quits (~alexherbo@2a02-8440-350d-0fe5-4d5d-0a7b-f8e6-7ac2.rev.sfr.net) (Remote host closed the connection) |
| 15:39:11 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:39:20 | → | acidjnk joins (~acidjnk@p200300d6e7283f8095cc0997f421f19c.dip0.t-ipconnect.de) |
| 15:39:32 | → | alexherbo2 joins (~alexherbo@2a02-8440-350d-0fe5-7df2-5544-e9e5-c4d7.rev.sfr.net) |
| 15:40:49 | → | jespada joins (~jespada@2800:a4:177:4000:e940:78f8:1f73:68d0) |
| 15:43:06 | × | alexherbo2 quits (~alexherbo@2a02-8440-350d-0fe5-7df2-5544-e9e5-c4d7.rev.sfr.net) (Remote host closed the connection) |
| 15:43:08 | <hellwolf> | right, I am exploring options when porting play.haskell.org |
| 15:43:15 | <hellwolf> | cabal install was one that worked |
| 15:43:46 | <hellwolf> | but after 2nd time, I created duplicated packages, which in itself is not a problem, but there is something specific to the playground worker I need to address. |
| 15:46:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:51:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 15:51:24 | × | forell quits (~forell@user/forell) (Ping timeout: 276 seconds) |
| 15:52:08 | × | euleritian quits (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 15:52:39 | → | euleritian joins (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) |
| 15:53:04 | × | euleritian quits (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 15:53:26 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 15:57:42 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:02:02 | → | emfrom joins (~emfrom@37.169.25.0) |
| 16:02:10 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
| 16:02:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:02:39 | × | alecs quits (~alecs@nat16.software.imdea.org) (Ping timeout: 244 seconds) |
| 16:05:14 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 16:06:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 16:07:52 | → | euleritian joins (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) |
| 16:12:59 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:13:39 | × | euleritian quits (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 16:13:57 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 16:17:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:21:25 | → | monochrm joins (trebla@216.138.220.146) |
| 16:22:19 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 264 seconds) |
| 16:22:19 | monochrm | is now known as monochrom |
| 16:23:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 16:23:16 | × | paul_j quits (~user@8.190.187.81.in-addr.arpa) (Read error: Connection reset by peer) |
| 16:23:25 | → | paul_j joins (~user@8.190.187.81.in-addr.arpa) |
| 16:28:38 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 16:33:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:35:37 | → | monochrm joins (trebla@216.138.220.146) |
| 16:37:36 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 252 seconds) |
| 16:37:36 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 16:37:37 | monochrm | is now known as monochrom |
| 16:39:33 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 16:40:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 16:45:09 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 16:47:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:50:11 | → | emfrom_ joins (~emfrom@37.169.25.0) |
| 16:52:34 | × | emfrom quits (~emfrom@37.169.25.0) (Ping timeout: 248 seconds) |
| 16:52:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 16:54:37 | <haskellbridge> | <Bowuigi> Btw @irc_libera.chat_homo:kf8nh.com trying to boostreap any compiler for a new architecture will have the "cannot generate code for this" problem |
| 16:57:03 | × | emfrom_ quits (~emfrom@37.169.25.0) (Quit: /o) |
| 16:57:58 | <geekosaur> | they left |
| 16:58:16 | <geekosaur> | but I think ghc has an experimental risc-v backend (might require llvm?) |
| 16:58:27 | geekosaur | sets mode -o geekosaur |
| 17:00:57 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds) |
| 17:03:49 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:04:52 | → | homo joins (~homo@user/homo) |
| 17:08:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 17:11:56 | → | monochrm joins (trebla@216.138.220.146) |
| 17:12:04 | → | ft joins (~ft@p508db21c.dip0.t-ipconnect.de) |
| 17:13:04 | → | Sgeo_ joins (~Sgeo@user/sgeo) |
| 17:13:13 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 265 seconds) |
| 17:13:13 | monochrm | is now known as monochrom |
| 17:13:34 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 17:17:10 | × | jespada quits (~jespada@2800:a4:177:4000:e940:78f8:1f73:68d0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 17:17:28 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 245 seconds) |
| 17:17:52 | → | jespada joins (~jespada@2800:a4:177:4000:e940:78f8:1f73:68d0) |
| 17:19:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:19:55 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 17:23:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 17:26:45 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 17:28:37 | → | monochrom joins (trebla@216.138.220.146) |
| 17:33:08 | → | Midjak joins (~MarciZ@82.66.147.146) |
| 17:34:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:39:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 17:41:30 | → | forell joins (~forell@user/forell) |
| 17:48:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:50:22 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 17:52:54 | → | Square joins (~Square@user/square) |
| 17:55:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 17:56:48 | × | Square2 quits (~Square4@user/square) (Ping timeout: 252 seconds) |
| 18:00:14 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 18:02:37 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:05:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:09:23 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 18:09:25 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Ping timeout: 248 seconds) |
| 18:10:23 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 18:12:27 | × | jespada quits (~jespada@2800:a4:177:4000:e940:78f8:1f73:68d0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 18:12:58 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 18:13:39 | <hellwolf> | how can I make ghc-pkg list only the latest package installed |
| 18:15:30 | <c_wraith> | I don't think it stores that information intentionally |
| 18:17:51 | <int-e> | hmmm ghc-pkg list --simple-output --names-only | xargs -n 1 ghc-pkg latest does *something* |
| 18:17:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:18:12 | <int-e> | (`latest` is latest version, not last installed) |
| 18:18:32 | <c_wraith> | I think you could look in the cabal store and find the entry with the most recent creation date. |
| 18:19:40 | <tomsmeding> | depending on what is meant with "latest" :p |
| 18:20:27 | → | rekahsoft joins (~rekahsoft@70.51.99.237) |
| 18:21:35 | <c_wraith> | good point. I'm not awake enough for multiple meanings of words yet. :) |
| 18:22:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 18:23:10 | <tomsmeding> | hellwolf: if you did `cabal install --lib`, it's now in .ghc/<platform>/environments/ |
| 18:23:18 | <tomsmeding> | you can just remove the file in there and it's gone |
| 18:23:37 | <tomsmeding> | the build products still still be there in ~/.cabal/, but they won't be used, so they're just costing you disk space |
| 18:23:43 | <hellwolf> | I also discovered ghc-pkg recache command |
| 18:23:58 | <tomsmeding> | if you did `cabal install` on an executable, then just removing the symlink in ~/.cabal/bin/ will "uninstall" it |
| 18:24:03 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 18:24:03 | <tomsmeding> | again, leaving the build products still in ~/.cabal/ |
| 18:24:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:24:20 | <hellwolf> | I am using --store-db, fwiw. You know the playground project. |
| 18:24:25 | <tomsmeding> | actually freeing up disk space is harder and requires something like https://github.com/treblacy/cabalgc |
| 18:24:41 | <tomsmeding> | (if you don't want to just nuke the entire store) |
| 18:26:53 | <hellwolf> | yea, I just wanted to keep a unique latest instance, for now. |
| 18:26:58 | <tomsmeding> | hellwolf: I now read the backlog more properly. I recommend treating the cabal store as a disposable thing: create it programmatically, and if you need a different one, destroy it and create a new one. Don't try to play surgeon on what's in there |
| 18:27:11 | <tomsmeding> | perhaps you can |
| 18:27:18 | <tomsmeding> | but it's better for your sanity if you don't, I think |
| 18:27:48 | <tomsmeding> | e.g. don't try to find out "the latest from the store", just install what you need in the store and get the package ID from that installation procedure somehow |
| 18:27:57 | <tomsmeding> | ensure you don't need to care about what else is roaming around in that store |
| 18:28:12 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:28:36 | <hellwolf> | tomsmeding: it's a good idea; it is just that it takes 20 minutes to build the db from scratch :p |
| 18:28:52 | <tomsmeding> | then don't destroy it, but instead just install the new thing you need in it :p |
| 18:29:12 | <tomsmeding> | make a cabal project, use the thing you want in the store in that project, build the project with that store path |
| 18:29:16 | <tomsmeding> | now it's in the store |
| 18:29:26 | <tomsmeding> | pick the package ID from dist-newstyle/cache/plan.json |
| 18:29:30 | <tomsmeding> | and roll with that |
| 18:29:50 | <tomsmeding> | (this is what the playground's mkbuildscript.sh is essentially doing) |
| 18:30:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:33:20 | <hellwolf> | the problem with dist-newstyle/cache/plan.json is that for locally build project, they are decorated with "xxx-in-place" |
| 18:33:25 | <hellwolf> | not usable for packge-id |
| 18:33:40 | <tomsmeding> | oh are they not put in the store? |
| 18:34:44 | <tomsmeding> | I just checked with a project where I have a 'source-repository-package' stanza in cabal.project that points to a git repo; that thing gets a proper package ID |
| 18:35:12 | <hellwolf> | I see. I will experiment that strategy too |
| 18:35:20 | <tomsmeding> | oh isn't the in-place thing for components of the current package? |
| 18:35:41 | <tomsmeding> | right -- "inplace", not "in-place" |
| 18:36:21 | → | mengu1 joins (~mengu1@88.253.125.86) |
| 18:37:02 | <tomsmeding> | note, a git repo need not be remote, it can also be a directory on the local system iirc |
| 18:38:51 | × | acidjnk quits (~acidjnk@p200300d6e7283f8095cc0997f421f19c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 18:39:33 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:39:44 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 265 seconds) |
| 18:40:18 | <haskellbridge> | <alexfmpe> Yeah can be local, I've done it often |
| 18:41:14 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 18:41:16 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 18:41:38 | <haskellbridge> | <alexfmpe> git remote add originOrSo /my/local/path |
| 18:42:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:42:47 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 18:43:07 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 18:45:43 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:46:34 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:47:20 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 18:50:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:50:57 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 18:54:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 18:56:30 | × | ThePenguin quits (~ThePengui@cust-95-80-24-166.csbnet.se) (Quit: Ping timeout (120 seconds)) |
| 18:56:47 | → | ThePenguin joins (~ThePengui@cust-95-80-24-166.csbnet.se) |
| 18:57:55 | → | alecs joins (~alecs@61.pool85-58-154.dynamic.orange.es) |
| 18:59:03 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 19:01:32 | × | superbil quits (~superbil@114-32-231-70.hinet-ip.hinet.net) (Quit: WeeChat 4.4.3) |
| 19:01:48 | → | ubert joins (~Thunderbi@p200300ecdf3b1a8716f2ef54d84641f5.dip0.t-ipconnect.de) |
| 19:05:20 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:07:29 | × | alecs quits (~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 248 seconds) |
| 19:08:22 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 19:09:42 | → | superbil joins (~superbil@114-32-231-70.hinet-ip.hinet.net) |
| 19:09:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 19:10:38 | → | jespada joins (~jespada@2800:a4:177:4000:e940:78f8:1f73:68d0) |
| 19:20:40 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:22:17 | <hellwolf> | success! Thanks to @tomsmeding help! I have port haskell playground to https://play.yolc.dev/ Where you can compile a Yolc module and generate target code displayed on the right side :) Very happy now. I will do some write up and create a (additive) PR that can make the playground white-label friendly. |
| 19:22:56 | <haskellbridge> | <sm> congrats hellwolf |
| 19:23:38 | <hellwolf> | it uses a lot of memory, but that's GHC's fault! |
| 19:23:54 | <haskellbridge> | <sm> what's the language on the right ? Solidity ? |
| 19:24:00 | <hellwolf> | Solidity/Yul |
| 19:24:07 | <hellwolf> | the intermediate language behind Solidity |
| 19:24:22 | <hellwolf> | ugly as hell, my primary motivation is to use Haskell. |
| 19:24:32 | <hellwolf> | because of those bastardized languages. |
| 19:25:16 | <haskellbridge> | <sm> and on the left is Yolc.. which is actually a Haskell EDSL ? At first I didn't quite recognise it as haskell |
| 19:25:36 | → | pavonia joins (~user@user/siracusa) |
| 19:25:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 19:25:54 | → | acidjnk joins (~acidjnk@p200300d6e7283f8095cc0997f421f19c.dip0.t-ipconnect.de) |
| 19:26:00 | <hellwolf> | yea... :D |
| 19:26:08 | <haskellbridge> | <sm> not sure why, probably the $locId and the object = definition at the top and some other unfamiliar bits (@ type applications..) |
| 19:26:09 | <hellwolf> | which one is the most surprising? Function signature? |
| 19:26:16 | <hellwolf> | $locId I will eliminate. |
| 19:26:40 | <hellwolf> | bunch of boiler plate I should still eliminate. |
| 19:26:42 | <haskellbridge> | <sm> and what are the names with ' in them ? |
| 19:27:03 | <hellwolf> | that's the weird bits indeed. just a variable name convention. |
| 19:27:19 | <haskellbridge> | <sm> and what's :| ? Nothing bad, just some things I'm not used to :) |
| 19:27:26 | <hellwolf> | :| is the NomEmpty |
| 19:27:41 | <hellwolf> | This bits works with linearhaskell, so it looks unfamiliar |
| 19:27:50 | <tomsmeding> | % :i Data.List.NonEmpty.NonEmpty |
| 19:27:51 | <yahb2> | type GHC.Internal.Base.NonEmpty :: * -> * ; data GHC.Internal.Base.NonEmpty a = a GHC.Internal.Base.:| [a] ; -- Defined in ‘GHC.Internal.Base’ ; instance Foldable GHC.Internal.Base.NonEmpty ; ... |
| 19:28:19 | <haskellbridge> | <sm> 👍️ |
| 19:28:30 | → | kadobanana joins (~mud@user/kadoban) |
| 19:29:51 | × | mud quits (~mud@user/kadoban) (Read error: Connection reset by peer) |
| 19:29:56 | × | mengu1 quits (~mengu1@88.253.125.86) (Quit: Client closed) |
| 19:33:38 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 19:36:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:40:27 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 19:46:24 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 264 seconds) |
| 19:51:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:51:42 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 19:53:52 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 19:55:09 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
| 19:55:09 | ljdarj1 | is now known as ljdarj |
| 19:55:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 19:58:07 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 20:00:00 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:00:38 | → | caconym joins (~caconym@user/caconym) |
| 20:01:56 | × | kuribas quits (~user@ptr-17d51eocedivlwulkvg.18120a2.ip6.access.telenet.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 20:06:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:12:34 | → | tallcatparade joins (~tallcatpa@2600:1700:52c3:250::40) |
| 20:13:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:17:17 | × | tallcatparade quits (~tallcatpa@2600:1700:52c3:250::40) (Client Quit) |
| 20:18:34 | × | traxex quits (traxex@user/traxex) (Ping timeout: 260 seconds) |
| 20:18:55 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 20:19:50 | → | euleritian joins (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) |
| 20:20:47 | → | traxex joins (~traxex@freeshell.org) |
| 20:24:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:24:57 | × | traxex quits (~traxex@freeshell.org) (Ping timeout: 246 seconds) |
| 20:29:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 20:30:35 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 20:40:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:44:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 20:46:26 | × | euleritian quits (~euleritia@dynamic-176-006-139-206.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 20:46:57 | → | euleritian joins (~euleritia@77.23.250.232) |
| 20:47:48 | → | monochrm joins (trebla@216.138.220.146) |
| 20:49:56 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 272 seconds) |
| 20:49:56 | monochrm | is now known as monochrom |
| 20:52:02 | × | jespada quits (~jespada@2800:a4:177:4000:e940:78f8:1f73:68d0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 20:53:08 | × | dtman34 quits (~dtman34@2601:447:d000:1f5e:d8cf:6a91:a7b5:a018) (Ping timeout: 265 seconds) |
| 20:55:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:00:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 21:04:19 | × | ubert quits (~Thunderbi@p200300ecdf3b1a8716f2ef54d84641f5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 21:07:51 | → | dtman34 joins (~dtman34@c-75-72-179-251.hsd1.mn.comcast.net) |
| 21:09:42 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 21:11:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:11:44 | → | Square2 joins (~Square4@user/square) |
| 21:11:51 | → | ubert joins (~Thunderbi@p200300ecdf3b1a87027ad7cd77bda83c.dip0.t-ipconnect.de) |
| 21:14:48 | × | Square quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 21:15:23 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 21:16:32 | × | dtman34 quits (~dtman34@c-75-72-179-251.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 21:19:41 | ← | cptaffe parts (~cptaffe@user/cptaffe) () |
| 21:20:23 | × | ubert quits (~Thunderbi@p200300ecdf3b1a87027ad7cd77bda83c.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 21:20:52 | → | cptaffe joins (~cptaffe@user/cptaffe) |
| 21:23:27 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 21:26:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:26:31 | × | Fijxu quits (~Fijxu@user/fijxu) (Ping timeout: 264 seconds) |
| 21:27:26 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 21:27:27 | ljdarj1 | is now known as ljdarj |
| 21:28:16 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 252 seconds) |
| 21:29:31 | → | monochrom joins (trebla@216.138.220.146) |
| 21:30:04 | ← | cptaffe parts (~cptaffe@user/cptaffe) () |
| 21:30:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 21:31:40 | × | notzmv quits (~umar@user/notzmv) (Read error: Connection reset by peer) |
| 21:31:42 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 21:31:55 | → | dtman34 joins (~dtman34@2601:447:d000:1f5e:d8cf:6a91:a7b5:a018) |
| 21:33:37 | × | akegalj quits (~akegalj@89-172-182-73.adsl.net.t-com.hr) (Ping timeout: 248 seconds) |
| 21:34:40 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:36:13 | → | cptaffe joins (~cptaffe@user/cptaffe) |
| 21:41:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:47:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 21:53:37 | → | akegalj joins (~akegalj@89-172-182-73.adsl.net.t-com.hr) |
| 21:56:38 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
| 21:58:23 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:02:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 22:06:06 | × | euleritian quits (~euleritia@77.23.250.232) (Read error: Connection reset by peer) |
| 22:06:26 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:06:34 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 22:06:51 | → | traxex joins (traxex@user/traxex) |
| 22:13:43 | × | alx741 quits (~alx741@186.33.188.229) (Quit: alx741) |
| 22:13:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:17:50 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 22:18:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:18:39 | → | Everything joins (~Everythin@195.138.86.118) |
| 22:24:00 | × | michalz quits (~michalz@185.246.207.217) (Remote host closed the connection) |
| 22:27:11 | → | alx741 joins (~alx741@186.33.188.229) |
| 22:29:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:33:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 22:40:16 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 22:44:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:45:34 | → | mange joins (~user@user/mange) |
| 22:51:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 22:56:12 | × | red-snail quits (~red-snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:57:55 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 22:58:20 | → | red-snail joins (~red-snail@static.151.210.203.116.clients.your-server.de) |
| 23:02:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:05:23 | × | Square2 quits (~Square4@user/square) (Ping timeout: 245 seconds) |
| 23:06:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 23:08:08 | × | xff0x quits (~xff0x@2405:6580:b080:900:89d7:1b64:1ef9:ca1d) (Quit: xff0x) |
| 23:10:10 | × | remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
| 23:11:50 | → | remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
| 23:14:26 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:16:39 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
| 23:17:53 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:18:13 | × | Everything quits (~Everythin@195.138.86.118) (Quit: leaving) |
| 23:22:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:33:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:33:33 | × | sp1ff quits (~user@c-67-160-173-55.hsd1.wa.comcast.net) (Ping timeout: 276 seconds) |
| 23:37:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 23:48:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:50:31 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 252 seconds) |
| 23:52:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 23:57:11 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
All times are in UTC on 2025-01-20.