2022-10-03 00:01:30 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 265 seconds) |
2022-10-03 00:02:17 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 00:02:21 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds) |
2022-10-03 00:06:17 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-10-03 00:10:03 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds) |
2022-10-03 00:13:23 +0200 | kdaishi | (~Thunderbi@mobile-access-bceec1-62.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-10-03 00:13:54 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 00:14:05 +0200 | kdaishi | (~Thunderbi@94.191.136.74.mobile.tre.se) |
2022-10-03 00:14:48 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2022-10-03 00:22:14 +0200 | stackdroid18 | (~stackdroi@user/stackdroid) |
2022-10-03 00:22:36 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
2022-10-03 00:23:44 +0200 | acidjnk_new | (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2022-10-03 00:28:25 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-03 00:35:58 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:509f:aac5:1bc5:5910) (Remote host closed the connection) |
2022-10-03 00:41:16 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-10-03 00:41:18 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:509f:aac5:1bc5:5910) |
2022-10-03 00:42:29 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 00:43:47 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 00:45:04 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Read error: Connection reset by peer) |
2022-10-03 00:46:56 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds) |
2022-10-03 00:50:58 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 00:51:36 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 00:53:21 +0200 | drlkf | (~drlkf@chat.drlkf.net) (Quit: drlkf) |
2022-10-03 00:53:39 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 258 seconds) |
2022-10-03 00:54:11 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
2022-10-03 00:55:36 +0200 | chomwitt | (~chomwitt@2a02:587:dc14:f500:baf8:17de:5af6:42e4) (Ping timeout: 264 seconds) |
2022-10-03 00:59:10 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 00:59:11 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-10-03 01:03:46 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 246 seconds) |
2022-10-03 01:04:09 +0200 | gqplox | (~textual@97e654ef.skybroadband.com) |
2022-10-03 01:04:20 +0200 | <gqplox> | hello |
2022-10-03 01:04:32 +0200 | <geekosaur> | hi |
2022-10-03 01:04:44 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-03 01:04:59 +0200 | <gqplox> | i just started learning haskell, could you give a quick review of my program please? |
2022-10-03 01:05:14 +0200 | <geekosaur> | @where paste |
2022-10-03 01:05:15 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2022-10-03 01:05:34 +0200 | <geekosaur> | it's best not to paste code into the channel, it's hard to follow and harder to reference things |
2022-10-03 01:06:25 +0200 | wonko | (~wjc@2a0e:1c80:11::50) |
2022-10-03 01:06:26 +0200 | <gqplox> | ok great thank you |
2022-10-03 01:06:29 +0200 | <gqplox> | here is my paste |
2022-10-03 01:06:32 +0200 | <gqplox> | https://paste.tomsmeding.com/ezI0M5WK |
2022-10-03 01:06:44 +0200 | <gqplox> | i started this online course harvard cs50 where they each some c |
2022-10-03 01:06:48 +0200 | <ski> | that is C, not Haskell |
2022-10-03 01:06:51 +0200 | <gqplox> | i tried to convert the c program to haskell |
2022-10-03 01:06:54 +0200 | <gqplox> | the second file is haskell |
2022-10-03 01:07:03 +0200 | <gqplox> | i give for reference what im trying to do in first one |
2022-10-03 01:07:04 +0200 | <ski> | hm, ok |
2022-10-03 01:07:07 +0200 | <gqplox> | (sorry if it's not allowed) |
2022-10-03 01:07:27 +0200 | <jackdk> | gqplox: welcome to #haskell. BTW, it is completely fine to ask your question as soon as you join. |
2022-10-03 01:07:42 +0200 | <ski> | what if there's multiple adjacent spaces, for `count_words' ? |
2022-10-03 01:07:50 +0200 | <gqplox> | great, thank you Jack i will keep this in mind |
2022-10-03 01:08:17 +0200 | <ski> | (although i guess the C `count_words' does the same thing) |
2022-10-03 01:08:21 +0200 | <gqplox> | in the problem statement for it they gave some assumptions so it is kind of allowed |
2022-10-03 01:08:49 +0200 | <gqplox> | (i know it's not a very robust program but i just wanted to check quickly that i have the right kind of idea in haskell so far before) |
2022-10-03 01:08:53 +0200 | <ski> | elem c ['!', '?', '.'] |
2022-10-03 01:08:56 +0200 | <ski> | could be written as |
2022-10-03 01:09:10 +0200 | <ski> | c `elem` "!?." |
2022-10-03 01:09:38 +0200 | <gqplox> | oh cool |
2022-10-03 01:09:48 +0200 | <gqplox> | oh yeah because string is just array of chars so it's the same right? |
2022-10-03 01:09:53 +0200 | <jackdk> | (asking straight-up means that you formulate your question clearly before asking, which can help you solve it. It also means that people who wouldn't answer "yes" to questions like "are you an expert at FOO?" might look at it and be able to help for other reasons.) |
2022-10-03 01:10:00 +0200 | <ski> | is there a `typedef char *string;', in `cs50.h' ? |
2022-10-03 01:10:29 +0200 | <ski> | s/array/list/, but yes |
2022-10-03 01:10:41 +0200 | <ski> | (lists in Haskell are (single-)linked lists) |
2022-10-03 01:10:42 +0200 | <gqplox> | yeah probably something like that, this is the second lecture and they introduce pointers/memory management in lecture 4 so the provided some helper things |
2022-10-03 01:10:54 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
2022-10-03 01:10:57 +0200 | <gqplox> | oh right yep thanks |
2022-10-03 01:11:07 +0200 | <jackdk> | The common Haskell style uses camelCase instead of snake_case for function and variable names, so that looks a bit odd to me. |
2022-10-03 01:11:13 +0200 | <gqplox> | ok thanks Jack, next time i'll ask right away |
2022-10-03 01:11:14 +0200 | <ski> | yes |
2022-10-03 01:11:21 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-10-03 01:11:25 +0200 | <gqplox> | Oh right yeah good point, ill change that now |
2022-10-03 01:11:57 +0200 | <probie> | For count_words, you could also use the prelude function `words` (although that will differ in behaviour from your C implementation if there a multiple consecutive spaces |
2022-10-03 01:12:11 +0200 | <probie> | > words "here are some words" |
2022-10-03 01:12:13 +0200 | <lambdabot> | ["here","are","some","words"] |
2022-10-03 01:12:21 +0200 | <ski> | brackets in `calculateColmanLiauIndex' (apart from the ones for `round') are redundant |
2022-10-03 01:12:39 +0200 | <probie> | > length (words "here are some words") |
2022-10-03 01:12:41 +0200 | <lambdabot> | 4 |
2022-10-03 01:13:31 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-03 01:14:12 +0200 | <jackdk> | I'd drop the prefix `calculate_` from `calculate_colman_liau_index`, since it feels like one of those "do nothing" words that turn up in function names. What is a function for, if not to perform calculations? |
2022-10-03 01:14:22 +0200 | <gqplox> | ah nice i've removed the brackets thank you |
2022-10-03 01:14:31 +0200 | <ski> | gqplox : better to use `puts' (or `fputs'), rather than `printf', in `print_reading_level', for the first two calls, since they're not doing formatted printing anyway |
2022-10-03 01:15:19 +0200 | <gqplox> | oh cool i didn't even know about that haha |
2022-10-03 01:15:19 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-10-03 01:15:21 +0200 | <ski> | `string get_string(string prompt);' is also in `cs50.h', i presume |
2022-10-03 01:15:31 +0200 | <gqplox> | yep |
2022-10-03 01:15:35 +0200 | <gqplox> | how do i reply on irc? |
2022-10-03 01:15:44 +0200 | <ski> | (note : `puts' automatically adds a newline at the end. `fputs' doesn't) |
2022-10-03 01:15:48 +0200 | <ski> | just reply |
2022-10-03 01:16:12 +0200 | <gqplox> | when you and jack messaged i see it highlighted |
2022-10-03 01:16:20 +0200 | <ski> | mention the nickname of the person you want to reply to (or reference), if you want. e.g. beginning the message with the nickname, followed by a comma or a colon, and the meat of the message |
2022-10-03 01:16:26 +0200 | <gqplox> | ok cool |
2022-10-03 01:16:33 +0200 | <ski> | that's because we mentioned your nickname |
2022-10-03 01:16:49 +0200 | <gqplox> | jackdk: yes true thanks |
2022-10-03 01:16:53 +0200 | <gqplox> | ah i see |
2022-10-03 01:17:12 +0200 | <gqplox> | cool thank you very much guys for all the help |
2022-10-03 01:17:15 +0200 | <jackdk> | As more of a software design point, I don't know if I'd ever get the arguments to `calculate_colman_liau_index` in the correct order. If you were up to modules in your course, I'd suggest making a separate module with a function `colmanLiauIndex :: String -> Int` and all the word/letter/sentence counting hidden inside |
2022-10-03 01:17:17 +0200 | <ski> | (most IRC clients will highlight/alert the user, in case the chosen nickname is the first thing in the message. not as many will do it, if it occurs later in the message) |
2022-10-03 01:18:09 +0200 | <DigitalKiwi> | i get notified for kiwi |
2022-10-03 01:18:09 +0200 | <jackdk> | I should also add that everything overall is fairly tidy and split up well, and most of what I'm posting are nitpicks |
2022-10-03 01:18:21 +0200 | <gqplox> | ah yes true, I agree that i should hide the implentation details |
2022-10-03 01:18:22 +0200 | <DigitalKiwi> | because i want to know when people are talking about me and not only to me |
2022-10-03 01:18:43 +0200 | <ski> | (and please don't add sigils (like prefixing with `@') to the nickname when referencing it. that would commonly stop the highlighting, in clients in general. also, `@' already meant something else on IRC .. channel operator) |
2022-10-03 01:18:44 +0200 | <jackdk> | `print_grade` should probably get a rename, as it doesn't actually do any printing. |
2022-10-03 01:18:48 +0200 | <geekosaur> | actually I've found those kind of menntions somewhat annoying |
2022-10-03 01:18:53 +0200 | <gqplox> | im currently reading programming in hsakell by Graham Hutton |
2022-10-03 01:19:09 +0200 | <DigitalKiwi> | ...which means i get notifications sometimes and they're talking about kiwi irc but w/e |
2022-10-03 01:19:10 +0200 | <gqplox> | thank you ski for the advice |
2022-10-03 01:19:20 +0200 | <geekosaur> | sometimes it's nice but often it's like "you pinged me at 3am for that?" |
2022-10-03 01:19:25 +0200 | <gqplox> | so far i am on chapter 6 |
2022-10-03 01:19:28 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-03 01:19:28 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-03 01:19:28 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-03 01:19:37 +0200 | <gqplox> | i guess modules and other things will come later |
2022-10-03 01:19:37 +0200 | <DigitalKiwi> | 3am is when i'm awake! |
2022-10-03 01:19:37 +0200 | <ski> | Hutton is nice |
2022-10-03 01:19:50 +0200 | <gqplox> | yes i am finding it good so far |
2022-10-03 01:20:15 +0200 | <geekosaur> | 3am is when everyone else in #xmonad is awake, it often seems 🙂 |
2022-10-03 01:20:50 +0200 | <gqplox> | by the way, are you guys using haskell professionally? |
2022-10-03 01:21:10 +0200 | <gqplox> | so far it seems quite cool but i've only heard about it in an academic context |
2022-10-03 01:21:51 +0200 | <ski> | gqplox : you can use `putStr' and `putStrLn' to actually print `String's (to standard output). there's also a `hFlush stdout' you could use, if you want to flush (when using line-buffering), before a newline (if you want to try to replicate `getString') |
2022-10-03 01:21:59 +0200 | <ski> | and `getLine' will read a line for you |
2022-10-03 01:22:09 +0200 | <ski> | @type putStr |
2022-10-03 01:22:10 +0200 | <lambdabot> | String -> IO () |
2022-10-03 01:22:11 +0200 | <ski> | @type putStrLn |
2022-10-03 01:22:12 +0200 | <lambdabot> | String -> IO () |
2022-10-03 01:22:14 +0200 | <ski> | @type getLine |
2022-10-03 01:22:16 +0200 | <lambdabot> | IO String |
2022-10-03 01:22:25 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::778c) |
2022-10-03 01:22:32 +0200 | <gqplox> | ah cool nice |
2022-10-03 01:23:00 +0200 | <gqplox> | i tried to search about it but it was talking about monads which i i haven't looked at yet |
2022-10-03 01:23:07 +0200 | <ski> | `main' is declared as having type `IO ()' in Haskell (well, technically you could use any type in place of `()' .. but it's ignored anyway, so ..) |
2022-10-03 01:23:36 +0200 | <geekosaur> | don't worry about them for now, worry about IO. (Monad means much less than you think) |
2022-10-03 01:23:38 +0200 | <gqplox> | it's a bit embarrasing i don't know how to make a proper program yet lol, i just do ghci readability.hs |
2022-10-03 01:23:51 +0200 | <gqplox> | but its quite cool |
2022-10-03 01:23:57 +0200 | <ski> | @wiki Introduction to IO |
2022-10-03 01:23:57 +0200 | <lambdabot> | https://wiki.haskell.org/Introduction_to_IO |
2022-10-03 01:24:05 +0200 | <ski> | you could take a glance at that ^ |
2022-10-03 01:24:10 +0200 | <gqplox> | like i can do :e and write my changes and see how it works |
2022-10-03 01:24:11 +0200 | <geekosaur> | @where IO.xhtml |
2022-10-03 01:24:12 +0200 | <lambdabot> | I know nothing about io.xhtml. |
2022-10-03 01:24:19 +0200 | <geekosaur> | @where iotut |
2022-10-03 01:24:19 +0200 | <lambdabot> | https://www.vex.net/~trebla/haskell/IO.xhtml |
2022-10-03 01:24:52 +0200 | <ski> | the interactor is nice to test out things, as you're writing them |
2022-10-03 01:25:18 +0200 | <gqplox> | yeah it's really cool |
2022-10-03 01:26:08 +0200 | <gqplox> | anyway guys I have to go now, thank you very much jack and ski for the help. very friendly introduction to irc :) |
2022-10-03 01:26:16 +0200 | <ski> | feel free to come back later |
2022-10-03 01:26:19 +0200 | <gqplox> | and i shall check out those links |
2022-10-03 01:26:27 +0200 | <gqplox> | i will for sure hahah, i have lots more to learn |
2022-10-03 01:26:28 +0200 | <ski> | to ask questions, or just lurk around, watching what people talk about |
2022-10-03 01:26:47 +0200 | <ski> | also, sometimes the channel is a bit silent. just stick around |
2022-10-03 01:26:48 +0200 | <gqplox> | yes seems like there are lots of knowledgeable people around |
2022-10-03 01:27:00 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 01:27:01 +0200 | <ski> | (you may have to wait to get a reply) |
2022-10-03 01:28:25 +0200 | <gqplox> | ah right, guess i was lucky to get a quick reply today then :) |
2022-10-03 01:28:29 +0200 | <gqplox> | alright goodbye |
2022-10-03 01:28:30 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 01:28:42 +0200 | gqplox | (~textual@97e654ef.skybroadband.com) (Quit: Textual IRC Client: www.textualapp.com) |
2022-10-03 01:29:06 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 01:29:35 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 01:31:40 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 01:32:11 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 01:34:48 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 01:36:12 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 01:40:35 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-10-03 01:41:34 +0200 | vorpuni | (~pvorp@2001:861:3881:c690:a32a:b352:8166:ebb2) (Remote host closed the connection) |
2022-10-03 01:47:20 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 01:47:41 +0200 | doyougnu- | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 01:48:08 +0200 | texasmynsted | (~texasmyns@99.96.221.112) |
2022-10-03 01:48:19 +0200 | kdaishi | (~Thunderbi@94.191.136.74.mobile.tre.se) (Ping timeout: 265 seconds) |
2022-10-03 01:52:11 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
2022-10-03 01:52:52 +0200 | wonko | (~wjc@2a0e:1c80:11::50) (Ping timeout: 268 seconds) |
2022-10-03 01:53:04 +0200 | doyougnu- | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 01:54:35 +0200 | stackdroid18 | (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-10-03 01:58:13 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-03 02:01:43 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-10-03 02:04:03 +0200 | califax | (~califax@user/califx) |
2022-10-03 02:05:27 +0200 | doyougnu- | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 02:08:03 +0200 | Oiyqlk | (~rscastilh@191-214-26-24.user.veloxzone.com.br) () |
2022-10-03 02:08:39 +0200 | doyougnu- | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 02:09:34 +0200 | doyougnu- | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 02:11:57 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:509f:aac5:1bc5:5910) (Remote host closed the connection) |
2022-10-03 02:15:10 +0200 | beteigeuze1 | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) |
2022-10-03 02:15:56 +0200 | moonsheep | (~user@user/moonsheep) |
2022-10-03 02:16:21 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 265 seconds) |
2022-10-03 02:16:49 +0200 | <moonsheep> | what's the best approach to get a cereal/binary-like Get/Put class that uses attoparsec for getting? |
2022-10-03 02:16:50 +0200 | doyougnu- | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 265 seconds) |
2022-10-03 02:16:54 +0200 | <moonsheep> | do I have to roll my own put monad? |
2022-10-03 02:17:01 +0200 | beteigeuze | (~Thunderbi@89.187.168.55) (Ping timeout: 260 seconds) |
2022-10-03 02:17:02 +0200 | beteigeuze1 | beteigeuze |
2022-10-03 02:17:34 +0200 | <moonsheep> | am I forced to do something like https://paste.tomsmeding.com/eFlfgbl9 ? |
2022-10-03 02:18:11 +0200 | <moonsheep> | incremental parsing is critical, so I definitely want to use attoparsec |
2022-10-03 02:20:22 +0200 | <_73> | When would you reccomend using a type alias vs a simple wrapper type? For example why might I prefer "data Foo = Foo String" vs "type Foo = String"? |
2022-10-03 02:20:37 +0200 | <jackdk> | moonsheep: I generally recommend against serialisation typeclasses because I have often caused/debugged bugs where a change to a data type has silently broken parsing or printing. I also think they took root before the contravariant functor hierarchy became well-established. What goal do you have in mind for the typeclass here? |
2022-10-03 02:21:19 +0200 | <moonsheep> | I have no idea what the "contravariant functor hierarchy" is, is it worth looking into? |
2022-10-03 02:21:29 +0200 | <moonsheep> | my goal is to parse a TCP stream in real time |
2022-10-03 02:21:55 +0200 | <jackdk> | _73: I almost always go for a `newtype` over a type alias, because it's caught so many bugs IME. A type alias only makes sense to me when I want to specifically expose the details of the type to whoever is interested. |
2022-10-03 02:22:12 +0200 | <ski> | _73 : `newtype's can have instances |
2022-10-03 02:22:17 +0200 | <jackdk> | also that |
2022-10-03 02:22:26 +0200 | <moonsheep> | can't you use TypeSnonymInstances? |
2022-10-03 02:22:26 +0200 | <ski> | (or `data') |
2022-10-03 02:22:45 +0200 | <ski> | may still run into overlapping issues |
2022-10-03 02:22:50 +0200 | <moonsheep> | true |
2022-10-03 02:22:55 +0200 | <moonsheep> | saved my ass a few times thouggh |
2022-10-03 02:23:07 +0200 | <_73> | Ok, right a newtype basically works like my "data Foo = Foo String" example but is optimized away, correct? |
2022-10-03 02:23:09 +0200 | <ski> | restricted type synonyms (like in Hugs) would be nice to have in GHC |
2022-10-03 02:23:21 +0200 | <ski> | _73 : more or less, yes |
2022-10-03 02:23:33 +0200 | <_73> | Ok got it |
2022-10-03 02:23:38 +0200 | <jackdk> | moonsheep: The contravariant hierarchy are the typeclasses that are dual to Functor/Applicative/Alternative. Instead of producing `a`s, they consume `a`s and can be an interesting way of specifying pretty-printers https://www.youtube.com/watch?v=IJ_bVVsQhvc if you are interested |
2022-10-03 02:24:06 +0200 | <moonsheep> | huh, interesting |
2022-10-03 02:24:19 +0200 | <moonsheep> | how are they relevant to serializing type classess though? |
2022-10-03 02:24:30 +0200 | <jackdk> | moonsheep: If your goal is only to parse a TCP stream into a particular type, and you do not need to render out the same structure back into raw bytes, I would not worry about a serialisation typeclass and write a parser directly |
2022-10-03 02:25:08 +0200 | <moonsheep> | oh yeah my bad, I do need to render out the same structure |
2022-10-03 02:25:12 +0200 | <moonsheep> | it's a bidirectional thing |
2022-10-03 02:25:16 +0200 | <moonsheep> | two clients communciating as equals |
2022-10-03 02:26:20 +0200 | <jackdk> | moonsheep: I feel like the reason that serialisation typeclasses became popular in Haskell libraries is that there wasn't really a good story for printing to complement parsing (this is uninformed speculation). I find contravariant functors can be useful when describing encoders for larger data types. |
2022-10-03 02:26:31 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) |
2022-10-03 02:26:33 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:509f:aac5:1bc5:5910) |
2022-10-03 02:27:03 +0200 | <moonsheep> | hmm, will look into them thanks |
2022-10-03 02:27:38 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 02:28:04 +0200 | <jackdk> | moonsheep: An alternative answer is "just write functions". If you have a function `toBytes :: YourType -> ByteStream m ()` (or whatever streaming library you prefer), and a parser `parseYourType :: Parser YourType`, you are basically done. |
2022-10-03 02:28:24 +0200 | <moonsheep> | yeah I was fearing that answer :p |
2022-10-03 02:28:33 +0200 | <jackdk> | moonsheep: why fearing? |
2022-10-03 02:28:35 +0200 | <moonsheep> | I may actually end up doing that |
2022-10-03 02:28:42 +0200 | <moonsheep> | jackdk: well, mostly for verbosity reasons |
2022-10-03 02:29:05 +0200 | <moonsheep> | in my head it's nice for things to be separated and interfaced with with a consistent interface |
2022-10-03 02:29:21 +0200 | <moonsheep> | instead of having to remember a whole bunch of names (even with a consistent naming scheme) |
2022-10-03 02:29:29 +0200 | <moonsheep> | but oh well |
2022-10-03 02:30:13 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
2022-10-03 02:30:15 +0200 | <jackdk> | I should also point out that cereal at least has an incremental interface in Data.Serialize.Get |
2022-10-03 02:30:32 +0200 | <moonsheep> | oh I didn't know that |
2022-10-03 02:30:47 +0200 | <moonsheep> | I've already been sold on attoparsec though |
2022-10-03 02:30:59 +0200 | <jackdk> | But attoparsec is also pretty great. |
2022-10-03 02:31:19 +0200 | <moonsheep> | yeah, never noticed that sneaky `runGetPartial' |
2022-10-03 02:31:57 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-03 02:32:47 +0200 | <jackdk> | The other thing you can mess around with is bundling the parser and prettyprinter together into a profunctor, but that does feel a bit unergonomic. I've been meaning to PR product-profunctors for a couple of years now :| |
2022-10-03 02:33:31 +0200 | <moonsheep> | hmm that's an interesting idea |
2022-10-03 02:34:23 +0200 | <moonsheep> | how does it feel "unergonomic"? |
2022-10-03 02:35:16 +0200 | <EvanR> | it sounds like you aren't even trying to produce the parser and the unparser from the same code |
2022-10-03 02:36:05 +0200 | <jackdk> | https://github.com/tomjaguarpaw/product-profunctors/pull/54#issuecomment-754205222 sort of things |
2022-10-03 02:36:31 +0200 | <moonsheep> | so sort of missing the point of it entirely? |
2022-10-03 02:36:35 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) |
2022-10-03 02:37:39 +0200 | Guest1698 | (~Guest1698@20.83.116.49) (Remote host closed the connection) |
2022-10-03 02:38:06 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 02:38:18 +0200 | <EvanR> | if you are worried about verbosity and repeating yourself, then generating the parser and unparser from the same data structure thing sounds like a cromulent rabbit hole |
2022-10-03 02:38:55 +0200 | Guest1698 | (~Guest1698@20.83.116.49) |
2022-10-03 02:39:03 +0200 | <moonsheep> | yeah that's prolly worth looking into |
2022-10-03 02:39:20 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 02:40:23 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Ping timeout: 252 seconds) |
2022-10-03 02:41:51 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) (Ping timeout: 252 seconds) |
2022-10-03 02:43:41 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 02:46:44 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 02:48:34 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-10-03 02:50:43 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
2022-10-03 02:51:01 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 02:51:45 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-03 02:52:39 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 02:53:34 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
2022-10-03 02:56:53 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 02:59:29 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 03:06:06 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 03:07:50 +0200 | xff0x | (~xff0x@2405:6580:b080:900:b7c1:3130:710b:2a7f) (Ping timeout: 244 seconds) |
2022-10-03 03:08:37 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-10-03 03:10:58 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 03:11:17 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-10-03 03:11:52 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-10-03 03:12:22 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 03:18:10 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
2022-10-03 03:20:24 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 03:20:34 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-03 03:20:49 +0200 | moonsheep | (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)) |
2022-10-03 03:21:36 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 03:22:51 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
2022-10-03 03:26:26 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 03:27:48 +0200 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 268 seconds) |
2022-10-03 03:27:49 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 03:28:04 +0200 | cods | (~fred@82-65-232-44.subs.proxad.net) |
2022-10-03 03:31:26 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds) |
2022-10-03 03:32:43 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 03:33:46 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 03:37:00 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 268 seconds) |
2022-10-03 03:38:19 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 03:39:39 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 03:40:45 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) (Ping timeout: 250 seconds) |
2022-10-03 03:43:14 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
2022-10-03 03:45:43 +0200 | macabre | elevenfingercrea |
2022-10-03 03:45:52 +0200 | elevenfingercrea | bitterqueso |
2022-10-03 03:47:41 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-10-03 03:50:43 +0200 | bitterqueso | (~m@161.35.15.236) (Quit: The Lounge - https://thelounge.chat) |
2022-10-03 03:51:28 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-10-03 03:52:55 +0200 | _73 | (~user@pool-173-76-236-42.bstnma.fios.verizon.net) (Remote host closed the connection) |
2022-10-03 03:59:18 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 04:00:24 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2022-10-03 04:06:04 +0200 | ddellacosta | (~ddellacos@143.244.47.77) (Ping timeout: 265 seconds) |
2022-10-03 04:07:42 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 04:07:53 +0200 | ddellacosta | (~ddellacos@89.45.224.218) |
2022-10-03 04:08:28 +0200 | mixphix | (~cigsender@99.208.33.70) |
2022-10-03 04:10:11 +0200 | td_ | (~td@94.134.91.231) (Ping timeout: 260 seconds) |
2022-10-03 04:11:52 +0200 | td_ | (~td@94.134.91.118) |
2022-10-03 04:14:59 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-10-03 04:24:03 +0200 | mmhat | (~mmh@p200300f1c70623b9ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6) |
2022-10-03 04:31:40 +0200 | mixphix | (~cigsender@99.208.33.70) (Ping timeout: 246 seconds) |
2022-10-03 04:36:26 +0200 | berberman | (~berberman@user/berberman) |
2022-10-03 04:39:54 +0200 | texasmynsted | (~texasmyns@99.96.221.112) (Ping timeout: 265 seconds) |
2022-10-03 04:41:38 +0200 | mixphix | (~cigsender@99.208.33.70) |
2022-10-03 04:43:32 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2022-10-03 04:44:54 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2022-10-03 04:45:47 +0200 | mixphix | (~cigsender@99.208.33.70) (Ping timeout: 252 seconds) |
2022-10-03 04:51:42 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-10-03 04:56:23 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
2022-10-03 04:56:40 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) |
2022-10-03 05:01:53 +0200 | mixphix | (~cigsender@99.208.33.70) |
2022-10-03 05:04:17 +0200 | fouine | (~nobody@5.1.66.3) |
2022-10-03 05:06:19 +0200 | mixphix | (~cigsender@99.208.33.70) (Ping timeout: 252 seconds) |
2022-10-03 05:15:25 +0200 | fouine | (~nobody@5.1.66.3) (Ping timeout: 246 seconds) |
2022-10-03 05:16:22 +0200 | fouine | (~nobody@5.1.66.3) |
2022-10-03 05:19:51 +0200 | rembo10 | (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-10-03 05:21:48 +0200 | causal | (~user@50.35.83.177) |
2022-10-03 05:22:00 +0200 | rembo10 | (~rembo10@main.remulis.com) |
2022-10-03 05:31:58 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 05:35:32 +0200 | mixphix | (~cigsender@174.91.129.69) |
2022-10-03 05:37:07 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 248 seconds) |
2022-10-03 05:40:19 +0200 | mixphix | (~cigsender@174.91.129.69) (Ping timeout: 265 seconds) |
2022-10-03 05:41:41 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 05:45:19 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
2022-10-03 05:46:36 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
2022-10-03 05:55:30 +0200 | edrx | (~Eduardo@2804:56c:d2d3:4800:cf7d:b421:4c3a:392e) (Killed buffer) |
2022-10-03 06:01:44 +0200 | fouine | (~nobody@5.1.66.3) (Quit: leaving) |
2022-10-03 06:04:10 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-10-03 06:05:07 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-03 06:05:07 +0200 | ddellacosta | (~ddellacos@89.45.224.218) (Ping timeout: 246 seconds) |
2022-10-03 06:32:36 +0200 | bilegeek | (~bilegeek@2600:1008:b018:1dfc:44e1:aaa5:595f:8e17) |
2022-10-03 06:33:46 +0200 | mbuf | (~Shakthi@49.204.130.86) |
2022-10-03 06:34:31 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 246 seconds) |
2022-10-03 06:36:51 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 248 seconds) |
2022-10-03 06:41:31 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 06:43:04 +0200 | mbuf | (~Shakthi@49.204.130.86) (Remote host closed the connection) |
2022-10-03 06:44:17 +0200 | mbuf | (~Shakthi@49.204.130.86) |
2022-10-03 06:46:03 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 06:47:09 +0200 | mbuf | (~Shakthi@49.204.130.86) (Remote host closed the connection) |
2022-10-03 06:49:51 +0200 | mbuf | (~Shakthi@49.204.130.86) |
2022-10-03 06:50:13 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 06:56:41 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds) |
2022-10-03 06:58:25 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 07:00:42 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 07:02:33 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-03 07:03:17 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-10-03 07:06:51 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 07:11:42 +0200 | raym | (~aritra@user/raym) (Quit: afk for a while) |
2022-10-03 07:13:45 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-10-03 07:14:06 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-03 07:14:46 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
2022-10-03 07:17:31 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 07:18:36 +0200 | chomwitt | (~chomwitt@2a02:587:dc14:f500:4be8:104:55e3:55fc) |
2022-10-03 07:21:45 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 250 seconds) |
2022-10-03 07:28:15 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 07:34:45 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-10-03 07:37:44 +0200 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2022-10-03 07:49:22 +0200 | <Square> | Is there some easy short hand for :: a -> (a -> b) -> (a,b) ? |
2022-10-03 07:49:50 +0200 | <Square> | (or arguments flipped) |
2022-10-03 07:51:16 +0200 | <Square> | would be neat in combination with point syntax |
2022-10-03 07:53:15 +0200 | <jackdk> | @djinn a -> (a -> b) -> (a, b) |
2022-10-03 07:53:16 +0200 | <lambdabot> | f a b = (a, b a) |
2022-10-03 07:53:28 +0200 | <jackdk> | @pl \f a b -> (a, b a) |
2022-10-03 07:53:29 +0200 | <lambdabot> | const (liftM2 (.) (,) (flip id)) |
2022-10-03 07:53:37 +0200 | <dolio> | :t ap (,) |
2022-10-03 07:53:39 +0200 | <lambdabot> | (a1 -> a2) -> a1 -> (a1, a2) |
2022-10-03 07:54:20 +0200 | <Square> | thanks guys |
2022-10-03 07:56:05 +0200 | shapr | (~user@68.54.166.125) (Ping timeout: 252 seconds) |
2022-10-03 07:56:07 +0200 | <EvanR> | let easyShorthandRenameThisThough x f = (x, f x) |
2022-10-03 07:56:11 +0200 | <EvanR> | in |
2022-10-03 07:56:59 +0200 | king_gs | (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5) |
2022-10-03 07:57:48 +0200 | <Square> | yeah, probably better. Just thought it could be a common function lurking in base somewhere |
2022-10-03 07:58:58 +0200 | <EvanR> | like I said when trying to learn music, there's only so many songs xD |
2022-10-03 07:59:17 +0200 | <EvanR> | combinatorially speaking |
2022-10-03 07:59:43 +0200 | <EvanR> | https://hackage.haskell.org/package/data-aviary |
2022-10-03 08:02:04 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 08:02:39 +0200 | gmg | (~user@user/gehmehgeh) |
2022-10-03 08:03:02 +0200 | michalz | (~michalz@185.246.207.197) |
2022-10-03 08:04:24 +0200 | <Square> | EvanR, haha. I plead guilty |
2022-10-03 08:04:41 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-03 08:04:45 +0200 | king_gs | (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5) (Quit: king_gs) |
2022-10-03 08:05:09 +0200 | <jackdk> | Square: it's `toSnd` in relude |
2022-10-03 08:05:28 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Quit: xff0x) |
2022-10-03 08:06:01 +0200 | <Square> | jackdk, hmm. I should look into alternate preludes one day. |
2022-10-03 08:06:46 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 08:06:56 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-10-03 08:07:24 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2022-10-03 08:10:17 +0200 | <jackdk> | only if you're not writing libraries ;-) |
2022-10-03 08:10:17 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 250 seconds) |
2022-10-03 08:10:45 +0200 | king_gs | (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5) |
2022-10-03 08:11:18 +0200 | <chreekat> | > \ f -> id &&& f |
2022-10-03 08:11:20 +0200 | <lambdabot> | error: |
2022-10-03 08:11:20 +0200 | <lambdabot> | • No instance for (Typeable b0) |
2022-10-03 08:11:20 +0200 | <lambdabot> | arising from a use of ‘show_M78487517099835316738’ |
2022-10-03 08:11:34 +0200 | <chreekat> | or :t or whatever :P |
2022-10-03 08:12:50 +0200 | <jackdk> | :t (id &&&) |
2022-10-03 08:12:52 +0200 | <lambdabot> | (b -> c') -> b -> (b, c') |
2022-10-03 08:15:45 +0200 | <chreekat> | but EvanR's solution is best imo |
2022-10-03 08:15:51 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 08:16:12 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-10-03 08:34:28 +0200 | berberman | (~berberman@user/berberman) |
2022-10-03 08:34:35 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-03 08:38:47 +0200 | <ski> | Square : `(id &&&)' |
2022-10-03 08:39:16 +0200 | <ski> | (i sometimes call this `graph'. and `cograph = (||| id)') |
2022-10-03 08:40:03 +0200 | <Square> | ski, thanks. Where is &&& defined? |
2022-10-03 08:40:09 +0200 | <ski> | oh. chreekat already mentioned |
2022-10-03 08:40:24 +0200 | edr | (~edr@user/edr) (Quit: ZNC 1.6.5 - http://znc.in) |
2022-10-03 08:40:31 +0200 | <ski> | well, `Control.Array'. or `Data.Profunctor' |
2022-10-03 08:40:36 +0200 | <Square> | gotcha |
2022-10-03 08:40:42 +0200 | <ski> | and `id' can be `Control.Category.id' |
2022-10-03 08:41:11 +0200 | <ski> | (or `Control.Arrow.arr Prelude.id', if you prefer ..) |
2022-10-03 08:41:31 +0200 | <ski> | er, s/Array/Arrow/ |
2022-10-03 08:41:45 +0200 | <Square> | There's many ways to do the same thing. =D |
2022-10-03 08:44:04 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2022-10-03 08:44:49 +0200 | <ski> | @type (Control.Category.id &&&) |
2022-10-03 08:44:51 +0200 | <lambdabot> | Arrow a => a c c' -> a c (c, c') |
2022-10-03 08:44:52 +0200 | <ski> | @type (||| Control.Category.id) |
2022-10-03 08:44:54 +0200 | <lambdabot> | ArrowChoice a => a b d -> a (Either b d) d |
2022-10-03 08:49:12 +0200 | <ski> | `id &&& f' is the graph of `f', in the sense of the graph of a function. (being a subset (represented as a monomorphism) of the cartesian product of the domain and the codomain. iow, a relation between the domain and the codomain) |
2022-10-03 08:51:54 +0200 | <ski> | `f ||| id' is the cograph of `f'. think of a table listing corresponding pairs of inputs and outputs of `f'. this is rendered as a quotient of (represented as an epimorphism from) the disjoint sum of the domain and the codomain. (a "corelation" between the domain and the codomain) |
2022-10-03 08:56:45 +0200 | zeenk | (~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) |
2022-10-03 08:57:34 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-10-03 09:00:07 +0200 | Inst | (~Liam@172.109.205.98) (Read error: Connection reset by peer) |
2022-10-03 09:01:39 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:3719:5feb:ad96:c94f) |
2022-10-03 09:05:47 +0200 | k8yun__ | (~k8yun@user/k8yun) |
2022-10-03 09:06:58 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds) |
2022-10-03 09:07:38 +0200 | phma | (phma@2001:5b0:212a:9038:ee27:41c9:caf6:d84c) (Read error: Connection reset by peer) |
2022-10-03 09:07:40 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a724c70b3a6de12c0bf.dip0.t-ipconnect.de) |
2022-10-03 09:09:03 +0200 | k8yun_ | (~k8yun@user/k8yun) (Ping timeout: 252 seconds) |
2022-10-03 09:09:25 +0200 | phma | (phma@2001:5b0:211f:2ab8:24ce:9e74:707e:f3b4) |
2022-10-03 09:10:05 +0200 | king_gs | (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5) (Ping timeout: 268 seconds) |
2022-10-03 09:10:49 +0200 | k8yun__ | (~k8yun@user/k8yun) (Ping timeout: 268 seconds) |
2022-10-03 09:14:10 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 09:16:13 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-03 09:18:19 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds) |
2022-10-03 09:19:20 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-03 09:19:34 +0200 | jonathanx | (~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) |
2022-10-03 09:28:53 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 09:31:57 +0200 | jargon | (~jargon@184.101.88.60) (Remote host closed the connection) |
2022-10-03 09:38:01 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 260 seconds) |
2022-10-03 09:38:28 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 09:39:24 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 264 seconds) |
2022-10-03 09:40:46 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-03 09:43:17 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 09:43:29 +0200 | bilegeek | (~bilegeek@2600:1008:b018:1dfc:44e1:aaa5:595f:8e17) (Quit: Leaving) |
2022-10-03 09:53:01 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2022-10-03 09:53:53 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) |
2022-10-03 09:54:31 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 09:55:21 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 09:55:56 +0200 | nschoe | (~quassel@141.101.51.197) |
2022-10-03 09:57:38 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-03 10:00:50 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 265 seconds) |
2022-10-03 10:02:12 +0200 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
2022-10-03 10:04:44 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 10:07:29 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) |
2022-10-03 10:08:14 +0200 | titibandit | (~titibandi@xdsl-89-0-65-2.nc.de) |
2022-10-03 10:10:44 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 10:14:01 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-10-03 10:15:05 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 250 seconds) |
2022-10-03 10:17:15 +0200 | frost | (~frost@user/frost) |
2022-10-03 10:17:29 +0200 | razetime | (~quassel@117.193.7.104) |
2022-10-03 10:36:05 +0200 | berberman | (~berberman@user/berberman) |
2022-10-03 10:41:05 +0200 | chimp_ | (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) |
2022-10-03 10:43:00 +0200 | Psybur | (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Ping timeout: 264 seconds) |
2022-10-03 10:43:48 +0200 | waldo | (~waldo@user/waldo) |
2022-10-03 10:44:30 +0200 | MajorBiscuit | (~MajorBisc@145.94.170.80) |
2022-10-03 10:50:48 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:509f:aac5:1bc5:5910) (Remote host closed the connection) |
2022-10-03 11:00:10 +0200 | sjanssen | (~sjanssenm@2001:470:69fc:105::1:61d8) (Quit: You have been kicked for being idle) |
2022-10-03 11:00:10 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 11:00:21 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 11:02:36 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2022-10-03 11:04:56 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-03 11:05:18 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 11:08:39 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection) |
2022-10-03 11:08:52 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2022-10-03 11:09:04 +0200 | fef | (~thedawn@user/thedawn) |
2022-10-03 11:14:26 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-10-03 11:21:17 +0200 | aku_ | aku |
2022-10-03 11:24:25 +0200 | waldo | (~waldo@user/waldo) (Ping timeout: 268 seconds) |
2022-10-03 11:25:14 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-10-03 11:32:45 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-03 11:34:50 +0200 | waldo | (~waldo@user/waldo) |
2022-10-03 11:44:37 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a724c70b3a6de12c0bf.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-10-03 11:51:18 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) |
2022-10-03 11:55:47 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) (Ping timeout: 248 seconds) |
2022-10-03 11:56:24 +0200 | wonko | (~wjc@2a0e:1c80:11::50) |
2022-10-03 11:57:37 +0200 | xerox__ | xerox |
2022-10-03 11:58:39 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds) |
2022-10-03 11:58:46 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2022-10-03 12:09:21 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) |
2022-10-03 12:10:49 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-03 12:13:18 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 12:13:32 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-03 12:17:08 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a724c70b3a6de12c0bf.dip0.t-ipconnect.de) |
2022-10-03 12:17:51 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds) |
2022-10-03 12:24:55 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds) |
2022-10-03 12:27:27 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 268 seconds) |
2022-10-03 12:38:39 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 12:39:32 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-03 12:42:38 +0200 | xerox | edi |
2022-10-03 12:43:11 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 12:44:55 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-10-03 12:45:30 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2022-10-03 13:00:23 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-03 13:01:32 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 13:02:41 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-10-03 13:03:06 +0200 | lys | rosalind |
2022-10-03 13:03:24 +0200 | mmhat | (~mmh@p200300f1c70623b9ee086bfffe095315.dip0.t-ipconnect.de) |
2022-10-03 13:05:16 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 13:06:14 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 13:09:20 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) (Ping timeout: 265 seconds) |
2022-10-03 13:09:34 +0200 | rosalind | lys |
2022-10-03 13:12:11 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2022-10-03 13:12:15 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 13:14:09 +0200 | waldo | (~waldo@user/waldo) (Quit: quit) |
2022-10-03 13:25:06 +0200 | berberman | (~berberman@user/berberman) |
2022-10-03 13:26:30 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-10-03 13:27:27 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) (Quit: beteigeuze) |
2022-10-03 13:27:43 +0200 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
2022-10-03 13:28:56 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-10-03 13:34:58 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2022-10-03 13:39:23 +0200 | lyle | (~lyle@104.246.145.85) |
2022-10-03 13:40:06 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a724c70b3a6de12c0bf.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-10-03 13:50:40 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 13:52:46 +0200 | waldo | (~waldo@user/waldo) |
2022-10-03 13:53:17 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-10-03 13:55:15 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 248 seconds) |
2022-10-03 13:56:11 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) |
2022-10-03 14:00:13 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 14:00:34 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-03 14:00:45 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a724c70b3a6de12c0bf.dip0.t-ipconnect.de) |
2022-10-03 14:00:46 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) (Quit: Song continued) |
2022-10-03 14:02:37 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) (Quit: kdaishi) |
2022-10-03 14:02:51 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) |
2022-10-03 14:04:48 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 14:06:22 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
2022-10-03 14:07:36 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 264 seconds) |
2022-10-03 14:08:10 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-03 14:09:16 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 260 seconds) |
2022-10-03 14:09:59 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) |
2022-10-03 14:11:40 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 14:13:24 +0200 | titibandit | (~titibandi@xdsl-89-0-65-2.nc.de) (Quit: Leaving.) |
2022-10-03 14:14:46 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-10-03 14:16:13 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2022-10-03 14:19:14 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-03 14:19:20 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-10-03 14:20:48 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 14:22:18 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection) |
2022-10-03 14:22:51 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-03 14:23:08 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection) |
2022-10-03 14:23:36 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-03 14:23:48 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-10-03 14:23:52 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2022-10-03 14:25:07 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 250 seconds) |
2022-10-03 14:27:10 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
2022-10-03 14:27:33 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2022-10-03 14:28:31 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 260 seconds) |
2022-10-03 14:28:35 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-10-03 14:31:31 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 14:43:05 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-03 14:48:01 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 14:53:37 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-03 14:57:41 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 14:58:23 +0200 | abiss27 | (~abiss27@user/abiss) |
2022-10-03 14:59:09 +0200 | <juri_> | is anyone around who really knows their quickcheck? I'm looking for a way to perform statistical analysis of my tests that are failing due to math reasons. idealy, i'd like my property test to be able to return a string, along with the bool(result), and have all of these strings for the test run dumped.. somewhere. |
2022-10-03 15:00:01 +0200 | razetime | (~quassel@117.193.7.104) (Ping timeout: 265 seconds) |
2022-10-03 15:00:14 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 15:00:19 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) (Ping timeout: 252 seconds) |
2022-10-03 15:01:43 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 15:03:58 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) |
2022-10-03 15:05:15 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-03 15:05:57 +0200 | lys | rosalind |
2022-10-03 15:06:26 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-03 15:06:59 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) (Client Quit) |
2022-10-03 15:07:07 +0200 | razetime | (~quassel@117.193.0.127) |
2022-10-03 15:07:18 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) |
2022-10-03 15:07:39 +0200 | rosalind | lys |
2022-10-03 15:08:31 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2022-10-03 15:08:35 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Remote host closed the connection) |
2022-10-03 15:08:59 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 15:09:21 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 15:10:37 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-03 15:17:48 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2022-10-03 15:17:53 +0200 | moonsheep | (~user@user/moonsheep) |
2022-10-03 15:18:05 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-03 15:18:12 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 15:18:32 +0200 | <moonsheep> | what is my best bet if I want an encrypted ACID embedded database? |
2022-10-03 15:18:40 +0200 | <moonsheep> | sqlite and acid-state both seem to use their own disk writing code |
2022-10-03 15:18:46 +0200 | <moonsheep> | am I forced to roll my own? |
2022-10-03 15:18:54 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 15:20:27 +0200 | <dr_merijn> | moonsheep: Definitely don't use acid-state |
2022-10-03 15:20:39 +0200 | <geekosaur> | acid-state is misnamed |
2022-10-03 15:20:40 +0200 | <dr_merijn> | moonsheep: FYI, you can implement custom backends for sqlite |
2022-10-03 15:20:43 +0200 | <geekosaur> | at best |
2022-10-03 15:21:08 +0200 | <moonsheep> | dr_merijn: you can? |
2022-10-03 15:21:09 +0200 | <dr_merijn> | moonsheep: So you can probably implement an encrypted writer for sqlite and swap it in |
2022-10-03 15:21:21 +0200 | <moonsheep> | I found an sqlite plugin for encryption but it seems to be prorpietary |
2022-10-03 15:21:44 +0200 | <moonsheep> | this? https://sqlite.org/forum/forumpost/e80a4afe1b?t=c&unf |
2022-10-03 15:22:03 +0200 | <moonsheep> | geekosaur: what's wrong with acid-state? |
2022-10-03 15:22:04 +0200 | <dr_merijn> | moonsheep: https://sqlite.org/vfs.html |
2022-10-03 15:22:05 +0200 | <geekosaur> | you may be doing it wrong anyway if this is still your chat platform. isn't the big thing end-to-end encryption, such that you would be storing encrypted blobs you don't have the key to? |
2022-10-03 15:22:25 +0200 | <moonsheep> | no the encryption is for storing private keys and logs and stuff |
2022-10-03 15:22:30 +0200 | <moonsheep> | nothing to do with the network stuff |
2022-10-03 15:22:32 +0200 | <dr_merijn> | moonsheep: sqlite is implemented on top of a VFS (virtual filesystem), you can write your own (encrypted) VFS implementation and tell it to use that |
2022-10-03 15:22:38 +0200 | <moonsheep> | oh good to know |
2022-10-03 15:22:58 +0200 | <dr_merijn> | Someone implemented a HTTP range query based VFS to host SQLite db on github and run queries from sqlite running inside JS :p |
2022-10-03 15:23:01 +0200 | <geekosaur> | dr_merijn and others know more about acid-state than I do, I just know it's not very ACID |
2022-10-03 15:23:12 +0200 | <moonsheep> | dr_merijn: oh god damn |
2022-10-03 15:23:16 +0200 | <dr_merijn> | I'm sure "encrypted filesystem interaction" is trivial in comparison |
2022-10-03 15:23:24 +0200 | Topsi | (~Topsi@dyndsl-095-033-018-041.ewe-ip-backbone.de) |
2022-10-03 15:23:36 +0200 | <dr_merijn> | ACID state is very much not acid, yeah |
2022-10-03 15:23:42 +0200 | <moonsheep> | why is that? |
2022-10-03 15:24:07 +0200 | <moonsheep> | it claims to "get stronger ACID guarantees than most RDBMS offer" |
2022-10-03 15:24:12 +0200 | <moonsheep> | is that just a filthy lie? |
2022-10-03 15:24:29 +0200 | <dr_merijn> | There's multiple data corruption issues last time I checked |
2022-10-03 15:24:50 +0200 | <moonsheep> | oh that's not good |
2022-10-03 15:25:10 +0200 | <moonsheep> | is that a design flaw, or is the implementation just bad? |
2022-10-03 15:25:58 +0200 | <dr_merijn> | I was very excited about it at first, but they don't really *seriously* test for robustness against corruption |
2022-10-03 15:26:10 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds) |
2022-10-03 15:26:18 +0200 | <dr_merijn> | So the implementation quality overall is just a bit meh and kinda optimistic |
2022-10-03 15:26:33 +0200 | <Athas> | moonsheep: https://gist.github.com/parsonsmatt/6b747d3020c4a4ac43b6580b65392a23 |
2022-10-03 15:26:36 +0200 | <moonsheep> | oh alright, will keep that in mind |
2022-10-03 15:26:41 +0200 | <dr_merijn> | i.e. it's acid, as long as "random power failures and random process kills aren't in your threat model" |
2022-10-03 15:27:15 +0200 | <moonsheep> | I mean, almost anything is acid as long as those conditions hold |
2022-10-03 15:27:34 +0200 | <dr_merijn> | ah, yeah, I was looking for the ticket linked in Athas' link |
2022-10-03 15:27:51 +0200 | <moonsheep> | alright, acid-state is off-limits then |
2022-10-03 15:28:19 +0200 | <dr_merijn> | moonsheep: Also, having extensively used SQLite for a while now, I just think that SQLite is just *wildly* underrated and my only regrets about sqlite are 1) going through persistent and 2) not using more of it and earlier in my project :p |
2022-10-03 15:29:11 +0200 | <dr_merijn> | The documentation of SQLite is excellent, the extensibility is amazing, and overall it's just "best" for anything that's "embedded/single process database-y things" |
2022-10-03 15:29:11 +0200 | <moonsheep> | ah I was planning to use beam instead of persistent |
2022-10-03 15:29:16 +0200 | <moonsheep> | I have slightly more experience with it |
2022-10-03 15:29:28 +0200 | <moonsheep> | dr_merijn: damn you sold me on sqlite |
2022-10-03 15:29:28 +0200 | <dr_merijn> | moonsheep: tbh, I'd just go with sqlite-simple if I had to do things again |
2022-10-03 15:29:39 +0200 | <moonsheep> | yeah that's fair |
2022-10-03 15:29:49 +0200 | <moonsheep> | may do that actually |
2022-10-03 15:30:01 +0200 | <dr_merijn> | I didn't because I wasn't very comfortable with SQL when I started |
2022-10-03 15:30:17 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-03 15:30:25 +0200 | <moonsheep> | I think I'm more comfortable with SQL than beam's DSL so that should be fine hopefully |
2022-10-03 15:30:48 +0200 | <dr_merijn> | moonsheep: sqlite also has the advantage that extending it with custom functions is pretty easy |
2022-10-03 15:30:56 +0200 | <moonsheep> | yeah I was just reading about that |
2022-10-03 15:31:15 +0200 | <moonsheep> | https://sqlite.org/vfs.html does that mean I'll have to implement a separate encrypted vfs for linux and windows? |
2022-10-03 15:31:30 +0200 | <dr_merijn> | moonsheep: I wrote a bunch of custom aggregate functions for it, very pleasant experience overall |
2022-10-03 15:31:42 +0200 | <dr_merijn> | moonsheep: Yeah, probably. But maybe someone has already done something like that |
2022-10-03 15:31:44 +0200 | <moonsheep> | also I assume I'll have to do it in C instead of haskell right? |
2022-10-03 15:31:54 +0200 | <moonsheep> | dr_merijn: yeah but it's prorpietary iirc |
2022-10-03 15:32:05 +0200 | <dr_merijn> | moonsheep: I did it in C, but if you're comfortable with the Haskell FFI it should be simple enough to get it to call Haskell code too |
2022-10-03 15:32:17 +0200 | <moonsheep> | ah alright |
2022-10-03 15:33:33 +0200 | abiss27 | (~abiss27@user/abiss) (Quit: hasta la vista... tchau!) |
2022-10-03 15:33:47 +0200 | <dr_merijn> | moonsheep: https://github.com/merijn/Belewitte/tree/master/benchmark-analysis/cbits https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/SQLiteExts.hs |
2022-10-03 15:33:55 +0200 | <moonsheep> | cryptonite has a C interface right? |
2022-10-03 15:33:58 +0200 | <moonsheep> | dr_merijn: oh thanks! |
2022-10-03 15:34:10 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-10-03 15:35:51 +0200 | <dr_merijn> | SQLite just calls a function pointer, so all you need is to foreign export whatever Haskell function with the right type into a pointer, which the GHC user guide has details on how to do, so should be easy enough |
2022-10-03 15:36:18 +0200 | <dr_merijn> | Hell, even using arbitrary runtime closures should be relatively straightforward using dynamic_wrapper |
2022-10-03 15:36:34 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-10-03 15:36:56 +0200 | <moonsheep> | right, thank you very much |
2022-10-03 15:36:58 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) (Quit: It feels like a song I know so well) |
2022-10-03 15:40:58 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::778c) |
2022-10-03 15:41:03 +0200 | nihilazo | (~nihilazo@tilde.town) |
2022-10-03 15:41:36 +0200 | <nihilazo> | hi, what is the current best way to make desktop GUI (I don't care if it's native widgets, webview based etc) in haskell that is screen reader accessible? |
2022-10-03 15:42:48 +0200 | <dr_merijn> | tbh, might be easier to write the desktop GUI in something more "standard" with good frameworks and then call out to Haskell for logic, the Haskell GUI toolkits are still kinda rough |
2022-10-03 15:43:47 +0200 | <nihilazo> | a k |
2022-10-03 15:44:23 +0200 | <nihilazo> | that's unfortunate :( |
2022-10-03 15:44:29 +0200 | kdaishi | (~Thunderbi@dyn3136-11.wlan.ic.ac.uk) (Ping timeout: 265 seconds) |
2022-10-03 15:46:17 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 15:47:05 +0200 | <moonsheep> | the base package file i/o functions are cross-platform right? |
2022-10-03 15:47:08 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) |
2022-10-03 15:47:18 +0200 | <moonsheep> | if so I should be able to implement a vfs in haskell that's also cross-platform for free, is that right? |
2022-10-03 15:47:42 +0200 | <dr_merijn> | Not if you wanna keep things ACID :) |
2022-10-03 15:47:50 +0200 | <moonsheep> | oh right |
2022-10-03 15:48:41 +0200 | <geekosaur> | ACID is hard |
2022-10-03 15:49:16 +0200 | geekosaur | got out of the database business in the 90s and mostly doesn't miss it |
2022-10-03 15:49:28 +0200 | ellensol_ | (~ellen@178-78-210-152.customers.ownit.se) |
2022-10-03 15:49:50 +0200 | <moonsheep> | I just wonder if it's possible to intercept the data halfway through the vfs and the upper layers and just do encryption there, without having to worry about the specifics of file reading and writing |
2022-10-03 15:49:54 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) (Client Quit) |
2022-10-03 15:50:14 +0200 | <dr_merijn> | What are you trying to encrypt? |
2022-10-03 15:50:35 +0200 | <moonsheep> | mostly the chat logs and the user's private key |
2022-10-03 15:50:39 +0200 | <moonsheep> | symmetrically |
2022-10-03 15:50:50 +0200 | <moonsheep> | so that if the system is compromised the data can't be stolen |
2022-10-03 15:51:09 +0200 | <moonsheep> | ideally you'd want to use full-disk encryption, but I can't guarantee users do |
2022-10-03 15:51:15 +0200 | <moonsheep> | I certainly do |
2022-10-03 15:51:27 +0200 | ellensol | (~ellen@178-78-210-152.customers.ownit.se) (Ping timeout: 268 seconds) |
2022-10-03 15:51:31 +0200 | nihilazo | (~nihilazo@tilde.town) (Leaving) |
2022-10-03 15:52:00 +0200 | <geekosaur> | one thing you might keep in mind is that you need a key somewhere to encrypt/decrypt that data, so if the system is compromised they'll have both |
2022-10-03 15:52:01 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 15:52:20 +0200 | <moonsheep> | geekosaur: yes that's called a password and ideally it's only in the user's head |
2022-10-03 15:52:24 +0200 | <moonsheep> | the human is always the weakest link |
2022-10-03 15:52:55 +0200 | <moonsheep> | the idea is to use a KDF to derive a key from that password and decrypt the chat logs and your primary private key |
2022-10-03 15:53:07 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-10-03 15:53:09 +0200 | <moonsheep> | obviously you need a strong password |
2022-10-03 15:53:30 +0200 | <moonsheep> | I'll make sure to include a link to https://xkcd.com/936/ when the users is prompted to create a password |
2022-10-03 15:53:38 +0200 | <geekosaur> | so you';re right on the edge of going e2e anyway |
2022-10-03 15:53:40 +0200 | littlefinger | (~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) |
2022-10-03 15:53:54 +0200 | <moonsheep> | how do you mean? |
2022-10-03 15:53:57 +0200 | ellensol_ | (~ellen@178-78-210-152.customers.ownit.se) (Ping timeout: 250 seconds) |
2022-10-03 15:54:21 +0200 | <geekosaur> | where you don't have to worry about the encryption because the user's password/key is used for all of it and the server just has binary blobs it knows nothing aboyt |
2022-10-03 15:54:34 +0200 | <geekosaur> | and all the work is done on the user's side |
2022-10-03 15:54:43 +0200 | <moonsheep> | yes that was the idea all along |
2022-10-03 15:54:47 +0200 | <geekosaur> | (this requires asymmetric keys though) |
2022-10-03 15:54:49 +0200 | <moonsheep> | there's acutally no server |
2022-10-03 15:54:58 +0200 | <moonsheep> | it's peer-to-peer within a LAN |
2022-10-03 15:56:23 +0200 | <moonsheep> | so the messages are sent symetrically encrypted and signed, and once they're received they're stored in my database. I guess you're suggesting that they be stored encrypted so I only need to encrypt the private key? |
2022-10-03 15:57:05 +0200 | <moonsheep> | I do kind of want to be able to do SQL queries and stuff though, so I need to have access to the message's various fields for that |
2022-10-03 15:57:14 +0200 | <moonsheep> | instead of just storing a bunch of encrypted blobs in a table |
2022-10-03 15:57:31 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-10-03 15:58:09 +0200 | <geekosaur> | don't even need tpo encrypt the privkey. you have the *pubkey* |
2022-10-03 15:58:28 +0200 | kdaishi | (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) |
2022-10-03 15:58:29 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) |
2022-10-03 15:58:30 +0200 | <moonsheep> | again, that is done in case the system becomes physically compromised |
2022-10-03 15:58:35 +0200 | <geekosaur> | auth is some nonce encrypted with the privkey is sent to you, and you can only decrypt with the pubkey |
2022-10-03 15:58:44 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-10-03 15:58:56 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 15:58:59 +0200 | k8yun__ | (~k8yun@user/k8yun) |
2022-10-03 15:59:06 +0200 | <geekosaur> | pubkey is not so useful by itself though, so it;s safe to store unencrypted |
2022-10-03 15:59:29 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-03 15:59:30 +0200 | <Athas> | Heads up, the next release of cabal-install will break all your workflows: https://sigkill.dk/blog/2022-10-02-cabal-xdg.html |
2022-10-03 15:59:31 +0200 | <moonsheep> | yeah I get all that but I think you're conflating the network stuff with the storage of chatlogs and *your own* private key? |
2022-10-03 16:00:00 +0200 | <moonsheep> | geekosaur: that's pretty much how my network protocol works |
2022-10-03 16:00:24 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-03 16:00:53 +0200 | <geekosaur> | Athas, it's supposed to keep working the same way if you have ~/.cabal |
2022-10-03 16:00:56 +0200 | <moonsheep> | well except instead of using asymmetric encyption all the way, I just do a diffie-hellman to encrypt the connection, and then simply send signed messages through it |
2022-10-03 16:01:12 +0200 | <geekosaur> | or specify paths explicitly in the config file |
2022-10-03 16:01:20 +0200 | <moonsheep> | of course first doing authentication to make sure I'm not sending messages to an impersonator |
2022-10-03 16:01:23 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 16:01:42 +0200 | <Athas> | geekosaur: yes, supposed to. But I doubt it is well tested. |
2022-10-03 16:01:43 +0200 | <dr_merijn> | geekosaur: Are you saying the behaviour you'd like to see? Or telling Athas "how it works"? |
2022-10-03 16:01:54 +0200 | <dr_merijn> | because, if the latter, eh...I'm sure he knows ;) |
2022-10-03 16:02:05 +0200 | <geekosaur> | that is the report from the recent announcement |
2022-10-03 16:02:16 +0200 | <dr_merijn> | geekosaur: Athas implemented it :p |
2022-10-03 16:02:21 +0200 | <Athas> | Yeah, but it's implemented by a dilettante with little Cabal experience. |
2022-10-03 16:02:21 +0200 | <geekosaur> | which is for testers to make sure that it does work that way when released |
2022-10-03 16:02:24 +0200 | <geekosaur> | ah |
2022-10-03 16:02:32 +0200 | <Athas> | Cabal has no "testers" as such. |
2022-10-03 16:02:38 +0200 | <geekosaur> | (I plan to be one of said testers) |
2022-10-03 16:03:03 +0200 | <geekosaur> | hopefully after I'm done with this morning's SNAP annoyances |
2022-10-03 16:03:07 +0200 | <Athas> | Good! Running dev cabal-install is surprisingly easy, since it doesn't require any cabal-the-library changes. |
2022-10-03 16:03:15 +0200 | <Athas> | It's just a binary you put in your PATH. |
2022-10-03 16:03:50 +0200 | <geekosaur> | I also tested a couple of cabal 3.8 prereleases |
2022-10-03 16:04:39 +0200 | <geekosaur> | (also: maerwald, if you're around, this might be a good candidate for the prerelease channel) |
2022-10-03 16:04:46 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds) |
2022-10-03 16:04:52 +0200 | <Athas> | It's a bit easier now, since cabal no longer spews the "beware! debug version!" stuff on stdout. |
2022-10-03 16:06:57 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 268 seconds) |
2022-10-03 16:10:18 +0200 | kdaishi | (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) (Ping timeout: 264 seconds) |
2022-10-03 16:14:09 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 16:15:34 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2022-10-03 16:18:48 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 16:19:32 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2022-10-03 16:20:31 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 260 seconds) |
2022-10-03 16:21:22 +0200 | lys | rosalind |
2022-10-03 16:21:58 +0200 | moonsheep | (~user@user/moonsheep) (ERC 5.4 (IRC client for GNU Emacs 28.1)) |
2022-10-03 16:22:30 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2022-10-03 16:23:25 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 250 seconds) |
2022-10-03 16:25:13 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded) |
2022-10-03 16:26:07 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-03 16:26:34 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2022-10-03 16:26:39 +0200 | rosalind | (lys@id-194105.uxbridge.irccloud.com) (Quit: bbl) |
2022-10-03 16:30:07 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 16:33:21 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-10-03 16:34:33 +0200 | ystael | (~ystael@user/ystael) (Read error: Connection reset by peer) |
2022-10-03 16:35:46 +0200 | akegalj | (~akegalj@93-136-87-5.adsl.net.t-com.hr) |
2022-10-03 16:36:10 +0200 | jonathanx | (~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 246 seconds) |
2022-10-03 16:36:25 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 16:36:37 +0200 | ystael | (~ystael@user/ystael) |
2022-10-03 16:37:10 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds) |
2022-10-03 16:40:20 +0200 | waldo | (~waldo@user/waldo) (Quit: quit) |
2022-10-03 16:42:14 +0200 | rosalind | (rosalind@id-194105.uxbridge.irccloud.com) |
2022-10-03 16:42:26 +0200 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2022-10-03 16:42:33 +0200 | rosalind | lys |
2022-10-03 16:42:58 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 16:43:38 +0200 | king_gs | (~Thunderbi@187.201.126.32) |
2022-10-03 16:44:16 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 16:48:19 +0200 | kuribas | (~user@silversquare.silversquare.eu) |
2022-10-03 16:49:16 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 16:50:42 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 16:51:20 +0200 | moonsheep | (~user@user/moonsheep) |
2022-10-03 16:51:34 +0200 | titibandit | (~titibandi@xdsl-89-0-65-2.nc.de) |
2022-10-03 16:52:37 +0200 | k8yun_ | (~k8yun@user/k8yun) |
2022-10-03 16:53:55 +0200 | lys | (rosalind@id-194105.uxbridge.irccloud.com) (Quit: ZzzZz) |
2022-10-03 16:54:04 +0200 | _73 | (~user@2600:4040:5aa2:2000:ccdd:de39:6c57:78f9) |
2022-10-03 16:54:13 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) |
2022-10-03 16:54:59 +0200 | razetime | (~quassel@117.193.0.127) (Ping timeout: 248 seconds) |
2022-10-03 16:55:48 +0200 | razetime | (~quassel@117.193.5.86) |
2022-10-03 16:56:15 +0200 | k8yun__ | (~k8yun@user/k8yun) (Ping timeout: 268 seconds) |
2022-10-03 17:03:41 +0200 | king_gs | (~Thunderbi@187.201.126.32) (Read error: Connection reset by peer) |
2022-10-03 17:03:49 +0200 | king_gs1 | (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5) |
2022-10-03 17:04:53 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-03 17:05:26 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
2022-10-03 17:06:08 +0200 | king_gs1 | king_gs |
2022-10-03 17:06:53 +0200 | moonsheep | (~user@user/moonsheep) (ERC 5.4 (IRC client for GNU Emacs 28.1)) |
2022-10-03 17:14:09 +0200 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Remote host closed the connection) |
2022-10-03 17:14:52 +0200 | akegalj | (~akegalj@93-136-87-5.adsl.net.t-com.hr) (Quit: leaving) |
2022-10-03 17:17:27 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 17:17:29 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 17:19:17 +0200 | razetime | (~quassel@117.193.5.86) (Ping timeout: 252 seconds) |
2022-10-03 17:25:37 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-10-03 17:26:55 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-03 17:27:56 +0200 | razetime | (~quassel@117.193.7.124) |
2022-10-03 17:31:21 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds) |
2022-10-03 17:34:04 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2022-10-03 17:34:05 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-10-03 17:35:31 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-03 17:36:20 +0200 | razetime | (~quassel@117.193.7.124) (Ping timeout: 268 seconds) |
2022-10-03 17:41:16 +0200 | razetime | (~quassel@117.254.35.9) |
2022-10-03 17:45:27 +0200 | nate4 | (~nate@98.45.169.16) |
2022-10-03 17:45:37 +0200 | king_gs | (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5) (Ping timeout: 268 seconds) |
2022-10-03 17:47:05 +0200 | zebrag | (~chris@user/zebrag) |
2022-10-03 17:54:01 +0200 | vegetabelfodos | (~vegetabel@user/vegetabelfodos) |
2022-10-03 17:56:30 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 17:58:09 +0200 | kuribas | (~user@silversquare.silversquare.eu) (Remote host closed the connection) |
2022-10-03 18:00:50 +0200 | king_gs | (~Thunderbi@187.201.126.32) |
2022-10-03 18:01:05 +0200 | razetime | (~quassel@117.254.35.9) (Ping timeout: 252 seconds) |
2022-10-03 18:02:14 +0200 | razetime | (~quassel@117.254.35.133) |
2022-10-03 18:04:39 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 18:06:50 +0200 | razetime_ | (~quassel@2401:4900:6280:18c5:a9f7:414a:8235:bd9) |
2022-10-03 18:07:04 +0200 | razetime | (~quassel@117.254.35.133) (Ping timeout: 265 seconds) |
2022-10-03 18:07:51 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-03 18:08:59 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 18:14:19 +0200 | crns | (~netcrns@user/crns) (Ping timeout: 265 seconds) |
2022-10-03 18:15:42 +0200 | crns | (~netcrns@p4ff5e871.dip0.t-ipconnect.de) |
2022-10-03 18:15:42 +0200 | crns | (~netcrns@p4ff5e871.dip0.t-ipconnect.de) (Changing host) |
2022-10-03 18:15:42 +0200 | crns | (~netcrns@user/crns) |
2022-10-03 18:18:16 +0200 | waleee | (~waleee@192.165.44.49) |
2022-10-03 18:18:47 +0200 | __monty__ | (~toonn@user/toonn) |
2022-10-03 18:23:19 +0200 | cdimitroulas | (~cdimitrou@cpc115154-dals23-2-0-cust44.20-2.cable.virginm.net) |
2022-10-03 18:24:16 +0200 | king_gs | (~Thunderbi@187.201.126.32) (Quit: king_gs) |
2022-10-03 18:25:16 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) |
2022-10-03 18:27:51 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 18:28:41 +0200 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving) |
2022-10-03 18:33:38 +0200 | EashanHatti | (~Thunderbi@c-24-126-44-70.hsd1.wv.comcast.net) (Quit: EashanHatti) |
2022-10-03 18:34:03 +0200 | EashanHatti | (~Thunderbi@c-24-126-44-70.hsd1.wv.comcast.net) |
2022-10-03 18:34:18 +0200 | EashanHatti | (~Thunderbi@c-24-126-44-70.hsd1.wv.comcast.net) () |
2022-10-03 18:35:12 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-03 18:37:58 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-03 18:42:09 +0200 | nschoe | (~quassel@141.101.51.197) (Ping timeout: 252 seconds) |
2022-10-03 18:42:58 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds) |
2022-10-03 18:43:40 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-10-03 18:46:24 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-10-03 18:46:33 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
2022-10-03 18:47:31 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-10-03 18:48:45 +0200 | nate4 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-10-03 18:49:46 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 18:53:54 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-10-03 18:58:33 +0200 | waleee | (~waleee@192.165.44.49) (Ping timeout: 250 seconds) |
2022-10-03 19:00:39 +0200 | ii8 | (~ii8@45.63.97.131) |
2022-10-03 19:03:21 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds) |
2022-10-03 19:03:31 +0200 | <ii8> | Is there a neater way to write `f >>= (\x -> g >> return x)`? Some ??? that let's me write just `f ??? g`. |
2022-10-03 19:04:00 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-10-03 19:05:12 +0200 | MajorBiscuit | (~MajorBisc@145.94.170.80) (Ping timeout: 264 seconds) |
2022-10-03 19:05:18 +0200 | littlefinger | (~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2022-10-03 19:06:22 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-10-03 19:06:30 +0200 | <davean> | ii8: look at Applicative |
2022-10-03 19:07:20 +0200 | <ski> | @type (<*) -- ii8 |
2022-10-03 19:07:22 +0200 | <lambdabot> | Applicative f => f a -> f b -> f a |
2022-10-03 19:08:10 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-03 19:09:25 +0200 | <ii8> | ty |
2022-10-03 19:12:54 +0200 | ddellacosta | (~ddellacos@143.244.47.73) |
2022-10-03 19:13:11 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 19:14:43 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a724c70b3a6de12c0bf.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-10-03 19:16:14 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 19:16:33 +0200 | <ski> | ii8 : ooc, what're you writing ? |
2022-10-03 19:17:41 +0200 | kdaishi | (~Thunderbi@dyn3135-98.wlan.ic.ac.uk) |
2022-10-03 19:18:49 +0200 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
2022-10-03 19:21:05 +0200 | <ii8> | ski: a compiler |
2022-10-03 19:22:16 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a36101a01fba2f91402.dip0.t-ipconnect.de) |
2022-10-03 19:22:17 +0200 | <[exa]> | ii8: btw it's useful to note that all "variants" of that operator actually exist: <*, *>, <$ and $> |
2022-10-03 19:22:27 +0200 | <[exa]> | also good luck with the compiler |
2022-10-03 19:22:40 +0200 | <ski> | (in addition to `<$>' and `<*>', of course. .. there's also `<**>') |
2022-10-03 19:24:07 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 19:25:06 +0200 | razetime_ | (~quassel@2401:4900:6280:18c5:a9f7:414a:8235:bd9) (Remote host closed the connection) |
2022-10-03 19:26:48 +0200 | vglfr | (~vglfr@145.224.100.164) (Read error: Connection reset by peer) |
2022-10-03 19:27:01 +0200 | vglfr | (~vglfr@145.224.100.164) |
2022-10-03 19:29:32 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 19:30:49 +0200 | fef | (~thedawn@user/thedawn) |
2022-10-03 19:30:55 +0200 | <ski> | @type \g f -> (>>= g) . sequence . (=>> f) |
2022-10-03 19:30:57 +0200 | <lambdabot> | (Monad m, Traversable t, Comonad t) => (t a1 -> m b) -> (t a2 -> m a1) -> t a2 -> m b |
2022-10-03 19:32:05 +0200 | <EvanR> | lol |
2022-10-03 19:33:13 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 250 seconds) |
2022-10-03 19:33:45 +0200 | vegetabelfodos | balkanredheads |
2022-10-03 19:34:19 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2022-10-03 19:34:36 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-10-03 19:34:54 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-10-03 19:35:58 +0200 | <EvanR> | (Monad m, Traversable w, Comonad w) => (w b -> m c) -> (w a -> m b) -> (w a -> m c) |
2022-10-03 19:36:29 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 19:37:39 +0200 | biberu | (~biberu@user/biberu) |
2022-10-03 19:38:07 +0200 | <ski> | you could use some `distibute :: Distributes w m => w (m a) -> m (w a)', in place of `sequence'. .. the latter just happened to be in scope |
2022-10-03 19:41:18 +0200 | littlefinger | (~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) |
2022-10-03 19:41:28 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 19:42:10 +0200 | <EvanR> | now I want to use that for something |
2022-10-03 19:42:44 +0200 | <EvanR> | so I can feel like dr strange summoning powerful geometric forces |
2022-10-03 19:43:10 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) |
2022-10-03 19:43:15 +0200 | kdaishi | (~Thunderbi@dyn3135-98.wlan.ic.ac.uk) (Ping timeout: 265 seconds) |
2022-10-03 19:45:16 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-10-03 19:45:35 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 19:45:43 +0200 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
2022-10-03 19:46:24 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 258 seconds) |
2022-10-03 19:48:18 +0200 | gmg | (~user@user/gehmehgeh) |
2022-10-03 19:50:59 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) (Remote host closed the connection) |
2022-10-03 19:51:01 +0200 | gurkenglas | (~gurkengla@84.138.199.46) |
2022-10-03 19:53:09 +0200 | Microwave | (~Microwave@201-9-167-4.user3p.veloxzone.com.br) |
2022-10-03 19:53:13 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-10-03 19:53:48 +0200 | <Microwave> | Hi, is there a pastebin for haskell? I want to show something strange that I've found |
2022-10-03 19:54:08 +0200 | <monochrom> | Yeah, this: |
2022-10-03 19:54:12 +0200 | <monochrom> | @where paste |
2022-10-03 19:54:12 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2022-10-03 19:55:29 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 252 seconds) |
2022-10-03 19:57:08 +0200 | <Microwave> | monochrom: thanks |
2022-10-03 19:57:11 +0200 | <Microwave> | https://paste.tomsmeding.com/aU8bUqf8 |
2022-10-03 19:57:39 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
2022-10-03 19:57:43 +0200 | <ski> | type synonyms can't be partially applied |
2022-10-03 19:58:04 +0200 | <Microwave> | is this partial application? |
2022-10-03 19:58:37 +0200 | <monochrom> | "Bar" alone is the most extreme partial application, yes. |
2022-10-03 19:58:38 +0200 | <ski> | or, i guess you can express it as, they must be used "fully saturated" |
2022-10-03 19:58:46 +0200 | <ski> | "applied to all explicit parameters" |
2022-10-03 19:58:48 +0200 | <Microwave> | I was bashing my head trying to understand what was happening |
2022-10-03 19:59:16 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-03 19:59:19 +0200 | <Microwave> | ((,) Int) instance is partial application? |
2022-10-03 19:59:32 +0200 | <monochrom> | But (,) is not a type synonym. |
2022-10-03 20:00:20 +0200 | <ski> | `LiberalTypeSynonyms' could be used to allow some partial applications (as long as, after expansion, there are no partial applications left) .. but it wouldn't help, in your case |
2022-10-03 20:00:58 +0200 | <Microwave> | I see, there's another way to avoid repetition? |
2022-10-03 20:01:12 +0200 | docter_d | (~docter_d@2001:9e8:33d4:6000:1075:34b6:ab2f:922d) |
2022-10-03 20:01:21 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 20:01:38 +0200 | <monochrom> | What is the repetition? |
2022-10-03 20:01:38 +0200 | <ski> | (e.g. `type Foo f = F Bool; type Bar a = (Int,a)', then `Foo Bar' would work, since that expands to `Bar Bool', which expands to `(Int,Bool) |
2022-10-03 20:01:39 +0200 | <Microwave> | And it makes sense now, I'm trying to instance a type constructor, so it is partial application |
2022-10-03 20:01:41 +0200 | <ski> | ') |
2022-10-03 20:02:05 +0200 | vglfr | (~vglfr@145.224.100.164) (Ping timeout: 252 seconds) |
2022-10-03 20:02:22 +0200 | <Microwave> | monochrom: This is just an example, so there's no repetition |
2022-10-03 20:02:28 +0200 | <Microwave> | but I use synonyms a lot |
2022-10-03 20:03:14 +0200 | <ski> | sometimes you can use extensionality to remove explicit parameters from type synonym definitions |
2022-10-03 20:03:41 +0200 | beteigeuze1 | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) |
2022-10-03 20:03:41 +0200 | <L29Ah> | where can i get a parallel mapM that runs at most `nproc` threads simultaneously? |
2022-10-03 20:03:57 +0200 | <monochrom> | Unpopular opinion: Most type synonyms are leaky abstractions originating from the authors not making up their minds whether they want an abstraction or not. |
2022-10-03 20:04:11 +0200 | <ski> | (e.g. going from `type Foo a = StateT S (ExceptT E) a' to `type Foo = StateT S (ExceptT E)') |
2022-10-03 20:04:50 +0200 | ski | would appreciate restricted type synonyms, in GHC (and not just Hugs) |
2022-10-03 20:04:56 +0200 | <L29Ah> | monochrom: most type synonyms are originating from the authors who want less typing and shorter type signatures |
2022-10-03 20:05:20 +0200 | <ski> | (they are similar to exporting a type synonym abstractly from a structure/module, in the MLs) |
2022-10-03 20:05:25 +0200 | <Microwave> | I just don't want to repeat myself a lot, but I won't say that I know what I'm doing |
2022-10-03 20:05:41 +0200 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 260 seconds) |
2022-10-03 20:05:52 +0200 | docter-d | (~docter_d@2001:9e8:33d4:6000:70f6:f504:252e:b0ff) |
2022-10-03 20:06:07 +0200 | <geekosaur> | L29Ah, there's `mapConcurrently` but I think by itself it does not set a thread limit |
2022-10-03 20:06:07 +0200 | docter_d | (~docter_d@2001:9e8:33d4:6000:1075:34b6:ab2f:922d) (Ping timeout: 268 seconds) |
2022-10-03 20:06:26 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-10-03 20:07:00 +0200 | <geekosaur> | conversely there's the spark-based stuff but that can't do IO. maybe there's something in one of the async pool packages |
2022-10-03 20:07:34 +0200 | <Microwave> | changing `type Bar a = (Int, a)` to `type Bar = ((,) Int)` worked |
2022-10-03 20:07:44 +0200 | <L29Ah> | yeah i've checked out the async-pool stuff, but it needs writing some code to have mapM |
2022-10-03 20:07:49 +0200 | <Microwave> | but what's the difference? |
2022-10-03 20:08:12 +0200 | rockymarine | (~rocky@user/rockymarine) (Ping timeout: 264 seconds) |
2022-10-03 20:08:23 +0200 | mbuf | (~Shakthi@49.204.130.86) (Quit: Leaving) |
2022-10-03 20:08:35 +0200 | beteigeuze1 | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) (Ping timeout: 268 seconds) |
2022-10-03 20:08:44 +0200 | <geekosaur> | https://hackage.haskell.org/package/async-pool-0.9.1/docs/Control-Concurrent-Async-Pool.html#v:map… and friends look likely to me |
2022-10-03 20:08:46 +0200 | <ski> | type synonyms can be thought a bit of like macros |
2022-10-03 20:09:38 +0200 | <ski> | Microwave : well, you need `TypeSynonymInstances' |
2022-10-03 20:10:09 +0200 | <geekosaur> | create a task group with ncpus (or numCapabilities maybe) threads in it, then mapTasks in that group |
2022-10-03 20:11:18 +0200 | <Microwave> | ski: Won't work even with this extension, already tried |
2022-10-03 20:11:38 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) |
2022-10-03 20:12:26 +0200 | <Microwave> | I still find strange that `type Bar a = (Int, a)` and `type Bar = ((,) Int)` are different |
2022-10-03 20:12:35 +0200 | <Microwave> | but I can get behind it |
2022-10-03 20:13:47 +0200 | <geekosaur> | it's strange in some sense, but ghc's typechecker would have to be a lot more complex to support type lambdas |
2022-10-03 20:13:54 +0200 | <monochrom> | The rule is that a use site of a type synonym must supply at least "all" parameters. |
2022-10-03 20:14:24 +0200 | <monochrom> | The devil though is in the details of what that "all" means. |
2022-10-03 20:14:43 +0200 | <monochrom> | And that one is a very simplistic formal syntactic shallow superficial thing. |
2022-10-03 20:15:02 +0200 | <monochrom> | Let's say I have "type T1 a = ..." and "type T2 = ...". |
2022-10-03 20:15:22 +0200 | <monochrom> | Then superficially (as promised) T1 requires 1 parameter but T2 requires none. |
2022-10-03 20:15:30 +0200 | <Microwave> | I see, I see |
2022-10-03 20:15:41 +0200 | <Microwave> | It's about the structure perceived by the compiler |
2022-10-03 20:15:46 +0200 | <Microwave> | not the logic behind it |
2022-10-03 20:15:52 +0200 | _73` | (~user@pool-173-76-236-42.bstnma.fios.verizon.net) |
2022-10-03 20:15:55 +0200 | <monochrom> | You then say "but T2 a = T1 a" well the language definitions says it doesn't care. |
2022-10-03 20:16:10 +0200 | _73` | (~user@pool-173-76-236-42.bstnma.fios.verizon.net) (Remote host closed the connection) |
2022-10-03 20:16:13 +0200 | <Microwave> | I understood now |
2022-10-03 20:16:36 +0200 | <monochrom> | The long story is that without this rule, type inference becomes undecidable. I haven't studied why. |
2022-10-03 20:16:52 +0200 | <Microwave> | magic, probably |
2022-10-03 20:16:52 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-10-03 20:17:01 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2022-10-03 20:17:03 +0200 | <Microwave> | thanks for the help, you all are awesome |
2022-10-03 20:17:39 +0200 | _73 | (~user@2600:4040:5aa2:2000:ccdd:de39:6c57:78f9) (Ping timeout: 248 seconds) |
2022-10-03 20:17:43 +0200 | <[exa]> | Microwave: counter-examplish help to understand the problem: the compiler has to be able to check the equality of types during type inference, and it is hard to check that partially applied `Foo Int` and `Bar Int` are equal without making up random names for the missing type and trying to evaluate their definitions (although they might be same in the end). Uglier cases may appear easily. |
2022-10-03 20:18:25 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2022-10-03 20:18:35 +0200 | <L29Ah> | geekosaur: thanks |
2022-10-03 20:19:33 +0200 | <Microwave> | [exa]: It makes sense, it wouldn't work if the definitions were recursive I think |
2022-10-03 20:19:44 +0200 | Everything | (~Everythin@37.115.210.35) |
2022-10-03 20:19:48 +0200 | <[exa]> | yeah, that's one of the (infinite) ways to break it. :] |
2022-10-03 20:19:56 +0200 | <Microwave> | Is it possible to have recursion on type stuff? |
2022-10-03 20:20:32 +0200 | <Microwave> | Probably not |
2022-10-03 20:20:33 +0200 | <[exa]> | fortunately not |
2022-10-03 20:20:42 +0200 | <ski> | if you think of type synonyms as macros, then `LiberalTypeSynonyms' allow higher-order macros |
2022-10-03 20:20:42 +0200 | <Microwave> | :( |
2022-10-03 20:20:52 +0200 | <[exa]> | at least in "normal" cases you'd get stopped by occurs check |
2022-10-03 20:21:39 +0200 | <[exa]> | but you can pretty easily circumvent that with a bit of parametrization (remember recursion without recursion using the fixpoint combinator?) |
2022-10-03 20:22:03 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 20:22:14 +0200 | <Microwave> | my tiny brain is starting to hurt |
2022-10-03 20:22:27 +0200 | <Microwave> | I'm trying to learn about haskell for a year |
2022-10-03 20:22:31 +0200 | <Microwave> | it hurts :( |
2022-10-03 20:22:39 +0200 | <[exa]> | I avoid that matter completely for similar brain reasons. :D |
2022-10-03 20:22:52 +0200 | <ski> | monochrom : iirc, the problem was that without this, you have to allow general unification between lambda terms .. which is not decidable (and certainly doesn't have most general unifiers). or, possibly, you could restrict to a decidable subset (like L-lambda unification) .. |
2022-10-03 20:22:59 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-10-03 20:23:19 +0200 | <Microwave> | I'm going now, thanks for all the help, byee |
2022-10-03 20:23:27 +0200 | <ski> | have fun |
2022-10-03 20:23:32 +0200 | <[exa]> | o/ |
2022-10-03 20:23:43 +0200 | Microwave | (~Microwave@201-9-167-4.user3p.veloxzone.com.br) (Quit: Client closed) |
2022-10-03 20:23:46 +0200 | <monochrom> | I have heard that higher-order unification is undecidable. Is that this one? |
2022-10-03 20:24:58 +0200 | <[exa]> | ( total count of Rice theorem instances I observed: *increases* ) |
2022-10-03 20:26:41 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds) |
2022-10-03 20:27:02 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 20:27:44 +0200 | kdaishi | (~Thunderbi@dyn3137-209.wlan.ic.ac.uk) |
2022-10-03 20:28:41 +0200 | chimp_ | (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Ping timeout: 265 seconds) |
2022-10-03 20:30:13 +0200 | ellensol | (~ellen@178-78-210-152.customers.ownit.se) |
2022-10-03 20:32:05 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds) |
2022-10-03 20:33:41 +0200 | shapr | (~user@68.54.166.125) |
2022-10-03 20:39:06 +0200 | fjMSX | (~hypni2p@2.92.213.55) (Read error: Connection reset by peer) |
2022-10-03 20:40:35 +0200 | kdaishi | (~Thunderbi@dyn3137-209.wlan.ic.ac.uk) (Ping timeout: 252 seconds) |
2022-10-03 20:40:58 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) (Remote host closed the connection) |
2022-10-03 20:43:39 +0200 | vorpuni | (~pvorp@2001:861:3881:c690:a94c:fa1b:4d2b:c74b) |
2022-10-03 20:44:59 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2022-10-03 20:45:43 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 20:45:47 +0200 | vglfr | (~vglfr@145.224.100.164) |
2022-10-03 20:48:29 +0200 | DavidBinder | (~DavidBind@2a02:8070:8a83:3740:64de:c2ea:8f9f:d460) |
2022-10-03 20:49:35 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) |
2022-10-03 20:52:19 +0200 | rockymarine | (~rocky@user/rockymarine) |
2022-10-03 20:54:58 +0200 | DavidBinder | (~DavidBind@2a02:8070:8a83:3740:64de:c2ea:8f9f:d460) (Quit: Client closed) |
2022-10-03 20:57:22 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
2022-10-03 20:57:24 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds) |
2022-10-03 20:57:58 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a36101a01fba2f91402.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-10-03 20:58:41 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-10-03 20:59:56 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2022-10-03 20:59:58 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-10-03 21:03:14 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Remote host closed the connection) |
2022-10-03 21:03:55 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) |
2022-10-03 21:05:25 +0200 | son0p | (~ff@2800:e2:f80:867:cac2:6501:5166:e177) (Ping timeout: 268 seconds) |
2022-10-03 21:07:33 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-10-03 21:10:39 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a36edbbd7fd5b13d5e1.dip0.t-ipconnect.de) |
2022-10-03 21:11:49 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2022-10-03 21:14:19 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 21:19:11 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds) |
2022-10-03 21:22:20 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2022-10-03 21:22:21 +0200 | cheater1__ | (~Username@user/cheater) |
2022-10-03 21:22:25 +0200 | cheater1__ | cheater |
2022-10-03 21:25:03 +0200 | docter-d | (~docter_d@2001:9e8:33d4:6000:70f6:f504:252e:b0ff) (Quit: Leaving) |
2022-10-03 21:25:47 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-10-03 21:26:22 +0200 | docter_d | (~{docter_d@2001:9e8:33d4:6000:70f6:f504:252e:b0ff) |
2022-10-03 21:26:54 +0200 | docter_d | (~{docter_d@2001:9e8:33d4:6000:70f6:f504:252e:b0ff) (Client Quit) |
2022-10-03 21:28:08 +0200 | dumptruckman | (~dumptruck@23-239-13-163.ip.linodeusercontent.com) (Quit: ZNC - https://znc.in) |
2022-10-03 21:35:12 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-10-03 21:38:09 +0200 | lys | rosalind |
2022-10-03 21:38:53 +0200 | rosalind | (lys@id-194105.uxbridge.irccloud.com) (Quit: Arcadia...) |
2022-10-03 21:40:20 +0200 | pavonia | (~user@user/siracusa) |
2022-10-03 21:42:40 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Read error: Connection reset by peer) |
2022-10-03 21:44:56 +0200 | dumptruckman | (~dumptruck@172-105-129-222.ip.linodeusercontent.com) |
2022-10-03 21:47:27 +0200 | mikoto-chan | (~mikoto-ch@164.5.249.78) |
2022-10-03 21:50:14 +0200 | rosalind | (rosalind@id-194105.uxbridge.irccloud.com) |
2022-10-03 21:50:39 +0200 | rosalind | lys |
2022-10-03 21:50:48 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-10-03 21:50:48 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 21:51:04 +0200 | zeenk | (~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) (Quit: Konversation terminated!) |
2022-10-03 21:51:49 +0200 | gurkenglas | (~gurkengla@84.138.199.46) (Ping timeout: 265 seconds) |
2022-10-03 21:55:17 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-03 21:55:18 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-03 21:55:21 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 21:57:46 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 22:00:36 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 260 seconds) |
2022-10-03 22:02:31 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) (Remote host closed the connection) |
2022-10-03 22:05:24 +0200 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
2022-10-03 22:07:51 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2022-10-03 22:08:12 +0200 | cdimitroulas | (~cdimitrou@cpc115154-dals23-2-0-cust44.20-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2022-10-03 22:08:46 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds) |
2022-10-03 22:09:03 +0200 | lyle | (~lyle@104.246.145.85) (Quit: WeeChat 3.6) |
2022-10-03 22:12:20 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-10-03 22:14:51 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:3719:5feb:ad96:c94f) (Quit: WeeChat 2.8) |
2022-10-03 22:15:06 +0200 | lys | (rosalind@id-194105.uxbridge.irccloud.com) (Quit: bbl) |
2022-10-03 22:15:11 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2022-10-03 22:17:29 +0200 | balkanredheads | (~vegetabel@user/vegetabelfodos) (Quit: quit) |
2022-10-03 22:25:59 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 22:30:29 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 265 seconds) |
2022-10-03 22:32:39 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) |
2022-10-03 22:34:03 +0200 | lys | (lys@id-194105.uxbridge.irccloud.com) |
2022-10-03 22:35:52 +0200 | mastarija | (~mastarija@2a05:4f46:e03:6000:9d3a:32c4:25b6:9794) |
2022-10-03 22:36:21 +0200 | monadplus | (~monadplus@226.red-83-42-37.dynamicip.rima-tde.net) |
2022-10-03 22:36:36 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 258 seconds) |
2022-10-03 22:37:27 +0200 | monadplus | (~monadplus@226.red-83-42-37.dynamicip.rima-tde.net) (Client Quit) |
2022-10-03 22:39:28 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 246 seconds) |
2022-10-03 22:43:40 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds) |
2022-10-03 22:45:31 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-03 22:46:35 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-10-03 22:47:12 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-03 22:47:54 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 22:49:10 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-03 22:49:16 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-10-03 22:52:50 +0200 | darkstardevx | (~darkstard@192.183.207.94) |
2022-10-03 22:54:10 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds) |
2022-10-03 22:54:10 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 265 seconds) |
2022-10-03 22:54:33 +0200 | darkstardevx | (~darkstard@192.183.207.94) (Remote host closed the connection) |
2022-10-03 22:54:43 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-10-03 22:54:57 +0200 | darkstardevx | (~darkstard@192.183.207.94) |
2022-10-03 22:55:38 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-03 22:58:05 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-03 22:59:17 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2022-10-03 22:59:40 +0200 | kdaishi | (~Thunderbi@94.191.136.51.mobile.tre.se) |
2022-10-03 23:00:13 +0200 | <L29Ah> | https://github.com/jwiegley/async-pool/issues/4 damn |
2022-10-03 23:00:16 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 23:01:08 +0200 | <L29Ah> | is it possible to disable preempt-ability of SOME ghc green threads? |
2022-10-03 23:01:39 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 250 seconds) |
2022-10-03 23:03:00 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) |
2022-10-03 23:03:28 +0200 | <monochrom> | Are you sure you can't simply avoid nesting mapTasks? |
2022-10-03 23:03:55 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-03 23:04:15 +0200 | <L29Ah> | monochrom: i'm diving into arbitrary file trees, so it doesn't seem like a good solution |
2022-10-03 23:04:30 +0200 | <monochrom> | Also I disbelieve in the very strong "don't preempt me", I believe in the weaker but very reasonable "atomic" aka "critical section" which is a solved problem. |
2022-10-03 23:04:31 +0200 | <L29Ah> | and the result is a tree as well |
2022-10-03 23:05:00 +0200 | <L29Ah> | monochrom: i don't want "don't preempt me", i want "i can't preempt anything" |
2022-10-03 23:07:00 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 264 seconds) |
2022-10-03 23:07:41 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-03 23:08:03 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2888:9a07:52ef:e042) (Ping timeout: 268 seconds) |
2022-10-03 23:08:03 +0200 | <L29Ah> | so that a newly spawned thread won't wake up until there's available cpu time that is not desired by existing threads |
2022-10-03 23:10:03 +0200 | mikoto-chan | (~mikoto-ch@164.5.249.78) (Read error: Connection reset by peer) |
2022-10-03 23:13:40 +0200 | son0p | (~ff@2800:e2:f80:867:cac2:6501:5166:e177) |
2022-10-03 23:14:53 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds) |
2022-10-03 23:16:41 +0200 | chomwitt | (~chomwitt@2a02:587:dc14:f500:4be8:104:55e3:55fc) (Ping timeout: 268 seconds) |
2022-10-03 23:16:50 +0200 | littlefinger | (~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2022-10-03 23:19:47 +0200 | cp1313[m] | (~cp1313mat@2001:470:69fc:105::2:9293) |
2022-10-03 23:20:25 +0200 | mmhat | (~mmh@p200300f1c70623b9ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-10-03 23:20:45 +0200 | hgolden | (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2022-10-03 23:22:56 +0200 | ellensol | (~ellen@178-78-210-152.customers.ownit.se) (Ping timeout: 268 seconds) |
2022-10-03 23:24:42 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a36edbbd7fd5b13d5e1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-10-03 23:27:19 +0200 | _73 | (~user@2600:4040:5aa2:2000:ccdd:de39:6c57:78f9) |
2022-10-03 23:27:30 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-10-03 23:30:15 +0200 | littlefinger | (~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) |
2022-10-03 23:33:31 +0200 | stackdroid18 | (~stackdroi@user/stackdroid) |
2022-10-03 23:33:59 +0200 | mmhat | (~mmh@p200300f1c7062353ee086bfffe095315.dip0.t-ipconnect.de) |
2022-10-03 23:34:00 +0200 | kdaishi | (~Thunderbi@94.191.136.51.mobile.tre.se) (Ping timeout: 264 seconds) |
2022-10-03 23:34:00 +0200 | einfair | (~einfair@broadband-90-154-71-147.ip.moscow.rt.ru) (Ping timeout: 268 seconds) |
2022-10-03 23:37:20 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-10-03 23:38:25 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-03 23:43:17 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-03 23:46:54 +0200 | mastarija | (~mastarija@2a05:4f46:e03:6000:9d3a:32c4:25b6:9794) (Quit: WeeChat 3.5) |
2022-10-03 23:48:47 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds) |
2022-10-03 23:51:14 +0200 | littlefinger | (~littlefin@pool-100-15-237-121.washdc.fios.verizon.net) (Quit: Client closed) |
2022-10-03 23:57:26 +0200 | mixphix | (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Quit: Lost terminal) |
2022-10-03 23:59:06 +0200 | son0p | (~ff@2800:e2:f80:867:cac2:6501:5166:e177) (Remote host closed the connection) |