2022/03/29

2022-03-29 00:04:47 +0200juri_(~juri@178.63.35.222) (Ping timeout: 268 seconds)
2022-03-29 00:06:55 +0200 <Franciman> is there any connection between laziness and delimited continuations?
2022-03-29 00:09:01 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-03-29 00:10:08 +0200slack1256(~slack1256@186.11.57.103) (Ping timeout: 272 seconds)
2022-03-29 00:15:59 +0200juri_(~juri@178.63.35.222)
2022-03-29 00:20:41 +0200 <sm> tomsmeding: once it's live I'll test my CSS skillz
2022-03-29 00:22:53 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-03-29 00:24:37 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 246 seconds)
2022-03-29 00:24:53 +0200nosewings(~ngpc@2603-8081-3e05-e2d0-d1c9-95f0-ca37-6e6f.res6.spectrum.com) (Remote host closed the connection)
2022-03-29 00:25:24 +0200 <unit73e> ugh.. I dislike css with passion
2022-03-29 00:25:34 +0200 <unit73e> well, the web in general
2022-03-29 00:26:02 +0200 <hpc> i find css to be relatively nice, but not objectively nice
2022-03-29 00:26:14 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-03-29 00:26:30 +0200 <hpc> although i also run noscript :P
2022-03-29 00:28:05 +0200 <tomsmeding> sm: I'm going to bed now but in case it finishes compiling correctly in half an hour or something, http://play-haskell.tomsmeding.com:8123
2022-03-29 00:28:31 +0200kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Ping timeout: 260 seconds)
2022-03-29 00:28:37 +0200 <tomsmeding> (in case you get redirected to my homepage, http://78.47.27.56:8123)
2022-03-29 00:29:02 +0200 <unit73e> css is a poorly implemented good idea, html isn't being used for what it was supposed to, and javascript is a hack job that resulted in lots of strange code and people still trying to fix it. could have been 100% declarative. just my small rant.
2022-03-29 00:30:00 +0200 <unit73e> a useless rant because everything has some flaw
2022-03-29 00:32:26 +0200 <hpc> javascript makes a lot more sense once you realize it was originally going to be in the lisp family
2022-03-29 00:32:50 +0200 <hpc> then some execs at netscape wanted to cash in on the "java" name, oh and nobody was going to ever want to type that many parens
2022-03-29 00:33:27 +0200 <hpc> now instead they write (function(){}); instead :D
2022-03-29 00:33:44 +0200 <unit73e> Franciman, I know the original idea of laziness was to solve composition so I'd say yes but it's sort of a subset
2022-03-29 00:34:21 +0200 <unit73e> that does make some sense given the prototype nature of javascript
2022-03-29 00:34:34 +0200 <unit73e> although nowadays most devs use classes
2022-03-29 00:37:10 +0200 <Zemyla> Does anyone use delimited continuations? They aren't offered in an MT
2022-03-29 00:37:20 +0200 <Zemyla> MTL-style fashion.
2022-03-29 00:37:44 +0200 <abastro[m]> So JS departured too much from lisp style now
2022-03-29 00:37:58 +0200acidjnk(~acidjnk@p200300d0c7049f67fc06a0258b52409e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-03-29 00:38:15 +0200 <abastro[m]> I thought callCC is kind of like delimited continuation
2022-03-29 00:38:47 +0200 <geekosaur> lisp didn't want it and java's afraid it'll take over? :þ
2022-03-29 00:38:58 +0200ProfSimm(~ProfSimm@87.227.196.109) (Ping timeout: 250 seconds)
2022-03-29 00:39:20 +0200 <janus> Zemyla: what would it mean to have them in MTL style? with type classes?
2022-03-29 00:39:36 +0200 <janus> and n^2 instances?
2022-03-29 00:39:42 +0200 <sm> 👍️
2022-03-29 00:40:15 +0200 <Zemyla> Yeah. The only continuation typeclass is MonadCont, which provides escaping continuations.
2022-03-29 00:41:10 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (Quit: ...)
2022-03-29 00:41:16 +0200lambdabot(~lambdabot@silicon.int-e.eu)
2022-03-29 00:41:16 +0200lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2022-03-29 00:41:16 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-03-29 00:43:51 +0200 <int-e> Zemyla: It was complaining about base-orphans because Data.Profunctor.Traversing imports Data.Orphans, and relies on that module to be trusted in order to be inferred safe
2022-03-29 00:44:01 +0200 <Zemyla> :t Mealy
2022-03-29 00:44:01 +0200 <lambdabot> error: Data constructor not in scope: Mealy
2022-03-29 00:45:04 +0200 <int-e> Zemyla: base-orphans wasn't trusted because I minimized the list of packages to be trusted to cover just what's imported by default... but it's silly to distrust a package that provides instances transitively as soon as it's imported by a single module (profunctor *is* trusted) so I changed it now...
2022-03-29 00:46:24 +0200 <Zemyla> @let import Data.Profunctor,Traversing
2022-03-29 00:46:25 +0200 <lambdabot> Parse failed: Parse error: ,
2022-03-29 00:46:31 +0200 <tomsmeding> sm: correction, put /play after those urls
2022-03-29 00:46:31 +0200 <Zemyla> @let import Data.Profunctor.Traversing
2022-03-29 00:46:32 +0200 <lambdabot> Defined.
2022-03-29 00:46:37 +0200 <int-e> or hmm, no, profunctors used to be trusted but isn't at this time... is it all inferred safe now? I don't know.
2022-03-29 00:46:40 +0200 <tomsmeding> (not yet compiled)
2022-03-29 00:50:25 +0200 <int-e> Btw I saw this by poor chance... highlighting me for lambdabot issues might help getting my attention :)
2022-03-29 00:50:33 +0200 <int-e> *pure
2022-03-29 00:50:44 +0200 <int-e> (and now... off to bed)
2022-03-29 00:58:19 +0200 <tomsmeding> maerwald: sm: pastebin-haskell depends on libarchive with a version that's too new for ubuntu 20.04, so it doesn't work, more potentially later this week :p
2022-03-29 00:59:47 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-03-29 01:02:21 +0200cosimone`(~user@93-44-187-176.ip98.fastwebnet.it)
2022-03-29 01:03:16 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 245 seconds)
2022-03-29 01:05:41 +0200jgeerds(~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 256 seconds)
2022-03-29 01:07:47 +0200kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it)
2022-03-29 01:08:53 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4.1)
2022-03-29 01:11:34 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
2022-03-29 01:12:30 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-03-29 01:12:50 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2022-03-29 01:17:00 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-03-29 01:17:53 +0200 <mstksg> is there a nice way to write really fast finite state machine
2022-03-29 01:17:56 +0200 <mstksg> oops
2022-03-29 01:18:00 +0200mstksgjle`
2022-03-29 01:18:03 +0200nosewings(~ngpc@2603-8081-3e05-e2d0-e11f-0c89-4074-605e.res6.spectrum.com)
2022-03-29 01:18:04 +0200 <jle`> ok
2022-03-29 01:18:16 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) (Quit: Konversation terminated!)
2022-03-29 01:18:48 +0200 <DigitalKiwi> ugh i still can't figure out how to get this stack script to work :(
2022-03-29 01:19:21 +0200 <nosewings> does anyone have experience with generic-data-surgery?
2022-03-29 01:20:45 +0200Codaraxis__(~Codaraxis@user/codaraxis)
2022-03-29 01:22:09 +0200deadmarshal_(~deadmarsh@95.38.119.235)
2022-03-29 01:23:04 +0200 <hpc> does it give "order of operations" a whole new meaning? :P
2022-03-29 01:24:09 +0200 <abastro[m]> Is this haskell being bad or something:
2022-03-29 01:24:09 +0200 <abastro[m]> https://eli.thegreenplace.net/2018/more-thoughts-on-the-expression-problem-in-haskell/
2022-03-29 01:24:32 +0200 <DigitalKiwi> alternatively does anyone know of some haskell ecommerce solutions
2022-03-29 01:25:03 +0200 <dminuoso> abastro[m]: Not reallz.
2022-03-29 01:25:07 +0200 <DigitalKiwi> davean: is your shopify still working?
2022-03-29 01:25:15 +0200 <hpc> abastro[m]: i don't think there's any language out there that adequately solves the expression problem
2022-03-29 01:25:18 +0200sprout(~quassel@2a02:a467:ccd6:1:950:287b:c4be:ac00) (Ping timeout: 260 seconds)
2022-03-29 01:25:40 +0200 <abastro[m]> Well they provide an example of clojure
2022-03-29 01:25:49 +0200 <abastro[m]> Which cleanly solves rbe problem
2022-03-29 01:25:56 +0200 <dminuoso> For some value of "cleanly"
2022-03-29 01:26:26 +0200 <dminuoso> Of course if you drop all notions of typing and just use generic hashmaps for *everything*, then yeah.. expression problem doesnt exist.
2022-03-29 01:26:26 +0200 <abastro[m]> Well at least the author claims it
2022-03-29 01:26:33 +0200 <abastro[m]> And it looks clean enough to me
2022-03-29 01:26:51 +0200deadmarshal_(~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds)
2022-03-29 01:26:58 +0200 <dminuoso> Well, it works precisely because the expression problem is about trading the difficulty of adding new types against adding new operations.
2022-03-29 01:27:13 +0200 <dminuoso> In strongly typed languages one is usually going to be simple, while the other is hard
2022-03-29 01:27:26 +0200 <dminuoso> Clojure works precisely because its untyped, so Im not convinced its a useful example
2022-03-29 01:27:40 +0200 <dminuoso> In principle the clojure trick can be done in haskell too
2022-03-29 01:28:04 +0200 <dminuoso> Just pass everything as `Map Dynamic Dynamic`, and have everything output `Map Dynamic Dynamic`
2022-03-29 01:28:12 +0200 <hpc> over time i have found that if you want something to be open in both dimensions, the idea of it isn't defined well enough to begin with
2022-03-29 01:28:16 +0200 <dminuoso> If you think about this for a second you will very rapidly realize this is not a clean solution.
2022-03-29 01:28:19 +0200 <dminuoso> It's just avoiding the problem
2022-03-29 01:29:19 +0200 <abastro[m]> How do you do the Map Dynamic Dynamic approach
2022-03-29 01:29:35 +0200Axman6(~Axman6@user/axman6)
2022-03-29 01:29:41 +0200sprout(~quassel@2a02:a467:ccd6:1:950:287b:c4be:ac00)
2022-03-29 01:29:57 +0200 <abastro[m]> Also it's not like the author fail to put some thought in the post
2022-03-29 01:29:57 +0200 <dminuoso> abastro[m]: Here, my libraries interface is this: `makeThing :: String -> Int -> Map Dynamic Dynamic`
2022-03-29 01:30:06 +0200 <abastro[m]> Surely they would have put lots of thought
2022-03-29 01:30:12 +0200 <dminuoso> I promie the return interface is *extensible* by me without breaking your compiler
2022-03-29 01:30:16 +0200 <dminuoso> And operations by you are exdtensible.
2022-03-29 01:30:37 +0200 <abastro[m]> What is `Dynamic`
2022-03-29 01:30:53 +0200 <hpc> Dynamic is the "i give up" type - it can have anything in it
2022-03-29 01:31:03 +0200 <dminuoso> What clojure has, essentially.
2022-03-29 01:31:04 +0200 <geekosaur> see Data.Dynamic
2022-03-29 01:31:08 +0200 <hpc> without having to actually know the type statically like a type variable
2022-03-29 01:31:28 +0200 <dminuoso> % import Data.Dynamic
2022-03-29 01:31:28 +0200 <yahb> dminuoso:
2022-03-29 01:31:42 +0200 <geekosaur> the only requirement it has is thatyour type be Typeable, which ghc forces these days anyway
2022-03-29 01:31:48 +0200 <dminuoso> % x :: [Dynamic]; x = [toDyn (5 :: Integer), toDyn "foobar", toDyn c]
2022-03-29 01:31:48 +0200 <yahb> dminuoso: ; <interactive>:4:66: error: Variable not in scope: c
2022-03-29 01:31:51 +0200 <dminuoso> % x :: [Dynamic]; x = [toDyn (5 :: Integer), toDyn "foobar", toDyn 'c']
2022-03-29 01:31:51 +0200 <yahb> dminuoso:
2022-03-29 01:31:55 +0200 <abastro[m]> Oh it exists in base
2022-03-29 01:32:14 +0200 <dminuoso> abastro[m]: So you can see, you can do a simple clojure style heterogenous list (or map) just fine in haskell.
2022-03-29 01:32:33 +0200 <abastro[m]> Though I mean, obviously it takes more work than clojure
2022-03-29 01:33:01 +0200 <dminuoso> abastro[m]: On the other hand we make you force to admit that if you expect a particular thing to be String to deal with the possibility that it may not. *shrugs*
2022-03-29 01:33:17 +0200 <dminuoso> Because realistically the only way to get the value back again is
2022-03-29 01:33:20 +0200 <dminuoso> % :t fromDyn
2022-03-29 01:33:20 +0200 <yahb> dminuoso: Typeable a => Dynamic -> a -> a
2022-03-29 01:33:22 +0200 <dminuoso> % :t fromDynamic
2022-03-29 01:33:22 +0200 <yahb> dminuoso: Typeable a => Dynamic -> Maybe a
2022-03-29 01:33:33 +0200 <monochrom> Dynamic lacks Eq and Ord, you can't even do associative lists.
2022-03-29 01:33:50 +0200 <dminuoso> Oh! Well I guess I can do `Map String Dynamic` then.
2022-03-29 01:33:53 +0200 <hpc> you can if you error on non-string keys
2022-03-29 01:33:53 +0200 <dminuoso> Which is good enough
2022-03-29 01:34:11 +0200 <hpc> dminuoso: not good enough! what if you want someone to be able to accidentally write an error into their code :P
2022-03-29 01:34:19 +0200 <monochrom> Falling back to String is sad, but haha.
2022-03-29 01:34:28 +0200 <dminuoso> abastro[m]: Anyway, the point is not that clojure can do this more simply - ask yourself rather whether this is an actual "solution" to the expression problem
2022-03-29 01:34:50 +0200 <abastro[m]> Well, the author claims it is
2022-03-29 01:35:05 +0200 <abastro[m]> And I am yet to be convinced otherwise tbh
2022-03-29 01:35:09 +0200 <dminuoso> Expression problem is something that affects untyped languages.
2022-03-29 01:35:17 +0200 <dminuoso> *typed err
2022-03-29 01:35:26 +0200 <dminuoso> It's fundamentally a typed language problem. To claim that an untyped language solves this is just ignorance.
2022-03-29 01:35:27 +0200 <abastro[m]> Oh right, actually
2022-03-29 01:35:28 +0200 <dminuoso> Sorry.
2022-03-29 01:35:50 +0200 <monochrom> Wait how does Dynamic or Map Dynamic have anything to do with the expression problem in the first place? Nevermind whether it is a solution.
2022-03-29 01:35:57 +0200 <abastro[m]> That was what I agree, by sacrificing strong typing you can avoid expression problem
2022-03-29 01:36:13 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving)
2022-03-29 01:36:35 +0200 <dminuoso> monochrom: Well, if my interface is not some ADT but just a `Map String Dynamic`, then I can freely extend that object with more keys without causing compiler errors.. and you can also just freely extend operations on it..
2022-03-29 01:36:49 +0200 <monochrom> Or is this some kind of "if you don't expect correctness, then there is no software crisis" tautology?
2022-03-29 01:36:50 +0200 <abastro[m]> Dynamically typed language solve it in that it avoids the problem
2022-03-29 01:37:20 +0200 <jackdk> monochrom: sounds like it to me
2022-03-29 01:37:28 +0200 <hpc> monochrom: i have no types and i must scream?
2022-03-29 01:37:47 +0200 <monochrom> You have no types and you must Scheme. >:)
2022-03-29 01:37:51 +0200 <abastro[m]> Which is quite usable in that case it seems.
2022-03-29 01:37:55 +0200 <hpc> ah crap, that was the joke
2022-03-29 01:38:15 +0200 <hpc> dynamic typing never avoids the problem
2022-03-29 01:38:18 +0200 <dminuoso> abastro[m]: Id say the expression problem has a third dimension and clojure is quite negative on that dimension.
2022-03-29 01:38:39 +0200 <hpc> no matter what the problem is, imo
2022-03-29 01:38:42 +0200 <abastro[m]> Hm what is the third dimension?
2022-03-29 01:39:02 +0200 <abastro[m]> Uh dynamic does avoid the problem doesn't it
2022-03-29 01:39:15 +0200 <abastro[m]> Because it does not employ the fixed type
2022-03-29 01:39:33 +0200 <hpc> the type is still there, in your mind as you are reading
2022-03-29 01:39:44 +0200 <abastro[m]> (The author also mentions python being bad at it btw, by having monkey patching)
2022-03-29 01:40:06 +0200 <dminuoso> abastro[m]: So if we invert the problem into asking "how many guarantees can we get from the compiler", then its that haskell gives us the guarantee that the data interface hasnt changed, and in languages like java you get the guarantee that operations generally dont have to change if you extend your data type.
2022-03-29 01:40:13 +0200 <dminuoso> abastro[m]: then in clojure you dont get any guarantees.
2022-03-29 01:40:15 +0200 <abastro[m]> Yea I mean the imaginary type is still easily expansible
2022-03-29 01:40:46 +0200 <hpc> but how do you know it's that type?
2022-03-29 01:40:49 +0200 <monochrom> "The Phantom [of the] Type is inside my mind" :)
2022-03-29 01:40:57 +0200 <hpc> it could be some entirely other type
2022-03-29 01:41:10 +0200 <abastro[m]> I see, guarantee is kind of the thing dynamic language compromises for the flexibility
2022-03-29 01:42:04 +0200 <hpc> there's a good saying that applies here, a C programmer knows the cost of everything and the value of nothing
2022-03-29 01:42:08 +0200 <abastro[m]> Anyway the author is at least being fair to everyone, aren't they
2022-03-29 01:42:26 +0200 <hpc> (meaning you know how many cycles a bitshift or whatever might take, but not what the result will be)
2022-03-29 01:42:31 +0200 <hpc> similar with type systems
2022-03-29 01:43:32 +0200 <abastro[m]> <del>Haskell programmers know value of everything but cost of nothing</del>
2022-03-29 01:43:34 +0200 <monochrom> mtl = I know the kind of everything but the type of nothing :)
2022-03-29 01:44:11 +0200 <dminuoso> @quote monochrom dialectic
2022-03-29 01:44:11 +0200 <lambdabot> monochrom says: Programming is a dialectic class struggle between the author and the user. My freedom is your slavery. Your ignorance is my strength.
2022-03-29 01:44:32 +0200 <hpc> perhaps dynamic types are like gymnasts - infinitely flexible but they can't help you get a couch upstairs
2022-03-29 01:45:30 +0200 <dminuoso> abastro[m]: Try working with `Map String Dynamic`, and evaluate it - but try and not get influenced by the additional noise of `toDyn` or `fromDyn`. Try it for a day, and tell me if you like writing software with that. :-)
2022-03-29 01:45:42 +0200 <dminuoso> That is, use it in place of ADTs.
2022-03-29 01:46:07 +0200 <hpc> in fact, you can't even write type signatures
2022-03-29 01:46:12 +0200 <abastro[m]> Clojure has better ergonomics at dealing with these dynamic types, no?
2022-03-29 01:46:25 +0200 <nosewings> do get influenced a little bit by `fromDyn`, because that makes explicit every point where you'd be maing an implicit assumption in a dynamically-typed language
2022-03-29 01:46:26 +0200 <hpc> and turn on deferred type errors, for the real experience
2022-03-29 01:47:10 +0200 <hpc> hah, that's a good point
2022-03-29 01:47:15 +0200 <hpc> every fromDyn is another 100 unit tests
2022-03-29 01:47:19 +0200 <abastro[m]> Idk, I don't want to be too judgy against other languages I do not know much
2022-03-29 01:47:58 +0200 <abastro[m]> Also I want to not dismiss a blog post which seems well-thought out and well-written as well
2022-03-29 01:48:33 +0200 <monochrom> well-thought-out and well-written are not enough.
2022-03-29 01:48:37 +0200 <hpc> abastro[m]: do the opposite, i think - don't accept what's written until you try it out, no matter how well-written it is
2022-03-29 01:48:45 +0200 <monochrom> You also need well-informed and unbiased.
2022-03-29 01:49:05 +0200 <hpc> to do otherwise is to invite https://en.wikipedia.org/wiki/Replication_crisis
2022-03-29 01:49:38 +0200 <hpc> (that includes everything discussed here)
2022-03-29 01:49:38 +0200 <monochrom> The conjunction of all those four is so rare you can safely just ignore all blogs.
2022-03-29 01:49:49 +0200 <monochrom> which is what I do.
2022-03-29 01:49:55 +0200 <abastro[m]> Well-informed is hard though
2022-03-29 01:50:04 +0200 <abastro[m]> I mean that way you'd ignore everything
2022-03-29 01:50:15 +0200 <hpc> until you evaluate the idea yourself it won't really be in your brain anyway
2022-03-29 01:50:18 +0200 <hpc> not in any usable form
2022-03-29 01:50:47 +0200 <monochrom> The statement "with no static typing there is no expression problem" is at the same time both true and showing a bias.
2022-03-29 01:51:00 +0200 <abastro[m]> Perhaps I wanted to give the blog a bit more credit because it got quite much upvotes in r/haskell
2022-03-29 01:51:16 +0200 <monochrom> As dminuoso explained, how about letting a type check watch your six.
2022-03-29 01:51:29 +0200 <monochrom> s/a type check/a type checker/
2022-03-29 01:51:42 +0200 <abastro[m]> Well, the blogger just said that clojure solved expression problem
2022-03-29 01:52:10 +0200 <abastro[m]> And that it is a hard problem in general
2022-03-29 01:52:32 +0200 <hpc> i didn't see any clojure code in that blog post, btw
2022-03-29 01:52:45 +0200 <dminuoso> Sometimes I do think that "dynamic typing" is grossly misleading and just framing. "Dynamic" sounds very positive, where "static" sounds constraining and rigid. Not quick.
2022-03-29 01:52:46 +0200 <abastro[m]> Oh, it has a linked post
2022-03-29 01:53:03 +0200 <dminuoso> It's weird because you generally wouldn't say runtime crashes are *dynamic* tests and test suites *static* tests.
2022-03-29 01:53:10 +0200 <dminuoso> But here we are, we do live in this world.
2022-03-29 01:53:14 +0200 <abastro[m]> https://eli.thegreenplace.net/2016/the-expression-problem-and-its-solutions/
2022-03-29 01:53:57 +0200 <hpc> hmm, maybe the blog is poorly styled or noscript is interfering or something - i couldn't find that link
2022-03-29 01:54:40 +0200 <abastro[m]> There are school of thought that good test suites could replace typing
2022-03-29 01:54:46 +0200 <abastro[m]> Type system*
2022-03-29 01:55:10 +0200 <dminuoso> The moment one equates a type system as a test suite, it should become immediately clear why doing this at runtime is not convincing to some.
2022-03-29 01:55:18 +0200chenqisu1(~chenqisu1@183.217.200.168)
2022-03-29 01:55:23 +0200 <hpc> what is "good"?
2022-03-29 01:55:29 +0200 <hpc> does your compiler write the test suite?
2022-03-29 01:55:36 +0200 <dminuoso> abastro[m]: type systems *are* test suites of a kind.
2022-03-29 01:55:47 +0200chenqisu1(~chenqisu1@183.217.200.168) (Max SendQ exceeded)
2022-03-29 01:55:53 +0200ProfSimm(~ProfSimm@87.227.196.109)
2022-03-29 01:55:59 +0200 <hpc> good subroutines could just as easily replace higher-order functions
2022-03-29 01:56:05 +0200 <abastro[m]> No, you write it as part of specification
2022-03-29 01:56:10 +0200 <hpc> good registers can replace memory addressing
2022-03-29 01:56:15 +0200chenqisu1(~chenqisu1@183.217.200.168)
2022-03-29 01:56:18 +0200 <abastro[m]> Also gives more flexibility and freedom
2022-03-29 01:56:31 +0200 <dminuoso> A type checker accepting `f :: String -> Int`, asserts that both this function *exactly* takes a String, and doesnt treat it as an Int, and it produces an Int, not a Float. And it asserts its used correctly accordingly in all call sites.
2022-03-29 01:56:38 +0200 <Axman6> Johnny SSA, and the infinite registers
2022-03-29 01:56:42 +0200 <monochrom> I think programmers are failing at testing, too.
2022-03-29 01:56:54 +0200 <hpc> monochrom: you just don't TDD :P
2022-03-29 01:56:58 +0200 <dminuoso> abastro[m]: Do you really think you can write a test suite that dynamically asserts this property?
2022-03-29 01:57:05 +0200 <dminuoso> I mean yeah, with instrumentation you can.
2022-03-29 01:57:08 +0200 <abastro[m]> Well they are certainly fine earning money at least
2022-03-29 01:58:15 +0200 <abastro[m]> I browse Programming Languages subreddit from time to time, and every so often there is a post about suggesting to replace type system with runnable constraints
2022-03-29 01:58:17 +0200 <abastro[m]> Constraints like test
2022-03-29 01:58:25 +0200 <hpc> fun fact: using "they are making money doing it" as an argument for correctness requires the efficient market hypothesis, which is true iff p=np - https://arxiv.org/pdf/1002.2284.pdf
2022-03-29 01:58:35 +0200euandreh(~euandreh@2804:14c:33:9fe5:a3d9:5253:a1a8:660f) (Ping timeout: 252 seconds)
2022-03-29 01:58:38 +0200 <monochrom> It is relatively easy to make money, compared to doing things right. https://danluu.com/nothing-works/
2022-03-29 01:58:58 +0200 <hpc> if p=np we don't need type systems
2022-03-29 01:58:59 +0200 <hpc> qed
2022-03-29 02:00:18 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2022-03-29 02:00:19 +0200 <geekosaur> aren't there already languages that work that way? (sather?)
2022-03-29 02:00:36 +0200 <abastro[m]> IIRC yes
2022-03-29 02:01:11 +0200 <hpc> all unit tests are runnable constraints, just not in a language that looks particularly like constraints
2022-03-29 02:01:21 +0200 <hpc> maybe if it was prolog
2022-03-29 02:01:24 +0200 <dminuoso> What does "runnable constraint" even mean?
2022-03-29 02:02:46 +0200 <abastro[m]> Btw this post comes to my mind
2022-03-29 02:02:46 +0200 <abastro[m]> https://hirrolot.github.io/posts/why-static-languages-suffer-from-complexity
2022-03-29 02:06:12 +0200dminuosofinds the vast majority of blogs to be not readworthy
2022-03-29 02:07:13 +0200 <abastro[m]> Why tho
2022-03-29 02:07:27 +0200 <abastro[m]> It at least reveals various perspectives of ppl
2022-03-29 02:07:39 +0200 <dminuoso> I find that published papers generally have a higher chance to fit in the 4 categories monochrom mentioned.
2022-03-29 02:07:45 +0200 <jackdk> Because someone said "you should blog, it's good for your career", so now everyone blogs, and the signal is lost in the noise
2022-03-29 02:07:53 +0200xff0x(~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Ping timeout: 260 seconds)
2022-03-29 02:08:15 +0200 <geekosaur> and every wrong opinion out there is now broadcast to everyone
2022-03-29 02:08:21 +0200 <hpc> a person's perspective can be anything
2022-03-29 02:08:27 +0200 <monochrom> Frankly I am not interested in the perspectives of flatearthers and antivaxxers, for example.
2022-03-29 02:08:27 +0200 <hpc> see also: social networks :P
2022-03-29 02:08:30 +0200 <dminuoso> Mostly because people tend to spend a great deal of time on papers, there's usually peer review, there's cited literature, there's a standard format by which I can quickly get a gist of its content by skimming its abstracft and conclusions.
2022-03-29 02:08:46 +0200 <monochrom> Just examples to show that a ton of perspectives are valueless.
2022-03-29 02:09:12 +0200 <jackdk> monochrom: you just need to do the research. Then you'll understand how the lizards living inside the hollow flat earth established their system of control.
2022-03-29 02:09:32 +0200 <hpc> @quote staircase
2022-03-29 02:09:32 +0200 <lambdabot> hpc says: mountains are a lie perpetrated by big staircase
2022-03-29 02:09:53 +0200 <jackdk> That makes my day
2022-03-29 02:09:54 +0200 <monochrom> Human nature being human nature, programmers' blogs are no different. Like I said, failing in well-informed and unbiased, as most humans do.
2022-03-29 02:11:18 +0200 <abastro[m]> Well yep but it is how the world today runs
2022-03-29 02:11:31 +0200 <abastro[m]> Vast majority of ppl do not read papers
2022-03-29 02:12:24 +0200 <dminuoso> The world is run on technology whose foundation is in academia, though.
2022-03-29 02:12:57 +0200fendor_(~fendor@77.119.209.169.wireless.dyn.drei.com) (Remote host closed the connection)
2022-03-29 02:13:08 +0200 <abastro[m]> I often hear that academia is too slow, so technology is detached nowadays
2022-03-29 02:13:25 +0200 <abastro[m]> And companies do their own research if needed
2022-03-29 02:13:39 +0200 <abastro[m]> I mean, otherwise I cannot comprehend Go
2022-03-29 02:13:40 +0200sayola(~vekto@dslb-002-201-085-116.002.201.pools.vodafone-ip.de)
2022-03-29 02:13:49 +0200fendor_(~fendor@77.119.209.169.wireless.dyn.drei.com)
2022-03-29 02:13:54 +0200 <jackdk> Go is not a product of research
2022-03-29 02:13:55 +0200 <abastro[m]> The very existence of it
2022-03-29 02:14:02 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Quit: Ping timeout (120 seconds))
2022-03-29 02:14:12 +0200 <monochrom> Before the web, you could have rightfully bet that if someone bothered to publish a book through a large publisher, then just all the hurdles of the process were enough screening that even if eventually the book proved to be wrong, you would still get some value out of going through the reading and refuting, for example maybe it's only partly wrong or it made some good points. That would be what you call "at least some perspective".
2022-03-29 02:14:34 +0200 <abastro[m]> I mean, what does it indicate if not detachment of industry from research?
2022-03-29 02:14:36 +0200paul1(~kaskal@2001:4bb8:2e0:b5bd:e3c0:d71b:f32:84d8) (Ping timeout: 240 seconds)
2022-03-29 02:14:37 +0200 <dminuoso> Go was designed by Google as a means to hire masses of young developers. So its design was centered around "make this teachable to people out of high school in under three weeks" (a bit of a hyperbole here, but I hope you get the idea)
2022-03-29 02:14:40 +0200 <monochrom> Today, it's so cheap to just shout on the internet, you can't bet like that anymore.
2022-03-29 02:14:43 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-29 02:14:54 +0200sayola1(~vekto@dslb-002-201-085-116.002.201.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2022-03-29 02:14:56 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-03-29 02:15:02 +0200 <hpc> dminuoso: not much hyperbole
2022-03-29 02:15:15 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-03-29 02:15:32 +0200 <hpc> i would put maybe a factor of 50% either way on 3 weeks, and that's it
2022-03-29 02:15:37 +0200kaskal(~kaskal@2001:4bb8:2e0:b5bd:e3c0:d71b:f32:84d8)
2022-03-29 02:15:47 +0200 <dminuoso> And I dont mean it to critize, Go exceeded that design goal.
2022-03-29 02:16:11 +0200 <dminuoso> Don't let the trolly gopher mascot side track you. :)
2022-03-29 02:16:28 +0200 <monochrom> I thought it was "make the language so easy that people out of high school can write a compiler for it under three weeks" >:)
2022-03-29 02:16:30 +0200 <hpc> in any event, most of what people perceive as corporate "research" is just discovering the right application for the right academic thing
2022-03-29 02:16:31 +0200 <abastro[m]> I wonder there was a branch of PL dedicated for learn-ability
2022-03-29 02:16:57 +0200 <hpc> to use another google example, mapreduce has it right in the name
2022-03-29 02:17:06 +0200 <hpc> they were not even remotely close to doing original research there
2022-03-29 02:17:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 02:17:15 +0200 <abastro[m]> Which research is `Go` based on
2022-03-29 02:17:28 +0200 <dminuoso> abastro[m]: companies do their own research not because of speed, but because of financial interests.
2022-03-29 02:17:30 +0200 <abastro[m]> I mean some are from research, yes
2022-03-29 02:17:34 +0200 <abastro[m]> Tho others?
2022-03-29 02:17:47 +0200 <dminuoso> Why publish a result? That would enable competitors to use your findings.
2022-03-29 02:18:15 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds)
2022-03-29 02:18:19 +0200 <hpc> everything in go is basically algol, including the concurrency primitives - https://en.wikipedia.org/wiki/ALGOL_68#par:_Parallel_processing
2022-03-29 02:18:31 +0200 <dminuoso> The only way companies can usually fund research is by keeping results under a tight lock, getting patents, and then hoping they get to the goal faster than the competetion.
2022-03-29 02:18:44 +0200HotblackDesiato_(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-03-29 02:18:55 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-03-29 02:19:15 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
2022-03-29 02:19:22 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2022-03-29 02:19:26 +0200 <dminuoso> And usually the private sector has *tons* more money. A lot of research in universities is funded either by the private sector (in which case there's often agreements that keep the resulting master thesis secret), or by research grants, which are extremely limited.
2022-03-29 02:19:30 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-03-29 02:19:45 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-03-29 02:19:48 +0200 <dminuoso> This applies particularly to high tech
2022-03-29 02:19:57 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-03-29 02:20:03 +0200 <hpc> probably the last truly effective bit of "research" to come out of industry was packet switching from bell labs
2022-03-29 02:20:09 +0200Trattue(~Trattue@152.70.182.158) (Ping timeout: 240 seconds)
2022-03-29 02:20:09 +0200feliix42_(~felix@gibbs.uberspace.de) (Ping timeout: 240 seconds)
2022-03-29 02:20:09 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 02:20:19 +0200feliix42(~felix@gibbs.uberspace.de)
2022-03-29 02:20:34 +0200 <Axman6> Hmmm, anyone else just have a bunch of messages arrive all at once?
2022-03-29 02:20:46 +0200Trattue(~Trattue@152.70.182.158)
2022-03-29 02:20:53 +0200 <monochrom> Yeah, blaming academic research to be slow is a mixture of blaming the victim and denying that doing things properly is slow.
2022-03-29 02:21:09 +0200 <Axman6> I have nothing between 15 past and 20 pastm, then about 20 messages all together
2022-03-29 02:21:37 +0200 <hpc> Axman6: just you
2022-03-29 02:21:38 +0200img(~img@2405:6580:b1c0:2500:7fee:4a8a:9cab:420)
2022-03-29 02:21:38 +0200img(~img@2405:6580:b1c0:2500:7fee:4a8a:9cab:420) (Changing host)
2022-03-29 02:21:38 +0200img(~img@user/img)
2022-03-29 02:21:44 +0200 <abastro[m]> I mean see the projection of university going largely out of fashion due to detachment from industry
2022-03-29 02:21:44 +0200 <abastro[m]> Due to fast-moving world
2022-03-29 02:21:44 +0200 <abastro[m]> Wait wha
2022-03-29 02:21:44 +0200 <abastro[m]> Go was (nearly) algol?
2022-03-29 02:21:44 +0200 <abastro[m]> Yea, by research of industry I meant them studying by themselves and not publishing
2022-03-29 02:21:44 +0200 <abastro[m]> Well, it is not blaming
2022-03-29 02:21:44 +0200 <abastro[m]> It is just that university student is taught something increasingly detached
2022-03-29 02:21:52 +0200 <hpc> oh, or maybe not
2022-03-29 02:21:53 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
2022-03-29 02:21:55 +0200 <hpc> just got a burst myself
2022-03-29 02:22:01 +0200 <abastro[m]> Anyway I am honestly intimidated by Go's rising
2022-03-29 02:22:08 +0200 <Axman6> yeah, abastro[m] flood :P
2022-03-29 02:22:09 +0200 <abastro[m]> Sorry for being on matrix bridge
2022-03-29 02:22:26 +0200 <hpc> maybe one of libera's servers is slow
2022-03-29 02:22:33 +0200 <abastro[m]> I should perhaps get a proper libera client
2022-03-29 02:22:37 +0200 <Axman6> I don't think this is a matrix thing. glguy you know if something's going on with libra's servers?
2022-03-29 02:22:53 +0200chenqisu12(~chenqisu1@183.217.200.168)
2022-03-29 02:23:12 +0200 <abastro[m]> I am on matrix posting to this server, which is going through the matrix bridge btw
2022-03-29 02:24:38 +0200 <abastro[m]> Perhaps i am a bit irritated of some ppl I know pushing heavily on Go for its simplicity and "readability"
2022-03-29 02:24:54 +0200 <dminuoso> At the end businesses strive from finding the ideal balancing point between "ship early but potentially broken" and "ship late but potentially stable" in all kinds of technology.
2022-03-29 02:24:59 +0200 <abastro[m]> Tho tbf they are relatively beginner in programming
2022-03-29 02:25:04 +0200 <dminuoso> If you want, you end up spending more and giving the competition more time.
2022-03-29 02:25:06 +0200 <dminuoso> *wait
2022-03-29 02:25:40 +0200chenqisu1(~chenqisu1@183.217.200.168) (Ping timeout: 272 seconds)
2022-03-29 02:26:01 +0200 <dminuoso> If you publish products too early, you risk shipping an unviable product. So I guess a lot of the technologies in compsci in the last 20 years are an artifact of businesses looking for their own sweet spot.
2022-03-29 02:27:43 +0200 <abastro[m]> I guess In the end haskell was too restrictive
2022-03-29 02:27:49 +0200 <dminuoso> So yeah, some businesses have an interest in using JavaScript because, from a business perspective, you get masses of low-skilled developers, that can just plug and play half of npm together, and produce something that 80% of the time does its job.
2022-03-29 02:28:07 +0200 <dminuoso> And if that enables you to get more money from investors constantly
2022-03-29 02:28:14 +0200 <dminuoso> Then it's a successful business strategy
2022-03-29 02:28:33 +0200 <glguy> Axman6: it seems like a hub was having network lag for a moment but I show it as recovered now
2022-03-29 02:29:44 +0200 <dminuoso> glguy: By the way, config-schema pull request. Can you weigh in on that? If that has a chance of getting merged, I would start rewriting a bunch of nixos modules against it. :p
2022-03-29 02:29:47 +0200 <Axman6> Cool, just thought I'd point it out in case it was something the champions running the place hadn't seen
2022-03-29 02:30:42 +0200 <monochrom> Yeah I think industry chooses languages by just how many people can apply to their jobs. Not even anything to do with type systems or "paradigms". Recall that, for example, there was a time Java and C++ was more fashionable than Tcl/Tk and Python (which did exist back then).
2022-03-29 02:31:26 +0200 <dminuoso> And availability of existing libraries they can plug in. Every used library is developer time saved.
2022-03-29 02:31:36 +0200 <abastro[m]> So if one is developing language nowadays, I guess it is better to be extremely easy
2022-03-29 02:31:41 +0200 <dminuoso> Which also explains why some of these products have an exploding depedency closure
2022-03-29 02:31:48 +0200 <monochrom> And today Java and C++ are still very important, despite how people pretend to talk only about Python and Javascript.
2022-03-29 02:31:51 +0200 <dminuoso> It's simply an artifact of saving developer time
2022-03-29 02:32:17 +0200 <abastro[m]> I thought ppl only talk about Java
2022-03-29 02:32:44 +0200 <hpc> java has a monopoly by way of android phones
2022-03-29 02:32:57 +0200 <hpc> anything high-performance on a desktop is going to be C++
2022-03-29 02:33:24 +0200 <hpc> including all those great big javascript interpreters
2022-03-29 02:33:39 +0200 <hpc> most python libraries are thin wrappers for C code
2022-03-29 02:33:54 +0200 <dminuoso> java is also very ubiquitous in corporate software
2022-03-29 02:34:41 +0200 <hpc> php is still everywhere too
2022-03-29 02:34:46 +0200 <hpc> and ruby
2022-03-29 02:34:47 +0200 <dminuoso> It's very hard to find larger companies that dont have either a few or even entire landscapes of Java software
2022-03-29 02:35:58 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 02:38:55 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-03-29 02:39:08 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-03-29 02:40:12 +0200 <glguy> dminuoso: Is that a big improvement over using a customSpec on textSpec?
2022-03-29 02:40:21 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
2022-03-29 02:41:49 +0200pnotequalnp(~kevin@user/pnotequalnp) (Ping timeout: 246 seconds)
2022-03-29 02:41:51 +0200dpratt(sid193493@2a03:5180:f:1::2:f3d5) (Ping timeout: 250 seconds)
2022-03-29 02:41:51 +0200hook54321(sid149355@user/hook54321) (Ping timeout: 250 seconds)
2022-03-29 02:41:51 +0200ysh(sid6017@id-6017.ilkley.irccloud.com) (Ping timeout: 250 seconds)
2022-03-29 02:41:51 +0200megeve(sid523379@id-523379.hampstead.irccloud.com) (Ping timeout: 250 seconds)
2022-03-29 02:42:14 +0200 <glguy> dminuoso: like the hastily written: let textLiteral x = customSpec ("\"" <> x <> "\" literal") textSpec (\y -> if y == x then Right () else Left ("expected \"" <> x <> "\""))
2022-03-29 02:43:05 +0200xff0x(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp)
2022-03-29 02:43:34 +0200megeve(sid523379@id-523379.hampstead.irccloud.com)
2022-03-29 02:43:36 +0200ysh(sid6017@id-6017.ilkley.irccloud.com)
2022-03-29 02:44:03 +0200 <glguy> or I wonder if it'd be better to replace AtomSpec and TextSpec with a more general ExactSpec that takes an arbitrary Value
2022-03-29 02:44:44 +0200hook54321(sid149355@user/hook54321)
2022-03-29 02:45:04 +0200dpratt(sid193493@id-193493.helmsley.irccloud.com)
2022-03-29 02:46:02 +0200 <abastro[m]> And software will always be unreliable
2022-03-29 02:48:23 +0200 <abastro[m]> I hope ppl would not ditch research because "it is not worth the cost"
2022-03-29 02:50:57 +0200 <glguy> dminuoso: at a minimum I can imagine someone wanting to use specific numbers
2022-03-29 02:51:06 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 02:53:39 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-03-29 02:57:51 +0200 <tapas> sm: yo how was yesod blocked by base64 btw?
2022-03-29 02:58:11 +0200 <tapas> i'm not seeing the package being used, grepping through the code base. Is yesod migrating to it on some branch?
2022-03-29 02:59:28 +0200 <abastro[m]> (Any suggestion of using haskell in math btw? I am going for math major and it would be great if I could.. use it for sth)
2022-03-29 02:59:33 +0200Mags0001(~Mags@host-79-26-197-11.retail.telecomitalia.it)
2022-03-29 03:00:47 +0200Mags0001(~Mags@host-79-26-197-11.retail.telecomitalia.it) ()
2022-03-29 03:01:02 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-03-29 03:01:32 +0200 <tapas> just do math
2022-03-29 03:04:28 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-03-29 03:05:56 +0200lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-03-29 03:06:11 +0200euandreh(~euandreh@2804:14c:33:9fe5:2ad9:1465:5fb9:8672)
2022-03-29 03:06:14 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-03-29 03:06:14 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-03-29 03:06:14 +0200wroathe(~wroathe@user/wroathe)
2022-03-29 03:10:27 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-29 03:10:38 +0200dka(~code-is-a@ns3059207.ip-193-70-33.eu) (Ping timeout: 272 seconds)
2022-03-29 03:12:09 +0200dka(~code-is-a@ns3059207.ip-193-70-33.eu)
2022-03-29 03:12:17 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds)
2022-03-29 03:12:49 +0200Akiva(~Akiva@user/Akiva) (Quit: WeeChat 3.4)
2022-03-29 03:13:15 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de)
2022-03-29 03:14:41 +0200geoduck(~X@71.182.184.253)
2022-03-29 03:15:07 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-03-29 03:15:32 +0200 <abastro[m]> Welp okay..
2022-03-29 03:16:33 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-29 03:17:18 +0200sprout(~quassel@2a02:a467:ccd6:1:950:287b:c4be:ac00) (Ping timeout: 260 seconds)
2022-03-29 03:21:28 +0200neurocyte1(~neurocyte@IP-094016066081.dynamic.medianet-world.de)
2022-03-29 03:21:29 +0200neurocyte1(~neurocyte@IP-094016066081.dynamic.medianet-world.de) (Changing host)
2022-03-29 03:21:29 +0200neurocyte1(~neurocyte@user/neurocyte)
2022-03-29 03:23:50 +0200neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2022-03-29 03:23:50 +0200neurocyte1neurocyte
2022-03-29 03:26:01 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-03-29 03:27:31 +0200ddb(~ddb@2607:5300:203:9993::196)
2022-03-29 03:28:43 +0200 <sm> tapas that's a good question. It allowed stack install yesod to work here, but I saw the stackage folks didn't need it. Maybe somebody did a bounds revision, or I messed up somehow.
2022-03-29 03:29:42 +0200euandreh(~euandreh@2804:14c:33:9fe5:2ad9:1465:5fb9:8672) (Ping timeout: 260 seconds)
2022-03-29 03:30:31 +0200euandreh(~euandreh@2804:14c:33:9fe5:203:625:d7c4:9b0)
2022-03-29 03:30:55 +0200 <sm> I assumed it just facilitated a viable install plan for yesod, rather than being used by yesod
2022-03-29 03:31:27 +0200vglfr(~vglfr@88.155.45.251)
2022-03-29 03:35:58 +0200nosewings(~ngpc@2603-8081-3e05-e2d0-e11f-0c89-4074-605e.res6.spectrum.com) (Remote host closed the connection)
2022-03-29 03:40:16 +0200mixfix41(~homefame@user/mixfix41) (Ping timeout: 246 seconds)
2022-03-29 03:40:45 +0200paraseba(~paraseba@187.10.123.216)
2022-03-29 03:40:59 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-03-29 03:45:18 +0200mixfix41(~homefame@user/mixfix41)
2022-03-29 03:45:55 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-03-29 03:47:07 +0200 <paraseba> How would one write isSorted using lens? It would have to zip together contiguous elements of a Fold I suppose?
2022-03-29 03:48:18 +0200srk-(~sorki@user/srk)
2022-03-29 03:48:53 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-03-29 03:49:27 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-29 03:49:39 +0200srk(~sorki@user/srk) (Ping timeout: 250 seconds)
2022-03-29 03:50:08 +0200 <janus> sm: it was enabled a couple of days ago: https://github.com/commercialhaskell/stackage/commit/74cfdcf03f96459a396f1b9b6f307b57069ea69b#diff…
2022-03-29 03:51:02 +0200srk-srk
2022-03-29 03:51:57 +0200dcoutts__(~duncan@host86-151-9-10.range86-151.btcentralplus.com)
2022-03-29 03:54:25 +0200dcoutts_(~duncan@host86-151-44-233.range86-151.btcentralplus.com) (Ping timeout: 250 seconds)
2022-03-29 03:56:57 +0200pnotequalnp(~kevin@user/pnotequalnp)
2022-03-29 03:59:17 +0200vglfr(~vglfr@88.155.45.251) (Ping timeout: 260 seconds)
2022-03-29 04:02:25 +0200lispy(~lispy@82.212.115.165)
2022-03-29 04:08:22 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-03-29 04:08:27 +0200justOkay(~justache@user/justache) (Quit: The Lounge - https://thelounge.chat)
2022-03-29 04:13:03 +0200justOkay(~justache@user/justache)
2022-03-29 04:17:07 +0200 <Zemyla> :t \g s -> foldrOf g (\a r -> maybe (r (Just a)) (\b -> a >= b && r (Just a))) (const True) s Nothing -- paraseba
2022-03-29 04:17:08 +0200 <lambdabot> Ord a => Getting (Endo (Maybe a -> Bool)) s a -> s -> Bool
2022-03-29 04:21:05 +0200 <paraseba> huh, that's a mouthful... interesting. Thank you!
2022-03-29 04:27:38 +0200 <abastro[m]> Very interesting code
2022-03-29 04:27:41 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-03-29 04:28:07 +0200 <abastro[m]> Continuation style, right?
2022-03-29 04:29:57 +0200 <Zemyla> Yep. I'm pretty sure there's a way to do it with less code.
2022-03-29 04:30:52 +0200 <abastro[m]> I wonder if continuation monad could be actually more manageable
2022-03-29 04:32:02 +0200 <Zemyla> Also, I spent all day getting excited that Mealy machines were Traversing Profunctors.
2022-03-29 04:32:39 +0200 <abastro[m]> ?!?!
2022-03-29 04:33:38 +0200 <Zemyla> newtype Mealy a b = Mealy { runMealy :: a -> (b, Mealy a b) }
2022-03-29 04:34:35 +0200 <Zemyla> It's a Profunctor and an Arrow, and it turns out it'd a Traversing as well.
2022-03-29 04:35:25 +0200 <Zemyla> class Traversing p where traverse' :: Traversable t => p a b -> p (t a) (t b)
2022-03-29 04:36:42 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 04:36:50 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-03-29 04:39:46 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-03-29 04:39:46 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-03-29 04:39:46 +0200finn_elijaFinnElija
2022-03-29 04:39:55 +0200 <abastro[m]> Woah
2022-03-29 04:40:07 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 04:40:13 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2022-03-29 04:40:15 +0200 <jle`> nice
2022-03-29 04:40:56 +0200 <abastro[m]> <del>`(b, Mealy a b)` requires applying `b -> c` to both side of the tuple tho</del>
2022-03-29 04:42:08 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-03-29 04:42:27 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 04:42:28 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 04:43:29 +0200 <abastro[m]> What is the easy way to apply `f : a -> b` to `(a, a)` so I obtain `(b, b)`?
2022-03-29 04:43:37 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-03-29 04:43:52 +0200 <c_wraith> Zemyla: if I remember your definition correctly, anything with the two type arguments on the opposite side of the same -> type constructor is Traversing
2022-03-29 04:43:52 +0200 <Axman6> @hoogle (a -> b) -> (a,a) -> (b,b)
2022-03-29 04:43:52 +0200 <lambdabot> Data.Tuple.Extra both :: (a -> b) -> (a, a) -> (b, b)
2022-03-29 04:43:53 +0200 <lambdabot> Extra both :: (a -> b) -> (a, a) -> (b, b)
2022-03-29 04:43:53 +0200 <lambdabot> Text.Ginger.GVal pairwise :: (a -> b) -> (a, a) -> (b, b)
2022-03-29 04:44:01 +0200 <c_wraith> :t join bimap
2022-03-29 04:44:02 +0200 <lambdabot> Bifunctor p => (c -> d) -> p c c -> p d d
2022-03-29 04:44:51 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-03-29 04:45:38 +0200 <abastro[m]> Oh now `join bimap`, that is better
2022-03-29 04:45:39 +0200 <Axman6> abastro[m]: re: your earlier question, what sort of maths?
2022-03-29 04:46:02 +0200 <abastro[m]> Think I am going for algebra
2022-03-29 04:46:11 +0200 <Axman6> :t join `asAppliedTo` bimap
2022-03-29 04:46:12 +0200 <lambdabot> Bifunctor p => ((c -> d) -> (c -> d) -> p c c -> p d d) -> (c -> d) -> p c c -> p d d
2022-03-29 04:47:49 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 04:48:08 +0200 <abastro[m]> I mean, I am currently pursuing academic (traditional) mathematics
2022-03-29 04:48:18 +0200 <Axman6> I don't know of anything specifically aimed at algebra, but there is a lot of mathc related haskell stuff, given how mathy everything tends to be.
2022-03-29 04:48:27 +0200 <Axman6> there's some nice number theory stuff IIRC
2022-03-29 04:48:46 +0200 <abastro[m]> Well true, but in math we also use lots of set theory rather than type theory
2022-03-29 04:49:52 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 04:50:14 +0200 <abastro[m]> I am curious about the number theory stuffs!
2022-03-29 04:50:26 +0200 <abastro[m]> How is haskell involved there?
2022-03-29 04:51:16 +0200 <Axman6> I haven't used it much but arithmoi has... things that are useful for... stuff. I remember there being alot of functions for number theoretic stuff
2022-03-29 04:51:21 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 04:51:38 +0200 <Axman6> most of my number theory stuff has been crypto related and cryptonite had everything I needed in it
2022-03-29 04:51:46 +0200 <abastro[m]> Hmm
2022-03-29 04:55:17 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 04:56:13 +0200 <abastro[m]> arithmoi?
2022-03-29 04:56:25 +0200 <Axman6> @hackage arithmoi
2022-03-29 04:56:25 +0200 <lambdabot> https://hackage.haskell.org/package/arithmoi
2022-03-29 04:58:47 +0200rekahsoft(~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com)
2022-03-29 04:59:52 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-03-29 05:01:00 +0200 <byorgey> abastro[m]: in math we SAY that we use lots of set theory, but math as it is actually practiced is really something more like type theory.
2022-03-29 05:01:26 +0200 <byorgey> no one actually encodes everything as sets or even thinks about things that way.
2022-03-29 05:02:29 +0200 <abastro[m]> Thanks, Axman6!
2022-03-29 05:02:34 +0200vglfr(~vglfr@88.155.45.251)
2022-03-29 05:02:57 +0200 <Axman6> Don't thank me, thank \x -> "https://hackage.haskell.org/package/" ++ x
2022-03-29 05:02:57 +0200 <Axman6> :P
2022-03-29 05:03:06 +0200 <abastro[m]> Hahaha
2022-03-29 05:03:49 +0200 <abastro[m]> byorgey, well mathematicians do practice alike type theory, but IIRC many stuffs actually benefit from flexibility set theory offers.
2022-03-29 05:03:54 +0200 <Axman6> @hackage abastro[m]
2022-03-29 05:03:54 +0200 <lambdabot> https://hackage.haskell.org/package/abastro[m]
2022-03-29 05:04:02 +0200 <abastro[m]> And subset being one huge factor
2022-03-29 05:04:47 +0200 <abastro[m]> Actually Quotient is bigger one but anyway
2022-03-29 05:05:11 +0200 <Axman6> subsets are just type classes, change my mind
2022-03-29 05:05:57 +0200Buggys(~Buggys@185.149.90.52)
2022-03-29 05:07:04 +0200 <abastro[m]> Well then how do you deal with unions of subsets
2022-03-29 05:07:17 +0200 <Axman6> more type classes
2022-03-29 05:07:17 +0200 <Axman6> :P
2022-03-29 05:09:38 +0200 <abastro[m]> XD
2022-03-29 05:13:22 +0200 <abastro[m]> Type theory fluent on quotients when
2022-03-29 05:14:03 +0200paraseba(~paraseba@187.10.123.216) (Quit: Client closed)
2022-03-29 05:14:46 +0200 <monochrom> One might say, type theory confluent on quotients, haha.
2022-03-29 05:15:55 +0200 <abastro[m]> wha
2022-03-29 05:24:13 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-03-29 05:29:00 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-03-29 05:30:18 +0200euandreh(~euandreh@2804:14c:33:9fe5:203:625:d7c4:9b0) (Ping timeout: 260 seconds)
2022-03-29 05:30:24 +0200nate1(~nate@98.45.167.61)
2022-03-29 05:32:04 +0200nosewings(~ngpc@2603-8081-3e05-e2d0-ab92-d9c1-c016-553e.res6.spectrum.com)
2022-03-29 05:34:22 +0200Graham31515(~Graham@user/Graham31415) (Read error: Connection reset by peer)
2022-03-29 05:34:28 +0200Graham31415(~Graham@user/Graham31415)
2022-03-29 05:34:58 +0200nate1(~nate@98.45.167.61) (Ping timeout: 260 seconds)
2022-03-29 05:38:55 +0200benin(~benin@183.82.24.110) (Ping timeout: 246 seconds)
2022-03-29 05:42:40 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 05:45:55 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-03-29 05:51:46 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 05:52:00 +0200mbuf(~Shakthi@122.173.70.161)
2022-03-29 05:53:16 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 05:55:01 +0200vglfr(~vglfr@88.155.45.251) (Ping timeout: 246 seconds)
2022-03-29 05:55:33 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de)
2022-03-29 05:56:42 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-03-29 05:57:42 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 06:00:46 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 06:05:10 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-03-29 06:05:10 +0200zyklotomic(~ethan@res380d-128-61-85-52.res.gatech.edu) (Ping timeout: 246 seconds)
2022-03-29 06:06:36 +0200mvk(~mvk@2607:fea8:5cc3:7e00::7980) (Ping timeout: 245 seconds)
2022-03-29 06:07:11 +0200zyklotomic(~ethan@res380d-128-61-83-149.res.gatech.edu)
2022-03-29 06:22:13 +0200benin(~benin@183.82.24.110)
2022-03-29 06:23:46 +0200benin5(~benin@183.82.24.110)
2022-03-29 06:25:19 +0200zmt00(~zmt00@user/zmt00) (Quit: Leaving)
2022-03-29 06:25:20 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-03-29 06:26:53 +0200benin(~benin@183.82.24.110) (Ping timeout: 260 seconds)
2022-03-29 06:26:53 +0200benin5benin
2022-03-29 06:27:57 +0200zmt00(~zmt00@user/zmt00)
2022-03-29 06:36:33 +0200 <tapas> sm: sounds more like this was a stackage issue than a yesod one
2022-03-29 06:36:34 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 06:36:50 +0200 <tapas> more precisely a stackage nightly
2022-03-29 06:37:47 +0200 <tapas> just tryna understand
2022-03-29 06:37:52 +0200cdman(~dcm@user/dmc/x-4369397)
2022-03-29 06:40:10 +0200alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-03-29 06:45:35 +0200rekahsoft(~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds)
2022-03-29 06:47:34 +0200bahamas(~lucian@86.120.21.179)
2022-03-29 06:48:54 +0200 <tapas> gotta know thy stakeholders y'feel me
2022-03-29 06:49:15 +0200 <energizer> when haskellers talk about 'pretty printing' what are they referring to?
2022-03-29 06:50:10 +0200 <Axman6> formatting some data textually in a way that is nice for humans to read
2022-03-29 06:51:21 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-03-29 06:51:23 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 06:51:45 +0200 <energizer> ok
2022-03-29 06:52:58 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 06:54:11 +0200dut(~dut@user/dut)
2022-03-29 06:56:21 +0200Guest2(~Guest2@2405:201:6002:a800:4d6a:452:e4e8:6bd9)
2022-03-29 06:56:31 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 06:57:39 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-03-29 06:57:44 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 07:02:27 +0200bahamas(~lucian@86.120.21.179) (Ping timeout: 260 seconds)
2022-03-29 07:05:11 +0200Guest2(~Guest2@2405:201:6002:a800:4d6a:452:e4e8:6bd9) (Quit: Client closed)
2022-03-29 07:05:56 +0200 <Axman6> @hoogle Bool -> (a -> a) -> a -> a
2022-03-29 07:05:57 +0200 <lambdabot> Data.Function.Tools applyWhen :: Bool -> (a -> a) -> a -> a
2022-03-29 07:05:57 +0200 <lambdabot> Data.Function.Tools applyUnless :: Bool -> (a -> a) -> a -> a
2022-03-29 07:05:57 +0200 <lambdabot> Util applyWhen :: Bool -> (a -> a) -> a -> a
2022-03-29 07:06:14 +0200 <Axman6> "Util" *glares*
2022-03-29 07:11:56 +0200dcoutts_(~duncan@host86-151-9-10.range86-151.btcentralplus.com)
2022-03-29 07:14:31 +0200dcoutts__(~duncan@host86-151-9-10.range86-151.btcentralplus.com) (Ping timeout: 260 seconds)
2022-03-29 07:16:10 +0200deadmarshal_(~deadmarsh@95.38.119.235)
2022-03-29 07:21:17 +0200merijn(~merijn@c-001-002-001.client.esciencecenter.eduvpn.nl)
2022-03-29 07:25:13 +0200deadmarshal_(~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds)
2022-03-29 07:25:27 +0200dcoutts__(~duncan@host86-151-9-10.range86-151.btcentralplus.com)
2022-03-29 07:28:59 +0200dcoutts_(~duncan@host86-151-9-10.range86-151.btcentralplus.com) (Ping timeout: 260 seconds)
2022-03-29 07:29:53 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-03-29 07:32:47 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 07:34:19 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 07:39:15 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 07:46:43 +0200mncheck(~mncheck@193.224.205.254)
2022-03-29 07:47:28 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-03-29 07:52:06 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Read error: No route to host)
2022-03-29 07:52:16 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-03-29 07:52:18 +0200deadmarshal_(~deadmarsh@95.38.119.235)
2022-03-29 07:54:29 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-03-29 07:55:33 +0200merijn(~merijn@c-001-002-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-03-29 07:56:59 +0200deadmarshal_(~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds)
2022-03-29 07:57:32 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 272 seconds)
2022-03-29 08:09:57 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-03-29 08:11:26 +0200dcoutts_(~duncan@host86-150-41-212.range86-150.btcentralplus.com)
2022-03-29 08:11:52 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-03-29 08:12:02 +0200 <jackdk> Axman6: `bool id f`
2022-03-29 08:12:29 +0200 <abastro[m]> `@hoogle bool`
2022-03-29 08:12:31 +0200 <abastro[m]> > @hoogle bool
2022-03-29 08:12:32 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘@’
2022-03-29 08:12:43 +0200 <jackdk> > :i bool
2022-03-29 08:12:44 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2022-03-29 08:12:48 +0200 <jackdk> % :i bool
2022-03-29 08:12:48 +0200 <yahb> jackdk: bool :: a -> a -> Bool -> a -- Defined in `Data.Bool'
2022-03-29 08:12:51 +0200 <abastro[m]> Sorry..
2022-03-29 08:12:58 +0200 <abastro[m]> Data.Bool?
2022-03-29 08:13:01 +0200 <jackdk> we got there in the end
2022-03-29 08:13:13 +0200 <abastro[m]> `base`????
2022-03-29 08:13:41 +0200 <abastro[m]> And I thought there were no boolean eliminator in base
2022-03-29 08:14:15 +0200dcoutts__(~duncan@host86-151-9-10.range86-151.btcentralplus.com) (Ping timeout: 260 seconds)
2022-03-29 08:14:33 +0200 <jackdk> False
2022-03-29 08:14:54 +0200 <abastro[m]> was my entire worldview
2022-03-29 08:16:37 +0200sprout(~quassel@2a02:a467:ccd6:1:950:287b:c4be:ac00)
2022-03-29 08:18:05 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de)
2022-03-29 08:18:59 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-03-29 08:23:24 +0200unyu(~pyon@user/pyon) (Ping timeout: 240 seconds)
2022-03-29 08:24:09 +0200 <Axman6> \f t -> f
2022-03-29 08:24:36 +0200unyu(~pyon@user/pyon)
2022-03-29 08:26:57 +0200Everything(~Everythin@37.115.210.35)
2022-03-29 08:28:42 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-29 08:29:53 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-03-29 08:32:28 +0200dut_(~dut@user/dut)
2022-03-29 08:33:22 +0200dut__(~dut@user/dut)
2022-03-29 08:36:12 +0200dut(~dut@user/dut) (Ping timeout: 260 seconds)
2022-03-29 08:37:33 +0200dut_(~dut@user/dut) (Ping timeout: 260 seconds)
2022-03-29 08:39:23 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 08:44:07 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2022-03-29 08:44:33 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 08:45:09 +0200Sgeo(~Sgeo@user/sgeo)
2022-03-29 08:46:11 +0200img(~img@user/img)
2022-03-29 08:47:01 +0200lechner(~lechner@debian/lechner) (Ping timeout: 245 seconds)
2022-03-29 08:48:50 +0200Sgeo__(~Sgeo@user/sgeo) (Ping timeout: 272 seconds)
2022-03-29 08:49:16 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-03-29 08:50:12 +0200jonathanx(~jonathan@c-5eea3313-74736162.cust.telenor.se)
2022-03-29 08:53:12 +0200jonathanx(~jonathan@c-5eea3313-74736162.cust.telenor.se) (Read error: Connection reset by peer)
2022-03-29 08:53:30 +0200jonathanx(~jonathan@94.234.51.19)
2022-03-29 08:55:43 +0200michalz(~michalz@185.246.204.97)
2022-03-29 08:58:14 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:c0ae:bf23:cf6b:67df)
2022-03-29 08:59:49 +0200jonathanx(~jonathan@94.234.51.19) (Ping timeout: 246 seconds)
2022-03-29 09:00:08 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-03-29 09:01:06 +0200jonathanx(~jonathan@94.234.51.19)
2022-03-29 09:04:28 +0200alp(~alp@user/alp)
2022-03-29 09:08:14 +0200fef(~thedawn@user/thedawn)
2022-03-29 09:08:40 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 09:15:51 +0200dextaa_(~dextaa@user/dextaa) (Remote host closed the connection)
2022-03-29 09:18:27 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-03-29 09:20:05 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-03-29 09:24:35 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a)
2022-03-29 09:25:48 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94)
2022-03-29 09:26:15 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
2022-03-29 09:27:07 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-03-29 09:27:23 +0200alp(~alp@user/alp) (Ping timeout: 252 seconds)
2022-03-29 09:28:38 +0200jonathanx(~jonathan@94.234.51.19) (Quit: Leaving)
2022-03-29 09:29:29 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-03-29 09:30:08 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2022-03-29 09:31:49 +0200alp(~alp@user/alp)
2022-03-29 09:32:05 +0200neurocyte8(~neurocyte@IP-094016066081.dynamic.medianet-world.de)
2022-03-29 09:32:06 +0200neurocyte8(~neurocyte@IP-094016066081.dynamic.medianet-world.de) (Changing host)
2022-03-29 09:32:06 +0200neurocyte8(~neurocyte@user/neurocyte)
2022-03-29 09:32:13 +0200kmein(~weechat@user/kmein)
2022-03-29 09:33:33 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 09:34:03 +0200neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 260 seconds)
2022-03-29 09:34:04 +0200neurocyte8neurocyte
2022-03-29 09:34:25 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 09:34:55 +0200jakalx(~jakalx@base.jakalx.net)
2022-03-29 09:35:12 +0200MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-03-29 09:35:27 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 09:37:52 +0200cfricke(~cfricke@user/cfricke)
2022-03-29 09:39:16 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-03-29 09:41:06 +0200deadmarshal_(~deadmarsh@95.38.119.235)
2022-03-29 09:44:09 +0200Hemmo(~Hemmo@185.112.82.222)
2022-03-29 09:45:44 +0200[_][itchyjunk]
2022-03-29 09:46:03 +0200 <Hemmo> Hello. I have a function I have managed to do with list comprehension and filter, but I would like to implement it with foldl as an exercise, but I am not sure how to go about it. Here's my function with filter; distanceFilter :: (String -> String -> Float) -> Float -> String
2022-03-29 09:46:03 +0200 <Hemmo> -> [String] -> [String]
2022-03-29 09:46:03 +0200 <Hemmo> distanceFilter f d s ss = filter (\x -> f s x <= d) ss
2022-03-29 09:46:25 +0200 <Hemmo> and my attempt so far with foldl; distanceFilter f d s ss = foldl (\x -> f s x) <= d ss
2022-03-29 09:46:58 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 09:47:17 +0200 <Hemmo> The foldl simply throws errors, any pointers toward the right direction are appreciated =)
2022-03-29 09:47:46 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-03-29 09:48:03 +0200deadmarshal_(~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds)
2022-03-29 09:48:22 +0200 <Hemmo> And oh, here's what it does; given a distance function f, a Float d, a String s and a list of Strings ss, returns all the strings in ss that are at most d distance away from s.
2022-03-29 09:48:48 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 09:49:02 +0200machinedgod(~machinedg@24.105.81.50)
2022-03-29 09:50:02 +0200 <merijn> Hemmo: You're writing: "(foldl (\x -> f s x)) <= d ss"
2022-03-29 09:50:32 +0200 <merijn> That's trying to compare a function with "d ss" using <=
2022-03-29 09:50:48 +0200 <merijn> Presumably wrong parenthesis?
2022-03-29 09:57:23 +0200Hemmo(~Hemmo@185.112.82.222) (Ping timeout: 260 seconds)
2022-03-29 09:58:26 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 09:59:03 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 10:02:42 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 260 seconds)
2022-03-29 10:03:14 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-03-29 10:04:27 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 10:05:05 +0200 <abastro[m]> Implementing filter with foldl could be a bit complex at least from looks
2022-03-29 10:05:17 +0200 <Franciman> Zemyla: haskell's Cont monad represents delimited continuations
2022-03-29 10:05:36 +0200 <abastro[m]> One thing, `foldl` is just a folder which folds a list. So, you need some way to construct list other than folding
2022-03-29 10:06:18 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 10:06:53 +0200Codaraxis(~Codaraxis@user/codaraxis)
2022-03-29 10:10:27 +0200Codaraxis__(~Codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
2022-03-29 10:15:10 +0200kuribas(~user@ptr-25vy0i96ymkampl0mim.18120a2.ip6.access.telenet.be)
2022-03-29 10:16:41 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 10:17:20 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 10:20:55 +0200cdman(~dcm@user/dmc/x-4369397) (Remote host closed the connection)
2022-03-29 10:21:18 +0200cdman(~dcm@27.2.217.171)
2022-03-29 10:21:18 +0200cdman(~dcm@27.2.217.171) (Changing host)
2022-03-29 10:21:18 +0200cdman(~dcm@user/dmc/x-4369397)
2022-03-29 10:24:11 +0200chenqisu12(~chenqisu1@183.217.200.168) (Quit: Leaving)
2022-03-29 10:24:44 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-03-29 10:24:55 +0200alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-03-29 10:29:00 +0200Midjak(~Midjak@82.66.147.146)
2022-03-29 10:31:48 +0200pnotequalnp(~kevin@user/pnotequalnp) (Ping timeout: 240 seconds)
2022-03-29 10:32:03 +0200alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-03-29 10:35:52 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-03-29 10:41:26 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection)
2022-03-29 10:41:43 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a)
2022-03-29 10:42:24 +0200bahamas(~lucian@86.120.77.115)
2022-03-29 10:43:20 +0200Hemmo(~Hemmo@91.221.67.198)
2022-03-29 10:43:51 +0200shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-03-29 10:45:27 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 10:46:46 +0200 <phma> I'm using "stack ghci" and I get a long prompt "*Data.GosperBase.Internals Data.GosperBase Data.GosperBase.Internals>". How do I shorten it? And what does the star mean?
2022-03-29 10:47:22 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 10:48:57 +0200 <abastro[m]> Uhm wait, it is listed twice?
2022-03-29 10:49:03 +0200 <abastro[m]> Doesn't look normal to me
2022-03-29 10:49:19 +0200 <Hemmo> abastro[m]: yeah it does seem a bit complex. I had no trouble coming up with a list comprehension and filter to solve it, but there was simply a suggestion by my teacher to solve it with foldl as well
2022-03-29 10:49:55 +0200 <abastro[m]> Hemmo: Yep, would be a great exercise, but would also take quite a bit of effort
2022-03-29 10:49:58 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de)
2022-03-29 10:50:08 +0200 <abastro[m]> Do you know how to construct the list, and how to pattern match on the list?
2022-03-29 10:50:46 +0200 <abastro[m]> If you can write recursive function for `filter`, you are halfway there
2022-03-29 10:52:00 +0200 <maerwald> phma: :set prompt
2022-03-29 10:52:22 +0200 <maerwald> e.g. :set prompt "> "
2022-03-29 10:53:00 +0200 <phma> maerwald: do I have to set prompt every time I run ghci?
2022-03-29 10:53:33 +0200 <maerwald> you can add that line to the file .ghci I think
2022-03-29 10:53:57 +0200 <phma> is .ghci in my home directory or the project directory?
2022-03-29 10:54:09 +0200`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net)
2022-03-29 10:54:10 +0200 <Hemmo> abastro[m]: well yeah I mean I can match it on list comprehension, but not sure if I know how to do it without it
2022-03-29 10:54:46 +0200 <Hemmo> abastro[m]: recursive function for filter as in call filter on each item again or after each item?
2022-03-29 10:54:47 +0200 <abastro[m]> Yep, I propose you to write barebone recursion without using list comprehension
2022-03-29 10:55:04 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
2022-03-29 10:55:11 +0200 <maerwald> phma: https://downloads.haskell.org/ghc/8.10.7/docs/html/users_guide/ghci.html?highlight=dot%20file#the-…
2022-03-29 10:55:30 +0200 <abastro[m]> I mean, write:
2022-03-29 10:55:30 +0200 <abastro[m]> ```haskell
2022-03-29 10:55:30 +0200 <abastro[m]> filter :: (a -> Bool) -> [a] -> [a]
2022-03-29 10:55:30 +0200 <abastro[m]> ```
2022-03-29 10:55:47 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 10:56:00 +0200 <abastro[m]> `filter f l = (write your definition here, preferably by pattern matching on l)`
2022-03-29 10:56:54 +0200lispy(~lispy@82.212.115.165) (Quit: Client closed)
2022-03-29 10:58:55 +0200 <Hemmo> abastro[m]: yeah cheers i'll give it a shot!
2022-03-29 10:59:53 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 260 seconds)
2022-03-29 11:00:08 +0200pareto-optimal-d(~pareto-op@2001:470:69fc:105::1:b61f) (Quit: You have been kicked for being idle)
2022-03-29 11:11:42 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-03-29 11:11:52 +0200jgeerds(~jgeerds@55d4548e.access.ecotel.net)
2022-03-29 11:13:18 +0200cdman(~dcm@user/dmc/x-4369397) (Ping timeout: 260 seconds)
2022-03-29 11:13:36 +0200mc47(~mc47@xmonad/TheMC47)
2022-03-29 11:14:18 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de)
2022-03-29 11:15:49 +0200cdman(~dcm@27.2.217.171)
2022-03-29 11:15:49 +0200cdman(~dcm@27.2.217.171) (Changing host)
2022-03-29 11:15:49 +0200cdman(~dcm@user/dmc/x-4369397)
2022-03-29 11:21:29 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-03-29 11:25:35 +0200tiferrei(~tiferrei@user/tiferrei) (Ping timeout: 240 seconds)
2022-03-29 11:25:45 +0200tiferrei2000(~tiferrei@user/tiferrei)
2022-03-29 11:26:15 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-03-29 11:26:24 +0200Major_Biscuit(~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl)
2022-03-29 11:26:48 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-03-29 11:27:11 +0200Major_Biscuit(~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl) (Client Quit)
2022-03-29 11:27:28 +0200Major_Biscuit(~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl)
2022-03-29 11:29:35 +0200MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 256 seconds)
2022-03-29 11:30:33 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 11:32:26 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 11:32:51 +0200xff0x(~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 245 seconds)
2022-03-29 11:37:40 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-03-29 11:37:43 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 11:37:57 +0200widelec-BB(~widelec@cpe-109-207-144-181.docsis.tczew.net.pl)
2022-03-29 11:39:06 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 11:39:07 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 11:41:04 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 11:43:47 +0200cosimone`(~user@93-44-187-176.ip98.fastwebnet.it) (Ping timeout: 260 seconds)
2022-03-29 11:44:20 +0200cosimone`(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-03-29 11:44:36 +0200widelec-BB(~widelec@cpe-109-207-144-181.docsis.tczew.net.pl) ( )
2022-03-29 11:48:52 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-03-29 11:50:07 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 11:50:35 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 11:52:39 +0200cosimone`(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds)
2022-03-29 11:56:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 11:56:38 +0200nattiestnate(~nate@202.138.250.9)
2022-03-29 11:57:56 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-03-29 11:58:37 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-03-29 11:58:43 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 11:59:47 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-03-29 11:59:58 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-03-29 12:00:27 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 12:01:03 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-03-29 12:01:27 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 12:07:25 +0200xff0x(~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp)
2022-03-29 12:07:41 +0200tfeb(~tfb@88.98.95.237)
2022-03-29 12:08:08 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 12:10:05 +0200 <tomsmeding> sm: maerwald: http://play-haskell.tomsmeding.com:8123/play
2022-03-29 12:11:08 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 12:12:41 +0200__monty__(~toonn@user/toonn)
2022-03-29 12:13:23 +0200 <maerwald> excellent
2022-03-29 12:15:08 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 260 seconds)
2022-03-29 12:16:52 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-03-29 12:18:16 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 12:18:19 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-03-29 12:19:19 +0200bahamas(~lucian@86.120.77.115) (Ping timeout: 246 seconds)
2022-03-29 12:21:48 +0200DNH(~DNH@2a02:8108:1100:16d8:61e3:f551:d48e:e2b3)
2022-03-29 12:22:16 +0200ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-03-29 12:24:26 +0200 <carbolymer> tomsmeding: nice! what was the reason this thing was born?
2022-03-29 12:26:28 +0200 <tomsmeding> https://github.com/haskell-infra/www.haskell.org/issues/185
2022-03-29 12:27:11 +0200 <tomsmeding> If y'all crash it it's not coming back, just in a simple tmux lol, sorry
2022-03-29 12:30:04 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 12:30:11 +0200 <maerwald> tomsmeding: it's not using bwrap?
2022-03-29 12:30:33 +0200Profpatsch(~Profpatsc@static.88-198-193-255.clients.your-server.de)
2022-03-29 12:30:51 +0200 <Profpatsch> I’m looking into profiling a handler of ours a little.
2022-03-29 12:31:09 +0200 <Profpatsch> And a dumb idea before going for a full-blown benchmarking setup wa?:
2022-03-29 12:31:35 +0200 <Profpatsch> Is there a GHC function that I can call on a thunk, which will return the residential memory of that thunk at runtime?
2022-03-29 12:31:38 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 12:32:24 +0200 <Profpatsch> e.g. if I have a json value from a request, can I somehow introspect how much of it is realized into memory at runtime?
2022-03-29 12:36:04 +0200 <carbolymer> Profpatsch: something of that kind: https://stackoverflow.com/questions/3254758/memory-footprint-of-haskell-data-types ?
2022-03-29 12:36:28 +0200 <carbolymer> Profpatsch: https://hackage.haskell.org/package/ghc-datasize-0.1.2/docs/GHC-DataSize.html
2022-03-29 12:37:28 +0200ProfSimm(~ProfSimm@87.227.196.109)
2022-03-29 12:37:28 +0200 <Hemmo> GHCI gives me an error message: Variable not in scope:
2022-03-29 12:37:28 +0200 <Hemmo> clusters :: (String -> String -> Float) -> t0 -> [String] -> t
2022-03-29 12:37:41 +0200 <Hemmo> but i have defined the function yet it won't work??clusters :: (String -> String -> Float) -> Float -> [String] -> [String]
2022-03-29 12:37:41 +0200 <Hemmo> clusters f d ss = [x | x <- ss, y <- ss, f x y < d]
2022-03-29 12:38:07 +0200 <Hecate> it's trying to look for a variable called cluster with the "wrong" type signature I think
2022-03-29 12:38:18 +0200 <Hecate> (or you've messed something when importing things? idk)
2022-03-29 12:38:28 +0200 <Hemmo> Uhh is it fixable somehow? ;D
2022-03-29 12:38:36 +0200 <Hecate> Hemmo: can you put a minimal repro code on paste.tomsmeding.com/ ?
2022-03-29 12:38:53 +0200 <Hemmo> Yes I can, uno momento
2022-03-29 12:39:37 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-03-29 12:40:04 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-03-29 12:40:23 +0200 <Profpatsch> carbolymer: hah, thank you
2022-03-29 12:40:27 +0200 <Profpatsch> not sure I could have found that
2022-03-29 12:41:13 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 12:41:44 +0200 <Hemmo> Hecate: Pasted it in there
2022-03-29 12:41:59 +0200 <Hecate> Hemmo: I'm gonna need the link now :)
2022-03-29 12:42:16 +0200 <Hemmo> Hecate: https://paste.tomsmeding.com/pUtz76bH
2022-03-29 12:42:17 +0200 <Hemmo> ;D
2022-03-29 12:42:44 +0200alMalsamolumberjack123
2022-03-29 12:43:38 +0200 <Hecate> λ❯ clusters distance1 0.3 ["aaabc", "aabdd", "a", "aa", "abdd", "bcbcb", "", "abcdefghij"]
2022-03-29 12:43:41 +0200 <Hecate> ["aaabc","aaabc","aabdd","aabdd","a","a","aa","aa","aa","abdd","abdd","bcbcb","","abcdefghij"]
2022-03-29 12:43:44 +0200 <Hecate> it :: [String]
2022-03-29 12:43:51 +0200 <Hecate> hmm.
2022-03-29 12:44:18 +0200 <Hemmo> It works for you?
2022-03-29 12:44:26 +0200 <Hecate> it does
2022-03-29 12:44:30 +0200 <Hecate> hmm
2022-03-29 12:44:31 +0200 <Hemmo> Yeah curious. Should for me too.
2022-03-29 12:44:32 +0200 <Hecate> what could it be
2022-03-29 12:44:41 +0200 <Hemmo> Let me do the classic thing and restart ghci lol
2022-03-29 12:44:45 +0200 <Hecate> I have a bunch of extensions in my .ghci that could affect the behaviour
2022-03-29 12:45:15 +0200califax(~califax@user/califx) (Ping timeout: 240 seconds)
2022-03-29 12:45:25 +0200 <Hemmo> Lol. Restarting did the trick.
2022-03-29 12:45:31 +0200 <Profpatsch> carbolymer: do you know the difference between the `closureSize` function and the `recursiveSize` function?
2022-03-29 12:45:31 +0200 <Hemmo> My ghci bugs at times I've noticed
2022-03-29 12:45:42 +0200 <Hemmo> Ty though.
2022-03-29 12:45:45 +0200 <Profpatsch> I don’t think I understand the documentation
2022-03-29 12:45:49 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2022-03-29 12:46:06 +0200 <Hecate> Hemmo: well, nothing that can't be fixed by restoring to a previously known state. :) That's what aeronautics and Erlang do all the time!
2022-03-29 12:46:15 +0200califax(~califax@user/califx)
2022-03-29 12:46:36 +0200 <Hemmo> Indeed. Should've thought of that first! Classic rookie mistake.
2022-03-29 12:47:04 +0200 <Hemmo> Related to that function and in general, is it possible to use list compr. and have a predicate that checks whether that element is in the list already?
2022-03-29 12:47:22 +0200 <Profpatsch> carbolymer: oh there’s a user guide, maybe that will make it clearer http://felsin9.de/nnis/ghc-datasize/
2022-03-29 12:47:27 +0200 <Hemmo> so in my example there are some duplicates
2022-03-29 12:48:06 +0200 <carbolymer> Profpatsch: not sure
2022-03-29 12:48:16 +0200 <Profpatsch> carbolymer: I think nothing beats just trying it out :)
2022-03-29 12:48:46 +0200 <Hecate> Hemmo: just `List.nub` them afterwards ;-)
2022-03-29 12:49:37 +0200 <Hecate> because if you looking for the whole list each time a new element is produced (to determine if it's already there), your complexity goes through the roof, as you have what amounts to a nested for-loop
2022-03-29 12:50:02 +0200 <Hecate> just create your list, and go over it to remove the duplicates once it's finished
2022-03-29 12:50:18 +0200benin(~benin@183.82.24.110) (Quit: The Lounge - https://thelounge.chat)
2022-03-29 12:50:29 +0200xkuru(~xkuru@user/xkuru)
2022-03-29 12:51:22 +0200 <Hemmo> Hecate: Thanks
2022-03-29 12:52:47 +0200Hemmo(~Hemmo@91.221.67.198) (Remote host closed the connection)
2022-03-29 12:57:08 +0200 <dminuoso> Hecate: Well, I guess in some sense its not as much as "this definitely fixes it", but its rather "once your system doesn't behave as specified, you cant reason about it anymore"
2022-03-29 12:57:16 +0200 <dminuoso> That's at least the mentality in aeronautics
2022-03-29 12:57:34 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 12:59:38 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-03-29 13:01:55 +0200jonathanx(~jonathan@dyn-2-sc.cdg.chalmers.se)
2022-03-29 13:02:23 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-03-29 13:02:45 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-03-29 13:02:48 +0200mncheck(~mncheck@193.224.205.254) (Ping timeout: 272 seconds)
2022-03-29 13:03:07 +0200mncheck(~mncheck@193.224.205.254)
2022-03-29 13:03:18 +0200fef(~thedawn@user/thedawn)
2022-03-29 13:05:37 +0200odnes(~odnes@5-203-245-187.pat.nym.cosmote.net)
2022-03-29 13:07:10 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 13:07:46 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 13:08:48 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de)
2022-03-29 13:10:25 +0200 <Hecate> dminuoso: yes
2022-03-29 13:10:29 +0200 <Hecate> you are right
2022-03-29 13:10:30 +0200dut__(~dut@user/dut) (Quit: Leaving)
2022-03-29 13:10:49 +0200razetime(~quassel@117.254.35.62)
2022-03-29 13:12:56 +0200Ferdirand(~somebody@2001:4c78:2012:5000::2) (Remote host closed the connection)
2022-03-29 13:12:56 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-03-29 13:16:44 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-03-29 13:18:31 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 13:21:26 +0200jonathanx(~jonathan@dyn-2-sc.cdg.chalmers.se) (Ping timeout: 260 seconds)
2022-03-29 13:22:12 +0200deadmarshal_(~deadmarsh@95.38.119.235)
2022-03-29 13:26:27 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-03-29 13:26:52 +0200deadmarshal_(~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds)
2022-03-29 13:28:47 +0200DNH(~DNH@2a02:8108:1100:16d8:61e3:f551:d48e:e2b3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-29 13:28:49 +0200jiribenes(~jiribenes@rosa.jiribenes.com) (Ping timeout: 250 seconds)
2022-03-29 13:30:12 +0200benin(~benin@183.82.24.110)
2022-03-29 13:31:15 +0200benin(~benin@183.82.24.110) (Client Quit)
2022-03-29 13:33:59 +0200gehmehgeh(~user@user/gehmehgeh)
2022-03-29 13:35:31 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 13:36:12 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 260 seconds)
2022-03-29 13:38:41 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-03-29 13:42:29 +0200benin(~benin@183.82.24.110)
2022-03-29 13:42:48 +0200jakalx(~jakalx@base.jakalx.net)
2022-03-29 13:48:01 +0200 <maerwald> https://github.com/haskellari/postgresql-simple/issues/58
2022-03-29 13:48:03 +0200 <maerwald> oh dear.
2022-03-29 13:49:02 +0200benin(~benin@183.82.24.110) (Ping timeout: 272 seconds)
2022-03-29 13:49:02 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-03-29 13:49:56 +0200benin(~benin@183.82.24.110)
2022-03-29 13:50:00 +0200DNH(~DNH@2a02:8108:1100:16d8:61e3:f551:d48e:e2b3)
2022-03-29 13:50:32 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 13:50:40 +0200odnes_(~odnes@5-203-245-187.pat.nym.cosmote.net)
2022-03-29 13:51:20 +0200odnes(~odnes@5-203-245-187.pat.nym.cosmote.net) (Read error: Connection reset by peer)
2022-03-29 13:53:36 +0200noddy(~user@user/noddy) (Quit: WeeChat 3.4)
2022-03-29 13:54:44 +0200 <tdammers> hey, that's my name on there!
2022-03-29 13:55:01 +0200noddy(~user@user/noddy)
2022-03-29 13:55:07 +0200 <abastro[m]> `nub`? eh
2022-03-29 13:56:49 +0200 <merijn> Montly reminder that anyone close to NL has only 2 more weeks to register for NL-FP ;)
2022-03-29 13:56:56 +0200 <merijn> https://wouter-swierstra.github.io/fp-dag/
2022-03-29 13:57:36 +0200 <dminuoso> tdammers: Oh yeah, I actually started work to fix this!
2022-03-29 13:57:58 +0200 <tdammers> awesome!
2022-03-29 13:58:05 +0200 <dminuoso> But then a new season of Better Call Saul came out...
2022-03-29 13:58:18 +0200 <dminuoso> Priorities priorities...
2022-03-29 13:58:25 +0200 <dminuoso> Seriously though, I should wrap it up
2022-03-29 13:59:18 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de)
2022-03-29 14:00:54 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:05:22 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 14:05:23 +0200Everything(~Everythin@37.115.210.35) (Ping timeout: 260 seconds)
2022-03-29 14:06:54 +0200Everything(~Everythin@37.115.210.35)
2022-03-29 14:07:16 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:12:22 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 14:13:55 +0200zmt00(~zmt00@user/zmt00)
2022-03-29 14:14:38 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:14:59 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 260 seconds)
2022-03-29 14:19:43 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 14:21:09 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-03-29 14:21:20 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-03-29 14:22:09 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:22:56 +0200jiribenes(~jiribenes@rosa.jiribenes.com)
2022-03-29 14:25:55 +0200 <maerwald> tdammers: so use hasql instead?
2022-03-29 14:25:59 +0200nathansquan[m](~nathansqu@2001:470:69fc:105::1:e84c)
2022-03-29 14:27:04 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-03-29 14:27:18 +0200 <tdammers> maerwald: might give it a spin some time. so far my go-to has been HDBC
2022-03-29 14:27:26 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 245 seconds)
2022-03-29 14:27:40 +0200 <maerwald> tdammers: but https://nikita-volkov.github.io/hasql-benchmarks/
2022-03-29 14:27:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:29:12 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 14:29:15 +0200Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-03-29 14:29:28 +0200 <tdammers> sure sure, as I said, I might give it a spin
2022-03-29 14:29:57 +0200 <maerwald> I tried to compile the benchmarks, but they're 7 years old
2022-03-29 14:29:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-03-29 14:30:59 +0200 <tdammers> tbf., hasql is expected to be much faster than HDBC simply because it doesn't have to provide an abstraction layer over different DBMS backends
2022-03-29 14:32:33 +0200romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-03-29 14:33:20 +0200 <kuribas> also, why would query generation speed matter when it's swamped by the actual query call?
2022-03-29 14:34:33 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 14:34:33 +0200 <tdammers> that depends on the query, but yeah, a 200% performance difference in your database connectivity layer may not matter at all
2022-03-29 14:35:36 +0200 <merijn> kuribas: Depends on frequency and size of queries :p
2022-03-29 14:35:46 +0200 <romesrf> \o
2022-03-29 14:36:17 +0200 <kuribas> merijn: if you are doing a lot of single queries, isn't that the problem then?
2022-03-29 14:36:25 +0200 <kuribas> you can instead batch the queries.
2022-03-29 14:36:25 +0200 <merijn> Why?
2022-03-29 14:36:37 +0200 <merijn> Maybe you can, maybe you can't depends on the system
2022-03-29 14:36:50 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:37:18 +0200 <kuribas> for example with graphQL, you could fetch an entire tree in a single request.
2022-03-29 14:37:40 +0200 <kuribas> With some clever batching, this can reduce the request time by a large factor.
2022-03-29 14:38:31 +0200 <kuribas> So I would focus on the ergonomics of the connectivity layer, rather than the speed.
2022-03-29 14:40:32 +0200cdman(~dcm@user/dmc/x-4369397)
2022-03-29 14:41:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 252 seconds)
2022-03-29 14:43:48 +0200doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-03-29 14:44:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:47:29 +0200fendor_(~fendor@77.119.209.169.wireless.dyn.drei.com) (Remote host closed the connection)
2022-03-29 14:48:46 +0200Guest19(~Guest19@ip-86-49-182-248.zrnko.net)
2022-03-29 14:48:47 +0200agumonkey(~user@88.163.231.79)
2022-03-29 14:49:03 +0200euandreh(~euandreh@2804:14c:33:9fe5:9dda:4bff:cdb5:90b8)
2022-03-29 14:50:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 14:50:41 +0200romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4)
2022-03-29 14:51:28 +0200mncheck(~mncheck@193.224.205.254) (Ping timeout: 260 seconds)
2022-03-29 14:52:07 +0200 <Guest19> Hello! I am working on a project with Parser (Text.Parsec) and I can't understand how to call try on my own parsers. For example, I create a parser using the do notation composed of multiple parser (e.g. first read a number, then string "hello", return the number as int). Now, when I use try on this custom parser, it seems to apply only to the
2022-03-29 14:52:07 +0200 <Guest19> first parser in the composition (i.e. the one reading a number in this case). Why is that? How can I prevent it?
2022-03-29 14:53:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 14:53:58 +0200 <maerwald> Guest19: you want "hello" to be parsed even if the number failed to parse?
2022-03-29 14:54:09 +0200 <Guest19> yes
2022-03-29 14:54:36 +0200 <maerwald> well, that obviously won't work when you wrap the entire parser in try
2022-03-29 14:55:05 +0200 <Guest19> No, sorry, misunderstood the question for a moment. I want the parser to try to read a number followed by the string "hello" and if anything fails, the whole parsing fails and the input (including the number) should not be consumed
2022-03-29 14:56:07 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-03-29 14:58:42 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 14:59:23 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 15:00:59 +0200jakalx(~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection)
2022-03-29 15:01:00 +0200jakalx(~jakalx@base.jakalx.net)
2022-03-29 15:01:17 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:04:24 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2022-03-29 15:07:24 +0200razetime(~quassel@117.254.35.62) (Read error: Connection reset by peer)
2022-03-29 15:08:12 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 15:08:12 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
2022-03-29 15:09:09 +0200bahamas(~lucian@84.232.140.158)
2022-03-29 15:09:13 +0200o-90(~o-90@gateway/tor-sasl/o-90)
2022-03-29 15:10:23 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:11:08 +0200gawen(~gawen@user/gawen) (Quit: cya)
2022-03-29 15:11:59 +0200werdnA(~andrew@114.88.181.56)
2022-03-29 15:12:28 +0200gawen(~gawen@user/gawen)
2022-03-29 15:12:39 +0200 <werdnA> I'd love to see some socket and tcp examples (and get screwed by IO ())
2022-03-29 15:12:54 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-03-29 15:15:39 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 15:17:40 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:19:25 +0200o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2022-03-29 15:20:42 +0200 <kuribas> Guest19: use "try" if you need to backtrack.
2022-03-29 15:22:47 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds)
2022-03-29 15:25:24 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:30:25 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 15:32:55 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:34:02 +0200jgeerds(~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 260 seconds)
2022-03-29 15:36:51 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-29 15:38:15 +0200razetime(~quassel@117.254.35.62)
2022-03-29 15:38:36 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 15:39:26 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-03-29 15:39:26 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-03-29 15:39:26 +0200wroathe(~wroathe@user/wroathe)
2022-03-29 15:41:07 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:45:34 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 272 seconds)
2022-03-29 15:45:39 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de)
2022-03-29 15:46:53 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 15:49:03 +0200shriekingnoise(~shrieking@201.231.16.156)
2022-03-29 15:49:05 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:50:49 +0200slaydr(~slaydr@193.19.109.228) (Ping timeout: 256 seconds)
2022-03-29 15:51:03 +0200 <Guest19> Try seems to work for only the first parser, however :(
2022-03-29 15:51:54 +0200 <geekosaur> how are you doing this?
2022-03-29 15:52:40 +0200 <geekosaur> if you have a series of parsers you want to apply `try` to, either give it a name or wrap the whole set in parentheses (`try (…)`)
2022-03-29 15:52:45 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-29 15:53:44 +0200img(~img@user/img)
2022-03-29 15:54:24 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 15:55:58 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2022-03-29 15:56:16 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 15:57:19 +0200werdnAAn
2022-03-29 15:57:23 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-03-29 15:57:41 +0200AnwerdnA
2022-03-29 15:58:12 +0200img(~img@user/img) (Client Quit)
2022-03-29 15:58:33 +0200alp(~alp@user/alp) (Ping timeout: 260 seconds)
2022-03-29 15:59:03 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:c0ae:bf23:cf6b:67df) (Quit: WeeChat 2.8)
2022-03-29 15:59:20 +0200 <Franciman> sml is GORG
2022-03-29 15:59:35 +0200img(~img@user/img)
2022-03-29 16:00:09 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 16:00:52 +0200 <Franciman> let's see if haskell can at least keep the same performance
2022-03-29 16:01:22 +0200 <shapr> What's GORG?
2022-03-29 16:01:36 +0200 <geekosaur> Ipresume short for "gorgeous"
2022-03-29 16:02:05 +0200 <shapr> oh, huh
2022-03-29 16:02:09 +0200 <Franciman> it's the definition of sml
2022-03-29 16:02:32 +0200 <Franciman> i'll be good and use Data Sequence in haskell
2022-03-29 16:02:38 +0200 <Franciman> since list is a total clutter
2022-03-29 16:02:41 +0200 <Franciman> in this case
2022-03-29 16:02:45 +0200 <shapr> ich verstehe nicht
2022-03-29 16:02:47 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 16:02:50 +0200 <shapr> jag forstår inte
2022-03-29 16:02:56 +0200 <shapr> ik begrijp het niet
2022-03-29 16:03:01 +0200slaydr(~slaydr@173.239.197.154)
2022-03-29 16:03:37 +0200Pickchea(~private@user/pickchea)
2022-03-29 16:03:37 +0200 <Franciman> shapr: i'm confronting the implementations of my toy PL
2022-03-29 16:03:40 +0200 <Franciman> in haskell and in sml
2022-03-29 16:03:57 +0200 <shapr> oh!
2022-03-29 16:04:00 +0200 <Franciman> comparing* maybe
2022-03-29 16:04:01 +0200 <shapr> thanks for the explanation.
2022-03-29 16:04:08 +0200 <Franciman> haskell is SO SLOW
2022-03-29 16:04:10 +0200 <shapr> merci
2022-03-29 16:04:33 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 16:04:43 +0200 <Franciman> i remember somebody arguing that haskell was perfect for writing compilers. Imho it's a pretty decent second choice, after the awesome sml
2022-03-29 16:04:49 +0200lispy(~lispy@82.212.115.165)
2022-03-29 16:04:58 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-03-29 16:04:59 +0200 <shapr> It's good to have tools you enjoy using.
2022-03-29 16:05:14 +0200shaprhugs lispy
2022-03-29 16:05:40 +0200 <shapr> I like using laziness (non-strictness) to make my programs go faster.
2022-03-29 16:05:42 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-03-29 16:06:05 +0200 <Franciman> :)
2022-03-29 16:06:37 +0200 <lispy> I am learning both haskell and lisp and I am liking lisp a bit more I think :P I was here cuz I had a few questions when I was learning haskell and most recently I joined the clisp channel
2022-03-29 16:06:37 +0200 <shapr> For example, comparing two files for equality with a lazy language means the comparison can stop early: https://github.com/shapr/takedouble/blob/main/src/Takedouble.hs#L32
2022-03-29 16:06:51 +0200 <shapr> lispy: Are you not monsieur Dagit?
2022-03-29 16:07:01 +0200 <shapr> Oh, I guess not.
2022-03-29 16:07:04 +0200 <lispy> Nope Lol
2022-03-29 16:07:17 +0200 <shapr> hi lispy! I've just been learning common lisp myself.
2022-03-29 16:07:23 +0200 <Franciman> shapr: uhm you can do that in strict languages too
2022-03-29 16:07:32 +0200 <shapr> Franciman: sure, but it's more work
2022-03-29 16:07:33 +0200 <Franciman> just use stream based interface
2022-03-29 16:07:39 +0200 <Franciman> and it stops early
2022-03-29 16:07:50 +0200 <Franciman> with good abstractions you get the same code
2022-03-29 16:08:06 +0200 <Franciman> sure in sml you don't have it builtin. You have to write it yourself by hand
2022-03-29 16:08:08 +0200 <Franciman> this is a big cons
2022-03-29 16:08:11 +0200 <shapr> That's the thing I like about languages, they're all equal when you get to turing completeness; so it's about what the languages make easy to do
2022-03-29 16:08:22 +0200 <Franciman> sure
2022-03-29 16:09:04 +0200 <shapr> So I like learning what a language makes easy
2022-03-29 16:09:17 +0200 <Franciman> shapr: thing is
2022-03-29 16:09:27 +0200 <Franciman> laziness makes that easy, and everything else PURE HELL
2022-03-29 16:09:34 +0200 <Franciman> it writes laziness, it reads cringiness
2022-03-29 16:09:34 +0200 <shapr> Huh, doesn't seem that way to me
2022-03-29 16:09:41 +0200 <Franciman> sure
2022-03-29 16:09:47 +0200 <shapr> I really enjoy writing lazy code
2022-03-29 16:09:47 +0200 <Franciman> it's better like this
2022-03-29 16:10:03 +0200 <Franciman> i've been wasting my last year trying to improve the performance of my interpreter
2022-03-29 16:10:05 +0200 <shapr> I get to tie the knot and do all kinda fun things with laziness.
2022-03-29 16:10:15 +0200 <Franciman> the answer was: just switch to sml and kick the ass out of GHC
2022-03-29 16:10:24 +0200 <shapr> That's certainly one answer.
2022-03-29 16:10:39 +0200 <Franciman> as you were previously stating: i also like learning what a languages makes easy
2022-03-29 16:10:42 +0200 <maerwald> shapr: I don't think it's more work. 1. lazy IO is *bad*, 2. you should be using a streaming library to do it, 3. you have those in strict languages too
2022-03-29 16:11:07 +0200razetime(~quassel@117.254.35.62) (Remote host closed the connection)
2022-03-29 16:11:31 +0200 <shapr> maerwald: do you mean because you can have an inconsistent view of the filesystem? What other bad do you mean?
2022-03-29 16:11:46 +0200 <maerwald> uhm, because it's a hack
2022-03-29 16:11:46 +0200 <merijn> shapr: Leaks resources (like file descriptors)
2022-03-29 16:12:02 +0200 <Franciman> oh so laziness can't get correctness in presence of side effects?
2022-03-29 16:12:05 +0200 <Franciman> uh
2022-03-29 16:12:07 +0200 <Franciman> uh
2022-03-29 16:12:08 +0200 <maerwald> and many more issues...
2022-03-29 16:12:35 +0200 <maerwald> `tar` relies on lazy IO, but keeps a reference to something at some point somewhere, so boom -> everything gets forces into memory
2022-03-29 16:12:41 +0200 <shapr> I still haven't dug into streaming libraries in Haskell, I'd like to do that sometime soon.
2022-03-29 16:13:19 +0200 <shapr> maerwald: would use of a streaming library fix that problem?
2022-03-29 16:13:22 +0200 <maerwald> yes
2022-03-29 16:13:49 +0200 <maerwald> I was about to fix it that way, but then stopped, because libarchive came along
2022-03-29 16:13:54 +0200 <maerwald> and now I'm not using tar anymore
2022-03-29 16:14:17 +0200 <shapr> Wow, tar is from long ago
2022-03-29 16:14:18 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-03-29 16:14:18 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-03-29 16:14:33 +0200 <maerwald> yeah... the issue is that during unpack, it forces the entire file into memory
2022-03-29 16:14:43 +0200 <maerwald> but otherwise streams correctly
2022-03-29 16:14:55 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 16:14:59 +0200 <maerwald> so if you have 2GB archive with max file size 1mb, you don't notice
2022-03-29 16:14:59 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-03-29 16:15:02 +0200lechner(~lechner@debian/lechner)
2022-03-29 16:15:05 +0200 <shapr> huh, I wouldn't expect that, since tar is concat'd files
2022-03-29 16:15:12 +0200 <maerwald> if you have one huge file your ram blows up
2022-03-29 16:15:20 +0200 <shapr> I wonder why it does that?
2022-03-29 16:15:55 +0200 <shapr> I had that problem the first time I wrote a plugin for lambdabot
2022-03-29 16:16:09 +0200 <maerwald> https://github.com/haskell/tar/blob/a0d722c1f6052bf144017d131a715ea1ae599964/Codec/Archive/Tar/Rea…
2022-03-29 16:16:34 +0200 <shapr> oh
2022-03-29 16:16:40 +0200 <maerwald> LBS.drop, but then bs' is passed onto the next iteration
2022-03-29 16:16:41 +0200odnes__(~odnes@5-203-245-187.pat.nym.cosmote.net)
2022-03-29 16:16:42 +0200odnes_(~odnes@5-203-245-187.pat.nym.cosmote.net) (Read error: Connection reset by peer)
2022-03-29 16:16:43 +0200 <maerwald> so blocks stream fusion
2022-03-29 16:17:07 +0200 <maerwald> those things aren't easy to spot
2022-03-29 16:17:35 +0200 <shapr> Is there some way to automatically find that sort of thing?
2022-03-29 16:17:42 +0200 <shapr> or is it "use a streaming library" ?
2022-03-29 16:17:53 +0200 <maerwald> memory profiling
2022-03-29 16:17:57 +0200 <shapr> Ah, makes sense
2022-03-29 16:18:02 +0200 <maerwald> but then you need to have the right input
2022-03-29 16:18:11 +0200 <maerwald> this was only spotted, because I had an archive with huge files
2022-03-29 16:18:14 +0200 <shapr> so, memory profiling + property based testing?
2022-03-29 16:19:08 +0200 <maerwald> another library abusing lazy bytestring is https://hackage.haskell.org/package/xeno ... we've been discussing with streamly authors to rewrite it in that
2022-03-29 16:19:20 +0200 <maerwald> because here again, you make a mistake and your performance regresses
2022-03-29 16:19:31 +0200 <shapr> huh, neato
2022-03-29 16:20:06 +0200 <Franciman> shapr: do you have a tutorial in tying the knot
2022-03-29 16:20:09 +0200 <Franciman> ?
2022-03-29 16:20:19 +0200 <Franciman> in my third world sml, i have to use mutation to implement it :<
2022-03-29 16:20:40 +0200 <Franciman> it's so neat when expressed in haskell tho *.*
2022-03-29 16:21:05 +0200 <shapr> Franciman: the simplest thing is "let ones = 1 : ones"
2022-03-29 16:21:27 +0200jackalope(~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Ping timeout: 260 seconds)
2022-03-29 16:21:35 +0200 <shapr> maerwald: if I want to use a streaming library in takedouble instead of lazy IO, what's the easiest one to start with?
2022-03-29 16:21:36 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 16:21:36 +0200 <Franciman> wanna look at my example to implement fix?
2022-03-29 16:21:39 +0200 <Franciman> it's SO NEAT
2022-03-29 16:21:48 +0200 <Franciman> 1-liner, no-brainer
2022-03-29 16:21:49 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2022-03-29 16:21:54 +0200 <shapr> Franciman: you can link me, but I'm about to walk to buy food, I can look when I get back :-)
2022-03-29 16:22:13 +0200 <Franciman> let res = eval (envPushValue res env) body in res
2022-03-29 16:22:18 +0200 <maerwald> shapr: I'd like so claim streamly, but it probably isn't. It's just that I prefer it and find the API more natural. But the docs can be confusing.
2022-03-29 16:22:20 +0200 <Franciman> can you make it shorter?
2022-03-29 16:22:26 +0200 <Franciman> i'd like to do it without the let
2022-03-29 16:22:28 +0200 <Franciman> maybe using fix?
2022-03-29 16:22:31 +0200 <Franciman> :t fix
2022-03-29 16:22:32 +0200 <lambdabot> (a -> a) -> a
2022-03-29 16:22:42 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 16:22:46 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-03-29 16:23:05 +0200 <Franciman> looks like it does yeah
2022-03-29 16:23:06 +0200 <Franciman> thanks shapr
2022-03-29 16:23:08 +0200 <Franciman> have a nice meal
2022-03-29 16:23:15 +0200hololeap(~hololeap@user/hololeap)
2022-03-29 16:23:33 +0200gehmehgeh(~user@user/gehmehgeh)
2022-03-29 16:24:55 +0200 <maerwald> shapr: the main two approaches to streaming is 1. expressing actual streams (streamly), so like lists, 2. expressing pipes, so you have a transformer that processes input and produces an output
2022-03-29 16:25:00 +0200 <maerwald> conduit takes the latter
2022-03-29 16:25:06 +0200 <maerwald> and is probably the most popular atm
2022-03-29 16:25:21 +0200ab8(~ab@2401:4900:55ac:f030:5de5:a385:33c6:42ed)
2022-03-29 16:25:26 +0200 <Franciman> is conduit faster than streamly, maerwald ?
2022-03-29 16:25:29 +0200 <maerwald> no
2022-03-29 16:25:41 +0200 <Franciman> it also seems more difficult than streamly
2022-03-29 16:25:44 +0200 <Franciman> so why pick it?
2022-03-29 16:25:53 +0200 <maerwald> I wouldn't
2022-03-29 16:26:02 +0200 <Franciman> uhm. But does it have any sort of advantage?
2022-03-29 16:26:03 +0200 <maerwald> but some people find it more natural
2022-03-29 16:26:05 +0200 <Franciman> apart form the huge ecosystem
2022-03-29 16:26:13 +0200 <maerwald> Franciman: yes, performance is very *stable*
2022-03-29 16:26:23 +0200 <Franciman> uh uh i understand. Thanks ^^
2022-03-29 16:26:24 +0200 <maerwald> while in streamly, if you make a mistake, you can get huge regressions
2022-03-29 16:26:40 +0200 <maerwald> but you usually also get much better performance than conduit if you do it right
2022-03-29 16:26:56 +0200 <Franciman> got it, ty
2022-03-29 16:27:12 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de)
2022-03-29 16:27:14 +0200 <maerwald> that's because streamly depends heavily on inlining, to let GHC optimize your hot loops
2022-03-29 16:27:42 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 16:30:27 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-03-29 16:32:50 +0200gehmehgeh_(~user@user/gehmehgeh)
2022-03-29 16:33:38 +0200rawley(~rawley@142.99.241.242)
2022-03-29 16:35:35 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 240 seconds)
2022-03-29 16:36:05 +0200Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-03-29 16:40:59 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-03-29 16:41:29 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 16:41:29 +0200gehmehgeh_gehmehgeh
2022-03-29 16:42:06 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection)
2022-03-29 16:42:16 +0200ab8(~ab@2401:4900:55ac:f030:5de5:a385:33c6:42ed) (Ping timeout: 250 seconds)
2022-03-29 16:42:24 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a)
2022-03-29 16:43:43 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-03-29 16:45:19 +0200jackalope(~jackalope@165.91.13.217)
2022-03-29 16:48:49 +0200Sgeo(~Sgeo@user/sgeo)
2022-03-29 16:50:35 +0200werdnACoWaxDanguin
2022-03-29 16:50:38 +0200Franciman(~Franciman@mx1.fracta.dev)
2022-03-29 16:51:18 +0200CoWaxDanguinwerdnA
2022-03-29 16:51:24 +0200dolio(~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-29 16:54:18 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-03-29 16:54:35 +0200werdnA(~andrew@114.88.181.56) (Quit: WeeChat 3.4.1)
2022-03-29 16:54:40 +0200 <Franciman> back from testing. At first the haskell version was DAYUMN SLOW
2022-03-29 16:54:49 +0200CoWaxDanguin(~andrew@114.88.181.56)
2022-03-29 16:54:53 +0200 <Franciman> so i had to turn StrictData on. I got 3x speedup
2022-03-29 16:54:54 +0200CoWaxDanguinwerdnA
2022-03-29 16:55:05 +0200 <Franciman> now it's faster than the sml version. Mostly because haskell's runtime is DAYUMN NIFTY
2022-03-29 16:55:09 +0200 <abastro[m]> Wh
2022-03-29 16:55:34 +0200 <Franciman> sml version does a 10x more page faults. It performs less computations, but spends half of the time talking to the kernel lol
2022-03-29 16:55:39 +0200 <abastro[m]> Hmm, doesn't StrictData just add strictness annotations
2022-03-29 16:55:43 +0200razetime(~quassel@117.254.35.62)
2022-03-29 16:55:54 +0200 <Franciman> yes, it reduces thunks
2022-03-29 16:56:01 +0200werdnA(~andrew@114.88.181.56) (Client Quit)
2022-03-29 16:56:12 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 16:56:15 +0200werdnA(~andrew@114.88.181.56)
2022-03-29 16:56:16 +0200 <Franciman> and i don't know what other evil thing. And gave me a huge speedup from 3.0s to 0.7s
2022-03-29 16:56:23 +0200 <abastro[m]> But yea it could be great if you are tired at adding !
2022-03-29 16:56:24 +0200 <Franciman> unbellyveable
2022-03-29 16:56:42 +0200 <Franciman> haskell's runtime is really something!
2022-03-29 16:56:55 +0200dolio(~dolio@130.44.130.54)
2022-03-29 16:57:20 +0200 <[exa]> what's the code doing btw?
2022-03-29 16:57:28 +0200 <[exa]> (just dayumn curious)
2022-03-29 16:57:30 +0200zer0bitz(~zer0bitz@2001:2003:f750:a200:544e:226a:9b44:a162)
2022-03-29 16:57:33 +0200 <Franciman> evaluating a lambda term that sums the first 10million numbers
2022-03-29 16:57:50 +0200 <Franciman> (using a recursive implementation)
2022-03-29 16:57:56 +0200 <abastro[m]> <del>Random pythonista I met days ago: Well idk I don't think it will beat python</del>
2022-03-29 16:58:32 +0200 <abastro[m]> Sum by Lambda term?
2022-03-29 16:58:34 +0200 <Franciman> lol python can't even sum the first million numbers without exhausting memory
2022-03-29 16:58:42 +0200 <Franciman> abastro[m]: i implemented this algorithm:
2022-03-29 16:58:48 +0200 <Franciman> sum 0 = 0; sum n = n + sum (n-1)
2022-03-29 16:58:50 +0200 <abastro[m]> Hehe
2022-03-29 16:59:05 +0200 <abastro[m]> Oh, so simple sum function?
2022-03-29 16:59:05 +0200 <[exa]> Franciman: is it on Ints or Integers?
2022-03-29 16:59:19 +0200 <Franciman> Int64. I would expect it to be too slow on integers :(
2022-03-29 16:59:29 +0200 <abastro[m]> Likely optimized into loops at least
2022-03-29 16:59:33 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-03-29 16:59:38 +0200 <[exa]> how long does it take with an accumulator?
2022-03-29 17:00:18 +0200 <Franciman> [exa]: sorry you mean doing: sum n 0 = n; sum n k = sum (n + 1) (k - 1) ?
2022-03-29 17:00:30 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2022-03-29 17:00:34 +0200 <abastro[m]> Wouldn't haskell be smart enough to unroll it as loop anyway
2022-03-29 17:00:35 +0200 <Franciman> i would assume roughly the same, because I didn't implement tail call optimisation, but let me check!
2022-03-29 17:00:47 +0200 <Franciman> wait people
2022-03-29 17:00:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 17:00:56 +0200 <Franciman> i think i couldn't explain things right
2022-03-29 17:01:03 +0200 <Franciman> I used haskell to implement a toy interpreter
2022-03-29 17:01:09 +0200 <Franciman> i'm not implementing the sum in haskell
2022-03-29 17:01:11 +0200 <Franciman> but in the toy language
2022-03-29 17:01:14 +0200 <abastro[m]> Now I see what you did
2022-03-29 17:01:19 +0200 <abastro[m]> Yea now understood
2022-03-29 17:01:41 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 252 seconds)
2022-03-29 17:01:46 +0200odnes__(~odnes@5-203-245-187.pat.nym.cosmote.net) (Remote host closed the connection)
2022-03-29 17:02:06 +0200odnes__(~odnes@5-203-245-187.pat.nym.cosmote.net)
2022-03-29 17:02:50 +0200 <kuribas> abastro[m]: probably not ghc, but llvm maybe.
2022-03-29 17:03:02 +0200 <kuribas> abastro[m]: at least if it is strict.
2022-03-29 17:03:27 +0200 <kuribas> by llvm I mean the ghc llvm backend.
2022-03-29 17:04:18 +0200 <abastro[m]> I think haskell could even optimize the toy language impl into loop
2022-03-29 17:04:24 +0200 <abastro[m]> But that is too wild of a gusss
2022-03-29 17:04:24 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 17:04:45 +0200 <Franciman> the program is not know at compile time
2022-03-29 17:05:32 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2022-03-29 17:09:56 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 252 seconds)
2022-03-29 17:10:26 +0200`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 272 seconds)
2022-03-29 17:10:50 +0200 <abastro[m]> Oh, read from file?
2022-03-29 17:11:22 +0200`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net)
2022-03-29 17:12:22 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 17:12:25 +0200motherfsck(~motherfsc@user/motherfsck)
2022-03-29 17:17:31 +0200jackalope(~jackalope@165.91.13.217) (Ping timeout: 246 seconds)
2022-03-29 17:17:37 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds)
2022-03-29 17:20:03 +0200 <Franciman> yes, on the long run
2022-03-29 17:20:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 17:20:08 +0200 <Franciman> now it's hardcoded :P
2022-03-29 17:20:33 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1)
2022-03-29 17:25:30 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 17:29:17 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 17:29:17 +0200pie__(~pie_bnc@user/pie/x-2818909) (Quit: pie__)
2022-03-29 17:29:28 +0200pie_(~pie_bnc@user/pie/x-2818909)
2022-03-29 17:31:27 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 260 seconds)
2022-03-29 17:32:22 +0200rawley(~rawley@142.99.241.242) (Remote host closed the connection)
2022-03-29 17:32:44 +0200rawley(~rawley@142.99.241.242)
2022-03-29 17:33:02 +0200doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 252 seconds)
2022-03-29 17:33:37 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 17:33:59 +0200jackalope(~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net)
2022-03-29 17:34:57 +0200pie_(~pie_bnc@user/pie/x-2818909) (Quit: pie_)
2022-03-29 17:35:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 17:37:07 +0200pie_(~pie_bnc@user/pie/x-2818909)
2022-03-29 17:38:02 +0200razetime(~quassel@117.254.35.62) (Remote host closed the connection)
2022-03-29 17:39:00 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-03-29 17:39:18 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 17:40:24 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-03-29 17:41:16 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 17:42:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 17:44:38 +0200gdd(~gdd@129.199.146.230) (Ping timeout: 272 seconds)
2022-03-29 17:44:39 +0200razetime(~quassel@117.254.35.62)
2022-03-29 17:45:15 +0200jgeerds(~jgeerds@55d4548e.access.ecotel.net)
2022-03-29 17:46:29 +0200gdd(~gdd@129.199.146.230)
2022-03-29 17:47:52 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection)
2022-03-29 17:48:10 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a)
2022-03-29 17:48:19 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 17:49:02 +0200benin(~benin@183.82.24.110) (Quit: The Lounge - https://thelounge.chat)
2022-03-29 17:50:30 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 17:51:38 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 17:55:40 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 17:58:06 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 18:00:05 +0200Deide(~deide@user/deide) (Quit: You have been kicked for being idle)
2022-03-29 18:00:08 +0200Joe[m](~jsricemat@2001:470:69fc:105::1:b4ce) (Quit: You have been kicked for being idle)
2022-03-29 18:00:08 +0200sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd) (Quit: You have been kicked for being idle)
2022-03-29 18:00:51 +0200Major_Biscuit(~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl) (Ping timeout: 260 seconds)
2022-03-29 18:02:45 +0200lbseale(~ep1ctetus@user/ep1ctetus)
2022-03-29 18:03:40 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 18:04:13 +0200Digit(~user@user/digit) (Ping timeout: 256 seconds)
2022-03-29 18:05:36 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 18:10:36 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-03-29 18:11:05 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-03-29 18:11:07 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 18:11:34 +0200odnes(~odnes@5-203-245-187.pat.nym.cosmote.net)
2022-03-29 18:11:49 +0200odnes__(~odnes@5-203-245-187.pat.nym.cosmote.net) (Ping timeout: 240 seconds)
2022-03-29 18:12:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 18:14:25 +0200jgeerds(~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 256 seconds)
2022-03-29 18:15:13 +0200Digitteknohippie(~user@user/digit)
2022-03-29 18:17:03 +0200deadmarshal_(~deadmarsh@95.38.119.235)
2022-03-29 18:17:32 +0200Topsi(~Tobias@dyndsl-095-033-095-210.ewe-ip-backbone.de)
2022-03-29 18:18:04 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 18:18:24 +0200Major_Biscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-03-29 18:18:27 +0200Digitteknohippie(~user@user/digit) (Read error: Connection reset by peer)
2022-03-29 18:18:39 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net)
2022-03-29 18:19:03 +0200gdd(~gdd@129.199.146.230) (Ping timeout: 260 seconds)
2022-03-29 18:19:25 +0200MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net) (Client Quit)
2022-03-29 18:19:47 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-03-29 18:20:20 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 18:20:25 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com)
2022-03-29 18:20:51 +0200gdd(~gdd@129.199.146.230)
2022-03-29 18:20:53 +0200ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-03-29 18:21:38 +0200ProfSimm(~ProfSimm@87.227.196.109)
2022-03-29 18:23:17 +0200pie_(~pie_bnc@user/pie/x-2818909) (Quit: pie_)
2022-03-29 18:24:34 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 18:26:01 +0200mbuf(~Shakthi@122.173.70.161) (Quit: Leaving)
2022-03-29 18:26:08 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 18:27:17 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 18:27:52 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 18:28:17 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 18:30:34 +0200alp(~alp@user/alp)
2022-03-29 18:35:16 +0200bahamas(~lucian@84.232.140.158)
2022-03-29 18:36:29 +0200Major_Biscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 250 seconds)
2022-03-29 18:36:34 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 18:39:25 +0200ccntrq(~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection)
2022-03-29 18:39:37 +0200pie_(~pie_bnc@user/pie/x-2818909)
2022-03-29 18:40:07 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 260 seconds)
2022-03-29 18:43:59 +0200Guest19(~Guest19@ip-86-49-182-248.zrnko.net) (Quit: Client closed)
2022-03-29 18:46:11 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-03-29 18:50:45 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 18:52:57 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 260 seconds)
2022-03-29 18:53:18 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 18:53:31 +0200 <hololeap> streaming, pipes, lists, fusion... whenever anyone starts throwing these words around I kinda sorta get what they're talking about, but not really
2022-03-29 18:55:53 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-03-29 18:56:02 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-03-29 18:59:05 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 18:59:12 +0200`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Remote host closed the connection)
2022-03-29 18:59:34 +0200`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net)
2022-03-29 19:00:32 +0200doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-03-29 19:03:24 +0200 <hololeap> > the main two approaches to streaming is 1. expressing actual streams (streamly), so like lists, 2. expressing pipes, so you have a transformer that processes input and produces an output
2022-03-29 19:03:55 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-03-29 19:04:03 +0200 <hololeap> I understand #2 pretty well, I think, but how does it differ from #1? what is an "actual stream" and what makes it like a list, whereas #2 is _not_ like a list?
2022-03-29 19:04:07 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-03-29 19:08:45 +0200 <[exa]> hololeap: if I get it correctly, #1 gets efficient magically thanks to list fusion (if you have several functions like `f p (x:xs) = g x:f (h p) xs` and join them with (.), with a bit of luck it optimizes to something very efficient with almost no unnecessary allocation), and in #2 you use various high-level tricks to explicitly construct the efficient function yourself (avoiding the need for implicit luck)
2022-03-29 19:09:47 +0200 <geekosaur> and a stream structure (#1) is typically an infinite list: data Stream a = Stream a (Stream a)
2022-03-29 19:12:58 +0200 <[exa]> yeah because if you need to check for [], your amount of data is too low to even necessitate streaming. :D
2022-03-29 19:12:59 +0200bahamas(~lucian@84.232.140.158)
2022-03-29 19:14:22 +0200econo(uid147250@user/econo)
2022-03-29 19:16:16 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-03-29 19:16:25 +0200arjun(~arjun@user/arjun)
2022-03-29 19:16:44 +0200arjun(~arjun@user/arjun) (Client Quit)
2022-03-29 19:17:06 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de)
2022-03-29 19:17:44 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 19:18:37 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 246 seconds)
2022-03-29 19:18:37 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-03-29 19:22:47 +0200vicfred(~vicfred@user/vicfred)
2022-03-29 19:23:26 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 19:23:48 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2022-03-29 19:24:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 19:24:28 +0200deadmarshal_(~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds)
2022-03-29 19:25:19 +0200razetime(~quassel@117.254.35.62) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-03-29 19:25:38 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-03-29 19:25:56 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 19:26:51 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 19:28:25 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2022-03-29 19:28:36 +0200jackalope(~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Ping timeout: 260 seconds)
2022-03-29 19:29:31 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-03-29 19:31:30 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 19:34:08 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 19:35:08 +0200jakalx(~jakalx@base.jakalx.net)
2022-03-29 19:37:46 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-03-29 19:38:47 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Quit: Leaving)
2022-03-29 19:39:02 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-29 19:39:36 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Read error: Connection reset by peer)
2022-03-29 19:39:48 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-29 19:39:54 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 19:41:11 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-29 19:41:43 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Read error: Connection reset by peer)
2022-03-29 19:41:51 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net)
2022-03-29 19:42:01 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Client Quit)
2022-03-29 19:42:04 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2022-03-29 19:42:15 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-29 19:42:46 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 19:43:08 +0200CATS(apic@brezn3.muc.ccc.de) (Remote host closed the connection)
2022-03-29 19:43:46 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-03-29 19:43:51 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-29 19:43:51 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Client Quit)
2022-03-29 19:43:53 +0200bob(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Read error: Connection reset by peer)
2022-03-29 19:46:01 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-03-29 19:47:19 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 19:48:46 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 19:51:06 +0200Macbethwin(~chargen@D964062A.static.ziggozakelijk.nl)
2022-03-29 19:51:12 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 19:52:14 +0200MacbethwinChargen
2022-03-29 19:52:40 +0200pnotequalnp(~kevin@user/pnotequalnp)
2022-03-29 19:56:35 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 252 seconds)
2022-03-29 19:56:56 +0200deadmarshal_(~deadmarsh@95.38.119.235)
2022-03-29 19:59:10 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 20:00:14 +0200Macbethwin_(~chargen@8.21.8.253)
2022-03-29 20:00:37 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-29 20:01:17 +0200deadmarshal_(~deadmarsh@95.38.119.235) (Ping timeout: 256 seconds)
2022-03-29 20:03:39 +0200 <ProfSimm> What is this called in haskell when you have "fun arg arg arg arg arg"
2022-03-29 20:03:39 +0200 <ProfSimm> Application chain, but is there a name for it
2022-03-29 20:03:44 +0200Chargen(~chargen@D964062A.static.ziggozakelijk.nl) (Ping timeout: 252 seconds)
2022-03-29 20:03:59 +0200Macbethwin_Chargen
2022-03-29 20:04:18 +0200shailangsa(~shailangs@host86-162-150-212.range86-162.btcentralplus.com) (Ping timeout: 252 seconds)
2022-03-29 20:04:31 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 20:04:49 +0200 <tomsmeding> 12:30 <maerwald> tomsmeding: it's not using bwrap?
2022-03-29 20:04:54 +0200 <tomsmeding> what makes you say that?
2022-03-29 20:05:18 +0200 <maerwald[m]> tomsmeding: i dunno, maybe I'm high
2022-03-29 20:05:43 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-03-29 20:05:52 +0200doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 246 seconds)
2022-03-29 20:06:02 +0200 <tomsmeding> come back down then :p
2022-03-29 20:06:11 +0200CATS(apic@brezn3.muc.ccc.de)
2022-03-29 20:06:22 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 20:09:40 +0200 <tomsmeding> ProfSimm: you mean a function applied to lots of arguments that arae the same?
2022-03-29 20:09:48 +0200boxscape_(~boxscape_@p4ff0b60b.dip0.t-ipconnect.de)
2022-03-29 20:10:09 +0200 <ProfSimm> tomjaguarpaw: not the same, just the application chain or call chain
2022-03-29 20:10:19 +0200 <ProfSimm> Anywya
2022-03-29 20:10:22 +0200 <tomsmeding> an... n-ary application?
2022-03-29 20:10:30 +0200 <ProfSimm> Is that the official name?
2022-03-29 20:10:58 +0200 <tomsmeding> not sure what part of "applying a function to arguments" is what you're trying to find a name for :p
2022-03-29 20:12:37 +0200 <monochrom> There is no special name for application upon application upon appliction.
2022-03-29 20:13:11 +0200jackalope(~jackalope@165.91.13.172)
2022-03-29 20:13:44 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4.1)
2022-03-29 20:13:55 +0200 <monochrom> Just like there is no special name to distinguish "((x+y)*(a-b))^(c/d)" from "x+y".
2022-03-29 20:14:14 +0200 <monochrom> Apart from "humongous mess".
2022-03-29 20:15:37 +0200 <monochrom> "epic formula" if you're in a good mood.
2022-03-29 20:15:45 +0200 <Rembane> Why not both?
2022-03-29 20:16:58 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 20:17:19 +0200 <monochrom> Sure, humongous mess, epic formula, emperor of the lone islands, defender of the faith. >:)
2022-03-29 20:17:29 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 252 seconds)
2022-03-29 20:17:47 +0200 <Rembane> Legendary!
2022-03-29 20:18:26 +0200 <monochrom> Err not epic enough. s/emperor of the lone islands/emperor of the lone islands and othe realms/ . Now that's more like it heehee.
2022-03-29 20:19:12 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 20:19:39 +0200 <Rembane> Spicy!
2022-03-29 20:21:06 +0200 <tomsmeding> emperor of \underline{\mathbf{Set}}
2022-03-29 20:21:31 +0200 <tomsmeding> now that would be an impressive title
2022-03-29 20:21:52 +0200 <monochrom> you forgot "and other classes and categories" >:)
2022-03-29 20:21:56 +0200Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
2022-03-29 20:22:10 +0200 <monochrom> and "defender of the types" haha
2022-03-29 20:22:32 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-03-29 20:23:19 +0200 <tomsmeding> Lord of the Higher Kinds
2022-03-29 20:23:35 +0200 <Rembane> Conqueror of P=NP
2022-03-29 20:24:37 +0200 <monochrom> Now it's my turn to go "why not both". Conqueror of P=NP and P≠NP.
2022-03-29 20:24:52 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 20:25:36 +0200 <Rembane> It's indeed your turn. This is good conquest.
2022-03-29 20:25:42 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 20:26:31 +0200 <monochrom> "think like a warmongering despot" :)
2022-03-29 20:26:39 +0200 <tomsmeding> just work in Falso http://sigtbd.csail.mit.edu/pubs/2016/paper9.pdf
2022-03-29 20:28:23 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 20:28:54 +0200 <monochrom> I was wondering why it's self-consistent. Then, oh, of course, no one says it's consistent (without self-).
2022-03-29 20:29:18 +0200 <monochrom> "Falso proves itself consistent" is true. :)
2022-03-29 20:30:55 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-03-29 20:34:22 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 20:36:57 +0200k8yun(~k8yun@user/k8yun)
2022-03-29 20:40:31 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 20:40:55 +0200jackalope(~jackalope@165.91.13.172) (Quit: = "vale")
2022-03-29 20:43:55 +0200fef(~thedawn@user/thedawn) (Ping timeout: 240 seconds)
2022-03-29 20:48:41 +0200Chargen(~chargen@8.21.8.253) (Quit: Leaving)
2022-03-29 20:49:05 +0200Macbethwin(~chargen@8.21.8.253)
2022-03-29 20:49:31 +0200zer0bitz(~zer0bitz@2001:2003:f750:a200:544e:226a:9b44:a162) (Ping timeout: 245 seconds)
2022-03-29 20:53:32 +0200kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Ping timeout: 260 seconds)
2022-03-29 20:59:44 +0200bahamas(~lucian@84.232.140.158)
2022-03-29 21:01:31 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2022-03-29 21:07:55 +0200riddler2d(~riddler2d@94.250.72.176)
2022-03-29 21:13:09 +0200fendor(~fendor@178.165.199.73.wireless.dyn.drei.com)
2022-03-29 21:15:23 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 21:19:14 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:23b1:9164:bf8a:2d11)
2022-03-29 21:20:25 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 21:20:29 +0200xcmw(~textual@dyn-72-33-2-250.uwnet.wisc.edu)
2022-03-29 21:21:12 +0200 <xcmw> Are there any downsides to query based compilers as described in https://ollef.github.io/blog/posts/query-based-compilers.html ?
2022-03-29 21:22:54 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 21:24:17 +0200jonathanx(~jonathan@c-5eea3313-74736162.cust.telenor.se)
2022-03-29 21:25:25 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 240 seconds)
2022-03-29 21:28:07 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 21:28:11 +0200neurocyte8(~neurocyte@IP-094016066081.dynamic.medianet-world.de)
2022-03-29 21:28:11 +0200neurocyte8(~neurocyte@IP-094016066081.dynamic.medianet-world.de) (Changing host)
2022-03-29 21:28:11 +0200neurocyte8(~neurocyte@user/neurocyte)
2022-03-29 21:28:59 +0200neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 260 seconds)
2022-03-29 21:30:38 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 21:34:23 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 3.4)
2022-03-29 21:35:07 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk)
2022-03-29 21:35:36 +0200dextaa_(~dextaa@user/dextaa)
2022-03-29 21:35:48 +0200pnotequalnp(~kevin@user/pnotequalnp) (Ping timeout: 240 seconds)
2022-03-29 21:37:17 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-03-29 21:39:26 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 21:40:46 +0200yauhsien_(~yauhsien@61-231-60-85.dynamic-ip.hinet.net)
2022-03-29 21:40:52 +0200yauhsien(~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-03-29 21:45:03 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 21:45:33 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 21:47:23 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 21:51:06 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-03-29 21:53:13 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 21:55:26 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 21:56:22 +0200yauhsien_(~yauhsien@61-231-60-85.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-29 21:56:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 21:57:22 +0200yauhsien(~yauhsien@61-231-60-85.dynamic-ip.hinet.net)
2022-03-29 21:57:49 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-03-29 21:59:45 +0200acidjnk(~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de)
2022-03-29 22:01:43 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 22:02:25 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-03-29 22:02:35 +0200yauhsien(~yauhsien@61-231-60-85.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-03-29 22:03:02 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-03-29 22:03:51 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 22:06:11 +0200MacbethwinChargen
2022-03-29 22:09:04 +0200`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 246 seconds)
2022-03-29 22:09:08 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 22:11:03 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 22:11:16 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-03-29 22:12:41 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-03-29 22:13:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 22:13:37 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2022-03-29 22:13:48 +0200cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2022-03-29 22:14:22 +0200agumonkey(~user@88.163.231.79) (Ping timeout: 260 seconds)
2022-03-29 22:14:54 +0200bliminse(~bliminse@host86-185-253-73.range86-185.btcentralplus.com)
2022-03-29 22:15:26 +0200Lord_of_Life_Lord_of_Life
2022-03-29 22:16:30 +0200Graham31415(~Graham@user/Graham31415) (Read error: Connection reset by peer)
2022-03-29 22:18:00 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 22:19:59 +0200cheater(~Username@user/cheater)
2022-03-29 22:20:19 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 22:21:36 +0200pavonia(~user@user/siracusa)
2022-03-29 22:22:27 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-03-29 22:24:49 +0200jonathanx(~jonathan@c-5eea3313-74736162.cust.telenor.se) (Ping timeout: 246 seconds)
2022-03-29 22:27:18 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Remote host closed the connection)
2022-03-29 22:27:35 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-03-29 22:29:49 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Quit: WeeChat 3.3)
2022-03-29 22:30:41 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2022-03-29 22:30:51 +0200riddler2d(~riddler2d@94.250.72.176) ()
2022-03-29 22:32:01 +0200yauhsien(~yauhsien@61-231-60-85.dynamic-ip.hinet.net)
2022-03-29 22:32:03 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-03-29 22:34:22 +0200motherfsck(~motherfsc@user/motherfsck)
2022-03-29 22:34:31 +0200asocialblade(~qsl@user/asocialblade)
2022-03-29 22:36:33 +0200yauhsien(~yauhsien@61-231-60-85.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-03-29 22:41:39 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-03-29 22:43:21 +0200ec(~ec@gateway/tor-sasl/ec)
2022-03-29 22:44:27 +0200Emil3566(~Emil3566@host-45-159-164-7.netcity.pl)
2022-03-29 22:44:35 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2022-03-29 22:45:21 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:23b1:9164:bf8a:2d11) (Quit: WeeChat 2.8)
2022-03-29 22:49:21 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 22:50:32 +0200Emil3566(~Emil3566@host-45-159-164-7.netcity.pl) (Leaving...)
2022-03-29 22:50:53 +0200asocialblade(~qsl@user/asocialblade) ()
2022-03-29 22:58:09 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-03-29 22:58:10 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-03-29 22:58:37 +0200Guest19(~Guest19@ip-86-49-182-248.zrnko.net)
2022-03-29 22:58:37 +0200nattiestnate(~nate@202.138.250.9) (Quit: WeeChat 3.5)
2022-03-29 22:58:38 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 22:59:13 +0200rawley(~rawley@142.99.241.242) (Remote host closed the connection)
2022-03-29 23:01:18 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds)
2022-03-29 23:01:39 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 23:03:00 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-03-29 23:05:18 +0200kaph(~kaph@net-31-156-214-2.cust.vodafonedsl.it)
2022-03-29 23:05:34 +0200shailangsa(~shailangs@host86-162-150-212.range86-162.btcentralplus.com)
2022-03-29 23:05:43 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-03-29 23:06:53 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-03-29 23:07:28 +0200shailangsa(~shailangs@host86-162-150-212.range86-162.btcentralplus.com) ()
2022-03-29 23:09:34 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-03-29 23:10:47 +0200 <sshine> xcmw, interesting blogpost!
2022-03-29 23:10:59 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds)
2022-03-29 23:11:41 +0200alp(~alp@user/alp) (Ping timeout: 256 seconds)
2022-03-29 23:12:35 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 260 seconds)
2022-03-29 23:13:34 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-03-29 23:14:53 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-03-29 23:16:59 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-03-29 23:17:14 +0200Guest19(~Guest19@ip-86-49-182-248.zrnko.net) (Quit: Client closed)
2022-03-29 23:21:08 +0200pnotequalnp(~kevin@user/pnotequalnp)
2022-03-29 23:21:24 +0200 <kuribas> not sure what that's supposed solve, is it compile times?
2022-03-29 23:24:10 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 23:27:23 +0200odnes(~odnes@5-203-245-187.pat.nym.cosmote.net) (Quit: Leaving)
2022-03-29 23:29:48 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
2022-03-29 23:32:23 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 23:32:42 +0200michalz(~michalz@185.246.204.97) (Remote host closed the connection)
2022-03-29 23:37:45 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
2022-03-29 23:38:13 +0200nattiestnate(~nate@202.138.250.11)
2022-03-29 23:40:29 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 23:41:16 +0200 <koz> I have a FilePath that looks like "/foo/bar/baz/../quux". Is there some function somewhere I can call which would turn it into "/foo/bar/quux"?
2022-03-29 23:41:32 +0200dolio(~dolio@130.44.130.54) (Ping timeout: 252 seconds)
2022-03-29 23:42:19 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-03-29 23:42:55 +0200wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds)
2022-03-29 23:43:55 +0200nattiestnate(~nate@202.138.250.11) (Quit: WeeChat 3.5)
2022-03-29 23:44:21 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-03-29 23:44:26 +0200 <geekosaur> https://downloads.haskell.org/ghc/8.10.7/docs/html/libraries/directory-1.3.6.0/System-Directory.ht… ?
2022-03-29 23:44:40 +0200 <koz> That looks perfect, thank you, you cute dino!
2022-03-29 23:44:45 +0200 <geekosaur> also beware that that will do the wrong thing if baz is a symlink
2022-03-29 23:45:04 +0200 <geekosaur> (canonicalizePath may deal with this for you, hopefully)
2022-03-29 23:45:20 +0200 <koz> I don't _think_ this is the situation in my case. Worth a try at least.
2022-03-29 23:45:26 +0200dolio(~dolio@130.44.130.54)
2022-03-29 23:45:33 +0200 <Franciman> i don't know if i said it
2022-03-29 23:45:38 +0200 <Franciman> but haskell's runtime is RAD
2022-03-29 23:45:40 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds)
2022-03-29 23:45:49 +0200 <koz> Franciman: Yeah, it does some quite miraculous things.
2022-03-29 23:45:50 +0200 <geekosaur> I should say what you requested would do the wrong thing
2022-03-29 23:46:11 +0200 <koz> I think Gabriella Gonzales even mentioned that we don't even have to care if IO is async or not, even for FFI.
2022-03-29 23:46:19 +0200 <koz> Which is actually miraculous.
2022-03-29 23:47:08 +0200 <maerwald> geekosaur: what do you mean?
2022-03-29 23:47:55 +0200 <geekosaur> /foo/bar/baz/../quux to /foo/bar/qux is wrong if baz is a symlink
2022-03-29 23:47:56 +0200xcmw(~textual@dyn-72-33-2-250.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-29 23:47:59 +0200 <maerwald> `..` is a file, not some special path component
2022-03-29 23:48:00 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 23:48:08 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
2022-03-29 23:48:10 +0200 <geekosaur> yes, but it will point somewhere else
2022-03-29 23:48:17 +0200k8yun_(~k8yun@user/k8yun)
2022-03-29 23:48:23 +0200 <maerwald> yes and that's the only possible semantics
2022-03-29 23:48:32 +0200 <abastro[m]> `..` is a file?
2022-03-29 23:48:33 +0200 <geekosaur> precisely because it is an actual directopry entry
2022-03-29 23:48:37 +0200 <maerwald> yes
2022-03-29 23:48:44 +0200 <koz> abastro[m]: Yes.
2022-03-29 23:48:47 +0200 <abastro[m]> Oh hmm
2022-03-29 23:48:47 +0200 <geekosaur> \but it will be an entry in the symlinbked-todirectory and will point to its actual parent
2022-03-29 23:48:49 +0200 <koz> So is '.' for that matter.
2022-03-29 23:48:51 +0200alp(~alp@user/alp)
2022-03-29 23:48:53 +0200shailangsa(~shailangs@host86-162-150-212.range86-162.btcentralplus.com)
2022-03-29 23:48:57 +0200 <abastro[m]> So that is how unix is implemented
2022-03-29 23:49:10 +0200 <monochrom> "is" and "file" are very broad in the context of unix.
2022-03-29 23:49:13 +0200 <geekosaur> this is the weak spot in symlinks
2022-03-29 23:49:17 +0200 <maerwald> monochrom: lol
2022-03-29 23:49:23 +0200 <monochrom> Well, "is" is very broad universally.
2022-03-29 23:49:38 +0200asocialblade(~qsl@user/asocialblade)
2022-03-29 23:49:49 +0200 <maerwald> geekosaur: yeah... mountpoints are cleaner xD
2022-03-29 23:49:58 +0200 <abastro[m]> In my OS class IIRC I hardcoded those entries
2022-03-29 23:50:07 +0200wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-03-29 23:50:17 +0200 <maerwald> with mountpoints it gets extra tricky to figure out if your recursive file operation may terminate
2022-03-29 23:50:21 +0200 <maerwald> although it's possible
2022-03-29 23:50:27 +0200 <abastro[m]> So that was the wrong way :<
2022-03-29 23:50:58 +0200 <geekosaur> .recursivefindtrap :)
2022-03-29 23:51:18 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-03-29 23:51:32 +0200 <sm> Franciman: what do you like about it ?
2022-03-29 23:51:48 +0200k8yun(~k8yun@user/k8yun) (Ping timeout: 260 seconds)
2022-03-29 23:52:07 +0200 <Franciman> sm: i was doing some tests on my 70lines lambda calculus implementation
2022-03-29 23:52:30 +0200 <maerwald> here's why unix is hard: https://github.com/valvesoftware/steam-for-linux/issues/3671
2022-03-29 23:52:36 +0200 <maerwald> classic
2022-03-29 23:52:40 +0200 <Franciman> and while laziness is a big problem. Once you get rid of lazy data, haskell's runtime is way more efficient than MLton sml runtime
2022-03-29 23:52:43 +0200 <Franciman> by a lot
2022-03-29 23:52:50 +0200 <Franciman> i think it may be laziness!
2022-03-29 23:52:52 +0200 <Franciman> but who knows
2022-03-29 23:52:55 +0200 <Franciman> btw great job
2022-03-29 23:53:14 +0200 <sm> great job everyone
2022-03-29 23:55:01 +0200 <sm> also, great job on http://play-haskell.tomsmeding.com:8123/play, maerwald & tomsmeding
2022-03-29 23:55:17 +0200 <maerwald> we're still looking for someone with CSS skillz
2022-03-29 23:55:30 +0200 <sm> any particular CSS problem causing trouble ?
2022-03-29 23:55:37 +0200 <maerwald> it looks so 80s
2022-03-29 23:55:52 +0200 <maerwald> dialing in with my 56k modem
2022-03-29 23:56:06 +0200 <tomsmeding> sm: my friend @lieuwex helped me fix the most egregious one, the output making the page overflow
2022-03-29 23:56:12 +0200pnotequalnp(~kevin@user/pnotequalnp) (Ping timeout: 240 seconds)
2022-03-29 23:56:55 +0200alx741(~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds)
2022-03-29 23:57:04 +0200 <maerwald> tomsmeding: sorting the list [1..100000] already times out xD
2022-03-29 23:57:11 +0200 <maerwald> kinda funny
2022-03-29 23:57:17 +0200 <tomsmeding> wa-
2022-03-29 23:57:22 +0200 <boxscape_> hmm is it intentional that the default program, the quicksort, removes duplicates?
2022-03-29 23:57:26 +0200 <sm> I kind of like the UI of https://hackmd.io/t_T9l454R5aRWwNsFT0SaA?both. Ctrl-Alt-e/v/b shows edit/view/both. Strong light/dark split to show which is which
2022-03-29 23:57:43 +0200fendor(~fendor@178.165.199.73.wireless.dyn.drei.com) (Remote host closed the connection)
2022-03-29 23:57:45 +0200 <tomsmeding> boxscape_: you found a bug in maerwald's code
2022-03-29 23:57:49 +0200 <boxscape_> (by having filter (>) and filter (<) rather than one of them being e.g. filter (<=))
2022-03-29 23:58:06 +0200 <monochrom> I like 80s.
2022-03-29 23:58:19 +0200alp(~alp@user/alp) (Ping timeout: 260 seconds)
2022-03-29 23:58:41 +0200alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-29 23:58:53 +0200 <maerwald> tomsmeding: it's a test
2022-03-29 23:58:58 +0200 <tomsmeding> lol
2022-03-29 23:59:13 +0200 <monochrom> In fact as a matter of principle I also dislike total strangers using CSS to condescend on me what are "good" background colours and foreground colours.
2022-03-29 23:59:22 +0200 <sm> how hard would it be to embed the haskell code in the url ?
2022-03-29 23:59:41 +0200 <maerwald> url's have a length limit
2022-03-29 23:59:57 +0200 <maerwald> the idea is to integrate it with the pastebin