Logs on 2025-01-17 (liberachat/#haskell)
| 00:01:18 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds) |
| 00:04:01 | → | weary-traveler joins (~user@user/user363627) |
| 00:05:29 | → | mixfix41 joins (~s2h@user/mixfix41) |
| 00:05:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:06:01 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:10:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 00:11:37 | × | agent314 quits (~quassel@c-24-17-1-67.hsd1.wa.comcast.net) (Ping timeout: 244 seconds) |
| 00:14:20 | × | mreh quits (~matthew@host86-146-138-36.range86-146.btcentralplus.com) (Ping timeout: 272 seconds) |
| 00:19:01 | × | xff0x quits (~xff0x@2405:6580:b080:900:cb37:dc44:25ad:be87) (Ping timeout: 248 seconds) |
| 00:20:10 | × | Guest71 quits (~Guest71@2800:a4:109a:fe00:78a8:c71b:478b:eb7d) (Ping timeout: 240 seconds) |
| 00:20:38 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:20:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:24:39 | × | alp quits (~alp@2001:861:8ca0:4940:b0b7:f401:582f:6c1b) (Ping timeout: 252 seconds) |
| 00:29:34 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 00:30:53 | → | img joins (~img@user/img) |
| 00:31:30 | × | Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!) |
| 00:31:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 00:33:58 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 00:36:37 | × | Fijxu quits (~Fijxu@user/fijxu) (Client Quit) |
| 00:37:38 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 00:39:53 | × | Fijxu quits (~Fijxu@user/fijxu) (Client Quit) |
| 00:40:44 | → | lcssz joins (~lcssz@138.186.222.87) |
| 00:41:35 | zero | is now known as yin |
| 00:42:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:45:26 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 00:45:38 | × | lcssz quits (~lcssz@138.186.222.87) (Quit: lcssz) |
| 00:47:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:50:51 | → | lcssz joins (~lcssz@user/lcssz) |
| 00:51:18 | <lcssz> | clear |
| 00:51:56 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 00:52:14 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 00:52:41 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 00:52:57 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 00:53:00 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 00:53:17 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 00:53:35 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 00:53:53 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 00:57:24 | × | sprotte24 quits (~sprotte24@p200300d16f3cd90019624f68c556fd78.dip0.t-ipconnect.de) (Quit: Leaving) |
| 00:58:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:58:12 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 01:02:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 01:07:14 | × | glguy quits (glguy@libera/staff/glguy) (Read error: Connection reset by peer) |
| 01:08:21 | → | glguy joins (glguy@libera/staff/glguy) |
| 01:12:12 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 01:13:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:17:47 | × | lcssz quits (~lcssz@user/lcssz) (Remote host closed the connection) |
| 01:18:10 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 01:28:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:29:24 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 01:29:57 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 01:30:46 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 01:31:37 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection) |
| 01:32:24 | × | otto_s quits (~user@p4ff27909.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 01:33:14 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) |
| 01:33:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 01:34:12 | → | otto_s joins (~user@p5b044128.dip0.t-ipconnect.de) |
| 01:34:30 | → | agent314 joins (~quassel@c-24-17-1-67.hsd1.wa.comcast.net) |
| 01:36:25 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:44:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:45:49 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 01:49:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 01:53:24 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 265 seconds) |
| 01:59:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:00:32 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 02:00:52 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 02:02:00 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
| 02:02:21 | → | housemate joins (~housemate@146.70.66.228) |
| 02:03:14 | × | housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded) |
| 02:03:57 | → | housemate joins (~housemate@146.70.66.228) |
| 02:04:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:05:39 | × | housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded) |
| 02:07:27 | → | housemate joins (~housemate@146.70.66.228) |
| 02:09:09 | × | housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded) |
| 02:09:57 | → | housemate joins (~housemate@146.70.66.228) |
| 02:11:25 | × | housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded) |
| 02:12:29 | → | housemate joins (~housemate@146.70.66.228) |
| 02:14:58 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:21:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:24:18 | <sm> | @where+ fast-haskell-redux https://jtobin.io/fast-haskell-redux performance optimisations (2025) |
| 02:24:18 | <lambdabot> | Nice! |
| 02:24:24 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 244 seconds) |
| 02:24:47 | → | weary-traveler joins (~user@user/user363627) |
| 02:26:21 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 02:27:16 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 02:30:25 | × | housemate quits (~housemate@146.70.66.228) (Quit: Nothing to see here. I wasn't there. I take IRC seriously. I do not work for any body DIRECTLY although I do represent BOT NET.) |
| 02:33:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:33:39 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 02:33:57 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 02:34:06 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 252 seconds) |
| 02:34:06 | tnt2 | is now known as tnt1 |
| 02:34:19 | → | ColinRobinson joins (~juan@user/JuanDaugherty) |
| 02:36:53 | × | Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!) |
| 02:37:19 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 02:43:36 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 02:46:57 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 02:47:46 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 02:47:57 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 02:48:23 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:48:30 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 265 seconds) |
| 02:48:30 | tnt2 | is now known as tnt1 |
| 02:50:21 | ColinRobinson | is now known as JuanDaugherty |
| 02:53:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 03:02:10 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 03:03:36 | → | user363627 joins (~user@user/user363627) |
| 03:03:46 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:07:01 | × | weary-traveler quits (~user@user/user363627) (Ping timeout: 248 seconds) |
| 03:09:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 03:13:34 | JuanDaugherty | is now known as ColinRobinson |
| 03:15:58 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:17:18 | → | fmira joins (~user@user/fmira) |
| 03:19:09 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:21:10 | → | homo joins (~homo@user/homo) |
| 03:23:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:26:05 | <homo> | hi, I have some progress trying to bootstrap microhs from hugs, currently compile-time errors are fixed, but runtime is broken, I hope someone can continue from here, because this is as far as I can go https://0.vern.cc/Mm.patch |
| 03:27:51 | × | Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!) |
| 03:29:40 | <Leary> | homo: I suggest you put this in a microhs issue; it'll just get lost in here. |
| 03:30:53 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 03:31:33 | <homo> | I don't have github account, so I sent this patch by e-mail to Lennart |
| 03:31:58 | <Leary> | I guess that works too. |
| 03:32:56 | ColinRobinson | is now known as JuanDaugherty |
| 03:33:06 | <JuanDaugherty> | microhs looks ill conceived |
| 03:34:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:35:16 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 03:35:33 | <homo> | well, microhs is the biggest implementation of haskell that might be cleanly bootstrapped from source |
| 03:36:08 | <JuanDaugherty> | i doubt that |
| 03:36:31 | <JuanDaugherty> | specifically i doubt that "cleanly" can be given an objective sense |
| 03:36:56 | <homo> | clean bootstrap means that it doesn't depend on bootstrap binaries |
| 03:37:15 | <homo> | #bootstrappable can bootstrap modern gcc by using 200-byte binary |
| 03:37:28 | <homo> | reviewable 200-byte binary that is |
| 03:37:36 | <homo> | that is what makes bootstrap clean |
| 03:37:41 | <JuanDaugherty> | in addition to big fat thing having bounds period, practically |
| 03:38:43 | <JuanDaugherty> | while ill conceived, these new infos certainly indicate entertainment value |
| 03:39:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 03:39:43 | <JuanDaugherty> | big fat thing that doesn just need to book two seats but charter a damn flight |
| 03:41:58 | × | terrorjack45 quits (~terrorjac@2a01:4f8:c17:a66e::) (Quit: The Lounge - https://thelounge.chat) |
| 03:43:02 | <jackdk> | homo: does this mean that you have a good bootstrap from C to Hugs? |
| 03:43:52 | → | terrorjack45 joins (~terrorjac@2a01:4f8:c17:a66e::) |
| 03:45:55 | <homo> | jackdk yes, since I'm using guix |
| 03:46:28 | <jackdk> | Huh, the last I heard was someone's experiments with nhc98 to bootstrap Hugs. Did something change? |
| 03:46:34 | JuanDaugherty | is now known as ColinRobinson |
| 03:47:20 | <homo> | that person lost interest, expressing disappointment of lack of interest from haskell community in bootstrapping |
| 03:49:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:56:35 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:02:13 | × | OftenFaded quits (OftenFaded@user/tisktisk) (Quit: OftenFaded) |
| 04:03:26 | → | notzmv joins (~umar@user/notzmv) |
| 04:05:41 | × | adamCS quits (~adamCS@68.161.167.240) (Ping timeout: 248 seconds) |
| 04:13:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:16:09 | → | weary-traveler joins (~user@user/user363627) |
| 04:18:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 04:20:04 | × | user363627 quits (~user@user/user363627) (Ping timeout: 252 seconds) |
| 04:21:35 | → | OftenFaded joins (~OftenFade@user/tisktisk) |
| 04:23:22 | × | m1dnight_ quits (~m1dnight@d8D861908.access.telenet.be) (Ping timeout: 252 seconds) |
| 04:24:08 | <jackdk> | homo: cool, I see you contributed the Hugs fix to Guix. I had formed the (possibly mistaken) impression that it carried blobs in its source - was it really just that little patch? |
| 04:25:34 | → | m1dnight_ joins (~m1dnight@d8D861908.access.telenet.be) |
| 04:26:09 | <jackdk> | Also, might be worth adding to https://discourse.haskell.org/t/keeping-hugs-alive/7737/5 ? |
| 04:29:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:30:44 | ColinRobinson | is now known as JuanDaugherty |
| 04:31:30 | × | dsrt^ quits (~dsrt@108.192.66.114) (Ping timeout: 244 seconds) |
| 04:32:04 | × | dnerdhm^ quits (~dnerdhm@108.192.66.114) (Ping timeout: 260 seconds) |
| 04:33:34 | <haskellbridge> | <Bowuigi> I use Hugs almost daily since my laptop broke, and I'm glad people are still working on it! Used to use Miranda but that got too slow too fast |
| 04:33:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 04:34:18 | <haskellbridge> | <Bowuigi> The nix-on-droid build of Hugs also works well |
| 04:35:12 | × | Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!) |
| 04:35:22 | <homo> | jackdk suprisingly yes, it's just gcc-specific internal that should not be used |
| 04:36:17 | → | Square joins (~Square@user/square) |
| 04:36:32 | → | adamCS joins (~adamCS@pool-100-33-243-37.nycmny.fios.verizon.net) |
| 04:39:19 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 04:41:14 | <haskellbridge> | <Bowuigi> Also I found two issues related to type level stuff. For example, trying to encode mendler-style catamorphisms Hugs fails to typecheck mcata, in particular it outputs "INTERNAL ERROR: depTypeExp" |
| 04:42:18 | JuanDaugherty | is now known as ColinRobinson |
| 04:43:07 | <haskellbridge> | <Bowuigi> The other issue is that a forall is not allowed as the first thing appearing in a type declaration, ie. ˋtype Example a = forall r. (a -> r) -> rˋ is disallowed, but its equivalent newtype is allowed. I think this is a syntax thing and not an inherent limitation |
| 04:43:40 | <haskellbridge> | <Bowuigi> Note that reproducing both requires disabling Haskell 98 mode |
| 04:44:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:47:20 | <homo> | Bowuigi hugs also doesn't allow forall in instance declarations, in my patch you can find I duplicated a lot of code, doing nothing but removing forall |
| 04:48:43 | × | eL_Bart0 quits (eL_Bart0@dietunichtguten.org) (Ping timeout: 245 seconds) |
| 04:49:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 04:49:20 | <homo> | jackdk I use netsurf without javascript to avoid arbitrary code autoupdate and autoexecution, so I can only read discourse, but not post there |
| 04:49:59 | <haskellbridge> | <Bowuigi> Do you mean something like QuantifiedInstances , like, having "forall a. Eq (f a)" or something like that? |
| 04:52:33 | <homo> | Bowuigi for example "data State s a = S (s -> (a, s)); instance forall s . Functor (State s) where" is where I have to remove forall: "data State s a = S (s -> (a, s)); instance Functor (State s) where" |
| 04:53:03 | <haskellbridge> | <Bowuigi> Oh also the depTypeExp issue happens with every System F omega encoded existential, so "newtype Exists f = Ex { unEx :: forall r. (forall a. (f a -> r) -> r) }" is the smallest example of this bug I can think of |
| 04:53:24 | → | Square2 joins (~Square4@user/square) |
| 04:53:56 | <haskellbridge> | <Bowuigi> homo Oh I haven't seen that syntax before, Haskell already quantifies variables there so maybe it is a limitation of something else in the bootstrap chain? |
| 04:55:38 | <homo> | Bowuigi microhs requires "forall" in all declarations because Lennart is lazy to make it optional, so I have 2 copies of same code, first copy is read by hugs and second copy is read by mhs, it's absolutely the same duplicated code |
| 04:56:17 | <homo> | from his own words that is, Lennart said in his presentation that he is lazy |
| 04:56:38 | <haskellbridge> | <Bowuigi> re:depTypeExp Oh you don't even need the f, "newtype E = E { unE :: forall r. (forall a. a -> r) -> r }" is a simpler example of this bug |
| 04:57:14 | <haskellbridge> | <Bowuigi> Oh, would it be possible to patch Hugs to allow that? It should just ignore it because the behaviour is the same |
| 04:57:42 | <haskellbridge> | <Bowuigi> re:microhs-hugs homo ^ |
| 04:58:48 | → | web22 joins (~00000000@91.sub-75-246-239.myvzw.com) |
| 04:59:20 | <homo> | I have no experience with yacc and I already failed patching hugs's src/parser.y to support BangPatterns, so instead in my patch I created function "hugsBang" for both hugs, ghc and microhs because I don't want to remove optimization that bang patterns brings |
| 05:00:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:00:17 | <haskellbridge> | <maerwald> Hi homo |
| 05:00:32 | <homo> | hi |
| 05:01:54 | × | web22 quits (~00000000@91.sub-75-246-239.myvzw.com) (Client Quit) |
| 05:02:34 | <homo> | Bowuigi if you have experience with yacc, there are a lot of syntactic things that you might be able fix to avoid patching so much of microhs's code, but otherwise my interest in hugs is just to have small language to bootstrap bigger language |
| 05:03:11 | <homo> | what really needs upgrade in hugs is its memory management, it crashes in deep recursions, making it tricky to have working bootstrap |
| 05:03:18 | × | nschoe quits (~nschoe@82-65-202-30.subs.proxad.net) (Ping timeout: 245 seconds) |
| 05:03:52 | <haskellbridge> | <Bowuigi> Huh? Never seen it crash due to that |
| 05:04:28 | <homo> | another big pain is not just that hugs's libraries are old, there are a lot of annoying name clashes and I have no idea which names to prefer and which to avoid in bootstrap process |
| 05:04:34 | → | nschoe joins (~nschoe@82-65-202-30.subs.proxad.net) |
| 05:05:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 05:05:52 | <haskellbridge> | <Bowuigi> I have no experience with yacc sadly, but some sed/awk could fix your instance forall issues. Just keep the original code around and at build time run a script that replaces "instance forall [^\.]." by just "instance", you don't have to remove them by hand |
| 05:07:49 | <haskellbridge> | <Bowuigi> Also play with Hugs' options, some may help with the recursion issues you're having |
| 05:08:05 | → | dsrt^ joins (~dsrt@108.192.66.114) |
| 05:08:06 | → | dnerdhm^ joins (~dnerdhm@108.192.66.114) |
| 05:08:50 | <haskellbridge> | <Bowuigi> Also which name clashes? The lack of applicative and functor operators is annoying but that can be solved easily |
| 05:09:44 | <homo> | thanks for idea, but I don't remember if I did something else besides removing forall from instance |
| 05:12:27 | <homo> | Bowuigi for example, System.IO.Error clashes with Control.Exception |
| 05:12:39 | <haskellbridge> | <Bowuigi> Diff is your friend here, any changes will stand out |
| 05:13:23 | <homo> | Hugs.Prelude also clashes with Control.Exception |
| 05:13:52 | <homo> | it also clashes with Data.Foldable and Data.Functor |
| 05:14:09 | <homo> | s/it/Hugs.Prelude/ |
| 05:14:56 | <haskellbridge> | <Bowuigi> That's so odd, why did they do that. How feasible is porting the microhs base library to Hugs? Using Hugs primitives, ofc |
| 05:15:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:16:35 | <homo> | it already reuses some of microhs base library to avoid code duplication, I'd say it's just tedious to patch every individual module, and some modules are extremely tedious because of language extensions |
| 05:19:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 05:20:00 | → | michalz joins (~michalz@185.246.207.215) |
| 05:20:09 | <homo> | also keep in mind libraries that hugs uses are the same libraries that ghc used 20 years ago, so if someone decides to fork hugs, there is a lot of tedious work to keep libraries up-to-date |
| 05:21:13 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:26:27 | <homo> | Bowuigi anyway, those name clashes are very persistent, you either have to use qualified imports or to explicitly shut up Hugs.Prelude, but you don't want to explicitly shut up Hugs.Prelude because code read by ghc and microhs will not compile |
| 05:30:35 | <homo> | reading the source code of hugs a lot of modules from base package already use primitives from hugsbase package, but that is not enough to shut name clashes |
| 05:30:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:34:48 | <homo> | I don't think it's a good idea to port microhs base without adjusting hugsbase first, and it might be necessary to also adjust hugs interpreter itself before adjusting hugsbase |
| 05:35:47 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 05:37:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:43:28 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 05:46:14 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 05:48:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:53:11 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:57:08 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:59:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:02:39 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:03:07 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 06:05:13 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 06:05:56 | → | euleritian joins (~euleritia@77.23.250.232) |
| 06:07:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:07:15 | → | alp joins (~alp@2001:861:8ca0:4940:8a73:f3f6:adcb:ed3) |
| 06:09:28 | <jle`> | huh kind of funny but (<>) for Maybe (First a) seems to be slower than (<>) for Endo (Maybe a) |
| 06:09:42 | <jle`> | (and applying the second to Nothing) |
| 06:09:52 | <jle`> | and using Endo . const . Just |
| 06:10:08 | <jle`> | i guess it just compiles better? i would have expected them to end up being the same |
| 06:10:34 | <jle`> | i'm even doing x <> (y <> ...) the good way |
| 06:12:43 | × | _xor quits (~xor@ip-66-42-132-175.dynamic.fuse.net) (Quit: Ping timeout (120 seconds)) |
| 06:14:58 | → | _xor joins (~xor@ip-66-42-132-175.dynamic.fuse.net) |
| 06:17:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:18:03 | <haskellbridge> | <Bowuigi> homo just provide a wrapper that exports the safe parts of Hugs.Prelude and overimport just in case, that's the best option I can think of rn |
| 06:19:24 | <Leary> | jle`: `Data.Monoid.First` exists for a reason; `Maybe . Data.Semigroup.First` can't just stop at the first `Just`. |
| 06:20:51 | <Leary> | (the other option is to just use `<|>` on `Maybe`) |
| 06:22:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 06:24:38 | × | res0nat0r0844909 quits (~Fletch@falcon.whatbox.ca) (Quit: Ping timeout (120 seconds)) |
| 06:25:14 | × | euleritian quits (~euleritia@77.23.250.232) (Ping timeout: 260 seconds) |
| 06:27:01 | → | euleritian joins (~euleritia@dynamic-176-006-139-051.176.6.pool.telefonica.de) |
| 06:27:18 | × | alp quits (~alp@2001:861:8ca0:4940:8a73:f3f6:adcb:ed3) (Ping timeout: 276 seconds) |
| 06:33:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:34:24 | <homo> | Bowuigi unfortunately it works that way only within wrapper :( |
| 06:35:21 | <homo> | anyway, it doesn't really matter as I got entire microhs to compile and my current problem is runtime error |
| 06:35:46 | <homo> | after runtime is fixed it'll be perfect time for cosmetic changes |
| 06:36:23 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:37:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 06:37:39 | <haskellbridge> | <Bowuigi> Wdym "within wrapper"? |
| 06:38:59 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 06:39:25 | <homo> | MHSPrelude.hs and MiniPrelude.hs |
| 06:41:48 | <homo> | ideally some group would fork hugs and modernize it, as it has ugly practices of the past, take Monad class for example, there is no MonadFail class and fail is part of Monad class |
| 06:45:12 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:48:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:51:57 | → | CiaoSen joins (~Jura@2a05:5800:2e9:c100:ca4b:d6ff:fec1:99da) |
| 06:52:39 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 06:54:24 | → | acidjnk joins (~acidjnk@p200300d6e7283f5200259c07642d77ab.dip0.t-ipconnect.de) |
| 06:56:23 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 06:58:30 | <homo> | Bowuigi anyway, that runtime error is an exception raised by microhs, there is also a significant difference that in hugs it's "data Exception = ..." while in microhs it's "class Exception e where", furthermore because of name clashes I have no idea from which module to import "catch" and "try", and I am lucky that "type SomeException = Exception" even works |
| 06:59:16 | × | ft quits (~ft@p4fc2a354.dip0.t-ipconnect.de) (Quit: leaving) |
| 07:00:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:02:31 | <homo> | but microhs is so fantastic at reporting where that error is coming from that I can't figure out what to do |
| 07:04:05 | <haskellbridge> | <Bowuigi> Oh yeah the exception system changed somewhere down the line |
| 07:04:37 | <haskellbridge> | <Bowuigi> The Hugs equivalent to the modern exception system is "throwDyn" and "catchDyn" |
| 07:05:11 | <haskellbridge> | <Bowuigi> As the name implies, they use Dynamic instead of an Exception typeclass |
| 07:06:15 | <haskellbridge> | <Bowuigi> Exceptions in Hugs are the built-in, Haskell ones, so custom exception systems built on top of SomeException won't work |
| 07:07:26 | <homo> | I really have no experience with neither of those |
| 07:09:12 | <haskellbridge> | <Bowuigi> Most of what I know about exceptions comes from reading the source+docs of the two base libraries and the source of smalltt, which uses custom exceptions |
| 07:09:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 07:10:23 | <hololeap> | homo: there's a decent blog post about ghc exception handling here: https://tech.fpcomplete.com/blog/2018/04/async-exception-handling-haskell/ |
| 07:10:30 | <haskellbridge> | <Bowuigi> You should be able to create a version of SomeException on Hugs and use throwDyn/catchDyn for flow control, not sure how hard would that be tho |
| 07:12:13 | <haskellbridge> | <Bowuigi> It's also glue code you can't skip because both exception handling systems are very different |
| 07:14:50 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:20:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:20:56 | <homo> | Bowuigi if that's so it's a puzzle how comes hugs doesn't throw compile-time error because of alias "type SomeException = Exception" |
| 07:23:08 | × | ColinRobinson quits (~juan@user/JuanDaugherty) (Quit: ColinRobinson) |
| 07:23:26 | × | iteratee quits (~kyle@162.218.222.207) (Read error: Connection reset by peer) |
| 07:23:57 | → | iteratee joins (~kyle@162.218.222.207) |
| 07:24:05 | <haskellbridge> | <Bowuigi> Exception is a datatype in hugs |
| 07:24:27 | <homo> | yes, I said so earlier |
| 07:27:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 07:28:55 | <haskellbridge> | <Bowuigi> Why would it give a compile time error then? |
| 07:29:06 | <haskellbridge> | <Bowuigi> That part is correct |
| 07:31:24 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection) |
| 07:34:32 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 07:38:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:41:09 | <homo> | Bowuigi because you said I can't skip implementing SomeExpection as Dynamic and throwDyn/catchDyn |
| 07:42:40 | <homo> | hololeap thanks, it's not clear where Dynamic is used though |
| 07:43:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 07:44:14 | <hololeap> | sorry, I wasn't following the whole conversation |
| 07:44:39 | <homo> | for async I remember go has some context and instead of throwing exception you simply send message over channel (CSP-style concurrency), wonder if that can simplify things in haskell |
| 07:44:44 | <hololeap> | just ignore it if it's not relevant |
| 07:45:57 | × | mange quits (~user@user/mange) (Ping timeout: 276 seconds) |
| 07:49:40 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 07:52:14 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds) |
| 07:53:23 | <homo> | hm, grepping source code of both microhs and hugs I think I know what throws exception |
| 07:53:24 | → | housemate joins (~housemate@146.70.66.228) |
| 07:53:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:54:16 | × | euleritian quits (~euleritia@dynamic-176-006-139-051.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 07:54:33 | → | euleritian joins (~euleritia@dynamic-176-006-139-051.176.6.pool.telefonica.de) |
| 07:54:46 | × | housemate quits (~housemate@146.70.66.228) (Remote host closed the connection) |
| 07:54:56 | × | euleritian quits (~euleritia@dynamic-176-006-139-051.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 07:55:13 | → | euleritian joins (~euleritia@77.23.250.232) |
| 07:55:18 | → | housemate joins (~housemate@146.70.66.228) |
| 07:56:50 | <hololeap> | SomeException in Control.Exceptions is a newtype wrapper that uses the ExistentialQuantification language extension to allow it to wrap any type that's part of the Exception class |
| 07:57:42 | <hololeap> | data SomeException = forall e. (Exception e, HasExceptionContext) => SomeException e |
| 07:58:13 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 07:59:26 | <hololeap> | nvm it's not actually a newtype |
| 08:00:01 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:39 | → | caconym joins (~caconym@user/caconym) |
| 08:04:23 | <hololeap> | I'm just bringing this up because `type SomeException = Exception` doesn't make sense to me |
| 08:04:47 | <homo> | grepping suggest there is nothing that throws exception other than IO for opening and writing files |
| 08:04:54 | <homo> | s/suggest/suggests/ |
| 08:05:20 | → | eL_Bart0 joins (eL_Bart0@dietunichtguten.org) |
| 08:06:37 | → | alecs joins (~alecs@nat16.software.imdea.org) |
| 08:07:43 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 08:07:56 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 08:08:28 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 265 seconds) |
| 08:08:28 | tnt2 | is now known as tnt1 |
| 08:08:29 | → | crvs joins (~crvs@185.147.238.3) |
| 08:10:27 | <homo> | actually I found second potential source of exception - unsafeCoerce |
| 08:11:14 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 272 seconds) |
| 08:12:40 | <homo> | this is going to be pain to fix, basically convert everything related to GHC.Types(Any) into Data.Dynamic(Dynamic) |
| 08:13:29 | <homo> | and again I have no experience neither with unsafeCoerce, nor with Any nor with Dynamic |
| 08:15:34 | <homo> | Bowuigi if this is the only reason for runtime failure, fixing it is all that needs to be done to get microhs bootstrapped from hugs, alternatively extending hugs to support GHC.Types(Any) is another possible option, but I think it's more tedious to do than to just adjust microhs |
| 08:16:16 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:17:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:17:28 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 08:17:53 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 08:19:14 | <homo> | still, it's really ugly to rely on dynamic typing for storing combinators |
| 08:20:33 | <homo> | if you read PrimTable.hs you know what I mean |
| 08:21:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 08:26:38 | → | alp joins (~alp@2001:861:8ca0:4940:eb11:c08c:89ec:ff87) |
| 08:26:42 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 08:32:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:34:09 | × | housemate quits (~housemate@146.70.66.228) (Ping timeout: 260 seconds) |
| 08:35:50 | <jle`> | Leary: aw man |
| 08:36:05 | × | bgamari quits (~bgamari@64.223.233.64) (Ping timeout: 248 seconds) |
| 08:36:34 | <jle`> | i just noticed Data.Monoid.First |
| 08:36:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 08:37:03 | <jle`> | i use Data.Semigroup.First for so much stuff |
| 08:37:12 | <jle`> | well, Maybe (Data.Semigroup.First a) |
| 08:37:27 | → | bgamari joins (~bgamari@64.223.233.64) |
| 08:39:05 | <jle`> | okay yeah using Data.Monoid.Alt i get the same speed as Endo |
| 08:40:23 | × | chymera quits (~chymera@ns1000526.ip-51-81-46.us) (Ping timeout: 252 seconds) |
| 08:40:45 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 08:41:18 | → | chymera joins (~chymera@ns1000526.ip-51-81-46.us) |
| 08:42:13 | × | Square2 quits (~Square4@user/square) (Ping timeout: 252 seconds) |
| 08:42:37 | → | vpan joins (~vpan@212.117.1.172) |
| 08:45:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:49:34 | → | ColinRobinson joins (~juan@user/JuanDaugherty) |
| 08:49:48 | × | chymera quits (~chymera@ns1000526.ip-51-81-46.us) (Ping timeout: 246 seconds) |
| 08:50:06 | → | chymera joins (~chymera@ns1000526.ip-51-81-46.us) |
| 08:51:35 | × | ColinRobinson quits (~juan@user/JuanDaugherty) (Client Quit) |
| 08:55:19 | → | mreh joins (~matthew@host86-146-138-36.range86-146.btcentralplus.com) |
| 09:04:30 | × | vpan quits (~vpan@212.117.1.172) (Read error: Connection reset by peer) |
| 09:10:49 | → | housemate joins (~housemate@146.70.66.228) |
| 09:19:04 | → | comerijn joins (~merijn@77.242.116.146) |
| 09:19:30 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 09:20:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Read error: Connection reset by peer) |
| 09:20:56 | → | vpan joins (~vpan@212.117.1.172) |
| 09:21:20 | vpan | is now known as Guest9966 |
| 09:21:24 | → | jespada joins (~jespada@r167-63-24-59.dialup.adsl.anteldata.net.uy) |
| 09:22:21 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:29:08 | × | CiaoSen quits (~Jura@2a05:5800:2e9:c100:ca4b:d6ff:fec1:99da) (Ping timeout: 245 seconds) |
| 09:30:30 | → | kuribas joins (~user@ptr-17d51em29rh3rcpebxw.18120a2.ip6.access.telenet.be) |
| 09:36:45 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 09:39:30 | × | picnoir quits (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.5.1) |
| 09:40:51 | → | picnoir joins (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) |
| 09:48:02 | → | chele joins (~chele@user/chele) |
| 09:49:29 | → | homo_ joins (~homo@user/homo) |
| 09:50:16 | × | dtman34_ quits (~dtman34@c-76-156-106-11.hsd1.mn.comcast.net) (Read error: Connection reset by peer) |
| 09:50:26 | × | homo quits (~homo@user/homo) (Ping timeout: 252 seconds) |
| 09:50:40 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 09:53:21 | × | jespada quits (~jespada@r167-63-24-59.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 09:53:22 | → | CiaoSen joins (~Jura@2a05:5800:2e9:c100:ca4b:d6ff:fec1:99da) |
| 09:53:56 | → | dtman34 joins (~dtman34@c-76-156-106-11.hsd1.mn.comcast.net) |
| 09:57:55 | homo_ | is now known as homo |
| 09:58:29 | × | mreh quits (~matthew@host86-146-138-36.range86-146.btcentralplus.com) (Quit: Lost terminal) |
| 09:58:30 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:00:57 | × | swistak quits (~swistak@185.21.216.141) (Remote host closed the connection) |
| 10:01:53 | × | housemate quits (~housemate@146.70.66.228) (Read error: Connection reset by peer) |
| 10:02:03 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 10:02:31 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
| 10:14:02 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 10:14:21 | → | ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:d6a8:bf4:f4b1:ab68) |
| 10:19:43 | × | pointlessslippe1 quits (~pointless@62.106.85.17) (Read error: Connection reset by peer) |
| 10:25:00 | → | pointlessslippe1 joins (~pointless@62.106.85.17) |
| 10:26:58 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 10:27:50 | × | dontdieych2 quits (~quassel@user/dontdieych2) (Ping timeout: 252 seconds) |
| 10:28:45 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 10:37:28 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 245 seconds) |
| 10:37:55 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 10:38:16 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 10:38:41 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
| 10:39:39 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 10:40:36 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:41:26 | → | swistak joins (~swistak@185.21.216.141) |
| 10:42:29 | → | housemate joins (~housemate@146.70.66.228) |
| 10:43:19 | × | housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded) |
| 10:44:10 | → | housemate joins (~housemate@146.70.66.228) |
| 10:45:42 | × | housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded) |
| 10:46:40 | → | housemate joins (~housemate@146.70.66.228) |
| 10:47:38 | × | Square quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 10:51:05 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 10:53:50 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 11:01:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:04:30 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 11:08:02 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 11:16:35 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 11:21:48 | × | dpk quits (~dpk@jains.nonceword.org) (Quit: .) |
| 11:28:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:29:09 | × | euleritian quits (~euleritia@77.23.250.232) (Read error: Connection reset by peer) |
| 11:29:57 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 11:30:46 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 11:35:36 | → | rosco joins (~rosco@1.9.3.130) |
| 11:36:37 | <kaol> | Is there some ghci flag to make it show Show output with some white space formatting? Even a simple line break on comma would help a lot. |
| 11:37:04 | × | Guest9966 quits (~vpan@212.117.1.172) (Quit: Leaving.) |
| 11:39:21 | <tomsmeding> | kaol: https://hackage.haskell.org/package/pretty-show-1.10/docs/Text-Show-Pretty.html ? |
| 11:39:40 | <Leary> | kaol: You can set `-interactive-print yourShow`. |
| 11:42:28 | × | CiaoSen quits (~Jura@2a05:5800:2e9:c100:ca4b:d6ff:fec1:99da) (Ping timeout: 245 seconds) |
| 11:49:20 | → | Core1275 joins (~rosco@183.171.108.105) |
| 11:50:29 | × | Core1275 quits (~rosco@183.171.108.105) (Read error: Connection reset by peer) |
| 11:51:04 | → | Core3541 joins (~rosco@183.171.108.105) |
| 11:52:13 | × | rosco quits (~rosco@1.9.3.130) (Ping timeout: 244 seconds) |
| 11:53:44 | <Leary> | kaol: E.g. https://paste.tomsmeding.com/3LetBVey |
| 11:54:09 | × | Core3541 quits (~rosco@183.171.108.105) (Read error: Connection reset by peer) |
| 11:54:24 | → | rosco joins (~rosco@1.9.3.130) |
| 11:55:46 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:56:01 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:56:12 | × | m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 252 seconds) |
| 11:56:45 | → | Core3123 joins (~rosco@183.171.108.105) |
| 11:58:38 | × | rosco quits (~rosco@1.9.3.130) (Ping timeout: 244 seconds) |
| 11:59:09 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 11:59:47 | × | housemate quits (~housemate@146.70.66.228) (Quit: Nothing to see here. I wasn't there. I take IRC seriously. I do not work for any body DIRECTLY although I do represent BOT NET.) |
| 12:00:03 | → | __monty__ joins (~toonn@user/toonn) |
| 12:02:48 | × | AlexZenon quits (~alzenon@178.34.163.23) (Ping timeout: 252 seconds) |
| 12:04:15 | × | Core3123 quits (~rosco@183.171.108.105) (Read error: Connection reset by peer) |
| 12:04:41 | → | rosco joins (~rosco@1.9.3.130) |
| 12:07:33 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 12:08:11 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 12:10:00 | → | AlexZenon joins (~alzenon@178.34.163.23) |
| 12:10:13 | → | xff0x joins (~xff0x@2405:6580:b080:900:d98:5c1a:a689:d0b8) |
| 12:15:12 | → | Core3623 joins (~rosco@183.171.110.197) |
| 12:16:25 | × | zlqrvx quits (~zlqrvx@user/zlqrvx) (Ping timeout: 265 seconds) |
| 12:17:28 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 12:18:16 | × | rosco quits (~rosco@1.9.3.130) (Ping timeout: 244 seconds) |
| 12:18:28 | × | Core3623 quits (~rosco@183.171.110.197) (Read error: Connection reset by peer) |
| 12:18:29 | → | dpk joins (~dpk@jains.nonceword.org) |
| 12:19:12 | → | zlqrvx joins (~zlqrvx@user/zlqrvx) |
| 12:19:16 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 12:20:31 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 12:22:32 | → | rosco joins (~rosco@1.9.3.130) |
| 12:25:50 | × | alp quits (~alp@2001:861:8ca0:4940:eb11:c08c:89ec:ff87) (Ping timeout: 272 seconds) |
| 12:30:21 | → | Core6783 joins (~rosco@183.171.110.197) |
| 12:32:10 | × | rosco quits (~rosco@1.9.3.130) (Ping timeout: 272 seconds) |
| 12:33:14 | → | Guest94 joins (~Guest94@2601:40a:8400:6bb0:9ef6:ffd1:d682:78d1) |
| 12:33:35 | × | Guest94 quits (~Guest94@2601:40a:8400:6bb0:9ef6:ffd1:d682:78d1) (Client Quit) |
| 12:35:49 | → | Guest78 joins (~Guest78@37.228.251.150) |
| 12:36:55 | → | jespada joins (~jespada@2800:a4:c4:2a00:c8e8:2028:dfd0:433b) |
| 12:43:48 | → | CiaoSen joins (~Jura@2a05:5800:2e9:c100:ca4b:d6ff:fec1:99da) |
| 12:44:22 | × | ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:d6a8:bf4:f4b1:ab68) (Remote host closed the connection) |
| 12:46:42 | → | weary-traveler joins (~user@user/user363627) |
| 12:52:31 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:59:37 | → | akegalj joins (~akegalj@168-159.dsl.iskon.hr) |
| 13:05:16 | → | dontdieych2 joins (~quassel@user/dontdieych2) |
| 13:07:40 | → | alexherbo2 joins (~alexherbo@2a02-8440-3502-53f9-8169-56a8-78c5-3a5b.rev.sfr.net) |
| 13:14:21 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:14:45 | × | iamsleepy quits (~weechat@2a01:4f9:3070:feff:bd6e:6edf:b3ad:783f) (Read error: Connection reset by peer) |
| 13:15:10 | → | iamsleepy joins (~weechat@2a01:4f9:3070:feff:9969:2d95:7b68:eef5) |
| 13:16:39 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 13:41:06 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 248 seconds) |
| 13:41:10 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 13:43:27 | tnt2 | is now known as tnt1 |
| 13:45:42 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 13:48:16 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 13:49:22 | → | weary-traveler joins (~user@user/user363627) |
| 13:52:21 | × | CiaoSen quits (~Jura@2a05:5800:2e9:c100:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds) |
| 13:54:30 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds) |
| 14:04:48 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 246 seconds) |
| 14:12:07 | → | ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:90fa:a109:5301:a5a3) |
| 14:14:47 | → | alp joins (~alp@2001:861:8ca0:4940:efc9:d30b:fc5e:f0f7) |
| 14:20:00 | <chiselfuse> | ultra noob question. what do `x=x` or `x=x*2` do in haskell? i tried using `x` after defining it this way and it just hangs. is it looping forever? |
| 14:20:55 | <tomsmeding> | chiselfuse: you're defining x in terms of itself :) |
| 14:21:03 | <tomsmeding> | > 1 : 2 : [] |
| 14:21:04 | <lambdabot> | [1,2] |
| 14:21:07 | <tomsmeding> | > let x = 1 : x in x |
| 14:21:08 | <lambdabot> | [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1... |
| 14:21:33 | → | ft joins (~ft@p4fc2a354.dip0.t-ipconnect.de) |
| 14:22:29 | <chiselfuse> | i don't understand any of that so i'll just read ahead in my book for now |
| 14:22:48 | <tomsmeding> | chiselfuse: the main message is that `x = x` doesn't do _nothing_ |
| 14:23:09 | <tomsmeding> | in other programming languages, if you mention x on the right-hand side of an assignment to x, that right-most x just means "the previous value of x" |
| 14:23:29 | <tomsmeding> | in haskell, there is only one x, so your value for x references x itself! |
| 14:23:41 | <tomsmeding> | if x is a number, that's nonsense, so it indeed loops forever |
| 14:23:56 | <tomsmeding> | for other data types, this can make perfect sense |
| 14:24:24 | <tomsmeding> | the example I just showed, `let x = 1 : x in x`, constructs a list called 'x' which starts with 1, and then continues with... x |
| 14:24:45 | <tomsmeding> | so it's 1, and then -- what does x start with? well, 1, so another 1, and then -- what does x start with? 1, so another 1, and... etc. |
| 14:24:49 | <chiselfuse> | tomsmeding: if it doesn't do nothing then it does something? are you referring to the possibility that this definition does something in terms of side effects which is why it loops forever instead of just telling me it will never evaluate? |
| 14:25:17 | <tomsmeding> | if you compile your haskell program, it will probably print "<<loop>>" instead of looping forever for something like this :) |
| 14:25:33 | <tomsmeding> | in principle, it would loop forever, but the runtime is sometimes smart enough to detect that and throw a <<loop>> exception instead |
| 14:25:43 | <tomsmeding> | in the interpreter (ghci), that probably doesn't work |
| 14:27:50 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 14:28:02 | → | caryhartline joins (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) |
| 14:28:15 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 246 seconds) |
| 14:28:15 | tnt2 | is now known as tnt1 |
| 14:28:44 | × | caryhartline quits (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) (Read error: Connection reset by peer) |
| 14:31:16 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 14:33:08 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 272 seconds) |
| 14:33:08 | tnt2 | is now known as tnt1 |
| 14:33:22 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 14:34:02 | × | alexherbo2 quits (~alexherbo@2a02-8440-3502-53f9-8169-56a8-78c5-3a5b.rev.sfr.net) (Remote host closed the connection) |
| 14:34:27 | → | alexherbo2 joins (~alexherbo@2a02-8440-3502-53f9-8db8-533d-25fc-39be.rev.sfr.net) |
| 14:35:22 | <merijn> | chiselfuse: How do you expect GHC to know that it will never evaluate? :) |
| 14:36:06 | × | jespada quits (~jespada@2800:a4:c4:2a00:c8e8:2028:dfd0:433b) (Ping timeout: 265 seconds) |
| 14:36:10 | <merijn> | There are some basic checks to catch the simplest cases, but in general your asking GHC to solve the (famously unsolvable) halting problem :p |
| 14:36:11 | → | caryhartline joins (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) |
| 14:38:09 | × | alexherbo2 quits (~alexherbo@2a02-8440-3502-53f9-8db8-533d-25fc-39be.rev.sfr.net) (Remote host closed the connection) |
| 14:38:48 | → | alexherbo2 joins (~alexherbo@2a02-8440-3502-53f9-f9e8-b5fd-14d6-305d.rev.sfr.net) |
| 14:39:43 | → | jespada joins (~jespada@2800:a4:dd:6900:c1bf:43ce:3d23:1885) |
| 14:42:22 | × | alexherbo2 quits (~alexherbo@2a02-8440-3502-53f9-f9e8-b5fd-14d6-305d.rev.sfr.net) (Remote host closed the connection) |
| 14:43:23 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 14:45:22 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 14:47:03 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 14:48:48 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 14:52:54 | → | gentauro joins (~gentauro@user/gentauro) |
| 14:53:29 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 265 seconds) |
| 14:56:35 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 15:00:56 | → | sprotte24 joins (~sprotte24@p200300d16f42e000c0ca5743a4b487b6.dip0.t-ipconnect.de) |
| 15:08:09 | × | Core6783 quits (~rosco@183.171.110.197) (Ping timeout: 246 seconds) |
| 15:11:17 | × | mixfix41 quits (~s2h@user/mixfix41) (Ping timeout: 248 seconds) |
| 15:17:06 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 15:18:10 | → | euleritian joins (~euleritia@dynamic-176-006-139-088.176.6.pool.telefonica.de) |
| 15:18:44 | × | sprotte24 quits (~sprotte24@p200300d16f42e000c0ca5743a4b487b6.dip0.t-ipconnect.de) (Quit: Leaving) |
| 15:18:52 | × | caryhartline quits (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) (Read error: Connection reset by peer) |
| 15:19:06 | × | Digit quits (~user@user/digit) (Ping timeout: 244 seconds) |
| 15:23:47 | × | dontdieych2 quits (~quassel@user/dontdieych2) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 15:26:09 | × | crvs quits (~crvs@185.147.238.3) (Read error: Connection reset by peer) |
| 15:27:30 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 252 seconds) |
| 15:44:40 | → | Square joins (~Square@user/square) |
| 15:45:20 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 15:49:53 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 15:54:10 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 252 seconds) |
| 15:55:52 | → | ColinRobinson joins (~juan@user/JuanDaugherty) |
| 15:56:11 | ColinRobinson | is now known as JuanDaugherty |
| 15:56:39 | × | jespada quits (~jespada@2800:a4:dd:6900:c1bf:43ce:3d23:1885) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 15:57:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Read error: Connection reset by peer) |
| 15:57:49 | → | merijn joins (~merijn@77.242.116.146) |
| 15:58:41 | × | alecs quits (~alecs@nat16.software.imdea.org) (Ping timeout: 248 seconds) |
| 16:12:24 | JuanDaugherty | is now known as ColinRobinson |
| 16:13:10 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
| 16:22:10 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 16:26:47 | ColinRobinson | is now known as JuanDaugherty |
| 16:30:45 | × | euphores quits (~SASL_euph@user/euphores) (Ping timeout: 246 seconds) |
| 16:32:04 | → | paul_j joins (~user@8.190.187.81.in-addr.arpa) |
| 16:38:31 | → | euphores joins (~SASL_euph@user/euphores) |
| 16:39:02 | → | jespada joins (~jespada@2800:a4:dd:6900:c1bf:43ce:3d23:1885) |
| 16:40:04 | × | euphores quits (~SASL_euph@user/euphores) (Max SendQ exceeded) |
| 16:40:55 | → | euphores joins (~SASL_euph@user/euphores) |
| 16:42:31 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:46:02 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 16:48:21 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 16:49:01 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 16:51:50 | → | Midjak joins (~MarciZ@82.66.147.146) |
| 16:53:06 | <haskellbridge> | <thirdofmay18081814goya> hm what's the import to replace "*" by "Type"? |
| 16:53:33 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 252 seconds) |
| 16:53:57 | × | Midjak quits (~MarciZ@82.66.147.146) (Client Quit) |
| 16:55:07 | <glguy> | Data.Kind |
| 16:56:56 | JuanDaugherty | is now known as ColinRobinson |
| 16:56:59 | <haskellbridge> | <thirdofmay18081814goya> ty! |
| 16:57:01 | <spew> | I think you want the NoStarIsType extension |
| 16:57:23 | <geekosaur> | both |
| 16:58:19 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 16:58:19 | <geekosaur> | one for GHC to use `Type`, the other so you can use it |
| 16:59:27 | <haskellbridge> | <thirdofmay18081814goya> ah neat, thank you! |
| 17:02:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:09:43 | → | ensyde joins (~ensyde@2601:5c6:c200:6dc0::3cb6) |
| 17:09:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 17:13:11 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 265 seconds) |
| 17:13:16 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 17:14:02 | <haskellbridge> | <thirdofmay18081814goya> {-# LANGUAGE GADTs, DataKinds, NoStarIsType, KindSignatures #-} |
| 17:14:02 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/SLhYEhHTJnvdxEpqFwluIqDU/4YBZpIuH0YU (12 lines) |
| 17:14:27 | <haskellbridge> | <thirdofmay18081814goya> how could I explicitly annotate the last match of "vTail" to make a "Nil" value of "Vec a n" |
| 17:15:55 | <haskellbridge> | <thirdofmay18081814goya> ah the problem is a bit more serious |
| 17:16:24 | <Leary> | That case is excluded by the type of the argument; just drop it? |
| 17:17:43 | <haskellbridge> | <thirdofmay18081814goya> right nevermind, I misunderstood |
| 17:17:55 | <haskellbridge> | <thirdofmay18081814goya> no way to pass "Nil" because we require "Succ n" |
| 17:17:55 | <haskellbridge> | <thirdofmay18081814goya> ty!@ |
| 17:18:37 | → | alecs joins (~alecs@61.pool85-58-154.dynamic.orange.es) |
| 17:19:09 | × | euleritian quits (~euleritia@dynamic-176-006-139-088.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 17:19:17 | <haskellbridge> | <thirdofmay18081814goya> is there a way to explicitly annotate the type of "vTail" with "a :: Type" and "n :: Nat"? |
| 17:19:28 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 17:19:33 | <haskellbridge> | <thirdofmay18081814goya> the work of "a :: Type" is usually done by "forall a" I think |
| 17:20:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:20:58 | <Leary> | `vTail :: forall (a :: Type) (n :: Nat). ...` |
| 17:21:09 | ColinRobinson | is now known as JuanDaugherty |
| 17:21:29 | <haskellbridge> | <thirdofmay18081814goya> very cool, thanks a lot! |
| 17:22:09 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds) |
| 17:23:19 | × | alecs quits (~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 265 seconds) |
| 17:23:52 | <Leary> | You can get this function for free as a field, BTW: `Cons :: { vHead :: a, vTail :: Vec a n } -> Vec a (Succ n)` |
| 17:24:53 | <haskellbridge> | <thirdofmay18081814goya> oooo neat! |
| 17:24:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 17:25:59 | × | agent314 quits (~quassel@c-24-17-1-67.hsd1.wa.comcast.net) (Ping timeout: 244 seconds) |
| 17:26:19 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 17:26:41 | → | agent314 joins (~quassel@37.19.210.25) |
| 17:28:21 | × | ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:90fa:a109:5301:a5a3) (Ping timeout: 276 seconds) |
| 17:28:38 | × | euleritian quits (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
| 17:28:50 | → | euleritian joins (~euleritia@77.23.250.232) |
| 17:30:16 | <haskellbridge> | <thirdofmay18081814goya> hm |
| 17:30:26 | <haskellbridge> | <thirdofmay18081814goya> is the following function possible at all? |
| 17:30:26 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/GivjAOUJRTejXEzvgiSSvzqy/32228VJtd_8 (4 lines) |
| 17:30:33 | <haskellbridge> | <thirdofmay18081814goya> the last line will fail to parse "->" |
| 17:31:43 | → | euphores joins (~SASL_euph@user/euphores) |
| 17:33:06 | <haskellbridge> | <Bowuigi> I assume that's not Haskell because you're working with Type on a normal function |
| 17:33:40 | <haskellbridge> | <thirdofmay18081814goya> it's haskell, see this piece of code for the definition of "Vec" |
| 17:34:11 | <haskellbridge> | <thirdofmay18081814goya> returning "t" on the last line will make a valid function |
| 17:35:22 | <haskellbridge> | <Bowuigi> Huh, maybe some type wrapper over arrows works then |
| 17:36:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:41:09 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 248 seconds) |
| 17:41:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 17:41:30 | Feuermagier | is now known as Guest4267 |
| 17:41:30 | × | Guest4267 quits (~Feuermagi@user/feuermagier) (Killed (molybdenum.libera.chat (Nickname regained by services))) |
| 17:43:00 | → | Feuermagier_ joins (~Feuermagi@user/feuermagier) |
| 17:43:00 | Feuermagier_ | is now known as Feuermagier |
| 17:47:38 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 17:49:02 | → | gorignak joins (~gorignak@user/gorignak) |
| 17:51:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:52:24 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 260 seconds) |
| 17:54:04 | × | gorignak quits (~gorignak@user/gorignak) (Ping timeout: 252 seconds) |
| 17:54:29 | → | gorignak joins (~gorignak@user/gorignak) |
| 17:55:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 17:57:07 | → | Digit joins (~user@user/digit) |
| 17:57:10 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection) |
| 18:00:25 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:00:36 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) |
| 18:01:55 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 18:06:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:09:23 | JuanDaugherty | is now known as ColinRobinson |
| 18:11:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 18:14:02 | × | jespada quits (~jespada@2800:a4:dd:6900:c1bf:43ce:3d23:1885) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 18:15:00 | → | jespada joins (~jespada@2800:a4:dd:6900:c1bf:43ce:3d23:1885) |
| 18:18:25 | <Leary> | thirdofmay: https://paste.tomsmeding.com/2Z1gryW2 |
| 18:19:13 | <haskellbridge> | <thirdofmay18081814goya> woah neat! thank you! was going about installing agda to see how "agda2hs" did it lol |
| 18:21:59 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 18:22:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:25:31 | → | gmg joins (~user@user/gehmehgeh) |
| 18:26:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:29:31 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 18:29:37 | → | zmt01 joins (~zmt00@user/zmt00) |
| 18:30:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:33:48 | × | swamp_ quits (~zmt00@user/zmt00) (Ping timeout: 272 seconds) |
| 18:37:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:38:10 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 18:41:09 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 18:41:59 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 18:42:29 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:46:41 | × | ensyde quits (~ensyde@2601:5c6:c200:6dc0::3cb6) (Quit: WeeChat 4.5.1) |
| 18:48:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:49:10 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 18:53:06 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 18:53:33 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 246 seconds) |
| 18:55:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 18:57:29 | × | Moyst__ quits (~moyst@user/moyst) (Ping timeout: 252 seconds) |
| 18:58:04 | → | ensyde joins (~ensyde@2601:5c6:c200:6dc0::3cb6) |
| 19:03:18 | × | ColinRobinson quits (~juan@user/JuanDaugherty) (Quit: ColinRobinson) |
| 19:03:45 | × | philopsos quits (~caecilius@user/philopsos) (Quit: Lost terminal) |
| 19:06:13 | × | agent314 quits (~quassel@37.19.210.25) (Ping timeout: 244 seconds) |
| 19:06:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:06:51 | → | agent314 joins (~quassel@c-24-17-1-67.hsd1.wa.comcast.net) |
| 19:07:59 | <haskellbridge> | <Bowuigi> That makes me wonder how did it work on the first place, is this type support in functions some new feature? |
| 19:08:42 | <haskellbridge> | <thirdofmay18081814goya> it just uses the mentioned type families |
| 19:08:55 | <haskellbridge> | <thirdofmay18081814goya> i mean |
| 19:08:59 | <haskellbridge> | <thirdofmay18081814goya> language extensions |
| 19:09:33 | <haskellbridge> | <Bowuigi> That's so odd |
| 19:14:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 19:16:57 | <Leary> | Bowuigi: It worked because `TypeInType`---there's no kind error. GHC doesn't know of any non-bottom /values/ of /type/ `Type`, but if you take one as an argument you're free to return it. |
| 19:18:51 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 265 seconds) |
| 19:25:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:29:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 19:29:33 | × | jespada quits (~jespada@2800:a4:dd:6900:c1bf:43ce:3d23:1885) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 19:36:21 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 19:36:42 | × | euleritian quits (~euleritia@77.23.250.232) (Ping timeout: 244 seconds) |
| 19:36:57 | → | euleritian joins (~euleritia@dynamic-176-006-141-141.176.6.pool.telefonica.de) |
| 19:38:48 | → | sprotte24 joins (~sprotte24@p200300d16f42e000280df7176889acea.dip0.t-ipconnect.de) |
| 19:40:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:41:38 | → | notzmv joins (~umar@user/notzmv) |
| 19:43:17 | × | Square quits (~Square@user/square) (Ping timeout: 248 seconds) |
| 19:43:36 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds) |
| 19:43:58 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 19:45:34 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 19:47:30 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 19:47:45 | × | Guest78 quits (~Guest78@37.228.251.150) (Quit: Client closed) |
| 19:47:54 | × | dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in) |
| 19:49:24 | → | dolio joins (~dolio@130.44.140.168) |
| 19:51:45 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 252 seconds) |
| 19:52:11 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 19:53:54 | × | dolio quits (~dolio@130.44.140.168) (Client Quit) |
| 19:54:54 | → | dolio joins (~dolio@130.44.140.168) |
| 19:55:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:00:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 20:00:41 | → | caconym joins (~caconym@user/caconym) |
| 20:00:49 | → | Midjak joins (~MarciZ@82.66.147.146) |
| 20:01:44 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:04:54 | → | j1n37 joins (~j1n37@user/j1n37) |
| 20:11:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:11:58 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:12:23 | → | j1n37 joins (~j1n37@user/j1n37) |
| 20:12:29 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:12:34 | × | dtman34 quits (~dtman34@c-76-156-106-11.hsd1.mn.comcast.net) (Ping timeout: 248 seconds) |
| 20:14:12 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 20:16:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:16:48 | → | j1n37 joins (~j1n37@user/j1n37) |
| 20:19:36 | → | weary-traveler joins (~user@user/user363627) |
| 20:19:45 | → | dtman34 joins (~dtman34@c-174-53-203-90.hsd1.mn.comcast.net) |
| 20:20:33 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:21:51 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 20:22:26 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 20:26:30 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 265 seconds) |
| 20:26:50 | → | j1n37 joins (~j1n37@user/j1n37) |
| 20:27:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:27:08 | → | gmg joins (~user@user/gehmehgeh) |
| 20:28:44 | × | dtman34 quits (~dtman34@c-174-53-203-90.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 20:29:34 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:30:11 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 20:30:51 | → | dtman34 joins (~dtman34@c-174-53-203-90.hsd1.mn.comcast.net) |
| 20:31:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 20:31:59 | × | johnjaye quits (~pi@syn-035-146-235-019.res.spectrum.com) (Ping timeout: 244 seconds) |
| 20:32:24 | → | j1n37 joins (~j1n37@user/j1n37) |
| 20:34:34 | → | johnjaye joins (~pi@syn-035-146-235-019.res.spectrum.com) |
| 20:34:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:34:44 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:35:00 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 20:37:56 | → | j1n37 joins (~j1n37@user/j1n37) |
| 20:38:59 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 20:39:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:40:36 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 20:41:06 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 272 seconds) |
| 20:41:06 | tnt2 | is now known as tnt1 |
| 20:49:54 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:53:55 | × | euleritian quits (~euleritia@dynamic-176-006-141-141.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 20:54:13 | → | euleritian joins (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
| 20:56:28 | × | akegalj quits (~akegalj@168-159.dsl.iskon.hr) (Quit: leaving) |
| 20:56:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:58:39 | → | gmg joins (~user@user/gehmehgeh) |
| 21:01:25 | × | kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux) |
| 21:01:28 | → | j1n37 joins (~j1n37@user/j1n37) |
| 21:01:48 | → | kimiamania joins (~65804703@user/kimiamania) |
| 21:01:50 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 21:04:46 | <haskellbridge> | <thirdofmay18081814goya> hm |
| 21:04:56 | <haskellbridge> | <thirdofmay18081814goya> is it possible to write something like this in haskell? |
| 21:04:56 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/nrHaYMVNJVTbkERRMZVHrUfZ/MuJn5bDBuW0 (3 lines) |
| 21:05:14 | <haskellbridge> | <thirdofmay18081814goya> +:: Type |
| 21:05:33 | <haskellbridge> | <thirdofmay18081814goya> I get illegal polymorphic type |
| 21:05:36 | → | j1n37 joins (~j1n37@user/j1n37) |
| 21:05:49 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 21:05:55 | <haskellbridge> | <thirdofmay18081814goya> which makes sense because that's one universe higher than "Type" |
| 21:06:00 | <haskellbridge> | <thirdofmay18081814goya> is it possible to write something like this in haskell? |
| 21:06:00 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/neYpbolADunqHNZVAEVEzVmd/tkzoiq-k2Wo (3 lines) |
| 21:07:51 | <haskellbridge> | <thirdofmay18081814goya> hm wait, is it? |
| 21:08:05 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 248 seconds) |
| 21:08:25 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 21:08:55 | <haskellbridge> | <thirdofmay18081814goya> hm yes, "forall (a :: Type) (b :: Type). a -> b" does not itself have type "Type" |
| 21:09:23 | <haskellbridge> | <thirdofmay18081814goya> anyone have suggestions on how we could encode such a type family? |
| 21:09:54 | <haskellbridge> | <thirdofmay18081814goya> ultimately am trying to get an analog to |
| 21:09:56 | <haskellbridge> | <thirdofmay18081814goya> https://kf8nh.com/_heisenbridge/media/matrix.org/kBqPWoKqZUTyiUEsoYvUgTHC/_qzQbc_U3jo/image.png |
| 21:10:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:10:08 | → | ephilalethes joins (~noumenon@182.0.203.121) |
| 21:10:21 | <haskellbridge> | <thirdofmay18081814goya> uh not sure if irc gets images, here: |
| 21:10:21 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/bfslQLLKLEWmGEEOBGPzXZoN/W2_SWeb9p5U (4 lines) |
| 21:11:00 | <haskellbridge> | <thirdofmay18081814goya> where "B" is a binary type-level operator |
| 21:12:08 | → | j1n37 joins (~j1n37@user/j1n37) |
| 21:13:37 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 21:15:24 | <geekosaur> | irc gets a media link |
| 21:15:35 | <haskellbridge> | <thirdofmay18081814goya> ah neato |
| 21:15:39 | <geekosaur> | also I see an edit of a large message back there, please be careful |
| 21:16:13 | <energizer> | https://hackage.haskell.org/package/containers-0.7/docs/src/Data.Set.Internal.html#toList what does this Ord stuff mean? can i only toList a Set if its elements are Ord? |
| 21:16:20 | <haskellbridge> | <thirdofmay18081814goya> edited and unedited it back heheh |
| 21:17:12 | <geekosaur> | Ord is there because the elements must be Ord (comparable) to make a Set of them |
| 21:17:30 | <geekosaur> | because a Set is a tree stored in ascending key order |
| 21:18:11 | <energizer> | is there a set type that doesn't have the Ord requirement? |
| 21:18:44 | → | j1n37 joins (~j1n37@user/j1n37) |
| 21:18:52 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 21:18:55 | <energizer> | (eg by using hashing instead of ordering) |
| 21:18:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:19:20 | <haskellbridge> | <thirdofmay18081814goya> all datatypes have an injection into the naturals, don't think so |
| 21:20:06 | <geekosaur> | HashSet in unordered-containers, but that replaces Ord with Hashable |
| 21:20:31 | <geekosaur> | thirdofmay, no they don't. what's the injection for a polymorphic function? |
| 21:21:05 | <geekosaur> | (well, strictly speaking you could Gödelize, but that leads to out of memory conditions) |
| 21:21:10 | <haskellbridge> | <thirdofmay18081814goya> the universe is countable by virtue of limited machine memory |
| 21:21:23 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 21:21:29 | <haskellbridge> | <thirdofmay18081814goya> so any polymorphic function is indexable by its countable universe (if we're talking datatypes, not types in general) |
| 21:23:00 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 246 seconds) |
| 21:24:14 | <energizer> | if two HashSets are equal, do their toList values necessarily produce lists in the same order? how does that work? |
| 21:24:29 | → | j1n37 joins (~j1n37@user/j1n37) |
| 21:25:03 | <tomsmeding> | energizer: the unordered-containers library has the following note in its docs: "Note that, in the presence of hash collisions, equal HashMaps may behave differently, i.e. extensionality may be violated:" |
| 21:25:21 | <tomsmeding> | referring specifically to toList being different |
| 21:25:32 | <tomsmeding> | https://hackage.haskell.org/package/unordered-containers-0.2.20/docs/Data-HashMap-Strict.html#t:HashMap |
| 21:26:56 | <haskellbridge> | <thirdofmay18081814goya> just to be clear: the statement is about datatypes, understood as type whose terms are turing-machine processable. it's not true of all types |
| 21:27:27 | <haskellbridge> | <thirdofmay18081814goya> by turing-machine processable I mean, accessible in finite time by a turing-machine |
| 21:28:09 | <haskellbridge> | <thirdofmay18081814goya> or traversable in finite time |
| 21:28:19 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 21:28:51 | <energizer> | tomsmeding: interesting, thanks |
| 21:29:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:30:26 | → | Everything joins (~Everythin@195.138.86.118) |
| 21:32:02 | <energizer> | i guess to make an extensional toList they could accept a comparison function to decide on the traversal order |
| 21:33:42 | → | j1n37 joins (~j1n37@user/j1n37) |
| 21:34:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 21:43:28 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 21:45:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:47:36 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:49:27 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:49:59 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:52:02 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 21:53:27 | × | fmira quits (~user@user/fmira) (Remote host closed the connection) |
| 21:54:05 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 21:56:48 | × | hueso quits (~root@user/hueso) (Ping timeout: 252 seconds) |
| 21:58:57 | → | hueso joins (~root@user/hueso) |
| 22:00:12 | → | Moyst joins (~moyst@user/moyst) |
| 22:00:20 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 244 seconds) |
| 22:00:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:02:46 | × | ephilalethes quits (~noumenon@182.0.203.121) (Quit: Leaving) |
| 22:04:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:05:39 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 22:07:03 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 252 seconds) |
| 22:07:03 | tnt2 | is now known as tnt1 |
| 22:13:21 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 22:13:40 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 252 seconds) |
| 22:13:40 | tnt2 | is now known as tnt1 |
| 22:15:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:17:16 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 22:18:03 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 252 seconds) |
| 22:18:03 | tnt2 | is now known as tnt1 |
| 22:18:16 | → | mixfix41 joins (~tbmur@user/mixfix41) |
| 22:20:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 22:23:20 | × | michalz quits (~michalz@185.246.207.215) (Remote host closed the connection) |
| 22:24:03 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 22:24:26 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:25:24 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 260 seconds) |
| 22:27:53 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 22:31:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:35:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:35:46 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 22:44:18 | → | symdrome joins (~user@2804:1e78:2201:58b0::416) |
| 22:46:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:47:32 | → | j1n37 joins (~j1n37@user/j1n37) |
| 22:50:46 | <EvanR> | limiting yourself to finite data i haskell is a bit limiting goya |
| 22:51:13 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
| 22:51:25 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 22:51:50 | <EvanR> | infinite data might have non-countable possible values, for some value of possible |
| 22:52:30 | <haskellbridge> | <thirdofmay18081814goya> hm right but the statement specifically targets types whose terms are finitely traversable |
| 22:52:49 | <EvanR> | what statement |
| 22:52:50 | <haskellbridge> | <thirdofmay18081814goya> so there might be infinitely possible values, but as long as any given value is traversable in finite time, it is a datatype |
| 22:53:16 | <haskellbridge> | <thirdofmay18081814goya> this one |
| 22:53:20 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 22:53:28 | <EvanR> | "traversability of a value" is a bit weird |
| 22:53:28 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 272 seconds) |
| 22:53:28 | tnt2 | is now known as tnt1 |
| 22:53:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 22:53:34 | <haskellbridge> | <thirdofmay18081814goya> this is not necessarily the case for e.g. values of coinductive types |
| 22:53:43 | <EvanR> | how do you traverse a function value with or without finite time |
| 22:54:03 | <c_wraith> | newtype Hyper a b = H (Hyper b a -> b) |
| 22:54:09 | <c_wraith> | have fun with that one. |
| 22:54:14 | <c_wraith> | It's secretly useful! |
| 22:54:24 | <EvanR> | when you said "this one" there was nothing posted before you then said "this is not necessarily the case" maybe the bridge lost it |
| 22:56:20 | → | pavonia joins (~user@user/siracusa) |
| 22:57:03 | <c_wraith> | Also, there are only countably many Haskell values for practical reasons like programs being countable and the total amount of input a program can receive being countable. |
| 22:58:24 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 22:58:27 | <haskellbridge> | <thirdofmay18081814goya> EvanR: oh ok well, the statement is that terms/values of a polymorphic function type are indexable by the indexability of a constructible universe |
| 22:58:40 | <haskellbridge> | <thirdofmay18081814goya> a countable universe |
| 22:59:00 | <EvanR> | constructible or countable? |
| 22:59:12 | <monochrom> | c_wraith: My mind breaks with Hyper. I have only thought up and used newtype D a = Ctor (D a -> a). |
| 22:59:22 | <EvanR> | there are countably many haskell programs, and countably many statements in any mathematical theory |
| 22:59:34 | <haskellbridge> | <thirdofmay18081814goya> for the sake of specificity I'll say countable but I think constructible may be used rigorously interchangeably |
| 22:59:36 | <EvanR> | which doesn't stop people believing in uncountability |
| 22:59:57 | <haskellbridge> | <thirdofmay18081814goya> I am not convinced there are countably many statements in any mathematical theory |
| 23:00:01 | <EvanR> | countable and constructible is certainly not the same thing |
| 23:00:19 | <monochrom> | And on second thought, I am not even sure I can take credit. My purpose was to make a newtype to allow the like of (\x -> x x), and the error message literally inspires that definition! |
| 23:00:41 | <EvanR> | formal languages come with grammar rules which limit you to a countable number of sentences |
| 23:00:45 | <monochrom> | "I thank GHC for suggesting this newtype." |
| 23:00:52 | <EvanR> | haskell being an example of one |
| 23:01:18 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 244 seconds) |
| 23:01:38 | <haskellbridge> | <thirdofmay18081814goya> right, e.g. a language with the judgment 'x is a value of type Real Number' does not have countably many statements I think |
| 23:02:04 | <EvanR> | that's mixing concepts |
| 23:02:23 | <EvanR> | jumping to another level of abstraction, beyond the syntax |
| 23:02:29 | × | paul_j quits (~user@8.190.187.81.in-addr.arpa) (Quit: Asta la vista) |
| 23:02:47 | <monochrom> | We know of at least two theories (aka models) of programming, and they disagree on countability as well as other things. The moral is that you choose a theory to suit a purpose, not for Platonic "absolute" "truth". |
| 23:02:56 | <EvanR> | as far as real numbers go it's a pretty nutty way to specify one xD |
| 23:03:02 | <EvanR> | usually you need a language for that |
| 23:03:19 | <haskellbridge> | <thirdofmay18081814goya> well if a theory is a set of axioms and derivable sentences, then we should admit such a language (the one having the judgment 'x is a value of type Real Number') |
| 23:04:06 | <geekosaur> | there are countably many values of IEEE float or double, though. you're limited to some form of "computable reals" on any physical computer |
| 23:04:12 | <EvanR> | is "x" there a metavariable or literally x |
| 23:04:26 | <haskellbridge> | <thirdofmay18081814goya> geekosaur: the computable reals are embeddable in the naturals! |
| 23:04:37 | <geekosaur> | yes |
| 23:04:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:04:42 | <geekosaur> | hence are countable |
| 23:04:43 | <monochrom> | And it is also related to the deal with real numbers, set theory, everything. There are countable models of ZFC, and yet there are also uncountable sets. |
| 23:04:59 | <EvanR> | also there's a difference between computable real and algorithmic real |
| 23:05:13 | <EvanR> | monochrom, yes that's what I was getting at |
| 23:05:15 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 23:05:34 | <EvanR> | uncountable is necessarily semantic |
| 23:05:55 | <monochrom> | You can choose a different level of abstraction (aka model) you get a different conclusion. This is supposed to be normal. |
| 23:08:12 | <monochrom> | I think both are necessarily semantic. But then that's a tautology. You need to choose a semantic (aka model again) before you can argue anything. |
| 23:08:49 | <EvanR> | sometimes something can be said about any possible semantics |
| 23:08:56 | <EvanR> | because you're really talking about the syntax |
| 23:09:12 | <EvanR> | or the logic of how you put the sentences together |
| 23:09:22 | <EvanR> | and never really refer to any meaning |
| 23:09:35 | <EvanR> | which happens in haskell sometimes |
| 23:09:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 23:09:51 | <monochrom> | In particular if you think that you are using merely syntax trees for your argument, then you are choosing the Herbrand model, therefore it's a model, therefore it's also a semantics! There is no escape from arguing semantics |
| 23:09:59 | <EvanR> | when you're dealing with raw data, no IO |
| 23:10:24 | <EvanR> | Herbrand |
| 23:10:37 | <EvanR> | I'll have to look that up and hope it's not ridiculously trivial lol |
| 23:10:48 | <monochrom> | "It's semantics all the way down" >:) |
| 23:11:08 | <monochrom> | It is fairly trivial. It's literally the set of ASTs. |
| 23:11:52 | <monochrom> | So for example if you argue that programs are countable, you are just reminding us that the Herbrand model is countable. |
| 23:12:16 | <monochrom> | ... and I guess that's one way to see why there are countable models for ZFC! |
| 23:12:25 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:13:42 | <haskellbridge> | <thirdofmay18081814goya> i'll be back with a more rigorous statement |
| 23:13:57 | <monochrom> | And whatever you do in model theory, you must respect that Herbrand models are here to stay, even if it may be an annoying silly oddball. |
| 23:16:06 | × | agent314 quits (~quassel@c-24-17-1-67.hsd1.wa.comcast.net) (Ping timeout: 252 seconds) |
| 23:16:30 | → | agent314 joins (~quassel@37.19.210.25) |
| 23:17:58 | <monochrom> | You may need more than spelling out a rigorous statement. You may end up also needing to spell out exactly which proof system you chose. Like I said, choosing a different one leads to the opposite result. |
| 23:18:48 | <monochrom> | And just around the same time in #haskell-offtopic we were talking about how programs come ship with their own C++ libs to avoid DLL hell. |
| 23:19:24 | <monochrom> | program : supporting libs :: true statement :: the proof system that proved it |
| 23:19:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:20:45 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 23:21:20 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 272 seconds) |
| 23:21:20 | tnt2 | is now known as tnt1 |
| 23:21:41 | <monochrom> | Oh and... |
| 23:21:50 | <monochrom> | @quote monochrom polymorphic |
| 23:21:50 | <lambdabot> | monochrom says: All pointless debates can be settled by going polymorphic. |
| 23:22:57 | <c_wraith> | does that also apply to pointfree debates? |
| 23:23:13 | <monochrom> | haha, I haven't thought of that. |
| 23:23:51 | → | igorantonow joins (~igor@user/igorantonow) |
| 23:24:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 23:25:20 | × | simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 265 seconds) |
| 23:31:06 | × | igorantonow quits (~igor@user/igorantonow) (Remote host closed the connection) |
| 23:33:57 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:35:53 | × | ss4 quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 23:37:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:40:47 | × | Everything quits (~Everythin@195.138.86.118) (Quit: leaving) |
| 23:42:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 23:42:44 | → | tallcatparade joins (~tallcatpa@99-171-182-203.lightspeed.sndgca.sbcglobal.net) |
| 23:43:44 | → | alecs joins (~alecs@61.pool85-58-154.dynamic.orange.es) |
| 23:47:48 | × | alecs quits (~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 244 seconds) |
| 23:53:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:57:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:57:47 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 23:58:09 | × | tallcatparade quits (~tallcatpa@99-171-182-203.lightspeed.sndgca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 23:58:55 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
All times are in UTC on 2025-01-17.