2022-10-20 00:00:05 +0200 | <dminuoso> | (Well in fact any modification to that ptr will break referential transparency, even inside the continuation. |
2022-10-20 00:00:13 +0200 | <moonsheep> | ah well I don't mean to do that |
2022-10-20 00:00:15 +0200 | <dminuoso> | So if you want to modify it, memcpy it first into a fresh buffer |
2022-10-20 00:00:28 +0200 | <dminuoso> | But if you just want to reinterpret and read from it, its all good. |
2022-10-20 00:00:41 +0200 | <dminuoso> | Even if you extract the ptr from the continuation |
2022-10-20 00:01:33 +0200 | <moonsheep> | right |
2022-10-20 00:02:05 +0200 | <moonsheep> | since everything is immutable in haskell, the second I return an polymorphic type from the function it's basically read-only right? |
2022-10-20 00:02:22 +0200 | <dminuoso> | No? |
2022-10-20 00:02:31 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Quit: Leaving) |
2022-10-20 00:02:38 +0200 | <dminuoso> | Im a bit unsure what makes you think there's any relationship between polymorphic types and read-only. |
2022-10-20 00:03:06 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
2022-10-20 00:03:18 +0200 | <geekosaur> | ByteString assumes it's safe to modify stuff directly because it knows when there's only one reference to it. you're in a position to break that |
2022-10-20 00:03:22 +0200 | <geekosaur> | (iirc) |
2022-10-20 00:03:42 +0200 | <moonsheep> | dminuoso: well it doesn't really matter that it's polymorphic |
2022-10-20 00:03:49 +0200 | <geekosaur> | just casting to something else does not change this |
2022-10-20 00:03:49 +0200 | <moonsheep> | any value in haskell is immutable right? |
2022-10-20 00:03:55 +0200 | <dminuoso> | moonsheep: sort of.. |
2022-10-20 00:04:34 +0200 | <dminuoso> | moonsheep: Thats precisely what Im getting at. unsafeUseAsCStringLen lets you violate that mutability and break referential transparency in strange ways. That's why there's an `unsafe` tagged to its name. |
2022-10-20 00:04:59 +0200 | <dminuoso> | But in the absence of unsafe primitives *values* themselves are immutable |
2022-10-20 00:05:07 +0200 | <moonsheep> | right, but if I don't mutate it within the function, then it's fine, no? |
2022-10-20 00:05:21 +0200 | <moonsheep> | and since I don't plan to mutate it I should be fine, is that correct? |
2022-10-20 00:05:24 +0200 | <dminuoso> | Well, and as long as you dont do any memory access errors. :) |
2022-10-20 00:05:26 +0200 | <dminuoso> | But yeah |
2022-10-20 00:05:33 +0200 | <dminuoso> | So if you do something like: |
2022-10-20 00:05:35 +0200 | <moonsheep> | right, all I wanted to hear :) |
2022-10-20 00:06:06 +0200 | <geekosaur> | doesn't ghc optimize to a mutation when it knows there's only one copy, which this would break? |
2022-10-20 00:06:17 +0200 | <dminuoso> | unsafeUseAsCStringLen (\(ptr, len) -> peek ((castPtr ptr) :: Ptr Double)) |
2022-10-20 00:06:29 +0200 | <moonsheep> | oh thanks |
2022-10-20 00:06:31 +0200 | <dminuoso> | This is in principle fine (as long as you dont do out-of-bound reads for example |
2022-10-20 00:06:44 +0200 | <dminuoso> | geekosaur: Clean does that. |
2022-10-20 00:07:20 +0200 | Topsi | (~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2022-10-20 00:08:00 +0200 | mikoto-chan | (~mikoto-ch@193.185.223.3) (Ping timeout: 252 seconds) |
2022-10-20 00:08:03 +0200 | <dminuoso> | Never heard of GHC doing similar mutation-instead-of-copy |
2022-10-20 00:08:23 +0200 | <geekosaur> | thought that was list fusion |
2022-10-20 00:08:38 +0200 | <geekosaur> | not just not creating a new list but also not creating new list items |
2022-10-20 00:08:46 +0200 | <dminuoso> | Do you mean the build/foldr RULE? |
2022-10-20 00:08:46 +0200 | <geekosaur> | just mutating in place |
2022-10-20 00:09:02 +0200 | <geekosaur> | one's the rule, the other's the runtime iirc |
2022-10-20 00:09:16 +0200 | <dminuoso> | Cool, first time Im hearding of this |
2022-10-20 00:09:19 +0200 | <dminuoso> | *hearing |
2022-10-20 00:09:32 +0200 | <dminuoso> | Sorry, my chair position is slightly off, which causes me to mispress keys constantly |
2022-10-20 00:09:36 +0200 | moonsheep | (~moonsheep@user/moonsheep) () |
2022-10-20 00:09:56 +0200 | <geekosaur> | since the runtime can tell there's only one reference it can mutate it. otherwise you'd still be creating new values even if you're not adding them to new lists. at least that's my understanding |
2022-10-20 00:10:25 +0200 | <geekosaur> | there are limits to it but it exists, as I understand it |
2022-10-20 00:10:34 +0200 | <dminuoso> | If you find details, let me know |
2022-10-20 00:10:41 +0200 | <dminuoso> | Im very curious |
2022-10-20 00:10:53 +0200 | <geekosaur> | I think Clean has fewer limits because it can do a better job of recognizing when only one reference to a value exists |
2022-10-20 00:13:31 +0200 | <geekosaur> | mm, I'm poking around and it certainly seems to be false in the general case đ |
2022-10-20 00:13:32 +0200 | caryhartline | (~caryhartl@2600:1700:2d0:8d30:5cd5:afa2:55e9:2fce) (Quit: caryhartline) |
2022-10-20 00:14:06 +0200 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) |
2022-10-20 00:16:03 +0200 | <geekosaur> | okay, apparently it's not ghc itself but list/stream fusion |
2022-10-20 00:16:13 +0200 | <geekosaur> | so it would be related to build/foldr |
2022-10-20 00:16:32 +0200 | michalz | (~michalz@185.246.207.200) (Remote host closed the connection) |
2022-10-20 00:18:46 +0200 | <dminuoso> | davean: By the way, Im beginning to understand that what Im asking simply does not exist. :( |
2022-10-20 00:22:27 +0200 | <dminuoso> | And there's some really disturbing things in ghc-prim |
2022-10-20 00:29:35 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-10-20 00:31:53 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-10-20 00:34:06 +0200 | <davean> | dminuoso: well, the idea of actually sized prims is recent |
2022-10-20 00:34:52 +0200 | <davean> | Curious what disturbes you |
2022-10-20 00:35:41 +0200 | <dminuoso> | Is there no way to stuff a Word64# into a Word#? Or can I just unsafeCoerce# this? |
2022-10-20 00:36:08 +0200 | <EvanR> | squint, what if Word# is too small |
2022-10-20 00:36:27 +0200 | <hpc> | what if Word# is too large, even |
2022-10-20 00:37:05 +0200 | <EvanR> | you don't want it jumbling around when I'm driving |
2022-10-20 00:37:19 +0200 | <hpc> | is there a way to limit something to building on 64-bit only? |
2022-10-20 00:37:26 +0200 | <davean> | dminuoso: In earlier version before there was sizing, you want extendWord16# |
2022-10-20 00:37:28 +0200 | <davean> | etc |
2022-10-20 00:37:30 +0200 | <dminuoso> | EvanR: Would you even have a Word64 type on a 32-bit machine? |
2022-10-20 00:37:41 +0200 | <davean> | (and narrowWord16#) |
2022-10-20 00:37:44 +0200 | <EvanR> | interesting point |
2022-10-20 00:37:46 +0200 | <davean> | but we changed to new stuff |
2022-10-20 00:37:55 +0200 | <dminuoso> | davean: Yeah, but these didnt exist for Word64# |
2022-10-20 00:37:59 +0200 | <davean> | dminuoso: yes, you would have a Word64 type on a 32 bit machine |
2022-10-20 00:38:20 +0200 | <dminuoso> | davean: Thats hard to believe, because all the sized types were just wrappers on native words. |
2022-10-20 00:38:25 +0200 | <dminuoso> | This just got changed in 9.2 |
2022-10-20 00:38:27 +0200 | <EvanR> | er I took that to mean Word64# |
2022-10-20 00:41:31 +0200 | <dminuoso> | davean: either way, there's just no primops for extending or narrowing from/into 64 bit types in base-4.15.0.0 or earlier. |
2022-10-20 00:41:36 +0200 | <dminuoso> | I feel like I must be missing something |
2022-10-20 00:41:58 +0200 | <dminuoso> | Should check what a fromIntegral from Word to Word64 really does |
2022-10-20 00:45:50 +0200 | <dminuoso> | do_word = \ (x_a1z8 :: Word) -> case x_a1z8 of { W# x#_a1za -> GHC.Word.W64# x#_a1za } |
2022-10-20 00:46:08 +0200 | <dminuoso> | That suspicously looks unsafeCoerce#able |
2022-10-20 00:46:29 +0200 | <dminuoso> | What would this do on a 32 bit system though? |
2022-10-20 00:46:49 +0200 | <EvanR> | I ask everyone on the plane if anyone has a 32 bit computer |
2022-10-20 00:47:57 +0200 | <dminuoso> | Also curious, why is there no type annotation for x#_a1za? |
2022-10-20 00:48:04 +0200 | <dminuoso> | Isnt everything explicitly typed in core? |
2022-10-20 00:48:58 +0200 | <EvanR> | would a type sig be redundant because W# is monomorphic constructor |
2022-10-20 00:49:42 +0200 | <dminuoso> | I wonder whether perhaps theres some excemption about primitive types |
2022-10-20 00:51:47 +0200 | <dminuoso> | https://gitlab.haskell.org/ghc/ghc/-/issues/17377 |
2022-10-20 00:53:47 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-10-20 00:57:53 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-20 00:57:55 +0200 | thegeekinside | (~thegeekin@189.180.97.156) (Ping timeout: 268 seconds) |
2022-10-20 00:58:43 +0200 | <dminuoso> | Ive been helped in another place. |
2022-10-20 00:59:32 +0200 | <dminuoso> | So on 64 bit systems you can just unsafeCoerce#, and for 32 bit systems there's GHC.IntWord64 which provides an FFI call wordToWord64# |
2022-10-20 00:59:50 +0200 | axeman | (~quassel@2a02:8109:a380:78:5151:14f6:9d87:4a52) |
2022-10-20 01:03:44 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2022-10-20 01:06:20 +0200 | jonathanx__ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-10-20 01:06:47 +0200 | jonathanx_ | (~jonathan@178.174.176.109) (Read error: Connection reset by peer) |
2022-10-20 01:09:05 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 01:09:57 +0200 | vglfr | (~vglfr@145.224.100.100) (Ping timeout: 252 seconds) |
2022-10-20 01:13:03 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-245.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-10-20 01:13:42 +0200 | talismanick | (~talismani@96.71.204.25) |
2022-10-20 01:14:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzâŠ) |
2022-10-20 01:26:20 +0200 | talismanick | (~talismani@96.71.204.25) (Remote host closed the connection) |
2022-10-20 01:26:41 +0200 | talismanick | (~talismani@96.71.204.25) |
2022-10-20 01:30:44 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 01:35:12 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-20 01:39:37 +0200 | <EvanR> | is there a lightweight functional pearl for conjuring a supply of unique names in an algorithm |
2022-10-20 01:40:50 +0200 | <EvanR> | in one paper there's this whole thing with an impure generator going on but really |
2022-10-20 01:40:54 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a877551a7e8fd85f50e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2022-10-20 01:43:51 +0200 | mmhat | (~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7) |
2022-10-20 01:44:11 +0200 | axeman | (~quassel@2a02:8109:a380:78:5151:14f6:9d87:4a52) (Ping timeout: 272 seconds) |
2022-10-20 01:45:10 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2022-10-20 01:45:39 +0200 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!) |
2022-10-20 01:51:09 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds) |
2022-10-20 01:52:23 +0200 | <geekosaur> | what else were you expecting? if they need to be unique then you need to keep a seed somewhere |
2022-10-20 01:53:02 +0200 | <dminuoso> | EvanR: A functional pearl? Like `s -> (s, t)`? |
2022-10-20 01:54:31 +0200 | <geekosaur> | well, yes, there is State, but if if that were enough I'd assume EvanR wouldn't be asking |
2022-10-20 01:54:37 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-20 01:55:01 +0200 | <dminuoso> | Im not entirely sure what they are asking for, then. |
2022-10-20 01:55:14 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds) |
2022-10-20 01:57:22 +0200 | <jackdk> | I would probably newtype over state in a way that doesn't expose the standard operations and only allows a "next gensym". |
2022-10-20 01:57:45 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 01:58:43 +0200 | <EvanR> | yes "gensym" is part of the lore on doing this without State monads |
2022-10-20 01:59:22 +0200 | <EvanR> | why would you want to not use State monads? I guess at that time in history no one had heard of a State monad. Today, it's just a pain in the ass to shoe horn into pure code |
2022-10-20 01:59:46 +0200 | <dminuoso> | the idea of a state monad is as old as lambda calculus. |
2022-10-20 01:59:59 +0200 | <dminuoso> | you just didnt call it monad back then. |
2022-10-20 02:00:05 +0200 | <EvanR> | really, did leibniz come up with it? xD |
2022-10-20 02:01:02 +0200 | <dminuoso> | Im just saying that the idea of encoding state as a function producing a tuple is very old |
2022-10-20 02:01:21 +0200 | <EvanR> | well the question wasn't how to keep state but how to get a supply of unique names |
2022-10-20 02:01:54 +0200 | <EvanR> | there's the splittable generator stuff, but it seems a bit involved |
2022-10-20 02:02:22 +0200 | <dminuoso> | Are you implementing a language? |
2022-10-20 02:03:52 +0200 | Kaiepi | (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds) |
2022-10-20 02:03:52 +0200 | <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 |
2022-10-20 02:04:13 +0200 | <dminuoso> | So if that isnt enough, you arent telling us enough. |
2022-10-20 02:04:30 +0200 | <geekosaur> | which is all `gensym` does except it uses the equivalent of unsafePerformIO on a counter in an IORef |
2022-10-20 02:04:34 +0200 | <EvanR> | a simple state based state is simple by keeping state in the state and then you have state xD |
2022-10-20 02:04:58 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-20 02:04:58 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-20 02:04:58 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-20 02:05:01 +0200 | wroathe_ | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-20 02:05:05 +0200 | <EvanR> | yeah that's gensym |
2022-10-20 02:05:11 +0200 | <dminuoso> | Im highly unsure what you are asking for. You want a pure stateful name generation without unsafePerformIO, and you dont want state..? |
2022-10-20 02:05:21 +0200 | <EvanR> | I never said anything about state lol |
2022-10-20 02:05:23 +0200 | <dminuoso> | Okay. |
2022-10-20 02:05:46 +0200 | <geekosaur> | I will ask this more explicitly than earlier, then: what part of `unique` does not imply state to you? |
2022-10-20 02:06:12 +0200 | <EvanR> | well, is a list of unique values "state" ? |
2022-10-20 02:06:16 +0200 | <geekosaur> | or even more explicitly: how does it ensure uniqueness without state? |
2022-10-20 02:06:23 +0200 | <geekosaur> | yes |
2022-10-20 02:06:28 +0200 | <EvanR> | ._. |
2022-10-20 02:06:29 +0200 | <dminuoso> | EvanR: sure. knowing what values have been picked so far is state. |
2022-10-20 02:06:31 +0200 | <EvanR> | where am I |
2022-10-20 02:06:41 +0200 | <dminuoso> | EvanR: which is why the simplest such implementation is just a counter. |
2022-10-20 02:06:46 +0200 | <geekosaur> | or what values to pick next, which is just state in the other direction |
2022-10-20 02:06:48 +0200 | <dminuoso> | where the counter denotes all the numbers that have, already, been used for a name |
2022-10-20 02:07:46 +0200 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
2022-10-20 02:08:58 +0200 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) |
2022-10-20 02:10:04 +0200 | <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 |
2022-10-20 02:10:42 +0200 | lyxia | (~lyxia@poisson.chat) (Quit: WeeChat 3.5) |
2022-10-20 02:10:44 +0200 | <EvanR> | but might be the answer |
2022-10-20 02:11:55 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 246 seconds) |
2022-10-20 02:12:30 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-20 02:13:01 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 02:13:08 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-10-20 02:14:23 +0200 | <dminuoso> | Generating a list of numbers is probably easier and scales better |
2022-10-20 02:14:38 +0200 | wroathe | (~wroathe@user/wroathe) (Killed (NickServ (GHOST command used by wroathe_!~wroathe@206-55-188-8.fttp.usinternet.com))) |
2022-10-20 02:14:42 +0200 | wroathe_ | wroathe |
2022-10-20 02:14:55 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-20 02:14:55 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-20 02:15:31 +0200 | <dminuoso> | otherwise you will have a nasty quadric asymptotic on the depth of your name generation. |
2022-10-20 02:17:16 +0200 | <EvanR> | quadratic? how do you figure |
2022-10-20 02:17:18 +0200 | <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 |
2022-10-20 02:17:26 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-20 02:17:38 +0200 | <talismanick> | How can I shorten `\x -> let _ = x :: MyType in foo . bar $ x` when calling QuickCheck from within HSpec? |
2022-10-20 02:17:44 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
2022-10-20 02:17:50 +0200 | <EvanR> | oh, the thing they threw under the bus was to keep tacking on prefixes each time you split |
2022-10-20 02:18:00 +0200 | <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. |
2022-10-20 02:18:10 +0200 | <dminuoso> | you split again, you will have to force 4 elements for each name |
2022-10-20 02:18:11 +0200 | <talismanick> | because it's a rather roundabout way to say that the argument should be of `MyType` |
2022-10-20 02:18:16 +0200 | <EvanR> | yeah that's exponential right |
2022-10-20 02:19:37 +0200 | <dminuoso> | talismanick: \(x :: MyType) -> ... |
2022-10-20 02:19:48 +0200 | <dminuoso> | (required ScopedTypeVariables) |
2022-10-20 02:19:59 +0200 | <talismanick> | ahh, I see |
2022-10-20 02:20:12 +0200 | <talismanick> | the typechecker didn't like that when I wrote it |
2022-10-20 02:20:20 +0200 | <dminuoso> | EvanR: hence, if you generate a list you can avoid that. |
2022-10-20 02:21:09 +0200 | <dminuoso> | well its actually generating a tree, sort if |
2022-10-20 02:21:36 +0200 | <talismanick> | yay, it works. thanks |
2022-10-20 02:21:42 +0200 | <dminuoso> | each non-left-most leaf would be a name |
2022-10-20 02:22:16 +0200 | thegeekinside | (~thegeekin@189.180.97.156) |
2022-10-20 02:23:00 +0200 | <EvanR> | for each split you increase the list of prefixes by 1, so it's linear in the splits instead of exponential? |
2022-10-20 02:23:05 +0200 | <dminuoso> | Right |
2022-10-20 02:23:15 +0200 | lyxia | (~lyxia@51.255.32.62) |
2022-10-20 02:23:25 +0200 | <dminuoso> | Well you can actually avoid the linear cost at the expense of memory |
2022-10-20 02:24:15 +0200 | <dminuoso> | but it depends on what kind of names you want to generate |
2022-10-20 02:24:25 +0200 | <EvanR> | unique ones xD |
2022-10-20 02:24:31 +0200 | <dminuoso> | do they have to be pretty? |
2022-10-20 02:24:34 +0200 | <EvanR> | nope |
2022-10-20 02:25:17 +0200 | <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. |
2022-10-20 02:26:22 +0200 | <dolio> | Like, Word64 probably isn't big enough. |
2022-10-20 02:26:54 +0200 | <EvanR> | without knowing the pattern of splitting ahead of time, you can't make the most use of the bits |
2022-10-20 02:27:09 +0200 | <EvanR> | which is probably where this performance concern came from |
2022-10-20 02:27:17 +0200 | <dminuoso> | Is splitting important to you for parallelism? |
2022-10-20 02:27:37 +0200 | <EvanR> | not really but that's a nice benefit |
2022-10-20 02:27:53 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
2022-10-20 02:27:57 +0200 | inversed | (~inversed@90.209.137.56) (Ping timeout: 268 seconds) |
2022-10-20 02:28:04 +0200 | <EvanR> | I'm just tired of rewriting every other pure function as a state monad |
2022-10-20 02:28:16 +0200 | <EvanR> | hoping to sometimes find there's other ways |
2022-10-20 02:28:34 +0200 | <dminuoso> | See, I found pleasure in using unboxed state with unboxed tuples, unboxed ints... |
2022-10-20 02:28:41 +0200 | <dminuoso> | Not boring anymore. :) |
2022-10-20 02:31:06 +0200 | <Axman6> | you know you're having a good day when you get to use a bunch of #'s |
2022-10-20 02:31:41 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 02:37:42 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 02:37:47 +0200 | <EvanR> | dminuoso you're in good company, see the very bottom snippet https://stackoverflow.com/questions/6311512/creating-unique-labels-in-haskell |
2022-10-20 02:38:44 +0200 | <EvanR> | i get the impression any and all tasks have a solution involving # everywhere |
2022-10-20 02:39:06 +0200 | Lumia | (~Lumia@user/Lumia) |
2022-10-20 02:39:37 +0200 | talismanick | (~talismani@96.71.204.25) (Ping timeout: 255 seconds) |
2022-10-20 02:42:17 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-20 02:47:03 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-10-20 02:57:57 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 03:00:04 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-10-20 03:00:38 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
2022-10-20 03:01:20 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-10-20 03:05:33 +0200 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) |
2022-10-20 03:10:56 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
2022-10-20 03:12:01 +0200 | xff0x | (~xff0x@2405:6580:b080:900:6701:db86:2182:5220) (Ping timeout: 260 seconds) |
2022-10-20 03:12:09 +0200 | danza | (~francesco@151.57.79.164) (Read error: Connection reset by peer) |
2022-10-20 03:12:10 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-10-20 03:23:09 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
2022-10-20 03:26:50 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) |
2022-10-20 03:28:12 +0200 | danza | (~francesco@151.57.122.37) |
2022-10-20 03:29:41 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2022-10-20 03:30:41 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
2022-10-20 03:32:37 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-10-20 03:32:46 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
2022-10-20 03:33:07 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Ping timeout: 272 seconds) |
2022-10-20 03:35:31 +0200 | img | (~img@user/img) |
2022-10-20 03:35:57 +0200 | Lumia | (~Lumia@user/Lumia) (Ping timeout: 260 seconds) |
2022-10-20 03:41:43 +0200 | jargon | (~jargon@184.101.208.112) |
2022-10-20 03:43:00 +0200 | jargon | (~jargon@184.101.208.112) (Remote host closed the connection) |
2022-10-20 03:43:32 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 260 seconds) |
2022-10-20 03:44:57 +0200 | phma_ | phma |
2022-10-20 03:47:04 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 03:50:33 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-20 03:51:40 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-20 03:53:11 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 03:53:39 +0200 | zaquest | (~notzaques@5.130.79.72) (*.net *.split) |
2022-10-20 03:53:39 +0200 | lyxia | (~lyxia@51.255.32.62) (*.net *.split) |
2022-10-20 03:53:39 +0200 | jonathanx__ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (*.net *.split) |
2022-10-20 03:53:39 +0200 | pavonia | (~user@user/siracusa) (*.net *.split) |
2022-10-20 03:53:55 +0200 | lyxia | (~lyxia@poisson.chat) |
2022-10-20 03:54:01 +0200 | jonathanx__ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-10-20 03:54:01 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-10-20 03:54:36 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-10-20 03:57:41 +0200 | frost78 | (~frost@user/frost) |
2022-10-20 03:57:55 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
2022-10-20 03:58:36 +0200 | pavonia | (~user@user/siracusa) |
2022-10-20 04:02:11 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-10-20 04:03:10 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-10-20 04:04:57 +0200 | img | (~img@user/img) |
2022-10-20 04:06:22 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-20 04:06:22 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-20 04:06:22 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-20 04:17:56 +0200 | td_ | (~td@83.135.9.59) (Ping timeout: 260 seconds) |
2022-10-20 04:19:40 +0200 | td_ | (~td@83.135.9.19) |
2022-10-20 04:19:44 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 04:24:18 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-20 04:24:52 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 04:29:10 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-10-20 04:29:10 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-20 04:29:10 +0200 | finn_elija | FinnElija |
2022-10-20 04:35:40 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 04:38:22 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-20 04:38:35 +0200 | yuzhao | (~yuzhao@36.112.45.77) |
2022-10-20 04:39:41 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 04:41:39 +0200 | king_gs | (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
2022-10-20 04:45:22 +0200 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) |
2022-10-20 04:47:07 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-20 04:48:10 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-10-20 04:54:56 +0200 | detuneattune | (~detuneatt@user/detuneattune) |
2022-10-20 04:55:25 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 04:57:07 +0200 | yuzhao | (~yuzhao@36.112.45.77) (Ping timeout: 246 seconds) |
2022-10-20 04:58:13 +0200 | king_gs | (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 255 seconds) |
2022-10-20 04:58:44 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 05:03:06 +0200 | detuneattune | (~detuneatt@user/detuneattune) (Quit: detuneattune) |
2022-10-20 05:06:24 +0200 | inversed | (~inversed@bcdcac82.skybroadband.com) |
2022-10-20 05:07:18 +0200 | detuneattune | (~detuneatt@user/detuneattune) |
2022-10-20 05:07:25 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Remote host closed the connection) |
2022-10-20 05:08:10 +0200 | detuneattune | (~detuneatt@user/detuneattune) (Client Quit) |
2022-10-20 05:09:42 +0200 | yuzhao | (~yuzhao@36.112.45.77) |
2022-10-20 05:14:24 +0200 | detuneattune | (~detuneatt@user/detuneattune) |
2022-10-20 05:19:12 +0200 | yuzhao | (~yuzhao@36.112.45.77) (Ping timeout: 260 seconds) |
2022-10-20 05:21:10 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2022-10-20 05:25:18 +0200 | Lumia | (~Lumia@user/Lumia) |
2022-10-20 05:36:07 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-20 05:38:00 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-20 05:46:34 +0200 | yuzhao | (~yuzhao@36.112.45.77) |
2022-10-20 05:46:34 +0200 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer) |
2022-10-20 05:46:49 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
2022-10-20 05:50:50 +0200 | yuzhao | (~yuzhao@36.112.45.77) (Ping timeout: 252 seconds) |
2022-10-20 05:53:08 +0200 | 074AAAFF2 | (~vn36@123.63.203.210) |
2022-10-20 05:54:40 +0200 | <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 |
2022-10-20 05:55:46 +0200 | <EvanR> | haskell : monads :: elixir : processes, come on |
2022-10-20 05:57:17 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 06:01:19 +0200 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2022-10-20 06:01:47 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
2022-10-20 06:02:07 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 06:07:07 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
2022-10-20 06:07:49 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
2022-10-20 06:11:32 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 06:13:05 +0200 | monochrom | (trebla@216.138.220.146) |
2022-10-20 06:13:29 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-10-20 06:18:24 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
2022-10-20 06:20:18 +0200 | mbuf | (~Shakthi@49.204.135.71) |
2022-10-20 06:21:08 +0200 | yelllloowwww | (~igloo@76.209.246.53) |
2022-10-20 06:24:18 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-10-20 06:24:42 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
2022-10-20 06:24:47 +0200 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-20 06:24:59 +0200 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) |
2022-10-20 06:26:17 +0200 | yelllloowwww | (~igloo@76.209.246.53) (Ping timeout: 260 seconds) |
2022-10-20 06:27:33 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) |
2022-10-20 06:29:19 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 06:30:01 +0200 | Lumia | (~Lumia@user/Lumia) (Ping timeout: 255 seconds) |
2022-10-20 06:30:24 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2022-10-20 06:31:38 +0200 | <Axman6> | dminuoso: are you responsible for flatparse? |
2022-10-20 06:34:59 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 06:40:17 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-20 07:02:42 +0200 | 074AAAFF2 | (~vn36@123.63.203.210) (Ping timeout: 252 seconds) |
2022-10-20 07:11:58 +0200 | danza | (~francesco@151.57.122.37) (Read error: Connection reset by peer) |
2022-10-20 07:15:09 +0200 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-20 07:16:26 +0200 | axeman | (~quassel@2a02:8109:a380:78:5219:72f2:505c:674c) |
2022-10-20 07:28:27 +0200 | danza | (~francesco@151.43.231.219) |
2022-10-20 07:31:57 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-10-20 07:33:09 +0200 | mixfix41 | (~sdeny9ee@user/mixfix41) |
2022-10-20 07:33:28 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2022-10-20 07:36:46 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 07:42:00 +0200 | yvan-sraka | (~yvan-srak@2a01cb0802a4b900babea20f7de51cb8.ipv6.abo.wanadoo.fr) |
2022-10-20 07:46:26 +0200 | axeman | (~quassel@2a02:8109:a380:78:5219:72f2:505c:674c) (Ping timeout: 272 seconds) |
2022-10-20 07:47:18 +0200 | aliosablack | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 07:49:05 +0200 | aliosablack | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2022-10-20 07:49:32 +0200 | aliosablack | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 07:52:12 +0200 | chomwitt | Guest4561 |
2022-10-20 07:52:12 +0200 | Guest4561 | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Killed (tungsten.libera.chat (Nickname regained by services))) |
2022-10-20 07:52:12 +0200 | aliosablack | chomwitt |
2022-10-20 07:52:37 +0200 | Guest4561 | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 07:58:21 +0200 | yvan-sraka | (~yvan-srak@2a01cb0802a4b900babea20f7de51cb8.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2022-10-20 07:59:36 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-10-20 08:02:26 +0200 | king_gs | (~Thunderbi@187.201.131.180) |
2022-10-20 08:02:35 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-20 08:10:41 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
2022-10-20 08:15:13 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
2022-10-20 08:17:44 +0200 | berberman | (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-10-20 08:18:04 +0200 | berberman | (~berberman@user/berberman) |
2022-10-20 08:21:37 +0200 | vn36_ | (~vn36@123.63.203.210) |
2022-10-20 08:21:39 +0200 | king_gs | (~Thunderbi@187.201.131.180) (Read error: Connection reset by peer) |
2022-10-20 08:22:02 +0200 | kenran` | (~user@user/kenran) |
2022-10-20 08:22:55 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-10-20 08:23:14 +0200 | king_gs | (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) |
2022-10-20 08:27:02 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-20 08:30:09 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds) |
2022-10-20 08:31:27 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 08:31:53 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-10-20 08:32:19 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 08:34:37 +0200 | vn36_ | (~vn36@123.63.203.210) (Ping timeout: 260 seconds) |
2022-10-20 08:35:34 +0200 | echoreply | (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
2022-10-20 08:36:06 +0200 | echoreply | (~echoreply@45.32.163.16) |
2022-10-20 08:36:29 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 272 seconds) |
2022-10-20 08:37:15 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-10-20 08:38:48 +0200 | m1dnight | (~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.7) |
2022-10-20 08:40:18 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 08:40:47 +0200 | m1dnight | (~christoph@78-22-0-121.access.telenet.be) |
2022-10-20 08:48:55 +0200 | akegalj | (~akegalj@109.60.124.36) |
2022-10-20 08:49:36 +0200 | Guest4561 | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2022-10-20 08:49:36 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2022-10-20 08:51:28 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 08:53:48 +0200 | raym | (~aritra@user/raym) (Ping timeout: 264 seconds) |
2022-10-20 08:54:32 +0200 | raym | (~aritra@user/raym) |
2022-10-20 08:58:25 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-10-20 08:59:32 +0200 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) |
2022-10-20 08:59:55 +0200 | titibandit | (~titibandi@xdsl-78-34-208-230.nc.de) |
2022-10-20 09:01:40 +0200 | <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 |
2022-10-20 09:01:46 +0200 | <akegalj> | mind it could be done. Am I missing something? |
2022-10-20 09:02:26 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
2022-10-20 09:06:29 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2022-10-20 09:08:05 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) |
2022-10-20 09:08:31 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 09:09:06 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-10-20 09:09:08 +0200 | Kaiepi | (~Kaiepi@108.175.84.104) |
2022-10-20 09:09:36 +0200 | Ristovski | (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 260 seconds) |
2022-10-20 09:10:40 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
2022-10-20 09:11:17 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2022-10-20 09:11:20 +0200 | michalz | (~michalz@185.246.207.221) |
2022-10-20 09:13:11 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 09:14:55 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
2022-10-20 09:15:10 +0200 | Ristovski | (~Ristovski@hellomouse/perf/ristovski) |
2022-10-20 09:18:02 +0200 | <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 |
2022-10-20 09:23:53 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) |
2022-10-20 09:24:12 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) |
2022-10-20 09:24:56 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-20 09:25:36 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-20 09:25:42 +0200 | akegalj | (~akegalj@109.60.124.36) (Ping timeout: 252 seconds) |
2022-10-20 09:27:09 +0200 | Ristovski | (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 272 seconds) |
2022-10-20 09:27:40 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
2022-10-20 09:28:42 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
2022-10-20 09:29:07 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 09:29:32 +0200 | coot | (~coot@213.134.171.3) |
2022-10-20 09:32:38 +0200 | akegalj | (~akegalj@212.15.177.13) |
2022-10-20 09:33:20 +0200 | <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 |
2022-10-20 09:33:21 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) |
2022-10-20 09:33:27 +0200 | <akegalj> | c_wraith: or did you mean it "would be difficult" in some other way? |
2022-10-20 09:34:17 +0200 | <akegalj> | (sorry if this message came out few times, connection issues) |
2022-10-20 09:37:29 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
2022-10-20 09:39:33 +0200 | <c_wraith> | I was mostly looking at "partial" being really annoying to determine in turing-complete langauges |
2022-10-20 09:39:44 +0200 | <c_wraith> | wow, my spelling is atrocious at this time of day |
2022-10-20 09:39:44 +0200 | <[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. |
2022-10-20 09:40:36 +0200 | <c_wraith> | (by "really annoying" I mean "actually impossible") |
2022-10-20 09:42:16 +0200 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 260 seconds) |
2022-10-20 09:42:21 +0200 | <akegalj> | c_wraith: [Leary]: that makes sense |
2022-10-20 09:42:50 +0200 | <akegalj> | do you happen to know how purescript implements Partial functionality ? |
2022-10-20 09:43:10 +0200 | <c_wraith> | It probably ignores non-termination as a source of partiality |
2022-10-20 09:43:39 +0200 | <c_wraith> | If you do that, you can just mark specific language constructs, like incomplete pattern matches |
2022-10-20 09:44:06 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) |
2022-10-20 09:44:29 +0200 | <[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. |
2022-10-20 09:44:40 +0200 | <dminuoso> | Axman6: No, but I've started doing work on it. |
2022-10-20 09:44:50 +0200 | <[Leary]> | Idris and co work like that. |
2022-10-20 09:45:08 +0200 | <[Leary]> | Well, except that they really do reject the partial functions. |
2022-10-20 09:45:19 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) (Remote host closed the connection) |
2022-10-20 09:45:37 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) |
2022-10-20 09:46:22 +0200 | zer0bitz | (~zer0bitz@2001:2003:f748:2000:b8a3:a4ce:6b2a:34af) |
2022-10-20 09:47:02 +0200 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-10-20 09:47:14 +0200 | <dminuoso> | EvanR: Huh Im surprised, state is usually modelled very similar to state monad - but it requires a bit of squinting. |
2022-10-20 09:49:14 +0200 | <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) |
2022-10-20 09:51:50 +0200 | <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 |
2022-10-20 09:55:07 +0200 | <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. |
2022-10-20 09:55:57 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2022-10-20 09:57:27 +0200 | thegeekinside | (~thegeekin@189.180.97.156) (Ping timeout: 260 seconds) |
2022-10-20 09:57:31 +0200 | _xor | (~xor@74.215.182.83) |
2022-10-20 09:57:45 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-20 09:59:33 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-20 10:00:56 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 10:01:31 +0200 | ccapndave | (~ccapndave@xcpe-62-167-164-44.cgn.res.adslplus.ch) |
2022-10-20 10:03:19 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
2022-10-20 10:03:26 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
2022-10-20 10:03:58 +0200 | yvan-sraka | (~yvan-srak@37.171.191.42) |
2022-10-20 10:05:19 +0200 | dagit6406 | (~dagit@2001:558:6025:38:6476:a063:d05a:44da) |
2022-10-20 10:05:42 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-20 10:06:12 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-20 10:06:47 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-10-20 10:06:59 +0200 | dagi33709 | (~dagit@2001:558:6025:38:6476:a063:d05a:44da) |
2022-10-20 10:07:18 +0200 | dagit | (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Ping timeout: 264 seconds) |
2022-10-20 10:07:33 +0200 | dagit6406 | (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Read error: Connection reset by peer) |
2022-10-20 10:07:47 +0200 | Ristovski | (~Ristovski@hellomouse/perf/ristovski) |
2022-10-20 10:09:00 +0200 | yvan-sraka | (~yvan-srak@37.171.191.42) (Ping timeout: 244 seconds) |
2022-10-20 10:13:51 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-10-20 10:17:07 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Ping timeout: 248 seconds) |
2022-10-20 10:18:30 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-10-20 10:20:39 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-10-20 10:20:39 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-10-20 10:20:39 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-10-20 10:20:39 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-10-20 10:21:50 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-10-20 10:22:02 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-10-20 10:22:09 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
2022-10-20 10:22:36 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-20 10:22:52 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-20 10:27:10 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Ping timeout: 255 seconds) |
2022-10-20 10:28:20 +0200 | titibandit | (~titibandi@xdsl-78-34-208-230.nc.de) (Remote host closed the connection) |
2022-10-20 10:31:34 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
2022-10-20 10:32:33 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 255 seconds) |
2022-10-20 10:32:45 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
2022-10-20 10:37:56 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds) |
2022-10-20 10:40:28 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
2022-10-20 10:43:51 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 10:45:45 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-20 10:48:47 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-20 10:49:45 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2022-10-20 10:50:30 +0200 | <albet70> | let a=3 in id a, this 'let' create a lexical scope? |
2022-10-20 10:52:14 +0200 | Ristovski | (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 252 seconds) |
2022-10-20 10:55:04 +0200 | birdgoose | (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) |
2022-10-20 10:56:45 +0200 | ubert | (~Thunderbi@178.115.56.41.wireless.dyn.drei.com) |
2022-10-20 10:57:40 +0200 | <dminuoso> | Zes. |
2022-10-20 10:57:43 +0200 | <dminuoso> | Yes. |
2022-10-20 10:58:31 +0200 | kuribas | (~user@silversquare.silversquare.eu) |
2022-10-20 11:01:28 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-10-20 11:01:46 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) |
2022-10-20 11:01:59 +0200 | <albet70> | is it a closure? |
2022-10-20 11:02:47 +0200 | <ski> | "closure" is an implementation term |
2022-10-20 11:03:15 +0200 | <ski> | `a' is just a local variable, bound to `3' |
2022-10-20 11:03:53 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
2022-10-20 11:04:51 +0200 | <ski> | (what are you trying to ask about ?) |
2022-10-20 11:05:52 +0200 | ubert | (~Thunderbi@178.115.56.41.wireless.dyn.drei.com) (Ping timeout: 255 seconds) |
2022-10-20 11:06:47 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) (Remote host closed the connection) |
2022-10-20 11:07:29 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 11:08:22 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 252 seconds) |
2022-10-20 11:12:48 +0200 | ubert | (~Thunderbi@77.119.160.6.wireless.dyn.drei.com) |
2022-10-20 11:13:01 +0200 | akegalj | (~akegalj@212.15.177.13) (Ping timeout: 246 seconds) |
2022-10-20 11:13:06 +0200 | danza | (~francesco@151.43.231.219) (Read error: Connection reset by peer) |
2022-10-20 11:13:27 +0200 | <kuribas> | Anyone going to FOSDEM or BOB? |
2022-10-20 11:14:59 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 11:15:25 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 11:16:45 +0200 | <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 |
2022-10-20 11:17:47 +0200 | <kuribas> | > let adder = (+); add5 = adder 5 in add5 3 |
2022-10-20 11:17:49 +0200 | <lambdabot> | 8 |
2022-10-20 11:17:56 +0200 | <kuribas> | albet70: ^ |
2022-10-20 11:18:15 +0200 | <kuribas> | you could capture a IORef if that's what you fancy. |
2022-10-20 11:18:39 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 11:20:24 +0200 | ccapndave | (~ccapndave@xcpe-62-167-164-44.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com) |
2022-10-20 11:24:40 +0200 | akegalj | (~akegalj@213-202-90-118.dsl.iskon.hr) |
2022-10-20 11:25:07 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-20 11:25:52 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) |
2022-10-20 11:26:48 +0200 | mjacob | (~mjacob@adrastea.uberspace.de) (Read error: Connection reset by peer) |
2022-10-20 11:27:50 +0200 | danza | (~francesco@151.37.141.231) |
2022-10-20 11:31:22 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
2022-10-20 11:31:40 +0200 | yvan-sraka | (~yvan-srak@163.172.69.160) (Ping timeout: 244 seconds) |
2022-10-20 11:31:57 +0200 | mmhat | (~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de) |
2022-10-20 11:32:12 +0200 | mjacob | (~mjacob@adrastea.uberspace.de) |
2022-10-20 11:32:30 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzâŠ) |
2022-10-20 11:33:48 +0200 | ft | (~ft@p3e9bc845.dip0.t-ipconnect.de) (Quit: leaving) |
2022-10-20 11:36:10 +0200 | Everything | (~Everythin@37.115.210.35) |
2022-10-20 11:37:15 +0200 | gmg | (~user@user/gehmehgeh) |
2022-10-20 11:38:08 +0200 | <dminuoso> | albet70: A closure is an implementation detail. |
2022-10-20 11:42:19 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-10-20 11:46:01 +0200 | <dminuoso> | albet70: Semantically what you meant is, given `let x = 5 in \y -> x + y`, `y` is bound in \y -> x + y` |
2022-10-20 11:46:33 +0200 | <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 |
2022-10-20 11:46:38 +0200 | `2jt | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
2022-10-20 11:46:58 +0200 | <dminuoso> | Oh sorry, I miswrote. `x` is bound in \y -> x + y` |
2022-10-20 11:47:30 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-20 11:48:12 +0200 | <dminuoso> | We could, instead, just create a new function on the spot with `x` replaced by 5. No closure needed. |
2022-10-20 11:48:43 +0200 | <dminuoso> | But from a semantic point of view this is indistinguishable, aside from the performance perspective |
2022-10-20 11:49:09 +0200 | kavvadias | (~kavvadias@2001:9e8:632f:ca00:d323:974c:a374:e838) |
2022-10-20 11:49:37 +0200 | <kavvadias> | hey i was wondering if someone could help me with hls and coc for nvim |
2022-10-20 11:50:02 +0200 | <[exa]> | kavvadias: please state your trouble. :] |
2022-10-20 11:50:55 +0200 | <dminuoso> | *please state the nature of your functional emergency |
2022-10-20 11:54:37 +0200 | <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 |
2022-10-20 11:54:38 +0200 | danza | (~francesco@151.37.141.231) (Read error: Connection reset by peer) |
2022-10-20 11:55:38 +0200 | <[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) ? |
2022-10-20 11:55:47 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-20 12:01:02 +0200 | birdgoose | (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 272 seconds) |
2022-10-20 12:01:35 +0200 | <kavvadias> | no it doesnt |
2022-10-20 12:02:07 +0200 | <[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 |
2022-10-20 12:02:14 +0200 | <[exa]> | in the meantime, are there any logs? |
2022-10-20 12:05:32 +0200 | <kavvadias> | ihttps://pastebin.com/rLVHgCLz |
2022-10-20 12:05:40 +0200 | <kavvadias> | thats from Coc log |
2022-10-20 12:06:07 +0200 | <[exa]> | nothing suspicious there right |
2022-10-20 12:06:29 +0200 | <kavvadias> | dont seem like it |
2022-10-20 12:09:02 +0200 | kuribas | (~user@silversquare.silversquare.eu) (Read error: Connection reset by peer) |
2022-10-20 12:11:49 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
2022-10-20 12:12:28 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
2022-10-20 12:14:24 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-10-20 12:15:23 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-20 12:17:22 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) |
2022-10-20 12:19:25 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
2022-10-20 12:20:25 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-10-20 12:24:43 +0200 | haritz | (~hrtz@user/haritz) (Remote host closed the connection) |
2022-10-20 12:25:20 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 12:25:25 +0200 | <dminuoso> | % :set -XPolyKinds |
2022-10-20 12:25:25 +0200 | <yahb2> | <no output> |
2022-10-20 12:25:41 +0200 | <dminuoso> | % data T (s :: TYPE rr) = T s |
2022-10-20 12:25:42 +0200 | <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... |
2022-10-20 12:25:58 +0200 | <dminuoso> | % data T (s :: TYPE rr) = T s |
2022-10-20 12:25:58 +0200 | <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... |
2022-10-20 12:26:01 +0200 | <dminuoso> | % newtype T (s :: TYPE rr) = T s |
2022-10-20 12:26:01 +0200 | <yahb2> | <no output> |
2022-10-20 12:26:24 +0200 | <dminuoso> | % f :: T s -> Int; f = undefined |
2022-10-20 12:26:24 +0200 | <yahb2> | <no output> |
2022-10-20 12:26:33 +0200 | <dminuoso> | % {-# SPECIALIZE f :: T Int# -> Int #-} |
2022-10-20 12:26:33 +0200 | <yahb2> | <no output> |
2022-10-20 12:26:41 +0200 | <dminuoso> | Huh! |
2022-10-20 12:27:39 +0200 | vglfr | (~vglfr@145.224.100.100) (Ping timeout: 272 seconds) |
2022-10-20 12:29:46 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-20 12:38:05 +0200 | <tomsmeding> | kavvadias: what happens if you try to run `haskell-language-server-wrapper` in a terminal in your project folder? Does that succeed? |
2022-10-20 12:38:40 +0200 | __monty__ | (~toonn@user/toonn) |
2022-10-20 12:39:26 +0200 | zkSNOOP | (~username@ptr-21zvp7pbt2o6jn2ooyl.18120a2.ip6.access.telenet.be) |
2022-10-20 12:40:03 +0200 | <kavvadias> | https://pastebin.com/K6c9ArCU |
2022-10-20 12:41:22 +0200 | <dminuoso> | Ohh GHCI cant do these pragmas right |
2022-10-20 12:41:39 +0200 | JonathanWatson[m | (~jjwmatrix@2001:470:69fc:105::2:a544) |
2022-10-20 12:42:53 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 12:44:44 +0200 | coot | (~coot@213.134.171.3) (Quit: coot) |
2022-10-20 12:47:05 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 258 seconds) |
2022-10-20 12:48:28 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-10-20 12:48:55 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
2022-10-20 12:50:08 +0200 | absence_ | absence |
2022-10-20 12:56:55 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-10-20 12:59:34 +0200 | haritz | (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
2022-10-20 12:59:34 +0200 | haritz | (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
2022-10-20 12:59:34 +0200 | haritz | (~hrtz@user/haritz) |
2022-10-20 12:59:58 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 13:02:06 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 13:02:09 +0200 | <kavvadias> | can someone share some config file for nvim please ? |
2022-10-20 13:06:01 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-10-20 13:06:18 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-20 13:06:26 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-20 13:08:23 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
2022-10-20 13:08:27 +0200 | vn36 | (~vn36@123.63.203.210) |
2022-10-20 13:08:34 +0200 | raym | (~aritra@user/raym) (Quit: kernel update, rebooting...) |
2022-10-20 13:10:08 +0200 | Tobias83 | (~Tobias@dyndsl-095-033-094-034.ewe-ip-backbone.de) |
2022-10-20 13:11:07 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-10-20 13:12:54 +0200 | Tobias83 | (~Tobias@dyndsl-095-033-094-034.ewe-ip-backbone.de) (Client Quit) |
2022-10-20 13:18:36 +0200 | <tomsmeding> | for coc+nvim specifically, I assume |
2022-10-20 13:20:03 +0200 | <dminuoso> | % newtype State (s :: TYPE rr) a = State { runState :: s -> (# s, a #) } |
2022-10-20 13:20:03 +0200 | <yahb2> | <no output> |
2022-10-20 13:20:10 +0200 | <dminuoso> | % put :: forall rr (s :: TYPE rr). s -> State s (); put x = State (\_ -> (# x, () #)) |
2022-10-20 13:20:11 +0200 | <dminuoso> | % put :: forall rr (s :: TYPE rr). s -> State s (); put x = State (\_ -> (# x, () #)) |
2022-10-20 13:20:11 +0200 | <yahb2> | <interactive>:88:55: error: ; A levity-polymorphic type is not allowed here: ; Type: s ; Kind: TYPE rr ; In the type of binder âxâ |
2022-10-20 13:20:23 +0200 | <dminuoso> | Is there a way to build this? |
2022-10-20 13:21:37 +0200 | vn36 | (~vn36@123.63.203.210) (Quit: leaving) |
2022-10-20 13:21:47 +0200 | <raehik> | isn't it impossible to bind a levity poly value |
2022-10-20 13:22:00 +0200 | <raehik> | (I have a note from myself that says as much when I tried before) |
2022-10-20 13:22:22 +0200 | <dminuoso> | So much for my brilliant idea of making a levity polymorphic variant of FlatParse.Stateful :( |
2022-10-20 13:22:29 +0200 | <dminuoso> | That idea prompt died. |
2022-10-20 13:22:32 +0200 | <dminuoso> | *promptly |
2022-10-20 13:22:58 +0200 | <dminuoso> | raehik: Hi! I have some further thoughts to share on 9.4 compatibility on flatparse, by the wya |
2022-10-20 13:23:07 +0200 | <kavvadias> | tomsmeding yes , that would be great, even for more plugins, im kind of new to nvim |
2022-10-20 13:23:42 +0200 | <raehik> | dminuoso: yes plz! I wonder if you were added to the repo as a contributor yet |
2022-10-20 13:23:51 +0200 | <dminuoso> | I just started yesterday :P |
2022-10-20 13:24:53 +0200 | <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. |
2022-10-20 13:25:41 +0200 | <raehik> | current flatparse design doesn't support 32-bit anyway so I'm comfortable with that |
2022-10-20 13:25:46 +0200 | <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 |
2022-10-20 13:25:58 +0200 | <dminuoso> | In that case, the word-compat way is the only sensible |
2022-10-20 13:26:08 +0200 | <dminuoso> | its less effort, and wont require re-converting on every primop and callsite |
2022-10-20 13:26:32 +0200 | <dminuoso> | we dont have to use the package itself, all we really need is just similar bidirectional view patterns |
2022-10-20 13:26:52 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:3f57:8fd:2b35:c02c) |
2022-10-20 13:27:33 +0200 | <dminuoso> | raehik: by the way, getting a Word64# on ghc 9.0 is easy. |
2022-10-20 13:27:51 +0200 | <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 |
2022-10-20 13:27:59 +0200 | <dminuoso> | Let me give you the code Ive written last night |
2022-10-20 13:28:02 +0200 | mixfix41 | (~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds) |
2022-10-20 13:28:18 +0200 | nschoe | (~q@141.101.51.197) |
2022-10-20 13:30:29 +0200 | <dminuoso> | raehik: https://gist.github.com/dminuoso/d583018afcac70ccc034b4eefac416cd |
2022-10-20 13:31:00 +0200 | <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 |
2022-10-20 13:31:07 +0200 | <raehik> | dminuoso: ah right, that's fair |
2022-10-20 13:31:21 +0200 | <dminuoso> | raehik: alternatively, you can do this: |
2022-10-20 13:31:38 +0200 | <dminuoso> | Or rather, for the opposite direction: |
2022-10-20 13:31:47 +0200 | <dminuoso> | word64ToWord# w64 = let GHC.W# w = fromIntegral (GHC.W64# w64) in w |
2022-10-20 13:32:02 +0200 | <dminuoso> | (Which is obviously only safe on 64 bits) |
2022-10-20 13:32:25 +0200 | <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. |
2022-10-20 13:32:40 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a8750050d53bd5e9e4e.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-10-20 13:33:07 +0200 | <dminuoso> | And on 32 bit that thing actually exists (but is iomplemented as an FFI call) |
2022-10-20 13:33:12 +0200 | <dminuoso> | See libraries/ghc-prim/GHC/IntWord64.hs |
2022-10-20 13:34:03 +0200 | <dminuoso> | raehik: by the way, where do we not support 32 bits yet? |
2022-10-20 13:34:10 +0200 | <raehik> | huh. that is all a bit confusing |
2022-10-20 13:35:45 +0200 | <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 |
2022-10-20 13:35:53 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 13:36:09 +0200 | <dminuoso> | Word# does definitely not state itself to be 64 bit. |
2022-10-20 13:36:17 +0200 | <dminuoso> | It's just a machine word sized prim type. |
2022-10-20 13:36:24 +0200 | <dminuoso> | On 32 bit systems it will be 32 bit. |
2022-10-20 13:37:17 +0200 | <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) |
2022-10-20 13:37:27 +0200 | <tomsmeding> | dminuoso: I think raehik meant that the parser combinators state themselves to be 64-bit |
2022-10-20 13:37:31 +0200 | <raehik> | we assume Word# s are 8-bytes long though: https://github.com/AndrasKovacs/flatparse/blob/f51ead69b568f73bb7d3b47f3bc7a2b2b6db259d/src/FlatPa⊠|
2022-10-20 13:38:15 +0200 | <dminuoso> | I would personally really prefer `withAnyWord64 :: (Word64# -> ...) -> ...` |
2022-10-20 13:38:29 +0200 | <dminuoso> | But there's really no pretty way to make it happen |
2022-10-20 13:38:55 +0200 | <dminuoso> | Because then you need to provide an indexWord64OffAddr# shim for example |
2022-10-20 13:39:13 +0200 | <raehik> | yeah, that's what I did in my temp GHC 9.4 branch https://github.com/AndrasKovacs/flatparse/pull/29/files#diff-902431788ef1828ee9050e062bd33fc61675e⊠|
2022-10-20 13:39:16 +0200 | xff0x | (~xff0x@2405:6580:b080:900:e42c:dea5:20dc:c5aa) |
2022-10-20 13:40:26 +0200 | <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 |
2022-10-20 13:41:38 +0200 | <dminuoso> | On the bright side, regardless of what approach we chose, its fixed work,. |
2022-10-20 13:41:50 +0200 | <dminuoso> | I think its mostly done on GHC 9.4 |
2022-10-20 13:42:01 +0200 | <dminuoso> | There's just a few rough edges missing |
2022-10-20 13:42:22 +0200 | <dminuoso> | What I just dont really like is the `type Word64'# = Word64#` shenanigans. |
2022-10-20 13:42:49 +0200 | <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. |
2022-10-20 13:42:55 +0200 | <dminuoso> | Otherwise you essentially impose CPP on the library user |
2022-10-20 13:43:36 +0200 | <dminuoso> | Which is sort of why forcing everything into Word# induces less work for us and users. |
2022-10-20 13:43:51 +0200 | <dminuoso> | Very unsatisfying |
2022-10-20 13:45:43 +0200 | <dminuoso> | raehik: Tell you what, you finish your approach on (3), and Ill try and roll (1) |
2022-10-20 13:45:46 +0200 | <raehik> | I agree - I went with WordX'# because I didn't want to lose the improvements from 9.2 |
2022-10-20 13:45:53 +0200 | <dminuoso> | And when we're done, well just compare them |
2022-10-20 13:46:14 +0200 | <Franciman> | does ghc runtime support Word128# ? |
2022-10-20 13:46:16 +0200 | <dminuoso> | Well, thats the beauty of (1). If you use newer GHC, you will definitely not pay a penalty |
2022-10-20 13:46:20 +0200 | <dminuoso> | Butfor older versions you might |
2022-10-20 13:46:22 +0200 | <dminuoso> | Franciman: No |
2022-10-20 13:46:25 +0200 | <raehik> | yeah that I'm fine with |
2022-10-20 13:46:31 +0200 | <Franciman> | how come? |
2022-10-20 13:46:36 +0200 | <Franciman> | is there a specific reason not to? |
2022-10-20 13:46:52 +0200 | <merijn> | Franciman: "without a specific reason to support it, nobody has bothered"? |
2022-10-20 13:47:06 +0200 | <Franciman> | crystal clear |
2022-10-20 13:47:30 +0200 | <dminuoso> | raehik: there's another alternative, by the way. |
2022-10-20 13:47:31 +0200 | <Franciman> | so haskell has no interest in working with high performance numeric computations? |
2022-10-20 13:47:44 +0200 | <dminuoso> | We could go with (1) *and* expose Word# casted variants of combinators |
2022-10-20 13:47:48 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-10-20 13:48:22 +0200 | <dminuoso> | So you have: `anyWord64# :: (Word64# -> Parser e a) -> Parser e a` and `anyWord64'# :: (Word# -> Parser e a) -> Parser e a` |
2022-10-20 13:48:48 +0200 | <dminuoso> | That way, newer GHC users can just use anyWord64, and newer users can too, of for better compatibility decide for anyWord64'# instead. |
2022-10-20 13:48:57 +0200 | <dminuoso> | It defers the compatibility choice to the user |
2022-10-20 13:49:07 +0200 | <merijn> | Franciman: I mean, GMP is already rather high performance |
2022-10-20 13:49:28 +0200 | <merijn> | What high performance numeric problem does Word128# solve? |
2022-10-20 13:49:30 +0200 | <Franciman> | ok i understand |
2022-10-20 13:49:30 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-10-20 13:49:42 +0200 | <dminuoso> | Franciman: Feel free to submit a pull request implementing Work128# if you want it? |
2022-10-20 13:49:47 +0200 | <Franciman> | sure |
2022-10-20 13:50:02 +0200 | <Franciman> | i wasn't aware GMP was already high performance |
2022-10-20 13:50:03 +0200 | <raehik> | dminuoso: why not `anyWord# :: (Word# -> ...` ? |
2022-10-20 13:50:14 +0200 | <Franciman> | if it's enough for the haskell communityu, it's probably enough for me too |
2022-10-20 13:50:16 +0200 | <dminuoso> | raehik: And how much does that parse off the input? :P |
2022-10-20 13:50:32 +0200 | <Franciman> | word128# solves various problems in which you work with large numbers without resorting to bignum tricks |
2022-10-20 13:50:54 +0200 | <Franciman> | but there are no widespread architectures supporting word128, so it's only natural |
2022-10-20 13:50:55 +0200 | <dminuoso> | raehik: but honestly, we dont even need that. a user can just unsafeCoerce# a Word64# into Word# themselves for easier use. |
2022-10-20 13:50:56 +0200 | <raehik> | dminuoso: ...could we just give up there and use CPP like in your snippet? |
2022-10-20 13:50:56 +0200 | <Franciman> | that nobody cares |
2022-10-20 13:51:08 +0200 | <dminuoso> | these wrappers might be redundant |
2022-10-20 13:51:30 +0200 | <dminuoso> | raehik: Im not a big fan of the interface/types changing depending on CPP. |
2022-10-20 13:51:57 +0200 | <dminuoso> | Because this forces CPP on consumers if they want broad GHC compatibility |
2022-10-20 13:52:10 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6) |
2022-10-20 13:52:45 +0200 | <probie> | I think the only time I've used a "Word128" was when doing bitboards for things like Reversi |
2022-10-20 13:53:16 +0200 | <raehik> | dminuoso: ok, haven't thought of wider implications of using CPP before |
2022-10-20 13:53:18 +0200 | <dminuoso> | Franciman: Honestly, I think if we want better optimization potential, auto vectorization in GHC is probably a better source of it/ |
2022-10-20 13:53:33 +0200 | <Franciman> | yup |
2022-10-20 13:53:35 +0200 | <Franciman> | i agree |
2022-10-20 13:54:29 +0200 | <dminuoso> | raehik: So I guess that should be the first decision, whether we want to impose CPP onto library users or not. |
2022-10-20 13:54:53 +0200 | <dminuoso> | If not, then its just a matter of "Coerce everything into Word# or not" |
2022-10-20 13:55:23 +0200 | <dminuoso> | Realistically users will hate you for it either way. |
2022-10-20 13:57:07 +0200 | <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 |
2022-10-20 13:57:21 +0200 | <dminuoso> | But that's not the side we care about |
2022-10-20 13:57:21 +0200 | <raehik> | I have now viewed the Tweag article on why CPP bad. Good points |
2022-10-20 13:57:45 +0200 | kavvadias | (~kavvadias@2001:9e8:632f:ca00:d323:974c:a374:e838) (Quit: Client closed) |
2022-10-20 13:59:07 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) |
2022-10-20 13:59:37 +0200 | <dminuoso> | raehik: There is also a case to be made to not provide prim types here at all, and expecting GHC to unbox them. |
2022-10-20 13:59:53 +0200 | <dminuoso> | Given that everything is inlined, the chances of unboxing are extremely high |
2022-10-20 14:00:11 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-20 14:01:13 +0200 | <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...! |
2022-10-20 14:01:51 +0200 | <raehik> | we should start some discussion on the repository |
2022-10-20 14:02:01 +0200 | <dminuoso> | Well, we could just move them into an internal module, that would avoid public API being brittle |
2022-10-20 14:02:26 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 14:02:51 +0200 | <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. |
2022-10-20 14:02:56 +0200 | <dminuoso> | Maybe, yeah |
2022-10-20 14:07:42 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-20 14:13:25 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-20 14:28:00 +0200 | _xor | (~xor@74.215.182.83) (Quit: brb) |
2022-10-20 14:29:48 +0200 | maerwald | (~maerwald@mail.hasufell.de) (Changing host) |
2022-10-20 14:29:48 +0200 | maerwald | (~maerwald@user/maerwald) |
2022-10-20 14:32:53 +0200 | _xor | (~xor@74.215.182.83) |
2022-10-20 14:33:02 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2022-10-20 14:33:50 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a87a017d72952e61ce6.dip0.t-ipconnect.de) |
2022-10-20 14:46:21 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 272 seconds) |
2022-10-20 14:46:49 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-20 14:47:13 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 14:51:40 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-20 14:55:36 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-10-20 14:57:41 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2022-10-20 14:58:26 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
2022-10-20 15:01:26 +0200 | frost78 | (~frost@user/frost) (Ping timeout: 244 seconds) |
2022-10-20 15:05:14 +0200 | king_gs | (~Thunderbi@2806:103e:29:c5:4fb1:a8c9:906f:c6e0) (Ping timeout: 252 seconds) |
2022-10-20 15:07:16 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
2022-10-20 15:08:24 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-10-20 15:12:13 +0200 | `2jt | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Remote host closed the connection) |
2022-10-20 15:12:19 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 272 seconds) |
2022-10-20 15:12:32 +0200 | `2jt | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
2022-10-20 15:16:21 +0200 | <sayola> | whats the next best thing to a sum type but thats somehow extensible? |
2022-10-20 15:17:42 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2022-10-20 15:20:26 +0200 | <lortabac> | sayola: it depends, there are several ways to make extensible sum types |
2022-10-20 15:21:32 +0200 | <lortabac> | the simplest one is to add a polymorphic constructor, for eg.: data Foo ext = Foo | Ext ext |
2022-10-20 15:21:42 +0200 | <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 ...) |
2022-10-20 15:22:16 +0200 | <sayola> | hmh wasnt thinking about pattern synonyms lol |
2022-10-20 15:22:19 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 15:22:33 +0200 | <sayola> | but i guess that might work |
2022-10-20 15:23:11 +0200 | <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. |
2022-10-20 15:24:13 +0200 | thegeekinside | (~thegeekin@189.180.97.156) |
2022-10-20 15:24:35 +0200 | <[Leary]> | sayola: In that case, I'd suggest `class Typeable e => Event e; data SomeEvent where SomeEvent :: Event e => e -> SomeEvent`. |
2022-10-20 15:25:30 +0200 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.6) |
2022-10-20 15:25:37 +0200 | <probie> | In that case, I wouldn't even suggest pattern synonyms. Just keep it simple and have `data Event userEvent = SomeEventType ... | AnotherEventType ... | UserEvent userEvent` |
2022-10-20 15:26:09 +0200 | <[Leary]> | Ah, though I guess if it really is only the user consuming it, then the existential version might be overkill. |
2022-10-20 15:26:24 +0200 | <[Leary]> | Since it doesn't need to play nice with other extensions. |
2022-10-20 15:26:34 +0200 | <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 |
2022-10-20 15:27:28 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 246 seconds) |
2022-10-20 15:29:10 +0200 | <sayola> | thank you guys |
2022-10-20 15:35:50 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 15:36:41 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 15:38:37 +0200 | <probie> | sayola: alternatively, you could flip it around, and require the user to embed your event type https://paste.tomsmeding.com/eG3pbKYB |
2022-10-20 15:40:34 +0200 | <sayola> | interesting idea. i'll keep it in mind. i'll work around a bit and see how it works out. |
2022-10-20 15:43:28 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-10-20 15:43:41 +0200 | <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. |
2022-10-20 15:44:55 +0200 | <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 |
2022-10-20 15:45:51 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-20 15:45:53 +0200 | mmhat | (~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7) |
2022-10-20 15:47:57 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
2022-10-20 15:48:48 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-20 15:48:48 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-20 15:48:48 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-20 15:50:10 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-20 15:51:07 +0200 | mncheck | (~mncheck@193.224.205.254) |
2022-10-20 15:54:44 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 15:55:49 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Ping timeout: 246 seconds) |
2022-10-20 15:57:17 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
2022-10-20 16:00:55 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) |
2022-10-20 16:01:31 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2022-10-20 16:02:38 +0200 | stef204 | (~stef204@user/stef204) |
2022-10-20 16:05:52 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:06:47 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:07:37 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:08:06 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:10:11 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 16:10:50 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:12:02 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:15:01 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
2022-10-20 16:15:04 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 246 seconds) |
2022-10-20 16:21:44 +0200 | raym | (~aritra@user/raym) |
2022-10-20 16:25:53 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 16:29:49 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:30:33 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:31:10 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:33:30 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:38:40 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:39:47 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-20 16:39:49 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:39:52 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:40:14 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2022-10-20 16:42:47 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:45:12 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-20 16:53:01 +0200 | vglfr | (~vglfr@145.224.100.100) (Remote host closed the connection) |
2022-10-20 16:53:46 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 16:54:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzâŠ) |
2022-10-20 16:59:04 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-20 16:59:27 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-10-20 17:06:19 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a87a017d72952e61ce6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-10-20 17:08:11 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) |
2022-10-20 17:08:44 +0200 | <zzz> | why are cyclic imports a problem in haskell? |
2022-10-20 17:09:13 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-20 17:11:44 +0200 | AlexZenon | (~alzenon@178.34.163.70) (Quit: ;-) |
2022-10-20 17:12:04 +0200 | Alex_test | (~al_test@178.34.163.70) (Quit: ;-) |
2022-10-20 17:12:24 +0200 | AlexNoo | (~AlexNoo@178.34.163.70) (Quit: Leaving) |
2022-10-20 17:14:04 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
2022-10-20 17:14:32 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-20 17:14:47 +0200 | <lortabac> | zzz: do you mean what is the technical reason why GHC doesn't support them without hs-boot files? |
2022-10-20 17:15:21 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Client Quit) |
2022-10-20 17:15:47 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-20 17:16:47 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-20 17:19:06 +0200 | <zzz> | i don't know what hs-boot files are but yes i guess that's what i'm asking |
2022-10-20 17:21:57 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-20 17:22:13 +0200 | littlefinger | (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) |
2022-10-20 17:22:31 +0200 | <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⊠|
2022-10-20 17:23:04 +0200 | <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 |
2022-10-20 17:23:37 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-20 17:25:41 +0200 | <lortabac> | mutually recursive modules require the compiler to be somehow able of more granularity than modules |
2022-10-20 17:26:37 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
2022-10-20 17:27:01 +0200 | AlexNoo | (~AlexNoo@178.34.163.70) |
2022-10-20 17:27:03 +0200 | <geekosaur> | less granular, actually: it would need to compile two modules at once, each referencing the other |
2022-10-20 17:27:09 +0200 | AlexNoo | (~AlexNoo@178.34.163.70) (Client Quit) |
2022-10-20 17:27:25 +0200 | <lortabac> | geekosaur: that's also another possibility |
2022-10-20 17:27:30 +0200 | AlexZenon | (~alzenon@178.34.163.70) |
2022-10-20 17:27:51 +0200 | <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 |
2022-10-20 17:27:55 +0200 | <lortabac> | I meant something like: compile one function from module A, then one function from module B, then another from module A etc. |
2022-10-20 17:28:26 +0200 | <geekosaur> | s/.../= Bar Foo/ |
2022-10-20 17:28:38 +0200 | AlexNoo | (~AlexNoo@178.34.163.70) |
2022-10-20 17:29:39 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-20 17:30:02 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.7) |
2022-10-20 17:32:01 +0200 | Alex_test | (~al_test@178.34.163.70) |
2022-10-20 17:32:38 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-10-20 17:32:48 +0200 | yvan-sraka | (~yvan-srak@2001:470:1f13:21d:e7f8:f613:453a:84bf) |
2022-10-20 17:32:54 +0200 | <zzz> | why don't we just concatenate everything that's imported into a single file and compile that? |
2022-10-20 17:34:20 +0200 | <zzz> | (solving for name collisions etc of course) |
2022-10-20 17:34:24 +0200 | kenran` | (~user@user/kenran) (Remote host closed the connection) |
2022-10-20 17:34:32 +0200 | <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 |
2022-10-20 17:34:51 +0200 | <geekosaur> | remember, separate compilation, not whole-program |
2022-10-20 17:35:13 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-20 17:36:01 +0200 | <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 |
2022-10-20 17:36:25 +0200 | <zzz> | fair enough. so that's the main reason |
2022-10-20 17:37:37 +0200 | <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 |
2022-10-20 17:38:09 +0200 | <geekosaur> | https://github.com/grin-compiler/ghc-grin |
2022-10-20 17:39:24 +0200 | <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 |
2022-10-20 17:40:26 +0200 | akegalj | (~akegalj@213-202-90-118.dsl.iskon.hr) (Quit: leaving) |
2022-10-20 17:42:28 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 17:43:04 +0200 | tremon | (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
2022-10-20 17:43:21 +0200 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 3.7) |
2022-10-20 17:45:38 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
2022-10-20 17:48:46 +0200 | <tomsmeding> | geekosaur: are you talking about the GHC-WPC project thing by Csaba Hruska? |
2022-10-20 17:48:57 +0200 | <tomsmeding> | (just dropping the name in case you forgot and were looking for it) |
2022-10-20 17:49:21 +0200 | <tomsmeding> | oh this is also csaba :D |
2022-10-20 17:49:26 +0200 | <geekosaur> | maybe there are multiiple. I recall grin wanted to do WPC for some reason though |
2022-10-20 17:50:07 +0200 | <tomsmeding> | seems said project is linked from the ghc-grin repo readme |
2022-10-20 17:50:56 +0200 | yvan-sraka | (~yvan-srak@2001:470:1f13:21d:e7f8:f613:453a:84bf) (Remote host closed the connection) |
2022-10-20 17:52:26 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-10-20 17:54:25 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Remote host closed the connection) |
2022-10-20 17:54:35 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:3f57:8fd:2b35:c02c) (Quit: WeeChat 2.8) |
2022-10-20 17:55:37 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-20 17:56:14 +0200 | Topsi | (~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de) |
2022-10-20 17:58:31 +0200 | MajorBiscuit | (~MajorBisc@c-001-024-010.client.tudelft.eduvpn.nl) (Ping timeout: 255 seconds) |
2022-10-20 17:58:44 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Client Quit) |
2022-10-20 17:59:46 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-20 18:03:31 +0200 | milia | (~milia@user/milia) |
2022-10-20 18:04:05 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 18:05:11 +0200 | <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 |
2022-10-20 18:05:19 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-10-20 18:05:29 +0200 | <EvanR> | because there's no type system or sugar to help with that |
2022-10-20 18:06:55 +0200 | HackingSpring | (~haru@201-27-75-20.dsl.telesp.net.br) |
2022-10-20 18:08:07 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 246 seconds) |
2022-10-20 18:08:52 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
2022-10-20 18:09:21 +0200 | razetime | (~quassel@117.254.34.48) |
2022-10-20 18:11:33 +0200 | <EvanR> | dminuoso, I've seen this paper but I didn't realize it was only 4 pages... thanks |
2022-10-20 18:12:58 +0200 | vglfr | (~vglfr@145.224.100.100) (Ping timeout: 252 seconds) |
2022-10-20 18:18:43 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-10-20 18:19:21 +0200 | Goodbye_Vincent | (cyvahl@freakshells.net) (Quit: Ping timeout (120 seconds)) |
2022-10-20 18:20:45 +0200 | mastarija | (~mastarija@212.15.178.9) |
2022-10-20 18:20:58 +0200 | <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? |
2022-10-20 18:23:03 +0200 | <mastarija> | Where is the list of packages installed with `cabal install`? |
2022-10-20 18:23:55 +0200 | <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` |
2022-10-20 18:25:30 +0200 | <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` |
2022-10-20 18:26:06 +0200 | <HackingSpring> | neither can I execute `target symbols add Main.dSYM` to get that functionality |
2022-10-20 18:26:30 +0200 | <HackingSpring> | am I missing something while compilling/executing? |
2022-10-20 18:28:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzâŠ) |
2022-10-20 18:28:53 +0200 | Goodbye_Vincent | (cyvahl@freakshells.net) |
2022-10-20 18:30:16 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) |
2022-10-20 18:31:53 +0200 | <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 |
2022-10-20 18:32:10 +0200 | <geekosaur> | you should generally not try to manage this yourself |
2022-10-20 18:32:22 +0200 | <geekosaur> | but let cabal do it |
2022-10-20 18:32:23 +0200 | <mastarija> | I want to delete that file :) |
2022-10-20 18:33:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-20 18:34:00 +0200 | <mastarija> | geekosaur, I don't think that's it |
2022-10-20 18:34:09 +0200 | <mastarija> | that's a folder containing libraries |
2022-10-20 18:34:15 +0200 | <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> |
2022-10-20 18:34:44 +0200 | <geekosaur> | otherwise I think you're assuming cabal is doing something it isn't |
2022-10-20 18:35:00 +0200 | <mastarija> | yes, that's it I think |
2022-10-20 18:36:46 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 255 seconds) |
2022-10-20 18:37:45 +0200 | isamiamsam | (~d@zukertort.childrenofmay.org) |
2022-10-20 18:38:09 +0200 | mastarija | (~mastarija@212.15.178.9) (Quit: Leaving) |
2022-10-20 18:39:38 +0200 | <isamiamsam> | is there a way to automatically generate Read instances that allow the terse constructor syntax? |
2022-10-20 18:39:39 +0200 | <geekosaur> | HackingSpring, I don't think DWARF support is provided in current release versions of ghc; you'd have to build it yourself |
2022-10-20 18:39:44 +0200 | <geekosaur> | skkukuk «xmonad*skkukuk» â
xmonad-bsaâ Z$ grep libdw $(ghc --print-libdir)/settings |
2022-10-20 18:39:44 +0200 | <geekosaur> | ,("RTS expects libdw", "NO") |
2022-10-20 18:39:54 +0200 | <EvanR> | I vaguely remember ghc-pkg list |
2022-10-20 18:40:16 +0200 | <geekosaur> | EvanR, there's no package db in either --lib or store cases |
2022-10-20 18:40:25 +0200 | <geekosaur> | that's only used for bootlibs these days |
2022-10-20 18:40:34 +0200 | <geekosaur> | and you can't delete those without breaking ghc |
2022-10-20 18:41:32 +0200 | <EvanR> | isamiamsam, terse constructor syntax? |
2022-10-20 18:41:53 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-245.elisa-laajakaista.fi) |
2022-10-20 18:42:22 +0200 | <HackingSpring> | geekosaur: are you talking about the execution of "dsymutil Main"? |
2022-10-20 18:42:46 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
2022-10-20 18:43:24 +0200 | raym | (~aritra@user/raym) (Quit: leaving) |
2022-10-20 18:44:10 +0200 | <isamiamsam> | EvanR: where you don't specify the field names |
2022-10-20 18:44:42 +0200 | <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 |
2022-10-20 18:44:42 +0200 | <geekosaur> | ile building the compiler) and a platform which libdw supports." |
2022-10-20 18:45:51 +0200 | <geekosaur> | also "Currently only DWARF debug information is supported on x86-64 and i386." which implies no support for M1s |
2022-10-20 18:46:12 +0200 | <geekosaur> | this from the 9.4.2 manual |
2022-10-20 18:46:24 +0200 | <EvanR> | isamiamsam, i just found this https://hackage.haskell.org/package/deriving-show-simple |
2022-10-20 18:46:33 +0200 | <EvanR> | dammit that is Show not Read |
2022-10-20 18:46:58 +0200 | <HackingSpring> | oof, I was completely blind when reading that section. thanks for helping me, geekosaur |
2022-10-20 18:49:38 +0200 | <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 |
2022-10-20 18:50:15 +0200 | nschoe | (~q@141.101.51.197) (Ping timeout: 255 seconds) |
2022-10-20 18:54:24 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 18:54:42 +0200 | Everything | (~Everythin@37.115.210.35) (Ping timeout: 260 seconds) |
2022-10-20 18:55:28 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
2022-10-20 18:56:53 +0200 | raym | (~aritra@user/raym) |
2022-10-20 18:57:16 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-20 18:58:15 +0200 | econo | (uid147250@user/econo) |
2022-10-20 18:58:48 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
2022-10-20 19:00:21 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-20 19:04:13 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 19:05:11 +0200 | vglfr | (~vglfr@145.224.100.100) |
2022-10-20 19:06:37 +0200 | razetime | (~quassel@117.254.34.48) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-10-20 19:07:24 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
2022-10-20 19:11:39 +0200 | akegalj | (~akegalj@212.15.177.32) |
2022-10-20 19:13:12 +0200 | raym | (~aritra@user/raym) (Quit: leaving) |
2022-10-20 19:14:11 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 19:15:10 +0200 | <lyxia> | isamiamsam: using generic-data https://gist.github.com/Lysxia/0951fc852da2bb3274433f241a013307 |
2022-10-20 19:16:23 +0200 | birdgoose | (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) |
2022-10-20 19:17:19 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-10-20 19:18:28 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
2022-10-20 19:19:02 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) |
2022-10-20 19:19:32 +0200 | akegalj | (~akegalj@212.15.177.32) (Read error: Connection reset by peer) |
2022-10-20 19:19:32 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2022-10-20 19:24:49 +0200 | gentauro | (~gentauro@user/gentauro) |
2022-10-20 19:25:27 +0200 | littlefinger | (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Ping timeout: 244 seconds) |
2022-10-20 19:25:32 +0200 | polo | (sid532813@user/polo) |
2022-10-20 19:26:17 +0200 | birdgoose | (~jesse@2406:e003:1d87:6601:e725:b6b4:ace8:4ebe) (Ping timeout: 272 seconds) |
2022-10-20 19:27:48 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-10-20 19:33:57 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-20 19:34:10 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
2022-10-20 19:34:47 +0200 | mbuf | (~Shakthi@49.204.135.71) (Quit: Leaving) |
2022-10-20 19:34:57 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 19:36:26 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-20 19:39:18 +0200 | heartburn | (~gass@2a00:d880:3:1::b1e4:b241) (Ping timeout: 240 seconds) |
2022-10-20 19:40:36 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 252 seconds) |
2022-10-20 19:40:46 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
2022-10-20 19:53:07 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Read error: Connection reset by peer) |
2022-10-20 19:53:07 +0200 | AWizzArd | (~code@gehrels.uberspace.de) (Read error: Connection reset by peer) |
2022-10-20 19:55:59 +0200 | feliix42 | (~felix@gibbs.uberspace.de) |
2022-10-20 19:58:44 +0200 | AWizzArd | (~code@gehrels.uberspace.de) |
2022-10-20 20:00:03 +0200 | heartburn | (~gass@2a00:d880:3:1::b1e4:b241) |
2022-10-20 20:07:35 +0200 | ulvarrefr | (~user@188.124.56.153) |
2022-10-20 20:07:41 +0200 | <isamiamsam> | lyxia: awesome |
2022-10-20 20:10:07 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
2022-10-20 20:15:59 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a985cc769c881031731.dip0.t-ipconnect.de) |
2022-10-20 20:19:59 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) (Quit: Going elsewhere) |
2022-10-20 20:20:23 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) |
2022-10-20 20:23:52 +0200 | raym | (~aritra@user/raym) |
2022-10-20 20:25:22 +0200 | AlexNoo_ | (~AlexNoo@178.34.162.124) |
2022-10-20 20:25:22 +0200 | kenran | (~user@user/kenran) |
2022-10-20 20:27:27 +0200 | AlexZenon | (~alzenon@178.34.163.70) (Ping timeout: 255 seconds) |
2022-10-20 20:28:59 +0200 | Alex_test | (~al_test@178.34.163.70) (Ping timeout: 272 seconds) |
2022-10-20 20:28:59 +0200 | AlexNoo | (~AlexNoo@178.34.163.70) (Ping timeout: 272 seconds) |
2022-10-20 20:31:24 +0200 | <EvanR> | updating thunk for this subject to generic-data xD |
2022-10-20 20:32:21 +0200 | Alex_test | (~al_test@178.34.162.124) |
2022-10-20 20:32:30 +0200 | AlexZenon | (~alzenon@178.34.162.124) |
2022-10-20 20:35:36 +0200 | ubert | (~Thunderbi@77.119.160.6.wireless.dyn.drei.com) (Remote host closed the connection) |
2022-10-20 20:37:12 +0200 | birdgoose | (~birdgoose@222-153-24-178-adsl.sparkbb.co.nz) |
2022-10-20 20:37:22 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds) |
2022-10-20 20:54:42 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 20:56:41 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-20 20:59:25 +0200 | ksu | (~ksu@user/prtr) (Ping timeout: 252 seconds) |
2022-10-20 21:00:19 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
2022-10-20 21:04:37 +0200 | AlexNoo_ | AlexNoo |
2022-10-20 21:04:46 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 21:05:57 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2022-10-20 21:05:59 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
2022-10-20 21:11:19 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-20 21:12:45 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-20 21:13:16 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-10-20 21:18:41 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-20 21:22:10 +0200 | Momentum | (momentum@tilde.team) |
2022-10-20 21:23:21 +0200 | polo | (sid532813@user/polo) () |
2022-10-20 21:24:36 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 255 seconds) |
2022-10-20 21:24:52 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-20 21:27:51 +0200 | danza | (~francesco@151.43.69.239) |
2022-10-20 21:28:11 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzzâŠ) |
2022-10-20 21:29:53 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
2022-10-20 21:31:51 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Client Quit) |
2022-10-20 21:35:28 +0200 | Maja | (~quassel@178-37-215-128.adsl.inetia.pl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-10-20 21:37:43 +0200 | polo_ | (sid532813@id-532813.tinside.irccloud.com) |
2022-10-20 21:37:57 +0200 | polo_ | (sid532813@id-532813.tinside.irccloud.com) (Client Quit) |
2022-10-20 21:38:10 +0200 | polo_ | (sid532813@user/polo) |
2022-10-20 21:38:50 +0200 | polo_ | polo |
2022-10-20 21:39:06 +0200 | pavonia | (~user@user/siracusa) |
2022-10-20 21:42:51 +0200 | [Ristovski] | (~Ristovski@hellomouse/perf/ristovski) |
2022-10-20 21:42:52 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection) |
2022-10-20 21:46:48 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 21:51:19 +0200 | ksu | (~ksu@user/prtr) |
2022-10-20 21:55:13 +0200 | [Ristovski] | (~Ristovski@hellomouse/perf/ristovski) (Ping timeout: 258 seconds) |
2022-10-20 21:55:17 +0200 | Ristovsk- | (~Ristovski@hellomouse/perf/ristovski) |
2022-10-20 21:56:06 +0200 | raym | (~aritra@user/raym) (Quit: leaving) |
2022-10-20 21:56:07 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-20 21:56:44 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 22:01:44 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 258 seconds) |
2022-10-20 22:02:51 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-20 22:05:36 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-20 22:08:15 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
2022-10-20 22:09:10 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
2022-10-20 22:10:04 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-20 22:10:33 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 258 seconds) |
2022-10-20 22:18:46 +0200 | mestre | (~mestre@191.177.185.178) |
2022-10-20 22:19:17 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 22:25:01 +0200 | raym | (~aritra@user/raym) |
2022-10-20 22:29:10 +0200 | littlefinger | (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) |
2022-10-20 22:37:00 +0200 | yvan-sraka | (~yvan-srak@2a01cb0802a4b900266adbf2c2065e5f.ipv6.abo.wanadoo.fr) |
2022-10-20 22:43:23 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) |
2022-10-20 22:46:09 +0200 | littlefinger | (~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Quit: Client closed) |
2022-10-20 22:48:19 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 272 seconds) |
2022-10-20 22:56:05 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-10-20 23:02:49 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-10-20 23:04:17 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-20 23:09:00 +0200 | tremon | (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
2022-10-20 23:09:43 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-20 23:10:11 +0200 | coot | (~coot@213.134.171.3) |
2022-10-20 23:15:24 +0200 | yvan-sraka | (~yvan-srak@2a01cb0802a4b900266adbf2c2065e5f.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2022-10-20 23:16:55 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-10-20 23:17:03 +0200 | <Alex_test> | 1862 |
2022-10-20 23:17:44 +0200 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!) |
2022-10-20 23:18:29 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-20 23:21:20 +0200 | acidjnk_new | (~acidjnk@p200300d6e7137a985cc769c881031731.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-10-20 23:21:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzâŠ) |
2022-10-20 23:23:46 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 258 seconds) |
2022-10-20 23:24:08 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
2022-10-20 23:24:35 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2022-10-20 23:25:20 +0200 | yvan-sraka | (~yvan-srak@2a01cb0802a4b900c2769ca0f3b46125.ipv6.abo.wanadoo.fr) |
2022-10-20 23:25:38 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-10-20 23:25:49 +0200 | coot | (~coot@213.134.171.3) (Quit: coot) |
2022-10-20 23:32:12 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-10-20 23:32:19 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-10-20 23:38:04 +0200 | milia | (~milia@user/milia) (Quit: leaving) |
2022-10-20 23:39:45 +0200 | Athas | (athas@sigkill.dk) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-10-20 23:41:01 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 258 seconds) |
2022-10-20 23:43:18 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-10-20 23:44:39 +0200 | ft | (~ft@p3e9bc845.dip0.t-ipconnect.de) |
2022-10-20 23:45:37 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-10-20 23:47:32 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
2022-10-20 23:49:02 +0200 | caryhartline | (~caryhartl@2600:1700:2d0:8d30:989e:e378:903e:38da) |
2022-10-20 23:49:10 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 246 seconds) |
2022-10-20 23:49:14 +0200 | max25 | (~max25@187.32.187.113) |
2022-10-20 23:49:23 +0200 | max25 | (~max25@187.32.187.113) () |
2022-10-20 23:49:30 +0200 | `2jt | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 255 seconds) |
2022-10-20 23:50:18 +0200 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-10-20 23:50:59 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-10-20 23:51:20 +0200 | detuneattune | (~detuneatt@user/detuneattune) (Quit: detuneattune) |
2022-10-20 23:51:22 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2022-10-20 23:51:57 +0200 | zkSNOOP | (~username@ptr-21zvp7pbt2o6jn2ooyl.18120a2.ip6.access.telenet.be) () |
2022-10-20 23:54:07 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-10-20 23:55:20 +0200 | EvanR | (~EvanR@user/evanr) (Quit: Leaving) |
2022-10-20 23:56:28 +0200 | Athas | (athas@2a01:7c8:aaac:1cf:d087:7abc:7f63:ba68) |
2022-10-20 23:58:37 +0200 | vglfr | (~vglfr@145.224.100.100) (Ping timeout: 272 seconds) |
2022-10-20 23:59:22 +0200 | vglfr | (~vglfr@145.224.100.100) |