2022-03-29 00:04:47 +0200 | juri_ | (~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 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-03-29 00:10:08 +0200 | slack1256 | (~slack1256@186.11.57.103) (Ping timeout: 272 seconds) |
2022-03-29 00:15:59 +0200 | juri_ | (~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 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-03-29 00:24:37 +0200 | Inst | (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 246 seconds) |
2022-03-29 00:24:53 +0200 | nosewings | (~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 +0200 | epolanski | (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 +0200 | kaph | (~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 +0200 | acidjnk | (~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 +0200 | ProfSimm | (~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 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Quit: ...) |
2022-03-29 00:41:16 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) |
2022-03-29 00:41:16 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) (Changing host) |
2022-03-29 00:41:16 +0200 | lambdabot | (~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 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-03-29 01:02:21 +0200 | cosimone` | (~user@93-44-187-176.ip98.fastwebnet.it) |
2022-03-29 01:03:16 +0200 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 245 seconds) |
2022-03-29 01:05:41 +0200 | jgeerds | (~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 256 seconds) |
2022-03-29 01:07:47 +0200 | kaph | (~kaph@net-109-116-124-149.cust.vodafonedsl.it) |
2022-03-29 01:08:53 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4.1) |
2022-03-29 01:11:34 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-03-29 01:12:30 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-03-29 01:12:50 +0200 | gurkenglas | (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
2022-03-29 01:17:00 +0200 | raehik | (~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 +0200 | mstksg | jle` |
2022-03-29 01:18:03 +0200 | nosewings | (~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 +0200 | zeenk | (~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 +0200 | Codaraxis__ | (~Codaraxis@user/codaraxis) |
2022-03-29 01:22:09 +0200 | deadmarshal_ | (~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 +0200 | sprout | (~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 +0200 | deadmarshal_ | (~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 +0200 | Axman6 | (~Axman6@user/axman6) |
2022-03-29 01:29:41 +0200 | sprout | (~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 +0200 | unit73e | (~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 +0200 | chenqisu1 | (~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 +0200 | chenqisu1 | (~chenqisu1@183.217.200.168) (Max SendQ exceeded) |
2022-03-29 01:55:53 +0200 | ProfSimm | (~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 +0200 | chenqisu1 | (~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 +0200 | euandreh | (~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 +0200 | raehik | (~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 +0200 | dminuoso | finds 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 +0200 | xff0x | (~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 +0200 | fendor_ | (~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 +0200 | sayola | (~vekto@dslb-002-201-085-116.002.201.pools.vodafone-ip.de) |
2022-03-29 02:13:49 +0200 | fendor_ | (~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 +0200 | boxscape_ | (~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 +0200 | paul1 | (~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 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-03-29 02:14:54 +0200 | sayola1 | (~vekto@dslb-002-201-085-116.002.201.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
2022-03-29 02:14:56 +0200 | FinnElija | (~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 +0200 | FinnElija | (~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 +0200 | kaskal | (~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 +0200 | eggplantade | (~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 +0200 | adanwan | (~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 +0200 | HotblackDesiato_ | (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
2022-03-29 02:18:55 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
2022-03-29 02:19:15 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
2022-03-29 02:19:22 +0200 | HotblackDesiato | (~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 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-03-29 02:19:45 +0200 | stiell_ | (~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 +0200 | chexum | (~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 +0200 | Trattue | (~Trattue@152.70.182.158) (Ping timeout: 240 seconds) |
2022-03-29 02:20:09 +0200 | feliix42_ | (~felix@gibbs.uberspace.de) (Ping timeout: 240 seconds) |
2022-03-29 02:20:09 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 02:20:19 +0200 | feliix42 | (~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 +0200 | Trattue | (~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 +0200 | img | (~img@2405:6580:b1c0:2500:7fee:4a8a:9cab:420) |
2022-03-29 02:21:38 +0200 | img | (~img@2405:6580:b1c0:2500:7fee:4a8a:9cab:420) (Changing host) |
2022-03-29 02:21:38 +0200 | img | (~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 +0200 | machinedgod | (~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 +0200 | chenqisu12 | (~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 +0200 | chenqisu1 | (~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 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 02:38:55 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-03-29 02:39:08 +0200 | lavaman | (~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 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2022-03-29 02:41:49 +0200 | pnotequalnp | (~kevin@user/pnotequalnp) (Ping timeout: 246 seconds) |
2022-03-29 02:41:51 +0200 | dpratt | (sid193493@2a03:5180:f:1::2:f3d5) (Ping timeout: 250 seconds) |
2022-03-29 02:41:51 +0200 | hook54321 | (sid149355@user/hook54321) (Ping timeout: 250 seconds) |
2022-03-29 02:41:51 +0200 | ysh | (sid6017@id-6017.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2022-03-29 02:41:51 +0200 | megeve | (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 +0200 | xff0x | (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) |
2022-03-29 02:43:34 +0200 | megeve | (sid523379@id-523379.hampstead.irccloud.com) |
2022-03-29 02:43:36 +0200 | ysh | (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 +0200 | hook54321 | (sid149355@user/hook54321) |
2022-03-29 02:45:04 +0200 | dpratt | (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 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 02:53:39 +0200 | merijn | (~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 +0200 | Mags0001 | (~Mags@host-79-26-197-11.retail.telecomitalia.it) |
2022-03-29 03:00:47 +0200 | Mags0001 | (~Mags@host-79-26-197-11.retail.telecomitalia.it) () |
2022-03-29 03:01:02 +0200 | lavaman | (~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 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-03-29 03:05:56 +0200 | lbseale | (~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer) |
2022-03-29 03:06:11 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:2ad9:1465:5fb9:8672) |
2022-03-29 03:06:14 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-03-29 03:06:14 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-03-29 03:06:14 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-03-29 03:10:27 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-03-29 03:10:38 +0200 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) (Ping timeout: 272 seconds) |
2022-03-29 03:12:09 +0200 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) |
2022-03-29 03:12:17 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
2022-03-29 03:12:49 +0200 | Akiva | (~Akiva@user/Akiva) (Quit: WeeChat 3.4) |
2022-03-29 03:13:15 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) |
2022-03-29 03:14:41 +0200 | geoduck | (~X@71.182.184.253) |
2022-03-29 03:15:07 +0200 | lavaman | (~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 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-03-29 03:17:18 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:950:287b:c4be:ac00) (Ping timeout: 260 seconds) |
2022-03-29 03:21:28 +0200 | neurocyte1 | (~neurocyte@IP-094016066081.dynamic.medianet-world.de) |
2022-03-29 03:21:29 +0200 | neurocyte1 | (~neurocyte@IP-094016066081.dynamic.medianet-world.de) (Changing host) |
2022-03-29 03:21:29 +0200 | neurocyte1 | (~neurocyte@user/neurocyte) |
2022-03-29 03:23:50 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
2022-03-29 03:23:50 +0200 | neurocyte1 | neurocyte |
2022-03-29 03:26:01 +0200 | Inst | (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) |
2022-03-29 03:27:31 +0200 | ddb | (~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 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:2ad9:1465:5fb9:8672) (Ping timeout: 260 seconds) |
2022-03-29 03:30:31 +0200 | euandreh | (~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 +0200 | vglfr | (~vglfr@88.155.45.251) |
2022-03-29 03:35:58 +0200 | nosewings | (~ngpc@2603-8081-3e05-e2d0-e11f-0c89-4074-605e.res6.spectrum.com) (Remote host closed the connection) |
2022-03-29 03:40:16 +0200 | mixfix41 | (~homefame@user/mixfix41) (Ping timeout: 246 seconds) |
2022-03-29 03:40:45 +0200 | paraseba | (~paraseba@187.10.123.216) |
2022-03-29 03:40:59 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-03-29 03:45:18 +0200 | mixfix41 | (~homefame@user/mixfix41) |
2022-03-29 03:45:55 +0200 | justsomeguy | (~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 +0200 | srk- | (~sorki@user/srk) |
2022-03-29 03:48:53 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection) |
2022-03-29 03:49:27 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-03-29 03:49:39 +0200 | srk | (~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 +0200 | srk- | srk |
2022-03-29 03:51:57 +0200 | dcoutts__ | (~duncan@host86-151-9-10.range86-151.btcentralplus.com) |
2022-03-29 03:54:25 +0200 | dcoutts_ | (~duncan@host86-151-44-233.range86-151.btcentralplus.com) (Ping timeout: 250 seconds) |
2022-03-29 03:56:57 +0200 | pnotequalnp | (~kevin@user/pnotequalnp) |
2022-03-29 03:59:17 +0200 | vglfr | (~vglfr@88.155.45.251) (Ping timeout: 260 seconds) |
2022-03-29 04:02:25 +0200 | lispy | (~lispy@82.212.115.165) |
2022-03-29 04:08:22 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-03-29 04:08:27 +0200 | justOkay | (~justache@user/justache) (Quit: The Lounge - https://thelounge.chat) |
2022-03-29 04:13:03 +0200 | justOkay | (~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 +0200 | xkuru | (~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 +0200 | yauhsien | (~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 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-03-29 04:39:46 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-03-29 04:39:46 +0200 | finn_elija | FinnElija |
2022-03-29 04:39:55 +0200 | <abastro[m]> | Woah |
2022-03-29 04:40:07 +0200 | alx741 | (~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 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Quit: Connection closed) |
2022-03-29 04:42:27 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-03-29 04:42:28 +0200 | alx741 | (~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 +0200 | terrorjack | (~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 +0200 | terrorjack | (~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 +0200 | alx741 | (~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 +0200 | alx741 | (~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 +0200 | merijn | (~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 +0200 | alx741 | (~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 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-03-29 04:59:52 +0200 | lavaman | (~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 +0200 | vglfr | (~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 +0200 | Buggys | (~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 +0200 | paraseba | (~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 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-03-29 05:29:00 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-03-29 05:30:18 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:203:625:d7c4:9b0) (Ping timeout: 260 seconds) |
2022-03-29 05:30:24 +0200 | nate1 | (~nate@98.45.167.61) |
2022-03-29 05:32:04 +0200 | nosewings | (~ngpc@2603-8081-3e05-e2d0-ab92-d9c1-c016-553e.res6.spectrum.com) |
2022-03-29 05:34:22 +0200 | Graham31515 | (~Graham@user/Graham31415) (Read error: Connection reset by peer) |
2022-03-29 05:34:28 +0200 | Graham31415 | (~Graham@user/Graham31415) |
2022-03-29 05:34:58 +0200 | nate1 | (~nate@98.45.167.61) (Ping timeout: 260 seconds) |
2022-03-29 05:38:55 +0200 | benin | (~benin@183.82.24.110) (Ping timeout: 246 seconds) |
2022-03-29 05:42:40 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 05:45:55 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-03-29 05:51:46 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 05:52:00 +0200 | mbuf | (~Shakthi@122.173.70.161) |
2022-03-29 05:53:16 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 05:55:01 +0200 | vglfr | (~vglfr@88.155.45.251) (Ping timeout: 246 seconds) |
2022-03-29 05:55:33 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) |
2022-03-29 05:56:42 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2022-03-29 05:57:42 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-03-29 06:00:46 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 06:05:10 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2022-03-29 06:05:10 +0200 | zyklotomic | (~ethan@res380d-128-61-85-52.res.gatech.edu) (Ping timeout: 246 seconds) |
2022-03-29 06:06:36 +0200 | mvk | (~mvk@2607:fea8:5cc3:7e00::7980) (Ping timeout: 245 seconds) |
2022-03-29 06:07:11 +0200 | zyklotomic | (~ethan@res380d-128-61-83-149.res.gatech.edu) |
2022-03-29 06:22:13 +0200 | benin | (~benin@183.82.24.110) |
2022-03-29 06:23:46 +0200 | benin5 | (~benin@183.82.24.110) |
2022-03-29 06:25:19 +0200 | zmt00 | (~zmt00@user/zmt00) (Quit: Leaving) |
2022-03-29 06:25:20 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-03-29 06:26:53 +0200 | benin | (~benin@183.82.24.110) (Ping timeout: 260 seconds) |
2022-03-29 06:26:53 +0200 | benin5 | benin |
2022-03-29 06:27:57 +0200 | zmt00 | (~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 +0200 | yauhsien | (~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 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-03-29 06:40:10 +0200 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-03-29 06:45:35 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
2022-03-29 06:47:34 +0200 | bahamas | (~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 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-03-29 06:51:23 +0200 | mon_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 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 06:54:11 +0200 | dut | (~dut@user/dut) |
2022-03-29 06:56:21 +0200 | Guest2 | (~Guest2@2405:201:6002:a800:4d6a:452:e4e8:6bd9) |
2022-03-29 06:56:31 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 06:57:39 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-03-29 06:57:44 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 07:02:27 +0200 | bahamas | (~lucian@86.120.21.179) (Ping timeout: 260 seconds) |
2022-03-29 07:05:11 +0200 | Guest2 | (~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 +0200 | dcoutts_ | (~duncan@host86-151-9-10.range86-151.btcentralplus.com) |
2022-03-29 07:14:31 +0200 | dcoutts__ | (~duncan@host86-151-9-10.range86-151.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-03-29 07:16:10 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) |
2022-03-29 07:21:17 +0200 | merijn | (~merijn@c-001-002-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 07:25:13 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds) |
2022-03-29 07:25:27 +0200 | dcoutts__ | (~duncan@host86-151-9-10.range86-151.btcentralplus.com) |
2022-03-29 07:28:59 +0200 | dcoutts_ | (~duncan@host86-151-9-10.range86-151.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-03-29 07:29:53 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-03-29 07:32:47 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 07:34:19 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 07:39:15 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-03-29 07:46:43 +0200 | mncheck | (~mncheck@193.224.205.254) |
2022-03-29 07:47:28 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-03-29 07:52:06 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Read error: No route to host) |
2022-03-29 07:52:16 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-03-29 07:52:18 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) |
2022-03-29 07:54:29 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-03-29 07:55:33 +0200 | merijn | (~merijn@c-001-002-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-03-29 07:56:59 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds) |
2022-03-29 07:57:32 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 272 seconds) |
2022-03-29 08:09:57 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
2022-03-29 08:11:26 +0200 | dcoutts_ | (~duncan@host86-150-41-212.range86-150.btcentralplus.com) |
2022-03-29 08:11:52 +0200 | vglfr | (~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 +0200 | dcoutts__ | (~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 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:950:287b:c4be:ac00) |
2022-03-29 08:18:05 +0200 | acidjnk | (~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 +0200 | unyu | (~pyon@user/pyon) (Ping timeout: 240 seconds) |
2022-03-29 08:24:09 +0200 | <Axman6> | \f t -> f |
2022-03-29 08:24:36 +0200 | unyu | (~pyon@user/pyon) |
2022-03-29 08:26:57 +0200 | Everything | (~Everythin@37.115.210.35) |
2022-03-29 08:28:42 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-03-29 08:29:53 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-03-29 08:32:28 +0200 | dut_ | (~dut@user/dut) |
2022-03-29 08:33:22 +0200 | dut__ | (~dut@user/dut) |
2022-03-29 08:36:12 +0200 | dut | (~dut@user/dut) (Ping timeout: 260 seconds) |
2022-03-29 08:37:33 +0200 | dut_ | (~dut@user/dut) (Ping timeout: 260 seconds) |
2022-03-29 08:39:23 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 08:44:07 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
2022-03-29 08:44:33 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-03-29 08:45:09 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-03-29 08:46:11 +0200 | img | (~img@user/img) |
2022-03-29 08:47:01 +0200 | lechner | (~lechner@debian/lechner) (Ping timeout: 245 seconds) |
2022-03-29 08:48:50 +0200 | Sgeo__ | (~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 +0200 | jonathanx | (~jonathan@c-5eea3313-74736162.cust.telenor.se) |
2022-03-29 08:53:12 +0200 | jonathanx | (~jonathan@c-5eea3313-74736162.cust.telenor.se) (Read error: Connection reset by peer) |
2022-03-29 08:53:30 +0200 | jonathanx | (~jonathan@94.234.51.19) |
2022-03-29 08:55:43 +0200 | michalz | (~michalz@185.246.204.97) |
2022-03-29 08:58:14 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:c0ae:bf23:cf6b:67df) |
2022-03-29 08:59:49 +0200 | jonathanx | (~jonathan@94.234.51.19) (Ping timeout: 246 seconds) |
2022-03-29 09:00:08 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2022-03-29 09:01:06 +0200 | jonathanx | (~jonathan@94.234.51.19) |
2022-03-29 09:04:28 +0200 | alp | (~alp@user/alp) |
2022-03-29 09:08:14 +0200 | fef | (~thedawn@user/thedawn) |
2022-03-29 09:08:40 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 09:15:51 +0200 | dextaa_ | (~dextaa@user/dextaa) (Remote host closed the connection) |
2022-03-29 09:18:27 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2022-03-29 09:20:05 +0200 | acidjnk | (~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-03-29 09:24:35 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) |
2022-03-29 09:25:48 +0200 | zeenk | (~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) |
2022-03-29 09:26:15 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
2022-03-29 09:27:07 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-03-29 09:27:23 +0200 | alp | (~alp@user/alp) (Ping timeout: 252 seconds) |
2022-03-29 09:28:38 +0200 | jonathanx | (~jonathan@94.234.51.19) (Quit: Leaving) |
2022-03-29 09:29:29 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-03-29 09:30:08 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2022-03-29 09:31:49 +0200 | alp | (~alp@user/alp) |
2022-03-29 09:32:05 +0200 | neurocyte8 | (~neurocyte@IP-094016066081.dynamic.medianet-world.de) |
2022-03-29 09:32:06 +0200 | neurocyte8 | (~neurocyte@IP-094016066081.dynamic.medianet-world.de) (Changing host) |
2022-03-29 09:32:06 +0200 | neurocyte8 | (~neurocyte@user/neurocyte) |
2022-03-29 09:32:13 +0200 | kmein | (~weechat@user/kmein) |
2022-03-29 09:33:33 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds) |
2022-03-29 09:34:03 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 260 seconds) |
2022-03-29 09:34:04 +0200 | neurocyte8 | neurocyte |
2022-03-29 09:34:25 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 09:34:55 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-03-29 09:35:12 +0200 | MajorBiscuit | (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) |
2022-03-29 09:35:27 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 09:37:52 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-03-29 09:39:16 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-03-29 09:41:06 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) |
2022-03-29 09:44:09 +0200 | Hemmo | (~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 +0200 | mon_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 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2022-03-29 09:48:03 +0200 | deadmarshal_ | (~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 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 09:49:02 +0200 | machinedgod | (~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 +0200 | Hemmo | (~Hemmo@185.112.82.222) (Ping timeout: 260 seconds) |
2022-03-29 09:58:26 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 09:59:03 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 10:02:42 +0200 | Inst | (~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 +0200 | yauhsien | (~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 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 10:06:53 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2022-03-29 10:10:27 +0200 | Codaraxis__ | (~Codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
2022-03-29 10:15:10 +0200 | kuribas | (~user@ptr-25vy0i96ymkampl0mim.18120a2.ip6.access.telenet.be) |
2022-03-29 10:16:41 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 10:17:20 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 10:20:55 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Remote host closed the connection) |
2022-03-29 10:21:18 +0200 | cdman | (~dcm@27.2.217.171) |
2022-03-29 10:21:18 +0200 | cdman | (~dcm@27.2.217.171) (Changing host) |
2022-03-29 10:21:18 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-03-29 10:24:11 +0200 | chenqisu12 | (~chenqisu1@183.217.200.168) (Quit: Leaving) |
2022-03-29 10:24:44 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-03-29 10:24:55 +0200 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-03-29 10:29:00 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-03-29 10:31:48 +0200 | pnotequalnp | (~kevin@user/pnotequalnp) (Ping timeout: 240 seconds) |
2022-03-29 10:32:03 +0200 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-03-29 10:35:52 +0200 | gurkenglas | (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) |
2022-03-29 10:41:26 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection) |
2022-03-29 10:41:43 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) |
2022-03-29 10:42:24 +0200 | bahamas | (~lucian@86.120.77.115) |
2022-03-29 10:43:20 +0200 | Hemmo | (~Hemmo@91.221.67.198) |
2022-03-29 10:43:51 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-03-29 10:45:27 +0200 | mon_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 +0200 | mon_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 +0200 | acidjnk | (~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 +0200 | lavaman | (~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 +0200 | eggplantade | (~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 +0200 | lispy | (~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 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 260 seconds) |
2022-03-29 11:00:08 +0200 | pareto-optimal-d | (~pareto-op@2001:470:69fc:105::1:b61f) (Quit: You have been kicked for being idle) |
2022-03-29 11:11:42 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2022-03-29 11:11:52 +0200 | jgeerds | (~jgeerds@55d4548e.access.ecotel.net) |
2022-03-29 11:13:18 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Ping timeout: 260 seconds) |
2022-03-29 11:13:36 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-03-29 11:14:18 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) |
2022-03-29 11:15:49 +0200 | cdman | (~dcm@27.2.217.171) |
2022-03-29 11:15:49 +0200 | cdman | (~dcm@27.2.217.171) (Changing host) |
2022-03-29 11:15:49 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-03-29 11:21:29 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Quit: Leaving) |
2022-03-29 11:25:35 +0200 | tiferrei | (~tiferrei@user/tiferrei) (Ping timeout: 240 seconds) |
2022-03-29 11:25:45 +0200 | tiferrei2000 | (~tiferrei@user/tiferrei) |
2022-03-29 11:26:15 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-03-29 11:26:24 +0200 | Major_Biscuit | (~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl) |
2022-03-29 11:26:48 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-03-29 11:27:11 +0200 | Major_Biscuit | (~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl) (Client Quit) |
2022-03-29 11:27:28 +0200 | Major_Biscuit | (~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl) |
2022-03-29 11:29:35 +0200 | MajorBiscuit | (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 256 seconds) |
2022-03-29 11:30:33 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 11:32:26 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 11:32:51 +0200 | xff0x | (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 245 seconds) |
2022-03-29 11:37:40 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-03-29 11:37:43 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-03-29 11:37:57 +0200 | widelec-BB | (~widelec@cpe-109-207-144-181.docsis.tczew.net.pl) |
2022-03-29 11:39:06 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 11:39:07 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds) |
2022-03-29 11:41:04 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 11:43:47 +0200 | cosimone` | (~user@93-44-187-176.ip98.fastwebnet.it) (Ping timeout: 260 seconds) |
2022-03-29 11:44:20 +0200 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-03-29 11:44:36 +0200 | widelec-BB | (~widelec@cpe-109-207-144-181.docsis.tczew.net.pl) ( ) |
2022-03-29 11:48:52 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-03-29 11:50:07 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 11:50:35 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 11:52:39 +0200 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds) |
2022-03-29 11:56:29 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 11:56:38 +0200 | nattiestnate | (~nate@202.138.250.9) |
2022-03-29 11:57:56 +0200 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-03-29 11:58:37 +0200 | Inst | (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) |
2022-03-29 11:58:43 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds) |
2022-03-29 11:59:47 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-03-29 11:59:58 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-03-29 12:00:27 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 12:01:03 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2022-03-29 12:01:27 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 12:07:25 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-03-29 12:07:41 +0200 | tfeb | (~tfb@88.98.95.237) |
2022-03-29 12:08:08 +0200 | mon_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 +0200 | mon_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 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2022-03-29 12:16:52 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-03-29 12:18:16 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 12:18:19 +0200 | acidjnk | (~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2022-03-29 12:19:19 +0200 | bahamas | (~lucian@86.120.77.115) (Ping timeout: 246 seconds) |
2022-03-29 12:21:48 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:61e3:f551:d48e:e2b3) |
2022-03-29 12:22:16 +0200 | ProfSimm | (~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 +0200 | yauhsien | (~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 +0200 | Profpatsch | (~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 +0200 | yauhsien | (~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 +0200 | ProfSimm | (~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 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-03-29 12:40:04 +0200 | econo | (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 +0200 | merijn | (~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 +0200 | alMalsamo | lumberjack123 |
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 +0200 | califax | (~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 +0200 | tfeb | (~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 +0200 | califax | (~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 +0200 | benin | (~benin@183.82.24.110) (Quit: The Lounge - https://thelounge.chat) |
2022-03-29 12:50:29 +0200 | xkuru | (~xkuru@user/xkuru) |
2022-03-29 12:51:22 +0200 | <Hemmo> | Hecate: Thanks |
2022-03-29 12:52:47 +0200 | Hemmo | (~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 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 12:59:38 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-03-29 13:01:55 +0200 | jonathanx | (~jonathan@dyn-2-sc.cdg.chalmers.se) |
2022-03-29 13:02:23 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2022-03-29 13:02:45 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2022-03-29 13:02:48 +0200 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 272 seconds) |
2022-03-29 13:03:07 +0200 | mncheck | (~mncheck@193.224.205.254) |
2022-03-29 13:03:18 +0200 | fef | (~thedawn@user/thedawn) |
2022-03-29 13:05:37 +0200 | odnes | (~odnes@5-203-245-187.pat.nym.cosmote.net) |
2022-03-29 13:07:10 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 13:07:46 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 13:08:48 +0200 | boxscape_ | (~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 +0200 | dut__ | (~dut@user/dut) (Quit: Leaving) |
2022-03-29 13:10:49 +0200 | razetime | (~quassel@117.254.35.62) |
2022-03-29 13:12:56 +0200 | Ferdirand | (~somebody@2001:4c78:2012:5000::2) (Remote host closed the connection) |
2022-03-29 13:12:56 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-03-29 13:16:44 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-03-29 13:18:31 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 13:21:26 +0200 | jonathanx | (~jonathan@dyn-2-sc.cdg.chalmers.se) (Ping timeout: 260 seconds) |
2022-03-29 13:22:12 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) |
2022-03-29 13:26:27 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-03-29 13:26:52 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds) |
2022-03-29 13:28:47 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:61e3:f551:d48e:e2b3) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-03-29 13:28:49 +0200 | jiribenes | (~jiribenes@rosa.jiribenes.com) (Ping timeout: 250 seconds) |
2022-03-29 13:30:12 +0200 | benin | (~benin@183.82.24.110) |
2022-03-29 13:31:15 +0200 | benin | (~benin@183.82.24.110) (Client Quit) |
2022-03-29 13:33:59 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-03-29 13:35:31 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 13:36:12 +0200 | vglfr | (~vglfr@coupling.penchant.volia.net) (Ping timeout: 260 seconds) |
2022-03-29 13:38:41 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-03-29 13:42:29 +0200 | benin | (~benin@183.82.24.110) |
2022-03-29 13:42:48 +0200 | jakalx | (~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 +0200 | benin | (~benin@183.82.24.110) (Ping timeout: 272 seconds) |
2022-03-29 13:49:02 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
2022-03-29 13:49:56 +0200 | benin | (~benin@183.82.24.110) |
2022-03-29 13:50:00 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:61e3:f551:d48e:e2b3) |
2022-03-29 13:50:32 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 13:50:40 +0200 | odnes_ | (~odnes@5-203-245-187.pat.nym.cosmote.net) |
2022-03-29 13:51:20 +0200 | odnes | (~odnes@5-203-245-187.pat.nym.cosmote.net) (Read error: Connection reset by peer) |
2022-03-29 13:53:36 +0200 | noddy | (~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 +0200 | noddy | (~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 +0200 | acidjnk | (~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) |
2022-03-29 14:00:54 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 14:05:22 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 14:05:23 +0200 | Everything | (~Everythin@37.115.210.35) (Ping timeout: 260 seconds) |
2022-03-29 14:06:54 +0200 | Everything | (~Everythin@37.115.210.35) |
2022-03-29 14:07:16 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 14:12:22 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 14:13:55 +0200 | zmt00 | (~zmt00@user/zmt00) |
2022-03-29 14:14:38 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 14:14:59 +0200 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 260 seconds) |
2022-03-29 14:19:43 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 14:21:09 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-03-29 14:21:20 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-03-29 14:22:09 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 14:22:56 +0200 | jiribenes | (~jiribenes@rosa.jiribenes.com) |
2022-03-29 14:25:55 +0200 | <maerwald> | tdammers: so use hasql instead? |
2022-03-29 14:25:59 +0200 | nathansquan[m] | (~nathansqu@2001:470:69fc:105::1:e84c) |
2022-03-29 14:27:04 +0200 | mon_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 +0200 | alx741 | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 14:29:12 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 14:29:15 +0200 | Everything | (~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 +0200 | bitdex | (~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 +0200 | romesrf | (~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 +0200 | alx741 | (~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 +0200 | alx741 | (~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 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-03-29 14:41:59 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 252 seconds) |
2022-03-29 14:43:48 +0200 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
2022-03-29 14:44:48 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 14:47:29 +0200 | fendor_ | (~fendor@77.119.209.169.wireless.dyn.drei.com) (Remote host closed the connection) |
2022-03-29 14:48:46 +0200 | Guest19 | (~Guest19@ip-86-49-182-248.zrnko.net) |
2022-03-29 14:48:47 +0200 | agumonkey | (~user@88.163.231.79) |
2022-03-29 14:49:03 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:9dda:4bff:cdb5:90b8) |
2022-03-29 14:50:06 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 14:50:41 +0200 | romesrf | (~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4) |
2022-03-29 14:51:28 +0200 | mncheck | (~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 +0200 | alx741 | (~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 +0200 | acidjnk | (~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-03-29 14:58:42 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 14:59:23 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 15:00:59 +0200 | jakalx | (~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection) |
2022-03-29 15:01:00 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-03-29 15:01:17 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:04:24 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2022-03-29 15:07:24 +0200 | razetime | (~quassel@117.254.35.62) (Read error: Connection reset by peer) |
2022-03-29 15:08:12 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 15:08:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds) |
2022-03-29 15:09:09 +0200 | bahamas | (~lucian@84.232.140.158) |
2022-03-29 15:09:13 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) |
2022-03-29 15:10:23 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:11:08 +0200 | gawen | (~gawen@user/gawen) (Quit: cya) |
2022-03-29 15:11:59 +0200 | werdnA | (~andrew@114.88.181.56) |
2022-03-29 15:12:28 +0200 | gawen | (~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 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-03-29 15:15:39 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 15:17:40 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:19:25 +0200 | o-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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds) |
2022-03-29 15:25:24 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:30:25 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 15:32:55 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:34:02 +0200 | jgeerds | (~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 260 seconds) |
2022-03-29 15:36:51 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-03-29 15:38:15 +0200 | razetime | (~quassel@117.254.35.62) |
2022-03-29 15:38:36 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 15:39:26 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-03-29 15:39:26 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-03-29 15:39:26 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-03-29 15:41:07 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:45:34 +0200 | bahamas | (~lucian@84.232.140.158) (Ping timeout: 272 seconds) |
2022-03-29 15:45:39 +0200 | acidjnk | (~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) |
2022-03-29 15:46:53 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 15:49:03 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-03-29 15:49:05 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:50:49 +0200 | slaydr | (~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 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-03-29 15:53:44 +0200 | img | (~img@user/img) |
2022-03-29 15:54:24 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 15:55:58 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds) |
2022-03-29 15:56:16 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 15:57:19 +0200 | werdnA | An |
2022-03-29 15:57:23 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2022-03-29 15:57:41 +0200 | An | werdnA |
2022-03-29 15:58:12 +0200 | img | (~img@user/img) (Client Quit) |
2022-03-29 15:58:33 +0200 | alp | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-03-29 15:59:03 +0200 | lortabac | (~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 +0200 | img | (~img@user/img) |
2022-03-29 16:00:09 +0200 | eggplantade | (~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 +0200 | alx741 | (~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 +0200 | slaydr | (~slaydr@173.239.197.154) |
2022-03-29 16:03:37 +0200 | Pickchea | (~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 +0200 | alx741 | (~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 +0200 | lispy | (~lispy@82.212.115.165) |
2022-03-29 16:04:58 +0200 | eggplantade | (~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 +0200 | shapr | hugs 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 +0200 | szkl | (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 +0200 | razetime | (~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 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-03-29 16:14:18 +0200 | justsomeguy | (~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 +0200 | alx741 | (~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 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-03-29 16:15:02 +0200 | lechner | (~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 +0200 | odnes__ | (~odnes@5-203-245-187.pat.nym.cosmote.net) |
2022-03-29 16:16:42 +0200 | odnes_ | (~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 +0200 | jackalope | (~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 +0200 | yauhsien | (~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 +0200 | hololeap | (~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 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 16:22:46 +0200 | gehmehgeh | (~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 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-03-29 16:23:33 +0200 | gehmehgeh | (~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 +0200 | ab8 | (~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 +0200 | boxscape_ | (~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 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-03-29 16:30:27 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-03-29 16:32:50 +0200 | gehmehgeh_ | (~user@user/gehmehgeh) |
2022-03-29 16:33:38 +0200 | rawley | (~rawley@142.99.241.242) |
2022-03-29 16:35:35 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
2022-03-29 16:36:05 +0200 | Franciman | (~Franciman@mx1.fracta.dev) (Remote host closed the connection) |
2022-03-29 16:40:59 +0200 | acidjnk | (~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-03-29 16:41:29 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 16:41:29 +0200 | gehmehgeh_ | gehmehgeh |
2022-03-29 16:42:06 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection) |
2022-03-29 16:42:16 +0200 | ab8 | (~ab@2401:4900:55ac:f030:5de5:a385:33c6:42ed) (Ping timeout: 250 seconds) |
2022-03-29 16:42:24 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) |
2022-03-29 16:43:43 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Quit: Leaving) |
2022-03-29 16:45:19 +0200 | jackalope | (~jackalope@165.91.13.217) |
2022-03-29 16:48:49 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-03-29 16:50:35 +0200 | werdnA | CoWaxDanguin |
2022-03-29 16:50:38 +0200 | Franciman | (~Franciman@mx1.fracta.dev) |
2022-03-29 16:51:18 +0200 | CoWaxDanguin | werdnA |
2022-03-29 16:51:24 +0200 | dolio | (~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 +0200 | werdnA | (~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 +0200 | CoWaxDanguin | (~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 +0200 | CoWaxDanguin | werdnA |
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 +0200 | razetime | (~quassel@117.254.35.62) |
2022-03-29 16:55:54 +0200 | <Franciman> | yes, it reduces thunks |
2022-03-29 16:56:01 +0200 | werdnA | (~andrew@114.88.181.56) (Client Quit) |
2022-03-29 16:56:12 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 16:56:15 +0200 | werdnA | (~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 +0200 | dolio | (~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 +0200 | zer0bitz | (~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 +0200 | epolanski | (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 +0200 | dyeplexer | (~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 +0200 | eggplantade | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 252 seconds) |
2022-03-29 17:01:46 +0200 | odnes__ | (~odnes@5-203-245-187.pat.nym.cosmote.net) (Remote host closed the connection) |
2022-03-29 17:02:06 +0200 | odnes__ | (~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 +0200 | alx741 | (~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 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2022-03-29 17:09:56 +0200 | alx741 | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 17:12:25 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2022-03-29 17:17:31 +0200 | jackalope | (~jackalope@165.91.13.217) (Ping timeout: 246 seconds) |
2022-03-29 17:17:37 +0200 | alx741 | (~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 +0200 | alx741 | (~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 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
2022-03-29 17:25:30 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 17:29:17 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 17:29:17 +0200 | pie__ | (~pie_bnc@user/pie/x-2818909) (Quit: pie__) |
2022-03-29 17:29:28 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2022-03-29 17:31:27 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 260 seconds) |
2022-03-29 17:32:22 +0200 | rawley | (~rawley@142.99.241.242) (Remote host closed the connection) |
2022-03-29 17:32:44 +0200 | rawley | (~rawley@142.99.241.242) |
2022-03-29 17:33:02 +0200 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 252 seconds) |
2022-03-29 17:33:37 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 17:33:59 +0200 | jackalope | (~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) |
2022-03-29 17:34:57 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) (Quit: pie_) |
2022-03-29 17:35:48 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 17:37:07 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2022-03-29 17:38:02 +0200 | razetime | (~quassel@117.254.35.62) (Remote host closed the connection) |
2022-03-29 17:39:00 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-03-29 17:39:18 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 17:40:24 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-03-29 17:41:16 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 17:42:59 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 17:44:38 +0200 | gdd | (~gdd@129.199.146.230) (Ping timeout: 272 seconds) |
2022-03-29 17:44:39 +0200 | razetime | (~quassel@117.254.35.62) |
2022-03-29 17:45:15 +0200 | jgeerds | (~jgeerds@55d4548e.access.ecotel.net) |
2022-03-29 17:46:29 +0200 | gdd | (~gdd@129.199.146.230) |
2022-03-29 17:47:52 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection) |
2022-03-29 17:48:10 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) |
2022-03-29 17:48:19 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 17:49:02 +0200 | benin | (~benin@183.82.24.110) (Quit: The Lounge - https://thelounge.chat) |
2022-03-29 17:50:30 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 17:51:38 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-03-29 17:55:40 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 17:58:06 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 18:00:05 +0200 | Deide | (~deide@user/deide) (Quit: You have been kicked for being idle) |
2022-03-29 18:00:08 +0200 | Joe[m] | (~jsricemat@2001:470:69fc:105::1:b4ce) (Quit: You have been kicked for being idle) |
2022-03-29 18:00:08 +0200 | sofviic[m] | (~sofviicma@2001:470:69fc:105::1:51fd) (Quit: You have been kicked for being idle) |
2022-03-29 18:00:51 +0200 | Major_Biscuit | (~MajorBisc@c-001-024-026.client.tudelft.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-03-29 18:02:45 +0200 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2022-03-29 18:03:40 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 18:04:13 +0200 | Digit | (~user@user/digit) (Ping timeout: 256 seconds) |
2022-03-29 18:05:36 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 18:10:36 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-03-29 18:11:05 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-03-29 18:11:07 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 18:11:34 +0200 | odnes | (~odnes@5-203-245-187.pat.nym.cosmote.net) |
2022-03-29 18:11:49 +0200 | odnes__ | (~odnes@5-203-245-187.pat.nym.cosmote.net) (Ping timeout: 240 seconds) |
2022-03-29 18:12:48 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 18:14:25 +0200 | jgeerds | (~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 256 seconds) |
2022-03-29 18:15:13 +0200 | Digitteknohippie | (~user@user/digit) |
2022-03-29 18:17:03 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) |
2022-03-29 18:17:32 +0200 | Topsi | (~Tobias@dyndsl-095-033-095-210.ewe-ip-backbone.de) |
2022-03-29 18:18:04 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 18:18:24 +0200 | Major_Biscuit | (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) |
2022-03-29 18:18:27 +0200 | Digitteknohippie | (~user@user/digit) (Read error: Connection reset by peer) |
2022-03-29 18:18:39 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) |
2022-03-29 18:19:03 +0200 | gdd | (~gdd@129.199.146.230) (Ping timeout: 260 seconds) |
2022-03-29 18:19:25 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) (Client Quit) |
2022-03-29 18:19:47 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
2022-03-29 18:20:20 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 18:20:25 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2022-03-29 18:20:51 +0200 | gdd | (~gdd@129.199.146.230) |
2022-03-29 18:20:53 +0200 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-03-29 18:21:38 +0200 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-03-29 18:23:17 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) (Quit: pie_) |
2022-03-29 18:24:34 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 18:26:01 +0200 | mbuf | (~Shakthi@122.173.70.161) (Quit: Leaving) |
2022-03-29 18:26:08 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 18:27:17 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 18:27:52 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 18:28:17 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 18:30:34 +0200 | alp | (~alp@user/alp) |
2022-03-29 18:35:16 +0200 | bahamas | (~lucian@84.232.140.158) |
2022-03-29 18:36:29 +0200 | Major_Biscuit | (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 250 seconds) |
2022-03-29 18:36:34 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 18:39:25 +0200 | ccntrq | (~Thunderbi@2a01:c22:8de1:1200:c0e8:7704:b751:d68a) (Remote host closed the connection) |
2022-03-29 18:39:37 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2022-03-29 18:40:07 +0200 | bahamas | (~lucian@84.232.140.158) (Ping timeout: 260 seconds) |
2022-03-29 18:43:59 +0200 | Guest19 | (~Guest19@ip-86-49-182-248.zrnko.net) (Quit: Client closed) |
2022-03-29 18:46:11 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-03-29 18:50:45 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 18:52:57 +0200 | Inst | (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 260 seconds) |
2022-03-29 18:53:18 +0200 | yauhsien | (~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 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-03-29 18:56:02 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-03-29 18:59:05 +0200 | yauhsien | (~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 +0200 | doyougnu | (~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 +0200 | yauhsien | (~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 +0200 | bahamas | (~lucian@84.232.140.158) |
2022-03-29 19:14:22 +0200 | econo | (uid147250@user/econo) |
2022-03-29 19:16:16 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Quit: Connection closed) |
2022-03-29 19:16:25 +0200 | arjun | (~arjun@user/arjun) |
2022-03-29 19:16:44 +0200 | arjun | (~arjun@user/arjun) (Client Quit) |
2022-03-29 19:17:06 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) |
2022-03-29 19:17:44 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 19:18:37 +0200 | bahamas | (~lucian@84.232.140.158) (Ping timeout: 246 seconds) |
2022-03-29 19:18:37 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-03-29 19:22:47 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-03-29 19:23:26 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 19:23:48 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
2022-03-29 19:24:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-03-29 19:24:28 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) (Ping timeout: 260 seconds) |
2022-03-29 19:25:19 +0200 | razetime | (~quassel@117.254.35.62) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-03-29 19:25:38 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-03-29 19:25:56 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 19:26:51 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 19:28:25 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds) |
2022-03-29 19:28:36 +0200 | jackalope | (~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Ping timeout: 260 seconds) |
2022-03-29 19:29:31 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-03-29 19:31:30 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 19:34:08 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 19:35:08 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-03-29 19:37:46 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2022-03-29 19:38:47 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Quit: Leaving) |
2022-03-29 19:39:02 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-03-29 19:39:36 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Read error: Connection reset by peer) |
2022-03-29 19:39:48 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-03-29 19:39:54 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 19:41:11 +0200 | bob | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-03-29 19:41:43 +0200 | bob | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Read error: Connection reset by peer) |
2022-03-29 19:41:51 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) |
2022-03-29 19:42:01 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Client Quit) |
2022-03-29 19:42:04 +0200 | gurkenglas | (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
2022-03-29 19:42:15 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-03-29 19:42:46 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 19:43:08 +0200 | CATS | (apic@brezn3.muc.ccc.de) (Remote host closed the connection) |
2022-03-29 19:43:46 +0200 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2022-03-29 19:43:51 +0200 | bob | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-03-29 19:43:51 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Client Quit) |
2022-03-29 19:43:53 +0200 | bob | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Read error: Connection reset by peer) |
2022-03-29 19:46:01 +0200 | boxscape_ | (~boxscape_@p4ff0b60b.dip0.t-ipconnect.de) (Quit: Connection closed) |
2022-03-29 19:47:19 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 19:48:46 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 19:51:06 +0200 | Macbethwin | (~chargen@D964062A.static.ziggozakelijk.nl) |
2022-03-29 19:51:12 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 19:52:14 +0200 | Macbethwin | Chargen |
2022-03-29 19:52:40 +0200 | pnotequalnp | (~kevin@user/pnotequalnp) |
2022-03-29 19:56:35 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 252 seconds) |
2022-03-29 19:56:56 +0200 | deadmarshal_ | (~deadmarsh@95.38.119.235) |
2022-03-29 19:59:10 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 20:00:14 +0200 | Macbethwin_ | (~chargen@8.21.8.253) |
2022-03-29 20:00:37 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2022-03-29 20:01:17 +0200 | deadmarshal_ | (~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 +0200 | Chargen | (~chargen@D964062A.static.ziggozakelijk.nl) (Ping timeout: 252 seconds) |
2022-03-29 20:03:59 +0200 | Macbethwin_ | Chargen |
2022-03-29 20:04:18 +0200 | shailangsa | (~shailangs@host86-162-150-212.range86-162.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-03-29 20:04:31 +0200 | alx741 | (~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 +0200 | gurkenglas | (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) |
2022-03-29 20:05:52 +0200 | doyougnu | (~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 +0200 | CATS | (apic@brezn3.muc.ccc.de) |
2022-03-29 20:06:22 +0200 | alx741 | (~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 +0200 | boxscape_ | (~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 +0200 | jackalope | (~jackalope@165.91.13.172) |
2022-03-29 20:13:44 +0200 | dhouthoo | (~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 +0200 | alx741 | (~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 +0200 | dyeplexer | (~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 +0200 | alx741 | (~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 +0200 | Tuplanolla | (~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 +0200 | jgeerds | (~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 +0200 | alx741 | (~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 +0200 | alx741 | (~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 +0200 | eggplantade | (~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 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2022-03-29 20:34:22 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 20:36:57 +0200 | k8yun | (~k8yun@user/k8yun) |
2022-03-29 20:40:31 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 20:40:55 +0200 | jackalope | (~jackalope@165.91.13.172) (Quit: = "vale") |
2022-03-29 20:43:55 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
2022-03-29 20:48:41 +0200 | Chargen | (~chargen@8.21.8.253) (Quit: Leaving) |
2022-03-29 20:49:05 +0200 | Macbethwin | (~chargen@8.21.8.253) |
2022-03-29 20:49:31 +0200 | zer0bitz | (~zer0bitz@2001:2003:f750:a200:544e:226a:9b44:a162) (Ping timeout: 245 seconds) |
2022-03-29 20:53:32 +0200 | kaph | (~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Ping timeout: 260 seconds) |
2022-03-29 20:59:44 +0200 | bahamas | (~lucian@84.232.140.158) |
2022-03-29 21:01:31 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2022-03-29 21:07:55 +0200 | riddler2d | (~riddler2d@94.250.72.176) |
2022-03-29 21:13:09 +0200 | fendor | (~fendor@178.165.199.73.wireless.dyn.drei.com) |
2022-03-29 21:15:23 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 21:19:14 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:23b1:9164:bf8a:2d11) |
2022-03-29 21:20:25 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 21:20:29 +0200 | xcmw | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 21:24:17 +0200 | jonathanx | (~jonathan@c-5eea3313-74736162.cust.telenor.se) |
2022-03-29 21:25:25 +0200 | bahamas | (~lucian@84.232.140.158) (Ping timeout: 240 seconds) |
2022-03-29 21:28:07 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 21:28:11 +0200 | neurocyte8 | (~neurocyte@IP-094016066081.dynamic.medianet-world.de) |
2022-03-29 21:28:11 +0200 | neurocyte8 | (~neurocyte@IP-094016066081.dynamic.medianet-world.de) (Changing host) |
2022-03-29 21:28:11 +0200 | neurocyte8 | (~neurocyte@user/neurocyte) |
2022-03-29 21:28:59 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 260 seconds) |
2022-03-29 21:30:38 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 21:34:23 +0200 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 3.4) |
2022-03-29 21:35:07 +0200 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) |
2022-03-29 21:35:36 +0200 | dextaa_ | (~dextaa@user/dextaa) |
2022-03-29 21:35:48 +0200 | pnotequalnp | (~kevin@user/pnotequalnp) (Ping timeout: 240 seconds) |
2022-03-29 21:37:17 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds) |
2022-03-29 21:39:26 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 21:40:46 +0200 | yauhsien_ | (~yauhsien@61-231-60-85.dynamic-ip.hinet.net) |
2022-03-29 21:40:52 +0200 | yauhsien | (~yauhsien@61-231-25-68.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-03-29 21:45:03 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 21:45:33 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-03-29 21:47:23 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 21:51:06 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-03-29 21:53:13 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 21:55:26 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 21:56:22 +0200 | yauhsien_ | (~yauhsien@61-231-60-85.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-03-29 21:56:27 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 21:57:22 +0200 | yauhsien | (~yauhsien@61-231-60-85.dynamic-ip.hinet.net) |
2022-03-29 21:57:49 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-03-29 21:59:45 +0200 | acidjnk | (~acidjnk@p200300d0c7049f4214af152190df7355.dip0.t-ipconnect.de) |
2022-03-29 22:01:43 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 246 seconds) |
2022-03-29 22:02:25 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2022-03-29 22:02:35 +0200 | yauhsien | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 22:06:11 +0200 | Macbethwin | Chargen |
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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 22:11:03 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 22:11:16 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-03-29 22:12:41 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-03-29 22:13:26 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-03-29 22:13:37 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2022-03-29 22:13:48 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2022-03-29 22:14:22 +0200 | agumonkey | (~user@88.163.231.79) (Ping timeout: 260 seconds) |
2022-03-29 22:14:54 +0200 | bliminse | (~bliminse@host86-185-253-73.range86-185.btcentralplus.com) |
2022-03-29 22:15:26 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-03-29 22:16:30 +0200 | Graham31415 | (~Graham@user/Graham31415) (Read error: Connection reset by peer) |
2022-03-29 22:18:00 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 22:19:59 +0200 | cheater | (~Username@user/cheater) |
2022-03-29 22:20:19 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 260 seconds) |
2022-03-29 22:21:36 +0200 | pavonia | (~user@user/siracusa) |
2022-03-29 22:22:27 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-03-29 22:24:49 +0200 | jonathanx | (~jonathan@c-5eea3313-74736162.cust.telenor.se) (Ping timeout: 246 seconds) |
2022-03-29 22:27:18 +0200 | jgeerds | (~jgeerds@d5364b87.access.ecotel.net) (Remote host closed the connection) |
2022-03-29 22:27:35 +0200 | jgeerds | (~jgeerds@d5364b87.access.ecotel.net) |
2022-03-29 22:29:49 +0200 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Quit: WeeChat 3.3) |
2022-03-29 22:30:41 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Quit: quit) |
2022-03-29 22:30:51 +0200 | riddler2d | (~riddler2d@94.250.72.176) () |
2022-03-29 22:32:01 +0200 | yauhsien | (~yauhsien@61-231-60-85.dynamic-ip.hinet.net) |
2022-03-29 22:32:03 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4) |
2022-03-29 22:34:22 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2022-03-29 22:34:31 +0200 | asocialblade | (~qsl@user/asocialblade) |
2022-03-29 22:36:33 +0200 | yauhsien | (~yauhsien@61-231-60-85.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
2022-03-29 22:41:39 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-03-29 22:43:21 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-03-29 22:44:27 +0200 | Emil3566 | (~Emil3566@host-45-159-164-7.netcity.pl) |
2022-03-29 22:44:35 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
2022-03-29 22:45:21 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:23b1:9164:bf8a:2d11) (Quit: WeeChat 2.8) |
2022-03-29 22:49:21 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-03-29 22:50:32 +0200 | Emil3566 | (~Emil3566@host-45-159-164-7.netcity.pl) (Leaving...) |
2022-03-29 22:50:53 +0200 | asocialblade | (~qsl@user/asocialblade) () |
2022-03-29 22:58:09 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-03-29 22:58:10 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2022-03-29 22:58:37 +0200 | Guest19 | (~Guest19@ip-86-49-182-248.zrnko.net) |
2022-03-29 22:58:37 +0200 | nattiestnate | (~nate@202.138.250.9) (Quit: WeeChat 3.5) |
2022-03-29 22:58:38 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-03-29 22:59:13 +0200 | rawley | (~rawley@142.99.241.242) (Remote host closed the connection) |
2022-03-29 23:01:18 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds) |
2022-03-29 23:01:39 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 23:03:00 +0200 | Inst | (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) |
2022-03-29 23:05:18 +0200 | kaph | (~kaph@net-31-156-214-2.cust.vodafonedsl.it) |
2022-03-29 23:05:34 +0200 | shailangsa | (~shailangs@host86-162-150-212.range86-162.btcentralplus.com) |
2022-03-29 23:05:43 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2022-03-29 23:06:53 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-03-29 23:07:28 +0200 | shailangsa | (~shailangs@host86-162-150-212.range86-162.btcentralplus.com) () |
2022-03-29 23:09:34 +0200 | eggplantade | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 250 seconds) |
2022-03-29 23:11:41 +0200 | alp | (~alp@user/alp) (Ping timeout: 256 seconds) |
2022-03-29 23:12:35 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 260 seconds) |
2022-03-29 23:13:34 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-03-29 23:14:53 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds) |
2022-03-29 23:16:59 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-03-29 23:17:14 +0200 | Guest19 | (~Guest19@ip-86-49-182-248.zrnko.net) (Quit: Client closed) |
2022-03-29 23:21:08 +0200 | pnotequalnp | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 23:27:23 +0200 | odnes | (~odnes@5-203-245-187.pat.nym.cosmote.net) (Quit: Leaving) |
2022-03-29 23:29:48 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds) |
2022-03-29 23:32:23 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 23:32:42 +0200 | michalz | (~michalz@185.246.204.97) (Remote host closed the connection) |
2022-03-29 23:37:45 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds) |
2022-03-29 23:38:13 +0200 | nattiestnate | (~nate@202.138.250.11) |
2022-03-29 23:40:29 +0200 | alx741 | (~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 +0200 | dolio | (~dolio@130.44.130.54) (Ping timeout: 252 seconds) |
2022-03-29 23:42:19 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-03-29 23:42:55 +0200 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds) |
2022-03-29 23:43:55 +0200 | nattiestnate | (~nate@202.138.250.11) (Quit: WeeChat 3.5) |
2022-03-29 23:44:21 +0200 | eggplantade | (~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 +0200 | dolio | (~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 +0200 | alx741 | (~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 +0200 | xcmw | (~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 +0200 | alx741 | (~alx741@host-181-198-243-150.netlife.ec) |
2022-03-29 23:48:08 +0200 | cosimone | (~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 +0200 | k8yun_ | (~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 +0200 | alp | (~alp@user/alp) |
2022-03-29 23:48:53 +0200 | shailangsa | (~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 +0200 | asocialblade | (~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 +0200 | wyrd | (~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 +0200 | waleee | (~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 +0200 | k8yun | (~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 +0200 | pnotequalnp | (~kevin@user/pnotequalnp) (Ping timeout: 240 seconds) |
2022-03-29 23:56:55 +0200 | alx741 | (~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 +0200 | fendor | (~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 +0200 | alp | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-03-29 23:58:41 +0200 | alx741 | (~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 |