2024-09-09 00:00:13 +0200 | <EvanR> | xterm unfortunately can't be beaten |
2024-09-09 00:00:24 +0200 | ZharMeny | (~ZharMeny@user/ZharMeny) |
2024-09-09 00:00:25 +0200 | <geekosaur> | urxvt 😛 |
2024-09-09 00:00:38 +0200 | <EvanR> | urxvt is pretty good now |
2024-09-09 00:00:41 +0200 | ZharMeny | (~ZharMeny@user/ZharMeny) (Read error: Connection reset by peer) |
2024-09-09 00:00:43 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 264 seconds) |
2024-09-09 00:00:45 +0200 | <geekosaur> | (that said, I actually use mate-terminal because I use mate) |
2024-09-09 00:00:57 +0200 | ZharMeny | (~ZharMeny@user/ZharMeny) |
2024-09-09 00:01:52 +0200 | <juri_> | urxvt here too, but i'm looking at doing some ai .... stuff .... and am looking for a terminal emulator to add features to, so... |
2024-09-09 00:04:10 +0200 | <EvanR> | AI in your terminal xD |
2024-09-09 00:04:37 +0200 | <justsomeguy> | There are some experiments in that area, like https://www.warp.dev/ |
2024-09-09 00:04:38 +0200 | <geekosaur> | ai yai yai |
2024-09-09 00:04:42 +0200 | <EvanR> | make sure you have wireframe vector graphics support so you can draw an andros-like face |
2024-09-09 00:05:10 +0200 | <justsomeguy> | Personally I would rather have a simple cli utility I can query for things with. |
2024-09-09 00:07:05 +0200 | <justsomeguy> | What does lifting mean? I see it used in different contexts and find it confusing. |
2024-09-09 00:08:02 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 00:08:09 +0200 | <juri_> | I'm doing something a bit different, but.. :D |
2024-09-09 00:10:03 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 00:14:57 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 00:15:07 +0200 | <EvanR> | justsomeguy, have you seen fmap |
2024-09-09 00:15:32 +0200 | <EvanR> | :: Functor f => (a -> b) -> (f a -> f b) |
2024-09-09 00:16:03 +0200 | <EvanR> | it lifts any function to a corresponding function on f-things |
2024-09-09 00:16:46 +0200 | <EvanR> | I've seen it in other contexts to means similar abstract structural moves |
2024-09-09 00:17:03 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
2024-09-09 00:17:35 +0200 | <monochrom> | Yes "lift" is an intuitive word, not a rigorous word. |
2024-09-09 00:18:44 +0200 | <monochrom> | where intuition = without evident rational thought and inference. https://www.merriam-webster.com/dictionary/intuition |
2024-09-09 00:18:47 +0200 | <justsomeguy> | So, in (=<<) :: Monad m => (a -> m b) -> m a -> m b, the a -> b is lifted to m a -> m b. What about the m b in (a -> m b? |
2024-09-09 00:18:54 +0200 | <EvanR> | no |
2024-09-09 00:19:06 +0200 | <EvanR> | I wouldn't call that lifting xD |
2024-09-09 00:19:16 +0200 | <monochrom> | That one "lifts" a->mb to ma->mb. |
2024-09-09 00:19:39 +0200 | <EvanR> | it's more like monad function application |
2024-09-09 00:19:54 +0200 | <monochrom> | Or maybe it's demotion? Because contravariant something something? |
2024-09-09 00:20:06 +0200 | <EvanR> | if anything gets actually applied to a function, all the cool words go out the window xD |
2024-09-09 00:20:09 +0200 | <EvanR> | like composition |
2024-09-09 00:20:23 +0200 | <EvanR> | you hear that elixir people! |
2024-09-09 00:20:32 +0200 | <EvanR> | applying is not function composition |
2024-09-09 00:21:00 +0200 | <monochrom> | Heh |
2024-09-09 00:21:42 +0200 | ZharMeny` | (~ZharMeny@user/ZharMeny) |
2024-09-09 00:21:56 +0200 | <EvanR> | a "lifted type" is, unrelated it seems, a type with an additional bottom |
2024-09-09 00:22:00 +0200 | <monochrom> | Remember how people look at the equivalent of "f . g $ x" and "f $ g $ x" and be like "so what is the difference between . and $" |
2024-09-09 00:22:45 +0200 | <EvanR> | D: |
2024-09-09 00:23:05 +0200 | <EvanR> | unboxed Int = ... -1 | 0 | 1 | 2 | 3 | ... |
2024-09-09 00:23:05 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 00:23:10 +0200 | <EvanR> | Int = Int | bottom xD |
2024-09-09 00:23:16 +0200 | <EvanR> | Int = unboxed Int | bottom xD |
2024-09-09 00:23:24 +0200 | <EvanR> | lifted |
2024-09-09 00:23:44 +0200 | ZharMeny | (~ZharMeny@user/ZharMeny) (Ping timeout: 260 seconds) |
2024-09-09 00:24:31 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 00:25:53 +0200 | <justsomeguy> | Does boxed mean there's a pointer involved, and unboxed mean there isn't? |
2024-09-09 00:26:19 +0200 | <EvanR> | boxed means there's a box, which you access with a pointer |
2024-09-09 00:26:27 +0200 | <EvanR> | you could access an unboxed value with a pointer to, if you want |
2024-09-09 00:26:35 +0200 | <monochrom> | Yes but there is more. boxed is heap-allocated. |
2024-09-09 00:27:23 +0200 | <EvanR> | unboxed values are scattered loose |
2024-09-09 00:27:45 +0200 | <EvanR> | or confusingly, packed into an unboxed array |
2024-09-09 00:27:53 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2024-09-09 00:28:20 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-09-09 00:30:48 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
2024-09-09 00:32:47 +0200 | <monochrom> | More confusingly, that array itself is boxed (because heap) but unlifted (because no bottom). >:) |
2024-09-09 00:33:11 +0200 | ZharMeny` | ZharMeny |
2024-09-09 00:35:16 +0200 | <haskellbridge> | <thirdofmay18081814goya> anyone got good references about designing applications as a consequence of type-level reasoning? |
2024-09-09 00:35:33 +0200 | <haskellbridge> | <thirdofmay18081814goya> algebra-driven design is about this, no? |
2024-09-09 00:38:52 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 00:42:01 +0200 | <justsomeguy> | thirdofmay: I came across this book but haven't read it yet (it's over my head) https://thinkingwithtypes.com/ |
2024-09-09 00:42:41 +0200 | <haskellbridge> | <thirdofmay18081814goya> nice! i'll give it a read, ty |
2024-09-09 00:43:59 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-09-09 00:45:00 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 00:53:19 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2024-09-09 00:54:39 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 00:54:54 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 00:54:59 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-09-09 00:56:23 +0200 | <justsomeguy> | I have to admit that even though I like the idea of preventing more errors throught the type system I really dread the thought of working on a complicated code base that does type-level stuff. |
2024-09-09 00:57:05 +0200 | <haskellbridge> | <thirdofmay18081814goya> imo it's less about safety and more about compositionality/modularity of design |
2024-09-09 00:57:13 +0200 | <haskellbridge> | <thirdofmay18081814goya> although safety is nice too |
2024-09-09 00:59:17 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-09-09 00:59:38 +0200 | <EvanR> | business requirements are not well-typed |
2024-09-09 00:59:46 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 252 seconds) |
2024-09-09 00:59:51 +0200 | <justsomeguy> | The main issue for me is that it's a huge time investment to understand such a design well enough to contribute to it. |
2024-09-09 01:00:14 +0200 | <justsomeguy> | But I'm also not an experienced programmer, more of a sysadmin, and I'm a little out of my element where Haskell is concerned. |
2024-09-09 01:01:07 +0200 | <geekosaur> | you can get there |
2024-09-09 01:01:23 +0200 | <geekosaur> | <-- ex-sysadmin (retired/disability) |
2024-09-09 01:03:14 +0200 | xff0x | (~xff0x@2405:6580:b080:900:c1a4:8f81:9151:7c9c) (Ping timeout: 260 seconds) |
2024-09-09 01:05:04 +0200 | troojg | (~troojg@user/troojg) |
2024-09-09 01:05:56 +0200 | xff0x | (~xff0x@2405:6580:b080:900:64f3:44bc:1e36:4a59) |
2024-09-09 01:08:15 +0200 | <monochrom> | I don't use type-level design. I use Jackson Structured Design, which is type-driven but actually gets things done cleanly. It takes the view that a [abstract] type is specified by which operations you want it to support, so you ask yourself that question first, and not jump into implementation prematurely. |
2024-09-09 01:10:13 +0200 | <haskellbridge> | <thirdofmay18081814goya> monochrom: https://en.wikipedia.org/wiki/Jackson_structured_programming this? |
2024-09-09 01:10:22 +0200 | <monochrom> | There are some old FP papers actually doing that (without calling it that). For example the Wadler pretty-printing paper. They call it "algebra" instead, because if you have a [abstract] type and a bunch of operations, that's an algebra. |
2024-09-09 01:10:26 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 01:13:14 +0200 | <justsomeguy> | monochrom: This one: https://en.wikipedia.org/wiki/Jackson_structured_programming ? |
2024-09-09 01:13:24 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
2024-09-09 01:13:30 +0200 | <justsomeguy> | lol, nevermind, definitely not that one |
2024-09-09 01:15:01 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 248 seconds) |
2024-09-09 01:15:09 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 01:15:11 +0200 | <monochrom> | Or maybe I have a beautified memory of it. |
2024-09-09 01:17:06 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb75c990977c7caf1962.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2024-09-09 01:22:56 +0200 | morb | (~morb@108.41.100.120) |
2024-09-09 01:24:58 +0200 | <monochrom> | Maybe https://en.wikipedia.org/wiki/Jackson_system_development instead. I'll [mis]interpret "identifies the entities in the system, the actions they perform" as what I said above. >:) |
2024-09-09 01:26:13 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 01:26:41 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
2024-09-09 01:30:28 +0200 | tstat | (~tstat@user/tstat) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-09-09 01:31:01 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-09-09 01:31:59 +0200 | morb | (~morb@108.41.100.120) (Ping timeout: 260 seconds) |
2024-09-09 01:37:25 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds) |
2024-09-09 01:42:01 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 01:47:04 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-09 01:47:10 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 01:50:24 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-09-09 01:51:33 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
2024-09-09 01:56:48 +0200 | xff0x | (~xff0x@2405:6580:b080:900:64f3:44bc:1e36:4a59) (Ping timeout: 246 seconds) |
2024-09-09 01:57:46 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 01:57:57 +0200 | xff0x | (~xff0x@2405:6580:b080:900:5825:9cdb:90f7:52b0) |
2024-09-09 02:00:07 +0200 | xff0x | (~xff0x@2405:6580:b080:900:5825:9cdb:90f7:52b0) (Client Quit) |
2024-09-09 02:02:03 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 02:05:58 +0200 | Axman6 | (~Axman6@user/axman6) |
2024-09-09 02:06:39 +0200 | xff0x | (~xff0x@2405:6580:b080:900:55c2:e74c:3e3:5f94) |
2024-09-09 02:07:36 +0200 | <xacktm> | hello, I'm trying to parse an HTML page with xml-conduit by ignoring the HTML <head> boilerplate to get to the <body> data but can't work out how to use the provided ignore* functions to accomplish that - any hints? https://bpa.st/7YMVS |
2024-09-09 02:11:58 +0200 | <xacktm> | oh wait, I got it to compile... wrapped parens around the bit after >> like: (ignoreTree "head" ignoreAttrs) >> (tagIgnoreAttrs "body" $ manyYield parseNode) |
2024-09-09 02:12:26 +0200 | <xacktm> | thanks rubber ducks ^^ |
2024-09-09 02:13:11 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 02:18:09 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 02:18:32 +0200 | <mauke> | the parens in (ignoreTree "head" ignoreAttrs) are redundant |
2024-09-09 02:20:00 +0200 | spew | (~spew@201.141.99.170) (Ping timeout: 272 seconds) |
2024-09-09 02:20:29 +0200 | <mauke> | the problem is that $ has low precedence, so `a >> b $ c` parses as `(a >> b) $ c`, when you wanted `a >> (b $ c)` |
2024-09-09 02:21:44 +0200 | spew | (~spew@201.141.99.170) |
2024-09-09 02:22:16 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 02:25:01 +0200 | ZharMeny | (~ZharMeny@user/ZharMeny) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
2024-09-09 02:26:33 +0200 | xff0x | (~xff0x@2405:6580:b080:900:55c2:e74c:3e3:5f94) (Ping timeout: 276 seconds) |
2024-09-09 02:26:42 +0200 | <xacktm> | thanks, yes that error did confuse me where to put the parens - I overlooked that $, thinking I could simply chain |
2024-09-09 02:27:24 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
2024-09-09 02:28:59 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 02:30:45 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-09-09 02:33:59 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-09 02:36:55 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 02:38:11 +0200 | tcard_ | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
2024-09-09 02:41:15 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
2024-09-09 02:44:46 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 02:49:39 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 02:59:39 +0200 | Everything | (~Everythin@109.162.122.37) (Quit: leaving) |
2024-09-09 02:59:44 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 03:00:34 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 03:02:28 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-09-09 03:05:24 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 03:07:01 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
2024-09-09 03:07:21 +0200 | auri | (~auri@fsf/member/auri) () |
2024-09-09 03:07:46 +0200 | weary-traveler | (~user@user/user363627) |
2024-09-09 03:09:36 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) |
2024-09-09 03:16:21 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 03:21:09 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 03:21:42 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 03:22:31 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 03:24:33 +0200 | xff0x | (~xff0x@om126166210134.28.openmobile.ne.jp) |
2024-09-09 03:26:01 +0200 | <Axman6> | xacktm: ignoreTree "head" ignoreAttrs >> tagIgnoreAttrs "body" (manyYield parseNode) is how I would write that |
2024-09-09 03:26:09 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2024-09-09 03:27:05 +0200 | auri | (~auri@fsf/member/auri) |
2024-09-09 03:27:39 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-09-09 03:32:34 +0200 | troojg | (~troojg@user/troojg) (Ping timeout: 260 seconds) |
2024-09-09 03:34:42 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 03:38:11 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 03:39:58 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
2024-09-09 03:40:00 +0200 | xff0x | (~xff0x@om126166210134.28.openmobile.ne.jp) (Read error: Connection reset by peer) |
2024-09-09 03:42:51 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 03:44:45 +0200 | <xacktm> | hm yes, that is a bit clearer |
2024-09-09 03:45:02 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-09-09 03:45:54 +0200 | ACuriousMoose | (~ACuriousM@156.34.161.188) |
2024-09-09 03:50:28 +0200 | Guest55 | (~Guest55@c-71-229-185-228.hsd1.co.comcast.net) |
2024-09-09 03:50:42 +0200 | Guest55 | (~Guest55@c-71-229-185-228.hsd1.co.comcast.net) (Client Quit) |
2024-09-09 03:53:59 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 03:54:39 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 03:59:04 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
2024-09-09 03:59:24 +0200 | <haskellbridge> | <Bowuigi> Is there some resource on syntactic experiments for functional languages? I have seen some really interesting ideas (do/codo/arrow notation, indentation-based grouping, etc) but I don't know if there is a central place for them |
2024-09-09 03:59:24 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-09-09 04:00:56 +0200 | <haskellbridge> | <Bowuigi> Indentation-based grouping seems interesting for languages that don't have Haskell-style pattern matching, but rather use eliminators and/or first class patterns and/or optics |
2024-09-09 04:04:16 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 04:08:44 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2024-09-09 04:09:46 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 04:14:45 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-09-09 04:18:50 +0200 | comonad1 | (~comonad@p200300d02705e800d14b563ba919432f.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2024-09-09 04:22:12 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 04:25:34 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 04:27:40 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
2024-09-09 04:29:27 +0200 | comonad | (~comonad@p200300d02705e800d14b563ba919432f.dip0.t-ipconnect.de) |
2024-09-09 04:30:27 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 04:35:58 +0200 | spew | (~spew@201.141.99.170) (Quit: spew) |
2024-09-09 04:41:21 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 04:41:55 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-09-09 04:41:58 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 252 seconds) |
2024-09-09 04:42:04 +0200 | terrorjack4 | (~terrorjac@static.48.15.202.116.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat) |
2024-09-09 04:42:22 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 04:42:30 +0200 | greenflower | (~greenflow@125.16.7.78) |
2024-09-09 04:43:43 +0200 | terrorjack4 | (~terrorjac@2a01:4f8:c17:dc9f::) |
2024-09-09 04:46:12 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 04:48:39 +0200 | td_ | (~td@i53870918.versanet.de) (Ping timeout: 246 seconds) |
2024-09-09 04:50:43 +0200 | td_ | (~td@i5387092B.versanet.de) |
2024-09-09 04:57:07 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 05:02:09 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-09-09 05:03:42 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
2024-09-09 05:04:54 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-09-09 05:09:18 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 05:14:12 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 05:14:17 +0200 | <ski> | Bowuigi : "Indentation-based grouping seems interesting for languages that don't have Haskell-style pattern matching, but rather use eliminators and/or first class patterns and/or optics" -- why ? (and "first class patterns" meaning ?) |
2024-09-09 05:18:31 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 05:25:05 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 05:28:50 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-09-09 05:29:12 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds) |
2024-09-09 05:30:24 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-09-09 05:30:40 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2024-09-09 05:35:12 +0200 | aforemny_ | (~aforemny@2001:9e8:6cde:3200:4b2a:73ea:fa78:d732) |
2024-09-09 05:36:14 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2024-09-09 05:36:21 +0200 | aforemny | (~aforemny@2001:9e8:6cfd:5300:79d5:7cd7:efda:1b62) (Ping timeout: 276 seconds) |
2024-09-09 05:40:52 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 05:45:53 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-09-09 05:48:54 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 05:52:32 +0200 | sourcetarius | (~sourcetar@user/sourcetarius) (Quit: zzz) |
2024-09-09 05:52:43 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2024-09-09 05:55:51 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds) |
2024-09-09 06:02:09 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 06:12:26 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 06:19:59 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-09-09 06:20:00 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 06:26:32 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds) |
2024-09-09 06:31:48 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 06:34:39 +0200 | arahael_ | (~arahael@user/arahael) |
2024-09-09 06:36:27 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 06:41:30 +0200 | arahael | (~arahael@user/arahael) (Ping timeout: 252 seconds) |
2024-09-09 06:47:35 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 06:52:50 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-09-09 06:54:58 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 06:59:56 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 272 seconds) |
2024-09-09 07:00:26 +0200 | <haskellbridge> | <Bowuigi> "First class patterns" are functions that act like small scale pattern matches (like checking if a constructor tag matches and running an action if it does), they are described in a calculus form in a paper of the same name by B. Jay and D. Kessner |
2024-09-09 07:00:37 +0200 | <haskellbridge> | <Bowuigi> Kesner* |
2024-09-09 07:02:22 +0200 | <haskellbridge> | <Bowuigi> A more modern formulation can be found in "Optimizing First-Class Pattern Matching" by J. Smits, T. Hartman and J. Cockx |
2024-09-09 07:02:57 +0200 | michalz | (~michalz@185.246.207.203) |
2024-09-09 07:03:20 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 07:04:03 +0200 | <haskellbridge> | <Bowuigi> As usual, it can be modelled with row types. Pattern matching on the constructor is equivalent to many variant decompositions or to a single variant elimination, pattern matching on fields is equivalent to record patterns, add some combinators and done, reusable patterns |
2024-09-09 07:04:54 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds) |
2024-09-09 07:05:36 +0200 | <haskellbridge> | <Bowuigi> Any kind of first class pattern matching can be eventually optimized to the usual pattern matching so their optimization methods also apply |
2024-09-09 07:07:12 +0200 | <haskellbridge> | <Bowuigi> If with "why" you mean why is it a good idea to use indentation to group expressions on these cases, consider the map function for Church-encoded lists |
2024-09-09 07:07:36 +0200 | arahael_ | (~arahael@user/arahael) (Ping timeout: 246 seconds) |
2024-09-09 07:07:54 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-09 07:10:22 +0200 | <haskellbridge> | <Bowuigi> (I hope IRC is fine with multi-line messages) |
2024-09-09 07:10:22 +0200 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_matrix/media/v3/download/kf8nh.com/ZocllxsAxFUSJmQebtytfPyz (3 lines) |
2024-09-09 07:10:23 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 07:14:54 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-09-09 07:16:13 +0200 | youthlic | (~Thunderbi@user/youthlic) (Quit: youthlic) |
2024-09-09 07:17:42 +0200 | youthlic | (~Thunderbi@user/youthlic) |
2024-09-09 07:18:33 +0200 | qqe | (~qqq@92.43.167.61) |
2024-09-09 07:22:47 +0200 | <mauke> | <+haskellbridge> ... long message truncated: https://kf8nh.com/_matrix/media/v3/download/kf8nh.com/ZocllxsAxFUSJmQebtytfPyz (3 lines |
2024-09-09 07:23:58 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 07:24:09 +0200 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2024-09-09 07:25:41 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 248 seconds) |
2024-09-09 07:26:04 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 07:26:58 +0200 | xff0x | (~xff0x@om126166210134.28.openmobile.ne.jp) |
2024-09-09 07:27:01 +0200 | michalz | (~michalz@185.246.207.200) |
2024-09-09 07:27:03 +0200 | arahael | (~arahael@user/arahael) |
2024-09-09 07:28:15 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
2024-09-09 07:28:49 +0200 | <haskellbridge> | <Bowuigi> Yeah that works too |
2024-09-09 07:33:18 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2024-09-09 07:34:05 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-09-09 07:36:50 +0200 | mstksg | (~jle`@2603:8001:3b02:84d4:a690:69a1:4e16:510b) (Quit: WeeChat 4.2.2) |
2024-09-09 07:39:36 +0200 | jle` | (~jle`@2603:8001:3b02:84d4:1e01:15c4:e899:3d70) |
2024-09-09 07:41:22 +0200 | arahael | (~arahael@user/arahael) (Read error: Connection reset by peer) |
2024-09-09 07:41:54 +0200 | jle` | (~jle`@2603:8001:3b02:84d4:1e01:15c4:e899:3d70) (Client Quit) |
2024-09-09 07:42:43 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-09-09 07:43:46 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 07:44:23 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 07:44:44 +0200 | jle` | (~jle`@2603:8001:3b02:84d4:1413:617c:6ead:3f73) |
2024-09-09 07:46:16 +0200 | euleritian | (~euleritia@dynamic-176-006-140-223.176.6.pool.telefonica.de) |
2024-09-09 07:48:11 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb21181cd9b506c11910.dip0.t-ipconnect.de) |
2024-09-09 07:48:57 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds) |
2024-09-09 07:49:20 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-09-09 07:53:03 +0200 | CiaoSen | (~Jura@2a05:5800:2b2:3500:ca4b:d6ff:fec1:99da) |
2024-09-09 08:00:10 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 08:01:00 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 08:05:31 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-09-09 08:07:33 +0200 | xff0x | (~xff0x@om126166210134.28.openmobile.ne.jp) (Read error: Connection reset by peer) |
2024-09-09 08:08:21 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
2024-09-09 08:11:16 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 08:12:58 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-09-09 08:16:06 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-09 08:20:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-09-09 08:23:00 +0200 | Square2 | (~Square4@user/square) |
2024-09-09 08:26:00 +0200 | Squared | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-09-09 08:27:05 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 08:34:24 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-09 08:36:04 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 08:36:33 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 08:40:17 +0200 | TMA | (tma@twin.jikos.cz) (Ping timeout: 248 seconds) |
2024-09-09 08:41:19 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-09-09 08:42:00 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-09-09 08:42:01 +0200 | TMA | (tma@twin.jikos.cz) |
2024-09-09 08:42:21 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-09-09 08:44:58 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds) |
2024-09-09 08:51:53 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 08:54:43 +0200 | ft | (~ft@p4fc2a393.dip0.t-ipconnect.de) (Quit: leaving) |
2024-09-09 08:54:49 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) |
2024-09-09 08:56:47 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-09 08:58:52 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 09:02:09 +0200 | CiaoSen | (~Jura@2a05:5800:2b2:3500:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds) |
2024-09-09 09:04:07 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
2024-09-09 09:04:39 +0200 | euleritian | (~euleritia@dynamic-176-006-140-223.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-09-09 09:04:57 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-09-09 09:07:40 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) |
2024-09-09 09:08:20 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2024-09-09 09:17:20 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-09 09:18:26 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-09 09:18:56 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-09-09 09:23:09 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2024-09-09 09:25:18 +0200 | EarlPitts | (~EarlPitts@20014C4C1C6E6700A4006D5FAF3CEF25.catv.pool.telekom.hu) |
2024-09-09 09:26:04 +0200 | talismanick | (~user@2601:644:937c:ed10:536b:7670:fffc:851a) (Ping timeout: 260 seconds) |