2024-07-26 00:00:41 +0200 | <mauke> | Guestc127: English text, mostly. And Haskell code |
2024-07-26 00:00:54 +0200 | <mauke> | (Haskell is a programming language) |
2024-07-26 00:02:26 +0200 | <c_wraith> | Inst: didn't her sieve use infinite data structures? Data.Array is not so good at that. |
2024-07-26 00:02:39 +0200 | <Inst> | yeah, i saw |
2024-07-26 00:03:00 +0200 | <monochrom> | IIUC array vs o'neil's is a trade-off between fixing a bound upfront and growable. Of course with the extra power in the latter somes extra cost. |
2024-07-26 00:04:05 +0200 | <c_wraith> | I actually re-implemented a bunch of her stuff at some point. The wheel logic was surprisingly slow. I suspect I did it wrong. |
2024-07-26 00:04:28 +0200 | <c_wraith> | (I mean, it got the right results, but I suspect my implementation did way too much work) |
2024-07-26 00:04:37 +0200 | <monochrom> | "I am annoyed at how if you impose limitations you can do it faster" is not particularly news, exciting, or exciting news. |
2024-07-26 00:04:49 +0200 | <Guestc127> | I just found this forum,promise im not a troll, ill just look in to learn something,sorry |
2024-07-26 00:04:56 +0200 | <Rembane> | monochrom: Sounds axiomatic |
2024-07-26 00:05:23 +0200 | <mauke> | Guestc127: how did you find us? :-) |
2024-07-26 00:05:40 +0200 | <monochrom> | Instead, I am annoyed at how people are annoyed at axiomatic tautologies. >:) |
2024-07-26 00:06:29 +0200 | <Guestc127> | !Travis! on github and IPFS |
2024-07-26 00:08:07 +0200 | <Guestc127> | how are you today? |
2024-07-26 00:09:01 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Ping timeout: 252 seconds) |
2024-07-26 00:09:02 +0200 | <monochrom> | Speaking of which people who scaremonger about parser combinator inefficiency keep forgetting that they far exceed CFG while the oh-so-faster-than-thou parser generators are "linear time" only because they can only do LL(k) or at most LALR. |
2024-07-26 00:09:20 +0200 | <monochrom> | Oh and also the former can do ambiguous grammars, the latter can't. |
2024-07-26 00:09:49 +0200 | <monochrom> | Even with exactly CFG you're looking at cubic time at the minimum. |
2024-07-26 00:10:33 +0200 | <Rembane> | That's a lot of time |
2024-07-26 00:10:40 +0200 | <c_wraith> | mostly I don't care because I'm parsing data without large structures. |
2024-07-26 00:10:53 +0200 | <c_wraith> | So I'd rather have easy to use than fast. |
2024-07-26 00:11:25 +0200 | <c_wraith> | So I also dislike parsec-style non-backtracking |
2024-07-26 00:11:39 +0200 | <monochrom> | I'm going to bring it to the meta level and write a post "stop telling beginners what to do" :) |
2024-07-26 00:11:44 +0200 | <c_wraith> | let me write grammars the easy way, instead of factoring out all backtracking |
2024-07-26 00:11:58 +0200 | <Rembane> | "Telling beginners what to do considered harmful." |
2024-07-26 00:12:12 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-07-26 00:12:13 +0200 | <c_wraith> | "whatever you do, do not install GHC" |
2024-07-26 00:12:18 +0200 | <Rembane> | c_wraith: What's the easy way to write grammars in your opinion? |
2024-07-26 00:12:54 +0200 | <c_wraith> | Rembane: anything where (a <|> b) <> c is the same as (a <> c) <|> (b <> c) |
2024-07-26 00:13:20 +0200 | <c_wraith> | those aren't interchangeable in parsec-like systems |
2024-07-26 00:13:38 +0200 | <Rembane> | c_wraith: Cool, that seems like a great quality of life improvement |
2024-07-26 00:14:02 +0200 | <c_wraith> | I mostly try to use Earley, but it has some issues of its own. |
2024-07-26 00:14:48 +0200 | <c_wraith> | (like depending on parser-combinators to provide utilities, but some of them are infinite loops with Earley) |
2024-07-26 00:15:02 +0200 | <Rembane> | FUN! :D |
2024-07-26 00:15:08 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2024-07-26 00:15:29 +0200 | <c_wraith> | I think those qualify as bugs in parser-combinators, but I haven't managed to get them to fix the last one I ran into |
2024-07-26 00:17:41 +0200 | <Inst> | hmmm, okay, time to O2? |
2024-07-26 00:17:44 +0200 | <c_wraith> | huh. I've got some free time. I think I should just go through parser-combinators and fix all the cases where it does that. Then I can submit a fix, not just a bug report. |
2024-07-26 00:17:49 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection) |
2024-07-26 00:17:56 +0200 | <Inst> | or maybe drag out bodigrim's tastybench |
2024-07-26 00:18:22 +0200 | <Rembane> | c_wraith: Yes! |
2024-07-26 00:19:20 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-07-26 00:24:50 +0200 | <c_wraith> | I can understand why parser-combinators have implementations that loop infinitely with Earley. It's so tempting to use direct recursion and it works with other parsers. But Earley needs to explicitly break recursion so it can build the state table. That means all recursion must be done via some/many, as those take care of breaking the recursion. |
2024-07-26 00:30:13 +0200 | <monochrom> | That will be a bug at the level of API design. It's much more meta. |
2024-07-26 00:31:47 +0200 | <c_wraith> | It's definitely the case that Earley adds requirements to its API that other parsers don't. |
2024-07-26 00:32:29 +0200 | <mauke> | does haskell have marpa bindings? |
2024-07-26 00:33:52 +0200 | <c_wraith> | huh, I hadn't heard of marpa. That sounds cool. |
2024-07-26 00:38:09 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
2024-07-26 00:38:17 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-07-26 00:39:20 +0200 | <danse-nr3> | https://hackage.haskell.org/packages/search?terms=marpa no results |
2024-07-26 00:39:53 +0200 | <danse-nr3> | huh i think we have it here don't we? |
2024-07-26 00:39:56 +0200 | <danse-nr3> | @hackage marpa |
2024-07-26 00:39:57 +0200 | <lambdabot> | https://hackage.haskell.org/package/marpa |
2024-07-26 00:40:04 +0200 | <danse-nr3> | hmm |
2024-07-26 00:43:24 +0200 | skyesoss | (~Thunderbi@128.135.204.35) (Ping timeout: 276 seconds) |
2024-07-26 00:49:52 +0200 | Guestc127 | (~Guestc127@50.25.133.140) (Quit: Client closed) |
2024-07-26 00:55:04 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-26 00:56:42 +0200 | <dibblego> | @type \r x -> mempty & r .~ x -- does this function already exist? |
2024-07-26 00:56:43 +0200 | <lambdabot> | Monoid s => ASetter s b1 a b2 -> b2 -> b1 |
2024-07-26 01:01:10 +0200 | <geekosaur> | keep in mind that "@hackage" just puts a hackage url on a string; it does not check to see if the result is valid |
2024-07-26 01:01:21 +0200 | <geekosaur> | @hackage #foo |
2024-07-26 01:01:21 +0200 | <lambdabot> | https://hackage.haskell.org/package/#foo |
2024-07-26 01:01:49 +0200 | <danse-nr3> | haha i noticed. Been wondering whether having a /search?terms=<foo> template would be more useful |
2024-07-26 01:01:54 +0200 | pavonia | (~user@user/siracusa) |
2024-07-26 01:02:16 +0200 | <danse-nr3> | :t (.~) |
2024-07-26 01:02:17 +0200 | <lambdabot> | ASetter s t a b -> b -> s -> t |
2024-07-26 01:06:44 +0200 | <mauke> | :t \r x -> set r x mempty |
2024-07-26 01:06:46 +0200 | <lambdabot> | Monoid s => ASetter s t a b -> b -> t |
2024-07-26 01:07:15 +0200 | <mauke> | @pl \r x -> set r x mempty |
2024-07-26 01:07:15 +0200 | <lambdabot> | flip flip mempty . set |
2024-07-26 01:09:23 +0200 | <EvanR> | a case for keyword arguments! |
2024-07-26 01:09:47 +0200 | <danse-nr3> | -.- |
2024-07-26 01:09:49 +0200 | <EvanR> | set(3rd=mempry) |
2024-07-26 01:09:56 +0200 | <EvanR> | lol |
2024-07-26 01:10:31 +0200 | tcard_ | (~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a) (Quit: Leaving) |
2024-07-26 01:11:35 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
2024-07-26 01:15:41 +0200 | tcard | (~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a) |
2024-07-26 01:17:59 +0200 | <dibblego> | u guyz |
2024-07-26 01:23:07 +0200 | acidjnk | (~acidjnk@p200300d6e72cfb03bc7a1a14f590e127.dip0.t-ipconnect.de) (Remote host closed the connection) |
2024-07-26 01:23:33 +0200 | acidjnk | (~acidjnk@p200300d6e72cfb03bc7a1a14f590e127.dip0.t-ipconnect.de) |
2024-07-26 01:25:47 +0200 | <dibblego> | I was thinking something like (.~~) |
2024-07-26 01:28:21 +0200 | acidjnk | (~acidjnk@p200300d6e72cfb03bc7a1a14f590e127.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2024-07-26 01:32:04 +0200 | <jackdk> | dibblego: I don't believe this exists, probably because it doesn't compose that well if you want to apply multiple things to a `mempty`. Maybe you can collect a list of setters, compose them all, and apply to `mempty`? |
2024-07-26 01:40:34 +0200 | <dibblego> | hm, I was thinking changing something like: (mempty & r1 .~ x1 & r2 .~ x2) to (r1 .~~ x1 & r2 .~ x2) |
2024-07-26 01:42:32 +0200 | <ncf> | is this about building maps |
2024-07-26 01:42:46 +0200 | <dibblego> | no |
2024-07-26 01:45:01 +0200 | <jackdk> | I was thinking something like `onMempty [r1 .~ x1, r2 .~ x2]` but that fails to work if the setters change type |
2024-07-26 01:55:46 +0200 | <dibblego> | no worries, I just wrote it and used it |
2024-07-26 01:56:45 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Quit: it's very late here) |
2024-07-26 02:08:09 +0200 | <kupi> | anyone here used the xiaomi community app here to unlock lisa? I have loggin in with my 8 year old account but it says 0 days in community. Do I have to wait 30 days? |
2024-07-26 02:09:07 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
2024-07-26 02:09:44 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 264 seconds) |
2024-07-26 02:10:16 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2024-07-26 02:21:13 +0200 | <kupi> | sorry, wrong channel |
2024-07-26 02:31:38 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-07-26 02:39:48 +0200 | bolivood | (~bolivood@user/bolivood) |
2024-07-26 02:44:19 +0200 | <bolivood> | haskell is the worst |
2024-07-26 02:44:37 +0200 | <bolivood> | functional puritan who complicate even the most straightforward problems |
2024-07-26 02:45:17 +0200 | <Axman6> | ... except for all the others |
2024-07-26 02:45:41 +0200 | <Axman6> | bolivood: don't use it then, I promise we won't be offended |
2024-07-26 02:46:13 +0200 | <EvanR> | we're making simple things simple (or somethings slightly wordy) while making seemingly impossible things not that hard |
2024-07-26 02:46:34 +0200 | <EvanR> | seemingly impossible functional programs |
2024-07-26 02:46:45 +0200 | <Axman6> | needs more tardin monad |
2024-07-26 02:46:50 +0200 | <Axman6> | tardis! |
2024-07-26 02:46:55 +0200 | <Inst> | oh, this is an actual account |
2024-07-26 02:47:04 +0200 | <Inst> | bolivood: why are you angry at Haskell? |
2024-07-26 02:47:17 +0200 | <bolivood> | because i am forced to work with this crap at work |
2024-07-26 02:47:27 +0200 | <Inst> | bolivood -> bollywood? |
2024-07-26 02:47:28 +0200 | <bolivood> | convetions that you invented that are "Correct", and lots of "magic" |
2024-07-26 02:47:41 +0200 | <Axman6> | bolivood: Wanna swap jobs then? |
2024-07-26 02:47:46 +0200 | <bolivood> | and a fanatical community resistant to change |
2024-07-26 02:47:51 +0200 | <Axman6> | you can play with python and C++ and VHDL |
2024-07-26 02:47:59 +0200 | <bolivood> | inflexible stubborn, making it even harder to adopt modern practices |
2024-07-26 02:48:10 +0200 | <Axman6> | "modern practices"? |
2024-07-26 02:48:11 +0200 | <Inst> | Axman6: iirc there's a bunch of Indians trained by Alexander Granin at Juspay |
2024-07-26 02:48:16 +0200 | <EvanR> | I would report your enslavement to the authorities |
2024-07-26 02:48:27 +0200 | <EvanR> | instead of us |
2024-07-26 02:48:34 +0200 | <Axman6> | bolivood: if you just want to rane, you're welsome to go to #haskell-offtopic, but this isn't the place, we've got work to do |
2024-07-26 02:48:58 +0200 | <Inst> | please do so in #haskell-offtopic, I'm fascinated in your story! |
2024-07-26 02:49:06 +0200 | <Axman6> | Inst: account says Frankfurt, but who knows |
2024-07-26 02:49:45 +0200 | <Axman6> | bolivood: why did you take a job writing Haskell if you have such a passionate hate for it? I would never take a Scala job, for that reason (previous job burned me very hard) |
2024-07-26 02:49:59 +0200 | <Inst> | I mean that's the only scenario I can imagine |
2024-07-26 02:51:54 +0200 | <jackdk> | *shrug* more than most communities I've been in, in the Haskell world I can usually find a blog article or paper explaining why things are so |
2024-07-26 02:52:29 +0200 | <Axman6> | I'm really curious what modern practices means |
2024-07-26 02:53:01 +0200 | <Axman6> | I use the git, I've done the devops, I've cried over the TDD, all in Haskell |
2024-07-26 02:53:16 +0200 | <bolivood> | Axman6, it's a good job in other aspects |
2024-07-26 02:53:36 +0200 | <jackdk> | Could be as simple as things like LSP stuff. I've heard opinions on HLS that range from "it's my second-favourite LSP" to extreme frustration |
2024-07-26 02:54:34 +0200 | <Inst> | or it could be an actually cursed Haskell codebase, or lunatics in management, who knows, lots of things are possible |
2024-07-26 02:54:56 +0200 | <bolivood> | Axman6, i'm not burning out, i focus on the positive aspects of the job i do enjoy |
2024-07-26 02:57:41 +0200 | <Inst> | well, i hope you're having a fun time, and yeah, there are legitimate things to complain about with haskell |
2024-07-26 02:58:44 +0200 | <Inst> | there are also illegitimate things, would be fun to figure out which is which, though |
2024-07-26 02:59:13 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) |
2024-07-26 02:59:54 +0200 | xff0x | (~xff0x@2405:6580:b080:900:c695:3b30:f4d2:83e8) (Ping timeout: 276 seconds) |
2024-07-26 03:01:06 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) |
2024-07-26 03:02:57 +0200 | <starburst> | is there anyone here familiar with pipes? : ) |
2024-07-26 03:04:49 +0200 | <bolivood> | I was told to stop complaining here Inst |
2024-07-26 03:05:07 +0200 | <Inst> | yeah i guess you're under an NDA |
2024-07-26 03:05:40 +0200 | <starburst> | what ar you hiding from us |
2024-07-26 03:11:08 +0200 | xff0x | (~xff0x@2405:6580:b080:900:c695:3b30:f4d2:83e8) |
2024-07-26 03:13:55 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 260 seconds) |
2024-07-26 03:18:38 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed) |
2024-07-26 03:22:41 +0200 | billchenchina- | (~billchenc@210.110.131.60) |
2024-07-26 03:29:51 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) |
2024-07-26 03:37:11 +0200 | TonyStone | (~TonyStone@user/TonyStone) |
2024-07-26 03:38:13 +0200 | <jackdk> | Nobody said anything about pipes while you were gone, starburst. I'm sorry to say that I've never successfully written a nontrivial program using it. |
2024-07-26 03:38:40 +0200 | <starburst> | thankyou jackdk |
2024-07-26 03:39:02 +0200 | <jackdk> | These days I use `streaming` by default, conduit when things are simple and I have to interop with existing libraries. I don't know if "just change your project's streaming library" is a move you can make |
2024-07-26 03:39:59 +0200 | <jackdk> | http://jackkelly.name/blog/archives/2024/04/13/why_streaming_is_my_favourite_haskell_streaming_lib… |
2024-07-26 03:40:33 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-07-26 03:41:51 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-26 03:41:52 +0200 | <starburst> | i am a nooby noob trying to wrap my head around this sort of thing.. tyty |
2024-07-26 03:45:48 +0200 | <starburst> | ooh.. streaming seems interesting.. i saw the package briefly but wasnt sure if they were doing the same sort of thing.. |
2024-07-26 03:47:21 +0200 | <jackdk> | What is your goal, at this stage? Do you have a specific project or are you just trying to learn how to stream? |
2024-07-26 03:48:35 +0200 | <jackdk> | This affects whether I recommend conduit or streaming; I consider streaming the better library but many common http libs etc can take in a conduit. |
2024-07-26 03:50:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2024-07-26 03:50:22 +0200 | <starburst> | sort of both in a way.. it seems like streaming is an element of my project sort of.. |
2024-07-26 03:53:15 +0200 | <jackdk> | If the streaming itself is complicated, I will usually do the hard bits using the `streaming` library, and convert to a conduit if/when I need to. |
2024-07-26 03:54:45 +0200 | <starburst> | i feel like its silly to be so vague but.. i hav had this shape of the way i would like to pass control through a program in my mind for a while.. and some packages and paradigms feel like they allude to how to design that kind of shape |
2024-07-26 03:56:57 +0200 | <glguy> | I don't think it crosses into "non-trivial" but I did a terminal implementation of 2048 using pipes a long time ago |
2024-07-26 03:58:13 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 248 seconds) |
2024-07-26 03:58:43 +0200 | <starburst> | hoyo.. do you understand the secrets |
2024-07-26 03:58:54 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-26 03:59:01 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed) |
2024-07-26 03:59:12 +0200 | <Axman6> | did it ever terminate? My problem with pipes was always with wanting to do something once the streeam had finished - like taking a hash of a stream of bytestrings and finalising when it's done |
2024-07-26 03:59:34 +0200 | <glguy> | Terminate? you could exit the game |
2024-07-26 03:59:59 +0200 | <glguy> | https://github.com/glguy/TwosGame/blob/master/Main.hs |
2024-07-26 04:00:10 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) |
2024-07-26 04:00:10 +0200 | <starburst> | oops |
2024-07-26 04:00:49 +0200 | <glguy> | https://asciinema.org/a/X8H7ErYy6F3AJtVy4VxPTBOF7 |
2024-07-26 04:01:33 +0200 | <starburst> | aowh |
2024-07-26 04:02:15 +0200 | lystra | (~lystra@208.59.105.41) |
2024-07-26 04:04:59 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Client Quit) |
2024-07-26 04:09:50 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) |
2024-07-26 04:09:56 +0200 | <starburst> | oops again |
2024-07-26 04:13:55 +0200 | td_ | (~td@i53870924.versanet.de) (Ping timeout: 264 seconds) |
2024-07-26 04:14:07 +0200 | <starburst> | hmm.. pipes.. streams.. |
2024-07-26 04:15:15 +0200 | td_ | (~td@i53870934.versanet.de) |
2024-07-26 04:15:27 +0200 | <starburst> | does anyon here enjoy explaining things |
2024-07-26 04:17:06 +0200 | <geekosaur> | half the channel, but they're likely to dive off into irrelevancies (well, to you) |
2024-07-26 04:17:34 +0200 | <starburst> | ty geeko |
2024-07-26 04:17:58 +0200 | <JuanDaugherty> | starburst, https://meansofproduction.biz/pub/codeSamples/xsqlbrws.cls.txt 30+ yo smalltalk code that uses named pipes, they were maybe 10 or 20 years old at that point |
2024-07-26 04:18:32 +0200 | <Axman6> | we love explaining things |
2024-07-26 04:19:10 +0200 | <jackdk> | But it's easier to respond to specific questions than open-ended ones, and the act of formulating the question itself can often be really helpful to the asker |
2024-07-26 04:19:21 +0200 | <starburst> | wo juan.. interesting |
2024-07-26 04:19:31 +0200 | <monochrom> | I enjoy getting paid to explain things. |
2024-07-26 04:19:44 +0200 | <Axman6> | lucky |
2024-07-26 04:19:56 +0200 | <starburst> | that is tru jack mhm |
2024-07-26 04:22:45 +0200 | xff0x | (~xff0x@2405:6580:b080:900:c695:3b30:f4d2:83e8) (Ping timeout: 248 seconds) |
2024-07-26 04:24:05 +0200 | <Lears> | I have a question for #haskell almost every day. Disappointingly, the process of turning it into a /good/ question resolves the issue 99% of the time. |
2024-07-26 04:25:10 +0200 | <starburst> | m.. i am trying to figure out what i even want to know.. |
2024-07-26 04:25:40 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-07-26 04:25:41 +0200 | <monochrom> | The other 1% of the time the good question is equivalent to one of the Millenium problems. >:) |
2024-07-26 04:28:51 +0200 | Guest58 | (~Guest62@32.221.120.181) |
2024-07-26 04:32:52 +0200 | <starburst> | uhgg >_< |
2024-07-26 04:34:26 +0200 | <starburst> | i feel like iv read about readers several times b4 but.. its hard for me to hav a good mental image of them |
2024-07-26 04:35:44 +0200 | <monochrom> | Perhaps the problem is with "image" and you should develop "rules", "algebra" instead of "image". |
2024-07-26 04:37:18 +0200 | <starburst> | how do i do that?? |
2024-07-26 04:37:38 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-26 04:38:08 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed) |
2024-07-26 04:38:33 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) |
2024-07-26 04:38:44 +0200 | <monochrom> | Stop reading picturely "tutorials". Start reading, writing, playing with actual code. |
2024-07-26 04:38:56 +0200 | <starburst> | that keeps happening.. i hope i didnt miss any fun |
2024-07-26 04:39:34 +0200 | <starburst> | anyfin.. oops |
2024-07-26 04:39:47 +0200 | <geekosaur> | we have logs, see the channel topic |
2024-07-26 04:39:54 +0200 | <geekosaur> | in this case, you missed nothing |
2024-07-26 04:40:10 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-07-26 04:40:23 +0200 | <starburst> | that is true.. i wish i had a pc with me rn |
2024-07-26 04:40:37 +0200 | <starburst> | tyy ty |
2024-07-26 04:41:51 +0200 | <starburst> | mayb i could.. run a lil bit of haskell.. hmmm |
2024-07-26 04:42:06 +0200 | <geekosaur> | https://play.haskell.org |
2024-07-26 04:42:44 +0200 | <starburst> | thanks : ) |
2024-07-26 04:43:59 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed) |
2024-07-26 04:44:13 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) |
2024-07-26 04:46:59 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Client Quit) |
2024-07-26 04:50:23 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) |
2024-07-26 04:50:46 +0200 | <starburst> | it may b a bit hard to stay connected here for now.. thank you for talking to me |
2024-07-26 04:51:11 +0200 | <starburst> | i will explore using the language an see what i can find…. <3 |
2024-07-26 04:51:54 +0200 | <geekosaur> | godbolt.org also has a Haskell environment, I believe |
2024-07-26 04:53:50 +0200 | <starburst> | ty m(- _ -)m |
2024-07-26 04:54:28 +0200 | <starburst> | i hope you hav good dreams tonight |
2024-07-26 04:56:25 +0200 | <starburst> | goodbye for now ( )/ |
2024-07-26 04:56:53 +0200 | starburst | (~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed) |
2024-07-26 04:57:20 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) |
2024-07-26 04:58:29 +0200 | Inst | (~Inst@user/Inst) (Ping timeout: 248 seconds) |
2024-07-26 05:13:49 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-07-26 05:14:53 +0200 | slack1256 | (~slack1256@2803:c600:5111:80cb:ffde:2539:7254:2ff5) (Remote host closed the connection) |
2024-07-26 05:16:32 +0200 | billchenchina- | (~billchenc@210.110.131.60) (Quit: Leaving) |
2024-07-26 05:38:54 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2024-07-26 05:40:55 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 260 seconds) |
2024-07-26 05:53:56 +0200 | aforemny_ | (~aforemny@i59F516CE.versanet.de) (Ping timeout: 252 seconds) |
2024-07-26 05:54:06 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2024-07-26 05:54:09 +0200 | aforemny | (~aforemny@i59F516C5.versanet.de) |
2024-07-26 05:59:18 +0200 | rosco | (~rosco@125.235.232.224) |
2024-07-26 06:14:34 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2024-07-26 06:37:40 +0200 | rosco | (~rosco@125.235.232.224) (Quit: Lost terminal) |
2024-07-26 06:40:46 +0200 | brettgilio | (~brettgili@154.3.237.18) (Quit: The Lounge - https://thelounge.chat) |
2024-07-26 06:41:03 +0200 | brettgilio | (~brettgili@154.3.237.18) |
2024-07-26 06:56:39 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-07-26 07:00:52 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-26 07:01:03 +0200 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 276 seconds) |
2024-07-26 07:01:53 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-07-26 07:01:55 +0200 | Square2 | (~Square@user/square) (Ping timeout: 264 seconds) |
2024-07-26 07:03:17 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-07-26 07:06:55 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-26 07:18:03 +0200 | paddymahoney | (~paddymaho@pool-99-250-30-88.cpe.net.cable.rogers.com) |
2024-07-26 07:18:13 +0200 | paddymahoney | (~paddymaho@pool-99-250-30-88.cpe.net.cable.rogers.com) (Client Quit) |
2024-07-26 07:19:18 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-07-26 07:22:19 +0200 | michalz | (~michalz@185.246.207.197) |
2024-07-26 07:24:29 +0200 | <mauke> | <starburst> i feel like iv read about readers several times b4 but.. its hard for me to hav a good mental image of them <- if you mean Control.Monad.Reader, that's just a (very thin) abstraction layer over functions |
2024-07-26 07:24:50 +0200 | <mauke> | `Reader e a` is like `e -> a` |
2024-07-26 07:30:29 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-07-26 07:38:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 07:48:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 08:08:00 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 08:15:28 +0200 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 265 seconds) |
2024-07-26 08:16:08 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) |
2024-07-26 08:24:16 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-07-26 08:27:19 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-07-26 08:30:20 +0200 | ft | (~ft@p3e9bc4e7.dip0.t-ipconnect.de) (Quit: leaving) |
2024-07-26 08:40:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 08:47:54 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-07-26 08:50:54 +0200 | CiaoSen | (~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03) |
2024-07-26 08:51:40 +0200 | acidjnk | (~acidjnk@p200300d6e72cfb67cc718b9c5fdaa04e.dip0.t-ipconnect.de) |
2024-07-26 08:52:31 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-07-26 08:54:35 +0200 | m1dnight | (~christoph@78-20-61-242.access.telenet.be) (Quit: WeeChat 4.3.5) |
2024-07-26 08:55:17 +0200 | m1dnight | (~christoph@78-20-61-242.access.telenet.be) |
2024-07-26 09:15:38 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-07-26 09:22:20 +0200 | paddymahoney | (~paddymaho@pool-99-250-30-88.cpe.net.cable.rogers.com) |
2024-07-26 09:29:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 09:31:06 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-07-26 09:44:49 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-07-26 09:45:22 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-07-26 09:47:06 +0200 | tinjamin | (~tinjamin@banshee.h4x0r.space) (Quit: The Lounge - https://thelounge.chat) |
2024-07-26 09:47:52 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-26 09:48:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 09:48:09 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 09:48:11 +0200 | tinjamin | (~tinjamin@banshee.h4x0r.space) |
2024-07-26 09:55:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 10:05:49 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-07-26 10:06:24 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) |
2024-07-26 10:19:02 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-26 10:19:20 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 10:33:41 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f) |
2024-07-26 10:33:50 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f) (Client Quit) |
2024-07-26 10:35:37 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-07-26 10:40:43 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-26 10:49:32 +0200 | chele | (~chele@user/chele) |
2024-07-26 10:55:04 +0200 | misterfish | (~misterfis@h239071.upc-h.chello.nl) |
2024-07-26 10:57:46 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 244 seconds) |
2024-07-26 10:57:53 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) |
2024-07-26 10:57:56 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Client Quit) |
2024-07-26 10:58:04 +0200 | ddellacosta | (~ddellacos@68.199.61.41) |
2024-07-26 11:03:03 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-07-26 11:09:20 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-07-26 11:12:20 +0200 | __monty__ | (~toonn@user/toonn) |
2024-07-26 11:28:05 +0200 | driib3 | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2024-07-26 11:28:42 +0200 | driib3 | (~driib@vmi931078.contaboserver.net) |
2024-07-26 11:33:56 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 244 seconds) |
2024-07-26 11:34:01 +0200 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-07-26 11:45:35 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
2024-07-26 11:46:14 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 245 seconds) |
2024-07-26 11:46:36 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) |
2024-07-26 11:52:14 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 11:57:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 11:58:05 +0200 | omegatron | (~some@user/omegatron) |
2024-07-26 11:58:05 +0200 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2024-07-26 11:58:17 +0200 | CiaoSen | (~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03) (Ping timeout: 265 seconds) |
2024-07-26 11:59:06 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-07-26 12:02:41 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 255 seconds) |
2024-07-26 12:04:05 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 248 seconds) |
2024-07-26 12:06:07 +0200 | Midjak | (~MarciZ@82.66.147.146) |
2024-07-26 12:06:35 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) |
2024-07-26 12:06:55 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-07-26 12:10:08 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-07-26 12:14:10 +0200 | Inst | (~Inst@user/Inst) |
2024-07-26 12:15:00 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Read error: Connection reset by peer) |
2024-07-26 12:15:16 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-07-26 12:19:55 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Quit: ash3en) |
2024-07-26 12:20:22 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) |
2024-07-26 12:21:09 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Client Quit) |
2024-07-26 12:23:03 +0200 | <Inst> | regarding the link to the old bodigrim post |
2024-07-26 12:23:39 +0200 | <Inst> | i was implicitly complaining that it's dumb that GHC can't optimize a functional version of this to be competitive with the imperative version |
2024-07-26 12:23:53 +0200 | <Inst> | every time you break out the ST / STUArray etc, it's an admission of defeat |
2024-07-26 12:23:58 +0200 | <danse-nr3> | patches welcome? |
2024-07-26 12:27:22 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 252 seconds) |
2024-07-26 12:27:36 +0200 | tomku | (~tomku@user/tomku) |
2024-07-26 12:27:40 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-26 12:27:58 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 12:28:29 +0200 | APic | (apic@apic.name) |
2024-07-26 12:28:50 +0200 | poscat | (~poscat@user/poscat) |
2024-07-26 12:35:01 +0200 | misterfish | (~misterfis@h239071.upc-h.chello.nl) (Ping timeout: 248 seconds) |
2024-07-26 12:37:53 +0200 | CiaoSen | (~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03) |
2024-07-26 12:40:50 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) |
2024-07-26 12:46:17 +0200 | ash3en | (~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Quit: ash3en) |
2024-07-26 12:46:27 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Quit: life calls) |
2024-07-26 12:51:37 +0200 | Guest58 | (~Guest62@32.221.120.181) (Quit: Client closed) |
2024-07-26 13:03:14 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 13:04:11 +0200 | misterfish | (~misterfis@87.215.131.102) |
2024-07-26 13:21:53 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
2024-07-26 13:22:49 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) |
2024-07-26 13:28:39 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) |
2024-07-26 13:32:19 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2024-07-26 13:33:15 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-07-26 13:35:58 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
2024-07-26 13:38:39 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-07-26 13:52:51 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer) |
2024-07-26 13:52:57 +0200 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-07-26 13:54:49 +0200 | drdo | (~drdo@bl5-29-74.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2024-07-26 13:55:13 +0200 | drdo | (~drdo@bl5-29-74.dsl.telepac.pt) |
2024-07-26 14:02:15 +0200 | AlexNoo | (~AlexNoo@94.233.241.102) (Read error: Connection reset by peer) |
2024-07-26 14:02:35 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 260 seconds) |
2024-07-26 14:08:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 14:18:46 +0200 | xff0x | (~xff0x@2405:6580:b080:900:8b26:ef3c:7f31:7c41) |
2024-07-26 14:31:40 +0200 | noctux | (~noctux@user/noctux) (Remote host closed the connection) |
2024-07-26 14:34:09 +0200 | noctux | (~noctux@user/noctux) |
2024-07-26 14:36:38 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2024-07-26 14:37:45 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-07-26 14:37:45 +0200 | omegatron | (~some@user/omegatron) (Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.) |
2024-07-26 14:39:53 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-07-26 14:41:45 +0200 | td_ | (~td@i53870934.versanet.de) (Quit: waking up from the american dream ...) |
2024-07-26 14:43:47 +0200 | __monty__ | (~toonn@user/toonn) (Ping timeout: 255 seconds) |
2024-07-26 14:44:22 +0200 | td_ | (~td@i53870934.versanet.de) |
2024-07-26 14:47:14 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-07-26 14:53:23 +0200 | Guest69 | (~Guest69@remote.ols-na.com) |
2024-07-26 14:53:31 +0200 | Guest69 | (~Guest69@remote.ols-na.com) () |
2024-07-26 14:59:18 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-26 15:14:02 +0200 | AlexZenon | (~alzenon@94.233.241.102) (Ping timeout: 265 seconds) |
2024-07-26 15:15:06 +0200 | ystael | (~ystael@user/ystael) |
2024-07-26 15:18:47 +0200 | AlexZenon | (~alzenon@94.233.241.102) |
2024-07-26 15:26:59 +0200 | AlexZenon | (~alzenon@94.233.241.102) (Ping timeout: 255 seconds) |
2024-07-26 15:34:06 +0200 | AlexZenon | (~alzenon@94.233.241.102) |
2024-07-26 15:35:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 15:42:03 +0200 | jerg | (~jerg@2001:a61:247a:4700::bb0) |
2024-07-26 15:42:21 +0200 | euleritian | (~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Ping timeout: 276 seconds) |
2024-07-26 15:42:29 +0200 | euleritian | (~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) |
2024-07-26 15:57:23 +0200 | __monty__ | (~toonn@user/toonn) |
2024-07-26 15:58:53 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-07-26 16:06:36 +0200 | Square2 | (~Square@user/square) |
2024-07-26 16:11:18 +0200 | tram | (~tram@2a02:587:b43:7300:a89e:683a:2da1:a2ed) () |
2024-07-26 16:16:23 +0200 | ddellacosta | (~ddellacos@68.199.61.41) (Ping timeout: 265 seconds) |
2024-07-26 16:19:25 +0200 | euleritian | (~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-26 16:19:43 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 16:20:59 +0200 | Vajb | (~Vajb@85-76-106-240-nat.elisa-mobile.fi) |
2024-07-26 16:22:21 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-26 16:22:28 +0200 | euleritian | (~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) |
2024-07-26 16:22:49 +0200 | euleritian | (~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-26 16:23:06 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 16:24:39 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-26 16:25:44 +0200 | AlexNoo | (~AlexNoo@94.233.241.102) |
2024-07-26 16:26:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 16:27:01 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-07-26 16:34:35 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-26 16:35:22 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 16:41:53 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-07-26 16:42:54 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-07-26 16:51:59 +0200 | CiaoSen | (~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03) (Ping timeout: 272 seconds) |
2024-07-26 16:58:29 +0200 | misterfish | (~misterfis@87.215.131.102) (Ping timeout: 248 seconds) |
2024-07-26 16:59:57 +0200 | xdminsy | (~xdminsy@117.147.70.227) (Remote host closed the connection) |
2024-07-26 17:00:27 +0200 | xdminsy | (~xdminsy@117.147.70.227) |
2024-07-26 17:04:55 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-07-26 17:05:37 +0200 | euleritian | (~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) |
2024-07-26 17:07:00 +0200 | euleritian | (~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-26 17:07:18 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 17:08:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 17:09:07 +0200 | xdminsy | (~xdminsy@117.147.70.227) (Quit: Konversation terminated!) |
2024-07-26 17:12:42 +0200 | LawrenceBerkheim | (~LBerkheim@user/LawrenceBerkheim) |
2024-07-26 17:12:56 +0200 | <LawrenceBerkheim> | Hello, is anybody here?? |
2024-07-26 17:13:34 +0200 | <LawrenceBerkheim> | Fuck my colourscheme is a disaster for irc, my bad |
2024-07-26 17:13:52 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Quit: on the move) |
2024-07-26 17:14:18 +0200 | LawrenceBerkheim | (~LBerkheim@user/LawrenceBerkheim) (Client Quit) |
2024-07-26 17:14:45 +0200 | <kaol> | This is #haskell, what's your Haskell emergency? |
2024-07-26 17:16:47 +0200 | LawrenceBerkheim | (~LBerkheim@user/LawrenceBerkheim) |
2024-07-26 17:16:54 +0200 | <LawrenceBerkheim> | Hello? |
2024-07-26 17:17:01 +0200 | <LawrenceBerkheim> | Fuck me |
2024-07-26 17:17:03 +0200 | LawrenceBerkheim | (~LBerkheim@user/LawrenceBerkheim) (Client Quit) |
2024-07-26 17:25:58 +0200 | Lawrence1erkheim | (~LBerkheim@user/LawrenceBerkheim) |
2024-07-26 17:26:00 +0200 | <Lawrence1erkheim> | Finally fixed my trash |
2024-07-26 17:26:09 +0200 | <kaol> | This is #haskell, what's your Haskell emergency? |
2024-07-26 17:26:21 +0200 | <Lawrence1erkheim> | Okay, I've been learning haskell for a while, and I'm getting the hang of it, but I'm very confused about one bit |
2024-07-26 17:26:25 +0200 | <EvanR> | Sir this is a haskell |
2024-07-26 17:26:32 +0200 | <Lawrence1erkheim> | I'm looking at a codebase that's not mine |
2024-07-26 17:26:41 +0200 | <Lawrence1erkheim> | And I see a bunch of data's defined |
2024-07-26 17:26:59 +0200 | <Lawrence1erkheim> | And I see there are two types of them |
2024-07-26 17:27:18 +0200 | <Lawrence1erkheim> | One is like `data Value = Something` |
2024-07-26 17:27:29 +0200 | <Lawrence1erkheim> | another is like `data Value = Value Something` |
2024-07-26 17:27:40 +0200 | <Lawrence1erkheim> | i.e. the token after `data` repeats |
2024-07-26 17:27:41 +0200 | <EvanR> | that's the same kind of thing, a data type definition |
2024-07-26 17:27:44 +0200 | <Lawrence1erkheim> | What's the deal? What do I google? |
2024-07-26 17:27:59 +0200 | <kaol> | type variables |
2024-07-26 17:28:00 +0200 | <EvanR> | in the second example, the two Value are different things |
2024-07-26 17:28:09 +0200 | <EvanR> | the first Value is the type name |
2024-07-26 17:28:15 +0200 | <EvanR> | the second Value, confusingly, is the constructor name |
2024-07-26 17:28:39 +0200 | <EvanR> | they inhabit different namespaces |
2024-07-26 17:28:54 +0200 | <EvanR> | so it's possible to make the match, but it's annoying |
2024-07-26 17:28:54 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2024-07-26 17:29:00 +0200 | <EvanR> | s/the/them/ |
2024-07-26 17:29:40 +0200 | <Lawrence1erkheim> | Hmm ok |
2024-07-26 17:30:06 +0200 | <EvanR> | look at section 2.2 https://www.haskell.org/tutorial/goodies.html |
2024-07-26 17:31:05 +0200 | <EvanR> | (there are no type variables in your question though, whose names are in all lowercase) |
2024-07-26 17:31:41 +0200 | <EvanR> | case matters |
2024-07-26 17:32:47 +0200 | <kaol> | Applying one at least. I don't think you can really explain what's going on without talking about them. |
2024-07-26 17:33:08 +0200 | <Lawrence1erkheim> | Yea in the example I'm looking at right now it's IntegerValue, StringValue, etc., separated with `|`'s. I made the connection that it means that the thing can be either one of those. |
2024-07-26 17:33:25 +0200 | <Lawrence1erkheim> | Regardless |
2024-07-26 17:33:26 +0200 | <kaol> | That's sum types and that's correct. |
2024-07-26 17:33:46 +0200 | <Lawrence1erkheim> | I'll do some reading and probably come back with more questions because I should probably try understanding them instead of monkey-coding |
2024-07-26 17:33:53 +0200 | <EvanR> | good idea |
2024-07-26 17:34:07 +0200 | <kaol> | I'd suggest reading about Maybe. |
2024-07-26 17:34:36 +0200 | <EvanR> | section 2.2 and the section after it does get into all that |
2024-07-26 17:34:41 +0200 | <Lawrence1erkheim> | Yea it's also bumming around in the code. I kind of understand it, but not confident about it (couldn't utilise it myself from scratch) |
2024-07-26 17:34:53 +0200 | <Lawrence1erkheim> | Talking about the `Maybe` ^^^ |
2024-07-26 17:35:00 +0200 | <kaol> | It's (almost) the simplest case where you ever encounter a construct like Value Something. |
2024-07-26 17:35:27 +0200 | <Lawrence1erkheim> | Oh shit is `Something` an actual keyword? I used it as a placeholder for a type lol |
2024-07-26 17:35:30 +0200 | <Lawrence1erkheim> | My bad |
2024-07-26 17:35:32 +0200 | <EvanR> | no |
2024-07-26 17:36:29 +0200 | <EvanR> | data Point = Pt Int Int, here there is 1 way to construct a Point, using the Pt constructor. And it requires 2 Ints to do it |
2024-07-26 17:36:33 +0200 | <kaol> | It's completely fine as an example placeholder, as long as it's upper case. Lower case would mean something else. |
2024-07-26 17:36:49 +0200 | <EvanR> | so when you say data Value = MkValue Something, Something is referring to some type named Something |
2024-07-26 17:37:37 +0200 | <EvanR> | data Value = IntValue Int | StringValue String is similar but now there's 2 constructors |
2024-07-26 17:37:56 +0200 | <EvanR> | Int and String are types defined somewhere |
2024-07-26 17:38:02 +0200 | <EvanR> | serving as the "payload" |
2024-07-26 17:38:53 +0200 | <Lawrence1erkheim> | And what are `IntValue`/`StringValue` in those cases? |
2024-07-26 17:39:14 +0200 | <EvanR> | constructor names |
2024-07-26 17:39:32 +0200 | <Lawrence1erkheim> | Do they have to be defined elsewhere? |
2024-07-26 17:39:37 +0200 | <EvanR> | that is the definition |
2024-07-26 17:39:42 +0200 | <Lawrence1erkheim> | Ah |
2024-07-26 17:40:00 +0200 | <EvanR> | it produces functions you can use the construct Values... and they have a type... StringValue :: String -> Value |
2024-07-26 17:40:04 +0200 | <EvanR> | can use to* |
2024-07-26 17:40:43 +0200 | <kaol> | And you can use them for pattern matching as well (like "foo (StringValue x) = x"). |
2024-07-26 17:41:17 +0200 | <EvanR> | case v of { IntValue i -> <code>; StringValue str -> <code> } |
2024-07-26 17:42:11 +0200 | <EvanR> | lets you discover the constructor used and unpack the Value |
2024-07-26 17:45:48 +0200 | <Lawrence1erkheim> | Okay so let's say I have two ,,variables'' or however I call them, one of them is ThingA = IntegerType | StringType, another is ThingB = IntegerType int | StringType String. ThingA denotes the types, and ThingB denotes the instances of types? |
2024-07-26 17:45:59 +0200 | <EvanR> | two data types? |
2024-07-26 17:46:00 +0200 | <Lawrence1erkheim> | IntegerType Int* |
2024-07-26 17:46:15 +0200 | <Lawrence1erkheim> | Yea let's say |
2024-07-26 17:46:27 +0200 | <Lawrence1erkheim> | In practice I have to check if ThingB is of instance ThingA |
2024-07-26 17:46:35 +0200 | <EvanR> | no |
2024-07-26 17:46:44 +0200 | <EvanR> | first of all, did you mean to leave out the data keyword |
2024-07-26 17:46:59 +0200 | <EvanR> | which is needed to define data types |
2024-07-26 17:47:01 +0200 | <Lawrence1erkheim> | My bad, the keyword is supposed to be there |
2024-07-26 17:47:11 +0200 | <EvanR> | ok then you're not "assigning" variables or anything |
2024-07-26 17:47:31 +0200 | <EvanR> | which are lower case, btw |
2024-07-26 17:47:33 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 17:48:11 +0200 | <EvanR> | ThingA and ThingB, assuming you put them in different modules because of name collisions, are two independent types with no relation |
2024-07-26 17:48:15 +0200 | <EvanR> | there's no subtype relationship |
2024-07-26 17:49:42 +0200 | <Lawrence1erkheim> | Wait is `IntegerType` builtin or am I defining a thing that is `IntegerType`? |
2024-07-26 17:49:49 +0200 | <EvanR> | you're defining that |
2024-07-26 17:49:53 +0200 | <Lawrence1erkheim> | Just like in those examples `data Colour = Red | Green` |
2024-07-26 17:49:53 +0200 | <EvanR> | (two different ways) |
2024-07-26 17:50:03 +0200 | <EvanR> | yeah |
2024-07-26 17:50:07 +0200 | <Lawrence1erkheim> | Oh |
2024-07-26 17:50:23 +0200 | <EvanR> | Red :: Colour |
2024-07-26 17:50:26 +0200 | <EvanR> | Green :: Colour |
2024-07-26 17:50:36 +0200 | <Lawrence1erkheim> | Ok I'm looking at the instantiations it makes more sense |
2024-07-26 17:50:36 +0200 | <EvanR> | IntegerType :: Int -> ThingB |
2024-07-26 17:51:04 +0200 | <EvanR> | using the word Type in the constructor may be confusing, because constructors create values not types |
2024-07-26 17:51:22 +0200 | <EvanR> | Red and Green are values, Colour is a type |
2024-07-26 17:51:27 +0200 | gorignak | (~gorignak@user/gorignak) |
2024-07-26 17:51:32 +0200 | <Lawrence1erkheim> | Oh my fucking god I went blind to words. ThingA was IntegerType, etc., while ThingB was IntegerValue, etc. |
2024-07-26 17:51:35 +0200 | <Lawrence1erkheim> | I am going to die |
2024-07-26 17:51:57 +0200 | <EvanR> | and so using Value in the constructor name is redundant xD |
2024-07-26 17:51:59 +0200 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
2024-07-26 17:52:21 +0200 | <EvanR> | e.g. RedValue, GreenValue, it is redundant |
2024-07-26 17:52:30 +0200 | <Lawrence1erkheim> | And IntegerValue is an actual thing (?) (e.g. here https://hackage.haskell.org/package/present-4.1.0/docs/Present.html) |
2024-07-26 17:52:46 +0200 | <EvanR> | some library defined it, haven't heard of that one |
2024-07-26 17:52:59 +0200 | <kaol> | RedWrittenInLatinCharacters |
2024-07-26 17:53:02 +0200 | <EvanR> | many things in haskell are defined somewhere, e.g. type String = [Char] |
2024-07-26 17:53:23 +0200 | <EvanR> | data Bool = False | True |
2024-07-26 17:54:51 +0200 | <Lawrence1erkheim> | Wait so I have instances of ThingA, which is StringType|IntegerType, and then I have a bunch of ThingB, which is StringValue String|IntegerValue Integer. What would be the haskell-esque way to check that the instances match? |
2024-07-26 17:55:13 +0200 | <Lawrence1erkheim> | Do I need to define a map that's like ,,StringType and StringValue are cool", etc? |
2024-07-26 17:55:23 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-07-26 17:55:31 +0200 | <EvanR> | here is a more popular library with a 'Value' type defined similarly https://hackage.haskell.org/package/aeson-2.2.3.0/docs/src/Data.Aeson.Types.Internal.html#Value |
2024-07-26 17:55:38 +0200 | <EvanR> | it's modelling a JSON value |
2024-07-26 17:56:18 +0200 | <EvanR> | Lawrence1erkheim, I guess you could write a function with type ThingA -> ThingB -> Bool ? |
2024-07-26 17:56:38 +0200 | <Lawrence1erkheim> | Based |
2024-07-26 17:56:38 +0200 | <EvanR> | but more likely how and where you match depends on what you really want to do |
2024-07-26 17:56:41 +0200 | <Lawrence1erkheim> | I'll try that |
2024-07-26 17:57:13 +0200 | <Lawrence1erkheim> | Last time I didn't understand those signatures with arrows so I'm glad I got this far |
2024-07-26 17:57:16 +0200 | <Lawrence1erkheim> | Thanks guys |
2024-07-26 17:57:16 +0200 | <Lawrence1erkheim> | I may be back |
2024-07-26 17:58:08 +0200 | <EvanR> | Bool tests appear a lot less in haskell because pattern matching, usually |
2024-07-26 17:58:17 +0200 | <EvanR> | than in many other languages |
2024-07-26 17:59:04 +0200 | <Lawrence1erkheim> | I've noticed. When I had to pull out my first bool I wondered if I'm doing something wrong since I didn't need them up until that point. |
2024-07-26 17:59:27 +0200 | <EvanR> | yeah it's definitely a red flag of sorts |
2024-07-26 17:59:48 +0200 | <EvanR> | but some utilities take a Bool so you need them there |
2024-07-26 17:59:51 +0200 | <EvanR> | :t filter |
2024-07-26 17:59:52 +0200 | <lambdabot> | (a -> Bool) -> [a] -> [a] |
2024-07-26 18:01:22 +0200 | <kaol> | And that's something you'll encounter much later but a lot of constructions that'd take conditionals in some other language are just done with monads. |
2024-07-26 18:02:38 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-07-26 18:02:42 +0200 | <EvanR> | :t mapMaybe |
2024-07-26 18:02:43 +0200 | <lambdabot> | (a -> Maybe b) -> [a] -> [b] |
2024-07-26 18:03:05 +0200 | <EvanR> | (another way to filter but not really monad related) |
2024-07-26 18:04:21 +0200 | <Lawrence1erkheim> | it worked! |
2024-07-26 18:04:27 +0200 | <Lawrence1erkheim> | Thanks guys |
2024-07-26 18:04:45 +0200 | <Lawrence1erkheim> | well fuck the working |
2024-07-26 18:04:49 +0200 | <Lawrence1erkheim> | I get it now (hopefully) |
2024-07-26 18:07:34 +0200 | <ncf> | very monad-related in fact |
2024-07-26 18:07:46 +0200 | <ncf> | Maybe is a submonad of [] |
2024-07-26 18:08:00 +0200 | <ncf> | this is just bind restricted to that submonad in the first argument |
2024-07-26 18:08:35 +0200 | <ncf> | (alternatively, [] is a right Maybe-module) |
2024-07-26 18:09:00 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) () |
2024-07-26 18:10:06 +0200 | <EvanR> | so you want to filter a list, let me first introduce you to some category theory xD |
2024-07-26 18:11:48 +0200 | <kaol> | https://aphyr.com/posts/342-typing-the-technical-interview "Haskell is a dynamically-typed, interpreted language." |
2024-07-26 18:20:24 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-07-26 18:29:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 18:34:52 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Read error: Connection reset by peer) |
2024-07-26 18:35:00 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-07-26 18:36:07 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 264 seconds) |
2024-07-26 18:44:14 +0200 | ridcully | (~ridcully@p508ac2b4.dip0.t-ipconnect.de) (Quit: WeeChat 4.3.4) |
2024-07-26 18:44:31 +0200 | ridcully | (~ridcully@p508ac2b4.dip0.t-ipconnect.de) |
2024-07-26 18:48:59 +0200 | billchenchina- | (~billchenc@118.38.173.226) |
2024-07-26 18:49:35 +0200 | stefior | (~Stefior@c-71-57-237-142.hsd1.pa.comcast.net) |
2024-07-26 18:50:32 +0200 | <stefior> | hello |
2024-07-26 18:51:33 +0200 | micro | (~micro@user/micro) (Ping timeout: 248 seconds) |
2024-07-26 18:51:55 +0200 | <danse-nr3> | \o stefior |
2024-07-26 18:52:03 +0200 | micro | (~micro@user/micro) |
2024-07-26 18:52:18 +0200 | <stefior> | Hi danse-nr3, this is my first time using irc |
2024-07-26 18:52:34 +0200 | <danse-nr3> | and you came straight to #haskell |
2024-07-26 18:52:46 +0200 | <stefior> | I looked up good channels |
2024-07-26 18:53:31 +0200 | <EvanR> | good. Now install GHC |
2024-07-26 18:53:42 +0200 | <EvanR> | suit up, lock and load |
2024-07-26 18:54:17 +0200 | <stefior> | I have it installed. I haven't ever tried haskell yet though since I figured I'm not a good enough developer yet for functional stuff |
2024-07-26 18:54:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 18:56:19 +0200 | ft | (~ft@p3e9bc4e7.dip0.t-ipconnect.de) |
2024-07-26 18:58:51 +0200 | <stefior> | irc is a lot more like discord than I thought |
2024-07-26 18:59:24 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Quit: life calls) |
2024-07-26 19:02:18 +0200 | <EvanR> | discord was the winning competitor from an era that was trying to make a modernized (and for profit) version of IRC |
2024-07-26 19:02:59 +0200 | <EvanR> | they took some design aspects and left many others behind |
2024-07-26 19:03:28 +0200 | <stefior> | That makes sense |
2024-07-26 19:05:08 +0200 | <stefior> | I like how this is though too. I think the only thing I'd really miss is images |
2024-07-26 19:06:02 +0200 | <dolio> | Given the occasional spambots, it's probably good there's no automatic images. |
2024-07-26 19:09:43 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
2024-07-26 19:11:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 19:18:10 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-26 19:18:14 +0200 | skyesoss | (~Thunderbi@128.135.204.35) |
2024-07-26 19:18:47 +0200 | <mauke> | I bet some clients render URL previews and images |
2024-07-26 19:20:19 +0200 | <monochrom> | If you use such a client in an office with other people, you expose yourself to the risk and legal liabilities of displaying NFSW content. |
2024-07-26 19:20:45 +0200 | <monochrom> | I can't understand why so many people desire it, as if bad actors did not exist on Earth. |
2024-07-26 19:20:57 +0200 | <stefior> | I'm on weechat. I'm still trying to figure out how to make my name yellow, but I'd be fine with going to the URL instead for images, just something to get used to |
2024-07-26 19:21:34 +0200 | <mauke> | https://c.tenor.com/1iSARWJr-TEAAAAC/tenor.gif |
2024-07-26 19:21:34 +0200 | <stefior> | I only really use discord to text my wife anyway, but your point about the nsfw content makes sense |
2024-07-26 19:22:07 +0200 | <stefior> | haha @mauke |
2024-07-26 19:22:15 +0200 | <Rembane> | stefior: /me bla perhaps? |
2024-07-26 19:22:21 +0200 | stefior | bla |
2024-07-26 19:22:24 +0200 | <Rembane> | mauke: Megasus! |
2024-07-26 19:22:32 +0200 | <mauke> | stefior: how does weechat render your name by default? |
2024-07-26 19:22:35 +0200 | <stefior> | white |
2024-07-26 19:23:17 +0200 | <stefior> | I'm looking at fset for all the weechat.color stuff now, but I also found colorize_nicks.py |
2024-07-26 19:26:17 +0200 | <mauke> | 08,02stefior |
2024-07-26 19:26:25 +0200 | <mauke> | ok, that kind of worked on my end |
2024-07-26 19:26:34 +0200 | <stefior> | That is yellow with light blue background for me |
2024-07-26 19:26:36 +0200 | <stefior> | stefior |
2024-07-26 19:26:53 +0200 | <stefior> | The colorize_nicks.py isn't working, maybe I did the wrong command or need to restart |
2024-07-26 19:27:17 +0200 | <stefior> | I meant making it yellow on the left side though, not in messages, just because I'm used to it being yellow in discord |
2024-07-26 19:27:25 +0200 | <mauke> | from the name I'm guessing it's supposed to assign a different color to each user? |
2024-07-26 19:29:25 +0200 | <stefior> | I think it is supposed to colorize people's names when in messages actually, like when I said "@mauke" earlier it shows "mouke" in green, just like on the left side. Or is that default behavior? |
2024-07-26 19:29:31 +0200 | <Lawrence1erkheim> | Mauke it's blue for me too |
2024-07-26 19:29:34 +0200 | destituion | (~destituio@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 245 seconds) |
2024-07-26 19:29:44 +0200 | <Lawrence1erkheim> | and I'm on irssi |
2024-07-26 19:30:00 +0200 | <Lawrence1erkheim> | how did you do that |
2024-07-26 19:30:50 +0200 | <mauke> | IRC colors |
2024-07-26 19:31:08 +0200 | <mauke> | #haskell doesn't filter formatting codes from messages |
2024-07-26 19:31:14 +0200 | <mauke> | and most clients render them |
2024-07-26 19:31:20 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 264 seconds) |
2024-07-26 19:31:53 +0200 | <mauke> | https://modern.ircdocs.horse/formatting.html#forms-of-color-codes |
2024-07-26 19:33:00 +0200 | <Lawrence1erkheim> | I'm not sure my client will be happy with those |
2024-07-26 19:33:12 +0200 | <Lawrence1erkheim> | How the fuck do I input a hex character |
2024-07-26 19:33:35 +0200 | <stefior> | 0x04 Test |
2024-07-26 19:33:45 +0200 | <stefior> | \0x04 test |
2024-07-26 19:33:49 +0200 | <Lawrence1erkheim> | there we go |
2024-07-26 19:33:54 +0200 | <Lawrence1erkheim> | the triforce of irc |
2024-07-26 19:34:21 +0200 | <Lawrence1erkheim> | asd |
2024-07-26 19:34:22 +0200 | <Lawrence1erkheim> | Oh shit |
2024-07-26 19:34:30 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-07-26 19:34:49 +0200 | <stefior> | ^test^ |
2024-07-26 19:35:13 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 19:35:17 +0200 | <stefior> | ^Itest^I |
2024-07-26 19:35:22 +0200 | <Lawrence1erkheim> | Well, irssi is doing great |
2024-07-26 19:35:26 +0200 | <mauke> | you can literally type Ctrl-C into irssi |
2024-07-26 19:36:04 +0200 | <Lawrence1erkheim> | stefior you have to put in the raw hex characters, which usually isn't easily doable with keyboard. I'm doing my shenanigans with the help of my client, it has special keybinds to put the settings in. |
2024-07-26 19:36:08 +0200 | <mauke> | remember, kids: Ctrl-A is '\1', Ctrl-B is '\2', Ctrl-C is '\3', etc |
2024-07-26 19:36:17 +0200 | <Lawrence1erkheim> | mauke Ctrl-C kills my terminal :( |
2024-07-26 19:36:30 +0200 | <mauke> | then your terminal is very broken |
2024-07-26 19:36:36 +0200 | <Lawrence1erkheim> | Wait a minute |
2024-07-26 19:36:50 +0200 | <stefior> | ah, I see |
2024-07-26 19:37:12 +0200 | LawrenceBerkheim | (~LBerkheim@user/LawrenceBerkheim) |
2024-07-26 19:37:24 +0200 | <LawrenceBerkheim> | I fucked around, and Ctrl-Z actually killed irssi |
2024-07-26 19:37:32 +0200 | <mauke> | no, just paused it |
2024-07-26 19:37:34 +0200 | <mauke> | type 'fg' |
2024-07-26 19:37:43 +0200 | <LawrenceBerkheim> | 3 Green? |
2024-07-26 19:37:49 +0200 | <LawrenceBerkheim> | fg |
2024-07-26 19:37:51 +0200 | <LawrenceBerkheim> | Fuck |
2024-07-26 19:37:54 +0200 | <LawrenceBerkheim> | I'm such a zoomer |
2024-07-26 19:38:15 +0200 | <mauke> | fg is a unix command :-) |
2024-07-26 19:38:16 +0200 | <dolio> | Yeah, your other nick is still here. |
2024-07-26 19:38:27 +0200 | <glguy> | until it pings out |
2024-07-26 19:38:32 +0200 | <mauke> | it will eventually get kicked when it fails to respond to PINGs |
2024-07-26 19:38:33 +0200 | <LawrenceBerkheim> | Ughghgh |
2024-07-26 19:38:42 +0200 | <LawrenceBerkheim> | Goddamnit |
2024-07-26 19:38:46 +0200 | <glguy> | chil |
2024-07-26 19:38:47 +0200 | <glguy> | l |
2024-07-26 19:38:48 +0200 | <LawrenceBerkheim> | Well now I learned |
2024-07-26 19:39:19 +0200 | <mauke> | if this is the same shell session, you can probably /quit your current instance and then type 'fg' to get the old one back |
2024-07-26 19:39:26 +0200 | <int-e> | . o O ( nothing that a reinstall from scratch won't fix ) |
2024-07-26 19:39:30 +0200 | int-e | runs |
2024-07-26 19:39:43 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) |
2024-07-26 19:40:48 +0200 | Lawrence1erkheim | (~LBerkheim@user/LawrenceBerkheim) (Ping timeout: 245 seconds) |
2024-07-26 19:41:30 +0200 | micro | (~micro@user/micro) (Ping timeout: 252 seconds) |
2024-07-26 19:42:21 +0200 | micro | (~micro@user/micro) |
2024-07-26 19:46:33 +0200 | <stefior> | test |
2024-07-26 19:46:54 +0200 | <stefior> | italic |
2024-07-26 19:47:03 +0200 | <stefior> | reverse |
2024-07-26 19:47:10 +0200 | <LawrenceBerkheim> | You're doing it! |
2024-07-26 19:47:10 +0200 | <stefior> | bold |
2024-07-26 19:47:37 +0200 | <LawrenceBerkheim> | pretty bold of you |
2024-07-26 19:47:43 +0200 | <LawrenceBerkheim> | XD |
2024-07-26 19:48:11 +0200 | <stefior> | 08:) |
2024-07-26 19:48:41 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-07-26 19:49:03 +0200 | <stefior> | still don't know how to make my name yellow though |
2024-07-26 19:49:14 +0200 | <LawrenceBerkheim> | What client are you using? |
2024-07-26 19:49:19 +0200 | <stefior> | weechat |
2024-07-26 19:49:23 +0200 | <LawrenceBerkheim> | Unfortunate |
2024-07-26 19:49:35 +0200 | <LawrenceBerkheim> | Gonna have to find it yourself |
2024-07-26 19:50:02 +0200 | <stefior> | I could switch to irssi if it's better. This is my first day using irc so I have no preference |
2024-07-26 19:51:41 +0200 | <LawrenceBerkheim> | Depends on you |
2024-07-26 19:51:59 +0200 | <LawrenceBerkheim> | I find it hard to believe that weechat doesn't do the shit irssi does |
2024-07-26 19:52:12 +0200 | <stefior> | huh, it's possible to use discord and slack from within weechat |
2024-07-26 19:52:20 +0200 | <LawrenceBerkheim> | I use it since I'm being pretentious without a desktop environment, so it fits my stuff better |
2024-07-26 19:52:51 +0200 | <stefior> | what do you mean by "without a desktop environment"? |
2024-07-26 19:53:04 +0200 | <LawrenceBerkheim> | Oh shit it's that time of the day |
2024-07-26 19:53:11 +0200 | <LawrenceBerkheim> | COUGH |
2024-07-26 19:53:19 +0200 | <LawrenceBerkheim> | i use arch btw |
2024-07-26 19:53:26 +0200 | <stefior> | XD |
2024-07-26 19:53:59 +0200 | <stefior> | I'm on ubuntu in wsl right now, so I'm not a cool kid |
2024-07-26 19:54:02 +0200 | <LawrenceBerkheim> | https://i.redd.it/y583j1mzw1g91.jpg |
2024-07-26 19:54:03 +0200 | <LawrenceBerkheim> | this is me |
2024-07-26 19:54:04 +0200 | <glguy> | don't forget this is #haskell |
2024-07-26 19:54:22 +0200 | <LawrenceBerkheim> | True |
2024-07-26 19:54:25 +0200 | <stefior> | haha |
2024-07-26 19:54:39 +0200 | <Rembane> | #haskell-offtopic is an amazing channel for these topics. |
2024-07-26 19:55:35 +0200 | <LawrenceBerkheim> | Let me try |
2024-07-26 19:56:27 +0200 | <stefior> | how do I see all the haskell channels? I thought there was just one. I looked it up now and found this: https://www.haskell.org/irc/ but are they connected like how they are on discord? |
2024-07-26 19:56:54 +0200 | <Rembane> | stefior: /join #haskell-offtopic |
2024-07-26 19:57:01 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-07-26 19:57:46 +0200 | <stefior> | thanks rembane |
2024-07-26 19:58:17 +0200 | stefior | (~Stefior@c-71-57-237-142.hsd1.pa.comcast.net) (Quit: WeeChat 3.5) |
2024-07-26 19:58:54 +0200 | stefior | (~Stefior@c-71-57-237-142.hsd1.pa.comcast.net) |
2024-07-26 19:59:17 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-07-26 19:59:23 +0200 | <Rembane> | stefior: np! |
2024-07-26 20:00:08 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 255 seconds) |
2024-07-26 20:03:35 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) |
2024-07-26 20:05:40 +0200 | <EvanR> | stefior, yeah even on discord I disable image previews |
2024-07-26 20:06:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 20:23:06 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 20:35:30 +0200 | <Inst> | btw |
2024-07-26 20:35:50 +0200 | <Inst> | existential types allow you to stuff arbitrary functions and data into a sum type, right? |
2024-07-26 20:36:00 +0200 | <Inst> | well, obv they do, but do they allow you to use them? |
2024-07-26 20:36:13 +0200 | <dolio> | Use them how? |
2024-07-26 20:36:38 +0200 | <Inst> | basically Haskell can be forced to be dynamic if people are going to complain about strict static typing all the time, just rip off JSON from Aeson or EDN |
2024-07-26 20:36:48 +0200 | <Inst> | but both formats don't support functions in objects |
2024-07-26 20:37:01 +0200 | <EvanR> | you can put functions in a record without existential types |
2024-07-26 20:37:21 +0200 | <EvanR> | or sum type |
2024-07-26 20:37:52 +0200 | <Inst> | no, but I mean putting an arbitrary function of arbitrary type |
2024-07-26 20:38:20 +0200 | <EvanR> | which means what, Unknown1 -> Unknown2 |
2024-07-26 20:38:50 +0200 | <EvanR> | data Cool a b = K1 (a -> b) | K2 (a -> b) |
2024-07-26 20:39:04 +0200 | <Inst> | but hide the a -> b |
2024-07-26 20:39:17 +0200 | <dolio> | Have you seen Data.Dynamic? |
2024-07-26 20:40:10 +0200 | <Inst> | essentially it comes down to wanting [Dynamic]okay, dynamic can do this |
2024-07-26 20:40:29 +0200 | <EvanR> | which doesn't rely on existentials |
2024-07-26 20:40:30 +0200 | <Inst> | I have, just thought there was a limitation that blocked fromDyn from being able to encode functions |
2024-07-26 20:40:42 +0200 | <EvanR> | > typeOf ord |
2024-07-26 20:40:43 +0200 | <lambdabot> | Char -> Int |
2024-07-26 20:40:44 +0200 | <Inst> | so you can have a keymap of string keys + dynamic |
2024-07-26 20:40:50 +0200 | <Inst> | then you can go pretend this is JS |
2024-07-26 20:41:00 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 252 seconds) |
2024-07-26 20:41:16 +0200 | <Inst> | it was regarding some guy, probably trolling (hi bolivood), doing standard "i came in from a dynamic language" haskell complaints |
2024-07-26 20:41:46 +0200 | <EvanR> | haskell can be ridiculously dynamic, making it just as bad as js |
2024-07-26 20:41:50 +0200 | <EvanR> | more so |
2024-07-26 20:42:22 +0200 | <EvanR> | that it can't be dynamic isn't a viable argument, that you would want it to be is the issue |
2024-07-26 20:42:42 +0200 | <Inst> | yup |
2024-07-26 20:43:01 +0200 | <Inst> | i'm sort of comfortable with default Haskell style and don't really have complaints |
2024-07-26 20:43:12 +0200 | <Inst> | and there's apparently a ton of people who go "throw the rules out the window if you're doing rapid prototyping" |
2024-07-26 20:43:48 +0200 | <EvanR> | there's an option for that, -fdefer-type-errors |
2024-07-26 20:44:09 +0200 | <EvanR> | I don't know how rapid it will make your prototyping though |
2024-07-26 20:49:37 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-07-26 20:49:50 +0200 | <Inst> | thanks, was just wondering about this |
2024-07-26 20:51:28 +0200 | <dolio> | I'm not really convinced that what such people say makes any actual sense. |
2024-07-26 20:52:46 +0200 | <mauke> | @let a === b = cast a == Just b |
2024-07-26 20:52:47 +0200 | <lambdabot> | Defined. |
2024-07-26 20:52:55 +0200 | <Inst> | okay, this is weird |
2024-07-26 20:53:09 +0200 | <mauke> | > 'f' === length "three" |
2024-07-26 20:53:11 +0200 | <lambdabot> | error: |
2024-07-26 20:53:11 +0200 | <lambdabot> | Ambiguous occurrence ‘===’ |
2024-07-26 20:53:11 +0200 | <lambdabot> | It could refer to |
2024-07-26 20:53:13 +0200 | <mauke> | aww |
2024-07-26 20:53:15 +0200 | <mauke> | @undefine |
2024-07-26 20:53:15 +0200 | <lambdabot> | Undefined. |
2024-07-26 20:53:16 +0200 | <Inst> | @let u = toDyn (+) |
2024-07-26 20:53:17 +0200 | <lambdabot> | Defined. |
2024-07-26 20:53:20 +0200 | <Inst> | @u |
2024-07-26 20:53:20 +0200 | <lambdabot> | Maybe you meant: undefine undo unlambda unmtl unpf unpl unpointless unshift-topic uptime url users v @ ? . |
2024-07-26 20:53:33 +0200 | <Inst> | @let u = toDyn (+) in (fromDyn u) 1 2 |
2024-07-26 20:53:33 +0200 | <lambdabot> | Parse failed: Parse error: in |
2024-07-26 20:53:34 +0200 | <EvanR> | :t u |
2024-07-26 20:53:36 +0200 | <lambdabot> | error: |
2024-07-26 20:53:36 +0200 | <lambdabot> | Ambiguous occurrence ‘u’ |
2024-07-26 20:53:36 +0200 | <lambdabot> | It could refer to |
2024-07-26 20:53:46 +0200 | <EvanR> | gone |
2024-07-26 20:53:54 +0200 | <Inst> | @(fromDyn u) 1 2 |
2024-07-26 20:53:54 +0200 | <lambdabot> | Unknown command, try @list |
2024-07-26 20:54:13 +0200 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 248 seconds) |
2024-07-26 20:54:15 +0200 | <Inst> | @let v = toDyn (+); u = fromDyn v; u 1 2 |
2024-07-26 20:54:16 +0200 | <lambdabot> | Parse failed: TemplateHaskell language extension is not enabled. Please add ... |
2024-07-26 20:54:32 +0200 | vgtw | (~vgtw@user/vgtw) |
2024-07-26 20:54:35 +0200 | <Inst> | well on ghci it seems as though fromDyn toDyn is mangling the function |
2024-07-26 20:54:52 +0200 | <EvanR> | > typeOf (+) |
2024-07-26 20:54:54 +0200 | <lambdabot> | Integer -> Integer -> Integer |
2024-07-26 20:54:55 +0200 | <mauke> | @undefine |
2024-07-26 20:54:55 +0200 | <lambdabot> | Undefined. |
2024-07-26 20:55:01 +0200 | <Inst> | @undefine |
2024-07-26 20:55:01 +0200 | <lambdabot> | Undefined. |
2024-07-26 20:55:06 +0200 | torkel | (~sindu@83-243-191-191.fth.tafjordconnect.net) |
2024-07-26 20:55:08 +0200 | <mauke> | > let u = toDyn (+) in fromDyn u |
2024-07-26 20:55:09 +0200 | <lambdabot> | error: |
2024-07-26 20:55:10 +0200 | <lambdabot> | • No instance for (Typeable a0) |
2024-07-26 20:55:10 +0200 | <lambdabot> | arising from a use of ‘show_M27679112337342994988’ |
2024-07-26 20:55:22 +0200 | <mauke> | > let u = toDyn (+) in fromDyn u 1 2 |
2024-07-26 20:55:22 +0200 | <EvanR> | you have to pick the Num |
2024-07-26 20:55:23 +0200 | <lambdabot> | error: |
2024-07-26 20:55:24 +0200 | <lambdabot> | • Could not deduce (Typeable t0) |
2024-07-26 20:55:24 +0200 | <lambdabot> | from the context: (Typeable t, Typeable t1, Num t1, Num (t1 -> t)) |
2024-07-26 20:56:17 +0200 | Guest24 | (~Guest24@2601:98a:87f:dc80::a16f) |
2024-07-26 20:56:31 +0200 | <Inst> | https://paste.tomsmeding.com/tZlAmv8u |
2024-07-26 20:56:34 +0200 | <Inst> | is there something I'm missing here? |
2024-07-26 20:56:35 +0200 | Guest24 | (~Guest24@2601:98a:87f:dc80::a16f) (Client Quit) |
2024-07-26 20:56:42 +0200 | rvalue- | (~rvalue@user/rvalue) |
2024-07-26 20:56:45 +0200 | <mauke> | > let u = toDyn (+) in fromDyn u (error "oops" :: Integer -> Integer -> Integer) 1 2 |
2024-07-26 20:56:46 +0200 | <lambdabot> | 3 |
2024-07-26 20:57:02 +0200 | <Inst> | ah |
2024-07-26 20:57:41 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 265 seconds) |
2024-07-26 20:58:10 +0200 | <Inst> | oh, i'm misunderstanding fromDyn |
2024-07-26 20:58:21 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-07-26 20:59:57 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-26 21:00:20 +0200 | <mauke> | > let u = toDyn '+' in fromDyn u (error "oops" :: Integer -> Integer -> Integer) 1 2 |
2024-07-26 21:00:22 +0200 | <lambdabot> | *Exception: oops |
2024-07-26 21:00:41 +0200 | <Inst> | ya i set it up as fromDyn (undefined :: Integer -> Integer -> Integer) 1 2 |
2024-07-26 21:02:21 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-07-26 21:03:50 +0200 | <mauke> | > let f = toDyn ord; x = toDyn 'A' in (f, x, dynApp f x) |
2024-07-26 21:03:52 +0200 | <lambdabot> | (<<Char -> Int>>,<<Char>>,<<Int>>) |
2024-07-26 21:04:24 +0200 | <mauke> | > let f = toDyn ord; x = toDyn 'A' in (f, x, fromDynamic (dynApp f x) :: Maybe Int) |
2024-07-26 21:04:26 +0200 | <lambdabot> | (<<Char -> Int>>,<<Char>>,Just 65) |
2024-07-26 21:04:31 +0200 | rvalue- | rvalue |
2024-07-26 21:04:48 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-07-26 21:04:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 21:05:25 +0200 | <mauke> | > toDyn (toDyn :: () -> Dynamic) |
2024-07-26 21:05:27 +0200 | <lambdabot> | <<() -> Dynamic>> |
2024-07-26 21:05:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 21:06:08 +0200 | <LawrenceBerkheim> | Holy sht just figured out what guards are |
2024-07-26 21:06:10 +0200 | <LawrenceBerkheim> | a bit too late |
2024-07-26 21:06:12 +0200 | <LawrenceBerkheim> | fucking hell |
2024-07-26 21:06:14 +0200 | <LawrenceBerkheim> | my brain owie |
2024-07-26 21:06:40 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
2024-07-26 21:07:36 +0200 | <mauke> | simple guards or fancy guards? |
2024-07-26 21:07:36 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-26 21:08:22 +0200 | <LawrenceBerkheim> | `|` |
2024-07-26 21:08:32 +0200 | <LawrenceBerkheim> | I tied comparing Integers and stuff did not work |
2024-07-26 21:08:37 +0200 | <LawrenceBerkheim> | Got desperate and asked chatgpt |
2024-07-26 21:08:38 +0200 | <jle`> | nice |
2024-07-26 21:08:40 +0200 | <LawrenceBerkheim> | It said ,,guards'' |
2024-07-26 21:08:44 +0200 | <LawrenceBerkheim> | I still don't know what's happening |
2024-07-26 21:08:46 +0200 | <LawrenceBerkheim> | but at least it works |
2024-07-26 21:08:48 +0200 | <LawrenceBerkheim> | now reading up |
2024-07-26 21:08:59 +0200 | <Inst> | guards are funny because you can stuff an entire function into guards |
2024-07-26 21:09:11 +0200 | <LawrenceBerkheim> | During compiling it bitched that the variable was unused and that it was shadowed |
2024-07-26 21:09:14 +0200 | <LawrenceBerkheim> | I didn't see how |
2024-07-26 21:09:26 +0200 | <jle`> | ideally guards are taught at the same time defining functions are taught |
2024-07-26 21:09:27 +0200 | <LawrenceBerkheim> | I remember guards from using TLA |
2024-07-26 21:09:37 +0200 | <LawrenceBerkheim> | Not sure if similar |
2024-07-26 21:09:44 +0200 | <EvanR> | > compare 4 9 |
2024-07-26 21:09:46 +0200 | <lambdabot> | LT |
2024-07-26 21:09:48 +0200 | <EvanR> | > 4 < 9 |
2024-07-26 21:09:49 +0200 | <lambdabot> | True |
2024-07-26 21:09:54 +0200 | <EvanR> | comparing integers |
2024-07-26 21:09:55 +0200 | <mauke> | yeah, but what's after the `|`? |
2024-07-26 21:10:23 +0200 | euleritian | (~euleritia@dynamic-176-006-133-059.176.6.pool.telefonica.de) |
2024-07-26 21:10:38 +0200 | <Inst> | are guards fully equivalent to a combination of case, if then else, and let? |
2024-07-26 21:11:06 +0200 | <EvanR> | mainly if then else |
2024-07-26 21:11:14 +0200 | <EvanR> | which is sugar for case analysis |
2024-07-26 21:11:41 +0200 | <Inst> | i mean pattern guards |
2024-07-26 21:11:53 +0200 | <mauke> | yeah, it all desugars eventually |
2024-07-26 21:11:53 +0200 | <jle`> | it's kind of not a direct translation because of fallback behavior |
2024-07-26 21:11:58 +0200 | <mauke> | just the details are very hairy |
2024-07-26 21:13:30 +0200 | <Inst> | hmmm, wait, what happens if let in guards has a partial pattern match? let's find out |
2024-07-26 21:14:27 +0200 | <mauke> | oh, I think I've come up with a new way of defining (&&) without pattern matching |
2024-07-26 21:14:55 +0200 | <mauke> | (&&) x y | x = y | True = False |
2024-07-26 21:15:00 +0200 | <Inst> | okay so the let binding is lazy |
2024-07-26 21:15:51 +0200 | <Inst> | okay, so let can throw a non-exhaustive pattern match error |
2024-07-26 21:16:27 +0200 | <Inst> | and won't fall through if you add bang patterns |
2024-07-26 21:16:38 +0200 | <mauke> | > case Nothing of ~(Just x) -> x |
2024-07-26 21:16:39 +0200 | <jle`> | mauke: that's a neat little definition |
2024-07-26 21:16:39 +0200 | <lambdabot> | *Exception: <interactive>:(3,1)-(4,22): Non-exhaustive patterns in Just x |
2024-07-26 21:19:02 +0200 | <jle`> | does it work if you inline the &&, it's a nice little puzzle/golfy brain teaser kind of thing |
2024-07-26 21:19:06 +0200 | LawrenceBerkheim | (~LBerkheim@user/LawrenceBerkheim) (Quit: Lost terminal) |
2024-07-26 21:19:12 +0200 | <jle`> | x && y | x = y | True = False |
2024-07-26 21:19:16 +0200 | <jle`> | hehe |
2024-07-26 21:19:54 +0200 | <EvanR> | o_O |
2024-07-26 21:20:07 +0200 | <jle`> | > let x ?? y | x = y | True = False in liftA2 (??) [False, True] [False, True] |
2024-07-26 21:20:08 +0200 | euleritian | (~euleritia@dynamic-176-006-133-059.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-26 21:20:09 +0200 | <lambdabot> | [False,False,False,True] |
2024-07-26 21:20:26 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-26 21:20:41 +0200 | <EvanR> | I'm going to use this as an introduce to haskell for noobs |
2024-07-26 21:20:47 +0200 | <EvanR> | introduction |
2024-07-26 21:20:58 +0200 | <EvanR> | look how simple haskell is xD |
2024-07-26 21:21:04 +0200 | <jle`> | this is probably damaging to most brains to see, i would not show newcomers this ._. |
2024-07-26 21:21:10 +0200 | <EvanR> | lol |
2024-07-26 21:21:15 +0200 | <jle`> | ah i didn't see your last message haha |
2024-07-26 21:22:01 +0200 | <jle`> | :t let x??y|x=y|True=False in (??) |
2024-07-26 21:22:02 +0200 | <lambdabot> | Bool -> Bool -> Bool |
2024-07-26 21:23:15 +0200 | <EvanR> | :t let x??y|x=y|y=x|False=True|True=False |
2024-07-26 21:23:16 +0200 | <lambdabot> | <no location info>: error: |
2024-07-26 21:23:16 +0200 | <lambdabot> | not an expression: ‘let x??y|x=y|y=x|False=True|True=False’ |
2024-07-26 21:23:32 +0200 | <EvanR> | :t let x??y|x=y|y=x|False=True|True=False in (??) |
2024-07-26 21:23:33 +0200 | <lambdabot> | Bool -> Bool -> Bool |
2024-07-26 21:24:04 +0200 | <EvanR> | now it's more symmetric |
2024-07-26 21:25:11 +0200 | <jle`> | it's art |
2024-07-26 21:25:38 +0200 | <mauke> | this sort of thing is exactly how perl got its reputation |
2024-07-26 21:25:43 +0200 | <mauke> | don't do art, kids |
2024-07-26 21:26:39 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2024-07-26 21:27:52 +0200 | <ncf> | x ?? y | x = y | y = x | not x = x | not y = y |
2024-07-26 21:31:08 +0200 | <Inst> | x ?? y | x = y | y = x | unsafeCoerce "profanity" = undefined |
2024-07-26 21:33:37 +0200 | <Inst> | so wait, should unsafeCoerce of any non-empty list result in True when the target type is Bool? |
2024-07-26 21:35:15 +0200 | <mauke> | define "should" |
2024-07-26 21:35:27 +0200 | <mauke> | you're squarely in UB land here |
2024-07-26 21:35:34 +0200 | <Inst> | it sort of says so in the name |
2024-07-26 21:37:17 +0200 | <EvanR> | unsafeShouldWork |
2024-07-26 21:42:14 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2024-07-26 21:44:32 +0200 | <Inst> | hmmm |
2024-07-26 21:44:46 +0200 | <Inst> | also, has anyone tried to do an O'Neill style Sieve of Atkin? |
2024-07-26 21:44:53 +0200 | <Inst> | Not sure if it can be done |
2024-07-26 21:47:10 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2024-07-26 21:48:36 +0200 | gmg | (~user@user/gehmehgeh) |
2024-07-26 21:49:08 +0200 | prolic_ | (~sasa@181.122.138.24) |
2024-07-26 21:49:18 +0200 | jinsun | (~jinsun@user/jinsun) |
2024-07-26 21:49:43 +0200 | <prolic_> | hey folks, I just published the next qt5 demo in haskell: https://github.com/prolic/hsqml-demo-manic |
2024-07-26 21:49:56 +0200 | <jle`> | nice |
2024-07-26 21:52:31 +0200 | gmg | (~user@user/gehmehgeh) (Client Quit) |
2024-07-26 21:54:27 +0200 | infinity0 | (~infinity0@pwned.gg) |
2024-07-26 21:55:06 +0200 | stefior | (~Stefior@c-71-57-237-142.hsd1.pa.comcast.net) (Quit: WeeChat 3.5) |
2024-07-26 21:57:39 +0200 | gmg | (~user@user/gehmehgeh) |
2024-07-26 22:08:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 22:14:10 +0200 | <Hecate> | prolic_: incredible |
2024-07-26 22:14:53 +0200 | <prolic_> | thanks |
2024-07-26 22:17:28 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 22:18:00 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-26 22:21:23 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-07-26 22:22:22 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2024-07-26 22:22:28 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 252 seconds) |
2024-07-26 22:29:23 +0200 | CiaoSen | (~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03) |
2024-07-26 22:34:36 +0200 | foul_owl | (~kerry@185.216.231.179) (Ping timeout: 272 seconds) |
2024-07-26 22:46:21 +0200 | <Hecate> | prolic_: I got a compilation error of hsqml on GHC 9.6.6, where can I open a ticket? It would seem your fork has issues disabled |
2024-07-26 22:46:52 +0200 | foul_owl | (~kerry@174-21-147-232.tukw.qwest.net) |
2024-07-26 22:47:53 +0200 | billchenchina- | (~billchenc@118.38.173.226) (Ping timeout: 265 seconds) |
2024-07-26 22:48:51 +0200 | slack1256 | (~slack1256@2803:c600:5111:80cb:d321:865d:b7ff:34ea) |
2024-07-26 22:49:29 +0200 | <slack1256> | 1/2 Hey guys, quick TH question. How do I quote this name on TH? |
2024-07-26 22:49:37 +0200 | <slack1256> | 2/2 deriveFromJSON (aesonPrefix snakeCase) (''IMAPAccountRequest ''Identity) |
2024-07-26 22:50:05 +0200 | <slack1256> | Obviously ''IMAPAccountRequest ''Identity does not work. It is a HKD |
2024-07-26 22:57:16 +0200 | VedantT | (~VedantT@2603:6000:b500:29a9:ac9a:7661:5229:f762) |
2024-07-26 22:59:52 +0200 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-07-26 23:01:24 +0200 | kimiamania | (~65804703@user/kimiamania) (Quit: PegeLinux) |
2024-07-26 23:01:45 +0200 | kimiamania | (~65804703@user/kimiamania) |
2024-07-26 23:01:54 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-07-26 23:08:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 23:19:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-26 23:30:02 +0200 | <prolic_> | Hecate: https://github.com/prolic/HsQML/issues |
2024-07-26 23:30:56 +0200 | <prolic_> | Hecate: I am using GHC 9.4.8 without issues |
2024-07-26 23:31:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-26 23:32:07 +0200 | oo_miguel | (~Thunderbi@78.10.207.46) (Ping timeout: 252 seconds) |
2024-07-26 23:32:30 +0200 | skyesoss | (~Thunderbi@128.135.204.35) (Ping timeout: 252 seconds) |
2024-07-26 23:33:28 +0200 | skyesoss | (~Thunderbi@128.135.204.35) |
2024-07-26 23:36:28 +0200 | michalz | (~michalz@185.246.207.197) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-07-26 23:44:36 +0200 | VedantT | (~VedantT@2603:6000:b500:29a9:ac9a:7661:5229:f762) (Quit: Client closed) |
2024-07-26 23:50:05 +0200 | <Hecate> | prolic_: <3 |
2024-07-26 23:52:12 +0200 | pavonia | (~user@user/siracusa) |
2024-07-26 23:56:49 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds) |