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