2024-04-05 00:02:04 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3240-7e76-652c-a596-803f-a5ea.rev.sfr.net) (Remote host closed the connection) |
2024-04-05 00:02:23 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3240-7e76-652c-a596-803f-a5ea.rev.sfr.net) |
2024-04-05 00:03:21 +0200 | Eoco | (~ian@128.101.131.218) |
2024-04-05 00:14:44 +0200 | acidjnk_new | (~acidjnk@p200300d6e714dc57ec96801fcefcf5b5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2024-04-05 00:27:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 00:29:30 +0200 | <Inst> | curious, how does unsafeCoerce work, anyways, and how can I predict where it'll segfault? |
2024-04-05 00:31:33 +0200 | <monochrom> | If "newtype T = MkT Int" for example, then unsafeCoerce between T and Int is OK (unless you also need their typeclass instances). |
2024-04-05 00:32:18 +0200 | <monochrom> | But that use case is better served with the compiler-generated safe Coercible instance. |
2024-04-05 00:32:24 +0200 | <monochrom> | s/with/by/ |
2024-04-05 00:32:55 +0200 | <EvanR> | unsafeCoerce dismisses the type checker and so you're at the mercy of dreaded actual behavior of the compiler |
2024-04-05 00:33:13 +0200 | <EvanR> | if you use it wrong, good luck predicting *where* it will segfault, if it even does that |
2024-04-05 00:33:35 +0200 | <EvanR> | it could cause monkeys to fly out of your nose! |
2024-04-05 00:34:04 +0200 | <Inst> | yeah, i'm having fun |
2024-04-05 00:34:11 +0200 | <Inst> | did you know that [Void] is inhabited? |
2024-04-05 00:34:26 +0200 | <Inst> | Incidentally, by the same logic, so's Maybe Void |
2024-04-05 00:34:31 +0200 | <sadie_> | > [] @Void |
2024-04-05 00:34:33 +0200 | <lambdabot> | <hint>:1:4: error: parse error on input ‘@’ |
2024-04-05 00:34:54 +0200 | <sadie_> | > ([] :: [Void]) |
2024-04-05 00:34:55 +0200 | <lambdabot> | [] |
2024-04-05 00:35:00 +0200 | <monochrom> | Maybe Void is inhabited by Nothing and this is independent of Void. |
2024-04-05 00:35:12 +0200 | <sadie_> | :3 |
2024-04-05 00:35:32 +0200 | <Inst> | actually it's trivial, in the same way Proxy (a :: k) is a thing |
2024-04-05 00:36:07 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds) |
2024-04-05 00:38:09 +0200 | Guest96 | (~Guest96@sgyl-43-b2-v4wan-169648-cust2111.vm6.cable.virginm.net) |
2024-04-05 00:39:40 +0200 | yin | (~yin@user/zero) |
2024-04-05 00:39:53 +0200 | <EvanR> | Void is inhabited too |
2024-04-05 00:40:09 +0200 | Guest96 | (~Guest96@sgyl-43-b2-v4wan-169648-cust2111.vm6.cable.virginm.net) () |
2024-04-05 00:40:38 +0200 | <EvanR> | newton may have been on to something when he claimed there were ghosts of departed quantity |
2024-04-05 00:40:49 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-04-05 00:41:05 +0200 | <Inst> | bottom, of course |
2024-04-05 00:46:17 +0200 | <EvanR> | http://sigtbd.csail.mit.edu/pubs/2016/paper9.pdf |
2024-04-05 01:04:23 +0200 | poxel | (~lennart@user/poxel) (Quit: WeeChat 4.2.1) |
2024-04-05 01:09:10 +0200 | yin | (~yin@user/zero) (Ping timeout: 255 seconds) |
2024-04-05 01:18:04 +0200 | <Inst> | is there a specific terminology to "being only inhabited by bottom"? |
2024-04-05 01:20:02 +0200 | <EvanR> | equivalent to Void xD |
2024-04-05 01:20:51 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2024-04-05 01:21:10 +0200 | <ncf> | empty |
2024-04-05 01:23:38 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 01:27:48 +0200 | <EvanR> | the type speaks an infinite deal of nothing |
2024-04-05 01:28:50 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-05 01:31:00 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 01:31:06 +0200 | yin | (~yin@user/zero) |
2024-04-05 01:33:23 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 01:34:50 +0200 | <Maxdamantus> | how many bottom values are there? |
2024-04-05 01:35:46 +0200 | mei | (~mei@user/mei) |
2024-04-05 01:35:47 +0200 | <c_wraith> | as many as you want. |
2024-04-05 01:35:57 +0200 | <c_wraith> | Depending on how willing you are to distinguish them. |
2024-04-05 01:36:05 +0200 | <c_wraith> | Or two. |
2024-04-05 01:36:13 +0200 | <Maxdamantus> | is `fix id` the same as `undefined`? is `undefined` the same as `error "defined"`? |
2024-04-05 01:36:23 +0200 | <c_wraith> | If the only things you'll recognize is "runtime exception" vs "nontermination" |
2024-04-05 01:37:58 +0200 | <c_wraith> | segfault is the same as undefined! |
2024-04-05 01:38:21 +0200 | <Maxdamantus> | well, if I'm allowed to decide, I decide that there are 0 bottom values, since the evaluation never finishes. |
2024-04-05 01:39:25 +0200 | <c_wraith> | that's a very internal viewpoint, but IO can distinguish between runtime exceptions and non-termination. (though it can't distinguish non-termination from "not terminated yet") |
2024-04-05 01:39:35 +0200 | <Maxdamantus> | so `Void` has 0 values and `[Void]` has 1 value and people can make sense of the world again. |
2024-04-05 01:39:43 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-04-05 01:39:59 +0200 | <c_wraith> | Eh. [Void] has n values. |
2024-04-05 01:40:04 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-04-05 01:40:05 +0200 | <c_wraith> | no matter how many Void has. |
2024-04-05 01:40:23 +0200 | <Maxdamantus> | I can at least accept the logic there. |
2024-04-05 01:41:32 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 01:42:42 +0200 | <EvanR> | you can decide to ignore differences for the sake of abstraction |
2024-04-05 01:43:02 +0200 | <EvanR> | but you can't introduce differences where there are none... apparently like multi-electron wavefunctions |
2024-04-05 01:43:12 +0200 | <EvanR> | or you get the wrong statistics |
2024-04-05 01:43:18 +0200 | <c_wraith> | You can even mumble "fast and loose reasoning is morally correct" and ignore bottoms entirely when analyzing behavior in fully-defined situations. |
2024-04-05 01:44:03 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 01:44:58 +0200 | <c_wraith> | If your code generates fully-defined outputs for all fully-defined inputs, then you've at least established some bounds on its behavior even if you ignore inputs with bottoms in them. |
2024-04-05 01:46:48 +0200 | <EvanR> | [Void] has n values? |
2024-04-05 01:47:00 +0200 | <EvanR> | what is n |
2024-04-05 01:47:11 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 01:47:22 +0200 | <c_wraith> | some number. |
2024-04-05 01:47:27 +0200 | <EvanR> | which one xD |
2024-04-05 01:47:40 +0200 | <c_wraith> | bigger than whichever one you're gonna ask about. |
2024-04-05 01:47:44 +0200 | <EvanR> | lool |
2024-04-05 01:47:55 +0200 | <EvanR> | n + 1 ? |
2024-04-05 01:48:05 +0200 | <c_wraith> | nope, bigger. |
2024-04-05 01:48:14 +0200 | <EvanR> | n > n + 1 |
2024-04-05 01:48:50 +0200 | <c_wraith> | now, solve the recurrance... |
2024-04-05 01:49:45 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 01:50:30 +0200 | <EvanR> | 0 > 1 |
2024-04-05 01:50:53 +0200 | <EvanR> | that's absurd |
2024-04-05 01:53:52 +0200 | <yin> | :t absurd |
2024-04-05 01:53:54 +0200 | <lambdabot> | Void -> a |
2024-04-05 01:55:10 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Ping timeout: 268 seconds) |
2024-04-05 01:55:34 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
2024-04-05 01:57:18 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2024-04-05 01:57:32 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 01:58:28 +0200 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2024-04-05 01:58:47 +0200 | EvanR | (~EvanR@user/evanr) |
2024-04-05 01:59:22 +0200 | shapr | (~user@c-24-218-186-89.hsd1.ma.comcast.net) (Read error: Connection reset by peer) |
2024-04-05 01:59:50 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
2024-04-05 01:59:55 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 02:00:04 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) |
2024-04-05 02:02:59 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 02:05:28 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 02:11:34 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 02:14:02 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 02:14:26 +0200 | fererrorocher | (fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1) |
2024-04-05 02:24:58 +0200 | mima | (~mmh@87-99-53-133.internetia.net.pl) (Quit: leaving) |
2024-04-05 02:31:59 +0200 | sadie_ | (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection) |
2024-04-05 02:54:16 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Quit: Leaving.) |
2024-04-05 03:00:40 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
2024-04-05 03:01:39 +0200 | bairyn | (~bairyn@50.250.232.19) (Ping timeout: 255 seconds) |
2024-04-05 03:03:34 +0200 | bairyn | (~bairyn@50.250.232.19) |
2024-04-05 03:11:26 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 03:16:03 +0200 | TheCoffeMaker_ | (~TheCoffeM@200.114.213.75) (Ping timeout: 260 seconds) |
2024-04-05 03:16:03 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-04-05 03:16:25 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-05 03:18:50 +0200 | mei | (~mei@user/mei) |
2024-04-05 03:20:07 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
2024-04-05 03:24:03 +0200 | dolio | (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-04-05 03:26:07 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2024-04-05 03:26:39 +0200 | dolio | (~dolio@130.44.134.54) |
2024-04-05 03:39:11 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3240-7e76-652c-a596-803f-a5ea.rev.sfr.net) (Remote host closed the connection) |
2024-04-05 03:39:51 +0200 | xff0x | (~xff0x@2405:6580:b080:900:1c1a:c3eb:5e35:e984) (Ping timeout: 260 seconds) |
2024-04-05 03:45:08 +0200 | prasad | (~prasad_ma@2601:243:c001:3f07::54) (Quit: Leaving) |
2024-04-05 03:45:46 +0200 | otto_s | (~user@p5de2fc81.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2024-04-05 03:47:33 +0200 | otto_s | (~user@p5b04448d.dip0.t-ipconnect.de) |
2024-04-05 04:03:04 +0200 | cipherrot | (~znc-user@user/petrichor) |
2024-04-05 04:04:13 +0200 | petrichor | (~znc-user@user/petrichor) (Ping timeout: 255 seconds) |
2024-04-05 04:13:30 +0200 | yangby | (~secret@36.24.163.39) (Quit: Go out for a walk and buy a drink.) |
2024-04-05 04:13:51 +0200 | yangby | (~secret@36.24.163.39) |
2024-04-05 04:16:05 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 04:16:40 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 246 seconds) |
2024-04-05 04:16:53 +0200 | travgm | (~travgm@fsf/member/travgm) |
2024-04-05 04:17:59 +0200 | yin | (~yin@user/zero) (Ping timeout: 264 seconds) |
2024-04-05 04:19:43 +0200 | yangby | (~secret@36.24.163.39) (Quit: Go out for a walk and buy a drink.) |
2024-04-05 04:20:04 +0200 | yangby | (~secret@36.24.163.39) |
2024-04-05 04:24:19 +0200 | yin | (~yin@user/zero) |
2024-04-05 04:24:52 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-04-05 04:26:24 +0200 | yangby | (~secret@36.24.163.39) (Quit: Go out for a walk and buy a drink.) |
2024-04-05 04:29:04 +0200 | travgm | (~travgm@fsf/member/travgm) (Ping timeout: 256 seconds) |
2024-04-05 04:36:18 +0200 | sadie_ | (~sadie@c-76-155-235-153.hsd1.co.comcast.net) |
2024-04-05 04:36:43 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-05 04:39:08 +0200 | mei | (~mei@user/mei) |
2024-04-05 04:42:45 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2024-04-05 04:44:21 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-04-05 04:46:05 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2024-04-05 04:50:06 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) |
2024-04-05 04:53:00 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
2024-04-05 04:54:08 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) () |
2024-04-05 04:54:42 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
2024-04-05 04:56:58 +0200 | yin | (~yin@user/zero) (Ping timeout: 264 seconds) |
2024-04-05 04:58:15 +0200 | td_ | (~td@i53870905.versanet.de) (Ping timeout: 260 seconds) |
2024-04-05 04:59:45 +0200 | td_ | (~td@i53870915.versanet.de) |
2024-04-05 04:59:55 +0200 | yin | (~yin@user/zero) |
2024-04-05 05:07:01 +0200 | yin | (~yin@user/zero) (Ping timeout: 272 seconds) |
2024-04-05 05:08:49 +0200 | yin | (~yin@user/zero) |
2024-04-05 05:25:46 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-04-05 05:26:11 +0200 | aforemny | (~aforemny@i59F516F4.versanet.de) |
2024-04-05 05:26:49 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2024-04-05 05:27:28 +0200 | aforemny_ | (~aforemny@2001:9e8:6cc4:5e00:b48c:6599:621f:9f88) (Ping timeout: 255 seconds) |
2024-04-05 05:29:47 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-04-05 05:32:17 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 06:05:08 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-04-05 06:08:07 +0200 | caconym | (~caconym@user/caconym) |
2024-04-05 06:11:09 +0200 | yin | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-04-05 06:13:44 +0200 | igemnace | (~ian@user/igemnace) |
2024-04-05 06:17:11 +0200 | yin | (~yin@user/zero) |
2024-04-05 06:22:10 +0200 | yin | (~yin@user/zero) (Ping timeout: 264 seconds) |
2024-04-05 06:31:43 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-04-05 06:37:00 +0200 | yin | (~yin@user/zero) |
2024-04-05 06:37:06 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Quit: Leaving.) |
2024-04-05 06:41:30 +0200 | visilii | (~visilii@188.254.110.118) |
2024-04-05 06:42:19 +0200 | visilii_ | (~visilii@46.61.242.185) (Ping timeout: 256 seconds) |
2024-04-05 06:42:34 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds) |
2024-04-05 06:46:05 +0200 | michalz | (~michalz@185.246.207.193) |
2024-04-05 06:48:00 +0200 | yin | (~yin@user/zero) (Ping timeout: 255 seconds) |
2024-04-05 06:49:56 +0200 | yin | (~yin@user/zero) |
2024-04-05 06:54:05 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-04-05 07:00:38 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-04-05 07:00:57 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2024-04-05 07:05:52 +0200 | sadie_ | (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection) |
2024-04-05 07:09:59 +0200 | yin | (~yin@user/zero) (Ping timeout: 268 seconds) |
2024-04-05 07:15:46 +0200 | Square | (~Square4@user/square) |
2024-04-05 07:24:04 +0200 | yin | (~yin@user/zero) |
2024-04-05 07:41:09 +0200 | danza | (~francesco@151.43.187.104) |
2024-04-05 07:44:58 +0200 | yin | (~yin@user/zero) (Ping timeout: 264 seconds) |
2024-04-05 07:46:18 +0200 | sroso | (~sroso@user/SrOso) |
2024-04-05 07:53:34 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2024-04-05 07:57:14 +0200 | sroso | (~sroso@user/SrOso) (Remote host closed the connection) |
2024-04-05 07:57:56 +0200 | sroso | (~sroso@user/SrOso) |
2024-04-05 07:58:23 +0200 | sroso | (~sroso@user/SrOso) (Max SendQ exceeded) |
2024-04-05 07:58:24 +0200 | yin | (~yin@user/zero) |
2024-04-05 07:58:43 +0200 | sroso | (~sroso@user/SrOso) |
2024-04-05 07:58:50 +0200 | sroso | (~sroso@user/SrOso) (Client Quit) |
2024-04-05 07:59:26 +0200 | gentauro | (~gentauro@user/gentauro) |
2024-04-05 08:00:04 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-04-05 08:05:58 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds) |
2024-04-05 08:07:42 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2024-04-05 08:10:28 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 08:11:57 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-04-05 08:16:29 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2024-04-05 08:18:03 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2024-04-05 08:18:50 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
2024-04-05 08:19:06 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2024-04-05 08:19:47 +0200 | yin | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-04-05 08:20:54 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2024-04-05 08:21:29 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2024-04-05 08:21:58 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2024-04-05 08:22:19 +0200 | yin | (~yin@user/zero) |
2024-04-05 08:27:06 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-04-05 08:29:20 +0200 | <mauke> | what is unicode syntax good for if it doesn't let me replace -> by ≥ ? |
2024-04-05 08:29:58 +0200 | <danza> | >= ? |
2024-04-05 08:31:56 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-04-05 08:36:45 +0200 | <mauke> | ⤜ is the closest I can find |
2024-04-05 08:37:23 +0200 | bilegeek | (~bilegeek@2600:1008:b06f:5190:2e65:7fa0:5226:d224) |
2024-04-05 08:37:46 +0200 | <mauke> | ⪚ |
2024-04-05 08:47:11 +0200 | danza | (~francesco@151.43.187.104) (Ping timeout: 252 seconds) |
2024-04-05 08:48:04 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-04-05 08:53:08 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-04-05 08:55:56 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-04-05 09:08:13 +0200 | acidjnk_new | (~acidjnk@p200300d6e714dc123800cc33cf682def.dip0.t-ipconnect.de) |
2024-04-05 09:13:04 +0200 | CiaoSen | (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) |
2024-04-05 09:13:10 +0200 | CiaoSen | (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) (Client Quit) |
2024-04-05 09:13:23 +0200 | CiaoSen | (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) |
2024-04-05 09:13:39 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 09:21:02 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-04-05 09:21:17 +0200 | caconym | (~caconym@user/caconym) |
2024-04-05 09:21:38 +0200 | zetef | (~quassel@5.2.182.99) (Ping timeout: 268 seconds) |
2024-04-05 09:21:55 +0200 | yin | (~yin@user/zero) (Ping timeout: 255 seconds) |
2024-04-05 09:22:54 +0200 | caconym | (~caconym@user/caconym) (Client Quit) |
2024-04-05 09:25:55 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2024-04-05 09:28:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 09:28:50 +0200 | CiaoSen | (~Jura@2a05:5800:29a:5e00:e6b9:7aff:fe80:3d03) (Ping timeout: 256 seconds) |
2024-04-05 09:31:19 +0200 | yin | (~yin@user/zero) |
2024-04-05 09:40:20 +0200 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
2024-04-05 09:40:34 +0200 | danse-nr3 | (~danse-nr3@151.44.199.122) |
2024-04-05 09:45:35 +0200 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-04-05 09:46:18 +0200 | yin | (~yin@user/zero) (Ping timeout: 268 seconds) |
2024-04-05 09:47:24 +0200 | yin | (~yin@user/zero) |
2024-04-05 10:00:11 +0200 | tomsmeding | hopes mauke 's question was in jest |
2024-04-05 10:00:35 +0200 | <Reinhilde> | mauke, do you mean → |
2024-04-05 10:01:53 +0200 | <tomsmeding> | the actual problem with UnicodeSyntax is that you can't write \ as λ |
2024-04-05 10:02:14 +0200 | <Reinhilde> | hwat |
2024-04-05 10:02:27 +0200 | igemnace | (~ian@user/igemnace) |
2024-04-05 10:02:31 +0200 | <tomsmeding> | (because λ is a letter so it's a valid variable name) |
2024-04-05 10:05:33 +0200 | <mauke> | tomsmeding: that's a feature, not a bug |
2024-04-05 10:06:05 +0200 | gmg | (~user@user/gehmehgeh) |
2024-04-05 10:06:15 +0200 | <tomsmeding> | mauke: you started complaining that you couldn't write -> as ≥ xD |
2024-04-05 10:06:35 +0200 | <Reinhilde> | greater than or equal to |
2024-04-05 10:06:50 +0200 | <mauke> | those are still symbols |
2024-04-05 10:07:04 +0200 | <tomsmeding> | → also is |
2024-04-05 10:07:23 +0200 | <mauke> | I don't want letters in my symbols and λ is clearly a letter |
2024-04-05 10:08:07 +0200 | tomsmeding | was mostly joking about λ, but is now suspecting mauke of not joking about ≥ |
2024-04-05 10:09:09 +0200 | Square | (~Square4@user/square) (Ping timeout: 256 seconds) |
2024-04-05 10:09:09 +0200 | <mauke> | sometimes it's hard to tell |
2024-04-05 10:09:15 +0200 | <tomsmeding> | % type a ≥ b = a -> b |
2024-04-05 10:09:15 +0200 | <yahb2> | <no output> |
2024-04-05 10:09:34 +0200 | <tomsmeding> | % type a ≥ b = a -> b; infixr 0 ≥ |
2024-04-05 10:09:34 +0200 | <yahb2> | <no output> |
2024-04-05 10:09:39 +0200 | <tomsmeding> | can't quite give it -1 |
2024-04-05 10:10:20 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-04-05 10:10:51 +0200 | <mauke> | % (show :: Int ≥ String) 42 |
2024-04-05 10:10:51 +0200 | <yahb2> | "42" |
2024-04-05 10:11:27 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
2024-04-05 10:11:41 +0200 | <mauke> | % (show ⚃ Int ≥ String) 42 |
2024-04-05 10:11:41 +0200 | <yahb2> | <interactive>:21:7: error: ; Variable not in scope: (⚃) :: (a0 -> String) -> t3 -> t6 ; ; <interactive>:21:9: error: ; • Illegal term-level use of the type constructor ‘Int’ ; impo... |
2024-04-05 10:13:37 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-04-05 10:14:22 +0200 | gmg | (~user@user/gehmehgeh) |
2024-04-05 10:14:25 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2024-04-05 10:17:23 +0200 | shara_ | (~shara@c-24-60-154-223.hsd1.ma.comcast.net) |
2024-04-05 10:19:55 +0200 | yin | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-04-05 10:20:13 +0200 | sharan | (~shara@c-24-60-154-223.hsd1.ma.comcast.net) (Ping timeout: 268 seconds) |
2024-04-05 10:21:51 +0200 | akegalj | (~akegalj@141-136-147-171.dsl.iskon.hr) |
2024-04-05 10:26:19 +0200 | danse-nr3 | (~danse-nr3@151.44.199.122) (Remote host closed the connection) |
2024-04-05 10:26:24 +0200 | yin | (~yin@user/zero) |
2024-04-05 10:26:43 +0200 | danse-nr3 | (~danse-nr3@151.44.199.122) |
2024-04-05 10:28:40 +0200 | Square2 | (~Square@user/square) |
2024-04-05 10:30:33 +0200 | ft | (~ft@p4fc2a20e.dip0.t-ipconnect.de) (Quit: leaving) |
2024-04-05 10:45:15 +0200 | titibandit_ | (~titibandi@ip-037-201-154-121.um10.pools.vodafone-ip.de) |
2024-04-05 10:45:26 +0200 | danse-nr3 | (~danse-nr3@151.44.199.122) (Ping timeout: 252 seconds) |
2024-04-05 10:47:35 +0200 | ubert | (~Thunderbi@p200300ecdf1b4f9949cdb76d47d708bb.dip0.t-ipconnect.de) |
2024-04-05 10:55:58 +0200 | danse-nr3 | (~danse-nr3@151.44.199.122) |
2024-04-05 11:03:14 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-04-05 11:03:18 +0200 | titibandit | (~titibandi@user/titibandit) |
2024-04-05 11:05:47 +0200 | zetef | (~quassel@5.2.182.99) |
2024-04-05 11:08:31 +0200 | <tomsmeding> | % (show ∷ Int ≥ String) 42 |
2024-04-05 11:08:31 +0200 | <yahb2> | <interactive>:23:7: error: ; Variable not in scope: (∷) :: (a0 -> String) -> t3 -> t6 ; ; <interactive>:23:9: error: ; • Illegal term-level use of the type constructor ‘Int’ ; impo... |
2024-04-05 11:08:32 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2024-04-05 11:08:39 +0200 | <tomsmeding> | % :set -XUnicodeSyntax |
2024-04-05 11:08:39 +0200 | <yahb2> | <no output> |
2024-04-05 11:08:41 +0200 | <tomsmeding> | % (show ∷ Int ≥ String) 42 |
2024-04-05 11:08:41 +0200 | <yahb2> | "42" |
2024-04-05 11:11:14 +0200 | titibandit | (~titibandi@user/titibandit) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
2024-04-05 11:11:14 +0200 | titibandit_ | titibandit |
2024-04-05 11:11:15 +0200 | titibandit | Guest9522 |
2024-04-05 11:12:23 +0200 | titibandit | (~titibandi@user/titibandit) |
2024-04-05 11:16:22 +0200 | yin | (~yin@user/zero) |
2024-04-05 11:20:58 +0200 | fryguybob | (~fryguybob@024-094-050-022.inf.spectrum.com) (Ping timeout: 264 seconds) |
2024-04-05 11:26:21 +0200 | fryguybob | (~fryguybob@024-094-050-022.inf.spectrum.com) |
2024-04-05 11:26:34 +0200 | bilegeek | (~bilegeek@2600:1008:b06f:5190:2e65:7fa0:5226:d224) (Quit: Leaving) |
2024-04-05 11:31:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 11:35:15 +0200 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2024-04-05 11:36:22 +0200 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
2024-04-05 11:38:21 +0200 | <Inst> | Did anyone look at Universum? |
2024-04-05 11:39:28 +0200 | qqq | (~qqq@92.43.167.61) |
2024-04-05 11:39:53 +0200 | Square | (~Square4@user/square) |
2024-04-05 11:40:09 +0200 | mrmr1553349 | (~mrmr@user/mrmr) |
2024-04-05 11:40:31 +0200 | mrmr155334 | (~mrmr@user/mrmr) (Ping timeout: 255 seconds) |
2024-04-05 11:40:31 +0200 | mrmr1553349 | mrmr155334 |
2024-04-05 11:42:54 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2024-04-05 11:46:03 +0200 | yin | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-04-05 11:47:02 +0200 | yin | (~yin@user/zero) |
2024-04-05 11:50:41 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 11:51:36 +0200 | son0p | (~ff@191.104.17.254) |
2024-04-05 12:07:51 +0200 | Guest9522 | (~titibandi@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Remote host closed the connection) |
2024-04-05 12:09:21 +0200 | titibandit | (~titibandi@user/titibandit) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
2024-04-05 12:13:21 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1) |
2024-04-05 12:14:22 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds) |
2024-04-05 12:17:44 +0200 | sroso | (~sroso@user/SrOso) |
2024-04-05 12:23:27 +0200 | otto_s | (~user@p5b04448d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2024-04-05 12:23:39 +0200 | <Inst> | anyone have an opinion on Crypton-connection? |
2024-04-05 12:23:52 +0200 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) |
2024-04-05 12:25:03 +0200 | otto_s | (~user@p5de2f5c3.dip0.t-ipconnect.de) |
2024-04-05 12:25:40 +0200 | titibandit | (~titibandi@user/titibandit) |
2024-04-05 12:29:56 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2024-04-05 12:30:09 +0200 | titibandit | (~titibandi@user/titibandit) (Remote host closed the connection) |
2024-04-05 12:32:17 +0200 | titibandit | (~titibandi@user/titibandit) |
2024-04-05 12:33:00 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-04-05 12:33:43 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2024-04-05 12:35:54 +0200 | Lord_of_Life_ | Lord_of_Life |
2024-04-05 12:38:24 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
2024-04-05 12:38:48 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Client Quit) |
2024-04-05 12:41:03 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
2024-04-05 12:41:36 +0200 | yin | (~yin@user/zero) |
2024-04-05 12:43:55 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Client Quit) |
2024-04-05 12:45:02 +0200 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2024-04-05 12:45:23 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-04-05 12:46:00 +0200 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
2024-04-05 12:46:04 +0200 | <kuribas> | fullstack means javascript + javascript (nodejs), right? |
2024-04-05 12:46:07 +0200 | <kuribas> | I wish it could mean haskell + purescript ... |
2024-04-05 12:49:48 +0200 | <ncf> | mauke: that's kind of odd; usually → would be replaced by ≤ |
2024-04-05 12:50:38 +0200 | <ncf> | (decategorifying sets into numbers, e.g. Void → () becomes 0 ≤ 1) |
2024-04-05 12:52:19 +0200 | <kuribas> | I thought -> is exponentiation |
2024-04-05 12:52:40 +0200 | <kuribas> | (Void -> ()) ~= 0^1 == 0 |
2024-04-05 12:54:03 +0200 | <mauke> | f :: Void ≥ Void; f_1 v = v; f_2 v = absurd v |
2024-04-05 12:54:10 +0200 | <mauke> | 0^0 == 2 |
2024-04-05 12:54:45 +0200 | <ncf> | yeah you have to look at a category of sets and injections |
2024-04-05 12:54:58 +0200 | <ncf> | i guess you could argue that surjections would give you the opposite order... |
2024-04-05 12:55:35 +0200 | <ncf> | except when 0 is involved |
2024-04-05 12:56:13 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
2024-04-05 12:56:25 +0200 | ubert | (~Thunderbi@p200300ecdf1b4f9949cdb76d47d708bb.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2024-04-05 12:59:22 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Changing host) |
2024-04-05 12:59:22 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-05 12:59:26 +0200 | philopsos | (~caecilius@user/philopsos) (Client Quit) |
2024-04-05 12:59:27 +0200 | danse-nr3 | (~danse-nr3@151.44.199.122) (Read error: Connection reset by peer) |
2024-04-05 12:59:29 +0200 | ubert | (~Thunderbi@p548c8b9f.dip0.t-ipconnect.de) |
2024-04-05 12:59:41 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) |
2024-04-05 12:59:58 +0200 | philopsos | (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Changing host) |
2024-04-05 12:59:58 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-05 13:00:21 +0200 | danse-nr3 | (~danse-nr3@151.57.3.21) |
2024-04-05 13:00:38 +0200 | <ncf> | mauke: i would simply assume funext |
2024-04-05 13:01:14 +0200 | philopsos | (~caecilius@user/philopsos) (Client Quit) |
2024-04-05 13:01:57 +0200 | <Inst> | kuribas: does fullstack imply that you use node.js as a backend language? |
2024-04-05 13:02:00 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-05 13:02:11 +0200 | <Inst> | fullstack ruby on rails is a thing |
2024-04-05 13:02:25 +0200 | <Inst> | and i suppose you could wasm for frontend as well? |
2024-04-05 13:02:36 +0200 | philopsos | (~caecilius@user/philopsos) (Client Quit) |
2024-04-05 13:03:38 +0200 | <int-e> | I think the joke was that you could be a "full stack" developer while knowing only a single programming language |
2024-04-05 13:03:39 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-05 13:04:08 +0200 | philopsos | (~caecilius@user/philopsos) (Client Quit) |
2024-04-05 13:04:13 +0200 | <Inst> | how is that funny? |
2024-04-05 13:04:24 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-05 13:04:52 +0200 | philopsos | (~caecilius@user/philopsos) (Client Quit) |
2024-04-05 13:05:09 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-05 13:06:13 +0200 | <mauke> | stack of one |
2024-04-05 13:06:36 +0200 | ftweedal | (~ftweedal@211.30.152.176) (Ping timeout: 260 seconds) |
2024-04-05 13:07:21 +0200 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 255 seconds) |
2024-04-05 13:09:34 +0200 | <ncf> | full-stack is when you only use forth |
2024-04-05 13:12:10 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) |
2024-04-05 13:12:15 +0200 | xff0x | (~xff0x@2405:6580:b080:900:2bd3:fa41:7b29:56d9) |
2024-04-05 13:15:48 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-04-05 13:21:41 +0200 | sroso | (~sroso@user/SrOso) (Ping timeout: 240 seconds) |
2024-04-05 13:22:58 +0200 | sroso | (~sroso@user/SrOso) |
2024-04-05 13:30:29 +0200 | <danse-nr3> | a fullstack dev usually works with different languages. A whole stack in the same lang is (improperly) called "isomorphic" if i recall correctly |
2024-04-05 13:33:01 +0200 | random-jellyfish | (~developer@user/random-jellyfish) (Ping timeout: 255 seconds) |
2024-04-05 13:36:12 +0200 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
2024-04-05 13:38:10 +0200 | visilii | (~visilii@188.254.110.118) (Ping timeout: 268 seconds) |
2024-04-05 13:43:33 +0200 | destituion | (~destituio@85.221.111.174) |
2024-04-05 13:44:38 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-04-05 13:45:26 +0200 | yeitrafferin | (~user@2a04:4540:7205:cc00:73fb:e92e:478f:daa3) |
2024-04-05 13:56:32 +0200 | ph88 | (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) |
2024-04-05 13:57:05 +0200 | <ph88> | when i have multiple records with the same field name is there an extension that can help to find out from which record type to use the field ? |
2024-04-05 13:58:40 +0200 | <kuribas> | Inst: I thought it did. |
2024-04-05 13:59:37 +0200 | <tomsmeding> | ph88: there is https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/disambiguate_record_fields.html#ext… but it's not very powerful iirc |
2024-04-05 14:01:04 +0200 | <ph88> | how can i use it on the call site ? |
2024-04-05 14:01:09 +0200 | <tomsmeding> | kuribas: the exponentiation goes the other way, a -> b is b^a |
2024-04-05 14:01:51 +0200 | <tomsmeding> | it's a product of bs, one for every value of a |
2024-04-05 14:02:02 +0200 | <tomsmeding> | ph88: the extension works or it doesn't work :p |
2024-04-05 14:02:42 +0200 | <tomsmeding> | if it doesn't, there's probably a reason why that case is hard in general |
2024-04-05 14:02:57 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-04-05 14:06:03 +0200 | jle` | (~jle`@2603-8001-3b02-84d4-c3f6-003a-068f-efb1.res6.spectrum.com) (Remote host closed the connection) |
2024-04-05 14:06:29 +0200 | jle` | (~jle`@2603-8001-3b02-84d4-fb26-0043-58fe-e57b.res6.spectrum.com) |
2024-04-05 14:08:33 +0200 | yeitrafferin | (~user@2a04:4540:7205:cc00:73fb:e92e:478f:daa3) (Quit: Leaving) |
2024-04-05 14:11:12 +0200 | <ph88> | when i use SomeModule https://bpa.st/3UEA in another module it can not differentiate which record extraChildren belong to. Do i have to enable some extensions in the calling module too? |
2024-04-05 14:14:38 +0200 | <tomsmeding> | ph88: I think you need the DisambiguateRecordFields extension in the module where the disambiguation needs to happen |
2024-04-05 14:14:43 +0200 | <tomsmeding> | hence in the calling module |
2024-04-05 14:15:27 +0200 | <tomsmeding> | but relying on the extension in a public interface is not particularly nice, precisely because it cannot handle all cases that one would want |
2024-04-05 14:16:10 +0200 | yin | (~yin@user/zero) (Ping timeout: 264 seconds) |
2024-04-05 14:21:12 +0200 | danse-nr3 | (~danse-nr3@151.57.3.21) (Read error: Connection reset by peer) |
2024-04-05 14:26:20 +0200 | yin | (~yin@user/zero) |
2024-04-05 14:28:13 +0200 | <ph88> | is there any way i can specificy "manually" which `extraChildren` i want without the use of extensions? |
2024-04-05 14:37:04 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-04-05 14:39:16 +0200 | qqq | (~qqq@92.43.167.61) |
2024-04-05 14:45:34 +0200 | ftweedal | (~ftweedal@211.30.152.176) |
2024-04-05 14:50:17 +0200 | danse-nr3 | (~danse-nr3@151.57.121.183) |
2024-04-05 14:50:39 +0200 | danse-nr3 | (~danse-nr3@151.57.121.183) (Remote host closed the connection) |
2024-04-05 14:51:04 +0200 | danse-nr3 | (~danse-nr3@151.57.121.183) |
2024-04-05 14:51:27 +0200 | <kuribas> | tomsmeding: right :) |
2024-04-05 14:52:54 +0200 | <Hecate> | https://fosstodon.org/@haskell/112218627494648144 |
2024-04-05 14:52:59 +0200 | <Hecate> | https://twitter.com/HaskellOrg/status/1776226543204700248 |
2024-04-05 14:54:25 +0200 | <Rembane> | \o/ |
2024-04-05 14:56:40 +0200 | <opqdonut> | is there something special in 9.8.2? |
2024-04-05 14:57:56 +0200 | <Hecate> | opqdonut: yah it's not very adopted :D |
2024-04-05 14:59:48 +0200 | <Hecate> | opqdonut: more interestingly, GHC 9.8 implements the semaphore concurrency proposal, which (with the right cabal-install version) enables you to greatly improve compilation performance when a lot of different modules/units can be compiled in parallel |
2024-04-05 14:59:59 +0200 | <opqdonut> | well that's nice for sure |
2024-04-05 15:00:19 +0200 | <opqdonut> | I'm reading https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.8 and it doesn't seem that big of a change language-wise |
2024-04-05 15:00:30 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 15:00:39 +0200 | <Hecate> | opqdonut: nope but bound bumps are not automagic :) |
2024-04-05 15:00:45 +0200 | <Hecate> | (one day they will be) |
2024-04-05 15:00:45 +0200 | <opqdonut> | sure, sure |
2024-04-05 15:01:27 +0200 | <haskellbridge> | <shapr> I just heard about https://github.com/nomeata/cabal-plan-bounds |
2024-04-05 15:05:47 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 15:10:37 +0200 | philopsos | (~caecilius@user/philopsos) (Ping timeout: 256 seconds) |
2024-04-05 15:14:07 +0200 | ystael | (~ystael@user/ystael) |
2024-04-05 15:25:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 15:26:49 +0200 | <yin> | as i understand it GHC doesn't perform cross-module optimizations. wouldn't this be a very valuable thing specially in a language like haskell? |
2024-04-05 15:29:32 +0200 | <yin> | maybe it's cross-library? |
2024-04-05 15:30:54 +0200 | <yin> | anyways, compiling a program as a whole seems like it would be a very good thing |
2024-04-05 15:33:02 +0200 | <kuribas> | tomsmeding: so "() -> void" has cardinality 1^0 = 1, since there is no way to get a void value out of a tuple, but "void -> ()" has 0^1 = 1, since there is one way to get a tuple out of a void value (absurd proof)? |
2024-04-05 15:33:09 +0200 | ftweedal | (~ftweedal@211.30.152.176) (Ping timeout: 255 seconds) |
2024-04-05 15:33:58 +0200 | <ncf> | other way around |
2024-04-05 15:34:31 +0200 | <kuribas> | right |
2024-04-05 15:38:24 +0200 | <probie> | yin: GHC will still inline things marked with the inline pragma across both module and library boundaries. Whole program compilation (in the style of stalin or mlton) is slow and resource intensive |
2024-04-05 15:43:49 +0200 | malte | (~malte@mal.tc) (Remote host closed the connection) |
2024-04-05 15:44:57 +0200 | malte | (~malte@mal.tc) |
2024-04-05 15:52:23 +0200 | yin | (~yin@user/zero) (Ping timeout: 272 seconds) |
2024-04-05 15:56:56 +0200 | akegalj | (~akegalj@141-136-147-171.dsl.iskon.hr) (Remote host closed the connection) |
2024-04-05 16:03:10 +0200 | alex` | (~user@149.22.101.75) |
2024-04-05 16:06:41 +0200 | berekolo | (~berekolo@112.78.178.130) |
2024-04-05 16:13:32 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-04-05 16:16:19 +0200 | califax | (~califax@user/califx) |
2024-04-05 16:18:47 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1) |
2024-04-05 16:18:51 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-04-05 16:19:18 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 16:20:32 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.1.2) |
2024-04-05 16:23:19 +0200 | fererrorocher | (fererroroc@gateway/vpn/protonvpn/fererrorocher) |
2024-04-05 16:29:36 +0200 | <EvanR> | semaphore concurrency proposal? |
2024-04-05 16:29:53 +0200 | bjorkintosh | (~bjork@user/bjorkintosh) |
2024-04-05 16:29:56 +0200 | bjorkintosh | (~bjork@user/bjorkintosh) (Leaving) |
2024-04-05 16:31:12 +0200 | tomsmeding | nods at ncf and kuribas |
2024-04-05 16:32:27 +0200 | <tomsmeding> | Hecate: why migrate? Isn't support enough? |
2024-04-05 16:42:36 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-04-05 16:43:53 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-05 16:44:34 +0200 | fererrorocher | (fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1) |
2024-04-05 16:46:18 +0200 | mei | (~mei@user/mei) |
2024-04-05 16:48:32 +0200 | <tomsmeding> | EvanR: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-jsem.rst |
2024-04-05 16:51:27 +0200 | <EvanR> | execute build plans in shorter wall-time durations |
2024-04-05 16:51:31 +0200 | <EvanR> | in other words |
2024-04-05 16:51:34 +0200 | <EvanR> | run faster |
2024-04-05 16:51:35 +0200 | <tomsmeding> | yes |
2024-04-05 16:51:49 +0200 | <tomsmeding> | "sooner", in the terminology of the ghc user guide |
2024-04-05 16:52:42 +0200 | tomsmeding | hopes to be able to pass -jsem to cabal in the future without having to also pass --ghc-options=-jsem |
2024-04-05 16:53:26 +0200 | <EvanR> | oh, it uses system semaphores, interesting |
2024-04-05 16:53:42 +0200 | <tomsmeding> | well it's not very "system" |
2024-04-05 16:54:23 +0200 | <tomsmeding> | it uses a POSIX semaphore but it's a bespoke protocol for haskell tools |
2024-04-05 16:54:31 +0200 | <tomsmeding> | it's not like make(1) knows about it :) |
2024-04-05 16:55:02 +0200 | Rembane | teaches make about all the things |
2024-04-05 16:55:23 +0200 | <tomsmeding> | one of the alternatives in the proposal was to do the converse, to teach ghc and cabal about the make semaphore protocol |
2024-04-05 16:55:35 +0200 | <tomsmeding> | see the proposal for reasons why that was considered a bad idea |
2024-04-05 16:56:07 +0200 | <EvanR> | ghc uses make? |
2024-04-05 16:56:10 +0200 | <EvanR> | at all? |
2024-04-05 16:56:14 +0200 | <tomsmeding> | no |
2024-04-05 16:56:18 +0200 | <EvanR> | ok good |
2024-04-05 16:56:53 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 16:56:54 +0200 | <tomsmeding> | but to me "system semaphore" sounds like if you run ghc as well as other tools inside a single make(1) graph or something, they will cooperate |
2024-04-05 16:56:54 +0200 | <EvanR> | not that I have anything against make itself, for not-haskell |
2024-04-05 16:56:56 +0200 | <tomsmeding> | they will not |
2024-04-05 16:57:06 +0200 | <tomsmeding> | I would just have said "a semaphore" |
2024-04-05 16:57:16 +0200 | <tomsmeding> | implementation details being that it's a POSIX semaphore on unixy systems |
2024-04-05 16:57:24 +0200 | <EvanR> | I was referring to just thing supported by the OS |
2024-04-05 16:57:37 +0200 | <EvanR> | instead of reinvented |
2024-04-05 16:57:40 +0200 | <tomsmeding> | yeah that's funny, posix semaphores were a TIL for me too |
2024-04-05 16:58:25 +0200 | <EvanR> | unix linux has all these things you can use but probably shouldn't for reasons xD |
2024-04-05 16:58:27 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-04-05 16:58:41 +0200 | <EvanR> | because the person who replaces you won't know how it works |
2024-04-05 16:58:46 +0200 | <EvanR> | e.g. |
2024-04-05 16:59:00 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 16:59:28 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2024-04-05 16:59:38 +0200 | <EvanR> | the only way to future proof anything is rewrite it in rust!!! |
2024-04-05 16:59:59 +0200 | Square | (~Square4@user/square) (Ping timeout: 256 seconds) |
2024-04-05 17:00:17 +0200 | <ph88> | EvanR, you like rust ? |
2024-04-05 17:00:30 +0200 | <EvanR> | this has been a meme |
2024-04-05 17:00:47 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 272 seconds) |
2024-04-05 17:01:27 +0200 | <EvanR> | haskell is great because we don't want to rewrite everything in it |
2024-04-05 17:01:28 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-04-05 17:01:49 +0200 | <danse-nr3> | don't we? |
2024-04-05 17:01:54 +0200 | danse-nr3 | is disappointed |
2024-04-05 17:02:54 +0200 | img | (~img@user/img) |
2024-04-05 17:04:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 17:04:52 +0200 | yin | (~yin@user/zero) |
2024-04-05 17:05:32 +0200 | Eoco | (~ian@128.101.131.218) (Ping timeout: 260 seconds) |
2024-04-05 17:07:32 +0200 | destituion | (~destituio@85.221.111.174) (Ping timeout: 268 seconds) |
2024-04-05 17:08:57 +0200 | poxel2 | (~lennart@user/poxel) |
2024-04-05 17:11:32 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-04-05 17:12:21 +0200 | destituion | (~destituio@2a02:2121:107:22da:bbaf:a6d8:6599:5221) |
2024-04-05 17:14:14 +0200 | vpan | (~vpan@212.117.1.172) |
2024-04-05 17:15:28 +0200 | <tomsmeding> | most of us are too sensible for that |
2024-04-05 17:15:50 +0200 | <tomsmeding> | and also people who do haskell are typically interested in programming languages in general, somehow, meaning that they typically know more than 1 language |
2024-04-05 17:17:01 +0200 | <danse-nr3> | yeah was kidding. It seems legit to be fantasizing about writing something existing in another lang though |
2024-04-05 17:17:30 +0200 | <danse-nr3> | especially if one is in a cult :D |
2024-04-05 17:17:45 +0200 | <Rembane> | cult-lang-2000 |
2024-04-05 17:17:46 +0200 | <EvanR> | the knights of lambda calculus |
2024-04-05 17:18:00 +0200 | <danse-nr3> | the church of haskell obviously! |
2024-04-05 17:18:18 +0200 | <EvanR> | the church of curry |
2024-04-05 17:18:41 +0200 | alex` | (~user@149.22.101.75) (Ping timeout: 256 seconds) |
2024-04-05 17:19:03 +0200 | <tomsmeding> | yum |
2024-04-05 17:21:20 +0200 | polyphem | (~rod@p200300ef271ab1008634ba5d8231450c.dip0.t-ipconnect.de) |
2024-04-05 17:22:39 +0200 | Eoco | (~ian@128.101.131.218) |
2024-04-05 17:29:46 +0200 | Eoco | (~ian@128.101.131.218) (Remote host closed the connection) |
2024-04-05 17:31:01 +0200 | Eoco | (~ian@128.101.131.218) |
2024-04-05 17:31:06 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-04-05 17:31:21 +0200 | <Inst> | (knights of lambda calculus is actually a thing) |
2024-04-05 17:31:25 +0200 | <Inst> | (see MIT and Scheme) |
2024-04-05 17:32:44 +0200 | ski | imagines that's why they were mentioned |
2024-04-05 17:32:53 +0200 | <yin> | is there a way to force whole program compilation? |
2024-04-05 17:34:22 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-04-05 17:36:05 +0200 | <yin> | hmm not in GHC i see |
2024-04-05 17:36:30 +0200 | <geekosaur> | unless you count GRIN |
2024-04-05 17:38:00 +0200 | Eoco | (~ian@128.101.131.218) (Remote host closed the connection) |
2024-04-05 17:38:26 +0200 | gmg | (~user@user/gehmehgeh) |
2024-04-05 17:39:05 +0200 | Eoco | (~ian@128.101.131.218) |
2024-04-05 17:43:18 +0200 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-04-05 17:44:59 +0200 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
2024-04-05 17:45:33 +0200 | <yin> | geekosaur: thanks |
2024-04-05 17:46:51 +0200 | <kuribas> | GRIN doesn't do recursive inlining. |
2024-04-05 17:47:02 +0200 | <kuribas> | So it isn't as good as GHC's optimizer. |
2024-04-05 17:52:39 +0200 | danse-nr3 | (~danse-nr3@151.57.121.183) (Ping timeout: 255 seconds) |
2024-04-05 17:56:57 +0200 | <geekosaur> | WPC generally requires a different compilation strategy, although GRIN was (is? not sure if it's still alive) I think an experiment in a middle path |
2024-04-05 18:00:44 +0200 | igemnace | (~ian@user/igemnace) |
2024-04-05 18:07:46 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
2024-04-05 18:08:37 +0200 | yin_ | (~yin@user/zero) |
2024-04-05 18:09:18 +0200 | zetef | (~quassel@5.2.182.99) (Ping timeout: 255 seconds) |
2024-04-05 18:10:08 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-04-05 18:16:09 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-04-05 18:18:05 +0200 | visilii | (~visilii@188.254.110.118) |
2024-04-05 18:22:45 +0200 | berekolo | (~berekolo@112.78.178.130) (Remote host closed the connection) |
2024-04-05 18:29:11 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-05 18:30:05 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 256 seconds) |
2024-04-05 18:31:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 18:31:36 +0200 | mei | (~mei@user/mei) |
2024-04-05 18:32:13 +0200 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
2024-04-05 18:38:12 +0200 | vpan | (~vpan@212.117.1.172) (Quit: Leaving.) |
2024-04-05 18:38:38 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-04-05 18:38:52 +0200 | ft | (~ft@p4fc2a20e.dip0.t-ipconnect.de) |
2024-04-05 18:44:15 +0200 | yin | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-04-05 18:50:35 +0200 | yin | (~yin@user/zero) |
2024-04-05 18:50:47 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
2024-04-05 18:54:41 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-04-05 18:58:00 +0200 | <Inst> | btw did someone prune libraries from Hackage recently? |
2024-04-05 18:58:08 +0200 | <Inst> | i feel like the total number of libs dropped |
2024-04-05 19:00:03 +0200 | <geekosaur> | it's supposed to be append-only |
2024-04-05 19:00:28 +0200 | <Inst> | yeah, it's weird, i just remember ed we had 18k packages and somehow it's only 16k |
2024-04-05 19:00:37 +0200 | <Inst> | 4300 libs updated in the last 24 months |
2024-04-05 19:01:09 +0200 | <Inst> | vs about 2940 in the last 12 months |
2024-04-05 19:03:19 +0200 | <yin_> | one possibility that i'm completely making up is mergers |
2024-04-05 19:03:29 +0200 | pavonia | (~user@user/siracusa) |
2024-04-05 19:10:13 +0200 | <int-e> | Inst: https://hackage.haskell.org/packages/deprecated is where the difference is, I think (1268 packages) |
2024-04-05 19:12:44 +0200 | <Hecate> | tomsmeding: the tweets say "support" |
2024-04-05 19:18:08 +0200 | <tomsmeding> | Hecate: right :) |
2024-04-05 19:18:17 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
2024-04-05 19:27:13 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-04-05 19:27:25 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 19:38:00 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 19:39:53 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-04-05 19:41:01 +0200 | ChanServ | +o litharge |
2024-04-05 19:41:01 +0200 | litharge | -qo *!*@92.237.136.64 litharge |
2024-04-05 19:44:15 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-04-05 19:45:09 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-04-05 19:54:25 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-04-05 19:58:59 +0200 | zetef | (~quassel@5.2.182.99) |
2024-04-05 20:08:18 +0200 | Inst_ | (~Inst@120.244.192.170) |
2024-04-05 20:11:22 +0200 | Inst | (~Inst@120.244.192.126) (Ping timeout: 264 seconds) |
2024-04-05 20:15:29 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 256 seconds) |
2024-04-05 20:20:44 +0200 | <yin_> | oh weird. i'm getting warnings about lazy fields in data tyeps |
2024-04-05 20:21:06 +0200 | <geekosaur> | HLS? |
2024-04-05 20:21:25 +0200 | <tomsmeding> | yin_: are those "lints"? |
2024-04-05 20:21:27 +0200 | <tomsmeding> | probably from hlint |
2024-04-05 20:21:34 +0200 | <geekosaur> | the stan plugin was accidentally enabled by default when it was re-added |
2024-04-05 20:21:43 +0200 | <tomsmeding> | oh or stan, yes |
2024-04-05 20:31:34 +0200 | tomsmeding | has haskell.plugin.hlint.globalOn = false and haskell.plugin.stan.globalOn = false |
2024-04-05 20:35:21 +0200 | sharan | (~shara@c-24-60-154-223.hsd1.ma.comcast.net) |
2024-04-05 20:36:39 +0200 | <yin_> | hls |
2024-04-05 20:37:49 +0200 | shara_ | (~shara@c-24-60-154-223.hsd1.ma.comcast.net) (Ping timeout: 268 seconds) |
2024-04-05 20:42:10 +0200 | <mauke> | just add `!` so it knows you mean business |
2024-04-05 20:45:58 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) (Remote host closed the connection) |
2024-04-05 20:46:18 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) |
2024-04-05 20:49:13 +0200 | yin_ | (~yin@user/zero) (Ping timeout: 268 seconds) |
2024-04-05 20:50:48 +0200 | <monochrom> | Ugh that is going to be a problem if I give students an assignment in which it is important to have a lazy data field. |
2024-04-05 20:51:18 +0200 | <monochrom> | We are talking about beginners who do not know that a standard toolchain is not to be trusted. |
2024-04-05 20:52:40 +0200 | <tomsmeding> | monochrom: too lazy (heh) to search when it was introduced, but "stan on by default" was apparently fixed in HLS 2.6 https://github.com/haskell/haskell-language-server/pull/3917 |
2024-04-05 20:53:26 +0200 | <monochrom> | That only solves the symptom. |
2024-04-05 20:53:51 +0200 | Square2 | (~Square@user/square) (Ping timeout: 268 seconds) |
2024-04-05 20:53:55 +0200 | <tomsmeding> | well it means that students will only see this warning if they manually enable stan |
2024-04-05 20:54:15 +0200 | <monochrom> | The deeper and worse problem is why personal niche religious opinions keep getting standardized in standard toolchains. |
2024-04-05 20:54:46 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-04-05 20:54:50 +0200 | <tomsmeding> | I mean, there are a number of formatters in HLS too |
2024-04-05 20:54:56 +0200 | <tomsmeding> | code formatting is subjective too |
2024-04-05 20:55:06 +0200 | <tomsmeding> | at least they don't run unless you ask for it |
2024-04-05 20:55:10 +0200 | <tomsmeding> | (unlike hlint) |
2024-04-05 20:56:15 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-04-05 20:57:33 +0200 | <Rembane> | I miss brittany! |
2024-04-05 21:03:00 +0200 | <tomsmeding> | monochrom: a decent reason why all these things are in HLS proper now (they are written as plugins, but the plugins are bundled with standard HLS downloads) is that a separate plugin system would be cumbersome |
2024-04-05 21:03:10 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) (Remote host closed the connection) |
2024-04-05 21:03:29 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) |
2024-04-05 21:03:33 +0200 | <tomsmeding> | s/downloads/builds/ |
2024-04-05 21:06:21 +0200 | ubert | (~Thunderbi@p548c8b9f.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-04-05 21:07:44 +0200 | ubert | (~Thunderbi@p548c9ed6.dip0.t-ipconnect.de) |
2024-04-05 21:09:30 +0200 | <tomsmeding> | yin: so in case you missed it, the fix is to upgrade to hls >= 2.6 or to set haskell.plugin.stan.globalOn = false in your editor LSP config |
2024-04-05 21:12:25 +0200 | poxel2 | (~lennart@user/poxel) (Quit: WeeChat 4.2.1) |
2024-04-05 21:12:35 +0200 | ubert | (~Thunderbi@p548c9ed6.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-04-05 21:14:07 +0200 | poxel | (~lennart@user/poxel) |
2024-04-05 21:22:50 +0200 | poxel | (~lennart@user/poxel) (Ping timeout: 256 seconds) |
2024-04-05 21:28:02 +0200 | liamzy__ | (~Inst@120.244.192.170) |
2024-04-05 21:28:31 +0200 | Inst_ | (~Inst@120.244.192.170) (Ping timeout: 260 seconds) |
2024-04-05 21:29:35 +0200 | liamzy__ | Inst |
2024-04-05 21:31:26 +0200 | tmtt | (~tmtt@user/tmtt) |
2024-04-05 21:34:57 +0200 | AlexZenon | (~alzenon@94.233.240.255) (Ping timeout: 255 seconds) |
2024-04-05 21:36:50 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
2024-04-05 21:39:08 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-05 21:39:58 +0200 | AlexZenon | (~alzenon@94.233.240.255) |
2024-04-05 21:40:57 +0200 | poxel | (~lennart@user/poxel) |
2024-04-05 21:46:28 +0200 | <tmtt> | Hi! I'm writing a small brainfuck compiler in Haskell to learn the language and compiler design. I'm currently working on parsing loops, and wondering what would be the common way of recursively parsing those loops. Right now, I have this code <https://paste.tomsmeding.com/XYyvZpGp> (see line 40) which doesn't work since it doesn't "skip" the tokens after it finishes parsing the inside of the loop. Thanks in advance for any help and sor |
2024-04-05 21:46:28 +0200 | <tmtt> | ry fot the weird question lol |
2024-04-05 21:48:34 +0200 | <mauke> | the general idea is that your parser needs to return not just a parsed result, but also the unparsed/unconsumed rest of the input |
2024-04-05 21:48:54 +0200 | <mauke> | parse :: [Token] -> (Result, [Token]) |
2024-04-05 21:49:20 +0200 | <ski> | `BracketOpen' and `BracketClosed' cases of the parser looks incorrect |
2024-04-05 21:49:22 +0200 | <ski> | (and what mauke said) |
2024-04-05 21:49:37 +0200 | <tmtt> | ski: yeah, they're not working as of now |
2024-04-05 21:50:41 +0200 | <tmtt> | mauke: I see. Let me try something with that |
2024-04-05 21:51:39 +0200 | <ski> | in the `BracketClose' case, you need to have `[]' as `Program' result, and `xs' as unconsumed input |
2024-04-05 21:52:32 +0200 | yin | (~yin@user/zero) (Ping timeout: 260 seconds) |
2024-04-05 21:52:46 +0200 | <ski> | that way, in the `BracketOpen' case, when you get the `Program' result from the recursive call on `xs', you can stuff that `Program' inside `Loop', and then call recursively again, on the remainder of `xs' |
2024-04-05 21:53:00 +0200 | <mauke> | once you've done that, you might realize that [Token] -> (a, [Token]) looks a lot like the State monad |
2024-04-05 21:53:20 +0200 | <ski> | of course, you'll need to adapt the other cases to just forward the remaining input from the recursive call |
2024-04-05 21:53:34 +0200 | <tmtt> | yeah |
2024-04-05 21:53:45 +0200 | <ski> | are you familiar with monads yet ? |
2024-04-05 21:53:45 +0200 | <mauke> | and then you might realize that your parsing code only modifies the state in very particular ways and write a few helper functions for that |
2024-04-05 21:53:52 +0200 | <mauke> | and then you've invented parser combinators |
2024-04-05 21:54:04 +0200 | <tmtt> | ski: not really |
2024-04-05 21:54:14 +0200 | <ski> | okay, don't worry about that, for now, then |
2024-04-05 21:54:27 +0200 | <mauke> | yeah, the manual approach works fine |
2024-04-05 21:54:37 +0200 | <mauke> | particularly for brainfuck :-) |
2024-04-05 21:54:47 +0200 | <ski> | just make the parser input a "state", whose versions are threaded through your computation, as sketched above |
2024-04-05 21:54:57 +0200 | <tmtt> | mauke: Yeah lol |
2024-04-05 21:55:00 +0200 | <tmtt> | ski: I see |
2024-04-05 21:55:11 +0200 | <tmtt> | I think I got it, I'll try to make it work with that |
2024-04-05 21:55:16 +0200 | <mauke> | I'm still bad at programming in brainfuck |
2024-04-05 21:55:38 +0200 | <darkling> | Isn't everyone? |
2024-04-05 21:55:40 +0200 | <mauke> | I once wrote a bf assembler in haskell |
2024-04-05 21:55:51 +0200 | <mauke> | then I used that to write a bf compiler in bf |
2024-04-05 21:55:52 +0200 | <tmtt> | that's exactly what I'm trying to do here |
2024-04-05 21:55:56 +0200 | <tmtt> | oh |
2024-04-05 21:56:09 +0200 | <darkling> | I've got most of a BF CPU in Verilog here. :) |
2024-04-05 21:56:15 +0200 | <mauke> | no, I was going from a DSL to BF |
2024-04-05 21:56:57 +0200 | <tmtt> | Oh ok |
2024-04-05 22:00:07 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3241-3a37-b147-e92e-839c-d513.rev.sfr.net) (Remote host closed the connection) |
2024-04-05 22:02:51 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 255 seconds) |
2024-04-05 22:04:14 +0200 | yin | (~yin@user/zero) |
2024-04-05 22:04:17 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) |
2024-04-05 22:07:11 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-04-05 22:08:30 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2024-04-05 22:09:58 +0200 | <probie> | I wrote a BF to web assembly text "compiler" in BF once, which sounds more impressive than it was, because it just output a simple interpreter with the program to run hardcoded in |
2024-04-05 22:11:47 +0200 | <darkling> | BF (interpreter|compiler) makes a good practice thing for lots of cases, because it's such a simple model. |
2024-04-05 22:12:23 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2024-04-05 22:12:28 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 22:15:22 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 246 seconds) |
2024-04-05 22:15:44 +0200 | michalz | (~michalz@185.246.207.193) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-04-05 22:16:13 +0200 | <probie> | I've "written" more impressive things in BF, but they don't really count, because they've really been written in higher level languages with BF as a compilation target, and also require a specialised compiler to run at any reasonable speed |
2024-04-05 22:16:26 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) |
2024-04-05 22:16:58 +0200 | <tomsmeding> | https://git.tomsmeding.com/bfturing/about/ |
2024-04-05 22:17:27 +0200 | <tomsmeding> | also written in a higher-level language and then compiled, but the HLL was English and the compiler was me :p |
2024-04-05 22:19:14 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-04-05 22:19:37 +0200 | <tomsmeding> | now write your programs on a bare turing machine >:D |
2024-04-05 22:19:45 +0200 | euleritian | (~euleritia@dynamic-176-006-182-016.176.6.pool.telefonica.de) |
2024-04-05 22:21:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 22:25:46 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 22:27:06 +0200 | <probie> | I implemented an 8-bit CPU (with 16-bit addresses), so a "program" involved setting up the CPU itself, writing the instructions to memory and then jumping into the main "CPU" loop. However, every read/write from memory was rather expensive without a magical compiler |
2024-04-05 22:30:12 +0200 | <tomsmeding> | probie: because it had to loop linearly to the correct memory cell? :p |
2024-04-05 22:30:34 +0200 | <tomsmeding> | doing multi-byte arithmetic at every cell to check if you're there yet |
2024-04-05 22:30:39 +0200 | <tomsmeding> | perfect |
2024-04-05 22:31:38 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds) |
2024-04-05 22:34:00 +0200 | <Inst> | do people try to write prelude extensions? |
2024-04-05 22:34:21 +0200 | <Inst> | I know of this |
2024-04-05 22:34:21 +0200 | <Inst> | https://hackage.haskell.org/package/extra |
2024-04-05 22:37:22 +0200 | tmtt | (~tmtt@user/tmtt) (Quit: Leaving.) |
2024-04-05 22:37:53 +0200 | <dolio> | Just don't write Turing machines. They're awful. |
2024-04-05 22:38:22 +0200 | yin | (~yin@user/zero) (Ping timeout: 264 seconds) |
2024-04-05 22:38:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 22:38:56 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-04-05 22:41:53 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2024-04-05 22:43:13 +0200 | <tomsmeding> | dolio: I challenge you to write a lambda calculus interpreter in brainfuck :p |
2024-04-05 22:43:50 +0200 | <int-e> | sounds painful |
2024-04-05 22:44:04 +0200 | <tomsmeding> | at least a turing machine is something that's humanly possible |
2024-04-05 22:44:12 +0200 | <dolio> | Isn't brainfuck almost as bad as Turing machines? :) |
2024-04-05 22:44:21 +0200 | <tomsmeding> | yes |
2024-04-05 22:44:25 +0200 | <int-e> | yes |
2024-04-05 22:44:43 +0200 | vhs | (~vhs@185.76.9.56) |
2024-04-05 22:45:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-05 22:45:40 +0200 | <int-e> | including the wonderful experience of walking the pointer back and forth to get any real work done |
2024-04-05 22:46:03 +0200 | <int-e> | the pointer being what the tape head would be for a "real" Turing machine |
2024-04-05 22:46:14 +0200 | <dolio> | Yeah. |
2024-04-05 22:47:05 +0200 | <tomsmeding> | even a combinator graph reducer sounds painful in brainfuck |
2024-04-05 22:47:37 +0200 | <dolio> | Turing actually wrote a paper where he implemented lambda calculus on Turing machines, I think. |
2024-04-05 22:47:43 +0200 | <dolio> | So you could crib that. |
2024-04-05 22:47:49 +0200 | <tomsmeding> | worth a paper apparently |
2024-04-05 22:48:19 +0200 | <tomsmeding> | though it makes sense that that would be a thing that needed to be done back then |
2024-04-05 22:48:34 +0200 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
2024-04-05 22:48:40 +0200 | <int-e> | tomsmeding: a string representation will be easier (pointers are fiendishly difficult)... but then you have to move substrings around a lot so it's undoubtedly still a mess. |
2024-04-05 22:48:54 +0200 | <tomsmeding> | hm true |
2024-04-05 22:49:22 +0200 | <tomsmeding> | moving a suffix of a string by a statically-known number of characters is at least easy (if slow) |
2024-04-05 22:49:54 +0200 | tomsmeding | resists starting an attempt to write one |
2024-04-05 22:55:20 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-04-05 22:56:29 +0200 | ph88 | (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2024-04-05 22:58:25 +0200 | vhsconnect | (~vhs@81-233-2-46-no600.tbcn.telia.com) |
2024-04-05 23:00:35 +0200 | flounders | (~flounders@24.246.176.178) (Quit: WeeChat 4.1.2) |
2024-04-05 23:00:47 +0200 | ubert | (~Thunderbi@p200300ecdf39578eeee93514f98d266d.dip0.t-ipconnect.de) |
2024-04-05 23:00:57 +0200 | vhs | (~vhs@185.76.9.56) (Ping timeout: 256 seconds) |
2024-04-05 23:01:16 +0200 | __monty__ | (~toonn@user/toonn) |
2024-04-05 23:01:17 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 23:05:24 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2024-04-05 23:12:19 +0200 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Quit: Leaving.) |
2024-04-05 23:15:19 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 255 seconds) |
2024-04-05 23:24:25 +0200 | <Inst> | just curious, from Haskellers, how would you rank base / stdlib of various languages? |
2024-04-05 23:26:32 +0200 | <EvanR> | often missing something obvious that exists in haskell |
2024-04-05 23:28:15 +0200 | <sm> | python's is considered more full-featured ("batteries included") than haskell's. Haskell's usually feels more rigorous and trustworthy than others. |
2024-04-05 23:28:15 +0200 | <Inst> | just as Haskell is missing something obvious that exists in other langs? :3 |
2024-04-05 23:28:31 +0200 | <int-e> | Haskell is always missing something that exists on hackage. |
2024-04-05 23:28:33 +0200 | <Inst> | To an extent, I feel that Haskell's Prelude / base is almost deliberately bad |
2024-04-05 23:28:35 +0200 | <int-e> | ;) |
2024-04-05 23:28:55 +0200 | <geekosaur> | haskell has reasons to keep base small, though |
2024-04-05 23:28:56 +0200 | <int-e> | It's not deliberate. The attitude towards base has changed. |
2024-04-05 23:29:02 +0200 | <Inst> | how has that changed? |
2024-04-05 23:29:05 +0200 | <geekosaur> | (they're working on fixing the main reason) |
2024-04-05 23:29:25 +0200 | <int-e> | It used to be batteries included, and then at some point it stopped because that attitude lead to feature creep. |
2024-04-05 23:29:28 +0200 | <Inst> | by deliberately, I mean that if you're too opinionated with base, you cut off innovation |
2024-04-05 23:29:51 +0200 | <int-e> | No, the attitude now is that you're supposed to use other packages alongside base. |
2024-04-05 23:30:10 +0200 | <Inst> | but that comes with its own drawbacks, no? |
2024-04-05 23:30:30 +0200 | <int-e> | yes, you can't please everybody |
2024-04-05 23:30:47 +0200 | <int-e> | I bet if people started over, base would be *smaller*. |
2024-04-05 23:32:24 +0200 | <Inst> | would deepseq be in base, then? |
2024-04-05 23:32:42 +0200 | <int-e> | probably not? |
2024-04-05 23:33:03 +0200 | <Inst> | what's the arguments for keeping deepseq out of base? |
2024-04-05 23:33:19 +0200 | <int-e> | Who knows. And whatever base would be would still displease the majority of people. |
2024-04-05 23:33:33 +0200 | <int-e> | And that's not a base problem, it's a people problem. :P |
2024-04-05 23:33:51 +0200 | <int-e> | It can be an extra package easily. |
2024-04-05 23:33:53 +0200 | int-e | shrugs |
2024-04-05 23:36:09 +0200 | phma | (phma@2001:5b0:211c:a48:b538:9e99:373e:ab2f) (Read error: Connection reset by peer) |
2024-04-05 23:36:45 +0200 | <int-e> | FWIW, the core libraries are collectively the standard library to my mind. But of course they don't cover all bases either. I believe ghcup has its own notion of default packages, so those could be standard libraries. |
2024-04-05 23:37:06 +0200 | <int-e> | Some people will include lens, others some web libraries like servant... programmers are different and have different needs. |
2024-04-05 23:37:09 +0200 | phma | (~phma@host-67-44-208-145.hnremote.net) |
2024-04-05 23:37:15 +0200 | <int-e> | None of this is really a problem in my eyes. |
2024-04-05 23:37:36 +0200 | <tomsmeding> | int-e: the argument for keeping deepseq out of base is the same for keeping anything else that doesn't _need_ to be in base out of base |
2024-04-05 23:37:48 +0200 | <int-e> | exactly |
2024-04-05 23:38:03 +0200 | <tomsmeding> | namely that you can upgrade it without upgrading the compiler, that you can have several different implementations, experiment, etc. |
2024-04-05 23:38:08 +0200 | <int-e> | but maybe 20 years ago people would've felt differently |
2024-04-05 23:38:20 +0200 | <tomsmeding> | sure, what I'm saying is the current feeling towards base |
2024-04-05 23:38:24 +0200 | <Inst> | the problem is that if in a functional language, you're writing eDSLs all the time, the varying combinations of libraries essentially comprise their own eDSLs |
2024-04-05 23:38:26 +0200 | <tomsmeding> | *toward |
2024-04-05 23:38:32 +0200 | <int-e> | support for extra packages has improved dramatically since then, and that's a huge factor |
2024-04-05 23:38:33 +0200 | <Inst> | then is Haskell a single language? |
2024-04-05 23:38:44 +0200 | <tomsmeding> | is lisp a single language? |
2024-04-05 23:38:47 +0200 | <tomsmeding> | is c++ a single language? |
2024-04-05 23:38:53 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 240 seconds) |
2024-04-05 23:38:55 +0200 | <int-e> | is english a single language? |
2024-04-05 23:39:16 +0200 | shapr | (~user@c-24-218-186-89.hsd1.ma.comcast.net) |
2024-04-05 23:39:37 +0200 | <sm> | haskell platform was an attempt at a more complete standard lib. A stackage snapshot could also be seen as one. |
2024-04-05 23:40:13 +0200 | <Inst> | iirc there's advice floating around to -XNoImplicitPrelude and roll your own if you want to use Haskell seriously |
2024-04-05 23:40:26 +0200 | <EvanR> | three languages in a trenchcoat |
2024-04-05 23:40:31 +0200 | <tomsmeding> | and there's also advice floating around to not do that |
2024-04-05 23:40:32 +0200 | <Inst> | heh |
2024-04-05 23:40:42 +0200 | <tomsmeding> | people's opinions will differ |
2024-04-05 23:40:50 +0200 | <tomsmeding> | if you want a language that doesn't allow dissenting opinions, use Go :p |
2024-04-05 23:40:54 +0200 | <shapr> | ouch |
2024-04-05 23:41:11 +0200 | <EvanR> | auto formatters |
2024-04-05 23:41:17 +0200 | <EvanR> | don't question it |
2024-04-05 23:41:40 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-04-05 23:42:16 +0200 | <sm> | alternate preludes are a good idea, in principle they can compete and one of them could become popular, but more support from GHC/ecosystem seems needed to make them easier |
2024-04-05 23:42:16 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) |
2024-04-05 23:43:14 +0200 | <sm> | or, just better docs/guidance so we make and use them more |
2024-04-05 23:43:31 +0200 | <sm> | but I think there are some unnecessary roadbumps |
2024-04-05 23:44:04 +0200 | <shapr> | it's instructive to try writing your own prelude |
2024-04-05 23:44:12 +0200 | <shapr> | or at least, I learned much from my own attempt |
2024-04-05 23:44:28 +0200 | <Inst> | tbh I just had a culture shock looking at Julia's batteries included base / stdlib |
2024-04-05 23:44:31 +0200 | <sm> | I want the scripter's prelude, PHP-like - everything you need in scope. (This isn't just about a prelude, but also involves imports...) |
2024-04-05 23:44:57 +0200 | <sm> | why, what's that like Inst ? |
2024-04-05 23:44:59 +0200 | <Inst> | i'd rather just see a prelude extension; rather, instead of -XNoImplicitPrelude, you import it alongside prelude instead |
2024-04-05 23:45:01 +0200 | <shapr> | Yeah, I like reading about the default imports used by high scoring Advent of Code participants |
2024-04-05 23:45:39 +0200 | <Inst> | tbh an erdorsed prelude / base extension actually makes sense insofar as it works as an alpha test of changes to prelude |
2024-04-05 23:45:56 +0200 | <Inst> | currently i guess all the alt preludes effectively function as R&D for standard prelude |
2024-04-05 23:46:11 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-05 23:46:19 +0200 | <yushyin> | i sometimes use mixins + base-prelude for my toy projects, spares me from importing so many things from base |
2024-04-05 23:47:23 +0200 | <Inst> | that is really cool, thanks for bringing it up |
2024-04-05 23:48:01 +0200 | <shapr> | now that I think about it, cabal-add integration with haskell-language-server brings me closer to a much larger Prelude |
2024-04-05 23:48:29 +0200 | <shapr> | that's the separation between Prelude and everything else, right? that I have to manually add something to my cabal file? |
2024-04-05 23:48:36 +0200 | mei | (~mei@user/mei) |
2024-04-05 23:49:26 +0200 | sadie_ | (~sadie@c-76-155-235-153.hsd1.co.comcast.net) |
2024-04-05 23:49:34 +0200 | <yushyin> | Inst: so like `mixins: base hiding (Prelude), base-prelude (BasePrelude as Prelude)', weird but works |
2024-04-05 23:50:30 +0200 | <sm> | you can choose a different prelude in a stack script / cabal script too IIRC |
2024-04-05 23:51:47 +0200 | zetef | (~quassel@5.2.182.99) (Remote host closed the connection) |
2024-04-05 23:51:58 +0200 | <Inst> | holy at Python stdlib |
2024-04-05 23:52:07 +0200 | <Inst> | is this the peak kitchen sink of stdlibs? |
2024-04-05 23:52:34 +0200 | ftweedal | (~ftweedal@211.30.152.176) |
2024-04-05 23:52:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-05 23:53:26 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-04-05 23:53:36 +0200 | <Inst> | https://docs.julialang.org/en/v1/stdlib/TOML/ |
2024-04-05 23:54:07 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
2024-04-05 23:54:39 +0200 | <Inst> | the argument for a larger standard lib is that a lot of these things in Haskell are outsourced to FOSS maintainers, or it doesn't even exist |
2024-04-05 23:54:59 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-04-05 23:55:03 +0200 | <Inst> | and FOSS maintainers might get bored and walk off |
2024-04-05 23:55:14 +0200 | <Inst> | recall what happened with cryptonite, right? |
2024-04-05 23:55:29 +0200 | <sm> | I'll see your julia/python stdlib and raise you https://www.stackage.org/lts-22.15 |
2024-04-05 23:56:06 +0200 | <Inst> | i like Network.I like this |
2024-04-05 23:56:07 +0200 | <Inst> | lol |
2024-04-05 23:56:08 +0200 | <Inst> | https://hackage.haskell.org/package/http-conduit-2.3.8.3 |
2024-04-05 23:56:29 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-04-05 23:56:41 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-05 23:56:47 +0200 | <Inst> | sm: are we going to start the cabal stack wars again? |
2024-04-05 23:56:58 +0200 | <sm> | why would you say that ? please don't |
2024-04-05 23:57:08 +0200 | <EvanR> | if python doesn't come with an MMORPG engine what's even the point |
2024-04-05 23:57:37 +0200 | <EvanR> | literally useless |
2024-04-05 23:58:23 +0200 | <Inst> | what was the background behind that again? |
2024-04-05 23:58:31 +0200 | <Inst> | I don't get why Snoyman is considered so controversial |
2024-04-05 23:58:51 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2024-04-05 23:58:52 +0200 | <sm> | I don't either but seriously please, let's not |
2024-04-05 23:59:21 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-04-05 23:59:53 +0200 | <Inst> | i mean that I thought the cabal stack wars ended with a cabal victory |