Logs on 2022-10-20 (liberachat/#haskell)
| 00:00:05 | <EvanR> | really, did leibniz come up with it? xD |
| 00:01:02 | <dminuoso> | Im just saying that the idea of encoding state as a function producing a tuple is very old |
| 00:01:21 | <EvanR> | well the question wasn't how to keep state but how to get a supply of unique names |
| 00:01:54 | <EvanR> | there's the splittable generator stuff, but it seems a bit involved |
| 00:02:22 | <dminuoso> | Are you implementing a language? |
| 00:03:52 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds) |
| 00:03:52 | <dminuoso> | At any rate, a simple state based name generator can be as simple as just keeping a counter in your state, and then using that number in your name |
| 00:04:13 | <dminuoso> | So if that isnt enough, you arent telling us enough. |
| 00:04:30 | <geekosaur> | which is all `gensym` does except it uses the equivalent of unsafePerformIO on a counter in an IORef |
| 00:04:34 | <EvanR> | a simple state based state is simple by keeping state in the state and then you have state xD |
| 00:04:58 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 00:04:58 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 00:04:58 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:05:01 | → | wroathe_ joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 00:05:05 | <EvanR> | yeah that's gensym |
| 00:05:11 | <dminuoso> | Im highly unsure what you are asking for. You want a pure stateful name generation without unsafePerformIO, and you dont want state..? |
| 00:05:21 | <EvanR> | I never said anything about state lol |
| 00:05:23 | <dminuoso> | Okay. |
| 00:05:46 | <geekosaur> | I will ask this more explicitly than earlier, then: what part of `unique` does not imply state to you? |
| 00:06:12 | <EvanR> | well, is a list of unique values "state" ? |
| 00:06:16 | <geekosaur> | or even more explicitly: how does it ensure uniqueness without state? |
| 00:06:23 | <geekosaur> | yes |
| 00:06:28 | <EvanR> | ._. |
| 00:06:29 | <dminuoso> | EvanR: sure. knowing what values have been picked so far is state. |
| 00:06:31 | <EvanR> | where am I |
| 00:06:41 | <dminuoso> | EvanR: which is why the simplest such implementation is just a counter. |
| 00:06:46 | <geekosaur> | or what values to pick next, which is just state in the other direction |
| 00:06:48 | <dminuoso> | where the counter denotes all the numbers that have, already, been used for a name |
| 00:07:46 | × | mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
| 00:08:58 | → | mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001) |
| 00:10:04 | <EvanR> | if you have an infinite list of unique values, i.e. the supply, then you can split it by taking the evens and the odds to get two new supplies. Which might be the answer. In one paper they throw something equivalent to this under the bus because of performance |
| 00:10:42 | × | lyxia quits (~lyxia@poisson.chat) (Quit: WeeChat 3.5) |
| 00:10:44 | <EvanR> | but might be the answer |
| 00:11:55 | × | wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 246 seconds) |
| 00:12:30 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 00:13:01 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 00:13:08 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:14:23 | <dminuoso> | Generating a list of numbers is probably easier and scales better |
| 00:14:38 | × | wroathe quits (~wroathe@user/wroathe) (Killed (NickServ (GHOST command used by wroathe_!~wroathe@206-55-188-8.fttp.usinternet.com))) |
| 00:14:42 | wroathe_ | is now known as wroathe |
| 00:14:55 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 00:14:55 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:15:31 | <dminuoso> | otherwise you will have a nasty quadric asymptotic on the depth of your name generation. |
| 00:17:16 | <EvanR> | quadratic? how do you figure |
| 00:17:18 | <dminuoso> | which is also splittable with some basic encoding, where you might say prepending [n, 0] is for local names, and [x] where x is non-null for splitting |
| 00:17:26 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 00:17:38 | <talismanick> | How can I shorten `\x -> let _ = x :: MyType in foo . bar $ x` when calling QuickCheck from within HSpec? |
| 00:17:44 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 00:17:50 | <EvanR> | oh, the thing they threw under the bus was to keep tacking on prefixes each time you split |
| 00:18:00 | <dminuoso> | EvanR: imagine you generate a list of all numbers, the first time you split, each time you want to generate a number you have to force 2 elements of the spine of the original list. |
| 00:18:10 | <dminuoso> | you split again, you will have to force 4 elements for each name |
| 00:18:11 | <talismanick> | because it's a rather roundabout way to say that the argument should be of `MyType` |
| 00:18:16 | <EvanR> | yeah that's exponential right |
| 00:19:37 | <dminuoso> | talismanick: \(x :: MyType) -> ... |
| 00:19:48 | <dminuoso> | (required ScopedTypeVariables) |
| 00:19:59 | <talismanick> | ahh, I see |
| 00:20:12 | <talismanick> | the typechecker didn't like that when I wrote it |
| 00:20:20 | <dminuoso> | EvanR: hence, if you generate a list you can avoid that. |
| 00:21:09 | <dminuoso> | well its actually generating a tree, sort if |
| 00:21:36 | <talismanick> | yay, it works. thanks |
| 00:21:42 | <dminuoso> | each non-left-most leaf would be a name |
| 00:22:16 | → | thegeekinside joins (~thegeekin@189.180.97.156) |
| 00:23:00 | <EvanR> | for each split you increase the list of prefixes by 1, so it's linear in the splits instead of exponential? |
| 00:23:05 | <dminuoso> | Right |
| 00:23:15 | → | lyxia joins (~lyxia@51.255.32.62) |
| 00:23:25 | <dminuoso> | Well you can actually avoid the linear cost at the expense of memory |
| 00:24:15 | <dminuoso> | but it depends on what kind of names you want to generate |
| 00:24:25 | <EvanR> | unique ones xD |
| 00:24:31 | <dminuoso> | do they have to be pretty? |
| 00:24:34 | <EvanR> | nope |
| 00:25:17 | <dolio> | You can instead store the information that would generate such numbers, which is an amount to shift, and bits to fill in the shifted portion with. However, you will still be using very large numbers very quickly. |
| 00:26:22 | <dolio> | Like, Word64 probably isn't big enough. |
| 00:26:54 | <EvanR> | without knowing the pattern of splitting ahead of time, you can't make the most use of the bits |
| 00:27:09 | <EvanR> | which is probably where this performance concern came from |
| 00:27:17 | <dminuoso> | Is splitting important to you for parallelism? |
| 00:27:37 | <EvanR> | not really but that's a nice benefit |
| 00:27:53 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 00:27:57 | × | inversed quits (~inversed@90.209.137.56) (Ping timeout: 268 seconds) |
| 00:28:04 | <EvanR> | I'm just tired of rewriting every other pure function as a state monad |
| 00:28:16 | <EvanR> | hoping to sometimes find there's other ways |
| 00:28:34 | <dminuoso> | See, I found pleasure in using unboxed state with unboxed tuples, unboxed ints... |
| 00:28:41 | <dminuoso> | Not boring anymore. :) |
| 00:31:06 | <Axman6> | you know you're having a good day when you get to use a bunch of #'s |
| 00:31:41 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 00:37:42 | → | rockystone joins (~rocky@user/rockymarine) |
| 00:37:47 | <EvanR> | dminuoso you're in good company, see the very bottom snippet https://stackoverflow.com/questions/6311512/creating-unique-labels-in-haskell |
| 00:38:44 | <EvanR> | i get the impression any and all tasks have a solution involving # everywhere |
| 00:39:06 | → | Lumia joins (~Lumia@user/Lumia) |
| 00:39:37 | × | talismanick quits (~talismani@96.71.204.25) (Ping timeout: 255 seconds) |
| 00:42:17 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 00:47:03 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 00:57:57 | → | rockystone joins (~rocky@user/rockymarine) |
| 01:00:04 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 01:00:38 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 01:01:20 | Lord_of_Life_ | is now known as Lord_of_Life |
| 01:05:33 | → | ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com) |
| 01:10:56 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
| 01:12:01 | × | xff0x quits (~xff0x@2405:6580:b080:900:6701:db86:2182:5220) (Ping timeout: 260 seconds) |
| 01:12:09 | × | danza quits (~francesco@151.57.79.164) (Read error: Connection reset by peer) |
| 01:12:10 | → | zaquest joins (~notzaques@5.130.79.72) |
| 01:23:09 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
| 01:26:50 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 01:28:12 | → | danza joins (~francesco@151.57.122.37) |
| 01:29:41 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 01:30:41 | × | codaraxis___ quits (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
| 01:32:37 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 01:32:46 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 01:33:07 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 272 seconds) |
| 01:35:31 | → | img joins (~img@user/img) |
| 01:35:57 | × | Lumia quits (~Lumia@user/Lumia) (Ping timeout: 260 seconds) |
| 01:41:43 | → | jargon joins (~jargon@184.101.208.112) |
| 01:43:00 | × | jargon quits (~jargon@184.101.208.112) (Remote host closed the connection) |
| 01:43:32 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 260 seconds) |
| 01:44:57 | phma_ | is now known as phma |
| 01:47:04 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 01:50:33 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 01:51:40 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 01:53:11 | → | rockystone joins (~rocky@user/rockymarine) |
| 01:53:39 | × | zaquest quits (~notzaques@5.130.79.72) (*.net *.split) |
| 01:53:39 | × | lyxia quits (~lyxia@51.255.32.62) (*.net *.split) |
| 01:53:39 | × | jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (*.net *.split) |
| 01:53:39 | × | pavonia quits (~user@user/siracusa) (*.net *.split) |
| 01:53:55 | → | lyxia joins (~lyxia@poisson.chat) |
| 01:54:01 | → | jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 01:54:01 | → | zaquest joins (~notzaques@5.130.79.72) |
| 01:54:36 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:57:41 | → | frost78 joins (~frost@user/frost) |
| 01:57:55 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 01:58:36 | → | pavonia joins (~user@user/siracusa) |
| 02:02:11 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 02:03:10 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 02:04:57 | → | img joins (~img@user/img) |
| 02:06:22 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 02:06:22 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 02:06:22 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:17:56 | × | td_ quits (~td@83.135.9.59) (Ping timeout: 260 seconds) |
| 02:19:40 | → | td_ joins (~td@83.135.9.19) |
| 02:19:44 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 02:24:18 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 02:24:52 | → | rockystone joins (~rocky@user/rockymarine) |
| 02:29:10 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:29:10 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:29:10 | finn_elija | is now known as FinnElija |
| 02:35:40 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 02:38:22 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 02:38:35 | → | yuzhao joins (~yuzhao@36.112.45.77) |
| 02:39:41 | → | rockystone joins (~rocky@user/rockymarine) |
| 02:41:39 | → | king_gs joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
| 02:45:22 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 02:47:07 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 02:48:10 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 02:54:56 | → | detuneattune joins (~detuneatt@user/detuneattune) |
| 02:55:25 | → | nate1 joins (~nate@98.45.169.16) |
| 02:57:07 | × | yuzhao quits (~yuzhao@36.112.45.77) (Ping timeout: 246 seconds) |
| 02:58:13 | × | king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 255 seconds) |
| 02:58:44 | → | rockystone joins (~rocky@user/rockymarine) |
| 03:03:06 | × | detuneattune quits (~detuneatt@user/detuneattune) (Quit: detuneattune) |
| 03:06:24 | → | inversed joins (~inversed@bcdcac82.skybroadband.com) |
| 03:07:18 | → | detuneattune joins (~detuneatt@user/detuneattune) |
| 03:07:25 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Remote host closed the connection) |
| 03:08:10 | × | detuneattune quits (~detuneatt@user/detuneattune) (Client Quit) |
| 03:09:42 | → | yuzhao joins (~yuzhao@36.112.45.77) |
| 03:14:24 | → | detuneattune joins (~detuneatt@user/detuneattune) |
| 03:19:12 | × | yuzhao quits (~yuzhao@36.112.45.77) (Ping timeout: 260 seconds) |
| 03:21:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
| 03:25:18 | → | Lumia joins (~Lumia@user/Lumia) |
| 03:36:07 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 03:38:00 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 03:46:34 | → | yuzhao joins (~yuzhao@36.112.45.77) |
| 03:46:34 | × | Vajb quits (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer) |
| 03:46:49 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 03:50:50 | × | yuzhao quits (~yuzhao@36.112.45.77) (Ping timeout: 252 seconds) |
| 03:53:08 | → | 074AAAFF2 joins (~vn36@123.63.203.210) |
| 03:54:40 | <EvanR> | when I translated my glorious state monad code to elixir, which does not have monads, I used a temporary process to hold the state. The size of the code came out equal to haskell, but I was told it was not idiomatic xD |
| 03:55:46 | <EvanR> | haskell : monads :: elixir : processes, come on |
| 03:57:17 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 04:01:19 | × | monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER) |
| 04:01:47 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 04:02:07 | → | nate1 joins (~nate@98.45.169.16) |
| 04:07:07 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 04:07:49 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
| 04:11:32 | → | rockystone joins (~rocky@user/rockymarine) |
| 04:13:05 | → | monochrom joins (trebla@216.138.220.146) |
| 04:13:29 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:18:24 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 04:20:18 | → | mbuf joins (~Shakthi@49.204.135.71) |
| 04:21:08 | → | yelllloowwww joins (~igloo@76.209.246.53) |
| 04:24:18 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 04:24:42 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 04:24:47 | × | ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:24:59 | → | Vajb joins (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) |
| 04:26:17 | × | yelllloowwww quits (~igloo@76.209.246.53) (Ping timeout: 260 seconds) |
| 04:27:33 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 04:29:19 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 04:30:01 | × | Lumia quits (~Lumia@user/Lumia) (Ping timeout: 255 seconds) |
| 04:30:24 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds) |
| 04:31:38 | <Axman6> | dminuoso: are you responsible for flatparse? |
| 04:34:59 | → | nate1 joins (~nate@98.45.169.16) |
| 04:40:17 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 05:02:42 | × | 074AAAFF2 quits (~vn36@123.63.203.210) (Ping timeout: 252 seconds) |
| 05:11:58 | × | danza quits (~francesco@151.57.122.37) (Read error: Connection reset by peer) |
| 05:15:09 | × | jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:16:26 | → | axeman joins (~quassel@2a02:8109:a380:78:5219:72f2:505c:674c) |
| 05:28:27 | → | danza joins (~francesco@151.43.231.219) |
| 05:31:57 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:33:09 | → | mixfix41 joins (~sdeny9ee@user/mixfix41) |
| 05:33:28 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 05:36:46 | → | chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 05:42:00 | → | yvan-sraka joins (~yvan-srak@2a01cb0802a4b900babea20f7de51cb8.ipv6.abo.wanadoo.fr) |
| 05:46:26 | × | axeman quits (~quassel@2a02:8109:a380:78:5219:72f2:505c:674c) (Ping timeout: 272 seconds) |
| 05:47:18 | → | aliosablack joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 05:49:05 | × | aliosablack quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 05:49:32 | → | aliosablack joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 05:52:12 | chomwitt | is now known as Guest4561 |
| 05:52:12 | × | Guest4561 quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Killed (tungsten.libera.chat (Nickname regained by services))) |
| 05:52:12 | aliosablack | is now known as chomwitt |
| 05:52:37 | → | Guest4561 joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 05:58:21 | × | yvan-sraka quits (~yvan-srak@2a01cb0802a4b900babea20f7de51cb8.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:59:36 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 06:02:26 | → | king_gs joins (~Thunderbi@187.201.131.180) |
| 06:02:35 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:10:41 | × | Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
| 06:15:13 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 06:17:44 | × | berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
| 06:18:04 | → | berberman joins (~berberman@user/berberman) |
| 06:21:37 | → | vn36_ joins (~vn36@123.63.203.210) |
| 06:21:39 | × | king_gs quits (~Thunderbi@187.201.131.180) (Read error: Connection reset by peer) |
| 06:22:02 | → | kenran` joins (~user@user/kenran) |
| 06:22:55 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 06:23:14 | → | king_gs joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
| 06:27:02 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 06:30:09 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds) |
| 06:31:27 | → | rockystone joins (~rocky@user/rockymarine) |
| 06:31:53 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 06:32:19 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 06:34:37 | × | vn36_ quits (~vn36@123.63.203.210) (Ping timeout: 260 seconds) |
| 06:35:34 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:36:06 | → | echoreply joins (~echoreply@45.32.163.16) |
| 06:36:29 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 272 seconds) |
| 06:37:15 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 06:38:48 | × | m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.7) |
| 06:40:18 | → | rockystone joins (~rocky@user/rockymarine) |
| 06:40:47 | → | m1dnight joins (~christoph@78-22-0-121.access.telenet.be) |
| 06:48:55 | → | akegalj joins (~akegalj@109.60.124.36) |
| 06:49:36 | × | Guest4561 quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 06:49:36 | × | chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 06:51:28 | → | chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 06:53:48 | × | raym quits (~aritra@user/raym) (Ping timeout: 264 seconds) |
| 06:54:32 | → | raym joins (~aritra@user/raym) |
| 06:58:25 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:59:32 | → | zeenk joins (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) |
| 06:59:55 | → | titibandit joins (~titibandi@xdsl-78-34-208-230.nc.de) |
| 07:01:40 | <akegalj> | User on reddit post said "it would be useful if type system could track partial functions" https://old.reddit.com/r/haskell/comments/y8dulb/why_is_the_koolaid_so_fucking_delicious/it1e2s0/ . Well, is there anything foundamentally stopping us to define Partial class and mark bits of functions with it and thus colour every function upstream with this constraint? It might have poor performance but in my |
| 07:01:46 | <akegalj> | mind it could be done. Am I missing something? |
| 07:02:26 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
| 07:06:29 | × | chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 07:08:05 | → | acidjnk_new joins (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) |
| 07:08:31 | → | chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 07:09:06 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:09:08 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 07:09:36 | × | Ristovski quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 260 seconds) |
| 07:10:40 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 07:11:17 | × | chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 07:11:20 | → | michalz joins (~michalz@185.246.207.221) |
| 07:13:11 | → | chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 07:14:55 | → | MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
| 07:15:10 | → | Ristovski joins (~Ristovski@hellomouse/perf/ristovski) |
| 07:18:02 | <c_wraith> | akegalj: I think the request was more along the lines of mandatory tracking. Which is difficult. A naive first pass would have to mark every recursive function call as Partial |
| 07:23:53 | → | yvan-sraka joins (~yvan-srak@163.172.69.160) |
| 07:24:12 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 07:24:56 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:25:36 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:25:42 | × | akegalj quits (~akegalj@109.60.124.36) (Ping timeout: 252 seconds) |
| 07:27:09 | × | Ristovski quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 272 seconds) |
| 07:27:40 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
| 07:28:42 | × | yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
| 07:29:07 | → | rockystone joins (~rocky@user/rockymarine) |
| 07:29:32 | → | coot joins (~coot@213.134.171.3) |
| 07:32:38 | → | akegalj joins (~akegalj@212.15.177.13) |
| 07:33:20 | <akegalj> | c_wraith: yes, it would be hard to move whole ecosystem to the state where everything is marked as Partial. Are you saying that most systems out there which support tracking partial functions can do it optionally ? If I remember correctly purescript also has mandatory partial tracking |
| 07:33:21 | → | yvan-sraka joins (~yvan-srak@163.172.69.160) |
| 07:33:27 | <akegalj> | c_wraith: or did you mean it "would be difficult" in some other way? |
| 07:34:17 | <akegalj> | (sorry if this message came out few times, connection issues) |
| 07:37:29 | × | yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
| 07:39:33 | <c_wraith> | I was mostly looking at "partial" being really annoying to determine in turing-complete langauges |
| 07:39:44 | <c_wraith> | wow, my spelling is atrocious at this time of day |
| 07:39:44 | <[Leary]> | akegalj: Your description using a constraint would rely on programmer discipline. Actual compiler-checked totality isn't easy to implement, nor is it easy for programmers to shape their programs so the compiler will accept them as such. |
| 07:40:36 | <c_wraith> | (by "really annoying" I mean "actually impossible") |
| 07:42:16 | × | glguy quits (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 260 seconds) |
| 07:42:21 | <akegalj> | c_wraith: [Leary]: that makes sense |
| 07:42:50 | <akegalj> | do you happen to know how purescript implements Partial functionality ? |
| 07:43:10 | <c_wraith> | It probably ignores non-termination as a source of partiality |
| 07:43:39 | <c_wraith> | If you do that, you can just mark specific language constructs, like incomplete pattern matches |
| 07:44:06 | → | yvan-sraka joins (~yvan-srak@163.172.69.160) |
| 07:44:29 | <[Leary]> | So long as we don't actually /reject/ partial functions we won't lose turing completeness. It's just that the compiler can only recognise a decidable subset of total functions, so you'd have to write your program within that subset or accept the compiler presuming it partial. |
| 07:44:40 | <dminuoso> | Axman6: No, but I've started doing work on it. |
| 07:44:50 | <[Leary]> | Idris and co work like that. |
| 07:45:08 | <[Leary]> | Well, except that they really do reject the partial functions. |
| 07:45:19 | × | yvan-sraka quits (~yvan-srak@163.172.69.160) (Remote host closed the connection) |
| 07:45:37 | → | yvan-sraka joins (~yvan-srak@163.172.69.160) |
| 07:46:22 | → | zer0bitz joins (~zer0bitz@2001:2003:f748:2000:b8a3:a4ce:6b2a:34af) |
| 07:47:02 | → | glguy joins (~glguy@libera/staff-emeritus/glguy) |
| 07:47:14 | <dminuoso> | EvanR: Huh Im surprised, state is usually modelled very similar to state monad - but it requires a bit of squinting. |
| 07:49:14 | <akegalj> | [Leary]: c_wraith: ok, that makes things clear for me. I was always confused how purescript managed to pull that up, but I guess it only marks subset of all partial functions as partial (ignoring non-termination) |
| 07:51:50 | <akegalj> | and when I was writing my first comment/question up there (asking why haskell can't do a similar trick) I actually forgot about non-termination part :D which was a bit naive from me |
| 07:55:07 | <dminuoso> | EvanR: At any rate, `Functional Pearl: On generating unique names` by Lennart Augustsson, Mikael Rittri and Dan Synek seems to be the relevant document. |
| 07:55:57 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:57:27 | × | thegeekinside quits (~thegeekin@189.180.97.156) (Ping timeout: 260 seconds) |
| 07:57:31 | → | _xor joins (~xor@74.215.182.83) |
| 07:57:45 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 07:59:33 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 08:00:56 | → | nate1 joins (~nate@98.45.169.16) |
| 08:01:31 | → | ccapndave joins (~ccapndave@xcpe-62-167-164-44.cgn.res.adslplus.ch) |
| 08:03:19 | × | yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
| 08:03:26 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
| 08:03:58 | → | yvan-sraka joins (~yvan-srak@37.171.191.42) |
| 08:05:19 | → | dagit6406 joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da) |
| 08:05:42 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 08:06:12 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 08:06:47 | × | MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 260 seconds) |
| 08:06:59 | → | dagi33709 joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da) |
| 08:07:18 | × | dagit quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Ping timeout: 264 seconds) |
| 08:07:33 | × | dagit6406 quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Read error: Connection reset by peer) |
| 08:07:47 | → | Ristovski joins (~Ristovski@hellomouse/perf/ristovski) |
| 08:09:00 | × | yvan-sraka quits (~yvan-srak@37.171.191.42) (Ping timeout: 244 seconds) |
| 08:13:51 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:17:07 | × | jespada quits (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Ping timeout: 248 seconds) |
| 08:18:30 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 08:20:39 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 08:20:39 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 08:20:39 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 08:20:39 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 08:21:50 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 08:22:02 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 08:22:09 | → | jespada joins (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
| 08:22:36 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 08:22:52 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 08:27:10 | × | jespada quits (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Ping timeout: 255 seconds) |
| 08:28:20 | × | titibandit quits (~titibandi@xdsl-78-34-208-230.nc.de) (Remote host closed the connection) |
| 08:31:34 | → | MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
| 08:32:33 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 255 seconds) |
| 08:32:45 | → | jespada joins (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
| 08:37:56 | × | MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds) |
| 08:40:28 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
| 08:43:51 | → | rockystone joins (~rocky@user/rockymarine) |
| 08:45:45 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 08:48:47 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 08:49:45 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 08:50:30 | <albet70> | let a=3 in id a, this 'let' create a lexical scope? |
| 08:52:14 | × | Ristovski quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 252 seconds) |
| 08:55:04 | → | birdgoose joins (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) |
| 08:56:45 | → | ubert joins (~Thunderbi@178.115.56.41.wireless.dyn.drei.com) |
| 08:57:40 | <dminuoso> | Zes. |
| 08:57:43 | <dminuoso> | Yes. |
| 08:58:31 | → | kuribas joins (~user@silversquare.silversquare.eu) |
| 09:01:28 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 09:01:46 | → | yvan-sraka joins (~yvan-srak@163.172.69.160) |
| 09:01:59 | <albet70> | is it a closure? |
| 09:02:47 | <ski> | "closure" is an implementation term |
| 09:03:15 | <ski> | `a' is just a local variable, bound to `3' |
| 09:03:53 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
| 09:04:51 | <ski> | (what are you trying to ask about ?) |
| 09:05:52 | × | ubert quits (~Thunderbi@178.115.56.41.wireless.dyn.drei.com) (Ping timeout: 255 seconds) |
| 09:06:47 | × | yvan-sraka quits (~yvan-srak@163.172.69.160) (Remote host closed the connection) |
| 09:07:29 | → | rockystone joins (~rocky@user/rockymarine) |
| 09:08:22 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 252 seconds) |
| 09:12:48 | → | ubert joins (~Thunderbi@77.119.160.6.wireless.dyn.drei.com) |
| 09:13:01 | × | akegalj quits (~akegalj@212.15.177.13) (Ping timeout: 246 seconds) |
| 09:13:06 | × | danza quits (~francesco@151.43.231.219) (Read error: Connection reset by peer) |
| 09:13:27 | <kuribas> | Anyone going to FOSDEM or BOB? |
| 09:14:59 | → | vglfr joins (~vglfr@145.224.100.100) |
| 09:15:25 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 09:16:45 | <albet70> | in other languages like python or scheme we can create a closure by bind a function and a outside variable, so I wonder how to do x in y |
| 09:17:47 | <kuribas> | > let adder = (+); add5 = adder 5 in add5 3 |
| 09:17:49 | <lambdabot> | 8 |
| 09:17:56 | <kuribas> | albet70: ^ |
| 09:18:15 | <kuribas> | you could capture a IORef if that's what you fancy. |
| 09:18:39 | → | vglfr joins (~vglfr@145.224.100.100) |
| 09:20:24 | × | ccapndave quits (~ccapndave@xcpe-62-167-164-44.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com) |
| 09:24:40 | → | akegalj joins (~akegalj@213-202-90-118.dsl.iskon.hr) |
| 09:25:07 | → | wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130) |
| 09:25:52 | → | yvan-sraka joins (~yvan-srak@163.172.69.160) |
| 09:26:48 | × | mjacob quits (~mjacob@adrastea.uberspace.de) (Read error: Connection reset by peer) |
| 09:27:50 | → | danza joins (~francesco@151.37.141.231) |
| 09:31:22 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
| 09:31:40 | × | yvan-sraka quits (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
| 09:31:57 | → | mmhat joins (~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de) |
| 09:32:12 | → | mjacob joins (~mjacob@adrastea.uberspace.de) |
| 09:32:30 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:33:48 | × | ft quits (~ft@p3e9bc845.dip0.t-ipconnect.de) (Quit: leaving) |
| 09:36:10 | → | Everything joins (~Everythin@37.115.210.35) |
| 09:37:15 | → | gmg joins (~user@user/gehmehgeh) |
| 09:38:08 | <dminuoso> | albet70: A closure is an implementation detail. |
| 09:42:19 | × | acidjnk_new quits (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 09:46:01 | <dminuoso> | albet70: Semantically what you meant is, given `let x = 5 in \y -> x + y`, `y` is bound in \y -> x + y` |
| 09:46:33 | <dminuoso> | So yes, Haskell lets you bind variables from outside a lambda. Whether we end up using a closure or a different technique to implement that is an implementation detail |
| 09:46:38 | → | `2jt joins (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
| 09:46:58 | <dminuoso> | Oh sorry, I miswrote. `x` is bound in \y -> x + y` |
| 09:47:30 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:48:12 | <dminuoso> | We could, instead, just create a new function on the spot with `x` replaced by 5. No closure needed. |
| 09:48:43 | <dminuoso> | But from a semantic point of view this is indistinguishable, aside from the performance perspective |
| 09:49:09 | → | kavvadias joins (~kavvadias@2001:9e8:632f:ca00:d323:974c:a374:e838) |
| 09:49:37 | <kavvadias> | hey i was wondering if someone could help me with hls and coc for nvim |
| 09:50:02 | <[exa]> | kavvadias: please state your trouble. :] |
| 09:50:55 | <dminuoso> | *please state the nature of your functional emergency |
| 09:54:37 | <kavvadias> | i was setting up coc-config, as per their github and im struglling with the navigation (to Definition, type Definition) i keep getting typeDefinition not found |
| 09:54:38 | × | danza quits (~francesco@151.37.141.231) (Read error: Connection reset by peer) |
| 09:55:38 | <[exa]> | does it work on some tiny example (such as you define the type, use it on a next line and try the goto definition) ? |
| 09:55:47 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:01:02 | × | birdgoose quits (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 272 seconds) |
| 10:01:35 | <kavvadias> | no it doesnt |
| 10:02:07 | <[exa]> | ok then it's just broken it seems. I'm not using these so I don't know much about how to debug that but chances are others here will know |
| 10:02:14 | <[exa]> | in the meantime, are there any logs? |
| 10:05:32 | <kavvadias> | ihttps://pastebin.com/rLVHgCLz |
| 10:05:40 | <kavvadias> | thats from Coc log |
| 10:06:07 | <[exa]> | nothing suspicious there right |
| 10:06:29 | <kavvadias> | dont seem like it |
| 10:09:02 | × | kuribas quits (~user@silversquare.silversquare.eu) (Read error: Connection reset by peer) |
| 10:11:49 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
| 10:12:28 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
| 10:14:24 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 10:15:23 | → | Midjak joins (~Midjak@82.66.147.146) |
| 10:17:22 | → | acidjnk_new joins (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) |
| 10:19:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 10:20:25 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:24:43 | × | haritz quits (~hrtz@user/haritz) (Remote host closed the connection) |
| 10:25:20 | → | rockystone joins (~rocky@user/rockymarine) |
| 10:25:25 | <dminuoso> | % :set -XPolyKinds |
| 10:25:25 | <yahb2> | <no output> |
| 10:25:41 | <dminuoso> | % data T (s :: TYPE rr) = T s |
| 10:25:42 | <yahb2> | <interactive>:70:25: error: ; • A levity-polymorphic type is not allowed here: ; Type: s ; Kind: TYPE rr ; • In the definition of data constructor ‘T’ ; In the data ty... |
| 10:25:58 | <dminuoso> | % data T (s :: TYPE rr) = T s |
| 10:25:58 | <yahb2> | <interactive>:74:25: error: ; • A levity-polymorphic type is not allowed here: ; Type: s ; Kind: TYPE rr ; • In the definition of data constructor ‘T’ ; In the data ty... |
| 10:26:01 | <dminuoso> | % newtype T (s :: TYPE rr) = T s |
| 10:26:01 | <yahb2> | <no output> |
| 10:26:24 | <dminuoso> | % f :: T s -> Int; f = undefined |
| 10:26:24 | <yahb2> | <no output> |
| 10:26:33 | <dminuoso> | % {-# SPECIALIZE f :: T Int# -> Int #-} |
| 10:26:33 | <yahb2> | <no output> |
| 10:26:41 | <dminuoso> | Huh! |
| 10:27:39 | × | vglfr quits (~vglfr@145.224.100.100) (Ping timeout: 272 seconds) |
| 10:29:46 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 10:38:05 | <tomsmeding> | kavvadias: what happens if you try to run `haskell-language-server-wrapper` in a terminal in your project folder? Does that succeed? |
| 10:38:40 | → | __monty__ joins (~toonn@user/toonn) |
| 10:39:26 | → | zkSNOOP joins (~username@ptr-21zvp7pbt2o6jn2ooyl.18120a2.ip6.access.telenet.be) |
| 10:40:03 | <kavvadias> | https://pastebin.com/K6c9ArCU |
| 10:41:22 | <dminuoso> | Ohh GHCI cant do these pragmas right |
| 10:41:39 | → | JonathanWatson[m joins (~jjwmatrix@2001:470:69fc:105::2:a544) |
| 10:42:53 | → | rockystone joins (~rocky@user/rockymarine) |
| 10:44:44 | × | coot quits (~coot@213.134.171.3) (Quit: coot) |
| 10:47:05 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 258 seconds) |
| 10:48:28 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 10:48:55 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
| 10:50:08 | absence_ | is now known as absence |
| 10:56:55 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 10:59:34 | → | haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
| 10:59:34 | × | haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
| 10:59:34 | → | haritz joins (~hrtz@user/haritz) |
| 10:59:58 | → | vglfr joins (~vglfr@145.224.100.100) |
| 11:02:06 | → | rockystone joins (~rocky@user/rockymarine) |
| 11:02:09 | <kavvadias> | can someone share some config file for nvim please ? |
| 11:06:01 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 11:06:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:06:26 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 11:08:23 | → | MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
| 11:08:27 | → | vn36 joins (~vn36@123.63.203.210) |
| 11:08:34 | × | raym quits (~aritra@user/raym) (Quit: kernel update, rebooting...) |
| 11:10:08 | → | Tobias83 joins (~Tobias@dyndsl-095-033-094-034.ewe-ip-backbone.de) |
| 11:11:07 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 11:12:54 | × | Tobias83 quits (~Tobias@dyndsl-095-033-094-034.ewe-ip-backbone.de) (Client Quit) |
| 11:18:36 | <tomsmeding> | for coc+nvim specifically, I assume |
| 11:20:03 | <dminuoso> | % newtype State (s :: TYPE rr) a = State { runState :: s -> (# s, a #) } |
| 11:20:03 | <yahb2> | <no output> |
| 11:20:10 | <dminuoso> | % put :: forall rr (s :: TYPE rr). s -> State s (); put x = State (\_ -> (# x, () #)) |
| 11:20:11 | <dminuoso> | % put :: forall rr (s :: TYPE rr). s -> State s (); put x = State (\_ -> (# x, () #)) |
| 11:20:11 | <yahb2> | <interactive>:88:55: error: ; A levity-polymorphic type is not allowed here: ; Type: s ; Kind: TYPE rr ; In the type of binder ‘x’ |
| 11:20:23 | <dminuoso> | Is there a way to build this? |
| 11:21:37 | × | vn36 quits (~vn36@123.63.203.210) (Quit: leaving) |
| 11:21:47 | <raehik> | isn't it impossible to bind a levity poly value |
| 11:22:00 | <raehik> | (I have a note from myself that says as much when I tried before) |
| 11:22:22 | <dminuoso> | So much for my brilliant idea of making a levity polymorphic variant of FlatParse.Stateful :( |
| 11:22:29 | <dminuoso> | That idea prompt died. |
| 11:22:32 | <dminuoso> | *promptly |
| 11:22:58 | <dminuoso> | raehik: Hi! I have some further thoughts to share on 9.4 compatibility on flatparse, by the wya |
| 11:23:07 | <kavvadias> | tomsmeding yes , that would be great, even for more plugins, im kind of new to nvim |
| 11:23:42 | <raehik> | dminuoso: yes plz! I wonder if you were added to the repo as a contributor yet |
| 11:23:51 | <dminuoso> | I just started yesterday :P |
| 11:24:53 | <dminuoso> | raehik: So invested a few hours last night in various approaches. Im close to having convinced myself ditching 32 bit support is the best course of action. |
| 11:25:41 | <raehik> | current flatparse design doesn't support 32-bit anyway so I'm comfortable with that |
| 11:25:46 | <dminuoso> | Alternatively you either risk poorer performance (since you need to constantly convert things around depending on which primop you use, and they arent all noops), or you will spend reimplementing a lot |
| 11:25:58 | <dminuoso> | In that case, the word-compat way is the only sensible |
| 11:26:08 | <dminuoso> | its less effort, and wont require re-converting on every primop and callsite |
| 11:26:32 | <dminuoso> | we dont have to use the package itself, all we really need is just similar bidirectional view patterns |
| 11:26:52 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:3f57:8fd:2b35:c02c) |
| 11:27:33 | <dminuoso> | raehik: by the way, getting a Word64# on ghc 9.0 is easy. |
| 11:27:51 | <tomsmeding> | kavvadias: I'm using the built-in lsp functionality of nvim; has less features than coc, and is supposedly harder to set up, but it works for me |
| 11:27:59 | <dminuoso> | Let me give you the code Ive written last night |
| 11:28:02 | × | mixfix41 quits (~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds) |
| 11:28:18 | → | nschoe joins (~q@141.101.51.197) |
| 11:30:29 | <dminuoso> | raehik: https://gist.github.com/dminuoso/d583018afcac70ccc034b4eefac416cd |
| 11:31:00 | <dminuoso> | The dark secret here, is that on 32bit there's suddenly a new primop wordToWord64#, which is however not visible on haddock because it uses the same CPP macro guard in the gist |
| 11:31:07 | <raehik> | dminuoso: ah right, that's fair |
| 11:31:21 | <dminuoso> | raehik: alternatively, you can do this: |
| 11:31:38 | <dminuoso> | Or rather, for the opposite direction: |
| 11:31:47 | <dminuoso> | word64ToWord# w64 = let GHC.W# w = fromIntegral (GHC.W64# w64) in w |
| 11:32:02 | <dminuoso> | (Which is obviously only safe on 64 bits) |
| 11:32:25 | <dminuoso> | This relies on a) a RULES that will inline the corresponding primop (which however is not exported), and b) GHC will definitely unbox this. |
| 11:32:40 | × | acidjnk_new quits (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 11:33:07 | <dminuoso> | And on 32 bit that thing actually exists (but is iomplemented as an FFI call) |
| 11:33:12 | <dminuoso> | See libraries/ghc-prim/GHC/IntWord64.hs |
| 11:34:03 | <dminuoso> | raehik: by the way, where do we not support 32 bits yet? |
| 11:34:10 | <raehik> | huh. that is all a bit confusing |
| 11:35:45 | <raehik> | dminuoso: there are parser combinators that use Word, Word# though state themselves to be 64-bit, and some implementations might rely on 64-bit ints |
| 11:35:53 | → | rockystone joins (~rocky@user/rockymarine) |
| 11:36:09 | <dminuoso> | Word# does definitely not state itself to be 64 bit. |
| 11:36:17 | <dminuoso> | It's just a machine word sized prim type. |
| 11:36:24 | <dminuoso> | On 32 bit systems it will be 32 bit. |
| 11:37:17 | <dminuoso> | The trick is that on old GHC Word64, using CPP will use Word# on 64 bit, and on 32 bit systems it will use Word64# (which is only ever generated on 32 bit systems) |
| 11:37:27 | <tomsmeding> | dminuoso: I think raehik meant that the parser combinators state themselves to be 64-bit |
| 11:37:31 | <raehik> | we assume Word# s are 8-bytes long though: https://github.com/AndrasKovacs/flatparse/blob/f51ead69b568f73bb7d3b47f3bc7a2b2b6db259d/src/FlatParse/Basic.hs#L1149-L1154 |
| 11:38:15 | <dminuoso> | I would personally really prefer `withAnyWord64 :: (Word64# -> ...) -> ...` |
| 11:38:29 | <dminuoso> | But there's really no pretty way to make it happen |
| 11:38:55 | <dminuoso> | Because then you need to provide an indexWord64OffAddr# shim for example |
| 11:39:13 | <raehik> | yeah, that's what I did in my temp GHC 9.4 branch https://github.com/AndrasKovacs/flatparse/pull/29/files#diff-902431788ef1828ee9050e062bd33fc61675efe0aeb36b9a10c456370b53acb6R1149 |
| 11:39:16 | → | xff0x joins (~xff0x@2405:6580:b080:900:e42c:dea5:20dc:c5aa) |
| 11:40:26 | <raehik> | certain we could remove some amount of the 64-bit assumption, some things will need a little more thought? maybe CPP solves it though |
| 11:41:38 | <dminuoso> | On the bright side, regardless of what approach we chose, its fixed work,. |
| 11:41:50 | <dminuoso> | I think its mostly done on GHC 9.4 |
| 11:42:01 | <dminuoso> | There's just a few rough edges missing |
| 11:42:22 | <dminuoso> | What I just dont really like is the `type Word64'# = Word64#` shenanigans. |
| 11:42:49 | <dminuoso> | If we just force a Word64# onto, regardless of what GHC version you use, its easier from the consumer side to reliably deal with it. |
| 11:42:55 | <dminuoso> | Otherwise you essentially impose CPP on the library user |
| 11:43:36 | <dminuoso> | Which is sort of why forcing everything into Word# induces less work for us and users. |
| 11:43:51 | <dminuoso> | Very unsatisfying |
| 11:45:43 | <dminuoso> | raehik: Tell you what, you finish your approach on (3), and Ill try and roll (1) |
| 11:45:46 | <raehik> | I agree - I went with WordX'# because I didn't want to lose the improvements from 9.2 |
| 11:45:53 | <dminuoso> | And when we're done, well just compare them |
| 11:46:14 | <Franciman> | does ghc runtime support Word128# ? |
| 11:46:16 | <dminuoso> | Well, thats the beauty of (1). If you use newer GHC, you will definitely not pay a penalty |
| 11:46:20 | <dminuoso> | Butfor older versions you might |
| 11:46:22 | <dminuoso> | Franciman: No |
| 11:46:25 | <raehik> | yeah that I'm fine with |
| 11:46:31 | <Franciman> | how come? |
| 11:46:36 | <Franciman> | is there a specific reason not to? |
| 11:46:52 | <merijn> | Franciman: "without a specific reason to support it, nobody has bothered"? |
| 11:47:06 | <Franciman> | crystal clear |
| 11:47:30 | <dminuoso> | raehik: there's another alternative, by the way. |
| 11:47:31 | <Franciman> | so haskell has no interest in working with high performance numeric computations? |
| 11:47:44 | <dminuoso> | We could go with (1) *and* expose Word# casted variants of combinators |
| 11:47:48 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 11:48:22 | <dminuoso> | So you have: `anyWord64# :: (Word64# -> Parser e a) -> Parser e a` and `anyWord64'# :: (Word# -> Parser e a) -> Parser e a` |
| 11:48:48 | <dminuoso> | That way, newer GHC users can just use anyWord64, and newer users can too, of for better compatibility decide for anyWord64'# instead. |
| 11:48:57 | <dminuoso> | It defers the compatibility choice to the user |
| 11:49:07 | <merijn> | Franciman: I mean, GMP is already rather high performance |
| 11:49:28 | <merijn> | What high performance numeric problem does Word128# solve? |
| 11:49:30 | <Franciman> | ok i understand |
| 11:49:30 | → | cfricke joins (~cfricke@user/cfricke) |
| 11:49:42 | <dminuoso> | Franciman: Feel free to submit a pull request implementing Work128# if you want it? |
| 11:49:47 | <Franciman> | sure |
| 11:50:02 | <Franciman> | i wasn't aware GMP was already high performance |
| 11:50:03 | <raehik> | dminuoso: why not `anyWord# :: (Word# -> ...` ? |
| 11:50:14 | <Franciman> | if it's enough for the haskell communityu, it's probably enough for me too |
| 11:50:16 | <dminuoso> | raehik: And how much does that parse off the input? :P |
| 11:50:32 | <Franciman> | word128# solves various problems in which you work with large numbers without resorting to bignum tricks |
| 11:50:54 | <Franciman> | but there are no widespread architectures supporting word128, so it's only natural |
| 11:50:55 | <dminuoso> | raehik: but honestly, we dont even need that. a user can just unsafeCoerce# a Word64# into Word# themselves for easier use. |
| 11:50:56 | <raehik> | dminuoso: ...could we just give up there and use CPP like in your snippet? |
| 11:50:56 | <Franciman> | that nobody cares |
| 11:51:08 | <dminuoso> | these wrappers might be redundant |
| 11:51:30 | <dminuoso> | raehik: Im not a big fan of the interface/types changing depending on CPP. |
| 11:51:57 | <dminuoso> | Because this forces CPP on consumers if they want broad GHC compatibility |
| 11:52:10 | × | MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6) |
| 11:52:45 | <probie> | I think the only time I've used a "Word128" was when doing bitboards for things like Reversi |
| 11:53:16 | <raehik> | dminuoso: ok, haven't thought of wider implications of using CPP before |
| 11:53:18 | <dminuoso> | Franciman: Honestly, I think if we want better optimization potential, auto vectorization in GHC is probably a better source of it/ |
| 11:53:33 | <Franciman> | yup |
| 11:53:35 | <Franciman> | i agree |
| 11:54:29 | <dminuoso> | raehik: So I guess that should be the first decision, whether we want to impose CPP onto library users or not. |
| 11:54:53 | <dminuoso> | If not, then its just a matter of "Coerce everything into Word# or not" |
| 11:55:23 | <dminuoso> | Realistically users will hate you for it either way. |
| 11:57:07 | <dminuoso> | If you force Word# for a Word8# on them, and they are on GHC 9.4 its not too terrible. because the main advantage of a native Word8# is being able to pack them densely inside constructors, say `data D = D {-# UNPACK #-} Word8# {-# UNPACK #-} Word8# {-# UNPACK #-} Word8# {-# UNPACK #-} Word8#` being packed into a single Word32# internally |
| 11:57:21 | <dminuoso> | But that's not the side we care about |
| 11:57:21 | <raehik> | I have now viewed the Tweag article on why CPP bad. Good points |
| 11:57:45 | × | kavvadias quits (~kavvadias@2001:9e8:632f:ca00:d323:974c:a374:e838) (Quit: Client closed) |
| 11:59:07 | → | MajorBiscuit joins (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
| 11:59:37 | <dminuoso> | raehik: There is also a case to be made to not provide prim types here at all, and expecting GHC to unbox them. |
| 11:59:53 | <dminuoso> | Given that everything is inlined, the chances of unboxing are extremely high |
| 12:00:11 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 12:01:13 | <raehik> | mm I appreciate providing parsers using unboxed types for the clear performance implications. but truthfully I do not understand compilation machinery enough to give strong opinions for any of this...! |
| 12:01:51 | <raehik> | we should start some discussion on the repository |
| 12:02:01 | <dminuoso> | Well, we could just move them into an internal module, that would avoid public API being brittle |
| 12:02:26 | → | nate1 joins (~nate@98.45.169.16) |
| 12:02:51 | <dminuoso> | And then, if its inconvenient to use it (for whatever reason, say because it gives you Word64# on GHC 9.0, or Word# everywhere on 9.4), well tough luck, its an internal module. Write your own if you want a particular flavour. |
| 12:02:56 | <dminuoso> | Maybe, yeah |
| 12:07:42 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 12:13:25 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 12:28:00 | × | _xor quits (~xor@74.215.182.83) (Quit: brb) |
| 12:29:48 | × | maerwald quits (~maerwald@mail.hasufell.de) (Changing host) |
| 12:29:48 | → | maerwald joins (~maerwald@user/maerwald) |
| 12:32:53 | → | _xor joins (~xor@74.215.182.83) |
| 12:33:02 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 12:33:50 | → | acidjnk_new joins (~acidjnk@p200300d6e7137a87a017d72952e61ce6.dip0.t-ipconnect.de) |
| 12:46:21 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 272 seconds) |
| 12:46:49 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 12:47:13 | → | rockystone joins (~rocky@user/rockymarine) |
| 12:51:40 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 12:55:36 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 12:57:41 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 12:58:26 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 13:01:26 | × | frost78 quits (~frost@user/frost) (Ping timeout: 244 seconds) |
| 13:05:14 | × | king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 252 seconds) |
| 13:07:16 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
| 13:08:24 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 13:12:13 | × | `2jt quits (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 13:12:19 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 272 seconds) |
| 13:12:32 | → | `2jt joins (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
| 13:16:21 | <sayola> | whats the next best thing to a sum type but thats somehow extensible? |
| 13:17:42 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 13:20:26 | <lortabac> | sayola: it depends, there are several ways to make extensible sum types |
| 13:21:32 | <lortabac> | the simplest one is to add a polymorphic constructor, for eg.: data Foo ext = Foo | Ext ext |
| 13:21:42 | <probie> | A sum type? data ExtendableThingy a = C1 ... | C2 ... | Extend a; type Thingy = ExtendableThingy Void; data MyExt = C3_ ... | C4_ ...; pattern (C3 a b c ...) = Extend (C3_ a b c ..); pattern (C4 a b c ...) = Extend (C4_ a b c ...) |
| 13:22:16 | <sayola> | hmh wasnt thinking about pattern synonyms lol |
| 13:22:19 | → | rockystone joins (~rocky@user/rockymarine) |
| 13:22:33 | <sayola> | but i guess that might work |
| 13:23:11 | <sayola> | its for an event type, but which should be extensible so that the user could feed it with other events. the user is also the only one to consume it. |
| 13:24:13 | → | thegeekinside joins (~thegeekin@189.180.97.156) |
| 13:24:35 | <[Leary]> | sayola: In that case, I'd suggest `class Typeable e => Event e; data SomeEvent where SomeEvent :: Event e => e -> SomeEvent`. |
| 13:25:30 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6) |
| 13:25:37 | <probie> | In that case, I wouldn't even suggest pattern synonyms. Just keep it simple and have `data Event userEvent = SomeEventType ... | AnotherEventType ... | UserEvent userEvent` |
| 13:26:09 | <[Leary]> | Ah, though I guess if it really is only the user consuming it, then the existential version might be overkill. |
| 13:26:24 | <[Leary]> | Since it doesn't need to play nice with other extensions. |
| 13:26:34 | <sayola> | it be great to pattern match over it in the end, so probably a mix of the basic plus one synonym for a single extension |
| 13:27:28 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
| 13:29:10 | <sayola> | thank you guys |
| 13:35:50 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 13:36:41 | → | vglfr joins (~vglfr@145.224.100.100) |
| 13:38:37 | <probie> | sayola: alternatively, you could flip it around, and require the user to embed your event type https://paste.tomsmeding.com/eG3pbKYB |
| 13:40:34 | <sayola> | interesting idea. i'll keep it in mind. i'll work around a bit and see how it works out. |
| 13:43:28 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 13:43:41 | <probie> | I've never done that or seen it done, and it probably won't play nicely with the exhaustiveness checker without requiring the user to add a COMPLETE pragma. |
| 13:44:55 | <probie> | If your code only produces events and never reads them, having the user supply a function `SystemEvent -> UserEvent` is probably the most flexible and convenient solution |
| 13:45:51 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 13:45:53 | × | mmhat quits (~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7) |
| 13:47:57 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 13:48:48 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 13:48:48 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 13:48:48 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:50:10 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 13:51:07 | → | mncheck joins (~mncheck@193.224.205.254) |
| 13:54:44 | → | rockystone joins (~rocky@user/rockymarine) |
| 13:55:49 | × | chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Ping timeout: 246 seconds) |
| 13:57:17 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
| 14:00:55 | → | chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
| 14:01:31 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
| 14:02:38 | → | stef204 joins (~stef204@user/stef204) |
| 14:05:52 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:06:47 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:07:37 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:08:06 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:10:11 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 14:10:50 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:12:02 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:15:01 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
| 14:15:04 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 246 seconds) |
| 14:21:44 | → | raym joins (~aritra@user/raym) |
| 14:25:53 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 14:29:49 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:30:33 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:31:10 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:33:30 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:38:40 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:39:47 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 14:39:49 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:39:52 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:40:14 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 14:42:47 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:45:12 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 14:53:01 | × | vglfr quits (~vglfr@145.224.100.100) (Remote host closed the connection) |
| 14:53:46 | → | vglfr joins (~vglfr@145.224.100.100) |
| 14:54:50 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:59:04 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 14:59:27 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:06:19 | × | acidjnk_new quits (~acidjnk@p200300d6e7137a87a017d72952e61ce6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 15:08:11 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 15:08:44 | <zzz> | why are cyclic imports a problem in haskell? |
| 15:09:13 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 15:11:44 | × | AlexZenon quits (~alzenon@178.34.163.70) (Quit: ;-) |
| 15:12:04 | × | Alex_test quits (~al_test@178.34.163.70) (Quit: ;-) |
| 15:12:24 | × | AlexNoo quits (~AlexNoo@178.34.163.70) (Quit: Leaving) |
| 15:14:04 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
| 15:14:32 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 15:14:47 | <lortabac> | zzz: do you mean what is the technical reason why GHC doesn't support them without hs-boot files? |
| 15:15:21 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Client Quit) |
| 15:15:47 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:16:47 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 15:19:06 | <zzz> | i don't know what hs-boot files are but yes i guess that's what i'm asking |
| 15:21:57 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 15:22:13 | → | littlefinger joins (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) |
| 15:22:31 | <lortabac> | zzz: hs-boot files are special files that are needed to compile mutually recursive modules https://downloads.haskell.org/ghc/latest/docs/users_guide/separate_compilation.html#how-to-compile-mutually-recursive-modules |
| 15:23:04 | <lortabac> | I don't know exactly what the technical issue is, but I'm sure it has something to do with the fact that modules are the basic compilation unit in GHC |
| 15:23:37 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 15:25:41 | <lortabac> | mutually recursive modules require the compiler to be somehow able of more granularity than modules |
| 15:26:37 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 15:27:01 | → | AlexNoo joins (~AlexNoo@178.34.163.70) |
| 15:27:03 | <geekosaur> | less granular, actually: it would need to compile two modules at once, each referencing the other |
| 15:27:09 | × | AlexNoo quits (~AlexNoo@178.34.163.70) (Client Quit) |
| 15:27:25 | <lortabac> | geekosaur: that's also another possibility |
| 15:27:30 | → | AlexZenon joins (~alzenon@178.34.163.70) |
| 15:27:51 | <geekosaur> | it can do that *within* a single module (you can have data Foo = Foo Bar at the top and data Bar ... at the bottom, but not across modules |
| 15:27:55 | <lortabac> | I meant something like: compile one function from module A, then one function from module B, then another from module A etc. |
| 15:28:26 | <geekosaur> | s/.../= Bar Foo/ |
| 15:28:38 | → | AlexNoo joins (~AlexNoo@178.34.163.70) |
| 15:29:39 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 15:30:02 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.7) |
| 15:32:01 | → | Alex_test joins (~al_test@178.34.163.70) |
| 15:32:38 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 15:32:48 | → | yvan-sraka joins (~yvan-srak@2001:470:1f13:21d:e7f8:f613:453a:84bf) |
| 15:32:54 | <zzz> | why don't we just concatenate everything that's imported into a single file and compile that? |
| 15:34:20 | <zzz> | (solving for name collisions etc of course) |
| 15:34:24 | × | kenran` quits (~user@user/kenran) (Remote host closed the connection) |
| 15:34:32 | <geekosaur> | because you may not have the file to import, you may only have a .hi file from a compiled package. granting you can't have a recursive import in that case, but then that means you have two different kinds of imports to deal with |
| 15:34:51 | <geekosaur> | remember, separate compilation, not whole-program |
| 15:35:13 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 15:36:01 | <geekosaur> | oh, and no way to tell which kind of import is which from the source; the compiler only finds out when it tries to do the import |
| 15:36:25 | <zzz> | fair enough. so that's the main reason |
| 15:37:37 | <geekosaur> | it's a bit late to try to turn ghc into a whole-program compiler (although I think someone recently=ish tried to?) and the memory usage would really explode |
| 15:38:09 | <geekosaur> | https://github.com/grin-compiler/ghc-grin |
| 15:39:24 | <geekosaur> | which is one of the major reasons for ghc being module at a time, as is even that can use a lot of memory |
| 15:40:26 | × | akegalj quits (~akegalj@213-202-90-118.dsl.iskon.hr) (Quit: leaving) |
| 15:42:28 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 15:43:04 | → | tremon joins (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
| 15:43:21 | × | stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.7) |
| 15:45:38 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
| 15:48:46 | <tomsmeding> | geekosaur: are you talking about the GHC-WPC project thing by Csaba Hruska? |
| 15:48:57 | <tomsmeding> | (just dropping the name in case you forgot and were looking for it) |
| 15:49:21 | <tomsmeding> | oh this is also csaba :D |
| 15:49:26 | <geekosaur> | maybe there are multiiple. I recall grin wanted to do WPC for some reason though |
| 15:50:07 | <tomsmeding> | seems said project is linked from the ghc-grin repo readme |
| 15:50:56 | × | yvan-sraka quits (~yvan-srak@2001:470:1f13:21d:e7f8:f613:453a:84bf) (Remote host closed the connection) |
| 15:52:26 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 15:54:25 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Remote host closed the connection) |
| 15:54:35 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:3f57:8fd:2b35:c02c) (Quit: WeeChat 2.8) |
| 15:55:37 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 15:56:14 | → | Topsi joins (~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de) |
| 15:58:31 | × | MajorBiscuit quits (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 255 seconds) |
| 15:58:44 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Client Quit) |
| 15:59:46 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 16:03:31 | → | milia joins (~milia@user/milia) |
| 16:04:05 | → | nate1 joins (~nate@98.45.169.16) |
| 16:05:11 | <EvanR> | dminuoso, I'm told it's more idiomatic to pass updated state back in a tuple and carefully thread the latest state through each function call (in elixir) which I'm just going to say "isn't monads" xD |
| 16:05:19 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 16:05:29 | <EvanR> | because there's no type system or sugar to help with that |
| 16:06:55 | → | HackingSpring joins (~haru@201-27-75-20.dsl.telesp.net.br) |
| 16:08:07 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 246 seconds) |
| 16:08:52 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 16:09:21 | → | razetime joins (~quassel@117.254.34.48) |
| 16:11:33 | <EvanR> | dminuoso, I've seen this paper but I didn't realize it was only 4 pages... thanks |
| 16:12:58 | × | vglfr quits (~vglfr@145.224.100.100) (Ping timeout: 252 seconds) |
| 16:18:43 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:19:21 | × | Goodbye_Vincent quits (cyvahl@freakshells.net) (Quit: Ping timeout (120 seconds)) |
| 16:20:45 | → | mastarija joins (~mastarija@212.15.178.9) |
| 16:20:58 | <HackingSpring> | Hey, folks. Coming here to get some help. If this is not the right place, please let me know. I'm trying to debug a compiled haskell program with lldb. I can't get the bare example from ghc user guide docs to work. Maybe worth noting, I'm using a mac m1. Is there some limitation for darwin arm? |
| 16:23:03 | <mastarija> | Where is the list of packages installed with `cabal install`? |
| 16:23:55 | <HackingSpring> | What I'm doing: a simple Main.hs with a main function and a simple adder function. I'm compiling the file with these ghc flags: -g3,-rtsopts,-O0. Afterwards, I execute dsymutil Main (which, btw, tells me "warning: no debug symbols in executable (-arch arm64)") and execute `lldb Main -- +RTS -V0` |
| 16:25:30 | <HackingSpring> | once into lldb, I can't set breakpoints using `Main.hs:3`. It also doesn't work when using the extended command `breakpoint set --file Main.hs --line 4` |
| 16:26:06 | <HackingSpring> | neither can I execute `target symbols add Main.dSYM` to get that functionality |
| 16:26:30 | <HackingSpring> | am I missing something while compilling/executing? |
| 16:28:38 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:28:53 | → | Goodbye_Vincent joins (cyvahl@freakshells.net) |
| 16:30:16 | → | MajorBiscuit joins (~MajorBisc@86-88-79-148.fixed.kpn.net) |
| 16:31:53 | <geekosaur> | mastarija, normally library packages are installed under ~/.cabal/store and exposed as needed according to cabal files, so so you can have multiple versions of packages installed without causing conflicts |
| 16:32:10 | <geekosaur> | you should generally not try to manage this yourself |
| 16:32:22 | <geekosaur> | but let cabal do it |
| 16:32:23 | <mastarija> | I want to delete that file :) |
| 16:33:57 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:34:00 | <mastarija> | geekosaur, I don't think that's it |
| 16:34:09 | <mastarija> | that's a folder containing libraries |
| 16:34:15 | <geekosaur> | there is no "file" unless you';ve been installing with --lib, in which case you want to look for something like .ghc.environment.<ghcver> |
| 16:34:44 | <geekosaur> | otherwise I think you're assuming cabal is doing something it isn't |
| 16:35:00 | <mastarija> | yes, that's it I think |
| 16:36:46 | × | MajorBiscuit quits (~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 16:37:45 | → | isamiamsam joins (~d@zukertort.childrenofmay.org) |
| 16:38:09 | × | mastarija quits (~mastarija@212.15.178.9) (Quit: Leaving) |
| 16:39:38 | <isamiamsam> | is there a way to automatically generate Read instances that allow the terse constructor syntax? |
| 16:39:39 | <geekosaur> | HackingSpring, I don't think DWARF support is provided in current release versions of ghc; you'd have to build it yourself |
| 16:39:44 | <geekosaur> | skkukuk «xmonad*skkukuk» ⁅xmonad-bsa⁆ Z$ grep libdw $(ghc --print-libdir)/settings |
| 16:39:44 | <geekosaur> | ,("RTS expects libdw", "NO") |
| 16:39:54 | <EvanR> | I vaguely remember ghc-pkg list |
| 16:40:16 | <geekosaur> | EvanR, there's no package db in either --lib or store cases |
| 16:40:25 | <geekosaur> | that's only used for bootlibs these days |
| 16:40:34 | <geekosaur> | and you can't delete those without breaking ghc |
| 16:41:32 | <EvanR> | isamiamsam, terse constructor syntax? |
| 16:41:53 | → | Tuplanolla joins (~Tuplanoll@91-159-69-245.elisa-laajakaista.fi) |
| 16:42:22 | <HackingSpring> | geekosaur: are you talking about the execution of "dsymutil Main"? |
| 16:42:46 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 16:43:24 | × | raym quits (~aritra@user/raym) (Quit: leaving) |
| 16:44:10 | <isamiamsam> | EvanR: where you don't specify the field names |
| 16:44:42 | <geekosaur> | HackingSpring, from the manual: "GHC binary distributions configured in this way are provided for a select number of platforms; other platforms are advised to build using Hadrian’s +debug_info flavour transformer. Note as well that the built-in unwinding support provided by the base library’s GHC.ExecutionStack module requires that the runtime system be built with libdw support enabled (using the --enable-dwarf-unwind flag to configure wh |
| 16:44:42 | <geekosaur> | ile building the compiler) and a platform which libdw supports." |
| 16:45:51 | <geekosaur> | also "Currently only DWARF debug information is supported on x86-64 and i386." which implies no support for M1s |
| 16:46:12 | <geekosaur> | this from the 9.4.2 manual |
| 16:46:24 | <EvanR> | isamiamsam, i just found this https://hackage.haskell.org/package/deriving-show-simple |
| 16:46:33 | <EvanR> | dammit that is Show not Read |
| 16:46:58 | <HackingSpring> | oof, I was completely blind when reading that section. thanks for helping me, geekosaur |
| 16:49:38 | <EvanR> | https://hackage.haskell.org/package/deriving-compat-0.6.1 seems to have code for deriving Read instances, but no option to skip field names. But it might contain something to go on |
| 16:50:15 | × | nschoe quits (~q@141.101.51.197) (Ping timeout: 255 seconds) |
| 16:54:24 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 16:54:42 | × | Everything quits (~Everythin@37.115.210.35) (Ping timeout: 260 seconds) |
| 16:55:28 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
| 16:56:53 | → | raym joins (~aritra@user/raym) |
| 16:57:16 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 16:58:15 | → | econo joins (uid147250@user/econo) |
| 16:58:48 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
| 17:00:21 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 17:04:13 | → | rockystone joins (~rocky@user/rockymarine) |
| 17:05:11 | → | vglfr joins (~vglfr@145.224.100.100) |
| 17:06:37 | × | razetime quits (~quassel@117.254.34.48) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:07:24 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
| 17:11:39 | → | akegalj joins (~akegalj@212.15.177.32) |
| 17:13:12 | × | raym quits (~aritra@user/raym) (Quit: leaving) |
| 17:14:11 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 17:15:10 | <lyxia> | isamiamsam: using generic-data https://gist.github.com/Lysxia/0951fc852da2bb3274433f241a013307 |
| 17:16:23 | → | birdgoose joins (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) |
| 17:17:19 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 17:18:28 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 17:19:02 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a80f) |
| 17:19:32 | × | akegalj quits (~akegalj@212.15.177.32) (Read error: Connection reset by peer) |
| 17:19:32 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 17:24:49 | → | gentauro joins (~gentauro@user/gentauro) |
| 17:25:27 | × | littlefinger quits (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Ping timeout: 244 seconds) |
| 17:25:32 | → | polo joins (sid532813@user/polo) |
| 17:26:17 | × | birdgoose quits (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 272 seconds) |
| 17:27:48 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 17:33:57 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 17:34:10 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
| 17:34:47 | × | mbuf quits (~Shakthi@49.204.135.71) (Quit: Leaving) |
| 17:34:57 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 17:36:26 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 17:39:18 | × | heartburn quits (~gass@2a00:d880:3:1::b1e4:b241) (Ping timeout: 240 seconds) |
| 17:40:36 | × | wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 252 seconds) |
| 17:40:46 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
| 17:53:07 | × | feliix42 quits (~felix@gibbs.uberspace.de) (Read error: Connection reset by peer) |
| 17:53:07 | × | AWizzArd quits (~code@gehrels.uberspace.de) (Read error: Connection reset by peer) |
| 17:55:59 | → | feliix42 joins (~felix@gibbs.uberspace.de) |
| 17:58:44 | → | AWizzArd joins (~code@gehrels.uberspace.de) |
| 18:00:03 | → | heartburn joins (~gass@2a00:d880:3:1::b1e4:b241) |
| 18:07:35 | → | ulvarrefr joins (~user@188.124.56.153) |
| 18:07:41 | <isamiamsam> | lyxia: awesome |
| 18:10:07 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
| 18:15:59 | → | acidjnk_new joins (~acidjnk@p200300d6e7137a985cc769c881031731.dip0.t-ipconnect.de) |
| 18:19:59 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a80f) (Quit: Going elsewhere) |
| 18:20:23 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a80f) |
| 18:23:52 | → | raym joins (~aritra@user/raym) |
| 18:25:22 | → | AlexNoo_ joins (~AlexNoo@178.34.162.124) |
| 18:25:22 | → | kenran joins (~user@user/kenran) |
| 18:27:27 | × | AlexZenon quits (~alzenon@178.34.163.70) (Ping timeout: 255 seconds) |
| 18:28:59 | × | Alex_test quits (~al_test@178.34.163.70) (Ping timeout: 272 seconds) |
| 18:28:59 | × | AlexNoo quits (~AlexNoo@178.34.163.70) (Ping timeout: 272 seconds) |
| 18:31:24 | <EvanR> | updating thunk for this subject to generic-data xD |
| 18:32:21 | → | Alex_test joins (~al_test@178.34.162.124) |
| 18:32:30 | → | AlexZenon joins (~alzenon@178.34.162.124) |
| 18:35:36 | × | ubert quits (~Thunderbi@77.119.160.6.wireless.dyn.drei.com) (Remote host closed the connection) |
| 18:37:12 | → | birdgoose joins (~birdgoose@222-153-24-178-adsl.sparkbb.co.nz) |
| 18:37:22 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
| 18:54:42 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 18:56:41 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 18:59:25 | × | ksu quits (~ksu@user/prtr) (Ping timeout: 252 seconds) |
| 19:00:19 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
| 19:04:37 | AlexNoo_ | is now known as AlexNoo |
| 19:04:46 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 19:05:57 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 19:05:59 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
| 19:11:19 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 19:12:45 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:13:16 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 19:18:41 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 19:22:10 | → | Momentum joins (momentum@tilde.team) |
| 19:23:21 | × | polo quits (sid532813@user/polo) () |
| 19:24:36 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
| 19:24:52 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 19:27:51 | → | danza joins (~francesco@151.43.69.239) |
| 19:28:11 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:29:53 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 19:31:51 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Client Quit) |
| 19:35:28 | × | Maja quits (~quassel@178-37-215-128.adsl.inetia.pl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 19:37:43 | → | polo_ joins (sid532813@id-532813.tinside.irccloud.com) |
| 19:37:57 | × | polo_ quits (sid532813@id-532813.tinside.irccloud.com) (Client Quit) |
| 19:38:10 | → | polo_ joins (sid532813@user/polo) |
| 19:38:50 | polo_ | is now known as polo |
| 19:39:06 | → | pavonia joins (~user@user/siracusa) |
| 19:42:51 | → | [Ristovski] joins (~Ristovski@hellomouse/perf/ristovski) |
| 19:42:52 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
| 19:46:48 | → | rockystone joins (~rocky@user/rockymarine) |
| 19:51:19 | → | ksu joins (~ksu@user/prtr) |
| 19:55:13 | × | [Ristovski] quits (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 258 seconds) |
| 19:55:17 | → | Ristovsk- joins (~Ristovski@hellomouse/perf/ristovski) |
| 19:56:06 | × | raym quits (~aritra@user/raym) (Quit: leaving) |
| 19:56:07 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 19:56:44 | → | rockystone joins (~rocky@user/rockymarine) |
| 20:01:44 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 258 seconds) |
| 20:02:51 | → | rockystone joins (~rocky@user/rockymarine) |
| 20:05:36 | → | nate1 joins (~nate@98.45.169.16) |
| 20:08:15 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 20:09:10 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
| 20:10:04 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:10:33 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 258 seconds) |
| 20:18:46 | → | mestre joins (~mestre@191.177.185.178) |
| 20:19:17 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 20:25:01 | → | raym joins (~aritra@user/raym) |
| 20:29:10 | → | littlefinger joins (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) |
| 20:37:00 | → | yvan-sraka joins (~yvan-srak@2a01cb0802a4b900266adbf2c2065e5f.ipv6.abo.wanadoo.fr) |
| 20:43:23 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
| 20:46:09 | × | littlefinger quits (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Quit: Client closed) |
| 20:48:19 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 272 seconds) |
| 20:56:05 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 21:02:49 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 21:04:17 | → | wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130) |
| 21:09:00 | × | tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 21:09:43 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 21:10:11 | → | coot joins (~coot@213.134.171.3) |
| 21:15:24 | × | yvan-sraka quits (~yvan-srak@2a01cb0802a4b900266adbf2c2065e5f.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 21:16:55 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 21:17:03 | <Alex_test> | 1862 |
| 21:17:44 | × | zeenk quits (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!) |
| 21:18:29 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 21:21:20 | × | acidjnk_new quits (~acidjnk@p200300d6e7137a985cc769c881031731.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 21:21:43 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:23:46 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 258 seconds) |
| 21:24:08 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 21:24:35 | × | chomwitt quits (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
| 21:25:20 | → | yvan-sraka joins (~yvan-srak@2a01cb0802a4b900c2769ca0f3b46125.ipv6.abo.wanadoo.fr) |
| 21:25:38 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 21:25:49 | × | coot quits (~coot@213.134.171.3) (Quit: coot) |
| 21:32:12 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:32:19 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 21:38:04 | × | milia quits (~milia@user/milia) (Quit: leaving) |
| 21:39:45 | × | Athas quits (athas@sigkill.dk) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:41:01 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 258 seconds) |
| 21:43:18 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 21:44:39 | → | ft joins (~ft@p3e9bc845.dip0.t-ipconnect.de) |
| 21:45:37 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 21:47:32 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 21:49:02 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:989e:e378:903e:38da) |
| 21:49:10 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 246 seconds) |
| 21:49:14 | → | max25 joins (~max25@187.32.187.113) |
| 21:49:23 | ← | max25 parts (~max25@187.32.187.113) () |
| 21:49:30 | × | `2jt quits (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 255 seconds) |
| 21:50:18 | × | freeside quits (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 21:50:59 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:51:20 | × | detuneattune quits (~detuneatt@user/detuneattune) (Quit: detuneattune) |
| 21:51:22 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 21:51:57 | × | zkSNOOP quits (~username@ptr-21zvp7pbt2o6jn2ooyl.18120a2.ip6.access.telenet.be) () |
| 21:54:07 | → | cyphase joins (~cyphase@user/cyphase) |
| 21:55:20 | × | EvanR quits (~EvanR@user/evanr) (Quit: Leaving) |
| 21:56:28 | → | Athas joins (athas@2a01:7c8:aaac:1cf:d087:7abc:7f63:ba68) |
| 21:58:37 | × | vglfr quits (~vglfr@145.224.100.100) (Ping timeout: 272 seconds) |
| 21:59:22 | → | vglfr joins (~vglfr@145.224.100.100) |
| 22:00:12 | → | EvanR joins (~EvanR@user/evanr) |
| 22:04:59 | → | king_gs joins (~Thunderbi@187.201.131.180) |
| 22:05:45 | → | freeside joins (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 22:08:39 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds) |
| 22:09:20 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:09:29 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 22:12:02 | → | rockystone joins (~rocky@user/rockymarine) |
| 22:12:02 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 22:12:26 | × | yvan-sraka quits (~yvan-srak@2a01cb0802a4b900c2769ca0f3b46125.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 22:12:37 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 22:16:49 | → | zer0bitz_ joins (~zer0bitz@dsl-hkibng32-54fb48-32.dhcp.inet.fi) |
| 22:18:46 | × | zer0bitz quits (~zer0bitz@2001:2003:f748:2000:b8a3:a4ce:6b2a:34af) (Ping timeout: 255 seconds) |
| 22:21:28 | × | wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 255 seconds) |
| 22:25:01 | → | king_gs1 joins (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
| 22:25:02 | × | king_gs quits (~Thunderbi@187.201.131.180) (Read error: Connection reset by peer) |
| 22:25:02 | king_gs1 | is now known as king_gs |
| 22:25:15 | × | Tuplanolla quits (~Tuplanoll@91-159-69-245.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:31:49 | × | king_gs quits (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 255 seconds) |
| 22:31:52 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 260 seconds) |
| 22:43:43 | × | michalz quits (~michalz@185.246.207.221) (Remote host closed the connection) |
| 22:46:18 | → | axeman joins (~quassel@2a02:8109:a380:78:22d6:a885:1244:9fc9) |
| 22:56:22 | → | wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130) |
| 22:57:26 | → | codaraxis___ joins (~codaraxis@user/codaraxis) |
| 23:01:19 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 272 seconds) |
| 23:05:42 | → | rekahsoft joins (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-156.dsl.bell.ca) |
| 23:05:43 | × | rekahsoft quits (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-156.dsl.bell.ca) (Read error: Connection reset by peer) |
| 23:16:28 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 258 seconds) |
| 23:23:02 | → | detuneattune joins (~detuneatt@user/detuneattune) |
| 23:24:51 | → | beteigeuze joins (~Thunderbi@89.187.168.35) |
| 23:25:16 | × | danza quits (~francesco@151.43.69.239) (Ping timeout: 252 seconds) |
| 23:26:29 | → | rekahsoft joins (~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-156.dsl.bell.ca) |
| 23:28:05 | → | beteigeuze1 joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 23:29:10 | × | xff0x quits (~xff0x@2405:6580:b080:900:e42c:dea5:20dc:c5aa) (Ping timeout: 272 seconds) |
| 23:29:18 | × | beteigeuze quits (~Thunderbi@89.187.168.35) (Ping timeout: 252 seconds) |
| 23:29:18 | beteigeuze1 | is now known as beteigeuze |
| 23:29:58 | → | nate1 joins (~nate@98.45.169.16) |
| 23:30:26 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 272 seconds) |
| 23:34:52 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 23:35:26 | × | HackingSpring quits (~haru@201-27-75-20.dsl.telesp.net.br) (Remote host closed the connection) |
| 23:37:57 | × | mestre quits (~mestre@191.177.185.178) (Quit: Lost terminal) |
| 23:38:05 | → | danza joins (~francesco@ge-19-126-18.service.infuturo.it) |
| 23:38:07 | × | Topsi quits (~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 23:38:45 | → | rockystone joins (~rocky@user/rockymarine) |
| 23:45:59 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c567:3589:9f8f:b6ad) |
| 23:47:33 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds) |
| 23:49:09 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 23:50:43 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c567:3589:9f8f:b6ad) (Ping timeout: 272 seconds) |
| 23:51:34 | → | xff0x joins (~xff0x@2405:6580:b080:900:e42c:dea5:20dc:c5aa) |
| 23:53:58 | × | axeman quits (~quassel@2a02:8109:a380:78:22d6:a885:1244:9fc9) (Ping timeout: 246 seconds) |
All times are in UTC on 2022-10-20.