2022-10-13 00:01:25 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 00:02:16 +0200 | <johnw> | AndreasK: I wonder why it's ignore the env var then... |
2022-10-13 00:03:05 +0200 | king_gs | (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
2022-10-13 00:04:53 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-13 00:05:09 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-10-13 00:05:40 +0200 | king_gs | (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Client Quit) |
2022-10-13 00:05:56 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-13 00:09:05 +0200 | tempuser_ | (~archie@2804:214:8617:700:4d1d:352d:668a:1b70) (Quit: Leaving) |
2022-10-13 00:12:13 +0200 | talismanick | (~talismani@c-73-41-86-39.hsd1.ca.comcast.net) |
2022-10-13 00:13:45 +0200 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) |
2022-10-13 00:15:01 +0200 | <dminuoso> | johnw: Its as per documentation at least |
2022-10-13 00:15:07 +0200 | <dminuoso> | https://cabal.readthedocs.io/en/3.4/installing-packages.html#environment-variables |
2022-10-13 00:16:13 +0200 | <dminuoso> | johnw: With v2 build, you can use the --builddir flag (or control via cabal.project): https://cabal.readthedocs.io/en/3.6/cabal-project.html#cmdoption-builddir |
2022-10-13 00:16:36 +0200 | <dminuoso> | Oh, cannot be specified via cabal.project apparently. Interesting |
2022-10-13 00:17:07 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-10-13 00:21:16 +0200 | <talismanick> | So, I'm trying to use Polysemy with the Template Haskell shortcut syntax (`makeSem`) to generate boilerplate for me |
2022-10-13 00:21:51 +0200 | <talismanick> | but no matter what GADT I pass to it (including examples from docs and tutorials), it errors out with "Parse error: module header, import declaration" |
2022-10-13 00:23:14 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-10-13 00:24:01 +0200 | <ski> | dminuoso : fwiw, with an explicit signature like that (specifying being polymorphic in `o'), you'll guard against inadvertent nqCPS |
2022-10-13 00:24:14 +0200 | <talismanick> | building with GHC 9.2.4, polysemy v1.7.1.0 (latest) |
2022-10-13 00:24:42 +0200 | <ski> | (unless nqCPS is what you're after, of course .. then you can't really do that .. unless if you parameterize on all the operations you intende to do nqCPS with) |
2022-10-13 00:25:00 +0200 | <dminuoso> | What is nqCPS? |
2022-10-13 00:25:25 +0200 | <talismanick> | non <something> continuation passing style? |
2022-10-13 00:25:37 +0200 | <ski> | [Leary] : nice :) |
2022-10-13 00:25:47 +0200 | <ski> | not-quite CPS |
2022-10-13 00:25:48 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 00:25:55 +0200 | <ski> | when not all your calls are tail calls |
2022-10-13 00:26:09 +0200 | <ski> | sometimes you'll "do something extra" to the "final answer computed by a call" |
2022-10-13 00:26:23 +0200 | AlexZenon_2 | (~alzenon@178.34.161.92) |
2022-10-13 00:26:31 +0200 | <dminuoso> | Yeah, Im doing a lot of nqCPS already |
2022-10-13 00:26:47 +0200 | <ski> | `Codensity f a = forall o. (a -> f o) -> f o' is a principled way to do this, you can only mess with the `f' part of the result, not the `o' part |
2022-10-13 00:27:12 +0200 | <dminuoso> | Mmm interesting |
2022-10-13 00:27:16 +0200 | <ski> | nqCPS is what delimited continuations are all about |
2022-10-13 00:27:42 +0200 | <dminuoso> | Im looking at a paper Continuation-Based Partial Evaluation right now, that seems to touch that subject |
2022-10-13 00:28:05 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) |
2022-10-13 00:28:06 +0200 | AlexZenon | (~alzenon@178.34.161.92) (Ping timeout: 260 seconds) |
2022-10-13 00:28:13 +0200 | <ski> | ah, that's a fun topic :) |
2022-10-13 00:28:29 +0200 | <ski> | found the papers by Olivier Danvy and Caroline Malmkjer, yet ? |
2022-10-13 00:28:46 +0200 | <dminuoso> | I've never really understood what delimited continuations were about, I guess its time now |
2022-10-13 00:28:47 +0200 | <ski> | (those were how i was introduced to partial evaluation) |
2022-10-13 00:30:36 +0200 | mikoto-chan | (~mikoto-ch@193.185.223.3) (Ping timeout: 268 seconds) |
2022-10-13 00:31:55 +0200 | <ski> | iirc, one of the MetaML examples involved staging a regex (or similar) pattern-matcher, so it offline computed an matcher, before in the later stage being fed inputs to match on (cf. "run-time compilation") |
2022-10-13 00:32:30 +0200 | <ski> | anyway, that example was written in explicit CPS (for success and failure to match) .. except when it was staged, it became nqCPS ! |
2022-10-13 00:32:40 +0200 | libertyprime | (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) |
2022-10-13 00:32:40 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 00:33:04 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2022-10-13 00:33:19 +0200 | <ski> | now, MetaML also has `shift' & `reset', so i translated the example back to direct style, inserting a few judicious calls to those two control operations |
2022-10-13 00:34:19 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-10-13 00:35:46 +0200 | libertyprime | (~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Remote host closed the connection) |
2022-10-13 00:36:41 +0200 | <dminuoso> | ski: https://gist.github.com/dminuoso/3b1e7a2f5eab7055e7438f8dd5da7f1f |
2022-10-13 00:36:48 +0200 | <dminuoso> | So this is the code as it is right now |
2022-10-13 00:37:23 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-13 00:37:36 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 264 seconds) |
2022-10-13 00:39:19 +0200 | AlexZenon_2 | AlexZenon |
2022-10-13 00:39:39 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 00:40:30 +0200 | <AlexNoo> | 1778 |
2022-10-13 00:41:00 +0200 | <shapr> | good year, that |
2022-10-13 00:41:08 +0200 | <shapr> | hi AlexNoo, how's code? |
2022-10-13 00:42:23 +0200 | <ystael> | Is there a way to make stack _not_ destroy .stack-work/dist when it dies with a build failure? |
2022-10-13 00:42:42 +0200 | <AlexNoo> | hi AlexNoo, how's code? |
2022-10-13 00:42:46 +0200 | <ystael> | I want to examine the battered corpse |
2022-10-13 00:42:52 +0200 | <AlexNoo> | got it wrong |
2022-10-13 00:43:46 +0200 | <ski> | dminuoso : oh, you're still doing an accumulator |
2022-10-13 00:43:47 +0200 | <shapr> | gutetag AlexNoo, wie gehts? |
2022-10-13 00:43:59 +0200 | <shapr> | bah, I'm starting German lessons in two weeks :-| |
2022-10-13 00:44:45 +0200 | <ski> | (also, i was thinking of doing the CPS internally, but not on the outer interface. but i guess you could have it there .. or maybe you could do some `build'-like fusion) |
2022-10-13 00:45:27 +0200 | <dminuoso> | ski: Yeah its a bit of impedence mismatching. :( |
2022-10-13 00:45:30 +0200 | <AlexNoo> | auf keine Weise |
2022-10-13 00:46:09 +0200 | <dminuoso> | Not much of a choice, since Im not just comparing two lists. Im sort of merging two lists on an element-by-element basis, erroring out of any side has extras |
2022-10-13 00:46:13 +0200 | <ski> | doing it without accumulator, in the CPS, should be easy |
2022-10-13 00:46:25 +0200 | c209e6dc-4d76-47 | (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) |
2022-10-13 00:46:31 +0200 | <ski> | well, you do need to pass `just' as argument |
2022-10-13 00:46:39 +0200 | <ski> | (effectively that becomes your accumulator, instead) |
2022-10-13 00:47:18 +0200 | <ski> | (you could think of `just' as becoming a difference list, if you want to) |
2022-10-13 00:47:54 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-10-13 00:48:03 +0200 | <dminuoso> | Yeah the perspective has crossed my mind. In a difference place, Im using continuations to construct a nested type, as to avoid stack space for things like `(foo :>) <$> buildInner` |
2022-10-13 00:48:08 +0200 | ski | twitches at the redundant bracket pair |
2022-10-13 00:48:33 +0200 | <ski> | with `buildInner' being of type `Maybe Whatever' ? |
2022-10-13 00:48:56 +0200 | <dminuoso> | Something along these lines originally |
2022-10-13 00:49:26 +0200 | <ski> | yea, so you want to avoid percolating up your `Nothing' exception, step-by-step, instead directly jumping to the handler |
2022-10-13 00:49:28 +0200 | <dminuoso> | Now its just `decodeAttr__ attrLen subtree (c . (asNam next :>))` |
2022-10-13 00:49:37 +0200 | <dminuoso> | Indeed |
2022-10-13 00:49:47 +0200 | <ski> | which is what the CPS does, since it allows the `nothing' to be a semi-tail call |
2022-10-13 00:50:11 +0200 | <ski> | this is what the Shivers' paper i mentioned the other day is all about, except that's about doing it in direct style, rather than explicit CPS |
2022-10-13 00:50:14 +0200 | <dminuoso> | I think Ill get some rest, I cant focus to imagine how to put your suggestion in place. |
2022-10-13 00:50:59 +0200 | <dminuoso> | What I like about the continuation construction by the way, is that I can just suspend it. |
2022-10-13 00:51:18 +0200 | <ski> | yea, you can easily do coroutiney stuff with it |
2022-10-13 00:51:28 +0200 | <shapr> | AlexNoo: Are you writing cool Haskell code? |
2022-10-13 00:51:30 +0200 | <ski> | there's a Claessen paper, "A Poor Man's Concurrency Monad" |
2022-10-13 00:51:57 +0200 | <dminuoso> | Which is really helpful. Im decoding a sort of encoded algebra of types, and there's this notion of "split attributes", where attributes are encoded across other attributes, so at some point I must suspend the layers I have constructed so far, build the outer attributes, splice together, and then resume. |
2022-10-13 00:52:10 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-10-13 00:52:28 +0200 | <ski> | i also used a similar idea, when i implemented `zipWith'/`zip' using two `foldr' calls on the lists, no other recursion or matching/deconstruction (explicit or indirect) of the lists |
2022-10-13 00:52:32 +0200 | <dminuoso> | What is really amazing how simple it: | DecodedNeedsSpliceAll (IntTree ASpec) BS.ByteString (Attr -> Attr) |
2022-10-13 00:53:03 +0200 | <ski> | yea, that does sound like a coroutiney situation |
2022-10-13 00:53:07 +0200 | <dminuoso> | Yup |
2022-10-13 00:53:40 +0200 | <AlexNoo> | shapr: I do not know this language. * gloomy* |
2022-10-13 00:53:49 +0200 | <Axman6> | o/ |
2022-10-13 00:54:04 +0200 | <ski> | (i'm reminded the declarative debugger for Mercury allowed a similar thing, to defer one question about whether an intermediate function call result was intended, to possibly try looking for other questions, before looping back to the original one) |
2022-10-13 00:54:05 +0200 | <shapr> | AlexNoo: want to learn? I can suggest some starter things if you want? |
2022-10-13 00:54:37 +0200 | <dminuoso> | At any rate, I really have to get some sleep. o/ |
2022-10-13 00:54:46 +0200 | <dminuoso> | Thanks for your insights, ski |
2022-10-13 00:54:56 +0200 | <ski> | yw :) |
2022-10-13 00:55:00 +0200 | <ski> | good night and pleasant dreams |
2022-10-13 00:55:01 +0200 | c209e6dc-4d76-47 | (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!) |
2022-10-13 00:55:22 +0200 | <Axman6> | AlexNoo: There was a time when none of us knew this language |
2022-10-13 00:55:49 +0200 | acidjnk | (~acidjnk@p200300d6e7137a811112d37158fd9527.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-10-13 00:55:55 +0200 | <Axman6> | (that time was 1990) |
2022-10-13 00:56:27 +0200 | FlaminWalrus | (~user@wsip-24-248-9-71.br.br.cox.net) (Remote host closed the connection) |
2022-10-13 00:56:35 +0200 | Kaiepi | (~Kaiepi@142.68.249.28) (Remote host closed the connection) |
2022-10-13 00:56:53 +0200 | <AlexNoo> | shapr: no. I would like to learn C, then C++, and only then... be interested in other languages. and I don't know English either. :-( |
2022-10-13 00:58:32 +0200 | <AlexNoo> | 1775 |
2022-10-13 00:59:04 +0200 | <Axman6> | are we counting down to something? |
2022-10-13 00:59:09 +0200 | <AlexNoo> | well, again, I drove the rating into the wrong tab. |
2022-10-13 00:59:19 +0200 | Kaiepi | (~Kaiepi@142.68.249.28) |
2022-10-13 00:59:35 +0200 | Kaiepi | (~Kaiepi@142.68.249.28) (Remote host closed the connection) |
2022-10-13 00:59:37 +0200 | <ski> | do you know any other languages ? |
2022-10-13 00:59:44 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-10-13 00:59:59 +0200 | Kaiepi | (~Kaiepi@142.68.249.28) |
2022-10-13 01:00:11 +0200 | <AlexNoo> | native only. |
2022-10-13 01:00:31 +0200 | <Axman6> | native as in German or native as in assembly? |
2022-10-13 01:00:53 +0200 | pavonia_ | (~user@user/siracusa) |
2022-10-13 01:01:28 +0200 | <AlexNoo> | native, as in Russia, or the Soviet Union. |
2022-10-13 01:02:03 +0200 | <AlexNoo> | and in German I only know "hands up". |
2022-10-13 01:02:04 +0200 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
2022-10-13 01:02:11 +0200 | pavonia_ | pavonia |
2022-10-13 01:04:00 +0200 | <talismanick> | nvm, I forgot to enable TemplateHaskell |
2022-10-13 01:04:03 +0200 | td_ | (~td@94.134.91.145) (Ping timeout: 268 seconds) |
2022-10-13 01:05:23 +0200 | td_ | (~td@83.135.9.60) |
2022-10-13 01:05:33 +0200 | <ski> | AlexNoo : ah, sorry. i meant any other proramming languages ? |
2022-10-13 01:06:25 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 01:06:37 +0200 | <talismanick> | AlexNoo: zachem schitaesh? |
2022-10-13 01:06:59 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-13 01:08:14 +0200 | <AlexNoo> | only Python, partially. not completely. |
2022-10-13 01:08:59 +0200 | <ski> | добрый вечер/ночь |
2022-10-13 01:09:40 +0200 | <AlexNoo> | добрый. |
2022-10-13 01:10:03 +0200 | <dolio> | David Turner knew Haskell in 1990. |
2022-10-13 01:10:39 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds) |
2022-10-13 01:12:24 +0200 | <AlexNoo> | But I'm already sleeping. good night. |
2022-10-13 01:12:33 +0200 | zmt00 | (~zmt00@user/zmt00) |
2022-10-13 01:12:39 +0200 | ski | waves |
2022-10-13 01:12:49 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 01:13:05 +0200 | <ski> | shapr : möchtest Du mit deutsche Leute arbeiteteteten ? |
2022-10-13 01:15:30 +0200 | <yushyin> | i'm not sure if this is inflected properly |
2022-10-13 01:16:54 +0200 | <EvanR> | :t splitAt |
2022-10-13 01:16:54 +0200 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2022-10-13 01:16:55 +0200 | <lambdabot> | Int -> [a] -> ([a], [a]) |
2022-10-13 01:17:13 +0200 | EvanR | (~EvanR@user/evanr) |
2022-10-13 01:17:15 +0200 | <EvanR> | :t splitAt |
2022-10-13 01:17:16 +0200 | <lambdabot> | Int -> [a] -> ([a], [a]) |
2022-10-13 01:17:23 +0200 | <EvanR> | @src splitAt |
2022-10-13 01:17:23 +0200 | <lambdabot> | splitAt n xs = (take n xs, drop n xs) |
2022-10-13 01:17:41 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-13 01:18:12 +0200 | <EvanR> | :t space |
2022-10-13 01:18:12 +0200 | <lambdabot> | Doc |
2022-10-13 01:18:14 +0200 | <EvanR> | :t span |
2022-10-13 01:18:16 +0200 | <lambdabot> | (a -> Bool) -> [a] -> ([a], [a]) |
2022-10-13 01:18:19 +0200 | <EvanR> | @src span |
2022-10-13 01:18:19 +0200 | <lambdabot> | span _ xs@[] = (xs, xs) |
2022-10-13 01:18:19 +0200 | <lambdabot> | span p xs@(x:xs') | p x = let (ys,zs) = span p xs' in (x:ys,zs) |
2022-10-13 01:18:19 +0200 | <lambdabot> | | otherwise = ([],xs) |
2022-10-13 01:18:28 +0200 | <EvanR> | I was thinking of break / span not splitAt |
2022-10-13 01:22:42 +0200 | <shapr> | ski: jag lära mig tysk för jobbet, ja |
2022-10-13 01:22:52 +0200 | <EvanR> | hopefully the same magic applies to splitAt though |
2022-10-13 01:23:01 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-13 01:23:53 +0200 | ski | studsar upp och ner på stolen |
2022-10-13 01:24:13 +0200 | <ski> | EvanR : magic as in `RULE's ? |
2022-10-13 01:24:58 +0200 | <shapr> | ski: hah, I'm excited about learning German for a Haskell job, yes! |
2022-10-13 01:25:40 +0200 | <EvanR> | not rules, something about stg |
2022-10-13 01:26:44 +0200 | <ski> | hm, 'd be curious to learn what it was about / how it works |
2022-10-13 01:26:44 +0200 | <Axman6> | shapr: congrats - can you say where the job is? |
2022-10-13 01:26:58 +0200 | noctux | (~noctux@user/noctux) (Ping timeout: 240 seconds) |
2022-10-13 01:27:04 +0200 | <shapr> | Axman6: yeah, I'm working for Least Authority on the PrivateStorage team |
2022-10-13 01:28:16 +0200 | noctux | (~noctux@user/noctux) |
2022-10-13 01:28:34 +0200 | <Axman6> | "formerly S4" I feel like they could have also called it PS3 =) |
2022-10-13 01:29:04 +0200 | <shapr> | :-) |
2022-10-13 01:29:23 +0200 | <shapr> | it's Python, Haskell, and Nix |
2022-10-13 01:30:42 +0200 | <Axman6> | looks like a cool product, and one I've wanted for a while |
2022-10-13 01:31:16 +0200 | <EvanR> | the problem setup is: you want to lazily process the first part of a list one way, then after the split or break, process it another way. So you probably just do break or splitAt to get two "new" lists, and just use them as input to a lazy algorithm. Eventually when something starts consuming the first part, it's not obvious that it can be dropped soon, because there was that 2nd component based on the whole list, "not needed yet" |
2022-10-13 01:32:16 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-13 01:32:58 +0200 | <EvanR> | but apparently it can be collected soon, i.e. the dropping is evaluating along with the taking, sometimes, for some reason |
2022-10-13 01:33:10 +0200 | <EvanR> | "update frames" |
2022-10-13 01:33:16 +0200 | <Axman6> | shapr: HMMMMMMM, I tick a lot of the boxes for "Helpful skills and attributes for this role include" on https://leastauthority.com/blog/jobs/senior-software-developer-privatestorage/ |
2022-10-13 01:34:10 +0200 | <shapr> | Axman6: you could apply |
2022-10-13 01:34:27 +0200 | <shapr> | I just started, I like it so far. |
2022-10-13 01:37:52 +0200 | spacenautx | (~spacenaut@user/spacenautx) (Quit: WeeChat 3.0) |
2022-10-13 01:40:52 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-10-13 01:42:33 +0200 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 252 seconds) |
2022-10-13 01:43:56 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 260 seconds) |
2022-10-13 01:44:37 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 01:44:55 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-10-13 01:47:50 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Remote host closed the connection) |
2022-10-13 01:49:32 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-13 01:49:38 +0200 | <talismanick> | Does "runtime strictness analysis" make sense terminologically, by analogy with a JIT versus a compiler? |
2022-10-13 01:50:12 +0200 | <talismanick> | Is there a way to annotate data types with "potentially make strict at runtime", like a weaker bang pattern? |
2022-10-13 01:51:08 +0200 | <talismanick> | Like, opportunistically make strict if a) no results change and b) guaranteed performance increase |
2022-10-13 01:51:36 +0200 | <EvanR> | if a JIT runs your code slow for a while before deciding to compile it and replace it for future calls, is it actually "just in time" or "somewhat late" |
2022-10-13 01:52:01 +0200 | <EvanR> | because if you do that with strictness your code starts acting differently |
2022-10-13 01:52:57 +0200 | <talismanick> | EvanR: well, don't space leaks usually come from intermediate data structures? |
2022-10-13 01:53:17 +0200 | <L29Ah> | talismanick: the compiler is too dumb to predict if the results would change, and that in fact sounds like the halting problem |
2022-10-13 01:53:29 +0200 | Sciencentistguy7 | (~sciencent@hacksoc/ordinary-member) |
2022-10-13 01:53:39 +0200 | <EvanR> | yeah in some cases adding strictness can make it use less intermediate data. In other cases it makes the code fail to terminate when it otherwise would |
2022-10-13 01:53:44 +0200 | <L29Ah> | performance increase depends a lot on if/when exactly the data would be demanded |
2022-10-13 01:54:21 +0200 | L29Ah | just uses -XStrict and adds ~'s when needed |
2022-10-13 01:54:30 +0200 | <davean> | "don't space leaks usually come from intermediate data structures?" No! |
2022-10-13 01:54:35 +0200 | <talismanick> | L29Ah: that's why I asked if it could be done at runtime |
2022-10-13 01:54:43 +0200 | <talismanick> | davean: oh? |
2022-10-13 01:54:47 +0200 | <EvanR> | yeah I dunno about usually, but that's sometimes a thing |
2022-10-13 01:55:24 +0200 | <EvanR> | strict fields for an Int that is computed from a large thunk |
2022-10-13 01:55:42 +0200 | <EvanR> | (that would definitely terminate) |
2022-10-13 01:55:44 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 268 seconds) |
2022-10-13 01:55:44 +0200 | Sciencentistguy7 | Sciencentistguy |
2022-10-13 01:55:57 +0200 | <davean> | Space leaks come from something being depended on. The only way an intermediate datastructure causes one is exactly the same way as a pair where you only need one of the two values leaks the unneeded one's space |
2022-10-13 01:56:17 +0200 | loras | (~loras@c-73-139-125-125.hsd1.fl.comcast.net) |
2022-10-13 01:56:26 +0200 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7) |
2022-10-13 01:56:31 +0200 | <L29Ah> | my last space leak was due to the pinned memory fragmentation that could have been fixed either by a smarter allocator or an ability to temporarily pin any chunk of memory in order to push it down the syscall |
2022-10-13 01:56:46 +0200 | <davean> | All your space leaks come from exactly the same place (unless you look at forgien data stuff) |
2022-10-13 01:57:35 +0200 | <EvanR> | so what you're saying is, the space leak is not caused by intermediate data. But by intermediate data outstaying its welcome |
2022-10-13 01:57:59 +0200 | <EvanR> | because if you evaluated the results earlier the intermediate data still exists but is not a problem |
2022-10-13 01:58:36 +0200 | <davean> | non-strictness is control flow |
2022-10-13 02:01:11 +0200 | <EvanR> | now I'm going to think about "somewhat late compilation" |
2022-10-13 02:01:47 +0200 | <EvanR> | better late than never might sound less snarky |
2022-10-13 02:07:35 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-10-13 02:09:16 +0200 | talismanick | (~talismani@c-73-41-86-39.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
2022-10-13 02:09:32 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-10-13 02:14:03 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 02:18:33 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-13 02:19:00 +0200 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) |
2022-10-13 02:21:20 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 02:23:28 +0200 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-13 02:26:12 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 264 seconds) |
2022-10-13 02:27:52 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-10-13 02:28:46 +0200 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
2022-10-13 02:29:54 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-10-13 02:32:18 +0200 | chymera | (~chymera@ns1000526.ip-51-81-46.us) |
2022-10-13 02:35:25 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 02:36:20 +0200 | DDR | (~DDR@2604:3d08:4c7f:8250:6d8e:9999:5eac:c5e) |
2022-10-13 02:36:21 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-10-13 02:39:56 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-13 02:40:17 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-10-13 02:40:18 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-10-13 02:41:00 +0200 | Guest51 | (~Guest51@205.175.106.233) |
2022-10-13 02:41:07 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-13 02:41:35 +0200 | <chymera> | hi guys, any idea how I can encode a url so that conduit can get stuff from it? http://dpaste.com/HYHY3FRV9 |
2022-10-13 02:41:48 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-10-13 02:45:42 +0200 | <Clint> | chymera: what do you mean, "get stuff from it" |
2022-10-13 02:46:02 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 02:46:28 +0200 | <chymera> | get the text which the URL returns |
2022-10-13 02:46:34 +0200 | <chymera> | Clint: ^ |
2022-10-13 02:48:18 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 02:49:08 +0200 | <Clint> | chymera: so you want to do a GET request of https://wttr.in/?m&format=%t and get the response back as a lazy bytestring? |
2022-10-13 02:49:24 +0200 | <chymera> | Clint: yes :) |
2022-10-13 02:49:57 +0200 | <Clint> | so what happened with the code you commented out? |
2022-10-13 02:50:08 +0200 | Guest51 | (~Guest51@205.175.106.233) (Quit: Client closed) |
2022-10-13 02:50:35 +0200 | <jackdk> | Oh, I thought we were streaming the URL itself ;-). Try `http-conduit` package, which gives you the response body as a conduit directly. `withResponse` seems like a good place to start. https://www.irccloud.com/pastebin/BsSUZulL/Foo.hs |
2022-10-13 02:51:52 +0200 | <chymera> | Clint: it doesn't like the method for some reason :( https://dpaste.com/7YLXQFHNF |
2022-10-13 02:52:21 +0200 | <Clint> | type mismatch |
2022-10-13 02:52:37 +0200 | <Clint> | the example code you're copying from probably uses OverloadedStrings |
2022-10-13 02:52:59 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Ping timeout: 268 seconds) |
2022-10-13 02:54:03 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2022-10-13 02:54:43 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-10-13 02:54:59 +0200 | <chymera> | jackdk: right, but I don't just want to return the url string, I want to access the url and get the content of the page |
2022-10-13 02:55:10 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 02:55:39 +0200 | <jackdk> | chymera: Yeah, the actually serious part of my response is the second half. Have a look at the `http-conduit` library |
2022-10-13 02:55:42 +0200 | <chymera> | Clint: so it wants a normal string, and for some reason `"GET"` in my code counts as a different variant of the string type which it doesn't like? |
2022-10-13 02:55:53 +0200 | <jackdk> | chymera: `{-# LANGUAGE OverloadedStrings #-}` |
2022-10-13 02:56:01 +0200 | <jackdk> | at the top of the file |
2022-10-13 02:56:40 +0200 | <chymera> | jackdk: I thought that's the package I was using when I was importing conduit |
2022-10-13 02:57:18 +0200 | <jackdk> | oh you are indeed. Yeah there are other functions in that Data.HTTP.Conduit module which give you the response body as an actual conduit |
2022-10-13 02:57:20 +0200 | <chymera> | oh, cool, thanks |
2022-10-13 02:57:32 +0200 | <chymera> | after adding `{-# LANGUAGE OverloadedStrings #-}` to the top of the file the error goes away |
2022-10-13 02:58:33 +0200 | <jackdk> | (I'm on a work call, so replies will be spotty from here on out) |
2022-10-13 02:59:03 +0200 | _xor | yawns and stretches |
2022-10-13 02:59:07 +0200 | <_xor> | All right, back to the grind. |
2022-10-13 02:59:09 +0200 | <chymera> | I now get the error I was initially encountering. This code http://dpaste.com/3H3WHZR5T gives me http://dpaste.com/BTJSEB6KL |
2022-10-13 02:59:37 +0200 | <chymera> | is there any way to auto-convert the link to the correct encoding? |
2022-10-13 02:59:46 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-13 03:00:03 +0200 | <_xor> | So what should I look into for vendoring dependencies for offline installation again? Someone mentioned 7.2 of the cabal docs. Looked at it earlier and I'm starting to get a better idea, but not fully clear. |
2022-10-13 03:01:23 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds) |
2022-10-13 03:02:23 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 03:02:44 +0200 | <Axman6> | chymera: does "https://wttr.in/?m" work? |
2022-10-13 03:04:17 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-13 03:04:17 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-13 03:04:17 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-13 03:05:38 +0200 | <Axman6> | chymera: and what about "https://wttr.in/?m&format=%25t"? |
2022-10-13 03:06:10 +0200 | ddellacosta | (~ddellacos@143.244.47.69) |
2022-10-13 03:07:00 +0200 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
2022-10-13 03:15:59 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 03:19:04 +0200 | <Axman6> | anyone else ever wanted more succinct syntax for the `foo x y >>= \case ...` idiom? |
2022-10-13 03:19:48 +0200 | <Axman6> | I feel like I want something like `mcase foo x y of ...` but I also kinda hate that |
2022-10-13 03:21:49 +0200 | <L29Ah> | do you want an APL-like syntax for Haskell? |
2022-10-13 03:21:50 +0200 | <geekosaur> | funny, \case started out as that more succinct syntax |
2022-10-13 03:22:13 +0200 | dsrt^ | (~dsrt@c-76-17-6-165.hsd1.ga.comcast.net) |
2022-10-13 03:22:26 +0200 | <EvanR> | that form is nice, except that I use it once in a while and so I also have to scroll to the top of the file and put a language pragma |
2022-10-13 03:22:40 +0200 | <EvanR> | low thrust to weight ratio |
2022-10-13 03:26:04 +0200 | <EvanR> | imagine if C required you to put a pragma if you want to use break to break out of a loop, or you can use a goto + label to get the same effect |
2022-10-13 03:26:51 +0200 | <EvanR> | without a pragma |
2022-10-13 03:26:54 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
2022-10-13 03:27:25 +0200 | frost | (~frost@user/frost) |
2022-10-13 03:27:33 +0200 | <Clint> | i'd put the pragma |
2022-10-13 03:27:53 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
2022-10-13 03:29:59 +0200 | <L29Ah> | `#pragma bracket` plz |
2022-10-13 03:30:37 +0200 | pragma- | (~chaos@user/pragmatic-chaos) (Bye!) |
2022-10-13 03:32:16 +0200 | <EvanR> | editor macro to just put all the pragmas and includes you'll ever need... I guess I should have already done that |
2022-10-13 03:33:08 +0200 | xff0x | (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 268 seconds) |
2022-10-13 03:33:08 +0200 | <Axman6> | well, pragma just left |
2022-10-13 03:33:41 +0200 | <EvanR> | *pragma's not here* |
2022-10-13 03:35:09 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-10-13 03:36:07 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-13 03:37:01 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 03:38:26 +0200 | <chymera> | Axman6: indeed, with those links I no longer get the error — but is there any way to get the percentage encoding done automatically? |
2022-10-13 03:39:11 +0200 | frost20 | (~frost@user/frost) |
2022-10-13 03:39:14 +0200 | <chymera> | also, the string I get and then print, actually doesn't contain what the page for that link would show 🤔 http://dpaste.com/GEWNW89CL |
2022-10-13 03:39:46 +0200 | <chymera> | any idea how I can actually “get” the string that appears in the page? i.e. what you would see in the browser or get with wget? |
2022-10-13 03:40:09 +0200 | talismanick | (~talismani@2601:200:c100:c9e0::1b0b) |
2022-10-13 03:41:46 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-13 03:42:53 +0200 | frost | (~frost@user/frost) (Ping timeout: 244 seconds) |
2022-10-13 03:43:06 +0200 | <Axman6> | that looks like logging to me |
2022-10-13 03:43:35 +0200 | <Axman6> | you're not actually fetching the data in https://dpaste.com/3H3WHZR5T |
2022-10-13 03:43:59 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
2022-10-13 03:45:28 +0200 | <Axman6> | chymera: can you give some more clarity on what you actually want? your code is full of comments of several different ways to do things - I would lbs <- simpleHttp "https://wttr.in/?m&format=%t" to work, if you fix the encoding issues |
2022-10-13 03:45:28 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-10-13 03:45:29 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-13 03:45:44 +0200 | <Axman6> | do you want a Conduit? or do you want a Bytestring? |
2022-10-13 03:47:04 +0200 | <chymera> | I want a string, something like "+4°C" I'm not entirely sure what a condiut is |
2022-10-13 03:48:54 +0200 | <chymera> | Axman6: and re the “encoding issues”, is there any was for that to be done automatically? i.e. converting % to %25 or whatever else might be necesary? |
2022-10-13 03:51:41 +0200 | sudden | (~cat@user/sudden) (Ping timeout: 260 seconds) |
2022-10-13 03:52:51 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-13 03:53:27 +0200 | sudden | (~cat@user/sudden) |
2022-10-13 03:54:33 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2022-10-13 03:54:39 +0200 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 268 seconds) |
2022-10-13 03:56:17 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-13 03:56:17 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-13 03:56:18 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-13 03:57:13 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 04:05:49 +0200 | thegeekinside | (~thegeekin@189.180.7.159) (Ping timeout: 268 seconds) |
2022-10-13 04:09:28 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 04:09:33 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-13 04:12:34 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
2022-10-13 04:13:32 +0200 | <ski> | EvanR : it does sound interesting. any pointers ? |
2022-10-13 04:13:46 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-10-13 04:15:04 +0200 | ddellacosta | (~ddellacos@143.244.47.69) (Ping timeout: 268 seconds) |
2022-10-13 04:15:51 +0200 | <ski> | Axman6 : "anyone else ever wanted more succinct syntax for the `foo x y >>= \case ...` idiom?","I feel like I want something like `mcase foo x y of ...` but I also kinda hate that" -- yea, i believe my lexical/reflective effects syntax idea could help there |
2022-10-13 04:16:00 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 264 seconds) |
2022-10-13 04:17:31 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-10-13 04:18:02 +0200 | <EvanR> | on update frames? Not really... a random duck duck go reveals the sentence "The GC will remove indirections during copying, changing code that pointed to a indirection (evaluated thunk) to the actual value closure." on https://www.scs.stanford.edu/11au-cs240h/notes/ghc.html I feel like I should ask you for links to the secrets of ghc xD |
2022-10-13 04:18:27 +0200 | <ski> | well, where did you hear/read/learn about it ? |
2022-10-13 04:18:42 +0200 | <EvanR> | in here, from monochrom and dolio xD |
2022-10-13 04:18:57 +0200 | <ski> | ah, figures ;P |
2022-10-13 04:19:29 +0200 | <EvanR> | one day when I was trying to understand performance of something equivalent to the implementation of span |
2022-10-13 04:19:29 +0200 | <ski> | i know the GC can rewrite `fst (foo,bar)' to `foo' |
2022-10-13 04:20:09 +0200 | <ski> | (i forgot what this is called, but apparently that's one thing it can do, to try to avoid some kinds of space leaks) |
2022-10-13 04:22:14 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
2022-10-13 04:22:17 +0200 | <ski> | (hm, looking at that sentence, i'm not sure if it's talking about the same thing i was recalling) |
2022-10-13 04:22:18 +0200 | <EvanR> | yeah and then elsewhere there is a snd (foo,bar) |
2022-10-13 04:22:23 +0200 | <Clinton[m]> | If I have:... (full message at <https://libera.ems.host/_matrix/media/r0/download/libera.chat/f57acdba2c4f0fd95e5d43b48a8ed0b96246…>) |
2022-10-13 04:22:42 +0200 | <monochrom> | GC does both. |
2022-10-13 04:22:55 +0200 | <EvanR> | (I'm jumping to that conclusion because no there's no fst or snd, it looks like a pattern match to me) |
2022-10-13 04:23:27 +0200 | <ski> | @unmtl ReaderT r (EitherT e m) a -> ReaderT r m a |
2022-10-13 04:23:27 +0200 | <lambdabot> | ReaderT r (EitherT e m) a -> ReaderT r m a |
2022-10-13 04:23:29 +0200 | <ski> | @unmtl ReaderT r (EitherT e m) a |
2022-10-13 04:23:29 +0200 | <lambdabot> | r -> EitherT e m a |
2022-10-13 04:23:34 +0200 | <ski> | @unmtl ReaderT r m a |
2022-10-13 04:23:34 +0200 | <lambdabot> | r -> m a |
2022-10-13 04:23:36 +0200 | <monochrom> | They're also pretty orthogonal, I would think. Changing "fst (x,y)" to x does not require "fst (x,y)" to be evaluated. |
2022-10-13 04:24:20 +0200 | <ski> | so, effectively, you're asking about going from `f :: C e m => EitherT e m a -> m a' to `g :: C e m => (r -> EitherT e m a) -> (r -> m a)' .. can you see how to do this latter ? |
2022-10-13 04:24:31 +0200 | <ski> | Clinton[m] ^ |
2022-10-13 04:24:36 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
2022-10-13 04:25:36 +0200 | <ski> | EvanR : might work for all pattern-matches that merely select a field, i suppose |
2022-10-13 04:25:48 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-10-13 04:25:56 +0200 | <Clinton[m]> | ski: yes :) Silly me... I should really think of it like that shouldn't I. That's just `fmap` right? |
2022-10-13 04:27:01 +0200 | <ski> | well, technically yes .. but that reduces to something simpler, in the `r -> ...' case |
2022-10-13 04:27:46 +0200 | ski | idly wonders whether to decompose the problem more |
2022-10-13 04:27:53 +0200 | <EvanR> | the mysterious part is it seems like you have in one hand foo, and in the other hand bar. And the one evaluator is working on foo, seemingly works on bar with spooky action at a distance |
2022-10-13 04:28:13 +0200 | <ski> | "works" how, or in what sense ? |
2022-10-13 04:28:29 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) |
2022-10-13 04:28:40 +0200 | td_ | (~td@83.135.9.60) (Ping timeout: 268 seconds) |
2022-10-13 04:29:18 +0200 | <EvanR> | foo being the next thing to evaluate for the overall task, bar being based on the same list but starting later, will be needed after the foo |
2022-10-13 04:29:51 +0200 | td_ | (~td@83.135.9.55) |
2022-10-13 04:30:57 +0200 | <EvanR> | since they were created in the same tuple, can they be traversed together, allowing the list to be collected asap |
2022-10-13 04:31:19 +0200 | <Clinton[m]> | ski: `g = ReaderT . fmap f . runReaderT` yes? That is pretty. |
2022-10-13 04:31:50 +0200 | <EvanR> | s/can they/they can/ |
2022-10-13 04:32:22 +0200 | raym | (~aritra@user/raym) (Ping timeout: 268 seconds) |
2022-10-13 04:32:39 +0200 | jargon | (~jargon@184.101.208.112) (Remote host closed the connection) |
2022-10-13 04:32:48 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-10-13 04:33:03 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-10-13 04:33:13 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-10-13 04:33:42 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-13 04:33:42 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-10-13 04:33:42 +0200 | finn_elija | FinnElija |
2022-10-13 04:35:31 +0200 | <Axman6> | ski: "lexical/reflective effects syntax"? |
2022-10-13 04:37:59 +0200 | raym | (~aritra@user/raym) |
2022-10-13 04:38:22 +0200 | <EvanR> | wow the asm code given for add x y = x + y + 2 on that page is... significant xD |
2022-10-13 04:38:35 +0200 | <EvanR> | where add :: Int -> Int -> Int |
2022-10-13 04:43:12 +0200 | <Axman6> | I feel like lexi-lambda's video released yesterday is a good companion to those slides |
2022-10-13 04:48:51 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-13 04:50:47 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2022-10-13 04:52:09 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2022-10-13 04:55:11 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-10-13 05:00:08 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 05:00:13 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
2022-10-13 05:00:54 +0200 | <Clinton[m]> | ski: I note I can write this helper function:... (full message at <https://libera.ems.host/_matrix/media/r0/download/libera.chat/6d251cfe1734ed0e5f870b5b0f9c6d9a87eb…>) |
2022-10-13 05:01:18 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-10-13 05:02:05 +0200 | razetime | (~quassel@117.254.35.56) |
2022-10-13 05:02:47 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-10-13 05:04:10 +0200 | <Clinton[m]> | Or something like this: |
2022-10-13 05:04:11 +0200 | <Clinton[m]> | ``` |
2022-10-13 05:04:11 +0200 | <Clinton[m]> | (m a -> n a) -> (t m a -> t n a) |
2022-10-13 05:05:31 +0200 | thegreek1 | (~Zorba@2001:df2:c900:2411:31ff:ef5:2cc0:1cdd) |
2022-10-13 05:07:06 +0200 | <jackdk> | Clinton[m]: `mmorph:Control.Monad.Morph.hoist`? |
2022-10-13 05:07:15 +0200 | jargon | (~jargon@184.101.208.112) |
2022-10-13 05:09:52 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-10-13 05:12:36 +0200 | <ski> | Axman6 : i've talked about it in here before, on several occasions. last was slightly over two weeks ago, see <https://ircbrowse.tomsmeding.com/day/lchaskell/2022/09/28>. conversation with enoq ended up with me briefly summarizing it |
2022-10-13 05:13:02 +0200 | <ski> | Axman6 : video link ? |
2022-10-13 05:14:00 +0200 | <ski> | @type mapReaderT -- Clinton[m] ? |
2022-10-13 05:14:01 +0200 | <lambdabot> | (m a -> n b) -> ReaderT r m a -> ReaderT r n b |
2022-10-13 05:15:46 +0200 | <ski> | but yea, `hoist' is sorta similar, would (also) work for Clinton[m] original question, but not for the new helper in the paste above |
2022-10-13 05:16:03 +0200 | <probie> | Is there a way to have a newtype that's somewhat like a GADT? Something like `newtype Foo a where Foo :: Int -> Foo Bar`. The best I can come up with abusing pattern synonyms over `newtype Foo a = FooInternal Int` |
2022-10-13 05:16:54 +0200 | <ski> | i've wanted that, at times .. sometimes with more than one constructor (with non-overlapping indices) |
2022-10-13 05:18:05 +0200 | <ski> | i think currently, phantoms, enhanced by pattern synonyms, are probably your best bet |
2022-10-13 05:19:13 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds) |
2022-10-13 05:19:17 +0200 | <ski> | (at one point, people did just phantoms, to try to simulate some of the effects of GADTs .. possibly together with some `unsafeCoerce's) |
2022-10-13 05:19:33 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-13 05:20:05 +0200 | thegreek1 | (~Zorba@2001:df2:c900:2411:31ff:ef5:2cc0:1cdd) (Quit: WeeChat 3.7) |
2022-10-13 05:23:30 +0200 | <ski> | (with a normal `data' GADT, you can learn the indices by matching on the data constructor. but what i was talking about is more like a variant where you're only allowed to math on a data constructor if the indices are already known to match. (cf. a pattern-matching function (perhaps recursive), returning a type, in a dependent language, as opposed to an indexed `data' family, the latter is more like GADTs). |
2022-10-13 05:23:36 +0200 | <ski> | then one could have a `newtype' variant of *that* alternative kind of data type with concrete indices, that allowed multiple alternatives, as long as there were no overlap) |
2022-10-13 05:24:58 +0200 | johnw | (~johnw@2600:1700:cf00:db0:b1b8:33de:e15a:f4eb) (Quit: ZNC - http://znc.in) |
2022-10-13 05:26:01 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-13 05:26:21 +0200 | <ski> | (sometimes i've wondered if there'sn't a similarity between GADTs / indexed families vs. these "look inside only if indices match" types, and predicates/relations in logic programming with output parameters (perhaps like bottom-up deductive database even) vs. input parameters ..) |
2022-10-13 05:26:44 +0200 | <Clinton[m]> | jackdk: hoist is what I was looking for! Thanks! |
2022-10-13 05:27:06 +0200 | <ski> | Clinton[m] : also see my suggestion |
2022-10-13 05:27:10 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
2022-10-13 05:27:51 +0200 | <ski> | there's also `mapWriterT',`mapStateT',`mapContT',`mapRWST' |
2022-10-13 05:27:59 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-13 05:27:59 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-13 05:27:59 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-13 05:28:54 +0200 | <Clinton[m]> | Ah, so `hoist` is just a typeclass that generalises `mapBlahT`? |
2022-10-13 05:29:06 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 05:29:07 +0200 | <ski> | .. sortof, but not quite ? |
2022-10-13 05:29:14 +0200 | <ski> | note that `hoist' is rank-2 |
2022-10-13 05:29:20 +0200 | <ski> | while the ones i mentioned aren't |
2022-10-13 05:29:34 +0200 | <ski> | @type mapWriterT |
2022-10-13 05:29:35 +0200 | <lambdabot> | (m (a, w) -> n (b, w')) -> WriterT w m a -> WriterT w' n b |
2022-10-13 05:29:39 +0200 | <ski> | @type mapStateT |
2022-10-13 05:29:40 +0200 | <Clinton[m]> | ski: I'm not sure I understand, but I think all I needed was `mapReaderT` or more generally, `hoist`? |
2022-10-13 05:29:41 +0200 | <lambdabot> | (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b |
2022-10-13 05:30:04 +0200 | <ski> | note that these expose "implementation details" of the insides of these monad transformers |
2022-10-13 05:30:22 +0200 | <ski> | (well, they're considered pretty public .. but you get the idea, i hope) |
2022-10-13 05:30:41 +0200 | <ski> | rank-2 can be used for information hiding, hiding which particular type you're going to pick |
2022-10-13 05:31:25 +0200 | <ski> | so, `hoist' goes `(forall x. m x -> n x) -> ..m..n..' preventing you from seeing (and taking advantage of, messing with) which insides of `m' and `n' it'll use |
2022-10-13 05:32:19 +0200 | <ski> | Clinton[m] : in your specific case, `mapReaderT' would be the less powerful hammer to use. but it's good to be aware of `hoist', if you need it |
2022-10-13 05:32:41 +0200 | <ski> | and sometimes this encapsulation of implementation details thing is specifically what you'd like |
2022-10-13 05:33:01 +0200 | <Axman6> | ski: https://www.youtube.com/watch?v=fdyh3YQ-ZWI (also ping EvanR) |
2022-10-13 05:33:07 +0200 | <ski> | ty |
2022-10-13 05:34:42 +0200 | <Clinton[m]> | ski: ah, so I think in my question I need `hoist`. I'm confusing myself here. But I'm actually using `bmap` from barbies here, so yes, hoist is doing the job. I'm mapping over a rank2 type parameter. |
2022-10-13 05:35:49 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 05:36:17 +0200 | <ski> | Clinton[m] : also note that `hoist' is `(forall x. m x -> n x) -> (forall a. t m a -> t n a)', while the pattern of these `mapBlahT's are `(m (Something par0 .. a0) -> n (Something par1 .. a1)) -> (BlahT par0 .. m a0 -> BlahT par1 .. m a1)' |
2022-10-13 05:37:07 +0200 | <ski> | Clinton[m] : so, with `mapBlahT' you can change not only `m' to `n', but also `a0' to `a1', and also (in some cases), `par0',.. to `par1',.. |
2022-10-13 05:37:48 +0200 | <ski> | Clinton[m] : while with `hoist', you can only change `m' to `n', can't change `a' (since the callback only sees an opaque `x', which it also isn't allowed to change) |
2022-10-13 05:38:31 +0200 | <ski> | (while this restriction in power of `hoist' also gives more guarantees. "can't mess around with the `x', nor with the `par',.. parts") |
2022-10-13 05:40:27 +0200 | <Clinton[m]> | ski: ah, good point. But in my case that's exactly what I want. I think I just confused myself between the rank1 and rank2 kinds. |
2022-10-13 05:40:27 +0200 | <Clinton[m]> | The current codebase I've got has things like `BlahService m`, where `m` is a Monad. So I want to transform the monad type to compose these services more easily. It's actually working nicely once I wrap my head around it. |
2022-10-13 05:40:47 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
2022-10-13 05:41:43 +0200 | <ski> | (also, the obvious that `hoist' is a general pattern, that you can opt your transformer into, while `mapBlahT's are ad hoc) |
2022-10-13 05:41:48 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 05:41:59 +0200 | raym | (~aritra@user/raym) (Ping timeout: 252 seconds) |
2022-10-13 05:46:16 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 05:46:17 +0200 | Vajb | (~Vajb@85-76-75-28-nat.elisa-mobile.fi) (Read error: Connection reset by peer) |
2022-10-13 05:47:23 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
2022-10-13 05:48:53 +0200 | raym | (~aritra@user/raym) |
2022-10-13 05:54:20 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 05:56:44 +0200 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-13 06:03:18 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-10-13 06:06:39 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection) |
2022-10-13 06:08:41 +0200 | <EvanR> | Axman6, exitification transformation |
2022-10-13 06:09:27 +0200 | <EvanR> | learned about a new transformation thanks |
2022-10-13 06:11:18 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 06:13:39 +0200 | WDAGUtilityAccou | (~WDAGUtili@185.175.89.9) |
2022-10-13 06:16:05 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-13 06:17:28 +0200 | WDAGUtilityAccou | (~WDAGUtili@185.175.89.9) (Quit: Leaving) |
2022-10-13 06:18:24 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 264 seconds) |
2022-10-13 06:22:17 +0200 | <EvanR> | some source of update frames, literally https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/rts/haskell-execution/updates |
2022-10-13 06:22:26 +0200 | <EvanR> | s/of/on/ |
2022-10-13 06:28:15 +0200 | mbuf | (~Shakthi@49.205.80.14) |
2022-10-13 06:28:58 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-10-13 06:29:47 +0200 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) |
2022-10-13 06:33:13 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 06:45:47 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-13 06:50:11 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-10-13 06:55:42 +0200 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |
2022-10-13 06:56:59 +0200 | forell | (~forell@user/forell) |
2022-10-13 06:58:01 +0200 | phma | (~phma@host-67-44-208-113.hnremote.net) (Read error: Connection reset by peer) |
2022-10-13 06:58:55 +0200 | phma | (phma@2001:5b0:211f:2d8:cb19:bdbc:6195:cb49) |
2022-10-13 06:59:45 +0200 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) (Ping timeout: 250 seconds) |
2022-10-13 07:01:19 +0200 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) |
2022-10-13 07:04:36 +0200 | raym | (~aritra@user/raym) (Ping timeout: 268 seconds) |
2022-10-13 07:13:49 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-10-13 07:19:55 +0200 | raym | (~aritra@user/raym) |
2022-10-13 07:25:47 +0200 | chomwitt | (~chomwitt@2a02:587:dc0c:c200:a0a8:ed7f:a699:91a5) |
2022-10-13 07:27:25 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-10-13 07:36:48 +0200 | dsrt^ | (~dsrt@c-76-17-6-165.hsd1.ga.comcast.net) (Remote host closed the connection) |
2022-10-13 07:47:39 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-10-13 07:48:21 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-10-13 07:50:14 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-10-13 07:51:03 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-13 07:52:09 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 07:52:39 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 08:05:33 +0200 | kenran | (~user@user/kenran) |
2022-10-13 08:08:10 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-13 08:08:48 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-13 08:11:04 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 08:12:45 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-13 08:16:00 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 264 seconds) |
2022-10-13 08:17:23 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-10-13 08:19:46 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 08:21:07 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 08:23:03 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 08:32:12 +0200 | raym | (~aritra@user/raym) (Ping timeout: 264 seconds) |
2022-10-13 08:32:51 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 260 seconds) |
2022-10-13 08:32:53 +0200 | raym | (~aritra@user/raym) |
2022-10-13 08:37:55 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-10-13 08:48:33 +0200 | thegreek | (~weechat@2001:df2:c900:2411:cd6e:df38:d95b:81df) |
2022-10-13 08:48:37 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4590:bf86:dae:5953) |
2022-10-13 08:49:01 +0200 | thegreek | greek |
2022-10-13 08:51:21 +0200 | chele | (~chele@user/chele) |
2022-10-13 08:51:35 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-13 08:52:32 +0200 | mncheck | (~mncheck@193.224.205.254) |
2022-10-13 08:52:49 +0200 | DDR | (~DDR@2604:3d08:4c7f:8250:6d8e:9999:5eac:c5e) (Ping timeout: 246 seconds) |
2022-10-13 09:01:21 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Remote host closed the connection) |
2022-10-13 09:04:38 +0200 | acidjnk | (~acidjnk@p200300d6e7137a05a9f86c9a51dbffe8.dip0.t-ipconnect.de) |
2022-10-13 09:10:11 +0200 | greek | (~weechat@2001:df2:c900:2411:cd6e:df38:d95b:81df) (Ping timeout: 260 seconds) |
2022-10-13 09:17:20 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-026.client.tudelft.eduvpn.nl) |
2022-10-13 09:20:19 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-13 09:25:07 +0200 | odnes | (~odnes@5-203-132-149.pat.nym.cosmote.net) |
2022-10-13 09:25:30 +0200 | odnes | (~odnes@5-203-132-149.pat.nym.cosmote.net) (Remote host closed the connection) |
2022-10-13 09:29:45 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-13 09:31:52 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-10-13 09:41:03 +0200 | loras | (~loras@c-73-139-125-125.hsd1.fl.comcast.net) (Read error: Connection reset by peer) |
2022-10-13 09:50:21 +0200 | yvan-sraka | (~yvan-srak@2a01:c23:648c:6900:acbf:e677:c3f9:3dda) |
2022-10-13 09:50:24 +0200 | yvan-sraka | (~yvan-srak@2a01:c23:648c:6900:acbf:e677:c3f9:3dda) (Remote host closed the connection) |
2022-10-13 09:51:51 +0200 | yvan-sraka | (~yvan-srak@2a01:c23:648c:6900:acbf:e677:c3f9:3dda) |
2022-10-13 09:53:10 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2022-10-13 09:56:26 +0200 | FragByte | (~christian@user/fragbyte) (Quit: Quit) |
2022-10-13 09:58:02 +0200 | burnsidesLlama | (~burnsides@client-8-66.eduroam.oxuni.org.uk) |
2022-10-13 09:58:28 +0200 | FragByte | (~christian@user/fragbyte) |
2022-10-13 09:59:46 +0200 | <dminuoso> | Mmm. traverse produces an infinite loop, while traverse_ does not *scratches his head* |
2022-10-13 10:00:23 +0200 | <dminuoso> | Even with `traverse (\s -> pure ()) ms` it loops |
2022-10-13 10:01:01 +0200 | <dminuoso> | Is this potentially a faulty <*> implementation? |
2022-10-13 10:01:39 +0200 | <dminuoso> | Oh wow! I just did not define it haha. |
2022-10-13 10:01:50 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 10:01:56 +0200 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
2022-10-13 10:02:12 +0200 | <dminuoso> | Time to turn missing methods into an actual error. |
2022-10-13 10:04:58 +0200 | wagle | (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-10-13 10:05:28 +0200 | wagle | (~wagle@quassel.wagle.io) |
2022-10-13 10:06:46 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Ping timeout: 260 seconds) |
2022-10-13 10:11:34 +0200 | razetime | (~quassel@117.254.35.56) (Ping timeout: 246 seconds) |
2022-10-13 10:13:39 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-10-13 10:15:33 +0200 | mastarija | (~mastarija@2a05:4f46:e03:6000:2548:1250:b361:3427) |
2022-10-13 10:16:05 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-10-13 10:19:00 +0200 | talismanick | (~talismani@2601:200:c100:c9e0::1b0b) (Ping timeout: 264 seconds) |
2022-10-13 10:19:40 +0200 | freeside | (~mengwong@202.161.55.11) |
2022-10-13 10:24:02 +0200 | yvan-sraka | (~yvan-srak@2a01:c23:648c:6900:acbf:e677:c3f9:3dda) (Remote host closed the connection) |
2022-10-13 10:27:20 +0200 | razetime | (~quassel@117.254.35.56) |
2022-10-13 10:44:32 +0200 | ft | (~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: leaving) |
2022-10-13 10:47:00 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-13 10:52:00 +0200 | michalz | (~michalz@185.246.207.200) |
2022-10-13 10:52:18 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 264 seconds) |
2022-10-13 10:55:01 +0200 | <tomsmeding> | dminuoso: wait how did a missing method turn into anythin else than an error? |
2022-10-13 10:55:11 +0200 | <tomsmeding> | (a runtime error, I mean) |
2022-10-13 10:57:11 +0200 | burnsidesLlama | (~burnsides@client-8-66.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-13 10:58:43 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-13 11:00:23 +0200 | <dminuoso> | tomsmeding: (<*>) = liftA2 id; liftA2 f x = (<*>) (fmap f x) |
2022-10-13 11:00:32 +0200 | <tomsmeding> | lol |
2022-10-13 11:00:58 +0200 | <tomsmeding> | surely violating MINIMAL yields a ghc warning |
2022-10-13 11:01:17 +0200 | <dminuoso> | Yeah, but Im doing a huge rewrite. There's warnings for unused things all over the place. |
2022-10-13 11:01:23 +0200 | <tomsmeding> | ah |
2022-10-13 11:04:30 +0200 | burnsidesLlama | (~burnsides@client-8-66.eduroam.oxuni.org.uk) |
2022-10-13 11:04:33 +0200 | teo | (~teo@user/teo) |
2022-10-13 11:11:35 +0200 | mastarija_ | (~mastarija@2a05:4f46:e03:6000:fd36:f5e5:8056:5d1a) |
2022-10-13 11:15:35 +0200 | mastarija | (~mastarija@2a05:4f46:e03:6000:2548:1250:b361:3427) (Ping timeout: 268 seconds) |
2022-10-13 11:17:40 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:4708:6245:cbff:fe9f:48b1) |
2022-10-13 11:17:58 +0200 | burnsidesLlama | (~burnsides@client-8-66.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-13 11:21:50 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-13 11:23:00 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 258 seconds) |
2022-10-13 11:23:18 +0200 | burnsidesLlama | (~burnsides@client-8-66.eduroam.oxuni.org.uk) |
2022-10-13 11:23:41 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 11:25:07 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-10-13 11:25:24 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-10-13 11:28:09 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 11:33:15 +0200 | freeside | (~mengwong@202.161.55.11) (Ping timeout: 252 seconds) |
2022-10-13 11:36:58 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-13 11:41:41 +0200 | _xor | (~xor@74.215.182.83) (Ping timeout: 252 seconds) |
2022-10-13 11:43:14 +0200 | _xor | (~xor@74.215.182.83) |
2022-10-13 11:46:00 +0200 | _xor | (~xor@74.215.182.83) (Read error: Connection reset by peer) |
2022-10-13 11:48:38 +0200 | frost20 | (~frost@user/frost) (Quit: Client closed) |
2022-10-13 11:53:32 +0200 | _xor | (~xor@74.215.182.83) |
2022-10-13 11:53:43 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) |
2022-10-13 11:55:36 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds) |
2022-10-13 11:55:57 +0200 | nschoe | (~q@141.101.51.197) |
2022-10-13 11:57:00 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-10-13 11:57:05 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-10-13 12:04:25 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds) |
2022-10-13 12:05:58 +0200 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds) |
2022-10-13 12:06:05 +0200 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2022-10-13 12:07:43 +0200 | zeenk | (~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) |
2022-10-13 12:08:42 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 12:09:41 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-10-13 12:10:57 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-13 12:12:28 +0200 | mncheck | (~mncheck@193.224.205.254) (Read error: Connection reset by peer) |
2022-10-13 12:18:08 +0200 | yuzhao | (~yuzhao@36.112.45.73) |
2022-10-13 12:21:13 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-13 12:40:40 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-13 12:41:21 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-026.client.tudelft.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-10-13 12:53:23 +0200 | burnsidesLlama | (~burnsides@client-8-66.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-13 12:58:18 +0200 | acidjnk | (~acidjnk@p200300d6e7137a05a9f86c9a51dbffe8.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2022-10-13 13:01:08 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-10-13 13:04:25 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 13:05:00 +0200 | acidjnk | (~acidjnk@p200300d6e7137a054134d491e24e739f.dip0.t-ipconnect.de) |
2022-10-13 13:05:26 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:4708:6245:cbff:fe9f:48b1) (Ping timeout: 268 seconds) |
2022-10-13 13:06:28 +0200 | kenran | (~user@user/kenran) |
2022-10-13 13:07:15 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-10-13 13:08:17 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-10-13 13:09:06 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Ping timeout: 264 seconds) |
2022-10-13 13:09:08 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-026.client.tudelft.eduvpn.nl) |
2022-10-13 13:12:56 +0200 | <mastarija_> | Why is it not possible to use partially applied type synonyms as arguments to other type synonyms / types? |
2022-10-13 13:12:56 +0200 | sagax | (~sagax_nb@user/sagax) (Remote host closed the connection) |
2022-10-13 13:14:32 +0200 | dr_merijn | (~dr_merijn@eduroam.wifi.infracom.nl) |
2022-10-13 13:15:06 +0200 | <mastarija_> | To make a typelevel map more useful? |
2022-10-13 13:18:32 +0200 | ormaaj | (~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | psydroid | (~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | Guillaum[m] | (~guiboumat@2001:470:69fc:105::1:72ac) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | ericson2314 | (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | Matthew|m | (~arathorn@2001:470:69fc:105::1f) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | fgaz | (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | mekeor[m] | (~mekeormat@2001:470:69fc:105::17e4) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | famubu[m] | (~famubumat@2001:470:69fc:105::1081) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | maralorn | (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | aviladev[m] | (~aviladevm@2001:470:69fc:105::1:cbc7) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | kadoban | (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | jean-paul[m] | (~jean-paul@2001:470:69fc:105::d1ab) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | jinsun_ | (~jinsun@user/jinsun) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:32 +0200 | vladan[m] | (~vladanmat@2001:470:69fc:105::2:24df) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | fendor[m] | (~fendormat@2001:470:69fc:105::fcbd) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | Tisoxin | (~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | ongy[m] | (~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | geekosaur[m] | (~geekosaur@xmonad/geekosaur) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | Killy | (~killy@2001:470:69fc:105::2:6ec1) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | VarikValefor[m] | (~varikvale@2001:470:69fc:105::a5d) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | nomagno | (~nomagno@2001:470:69fc:105::c1f0) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | SeanKing[m] | (~seankingm@2001:470:69fc:105::cf9c) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | smichel17[m] | (~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | FurudeRika[m] | (~chitandae@2001:470:69fc:105::1:6039) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | maerwald[m] | (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | Christoph[m] | (~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | foghorn | (~foghorn@user/foghorn) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:33 +0200 | JensPetersen[m] | (~juhp@2001:470:69fc:105::6e9) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | RowanG[m] | (~rowang077@2001:470:69fc:105::1:ca9f) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | polykernel[m] | (~polykerne@user/polykernel) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | xgpt[m] | (~xgptmatri@2001:470:69fc:105::2:619a) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | MangoIV[m] | (~mangoivma@2001:470:69fc:105::2:8417) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | aaronv | (~aaronv@user/aaronv) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | jneira[m] | (~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | chreekat | (~chreekat@2001:470:69fc:105::16b5) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | Artem[m] | (~artemtype@2001:470:69fc:105::75b) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | july541[m] | (~july541ma@2001:470:69fc:105::1:e416) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:34 +0200 | elvishjerricco | (~elvishjer@2001:470:69fc:105::6172) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:35 +0200 | jz99[m] | (~jz99matri@2001:470:69fc:105::1:d5f1) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:35 +0200 | drsooch[m] | (~drsoochma@2001:470:69fc:105::1:c8a1) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:35 +0200 | expipiplus1 | (~expipiplu@2001:470:69fc:105::d713) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:36 +0200 | Clinton[m] | (~clintonme@2001:470:69fc:105::2:31d4) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:36 +0200 | pareto-optimal-d | (~pareto-op@2001:470:69fc:105::1:b61f) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:36 +0200 | schuelermine[m] | (~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:36 +0200 | oak- | (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:36 +0200 | weeezes[m] | (~weeezesma@2001:470:69fc:105::1:da65) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:40 +0200 | sibnull[m] | (~sibnullma@2001:470:69fc:105::1:1291) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:41 +0200 | bb010g | (~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:41 +0200 | cp1313[m] | (~cp1313mat@2001:470:69fc:105::2:9293) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:41 +0200 | loosh[m] | (~looshchat@2001:470:69fc:105::2:5ddd) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:42 +0200 | nicmollel[m] | (~nicmollel@2001:470:69fc:105::1:feeb) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:42 +0200 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:42 +0200 | Neosake[m] | (~neosakema@2001:470:69fc:105::2:989e) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:42 +0200 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:42 +0200 | aidy | (~aidy@2001:470:69fc:105::c7b4) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:42 +0200 | jbggs[m] | (~jbggsmatr@2001:470:69fc:105::2:995f) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:42 +0200 | CeNiEi[m] | (~cenieimat@2001:470:69fc:105::1:894c) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:43 +0200 | disco-dave[m] | (~disco-dav@2001:470:69fc:105::2:1892) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:43 +0200 | ozkutuk[m] | (~ozkutuk@2001:470:69fc:105::2:9af8) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:43 +0200 | mimi1vx[m] | (~osukupmat@2001:470:69fc:105::2:418d) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | ManofLetters[m] | (~manoflett@2001:470:69fc:105::3be) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | olivermead[m] | (~olivermea@2001:470:69fc:105::2:4289) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | TrueBlue[m] | (~busterblu@2001:470:69fc:105::1:d7e8) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | kiri1606[m] | (~kiri1606m@2001:470:69fc:105::2:8ec9) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | sektor[m] | (~sektor@2001:470:69fc:105::2:3f60) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | lawt | (~lawtonmat@2001:470:69fc:105::2:97b8) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | SridharRatnakuma | (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | fr33domlover[m] | (~fr33domlo@2001:470:69fc:105::1:3bb6) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | rockymarine[m] | (~rockymari@2001:470:69fc:105::2:9a0c) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | Deide | (~deide@user/deide) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | jmcantrell | (~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | cafkafk[m] | (~cafkafkma@2001:470:69fc:105::1:cea8) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | duckie | (~duckie@user/duckie) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | silky[m] | (~noonvande@2001:470:69fc:105::2:943c) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | M3g-mentok[m] | (~M3g-mento@2001:470:69fc:105::2:9a49) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:45 +0200 | Orbstheorem | (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:46 +0200 | alexfmpe[m] | (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:46 +0200 | siraben | (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:46 +0200 | BB[m] | (~cashmagem@2001:470:69fc:105::f6dc) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:46 +0200 | RosarioPulella[m | (~rosariopu@2001:470:69fc:105::a57) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:46 +0200 | peddie | (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:47 +0200 | baaash[m] | (~baaashmat@2001:470:69fc:105::2:1e90) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:47 +0200 | desophos[m] | (~desophosm@2001:470:69fc:105::2:81d9) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:47 +0200 | romes[m] | (~romesmatr@2001:470:69fc:105::2:1660) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:47 +0200 | zfnmxt | (~zfnmxt@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM) |
2022-10-13 13:18:53 +0200 | <hpc> | mastarija_: you can |
2022-10-13 13:19:07 +0200 | <hpc> | % type Foo = Maybe |
2022-10-13 13:19:07 +0200 | <yahb2> | <no output> |
2022-10-13 13:19:14 +0200 | <hpc> | % type Bar f = [f Int] |
2022-10-13 13:19:14 +0200 | <yahb2> | <no output> |
2022-10-13 13:19:22 +0200 | <hpc> | % [Nothing] :: Bar Foo |
2022-10-13 13:19:22 +0200 | <yahb2> | [Nothing] |
2022-10-13 13:19:41 +0200 | <hpc> | what you can't do is partially apply "type Foo a = Maybe a" |
2022-10-13 13:20:00 +0200 | <mastarija_> | Yes, partial application is what I'm after. |
2022-10-13 13:20:19 +0200 | <dr_merijn> | mastarija_: You can't get it |
2022-10-13 13:20:21 +0200 | <hpc> | type aliases are basically just string replacement |
2022-10-13 13:20:37 +0200 | <[Leary]> | There's LiberalTypeSynonyms, but I'm not sure how far it gets you. |
2022-10-13 13:20:39 +0200 | <hpc> | if you did type Foo a = Something a B C |
2022-10-13 13:20:39 +0200 | <mastarija_> | What's this `LiberalTypeSynonyms` about then? I thought |
2022-10-13 13:20:39 +0200 | <dr_merijn> | Type level partial application is equivalent to type-level lambdas |
2022-10-13 13:20:44 +0200 | <mastarija_> | Ah... |
2022-10-13 13:20:48 +0200 | <hpc> | and then just used Foo somewhere |
2022-10-13 13:20:57 +0200 | <hpc> | how does it get reduced? |
2022-10-13 13:20:57 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-10-13 13:21:28 +0200 | <mastarija_> | Ah.. I get it. |
2022-10-13 13:21:32 +0200 | <mastarija_> | Thx |
2022-10-13 13:21:52 +0200 | <mastarija_> | Yes, type level lambda is what I'd like to have then :) |
2022-10-13 13:22:00 +0200 | <hpc> | what dr_merijn says is right too though, sort of |
2022-10-13 13:22:10 +0200 | <hpc> | type level lambdas let you do a LOT, more than ghc can currently handle |
2022-10-13 13:22:18 +0200 | <hpc> | maybe when dependent types happen? |
2022-10-13 13:22:20 +0200 | <dr_merijn> | hpc: I mean, that's a different way of phrasing your example ;) |
2022-10-13 13:23:01 +0200 | <dr_merijn> | mastarija_: Use Idris :p |
2022-10-13 13:23:16 +0200 | <hpc> | there's a lot of different other things that fake it in different ways |
2022-10-13 13:23:21 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 260 seconds) |
2022-10-13 13:23:33 +0200 | <hpc> | data definitions can be type-level lambbdas if you squint and accept having to do all the wrapping/unwrapping yourself |
2022-10-13 13:23:33 +0200 | <dr_merijn> | hpc: And all of them will make your life terrible :p |
2022-10-13 13:23:41 +0200 | <hpc> | or type families |
2022-10-13 13:23:48 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 264 seconds) |
2022-10-13 13:23:49 +0200 | fgaz | (~fgaz@2001:470:69fc:105::842) |
2022-10-13 13:24:09 +0200 | <hpc> | they all have their own limitations, and yep they'll make your life miserable :D |
2022-10-13 13:24:12 +0200 | peddie | (~peddie@2001:470:69fc:105::25d) |
2022-10-13 13:24:12 +0200 | ericson2314 | (~ericson23@2001:470:69fc:105::70c) |
2022-10-13 13:24:12 +0200 | famubu[m] | (~famubumat@2001:470:69fc:105::1081) |
2022-10-13 13:24:12 +0200 | maralorn | (~maralorn@2001:470:69fc:105::251) |
2022-10-13 13:24:15 +0200 | <[Leary]> | Defunctionalised type families aren't that bad to work with, they just aren't very clean. |
2022-10-13 13:24:26 +0200 | zfnmxt | (~zfnmxt@2001:470:69fc:105::2b32) |
2022-10-13 13:24:26 +0200 | sm | (~sm@plaintextaccounting/sm) |
2022-10-13 13:24:38 +0200 | Christoph[m] | (~hpotsirhc@2001:470:69fc:105::2ff8) |
2022-10-13 13:24:38 +0200 | ongy[m] | (~ongymatri@2001:470:69fc:105::5018) |
2022-10-13 13:24:50 +0200 | SridharRatnakuma | (~sridmatri@2001:470:69fc:105::1c2) |
2022-10-13 13:24:50 +0200 | siraben | (~siraben@user/siraben) |
2022-10-13 13:25:02 +0200 | july541[m] | (~july541ma@2001:470:69fc:105::1:e416) |
2022-10-13 13:25:03 +0200 | smichel17[m] | (~smichel17@2001:470:69fc:105::2d32) |
2022-10-13 13:25:03 +0200 | <mastarija_> | Hmm.. gonna try LiberalTypeSynonyms for fun |
2022-10-13 13:25:15 +0200 | kiri1606[m] | (~kiri1606m@2001:470:69fc:105::2:8ec9) |
2022-10-13 13:25:30 +0200 | chreekat | (~chreekat@2001:470:69fc:105::16b5) |
2022-10-13 13:25:45 +0200 | expipiplus1 | (~expipiplu@2001:470:69fc:105::d713) |
2022-10-13 13:25:53 +0200 | <dminuoso> | What's the price for that extension? |
2022-10-13 13:25:57 +0200 | sibnull[m] | (~sibnullma@2001:470:69fc:105::1:1291) |
2022-10-13 13:26:09 +0200 | ManofLetters[m] | (~manoflett@2001:470:69fc:105::3be) |
2022-10-13 13:26:10 +0200 | fendor[m] | (~fendormat@2001:470:69fc:105::fcbd) |
2022-10-13 13:26:14 +0200 | <mastarija_> | Price is that it doesn't work as I've intended :) |
2022-10-13 13:26:25 +0200 | bb010g | (~bb010g@2001:470:69fc:105::9a5) |
2022-10-13 13:26:25 +0200 | oak- | (~oakuniver@2001:470:69fc:105::fcd) |
2022-10-13 13:26:25 +0200 | jmcantrell | (~jmcantrel@user/jmcantrell) |
2022-10-13 13:26:25 +0200 | maerwald[m] | (~maerwaldm@2001:470:69fc:105::1ee) |
2022-10-13 13:26:25 +0200 | jinsun_ | (~jinsun@user/jinsun) |
2022-10-13 13:26:37 +0200 | romes[m] | (~romesmatr@2001:470:69fc:105::2:1660) |
2022-10-13 13:26:37 +0200 | JensPetersen[m] | (~juhp@2001:470:69fc:105::6e9) |
2022-10-13 13:26:38 +0200 | ormaaj | (~ormaaj@user/ormaaj) |
2022-10-13 13:26:38 +0200 | cp1313[m] | (~cp1313mat@2001:470:69fc:105::2:9293) |
2022-10-13 13:26:38 +0200 | kadoban | (~kadoban@user/kadoban) |
2022-10-13 13:26:38 +0200 | BB[m] | (~cashmagem@2001:470:69fc:105::f6dc) |
2022-10-13 13:26:50 +0200 | Guillaum[m] | (~guiboumat@2001:470:69fc:105::1:72ac) |
2022-10-13 13:27:02 +0200 | silky[m] | (~noonvande@2001:470:69fc:105::2:943c) |
2022-10-13 13:27:02 +0200 | RosarioPulella[m | (~rosariopu@2001:470:69fc:105::a57) |
2022-10-13 13:27:02 +0200 | nicmollel[m] | (~nicmollel@2001:470:69fc:105::1:feeb) |
2022-10-13 13:27:07 +0200 | jneira[m] | (~jneiramat@2001:470:69fc:105::d729) |
2022-10-13 13:27:07 +0200 | alexfmpe[m] | (~alexfmpem@2001:470:69fc:105::38ba) |
2022-10-13 13:27:08 +0200 | Matthew|m | (~arathorn@2001:470:69fc:105::1f) |
2022-10-13 13:27:08 +0200 | lawt | (~lawtonmat@2001:470:69fc:105::2:97b8) |
2022-10-13 13:27:08 +0200 | RowanG[m] | (~rowang077@2001:470:69fc:105::1:ca9f) |
2022-10-13 13:27:09 +0200 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) |
2022-10-13 13:27:14 +0200 | <mastarija_> | I was hoping this'll work somehow but nope `:k! Fmap (Const Int) RandList` |
2022-10-13 13:27:22 +0200 | Neosake[m] | (~neosakema@2001:470:69fc:105::2:989e) |
2022-10-13 13:27:35 +0200 | drsooch[m] | (~drsoochma@2001:470:69fc:105::1:c8a1) |
2022-10-13 13:27:35 +0200 | olivermead[m] | (~olivermea@2001:470:69fc:105::2:4289) |
2022-10-13 13:27:36 +0200 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) |
2022-10-13 13:27:49 +0200 | aidy | (~aidy@2001:470:69fc:105::c7b4) |
2022-10-13 13:28:01 +0200 | jbggs[m] | (~jbggsmatr@2001:470:69fc:105::2:995f) |
2022-10-13 13:28:15 +0200 | CeNiEi[m] | (~cenieimat@2001:470:69fc:105::1:894c) |
2022-10-13 13:28:26 +0200 | rockymarine[m] | (~rockymari@2001:470:69fc:105::2:9a0c) |
2022-10-13 13:28:26 +0200 | loosh[m] | (~looshchat@2001:470:69fc:105::2:5ddd) |
2022-10-13 13:28:40 +0200 | M3g-mentok[m] | (~M3g-mento@2001:470:69fc:105::2:9a49) |
2022-10-13 13:28:45 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-10-13 13:28:52 +0200 | disco-dave[m] | (~disco-dav@2001:470:69fc:105::2:1892) |
2022-10-13 13:28:53 +0200 | Orbstheorem | (~orbstheor@2001:470:69fc:105::a56) |
2022-10-13 13:28:53 +0200 | Tisoxin | (~ikosit@user/ikosit) |
2022-10-13 13:28:54 +0200 | ozkutuk[m] | (~ozkutuk@2001:470:69fc:105::2:9af8) |
2022-10-13 13:28:54 +0200 | Artem[m] | (~artemtype@2001:470:69fc:105::75b) |
2022-10-13 13:28:54 +0200 | foghorn | (~foghorn@user/foghorn) |
2022-10-13 13:28:54 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) |
2022-10-13 13:28:55 +0200 | baaash[m] | (~baaashmat@2001:470:69fc:105::2:1e90) |
2022-10-13 13:29:09 +0200 | mimi1vx[m] | (~osukupmat@2001:470:69fc:105::2:418d) |
2022-10-13 13:29:09 +0200 | sektor[m] | (~sektor@2001:470:69fc:105::2:3f60) |
2022-10-13 13:29:22 +0200 | Clinton[m] | (~clintonme@2001:470:69fc:105::2:31d4) |
2022-10-13 13:29:22 +0200 | mekeor[m] | (~mekeormat@2001:470:69fc:105::17e4) |
2022-10-13 13:29:22 +0200 | elvishjerricco | (~elvishjer@2001:470:69fc:105::6172) |
2022-10-13 13:29:22 +0200 | vladan[m] | (~vladanmat@2001:470:69fc:105::2:24df) |
2022-10-13 13:29:23 +0200 | jz99[m] | (~jz99matri@2001:470:69fc:105::1:d5f1) |
2022-10-13 13:29:23 +0200 | geekosaur[m] | (~geekosaur@xmonad/geekosaur) |
2022-10-13 13:29:23 +0200 | VarikValefor[m] | (~varikvale@2001:470:69fc:105::a5d) |
2022-10-13 13:29:24 +0200 | duckie | (~duckie@user/duckie) |
2022-10-13 13:29:25 +0200 | nomagno | (~nomagno@2001:470:69fc:105::c1f0) |
2022-10-13 13:29:25 +0200 | jean-paul[m] | (~jean-paul@2001:470:69fc:105::d1ab) |
2022-10-13 13:29:25 +0200 | FurudeRika[m] | (~chitandae@2001:470:69fc:105::1:6039) |
2022-10-13 13:29:25 +0200 | aviladev[m] | (~aviladevm@2001:470:69fc:105::1:cbc7) |
2022-10-13 13:29:26 +0200 | Deide | (~deide@user/deide) |
2022-10-13 13:29:26 +0200 | fr33domlover[m] | (~fr33domlo@2001:470:69fc:105::1:3bb6) |
2022-10-13 13:29:26 +0200 | TrueBlue[m] | (~busterblu@2001:470:69fc:105::1:d7e8) |
2022-10-13 13:29:38 +0200 | desophos[m] | (~desophosm@2001:470:69fc:105::2:81d9) |
2022-10-13 13:29:39 +0200 | cafkafk[m] | (~cafkafkma@2001:470:69fc:105::1:cea8) |
2022-10-13 13:29:40 +0200 | Killy | (~killy@2001:470:69fc:105::2:6ec1) |
2022-10-13 13:29:40 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2022-10-13 13:29:42 +0200 | <dr_merijn> | mastarija_: Why not Idris, though? |
2022-10-13 13:29:56 +0200 | pareto-optimal-d | (~pareto-op@2001:470:69fc:105::1:b61f) |
2022-10-13 13:29:56 +0200 | SeanKing[m] | (~seankingm@2001:470:69fc:105::cf9c) |
2022-10-13 13:29:56 +0200 | aaronv | (~aaronv@user/aaronv) |
2022-10-13 13:29:56 +0200 | MangoIV[m] | (~mangoivma@2001:470:69fc:105::2:8417) |
2022-10-13 13:29:58 +0200 | psydroid | (~psydroid@user/psydroid) |
2022-10-13 13:29:58 +0200 | xgpt[m] | (~xgptmatri@2001:470:69fc:105::2:619a) |
2022-10-13 13:29:58 +0200 | schuelermine[m] | (~schuelerm@user/schuelermine) |
2022-10-13 13:30:12 +0200 | weeezes[m] | (~weeezesma@2001:470:69fc:105::1:da65) |
2022-10-13 13:30:13 +0200 | polykernel[m] | (~polykerne@user/polykernel) |
2022-10-13 13:30:16 +0200 | <mastarija_> | I wanted to do something in Haskell and type-level lambdas seemed like a nice thing to have for that. |
2022-10-13 13:30:44 +0200 | <dr_merijn> | That's only relevant for Cursed Haskell, though |
2022-10-13 13:30:56 +0200 | <dminuoso> | {-# LANGUAGE Cursed #-} |
2022-10-13 13:30:58 +0200 | <[exa]> | mastarija_: any specific goal though? you might want just type families |
2022-10-13 13:31:40 +0200 | <[exa]> | oh wow that extension could rename our fav function to just performIO |
2022-10-13 13:31:42 +0200 | <mastarija_> | It's a bit hard to explain, but I just wanted a nice type level interface for my curvature library. |
2022-10-13 13:32:13 +0200 | <dminuoso> | [exa]: Heh. Ive finally understood why it was (text still does) called inlinePerformIO. |
2022-10-13 13:32:23 +0200 | <dminuoso> | It really inlines completely! |
2022-10-13 13:32:43 +0200 | <[exa]> | wow |
2022-10-13 13:33:10 +0200 | <[exa]> | mastarija_: for better typechecking or just for more verbose types for users? |
2022-10-13 13:33:44 +0200 | <dminuoso> | A `malloc 4096` in two separate parts? Let-float and share that buffer! That is why the simplifiers main job is inlining, to enable such opportunities. |
2022-10-13 13:33:45 +0200 | <mastarija_> | For cleaner types for the user |
2022-10-13 13:33:53 +0200 | <mastarija_> | And better type checking |
2022-10-13 13:34:00 +0200 | <dminuoso> | Memory saved, even! I wonder why people reported these crashes as bugs. |
2022-10-13 13:34:44 +0200 | <dr_merijn> | mastarija_: My expert advice: don't :p |
2022-10-13 13:34:50 +0200 | <mastarija_> | :P |
2022-10-13 13:34:56 +0200 | <mastarija_> | Try to stop me |
2022-10-13 13:35:10 +0200 | <dr_merijn> | One of the hardest lessons/lines to learn when doing Haskell is that "not everything should be in the type system" (at least, in Haskell) |
2022-10-13 13:35:27 +0200 | <hpc> | this is why i do everything in the kind system |
2022-10-13 13:36:12 +0200 | <dr_merijn> | mastarija_: I don't have to, if people want to hurt and torture themselves, that's on them, they're consenting adults :p |
2022-10-13 13:36:39 +0200 | <dr_merijn> | I'm just providing the warning label so I can point, laugh, and say "I told you so" in the future :D |
2022-10-13 13:37:01 +0200 | <mastarija_> | You'll see!!!! |
2022-10-13 13:37:12 +0200 | <hpc> | lol |
2022-10-13 13:38:33 +0200 | <[exa]> | mastarija_: the ones you have now ain't clean enough? :D |
2022-10-13 13:38:50 +0200 | <mastarija_> | I can always go for more!!! |
2022-10-13 13:38:55 +0200 | <[exa]> | pls paste |
2022-10-13 13:39:32 +0200 | <[exa]> | hpc: rofl @ kind system |
2022-10-13 13:42:34 +0200 | <dminuoso> | I prefer encoding my domain logic into the sort system., |
2022-10-13 13:42:57 +0200 | <dminuoso> | Everything is just BOX. Very simple |
2022-10-13 13:45:46 +0200 | <mastarija_> | I guess I can always go with `(a n ~ f x y n) => ...`. |
2022-10-13 13:48:56 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-10-13 13:49:47 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-13 13:57:40 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-13 14:02:53 +0200 | <zzz> | > let 0 = 1 in succ 0 |
2022-10-13 14:02:55 +0200 | <lambdabot> | 1 |
2022-10-13 14:04:34 +0200 | <zzz> | why is this not illegal? |
2022-10-13 14:04:49 +0200 | <dr_merijn> | zzz: You're pattern matching on 0 and not using the result |
2022-10-13 14:04:55 +0200 | <dr_merijn> | So it's a no-op |
2022-10-13 14:05:11 +0200 | <dr_merijn> | > let x@0 = 1 in succ x |
2022-10-13 14:05:12 +0200 | <lambdabot> | *Exception: <interactive>:3:5-11: Non-exhaustive patterns in x@0 |
2022-10-13 14:05:27 +0200 | <dr_merijn> | Your example is (to ghc) equivalent to |
2022-10-13 14:05:34 +0200 | <dr_merijn> | > let x = 1 in succ 0 |
2022-10-13 14:05:35 +0200 | <lambdabot> | 1 |
2022-10-13 14:05:54 +0200 | <zzz> | ah weird |
2022-10-13 14:06:19 +0200 | <dr_merijn> | zzz: The pattern match fails, but since we're a lazy language, the failure is never observed |
2022-10-13 14:06:25 +0200 | <zzz> | abd because let bindings are irrefutable |
2022-10-13 14:06:28 +0200 | <zzz> | right |
2022-10-13 14:06:34 +0200 | <dr_merijn> | (and you can't observe it, because it's not named) |
2022-10-13 14:07:01 +0200 | leah2 | (~leah@vuxu.org) |
2022-10-13 14:08:52 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 14:09:32 +0200 | yuzhao | (~yuzhao@36.112.45.73) (Ping timeout: 268 seconds) |
2022-10-13 14:11:04 +0200 | <zzz> | there's a "pattern binds no bariables" warning though |
2022-10-13 14:11:20 +0200 | <zzz> | *variables |
2022-10-13 14:11:40 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
2022-10-13 14:12:03 +0200 | <dminuoso> | zzz: No, its not because they are irrefutable. |
2022-10-13 14:12:23 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-13 14:13:07 +0200 | <dminuoso> | `let 0 = 1 in` is very refutable. |
2022-10-13 14:13:54 +0200 | <dminuoso> | Well. I guess if we took the word literally it is irrefutable because you cannot tractably refute it. But the term "irrefutable pattern" is a partigular standardese term from the Haskell Report. |
2022-10-13 14:14:09 +0200 | <dminuoso> | And let 0 = 1 ` is not an irrefutable pattern according to the haskell report. |
2022-10-13 14:15:57 +0200 | <dminuoso> | The irrefutable patterns are as follows: a variable, a wildcard, N apat where N is a constructor defined by newtype and apat is irrefutable (see Section 4.2.3), var @apat where apat is irrefutable, or of the form ̃apat (whether or not apat is irrefutable). All other patterns are refutable. |
2022-10-13 14:16:17 +0200 | <dminuoso> | So by this wording, `0` is a refutable pattern. |
2022-10-13 14:16:31 +0200 | <dminuoso> | And it does make sense if you think of this in another position, like `f 0 = ...` |
2022-10-13 14:16:58 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 14:18:48 +0200 | <dminuoso> | Refutable let patterns can occasionally be useful, especially non-simple patterns like `let (x1, x2) = ...` or maybe on a newtype/data type `let N a = ...` |
2022-10-13 14:19:38 +0200 | <dminuoso> | Fun fact, non-simple patterns are the reason why "adding a type signature" by itself is not generally enough around the MMR problem. |
2022-10-13 14:20:24 +0200 | <dminuoso> | That is, even with a type signature, if you bind using a non-simple pattern, the declaration group will be restricted. |
2022-10-13 14:21:24 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 14:21:32 +0200 | <dminuoso> | Or it can be, anyway |
2022-10-13 14:22:15 +0200 | <dminuoso> | tomsmeding: By the way, yahb2 appears to be broken somehow. |
2022-10-13 14:22:25 +0200 | <dminuoso> | % :set -XNoMonomorphismRestriction |
2022-10-13 14:22:25 +0200 | <yahb2> | <interactive>:1:1: error: Not in scope: ‘Yahb2Defs.limitedPrint’ |
2022-10-13 14:27:36 +0200 | thegeekinside | (~thegeekin@189.180.7.159) |
2022-10-13 14:28:20 +0200 | sagax | (~sagax_nb@user/sagax) |
2022-10-13 14:33:07 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 248 seconds) |
2022-10-13 14:39:55 +0200 | odnes | (~odnes@5-203-132-149.pat.nym.cosmote.net) |
2022-10-13 14:40:36 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-10-13 14:44:23 +0200 | odnes | (~odnes@5-203-132-149.pat.nym.cosmote.net) (Client Quit) |
2022-10-13 14:46:53 +0200 | kuribas | (~user@silversquare.silversquare.eu) |
2022-10-13 14:48:31 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-13 14:49:28 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-10-13 14:50:24 +0200 | <kuribas> | what is the reason people don't like conduit? |
2022-10-13 14:50:35 +0200 | <kuribas> | isn't it the easiest for beginners? |
2022-10-13 14:51:25 +0200 | <dr_merijn> | kuribas: WHo doesn't like it, besides maerwald? |
2022-10-13 14:52:07 +0200 | <kuribas> | right :) |
2022-10-13 14:54:00 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-13 14:55:00 +0200 | vn36 | (~vn36@123.63.203.210) (Ping timeout: 264 seconds) |
2022-10-13 14:55:49 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-13 14:55:50 +0200 | <lortabac> | as a streaming noob, I find the 'streaming' library easier to understand |
2022-10-13 14:56:22 +0200 | <lortabac> | I spent 10 minutes on each, and I opted for 'streaming' because it was the one I understood the best |
2022-10-13 14:56:41 +0200 | <dminuoso> | They are somewhat different though |
2022-10-13 14:56:46 +0200 | <dminuoso> | That is, they do different things |
2022-10-13 14:56:53 +0200 | <lortabac> | my needs are very simple though |
2022-10-13 14:58:18 +0200 | <lortabac> | dminuoso: possible, I was just answering to "isn't it the easiest for beginners" |
2022-10-13 14:58:45 +0200 | <kuribas> | lortabac: sure, if it fits your usecase well... |
2022-10-13 14:58:49 +0200 | <lortabac> | I'd say no, if by easy we mean it has a low learning curve |
2022-10-13 14:59:21 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-13 15:00:10 +0200 | <kuribas> | if you think of a stream as a unix pipe, it looks the easiest with conduit. |
2022-10-13 15:00:12 +0200 | <dminuoso> | Its interesting, because I always thought `streaming` looked strange and conduit seemed easier |
2022-10-13 15:00:34 +0200 | <kuribas> | you wait for some input, then yield some output. |
2022-10-13 15:00:44 +0200 | <dminuoso> | Especially since it has a good interface for regulating the chunks in the pipeline (waiting, coalescing, yielding more) |
2022-10-13 15:00:57 +0200 | <dminuoso> | Im sure `streaming` can do all those things too, but I find all the types to be very confusing |
2022-10-13 15:01:07 +0200 | <dr_merijn> | dminuoso: same |
2022-10-13 15:12:32 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 15:12:57 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a05b92ccfa0afbc3219.dip0.t-ipconnect.de) |
2022-10-13 15:13:47 +0200 | kuribas` | (~user@silversquare.silversquare.eu) |
2022-10-13 15:14:13 +0200 | kuribas | (~user@silversquare.silversquare.eu) (Read error: Connection reset by peer) |
2022-10-13 15:16:54 +0200 | acidjnk | (~acidjnk@p200300d6e7137a054134d491e24e739f.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2022-10-13 15:18:32 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a05b92ccfa0afbc3219.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-10-13 15:19:46 +0200 | kuribas` | (~user@silversquare.silversquare.eu) (Ping timeout: 268 seconds) |
2022-10-13 15:20:21 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 15:21:56 +0200 | yvan-sraka | (~yvan-srak@46.183.103.8) |
2022-10-13 15:22:04 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
2022-10-13 15:23:25 +0200 | yvan-sraka | (~yvan-srak@46.183.103.8) (Remote host closed the connection) |
2022-10-13 15:24:26 +0200 | yvan-sraka | (~yvan-srak@46.183.103.8) |
2022-10-13 15:30:01 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-10-13 15:32:21 +0200 | kuribas | (~user@silversquare.silversquare.eu) |
2022-10-13 15:36:23 +0200 | greek | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) |
2022-10-13 15:39:26 +0200 | greek | nikos_k |
2022-10-13 15:40:20 +0200 | zzz | _ |
2022-10-13 15:40:43 +0200 | _ | zzz |
2022-10-13 15:41:29 +0200 | razetime | (~quassel@117.254.35.56) (Ping timeout: 252 seconds) |
2022-10-13 15:43:33 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2022-10-13 15:44:28 +0200 | nikos_k | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) (Quit: WeeChat 3.7) |
2022-10-13 15:45:03 +0200 | nikos_k | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) |
2022-10-13 15:47:22 +0200 | nikos_k | nikos_kz |
2022-10-13 15:49:42 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
2022-10-13 15:50:07 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-13 15:50:07 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-13 15:50:07 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-13 15:53:21 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2022-10-13 15:54:33 +0200 | nikos_kz | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) (Quit: WeeChat 3.7) |
2022-10-13 15:54:51 +0200 | thegreek | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) |
2022-10-13 15:55:02 +0200 | thegreek | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) (Client Quit) |
2022-10-13 15:55:20 +0200 | thegreek | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) |
2022-10-13 15:56:19 +0200 | thegreek | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) (Client Quit) |
2022-10-13 15:57:22 +0200 | nikos_kz | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) |
2022-10-13 15:57:34 +0200 | tam-carre | (~tam-carre@2a01cb088a83b300a322b3f387318318.ipv6.abo.wanadoo.fr) |
2022-10-13 16:01:41 +0200 | weeezes[m] | (~weeezesma@2001:470:69fc:105::1:da65) (*.net *.split) |
2022-10-13 16:01:41 +0200 | CeNiEi[m] | (~cenieimat@2001:470:69fc:105::1:894c) (*.net *.split) |
2022-10-13 16:01:41 +0200 | aaronv | (~aaronv@user/aaronv) (*.net *.split) |
2022-10-13 16:01:41 +0200 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) (*.net *.split) |
2022-10-13 16:01:41 +0200 | elvishjerricco | (~elvishjer@2001:470:69fc:105::6172) (*.net *.split) |
2022-10-13 16:01:41 +0200 | RowanG[m] | (~rowang077@2001:470:69fc:105::1:ca9f) (*.net *.split) |
2022-10-13 16:01:41 +0200 | expipiplus1 | (~expipiplu@2001:470:69fc:105::d713) (*.net *.split) |
2022-10-13 16:01:41 +0200 | SeanKing[m] | (~seankingm@2001:470:69fc:105::cf9c) (*.net *.split) |
2022-10-13 16:01:41 +0200 | peddie | (~peddie@2001:470:69fc:105::25d) (*.net *.split) |
2022-10-13 16:01:41 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (*.net *.split) |
2022-10-13 16:01:41 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4590:bf86:dae:5953) (*.net *.split) |
2022-10-13 16:01:41 +0200 | chomwitt | (~chomwitt@2a02:587:dc0c:c200:a0a8:ed7f:a699:91a5) (*.net *.split) |
2022-10-13 16:01:41 +0200 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (*.net *.split) |
2022-10-13 16:01:41 +0200 | caryhartline | (~caryhartl@2600:1700:2d0:8d30:c527:6c1:a00c:e1d4) (*.net *.split) |
2022-10-13 16:01:41 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (*.net *.split) |
2022-10-13 16:01:41 +0200 | mesaoptimizer | (apotheosis@user/PapuaHardyNet) (*.net *.split) |
2022-10-13 16:01:41 +0200 | farn | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split) |
2022-10-13 16:01:41 +0200 | Hafydd | (~Hafydd@user/hafydd) (*.net *.split) |
2022-10-13 16:01:41 +0200 | img | (~img@user/img) (*.net *.split) |
2022-10-13 16:01:41 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (*.net *.split) |
2022-10-13 16:01:41 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) (*.net *.split) |
2022-10-13 16:01:41 +0200 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) (*.net *.split) |
2022-10-13 16:01:41 +0200 | abrar | (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (*.net *.split) |
2022-10-13 16:01:41 +0200 | lisq | (~quassel@lis.moe) (*.net *.split) |
2022-10-13 16:01:41 +0200 | jackdk | (sid373013@cssa/jackdk) (*.net *.split) |
2022-10-13 16:01:41 +0200 | megeve | (sid523379@id-523379.hampstead.irccloud.com) (*.net *.split) |
2022-10-13 16:01:41 +0200 | jakesyl____ | (sid56879@id-56879.hampstead.irccloud.com) (*.net *.split) |
2022-10-13 16:01:41 +0200 | tritlo | (sid58727@user/tritlo) (*.net *.split) |
2022-10-13 16:01:41 +0200 | jmct | (sid160793@id-160793.tinside.irccloud.com) (*.net *.split) |
2022-10-13 16:01:41 +0200 | hays | (rootvegeta@fsf/member/hays) (*.net *.split) |
2022-10-13 16:01:41 +0200 | sm2n | (ae95cb1267@user/sm2n) (*.net *.split) |
2022-10-13 16:01:41 +0200 | Arsen | (arsen@managarm/dev/Arsen) (*.net *.split) |
2022-10-13 16:01:41 +0200 | shreyasminocha | (51fdc93eda@user/shreyasminocha) (*.net *.split) |
2022-10-13 16:01:41 +0200 | remexre | (~remexre@user/remexre) (*.net *.split) |
2022-10-13 16:01:41 +0200 | Me-me | (~me-me@user/me-me) (*.net *.split) |
2022-10-13 16:01:41 +0200 | ghoulpine | (xfnw@tilde.team) (*.net *.split) |
2022-10-13 16:01:41 +0200 | ssw | (~ssw@user/ssw) (*.net *.split) |
2022-10-13 16:01:41 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (*.net *.split) |
2022-10-13 16:01:41 +0200 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (*.net *.split) |
2022-10-13 16:01:41 +0200 | rodental | (~rodental@38.146.5.222) (*.net *.split) |
2022-10-13 16:01:41 +0200 | AkechiShiro | (~licht@user/akechishiro) (*.net *.split) |
2022-10-13 16:01:41 +0200 | hnOsmium0001 | (uid453710@user/hnOsmium0001) (*.net *.split) |
2022-10-13 16:01:53 +0200 | img | (~img@2405:6580:b1c0:2500:b1d0:6383:edaf:d54f) |
2022-10-13 16:01:53 +0200 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) |
2022-10-13 16:01:55 +0200 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2022-10-13 16:01:56 +0200 | img | (~img@2405:6580:b1c0:2500:b1d0:6383:edaf:d54f) (Changing host) |
2022-10-13 16:01:56 +0200 | img | (~img@user/img) |
2022-10-13 16:01:57 +0200 | Arsen | (~arsen@managarm/dev/Arsen) |
2022-10-13 16:01:57 +0200 | lisq | (~quassel@lis.moe) |
2022-10-13 16:02:00 +0200 | remexre | (~remexre@user/remexre) |
2022-10-13 16:02:02 +0200 | sm2n | (ae95cb1267@user/sm2n) |
2022-10-13 16:02:03 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4590:bf86:dae:5953) |
2022-10-13 16:02:04 +0200 | shreyasminocha | (51fdc93eda@user/shreyasminocha) |
2022-10-13 16:02:04 +0200 | tritlo | (sid58727@id-58727.hampstead.irccloud.com) |
2022-10-13 16:02:04 +0200 | jmct | (sid160793@id-160793.tinside.irccloud.com) |
2022-10-13 16:02:05 +0200 | megeve | (sid523379@id-523379.hampstead.irccloud.com) |
2022-10-13 16:02:09 +0200 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2022-10-13 16:02:09 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2022-10-13 16:02:12 +0200 | Hafydd | (~Hafydd@2001:41d0:305:2100::31aa) |
2022-10-13 16:02:12 +0200 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
2022-10-13 16:02:13 +0200 | farn | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) |
2022-10-13 16:02:17 +0200 | abrar | (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) |
2022-10-13 16:02:19 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-13 16:02:19 +0200 | AkechiShiro | (~licht@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9) |
2022-10-13 16:02:24 +0200 | tritlo | (sid58727@id-58727.hampstead.irccloud.com) (Changing host) |
2022-10-13 16:02:24 +0200 | tritlo | (sid58727@user/tritlo) |
2022-10-13 16:02:26 +0200 | Me-me | (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) |
2022-10-13 16:02:32 +0200 | jakesyl____ | (sid56879@id-56879.hampstead.irccloud.com) |
2022-10-13 16:02:34 +0200 | Hafydd | (~Hafydd@2001:41d0:305:2100::31aa) (Signing in (Hafydd)) |
2022-10-13 16:02:34 +0200 | Hafydd | (~Hafydd@user/hafydd) |
2022-10-13 16:02:34 +0200 | SeanKing[m] | (~seankingm@2001:470:69fc:105::cf9c) |
2022-10-13 16:02:40 +0200 | jackdk | (sid373013@id-373013.tinside.irccloud.com) |
2022-10-13 16:02:58 +0200 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) |
2022-10-13 16:03:01 +0200 | jackdk | (sid373013@id-373013.tinside.irccloud.com) (Changing host) |
2022-10-13 16:03:01 +0200 | jackdk | (sid373013@cssa/jackdk) |
2022-10-13 16:03:04 +0200 | hnOsmium0001 | (uid453710@user/hnOsmium0001) |
2022-10-13 16:03:16 +0200 | chomwitt | (~chomwitt@2a02:587:dc0c:c200:a0a8:ed7f:a699:91a5) |
2022-10-13 16:03:23 +0200 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) |
2022-10-13 16:03:26 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) |
2022-10-13 16:03:32 +0200 | aaronv | (~aaronv@user/aaronv) |
2022-10-13 16:03:35 +0200 | ssw | (~ssw@user/ssw) |
2022-10-13 16:03:40 +0200 | elvishjerricco | (~elvishjer@2001:470:69fc:105::6172) |
2022-10-13 16:03:51 +0200 | ghoulpine | (xfnw@tilde.team) |
2022-10-13 16:03:52 +0200 | peddie | (~peddie@2001:470:69fc:105::25d) |
2022-10-13 16:03:59 +0200 | expipiplus1 | (~expipiplu@2001:470:69fc:105::d713) |
2022-10-13 16:04:06 +0200 | CeNiEi[m] | (~cenieimat@2001:470:69fc:105::1:894c) |
2022-10-13 16:04:14 +0200 | weeezes[m] | (~weeezesma@2001:470:69fc:105::1:da65) |
2022-10-13 16:04:41 +0200 | RowanG[m] | (~rowang077@2001:470:69fc:105::1:ca9f) |
2022-10-13 16:05:46 +0200 | nikos_kz | (~weechat@sp49-98-40-21.msd.spmode.ne.jp) (Ping timeout: 246 seconds) |
2022-10-13 16:05:48 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2022-10-13 16:05:55 +0200 | vn36 | (~vn36@123.63.203.210) (Ping timeout: 248 seconds) |
2022-10-13 16:07:12 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
2022-10-13 16:09:19 +0200 | sagax | (~sagax_nb@user/sagax) (Remote host closed the connection) |
2022-10-13 16:12:05 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2022-10-13 16:13:10 +0200 | Arsen | (~arsen@managarm/dev/Arsen) (Quit: Quit.) |
2022-10-13 16:17:04 +0200 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.6) |
2022-10-13 16:19:51 +0200 | Arsen | (arsen@managarm/dev/Arsen) |
2022-10-13 16:22:47 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-10-13 16:28:13 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2022-10-13 16:29:26 +0200 | xff0x | (~xff0x@ai071162.d.east.v6connect.net) |
2022-10-13 16:32:22 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 246 seconds) |
2022-10-13 16:37:20 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-13 16:42:05 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-13 16:45:02 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a99955eeb096340e161.dip0.t-ipconnect.de) |
2022-10-13 16:46:45 +0200 | burnsidesLlama | (~burnsides@client-8-85.eduroam.oxuni.org.uk) |
2022-10-13 16:49:17 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-10-13 16:49:22 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-13 16:54:11 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-13 16:55:21 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds) |
2022-10-13 16:57:10 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-10-13 16:58:01 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 17:00:06 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) (Ping timeout: 264 seconds) |
2022-10-13 17:00:09 +0200 | burnsidesLlama | (~burnsides@client-8-85.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-13 17:01:04 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds) |
2022-10-13 17:02:49 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
2022-10-13 17:07:04 +0200 | mastarija_ | (~mastarija@2a05:4f46:e03:6000:fd36:f5e5:8056:5d1a) (Quit: Leaving) |
2022-10-13 17:09:14 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) |
2022-10-13 17:09:33 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) (Client Quit) |
2022-10-13 17:09:49 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) |
2022-10-13 17:13:32 +0200 | mesaoptimizer | (apotheosis@user/PapuaHardyNet) |
2022-10-13 17:15:41 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 17:16:05 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) |
2022-10-13 17:20:07 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-13 17:22:11 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) (Ping timeout: 248 seconds) |
2022-10-13 17:25:11 +0200 | razetime | (~quassel@117.254.35.56) |
2022-10-13 17:29:45 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4590:bf86:dae:5953) (Quit: WeeChat 2.8) |
2022-10-13 17:33:34 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 17:37:33 +0200 | tam-carre | (~tam-carre@2a01cb088a83b300a322b3f387318318.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2022-10-13 17:37:50 +0200 | tam-carre | (~tam-carre@2a01cb088a83b300a322b3f387318318.ipv6.abo.wanadoo.fr) |
2022-10-13 17:38:05 +0200 | lagash | (lagash@lagash.shelltalk.net) (Remote host closed the connection) |
2022-10-13 17:41:31 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 17:42:58 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 17:43:41 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-13 17:44:36 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
2022-10-13 17:46:11 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-10-13 17:47:36 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) |
2022-10-13 17:47:51 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) (Client Quit) |
2022-10-13 17:48:11 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds) |
2022-10-13 17:51:01 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) |
2022-10-13 17:51:38 +0200 | titibandit | (~titibandi@xdsl-78-34-208-230.nc.de) |
2022-10-13 17:53:43 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Remote host closed the connection) |
2022-10-13 17:55:06 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) (Client Quit) |
2022-10-13 17:55:14 +0200 | dr_merijn | (~dr_merijn@eduroam.wifi.infracom.nl) (Ping timeout: 268 seconds) |
2022-10-13 17:55:54 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) |
2022-10-13 17:56:11 +0200 | nikos_kz | (~weechat@240a:61:1112:b9b3:123b:954c:fff7:8d0) (Client Quit) |
2022-10-13 17:56:38 +0200 | nikos_kz | (~nikos_kz@sp27-230-96-33.tck01.spmode.ne.jp) |
2022-10-13 18:06:20 +0200 | nikos_kz | (~nikos_kz@sp27-230-96-33.tck01.spmode.ne.jp) (Quit: leaving) |
2022-10-13 18:10:22 +0200 | yvan-sraka | (~yvan-srak@46.183.103.8) (Ping timeout: 244 seconds) |
2022-10-13 18:10:47 +0200 | lagash | (lagash@lagash.shelltalk.net) |
2022-10-13 18:13:05 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
2022-10-13 18:14:54 +0200 | Feuermagier_ | (~Feuermagi@213.149.82.60) |
2022-10-13 18:15:12 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2022-10-13 18:17:49 +0200 | kuribas | (~user@silversquare.silversquare.eu) (Remote host closed the connection) |
2022-10-13 18:18:03 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds) |
2022-10-13 18:18:26 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2022-10-13 18:19:28 +0200 | teo | (~teo@user/teo) (Ping timeout: 246 seconds) |
2022-10-13 18:20:30 +0200 | MajorBiscuit | (~MajorBisc@c-001-029-026.client.tudelft.eduvpn.nl) (Ping timeout: 264 seconds) |
2022-10-13 18:22:31 +0200 | MajorBiscuit | (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) |
2022-10-13 18:27:15 +0200 | MajorBiscuit | (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 248 seconds) |
2022-10-13 18:29:43 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-10-13 18:30:02 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-10-13 18:32:14 +0200 | titibandit | (~titibandi@xdsl-78-34-208-230.nc.de) (Remote host closed the connection) |
2022-10-13 18:33:35 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-10-13 18:37:12 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 18:37:47 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 18:38:00 +0200 | werneta | (~werneta@137.78.30.207) |
2022-10-13 18:39:02 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 18:42:43 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 18:42:59 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com) |
2022-10-13 18:43:07 +0200 | loras | (~loras@c-73-139-125-125.hsd1.fl.comcast.net) |
2022-10-13 18:44:34 +0200 | vn36 | (~vn36@123.63.203.210) (Ping timeout: 268 seconds) |
2022-10-13 18:48:07 +0200 | nschoe | (~q@141.101.51.197) (Ping timeout: 252 seconds) |
2022-10-13 18:55:50 +0200 | econo | (uid147250@user/econo) |
2022-10-13 18:57:21 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 250 seconds) |
2022-10-13 19:00:14 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-13 19:01:15 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) |
2022-10-13 19:03:37 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 19:04:19 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 19:07:25 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-10-13 19:08:46 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 19:12:03 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 248 seconds) |
2022-10-13 19:12:08 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Remote host closed the connection) |
2022-10-13 19:14:27 +0200 | <monochrom> | https://discourse.haskell.org/t/ann-hugs-for-macos-x86-via-nix-flakes/5171?u=taylorfausak |
2022-10-13 19:14:33 +0200 | <monochrom> | Hugs is not dead :) |
2022-10-13 19:19:34 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 19:24:06 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-10-13 19:27:32 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 19:27:55 +0200 | <dolio> | Only mostly dead. |
2022-10-13 19:33:45 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) (Ping timeout: 250 seconds) |
2022-10-13 19:33:56 +0200 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving) |
2022-10-13 19:35:34 +0200 | <geekosaur> | still gets used by intro haskell courses |
2022-10-13 19:35:57 +0200 | <geekosaur> | since it doesn't undergo changes like Num losing Eq and Show, much less FAM |
2022-10-13 19:36:08 +0200 | <L29Ah> | haskell is so badass it has a separate interpreter just for intro courses |
2022-10-13 19:36:16 +0200 | <geekosaur> | or FTP |
2022-10-13 19:36:39 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-13 19:37:06 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-13 19:46:02 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-13 19:52:12 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 19:55:28 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-13 19:55:28 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-13 19:55:28 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-13 19:55:35 +0200 | vn36 | (~vn36@123.63.203.210) (Ping timeout: 252 seconds) |
2022-10-13 19:56:15 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-10-13 19:56:45 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 19:57:17 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 19:57:41 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-10-13 19:59:14 +0200 | <EvanR> | hell, why not a whole separate compiler for intro courses. And then we use that compiler |
2022-10-13 19:59:53 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-13 19:59:54 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Client Quit) |
2022-10-13 20:00:02 +0200 | DDR | (~DDR@2604:3d08:4c7f:8250:815e:1b43:3414:7c9c) |
2022-10-13 20:00:56 +0200 | <monochrom> | Racket has an IDE just for intro courses. >:) |
2022-10-13 20:01:18 +0200 | <monochrom> | And Python, I believe 2 or 3. |
2022-10-13 20:01:54 +0200 | <L29Ah> | python has a separate language version for intro courses |
2022-10-13 20:02:01 +0200 | <EvanR> | the intro tools have good error messages. When you graduate, you can upgrade to the one with worse error messages |
2022-10-13 20:02:06 +0200 | razetime | (~quassel@117.254.35.56) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-10-13 20:02:33 +0200 | <monochrom> | I would s/worse/advanced/ but sure :) |
2022-10-13 20:02:42 +0200 | <L29Ah> | with `print` as a part of syntax to simplify education |
2022-10-13 20:02:47 +0200 | <EvanR> | yes we all speak compiler here |
2022-10-13 20:04:44 +0200 | raym | (~aritra@user/raym) (Ping timeout: 268 seconds) |
2022-10-13 20:04:45 +0200 | hays | (rootvegeta@fsf/member/hays) |
2022-10-13 20:05:04 +0200 | raym | (~aritra@user/raym) |
2022-10-13 20:05:45 +0200 | <EvanR> | actually ghc is really good, rarely sending me on a wild goose chase due to missing brackets, or telling me overly specialized advice not pertaining in any way to the actual problem like some systems |
2022-10-13 20:09:05 +0200 | kenran | (~user@user/kenran) (Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
2022-10-13 20:12:27 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Quit: Lost terminal) |
2022-10-13 20:13:20 +0200 | <geekosaur> | hm. don't we still have Helium somewhere? |
2022-10-13 20:13:22 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-10-13 20:14:39 +0200 | mbuf | (~Shakthi@49.205.80.14) (Quit: Leaving) |
2022-10-13 20:15:11 +0200 | vn36 | (~vn36@123.63.203.210) (Ping timeout: 260 seconds) |
2022-10-13 20:16:11 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-10-13 20:20:47 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 20:22:12 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) |
2022-10-13 20:22:28 +0200 | ski | . o O ( "“Well it just so happens that your friend here is only mostly dead. There’s a big difference between mostly dead and all dead… Now, mostly dead is slightly alive. Now, all dead — well, with all dead, there’s usually only one thing that you can do.”,“What’s that?”,“Go through his clothes and look for loose change!”" -- “The Princess Bride” ) |
2022-10-13 20:23:17 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 20:24:13 +0200 | byorgey | was thinking of that scene too |
2022-10-13 20:24:56 +0200 | <byorgey> | https://github.com/Helium4Haskell/helium |
2022-10-13 20:25:44 +0200 | yvan-sraka | (~yvan-srak@46.183.103.17) |
2022-10-13 20:28:27 +0200 | coot | (~coot@213.134.171.3) |
2022-10-13 20:28:40 +0200 | coot | (~coot@213.134.171.3) (Remote host closed the connection) |
2022-10-13 20:28:51 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-13 20:29:17 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-10-13 20:31:31 +0200 | vn36 | (~vn36@123.63.203.210) (Ping timeout: 252 seconds) |
2022-10-13 20:31:38 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Remote host closed the connection) |
2022-10-13 20:32:47 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-10-13 20:38:06 +0200 | <ski> | @where Helium |
2022-10-13 20:38:06 +0200 | <lambdabot> | http://www.cs.uu.nl/research/projects/helium/ |
2022-10-13 20:38:17 +0200 | <ski> | @where+ Helium Haskell subset for beginners, improved diagnostics (incl. eDSLs). See <https://github.com/Helium4Haskell/helium>,<https://hackage.haskell.org/package/helium>,<https://web.archive.org/web/20160624222240/http://foswiki.cs.uu.nl/foswiki/Helium/WebHome>,<https://web.archive.org/web/20210907032911/http://www.cs.uu.nl/research/projects/helium/>,<https://www.open.ou.nl/bhr/HeliumCompiler.html> |
2022-10-13 20:38:17 +0200 | <lambdabot> | It is forever etched in my memory. |
2022-10-13 20:38:34 +0200 | ft | (~ft@p3e9bc57b.dip0.t-ipconnect.de) |
2022-10-13 20:39:59 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
2022-10-13 20:40:30 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-13 20:42:10 +0200 | <EvanR> | ski, here is what I managed for abstract Doc https://paste.tomsmeding.com/qbWG517C |
2022-10-13 20:43:46 +0200 | DDR | (~DDR@2604:3d08:4c7f:8250:815e:1b43:3414:7c9c) (Ping timeout: 260 seconds) |
2022-10-13 20:44:36 +0200 | <ski> | (would it make sense to also parameterize `String' in `text' (for use with `Text' instead, e.g.) ?) |
2022-10-13 20:45:36 +0200 | <ski> | (i'd eta `nestStr', i think) |
2022-10-13 20:46:26 +0200 | <EvanR> | text :: String -> Doc, well I was wondering what the meaning of Doc even is xD |
2022-10-13 20:47:04 +0200 | <EvanR> | or do you mean just allow String, Text, ByteString instead of String. Which all have some kind of newline character |
2022-10-13 20:47:56 +0200 | <EvanR> | I didn't know if the out parameter was necessary actually |
2022-10-13 20:48:05 +0200 | <EvanR> | assuming String as in the paper |
2022-10-13 20:49:34 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 20:50:46 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-13 20:53:25 +0200 | <ski> | > unfoldr (\s -> do guard (not (null s)); Just (drop 1 <$> break ('\n' ==) s)) "foo\nbar\nbaz" |
2022-10-13 20:53:27 +0200 | <lambdabot> | ["foo","bar","baz"] |
2022-10-13 20:53:30 +0200 | <ski> | > (intercalate ('\n' : replicate 3 ' ') . lines) "foo\nbar\nbaz" |
2022-10-13 20:53:32 +0200 | <lambdabot> | "foo\n bar\n baz" |
2022-10-13 20:53:39 +0200 | Cerins | (~Cerins@balticom-142-106-43.balticom.lv) |
2022-10-13 20:53:53 +0200 | raym | (~aritra@user/raym) (Ping timeout: 252 seconds) |
2022-10-13 20:54:41 +0200 | raym | (~aritra@user/raym) |
2022-10-13 20:55:13 +0200 | <ski> | well, seeing as you parameterized `out', i was wondering why not also the input to `text' |
2022-10-13 20:55:39 +0200 | <EvanR> | I thought out was required for some thing else... apparently not, I just removed it xD |
2022-10-13 20:55:54 +0200 | <ski> | @src intercalate |
2022-10-13 20:55:54 +0200 | <lambdabot> | intercalate xs xss = concat (intersperse xs xss) |
2022-10-13 20:55:58 +0200 | <EvanR> | https://paste.tomsmeding.com/k9UM5UI6 |
2022-10-13 20:56:01 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-13 20:56:24 +0200 | <EvanR> | I finally remember the difference between intersperse and intercalate enough to get this code right, and it's the wrong one xD |
2022-10-13 20:58:02 +0200 | zmt00 | (~zmt00@user/zmt00) |
2022-10-13 20:58:07 +0200 | ski | . o O ( "Yet Another Tabs v. Spaces Debate" ("I mix tabs and spaces") <http://dmwit.com/tabs/> ) |
2022-10-13 20:59:23 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-13 20:59:50 +0200 | <hpc> | i mix vertical tabs and nonbreaking spaces |
2022-10-13 21:00:05 +0200 | <ski> | hehe |
2022-10-13 21:00:15 +0200 | ski | uses form feeds, sometimes |
2022-10-13 21:00:23 +0200 | <hpc> | ooh, that's a good one |
2022-10-13 21:00:28 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:7370:8686:6424:8f5a) |
2022-10-13 21:00:57 +0200 | <hpc> | i end all my lines with a bel character because typewriters ding when they reach the end |
2022-10-13 21:02:17 +0200 | <EvanR> | so in one sense Doc and operations seem like they could be abstract, but then line :: Doc seems to represent "a newline character"... and there is only one concatenation operator instead of horizontal and vertical concat of Doc. So the only meaning I can come up with is "this is basically a string" |
2022-10-13 21:02:28 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2022-10-13 21:02:35 +0200 | <EvanR> | and the abstraction is used by wadler just to get more performance than String |
2022-10-13 21:03:04 +0200 | <EvanR> | i.e. Doc is a faster String. Which is unsatisfying |
2022-10-13 21:03:06 +0200 | <ski> | (Emacs has `C-x [',`C-x ]',`C-x l' for handling (navigation and line count for) multiple pages. i've thought about trying to make an Emacs mode that will only displace the current page in the window. used with `M-x follow-mode' it would show a sequence of adjacent pages in the sequence of windows showing the buffer) |
2022-10-13 21:03:27 +0200 | <ski> | (s/mode/minor mode/) |
2022-10-13 21:03:36 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-10-13 21:04:30 +0200 | <ski> | (now i'm also wondering if `nest' would work with negative counts) |
2022-10-13 21:05:06 +0200 | <EvanR> | in the prior work section he mentions a system using negative indentation, and how it's not as elegant xD |
2022-10-13 21:05:26 +0200 | <EvanR> | at least they it was used in that previous paper, to unindent after accidentally indenting too much |
2022-10-13 21:05:40 +0200 | <EvanR> | the way* |
2022-10-13 21:07:00 +0200 | ski | . o O ( .. should files be terminated by an EOT ? ) |
2022-10-13 21:07:45 +0200 | <geekosaur[m]> | back in the day, DOS files were terminated with CTRL-Z |
2022-10-13 21:07:51 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-10-13 21:08:11 +0200 | <ski> | text files, not binary ones ? |
2022-10-13 21:08:37 +0200 | <ski> | > '\^D' |
2022-10-13 21:08:39 +0200 | <lambdabot> | '\EOT' |
2022-10-13 21:08:43 +0200 | <geekosaur[m]> | I think only text, yeh. binary files had to be a multiple of the disk block size |
2022-10-13 21:09:14 +0200 | <geekosaur[m]> | (well, so did text files, so ^Z had to be used to mark the actual end of file) |
2022-10-13 21:09:34 +0200 | <ski> | EvanR : didn't Wadler have both vertical and horizontal ? (or am i thinking of another paper ? |
2022-10-13 21:09:45 +0200 | <ski> | ) |
2022-10-13 21:09:45 +0200 | <EvanR> | that was the prior paper by... |
2022-10-13 21:10:03 +0200 | <EvanR> | Hughes |
2022-10-13 21:10:12 +0200 | <ski> | ah, ic |
2022-10-13 21:10:29 +0200 | tam-carre | (~tam-carre@2a01cb088a83b300a322b3f387318318.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2022-10-13 21:10:45 +0200 | <ski> | "how it's not as elegant" -- in which sense ? |
2022-10-13 21:10:52 +0200 | <ski> | hm |
2022-10-13 21:11:37 +0200 | <EvanR> | it doesn't say that |
2022-10-13 21:11:39 +0200 | <ski> | there's also stuff like line continuation, "heredocs", &c. |
2022-10-13 21:11:46 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-13 21:11:48 +0200 | <EvanR> | but it does say Hughes version is more complex and at the end |
2022-10-13 21:11:54 +0200 | <ski> | > "\ \" |
2022-10-13 21:11:55 +0200 | <lambdabot> | "" |
2022-10-13 21:12:08 +0200 | <EvanR> | "One might say, the prettier printer hatched in Bird’s nest" (not Hughes') |
2022-10-13 21:13:16 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-10-13 21:13:52 +0200 | <ski> | > read "\"\\ \\\"" :: String |
2022-10-13 21:13:53 +0200 | <lambdabot> | "" |
2022-10-13 21:13:58 +0200 | <ski> | > read "\"\\ \n \\\"" :: String |
2022-10-13 21:14:00 +0200 | <lambdabot> | "" |
2022-10-13 21:14:07 +0200 | <EvanR> | what in the heck |
2022-10-13 21:15:33 +0200 | <ski> | you can insert a backslash, followed by whitespace (e.g. including a newline, and spaces and tabs), followed by another backslash, and it'll get elided |
2022-10-13 21:15:59 +0200 | <ski> | > "\&" -- other quirk thing |
2022-10-13 21:16:01 +0200 | <lambdabot> | "" |
2022-10-13 21:16:22 +0200 | yvan-sraka | (~yvan-srak@46.183.103.17) (Ping timeout: 244 seconds) |
2022-10-13 21:16:52 +0200 | <ski> | > "\SOH\SO\&H\x0041\x00\&41" |
2022-10-13 21:16:54 +0200 | <lambdabot> | "\SOH\SO\&HA\NUL41" |
2022-10-13 21:18:06 +0200 | <EvanR> | soh so ha nul |
2022-10-13 21:18:32 +0200 | <ski> | > read "\"\\ --\n \\\"" :: String |
2022-10-13 21:18:34 +0200 | <lambdabot> | "*Exception: Prelude.read: no parse |
2022-10-13 21:18:34 +0200 | <ski> | > read "\"\\ {--} \\\"" :: String |
2022-10-13 21:18:35 +0200 | <lambdabot> | "*Exception: Prelude.read: no parse |
2022-10-13 21:18:40 +0200 | <EvanR> | this is where the haskell ouroboros zip `ap` tail appears |
2022-10-13 21:18:52 +0200 | <ski> | hah |
2022-10-13 21:19:05 +0200 | <hpc> | @quote aztec |
2022-10-13 21:19:06 +0200 | <lambdabot> | alpounet says: map succ/pred is a scandinavian name generator or what? ... well, scandinavian and aztec |
2022-10-13 21:19:12 +0200 | <hpc> | :( |
2022-10-13 21:19:32 +0200 | <ski> | @quote aztec.god |
2022-10-13 21:19:32 +0200 | <lambdabot> | quicksilver says: zip`ap`tail - the Aztec god of consecutive numbers |
2022-10-13 21:20:04 +0200 | <Vq> | Must be aztec, I don't recognise it as scandinavian. |
2022-10-13 21:20:23 +0200 | <Vq> | Could be danish though... |
2022-10-13 21:20:31 +0200 | <hpc> | also just to answer "why even have this at all", read tries to follow things that are syntactically valid strings |
2022-10-13 21:20:45 +0200 | <hpc> | so if you want to write a multiline string in your source code, apparently that means read has to parse it too |
2022-10-13 21:21:53 +0200 | <ski> | EvanR : anyway, the `line' thing does feel a bit weird, yea |
2022-10-13 21:22:52 +0200 | <ski> | > read "'\\^D'" :: Char -- seems this works, too |
2022-10-13 21:22:53 +0200 | <lambdabot> | '\EOT' |
2022-10-13 21:22:59 +0200 | <EvanR> | the paper does pretty printing by choosing between different layouts of the same logical document, which is defined as flattening to the same line |
2022-10-13 21:23:03 +0200 | <ski> | @type readLitChar |
2022-10-13 21:23:04 +0200 | <lambdabot> | ReadS Char |
2022-10-13 21:23:17 +0200 | <ski> | > readLitChar "\\^D" |
2022-10-13 21:23:18 +0200 | <lambdabot> | [('\EOT',"")] |
2022-10-13 21:23:27 +0200 | <EvanR> | so choices include where to omit the newline and pile things onto the same line, I think |
2022-10-13 21:23:45 +0200 | <EvanR> | which works by just dropping the Line |
2022-10-13 21:23:52 +0200 | <ski> | it does allow the "hanging" style, i assume |
2022-10-13 21:24:03 +0200 | <ski> | (was years since i looked at these papers) |
2022-10-13 21:24:07 +0200 | <EvanR> | I mean, dropping or replacing with a text " " |
2022-10-13 21:25:10 +0200 | <EvanR> | hanging style? |
2022-10-13 21:25:33 +0200 | <ski> | would be nice if it could be configured to use spaces, or tabs, or both (as in the link above, say), in a way that would display (and be interpreted by implementations) consistently & predictably |
2022-10-13 21:25:38 +0200 | <ski> | foo = do |
2022-10-13 21:25:40 +0200 | <ski> | blah |
2022-10-13 21:26:25 +0200 | <ski> | body "hangs" from the end of the previous line |
2022-10-13 21:26:28 +0200 | titibandit | (~titibandi@xdsl-78-34-208-230.nc.de) |
2022-10-13 21:26:41 +0200 | vorpuni | (~pvorp@2001:861:3881:c690:ba0e:e680:831e:7c7b) |
2022-10-13 21:27:15 +0200 | <EvanR> | yes that's the 2nd example for rendering Tree, it uses a fixed indentation instead of checking the length of the node header, which my version does |
2022-10-13 21:27:34 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 21:27:52 +0200 | <ski> | (also ekmett's remarks about wanting to eschew nested comments (at least in the present form), in the interest of being able to monoidally parse, in his video presentation of that, seems a bit relevant) |
2022-10-13 21:28:09 +0200 | <EvanR> | nested comments, too hard! don't need! |
2022-10-13 21:28:30 +0200 | <EvanR> | use your editor spam # everywhere |
2022-10-13 21:28:59 +0200 | <EvanR> | (he drops nested and multiline comments) |
2022-10-13 21:29:21 +0200 | <ski> | he had a perverse example like |
2022-10-13 21:29:24 +0200 | <ski> | {- |
2022-10-13 21:29:29 +0200 | <ski> | -- -} foo |
2022-10-13 21:30:02 +0200 | <ski> | if you remove the `{-' (or add `-- ' in front of it), the `foo' disappears into a comment |
2022-10-13 21:30:35 +0200 | <ski> | ("spooky action at a distance") |
2022-10-13 21:30:52 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 21:31:34 +0200 | <EvanR> | you are automatically thinking about that monoidal parsing talk after thinking about wadler's pretty printer too xD |
2022-10-13 21:31:57 +0200 | <EvanR> | notionally different subjects, seems similar |
2022-10-13 21:32:02 +0200 | <monochrom> | monoidal pretty printing and monoidal parsing... |
2022-10-13 21:32:39 +0200 | <EvanR> | I guess that's a good reason to keep the newline around |
2022-10-13 21:32:40 +0200 | <geekosaur> | except that bidirectional parsing is also a thing |
2022-10-13 21:33:23 +0200 | <monochrom> | Hey why was that not called bidirectional pretty printing heh |
2022-10-13 21:34:01 +0200 | <EvanR> | need a word that means parsing and unparsing |
2022-10-13 21:34:27 +0200 | <geekosaur> | or coparsing |
2022-10-13 21:34:27 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-13 21:34:42 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-10-13 21:34:46 +0200 | ski | . o O ( `isSOF :: Parser Bool',`lookBehind :: Parser a -> Parser a' ) |
2022-10-13 21:34:46 +0200 | Cerins | (~Cerins@balticom-142-106-43.balticom.lv) (Quit: Leaving) |
2022-10-13 21:34:56 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) |
2022-10-13 21:34:59 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-10-13 21:35:59 +0200 | <ski> | DCGs can do both from the same source. .. except that in practice (for various reasons), people typically use it for one, or the other |
2022-10-13 21:37:31 +0200 | pavonia | (~user@user/siracusa) |
2022-10-13 21:38:17 +0200 | <ski> | (also GF generates both linearization and parsing, between abstract syntax, and a given concrete syntax, from the same `lincat' declarations) |
2022-10-13 21:38:48 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Ping timeout: 264 seconds) |
2022-10-13 21:40:29 +0200 | <EvanR> | in the conversion from Tree to Doc (doc), I'm using named field puns to locally "import" the operations of the algebra. I can't tell if this is cool or terrible |
2022-10-13 21:41:13 +0200 | kenran | (~user@user/kenran) |
2022-10-13 21:41:19 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-10-13 21:41:41 +0200 | <ski> | one reason is that the grammar rules are sometimes not syntax-directed (in the AST sense used for static analysis, operational semantics, translations, ..), when parsing, specifically when handling left-factoring, left-recursion; while you do want syntax-directed for linearizing |
2022-10-13 21:41:43 +0200 | <EvanR> | it's certainly not as noisy as I expected |
2022-10-13 21:41:52 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-10-13 21:42:19 +0200 | <ski> | another reason is optional parts like extra whitespace, redundant brackets. possibly syntactic sugar/salt |
2022-10-13 21:43:24 +0200 | <ski> | EvanR : better than using `..' |
2022-10-13 21:43:53 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-10-13 21:44:51 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 252 seconds) |
2022-10-13 21:44:53 +0200 | <ski> | anyway, record construction and update probably should allow declaration forms like `nest n d = nestStr n d' (with pattern-matching, multiple clauses, &c. ..) -- also probably `local'-`in'-`end' |
2022-10-13 21:45:27 +0200 | <EvanR> | also I was worried this kind of code would be brittle in that you aren't guaranteed all the subroutines use the same implementation |
2022-10-13 21:45:29 +0200 | zeenk | (~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) (Quit: Konversation terminated!) |
2022-10-13 21:45:51 +0200 | <EvanR> | or are you, because of the polymorphic doc |
2022-10-13 21:45:53 +0200 | <ski> | (and use `;' rather than `,' for separator .. but then, should there be a keyword after the data constructor for introducing the layout ?) |
2022-10-13 21:46:17 +0200 | <ski> | subroutines ? |
2022-10-13 21:46:33 +0200 | <EvanR> | showTree is based on 3 functions that take DocImpl doc |
2022-10-13 21:46:47 +0200 | <EvanR> | mixing different implementations in the code here would be bad |
2022-10-13 21:46:54 +0200 | <EvanR> | but is it even possible |
2022-10-13 21:47:34 +0200 | ski | idly imagines three-dimensional code layout, in a cuboid of glyph cells |
2022-10-13 21:48:17 +0200 | <EvanR> | 3D glyphs... that's beyond even the matrix |
2022-10-13 21:49:06 +0200 | <darkling> | Sounds like an extension of Mondrian. :) |
2022-10-13 21:50:09 +0200 | <ski> | (hmm, i guess i mean rectangular cuboid .. is there a shorter term ?) |
2022-10-13 21:50:23 +0200 | vn36 | (~vn36@123.63.203.210) (Remote host closed the connection) |
2022-10-13 21:50:48 +0200 | <EvanR> | brick |
2022-10-13 21:50:51 +0200 | <darkling> | Cuboid. |
2022-10-13 21:51:03 +0200 | <darkling> | A rectilinear shape that isn't a cube. |
2022-10-13 21:51:26 +0200 | <EvanR> | a cube isn't also a cuboid then? That probably breaks OOP again |
2022-10-13 21:51:33 +0200 | <ski> | apparently cuboid includes anything that has six faces which are quadrilateral, with arbitrary angles |
2022-10-13 21:51:38 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:7370:8686:6424:8f5a) (Quit: WeeChat 2.8) |
2022-10-13 21:51:53 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 21:52:04 +0200 | <EvanR> | brick it is |
2022-10-13 21:52:24 +0200 | <monochrom> | I like brick. :) |
2022-10-13 21:52:51 +0200 | <monochrom> | Topology has open balls and open bricks >:) |
2022-10-13 21:54:02 +0200 | <ski> | (sure a cube is a cuboid .. but OO object types aren't really about subsets, but rather quotient sets (of records) .. and possibly pullbacks as well)) |
2022-10-13 21:54:04 +0200 | <monochrom> | Hey does your 3D code layout have tensor strength? >:) |
2022-10-13 21:54:37 +0200 | <EvanR> | or are they above liskov substitution xD |
2022-10-13 21:54:40 +0200 | <EvanR> | about |
2022-10-13 21:55:27 +0200 | <ski> | well, i almost said "anything topologically equivalent to a cube" .. but that doesn't work, as a space where we don't keep track of flags |
2022-10-13 21:55:28 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-13 21:55:29 +0200 | <monochrom> | Well it still has subtyping. |
2022-10-13 21:56:21 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
2022-10-13 21:56:23 +0200 | <ski> | sure, subtyping can encompass both subsets and quotient sets |
2022-10-13 21:56:28 +0200 | <EvanR> | don't try to update one of the sides of a cuboid, it might be a cube |
2022-10-13 21:57:16 +0200 | <ski> | (hm, there's a term for when you have subtyping with `O(0)' coercions .. but i can't recall it atm) |
2022-10-13 21:59:05 +0200 | <monochrom> | upcasting? |
2022-10-13 22:01:00 +0200 | <ski> | (hm, my mind tells me i might've seen it in some Xavier Leroy paper/slides, but i can't recall which) |
2022-10-13 22:04:28 +0200 | <ski> | hm, i'm after the distinction between "inclusion" and "coercion", where the former is operationally a no-op, since it uses a representation which can be construed as being of the supertype. (i think the term may have started with "de") |
2022-10-13 22:05:20 +0200 | <EvanR> | like even int can be freely casted to int |
2022-10-13 22:06:51 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-13 22:07:01 +0200 | <ski> | (similar to the distinction of implementing parametric polymorphism with type erasure (enabling reviewing a common representation), and a type-info-passing implementation. i'm also reminded of implicitly passing offsets / tags for record fields / variant alternatives, for light-weight records and variants, probably using rows) |
2022-10-13 22:07:27 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-10-13 22:07:58 +0200 | <ski> | yes (and more importantly), `Map Foo EvenInt' could be treated as `Map Foo Int' (as long as `Map Foo a' is covariant in `a') |
2022-10-13 22:09:58 +0200 | <ski> | (`EvenList' could be a refinement type of `List', declared something like `data EvenList a <: List a = Nil | Cons a (OddList a); data OddList a <: List a = Cons a (EvenList a)' .. this is a different version of "refinement types" that then subset types that e.g. LiquidHaskell uses) |
2022-10-13 22:10:23 +0200 | <ski> | (s/subset types/subset comprehension types/) |
2022-10-13 22:14:17 +0200 | <ski> | monochrom : remind me of what strength means in that context ? |
2022-10-13 22:16:02 +0200 | ski | . o O ( open bricks in the taxi-cab metric/norm ) |
2022-10-13 22:16:26 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-13 22:19:11 +0200 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 268 seconds) |
2022-10-13 22:20:23 +0200 | <ski> | hmm .. there should be a metric on an integral lattice space where the distance is always a natural number, defined in terms of integral diagonals with Pythagorean tuples .. |
2022-10-13 22:20:50 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-13 22:21:46 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 260 seconds) |
2022-10-13 22:22:49 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2022-10-13 22:24:33 +0200 | <EvanR> | what the heck is going on in this screenshot (tabs vs spaces post) http://dmwit.com/tabs/vim.png in the lower half there's obvious tabs, then in the upper half there tabs not aligning with the ones below |
2022-10-13 22:25:04 +0200 | <ski> | .. every natural can be written as a sum of four squares. can every square be written nontrivially as a sum of two or three or four squares ? |
2022-10-13 22:25:38 +0200 | <EvanR> | ok the tabs align, but there's missing tabs |
2022-10-13 22:25:47 +0200 | <geekosaur> | EvanR, looks to me like it's aligning with spacing on the previous line. emacs text-mode does something similar although I don't think I've seen it in a programming mode |
2022-10-13 22:26:28 +0200 | <ski> | EvanR : "tabs are for indenting, spaces are for aligmnment" |
2022-10-13 22:26:43 +0200 | <ski> | EvanR : the spaces align with the "let " |
2022-10-13 22:26:45 +0200 | <hpc> | EvanR: tab, spaces aligning with let (, tab for case |
2022-10-13 22:27:11 +0200 | <EvanR> | but... where are the tabs, where are the spaces |
2022-10-13 22:27:27 +0200 | <hpc> | there are four spaces, directly below "let " |
2022-10-13 22:27:28 +0200 | <ski> | "\t \t..." |
2022-10-13 22:27:37 +0200 | <hpc> | the four columns before the second '>' |
2022-10-13 22:27:50 +0200 | <EvanR> | ok |
2022-10-13 22:28:04 +0200 | <EvanR> | and then another tab, for reasons? |
2022-10-13 22:28:13 +0200 | <hpc> | because there's a case it's indenting into |
2022-10-13 22:28:30 +0200 | <hpc> | case expr of\n\tpat -> expr |
2022-10-13 22:28:36 +0200 | <hpc> | but that whole thing indented by "\t " |
2022-10-13 22:29:43 +0200 | <hpc> | that is a very confusing way to write code, and that notation for tabs technically makes it visible what's what but not really imo |
2022-10-13 22:29:46 +0200 | <ski> | "Thirdly and hindmost: tabs and spaces are of incomparable width. A tab is not eight spaces. A tab is not four spaces. A tab is not two spaces. A tab does not jump to the next eight-character tabstop. There is not some number n such that tabs jump to the next column that is a multiple of n. .." |
2022-10-13 22:29:51 +0200 | <ski> | ".. Tabs are not at least one space wide. Tabs do not even necessarily move to the right! There is simply nothing you can do with spaces to correctly align yourself with a tab character^‡. If you want to align things on two separate lines, and one line has a tab character as the nth character in the line, well, the other line will simply have to have a tab character as the nth character in the line, |
2022-10-13 22:29:57 +0200 | <ski> | too." |
2022-10-13 22:30:06 +0200 | <EvanR> | yeah read all that |
2022-10-13 22:30:52 +0200 | <EvanR> | I'm almost inspired to use tabs xD |
2022-10-13 22:31:07 +0200 | <EvanR> | and now I see the relevance to wadler |
2022-10-13 22:31:30 +0200 | <ski> | they use spaces there to align with the `(w, h) = ...' declaration on the previous line (`let' starts layout. since this layout in this case starts after `let ', we have no choice but align with the `let ', before possibly indenting again) |
2022-10-13 22:31:38 +0200 | <ski> | Wadler's law ? |
2022-10-13 22:31:39 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-13 22:31:49 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
2022-10-13 22:32:07 +0200 | <EvanR> | the pretty printer paper |
2022-10-13 22:32:18 +0200 | <hpc> | ski: can't be, there's no comments :P |
2022-10-13 22:32:41 +0200 | <EvanR> | a lot pivots on the concept of indentation there, but there's no mention of tabs |
2022-10-13 22:33:16 +0200 | <hpc> | honestly, the way i read that whole section is that there's no correct way to render a tab either |
2022-10-13 22:33:26 +0200 | <hpc> | so putting one in your code is just asking for trouble |
2022-10-13 22:34:12 +0200 | <ski> | @wiki Wadler's Law |
2022-10-13 22:34:12 +0200 | <lambdabot> | https://wiki.haskell.org/Wadler's_Law |
2022-10-13 22:35:30 +0200 | <ski> | EvanR : the simpler version (just using tabs, not spaces) is to always break line after a layout-introducing keyword followed by a block spanning more than one line |
2022-10-13 22:36:41 +0200 | <ski> | EvanR : yea, hence i started thinking about a tabs-and-spaces aware/enabled pretty-printer, that gets this right (and is configurable to only spaces, only tabs, spaces-and-tabs) |
2022-10-13 22:38:01 +0200 | <EvanR> | I started by being suspicious of a 'word' in the algebra that is basically a newline, and now we devolved into tabs vs space xD |
2022-10-13 22:38:01 +0200 | <ski> | (anyway, regarding "brick" syntax, imagine being able to align your three-dimensional array both horizontally, vertically, and "depthly") |
2022-10-13 22:38:17 +0200 | <EvanR> | so much for abstract document |
2022-10-13 22:38:25 +0200 | <geekosaur> | at some point that becomes too much to track… |
2022-10-13 22:39:13 +0200 | <ski> | alignment seems to be about wanting to view the document not as a linear string, but as two-dimensional (iow with commuting paths), in places |
2022-10-13 22:40:13 +0200 | <EvanR> | I'd settle for something that solves in 2 dimensions if 3 is too much to ask |
2022-10-13 22:40:31 +0200 | <EvanR> | unless there's a one liner that works in N dimensions |
2022-10-13 22:40:52 +0200 | <hpc> | one-planer? |
2022-10-13 22:41:11 +0200 | <ski> | .. i recall in an RPG game i played, i could enter into a screen for each character, containing "parallel" sections (only one shown at a time) for different "properties" .. and finding it annoying that if i navigated to the next/previous character (with another two buttons), it'd reset the section to the first section, rather than moving to the parallel one (as if i moved in a grid) |
2022-10-13 22:41:14 +0200 | <EvanR> | if anyone says that there's a Z-tab I'm out |
2022-10-13 22:42:29 +0200 | ski | . o O ( direct product vs. maybe semi-direct product, wreath product, .. hmm ) |
2022-10-13 22:42:49 +0200 | <EvanR> | what was the structure of this rpg screen again? |
2022-10-13 22:43:01 +0200 | <ski> | hm, structure ? |
2022-10-13 22:43:06 +0200 | <EvanR> | i can't visualize it |
2022-10-13 22:43:11 +0200 | <ski> | it was a dungeon crawler (on GameBoy) |
2022-10-13 22:43:24 +0200 | <EvanR> | it was a document? or |
2022-10-13 22:43:36 +0200 | <ski> | it had "properties" (for each character) like inventory, character stats, &c. |
2022-10-13 22:44:16 +0200 | <ski> | (well, GameBoy Advance, i think .. or maybe it was DS .. can't recall) |
2022-10-13 22:44:24 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) |
2022-10-13 22:45:06 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-10-13 22:46:00 +0200 | <ski> | (idea of commuting paths also turns up if you want to `unfoldr' (or dynamically program) a double recurrence, like e.g. Pascal's triangle / binomial coefficients) |
2022-10-13 22:46:43 +0200 | <ski> | (ok, it ws GBA as i thought) |
2022-10-13 22:48:10 +0200 | <ski> | "The game received moderately negative reviews compared to the original computer game. It was given a 41% rating by NGC Magazine, criticizing it for its slow pace between exploration and combat, its bad interface and confusing menus, while highlighting only its variety of spells and character customization, that give the game some level of depth." (my emph.) |
2022-10-13 22:48:35 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:657b:163b:3e09:9614) (Ping timeout: 248 seconds) |
2022-10-13 22:48:53 +0200 | <EvanR> | so like you scroll down to the inventory page for character A, scroll right and it goes to not the inventory of character B? |
2022-10-13 22:49:02 +0200 | <ski> | yep, basically |
2022-10-13 22:50:12 +0200 | <ski> | like whenever you moved in a text editor to another line, it would move to the start of the line. or even just not restore the current column level when you moved down/up to a line of suffficient length |
2022-10-13 22:50:31 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-13 22:51:11 +0200 | <hpc> | sounds like notepad |
2022-10-13 22:51:24 +0200 | <hpc> | if you have word wrap on in older versions, sometimes when you save the cursor moves |
2022-10-13 22:51:26 +0200 | <ski> | (some older IDEs, like Commodore 64 screen editor (e.g. for BASIC), and Borland Turbo C simply allowed you to position yourself past "the end" of a line, making it more transparent, inserting spaces (or maybe configurable to tabs, for the latter), if you inserted any non-blank) |
2022-10-13 22:51:58 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-13 22:52:02 +0200 | <ski> | yea .. have done my share of editing in Notpad, loading in WinHugs :) |
2022-10-13 22:52:30 +0200 | <EvanR> | might as well allow going before the first line, and left of the beginning of line. Complete the plane |
2022-10-13 22:52:30 +0200 | vn36 | (~vn36@123.63.203.210) (Ping timeout: 268 seconds) |
2022-10-13 22:53:01 +0200 | <EvanR> | I could use that space left of the line for all kind of things |
2022-10-13 22:53:12 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-13 22:53:33 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer) |
2022-10-13 22:53:47 +0200 | <ski> | @where Vital |
2022-10-13 22:53:47 +0200 | <lambdabot> | "Vital is a document-centered implementation of Haskell","The Vital project (acronym: Visual Interactive Typed Applicative Language) is investigating a /document-centered/ approach to functional |
2022-10-13 22:53:47 +0200 | <lambdabot> | programming with an emphasis on the display and /direct manipulation/ of complex data structures." (cf. spreadsheets) <http://www.cs.kent.ac.uk/projects/vital/>,<https://web.archive.org/web/2009052901 |
2022-10-13 22:53:47 +0200 | <lambdabot> | 0107/http://www.cs.kent.ac.uk:80/projects/vital/> |
2022-10-13 22:54:58 +0200 | <EvanR> | the link being broken, literally |
2022-10-13 22:55:39 +0200 | <EvanR> | we can rebuild it https://web.archive.org/web/20090529010107/http://www.cs.kent.ac.uk:80/projects/vital/ |
2022-10-13 22:56:28 +0200 | <ski> | EvanR : would it be one-point/Alexandroff completion, or Stone–Čech ? |
2022-10-13 22:56:59 +0200 | <EvanR> | do those support unicode? |
2022-10-13 22:57:19 +0200 | <ski> | hm .. i dunno about completion of unicode plane |
2022-10-13 22:58:05 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-10-13 23:00:38 +0200 | <ski> | hpc : oh, and yea .. visual line move (like `line-move-visual' being on in Emacs) annoys me. if i move up or down, i want to move to corresponding column positions of logical (physical ?) lines, not to apparent corresponding positions on my current display with some long lines wrapped .. |
2022-10-13 23:00:56 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-10-13 23:02:03 +0200 | <dolio> | That's helpfully telling you to make your lines shorter. :) |
2022-10-13 23:02:38 +0200 | <ski> | yea i know .. but sometimes that's sadly not practical |
2022-10-13 23:03:06 +0200 | <EvanR> | if you need your long lines to fit on the screen, that calls for a hyberpolic plane |
2022-10-13 23:03:18 +0200 | <EvanR> | hyperbolic! |
2022-10-13 23:03:33 +0200 | ski | typically tries to keep lines at most `80' columns, and pages at most `66' lines |
2022-10-13 23:03:34 +0200 | <hpc> | ski: vim does it the way you want |
2022-10-13 23:03:56 +0200 | <hpc> | same with block moves, they remain rectangular as if you had an infinitely wide screen |
2022-10-13 23:04:09 +0200 | <ski> | yea, Emacs does as well, when i club it with `(setq line-move-visual nil)' |
2022-10-13 23:04:59 +0200 | <ski> | (i just happened to use a machine lately where i'd not added that to `$HOME/.emacs', is why i recalled it now) |
2022-10-13 23:05:59 +0200 | <ski> | EvanR : hmm .. |
2022-10-13 23:06:11 +0200 | ski | tries to imagine a hyperbolic plane code explorer |
2022-10-13 23:06:42 +0200 | <EvanR> | it would mess this up though https://i.imgur.com/ryt16xg.png |
2022-10-13 23:07:03 +0200 | ski | . o O ( zipper for graphs, possibly `n'-categories ) |
2022-10-13 23:07:20 +0200 | <EvanR> | suddenly you can't rely on the finite screen area to limit the demand of infinite objects |
2022-10-13 23:07:41 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-13 23:08:06 +0200 | <ski> | well, at some point you get low enough resolution that you can stop anyway ? |
2022-10-13 23:08:10 +0200 | <EvanR> | ok ok you can stop when it is determined there's not enough DPI at the edge to read anything, or not enough DPI in the user's vision, which ever fails first |
2022-10-13 23:09:39 +0200 | ski | . o O ( "Why program with continuous time?" by conal in 2010-01-02 at <http://conal.net/blog/posts/why-program-with-continuous-time> ) |
2022-10-13 23:32:39 +0200 | euandreh | (~euandreh@179.214.113.107) (Ping timeout: 252 seconds) |
2022-10-13 23:33:30 +0200 | ski | . o O ( zipper for graphs ) |
2022-10-13 23:33:32 +0200 | VictorLandevos | (~VictorLan@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-10-13 23:33:42 +0200 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) |
2022-10-13 23:33:49 +0200 | chomwitt | (~chomwitt@2a02:587:dc0c:c200:a0a8:ed7f:a699:91a5) (Ping timeout: 268 seconds) |
2022-10-13 23:34:17 +0200 | talismanick | (~talismani@2601:200:c100:c9e0::1b0b) |
2022-10-13 23:34:34 +0200 | euandreh | (~euandreh@179.214.113.107) |
2022-10-13 23:36:43 +0200 | elbear | (~lucian@188.24.138.239) |
2022-10-13 23:38:01 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-13 23:40:09 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
2022-10-13 23:41:11 +0200 | elbear | (~lucian@188.24.138.239) (Ping timeout: 268 seconds) |
2022-10-13 23:42:11 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-13 23:49:23 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a99955eeb096340e161.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-10-13 23:51:46 +0200 | bgamari_ | (~bgamari@64.223.236.29) |
2022-10-13 23:53:45 +0200 | bgamari | (~bgamari@64.223.130.138) (Ping timeout: 250 seconds) |
2022-10-13 23:58:34 +0200 | ubert1 | (~Thunderbi@178.165.199.63.wireless.dyn.drei.com) |
2022-10-13 23:59:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |