2022-01-12 00:03:28 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-01-12 00:05:08 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 00:06:55 +0100 | alx741_ | (~alx741@157.100.93.160) |
2022-01-12 00:07:04 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-12 00:07:14 +0100 | alx741_ | (~alx741@157.100.93.160) (Client Quit) |
2022-01-12 00:10:24 +0100 | <geekosaur> | seem to have it building locally with --allow-newer and the usual import Prelude mods |
2022-01-12 00:10:28 +0100 | xb0o2 | (~xb0o2@user/xb0o2) (Quit: Client closed) |
2022-01-12 00:13:55 +0100 | <janus> | how dangerous is it to use a nightly stackage snapshot? it doesn't seem very dangerous to me since the software has already been released to hackage |
2022-01-12 00:15:18 +0100 | <janus> | the only way it could break is if value-level assumptions are suddenly broken, but how often does that happen in haskell? i feel like it doesn't happen very often |
2022-01-12 00:15:34 +0100 | <janus> | if the incompatibility breaks the build, surely it doesn't even stay in the nightly snapshot |
2022-01-12 00:20:09 +0100 | pottsy | (~pottsy@129.227.183.244) |
2022-01-12 00:21:07 +0100 | <janus> | i have this perception that lts-14.27 is more trustworthy than stackage nightly, but i never really hit a nightly issue that would confirm that hypothesis. i am curious to hear how others weigh old-vs-new and stable-vs-unstable |
2022-01-12 00:21:15 +0100 | <geekosaur> | the main danger is that something you rely on isn't there any more, or your own software isn't compatible with the compiler it's based on (as with the simplified subsumption changes in 9.0.x) |
2022-01-12 00:22:11 +0100 | <janus> | oh but that isn't an issue because we have parallel builds with lts-14.27 and stackage nightly. we already fixed all the subsumption kinks |
2022-01-12 00:22:54 +0100 | <jackdk> | if stack didn't generate `base >= 4.x && <5` in `package.yaml` or whatever, it wouldn't try to build with breaking changes like that |
2022-01-12 00:23:46 +0100 | <janus> | i am just worried that if we switch production to run with the nightly build instead of lts-14.27, we'll hit some weird runtime issue. i actually worry more about library bugs than compiler bugs |
2022-01-12 00:24:33 +0100 | <janus> | jackdk: sure, lots of libraries had to be fixed before they could go into stackage nightly again. i even had to ask trustees to fix some. but that is all done now |
2022-01-12 00:24:34 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 00:25:10 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-01-12 00:25:36 +0100 | dut | (~dut@user/dut) |
2022-01-12 00:26:26 +0100 | <jackdk> | those libraries should have been constraint-solving failures, not build-time failures. |
2022-01-12 00:26:31 +0100 | <geekosaur> | welp. qhong_, got everything and then tripped over a kind change in Language.Haskell.Exts that I have no clue about. I think that means exference is toast. :( |
2022-01-12 00:26:38 +0100 | colton | (~colton@2601:681:4c00:96e0:4151:f3f:5fca:73bb) |
2022-01-12 00:27:02 +0100 | <geekosaur> | hm, hexagonel is here. wonder if that means it's been disowned |
2022-01-12 00:27:15 +0100 | <geekosaur> | but exferenceBot isn't |
2022-01-12 00:27:20 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 00:28:41 +0100 | colton | (~colton@2601:681:4c00:96e0:4151:f3f:5fca:73bb) () |
2022-01-12 00:29:24 +0100 | aeka | (~aeka@user/hiruji) (Read error: Connection reset by peer) |
2022-01-12 00:29:25 +0100 | emf | (~emf@2620:10d:c090:400::5:b9c2) (Ping timeout: 268 seconds) |
2022-01-12 00:30:01 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 00:30:59 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2022-01-12 00:31:14 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-01-12 00:34:54 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 00:36:49 +0100 | emf | (~emf@2620:10d:c091:480::1:79e9) |
2022-01-12 00:39:46 +0100 | Henson | (~kvirc@107-179-133-201.cpe.teksavvy.com) |
2022-01-12 00:40:10 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-01-12 00:40:18 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 00:42:21 +0100 | emf_ | (~emf@2620:10d:c090:400::5:b9c2) |
2022-01-12 00:43:27 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2022-01-12 00:43:36 +0100 | emf | (~emf@2620:10d:c091:480::1:79e9) (Ping timeout: 268 seconds) |
2022-01-12 00:46:39 +0100 | <geekosaur> | qhong_, both of those paqckages depend on (wrapped) compiler internals which change somewhat frequently. I have no idea what the necessary changes are; you'd have to use an older compiler |
2022-01-12 00:47:28 +0100 | <Henson> | I'm having difficulty getting code coverage report to work with "stack test --coverage". This used to work 2 years ago on an older version of stack, but now it doesn't and complains about the coverage report not seeing any code. Does anybody have any suggestions as to what I should look at? I've tried a bunch of things with no luck. |
2022-01-12 00:48:16 +0100 | <Inst> | this is entertaining |
2022-01-12 00:48:33 +0100 | <EvanR> | [itchyjunk], there are haskell libraries with a truckload of abstract algebra (re)defined, or you could just define class Monoid a => Group a where inv :: a -> a, if you want |
2022-01-12 00:48:58 +0100 | <[itchyjunk]> | hmm |
2022-01-12 00:49:01 +0100 | <EvanR> | that defines Group, though now you have to ask what could satisfy it |
2022-01-12 00:49:44 +0100 | <monochrom> | Sum Int satisfies it, for example. |
2022-01-12 00:49:47 +0100 | <EvanR> | maybe more importantly, what are some general algorithms that use it |
2022-01-12 00:50:36 +0100 | <monochrom> | Algorithms that start from a few elements and find the generated subgroup :) |
2022-01-12 00:50:43 +0100 | <geekosaur> | only if you ignore its minBound :þ |
2022-01-12 00:50:58 +0100 | <monochrom> | Haha OK Integer |
2022-01-12 00:51:00 +0100 | <EvanR> | by find the subgroup, do you mean... some kind of enumeration of all the elements? xD |
2022-01-12 00:51:05 +0100 | aeka | (~aeka@user/hiruji) |
2022-01-12 00:51:13 +0100 | <monochrom> | That's one version. |
2022-01-12 00:51:17 +0100 | <EvanR> | or do we need a subgroup class |
2022-01-12 00:51:29 +0100 | <EvanR> | (multiparameter) |
2022-01-12 00:51:38 +0100 | <EvanR> | and it starts to get hairy |
2022-01-12 00:51:57 +0100 | <monochrom> | Nah don't define a subgroup class. |
2022-01-12 00:53:19 +0100 | <EvanR> | ok now I want to write that algorithm |
2022-01-12 00:53:19 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 00:53:37 +0100 | <EvanR> | and see what happens with floats lol |
2022-01-12 00:53:40 +0100 | emf | (~emf@2620:10d:c091:480::1:147e) |
2022-01-12 00:54:37 +0100 | emf_ | (~emf@2620:10d:c090:400::5:b9c2) (Ping timeout: 240 seconds) |
2022-01-12 00:54:40 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) |
2022-01-12 00:54:49 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-12 00:57:28 +0100 | emf_ | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
2022-01-12 00:57:33 +0100 | aeka | (~aeka@user/hiruji) (Read error: Connection reset by peer) |
2022-01-12 00:57:56 +0100 | <EvanR> | that's funny, Int w/ + breaks group laws? |
2022-01-12 00:57:57 +0100 | emf | (~emf@2620:10d:c091:480::1:147e) (Ping timeout: 240 seconds) |
2022-01-12 00:58:23 +0100 | <EvanR> | > -minBound :: Int |
2022-01-12 00:58:24 +0100 | <lambdabot> | -9223372036854775808 |
2022-01-12 00:58:36 +0100 | <EvanR> | > -minBound + minBound :: Int |
2022-01-12 00:58:37 +0100 | <lambdabot> | 0 |
2022-01-12 00:58:39 +0100 | _xor | (~xor@dsl-50-5-233-169.fuse.net) |
2022-01-12 00:58:45 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 00:58:45 +0100 | <EvanR> | :sus: |
2022-01-12 00:59:12 +0100 | <monochrom> | Involutions are a thing. |
2022-01-12 00:59:51 +0100 | <EvanR> | > -minBound + (minBound + minBound) :: Int |
2022-01-12 00:59:52 +0100 | <lambdabot> | -9223372036854775808 |
2022-01-12 01:00:04 +0100 | <EvanR> | > (-minBound + minBound) + minBound :: Int |
2022-01-12 01:00:06 +0100 | <lambdabot> | -9223372036854775808 |
2022-01-12 01:00:30 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds) |
2022-01-12 01:00:33 +0100 | <monochrom> | The Klein 4-group is full of involutions. Only the identity element is not an involution. |
2022-01-12 01:00:45 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-01-12 01:01:04 +0100 | aeka | (~aeka@user/hiruji) |
2022-01-12 01:02:39 +0100 | aeka | (~aeka@user/hiruji) (Read error: Connection reset by peer) |
2022-01-12 01:03:03 +0100 | Codaraxis | (~Codaraxis@user/codaraxis) |
2022-01-12 01:03:38 +0100 | Alex_test_ | (~al_test@178.34.151.107) |
2022-01-12 01:04:37 +0100 | Alex_test | (~al_test@178.34.151.107) (Ping timeout: 240 seconds) |
2022-01-12 01:05:38 +0100 | aeka | (~aeka@user/hiruji) |
2022-01-12 01:06:12 +0100 | <Axman6> | Does it bother anyone else that TIO.putStrLn $ T.reverse "🇦🇺" prints🇺🇦 |
2022-01-12 01:06:30 +0100 | <Axman6> | wow, that was not handled well by my terminal |
2022-01-12 01:06:30 +0100 | aeka | (~aeka@user/hiruji) (Read error: Connection reset by peer) |
2022-01-12 01:06:50 +0100 | <EvanR> | the aussie flag turns into.. who's that, estonia? |
2022-01-12 01:07:01 +0100 | <Axman6> | ukraine I believe |
2022-01-12 01:07:04 +0100 | <EvanR> | oh right |
2022-01-12 01:07:26 +0100 | max22- | (~maxime@2a01cb0883359800decae4ceda35e3bf.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2022-01-12 01:07:34 +0100 | <Axman6> | "\127462\127482", regional indicator symbols for a and u |
2022-01-12 01:07:38 +0100 | burnside_ | (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-12 01:08:10 +0100 | burnsidesLlama | (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
2022-01-12 01:09:25 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 01:10:01 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2022-01-12 01:10:37 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 01:10:41 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-12 01:12:13 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-12 01:12:17 +0100 | burnsidesLlama | (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 240 seconds) |
2022-01-12 01:13:48 +0100 | <hpc> | welcome to ligature hacks :D |
2022-01-12 01:14:18 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds) |
2022-01-12 01:14:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 01:14:35 +0100 | <Axman6> | It's annoyed me for a while that we don't have any decent glyph level handling of text values. Char is not enough! |
2022-01-12 01:14:38 +0100 | goepsilongo | (~goepsilon@2806:263:c404:8000:a19a:aab0:db5f:4d8c) |
2022-01-12 01:15:01 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-01-12 01:16:10 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 01:17:17 +0100 | <hpc> | it's ridiculously complicated too, probably needs its own entire library |
2022-01-12 01:17:18 +0100 | <Axman6> | IIRC this is something Go does well out of the box. It's like the one thing they've got |
2022-01-12 01:17:19 +0100 | <hpc> | like iconv |
2022-01-12 01:17:23 +0100 | <Axman6> | yeah |
2022-01-12 01:17:31 +0100 | <hpc> | emojis do it in a totally different way too, just for fun |
2022-01-12 01:17:36 +0100 | <Axman6> | https://discourse.haskell.org/t/ann-unicode-data-0-3-0-apis-to-efficiently-access-the-unicode-char… got me interested in it again |
2022-01-12 01:17:47 +0100 | <hpc> | you use a zero-width joiner character and there's a few different ways that can play out |
2022-01-12 01:17:56 +0100 | <hpc> | if your font even supports certain combinations to begin with |
2022-01-12 01:18:36 +0100 | <Axman6> | Hence why I had this open https://en.wikipedia.org/wiki/Emoji#Joining :P |
2022-01-12 01:18:51 +0100 | hpc | . o O ( on april 1, have the reverse operation on a unicode string just put the RLO character in front of it ) |
2022-01-12 01:20:32 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 01:21:45 +0100 | <Axman6> | "-- | This function is pure-ish, it'll behave exactly as you expect unless called on 1 April UTC time each year, then it'll play pranks on you" |
2022-01-12 01:22:47 +0100 | <ephemient> | > let s = "\128104\8205\129456\8205\128105" in (s, reverse s) |
2022-01-12 01:22:48 +0100 | <lambdabot> | ("\128104\8205\129456\8205\128105","\128105\8205\129456\8205\128104") |
2022-01-12 01:22:54 +0100 | <ephemient> | oh foo |
2022-01-12 01:23:29 +0100 | <ephemient> | > let s = "\128104\8205\129456\8205\128105" in putStr $ s ++ "|" ++ reverse s |
2022-01-12 01:23:31 +0100 | <lambdabot> | <IO ()> |
2022-01-12 01:23:47 +0100 | <ephemient> | wellp, guess I can't get lambdabot to do it |
2022-01-12 01:24:18 +0100 | <Axman6> | > let s = "\128104\8205\129456\8205\128105" in text $ s ++ "|" ++ reverse s |
2022-01-12 01:24:19 +0100 | <lambdabot> | 👨🦰👩|👩🦰👨 |
2022-01-12 01:24:29 +0100 | <Axman6> | interesting! |
2022-01-12 01:24:40 +0100 | vysn | (~vysn@user/vysn) |
2022-01-12 01:24:40 +0100 | <hpc> | Axman6: ooh, use acme-now to detect the date as well |
2022-01-12 01:24:50 +0100 | <hpc> | and https://hackage.haskell.org/package/acme-mutable-package so it doesn't show up in the dependencies |
2022-01-12 01:25:06 +0100 | <hpc> | sneak it into a revision that's created at build timme |
2022-01-12 01:25:22 +0100 | <Axman6> | When running let s = "\128104\8205\129456\8205\128105" :: Text in TIO.putStrLn (s <> "|" <> T.reverse s) I get back 👨🦰👩|👩🦰👨 |
2022-01-12 01:25:44 +0100 | <Axman6> | uh... even mor einteresting, it removecd the ranga-ness! |
2022-01-12 01:26:28 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 01:26:32 +0100 | <geekosaur> | remember yahb can do IO |
2022-01-12 01:27:54 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2022-01-12 01:29:37 +0100 | <monochrom> | It would be funny if the 1 April prank implementation had a Y2K bug so after the year 2000 it mistook every day for 1 April. "The joke is on you." |
2022-01-12 01:29:46 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-12 01:32:06 +0100 | <hpc> | like when microsoft added a teams ad to windows that made your entire system unusable |
2022-01-12 01:32:16 +0100 | <hpc> | good thing they added a policy making easter eggs a fireable offense |
2022-01-12 01:33:14 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
2022-01-12 01:33:55 +0100 | <monochrom> | I would be more impressed if their policy made bugs a fireable offense. |
2022-01-12 01:34:18 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2022-01-12 01:34:59 +0100 | <monochrom> | Banning easter eggs is just banning a symptom, and even among symptoms the most superficial and trivial one. |
2022-01-12 01:34:59 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 01:35:06 +0100 | <Axman6> | Hmmmm: https://hackage.haskell.org/package/unicode-data-0.3.0/docs/src/Unicode.Internal.Char.UnicodeData.… |
2022-01-12 01:35:14 +0100 | <Axman6> | Haddock did noy do well with this... |
2022-01-12 01:35:37 +0100 | <Axman6> | not* |
2022-01-12 01:35:50 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-01-12 01:36:07 +0100 | <hpc> | that crashed my browser lol |
2022-01-12 01:36:43 +0100 | <monochrom> | That is epic. |
2022-01-12 01:36:54 +0100 | <Axman6> | the original haskell file is 3.32 MB |
2022-01-12 01:36:59 +0100 | cheater | (~Username@user/cheater) |
2022-01-12 01:37:01 +0100 | <Axman6> | so... understandable |
2022-01-12 01:39:16 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-12 01:39:17 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2022-01-12 01:40:11 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2022-01-12 01:40:39 +0100 | <Axman6> | uh, wow. ok looking at the code I can see why, bitmap# is an Addr#, presumably ord (maxBound :: Char) in length, and each element takes up four characters as \NUL\NUL etc |
2022-01-12 01:40:47 +0100 | <Axman6> | I wonder if making it use \0 would help at all |
2022-01-12 01:40:51 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 01:41:37 +0100 | jkaye | (~jkaye@2601:281:8300:7530:a9ff:dc19:c096:5ef5) (Ping timeout: 240 seconds) |
2022-01-12 01:42:17 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds) |
2022-01-12 01:43:19 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-12 01:44:00 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 01:44:25 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 01:45:49 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 240 seconds) |
2022-01-12 01:47:39 +0100 | aeka | (~aeka@user/hiruji) |
2022-01-12 01:47:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2022-01-12 01:48:20 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 01:48:46 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-12 01:49:37 +0100 | ouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) (Remote host closed the connection) |
2022-01-12 01:51:24 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-12 01:51:37 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::55f8) |
2022-01-12 01:53:57 +0100 | <[itchyjunk]> | Task is to implement zip in terms of zipWith. Here is my solution : https://bpa.st/WRNQ |
2022-01-12 01:54:08 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 01:54:36 +0100 | <geekosaur> | I take it go is a leftover? |
2022-01-12 01:54:50 +0100 | <geekosaur> | also as it turns out there's an even shorter version |
2022-01-12 01:54:53 +0100 | aeka | (~aeka@user/hiruji) (Read error: Connection reset by peer) |
2022-01-12 01:54:57 +0100 | myrrh | (~markus@user/poet) (Ping timeout: 256 seconds) |
2022-01-12 01:55:10 +0100 | <[itchyjunk]> | oh yeah i replaced go with that lambda function |
2022-01-12 01:55:13 +0100 | <[itchyjunk]> | hmm |
2022-01-12 01:55:18 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
2022-01-12 01:55:20 +0100 | ouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) |
2022-01-12 01:55:24 +0100 | <geekosaur> | (also the [] [] pattern match is unnecessary, since zipWith already handles it) |
2022-01-12 01:55:34 +0100 | <geekosaur> | :t (,) |
2022-01-12 01:55:35 +0100 | <lambdabot> | a -> b -> (a, b) |
2022-01-12 01:55:36 +0100 | <[itchyjunk]> | ah, i was kinda suspecting it |
2022-01-12 01:55:38 +0100 | <whatsupdoc> | you know a language sucks when hello world is 2 lines |
2022-01-12 01:56:03 +0100 | <ephemient> | and once you take out [], xs and ys are unnecessary |
2022-01-12 01:56:09 +0100 | <[itchyjunk]> | i inquired about "hello world" in riscv and you need to write a library for uART or somesuch to tdo it |
2022-01-12 01:56:11 +0100 | <[itchyjunk]> | so i gave up |
2022-01-12 01:56:38 +0100 | <[itchyjunk]> | ephemient, like _ _ suffices? |
2022-01-12 01:56:54 +0100 | <ephemient> | @src zip |
2022-01-12 01:56:54 +0100 | <lambdabot> | zip (a:as) (b:bs) = (a,b) : zip as bs |
2022-01-12 01:56:54 +0100 | <lambdabot> | zip _ _ = [] |
2022-01-12 01:57:16 +0100 | <ephemient> | well I wasn't sure which definition was going to pop out |
2022-01-12 01:58:01 +0100 | <ephemient> | > let zip :: [a] -> [b] -> [(a, b)]; zip = zipWith (,) in zip ['a'..] [1..] |
2022-01-12 01:58:03 +0100 | <lambdabot> | [('a',1),('b',2),('c',3),('d',4),('e',5),('f',6),('g',7),('h',8),('i',9),('j... |
2022-01-12 01:58:11 +0100 | <geekosaur> | [itchyjunk], I showed you the trick already |
2022-01-12 01:58:12 +0100 | aeka | (~aeka@2606:6080:1001:18:8d41:9604:d435:36b6) |
2022-01-12 01:58:52 +0100 | <geekosaur> | right, and there's ephemient's version of the same thing |
2022-01-12 01:58:57 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 01:59:03 +0100 | <geekosaur> | (,) is a tuple constructor |
2022-01-12 02:00:11 +0100 | <geekosaur> | (sadly you need to turn on an extension to go the next step and use it as a section) |
2022-01-12 02:00:23 +0100 | <[itchyjunk]> | oh right the constructor |
2022-01-12 02:00:46 +0100 | <ephemient> | (,,,,,,,,,,,,,,,,,,,,,,,,,) is also a constructor |
2022-01-12 02:01:27 +0100 | <[itchyjunk]> | :o |
2022-01-12 02:02:08 +0100 | <[itchyjunk]> | does the fst snd thing works with n-tuples? i think not, right? |
2022-01-12 02:02:24 +0100 | <ephemient> | (1,) and (,1) are sections, but they aren't allowed without {-# LANGUAGE TupleSections #-} (what geekosaur was referring to) |
2022-01-12 02:02:51 +0100 | <ephemient> | Prelude's fst and snd are only defined on pairs (so no, not n-tuples) |
2022-01-12 02:03:25 +0100 | <geekosaur> | right, the fact that each tuple type is its own thing makes defining a general one difficult |
2022-01-12 02:03:35 +0100 | <geekosaur> | you can do it with typeclasses but it's hacky and fragile |
2022-01-12 02:03:36 +0100 | jkaye | (~jkaye@2601:281:8300:7530:a78a:7d05:3820:99ae) |
2022-01-12 02:03:42 +0100 | <ephemient> | lens does some magic to make _1 work on tuples of any-ish size |
2022-01-12 02:03:43 +0100 | <geekosaur> | iirc |
2022-01-12 02:04:25 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 02:04:56 +0100 | <geekosaur> | pretty sure it does the typeclass thing I just mentioned |
2022-01-12 02:06:12 +0100 | <geekosaur> | :t _1 |
2022-01-12 02:06:13 +0100 | <lambdabot> | (Field1 s t a b, Functor f) => (a -> f b) -> s -> f t |
2022-01-12 02:06:58 +0100 | <ephemient> | %% :i Field1 |
2022-01-12 02:06:58 +0100 | <yahb> | ephemient: http://qp.mniip.com/y/38 |
2022-01-12 02:06:59 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 02:06:59 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 02:06:59 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 02:07:01 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
2022-01-12 02:07:45 +0100 | <ephemient> | looks like it's pre-defined up to… 37-tuples? |
2022-01-12 02:08:29 +0100 | <ephemient> | seems like a pretty arbitrary limit but I guess it doesn't really matter. you can go nuts and define your own instances for larger tuples |
2022-01-12 02:08:33 +0100 | ft | (~ft@shell.chaostreff-dortmund.de) (Ping timeout: 256 seconds) |
2022-01-12 02:08:42 +0100 | polyphem | (~rod@2a02:810d:640:776c:e450:3ca3:b389:687a) (Ping timeout: 268 seconds) |
2022-01-12 02:08:54 +0100 | <geekosaur> | the Generic default might do it for you, just slower |
2022-01-12 02:09:23 +0100 | aeka | (~aeka@2606:6080:1001:18:8d41:9604:d435:36b6) (Read error: Connection reset by peer) |
2022-01-12 02:09:50 +0100 | <ephemient> | > (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)^._1 |
2022-01-12 02:09:51 +0100 | <lambdabot> | error: |
2022-01-12 02:09:51 +0100 | <lambdabot> | • Could not deduce (Num a0) |
2022-01-12 02:09:51 +0100 | <lambdabot> | from the context: (Num a, Num b, Num c, Num d, Num e, Num f, Num g, |
2022-01-12 02:10:02 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-12 02:10:05 +0100 | polyphem | (~rod@ip5f5bff31.dynamic.kabel-deutschland.de) |
2022-01-12 02:10:22 +0100 | ft | (~ft@shell.chaostreff-dortmund.de) |
2022-01-12 02:10:50 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 02:10:52 +0100 | <ephemient> | ... oh is {-# LANGUAGE NumericUnderscores #-} interfering with lens? |
2022-01-12 02:10:59 +0100 | <ephemient> | > (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) ^. _1 |
2022-01-12 02:11:00 +0100 | <lambdabot> | error: |
2022-01-12 02:11:00 +0100 | <lambdabot> | • Could not deduce (Num a0) |
2022-01-12 02:11:00 +0100 | <lambdabot> | from the context: (Num a, Num b, Num c, Num d, Num e, Num f, Num g, |
2022-01-12 02:11:09 +0100 | <ephemient> | nope, not sure what it is |
2022-01-12 02:11:39 +0100 | <geekosaur> | > (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) ^. _1 :: Int |
2022-01-12 02:11:41 +0100 | <lambdabot> | error: |
2022-01-12 02:11:41 +0100 | <lambdabot> | • No instance for (Field1 |
2022-01-12 02:11:41 +0100 | <lambdabot> | (Integer, Integer, Integer, Integer, Integer, Integ... |
2022-01-12 02:11:47 +0100 | <geekosaur> | > (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) ^. _1 :: Integer |
2022-01-12 02:11:48 +0100 | <lambdabot> | error: |
2022-01-12 02:11:48 +0100 | <lambdabot> | • No instance for (Field1 |
2022-01-12 02:11:48 +0100 | <lambdabot> | (Integer, Integer, Integer, Integer, Integer, Integ... |
2022-01-12 02:11:57 +0100 | <ephemient> | I guess the Generic instance doesn't help |
2022-01-12 02:12:03 +0100 | <geekosaur> | doesn't look like it |
2022-01-12 02:13:02 +0100 | aeka | (~aeka@user/hiruji) |
2022-01-12 02:13:07 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:86d:17f:4605:4c9d) (Remote host closed the connection) |
2022-01-12 02:13:14 +0100 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-01-12 02:13:39 +0100 | jgeerds_ | (~jgeerds@55d4bbed.access.ecotel.net) (Ping timeout: 256 seconds) |
2022-01-12 02:13:49 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e52381c42d4d3ad2973.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-12 02:13:49 +0100 | acidjnk | (~acidjnk@p200300d0c7271e52381c42d4d3ad2973.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-12 02:14:22 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 02:16:49 +0100 | aeka | (~aeka@user/hiruji) (Read error: Connection reset by peer) |
2022-01-12 02:17:09 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2022-01-12 02:17:51 +0100 | aeka | (~aeka@user/hiruji) |
2022-01-12 02:19:05 +0100 | Henson | (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
2022-01-12 02:19:48 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 02:22:57 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2022-01-12 02:22:57 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 02:24:41 +0100 | <[itchyjunk]> | in my go, when i > n, it should just return [] and the loop should stop, no? |
2022-01-12 02:24:41 +0100 | <[itchyjunk]> | https://bpa.st/XZWA |
2022-01-12 02:26:05 +0100 | <[itchyjunk]> | myTake 5 [1..10] |
2022-01-12 02:26:05 +0100 | <[itchyjunk]> | [1,2,3,4,5,6,7,8,9,10] |
2022-01-12 02:26:13 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
2022-01-12 02:26:14 +0100 | <[itchyjunk]> | :D so the "loop" has an issue |
2022-01-12 02:26:45 +0100 | <Axman6> | comparing to length xs is almost always a mistake in Haskell |
2022-01-12 02:27:12 +0100 | <[itchyjunk]> | hmm |
2022-01-12 02:27:38 +0100 | mmhat | (~mmh@55d441e1.access.ecotel.net) (Quit: WeeChat 3.4) |
2022-01-12 02:27:42 +0100 | <Axman6> | also, just count down, once n <= 0 then return [] |
2022-01-12 02:27:50 +0100 | <Axman6> | no need to carry around i and n |
2022-01-12 02:28:25 +0100 | <geekosaur> | also it looks to me like if it did work as you have it written it'd always produce [] |
2022-01-12 02:28:34 +0100 | <geekosaur> | because you throw away the result |
2022-01-12 02:29:04 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 02:29:40 +0100 | <[itchyjunk]> | thats what i was expecting to see, [] everytime :P |
2022-01-12 02:29:42 +0100 | aeka` | (~aeka@2606:6080:1001:f:ed79:9361:ea0e:3e88) |
2022-01-12 02:29:59 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8) |
2022-01-12 02:30:31 +0100 | <[itchyjunk]> | tiny bit edit but still with the same bugs |
2022-01-12 02:30:32 +0100 | <[itchyjunk]> | https://bpa.st/LVQA |
2022-01-12 02:31:03 +0100 | <[itchyjunk]> | n should become 0 at some point in go. |
2022-01-12 02:31:12 +0100 | <[itchyjunk]> | i dont see why i am not getting [] |
2022-01-12 02:31:49 +0100 | aeka | (~aeka@user/hiruji) (Ping timeout: 240 seconds) |
2022-01-12 02:33:26 +0100 | <xsperry> | you don't need lenght, or go. just keeping consing elements until you either 1) run out of elements (check for []) 2) n <= 0 |
2022-01-12 02:34:30 +0100 | <[itchyjunk]> | well if i change n in myTake, then hmm |
2022-01-12 02:34:34 +0100 | <Axman6> | take 0 _ = []; take n (x:xs) = ??? |
2022-01-12 02:34:55 +0100 | <[itchyjunk]> | yeah i guess i can rethink this a bit |
2022-01-12 02:35:03 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2022-01-12 02:35:45 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2022-01-12 02:36:15 +0100 | <Axman6> | > zipWith const "Hello, world!" [1..5] |
2022-01-12 02:36:16 +0100 | <lambdabot> | "Hello" |
2022-01-12 02:36:25 +0100 | <[itchyjunk]> | https://bpa.st/6CBA |
2022-01-12 02:37:27 +0100 | <[itchyjunk]> | ah there is an issue still |
2022-01-12 02:37:50 +0100 | <Axman6> | looks good to me, though what happens when I say myTake 10 "Hello"? |
2022-01-12 02:37:53 +0100 | <xsperry> | almost there, just have to handle empty list |
2022-01-12 02:38:17 +0100 | <Axman6> | and if you turn on -Wall in ghci (:set -Wall) it will tell you there are patterns you haven't matched |
2022-01-12 02:38:20 +0100 | <[itchyjunk]> | i get a non exhaustive error |
2022-01-12 02:38:37 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
2022-01-12 02:38:37 +0100 | <[itchyjunk]> | ah |
2022-01-12 02:39:10 +0100 | <[itchyjunk]> | https://bpa.st/WYXA |
2022-01-12 02:39:24 +0100 | <[itchyjunk]> | just needed `myTake n [] = []` to handle the empty list case |
2022-01-12 02:39:57 +0100 | <Axman6> | what happens when I say myTake (-10) "Hello"? |
2022-01-12 02:40:06 +0100 | <[itchyjunk]> | /o\ |
2022-01-12 02:40:28 +0100 | <[itchyjunk]> | I get "Hello" |
2022-01-12 02:40:49 +0100 | waleee | (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
2022-01-12 02:41:00 +0100 | <Axman6> | this is why we usually define take using guards: myTake n (x:xs) | n <= 0 = [] | otherwise = ... |
2022-01-12 02:41:05 +0100 | <[itchyjunk]> | oh it keeps going negative numbers |
2022-01-12 02:41:09 +0100 | <[itchyjunk]> | till the list become empty |
2022-01-12 02:41:18 +0100 | <[itchyjunk]> | then it hits the `myTake n []` case |
2022-01-12 02:41:20 +0100 | <[itchyjunk]> | and ends |
2022-01-12 02:41:21 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 02:41:32 +0100 | <ephemient> | > let myTake n = foldr f [] . zip [n, n - 1..] where f (m, a) | m > 0 = (a:) | otherwise = const [] in myTake 10 ['a'..] -- ;-) |
2022-01-12 02:41:33 +0100 | <lambdabot> | "abcdefghij" |
2022-01-12 02:41:56 +0100 | Axman6 | glares |
2022-01-12 02:42:05 +0100 | <[itchyjunk]> | so it handle case of negative integers as long as the list is finite it seems |
2022-01-12 02:42:26 +0100 | <[itchyjunk]> | there was 2 different take right? take and takeWhile ? |
2022-01-12 02:42:31 +0100 | <[itchyjunk]> | :t takeWhile |
2022-01-12 02:42:32 +0100 | <lambdabot> | (a -> Bool) -> [a] -> [a] |
2022-01-12 02:42:36 +0100 | <[itchyjunk]> | hmm |
2022-01-12 02:42:51 +0100 | <Axman6> | generally people think of take as returning at most n elements. it should never return more than n elements |
2022-01-12 02:43:01 +0100 | <Axman6> | > take 10 "Hello" |
2022-01-12 02:43:02 +0100 | <lambdabot> | "Hello" |
2022-01-12 02:43:06 +0100 | <Axman6> | > take (-10) "Hello" |
2022-01-12 02:43:07 +0100 | <lambdabot> | "" |
2022-01-12 02:43:13 +0100 | <[itchyjunk]> | ahh |
2022-01-12 02:43:25 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Remote host closed the connection) |
2022-01-12 02:43:48 +0100 | <[itchyjunk]> | can i constraint n to N = {0,..} then ? |
2022-01-12 02:44:21 +0100 | <[itchyjunk]> | as i have it, idk how i would address n < 0 |
2022-01-12 02:45:25 +0100 | <ephemient> | one way is to guard first, another way is to rearrange your code so you don't have to address it separately |
2022-01-12 02:46:53 +0100 | <xsperry> | [itchyjunk], the simplest way would be with an if/then/else expression. or guards |
2022-01-12 02:47:06 +0100 | <xsperry> | have you used either? |
2022-01-12 02:47:18 +0100 | <[itchyjunk]> | if |
2022-01-12 02:47:24 +0100 | <[itchyjunk]> | i've used if else |
2022-01-12 02:47:39 +0100 | <xsperry> | then try doing it with that |
2022-01-12 02:47:42 +0100 | pottsy | (~pottsy@129.227.183.244) (Ping timeout: 250 seconds) |
2022-01-12 02:47:44 +0100 | <Axman6> | we don't have if else =) |
2022-01-12 02:48:44 +0100 | <[itchyjunk]> | https://bpa.st/DLCA |
2022-01-12 02:48:48 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-01-12 02:48:56 +0100 | <[itchyjunk]> | i think my `myTake 0 xs = []` is redundent though |
2022-01-12 02:49:04 +0100 | <xsperry> | yeah |
2022-01-12 02:49:08 +0100 | jackson99 | (~bc8147f2@cerf.good1.com) |
2022-01-12 02:49:15 +0100 | <xsperry> | it is |
2022-01-12 02:50:16 +0100 | alx741 | (~alx741@157.100.93.160) (Remote host closed the connection) |
2022-01-12 02:51:35 +0100 | <EvanR> | in haskell it's more conventional to use Int and just put guards to deal sanely with negatives, though some low level modules will use Word which is non negative |
2022-01-12 02:51:50 +0100 | <EvanR> | in other languages you might see Nat which is more appropriate for dealing with lists |
2022-01-12 02:52:41 +0100 | <EvanR> | Nat = 0, 1, 2, ... |
2022-01-12 02:53:28 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2022-01-12 02:53:45 +0100 | <Axman6> | this was discussed on reddit recently, and a good point was made that when thingd go negative with Word, things go very wrong. It's impossible to tell if someone meant to allocate maxBound :: Word bytes or accidentally tried to alocate -1 bytes. The failure modes for using Int are less bad usually, and while they can go equally wrong, doing so is much less common |
2022-01-12 02:53:52 +0100 | <ephemient> | there is Numeric.Natural built-in, although I'm not sure when it was added… |
2022-01-12 02:54:17 +0100 | <Axman6> | having a non wrapping type would help though |
2022-01-12 02:54:24 +0100 | <Axman6> | > (-1) :: Word |
2022-01-12 02:54:26 +0100 | <lambdabot> | 18446744073709551615 |
2022-01-12 02:54:27 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2022-01-12 02:54:32 +0100 | <ephemient> | > 10 ^ 100 :: Natural |
2022-01-12 02:54:34 +0100 | <lambdabot> | error: |
2022-01-12 02:54:34 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Natural’ |
2022-01-12 02:54:36 +0100 | <EvanR> | yeah Word is not really for this |
2022-01-12 02:54:43 +0100 | <ephemient> | oh I guess it's not imported in lambdabot |
2022-01-12 02:54:50 +0100 | <Axman6> | % 10 ^ 100 :: Natural |
2022-01-12 02:54:53 +0100 | <yahb> | Axman6: *** Exception: heap overflow |
2022-01-12 02:54:55 +0100 | <EvanR> | and Natural is cool, but a bit heavy weight for usually uses |
2022-01-12 02:54:56 +0100 | <Axman6> | D: |
2022-01-12 02:55:01 +0100 | <ephemient> | @import Data.Natural |
2022-01-12 02:55:01 +0100 | <lambdabot> | Unknown command, try @list |
2022-01-12 02:55:17 +0100 | <EvanR> | @import Numeric.Natural |
2022-01-12 02:55:17 +0100 | <lambdabot> | Unknown command, try @list |
2022-01-12 02:55:21 +0100 | <ephemient> | > 10 ^ 100 :: Data.Natural.Natural |
2022-01-12 02:55:23 +0100 | <lambdabot> | error: |
2022-01-12 02:55:23 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Data.Natural.Natural’ |
2022-01-12 02:55:23 +0100 | <lambdabot> | No module named ‘Data.Natural’ is imported. |
2022-01-12 02:55:40 +0100 | <ephemient> | meh, I don't remember how to poke it |
2022-01-12 02:55:51 +0100 | <ephemient> | ah, and it's Numeric.Natural anyway |
2022-01-12 02:56:01 +0100 | <ephemient> | > 10 ^ 100 :: Numeric.Natural.Natural |
2022-01-12 02:56:02 +0100 | <lambdabot> | error: |
2022-01-12 02:56:02 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Numeric.Natural.Natural’ |
2022-01-12 02:56:02 +0100 | <lambdabot> | No module named ‘Numeric.Natural’ is imported. |
2022-01-12 02:56:11 +0100 | <Axman6> | % 10 ^ 10 :: Natural |
2022-01-12 02:56:13 +0100 | <yahb> | Axman6: *** Exception: heap overflow |
2022-01-12 02:56:18 +0100 | <ephemient> | ??? |
2022-01-12 02:56:19 +0100 | <Axman6> | % 10 ^ 5 :: Natural |
2022-01-12 02:56:19 +0100 | <yahb> | Axman6: 100000 |
2022-01-12 02:56:25 +0100 | <EvanR> | lol, that's a small heap |
2022-01-12 02:56:26 +0100 | <Axman6> | crazy |
2022-01-12 02:56:31 +0100 | <Axman6> | yah |
2022-01-12 02:56:43 +0100 | joo-_ | (~joo-_@fsf/member/joo--) (Ping timeout: 256 seconds) |
2022-01-12 02:57:00 +0100 | <Axman6> | mniip: what's the deal with 10^100 :: Natural getting a heap overflow in yahb? |
2022-01-12 02:57:15 +0100 | <EvanR> | 10^10 even |
2022-01-12 02:57:24 +0100 | <ephemient> | is there a strict (^)? |
2022-01-12 02:57:27 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-12 02:57:46 +0100 | <EvanR> | I mean... it shouldn't matter |
2022-01-12 02:57:52 +0100 | <EvanR> | for this |
2022-01-12 02:58:07 +0100 | <Axman6> | yeah it's not like the result is particularly big |
2022-01-12 02:58:16 +0100 | joo-_ | (~joo-_@80-62-117-53-mobile.dk.customer.tdc.net) |
2022-01-12 02:58:16 +0100 | joo-_ | (~joo-_@80-62-117-53-mobile.dk.customer.tdc.net) (Changing host) |
2022-01-12 02:58:16 +0100 | joo-_ | (~joo-_@fsf/member/joo--) |
2022-01-12 02:58:52 +0100 | <EvanR> | a bigint takes up log(n) space |
2022-01-12 03:00:01 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-12 03:00:02 +0100 | <ephemient> | % iterate' ((*) 10 $!) 1 :: [Natural] |
2022-01-12 03:00:04 +0100 | <yahb> | ephemient: [1,10,100,1000,10000,100000,*** Exception: heap overflow |
2022-01-12 03:00:19 +0100 | <Axman6> | that's amazing |
2022-01-12 03:00:30 +0100 | <EvanR> | is this not your dad's Natural |
2022-01-12 03:00:38 +0100 | <EvanR> | is it a list |
2022-01-12 03:00:47 +0100 | <Axman6> | D: |
2022-01-12 03:00:59 +0100 | <Axman6> | % 10 ^ 5 :: Numeric.Natural.Natural |
2022-01-12 03:01:00 +0100 | <yahb> | Axman6: 100000 |
2022-01-12 03:01:05 +0100 | <Axman6> | % 10 ^ 100 :: Numeric.Natural.Natural |
2022-01-12 03:01:05 +0100 | <yahb> | Axman6: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
2022-01-12 03:01:10 +0100 | <Axman6> | better |
2022-01-12 03:01:38 +0100 | <ephemient> | hah. wait what Natural is the yahb import then? |
2022-01-12 03:01:50 +0100 | <ephemient> | %% :i Natural |
2022-01-12 03:01:50 +0100 | <yahb> | ephemient: http://qp.mniip.com/y/39 |
2022-01-12 03:01:58 +0100 | <ephemient> | ohhhhh |
2022-01-12 03:02:02 +0100 | <EvanR> | bingo |
2022-01-12 03:02:25 +0100 | <Axman6> | yeah that's, uh, not good |
2022-01-12 03:02:40 +0100 | <dibblego> | https://hackage.haskell.org/package/natural/docs/Natural.html |
2022-01-12 03:02:42 +0100 | <EvanR> | that is so not a "Natural", that's Nat, but Nat is already something else I guess |
2022-01-12 03:03:38 +0100 | <Inst> | btw, any ideas of how good Harvard's paper on monads is? |
2022-01-12 03:03:39 +0100 | <Inst> | https://groups.seas.harvard.edu/courses/cs152/2019sp/lectures/lec18-monads.pdf |
2022-01-12 03:03:50 +0100 | <Inst> | At this point I'm less interested in monads than on materials on Haskell's type system |
2022-01-12 03:03:58 +0100 | <Inst> | is it called algebraic structures? algebraic data types? typeclasses? |
2022-01-12 03:04:22 +0100 | <EvanR> | hindly milner types, system F, ... |
2022-01-12 03:04:25 +0100 | <Axman6> | well it starts with proofs... so definitely not a great idea for beginners IMO |
2022-01-12 03:05:11 +0100 | <EvanR> | type classes might be filed away under "constrained polymorphism" |
2022-01-12 03:05:19 +0100 | <Axman6> | looks like a possibly useful paper for a mathematician, but I would never give that to a beginner |
2022-01-12 03:06:01 +0100 | <Inst> | natural numbers (fixed precision) are already in Haskell |
2022-01-12 03:06:05 +0100 | <Inst> | it's called Word |
2022-01-12 03:06:15 +0100 | <Inst> | Axman6: it's taught to their UGs |
2022-01-12 03:06:34 +0100 | <Axman6> | it's lecture 18, so past absolute beginners |
2022-01-12 03:06:41 +0100 | <Inst> | https://groups.seas.harvard.edu/courses/cs152/2021sp/ |
2022-01-12 03:06:47 +0100 | <Axman6> | Word is not rewally a suitable type for natural numbers |
2022-01-12 03:07:02 +0100 | <Inst> | why not? |
2022-01-12 03:07:10 +0100 | <EvanR> | we just went over that |
2022-01-12 03:07:12 +0100 | <Axman6> | > maxBound :: Word |
2022-01-12 03:07:13 +0100 | <lambdabot> | 18446744073709551615 |
2022-01-12 03:07:33 +0100 | <Inst> | why can't Integral suffice? |
2022-01-12 03:07:40 +0100 | <Inst> | word is more about performance |
2022-01-12 03:07:41 +0100 | <Axman6> | % fromIntegral (maxBound :: Word) + 1 :: Numeric.Natural.Natural |
2022-01-12 03:07:41 +0100 | <yahb> | Axman6: 18446744073709551616 |
2022-01-12 03:07:52 +0100 | <EvanR> | Word is more about compatibility with low level stuff |
2022-01-12 03:08:05 +0100 | <Axman6> | Natural is at least one better than Word, I have proved it |
2022-01-12 03:08:09 +0100 | <Inst> | how hard is it to get an arbitrary precision Word? |
2022-01-12 03:08:17 +0100 | <Axman6> | that's exactly what Natural is |
2022-01-12 03:08:19 +0100 | <Inst> | that's Natural? |
2022-01-12 03:08:35 +0100 | <EvanR> | Natural exists and reacts better when you go negative |
2022-01-12 03:08:40 +0100 | <EvanR> | by not becoming huge |
2022-01-12 03:08:52 +0100 | <Axman6> | and Integer is basically defined as data Integer = Neg Natural | Pos Natural -- (not really, but essentially) |
2022-01-12 03:09:19 +0100 | <EvanR> | Integer has two zeros? xD |
2022-01-12 03:09:33 +0100 | <ephemient> | % -1 :: Numeric.Natural.Natural |
2022-01-12 03:09:33 +0100 | <yahb> | ephemient: ; <interactive>:70:2: warning: [-Woverflowed-literals] Literal -1 is negative but GHC.Num.Natural.Natural only supports positive numbers; *** Exception: arithmetic underflow |
2022-01-12 03:09:34 +0100 | <Axman6> | which interestingly means that there are operations on the native Haskell implementation of Integer which run faster than GMP's equivalent |
2022-01-12 03:09:45 +0100 | <EvanR> | (Natural is implemented using Integer) |
2022-01-12 03:09:58 +0100 | <Inst> | GMP? |
2022-01-12 03:09:59 +0100 | <Axman6> | I don't think that's true |
2022-01-12 03:10:06 +0100 | <EvanR> | it was last I checked xD |
2022-01-12 03:10:37 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-43-67-70-144-25.dsl.bell.ca) (Ping timeout: 240 seconds) |
2022-01-12 03:10:53 +0100 | <EvanR> | Inst, Gnu Multiprecision, big int lib |
2022-01-12 03:11:02 +0100 | <Axman6> | GMP is https://gmplib.org, which is what GHC uses to implement Integer by default |
2022-01-12 03:11:15 +0100 | <Inst> | commonly used for all GNU compilers (if there's more than gcc?) |
2022-01-12 03:11:20 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-12 03:11:35 +0100 | <EvanR> | it's used by whoever wants to use it |
2022-01-12 03:11:36 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 256 seconds) |
2022-01-12 03:11:48 +0100 | <Inst> | oh hey |
2022-01-12 03:11:49 +0100 | <Inst> | https://groups.seas.harvard.edu/courses/cs152/2019sp/extension.html |
2022-01-12 03:11:56 +0100 | <Inst> | so $2000 for it |
2022-01-12 03:12:07 +0100 | <Inst> | Two points to emphasize: (1) this is not an introduction to programming; students should already know how to program, ideally in at least couple of languages. (2) you must be very comfortable with recursion, basic mathematical ideas and notations, including sets, relations, functions, and induction. |
2022-01-12 03:12:51 +0100 | <Axman6> | yes, not exactly a beginner's course |
2022-01-12 03:12:52 +0100 | <ephemient> | data Integer = IS !Int# | IP !BigNat# | IN !BigNat#; type BigNat# = WordArray# -- https://gitlab.haskell.org/ghc/ghc/-/tree/master/libraries/ghc-bignum/src/GHC/Num |
2022-01-12 03:13:05 +0100 | califax- | (~califax@user/califx) |
2022-01-12 03:13:31 +0100 | <ephemient> | current implementation looks like small | positive big | negative big |
2022-01-12 03:13:35 +0100 | <jkaye> | Thoughts on enabling StrictData as a default extension within a package? |
2022-01-12 03:13:40 +0100 | <EvanR> | ah they changed to a big nat |
2022-01-12 03:13:43 +0100 | <jkaye> | I feel like I almost always want it |
2022-01-12 03:13:45 +0100 | <Axman6> | right, IIRC Natural is basically just data Natural = N BigNat# |
2022-01-12 03:14:13 +0100 | <Inst> | is it possible to implement a type of only even integers? |
2022-01-12 03:14:23 +0100 | <Axman6> | jkaye: it would be very unexpected for other developers. I would at the very least do it on a per module basis. most people don't check the cabal file for extensions |
2022-01-12 03:14:25 +0100 | <Inst> | as in, without resorting to extensions / CAPI? |
2022-01-12 03:14:40 +0100 | <monochrom> | My code doesn't need StrictData. But this is precisely the peril of asking total strangers what to do to your code. |
2022-01-12 03:14:41 +0100 | <Inst> | actually, i won't ask |
2022-01-12 03:14:49 +0100 | <Inst> | today, i can finally pick up books, and have tons of books to read |
2022-01-12 03:14:56 +0100 | <EvanR> | I do not want StrictData across the board |
2022-01-12 03:14:57 +0100 | <Inst> | thanks for humoring me, have a good one |
2022-01-12 03:15:01 +0100 | <Axman6> | just use an Integer newtype and store every number as n/2 |
2022-01-12 03:15:43 +0100 | <jkaye> | More interested in general thoughts tbh |
2022-01-12 03:15:49 +0100 | <jkaye> | I was expecting most to say not to do it |
2022-01-12 03:15:54 +0100 | <monochrom> | "It depends." |
2022-01-12 03:15:56 +0100 | <EvanR> | viewEven f (Even i) = f (2 * i) |
2022-01-12 03:15:57 +0100 | <jkaye> | But I'm mostly interested in the why |
2022-01-12 03:16:00 +0100 | Cajun | (~Cajun@user/cajun) |
2022-01-12 03:16:28 +0100 | <jkaye> | Unexpected I could definitely see in the general case |
2022-01-12 03:16:36 +0100 | <EvanR> | in my case, I am expecting to not look at all the data fields all the time before changing my mind |
2022-01-12 03:16:39 +0100 | <EvanR> | and recomputing |
2022-01-12 03:16:49 +0100 | <EvanR> | only some of them |
2022-01-12 03:17:00 +0100 | califax | (~califax@user/califx) (Ping timeout: 276 seconds) |
2022-01-12 03:17:01 +0100 | califax- | califax |
2022-01-12 03:17:29 +0100 | <EvanR> | some small types with two Ints, or three Floats, yeah strictify those suckers |
2022-01-12 03:18:31 +0100 | <EvanR> | or the odd field used as a counter that you don't look at often, strict field |
2022-01-12 03:18:49 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-12 03:19:23 +0100 | <EvanR> | a field containing a list? What does StrictData do in that case? |
2022-01-12 03:19:34 +0100 | <EvanR> | evaluate the whole list? |
2022-01-12 03:20:25 +0100 | <ephemient> | well, ! always means whnf, doesn't it? |
2022-01-12 03:20:31 +0100 | <jkaye> | StrictData takes fields to whnf |
2022-01-12 03:20:34 +0100 | <monochrom> | If it is your own custom list type and it is defined under StrictData, then yeah it becomes highly non-lazy. |
2022-01-12 03:20:38 +0100 | <jkaye> | So I think that's well-defined? |
2022-01-12 03:20:52 +0100 | <jkaye> | But I see what you're saying |
2022-01-12 03:21:06 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-43-67-70-144-114.dsl.bell.ca) |
2022-01-12 03:21:30 +0100 | <EvanR> | ok, so it won't evaluate the whole list, which is good, but like, is it even worth evaluating a list to WHNF xD |
2022-01-12 03:22:02 +0100 | <ephemient> | whnf for tuples isn't very interesting either |
2022-01-12 03:22:50 +0100 | <EvanR> | or a function |
2022-01-12 03:24:02 +0100 | <monochrom> | If you have 100 fields, 99 are Int and need to be strict, and 1 is [()}, entering "{-# language StrictData #-}" and getting a harmless WHNF for the [()] field is probably better than entering "!" 99 times. |
2022-01-12 03:24:26 +0100 | <EvanR> | yeah so that in a separately module sounds reasonable |
2022-01-12 03:24:34 +0100 | <EvanR> | separate |
2022-01-12 03:24:38 +0100 | <jkaye> | Yep right now I'm doing it in modules |
2022-01-12 03:24:42 +0100 | <jkaye> | But it's in most modules |
2022-01-12 03:24:51 +0100 | <jkaye> | So was thinking about just turning it on everywhere |
2022-01-12 03:24:53 +0100 | <jkaye> | Thus the question :) |
2022-01-12 03:25:01 +0100 | <monochrom> | Or rather, s/better/more convenient/ |
2022-01-12 03:25:14 +0100 | <monochrom> | And in fact, s/more convenient/more convenient for the author/ |
2022-01-12 03:25:30 +0100 | <monochrom> | You see, usually author's stakes conflict with reader's stakes. |
2022-01-12 03:25:49 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-43-67-70-144-114.dsl.bell.ca) (Ping timeout: 240 seconds) |
2022-01-12 03:26:08 +0100 | <monochrom> | For the reader, if there is no "!" right next to your Int field, the reader may very well miss your "{-# language StrictData #-}" 945 lines away. |
2022-01-12 03:26:11 +0100 | <EvanR> | and when the author = the reader back in time, there's a paradox |
2022-01-12 03:27:29 +0100 | neurocyte09170 | (~neurocyte@user/neurocyte) |
2022-01-12 03:27:30 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-56.dsl.bell.ca) |
2022-01-12 03:28:17 +0100 | <jkaye> | 945 line module is not my style, but again I see your point |
2022-01-12 03:28:53 +0100 | <monochrom> | We have most people here who prove that they can't even see 10 lines above. |
2022-01-12 03:29:25 +0100 | xff0x | (~xff0x@2001:1a81:534d:9900:8245:a333:af79:9a1f) (Ping timeout: 240 seconds) |
2022-01-12 03:29:44 +0100 | neurocyte0917 | (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
2022-01-12 03:29:44 +0100 | neurocyte09170 | neurocyte0917 |
2022-01-12 03:31:10 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
2022-01-12 03:31:21 +0100 | puke | (~puke@user/puke) (Quit: puke) |
2022-01-12 03:31:35 +0100 | xff0x | (~xff0x@2001:1a81:538c:a900:ca7a:63a1:efb3:59ef) |
2022-01-12 03:31:44 +0100 | <jkaye> | :D |
2022-01-12 03:31:46 +0100 | <jkaye> | Lol |
2022-01-12 03:32:01 +0100 | <jkaye> | Yeah, I have seen worse than that |
2022-01-12 03:33:59 +0100 | <jkaye> | Well, thanks for the discussion |
2022-01-12 03:35:17 +0100 | <Inst> | oh god |
2022-01-12 03:35:21 +0100 | <Inst> | how stupid is this? |
2022-01-12 03:35:32 +0100 | <Inst> | it should be possible to pass where blocks between modules |
2022-01-12 03:35:41 +0100 | <Inst> | erm, functions |
2022-01-12 03:36:47 +0100 | <EvanR> | passing functions around? |
2022-01-12 03:37:31 +0100 | <monochrom> | You know you are really better off making your own programming language. |
2022-01-12 03:37:32 +0100 | <EvanR> | you think they're first class values or something? |
2022-01-12 03:38:13 +0100 | <Inst> | not saying it'd be a change to haskell, just WTF coding practice |
2022-01-12 03:39:20 +0100 | x28_girl | (~x28girl@user/x28girl) (Read error: Connection reset by peer) |
2022-01-12 03:39:45 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 03:40:19 +0100 | <Inst> | or alternately setting up functions as directories of functions, but modules already do this |
2022-01-12 03:41:28 +0100 | dsrt^ | (~dsrt@wsip-98-188-246-242.mc.at.cox.net) |
2022-01-12 03:41:35 +0100 | <Inst> | i was doing someone's homework assignment after they had finished it (trust me, and I'm not kidding, so that I could show them it's better done in Haskell) |
2022-01-12 03:42:05 +0100 | <Inst> | it was an if-then control flow, I ended up using a where block for the case where "if any of the following are true, do it, then check the next case" and then "if none of them are true, do this" |
2022-01-12 03:43:21 +0100 | <Inst> | then i got to think about problems with record syntax |
2022-01-12 03:43:28 +0100 | <Inst> | (which afaik are solved by lenses) |
2022-01-12 03:44:07 +0100 | <Inst> | which could be passed around as tuples for functions that were designed to support them |
2022-01-12 03:44:27 +0100 | <Inst> | reinventing the wheel, probably |
2022-01-12 03:44:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 03:45:37 +0100 | mbuf | (~Shakthi@223.178.108.186) |
2022-01-12 03:46:19 +0100 | puke | (~puke@user/puke) |
2022-01-12 03:50:55 +0100 | <EvanR> | specifically what problem with record syntax |
2022-01-12 03:52:06 +0100 | razetime | (~quassel@49.207.203.87) |
2022-01-12 03:52:30 +0100 | biog | (~user1@static.39.160.132.142.clients.your-server.de) (Quit: ZZZzzz…) |
2022-01-12 03:54:35 +0100 | <Inst> | modifying them and saving the state long enough for them to be useful |
2022-01-12 03:55:07 +0100 | <Inst> | but w/e, it's probably already done |
2022-01-12 03:55:14 +0100 | d0ku | (~d0ku@178.43.3.56.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds) |
2022-01-12 03:55:24 +0100 | <Inst> | it came up because a Pythoner I had dragooned complained about having to define custom types for Aeson |
2022-01-12 03:55:51 +0100 | <Inst> | it just feels like bad practice for functions to hold variables |
2022-01-12 03:59:24 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-01-12 03:59:45 +0100 | <Inst> | and this annoys me |
2022-01-12 04:00:39 +0100 | <Inst> | the python version of this has 40 words, the haskell version has 45 words, the python has 277 characters, the haskell version has 241 characters |
2022-01-12 04:01:00 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 04:02:46 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 04:03:02 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 04:03:30 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 04:11:08 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
2022-01-12 04:12:32 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-12 04:12:32 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-01-12 04:12:32 +0100 | finn_elija | FinnElija |
2022-01-12 04:15:15 +0100 | EsoAlgo4 | (~EsoAlgo@152.70.142.52) |
2022-01-12 04:16:09 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2022-01-12 04:17:48 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-12 04:18:03 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) |
2022-01-12 04:18:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2022-01-12 04:19:55 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Remote host closed the connection) |
2022-01-12 04:23:25 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-01-12 04:24:22 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-12 04:26:49 +0100 | sagax | (~sagax_nb@user/sagax) (Ping timeout: 256 seconds) |
2022-01-12 04:29:01 +0100 | <EvanR> | stupid question, if f is BiApplicative, wouldn't g a b = A -> f a b also be BiApplicative |
2022-01-12 04:30:02 +0100 | <EvanR> | e.g. A -> (a,b) |
2022-01-12 04:31:44 +0100 | <EvanR> | compose a functor and a BiApplicative... ... Tannen |
2022-01-12 04:32:09 +0100 | <byorgey> | intuitively I would expect that g (f a b) is BiApplicative whenever f is BiApplicative and g is Applicative |
2022-01-12 04:32:17 +0100 | <byorgey> | so yes |
2022-01-12 04:33:04 +0100 | <byorgey> | ah, didn't know about Tannen |
2022-01-12 04:33:31 +0100 | <EvanR> | i suspected that would be a hidden gem |
2022-01-12 04:34:11 +0100 | <byorgey> | named after https://directory.seas.upenn.edu/val-b-tannen/ I suppose? |
2022-01-12 04:34:42 +0100 | <dolio> | Nah. |
2022-01-12 04:34:50 +0100 | <dolio> | It's named after Biff Tannen from Back to the Future. |
2022-01-12 04:35:00 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2022-01-12 04:35:34 +0100 | hays | h_ |
2022-01-12 04:35:35 +0100 | <EvanR> | i see another newtype Biff |
2022-01-12 04:35:55 +0100 | <EvanR> | so it must be true |
2022-01-12 04:36:48 +0100 | <dolio> | Yeah, that is the real answer. |
2022-01-12 04:38:05 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
2022-01-12 04:40:10 +0100 | <byorgey> | lol |
2022-01-12 04:40:22 +0100 | systemhalted | (~systemhal@130.51.137.77) |
2022-01-12 04:40:40 +0100 | <EvanR> | what does Biff Tannen have to do with category theory |
2022-01-12 04:41:31 +0100 | <dolio> | Biff came first. I forget what it actually is. Then someone named the 'opposite' thing Tannen. |
2022-01-12 04:41:33 +0100 | td_ | (~td@94.134.91.153) (Ping timeout: 256 seconds) |
2022-01-12 04:41:42 +0100 | <dolio> | At least, I think that's how it was. |
2022-01-12 04:43:09 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-12 04:43:17 +0100 | td_ | (~td@94.134.91.149) |
2022-01-12 04:44:05 +0100 | trillp | (~trillp@69.233.98.238) |
2022-01-12 04:46:03 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
2022-01-12 04:46:39 +0100 | systemhalted | (~systemhal@130.51.137.77) (Ping timeout: 256 seconds) |
2022-01-12 04:49:01 +0100 | x28__girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 04:49:02 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 04:49:26 +0100 | x28__girl | (~x28girl@user/x28girl) |
2022-01-12 04:49:26 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 04:51:54 +0100 | ishutin | (~ishutin@178-164-188-6.pool.digikabel.hu) (Ping timeout: 256 seconds) |
2022-01-12 04:53:31 +0100 | x28__girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 04:54:04 +0100 | x28__girl | (~x28girl@user/x28girl) |
2022-01-12 04:54:28 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-01-12 04:54:57 +0100 | x28__girl | (~x28girl@user/x28girl) (Max SendQ exceeded) |
2022-01-12 04:55:26 +0100 | x28__girl | (~x28girl@user/x28girl) |
2022-01-12 04:56:18 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 04:56:59 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 05:00:24 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
2022-01-12 05:01:06 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 05:05:25 +0100 | myrrh | (~markus@172.58.196.126) |
2022-01-12 05:05:45 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:b189:8cdd:77fb:b913) |
2022-01-12 05:06:48 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 05:07:29 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 05:09:25 +0100 | ishutin | (~ishutin@91-83-11-240.pool.digikabel.hu) |
2022-01-12 05:13:25 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Ping timeout: 240 seconds) |
2022-01-12 05:14:13 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-12 05:16:39 +0100 | <hololeap> | biff stands for "bifunctor functor" |
2022-01-12 05:17:15 +0100 | <hololeap> | tannen was just because edwardk couldn't think of a good name for it |
2022-01-12 05:17:18 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 05:17:59 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 05:18:02 +0100 | <hololeap> | but, yeah it's a back to the future reference |
2022-01-12 05:21:35 +0100 | <EvanR> | runTannen should have been getOuttaHere |
2022-01-12 05:23:49 +0100 | arjun | (~arjun@user/arjun) |
2022-01-12 05:26:37 +0100 | euandreh | (~euandreh@2804:14c:33:9fe5:4895:4e42:bd43:c273) (Ping timeout: 240 seconds) |
2022-01-12 05:26:37 +0100 | jkaye | (~jkaye@2601:281:8300:7530:a78a:7d05:3820:99ae) (Ping timeout: 240 seconds) |
2022-01-12 05:27:48 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 05:28:29 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 05:28:35 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-12 05:28:37 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds) |
2022-01-12 05:29:09 +0100 | waleee | (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
2022-01-12 05:33:32 +0100 | myrrh | (~markus@172.58.196.126) (Changing host) |
2022-01-12 05:33:32 +0100 | myrrh | (~markus@user/poet) |
2022-01-12 05:38:03 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2022-01-12 05:40:12 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-12 05:41:00 +0100 | rembo10 | (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-12 05:42:02 +0100 | rembo10 | (~rembo10@remulis.com) |
2022-01-12 05:44:32 +0100 | <EvanR> | for several arguments to the function, the number of Tannens multiplies, just like in the Classic Film Series |
2022-01-12 05:48:36 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2022-01-12 05:49:08 +0100 | <qhong_> | geekosaur: Thanks! I did similar thing trying to fix all those tiny errs in MagicHaskeller but there's always one after another. I ended up running it in another machine with old GHC (the old GHC itself bitrot on my daily drive, oops) |
2022-01-12 05:51:32 +0100 | <Inst> | troll: Does Haskell even exist? |
2022-01-12 05:51:51 +0100 | vicfred | (~vicfred@user/vicfred) |
2022-01-12 05:53:32 +0100 | <Inst> | https://hackage.haskell.org/packages/tag/prelude |
2022-01-12 05:53:58 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 05:54:42 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 05:56:29 +0100 | emergence | (~emergence@vm0.max-p.me) (Quit: emergence) |
2022-01-12 06:02:08 +0100 | BrokenClutch | (~pioneer@2804:d41:c292:6c00:33d8:d2f1:d8af:153e) |
2022-01-12 06:04:44 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-12 06:05:12 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 06:06:01 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 06:06:35 +0100 | emergence | (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) |
2022-01-12 06:06:36 +0100 | biog | (~user1@static.39.160.132.142.clients.your-server.de) |
2022-01-12 06:07:45 +0100 | <EvanR> | bizzlelude, a lousy prelude by a lousy dude. Charming |
2022-01-12 06:09:01 +0100 | <EvanR> | protolude seems to be the winner |
2022-01-12 06:09:09 +0100 | <EvanR> | other than just Prelude |
2022-01-12 06:11:58 +0100 | fef | (~thedawn@user/thedawn) |
2022-01-12 06:15:02 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 06:15:42 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 06:16:34 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 06:20:49 +0100 | <Inst> | diehl apparently hasn't updated protolude in more than a year |
2022-01-12 06:21:05 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-01-12 06:21:32 +0100 | x28__girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:21:33 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:22:00 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-12 06:22:01 +0100 | <Inst> | almost 2 years since last update |
2022-01-12 06:22:06 +0100 | x28__girl | (~x28girl@user/x28girl) |
2022-01-12 06:22:06 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 06:22:18 +0100 | <EvanR> | is there no contravariant bifunctor |
2022-01-12 06:23:33 +0100 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 256 seconds) |
2022-01-12 06:23:35 +0100 | emf_ | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2022-01-12 06:25:00 +0100 | antony | (~The_viole@203.77.49.232) |
2022-01-12 06:25:03 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2022-01-12 06:25:46 +0100 | Kaipi | (~Kaiepi@156.34.47.253) |
2022-01-12 06:25:47 +0100 | <Axman6> | shoudl it be BiCofunctor or CoBifunctor? |
2022-01-12 06:25:56 +0100 | <Axman6> | should* |
2022-01-12 06:26:03 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:26:03 +0100 | x28__girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:26:06 +0100 | polux8 | (~polux@51.15.169.172) |
2022-01-12 06:26:06 +0100 | mcglk_ | (~mcglk@131.191.49.120) |
2022-01-12 06:26:11 +0100 | mrmr3 | (~mrmr@user/mrmr) |
2022-01-12 06:26:12 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 06:26:15 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-12 06:26:28 +0100 | SoF4 | (~skius@user/skius) |
2022-01-12 06:26:31 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 06:26:32 +0100 | x28__girl | (~x28girl@user/x28girl) |
2022-01-12 06:26:37 +0100 | <EvanR> | Bicontravariant I guess |
2022-01-12 06:26:37 +0100 | ouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) (Remote host closed the connection) |
2022-01-12 06:26:54 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 06:27:18 +0100 | lemonsni- | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-01-12 06:27:18 +0100 | sndr | (~sander@user/sander) |
2022-01-12 06:27:19 +0100 | <Axman6> | or Cobitravariant |
2022-01-12 06:27:19 +0100 | vgtw_ | (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se) |
2022-01-12 06:27:21 +0100 | <Axman6> | >_> |
2022-01-12 06:27:37 +0100 | forell_ | (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) |
2022-01-12 06:27:42 +0100 | hgolden_ | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2022-01-12 06:28:04 +0100 | pieguy128_ | (~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-56.dsl.bell.ca) |
2022-01-12 06:28:22 +0100 | eggplant_ | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 06:28:25 +0100 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection) |
2022-01-12 06:28:34 +0100 | hyiltiz_ | (~quassel@31.220.5.250) |
2022-01-12 06:29:20 +0100 | werneta_ | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-01-12 06:29:22 +0100 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
2022-01-12 06:29:40 +0100 | wrengr | (~wrengr@150.12.83.34.bc.googleusercontent.com) (Killed (NickServ (GHOST command used by wrengr_))) |
2022-01-12 06:29:42 +0100 | gentauro_ | (~gentauro@185.107.12.141) |
2022-01-12 06:29:49 +0100 | wrengr | (~wrengr@150.12.83.34.bc.googleusercontent.com) |
2022-01-12 06:29:54 +0100 | bliminse_ | (~bliminse@host86-186-17-7.range86-186.btcentralplus.com) |
2022-01-12 06:30:00 +0100 | tristanC_ | (~tristanC@user/tristanc) |
2022-01-12 06:30:03 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:30:03 +0100 | x28__girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:30:07 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2022-01-12 06:30:08 +0100 | aku_ | (~aku@163.172.137.34) |
2022-01-12 06:30:11 +0100 | <BrokenClutch> | Never heard about this contravariant thing |
2022-01-12 06:30:17 +0100 | <BrokenClutch> | looks cool |
2022-01-12 06:30:25 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:e450:3ca3:b389:687a) |
2022-01-12 06:30:26 +0100 | trillp_ | (~trillp@69.233.98.238) |
2022-01-12 06:30:27 +0100 | x28__girl | (~x28girl@user/x28girl) |
2022-01-12 06:30:27 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 06:30:31 +0100 | <Axman6> | newtype Predicate a = Predicate (a -> Bool) |
2022-01-12 06:31:16 +0100 | <Axman6> | looks like a Functor, but can't be, but it can be a contravariant functor: (a -> b) -> Predicate b -> Predicate a |
2022-01-12 06:31:48 +0100 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
2022-01-12 06:31:49 +0100 | <Axman6> | not generally as useful as Functor, but there are some places where contravariant functors are very natural |
2022-01-12 06:32:15 +0100 | hueso_ | (~root@user/hueso) |
2022-01-12 06:32:28 +0100 | trillp | (~trillp@69.233.98.238) (Killed (NickServ (GHOST command used by trillp_))) |
2022-01-12 06:32:32 +0100 | trillp_ | trillp |
2022-01-12 06:33:01 +0100 | <BrokenClutch> | Man, I feel dumb. Like, where's my for loop? xdxdxd |
2022-01-12 06:33:12 +0100 | <c_wraith> | lens does this weird thing where it puts Functor and Contravariant constraints on the same type as a way of saying "this type variable is phantom" |
2022-01-12 06:33:36 +0100 | <EvanR> | when it can't be a Functor, but it can be a Contravariant, it works very well |
2022-01-12 06:33:39 +0100 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) |
2022-01-12 06:33:59 +0100 | <Axman6> | hasql uses them to great effect for writing encoders for SQL values. if you have int :: Enc Int, bool :: Enc Bool, then you can use (fst <$> int) <> (snd >$< bool) to get a Enc (Int,Bool) |
2022-01-12 06:33:59 +0100 | <EvanR> | maybe Bicontravariant can't work because they ran out of vocabulary words |
2022-01-12 06:34:34 +0100 | <EvanR> | BrokenClutch, Traversable |
2022-01-12 06:35:10 +0100 | arjun | (~arjun@user/arjun) (*.net *.split) |
2022-01-12 06:35:10 +0100 | razetime | (~quassel@49.207.203.87) (*.net *.split) |
2022-01-12 06:35:11 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-56.dsl.bell.ca) (*.net *.split) |
2022-01-12 06:35:11 +0100 | SummerSonw | (~The_viole@203.77.49.232) (*.net *.split) |
2022-01-12 06:35:11 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (*.net *.split) |
2022-01-12 06:35:11 +0100 | polyphem | (~rod@ip5f5bff31.dynamic.kabel-deutschland.de) (*.net *.split) |
2022-01-12 06:35:11 +0100 | Codaraxis | (~Codaraxis@user/codaraxis) (*.net *.split) |
2022-01-12 06:35:11 +0100 | talismanick | (~talismani@c-67-164-73-220.hsd1.ca.comcast.net) (*.net *.split) |
2022-01-12 06:35:11 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (*.net *.split) |
2022-01-12 06:35:11 +0100 | bliminse | (~bliminse@host86-186-17-7.range86-186.btcentralplus.com) (*.net *.split) |
2022-01-12 06:35:11 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (*.net *.split) |
2022-01-12 06:35:11 +0100 | xstill- | (xstill@fimu/xstill) (*.net *.split) |
2022-01-12 06:35:11 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (*.net *.split) |
2022-01-12 06:35:11 +0100 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split) |
2022-01-12 06:35:11 +0100 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split) |
2022-01-12 06:35:11 +0100 | sus | (zero@user/zeromomentum) (*.net *.split) |
2022-01-12 06:35:11 +0100 | sektor|2 | (~kvirc@87.227.175.182) (*.net *.split) |
2022-01-12 06:35:11 +0100 | mcglk | (~mcglk@131.191.49.120) (*.net *.split) |
2022-01-12 06:35:11 +0100 | AlexZenon | (~alzenon@178.34.151.107) (*.net *.split) |
2022-01-12 06:35:11 +0100 | gentauro | (~gentauro@user/gentauro) (*.net *.split) |
2022-01-12 06:35:11 +0100 | Flonk | (~Flonk@vps-zap441517-1.zap-srv.com) (*.net *.split) |
2022-01-12 06:35:11 +0100 | sander | (~sander@user/sander) (*.net *.split) |
2022-01-12 06:35:11 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (*.net *.split) |
2022-01-12 06:35:11 +0100 | Kaiepi | (~Kaiepi@156.34.47.253) (*.net *.split) |
2022-01-12 06:35:11 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (*.net *.split) |
2022-01-12 06:35:11 +0100 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split) |
2022-01-12 06:35:11 +0100 | tremon | (~tremon@217-120-53-183.cable.dynamic.v4.ziggo.nl) (*.net *.split) |
2022-01-12 06:35:11 +0100 | kawpuh | (~kawpuh@66.42.81.80) (*.net *.split) |
2022-01-12 06:35:11 +0100 | n3t | (n3t@user/n3t) (*.net *.split) |
2022-01-12 06:35:11 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) (*.net *.split) |
2022-01-12 06:35:11 +0100 | polux | (~polux@51.15.169.172) (*.net *.split) |
2022-01-12 06:35:11 +0100 | nurupo | (~nurupo.ga@user/nurupo) (*.net *.split) |
2022-01-12 06:35:11 +0100 | hyiltiz | (~quassel@31.220.5.250) (*.net *.split) |
2022-01-12 06:35:11 +0100 | byorgey | (~byorgey@155.138.238.211) (*.net *.split) |
2022-01-12 06:35:11 +0100 | forell | (~forell@user/forell) (*.net *.split) |
2022-01-12 06:35:11 +0100 | koolazer | (~koo@user/koolazer) (*.net *.split) |
2022-01-12 06:35:11 +0100 | remedan | (~remedan@octo.cafe) (*.net *.split) |
2022-01-12 06:35:11 +0100 | SoF | (~skius@user/skius) (*.net *.split) |
2022-01-12 06:35:11 +0100 | tristanC | (~tristanC@user/tristanc) (*.net *.split) |
2022-01-12 06:35:11 +0100 | drewr | (~drew@user/drewr) (*.net *.split) |
2022-01-12 06:35:11 +0100 | hueso | (~root@user/hueso) (*.net *.split) |
2022-01-12 06:35:11 +0100 | vgtw | (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se) (*.net *.split) |
2022-01-12 06:35:11 +0100 | mrmr | (~mrmr@user/mrmr) (*.net *.split) |
2022-01-12 06:35:11 +0100 | aku | (~aku@163.172.137.34) (*.net *.split) |
2022-01-12 06:35:13 +0100 | sndr | sander |
2022-01-12 06:35:14 +0100 | polux8 | polux |
2022-01-12 06:35:14 +0100 | mrmr3 | mrmr |
2022-01-12 06:35:16 +0100 | SoF4 | SoF |
2022-01-12 06:35:46 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-01-12 06:35:59 +0100 | modnar | (~modnar@shell.sonic.net) (Remote host closed the connection) |
2022-01-12 06:36:01 +0100 | bliminse_ | (~bliminse@host86-186-17-7.range86-186.btcentralplus.com) (Ping timeout: 256 seconds) |
2022-01-12 06:36:39 +0100 | modnar | (~modnar@shell.sonic.net) |
2022-01-12 06:37:23 +0100 | <BrokenClutch> | EvanR: why fold? Like, FP. |
2022-01-12 06:37:29 +0100 | erisco_ | (~erisco@d24-57-249-233.home.cgocable.net) |
2022-01-12 06:37:34 +0100 | <BrokenClutch> | >:( |
2022-01-12 06:37:43 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds) |
2022-01-12 06:37:53 +0100 | xstill- | (xstill@fimu/xstill) |
2022-01-12 06:38:09 +0100 | <Axman6> | @hoogle (a -> m b) -> t a -> m (t b) |
2022-01-12 06:38:10 +0100 | <lambdabot> | Control.Concurrent.Async.Lifted mapConcurrently :: (Traversable t, MonadBaseControl IO m) => (a -> m b) -> t a -> m (t b) |
2022-01-12 06:38:10 +0100 | <lambdabot> | Control.Concurrent.Async.Lifted.Safe mapConcurrently :: (Traversable t, MonadBaseControl IO m, Forall (Pure m)) => (a -> m b) -> t a -> m (t b) |
2022-01-12 06:38:10 +0100 | <lambdabot> | Prelude traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
2022-01-12 06:38:17 +0100 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) (Ping timeout: 256 seconds) |
2022-01-12 06:38:17 +0100 | jackson99 | (~bc8147f2@cerf.good1.com) (Ping timeout: 256 seconds) |
2022-01-12 06:38:17 +0100 | erisco_ | erisco |
2022-01-12 06:38:17 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-12 06:38:38 +0100 | <Axman6> | believe it or not, traverse is just a for loop that returns the same structure you ran it over |
2022-01-12 06:38:48 +0100 | bliminse | (~bliminse@host86-188-36-178.range86-188.btcentralplus.com) |
2022-01-12 06:38:49 +0100 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2022-01-12 06:38:51 +0100 | tristanC_ | (~tristanC@user/tristanc) (Ping timeout: 256 seconds) |
2022-01-12 06:39:25 +0100 | hueso_ | (~root@user/hueso) (Ping timeout: 256 seconds) |
2022-01-12 06:39:25 +0100 | werneta_ | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-12 06:39:25 +0100 | biberu | (~biberu@user/biberu) (Ping timeout: 256 seconds) |
2022-01-12 06:39:40 +0100 | arjun | (~arjun@user/arjun) |
2022-01-12 06:39:54 +0100 | hueso | (~root@user/hueso) |
2022-01-12 06:40:12 +0100 | AlexZenon | (~alzenon@178.34.151.107) |
2022-01-12 06:40:12 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) |
2022-01-12 06:40:12 +0100 | sektor | (~kvirc@87.227.175.182) |
2022-01-12 06:40:12 +0100 | razetime | (~quassel@49.207.203.87) |
2022-01-12 06:40:12 +0100 | talismanick | (~talismani@c-67-164-73-220.hsd1.ca.comcast.net) |
2022-01-12 06:40:12 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-01-12 06:40:12 +0100 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) |
2022-01-12 06:40:12 +0100 | sus | (zero@user/zeromomentum) |
2022-01-12 06:40:12 +0100 | Flonk | (~Flonk@vps-zap441517-1.zap-srv.com) |
2022-01-12 06:40:12 +0100 | kawpuh | (~kawpuh@66.42.81.80) |
2022-01-12 06:40:12 +0100 | n3t | (n3t@user/n3t) |
2022-01-12 06:40:12 +0100 | nurupo | (~nurupo.ga@user/nurupo) |
2022-01-12 06:40:12 +0100 | byorgey | (~byorgey@155.138.238.211) |
2022-01-12 06:40:12 +0100 | remedan | (~remedan@octo.cafe) |
2022-01-12 06:40:12 +0100 | drewr | (~drew@user/drewr) |
2022-01-12 06:40:33 +0100 | tristanC | (~tristanC@user/tristanc) |
2022-01-12 06:41:24 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-01-12 06:41:33 +0100 | x28__girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:41:35 +0100 | koolazer | (~koo@user/koolazer) |
2022-01-12 06:41:39 +0100 | tremon | (~tremon@217-120-53-183.cable.dynamic.v4.ziggo.nl) |
2022-01-12 06:42:15 +0100 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2022-01-12 06:42:42 +0100 | goepsilongo | (~goepsilon@2806:263:c404:8000:a19a:aab0:db5f:4d8c) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-12 06:43:03 +0100 | monochrom | (trebla@216.138.220.146) |
2022-01-12 06:43:52 +0100 | modnar | (~modnar@shell.sonic.net) (Quit: farewell) |
2022-01-12 06:45:32 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-12 06:47:13 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-01-12 06:47:58 +0100 | <BrokenClutch> | I was not being serious. But I'm going to be a little serious now. I know that this isn't the objective of haskell, but it's too difficult to a layman understand stuff. |
2022-01-12 06:48:20 +0100 | <BrokenClutch> | Like, I'm trying to teach my friends what I know of haskell. It's being quite difficult |
2022-01-12 06:48:42 +0100 | <BrokenClutch> | like, lisp was too. At least haskell is easier to read because it's static typed |
2022-01-12 06:49:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2022-01-12 06:49:41 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-12 06:50:45 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2022-01-12 06:51:33 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 06:52:00 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 06:52:48 +0100 | <Axman6> | BrokenClutch: maybe you don't yet know enough to be able to effectively teach, which is fine, it just takes time. |
2022-01-12 06:52:49 +0100 | x28_girl | (~x28girl@user/x28girl) (Max SendQ exceeded) |
2022-01-12 06:53:19 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 06:53:32 +0100 | <Axman6> | it took me wuite a while before I thought in Haskell, not just understood it. using it for basically all my uni courses helped (even the ones we weren't supposed to, I think I used it to generate python once) |
2022-01-12 06:55:07 +0100 | <BrokenClutch> | Axman6: Yeah, I don't know enough to teach, I can show and explain some definitions, but I don't have practice |
2022-01-12 06:56:55 +0100 | <BrokenClutch> | Some things are easier in haskell than in lisp. Like each symbol in lisp having a value and a function-value, confusing af |
2022-01-12 06:57:38 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-12 06:58:27 +0100 | <EvanR> | haskell is too good sometimes |
2022-01-12 06:58:29 +0100 | <c_wraith> | just to add to the chaos, not every lisp has that distinction |
2022-01-12 06:58:52 +0100 | puke | (~puke@user/puke) (Read error: Connection reset by peer) |
2022-01-12 06:59:21 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-12 07:00:16 +0100 | <BrokenClutch> | scheme doesn't have |
2022-01-12 07:00:59 +0100 | <BrokenClutch> | I'm more a lisp guy, I like its flexibility. But haskell is helping me a lot to understand some concepts and to do more reasonable stuff |
2022-01-12 07:01:22 +0100 | <BrokenClutch> | reasonable in the sense that's easier to reason about it |
2022-01-12 07:01:52 +0100 | <Axman6> | I don't understand how people program without a decent type system, like, humans are really bad at it, let the completely accurate tool do it for you |
2022-01-12 07:02:37 +0100 | <BrokenClutch> | Letting thing being simple |
2022-01-12 07:02:43 +0100 | <BrokenClutch> | things* |
2022-01-12 07:03:08 +0100 | <EvanR> | back when I first started haskell, it was very fascinating seeing what sort of shenanigas common in dynamic languages could and could not "just work" in haskell |
2022-01-12 07:03:14 +0100 | <c_wraith> | Haskell gets away with a lot fewer special cases because the compiler rejects bad code, instead of libraries trying to make them work anyway. |
2022-01-12 07:03:38 +0100 | <BrokenClutch> | Lisp has good libs, it isn't C |
2022-01-12 07:03:43 +0100 | <BrokenClutch> | the real macro language |
2022-01-12 07:04:09 +0100 | <EvanR> | at first it was like, were those crazy shenanigas wrong the whole time? |
2022-01-12 07:04:22 +0100 | <EvanR> | years later I learned to do crazy shenanigas in haskell xD |
2022-01-12 07:04:33 +0100 | <BrokenClutch> | Same thing was for me in C++ |
2022-01-12 07:04:44 +0100 | <BrokenClutch> | was like: Oh man, look at those rules |
2022-01-12 07:05:04 +0100 | <BrokenClutch> | after some time i was just: template template template constexpr template auto |
2022-01-12 07:05:17 +0100 | vglfr | (~vglfr@46.96.134.134) |
2022-01-12 07:05:45 +0100 | <EvanR> | it's funny when someone complains about haskell's static types, and you show them Dynamic |
2022-01-12 07:06:00 +0100 | <BrokenClutch> | don't know what this is |
2022-01-12 07:06:10 +0100 | <BrokenClutch> | I'm scared, so won't see |
2022-01-12 07:06:13 +0100 | <EvanR> | and it seems like a bad idea, despite being better than normal dynamic types |
2022-01-12 07:06:55 +0100 | <BrokenClutch> | newForeignPtr gave me an error |
2022-01-12 07:06:57 +0100 | <BrokenClutch> | sad |
2022-01-12 07:06:59 +0100 | <EvanR> | Dynamic is just a wrapped Typeable |
2022-01-12 07:07:06 +0100 | <EvanR> | dynamic types |
2022-01-12 07:09:25 +0100 | <BrokenClutch> | meds are shooting me down |
2022-01-12 07:09:26 +0100 | <EvanR> | what are you doing with ForeignPtr |
2022-01-12 07:09:28 +0100 | <BrokenClutch> | need sleep |
2022-01-12 07:09:35 +0100 | <EvanR> | nvm, go to sleep |
2022-01-12 07:09:41 +0100 | <BrokenClutch> | night |
2022-01-12 07:09:44 +0100 | <BrokenClutch> | byeee |
2022-01-12 07:09:49 +0100 | <Axman6> | Any is also fun, it's even less safe Dynamic! |
2022-01-12 07:09:56 +0100 | <Axman6> | @hoogle Any |
2022-01-12 07:09:57 +0100 | <lambdabot> | Data.Monoid newtype Any |
2022-01-12 07:09:57 +0100 | <lambdabot> | Data.Monoid Any :: Bool -> Any |
2022-01-12 07:09:57 +0100 | <lambdabot> | Data.Semigroup newtype Any |
2022-01-12 07:10:00 +0100 | <Axman6> | :( |
2022-01-12 07:10:10 +0100 | BrokenClutch | (~pioneer@2804:d41:c292:6c00:33d8:d2f1:d8af:153e) () |
2022-01-12 07:10:11 +0100 | <Axman6> | those are the safe ones, I want the hard stuff! |
2022-01-12 07:10:13 +0100 | <EvanR> | lambdabot willfully disregards its existence |
2022-01-12 07:10:37 +0100 | <c_wraith> | Any is... not really unsafe. It's just weird. |
2022-01-12 07:11:04 +0100 | <EvanR> | a better void* pointer |
2022-01-12 07:11:14 +0100 | <c_wraith> | That's what it used to be. |
2022-01-12 07:11:15 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-01-12 07:11:17 +0100 | <c_wraith> | It's not that anymore |
2022-01-12 07:11:24 +0100 | <c_wraith> | these days it's a type family |
2022-01-12 07:11:48 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
2022-01-12 07:12:08 +0100 | puke | (~puke@user/puke) |
2022-01-12 07:12:54 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-12 07:13:05 +0100 | <Axman6> | yeah just saw that, how interesting |
2022-01-12 07:13:21 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2022-01-12 07:13:32 +0100 | mikoto-chan | (~mikoto-ch@194.157.16.89) |
2022-01-12 07:14:00 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
2022-01-12 07:16:21 +0100 | <c_wraith> | Hmm. I thought Dynamic was going to change its implementation at some point to data Dynamic where Dynamic :: Typeable a => a -> Dynamic |
2022-01-12 07:16:35 +0100 | <Axman6> | isn't that what it is? |
2022-01-12 07:16:50 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-12 07:17:11 +0100 | <c_wraith> | No, it's storing the TypeRep explicitly along with the value, instead of storing the whole Typeable dictionary |
2022-01-12 07:17:25 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-12 07:17:45 +0100 | <EvanR> | is TypeRep particularly compact |
2022-01-12 07:17:50 +0100 | <c_wraith> | This is better than it used to be, as TypeRep now has a parameter so you can actually tie those types together correctly. |
2022-01-12 07:18:00 +0100 | <Axman6> | surely more compact than the whole dictionary |
2022-01-12 07:18:09 +0100 | <c_wraith> | the dictionary is just a pointer |
2022-01-12 07:18:26 +0100 | <EvanR> | i mean... |
2022-01-12 07:18:28 +0100 | <Axman6> | so is the TypeRep, but it's a pointer into the dictionary |
2022-01-12 07:18:29 +0100 | <c_wraith> | if there's a win, it's in less indirection in common operations |
2022-01-12 07:18:30 +0100 | <EvanR> | I guess not then |
2022-01-12 07:18:52 +0100 | <EvanR> | in a dynamically typed language the dynamic type info is likely some bits |
2022-01-12 07:19:00 +0100 | <EvanR> | at least the basic parts |
2022-01-12 07:19:04 +0100 | <Axman6> | yeah, it guarantees avoiding one indirection, but the compiler should be smart enough to remove that anyway |
2022-01-12 07:19:31 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 07:19:53 +0100 | <Axman6> | I wonder if we could have a more compact representation for TypeRep (with pattern synonyms to keep things are they are) |
2022-01-12 07:20:28 +0100 | <EvanR> | well the type universe is a lot bigger and more crazy in haskell so I wouldn't be surprised if it can't be done |
2022-01-12 07:22:42 +0100 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2022-01-12 07:23:25 +0100 | razetime | (~quassel@49.207.203.87) (Remote host closed the connection) |
2022-01-12 07:25:30 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 07:25:30 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 07:25:30 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 07:25:56 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Quit: emf) |
2022-01-12 07:27:25 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-01-12 07:27:57 +0100 | absence | (torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 240 seconds) |
2022-01-12 07:28:10 +0100 | absence | (torgeihe@hildring.pvv.ntnu.no) |
2022-01-12 07:29:36 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-12 07:29:49 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-12 07:30:35 +0100 | <awpr> | > Type.Reflection.TypeRep @(GHC.Exts.Any) -- :( |
2022-01-12 07:30:36 +0100 | <lambdabot> | <hint>:1:25: error: parse error on input ‘@’ |
2022-01-12 07:31:36 +0100 | <awpr> | well lambdabot failed for a less interesting reason, but the point is since Any is a stuck type family, GHC can't even conceive of looking for a Typeable instance for it |
2022-01-12 07:32:38 +0100 | <Axman6> | % Type.Reflection.TypeRep @(GHC.Exts.Any) |
2022-01-12 07:32:38 +0100 | <yahb> | Axman6: ; <interactive>:71:1: error:; Not in scope: data constructor `Type.Reflection.TypeRep'; No module named `Type.Reflection' is imported. |
2022-01-12 07:32:54 +0100 | <Axman6> | % import Type.Reflection |
2022-01-12 07:32:54 +0100 | <yahb> | Axman6: |
2022-01-12 07:32:57 +0100 | <Axman6> | % Type.Reflection.TypeRep @(GHC.Exts.Any) |
2022-01-12 07:32:57 +0100 | <yahb> | Axman6: ; <interactive>:73:1: error:; Not in scope: data constructor `Type.Reflection.TypeRep'; Perhaps you meant one of these: variable `Type.Reflection.typeRep' (imported from Type.Reflection), variable `Type.Reflection.eqTypeRep' (imported from Type.Reflection), variable `Type.Reflection.rnfTypeRep' (imported from Type.Reflection) |
2022-01-12 07:33:15 +0100 | <awpr> | should've been lower-case, and also I misinterpreted the error -- it actually just says it can't find an instance |
2022-01-12 07:33:15 +0100 | <Axman6> | % :t Type.Reflection.typeRep |
2022-01-12 07:33:15 +0100 | <yahb> | Axman6: forall {k} {a :: k}. Typeable a => Type.Reflection.TypeRep a |
2022-01-12 07:33:24 +0100 | <Axman6> | % Type.Reflection.typeRep @(GHC.Exts.Any) |
2022-01-12 07:33:24 +0100 | <yahb> | Axman6: ; <interactive>:75:1: error:; * No instance for (Typeable GHC.Exts.Any) arising from a use of `it'; * In the first argument of `print', namely `it'; In a stmt of an interactive GHCi command: print it |
2022-01-12 07:33:55 +0100 | <awpr> | I think it would be illegal to have an instance for it, but not illegal to ask for one / try to search for one |
2022-01-12 07:34:16 +0100 | fef | (~thedawn@user/thedawn) |
2022-01-12 07:37:03 +0100 | chomwitt | (~chomwitt@2a02:587:dc11:fb00:12c3:7bff:fe6d:d374) |
2022-01-12 07:38:08 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-12 07:39:01 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2022-01-12 07:42:56 +0100 | <EvanR> | is Any a type family now because of levity or |
2022-01-12 07:43:13 +0100 | mikoto-chan | (~mikoto-ch@194.157.16.89) (Quit: mikoto-chan) |
2022-01-12 07:45:22 +0100 | <awpr> | hmm, I can't find a version of base that has a definition that's not the type family. caveat: only looked in GHC.Exts, so if it's somewhere else, I'd have missed it |
2022-01-12 07:49:31 +0100 | <awpr> | https://github.com/ghc/ghc/commit/24d761531cfc18152598becc0aeb90376fd19198 |
2022-01-12 07:49:41 +0100 | <Axman6> | GHC.see https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Builtin/Types.hs#L427 |
2022-01-12 07:50:24 +0100 | <Axman6> | which is interesting because that file doesn't contain the definition for Any |
2022-01-12 07:51:00 +0100 | <awpr> | ghc-prim/GHC/Types.hs |
2022-01-12 07:51:26 +0100 | <Axman6> | yeah, that's where I found the reference to the [Any types] note |
2022-01-12 07:56:50 +0100 | <awpr> | oh nice, this note is real documentation of the behavior I noticed a few times where GHC "doesn't care" about ambiguity when there are no constraints to solve |
2022-01-12 07:56:52 +0100 | phma | (~phma@host-67-44-208-198.hnremote.net) (Read error: Connection reset by peer) |
2022-01-12 07:57:13 +0100 | <awpr> | turns out the answer is that it defaults to `Any` |
2022-01-12 07:58:02 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2022-01-12 08:00:15 +0100 | phma | (phma@2001:5b0:212a:9158:a864:46d6:7a87:abb) |
2022-01-12 08:00:51 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 08:01:22 +0100 | <dolio> | That doesn't really matter at a surface level. You can only really observe that occurring in ghci. |
2022-01-12 08:02:17 +0100 | <awpr> | it means something like `data SomeList = forall a. SomeList [a]` followed by `SomeList []` is accepted rather than rejected for ambiguity |
2022-01-12 08:03:28 +0100 | <dolio> | No, it doesn't. Because you don't actually need to pick a concrete type for `a` to have a sensible type inference/checking algorithm. |
2022-01-12 08:03:55 +0100 | <dolio> | Many algorithms just let the variables drop without solving them. |
2022-01-12 08:04:36 +0100 | <awpr> | that's approximately what my mental model of GHC's behavior was. but this note says that GHC chooses `Any`, which is interesting |
2022-01-12 08:04:50 +0100 | <dolio> | GHC needs to put something there because core is explicitly typed, but that's at a lower level. |
2022-01-12 08:04:58 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-12 08:06:24 +0100 | <dolio> | And if you do something like `l <- pure []` in ghci, l can't have a polymorphic type, so the variable has to be solved to something. But that situation can't ever happen in a program. |
2022-01-12 08:07:48 +0100 | Akiva | (~Akiva@user/Akiva) |
2022-01-12 08:08:14 +0100 | <awpr> | `do l <- pure []; return (length l)` should still have an unconstrained type variable and be usable in a compiled module |
2022-01-12 08:08:47 +0100 | <dolio> | That's a situation where you don't have to solve the variable. |
2022-01-12 08:09:06 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:7492:3e11:3d28:6977) |
2022-01-12 08:09:18 +0100 | <dolio> | It needs to be solved in ghci because everything is happening incrementally, so you can ask what type `l` is. |
2022-01-12 08:09:43 +0100 | <dolio> | (And ghci will tell you `[Any]`. |
2022-01-12 08:11:12 +0100 | myrrh | (~markus@user/poet) (Remote host closed the connection) |
2022-01-12 08:20:11 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
2022-01-12 08:20:25 +0100 | alfonsox | (~quassel@103.92.42.80) |
2022-01-12 08:21:26 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:b189:8cdd:77fb:b913) (Remote host closed the connection) |
2022-01-12 08:27:57 +0100 | shapr | (~user@2601:7c0:c202:5190:c2c1:1b44:a2c4:880c) (Ping timeout: 240 seconds) |
2022-01-12 08:29:34 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2022-01-12 08:29:44 +0100 | emf_ | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
2022-01-12 08:30:29 +0100 | antony | (~The_viole@203.77.49.232) (Ping timeout: 256 seconds) |
2022-01-12 08:33:45 +0100 | michalz | (~michalz@185.246.204.107) |
2022-01-12 08:37:24 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-12 08:38:15 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-12 08:42:22 +0100 | x28girl | (~x28girl@user/x28girl) |
2022-01-12 08:43:06 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 256 seconds) |
2022-01-12 08:45:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 08:47:04 +0100 | x28girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 08:47:30 +0100 | x28girl | (~x28girl@user/x28girl) |
2022-01-12 08:48:33 +0100 | antony | (~The_viole@203.77.49.232) |
2022-01-12 08:48:51 +0100 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
2022-01-12 08:51:27 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2022-01-12 08:56:35 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-12 09:01:17 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
2022-01-12 09:04:44 +0100 | trillp | (~trillp@69.233.98.238) (Quit: WeeChat 3.3) |
2022-01-12 09:06:04 +0100 | MajorBiscuit | (~MajorBisc@c-001-022-052.client.tudelft.eduvpn.nl) |
2022-01-12 09:11:45 +0100 | dsal | (sid13060@id-13060.lymington.irccloud.com) (Ping timeout: 268 seconds) |
2022-01-12 09:11:54 +0100 | dsal | (sid13060@id-13060.lymington.irccloud.com) |
2022-01-12 09:11:57 +0100 | emf_ | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Quit: emf_) |
2022-01-12 09:12:22 +0100 | ephemient | (uid407513@id-407513.lymington.irccloud.com) (Ping timeout: 268 seconds) |
2022-01-12 09:12:22 +0100 | jmct_ | (sid160793@id-160793.tinside.irccloud.com) (Ping timeout: 268 seconds) |
2022-01-12 09:12:22 +0100 | astra | (sid289983@user/amish) (Ping timeout: 268 seconds) |
2022-01-12 09:12:29 +0100 | jmct_ | (sid160793@id-160793.tinside.irccloud.com) |
2022-01-12 09:13:52 +0100 | astra | (sid289983@id-289983.hampstead.irccloud.com) |
2022-01-12 09:13:58 +0100 | ephemient | (uid407513@id-407513.lymington.irccloud.com) |
2022-01-12 09:18:05 +0100 | haskl | (~haskl@user/haskl) (Ping timeout: 256 seconds) |
2022-01-12 09:19:24 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-01-12 09:19:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2022-01-12 09:20:45 +0100 | max22- | (~maxime@2a01cb08833598001d140f792dd3c52e.ipv6.abo.wanadoo.fr) |
2022-01-12 09:21:40 +0100 | chele | (~chele@user/chele) |
2022-01-12 09:24:01 +0100 | acidjnk | (~acidjnk@p200300d0c7271e52381c42d4d3ad2973.dip0.t-ipconnect.de) |
2022-01-12 09:24:01 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e52381c42d4d3ad2973.dip0.t-ipconnect.de) |
2022-01-12 09:24:20 +0100 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
2022-01-12 09:25:50 +0100 | <Aleksejs> | Hi, I wrote this line in ghci `let a f = return . f; foo = a (*2); bar = a (+1) in (foo >=> bar) 1` ((>=>) is from Control.Monad) and it gave me the result equal to 3. However, the type of this expression is (Monad m, Num c) => m c. My question is what is m in this case? |
2022-01-12 09:28:53 +0100 | <c_wraith> | in ghci, it'll pick IO if it has an instance of Monad that is otherwise unconstrained at the top level |
2022-01-12 09:30:37 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-01-12 09:30:55 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2022-01-12 09:31:02 +0100 | <siers> | which intuitively is kind of the Identity functor, if you only use pure code, because it only contains a single value |
2022-01-12 09:33:49 +0100 | acidjnk | (~acidjnk@p200300d0c7271e52381c42d4d3ad2973.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-12 09:33:49 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e52381c42d4d3ad2973.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-12 09:34:40 +0100 | acidjnk | (~acidjnk@p200300d0c7271e52a462db5e77aa7e55.dip0.t-ipconnect.de) |
2022-01-12 09:35:09 +0100 | haskl | (~haskl@user/haskl) |
2022-01-12 09:36:13 +0100 | antony | (~The_viole@203.77.49.232) (Ping timeout: 256 seconds) |
2022-01-12 09:43:35 +0100 | dsrt^ | (~dsrt@wsip-98-188-246-242.mc.at.cox.net) (Ping timeout: 256 seconds) |
2022-01-12 09:45:12 +0100 | dsrt^ | (~dsrt@wsip-98-188-246-242.mc.at.cox.net) |
2022-01-12 09:46:04 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-12 09:47:14 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:586d:5e29:f9c4:61ba) |
2022-01-12 09:49:50 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-12 09:49:53 +0100 | puke | (~puke@user/puke) (Remote host closed the connection) |
2022-01-12 09:50:12 +0100 | breakwindows | (~brkwnds@86.107.75.45) |
2022-01-12 09:51:30 +0100 | sus | (zero@user/zeromomentum) (Quit: Ping timeout (120 seconds)) |
2022-01-12 09:51:45 +0100 | sus | (zero@user/zeromomentum) |
2022-01-12 09:56:09 +0100 | Alex_test_ | Alex_test |
2022-01-12 09:57:06 +0100 | puke | (~puke@user/puke) |
2022-01-12 10:00:17 +0100 | hsiktas[m] | (~hsiktasma@2001:470:69fc:105::30d4) (Quit: You have been kicked for being idle) |
2022-01-12 10:00:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 10:07:17 +0100 | sagax | (~sagax_nb@user/sagax) |
2022-01-12 10:17:31 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-01-12 10:17:31 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-01-12 10:17:34 +0100 | allbery_b | geekosaur |
2022-01-12 10:20:56 +0100 | jgeerds_ | (~jgeerds@55d4bbed.access.ecotel.net) |
2022-01-12 10:22:28 +0100 | jgeerds__ | (~jgeerds@55d4bbed.access.ecotel.net) |
2022-01-12 10:25:31 +0100 | jgeerds_ | (~jgeerds@55d4bbed.access.ecotel.net) (Ping timeout: 256 seconds) |
2022-01-12 10:27:56 +0100 | alfonsox | (~quassel@103.92.42.80) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-01-12 10:28:12 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-12 10:30:02 +0100 | jumper149 | (~jumper149@base.felixspringer.xyz) |
2022-01-12 10:30:37 +0100 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 256 seconds) |
2022-01-12 10:30:46 +0100 | <Axman6> | Aleksejs: GHCi is kinda, sort, a little bit like being in a magical IO do block. if your expression can be IO foo, it'll execute it, if it's anything else, it'll evaluate it and show it if possible |
2022-01-12 10:31:05 +0100 | <Axman6> | what does :t it say if you run it after running that code? |
2022-01-12 10:32:55 +0100 | `2jt | (~jtomas@10.red-83-58-228.dynamicip.rima-tde.net) |
2022-01-12 10:33:02 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-12 10:33:17 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 240 seconds) |
2022-01-12 10:34:10 +0100 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 256 seconds) |
2022-01-12 10:34:28 +0100 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
2022-01-12 10:35:08 +0100 | cfricke | (~cfricke@user/cfricke) |
2022-01-12 10:35:13 +0100 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
2022-01-12 10:35:22 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2022-01-12 10:36:20 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2022-01-12 10:36:57 +0100 | <Aleksejs> | (Monad m, Num c) => m c |
2022-01-12 10:37:26 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2022-01-12 10:37:49 +0100 | <Aleksejs> | so I suppose, m becomes IO once expressed in ghci? |
2022-01-12 10:38:24 +0100 | <c_wraith> | ghci takes the expression you enter and does various things with it, depending on what it unifies with. |
2022-01-12 10:39:03 +0100 | <c_wraith> | If it unifies with IO (), it executes it and doesn't print anything. If it unifies with (Show a) => IO a, it executes it >>= print |
2022-01-12 10:39:19 +0100 | <c_wraith> | If it unifies with IO a without a Show constraint, it executes it and doesn't print anything |
2022-01-12 10:39:44 +0100 | <c_wraith> | If none of those, it adds a call to print, including giving you the error about a missing Show instance if that's relevant |
2022-01-12 10:41:37 +0100 | arjun | (~arjun@user/arjun) (Ping timeout: 240 seconds) |
2022-01-12 10:42:04 +0100 | <c_wraith> | so... 4 cases. 3 of which are the special cases of "can this be an IO action?" |
2022-01-12 10:42:18 +0100 | ubert | (~Thunderbi@p200300ecdf0994b6cb4175acd0981d1c.dip0.t-ipconnect.de) |
2022-01-12 10:44:12 +0100 | Inst | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Read error: Connection reset by peer) |
2022-01-12 10:45:11 +0100 | <justsomeguy> | What is unification? |
2022-01-12 10:45:42 +0100 | <c_wraith> | the process of solving for type variables so that two types can be the same thing. |
2022-01-12 10:45:51 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 10:47:25 +0100 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) |
2022-01-12 10:50:00 +0100 | __monty__ | (~toonn@user/toonn) |
2022-01-12 10:50:02 +0100 | arjun | (~arjun@user/arjun) |
2022-01-12 10:50:08 +0100 | benin | (~benin@183.82.30.17) |
2022-01-12 10:56:22 +0100 | eggplant_ | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-12 10:56:27 +0100 | antony | (~The_viole@203.77.49.232) |
2022-01-12 10:57:01 +0100 | <sshine> | justsomeguy, so when Just :: a -> Maybe a, and you write Just (5 :: Int), then Int and a are unified by setting a = Int, and the concrete Just :: Int -> Just Int is used. |
2022-01-12 10:57:33 +0100 | <sshine> | oops, Just :: Int -> Maybe Int, of course. :) |
2022-01-12 11:02:03 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 11:02:31 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 11:06:33 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 11:06:58 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 11:13:10 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 11:13:18 +0100 | notzmv | (~zmv@user/notzmv) |
2022-01-12 11:13:51 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 11:14:32 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-12 11:16:03 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
2022-01-12 11:16:27 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2022-01-12 11:18:49 +0100 | dsrt^ | (~dsrt@wsip-98-188-246-242.mc.at.cox.net) (Remote host closed the connection) |
2022-01-12 11:19:46 +0100 | gawen_ | (~gawen@user/gawen) (Quit: cya) |
2022-01-12 11:20:04 +0100 | haskl | (~haskl@user/haskl) (Ping timeout: 256 seconds) |
2022-01-12 11:22:54 +0100 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 256 seconds) |
2022-01-12 11:26:20 +0100 | astra | amish |
2022-01-12 11:26:48 +0100 | amish | (sid289983@id-289983.hampstead.irccloud.com) (Changing host) |
2022-01-12 11:26:48 +0100 | amish | (sid289983@user/amish) |
2022-01-12 11:27:31 +0100 | amish | astra |
2022-01-12 11:27:50 +0100 | FragByte | (~christian@user/fragbyte) (Quit: Quit) |
2022-01-12 11:29:39 +0100 | FragByte | (~christian@user/fragbyte) |
2022-01-12 11:31:06 +0100 | haskl | (~haskl@user/haskl) |
2022-01-12 11:36:53 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-01-12 11:38:03 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2022-01-12 11:39:06 +0100 | MasseR | (~MasseR@51.15.143.128) (Quit: The Lounge - https://thelounge.chat) |
2022-01-12 11:39:32 +0100 | MasseR | (~MasseR@51.15.143.128) |
2022-01-12 11:39:42 +0100 | Lord_of_Life_ | Lord_of_Life |
2022-01-12 11:42:01 +0100 | arjun | (~arjun@user/arjun) (Ping timeout: 256 seconds) |
2022-01-12 11:42:06 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-01-12 11:48:46 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-12 11:48:51 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-12 11:56:54 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 12:01:01 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2022-01-12 12:01:20 +0100 | gawen | (~gawen@user/gawen) |
2022-01-12 12:02:40 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-12 12:04:06 +0100 | Guest950 | (~Guest9@host109-151-101-87.range109-151.btcentralplus.com) |
2022-01-12 12:05:38 +0100 | Guest950 | (~Guest9@host109-151-101-87.range109-151.btcentralplus.com) (Client Quit) |
2022-01-12 12:05:57 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 12:06:03 +0100 | x28_girl | (~x28girl@user/x28girl) (Remote host closed the connection) |
2022-01-12 12:06:28 +0100 | x28_girl | (~x28girl@user/x28girl) |
2022-01-12 12:08:18 +0100 | x28_girl | (~x28girl@user/x28girl) (Client Quit) |
2022-01-12 12:08:18 +0100 | x28girl | (~x28girl@user/x28girl) (Quit: Leaving) |
2022-01-12 12:10:06 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-12 12:10:09 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-01-12 12:11:28 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-12 12:11:33 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-12 12:12:37 +0100 | xsperry | (~xs@user/xsperry) (Ping timeout: 240 seconds) |
2022-01-12 12:12:45 +0100 | Aleksejs | (~Aleksejs@haskell.lv) (WeeChat 3.3) |
2022-01-12 12:12:53 +0100 | Aleksejs | (~Aleksejs@haskell.lv) |
2022-01-12 12:13:58 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-01-12 12:15:04 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-01-12 12:15:16 +0100 | <siers> | c_wraith, hadn't noticed the case about where a in IO a is not Show-able – cool |
2022-01-12 12:15:36 +0100 | mmhat | (~mmh@55d44405.access.ecotel.net) |
2022-01-12 12:18:42 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-12 12:19:24 +0100 | arjun | (~arjun@user/arjun) |
2022-01-12 12:21:28 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:7492:3e11:3d28:6977) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-12 12:21:28 +0100 | wre^ | (~wre@wsip-98-188-246-242.mc.at.cox.net) |
2022-01-12 12:21:31 +0100 | yurusanP | (~gsbush23@50.93.222.100) |
2022-01-12 12:23:49 +0100 | acidjnk | (~acidjnk@p200300d0c7271e52a462db5e77aa7e55.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-12 12:23:59 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-12 12:24:37 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-12 12:25:47 +0100 | puke | (~puke@user/puke) () |
2022-01-12 12:30:14 +0100 | yurusanP | (~gsbush23@50.93.222.100) () |
2022-01-12 12:30:39 +0100 | yurusanP | (~gsbush23@50.93.222.100) |
2022-01-12 12:34:24 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-12 12:40:18 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
2022-01-12 12:43:40 +0100 | yurusanP | (~gsbush23@50.93.222.100) () |
2022-01-12 12:46:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2022-01-12 12:47:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 12:49:20 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:296a:5977:b176:470b) |
2022-01-12 12:58:37 +0100 | antony | (~The_viole@203.77.49.232) (Quit: Leaving) |
2022-01-12 13:05:59 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
2022-01-12 13:11:33 +0100 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 256 seconds) |
2022-01-12 13:13:20 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-12 13:13:57 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
2022-01-12 13:18:13 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2022-01-12 13:18:59 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2022-01-12 13:24:25 +0100 | pottsy | (~pottsy@129.227.183.244) |
2022-01-12 13:30:12 +0100 | xb0o2 | (~xb0o2@user/xb0o2) |
2022-01-12 13:33:59 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
2022-01-12 13:36:17 +0100 | benin | (~benin@183.82.30.17) (Ping timeout: 240 seconds) |
2022-01-12 13:42:08 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-12 13:42:31 +0100 | <dminuoso> | Is there base functions that applie toLower/toUpper on the first element only? |
2022-01-12 13:43:25 +0100 | vgtw_ | (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se) (Ping timeout: 240 seconds) |
2022-01-12 13:45:20 +0100 | <geekosaur> | not in base, no |
2022-01-12 13:47:10 +0100 | <dminuoso> | Alright thanks |
2022-01-12 13:47:33 +0100 | <geekosaur> | I think if yoiu're at that point you want to use text-icu and get titlecase right |
2022-01-12 13:47:48 +0100 | <merijn> | titlecase doesn't do the first element, though :p |
2022-01-12 13:47:55 +0100 | <merijn> | It does the first one of every word |
2022-01-12 13:48:05 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-01-12 13:48:54 +0100 | <dminuoso> | geekosaur: Nah, Im just looking for a simple primitive to work with aeson generics |
2022-01-12 13:49:05 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-01-12 13:49:50 +0100 | <dminuoso> | So realistically this is only ever going to see ASCII letters :) |
2022-01-12 13:51:47 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-01-12 13:51:58 +0100 | <hpc> | that's like saying "realistically this is only ever going to see vowels" :P |
2022-01-12 13:52:45 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2022-01-12 13:53:07 +0100 | <merijn> | Lies, damned lies, and programmers talking about the inputs their code will get |
2022-01-12 13:53:12 +0100 | <geekosaur> | ^ |
2022-01-12 13:53:20 +0100 | vgtw | (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se) |
2022-01-12 13:53:36 +0100 | <geekosaur> | (although I'd usually just say "you hope") |
2022-01-12 13:54:06 +0100 | <dminuoso> | well I have `data ObjectType = TyAll | TyZone | TyRecord | TyComment` and I just want a `constructorTagModifier = map1 toLower . strip "Ty"` |
2022-01-12 13:54:29 +0100 | <dminuoso> | I think Im fine with the "given all expected inputs" thinking |
2022-01-12 13:54:37 +0100 | lechner | (~lechner@debian/lechner) (Ping timeout: 240 seconds) |
2022-01-12 13:56:05 +0100 | <dminuoso> | Though it would be handy if Aeson had some primitive where I could say $(mkFromJsonEnum ''ObjectType [(TyAll, "all"), (TyRecord, "record"), (TyComment, "comment")] |
2022-01-12 13:56:13 +0100 | max22- | (~maxime@2a01cb08833598001d140f792dd3c52e.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2022-01-12 13:56:23 +0100 | <dminuoso> | Perhaps i ought to make that thing. |
2022-01-12 13:57:26 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
2022-01-12 13:57:31 +0100 | goepsilongo | (~goepsilon@2806:263:c404:8000:54bf:3582:265f:1026) |
2022-01-12 13:59:11 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-12 13:59:21 +0100 | goepsilongo | (~goepsilon@2806:263:c404:8000:54bf:3582:265f:1026) (Client Quit) |
2022-01-12 14:00:41 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-12 14:03:25 +0100 | Alex_test | (~al_test@178.34.151.107) (Quit: ;-) |
2022-01-12 14:03:30 +0100 | AlexNoo | (~AlexNoo@178.34.151.107) (Quit: Leaving) |
2022-01-12 14:03:36 +0100 | AlexZenon | (~alzenon@178.34.151.107) (Quit: ;-) |
2022-01-12 14:09:28 +0100 | Arsen | (arsen@managarm/dev/Arsen) (Quit: Quit.) |
2022-01-12 14:09:46 +0100 | Arsen | (arsen@managarm/dev/Arsen) |
2022-01-12 14:19:42 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-01-12 14:22:21 +0100 | AlexZenon | (~alzenon@178.34.151.107) |
2022-01-12 14:22:37 +0100 | AlexNoo | (~AlexNoo@178.34.151.107) |
2022-01-12 14:26:00 +0100 | Alex_test | (~al_test@178.34.151.107) |
2022-01-12 14:26:07 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 14:26:47 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 14:27:17 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
2022-01-12 14:27:17 +0100 | neurocyte0917 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
2022-01-12 14:28:24 +0100 | neurocyte09170 | (~neurocyte@IP-046243084168.dynamic.medianet-world.de) |
2022-01-12 14:28:24 +0100 | neurocyte09170 | (~neurocyte@IP-046243084168.dynamic.medianet-world.de) (Changing host) |
2022-01-12 14:28:24 +0100 | neurocyte09170 | (~neurocyte@user/neurocyte) |
2022-01-12 14:32:21 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
2022-01-12 14:32:37 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 240 seconds) |
2022-01-12 14:33:25 +0100 | breakwindows | (~brkwnds@86.107.75.45) (Ping timeout: 240 seconds) |
2022-01-12 14:36:36 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-12 14:37:07 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-01-12 14:37:18 +0100 | yauhsien | (~yauhsien@61-231-29-214.dynamic-ip.hinet.net) |
2022-01-12 14:40:08 +0100 | random_ | (~random@185.219.68.251) |
2022-01-12 14:41:29 +0100 | siers | (~ij@user/ij) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-12 14:41:59 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-01-12 14:42:47 +0100 | random__ | (~random@185.219.68.251) (Ping timeout: 256 seconds) |
2022-01-12 14:43:03 +0100 | siers | (~ij@user/ij) |
2022-01-12 14:47:25 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-12 14:50:09 +0100 | joaquinmg[m] | (~joaquinmg@2001:470:69fc:105::1:67d2) |
2022-01-12 14:51:51 +0100 | max22- | (~maxime@2a01cb0883359800849c77e11630007c.ipv6.abo.wanadoo.fr) |
2022-01-12 15:00:02 +0100 | xb0o2 | (~xb0o2@user/xb0o2) (Quit: Client closed) |
2022-01-12 15:00:39 +0100 | crazazy | (~chatzilla@130.89.171.62) |
2022-01-12 15:01:36 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) |
2022-01-12 15:07:18 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Quit: Reconnecting) |
2022-01-12 15:07:30 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2022-01-12 15:08:02 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
2022-01-12 15:10:15 +0100 | lechner | (~lechner@debian/lechner) |
2022-01-12 15:15:58 +0100 | Guest43 | (~Guest43@alotvpn.vps.wbsprt.com) |
2022-01-12 15:17:27 +0100 | Guest43 | (~Guest43@alotvpn.vps.wbsprt.com) (Client Quit) |
2022-01-12 15:17:49 +0100 | mzvonar | (~mzvonar@alotvpn.vps.wbsprt.com) |
2022-01-12 15:20:23 +0100 | guest | (~guest@alotvpn.vps.wbsprt.com) |
2022-01-12 15:20:39 +0100 | guest | (~guest@alotvpn.vps.wbsprt.com) (Remote host closed the connection) |
2022-01-12 15:21:08 +0100 | pavonia | (~user@user/siracusa) |
2022-01-12 15:21:28 +0100 | talismanick | (~talismani@c-67-164-73-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2022-01-12 15:22:42 +0100 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Quit: leaving) |
2022-01-12 15:22:56 +0100 | <mzvonar> | Hi guys, haskell beginner here. I was thinking if there's a reason that (++) function in standard library doesn't have a case "(++) xs [] = xs", which would skip the unnecessary traversal of the first argument if second argument is empty. Is this so the function is easier to reason about? Or does the compiler make this optimisation? Or is this |
2022-01-12 15:22:57 +0100 | <mzvonar> | (kind of "asymmetric") optimisation not really saving much performance in real world? Thanks |
2022-01-12 15:23:59 +0100 | <merijn> | mzvonar: Note the RULES "comment" underneath it |
2022-01-12 15:24:51 +0100 | <merijn> | mzvonar: It actually gets a rewrite rule applied to it that rewrites applications of ++ into a fused version that (possibly) avoids building the list at all |
2022-01-12 15:27:57 +0100 | <mzvonar> | oh, ok. I don't understand rewrite rules (yet), but that answers my question anyway, thanks! |
2022-01-12 15:28:57 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 15:28:57 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 15:28:57 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 15:29:05 +0100 | jkaye | (~jkaye@2601:281:8300:7530:6a7d:d789:f2c1:154c) |
2022-01-12 15:29:19 +0100 | <merijn> | mzvonar: basically it's saying: replace "xs ++ ys" with "augment (\c n -> foldr c n xs) ys" |
2022-01-12 15:30:11 +0100 | <merijn> | mzvonar: And foldr does shortcut when ys is [] :) |
2022-01-12 15:30:33 +0100 | michalz | (~michalz@185.246.204.107) (Read error: Connection reset by peer) |
2022-01-12 15:30:39 +0100 | <Axman6> | not sure that works... |
2022-01-12 15:31:02 +0100 | <Axman6> | that should have ys and xs flipped right? |
2022-01-12 15:31:17 +0100 | <Axman6> | wait |
2022-01-12 15:31:21 +0100 | michalz | (~michalz@185.246.204.101) |
2022-01-12 15:31:27 +0100 | <mzvonar> | oh, right. nice :) what I meant I understand how rewrite rules work, but I'm really confused how augment works |
2022-01-12 15:31:28 +0100 | <merijn> | you're missing the augment :p |
2022-01-12 15:31:28 +0100 | <Axman6> | what is augment? |
2022-01-12 15:31:32 +0100 | max22- | (~maxime@2a01cb0883359800849c77e11630007c.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2022-01-12 15:31:35 +0100 | kuribas | (~user@ptr-25vy0i9q6berc613dpl.18120a2.ip6.access.telenet.be) |
2022-01-12 15:32:29 +0100 | <mzvonar> | I guess ys gets passed to foldr as n argument, right? |
2022-01-12 15:33:03 +0100 | <merijn> | augment g xs = g (:) xs |
2022-01-12 15:35:29 +0100 | jgeerds__ | (~jgeerds@55d4bbed.access.ecotel.net) (Ping timeout: 256 seconds) |
2022-01-12 15:35:51 +0100 | <Axman6> | so that doesn;t take care of the case where ys is [] so you can avoid the call to foldr at all and just return xs, which I think was the point of the question |
2022-01-12 15:36:38 +0100 | <mzvonar> | now I see it I guess, so c is (:) and n is ys |
2022-01-12 15:38:52 +0100 | xkuru | (~xkuru@user/xkuru) |
2022-01-12 15:39:53 +0100 | <merijn> | Axman6: If foldr gets inlined it does |
2022-01-12 15:41:19 +0100 | <Axman6> | foldr never inspects the z value |
2022-01-12 15:41:32 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-12 15:42:56 +0100 | <merijn> | ah, wait, maybe my brain has them reversed |
2022-01-12 15:44:44 +0100 | <mzvonar> | I thought I got it, but I got them reversed too :D |
2022-01-12 15:45:16 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-12 15:46:04 +0100 | <mzvonar> | Ok, so (++) is actually not short circuiting when ys = [], right? Maybe the foldr implementation brings better advantages? |
2022-01-12 15:47:12 +0100 | <merijn> | mzvonar: It's part of the fusion framework |
2022-01-12 15:47:41 +0100 | <merijn> | mzvonar: fusion is about avoiding the construction of intermediate lists |
2022-01-12 15:47:52 +0100 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
2022-01-12 15:48:15 +0100 | <mzvonar> | Another noob question: why not write the implementation straight in terms of foldr instead of rewriting it with the rule? |
2022-01-12 15:48:21 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-12 15:48:32 +0100 | wre^ | (~wre@wsip-98-188-246-242.mc.at.cox.net) (Ping timeout: 240 seconds) |
2022-01-12 15:48:37 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds) |
2022-01-12 15:48:56 +0100 | <merijn> | mzvonar: because there is an ordering and phases in which rewrite rules apply |
2022-01-12 15:48:58 +0100 | xb0o2 | (~xb0o2@user/xb0o2) |
2022-01-12 15:49:11 +0100 | <merijn> | mzvonar: So depending on the order they're applied other rules may or may not apply |
2022-01-12 15:50:28 +0100 | <mzvonar> | oh, ok. sorry for silly questions. I'm still learning basics, so it's quite soon for me to dig in this low level stuff, but I'm curious :) |
2022-01-12 15:50:46 +0100 | <merijn> | consider another rules that ends up changing "foo xs ys" into "f (xs ++ ys)" if you apply this rule before the ++ one, you can then rewrite the result using the ++ rule. If you replaced rules with implementation you lose that |
2022-01-12 15:55:17 +0100 | xff0x | (~xff0x@2001:1a81:538c:a900:ca7a:63a1:efb3:59ef) (Ping timeout: 240 seconds) |
2022-01-12 15:55:47 +0100 | <mzvonar> | I meant if it was defined like this: "(++) xs ys = foldr (:) ys xs" |
2022-01-12 15:56:37 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds) |
2022-01-12 15:56:49 +0100 | <mzvonar> | Then "foo xs ys" could get rewriten as "f (xs ++ ys)" which would become "f (foldr (:) ys xs". Would it be the same result? |
2022-01-12 15:56:54 +0100 | <geekosaur> | wouldn't that reverse the first string? |
2022-01-12 15:57:57 +0100 | <mzvonar> | geekosaur oh yes... So I'm back at not understanding the augment function :D |
2022-01-12 15:59:24 +0100 | <mzvonar> | I guess I'll wait a year or two to gain more experience about how fusion and rewrites work :) |
2022-01-12 16:01:15 +0100 | euandreh | (~euandreh@2804:14c:33:9fe5:567f:a71e:f346:c5f0) |
2022-01-12 16:01:29 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
2022-01-12 16:01:45 +0100 | shriekingnoise | (~shrieking@181.229.0.83) |
2022-01-12 16:03:17 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-01-12 16:03:21 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 16:03:58 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-12 16:04:35 +0100 | forell_ | forell |
2022-01-12 16:04:59 +0100 | forell | (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (Changing host) |
2022-01-12 16:04:59 +0100 | forell | (~forell@user/forell) |
2022-01-12 16:06:22 +0100 | <mzvonar> | geekosaur thinking about it again, it wouldn't reverse the list |
2022-01-12 16:06:32 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-12 16:06:48 +0100 | <kritzefitz> | For example you could write "f cons empty = 1 `cons` 2 `cons` 3 `cons` empty" and `augment f []` would result in `[1,2,3]` whereas `f (+) 0` would directly result in `1 + 2 + 3`. |
2022-01-12 16:07:45 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 16:07:45 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 16:07:45 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 16:07:48 +0100 | xff0x | (~xff0x@2001:1a81:538c:a900:ca7a:63a1:efb3:59ef) |
2022-01-12 16:08:02 +0100 | mikoto-chan | (~mikoto-ch@194.157.16.89) |
2022-01-12 16:08:07 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-01-12 16:13:02 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-12 16:13:45 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2022-01-12 16:14:28 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2022-01-12 16:14:35 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-01-12 16:16:23 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-12 16:16:55 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 16:16:55 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 16:16:55 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 16:17:37 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-12 16:18:23 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-01-12 16:20:49 +0100 | max22- | (~maxime@2a01cb08833598009c1792461f3ff785.ipv6.abo.wanadoo.fr) |
2022-01-12 16:21:23 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2022-01-12 16:21:42 +0100 | fizbin | (~fizbin@154.sub-174-198-10.myvzw.com) |
2022-01-12 16:22:06 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-12 16:23:51 +0100 | maerwald | (~maerwald@user/maerwald) (WeeChat 3.3) |
2022-01-12 16:24:21 +0100 | maerwald | (~maerwald@user/maerwald) |
2022-01-12 16:25:29 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 16:25:29 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 16:25:29 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 16:30:13 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-12 16:31:38 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-12 16:32:04 +0100 | biberu | (~biberu@user/biberu) |
2022-01-12 16:39:16 +0100 | <absence> | how do i report errors or fail in a template haskell splice in ghc 9? the type of the splice changed from Q (TExp a) to Quote m => Code m a, but there's no MonadFail instance, and functions like reportError still retuirn Q () |
2022-01-12 16:39:20 +0100 | fizbin | (~fizbin@154.sub-174-198-10.myvzw.com) (Read error: Connection reset by peer) |
2022-01-12 16:40:45 +0100 | schweers | (~user@2001:16b8:e960:8100:aaa1:59ff:fe3f:235c) |
2022-01-12 16:41:21 +0100 | MironZ | (~MironZ@nat-infra.ehlab.uk) (Quit: The Lounge - https://thelounge.chat) |
2022-01-12 16:42:43 +0100 | MironZ | (~MironZ@nat-infra.ehlab.uk) |
2022-01-12 16:46:26 +0100 | Guest3977 | (~Guest39@2001:8b0:a3a:f3cf:a801:e09f:3591:91bc) |
2022-01-12 16:46:43 +0100 | <Guest3977> | tomjaguarpaw here, testing Libera web chat |
2022-01-12 16:46:49 +0100 | <tomjaguarpaw> | It works! |
2022-01-12 16:46:54 +0100 | Guest3977 | (~Guest39@2001:8b0:a3a:f3cf:a801:e09f:3591:91bc) (Client Quit) |
2022-01-12 16:47:24 +0100 | <geekosaur> | should just be a newer version of the kiwi chat on freenode |
2022-01-12 16:47:55 +0100 | <[exa]> | absence: that might be a topic for #ghc if I get it right |
2022-01-12 16:48:07 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 16:48:07 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 16:48:07 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 16:52:09 +0100 | <merijn> | absence: You can lift Q into Code, though |
2022-01-12 16:52:51 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2022-01-12 16:56:56 +0100 | acidjnk | (~acidjnk@2001:16b8:6743:e100:c1f4:58dd:c8a4:2c18) |
2022-01-12 16:58:33 +0100 | <absence> | merijn: hmm, it's not clear from the documentation which function can do that. i get that m ~ Q, so that i'm dealing with Code Q a, but i don't see anything that can lift e.g. Q (), only Q (TExp a) |
2022-01-12 16:58:55 +0100 | <merijn> | absence: I forgot which one, but the GHC release notes have some migration notes, iirc |
2022-01-12 17:00:18 +0100 | aveltras[m] | (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: You have been kicked for being idle) |
2022-01-12 17:01:33 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 17:02:15 +0100 | <absence> | merijn: these ones? https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0 i've been reading that, and it doesn't mention anything about this |
2022-01-12 17:02:56 +0100 | jacks- | (~bc8147f2@cerf.good1.com) |
2022-01-12 17:03:16 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 245 seconds) |
2022-01-12 17:03:51 +0100 | <merijn> | Wrong GHC version? I think Code and co are in 9.2? :p |
2022-01-12 17:04:15 +0100 | <merijn> | absence: Oh, wait! |
2022-01-12 17:04:22 +0100 | <merijn> | absence: There is a template-haskell compat library |
2022-01-12 17:04:36 +0100 | <jacks-> | hi. I need to programmatically convert alpha-3 code to country name. does anyone have a link where there's an easy to parse file with that information? |
2022-01-12 17:04:46 +0100 | <jacks-> | (or perhaps even a package on hackage) |
2022-01-12 17:05:11 +0100 | <merijn> | absence: That's what I did (but forgot): https://hackage.haskell.org/package/th-compat |
2022-01-12 17:05:44 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-12 17:05:44 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds) |
2022-01-12 17:06:33 +0100 | <merijn> | absence: https://github.com/merijn/validated-literals/commit/a32515b898ceceb195987f354525511806b05f74 |
2022-01-12 17:06:47 +0100 | <merijn> | absence: That's my commit to fix it to work across old and new TH |
2022-01-12 17:07:17 +0100 | <jacks-> | I found one. https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes |
2022-01-12 17:07:25 +0100 | xsperry | (~xs@user/xsperry) |
2022-01-12 17:07:29 +0100 | <absence> | merijn: i see. i'm just looking to migrate to new th though, so i won't need th-compat |
2022-01-12 17:14:03 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2022-01-12 17:15:50 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) |
2022-01-12 17:16:05 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-01-12 17:17:49 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-01-12 17:20:00 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) |
2022-01-12 17:22:42 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:586d:5e29:f9c4:61ba) (Quit: WeeChat 2.8) |
2022-01-12 17:24:02 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds) |
2022-01-12 17:24:20 +0100 | mzvonar | (~mzvonar@alotvpn.vps.wbsprt.com) (Quit: Client closed) |
2022-01-12 17:25:13 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) |
2022-01-12 17:25:55 +0100 | xlei | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) (Quit: ZNC 1.9.x-git-167-81df4dec - https://znc.in) |
2022-01-12 17:26:04 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 17:26:57 +0100 | trillp | (~trillp@69.233.98.238) |
2022-01-12 17:27:14 +0100 | xlei | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) |
2022-01-12 17:27:27 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2022-01-12 17:28:14 +0100 | pottsy | (~pottsy@129.227.183.244) (Ping timeout: 250 seconds) |
2022-01-12 17:28:58 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2022-01-12 17:31:51 +0100 | acidjnk | (~acidjnk@2001:16b8:6743:e100:c1f4:58dd:c8a4:2c18) (Ping timeout: 250 seconds) |
2022-01-12 17:31:51 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds) |
2022-01-12 17:32:58 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2022-01-12 17:33:55 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-12 17:37:12 +0100 | <janus> | how do i make cabal-run consume a library from the current directory? |
2022-01-12 17:38:33 +0100 | arjun | (~arjun@user/arjun) (Quit: Leaving) |
2022-01-12 17:38:50 +0100 | <byorgey> | janus: can you be more specific? Not sure I understand what you're asking. |
2022-01-12 17:39:17 +0100 | <janus> | i have a cabal script in the current directory, and i want to use it to test the repo that i also have checked out in the same directory |
2022-01-12 17:39:34 +0100 | <janus> | but if i do a build-depends in the cabal script, it tries to pull the dep from hackage instead of the current directory |
2022-01-12 17:39:48 +0100 | pottsy | (~pottsy@129.227.183.244) |
2022-01-12 17:39:58 +0100 | <janus> | i guess i want a version of 'source-repository-package' that works with cabal scripts |
2022-01-12 17:40:59 +0100 | <byorgey> | janus: I'm not really sure, but maybe you want to make a cabal.project file? |
2022-01-12 17:41:27 +0100 | <janus> | i have, it doesn't seem like cabal-run is picking up on it |
2022-01-12 17:41:34 +0100 | <geekosaur> | I am guessing this is just yet another thing that doesn't play well with cabal scripts |
2022-01-12 17:41:37 +0100 | <janus> | maybe there is a way to do source-repository-package in the script prelude |
2022-01-12 17:41:47 +0100 | <geekosaur> | they're really just kinda tacked on |
2022-01-12 17:41:49 +0100 | <fendor[m]> | I don't think you can make the script see that cabal.project file |
2022-01-12 17:42:18 +0100 | <janus> | ok, i will just make a new executable in the cabal file instead then |
2022-01-12 17:43:01 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-01-12 17:45:34 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-01-12 17:46:00 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-12 17:46:01 +0100 | pottsy | (~pottsy@129.227.183.244) (Ping timeout: 250 seconds) |
2022-01-12 17:46:56 +0100 | <fendor[m]> | yeah, cabal scripts are... a bit weird |
2022-01-12 17:47:20 +0100 | acidjnk | (~acidjnk@2001:16b8:6743:e100:c1f4:58dd:c8a4:2c18) |
2022-01-12 17:49:06 +0100 | shapr | (~user@2601:7c0:c202:5190:f73c:d98b:42b3:a084) |
2022-01-12 17:51:47 +0100 | acidjnk | (~acidjnk@2001:16b8:6743:e100:c1f4:58dd:c8a4:2c18) (Ping timeout: 250 seconds) |
2022-01-12 17:51:49 +0100 | pgib | (~textual@173.38.117.77) (Ping timeout: 240 seconds) |
2022-01-12 17:54:38 +0100 | crazazy | (~chatzilla@130.89.171.62) (Quit: ChatZilla 0.10 [SeaMonkey 2.53.10.2/20211220132845]) |
2022-01-12 17:58:37 +0100 | arahael | (~arahael@203.158.51.1) (Ping timeout: 240 seconds) |
2022-01-12 17:59:17 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-12 17:59:20 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-01-12 18:00:22 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-12 18:02:26 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-12 18:02:27 +0100 | MoC | (~moc@user/moc) |
2022-01-12 18:02:48 +0100 | Akiva | (~Akiva@user/Akiva) |
2022-01-12 18:03:07 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) |
2022-01-12 18:04:16 +0100 | unyu | (~pyon@user/pyon) (Read error: Connection reset by peer) |
2022-01-12 18:05:21 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-12 18:06:23 +0100 | unyu | (~pyon@user/pyon) |
2022-01-12 18:06:23 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-01-12 18:06:24 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-12 18:06:57 +0100 | pgib | (~textual@173.38.117.86) |
2022-01-12 18:07:33 +0100 | arjun | (~arjun@user/arjun) |
2022-01-12 18:08:27 +0100 | <arjun> | made my benchmarks threaded with the -rtsopts -threaded |
2022-01-12 18:08:38 +0100 | <arjun> | benchmark numbers went up, doubled in some cases |
2022-01-12 18:09:03 +0100 | <arjun> | this common ? |
2022-01-12 18:10:56 +0100 | <sclv> | it really depends on the code |
2022-01-12 18:11:06 +0100 | <sclv> | the threaded rts can cause all sorts of different runtime behavior |
2022-01-12 18:11:18 +0100 | <EvanR> | if anything anywhere is relying on threadDelay, it is much more responsive with -threaded |
2022-01-12 18:11:28 +0100 | Franciman | (~Franciman@mx1.fracta.dev) (see ya never) |
2022-01-12 18:11:57 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 250 seconds) |
2022-01-12 18:12:10 +0100 | <arjun> | its just simple lists, folds and sums |
2022-01-12 18:12:32 +0100 | <arjun> | i was trying out the criterion library |
2022-01-12 18:13:11 +0100 | <ephemient> | parallel gc maybe? although that always worked slower in my experience before |
2022-01-12 18:13:42 +0100 | <c_wraith> | wait.. does "numbers went up" mean faster or slower? |
2022-01-12 18:14:12 +0100 | <arjun> | c_wraith, timing numbers went up, i believe it went slower |
2022-01-12 18:14:13 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2022-01-12 18:14:20 +0100 | <c_wraith> | that's to be expected. |
2022-01-12 18:14:39 +0100 | <c_wraith> | the threaded RTS has to have more locking around some things |
2022-01-12 18:14:45 +0100 | <c_wraith> | how are you benchmarking? |
2022-01-12 18:15:09 +0100 | <ephemient> | oh try running with +RTS -qg or something like that to disable parallel gc |
2022-01-12 18:15:48 +0100 | <tomsmeding> | arjun: did you also pass some -N flag, or really only -threaded? |
2022-01-12 18:17:16 +0100 | <arjun> | tomsmeding, ghc-options: -rtsopts -threaded -with-rtsopts=-N |
2022-01-12 18:17:34 +0100 | <c_wraith> | I mean, I'm really suspicious that some call to putStrLn is being included in the benchmark, and it has to grab and release a mutually exclusive lock for each character of output with the threaded RTS |
2022-01-12 18:17:40 +0100 | <tomsmeding> | arjun: also try without that -N |
2022-01-12 18:18:42 +0100 | <tomsmeding> | that way separate the effect of the threaded runtime from the effect of having more hardware threads; and also try -qg like ephemient already mentioned |
2022-01-12 18:19:56 +0100 | <arjun> | tomsmeding, ghc-options: -rtsopts -threaded only pings 1 core |
2022-01-12 18:20:03 +0100 | <tomsmeding> | true |
2022-01-12 18:20:16 +0100 | <tomsmeding> | but it uses a different runtime |
2022-01-12 18:20:29 +0100 | <arjun> | yea, numbers are back to the ones |
2022-01-12 18:20:33 +0100 | <arjun> | in that case |
2022-01-12 18:20:43 +0100 | <arjun> | without threaded ones |
2022-01-12 18:20:56 +0100 | <tomsmeding> | and -N -qg? |
2022-01-12 18:20:58 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 18:21:14 +0100 | <arjun> | how do i put those in the cabal file? |
2022-01-12 18:21:21 +0100 | dhil | (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) |
2022-01-12 18:21:33 +0100 | <tomsmeding> | um, same way? :p |
2022-01-12 18:21:40 +0100 | <arjun> | ghc-options: -rtsopts -threaded -with-rtsopts=-Nqg |
2022-01-12 18:21:47 +0100 | <arjun> | or ghc-options: -rtsopts -threaded -with-rtsopts=-N -qg |
2022-01-12 18:21:52 +0100 | <arjun> | or sumthin? : P |
2022-01-12 18:22:22 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
2022-01-12 18:22:23 +0100 | <tomsmeding> | try "-with-rtsopts=-N -qg" with the quotes |
2022-01-12 18:23:47 +0100 | cheater | (~Username@user/cheater) |
2022-01-12 18:23:47 +0100 | benin | (~benin@183.82.30.17) |
2022-01-12 18:23:49 +0100 | <arjun> | still pinging single core |
2022-01-12 18:24:11 +0100 | <tomsmeding> | right, then your workload is just single-core |
2022-01-12 18:24:25 +0100 | <tomsmeding> | all the multicore activity that you saw was the GC doing its work in a multi threaded manner |
2022-01-12 18:24:42 +0100 | <tomsmeding> | and probably being less efficient than just doing it single-threaded, which is what you're telling it to do with -qg |
2022-01-12 18:24:47 +0100 | Constraintegic | (~DundiDund@ppp-212-114-229-173.dynamic.mnet-online.de) |
2022-01-12 18:25:03 +0100 | <arjun> | so it should just finish faster rather than running faster? |
2022-01-12 18:25:19 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
2022-01-12 18:25:24 +0100 | <tomsmeding> | no it might finish slower |
2022-01-12 18:25:43 +0100 | <tomsmeding> | parallel GC is only useful if you have a _huge_ amount of stuff to traverse or something, I'm not actually sure |
2022-01-12 18:25:55 +0100 | <tomsmeding> | some say -qg should be the default, with not-"-qg" being a tuning option |
2022-01-12 18:26:13 +0100 | <arjun> | where would i benefit from using threaded stuff for real, like super dope speedup ? |
2022-01-12 18:26:20 +0100 | <tomsmeding> | sometimes parallel gc is faster than single-threaded gc, but empirically, for smaller programs, often not |
2022-01-12 18:26:27 +0100 | <geekosaur> | I think -qg is default as of 9.0? |
2022-01-12 18:26:29 +0100 | <tomsmeding> | well if your stuff is actually parallel :p |
2022-01-12 18:26:51 +0100 | <arjun> | tomsmeding :p |
2022-01-12 18:26:53 +0100 | <tomsmeding> | if you use the 'async' library, or rpar from parallel-strategies, or forkIO |
2022-01-12 18:27:11 +0100 | <maerwald> | or streamly :p |
2022-01-12 18:27:14 +0100 | <tomsmeding> | haskell doesn't automatically parallelise your stuff, you have to at least tell it _where_ to |
2022-01-12 18:27:19 +0100 | <arjun> | ah, so i have to specify it |
2022-01-12 18:27:30 +0100 | <tomsmeding> | maerwald: right, which does said things under the hood :p |
2022-01-12 18:27:49 +0100 | <maerwald> | well, you mentioned async too |
2022-01-12 18:27:53 +0100 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
2022-01-12 18:27:53 +0100 | <arjun> | sup' maerwald |
2022-01-12 18:28:00 +0100 | <tomsmeding> | haskell has fearless parallelism, but no fully automatic parallelism |
2022-01-12 18:28:03 +0100 | <tomsmeding> | maerwald: good point |
2022-01-12 18:28:24 +0100 | <maerwald> | arjun: jet lagged, looking at haskell xml code and understand nothing |
2022-01-12 18:28:37 +0100 | <arjun> | tomsmeding, i think i took declarative to heart : P |
2022-01-12 18:28:41 +0100 | <tomsmeding> | why are you looking at xml code |
2022-01-12 18:28:47 +0100 | <maerwald> | also rage posting here and there |
2022-01-12 18:28:52 +0100 | kilolympus | (~kilolympu@31.205.200.235) |
2022-01-12 18:28:57 +0100 | <maerwald> | tomsmeding: someone is paying me to |
2022-01-12 18:28:58 +0100 | <tomsmeding> | arjun: haskell would very gladly have automatic parallelism, but it's a really really hard problem :p |
2022-01-12 18:29:01 +0100 | <tomsmeding> | ah |
2022-01-12 18:29:01 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:296a:5977:b176:470b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-12 18:29:21 +0100 | <arjun> | tomsmeding, r/nevertellmetheodds |
2022-01-12 18:29:28 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-12 18:30:09 +0100 | <arjun> | maerwald, you're travelling? |
2022-01-12 18:30:14 +0100 | <c_wraith> | it's easy to automatically parallelize haskell code. It's hard to make it speed up code on average. :P |
2022-01-12 18:30:28 +0100 | <maerwald> | arjun: yeah |
2022-01-12 18:30:41 +0100 | <tomsmeding> | c_wraith: I mean, yeah :p |
2022-01-12 18:30:47 +0100 | <arjun> | maerwald, be safe, well as much one can be. |
2022-01-12 18:31:16 +0100 | <tomsmeding> | c_wraith: and to think that "on average" is actually pretty bad, you'd rather have "in most cases" |
2022-01-12 18:31:18 +0100 | <geekosaur> | guess not |
2022-01-12 18:31:21 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) |
2022-01-12 18:31:33 +0100 | jumper149 | (~jumper149@base.felixspringer.xyz) (Quit: WeeChat 3.3) |
2022-01-12 18:31:47 +0100 | <geekosaur> | they discussed it but improved performance of the parallel garbage collector enough that they decided it was unnecessary |
2022-01-12 18:32:15 +0100 | <tomsmeding> | interesting |
2022-01-12 18:32:23 +0100 | <tomsmeding> | in 9.0? |
2022-01-12 18:32:52 +0100 | <geekosaur> | 9.2.1 |
2022-01-12 18:33:08 +0100 | <geekosaur> | see its release notes |
2022-01-12 18:35:35 +0100 | tomsmeding | remembers reading that at some point on second thought |
2022-01-12 18:36:25 +0100 | <c_wraith> | is that the same release that added the non-copying collector as an option? |
2022-01-12 18:38:20 +0100 | <tomsmeding> | c_wraith: seems to be since 8.10.1? https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#rts-flag---no… |
2022-01-12 18:38:40 +0100 | <c_wraith> | really? I didn't think that was that old |
2022-01-12 18:38:52 +0100 | xb0o2 | (~xb0o2@user/xb0o2) (Quit: Client closed) |
2022-01-12 18:39:02 +0100 | <tomsmeding> | me neither |
2022-01-12 18:39:15 +0100 | <tomsmeding> | hence the ? lol |
2022-01-12 18:39:26 +0100 | <geekosaur> | 8.10.2 has a flag to disable it |
2022-01-12 18:39:38 +0100 | <geekosaur> | 8.10.1 doesn';t mention nonmoving gc though |
2022-01-12 18:40:35 +0100 | jeetelongname | (~jeet@148.197.248.63) |
2022-01-12 18:40:55 +0100 | <tomsmeding> | geekosaur: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/runtime_control.html#rts-flag---no… ? |
2022-01-12 18:41:11 +0100 | <geekosaur> | I meant in the release notes, sorry |
2022-01-12 18:41:15 +0100 | <tomsmeding> | ah |
2022-01-12 18:41:19 +0100 | <geekosaur> | so it apparently predates 8.10 |
2022-01-12 18:41:36 +0100 | <tomsmeding> | doubtful, I remember not having it on 8.8.4 |
2022-01-12 18:42:07 +0100 | madjestic | (~madjestic@77-63-50-60.mobile.kpn.net) |
2022-01-12 18:42:15 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 18:43:13 +0100 | <geekosaur> | so I guess they never documented it? |
2022-01-12 18:43:34 +0100 | <geekosaur> | in the release notes? but I could have sworn I'd read of it in some release note |
2022-01-12 18:44:02 +0100 | <tomsmeding> | https://well-typed.com/blog/2019/10/nonmoving-gc-merge/ "Low-latency garbage collector merged for GHC 8.10" |
2022-01-12 18:47:35 +0100 | jeetelongname | (~jeet@148.197.248.63) (Ping timeout: 256 seconds) |
2022-01-12 18:53:25 +0100 | Constraintegic | (~DundiDund@ppp-212-114-229-173.dynamic.mnet-online.de) (Ping timeout: 240 seconds) |
2022-01-12 18:54:43 +0100 | alphabeta | (~kilolympu@31.205.200.235) |
2022-01-12 18:54:43 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) (Read error: Connection reset by peer) |
2022-01-12 18:56:33 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-12 18:56:38 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) |
2022-01-12 18:56:39 +0100 | madjestic | (~madjestic@77-63-50-60.mobile.kpn.net) (Read error: Connection reset by peer) |
2022-01-12 18:57:40 +0100 | zebrag | (~chris@user/zebrag) |
2022-01-12 19:00:21 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) |
2022-01-12 19:01:41 +0100 | jgeerds__ | (~jgeerds@55d4bbed.access.ecotel.net) |
2022-01-12 19:02:19 +0100 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 256 seconds) |
2022-01-12 19:03:42 +0100 | kuribas | (~user@ptr-25vy0i9q6berc613dpl.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2022-01-12 19:05:01 +0100 | jeetelongname | (~jeet@148.197.248.63) |
2022-01-12 19:06:25 +0100 | alphabeta | (~kilolympu@31.205.200.235) (Quit: Quitting IRC :() |
2022-01-12 19:07:05 +0100 | MoC | (~moc@user/moc) |
2022-01-12 19:08:08 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 256 seconds) |
2022-01-12 19:09:12 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-12 19:10:16 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-12 19:11:59 +0100 | mbuf | (~Shakthi@223.178.108.186) (Quit: Leaving) |
2022-01-12 19:12:16 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-01-12 19:12:36 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-12 19:16:00 +0100 | <gentauro_> | any hints to `debug` "lsp-ui-doc"? I upgraded `hls` and `emacs` packages and now it suddently dissapeared … |
2022-01-12 19:16:17 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2022-01-12 19:16:53 +0100 | gentauro_ | (~gentauro@185.107.12.141) (Changing host) |
2022-01-12 19:16:53 +0100 | gentauro_ | (~gentauro@user/gentauro) |
2022-01-12 19:17:24 +0100 | nhatanh02 | (~satori@123.24.172.30) (Quit: leaving) |
2022-01-12 19:19:04 +0100 | gentauro_ | gentauro |
2022-01-12 19:19:13 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-12 19:21:00 +0100 | <ProfSimm> | In Haskell if I have to represent a stream, is there a way to discard the already read bytes as the consumer iterates, or basically that's entirely up to GC |
2022-01-12 19:21:58 +0100 | <EvanR> | if you do it right the the consumed bytes are gone pretty fast |
2022-01-12 19:22:07 +0100 | <EvanR> | i.e. they don't leave the nursery |
2022-01-12 19:22:20 +0100 | <ProfSimm> | EvanR: is there some way to represent a "window" into a stream |
2022-01-12 19:22:27 +0100 | <ProfSimm> | So it can't possibly be used wrong |
2022-01-12 19:22:31 +0100 | <EvanR> | heh |
2022-01-12 19:23:06 +0100 | trillp | (~trillp@69.233.98.238) (Quit: WeeChat 3.3) |
2022-01-12 19:23:09 +0100 | <ProfSimm> | When I go into #rust they tell me I need haskell :P when I come here, it's like I need rust :) |
2022-01-12 19:23:10 +0100 | <EvanR> | iteratees, conduits, pipes, machines, |
2022-01-12 19:24:24 +0100 | <ProfSimm> | EvanR: cool |
2022-01-12 19:24:51 +0100 | statusbot5 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2022-01-12 19:25:15 +0100 | phma_ | (phma@2001:5b0:212a:9158:6d66:ed09:dec5:bdad) |
2022-01-12 19:26:01 +0100 | dagit3146 | (~dagit@c-24-21-226-72.hsd1.or.comcast.net) |
2022-01-12 19:26:06 +0100 | jkaye_ | (~jkaye@2601:281:8300:7530:6a7d:d789:f2c1:154c) |
2022-01-12 19:26:35 +0100 | Katarushisu0 | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) |
2022-01-12 19:26:41 +0100 | cpape` | (~user@2a01:4f9:c010:632d::1) |
2022-01-12 19:27:27 +0100 | gregberns___ | (sid315709@id-315709.helmsley.irccloud.com) |
2022-01-12 19:27:27 +0100 | teehemkay__ | (sid14792@id-14792.lymington.irccloud.com) |
2022-01-12 19:27:28 +0100 | dunj3_ | (~dunj3@kingdread.de) |
2022-01-12 19:27:28 +0100 | rtpg_ | (sid443069@id-443069.ilkley.irccloud.com) |
2022-01-12 19:27:29 +0100 | Firedancer_ | (sid336191@id-336191.hampstead.irccloud.com) |
2022-01-12 19:27:29 +0100 | edmundnoble_ | (sid229620@id-229620.helmsley.irccloud.com) |
2022-01-12 19:27:29 +0100 | tnks_ | (sid412124@id-412124.helmsley.irccloud.com) |
2022-01-12 19:27:31 +0100 | glowcoil_ | (sid3405@id-3405.tinside.irccloud.com) |
2022-01-12 19:27:31 +0100 | lally_ | (sid388228@id-388228.uxbridge.irccloud.com) |
2022-01-12 19:27:31 +0100 | degraafk_ | (sid71464@id-71464.lymington.irccloud.com) |
2022-01-12 19:27:31 +0100 | davetapley_ | (sid666@id-666.uxbridge.irccloud.com) |
2022-01-12 19:27:32 +0100 | megaTherion_ | (~therion@unix.io) |
2022-01-12 19:27:33 +0100 | defanor_ | (~defanor@tart.uberspace.net) |
2022-01-12 19:27:33 +0100 | gmc__ | (sid58314@id-58314.ilkley.irccloud.com) |
2022-01-12 19:27:34 +0100 | cawfee_ | (~root@2406:3003:2077:2758::babe) |
2022-01-12 19:27:35 +0100 | philpax__ | (sid516926@id-516926.lymington.irccloud.com) |
2022-01-12 19:27:36 +0100 | bbear_ | (~znc@21212.s.t4vps.eu) |
2022-01-12 19:27:37 +0100 | codedmart_ | (codedmart@2600:3c01::f03c:92ff:fefe:8511) |
2022-01-12 19:27:41 +0100 | integral_ | (sid296274@user/integral) |
2022-01-12 19:27:44 +0100 | berberman_ | (~berberman@user/berberman) |
2022-01-12 19:27:44 +0100 | PotatoGim_ | (sid99505@id-99505.lymington.irccloud.com) |
2022-01-12 19:27:44 +0100 | dragestil_ | (~znc@user/dragestil) |
2022-01-12 19:27:46 +0100 | hexeme | (~hexeme@user/hexeme) |
2022-01-12 19:27:51 +0100 | sunarch_ | (uid526836@user/sunarch) |
2022-01-12 19:27:59 +0100 | jakesyl__ | (sid56879@id-56879.hampstead.irccloud.com) |
2022-01-12 19:28:05 +0100 | lightandlight_ | (sid135476@id-135476.helmsley.irccloud.com) |
2022-01-12 19:28:08 +0100 | b20n_ | (sid115913@id-115913.uxbridge.irccloud.com) |
2022-01-12 19:28:10 +0100 | whez_ | (sid470288@id-470288.lymington.irccloud.com) |
2022-01-12 19:28:10 +0100 | ehamberg_ | (sid18208@id-18208.hampstead.irccloud.com) |
2022-01-12 19:28:12 +0100 | caasih_ | (sid13241@id-13241.ilkley.irccloud.com) |
2022-01-12 19:28:13 +0100 | _0x47__ | (sid508683@id-508683.tinside.irccloud.com) |
2022-01-12 19:28:19 +0100 | nrr___ | (sid20938@id-20938.lymington.irccloud.com) |
2022-01-12 19:28:20 +0100 | dispater- | (~dispater@user/brprice) |
2022-01-12 19:28:28 +0100 | hugo- | (znc@verdigris.lysator.liu.se) |
2022-01-12 19:28:44 +0100 | NiKaN_ | (sid385034@id-385034.helmsley.irccloud.com) |
2022-01-12 19:28:46 +0100 | burakcan- | (~burakcank@has.arrived.and.is.ready-to.party) |
2022-01-12 19:28:49 +0100 | travv0_ | (sid293381@user/travv0) |
2022-01-12 19:28:52 +0100 | S11001001_ | (sid42510@ilkley.irccloud.com) |
2022-01-12 19:29:01 +0100 | defanor | (~defanor@tart.uberspace.net) (Killed (NickServ (GHOST command used by defanor_))) |
2022-01-12 19:29:09 +0100 | hueso_ | (~root@user/hueso) |
2022-01-12 19:29:17 +0100 | xnbya2 | (~xnbya@2a01:4f8:c17:cbdd::1) |
2022-01-12 19:29:17 +0100 | defanor_ | defanor |
2022-01-12 19:29:21 +0100 | riatre_ | (~quassel@2001:310:6000:f::5198:1) |
2022-01-12 19:29:24 +0100 | micro_ | (~micro@user/micro) |
2022-01-12 19:29:25 +0100 | xnyhps_ | (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) |
2022-01-12 19:29:25 +0100 | Arsen_ | (arsen@managarm/dev/Arsen) |
2022-01-12 19:29:28 +0100 | swistak- | (~swistak@185.21.216.141) |
2022-01-12 19:29:32 +0100 | TimWolla_ | (~timwolla@2a01:4f8:150:6153:beef::6667) |
2022-01-12 19:29:33 +0100 | energizer_ | (~energizer@user/energizer) |
2022-01-12 19:29:37 +0100 | vjok1 | (~vjoki@2a00:d880:3:1::fea1:9ae) |
2022-01-12 19:29:38 +0100 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-12 19:29:38 +0100 | tomjagua1paw | (~tom@li367-225.members.linode.com) |
2022-01-12 19:29:42 +0100 | domcornloan | (~mike@user/feetwind) |
2022-01-12 19:29:54 +0100 | lisk1n | (~liskin@xmonad/liskin) |
2022-01-12 19:30:03 +0100 | welterde1 | (welterde@thinkbase.srv.welterde.de) |
2022-01-12 19:30:09 +0100 | aweinsto1k | (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) |
2022-01-12 19:30:11 +0100 | kronicmage | (user75299@neotame.csclub.uwaterloo.ca) |
2022-01-12 19:30:17 +0100 | cross_ | (~cross@spitfire.i.gajendra.net) |
2022-01-12 19:30:24 +0100 | ts3 | (~ts@46.101.20.9) |
2022-01-12 19:30:24 +0100 | [exa]_ | (exa@srv3.blesmrt.net) |
2022-01-12 19:30:28 +0100 | dixie_ | (~dixie@real.wilbury.sk) |
2022-01-12 19:30:31 +0100 | robbert | (~robbert@robbertvanderhelm.nl) |
2022-01-12 19:30:39 +0100 | dka | (~code-is-a@193.70.33.83) (Ping timeout: 256 seconds) |
2022-01-12 19:30:53 +0100 | immae1 | (~immae@2a01:4f8:141:53e7::) |
2022-01-12 19:30:55 +0100 | Ttech | (~adran@botters/adran) |
2022-01-12 19:31:03 +0100 | derelict_ | (~derelict@user/derelict) |
2022-01-12 19:31:08 +0100 | [exa]_ | (exa@srv3.blesmrt.net) (Changing host) |
2022-01-12 19:31:08 +0100 | [exa]_ | (exa@user/exa/x-3587197) |
2022-01-12 19:31:12 +0100 | robbert-vdh | (~robbert@robbertvanderhelm.nl) (Killed (zirconium.libera.chat (Nickname regained by services))) |
2022-01-12 19:31:12 +0100 | robbert | robbert-vdh |
2022-01-12 19:31:30 +0100 | [exa] | (exa@user/exa/x-3587197) (Killed (tantalum.libera.chat (Nickname regained by services))) |
2022-01-12 19:31:30 +0100 | [exa]_ | [exa] |
2022-01-12 19:32:02 +0100 | pie__ | (~pie_bnc@user/pie/x-2818909) |
2022-01-12 19:32:27 +0100 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) |
2022-01-12 19:32:55 +0100 | dispater- | (~dispater@user/brprice) (Ping timeout: 256 seconds) |
2022-01-12 19:33:22 +0100 | dispater- | (~dispater@user/brprice) |
2022-01-12 19:34:02 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds) |
2022-01-12 19:34:03 +0100 | energizer_ | (~energizer@user/energizer) (Ping timeout: 256 seconds) |
2022-01-12 19:34:03 +0100 | travv0_ | (sid293381@user/travv0) (Ping timeout: 256 seconds) |
2022-01-12 19:34:22 +0100 | eco | (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) |
2022-01-12 19:34:34 +0100 | emf | (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (*.net *.split) |
2022-01-12 19:34:34 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (*.net *.split) |
2022-01-12 19:34:34 +0100 | jkaye | (~jkaye@2601:281:8300:7530:6a7d:d789:f2c1:154c) (*.net *.split) |
2022-01-12 19:34:34 +0100 | Arsen | (arsen@managarm/dev/Arsen) (*.net *.split) |
2022-01-12 19:34:34 +0100 | phma | (phma@2001:5b0:212a:9158:a864:46d6:7a87:abb) (*.net *.split) |
2022-01-12 19:34:34 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (*.net *.split) |
2022-01-12 19:34:34 +0100 | hueso | (~root@user/hueso) (*.net *.split) |
2022-01-12 19:34:34 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (*.net *.split) |
2022-01-12 19:34:34 +0100 | sunarch | (uid526836@user/sunarch) (*.net *.split) |
2022-01-12 19:34:34 +0100 | kronicma1 | (user27604@neotame.csclub.uwaterloo.ca) (*.net *.split) |
2022-01-12 19:34:34 +0100 | riatre | (~quassel@2001:310:6000:f::5198:1) (*.net *.split) |
2022-01-12 19:34:34 +0100 | sphynx | (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split) |
2022-01-12 19:34:34 +0100 | retro_ | (~retro@2e40edd9.skybroadband.com) (*.net *.split) |
2022-01-12 19:34:34 +0100 | lally | (sid388228@id-388228.uxbridge.irccloud.com) (*.net *.split) |
2022-01-12 19:34:34 +0100 | hugo | (znc@verdigris.lysator.liu.se) (*.net *.split) |
2022-01-12 19:34:34 +0100 | megaTherion | (~therion@unix.io) (*.net *.split) |
2022-01-12 19:34:34 +0100 | dagit | (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (*.net *.split) |
2022-01-12 19:34:34 +0100 | berberman | (~berberman@user/berberman) (*.net *.split) |
2022-01-12 19:34:34 +0100 | adamCS | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split) |
2022-01-12 19:34:34 +0100 | xdej | (~xdej@quatramaran.salle-s.org) (*.net *.split) |
2022-01-12 19:34:34 +0100 | eco_ | (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (*.net *.split) |
2022-01-12 19:34:34 +0100 | ldlework | (~hexeme@user/hexeme) (*.net *.split) |
2022-01-12 19:34:34 +0100 | Katarushisu | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (*.net *.split) |
2022-01-12 19:34:34 +0100 | synthmeat | (~synthmeat@user/synthmeat) (*.net *.split) |
2022-01-12 19:34:34 +0100 | hubvu | (sid495858@user/hubvu) (*.net *.split) |
2022-01-12 19:34:35 +0100 | burakcank | (~burakcank@has.arrived.and.is.ready-to.party) (*.net *.split) |
2022-01-12 19:34:35 +0100 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | feetwind | (~mike@user/feetwind) (*.net *.split) |
2022-01-12 19:34:35 +0100 | Ranhir | (~Ranhir@157.97.53.139) (*.net *.split) |
2022-01-12 19:34:35 +0100 | Firedancer | (sid336191@id-336191.hampstead.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | degraafk | (sid71464@id-71464.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | glowcoil | (sid3405@id-3405.tinside.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | carter | (sid14827@id-14827.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | aweinstock | (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | pie_ | (~pie_bnc@user/pie/x-2818909) (*.net *.split) |
2022-01-12 19:34:35 +0100 | derelict | (derelict@user/derelict) (*.net *.split) |
2022-01-12 19:34:35 +0100 | ystael | (~ystael@user/ystael) (*.net *.split) |
2022-01-12 19:34:35 +0100 | ts2 | (~ts@46.101.20.9) (*.net *.split) |
2022-01-12 19:34:35 +0100 | g | (x@libera/staff/glguy) (*.net *.split) |
2022-01-12 19:34:35 +0100 | swistak | (~swistak@185.21.216.141) (*.net *.split) |
2022-01-12 19:34:35 +0100 | nrr__ | (sid20938@id-20938.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | gmc | (sid58314@id-58314.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | integral | (sid296274@user/integral) (*.net *.split) |
2022-01-12 19:34:35 +0100 | dispater | (~dispater@user/brprice) (*.net *.split) |
2022-01-12 19:34:35 +0100 | jamestmartin | (~james@jtmar.me) (*.net *.split) |
2022-01-12 19:34:35 +0100 | vjoki | (~vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split) |
2022-01-12 19:34:35 +0100 | ehamberg | (sid18208@id-18208.hampstead.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) (*.net *.split) |
2022-01-12 19:34:35 +0100 | TMA | (tma@twin.jikos.cz) (*.net *.split) |
2022-01-12 19:34:35 +0100 | iphy | (sid67735@id-67735.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | whez | (sid470288@id-470288.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | _0x47_ | (sid508683@id-508683.tinside.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | teehemkay_ | (sid14792@id-14792.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | gregberns__ | (sid315709@id-315709.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | micro | (~micro@user/micro) (*.net *.split) |
2022-01-12 19:34:35 +0100 | russruss | (~russruss@my.russellmcc.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | tnks | (sid412124@id-412124.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | marienz | (~marienz@libera/staff/marienz) (*.net *.split) |
2022-01-12 19:34:35 +0100 | davetapley | (sid666@id-666.uxbridge.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | rtpg | (sid443069@id-443069.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | lightandlight | (sid135476@id-135476.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | caasih | (sid13241@id-13241.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | edmundnoble | (sid229620@id-229620.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | travv0 | (sid293381@user/travv0) (*.net *.split) |
2022-01-12 19:34:35 +0100 | philpax_ | (sid516926@id-516926.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | jakesyl_ | (sid56879@id-56879.hampstead.irccloud.com) (*.net *.split) |
2022-01-12 19:34:35 +0100 | Ekho | (~Ekho@user/ekho) (*.net *.split) |
2022-01-12 19:34:35 +0100 | bbear | (~znc@21212.s.t4vps.eu) (*.net *.split) |
2022-01-12 19:34:35 +0100 | dragestil | (~znc@user/dragestil) (*.net *.split) |
2022-01-12 19:34:35 +0100 | welterde | (welterde@thinkbase.srv.welterde.de) (*.net *.split) |
2022-01-12 19:34:35 +0100 | cawfee | (~root@2406:3003:2077:2758::babe) (*.net *.split) |
2022-01-12 19:34:35 +0100 | earthy | (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (*.net *.split) |
2022-01-12 19:34:35 +0100 | liskin | (~liskin@xmonad/liskin) (*.net *.split) |
2022-01-12 19:34:35 +0100 | codedmart | (codedmart@2600:3c01::f03c:92ff:fefe:8511) (*.net *.split) |
2022-01-12 19:34:35 +0100 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split) |
2022-01-12 19:34:36 +0100 | bastelfreak | (~bastelfre@basteles-bastelknecht.bastelfreak.org) (*.net *.split) |
2022-01-12 19:34:36 +0100 | Adran | (~adran@botters/adran) (*.net *.split) |
2022-01-12 19:34:36 +0100 | energizer | (~energizer@user/energizer) (*.net *.split) |
2022-01-12 19:34:36 +0100 | tomjaguarpaw | (~tom@li367-225.members.linode.com) (*.net *.split) |
2022-01-12 19:34:36 +0100 | immae | (~immae@2a01:4f8:141:53e7::) (*.net *.split) |
2022-01-12 19:34:36 +0100 | cross | (~cross@spitfire.i.gajendra.net) (*.net *.split) |
2022-01-12 19:34:36 +0100 | dixie | (~dixie@real.wilbury.sk) (*.net *.split) |
2022-01-12 19:34:36 +0100 | cpape | (~user@2a01:4f9:c010:632d::1) (*.net *.split) |
2022-01-12 19:34:36 +0100 | janus | (janus@anubis.0x90.dk) (*.net *.split) |
2022-01-12 19:34:36 +0100 | dunj3 | (~dunj3@kingdread.de) (*.net *.split) |
2022-01-12 19:34:36 +0100 | glguy | (x@libera/staff/glguy) (*.net *.split) |
2022-01-12 19:34:36 +0100 | MoC | (~moc@user/moc) (*.net *.split) |
2022-01-12 19:34:36 +0100 | zebrag | (~chris@user/zebrag) (*.net *.split) |
2022-01-12 19:34:36 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (*.net *.split) |
2022-01-12 19:34:36 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) (*.net *.split) |
2022-01-12 19:34:36 +0100 | xlei | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) (*.net *.split) |
2022-01-12 19:34:36 +0100 | Sgeo | (~Sgeo@user/sgeo) (*.net *.split) |
2022-01-12 19:34:36 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (*.net *.split) |
2022-01-12 19:34:36 +0100 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (*.net *.split) |
2022-01-12 19:34:36 +0100 | xkuru | (~xkuru@user/xkuru) (*.net *.split) |
2022-01-12 19:34:36 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) (*.net *.split) |
2022-01-12 19:34:36 +0100 | AlexZenon | (~alzenon@178.34.151.107) (*.net *.split) |
2022-01-12 19:34:36 +0100 | alx741 | (~alx741@157.100.93.160) (*.net *.split) |
2022-01-12 19:34:36 +0100 | gawen | (~gawen@user/gawen) (*.net *.split) |
2022-01-12 19:34:36 +0100 | __monty__ | (~toonn@user/toonn) (*.net *.split) |
2022-01-12 19:34:36 +0100 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split) |
2022-01-12 19:34:36 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (*.net *.split) |
2022-01-12 19:34:36 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split) |
2022-01-12 19:34:36 +0100 | absence | (torgeihe@hildring.pvv.ntnu.no) (*.net *.split) |
2022-01-12 19:34:36 +0100 | vglfr | (~vglfr@46.96.134.134) (*.net *.split) |
2022-01-12 19:34:36 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) (*.net *.split) |
2022-01-12 19:34:36 +0100 | sektor | (~kvirc@87.227.175.182) (*.net *.split) |
2022-01-12 19:34:36 +0100 | Flonk | (~Flonk@vps-zap441517-1.zap-srv.com) (*.net *.split) |
2022-01-12 19:34:36 +0100 | kawpuh | (~kawpuh@66.42.81.80) (*.net *.split) |
2022-01-12 19:34:36 +0100 | n3t | (n3t@user/n3t) (*.net *.split) |
2022-01-12 19:34:36 +0100 | nurupo | (~nurupo.ga@user/nurupo) (*.net *.split) |
2022-01-12 19:34:36 +0100 | byorgey | (~byorgey@155.138.238.211) (*.net *.split) |
2022-01-12 19:34:36 +0100 | remedan | (~remedan@octo.cafe) (*.net *.split) |
2022-01-12 19:34:36 +0100 | drewr | (~drew@user/drewr) (*.net *.split) |
2022-01-12 19:34:37 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) (*.net *.split) |
2022-01-12 19:34:37 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (*.net *.split) |
2022-01-12 19:34:37 +0100 | Akiva | (~Akiva@user/Akiva) (*.net *.split) |
2022-01-12 19:34:37 +0100 | shapr | (~user@2601:7c0:c202:5190:f73c:d98b:42b3:a084) (*.net *.split) |
2022-01-12 19:34:37 +0100 | biberu | (~biberu@user/biberu) (*.net *.split) |
2022-01-12 19:34:37 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (*.net *.split) |
2022-01-12 19:34:37 +0100 | mikoto-chan | (~mikoto-ch@194.157.16.89) (*.net *.split) |
2022-01-12 19:34:37 +0100 | xff0x | (~xff0x@2001:1a81:538c:a900:ca7a:63a1:efb3:59ef) (*.net *.split) |
2022-01-12 19:34:37 +0100 | vgtw | (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se) (*.net *.split) |
2022-01-12 19:34:37 +0100 | zaquest | (~notzaques@5.130.79.72) (*.net *.split) |
2022-01-12 19:34:37 +0100 | mc47 | (~mc47@xmonad/TheMC47) (*.net *.split) |
2022-01-12 19:34:37 +0100 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (*.net *.split) |
2022-01-12 19:34:37 +0100 | jmct_ | (sid160793@id-160793.tinside.irccloud.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | MajorBiscuit | (~MajorBisc@c-001-022-052.client.tudelft.eduvpn.nl) (*.net *.split) |
2022-01-12 19:34:37 +0100 | koolazer | (~koo@user/koolazer) (*.net *.split) |
2022-01-12 19:34:37 +0100 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) (*.net *.split) |
2022-01-12 19:34:37 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (*.net *.split) |
2022-01-12 19:34:37 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:e450:3ca3:b389:687a) (*.net *.split) |
2022-01-12 19:34:37 +0100 | gentauro | (~gentauro@user/gentauro) (*.net *.split) |
2022-01-12 19:34:37 +0100 | wrengr | (~wrengr@150.12.83.34.bc.googleusercontent.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (*.net *.split) |
2022-01-12 19:34:37 +0100 | hgolden_ | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | emergence | (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) (*.net *.split) |
2022-01-12 19:34:37 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (*.net *.split) |
2022-01-12 19:34:37 +0100 | aeka` | (~aeka@2606:6080:1001:f:ed79:9361:ea0e:3e88) (*.net *.split) |
2022-01-12 19:34:37 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::55f8) (*.net *.split) |
2022-01-12 19:34:37 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (*.net *.split) |
2022-01-12 19:34:37 +0100 | joel135 | (sid136450@id-136450.hampstead.irccloud.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | h_ | (rootvegeta@fsf/member/hays) (*.net *.split) |
2022-01-12 19:34:37 +0100 | noddy | (~user@user/noddy) (*.net *.split) |
2022-01-12 19:34:37 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split) |
2022-01-12 19:34:37 +0100 | aforemny | (~aforemny@static.248.158.34.188.clients.your-server.de) (*.net *.split) |
2022-01-12 19:34:37 +0100 | sabx | (~sabbas@user/sabbas) (*.net *.split) |
2022-01-12 19:34:37 +0100 | remexre | (~remexre@user/remexre) (*.net *.split) |
2022-01-12 19:34:37 +0100 | cls | (~cls@chalk.lubutu.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:d9b7:23d6:79dd:2e64) (*.net *.split) |
2022-01-12 19:34:37 +0100 | elvishjerricco | (sid237756@id-237756.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | _FlawLess_ | (~user@2a01:e0a:a4:7098::10) (*.net *.split) |
2022-01-12 19:34:37 +0100 | choucavalier | (~choucaval@peanutbuttervibes.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | jrm | (~jrm@156.34.249.199) (*.net *.split) |
2022-01-12 19:34:37 +0100 | Hafydd | (~Hafydd@user/hafydd) (*.net *.split) |
2022-01-12 19:34:37 +0100 | stefan-_ | (~cri@42dots.de) (*.net *.split) |
2022-01-12 19:34:37 +0100 | jespada | (~jespada@87.74.36.188) (*.net *.split) |
2022-01-12 19:34:37 +0100 | haasn | (~nand@haasn.dev) (*.net *.split) |
2022-01-12 19:34:37 +0100 | EvanR | (~EvanR@user/evanr) (*.net *.split) |
2022-01-12 19:34:37 +0100 | dextaa | (~DV@user/dextaa) (*.net *.split) |
2022-01-12 19:34:37 +0100 | jinsun | (~quassel@user/jinsun) (*.net *.split) |
2022-01-12 19:34:37 +0100 | Hash | (~Hash@hashsecurity.org) (*.net *.split) |
2022-01-12 19:34:37 +0100 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) (*.net *.split) |
2022-01-12 19:34:37 +0100 | mud | (~mud@user/kadoban) (*.net *.split) |
2022-01-12 19:34:37 +0100 | Megant | (megant@user/megant) (*.net *.split) |
2022-01-12 19:34:37 +0100 | incertia | (~incertia@24.42.241.219) (*.net *.split) |
2022-01-12 19:34:37 +0100 | caubert | (~caubert@136.244.111.235) (*.net *.split) |
2022-01-12 19:34:37 +0100 | rubin55 | (sid175221@id-175221.hampstead.irccloud.com) (*.net *.split) |
2022-01-12 19:34:37 +0100 | yaroot | (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (*.net *.split) |
2022-01-12 19:34:37 +0100 | ddb | (~ddb@ipv6two.tilde.club) (*.net *.split) |
2022-01-12 19:34:37 +0100 | tito | (tito@tilde.team) (*.net *.split) |
2022-01-12 19:34:37 +0100 | theproffesor | (~theproffe@user/theproffesor) (*.net *.split) |
2022-01-12 19:34:37 +0100 | carbolymer | (~carbolyme@dropacid.net) (*.net *.split) |
2022-01-12 19:34:37 +0100 | hrdl | (~hrdl@mail.hrdl.eu) (*.net *.split) |
2022-01-12 19:34:38 +0100 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split) |
2022-01-12 19:34:38 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split) |
2022-01-12 19:34:38 +0100 | lagash | (lagash@lagash.shelltalk.net) (*.net *.split) |
2022-01-12 19:34:38 +0100 | Techcable | (~Techcable@168.235.93.147) (*.net *.split) |
2022-01-12 19:34:38 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | neverwas | (jpneverwas@swissbox.unperson.link) (*.net *.split) |
2022-01-12 19:34:38 +0100 | bsima1 | (9d7e39c8ad@2604:bf00:561:2000::dd) (*.net *.split) |
2022-01-12 19:34:38 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) (*.net *.split) |
2022-01-12 19:34:38 +0100 | nisstyre | (~wes@user/nisstyre) (*.net *.split) |
2022-01-12 19:34:38 +0100 | greyrat | (~greyrat@ip202.ip-51-178-215.eu) (*.net *.split) |
2022-01-12 19:34:38 +0100 | Clint | (~Clint@user/clint) (*.net *.split) |
2022-01-12 19:34:38 +0100 | kristjansson | (sid126207@id-126207.tinside.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | hexology | (~hexology@user/hexology) (*.net *.split) |
2022-01-12 19:34:38 +0100 | landonf | (landonf@mac68k.info) (*.net *.split) |
2022-01-12 19:34:38 +0100 | Logio | (em@kapsi.fi) (*.net *.split) |
2022-01-12 19:34:38 +0100 | raghavgururajan | (ea769b8000@user/raghavgururajan) (*.net *.split) |
2022-01-12 19:34:38 +0100 | totte | (~totte@h-82-196-112-155.A166.priv.bahnhof.se) (*.net *.split) |
2022-01-12 19:34:38 +0100 | w1gz | (~do@159.89.11.133) (*.net *.split) |
2022-01-12 19:34:38 +0100 | In0perable | (~PLAYER_1@fancydata.science) (*.net *.split) |
2022-01-12 19:34:38 +0100 | iteratee_ | (~kyle@162.218.222.107) (*.net *.split) |
2022-01-12 19:34:38 +0100 | ridcully | (~ridcully@p57b52a9a.dip0.t-ipconnect.de) (*.net *.split) |
2022-01-12 19:34:38 +0100 | dolio | (~dolio@130.44.130.54) (*.net *.split) |
2022-01-12 19:34:38 +0100 | stilgart | (~Christoph@chezlefab.net) (*.net *.split) |
2022-01-12 19:34:38 +0100 | enikar | (~enikar@user/enikar) (*.net *.split) |
2022-01-12 19:34:38 +0100 | farn | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split) |
2022-01-12 19:34:38 +0100 | andjjj23 | (~irc@107.170.228.47) (*.net *.split) |
2022-01-12 19:34:38 +0100 | tubogram4 | (~tubogram@user/tubogram) (*.net *.split) |
2022-01-12 19:34:38 +0100 | Axman6 | (~Axman6@user/axman6) (*.net *.split) |
2022-01-12 19:34:38 +0100 | Boarders_ | (sid425905@id-425905.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | JSharp | (sid4580@id-4580.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | ysh | (sid6017@id-6017.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | saolsen | (sid26430@id-26430.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | tapas | (sid467876@id-467876.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | enemeth79 | (sid309041@id-309041.lymington.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | bjs | (sid190364@user/bjs) (*.net *.split) |
2022-01-12 19:34:38 +0100 | sclv | (sid39734@haskell/developer/sclv) (*.net *.split) |
2022-01-12 19:34:38 +0100 | mrianbloom | (sid350277@id-350277.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | dmj` | (sid72307@id-72307.hampstead.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | acertain | (sid470584@id-470584.hampstead.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | gaze___ | (sid387101@id-387101.helmsley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | V | (~v@anomalous.eu) (*.net *.split) |
2022-01-12 19:34:38 +0100 | SethTisue__ | (sid14912@id-14912.ilkley.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | hongminhee | (sid295@id-295.tinside.irccloud.com) (*.net *.split) |
2022-01-12 19:34:38 +0100 | sm[i] | (~user@plaintextaccounting/sm) (*.net *.split) |
2022-01-12 19:34:38 +0100 | vjok1 | vjoki |
2022-01-12 19:34:38 +0100 | dragestil_ | dragestil |
2022-01-12 19:34:38 +0100 | degraafk_ | degraafk |
2022-01-12 19:34:38 +0100 | davetapley_ | davetapley |
2022-01-12 19:34:38 +0100 | _0x47__ | _0x47_ |
2022-01-12 19:34:38 +0100 | edmundnoble_ | edmundnoble |
2022-01-12 19:34:38 +0100 | b20n_ | b20n |
2022-01-12 19:34:38 +0100 | lightandlight_ | lightandlight |
2022-01-12 19:34:38 +0100 | janus__ | (janus@anubis.0x90.dk) |
2022-01-12 19:34:38 +0100 | ehamberg_ | ehamberg |
2022-01-12 19:34:38 +0100 | marienz__ | (~marienz@libera/staff/marienz) |
2022-01-12 19:34:38 +0100 | tnks_ | tnks |
2022-01-12 19:34:38 +0100 | rtpg_ | rtpg |
2022-01-12 19:34:38 +0100 | caasih_ | caasih |
2022-01-12 19:34:42 +0100 | burakcan- | burakcank |
2022-01-12 19:34:42 +0100 | lally_ | lally |
2022-01-12 19:34:42 +0100 | derelict_ | derelict |
2022-01-12 19:34:42 +0100 | TimWolla_ | TimWolla |
2022-01-12 19:34:42 +0100 | gmc__ | gmc |
2022-01-12 19:34:42 +0100 | Firedancer_ | Firedancer |
2022-01-12 19:34:42 +0100 | whez_ | whez |
2022-01-12 19:34:42 +0100 | teehemkay__ | teehemkay_ |
2022-01-12 19:34:42 +0100 | S11001001_ | S11001001 |
2022-01-12 19:34:42 +0100 | philpax__ | philpax_ |
2022-01-12 19:34:42 +0100 | gregberns___ | gregberns__ |
2022-01-12 19:34:42 +0100 | sunarch_ | sunarch |
2022-01-12 19:34:42 +0100 | integral_ | integral |
2022-01-12 19:34:44 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-01-12 19:34:44 +0100 | PotatoGim_ | PotatoGim |
2022-01-12 19:34:46 +0100 | Katarushisu0 | Katarushisu |
2022-01-12 19:34:53 +0100 | NiKaN_ | NiKaN |
2022-01-12 19:35:21 +0100 | arjun | (~arjun@user/arjun) (Quit: Leaving) |
2022-01-12 19:35:29 +0100 | welterde1 | welterde |
2022-01-12 19:35:50 +0100 | arjun | (~arjun@user/arjun) |
2022-01-12 19:35:58 +0100 | travv0_ | (sid293381@id-293381.helmsley.irccloud.com) |
2022-01-12 19:36:13 +0100 | adamCS | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
2022-01-12 19:36:26 +0100 | energizer | (~energizer@user/energizer) |
2022-01-12 19:36:53 +0100 | Ttech | (~adran@botters/adran) (Ping timeout: 249 seconds) |
2022-01-12 19:36:53 +0100 | biog | (~user1@static.39.160.132.142.clients.your-server.de) (Ping timeout: 249 seconds) |
2022-01-12 19:37:07 +0100 | jeetelongname | (~jeet@148.197.248.63) (Remote host closed the connection) |
2022-01-12 19:37:29 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2022-01-12 19:37:29 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2022-01-12 19:37:29 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) |
2022-01-12 19:38:31 +0100 | emf | (~emf@2620:10d:c090:400::5:3f1) |
2022-01-12 19:38:37 +0100 | carter_ | (sid14827@helmsley.irccloud.com) |
2022-01-12 19:38:37 +0100 | bravespear|2 | (~Ranhir@157.97.53.139) |
2022-01-12 19:38:37 +0100 | xdej_ | (~xdej@quatramaran.salle-s.org) |
2022-01-12 19:38:37 +0100 | nefercheprure | (~tma@twin.jikos.cz) |
2022-01-12 19:38:37 +0100 | hubvu_ | (sid495858@tinside.irccloud.com) |
2022-01-12 19:38:37 +0100 | jtmar | (~james@jtmar.me) |
2022-01-12 19:38:37 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) |
2022-01-12 19:38:37 +0100 | zebrag | (~chris@user/zebrag) |
2022-01-12 19:38:37 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) |
2022-01-12 19:38:37 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-12 19:38:37 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) |
2022-01-12 19:38:37 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-01-12 19:38:37 +0100 | Akiva | (~Akiva@user/Akiva) |
2022-01-12 19:38:37 +0100 | shapr | (~user@2601:7c0:c202:5190:f73c:d98b:42b3:a084) |
2022-01-12 19:38:37 +0100 | xlei | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) |
2022-01-12 19:38:37 +0100 | biberu | (~biberu@user/biberu) |
2022-01-12 19:38:37 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2022-01-12 19:38:37 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-01-12 19:38:37 +0100 | mikoto-chan | (~mikoto-ch@194.157.16.89) |
2022-01-12 19:38:37 +0100 | xff0x | (~xff0x@2001:1a81:538c:a900:ca7a:63a1:efb3:59ef) |
2022-01-12 19:38:37 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 19:38:37 +0100 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
2022-01-12 19:38:37 +0100 | xkuru | (~xkuru@user/xkuru) |
2022-01-12 19:38:37 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
2022-01-12 19:38:37 +0100 | AlexZenon | (~alzenon@178.34.151.107) |
2022-01-12 19:38:37 +0100 | vgtw | (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se) |
2022-01-12 19:38:37 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-01-12 19:38:37 +0100 | alx741 | (~alx741@157.100.93.160) |
2022-01-12 19:38:37 +0100 | gawen | (~gawen@user/gawen) |
2022-01-12 19:38:37 +0100 | __monty__ | (~toonn@user/toonn) |
2022-01-12 19:38:37 +0100 | sim590 | (~simon@modemcable090.207-203-24.mc.videotron.ca) |
2022-01-12 19:38:37 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2022-01-12 19:38:37 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2022-01-12 19:38:37 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2022-01-12 19:38:37 +0100 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
2022-01-12 19:38:37 +0100 | jmct_ | (sid160793@id-160793.tinside.irccloud.com) |
2022-01-12 19:38:37 +0100 | MajorBiscuit | (~MajorBisc@c-001-022-052.client.tudelft.eduvpn.nl) |
2022-01-12 19:38:37 +0100 | absence | (torgeihe@hildring.pvv.ntnu.no) |
2022-01-12 19:38:37 +0100 | vglfr | (~vglfr@46.96.134.134) |
2022-01-12 19:38:37 +0100 | koolazer | (~koo@user/koolazer) |
2022-01-12 19:38:37 +0100 | drewr | (~drew@user/drewr) |
2022-01-12 19:38:37 +0100 | remedan | (~remedan@octo.cafe) |
2022-01-12 19:38:37 +0100 | byorgey | (~byorgey@155.138.238.211) |
2022-01-12 19:38:37 +0100 | nurupo | (~nurupo.ga@user/nurupo) |
2022-01-12 19:38:37 +0100 | n3t | (n3t@user/n3t) |
2022-01-12 19:38:37 +0100 | kawpuh | (~kawpuh@66.42.81.80) |
2022-01-12 19:38:37 +0100 | Flonk | (~Flonk@vps-zap441517-1.zap-srv.com) |
2022-01-12 19:38:37 +0100 | sektor | (~kvirc@87.227.175.182) |
2022-01-12 19:38:37 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) |
2022-01-12 19:38:37 +0100 | erisco | (~erisco@d24-57-249-233.home.cgocable.net) |
2022-01-12 19:38:37 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-01-12 19:38:37 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:e450:3ca3:b389:687a) |
2022-01-12 19:38:37 +0100 | wrengr | (~wrengr@150.12.83.34.bc.googleusercontent.com) |
2022-01-12 19:38:37 +0100 | gentauro | (~gentauro@user/gentauro) |
2022-01-12 19:38:37 +0100 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
2022-01-12 19:38:37 +0100 | hgolden_ | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2022-01-12 19:38:37 +0100 | emergence | (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) |
2022-01-12 19:38:37 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
2022-01-12 19:38:37 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2022-01-12 19:38:37 +0100 | aeka` | (~aeka@2606:6080:1001:f:ed79:9361:ea0e:3e88) |
2022-01-12 19:38:37 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::55f8) |
2022-01-12 19:38:37 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-01-12 19:38:37 +0100 | _FlawLess_ | (~user@2a01:e0a:a4:7098::10) |
2022-01-12 19:38:37 +0100 | joel135 | (sid136450@id-136450.hampstead.irccloud.com) |
2022-01-12 19:38:37 +0100 | h_ | (rootvegeta@fsf/member/hays) |
2022-01-12 19:38:37 +0100 | noddy | (~user@user/noddy) |
2022-01-12 19:38:37 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-12 19:38:37 +0100 | aforemny | (~aforemny@static.248.158.34.188.clients.your-server.de) |
2022-01-12 19:38:37 +0100 | sabx | (~sabbas@user/sabbas) |
2022-01-12 19:38:37 +0100 | remexre | (~remexre@user/remexre) |
2022-01-12 19:38:37 +0100 | cls | (~cls@chalk.lubutu.com) |
2022-01-12 19:38:37 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:d9b7:23d6:79dd:2e64) |
2022-01-12 19:38:37 +0100 | Hash | (~Hash@hashsecurity.org) |
2022-01-12 19:38:37 +0100 | elvishjerricco | (sid237756@id-237756.helmsley.irccloud.com) |
2022-01-12 19:38:37 +0100 | choucavalier | (~choucaval@peanutbuttervibes.com) |
2022-01-12 19:38:37 +0100 | glguy | (x@libera/staff/glguy) |
2022-01-12 19:38:37 +0100 | jrm | (~jrm@156.34.249.199) |
2022-01-12 19:38:37 +0100 | Hafydd | (~Hafydd@user/hafydd) |
2022-01-12 19:38:37 +0100 | stefan-_ | (~cri@42dots.de) |
2022-01-12 19:38:37 +0100 | jespada | (~jespada@87.74.36.188) |
2022-01-12 19:38:37 +0100 | haasn | (~nand@haasn.dev) |
2022-01-12 19:38:37 +0100 | EvanR | (~EvanR@user/evanr) |
2022-01-12 19:38:37 +0100 | dextaa | (~DV@user/dextaa) |
2022-01-12 19:38:37 +0100 | jinsun | (~quassel@user/jinsun) |
2022-01-12 19:38:37 +0100 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) |
2022-01-12 19:38:37 +0100 | mud | (~mud@user/kadoban) |
2022-01-12 19:38:37 +0100 | Megant | (megant@user/megant) |
2022-01-12 19:38:37 +0100 | incertia | (~incertia@24.42.241.219) |
2022-01-12 19:38:37 +0100 | caubert | (~caubert@136.244.111.235) |
2022-01-12 19:38:37 +0100 | rubin55 | (sid175221@id-175221.hampstead.irccloud.com) |
2022-01-12 19:38:37 +0100 | yaroot | (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) |
2022-01-12 19:38:37 +0100 | ddb | (~ddb@ipv6two.tilde.club) |
2022-01-12 19:38:37 +0100 | tito | (tito@tilde.team) |
2022-01-12 19:38:37 +0100 | theproffesor | (~theproffe@user/theproffesor) |
2022-01-12 19:38:37 +0100 | carbolymer | (~carbolyme@dropacid.net) |
2022-01-12 19:38:37 +0100 | hrdl | (~hrdl@mail.hrdl.eu) |
2022-01-12 19:38:37 +0100 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) |
2022-01-12 19:38:37 +0100 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2022-01-12 19:38:37 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2022-01-12 19:38:37 +0100 | Techcable | (~Techcable@168.235.93.147) |
2022-01-12 19:38:37 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2022-01-12 19:38:37 +0100 | neverwas | (jpneverwas@swissbox.unperson.link) |
2022-01-12 19:38:37 +0100 | bsima1 | (9d7e39c8ad@2604:bf00:561:2000::dd) |
2022-01-12 19:38:37 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) |
2022-01-12 19:38:37 +0100 | nisstyre | (~wes@user/nisstyre) |
2022-01-12 19:38:37 +0100 | greyrat | (~greyrat@ip202.ip-51-178-215.eu) |
2022-01-12 19:38:37 +0100 | Clint | (~Clint@user/clint) |
2022-01-12 19:38:37 +0100 | kristjansson | (sid126207@id-126207.tinside.irccloud.com) |
2022-01-12 19:38:37 +0100 | landonf | (landonf@mac68k.info) |
2022-01-12 19:38:37 +0100 | hexology | (~hexology@user/hexology) |
2022-01-12 19:38:37 +0100 | Logio | (em@kapsi.fi) |
2022-01-12 19:38:37 +0100 | raghavgururajan | (ea769b8000@user/raghavgururajan) |
2022-01-12 19:38:37 +0100 | totte | (~totte@h-82-196-112-155.A166.priv.bahnhof.se) |
2022-01-12 19:38:37 +0100 | In0perable | (~PLAYER_1@fancydata.science) |
2022-01-12 19:38:37 +0100 | w1gz | (~do@159.89.11.133) |
2022-01-12 19:38:37 +0100 | iteratee_ | (~kyle@162.218.222.107) |
2022-01-12 19:38:37 +0100 | ridcully | (~ridcully@p57b52a9a.dip0.t-ipconnect.de) |
2022-01-12 19:38:37 +0100 | dolio | (~dolio@130.44.130.54) |
2022-01-12 19:38:37 +0100 | stilgart | (~Christoph@chezlefab.net) |
2022-01-12 19:38:37 +0100 | enikar | (~enikar@user/enikar) |
2022-01-12 19:38:37 +0100 | farn | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) |
2022-01-12 19:38:37 +0100 | Axman6 | (~Axman6@user/axman6) |
2022-01-12 19:38:37 +0100 | tubogram4 | (~tubogram@user/tubogram) |
2022-01-12 19:38:37 +0100 | andjjj23 | (~irc@107.170.228.47) |
2022-01-12 19:38:37 +0100 | sm[i] | (~user@plaintextaccounting/sm) |
2022-01-12 19:38:37 +0100 | hongminhee | (sid295@id-295.tinside.irccloud.com) |
2022-01-12 19:38:37 +0100 | SethTisue__ | (sid14912@id-14912.ilkley.irccloud.com) |
2022-01-12 19:38:37 +0100 | V | (~v@anomalous.eu) |
2022-01-12 19:38:37 +0100 | gaze___ | (sid387101@id-387101.helmsley.irccloud.com) |
2022-01-12 19:38:37 +0100 | acertain | (sid470584@id-470584.hampstead.irccloud.com) |
2022-01-12 19:38:37 +0100 | dmj` | (sid72307@id-72307.hampstead.irccloud.com) |
2022-01-12 19:38:37 +0100 | mrianbloom | (sid350277@id-350277.ilkley.irccloud.com) |
2022-01-12 19:38:37 +0100 | sclv | (sid39734@haskell/developer/sclv) |
2022-01-12 19:38:37 +0100 | bjs | (sid190364@user/bjs) |
2022-01-12 19:38:37 +0100 | enemeth79 | (sid309041@id-309041.lymington.irccloud.com) |
2022-01-12 19:38:37 +0100 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) |
2022-01-12 19:38:37 +0100 | tapas | (sid467876@id-467876.ilkley.irccloud.com) |
2022-01-12 19:38:37 +0100 | saolsen | (sid26430@id-26430.lymington.irccloud.com) |
2022-01-12 19:38:37 +0100 | ysh | (sid6017@id-6017.ilkley.irccloud.com) |
2022-01-12 19:38:37 +0100 | JSharp | (sid4580@id-4580.lymington.irccloud.com) |
2022-01-12 19:38:37 +0100 | mercury.libera.chat | +o Axman6 |
2022-01-12 19:38:37 +0100 | Boarders_ | (sid425905@id-425905.lymington.irccloud.com) |
2022-01-12 19:38:39 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:7d45:c5da:471f:1879) |
2022-01-12 19:38:42 +0100 | pie__ | (~pie_bnc@user/pie/x-2818909) (Ping timeout: 263 seconds) |
2022-01-12 19:38:54 +0100 | Adran | (~adran@botters/adran) |
2022-01-12 19:39:14 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-12 19:39:41 +0100 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2022-01-12 19:39:44 +0100 | ystael | (~ystael@user/ystael) |
2022-01-12 19:40:40 +0100 | Ekho- | (~Ekho@user/ekho) |
2022-01-12 19:42:08 +0100 | earthy | (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) |
2022-01-12 19:42:09 +0100 | synthmeat | (~synthmeat@user/synthmeat) |
2022-01-12 19:42:13 +0100 | bastelfreak | (~bastelfre@basteles-bastelknecht.bastelfreak.org) |
2022-01-12 19:42:14 +0100 | iphy | (sid67735@id-67735.lymington.irccloud.com) |
2022-01-12 19:42:17 +0100 | g | (x@libera/staff/glguy) |
2022-01-12 19:42:20 +0100 | tomboy64 | (~tomboy64@user/tomboy64) |
2022-01-12 19:43:03 +0100 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2022-01-12 19:43:07 +0100 | swistak- | (~swistak@185.21.216.141) (Ping timeout: 256 seconds) |
2022-01-12 19:43:54 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-01-12 19:44:12 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-12 19:45:43 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-12 19:47:47 +0100 | swistak | (~swistak@185.21.216.141) |
2022-01-12 19:47:54 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-12 19:47:54 +0100 | xb0o2 | (~xb0o2@user/xb0o2) |
2022-01-12 19:51:10 +0100 | prite | (~pritam@user/pritambaral) |
2022-01-12 19:52:56 +0100 | trillp | (~trillp@69.233.98.238) |
2022-01-12 19:56:21 +0100 | nefercheprure | TMA |
2022-01-12 19:57:41 +0100 | <arjun> | -qg |
2022-01-12 20:00:10 +0100 | dhil | (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Quit: Leaving) |
2022-01-12 20:00:49 +0100 | <[itchyjunk]> | i find this example from a book to be so crazy and neat |
2022-01-12 20:00:50 +0100 | <[itchyjunk]> | https://bpa.st/XAFA |
2022-01-12 20:00:57 +0100 | <[itchyjunk]> | id never have thought of it |
2022-01-12 20:01:35 +0100 | max22- | (~maxime@2a01cb08833598009c1792461f3ff785.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds) |
2022-01-12 20:01:49 +0100 | <ephemient> | well, that's the trivial translation of idea of quicksort into Haskell |
2022-01-12 20:02:08 +0100 | trillp | (~trillp@69.233.98.238) (WeeChat 3.3) |
2022-01-12 20:02:43 +0100 | <int-e> | emphasis on *idea* |
2022-01-12 20:04:37 +0100 | prite | (~pritam@user/pritambaral) (Ping timeout: 250 seconds) |
2022-01-12 20:04:40 +0100 | pritambaral | (~pritam@user/pritambaral) |
2022-01-12 20:04:59 +0100 | <ephemient> | yeah, its shortcomings have been discussed in many places |
2022-01-12 20:06:30 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds) |
2022-01-12 20:06:51 +0100 | acidjnk | (~acidjnk@2001:16b8:6743:e100:9926:5e7c:ff5d:ab3b) |
2022-01-12 20:07:09 +0100 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-12 20:07:46 +0100 | cosimone` | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2022-01-12 20:09:58 +0100 | lisk1n | liskin |
2022-01-12 20:11:25 +0100 | Arsen_ | Arsen |
2022-01-12 20:14:02 +0100 | acidjnk | (~acidjnk@2001:16b8:6743:e100:9926:5e7c:ff5d:ab3b) (Ping timeout: 252 seconds) |
2022-01-12 20:16:57 +0100 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 240 seconds) |
2022-01-12 20:17:34 +0100 | <byorgey> | it's still a neat idea though! |
2022-01-12 20:17:36 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2022-01-12 20:19:19 +0100 | <monochrom> | I am beginning to be of the opinion of s/idea of// |
2022-01-12 20:19:34 +0100 | <monochrom> | But not very strongly. |
2022-01-12 20:19:56 +0100 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2022-01-12 20:20:20 +0100 | <monochrom> | My overarching opinion is that people have too strong opinions on what aspect of an algorithm to focus on. |
2022-01-12 20:22:19 +0100 | <monochrom> | I teach quicksort by emphasizing the divide-and-conquer aspect. Everything else you say (going out of your way to choose a pivot, going out of your way to use no temp memory), I consider details of [premature] optimizations. |
2022-01-12 20:22:47 +0100 | <int-e> | well... you have linked lists, you shouldn't be using quicksort |
2022-01-12 20:23:04 +0100 | <monochrom> | Without such distracting [and premature] optimizations, the simple Haskell code is quicksort. |
2022-01-12 20:23:10 +0100 | <int-e> | the optimizations for in-place sorting of arrays are the only redeeming features |
2022-01-12 20:23:11 +0100 | phma_ | phma |
2022-01-12 20:23:20 +0100 | <int-e> | that quicksort has |
2022-01-12 20:24:11 +0100 | geekosaur | is tempted to say "you have linked lists, you shouldn't be using sort" |
2022-01-12 20:24:19 +0100 | <monochrom> | haha |
2022-01-12 20:24:31 +0100 | <int-e> | yeah, a defensible position |
2022-01-12 20:25:18 +0100 | econo | (uid147250@user/econo) |
2022-01-12 20:25:34 +0100 | <int-e> | 100000 elements is a short list, right? :-P |
2022-01-12 20:26:47 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-01-12 20:27:26 +0100 | <int-e> | Also, for whatever reason, I like the basic bottom-up merge sort (that's dynamically a heap sort). |
2022-01-12 20:28:01 +0100 | arjun | (~arjun@user/arjun) (Quit: Leaving) |
2022-01-12 20:29:47 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 20:30:15 +0100 | Guest|25 | (~Guest|25@137.205.0.148) |
2022-01-12 20:30:17 +0100 | <int-e> | > let merge (x:xs) (y:ys) | x < y = x : merge xs (y:ys) | otherwise = y : merge (x:xs) ys; merge xs [] = xs; merge [] ys = ys; mergePairs (xs:ys:xss) = merge xs ys:mergePairs xss; mergePairs xss = xss; mergeAll [xs] = xs; mergeAll xss = mergeAll (mergePairs xss); sort = mergeAll . map pure in sort [1,42,3,5,111,-40,3] |
2022-01-12 20:30:19 +0100 | <lambdabot> | [-40,1,3,3,5,42,111] |
2022-01-12 20:30:30 +0100 | <int-e> | . o O ( quite a mouthful ) |
2022-01-12 20:31:12 +0100 | <int-e> | and missing a base case for the empty list |
2022-01-12 20:32:11 +0100 | <int-e> | (mergeAll [] = []) |
2022-01-12 20:33:19 +0100 | Guest|25 | (~Guest|25@137.205.0.148) (Client Quit) |
2022-01-12 20:35:06 +0100 | <EvanR> | sorting lists is easy if it's made of sorted lists |
2022-01-12 20:35:26 +0100 | carter_ | carter |
2022-01-12 20:35:34 +0100 | <monochrom> | "factorizing prime numbers" |
2022-01-12 20:35:44 +0100 | <EvanR> | yeah! |
2022-01-12 20:36:00 +0100 | max22- | (~maxime@2a01cb0883359800d1e94aeeb9e074b6.ipv6.abo.wanadoo.fr) |
2022-01-12 20:36:05 +0100 | <int-e> | > map pure [1,42,3,5,111,-40,3] -- look I've turned my 7 element list into 7 sorted lists! |
2022-01-12 20:36:06 +0100 | <lambdabot> | error: |
2022-01-12 20:36:06 +0100 | <lambdabot> | • Ambiguous type variable ‘f0’ arising from a use of ‘show_M485853337499... |
2022-01-12 20:36:06 +0100 | <lambdabot> | prevents the constraint ‘(Show (f0 Integer))’ from being solved. |
2022-01-12 20:36:11 +0100 | <int-e> | meh |
2022-01-12 20:36:20 +0100 | <int-e> | > map pure [1,42,3,5,111,-40,3] :: [[Int]] |
2022-01-12 20:36:22 +0100 | <lambdabot> | [[1],[42],[3],[5],[111],[-40],[3]] |
2022-01-12 20:36:25 +0100 | <EvanR> | lol |
2022-01-12 20:36:27 +0100 | <int-e> | I should've used (:[]) |
2022-01-12 20:37:14 +0100 | <int-e> | (especially in these times where everyone seems to be collecting ugly looking apes) |
2022-01-12 20:40:43 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-12 20:42:37 +0100 | schuelermine | (~schuelerm@user/schuelermine) |
2022-01-12 20:42:48 +0100 | tanners | (~tanners@pool-71-127-59-41.washdc.fios.verizon.net) |
2022-01-12 20:43:36 +0100 | tanners | (~tanners@pool-71-127-59-41.washdc.fios.verizon.net) (Client Quit) |
2022-01-12 20:44:00 +0100 | <schuelermine> | Is it intentional that you can't do polymorphic implicit parameters, even w/ QuantifiedConstraints & ImpredicaticeTypes? |
2022-01-12 20:44:49 +0100 | tanners | (~tanners@pool-71-127-59-41.washdc.fios.verizon.net) |
2022-01-12 20:46:00 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection) |
2022-01-12 20:48:33 +0100 | <schuelermine> | i.e.: |
2022-01-12 20:48:33 +0100 | <schuelermine> | let ?id = \x -> x in (?id True, ?id ()) :: (Bool, ()) …errors out, it specializes it to () -> () |
2022-01-12 20:52:51 +0100 | <schuelermine> | Even providing the explicit signatures doesn't work! |
2022-01-12 20:52:51 +0100 | <schuelermine> | x = ?f () + ?f [] |
2022-01-12 20:52:51 +0100 | <schuelermine> | x :: forall n. (Num n, ?f::(forall t. t -> n)) => n |
2022-01-12 20:52:51 +0100 | <schuelermine> | --also errors out |
2022-01-12 20:53:55 +0100 | ystael | (~ystael@user/ystael) (Read error: Connection reset by peer) |
2022-01-12 20:54:14 +0100 | zeikuzeta | (~zeta@2a01cb0c04a54500f006e2422b3c8b06.ipv6.abo.wanadoo.fr) |
2022-01-12 20:54:20 +0100 | <int-e> | it's impredicative, you'd have to wrap it into a datatype (newtype works): newtype Id = Id { unId :: forall a. a -> a }; f :: (?id :: Id) => (Bool, ()); f = (unId ?id True, unId ?id ()) |
2022-01-12 20:54:24 +0100 | <int-e> | ugh |
2022-01-12 20:55:02 +0100 | talismanick | (~talismani@c-67-164-73-220.hsd1.ca.comcast.net) |
2022-01-12 20:56:53 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-12 20:57:07 +0100 | <schuelermine> | but ImpredicaticeTypes exists |
2022-01-12 20:57:21 +0100 | <schuelermine> | (this is Ghc 9.2.1) |
2022-01-12 20:58:42 +0100 | <int-e> | well evidently it's not as robust as advertised |
2022-01-12 20:59:32 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-12 20:59:46 +0100 | <geekosaur> | tempted too ask if you misspelled it in the pragma too |
2022-01-12 21:01:53 +0100 | schuelermine | (~schuelerm@user/schuelermine) (Ping timeout: 256 seconds) |
2022-01-12 21:02:36 +0100 | ystael | (~ystael@user/ystael) |
2022-01-12 21:02:44 +0100 | <geekosaur> | also I think just having ImpredicativeTypes on doesn't mean you can dispense with the wrapper. but they're gone… |
2022-01-12 21:04:37 +0100 | juhp | (~juhp@128.106.188.82) (Ping timeout: 240 seconds) |
2022-01-12 21:04:37 +0100 | <lyxia> | Isn't that the point of the extension? (I mean I also get that ImplicitParams is janky.) |
2022-01-12 21:05:09 +0100 | Guest19 | (~Guest19@098-147-212-046.res.spectrum.com) |
2022-01-12 21:05:14 +0100 | schuelermine | (~schuelerm@user/schuelermine) |
2022-01-12 21:05:39 +0100 | <schuelermine> | well good news I reported this on the ghc gitlab |
2022-01-12 21:05:48 +0100 | Guest19 | (~Guest19@098-147-212-046.res.spectrum.com) (Client Quit) |
2022-01-12 21:05:50 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) (Remote host closed the connection) |
2022-01-12 21:06:34 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection) |
2022-01-12 21:06:38 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 21:06:45 +0100 | juhp | (~juhp@128.106.188.82) |
2022-01-12 21:07:14 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-12 21:07:27 +0100 | <awpr> | ImplicitParams is a typeclass under the hood, and as far as I know ImpredicativeTypes doesn't make it legal to have instances for polymorphic types |
2022-01-12 21:08:10 +0100 | <schuelermine> | Oh ok |
2022-01-12 21:08:15 +0100 | <schuelermine> | what does, then? |
2022-01-12 21:08:46 +0100 | <schuelermine> | what does FlexibleContexts do again? I always forget |
2022-01-12 21:08:50 +0100 | <awpr> | IIUC nothing, it's just not legal |
2022-01-12 21:09:04 +0100 | <schuelermine> | Aw what a shame |
2022-01-12 21:09:12 +0100 | <schuelermine> | should be imo |
2022-01-12 21:09:37 +0100 | MajorBiscuit | (~MajorBisc@c-001-022-052.client.tudelft.eduvpn.nl) (Ping timeout: 240 seconds) |
2022-01-12 21:10:51 +0100 | neurocyte091707 | (~neurocyte@IP-046243084168.dynamic.medianet-world.de) |
2022-01-12 21:10:51 +0100 | neurocyte091707 | (~neurocyte@IP-046243084168.dynamic.medianet-world.de) (Changing host) |
2022-01-12 21:10:51 +0100 | neurocyte091707 | (~neurocyte@user/neurocyte) |
2022-01-12 21:10:58 +0100 | <schuelermine> | at any rate it is not well communicated in the error message, see https://gitlab.haskell.org/ghc/ghc/-/issues/20939 |
2022-01-12 21:12:12 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-01-12 21:12:39 +0100 | neurocyte09170 | (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
2022-01-12 21:12:39 +0100 | neurocyte091707 | neurocyte09170 |
2022-01-12 21:13:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 21:13:44 +0100 | <[itchyjunk]> | How do I constraint a thing to Int only ? :s |
2022-01-12 21:13:50 +0100 | <[itchyjunk]> | I thought Num would be fine |
2022-01-12 21:13:54 +0100 | <[itchyjunk]> | but .. |
2022-01-12 21:14:00 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-01-12 21:14:05 +0100 | <monochrom> | Show actual code? |
2022-01-12 21:14:12 +0100 | <[itchyjunk]> | https://bpa.st/PRZA |
2022-01-12 21:15:11 +0100 | <monochrom> | So I can use your function as "myTreeSum (Nil :: MyFirstTree Double)" |
2022-01-12 21:15:26 +0100 | <monochrom> | err that is not a very good example |
2022-01-12 21:15:49 +0100 | <monochrom> | "myTreeSum (Node 1.2 Nil Nil :: MyFirstTree Double)" |
2022-01-12 21:16:11 +0100 | <monochrom> | So now your code is doing (1.2 :: Double) + (0 :: Int) |
2022-01-12 21:16:26 +0100 | <monochrom> | Do you see the type error? |
2022-01-12 21:16:39 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2022-01-12 21:16:57 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-12 21:17:03 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-01-12 21:17:10 +0100 | <[itchyjunk]> | so my Nil being an integer was the issue? |
2022-01-12 21:17:35 +0100 | <[itchyjunk]> | i think that's why i wanted a to be restricted to integer :x |
2022-01-12 21:17:37 +0100 | <monochrom> | Yes and no. What causes your 0 to be pinned to Int? |
2022-01-12 21:18:07 +0100 | <[itchyjunk]> | hm possibly my type signature that says MyFirstTree a -> Int |
2022-01-12 21:18:12 +0100 | <monochrom> | Some people say that handwriting a type sig can help diagnose type errors. |
2022-01-12 21:18:24 +0100 | <monochrom> | They speak the truth, but only half of it. |
2022-01-12 21:18:44 +0100 | <monochrom> | The other half of it is that sometimes the type sig causes the type error. |
2022-01-12 21:18:52 +0100 | <[itchyjunk]> | MyFirstTree a -> a would fixe it to whatever the Num a is possibly |
2022-01-12 21:19:18 +0100 | <monochrom> | Who says that you never make mistakes in type sigs? |
2022-01-12 21:19:27 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 256 seconds) |
2022-01-12 21:19:36 +0100 | [itchyjunk] | points to int-e |
2022-01-12 21:19:36 +0100 | tanners | (~tanners@pool-71-127-59-41.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
2022-01-12 21:19:45 +0100 | syrkis | (~syrkis@189.122.124.6) |
2022-01-12 21:19:57 +0100 | syrkis | (~syrkis@189.122.124.6) (Client Quit) |
2022-01-12 21:20:12 +0100 | tanners | (~tanners@2600:1003:b11a:a16f:d0aa:19cc:13f7:58b7) |
2022-01-12 21:20:22 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-12 21:20:37 +0100 | <monochrom> | When teaching conditional probability and Bayes's theorem, I also like to tell the story of a senior programmer and a fresh-grad tester. |
2022-01-12 21:21:20 +0100 | <monochrom> | The code written by the senior programmer doesn't pass the test written by the fresh-grad tester. |
2022-01-12 21:21:37 +0100 | <monochrom> | What is the probability that the test case is wrong? |
2022-01-12 21:23:06 +0100 | <monochrom> | Well OK, you need to know a lot of priors etc to answer. But basically if the priors say that the senior programmer has extremely low chance of being wrong (well they're senior, very experienced), and the fresh grad has a small but still not extremely small chance of being wrong (they're fresh grad), |
2022-01-12 21:23:23 +0100 | <monochrom> | Then the test case has a very high chance of being wrong. |
2022-01-12 21:23:36 +0100 | <monochrom> | (On condition that the code fails the test.) |
2022-01-12 21:23:47 +0100 | <[itchyjunk]> | hmm |
2022-01-12 21:23:58 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-01-12 21:24:01 +0100 | <[itchyjunk]> | so signature writing by hand is like the undergrad case? |
2022-01-12 21:24:05 +0100 | <dolio> | I don't think I believe your conclusion. :þ |
2022-01-12 21:24:08 +0100 | <dolio> | As a senior programmer. |
2022-01-12 21:24:40 +0100 | <monochrom> | No no no! You should disbelieve by prior about senior programmers having extremely low chance of being wrong :) |
2022-01-12 21:24:46 +0100 | <monochrom> | s/by prior/my prior/ |
2022-01-12 21:24:50 +0100 | <[itchyjunk]> | My code seems to actually work.. interesting https://bpa.st/STGQ |
2022-01-12 21:25:10 +0100 | <monochrom> | Oh you should also disbelieve my prior that fresh grads have only a small chance of being wrong. |
2022-01-12 21:25:11 +0100 | <[itchyjunk]> | https://bpa.st/P6GQ |
2022-01-12 21:25:15 +0100 | <[itchyjunk]> | based on one single test :D |
2022-01-12 21:25:54 +0100 | <monochrom> | You can't disbelieve Bayes's theorem, so you are only left with my input params. |
2022-01-12 21:26:26 +0100 | <dolio> | Yeah, the priors are the problem. |
2022-01-12 21:26:27 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) |
2022-01-12 21:27:14 +0100 | <int-e> | [itchyjunk]: I don't think I've said that. If I did, I was wrong; mistakes can creep into any part of your code. |
2022-01-12 21:27:47 +0100 | <[itchyjunk]> | int-e, i don't think you said that either. |
2022-01-12 21:28:00 +0100 | <[itchyjunk]> | I just like blaming people other than me for my shortcommings! |
2022-01-12 21:30:29 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
2022-01-12 21:30:52 +0100 | deadmarshal | (~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds) |
2022-01-12 21:31:26 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-12 21:31:44 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 250 seconds) |
2022-01-12 21:34:46 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
2022-01-12 21:35:38 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2022-01-12 21:38:03 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 21:38:03 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 21:38:03 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 21:38:42 +0100 | <schuelermine> | hey wait a minute awp that's rubbish, no? the impl. param may be a type class but the polymorphism isn't in the instance but in the method. |
2022-01-12 21:39:32 +0100 | <schuelermine> | I.e. class A where { id :: forall t. t -> t } is fine |
2022-01-12 21:40:09 +0100 | <schuelermine> | and any specific let ?id = x is just an instance like data FOO; instance A FOO where { id = x } |
2022-01-12 21:41:49 +0100 | jgeerds__ | (~jgeerds@55d4bbed.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-01-12 21:42:29 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) |
2022-01-12 21:42:35 +0100 | cosimone` | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 252 seconds) |
2022-01-12 21:43:15 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-12 21:44:49 +0100 | <awpr> | https://hackage.haskell.org/package/ghc-prim-0.8.0/docs/GHC-Classes.html#t:IP |
2022-01-12 21:44:51 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2022-01-12 21:45:11 +0100 | <awpr> | it'd be `instance IP "id" (forall a. a -> a)` |
2022-01-12 21:46:00 +0100 | <schuelermine> | ah OK |
2022-01-12 21:47:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2022-01-12 21:51:15 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 21:51:19 +0100 | <schuelermine> | Wait |
2022-01-12 21:51:48 +0100 | <schuelermine> | So how does it use different instances when there's no type difference in the instances? |
2022-01-12 21:52:38 +0100 | <schuelermine> | Normally something like 1 :: Num n => n calls a different implementation based on the *type*, and if that type can't be inferred, you can do @Type, but how's that work with IP? |
2022-01-12 21:52:59 +0100 | <awpr> | there's special allowance in the compiler for implicit params syntax to be allowed to create local instances |
2022-01-12 21:54:00 +0100 | <EvanR> | wait... can that be abused xD |
2022-01-12 21:54:02 +0100 | <awpr> | the machinery for consuming instances locally is already there, since it's needed for polymorphism, but normally scoped instances can't be created since that'd completely ruin instance coherence |
2022-01-12 21:54:31 +0100 | <awpr> | (implicit params are intentionally not coherent, so no problem with losing coherence there) |
2022-01-12 21:55:34 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2022-01-12 21:56:31 +0100 | <monochrom> | Yes! Consider "data MyIntOrd = Ctor{cmp :: Int -> Int -> Ordering}" so you can write "sort :: (?ord :: MyIntOrd) => [Int] -> [Int]" |
2022-01-12 21:57:23 +0100 | burnsidesLlama | (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
2022-01-12 21:58:29 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) |
2022-01-12 21:58:43 +0100 | <monochrom> | So I can then write "let ?ord = Ctor{basically do prime factorization then use show on the list then compare the lists} in sort [1..1000]" |
2022-01-12 21:58:55 +0100 | <monochrom> | err compare the strings! |
2022-01-12 21:59:36 +0100 | jonathanx__ | (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Quit: Leaving) |
2022-01-12 22:01:34 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2022-01-12 22:01:37 +0100 | tanners | (~tanners@2600:1003:b11a:a16f:d0aa:19cc:13f7:58b7) (Ping timeout: 240 seconds) |
2022-01-12 22:01:41 +0100 | <awpr> | maybe even `newtype Bad a c = Bad {unBad :: c => [a] -> [a] }; sort = unBad $ unsafeCoerce @(Bad Int (Ord Int)) @(Bad Int (IP "ord" MyIntOrd)) $ Bad Prelude.show` |
2022-01-12 22:02:26 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-12 22:02:37 +0100 | <awpr> | with extra badness because that record is definitely not the same representation as the Prelude.Ord dictionary |
2022-01-12 22:02:38 +0100 | tanners | (~tanners@pool-71-127-59-41.washdc.fios.verizon.net) |
2022-01-12 22:03:22 +0100 | acidjnk | (~acidjnk@p200300d0c7271e5531e75586a8fe0593.dip0.t-ipconnect.de) |
2022-01-12 22:03:30 +0100 | <awpr> | er, Prelude.sort |
2022-01-12 22:03:52 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-12 22:03:52 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-12 22:03:52 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-12 22:05:02 +0100 | schweers | (~user@2001:16b8:e960:8100:aaa1:59ff:fe3f:235c) (Ping timeout: 240 seconds) |
2022-01-12 22:07:01 +0100 | enoch | (~enochthec@user/enochthechronoco) |
2022-01-12 22:10:31 +0100 | enoch | (~enochthec@user/enochthechronoco) (Client Quit) |
2022-01-12 22:11:43 +0100 | Ekho- | Ekho |
2022-01-12 22:12:53 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection) |
2022-01-12 22:13:08 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) |
2022-01-12 22:19:31 +0100 | `2jt | (~jtomas@10.red-83-58-228.dynamicip.rima-tde.net) (Ping timeout: 256 seconds) |
2022-01-12 22:21:48 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Read error: Connection reset by peer) |
2022-01-12 22:22:03 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) |
2022-01-12 22:22:32 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-12 22:25:17 +0100 | dut | (~dut@user/dut) (Quit: Leaving) |
2022-01-12 22:26:58 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-12 22:28:15 +0100 | ubert | (~Thunderbi@p200300ecdf0994b6cb4175acd0981d1c.dip0.t-ipconnect.de) (Remote host closed the connection) |
2022-01-12 22:33:37 +0100 | lagash | (lagash@lagash.shelltalk.net) (Ping timeout: 240 seconds) |
2022-01-12 22:35:50 +0100 | opticblast | (~june@secure-165.caltech.edu) |
2022-01-12 22:36:16 +0100 | <opticblast> | is there any particular reason not to reuse a Data.ByteString.Builder.Builder? |
2022-01-12 22:38:45 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-12 22:40:13 +0100 | mrmr | (~mrmr@user/mrmr) (Ping timeout: 240 seconds) |
2022-01-12 22:41:49 +0100 | benin | (~benin@183.82.30.17) (Ping timeout: 240 seconds) |
2022-01-12 22:43:47 +0100 | benin | (~benin@183.82.30.17) |
2022-01-12 22:47:40 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-12 22:49:33 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) (Quit: leaving) |
2022-01-12 22:57:57 +0100 | schuelermine | (~schuelerm@user/schuelermine) (Read error: Connection reset by peer) |
2022-01-12 22:58:08 +0100 | schuelermine | (~schuelerm@user/schuelermine) |
2022-01-12 23:00:33 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
2022-01-12 23:02:24 +0100 | michalz | (~michalz@185.246.204.101) (Remote host closed the connection) |
2022-01-12 23:02:46 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-01-12 23:03:47 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-12 23:05:44 +0100 | aweinsto1k | aweinstock |
2022-01-12 23:09:02 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-12 23:12:32 +0100 | janus__ | janus |
2022-01-12 23:12:34 +0100 | <jackdk> | what are you trying to do? that sounds like a question which assumes an imperative way of interacting with builders, which is not how they work (they're more like sequences of instructions of how to build a bytestring, in a form taht you can't inspect but has O(1) append) |
2022-01-12 23:14:43 +0100 | <monochrom> | Ah, now I understand the question. |
2022-01-12 23:15:42 +0100 | <monochrom> | But yeah it's still too general. |
2022-01-12 23:15:52 +0100 | <dibblego> | sedition160. |
2022-01-12 23:17:03 +0100 | <[exa]> | dibblego: does that look like a password? |
2022-01-12 23:17:24 +0100 | <dibblego> | yeah sorry, it's just a virtualbox password |
2022-01-12 23:17:41 +0100 | <monochrom> | Don't forget the . at the end :) |
2022-01-12 23:17:53 +0100 | jacks- | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2022-01-12 23:18:16 +0100 | <[exa]> | :] nvm |
2022-01-12 23:18:54 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2022-01-12 23:23:16 +0100 | dut | (~dut@user/dut) |
2022-01-12 23:25:40 +0100 | danso | dansoup |
2022-01-12 23:27:00 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-01-12 23:29:04 +0100 | benin | (~benin@183.82.30.17) (Quit: Ping timeout (120 seconds)) |
2022-01-12 23:29:11 +0100 | dansoup | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Quit: WeeChat 3.3) |
2022-01-12 23:33:19 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-01-12 23:38:42 +0100 | lagash | (lagash@lagash.shelltalk.net) (Ping timeout: 250 seconds) |
2022-01-12 23:39:08 +0100 | schuelermine | (~schuelerm@user/schuelermine) (Ping timeout: 250 seconds) |
2022-01-12 23:40:26 +0100 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
2022-01-12 23:43:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2022-01-12 23:44:37 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-12 23:46:15 +0100 | mrmr | (~mrmr@user/mrmr) |
2022-01-12 23:48:11 +0100 | phma | (phma@2001:5b0:212a:9158:6d66:ed09:dec5:bdad) (Read error: Connection reset by peer) |
2022-01-12 23:49:32 +0100 | phma | (phma@2001:5b0:2143:8b68:2dec:594f:a26e:5c25) |
2022-01-12 23:50:21 +0100 | mikoto-chan | (~mikoto-ch@194.157.16.89) (Quit: mikoto-chan) |
2022-01-12 23:50:29 +0100 | mikoto-chan | (~mikoto-ch@194.157.16.89) |
2022-01-12 23:51:48 +0100 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
2022-01-12 23:56:32 +0100 | nunggu | (~q@gateway/tor-sasl/nunggu) (Remote host closed the connection) |
2022-01-12 23:57:01 +0100 | nunggu | (~q@gateway/tor-sasl/nunggu) |
2022-01-12 23:58:09 +0100 | Guest54 | (~Guest54@186.139.149.253) |
2022-01-12 23:59:45 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection) |