Logs on 2022-08-12 (liberachat/#haskell)
| 00:00:59 | → | moonsheep joins (~user@user/moonsheep) |
| 00:01:01 | × | moonsheep quits (~user@user/moonsheep) (Client Quit) |
| 00:01:34 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds) |
| 00:02:59 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 00:05:16 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:10:01 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 00:10:06 | → | ulvarref` joins (~user@188.124.56.153) |
| 00:10:54 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds) |
| 00:12:12 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 00:13:37 | → | adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan) |
| 00:13:54 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds) |
| 00:14:06 | × | ulvarrefr quits (~user@188.124.56.153) (Ping timeout: 244 seconds) |
| 00:15:28 | × | Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
| 00:16:03 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 00:18:50 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
| 00:20:03 | <Bulby[m]> | how would I parse utf8... it has variable size and I only know length in bytes |
| 00:20:12 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 00:20:57 | <geekosaur> | are you sure you don't want Text.decodeUtf8? |
| 00:21:49 | <geekosaur> | there's also the utf8-string package but that's generally the wrong choice, especially if you're coming from ByteString (which is what decodeUtf8 works with) |
| 00:23:04 | <dsal> | `decodeUtf8` *should* be deprecated, but if you're looking at that, you'll see the friends. :) |
| 00:23:30 | <dsal> | Bulby[m]: What do you have that isn't UTF8 that you want to be UTF8? |
| 00:24:18 | <Bulby[m]> | java utf8 |
| 00:24:29 | <Bulby[m]> | java does wacky things with DataInput and DataOutput |
| 00:24:33 | <geekosaur> | uh, I think he means "what type" |
| 00:24:33 | <Bulby[m]> | https://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html |
| 00:24:43 | <Bulby[m]> | oh |
| 00:24:47 | <geekosaur> | String? ByteString? |
| 00:24:48 | <Bulby[m]> | [Int8] |
| 00:25:00 | <Bulby[m]> | i can also get a bytestring |
| 00:25:07 | <dsal> | ByteString is a much saner place to start. |
| 00:25:15 | <geekosaur> | ^ |
| 00:25:30 | <dsal> | decodeUtf8 is `decodeUtf8 :: ByteString -> Text` |
| 00:25:30 | <Bulby[m]> | ok |
| 00:25:44 | <geekosaur> | (also, Int8? not Word8?) |
| 00:25:45 | <Bulby[m]> | oh let me look at that |
| 00:25:54 | <Bulby[m]> | i'm tired |
| 00:26:01 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:26:14 | <dsal> | Yeah, the `Int8` thing would need some fixups to be `Word8`, but that makes sense in Java since it doesn't have the equivalent. |
| 00:27:56 | <Bulby[m]> | https://hackage.haskell.org/package/text-2.0.1/docs/src/Data.Text.Encoding.html#decodeUtf8With2 awful |
| 00:27:58 | <Axman6> | Bulby[m]: in case it wasn't clear, the text package's internal representation is utf-8 these days, and pasing from a ByteString is mostly a matter of validating and then wrapping the underlying bytes IIRC. |
| 00:28:19 | <Bulby[m]> | yes but java is slightly painful in that it doesn't even use standard format |
| 00:28:36 | <Axman6> | not sure what you mean |
| 00:28:46 | <Bulby[m]> | https://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html |
| 00:28:48 | <Bulby[m]> | datainput |
| 00:28:53 | <Bulby[m]> | not standard utf8 |
| 00:29:11 | <Axman6> | but perhaps you need a binary parser like attoparsec if there's more structure than just utf-8 encoded text |
| 00:29:27 | <dsal> | You may just want `decodeUtf8Lenient :: ByteString -> Text` |
| 00:29:41 | <Bulby[m]> | why would that work |
| 00:30:06 | <dsal> | It's just a matter of what you want to do if you can't decode a UTF8 character. |
| 00:30:41 | <dsal> | But starting from attoparsec makes sense. I'm not familiar with this format, but I'm familiar with parsing junk, so it's the first thing I'd reach for here. |
| 00:30:42 | <Bulby[m]> | oh i already use decodeUtf8' which returns either |
| 00:30:53 | <dsal> | Yeah, that's a good choice if you want to fail. |
| 00:30:58 | <Bulby[m]> | so maybe the error is completely different place |
| 00:30:59 | <Axman6> | ok that DataInput thing looks gross - you're going to need a parser to handle it properly |
| 00:31:05 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 00:31:35 | <Bulby[m]> | so use a binary parser? |
| 00:31:58 | <Bulby[m]> | i was using `Binary` package, do I use different package then hook it up to get |
| 00:32:12 | <c_wraith> | wait, I don't see a case in the thing you linked to that a UTF-8 parser would handle incorrectly |
| 00:32:20 | × | nicos quits (~nico@190.247.245.154) (Remote host closed the connection) |
| 00:32:23 | <Bulby[m]> | hm |
| 00:32:31 | <c_wraith> | like, the encoding of NUL it uses is weird, but not strictly wrong |
| 00:32:32 | <Bulby[m]> | well I looked at a C# impl and it just ignored it |
| 00:32:34 | <Axman6> | I would personally just use attoparsec, binary can be used but it's more aimed at serialising and deserialising haskell data types |
| 00:32:42 | <dsal> | I've used attoparsec and attoparsec-binary for this sort of thing. |
| 00:33:54 | <Axman6> | "readDouble(): Reads eight input bytes and returns a double value." Search for endian, no results found. this is a shitty format |
| 00:33:55 | <Bulby[m]> | yeah binary errors with out of bytes, but it's so complex and I have no idea what to test |
| 00:34:32 | <Bulby[m]> | and encoding will obviously work |
| 00:36:54 | <Bulby[m]> | i need a simpler example |
| 00:38:54 | <Axman6> | I think the easiest thing to do would be to write a parser for parsing this modified utf-8 - then you can embed that into a parser that also supports the other formats shown like doubles and bools |
| 00:39:14 | <Axman6> | attoparsec will tell you location info when it has a failure IIRC |
| 00:39:40 | <Axman6> | the use of surrogate pairs sucks |
| 00:41:05 | <c_wraith> | surrogate pairs is a restriction on writing the data, not parsing it. |
| 00:41:25 | <c_wraith> | the NUL encoding is the only thing you need to check, but most UTF-8 parsers should handle it just fine |
| 00:42:02 | <Bulby[m]> | yeah it would've complained otherwise |
| 00:42:15 | <Bulby[m]> | it would've errored with text instead of no bytes left |
| 00:42:37 | <c_wraith> | It's not how the spec says to encode NUL, but NUL is the result of decoding those bytes according to the UTF-8 decoding spec |
| 00:42:44 | <Bulby[m]> | if i had to guess I likely mixed up something else |
| 00:43:34 | <c_wraith> | You'd need a UTF-8 parser that checked that everything was encoded using the minimal possible string of bytes if you wanted to find something that objected to it |
| 00:44:02 | <Bulby[m]> | awful, "getInt" not "getLong" |
| 00:44:05 | <Bulby[m]> | i hate this |
| 00:44:21 | <Bulby[m]> | i made a helper type to fix these kind of issues |
| 00:44:22 | <Bulby[m]> | oh well |
| 00:44:30 | <Axman6> | where are you looking? |
| 00:44:45 | <Bulby[m]> | NBT data from minecraft, this is another part |
| 00:44:50 | <Bulby[m]> | i messed up length on arrays |
| 00:46:30 | <Bulby[m]> | vgo;ijfoijiohfg |
| 00:46:31 | <Bulby[m]> | that fixed it |
| 00:47:10 | <Axman6> | ah the classic vgo;ijfoijiohfg, always does the trick |
| 00:47:55 | <Bulby[m]> | how fun |
| 00:47:55 | <Bulby[m]> | wow this data is uh quite dense |
| 00:47:55 | <Bulby[m]> | i'll look at it later |
| 00:48:05 | <jackdk> | https://github.com/davidgarland/named-binary-tag Bulby[m] possibly relevant? |
| 00:48:26 | <Bulby[m]> | https://github.com/jmc2obj/j-mc-2-obj/tree/master/src/org/jmc/NBT i've been referencing this |
| 00:48:29 | <Axman6> | ha, I was looking at the source code for text to see it's decoder, and came across my name =) https://hackage.haskell.org/package/text-2.0.1/docs/src/Data.Text.Internal.Encoding.Utf8.html#utf8Length |
| 00:48:48 | × | adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 00:49:03 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 00:49:15 | <jackdk> | my link is someone's haskell parser for it, to replace a defunct nbt package currently on hackage |
| 00:53:05 | × | tcard__ quits (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving) |
| 00:53:19 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 268 seconds) |
| 00:54:04 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-2cf3-e44c-3193-429d.res6.spectrum.com) (Remote host closed the connection) |
| 00:54:30 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:56:00 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 00:56:35 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 00:57:42 | → | phma_ joins (phma@2001:5b0:215d:c958:64bb:39ec:98ad:e7a1) |
| 00:58:35 | → | tcard joins (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) |
| 01:00:49 | fjmorazan_ | is now known as fjmorazan |
| 01:01:18 | × | phma quits (~phma@host-67-44-208-161.hnremote.net) (Ping timeout: 268 seconds) |
| 01:01:46 | <Bulby[m]> | wait an nbt lib exists |
| 01:01:56 | <Axman6> | that haskell package looks like it's the right way to go if that's what you're trying to decode Bulby[m], unless you really want the joy of implementing a binary parser for something that's really lose to something that already exists but is annoyingly different enough to need to rewrite everything |
| 01:02:01 | <Axman6> | yesd |
| 01:02:04 | <Axman6> | yes* |
| 01:03:11 | <Bulby[m]> | i do not want the joy |
| 01:03:20 | <Bulby[m]> | altho i already half finished it :sob: |
| 01:03:31 | <jackdk> | yeah looks like it's not on hackage yet, but you could reference it using a `source-repository-package` stanza in a `cabal.project` file: https://cabal.readthedocs.io/en/latest/cabal-project.html#specifying-packages-from-remote-version-control-locations |
| 01:03:52 | <Axman6> | rule zero of writing code - see if someone else has done it for you first :P |
| 01:04:17 | <Bulby[m]> | they don't do anything special with strings either |
| 01:04:52 | <Axman6> | yeah looks like it just calls decodeUtf8 - I would be surprised if that matters much for most data |
| 01:05:33 | <Bulby[m]> | oh well i already technically have it working 🤷 |
| 01:05:39 | <Axman6> | unless you're sure that you're going to be reading strings that either need to contain nulls or that require four byte encodings for codepoints |
| 01:06:05 | <Bulby[m]> | it will use surrogates right? i assume utf8 doesn't like that |
| 01:06:27 | <Axman6> | I'm not sure what the text package does if you have surrogates |
| 01:06:44 | <maerwald[m]> | Fail |
| 01:06:50 | <maerwald[m]> | Or truncate |
| 01:06:51 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 01:07:00 | <Bulby[m]> | fun |
| 01:07:38 | <maerwald[m]> | Ah no, replacement char |
| 01:07:55 | <maerwald[m]> | So you get nonsense out the other end |
| 01:08:28 | <maerwald[m]> | Depends on which functions you use |
| 01:10:16 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:42 | <Axman6> | it's _probably_ not going to matter unless you're getting data from chinese speakers - it would be good to update that package to actually support the encoding oproperly though, might be worth adding an issue |
| 01:15:53 | phma_ | is now known as phma |
| 01:15:56 | <nomagno> | Is there any logic to how Haskell names things? Just pretty much all default names seem unintuitive to me, but I guess you can only find so many simple, unambiguous, fitting words for complex CS concepts and types. |
| 01:16:24 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:16:24 | <albet70> | dminuoso , for example? |
| 01:19:24 | <jackdk> | nomagno: do you have an example? |
| 01:20:03 | × | kimjetwav quits (~user@2607:fea8:235e:b600:3b09:c412:8c94:9daa) (Remote host closed the connection) |
| 01:21:08 | <nomagno> | Simplest I can think of is Maybe - Just - Nothing, like, it seems extremely akward to read "Maybe Integer", or "Just foo". And this naming for options is the de facto standard now in many languages, to worsen matters |
| 01:21:27 | <nomagno> | But also stuff like case ... and then "OF" |
| 01:21:37 | <nomagno> | Where did that "of" come from? Why is it there? |
| 01:22:13 | <nomagno> | The default syntax and types are filled with broken English like this. It's not a major issue, but I just find it akward |
| 01:23:17 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 01:23:20 | × | xff0x_ quits (~xff0x@2405:6580:b080:900:7393:ed71:26f2:b383) (Ping timeout: 244 seconds) |
| 01:26:18 | <geekosaur> | sounds like you have a problem with the history of computer languages |
| 01:26:19 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 01:27:00 | <geekosaur> | do you have the same problem with the shell's version? "case ... in" |
| 01:28:02 | <nomagno> | I don't use the sh case statement much, but admittedly that's because I keep forgetting it exists, not because of the syntax :P |
| 01:28:08 | <nomagno> | But yes I will find it akward |
| 01:28:26 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 01:29:32 | <geekosaur> | anyway it comes from https://public.support.unisys.com/aseries/docs/clearpath-mcp-18.0/86000098-516/section-000026502.html (there will be an initial license click-through) |
| 01:29:41 | <geekosaur> | ALGOL influenced a bunch of languages |
| 01:31:18 | <nomagno> | Well to be fair "else" is just a bunch of nonsense and I don't have a problem with it, so you're right |
| 01:35:31 | <geekosaur> | and if you want programming in "English" the closest you get is COBOL. there's a reason nobody uses it any more except corporations with huge investments in it |
| 01:36:12 | → | lsrts^ joins (~lsrts@206.85.120.17) |
| 01:36:46 | <geekosaur> | ADD 1 TO FOO GIVING BAR |
| 01:37:27 | <nomagno> | Let's not get too carried away, indeed :$ |
| 01:48:10 | <monochrom> | SML would have you write "datatype 'a Option = None | Some of 'a". I suppose you'll find it "natural" because "Some of int" and "int option" read like English. |
| 01:48:12 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 268 seconds) |
| 01:48:31 | <monochrom> | But what's so special about English? Why English? Why not Japanese for example? |
| 01:48:33 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 01:48:38 | <monochrom> | This exposes your bias. |
| 01:49:02 | <monochrom> | In Hungarian, English is the awkward one. |
| 01:49:43 | <texasmynsted> | Yesterday I found DBFunctor and Julius. So interesting. Anybody here using it? |
| 01:49:46 | <texasmynsted> | https://github.com/nkarag/haskell-DBFunctor#readme |
| 01:52:52 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 01:53:33 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 01:55:35 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 268 seconds) |
| 01:57:24 | → | kimjetwav joins (~user@2607:fea8:235e:b600:3b09:c412:8c94:9daa) |
| 01:57:31 | → | xff0x_ joins (~xff0x@2405:6580:b080:900:d617:1bf4:887a:1487) |
| 01:59:16 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 02:00:05 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:00:27 | → | nate4 joins (~nate@98.45.169.16) |
| 02:01:14 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
| 02:01:51 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 02:04:01 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 02:04:01 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 02:04:01 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:04:47 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 02:05:12 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 02:07:25 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-1069-803a-a882-c346.res6.spectrum.com) |
| 02:11:45 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
| 02:13:49 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:13:49 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:13:49 | finn_elija | is now known as FinnElija |
| 02:14:19 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 02:16:42 | × | funsafe_ quits (~funsafe@2601:1c1:4200:9ac:84cb:185c:2a3c:c92c) (Quit: funsafe_) |
| 02:17:17 | → | fserucas_ joins (~fserucas@46.50.4.22) |
| 02:17:20 | → | img joins (~img@user/img) |
| 02:18:54 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 02:18:56 | × | img quits (~img@user/img) (Client Quit) |
| 02:19:09 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-1069-803a-a882-c346.res6.spectrum.com) (Ping timeout: 244 seconds) |
| 02:20:10 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 02:20:14 | × | fserucas quits (~fserucas@83.223.227.123) (Ping timeout: 268 seconds) |
| 02:21:27 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 02:21:47 | → | img joins (~img@user/img) |
| 02:22:04 | × | kimjetwav quits (~user@2607:fea8:235e:b600:3b09:c412:8c94:9daa) (Remote host closed the connection) |
| 02:22:23 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
| 02:23:06 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 02:23:37 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:24:32 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:24:40 | → | kimjetwav joins (~user@2607:fea8:235e:b600:3b09:c412:8c94:9daa) |
| 02:24:58 | <hmw[at]> | geekosaur: Pascal is nice too |
| 02:26:47 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 02:27:58 | <monochrom> | Are you referring to "begin" and "end"? :) |
| 02:30:05 | × | td_ quits (~td@94.134.91.58) (Ping timeout: 252 seconds) |
| 02:32:06 | → | td_ joins (~td@muedsl-82-207-238-237.citykom.de) |
| 02:32:25 | <hmw[at]> | More like the "then" keyword. I remember having fun trying to make my code look like English. Still do, when feasible with other languages. |
| 02:32:52 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 02:33:36 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds) |
| 02:33:38 | <hmw[at]> | While program_running do check_for_input(); Heheheh |
| 02:33:48 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 02:35:01 | <monochrom> | To make it easier to write a parser, you want either C's "if (expr) stmt" or "if expr then stmt", certainly not "if expr stmt". |
| 02:35:34 | <monochrom> | At that point "then" is just another punctuation. |
| 02:35:45 | <hmw[at]> | Surely true |
| 02:35:50 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 02:36:12 | <hmw[at]> | I recently patches an old Delphi program and it was not as pretty as I remembered it to be |
| 02:36:15 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:36:26 | <hmw[at]> | But some lines were proper English |
| 02:36:28 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-1069-803a-a882-c346.res6.spectrum.com) |
| 02:38:08 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 02:45:25 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 02:45:55 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:48:47 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 02:50:34 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 02:54:49 | × | mmhat quits (~mmh@p200300f1c706f76bee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6) |
| 02:55:25 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-1069-803a-a882-c346.res6.spectrum.com) (Ping timeout: 268 seconds) |
| 02:55:46 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 02:57:10 | → | zaquest joins (~notzaques@5.130.79.72) |
| 02:58:50 | <texasmynsted> | proper English is not ideal for math either |
| 02:59:03 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 03:00:02 | × | haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 03:01:21 | → | haasn joins (~nand@haasn.dev) |
| 03:02:21 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 03:02:49 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:03:49 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 03:03:49 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 03:05:08 | → | maroloccio joins (~marolocci@62.98.94.196) |
| 03:05:50 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:05:52 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 03:06:10 | <dsal> | nomagno: what would you call Maybe? |
| 03:08:00 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-1069-803a-a882-c346.res6.spectrum.com) |
| 03:15:32 | <monochrom> | I think it was not so much about "Maybe" but about "TypeConstructor TypeParameter" vs "TypeConstructor of TypeParameter" or otherwise making it look like English. |
| 03:19:43 | <hippoid> | applescript looks like english. i find it out totally unreadable |
| 03:19:54 | <dsal> | applescript is harder to write than to read. heh |
| 03:20:19 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 03:23:50 | → | iqubic joins (~iqubic@2601:602:9502:c70:821e:5947:9a04:74d9) |
| 03:23:53 | ← | iqubic parts (~iqubic@2601:602:9502:c70:821e:5947:9a04:74d9) () |
| 03:29:17 | → | mixfix41 joins (~sdenynine@user/mixfix41) |
| 03:32:07 | → | frost joins (~frost@user/frost) |
| 03:32:25 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 03:32:29 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 03:37:19 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
| 03:41:19 | × | maroloccio quits (~marolocci@62.98.94.196) (Quit: WeeChat 3.6) |
| 03:43:20 | × | Hash quits (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Remote host closed the connection) |
| 03:46:14 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 03:50:56 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:53:41 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 03:55:00 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 03:55:48 | → | Hash joins (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) |
| 04:01:20 | <Axman6> | in Daml they've added a "with" syntax for record construction, which works quite like record wildcards, but they bind tightly enough to the constructor that braces are unnecessary. Like sendRequest SomeRequest with\n foo \n bar = a + b\n baz = False |
| 04:02:14 | <Axman6> | hippoid: agreed - I reied to write AppleScript back in the day and I could never make any sense of it, there always seemed to be some extra syntax needed for anything you wanted to do. I probably never managed to do anything more than a five line script |
| 04:03:04 | <Axman6> | I remember being fairly excited about F-Script back in the day https://en.wikipedia.org/wiki/F-Script_(programming_language) |
| 04:04:13 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 04:06:36 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 04:08:43 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 04:09:36 | → | vglfr joins (~vglfr@37.73.5.81) |
| 04:17:29 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds) |
| 04:29:15 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 04:37:36 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 04:38:02 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 04:38:08 | × | jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:51:01 | → | coot joins (~coot@213.134.176.158) |
| 04:53:06 | → | obabo joins (~obabo@20014C4C1C5409000000000000001000.catv.pool.telekom.hu) |
| 04:53:18 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 04:53:49 | × | vglfr quits (~vglfr@37.73.5.81) (Ping timeout: 268 seconds) |
| 04:57:51 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 05:01:40 | × | hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 05:01:54 | → | hrberg joins (~quassel@171.79-160-161.customer.lyse.net) |
| 05:08:01 | <Clinton[m]> | Is there anyway I can "pin" cabal to a particular snapshot of `cabal update`? I know the answer is probably "use nix", and we are, but we've got a few bits and bobs that we haven't converted to nix (which are more utilities rather than our actual product we put through CI). |
| 05:09:03 | <sclv> | Clinton[m]: every time you update it gives you the command to pin it to a fixed timestamp :-) |
| 05:09:26 | <sclv> | and you can drop it at the top of a project file to set it for the whole project |
| 05:09:37 | <sclv> | its the —index-state arg |
| 05:10:55 | <Clinton[m]> | ah perfect thank you for pointing out what should have been obvious to me but wasn't :) |
| 05:11:06 | <Clinton[m]> | that'll do the job! |
| 05:13:01 | <Clinton[m]> | sclv: if I do that, why do I need freeze files also? Won't the build be the same each time if one uses the same `index-state`? |
| 05:13:15 | <Clinton[m]> | reading from: https://cabal.readthedocs.io/en/3.4/cabal-project.html?highlight=index-state |
| 05:14:37 | <sclv> | indeed. many people consider it sufficient on its own. freeze files do capture flags as well, so using both together is the Most Solid. but either on their own is 99% there |
| 05:15:40 | <sclv> | oh and index-state doesn’t protect against solver drift between cabal versions, which is rare but possible |
| 05:24:18 | <maerwald[m]> | sclv: there are some cli arguments that influence solver too |
| 05:24:26 | <maerwald[m]> | Not just flags |
| 05:24:34 | <maerwald[m]> | I think |
| 05:24:38 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 05:25:17 | <maerwald[m]> | Freeze file usually works not so well across OSes |
| 05:25:31 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 05:26:10 | <sclv> | sure. but i consider running with options that are supposed to influence solver as deliberately circumventing reproduction so not relevant ;-) |
| 05:26:42 | <sclv> | re freeze files yeah you need one per os/arch |
| 05:27:39 | jackdk | takes a drink from his "use nix for literally everything" mug :-) |
| 05:27:43 | <maerwald[m]> | sclv: the new ones can have conditionals though |
| 05:27:57 | <maerwald[m]> | How much do they support again? |
| 05:27:58 | × | phma quits (phma@2001:5b0:215d:c958:64bb:39ec:98ad:e7a1) (Read error: Connection reset by peer) |
| 05:28:12 | <maerwald[m]> | jackdk: don't choke on it |
| 05:28:37 | <jackdk> | maerwald[m]: copied wilco |
| 05:28:39 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 05:28:53 | → | phma joins (phma@2001:5b0:211c:4d8:11d:2b38:21ca:1643) |
| 05:30:39 | <sclv> | conditions can case on compiler version, os, arch. but the freeze cmd won’t solve across variations and generate with conditions for you :-) |
| 05:31:37 | <sclv> | wilco uses nix for everything?? or they just have the mug? |
| 05:34:30 | <jackdk> | wilco = "will comply" |
| 05:37:24 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 05:40:07 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds) |
| 05:40:07 | × | noteness quits (~noteness@user/noteness) (Ping timeout: 268 seconds) |
| 05:47:23 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 05:49:21 | → | califax joins (~califax@user/califx) |
| 05:50:03 | × | inversed quits (~inversed@90.209.137.56) (Ping timeout: 268 seconds) |
| 05:52:21 | → | zxx7529 joins (~Thunderbi@user/zxx7529) |
| 05:54:20 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 05:54:59 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 05:55:46 | → | kenran joins (~kenran@p200300df770eae00ab4ca66d3d83f79e.dip0.t-ipconnect.de) |
| 05:57:51 | → | inversed joins (~inversed@90.209.137.56) |
| 05:59:00 | <Clinton[m]> | sclv: we've got Nix set up for the important stuff so close enough should be good enough |
| 05:59:09 | <Clinton[m]> | sclv: thanks for all the help! |
| 06:00:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 06:07:56 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 06:08:02 | → | noteness joins (~noteness@user/noteness) |
| 06:09:33 | → | nilradical joins (~nilradica@user/naso) |
| 06:11:23 | → | pagnol joins (~me@213-205-209-87.ftth.glasoperator.nl) |
| 06:12:08 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 06:13:17 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:18:07 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:19:00 | → | echoreply joins (~echoreply@45.32.163.16) |
| 06:23:26 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 06:24:02 | × | califax quits (~califax@user/califx) (Read error: Connection reset by peer) |
| 06:24:22 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 06:24:30 | → | califax joins (~califax@user/califx) |
| 06:24:42 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 06:25:04 | → | califax joins (~califax@user/califx) |
| 06:39:32 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 06:40:23 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 06:40:23 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 06:40:23 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Read error: Connection reset by peer) |
| 06:40:24 | → | acidjnk joins (~acidjnk@p5dd87aad.dip0.t-ipconnect.de) |
| 06:40:44 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:40:49 | → | califax joins (~califax@user/califx) |
| 06:40:54 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 06:41:10 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 06:43:30 | → | king_gs joins (~Thunderbi@2806:103e:29:da31:dbd5:c070:5d09:91ef) |
| 06:43:53 | × | king_gs quits (~Thunderbi@2806:103e:29:da31:dbd5:c070:5d09:91ef) (Client Quit) |
| 06:47:03 | → | michalz joins (~michalz@185.246.204.73) |
| 06:50:20 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 06:50:48 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 06:52:21 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 06:53:06 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:faf9:d24c:386e:41db) |
| 06:53:13 | → | chomwitt joins (~chomwitt@2a02:587:dc15:5e00:e515:c8d5:9938:b1b6) |
| 06:53:31 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 06:53:50 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 06:55:06 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 06:56:53 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 06:58:13 | → | ddellacosta joins (~ddellacos@143.244.47.77) |
| 07:01:11 | → | nate4 joins (~nate@98.45.169.16) |
| 07:03:56 | × | chomwitt quits (~chomwitt@2a02:587:dc15:5e00:e515:c8d5:9938:b1b6) (Ping timeout: 268 seconds) |
| 07:05:24 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:06:22 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 07:08:13 | × | ddellacosta quits (~ddellacos@143.244.47.77) (Ping timeout: 268 seconds) |
| 07:08:23 | × | luffy quits (~chenqisu1@183.217.201.23) (Ping timeout: 252 seconds) |
| 07:09:38 | → | ddellacosta joins (~ddellacos@143.244.47.100) |
| 07:09:59 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 07:18:26 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 07:19:39 | → | zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
| 07:24:17 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:24:46 | <qrpnxz> | if my program is printing <<loop>> is that the compiler detecting the loop, or the runtime? |
| 07:29:48 | × | mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds) |
| 07:29:58 | <[exa]> | usually ghci can relatively easily see that a thunk evaluates precisely to itself, at which point it says it's a loop |
| 07:30:20 | <[exa]> | so yeah I'd say it's more of a runtime check. |
| 07:30:52 | <qrpnxz> | hard to debug, not sure where to look :( |
| 07:31:38 | <[exa]> | statistically probable guess: do you use `let`s in a do notation? |
| 07:31:47 | <qrpnxz> | oh, it was probably caused by my incesant variable shadowing |
| 07:32:12 | <qrpnxz> | [exa]: generally? yes. In this program, i think not even once actually |
| 07:32:18 | <qrpnxz> | maybe in a couple of places |
| 07:32:43 | <[exa]> | doing let x = ...... x .... in `do` notation is a pretty common source of loops |
| 07:33:07 | <[exa]> | and people usually don't see the error because in the context they don't expect the let to be recursive |
| 07:33:19 | <qrpnxz> | yeah, i do think i probably shadowed a variable somewhere and did a loop like that. Not in a let precisely, but basically just like that |
| 07:34:06 | <[exa]> | anyway if the code piece isn't big feel free to pastebin |
| 07:34:34 | <qrpnxz> | it's a lot :) |
| 07:36:09 | <[exa]> | btw try -fbreak-on-exception ( https://stackoverflow.com/a/5341615/1043097 ) |
| 07:37:07 | <qrpnxz> | oooo, thanks! |
| 07:38:42 | → | jgeerds joins (~jgeerds@55d46bad.access.ecotel.net) |
| 07:39:06 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 07:45:10 | <qrpnxz> | program just hangs with 0% CPU usage on GHCi 😢 |
| 07:53:28 | → | mikoto-chan joins (~mikoto-ch@164.5.249.78) |
| 07:55:04 | → | vysn joins (~vysn@user/vysn) |
| 07:57:16 | → | kuribas joins (~user@ptr-17d51ep53yh2tjb64h5.18120a2.ip6.access.telenet.be) |
| 07:57:28 | → | dcoutts joins (~duncan@host86-153-135-126.range86-153.btcentralplus.com) |
| 08:00:08 | × | dcoutts_ quits (~duncan@host86-153-135-126.range86-153.btcentralplus.com) (Ping timeout: 244 seconds) |
| 08:02:18 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:03:08 | → | dcoutts_ joins (~duncan@host86-153-135-126.range86-153.btcentralplus.com) |
| 08:05:49 | × | dcoutts quits (~duncan@host86-153-135-126.range86-153.btcentralplus.com) (Ping timeout: 244 seconds) |
| 08:06:51 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:faf9:d24c:386e:41db) (Ping timeout: 244 seconds) |
| 08:07:16 | → | vglfr joins (~vglfr@37.73.5.81) |
| 08:07:29 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:5ebd:3f23:ea49:1bd8) |
| 08:07:42 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 08:08:29 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 08:11:53 | <albet70> | could foldl1 be defined with list comprehension? |
| 08:12:50 | <c_wraith> | could it? what do list comprehensions desugar into? |
| 08:15:40 | → | ccntrq joins (~Thunderbi@172.209.94.92.rev.sfr.net) |
| 08:16:10 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 08:16:38 | <qrpnxz> | ohhh, i think an infinite data structure is getting forced in my code :(( |
| 08:17:07 | <c_wraith> | that should produce <<loop>> |
| 08:17:12 | <c_wraith> | err. should *not* |
| 08:17:36 | <qrpnxz> | why not? makes sense |
| 08:17:58 | <c_wraith> | <<loop>> specifically means that ghc has found that in order to scrutinize a value, it must know the result of doing so |
| 08:18:25 | <c_wraith> | that's almost never true of infinite structures |
| 08:18:26 | <qrpnxz> | i think it's a recursive infinite data structure |
| 08:19:08 | <qrpnxz> | i've no idea why it would try to force the whole thing tho 🤔 |
| 08:19:17 | → | coot joins (~coot@213.134.176.158) |
| 08:19:18 | <c_wraith> | If there's ever a constructor guarding the recursion, it won't produce <<loop>> |
| 08:20:17 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 08:23:03 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 08:33:49 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 08:36:09 | → | CiaoSen joins (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 08:39:32 | <qrpnxz> | found the problem. I have a chain like `a = b <*> a` but my (<*>) is not lazy on the right side :(( sad |
| 08:40:13 | <dminuoso> | Even if it was lazy, you'd still have that problem |
| 08:40:42 | <dminuoso> | Or possibly, anyway. |
| 08:41:06 | <[exa]> | except for very special cases where b==Nothing or b==[] or so |
| 08:41:15 | <[exa]> | what is it supposed to do btw? |
| 08:42:27 | <qrpnxz> | dminuoso: i meant that for (<*>) to produce it need to deconstruct the right side, but it can't because the right side need to also deconstruct it's right side and so on |
| 08:44:02 | <qrpnxz> | [exa]: it's for a stream monad transformer. One change i made this worked totally fine, but i lost stream fusion. Changed the data type back and now (<*>) and >>= have rather undesirable properties |
| 08:45:02 | × | mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds) |
| 08:47:40 | × | pagnol quits (~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 244 seconds) |
| 08:51:09 | → | nattiestnate joins (~nate@180.243.14.16) |
| 08:51:18 | × | nattiestnate quits (~nate@180.243.14.16) (Client Quit) |
| 08:51:58 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 08:56:05 | → | Psybur joins (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) |
| 08:56:42 | × | chronon quits (~chronon@user/chronon) (Quit: leaving) |
| 08:57:24 | × | chimp_ quits (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Ping timeout: 268 seconds) |
| 08:57:29 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:59:35 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 09:00:02 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 09:00:21 | × | entheogenesis[m4 quits (~entheogen@2001:470:69fc:105::1:e7c4) (Quit: You have been kicked for being idle) |
| 09:02:09 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 244 seconds) |
| 09:08:01 | → | yvan-sraka joins (~yvan-srak@105.67.135.250) |
| 09:08:33 | → | chele joins (~chele@user/chele) |
| 09:11:28 | <tomsmeding> | qrpnxz: this is probably not helpful, but usually >>= can refer to its own result on its right-hand side, because of the explicit sequencing involved |
| 09:11:46 | <tomsmeding> | for <*>, less often, because the effects tend to be evaluated at the same time |
| 09:12:12 | <tomsmeding> | this makes no sense |
| 09:12:19 | <tomsmeding> | qrpnxz: ignore what I wrote, it's nonsense |
| 09:13:18 | <tomsmeding> | proof: a <*> b = a >>= \x -> b >>= \y -> return (x y) |
| 09:14:01 | × | ddellacosta quits (~ddellacos@143.244.47.100) (Ping timeout: 268 seconds) |
| 09:15:35 | <qrpnxz> | i could add laziness, but it would kill fusion. Indeed my (>>=) loses fusion on the continuation stream. If i did (<*>) = ap (what you demonstrated) indeed it would fix the laziness problem |
| 09:15:57 | → | ddellacosta joins (~ddellacos@86.106.121.183) |
| 09:16:21 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 252 seconds) |
| 09:17:48 | <qrpnxz> | so it's valid what you are pointing out :) |
| 09:18:56 | <qrpnxz> | and perahps doing (<*>) = ap would be the proper thing to do in this case, and have another function that does the strict thing |
| 09:19:10 | × | noteness quits (~noteness@user/noteness) (Remote host closed the connection) |
| 09:19:43 | <tomsmeding> | usually implementing (<*>) specially has the potential to give _more_ performance, because you have more information about the structure of the computation |
| 09:19:50 | <tomsmeding> | interesting that it is the other way round for you :)( |
| 09:19:52 | <tomsmeding> | * :) |
| 09:20:53 | → | noteness joins (~noteness@user/noteness) |
| 09:21:25 | × | ddellacosta quits (~ddellacos@86.106.121.183) (Ping timeout: 268 seconds) |
| 09:21:48 | → | chronon joins (~chronon@user/chronon) |
| 09:22:00 | → | benin0 joins (~benin@183.82.31.108) |
| 09:25:14 | <qrpnxz> | indeed lol. And there is some posibility it wouldn't lose fusion afterall. Where i was losing fusion is when the stepper function was totally dynamic and could be replaced any time, but with the monad instance, even though i have to pass the stepper around, the stepper remains fixed on every iteration of that branch, so there's some possibility that GHC could still be favorable to that. I'm going |
| 09:25:15 | <qrpnxz> | to do (<*>) = ap and see what the benchmarks say. |
| 09:29:26 | <qrpnxz> | eh, no loop, but the performance is utterly garbage. So bad i want to remove the instances. |
| 09:30:47 | <qrpnxz> | well, they still might be useful, so i just need to note that they should be super avoided at least. "`s = yield a >> s` considered harmful" |
| 09:32:51 | → | ski joins (~ski@ext-1-308.eduroam.chalmers.se) |
| 09:32:54 | × | yvan-sraka quits (~yvan-srak@105.67.135.250) (Ping timeout: 252 seconds) |
| 09:36:11 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 09:37:40 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:40:03 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:43:12 | → | mmhat joins (~mmh@p200300f1c706f761ee086bfffe095315.dip0.t-ipconnect.de) |
| 09:44:44 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 09:47:45 | × | m1dnight_ quits (~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.6) |
| 09:48:25 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 09:48:58 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 09:50:58 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 09:51:50 | → | Everything joins (~Everythin@37.115.210.35) |
| 09:51:56 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:52:25 | × | lsrts^ quits (~lsrts@206.85.120.17) (Remote host closed the connection) |
| 09:52:28 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 09:55:21 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 09:56:48 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 09:56:56 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 10:00:29 | → | luffy joins (~chenqisu1@183.217.201.23) |
| 10:03:33 | × | fserucas_ quits (~fserucas@46.50.4.22) (Quit: Leaving) |
| 10:04:16 | → | chomwitt joins (~chomwitt@2a02:587:dc15:5e00:38ea:666e:63fd:fbc3) |
| 10:06:57 | <qrpnxz> | ByteStrings mconcat very fast! at least much faster than going through Builder. Good to know |
| 10:07:40 | × | vglfr quits (~vglfr@37.73.5.81) (Ping timeout: 268 seconds) |
| 10:08:31 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 10:09:20 | <maerwald[m]> | qrpnxz: lazy? |
| 10:09:34 | <qrpnxz> | strict ByteString |
| 10:10:03 | <maerwald[m]> | It's O(n) |
| 10:10:50 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 10:10:50 | <qrpnxz> | as expected |
| 10:13:04 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 10:14:36 | × | CiaoSen quits (~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 10:15:04 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 10:15:28 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:17:10 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 10:17:16 | → | pagnol joins (~me@213-205-209-87.ftth.glasoperator.nl) |
| 10:23:07 | × | chomwitt quits (~chomwitt@2a02:587:dc15:5e00:38ea:666e:63fd:fbc3) (Ping timeout: 268 seconds) |
| 10:23:10 | → | vglfr joins (~vglfr@37.73.5.81) |
| 10:24:08 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 10:24:25 | <zzz> | can we do something like `module A hiding (a, b) where ...` ? |
| 10:25:43 | <dminuoso> | zzz: No. |
| 10:25:56 | <zzz> | ok |
| 10:27:32 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:28:51 | <dminuoso> | qrpnxz: Builders give you constant concatenation, mind you. |
| 10:30:35 | <qrpnxz> | oh yeah builders are great, but i just cut a benchmark time in half by going directly stream -> [bytestring] -> bytestring rather than stream stream -> builder -> bytestring |
| 10:30:51 | × | haskl quits (~haskl@user/haskl) (Read error: Connection reset by peer) |
| 10:31:50 | <qrpnxz> | so basically `mconcat . foldr (:) []` vs `toStrict . toLazyBytestring . foldr ((<>) BB.bytestring) mempty` |
| 10:31:52 | <dminuoso> | I guess it still depends on the actual numbers involved. |
| 10:32:42 | → | Jade1 joins (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) |
| 10:33:10 | → | haskl joins (~haskl@user/haskl) |
| 10:33:55 | → | king_gs joins (~Thunderbi@2806:103e:29:da31:cbac:d5de:e706:b041) |
| 10:33:55 | × | king_gs quits (~Thunderbi@2806:103e:29:da31:cbac:d5de:e706:b041) (Client Quit) |
| 10:34:40 | → | vysn joins (~vysn@user/vysn) |
| 10:35:25 | × | acidjnk quits (~acidjnk@p5dd87aad.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 10:35:27 | × | jgeerds quits (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 268 seconds) |
| 10:36:22 | <qrpnxz> | for this usecase builder ended up just being overhead since all my strings were already coming in as a stream, if i had been needing to append to the end, perhaps builder would have been better. Though i also wonder if a simple `mconcat . reverse` or Seq wouldn't be better in that case too |
| 10:39:16 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 10:40:09 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 10:41:51 | × | nilradical quits (~nilradica@user/naso) () |
| 10:43:44 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:5ebd:3f23:ea49:1bd8) (Ping timeout: 255 seconds) |
| 10:44:42 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 10:46:54 | <dminuoso> | Oh you mean they were already coming in reverse? |
| 10:47:56 | <dminuoso> | That is, per chunk in forward order, but chunks in reverse order? |
| 10:50:13 | × | vglfr quits (~vglfr@37.73.5.81) (Ping timeout: 268 seconds) |
| 10:51:57 | <qrpnxz> | no they weren't coming in reverse in the stream, but i'm saying in the case you wanted to build a bytestring by appending, you'd consider using Builder, but i wonder if it would not be just a good to build it in reverse and then hit it with `mconcat . reverse` at the end |
| 10:52:08 | <qrpnxz> | dminuoso: |
| 10:53:12 | <qrpnxz> | and i don't know, if you wanted to use the builder multiple times, I think Builder should definitely be better? |
| 10:54:09 | <qrpnxz> | and i think Builder is also made so that it can write directly to a Handle as well |
| 10:54:38 | <dminuoso> | Be sure to measure memory behavior in the comparison as well. |
| 10:55:29 | × | frost quits (~frost@user/frost) (Quit: Client closed) |
| 10:55:58 | <zzz> | if i keep a key pressed for some time, gloss throws a sequence of up and down keypress events |
| 10:56:05 | <zzz> | is this expected behaviour? |
| 10:56:16 | <dminuoso> | The builder drivers have some careful logic with regard to allocation strategies |
| 10:56:18 | × | pie_ quits (~pie_bnc@user/pie/x-2818909) (Ping timeout: 240 seconds) |
| 10:57:08 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 10:57:12 | <qrpnxz> | zzz: it makes sense for a text buffer :) maybe it's configurable? |
| 10:58:06 | <dminuoso> | zzz: That sounds unexpected given the gloss interface |
| 10:58:23 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 10:58:48 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 11:00:15 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:5e5a:edaf:8ebd:d4fc) |
| 11:01:13 | → | m1dnight joins (~christoph@78-22-0-121.access.telenet.be) |
| 11:02:33 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 11:02:41 | → | nate4 joins (~nate@98.45.169.16) |
| 11:04:38 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 11:05:22 | × | xnbya2 quits (~xnbya@2a01:4f8:c17:cbdd::1) (Quit: quit) |
| 11:05:30 | → | xnbya joins (~xnbya@2a01:4f8:c17:cbdd::1) |
| 11:07:27 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 11:13:27 | → | nicos joins (~nico@190.247.245.154) |
| 11:16:19 | × | Everything quits (~Everythin@37.115.210.35) (Quit: leaving) |
| 11:17:57 | × | m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Read error: Connection reset by peer) |
| 11:18:24 | → | alternateved joins (~user@staticline-31-183-149-36.toya.net.pl) |
| 11:18:59 | × | Alex_test quits (~al_test@178.34.151.166) (Quit: ;-) |
| 11:19:03 | × | AlexZenon quits (~alzenon@178.34.151.166) (Quit: ;-) |
| 11:19:12 | × | AlexNoo quits (~AlexNoo@178.34.151.166) (Quit: Leaving) |
| 11:21:03 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds) |
| 11:21:35 | → | jgeerds joins (~jgeerds@55d46bad.access.ecotel.net) |
| 11:22:02 | → | dsrt^ joins (~dsrt@206.85.120.17) |
| 11:23:35 | → | m1dnight joins (~christoph@78-22-0-121.access.telenet.be) |
| 11:24:33 | → | AlexZenon joins (~alzenon@178.34.151.166) |
| 11:24:34 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:24:39 | → | AlexNoo joins (~AlexNoo@178.34.151.166) |
| 11:26:17 | → | Alex_test joins (~al_test@178.34.151.166) |
| 11:28:04 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 11:28:04 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Client Quit) |
| 11:29:08 | × | pagnol quits (~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 268 seconds) |
| 11:30:38 | → | vglfr joins (~vglfr@37.73.5.81) |
| 11:36:13 | → | pagnol joins (~me@213-205-209-87.ftth.glasoperator.nl) |
| 11:38:13 | <zzz> | yeah i'm finding it weird |
| 11:38:59 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 11:40:12 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 11:40:18 | × | Jade1 quits (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) (Quit: Client closed) |
| 11:40:38 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 11:41:00 | × | m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Read error: Connection reset by peer) |
| 11:42:39 | × | pagnol quits (~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 11:43:08 | × | pie_ quits (~pie_bnc@user/pie/x-2818909) () |
| 11:43:29 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 11:43:36 | → | Jade1 joins (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) |
| 11:44:28 | → | chomwitt joins (~chomwitt@2a02:587:dc15:5e00:454b:92f1:2a92:b402) |
| 11:45:11 | → | pagnol joins (~me@213-205-209-87.ftth.glasoperator.nl) |
| 11:46:55 | → | m1dnight joins (~christoph@78-22-0-121.access.telenet.be) |
| 11:47:55 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 11:50:11 | × | darchitect1 quits (~darchitec@2a00:23c6:3584:df01:81a:29c9:cfd8:abaa) (Ping timeout: 268 seconds) |
| 11:50:24 | → | Guest|18 joins (~Guest|18@p5ddb3d05.dip0.t-ipconnect.de) |
| 11:51:38 | × | Guest|18 quits (~Guest|18@p5ddb3d05.dip0.t-ipconnect.de) (Client Quit) |
| 11:53:43 | <zzz> | fun. intuitively `[show a,show b] === map show [a,b]` but the second one may not typecheck if a and b have different types. i keep tripping over it, felt like sharing |
| 11:53:47 | <zzz> | subscribe |
| 11:54:21 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 11:54:33 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:55:43 | × | nicos quits (~nico@190.247.245.154) (Remote host closed the connection) |
| 11:59:19 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 11:59:57 | → | nicos joins (~nico@190.247.245.154) |
| 12:03:33 | × | vglfr quits (~vglfr@37.73.5.81) (Ping timeout: 252 seconds) |
| 12:04:47 | × | noteness quits (~noteness@user/noteness) (Remote host closed the connection) |
| 12:04:54 | × | Jade1 quits (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) (Quit: Client closed) |
| 12:06:03 | → | noteness joins (~noteness@user/noteness) |
| 12:06:19 | <hpc> | zzz: check out rank 2 types, if you want to wrinkle your brain :D |
| 12:07:27 | × | mixfix41 quits (~sdenynine@user/mixfix41) (Ping timeout: 268 seconds) |
| 12:09:48 | <fgaz> | maerwald: good idea, generating platform independent freeze files |
| 12:11:24 | → | benin04 joins (~benin@2401:4900:2325:5674:b133:d14b:76b3:3d8) |
| 12:13:37 | × | benin0 quits (~benin@183.82.31.108) (Ping timeout: 268 seconds) |
| 12:13:37 | benin04 | is now known as benin0 |
| 12:14:38 | dunj3_ | is now known as dunj3 |
| 12:15:48 | → | cyphase joins (~cyphase@user/cyphase) |
| 12:17:10 | → | benin04 joins (~benin@183.82.178.4) |
| 12:18:14 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 12:18:24 | × | pie_ quits (~pie_bnc@user/pie/x-2818909) () |
| 12:19:01 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 12:19:31 | → | talismanick joins (~talismani@2601:200:c100:3850::dd64) |
| 12:19:32 | × | benin0 quits (~benin@2401:4900:2325:5674:b133:d14b:76b3:3d8) (Ping timeout: 255 seconds) |
| 12:19:32 | benin04 | is now known as benin0 |
| 12:20:35 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 12:20:53 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 12:28:19 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 12:30:03 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 12:33:26 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 12:43:09 | × | chomwitt quits (~chomwitt@2a02:587:dc15:5e00:454b:92f1:2a92:b402) (Remote host closed the connection) |
| 12:43:28 | → | chomwitt joins (~chomwitt@2a02:587:dc15:5e00:41c2:c97c:1364:63b1) |
| 12:44:00 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:45:01 | → | nilradical joins (~nilradica@user/naso) |
| 12:45:35 | <nilradical> | is there a library that can do basic plots inside the terminal |
| 12:45:42 | <ski> | existential types, not rank-2, is what'd help in the above situation |
| 12:46:08 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 12:46:08 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 12:46:08 | × | noteness quits (~noteness@user/noteness) (Remote host closed the connection) |
| 12:46:08 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 12:46:08 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 12:46:08 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 12:46:08 | × | califax quits (~califax@user/califx) (Write error: Broken pipe) |
| 12:46:08 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 12:46:31 | → | noteness joins (~noteness@user/noteness) |
| 12:46:36 | <ski> | (but yes, rank-2 is kinda related) |
| 12:46:38 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 12:46:39 | → | califax joins (~califax@user/califx) |
| 12:46:39 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 12:46:43 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 12:47:10 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 12:47:14 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 12:49:01 | → | Tuplanolla joins (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) |
| 12:49:07 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 12:54:49 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
| 12:55:05 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 12:55:23 | <dminuoso> | Im building a trie of domain names (according to their labels), where realistically most nodes will have relatively few children. Right now Im using `data DomTrie = DomTrie Bool (M.Map Label DomTrie)` |
| 12:55:31 | × | Alex_test quits (~al_test@178.34.151.166) (Quit: ;-) |
| 12:55:57 | × | AlexZenon quits (~alzenon@178.34.151.166) (Quit: ;-) |
| 12:55:59 | × | luffy quits (~chenqisu1@183.217.201.23) (Ping timeout: 252 seconds) |
| 12:56:08 | <dminuoso> | Im wondering, is the Map overkill if, most of the time, there's only less than 5 children? Is there a better way to encode this? |
| 12:56:34 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 12:56:39 | × | AlexNoo quits (~AlexNoo@178.34.151.166) (Quit: Leaving) |
| 12:57:09 | <nilradical> | ok found this, soo cool https://github.com/weeezes/plot |
| 12:58:17 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 12:58:56 | <sm> | nilradical: if it's any good, please let us know |
| 12:59:38 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 13:02:48 | × | jgeerds quits (~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 268 seconds) |
| 13:03:46 | <chreekat> | I hope to have more excuses to learn how to use https://www.visidata.org/ and https://ggplot2.tidyverse.org/ |
| 13:05:31 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 13:05:38 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:06:42 | <zzz> | hpc: oh im familiar with all that. just felt like sharing this surprisingly common think that happens when i'm mindlessly coding |
| 13:08:27 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 13:09:31 | × | kenran quits (~kenran@p200300df770eae00ab4ca66d3d83f79e.dip0.t-ipconnect.de) (Quit: WeeChat info:version) |
| 13:09:43 | ski | . o O ( `[a,b] :: [exists x. Show x *> x]',`show :: (exists a. Show a *> a) -> String' ) |
| 13:10:38 | → | califax joins (~califax@user/califx) |
| 13:10:50 | × | dsrt^ quits (~dsrt@206.85.120.17) (Ping timeout: 255 seconds) |
| 13:10:51 | <byorgey> | zzz: yeah, that's happened to me too |
| 13:15:00 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 13:15:16 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 13:15:30 | × | alternateved quits (~user@staticline-31-183-149-36.toya.net.pl) (Remote host closed the connection) |
| 13:20:08 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 268 seconds) |
| 13:20:09 | <qrpnxz> | i'm gonna get to flex an effect system today! After the third transformer on the stack, it just makes sense 😄 |
| 13:20:28 | → | AlexNoo joins (~AlexNoo@178.34.151.166) |
| 13:20:29 | → | AlexZenon joins (~alzenon@178.34.151.166) |
| 13:24:50 | → | cyphase joins (~cyphase@user/cyphase) |
| 13:24:59 | <maerwald[m]> | qrpnxz: transformers are awful, yes. But so are effects systems. Everything leaks implementation details |
| 13:25:50 | <qrpnxz> | the three best ones i have seen, all good really, are `effectful`, `cleff`, and `freer-simple` |
| 13:26:10 | <qrpnxz> | since i want most performance possible i'm gonna use effectful for this thing |
| 13:31:56 | → | Alex_test joins (~al_test@178.34.151.166) |
| 13:33:17 | → | dcoutts joins (~duncan@host86-153-135-25.range86-153.btcentralplus.com) |
| 13:33:31 | × | zxx7529 quits (~Thunderbi@user/zxx7529) (Quit: zxx7529) |
| 13:34:56 | × | dcoutts_ quits (~duncan@host86-153-135-126.range86-153.btcentralplus.com) (Ping timeout: 244 seconds) |
| 13:38:59 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 13:41:23 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 13:42:31 | × | kuribas quits (~user@ptr-17d51ep53yh2tjb64h5.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 13:42:59 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 13:46:30 | <qrpnxz> | haskell language server when it works: 😍, when it doesnt: 😭 |
| 13:48:07 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 13:49:05 | → | nilradical joins (~nilradica@user/naso) |
| 13:49:22 | × | nilradical quits (~nilradica@user/naso) (Client Quit) |
| 13:49:37 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 13:52:00 | <dminuoso> | The "best" effect system I have seen so far is Javas checked exceptions. |
| 13:52:27 | <dminuoso> | It has some serious issues, but I think if we had that in Haskell, I'd be more than happy. |
| 13:53:21 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:54:42 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:5e5a:edaf:8ebd:d4fc) (Quit: WeeChat 2.8) |
| 13:54:46 | → | vpan joins (~0@212.117.1.172) |
| 13:55:33 | <qrpnxz> | that sounds like a particular effect rather than an effect system. And you can do checked exceptions with haskell effect systems. All of the effect systems i mentioned have an effect like `Error`. Functions that throw errors will be marked as using the effect `Error E` for some error type E. You handle the error completely by just running the effect. Neat, huh? |
| 13:55:38 | <qrpnxz> | dminuoso: |
| 13:56:33 | <dminuoso> | qrpnxz: Yes, and that's part of what I like about it. |
| 13:57:33 | <dminuoso> | It's not bolted onto the type system, I dont ever have to worry about how whether A+B is the same as B+A, I get quality diagnostics from my compiler that tells me exactly what went wrong when you violate some rule |
| 13:57:41 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 13:58:09 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:59:38 | <dminuoso> | All these effect systems you mentioned try to be extra clever by bolting some obscure logic into the type system one way or another. It complicated communication, it interferes with tooling, it ruins legigble diagnostics, it introduces harsh hurdles for less experienced programmers coming to your project. |
| 14:01:35 | <qrpnxz> | mmm, i'm not sure what you mean. If you don't handle an effect, it tells, same why java would tell you if you didn't handle an exception? Sure, you have to know the library to work with it like one has to know java to work with that |
| 14:02:12 | <dminuoso> | In case of checked exceptions being part of the language, the implementation can simply tell you "X can throw Y, but you're not catching Y". |
| 14:02:41 | <dminuoso> | In case of pretty much all haskell effect systems its usually obscure type unification errors, more often than not involving fundeps |
| 14:03:29 | <qrpnxz> | none of the three i mentioned use fundeps afaik, that's an mtl thing. Let me see if i can whip up a short example and see what errors it gives. |
| 14:03:36 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 14:04:00 | → | califax joins (~califax@user/califx) |
| 14:05:16 | <dminuoso> | If you start doing type magic, you pretty much cant get around using tyfams or fundeps |
| 14:05:26 | <dminuoso> | You arrive at them very quickly. |
| 14:05:56 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 244 seconds) |
| 14:06:56 | <dminuoso> | freer-simple uses them in a couple places for instance. Anyway, the point is, you end up using their machinery - and at some point the type checker will run. What you conceive as "the system ensures that XYZ holds", XYZ is usually just some invariance that holds *if* type checking succeeds. |
| 14:08:39 | <qrpnxz> | "There is no handler for 'Error String' in the context" not bad |
| 14:08:44 | <qrpnxz> | that's the error i got |
| 14:09:03 | <dminuoso> | Yes, we can introduce custom type errors |
| 14:09:38 | <[exa]> | dminuoso: there are pretty nice typesystems for the checked-exceptions-style stuff compatible with FP and the haskell typechecking way (e.g. one friend did this: https://github.com/jiribenes/cocobolo ) |
| 14:09:38 | <dminuoso> | But its not bullet proof, Ive seen this in optics for years now. In general the diagnotics are good, but you often end up in edge cases with extremely bizarre type errors |
| 14:10:34 | <[exa]> | (it's inspired by "Recovering Purity |
| 14:10:34 | <qrpnxz> | one way to get crazy errors is you didn't annotate enough, that can happen effect system or not though. |
| 14:10:37 | <[exa]> | with Comonads and Capabilities") |
| 14:10:44 | <[exa]> | (uh whoops sorry for the linebreak) |
| 14:10:58 | <dminuoso> | qrpnxz: "You didn't annotate enough" is just an euphemism for "You're holding it wrong" |
| 14:11:15 | <dminuoso> | If your phone requires me to hold it in a particular way to work, its a bad phone. |
| 14:11:20 | <qrpnxz> | and holding it wrong is good? lol |
| 14:11:31 | <qrpnxz> | every phone requires that |
| 14:11:50 | <qrpnxz> | very difficult to use a phone with the screen the wrong way for example |
| 14:12:06 | <dminuoso> | qrpnxz: Its a reference to the iPhone 4 which had such reception problem to the point of getting no signal at all unless you held it in very strange ways. |
| 14:12:11 | <[exa]> | qrpnxz: define "use" tho. :] |
| 14:12:24 | <qrpnxz> | :) |
| 14:12:29 | <dminuoso> | The reception problems would occur when holding it in very normal ways. |
| 14:12:34 | <dminuoso> | Anyway |
| 14:12:52 | <qrpnxz> | annotating type is not like magic though, it's just explicitly putting what you already know it is, but very difficult for the compiler to figure out :/ |
| 14:13:04 | <dminuoso> | qrpnxz: If I have to annotate code a very special way to get useful diagnostics, that really harms the user experience. |
| 14:13:11 | <dminuoso> | I should get useful diagnostics whenever possible |
| 14:13:41 | <dminuoso> | The reason you dont get useful diagnostics in most type wizardry programs is because bolting things into a turing complete type system is certainly possible, but not necessarily the best thing to do. |
| 14:13:55 | → | nate4 joins (~nate@98.45.169.16) |
| 14:13:58 | <dminuoso> | │16:12:52 qrpnxz | annotating type is not like magic though, it's just explicitly putting what you already know it is, but very difficult for the compiler to figure out :/ |
| 14:14:00 | <dminuoso> | Yes |
| 14:14:06 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 14:14:11 | <qrpnxz> | the thing is that the experience is improved already above average by already almost never annotating. with haskell sometimes you can't get away with it and you have to annotate, but this isn't like the end of the world, this is just what you have to do in every other static typed language without inference |
| 14:14:12 | <dminuoso> | And it shouldnt be hard for an implementation to find out "Hey you're not catching exception Y" |
| 14:14:39 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 14:14:43 | <dminuoso> | It's one of the reasons I dont use lens anymore, I dont want to deal with "no instance" errors when I miscompose and eliminate. |
| 14:14:53 | <qrpnxz> | i mean, it's not, the error i got says pretty much exactly that "No handler for error" |
| 14:14:57 | <qrpnxz> | can't get clearer honestly |
| 14:15:20 | <dminuoso> | qrpnxz: Can you guarantee this will always trigger? :-) |
| 14:15:31 | → | vglfr joins (~vglfr@93.170.4.33) |
| 14:15:45 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 14:15:47 | <qrpnxz> | yes, the compiler has no idea how to handle your error for you, so it must error if you don't handler it. It's a type error |
| 14:16:24 | <qrpnxz> | GHC's not gonna go like "guess i'll unsafecoerce here". It's gonna error. |
| 14:16:50 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 14:17:22 | <dminuoso> | qrpnxz: So there's a lot of really strange bugs with these custom errors |
| 14:18:17 | <dminuoso> | Check this for instance https://github.com/well-typed/optics/issues/334#issuecomment-670976630 |
| 14:18:34 | <dminuoso> | Or https://github.com/well-typed/optics/issues/308 |
| 14:19:18 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 14:19:23 | <dminuoso> | If such things would be implemented as a separate type system directly in the compiler, I think we'd be in a better place. |
| 14:19:54 | × | chomwitt quits (~chomwitt@2a02:587:dc15:5e00:41c2:c97c:1364:63b1) (Ping timeout: 264 seconds) |
| 14:20:01 | × | zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
| 14:20:03 | <zzz> | hey byorgey, hows swarm going? |
| 14:20:30 | × | vglfr quits (~vglfr@93.170.4.33) (Ping timeout: 268 seconds) |
| 14:20:43 | <qrpnxz> | ok? i don't mean to deny that bad errors exist. Mostly talking about these effect libraries and in particular exceptions, i find that the experience is good. I don't use optics personally, i use lens, so i'm not really familiar with the issues you have linked. |
| 14:20:54 | → | vglfr joins (~vglfr@145.224.94.75) |
| 14:21:29 | <dminuoso> | Lens is the pinnacle of poor diagnostics here. :p |
| 14:22:04 | <qrpnxz> | lol |
| 14:23:35 | <qrpnxz> | sigh, HLS just refusing to acknowledge my build-depends rn :( |
| 14:24:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:24:42 | → | dsrt^ joins (~dsrt@206.85.120.17) |
| 14:25:42 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:25:58 | <qrpnxz> | ugh, i just remembered why this happens. Fixed :) |
| 14:26:01 | <dminuoso> | qrpnxz: (Settable f, Num (f (a1, a2)), Profunctor p, Contravariant f, Functor (p (a1, a2))) => p a2 (f a2) -> f (p (a1, a2) (a1, a2)) |
| 14:26:05 | <dminuoso> | Is this a valid optic? |
| 14:26:16 | <dminuoso> | Could you tell what I did to produce this optic? |
| 14:26:20 | <qrpnxz> | at first glance i say no |
| 14:26:48 | <xsarnik> | Hi, does anyone know of a good monospace programming font that has extensive support for unicode characters? |
| 14:26:57 | <qrpnxz> | optics look like (p a (f b) -> p s (f t)) |
| 14:27:03 | <qrpnxz> | van laarhoven do anyway |
| 14:27:15 | <dminuoso> | van laarhoven look even differently |
| 14:27:43 | <dminuoso> | What you're talking about is this hybrid van laarhoven/profunctor that lens uses |
| 14:28:04 | <dminuoso> | qrpnxz: But really, if you look closely that type above *is* such a type |
| 14:28:11 | <qrpnxz> | call it what you like :), but that's the shape of lens library optic |
| 14:28:25 | <qrpnxz> | um it's not tho, your thing is f (p _ _) |
| 14:28:53 | → | nattiestnate joins (~nate@180.243.14.16) |
| 14:29:51 | <dminuoso> | Ah fair I guess |
| 14:30:12 | → | razetime joins (~quassel@117.254.35.133) |
| 14:30:47 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:32:31 | <qrpnxz> | > "Settable f, Contravariant f" |
| 14:32:33 | <lambdabot> | "Settable f, Contravariant f" |
| 14:32:37 | <qrpnxz> | did you just type something at random? lol |
| 14:36:26 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 14:38:43 | <dminuoso> | qrpnxz: (Profunctor p, Contravariant f, Bifunctor p, Functor f) => p s (f s) -> p s (f s) |
| 14:38:50 | <dminuoso> | qrpnxz: Here, what about this one? |
| 14:38:54 | <[exa]> | xsarnik: JuliaMono has crazy unicode coverage |
| 14:38:54 | <dminuoso> | Is this a legit thing? |
| 14:38:58 | × | ccntrq quits (~Thunderbi@172.209.94.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 14:40:46 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 14:41:10 | <xsarnik> | [exa]: thanks, will take a look |
| 14:46:38 | <qrpnxz> | dminuoso: review maybe? Not familiar with that type |
| 14:46:51 | <qrpnxz> | that's why i use the type synonyms :) |
| 14:47:36 | <qrpnxz> | it's close to a review. Review is Choice, Bifunctor, Settable |
| 14:48:56 | <qrpnxz> | I don't think that matches any class of optic in lens library |
| 14:52:45 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 14:52:45 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 14:52:45 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 14:52:46 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 14:52:46 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 14:53:16 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 14:53:19 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 14:53:20 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 14:53:20 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 14:55:39 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 14:59:53 | → | chomwitt joins (~chomwitt@2a02:587:dc15:5e00:8ebc:7ad0:4cb3:bd5d) |
| 15:01:19 | → | cheater joins (~Username@user/cheater) |
| 15:01:32 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 15:02:47 | <dminuoso> | xsarnik: Any particular sets of interest? |
| 15:03:06 | → | pmarg joins (~pmarg@2a01:799:159f:9b00:d32f:f01e:75a5:8790) |
| 15:04:25 | × | pmarg quits (~pmarg@2a01:799:159f:9b00:d32f:f01e:75a5:8790) (Remote host closed the connection) |
| 15:05:45 | → | adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d) |
| 15:06:10 | <xsarnik> | dminuoso: Sets, as in kinds of characters? |
| 15:06:29 | <dminuoso> | Sure |
| 15:07:20 | <xsarnik> | Well, mainly math characters (greek letters, blackboard bold, callighraphics, operators, arrows, ...) |
| 15:10:24 | → | abraham joins (~abraham@159.89.183.132) |
| 15:13:50 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 15:14:08 | × | Inst quits (~Inst@2601:6c4:4080:3f80:60a2:552d:5c38:7396) (Ping timeout: 244 seconds) |
| 15:14:10 | × | dsrt^ quits (~dsrt@206.85.120.17) (Ping timeout: 268 seconds) |
| 15:17:37 | <ski> | xsarnik : maybe the one that's suggested with the Emacs mode for Agda |
| 15:18:10 | <dminuoso> | xsarnik: https://fsd.it/pragmatapro/All_chars.txt |
| 15:18:13 | <dminuoso> | Would that fit your bill? |
| 15:18:27 | <dminuoso> | I'm quite fond of that font. |
| 15:18:59 | × | razetime quits (~quassel@117.254.35.133) (Ping timeout: 252 seconds) |
| 15:19:55 | → | dsrt^ joins (~dsrt@206.85.120.17) |
| 15:20:39 | <dminuoso> | It does have the categories of characters you asked for, and it comes in monospace variants. Ligatures are included ontop too. |
| 15:21:03 | <xsarnik> | Looks nice |
| 15:21:55 | <xsarnik> | ski: Actually, agda mode is something that inspired this question. Although I am not sure there is any suggested font… I certainly haven’t seen such suggestion in documentation |
| 15:22:13 | <dminuoso> | xsarnik: Check out the main page then https://fsd.it/shop/fonts/pragmatapro/ - it even has some Agda presentation. |
| 15:22:33 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 15:22:35 | <dminuoso> | For pricing, if you can wait there's usually a big black friday discount. |
| 15:22:53 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 15:24:08 | → | waldo joins (~waldo@user/waldo) |
| 15:25:46 | <dminuoso> | (Unless you're fine with just a singular font family) |
| 15:26:03 | → | kenran joins (~kenran@200116b82b4f89006bf34d939d61f5dc.dip.versatel-1u1.de) |
| 15:26:32 | → | razetime joins (~quassel@117.193.5.47) |
| 15:26:35 | <xsarnik> | I will remember it. If it’s discounted, I might consider it. Looks very pretty |
| 15:27:11 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 255 seconds) |
| 15:29:11 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:31:14 | × | dsrt^ quits (~dsrt@206.85.120.17) (Ping timeout: 255 seconds) |
| 15:31:21 | × | kenran quits (~kenran@200116b82b4f89006bf34d939d61f5dc.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 15:33:05 | → | dsrt^ joins (~dsrt@206.85.120.17) |
| 15:35:03 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec) |
| 15:35:04 | → | mimmy joins (~mimmy@107.173.69.236) |
| 15:35:20 | × | waldo quits (~waldo@user/waldo) (Ping timeout: 255 seconds) |
| 15:38:01 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 15:38:50 | × | dsrt^ quits (~dsrt@206.85.120.17) (Ping timeout: 268 seconds) |
| 15:39:57 | → | waldo joins (~waldo@user/waldo) |
| 15:44:24 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 15:48:33 | → | moonsheep joins (~user@user/moonsheep) |
| 15:49:12 | <moonsheep> | Is there a way to print a stack trace with the profiler (like +RTS -xc) but only on uncaught exceptions? |
| 15:49:25 | × | mimmy quits (~mimmy@107.173.69.236) (Ping timeout: 252 seconds) |
| 15:49:42 | <geekosaur> | no |
| 15:50:09 | <moonsheep> | Ah shit. So is there a way to filter them so it only prints one specific type of exception? |
| 15:50:35 | <geekosaur> | also no |
| 15:50:43 | <moonsheep> | Alright thanks |
| 15:50:57 | <moonsheep> | I have no clue how I am supposed to debug this then |
| 15:51:16 | <moonsheep> | I guess I'll try making a minimal example and ask you gguys |
| 15:52:45 | × | abraham quits (~abraham@159.89.183.132) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:54:46 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 15:56:12 | → | califax joins (~califax@user/califx) |
| 15:57:52 | → | coot joins (~coot@213.134.176.158) |
| 15:59:45 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:04:12 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Read error: Connection reset by peer) |
| 16:04:34 | → | abraham joins (~abraham@159.89.183.132) |
| 16:08:36 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:09:19 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 16:11:13 | <moonsheep> | Oh wait I just realized I mixed up my TChans. Don't get your variables mixed up kids |
| 16:17:27 | → | mimmy joins (~mimmy@107.175.102.210) |
| 16:20:40 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:22:16 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
| 16:22:39 | × | benin0 quits (~benin@183.82.178.4) (Quit: The Lounge - https://thelounge.chat) |
| 16:23:15 | × | mimmy quits (~mimmy@107.175.102.210) (Ping timeout: 268 seconds) |
| 16:24:29 | × | waldo quits (~waldo@user/waldo) (Ping timeout: 268 seconds) |
| 16:26:06 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:26:28 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 16:26:47 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 16:27:30 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:34:39 | → | notzmv joins (~zmv@user/notzmv) |
| 16:35:15 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 16:35:47 | → | mimmy joins (~mimmy@64.44.118.51) |
| 16:40:59 | → | Solid joins (~slot@xmonad/slotThe) |
| 16:43:16 | × | moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)) |
| 16:45:35 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:46:36 | → | yvan-sraka joins (~yvan-srak@105.67.135.250) |
| 16:47:16 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 16:48:32 | × | cawfee quits (~root@2406:3003:2077:2758::babe) (Ping timeout: 268 seconds) |
| 16:50:19 | → | mikoto-chan joins (~mikoto-ch@164.5.249.78) |
| 16:51:16 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 244 seconds) |
| 16:54:16 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:54:55 | → | cawfee joins (~root@2406:3003:2077:2758::babe) |
| 16:55:22 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 16:57:12 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:59:40 | × | abraham quits (~abraham@159.89.183.132) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:00:22 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:03:26 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:03:41 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:04:21 | → | abraham joins (~abraham@159.89.183.132) |
| 17:05:41 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 17:10:43 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:11:11 | → | mimmy_ joins (~mimmy@66-46-12-74.dedicated.allstream.net) |
| 17:11:55 | × | mimmy quits (~mimmy@64.44.118.51) (Ping timeout: 252 seconds) |
| 17:11:58 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 17:14:21 | → | waldo joins (~waldo@user/waldo) |
| 17:15:03 | × | abraham quits (~abraham@159.89.183.132) (Quit: Textual IRC Client: www.textualapp.com) |
| 17:16:08 | → | econo joins (uid147250@user/econo) |
| 17:19:20 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 17:22:11 | × | razetime quits (~quassel@117.193.5.47) (Ping timeout: 252 seconds) |
| 17:28:18 | → | zebrag joins (~chris@user/zebrag) |
| 17:29:54 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:31:42 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 17:32:10 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 17:45:00 | → | ddellacosta joins (~ddellacos@89.45.224.144) |
| 17:45:16 | × | yvan-sraka quits (~yvan-srak@105.67.135.250) (Remote host closed the connection) |
| 17:45:17 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 17:46:15 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 17:46:25 | → | zxx7529 joins (~Thunderbi@user/zxx7529) |
| 17:47:05 | × | Psybur quits (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Ping timeout: 268 seconds) |
| 17:50:19 | × | kimjetwav quits (~user@2607:fea8:235e:b600:3b09:c412:8c94:9daa) (Remote host closed the connection) |
| 17:50:23 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 17:52:39 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:00:03 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 18:02:53 | × | Vajb quits (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) (Read error: Connection reset by peer) |
| 18:03:13 | → | gmg joins (~user@user/gehmehgeh) |
| 18:03:23 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
| 18:04:21 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 18:05:00 | × | vglfr quits (~vglfr@145.224.94.75) (Ping timeout: 268 seconds) |
| 18:08:03 | × | talismanick quits (~talismani@2601:200:c100:3850::dd64) (Read error: Connection reset by peer) |
| 18:08:32 | → | famubu joins (~famubu@user/famubu) |
| 18:08:44 | → | chexum_ joins (~quassel@gateway/tor-sasl/chexum) |
| 18:09:54 | <famubu> | A random question: Can we use haskell to computations related to group theory? Was learning group theory in a math course. Can we use haskell to try out example in it? Like rubik group? |
| 18:10:06 | <famubu> | Saw this: https://hackage.haskell.org/package/groups-0.5.3/docs/Data-Group.html#t:Group but wasn't sure |
| 18:10:37 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 18:11:45 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 18:11:50 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 268 seconds) |
| 18:11:51 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:15:25 | → | nate4 joins (~nate@98.45.169.16) |
| 18:16:03 | → | mimmy joins (~mimmy@86.48.15.70) |
| 18:18:04 | × | mimmy_ quits (~mimmy@66-46-12-74.dedicated.allstream.net) (Ping timeout: 268 seconds) |
| 18:20:30 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 264 seconds) |
| 18:21:25 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: Textual IRC Client: www.textualapp.com) |
| 18:23:50 | × | waldo quits (~waldo@user/waldo) (Quit: quit) |
| 18:24:14 | → | alternateved joins (~user@staticline-31-183-149-36.toya.net.pl) |
| 18:24:34 | × | chexum_ quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 18:28:37 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 18:37:57 | → | king_gs joins (~Thunderbi@2806:103e:29:da7a:ec19:6e2f:5f72:ff44) |
| 18:42:24 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:44:05 | → | famubu[m] joins (~famubumat@2001:470:69fc:105::1081) |
| 18:44:28 | famubu | will remain via matrix account |
| 18:44:31 | × | famubu quits (~famubu@user/famubu) (Quit: leaving) |
| 18:45:23 | <geekosaur> | might be a question to ask on reddit |
| 18:46:50 | <sclv> | we've cut over all outgoing haskell.org mail now (hackage, discourse, mailinglists, etc) we think to all relay through our newer postfix host. if there's any new problems with delivery etc let me know |
| 18:49:22 | × | nicos quits (~nico@190.247.245.154) (Ping timeout: 268 seconds) |
| 18:51:30 | → | Hemmo joins (~IceChat95@85-76-110-229-nat.elisa-mobile.fi) |
| 18:52:28 | <qrpnxz> | effectful working like a charm. Bit faster than the transformer stack i was using plus now have dynamic dispatch on the effect. |
| 18:55:28 | → | ddellaco1 joins (~ddellacos@86.106.121.170) |
| 18:56:24 | <qrpnxz> | speaking of, looks like 2.0.0.0 just just uploaded right now |
| 18:56:29 | × | ddellacosta quits (~ddellacos@89.45.224.144) (Ping timeout: 255 seconds) |
| 18:57:41 | → | Milan joins (~Milan@46.245.109.54) |
| 18:58:42 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 18:59:00 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:ec19:6e2f:5f72:ff44) (Remote host closed the connection) |
| 18:59:18 | → | Vajb joins (~Vajb@2001:999:70c:2b99:3e15:6929:5bc6:c014) |
| 18:59:18 | → | king_gs joins (~Thunderbi@2806:103e:29:da7a:ec19:6e2f:5f72:ff44) |
| 19:02:39 | × | zxx7529 quits (~Thunderbi@user/zxx7529) (Ping timeout: 252 seconds) |
| 19:02:49 | <Hemmo> | Maybe not the right place, if so please tell me! But I was hoping to maybe get some feedback on this tiny to do list app I made. I struggled quite a bit with the whole IO of Haskell and was wondering if perhaps there is an easier way to do what I did! Any comments would be highly appreciated. |
| 19:02:49 | <Hemmo> | (There's about 70 lines of code) |
| 19:02:49 | <Hemmo> | https://paste.tomsmeding.com/CU9vwvGg |
| 19:03:53 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 19:04:35 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 19:06:14 | <monochrom> | loop could have been easily [Task] -> IO (), and use sites could have been easily "loop taskList" instead of "loop $ return taskList". |
| 19:06:18 | → | pmarg joins (~pmarg@2a01:799:159f:9b00:d32f:f01e:75a5:8790) |
| 19:06:23 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 19:07:02 | <monochrom> | removeTop = tail :) |
| 19:07:49 | <qrpnxz> | Hemmo: toTaskList can just be map toTask strList, no case analysis needed |
| 19:08:56 | <ski> | monochrom : you only ever call `loop' with a parameter of shape `return (...)'. so change it to `loop :: [Task] -> ...', and remove those `return's, since they're useless (and indicate a greater generality/capability than you're actually using, so is misleading, unless you actually intend to possibly make use of such in the future) |
| 19:09:01 | <ski> | er |
| 19:09:02 | <ski> | Hemmo ^ |
| 19:09:31 | <monochrom> | "zipWith joinTuples" does both your "map joinTuple" and "zip". |
| 19:10:07 | <ski> | i would probably make `loop' and `doCommand' local to `main' (although for testing it might be nice to have them at top-level) |
| 19:10:08 | <monochrom> | Although, I wouldn't mind it either way. |
| 19:10:51 | → | vglfr joins (~vglfr@145.224.94.75) |
| 19:12:37 | <ski> | base case of `toTaskList' is redundant |
| 19:12:55 | × | ddellaco1 quits (~ddellacos@86.106.121.170) (Ping timeout: 252 seconds) |
| 19:12:56 | <ski> | i guess i would also prefer to not use `case' in `doCommand' |
| 19:13:23 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 19:13:58 | <ski> | oh, base case of `printTasks' is also useless |
| 19:16:03 | <monochrom> | I use "case" in my versions of doCommand :) |
| 19:16:06 | <ski> | (personally i'd also remove all the `$'s, using proper brackets instead) |
| 19:16:11 | <monochrom> | Either that or a dictionary... |
| 19:16:35 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
| 19:16:46 | ski | looks at Hemmo |
| 19:17:14 | <monochrom> | I literally have "args <- getArgs; case args of {"--help" : _ -> ... ; "list" : xs -> ...} |
| 19:17:19 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:17:45 | <ski> | that's fine |
| 19:18:24 | ski | idly ponders the `--free' |
| 19:18:40 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 19:19:15 | <monochrom> | We malloc'ed the task list, so we need to free it at the end. :) |
| 19:19:29 | <Hemmo> | Ahaha thanks guys! I'm going through your suggestions and learning all I can |
| 19:19:34 | <ski> | Hemmo : do you want the most recently added task first ? |
| 19:19:56 | <monochrom> | I would say yes. :) |
| 19:20:01 | <Hemmo> | Ahah also, "free" was simply commented because I wanted some free space between the last function and the bottom so I can scroll it further down =) |
| 19:20:57 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 19:21:11 | <monochrom> | I need to make exams. That's on my TODO list. Oh something happens on IRC now. Let me put that on my TODO list too. At the forefront. Why else do you think I'm replying right now? :) |
| 19:21:36 | <monochrom> | Oh "this page intentionally left blank". |
| 19:21:47 | <ski> | so you have a work stack, not a work queue ? |
| 19:22:11 | <monochrom> | I should do that more in my code. 60 blanks lines and "this page intentionally blank". |
| 19:22:33 | <monochrom> | I have a procrastination stack. What is work? >:) |
| 19:22:35 | <ski> | also start adding form feeds, while you're at it |
| 19:24:05 | ski | . o O ( .. when you're procrastinating your procrastination ) |
| 19:24:12 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 19:25:49 | kaol_ | is now known as kaol |
| 19:26:10 | × | Milan quits (~Milan@46.245.109.54) (Quit: Client closed) |
| 19:26:23 | <Hemmo> | ski: why not to use case in doCommand? I debated whether to use a if-else-then structure, but figured case is more suitable? |
| 19:26:38 | <ski> | no, you misunderstand |
| 19:26:49 | → | alp_ joins (~alp@user/alp) |
| 19:26:58 | <ski> | doCommand "a" tasks = do |
| 19:27:01 | <ski> | task <- getLine |
| 19:27:08 | <ski> | putStrLn "Task added!" |
| 19:27:19 | <ski> | loop (addTask task tasks) |
| 19:27:29 | <ski> | doCommand "r" tasks = do |
| 19:27:31 | <ski> | ... |
| 19:27:33 | <ski> | ... |
| 19:27:45 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 19:28:09 | <monochrom> | Oh, that. |
| 19:28:14 | → | cheater joins (~Username@user/cheater) |
| 19:28:15 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 19:29:41 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:29:45 | <Hemmo> | Ahh that's cool. |
| 19:32:06 | <Hemmo> | I was being clever by adding to the front of the list. That way when my to do list grows to nth million entry, I can add another entry instantly and not have to traverse the whole list ;) |
| 19:32:58 | <monochrom> | You could use Data.Sequence. |
| 19:33:00 | <Hemmo> | So yes... Procrastination stack or "to be done eventually" |
| 19:33:06 | <Hemmo> | ;) |
| 19:33:20 | × | mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 255 seconds) |
| 19:33:48 | → | pavonia joins (~user@user/siracusa) |
| 19:34:05 | <Hemmo> | On a side note, does anyone actually use Haskell professionally? |
| 19:34:26 | <Rembane_> | Hemmo: Yes. |
| 19:39:31 | → | vysn joins (~vysn@user/vysn) |
| 19:45:33 | <kaol> | I'm on a vacation from one and I'm taking a break by coding some C++. Dogs meow and so on. |
| 19:46:51 | <monochrom> | Too tired of Haskell? Need some lambda that actually has side effects? :) |
| 19:47:37 | <monochrom> | And a usable templating language for a change? >:) |
| 19:47:42 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 19:48:11 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 19:50:05 | <Hemmo> | There's something attractive about this language, or paradigm in general. |
| 19:56:14 | × | vglfr quits (~vglfr@145.224.94.75) (Ping timeout: 244 seconds) |
| 19:57:41 | <Hemmo> | ski: What do you mean making loop and doCommand local to main? |
| 19:57:49 | × | pagnol quits (~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 268 seconds) |
| 19:58:08 | → | vglfr joins (~vglfr@145.224.94.75) |
| 20:01:58 | → | Everything joins (~Everythin@37.115.210.35) |
| 20:03:11 | <Everything> | Hi all. Noob here. What are some short snippets collections in a manner of rosettacode.org? |
| 20:03:31 | <Rembane_> | Haskell is on rosettacode I believe |
| 20:04:04 | <Everything> | Rembane_: yes, but intermixed with everything else |
| 20:05:32 | → | mastarija joins (~mastarija@2a05:4f46:e03:6000:20af:4cb5:fc31:abbc) |
| 20:05:50 | <ski> | Hemmo : putting them inside of a `where' attached to the definition of `main' |
| 20:07:08 | <Hemmo> | Ski: Mmk, what's the benefit in that although you mentioned for testing it may be easier that they're not a part of main? |
| 20:08:13 | <ski> | `loop' is a rather generic name .. usually it doesn't make too much sense to have it at top-level |
| 20:09:30 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:09:32 | <ski> | if you renamed it to `mainLoop', or `query' or something, i'd be more sympathetic to leaving it where it is. but one could also possibly argue for `doCommand' and `loop' being "internal details" of your "main loop" |
| 20:09:57 | × | cosimone quits (~user@93-44-186-171.ip98.fastwebnet.it) (Read error: Connection reset by peer) |
| 20:10:04 | <ski> | .. presumably nothing else than `main',`loop',`doCommand' will ever need to refer to `loop' and `doCommand' |
| 20:10:04 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 20:10:05 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 20:10:05 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 20:10:05 | × | noteness quits (~noteness@user/noteness) (Remote host closed the connection) |
| 20:10:05 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 20:10:05 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Read error: Connection reset by peer) |
| 20:10:27 | → | ddellaco1 joins (~ddellacos@143.244.47.90) |
| 20:10:31 | → | noteness joins (~noteness@user/noteness) |
| 20:10:33 | → | califax joins (~califax@user/califx) |
| 20:10:38 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 20:10:55 | → | gmg joins (~user@user/gehmehgeh) |
| 20:11:09 | <Hemmo> | Ski: Thanks! This makes sense! |
| 20:11:56 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:12:29 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 255 seconds) |
| 20:12:34 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 20:12:53 | <ski> | (oh, also redundant brackets in `printChoices' .. perhaps you could also use `concat' or `intercalate' or something there) |
| 20:13:09 | → | cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it) |
| 20:13:24 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 20:14:24 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 20:14:48 | → | acidjnk joins (~acidjnk@p200300d6e7137a17909a7d6537cea7ce.dip0.t-ipconnect.de) |
| 20:16:52 | → | cyphase joins (~cyphase@user/cyphase) |
| 20:19:40 | × | Hemmo quits (~IceChat95@85-76-110-229-nat.elisa-mobile.fi) (Quit: Some folks are wise, and some otherwise.) |
| 20:24:20 | × | mimmy quits (~mimmy@86.48.15.70) (Ping timeout: 268 seconds) |
| 20:25:04 | → | mimmy joins (~mimmy@86.48.15.68) |
| 20:31:01 | × | vglfr quits (~vglfr@145.224.94.75) (Ping timeout: 252 seconds) |
| 20:31:14 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 20:31:14 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 20:31:28 | → | vglfr joins (~vglfr@145.224.94.75) |
| 20:32:02 | → | pagnol joins (~me@213-205-209-87.ftth.glasoperator.nl) |
| 20:32:33 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:32:49 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 20:33:10 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 20:35:45 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 20:38:41 | → | Pickchea joins (~private@user/pickchea) |
| 20:40:29 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:44:48 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 244 seconds) |
| 20:52:09 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:52:32 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
| 20:54:47 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 20:59:17 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 21:00:48 | × | califax quits (~califax@user/califx) (Ping timeout: 268 seconds) |
| 21:01:06 | × | bliminse quits (~bliminse@user/bliminse) (Quit: leaving) |
| 21:01:06 | → | califax joins (~califax@user/califx) |
| 21:01:33 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 21:02:34 | × | pagnol quits (~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 268 seconds) |
| 21:03:13 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:03:14 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec) |
| 21:05:04 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 21:05:38 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 21:06:02 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 21:08:13 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 21:08:45 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 268 seconds) |
| 21:11:37 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 21:13:03 | × | mimmy quits (~mimmy@86.48.15.68) (Ping timeout: 268 seconds) |
| 21:13:04 | × | ulvarref` quits (~user@188.124.56.153) (Ping timeout: 268 seconds) |
| 21:15:17 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 244 seconds) |
| 21:16:20 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:17:05 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 21:17:58 | → | cyphase joins (~cyphase@user/cyphase) |
| 21:18:07 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 21:18:36 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 21:19:51 | → | nicos joins (~nico@190.247.245.154) |
| 21:20:58 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 21:21:41 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 21:24:11 | × | ddellaco1 quits (~ddellacos@143.244.47.90) (Ping timeout: 268 seconds) |
| 21:24:17 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:26:17 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 21:27:41 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 21:30:21 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 268 seconds) |
| 21:30:25 | × | zebrag quits (~chris@user/zebrag) (Ping timeout: 252 seconds) |
| 21:30:43 | → | zebrag joins (~chris@user/zebrag) |
| 21:33:23 | → | mimmy joins (~mimmy@86.48.15.70) |
| 21:33:35 | × | mimmy quits (~mimmy@86.48.15.70) (Client Quit) |
| 21:34:38 | → | nosewings joins (~ngpc@cpe-76-186-194-45.tx.res.rr.com) |
| 21:35:24 | × | chomwitt quits (~chomwitt@2a02:587:dc15:5e00:8ebc:7ad0:4cb3:bd5d) (Ping timeout: 268 seconds) |
| 21:36:11 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 21:38:59 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:ec19:6e2f:5f72:ff44) (Ping timeout: 268 seconds) |
| 21:42:56 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 21:43:49 | → | bliminse joins (~bliminse@user/bliminse) |
| 21:44:35 | × | noteness quits (~noteness@user/noteness) (Ping timeout: 268 seconds) |
| 21:46:11 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 21:53:31 | × | pmarg quits (~pmarg@2a01:799:159f:9b00:d32f:f01e:75a5:8790) (Ping timeout: 244 seconds) |
| 21:55:42 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 21:58:38 | → | off^ joins (~off@206.85.120.17) |
| 21:58:39 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 21:59:06 | → | Psybur joins (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) |
| 21:59:54 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:00:24 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 22:03:44 | → | king_gs joins (~Thunderbi@187.201.216.244) |
| 22:05:55 | × | acidjnk quits (~acidjnk@p200300d6e7137a17909a7d6537cea7ce.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 22:07:31 | × | king_gs quits (~Thunderbi@187.201.216.244) (Client Quit) |
| 22:08:36 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 22:13:12 | → | pmarg joins (~pmarg@224.80-203-5.customer.lyse.net) |
| 22:15:08 | ← | pmarg parts (~pmarg@224.80-203-5.customer.lyse.net) () |
| 22:16:57 | → | nate4 joins (~nate@98.45.169.16) |
| 22:21:45 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 22:24:17 | → | yvan-sraka joins (~yvan-srak@105.67.135.250) |
| 22:26:23 | × | Everything quits (~Everythin@37.115.210.35) (Quit: leaving) |
| 22:26:26 | × | nicos quits (~nico@190.247.245.154) (Ping timeout: 268 seconds) |
| 22:29:37 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:32:43 | → | nicos joins (~nico@186.141.200.155) |
| 22:35:29 | × | michalz quits (~michalz@185.246.204.73) (Remote host closed the connection) |
| 22:37:09 | × | nicos quits (~nico@186.141.200.155) (Ping timeout: 252 seconds) |
| 22:37:17 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:37:42 | → | noteness joins (~noteness@user/noteness) |
| 22:40:36 | → | king_gs joins (~Thunderbi@2806:103e:29:da7a:1909:1570:14f1:22f) |
| 22:42:41 | → | Everything joins (~Everythin@37.115.210.35) |
| 22:43:25 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 22:43:25 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 22:43:26 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 22:43:26 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 22:43:43 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 22:44:02 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 22:44:07 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:45:06 | → | mrmr1 joins (~mrmr@user/mrmr) |
| 22:46:19 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 22:46:19 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 22:46:19 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 22:46:47 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 22:46:56 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 22:47:00 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:47:03 | × | mrmr quits (~mrmr@user/mrmr) (Ping timeout: 252 seconds) |
| 22:47:03 | mrmr1 | is now known as mrmr |
| 22:47:05 | → | gmg joins (~user@user/gehmehgeh) |
| 22:48:29 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 22:54:57 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 22:55:27 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:56:21 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 22:58:01 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
| 22:59:39 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 22:59:53 | × | alp_ quits (~alp@user/alp) (Ping timeout: 252 seconds) |
| 23:00:29 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 23:00:31 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:1909:1570:14f1:22f) (Remote host closed the connection) |
| 23:00:49 | → | king_gs joins (~Thunderbi@2806:103e:29:da7a:1909:1570:14f1:22f) |
| 23:03:19 | → | luffy joins (~chenqisu1@183.217.201.23) |
| 23:03:20 | × | hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 23:10:57 | → | kimjetwav joins (~user@2607:fea8:235e:b600:10e5:8f0a:fe7a:2725) |
| 23:12:16 | → | dcoutts_ joins (~duncan@host86-153-135-25.range86-153.btcentralplus.com) |
| 23:13:35 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:14:21 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 23:16:28 | × | noteness quits (~noteness@user/noteness) (Ping timeout: 268 seconds) |
| 23:18:34 | × | yvan-sraka quits (~yvan-srak@105.67.135.250) (Remote host closed the connection) |
| 23:22:29 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 23:23:05 | → | nicos joins (~nico@186.143.199.156) |
| 23:23:49 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 23:23:59 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 23:25:11 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:28:09 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 23:30:31 | × | alternateved quits (~user@staticline-31-183-149-36.toya.net.pl) (Remote host closed the connection) |
| 23:30:56 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 23:33:12 | → | Core6565 joins (~nico@186.143.136.251) |
| 23:34:53 | × | nicos quits (~nico@186.143.199.156) (Ping timeout: 268 seconds) |
| 23:39:03 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 23:42:03 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 23:43:40 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:45:14 | → | mikoto-chan joins (~mikoto-ch@164.5.249.78) |
| 23:45:27 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds) |
| 23:47:18 | × | mastarija quits (~mastarija@2a05:4f46:e03:6000:20af:4cb5:fc31:abbc) (Quit: Leaving) |
| 23:51:57 | × | vglfr quits (~vglfr@145.224.94.75) (Ping timeout: 252 seconds) |
| 23:54:17 | → | nicos joins (~nico@190.247.245.154) |
| 23:54:17 | × | Core6565 quits (~nico@186.143.136.251) (Read error: Connection reset by peer) |
| 23:57:27 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 23:59:30 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
All times are in UTC on 2022-08-12.