Logs on 2021-08-25 (liberachat/#haskell)
| 00:00:07 | × | Guest4855 quits (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
| 00:00:47 | <hseg> | 5 stages of ghc errors: denial, frustration, realization, perseverance, giving up |
| 00:02:46 | <hseg> | case in question: thought my type family was injective, not considering eg that (/\x. f x -> f x) a ~ (/\x. f a -> x) (f a) |
| 00:03:31 | <aegon> | is there any difference performance wise between let and where blocks? |
| 00:05:37 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) |
| 00:06:17 | ← | delYsid parts (~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50)) |
| 00:07:15 | → | chris joins (~chris@81.96.113.213) |
| 00:07:19 | chris | is now known as Guest1826 |
| 00:07:29 | → | sjb0 joins (~stephen@2001:8004:5160:3989:12e9:dcb3:94a7:de9e) |
| 00:13:47 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 00:15:03 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 00:18:36 | → | azeem joins (~azeem@176.201.15.223) |
| 00:20:08 | <aegon> | is there a way to write this 'cleaner' (remove the dangling return line) https://paste.tomsmeding.com/zlHD7XMQ |
| 00:20:44 | <aegon> | these two line do blocks come up now an again and I can't help feeling like i'm missing an opportunity for applicative but i also cant find the right syntax to make it work |
| 00:21:07 | <aegon> | i could see how if there were a lens for it |
| 00:21:39 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 00:24:40 | <glguy> | aegon: looks good |
| 00:29:27 | × | alx741 quits (~alx741@186.178.108.43) (Ping timeout: 250 seconds) |
| 00:30:40 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 00:31:20 | → | davincee joins (~da1dude@112.201.99.74) |
| 00:34:41 | × | d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds) |
| 00:34:47 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 00:36:26 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 00:36:27 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 00:37:40 | Lord_of_Life_ | is now known as Lord_of_Life |
| 00:37:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 00:41:27 | × | epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 00:42:43 | → | alx741 joins (~alx741@186.178.109.43) |
| 00:42:55 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:48:10 | <hseg> | dminuoso: so otoh, managed to build my vararg type coercer. http://ix.io/3wSp otoh: a) it is unwieldy to use b) since you can't apply type synonyms, the main use case is inexpressible c) just realized it targets the wrong field anyway |
| 00:48:29 | <hseg> | d) it's ugly as sin |
| 00:54:06 | → | fawful joins (~guy@c-76-104-217-93.hsd1.wa.comcast.net) |
| 00:55:08 | → | d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) |
| 00:57:04 | <hseg> | guess if I was interested in shaving this yak, might want to look into TH'ing this code, but am burnt out on this refactor |
| 00:57:17 | <hseg> | especially considering I have other stuff to do |
| 00:57:25 | <hseg> | thanks for the help, anyway! |
| 00:57:28 | × | hseg quits (~gesh@IGLD-84-228-238-79.inter.net.il) (Quit: WeeChat 3.2) |
| 01:08:12 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:11:13 | × | charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 252 seconds) |
| 01:12:40 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 01:14:37 | → | charukiewicz joins (~quassel@irouteince04.i.subnet.rcn.com) |
| 01:16:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 01:18:47 | × | pbrisbin quits (~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 240 seconds) |
| 01:21:08 | → | azeem joins (~azeem@176.201.15.223) |
| 01:31:44 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 01:39:11 | → | azeem joins (~azeem@176.201.15.223) |
| 01:39:51 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:41:23 | × | xff0x quits (~xff0x@2001:1a81:5333:b100:677b:385:c244:5fff) (Ping timeout: 250 seconds) |
| 01:43:29 | → | xff0x joins (~xff0x@2001:1a81:536c:3300:eddd:cb7:2ef2:f526) |
| 01:44:25 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 01:46:27 | × | bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 01:49:11 | × | d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 250 seconds) |
| 01:50:41 | × | sjb0 quits (~stephen@2001:8004:5160:3989:12e9:dcb3:94a7:de9e) (Quit: Leaving.) |
| 01:57:07 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 02:03:40 | → | keutoi joins (~keutoi@157.47.90.161) |
| 02:03:48 | × | venue quits (~venue@user/venue) (Ping timeout: 250 seconds) |
| 02:05:10 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:05:50 | × | obs\ quits (~obscur1ty@user/obs/x-5924898) (Read error: Connection reset by peer) |
| 02:06:07 | → | azeem joins (~azeem@176.201.15.223) |
| 02:09:31 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
| 02:14:45 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 02:19:07 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
| 02:21:19 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:23:17 | → | azeem joins (~azeem@176.201.15.223) |
| 02:24:11 | <thornAvery> | im writing my command line arguments at the moment, and i have a bunch of functions of type `foo :: IO (Either (IO ()) Bar)`, in that i have actions that will end the program (either successfully or unsuccessfully), and if it gets to the end of all the steps without ending execution, i get a validetd `Bar` at the end. im finding ive got a lot of ugly nested cases for this, and i feel like theres a much |
| 02:24:11 | <thornAvery> | better way of writing it, is this somethnig i can nest the Either monad inside of to get it looking nicer? |
| 02:25:26 | <thornAvery> | use case is im taking in my options (which may fail if the options dont parse or if theres an unknown one), then if it didnt fail i want to check if the help flag is set, and if so print help and stop execution, then only if the help flag wasnt set do i want to do a second round of validation, failing with an error or returning the validated options for the rest of my program to use |
| 02:29:55 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 02:30:09 | → | famubu joins (~famubu@user/famubu) |
| 02:30:21 | → | azeem joins (~azeem@176.201.15.223) |
| 02:31:14 | <thornAvery> | I think I wanna use a monad transformer here? |
| 02:32:01 | → | dajoer joins (~david@user/gvx) |
| 02:32:05 | <famubu> | Hi. When we do `a = 1:a`, how does haskell figure out the initial value of `a`? I guess it's got something to do with lazy evaluation but when it does get evaluated, how is value for `1:a` found out when `a` has no initial value? (I'm new to Haskell). |
| 02:32:26 | <famubu> | Resultant `a` would be an infinte list of `1`s. |
| 02:33:40 | <Axman6> | that's just a cyclic definition, the tail of the list points to the cons that is the definiton of a |
| 02:34:50 | <Axman6> | a = (:) 1 a is the same but uusing prefix syntax, which shows that a is a cons constructor which points to 1 and a. so this will be infinite but take up very little memory |
| 02:36:27 | × | td_ quits (~td@94.134.91.225) (Ping timeout: 240 seconds) |
| 02:38:35 | → | td_ joins (~td@muedsl-82-207-238-244.citykom.de) |
| 02:41:46 | <famubu> | Axman6: Okay, so the 'initial value' of `a` is not really needed because it's the `cons` that's being appended to. Is it something like that? |
| 02:42:28 | <famubu> | Is there some place where we can read more about this? I guess this is a beginner doubt and possibly a well-asked one. |
| 02:42:45 | <dsal> | famubu: It's easier if you don't have a programming background. :) |
| 02:42:53 | <dsal> | The list a is 1 followed by the list a. |
| 02:43:04 | → | venue joins (~venue@user/venue) |
| 02:43:46 | <famubu> | dsal: Yeah when we look it as something like 'equations' it make sense. |
| 02:45:05 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 02:45:06 | <dsal> | thornAvery: I don't exactly understand what you're specifying there. If you have a list of those functions, then I'd imagine something like `traverse` will get you close, but I'd need to see more context. |
| 02:55:27 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 02:57:27 | × | famubu quits (~famubu@user/famubu) (Ping timeout: 240 seconds) |
| 02:58:59 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:58:59 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 02:58:59 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:59:01 | → | hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd) |
| 02:59:22 | → | slack1256 joins (~slack1256@191.126.161.169) |
| 03:01:00 | × | Skyfire quits (~pyon@user/pyon) (Ping timeout: 250 seconds) |
| 03:04:05 | → | azeem joins (~azeem@176.201.15.223) |
| 03:10:54 | × | alx741 quits (~alx741@186.178.109.43) (Quit: alx741) |
| 03:12:47 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 03:12:55 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:13:02 | → | azeem joins (~azeem@176.201.15.223) |
| 03:14:06 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 03:16:56 | → | otto_s_ joins (~user@p4ff272f9.dip0.t-ipconnect.de) |
| 03:17:45 | <aegon> | if you forkIO do you have to rebuild your monad stack or is there a way to fork but keep things like ST around with liftIO |
| 03:17:54 | × | spruit11 quits (~quassel@2a02:a467:ccd6:1:1d51:90f2:b4a7:ece8) (Ping timeout: 250 seconds) |
| 03:18:41 | <c_wraith> | believe it or not, the type of liftIO answers that question |
| 03:19:11 | <c_wraith> | also, ST isn't even available as a transformer... |
| 03:19:26 | <aegon> | its a ReaderT |
| 03:19:33 | <c_wraith> | err, the type of forkIO |
| 03:20:01 | × | otto_s quits (~user@p5de2f618.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 03:20:49 | <c_wraith> | anyway. forkIO takes something with a type that unifies with IO a |
| 03:21:15 | <c_wraith> | that clearly means it must be IO. Not something wrapping IO |
| 03:21:29 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds) |
| 03:21:55 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
| 03:21:59 | <c_wraith> | now, as far as ReaderT, you can easily reconstruct it inside the forked thread |
| 03:22:22 | <c_wraith> | thought if it has any mutable cells in the environment, you will have to respect that you're nondeterministic now |
| 03:23:22 | <aegon> | the environment is used to pass along a pool of postgres connections |
| 03:23:50 | <aegon> | to reconstruct it I need to pull the env out of the wrapped monad before using liftIO right? maybe i ought to play around and see if i can make the type system happy |
| 03:25:05 | <c_wraith> | you can always do something like env <- ask ; forkIO (runReaderT action env) |
| 03:25:56 | <c_wraith> | where action is the thing you want to run in the other thread |
| 03:26:41 | <c_wraith> | Reader is trvial in a way that makes it easy to reconstruct inside forkIO |
| 03:26:46 | <c_wraith> | Err, ReaderT |
| 03:29:02 | <Axman6> | fendor: you can think of it as a recursive function (which, really is basically what it is). Definitions can quite happily refer to themselves recursively, and if yuu have a name for a value, then definitions using that value will all point to the same object in memory |
| 03:29:06 | <aegon> | well i made things a bit more tricky for me, I wrapped all this in an AppT transformer but given what you said I should be able to peel the onion back and then drop it in. I'm assumping resource-pool is thread safe though also, I need to dig into that, as well as wrap my head around catching exceptions in a forked thread / what to do with them. Hoping to delay thinking about exception handling till my |
| 03:29:12 | <aegon> | brain is fresh in the mornin |
| 03:29:24 | <Axman6> | uh, ok, I guess they left. sorry fendor |
| 03:30:02 | → | spruit11 joins (~quassel@2a02:a467:ccd6:1:8c29:d071:7a1c:6a79) |
| 03:31:13 | × | slack1256 quits (~slack1256@191.126.161.169) (Remote host closed the connection) |
| 03:32:47 | <c_wraith> | yeah, I'd expect the pool to be threadsafe. Not much use having one that isn't. |
| 03:33:01 | <aegon> | oy, this means i need to despecialize the rest of my funcs away from IO and go into MonadIO land :? |
| 03:34:05 | <c_wraith> | If you want to be polymorphic, yes. Alternatively, you can specialize them to your type |
| 03:34:41 | <dsal> | aegon: There's also UnliftIO if you want to into that direction. |
| 03:36:10 | <aegon> | dsal: i was looking at unliftIO it seems like the trade-off is somewhere around exception handling, which seems relevant since i have to deal with some around http calls |
| 03:37:10 | <dsal> | It's more about solving your stated problem -- you can't carry the stack with you, but you'll want to recreate it on the other side. |
| 03:40:05 | <thornAvery> | hello again, i tried to play around with it but im still missing something sorry. my problem is i have a record that i want to pass throguh a number of functions, each of which will either pass it to the next, or exit with either success or failure, possibly after printing some messages to STDIO/STDERR. i think i need to use an Either transformer? at the moment im having to nest cases like this https:/ |
| 03:40:05 | <thornAvery> | /pastebin.com/raw/TuFjv2Sc which seems bad |
| 03:42:58 | <thornAvery> | although, i can probably actually just have an Either monad that returns an IO action now that i look at it, ill give that a try ahh sorry for spamming the channel |
| 03:47:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 03:47:29 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 03:47:31 | × | Guest1826 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 03:48:06 | → | famubu joins (~famubu@14.139.174.50) |
| 03:48:08 | → | chris joins (~chris@81.96.113.213) |
| 03:48:12 | chris | is now known as Guest7659 |
| 03:52:15 | × | Guest7659 quits (~chris@81.96.113.213) (Ping timeout: 250 seconds) |
| 03:52:33 | → | chris joins (~chris@81.96.113.213) |
| 03:52:36 | chris | is now known as Guest3591 |
| 03:53:37 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
| 03:53:39 | → | azeem joins (~azeem@176.201.15.223) |
| 03:56:03 | <aegon> | dsal hey, UnliftIO is pretty cool i'll try to figure out how to swap it |
| 03:56:30 | <dsal> | thornAvery: You might consider not mixing in effects. |
| 03:57:29 | <dsal> | There's ExceptT and ContT that might help you create a better structure. |
| 03:59:13 | <dsal> | But in general, that's doing too many different things to understand what it's supposed to be. |
| 04:03:06 | × | talismanick quits (~user@2601:644:8500:8350::cc04) (Remote host closed the connection) |
| 04:03:19 | → | talismanick joins (~user@2601:644:8500:8350::cc04) |
| 04:04:10 | → | falafel joins (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) |
| 04:04:14 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 04:04:49 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 04:08:52 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds) |
| 04:09:59 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 04:10:04 | × | res0nat0r8 quits (~Fletch@dia.whatbox.ca) (Quit: Ping timeout (120 seconds)) |
| 04:10:38 | → | res0nat0r8 joins (~Fletch@dia.whatbox.ca) |
| 04:10:53 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 04:11:18 | → | azeem joins (~azeem@176.201.15.223) |
| 04:15:33 | × | fawful quits (~guy@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: WeeChat 3.2) |
| 04:18:32 | × | markpythonicbtc quits (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:19:27 | → | markpythonicbtc joins (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) |
| 04:19:35 | × | famubu quits (~famubu@14.139.174.50) (Changing host) |
| 04:19:35 | → | famubu joins (~famubu@user/famubu) |
| 04:23:17 | <aegon> | hmm ok i have UnliftIO for my top level monad but i need to use a function defined by a librario called withContex :: \/a . (Context -> IOa) -> IO a |
| 04:23:25 | <aegon> | but within that inner func i need access to my stack |
| 04:23:35 | <aegon> | this seems like what unliftIO is for |
| 04:23:46 | <aegon> | or do i need to recreate my stack inside the lambda |
| 04:23:50 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 04:28:39 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 04:29:52 | <dsal> | unliftio should do most of the work for you. |
| 04:32:29 | <aegon> | yeah i'm playing with it now, trying to use withRunInIO but then i get complaints when i try to access side effects in my stack from within that lambda |
| 04:33:01 | <aegon> | so i'm trying to get a better grip on it reading fp complete stuff on unliftio |
| 04:35:40 | → | azeem joins (~azeem@176.201.15.223) |
| 04:36:28 | <aegon> | oh i see i need to prefix run on my actions that use my monad within that lambda |
| 04:37:53 | × | hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!) |
| 04:41:13 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 04:48:38 | → | mei joins (~mei@user/mei) |
| 04:49:07 | <aegon> | that works but thats a lot of withRunInIO, and resulting run calls, should I be worried about perf? seems like in a situation where you have to run quite a lot of code in a world that was built for a handler in IO () actions against your own effect stack you end up unwrapping a lot with the withRunInIO helper |
| 04:50:14 | <dsal> | It shouldn't be a *lot*. But maybe there's a design problem at a different level. |
| 04:51:08 | <dsal> | You said you're using forkIO, right? Are you using the unlifted version? |
| 04:51:51 | × | res0nat0r8 quits (~Fletch@dia.whatbox.ca) (Quit: Ping timeout (120 seconds)) |
| 04:51:53 | <dsal> | I'd probably even take a step back and say "wait, are you sure you want to use forkIO at all?" but at the very least, you don't need to reinvent things. |
| 04:52:05 | → | res0nat0r8 joins (~Fletch@dia.whatbox.ca) |
| 04:53:20 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 04:53:57 | → | hololeap joins (~hololeap@user/hololeap) |
| 04:54:35 | <aegon> | the library i'm working with is formed around running all your computation within a lambda provided to withContext, that lambda needs to be in IO so I'm using withRunInIO then the standard forkIO and inside using run |
| 04:55:09 | <aegon> | unfortunatly this x -> IO a pattern is all around this library so pretty much every thread has to do the same thing and then use run inside |
| 04:56:20 | <aegon> | actually i can clean up a lot of these. This is my mess. I formed a bunch of helper functions against IO that i could instead form against MonadIO |
| 04:56:34 | <dsal> | There are probably a few other ways to do this. I don't have enough context, but I don't understand what `forkIO` has to do with anything. |
| 04:57:13 | <aegon> | I'm running a zeromq server and Main fork's different threads for different sockets |
| 04:57:46 | <aegon> | is it a mistake / needless mess to mix MonadUnliftIO and MonadIO |
| 04:58:03 | <dsal> | MonadUnliftIO is MonadIO |
| 04:58:12 | <dsal> | It just has more requirements. |
| 04:58:44 | <aegon> | welll, that fixes that |
| 04:59:11 | <dsal> | I had a similar thing I was working on and at that API barrier, I did a single unliftio thing. I don't know why you'd need more than one. The primary thing it's doing is passing your context in and out. |
| 04:59:35 | <aegon> | so i shoudl prefer to constrain to MonadIO where possible and only use MonadUnliftIO constriants where I need to run monad computations within an IO action |
| 05:00:19 | <aegon> | let me put together a paste I'm probably missing someting |
| 05:00:44 | <aegon> | but I think i can do withRunInIO once but then i have to call run often |
| 05:00:49 | <dsal> | If you're making a library, MonadIO is OK. MonadIO is snoymanesque religious territory. It works OK in my own stuff, but I don't know that I'd force it on others. |
| 05:00:54 | <aegon> | this is going to be a somewhat contrived paste |
| 05:01:09 | <dsal> | Occasionally people do things that aren't somewhat contrived here. heh |
| 05:03:07 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 05:04:08 | × | CannabisIndica quits (~herb@user/mesaboogie) (Ping timeout: 268 seconds) |
| 05:10:15 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 05:10:48 | → | azeem joins (~azeem@176.201.15.223) |
| 05:14:38 | × | venue quits (~venue@user/venue) (Quit: adios) |
| 05:14:40 | <aegon> | dsal: :P, ok here it is https://paste.tomsmeding.com/WkjoePQS |
| 05:15:02 | <aegon> | thats not so bad as theres only one run but that run gets called every "tick" |
| 05:15:25 | <aegon> | so if it's expensive thats adding a lot of overhead if were talking about a tick every 10 ms |
| 05:15:42 | <aegon> | darn, i left an extra do in there :X |
| 05:15:48 | <dsal> | A few :) |
| 05:16:04 | <aegon> | and i used a reserved word as a variable, i definitely wrote that in the paste form <_< , >_> |
| 05:16:25 | → | cheater joins (~Username@user/cheater) |
| 05:16:46 | <aegon> | but thats the jist of it, i need to run this inner loop logic in IO but it needs my monad stack |
| 05:16:53 | <aegon> | so i end up calling run really frequently |
| 05:17:27 | <aegon> | so I'm just wondering what the perf implications of that are, is it a lazy pattern match each time on the stack, or should i not be worried and just "run" with it |
| 05:19:39 | × | Nosrep quits (~archbox@user/nosrep) (Ping timeout: 258 seconds) |
| 05:21:17 | → | Nosrep joins (~archbox@user/nosrep) |
| 05:23:16 | <dsal> | I don't know. perf implications are things profiling tells you. |
| 05:23:51 | <aegon> | well, i guess also if theres no way around it its just how it is |
| 05:23:59 | <dsal> | I had a bad performance regression in one of my programs recently. I tried guessing what it was, but just did a profiling build and ran it and found a really dumb bug I wrote in an area I wouldn't've guessed. |
| 05:24:32 | <dsal> | There are always ways, but worrying about performance before you measure it may not be the best idea. |
| 05:25:20 | <aegon> | I'm maybe too worried about monad stack performance. I got scared by this page https://wiki.haskell.org/Performance/Monads |
| 05:26:52 | <dsal> | Just measure. If this isn't a cost center, then don't worry about it. |
| 05:27:40 | <aegon> | your right. I'm worried about optimizing maybe a non-issue |
| 05:28:33 | → | CnnibisIndica joins (~herb@user/mesaboogie) |
| 05:32:19 | × | falafel quits (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) (Remote host closed the connection) |
| 05:32:43 | → | falafel joins (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) |
| 05:35:43 | → | sab- joins (~shawna@76.14.56.206) |
| 05:36:07 | × | sab- quits (~shawna@76.14.56.206) (Remote host closed the connection) |
| 05:38:18 | → | sab- joins (~shawna@76.14.56.206) |
| 05:38:24 | × | sab- quits (~shawna@76.14.56.206) (Remote host closed the connection) |
| 05:38:29 | → | qbt joins (~edun@user/edun) |
| 05:38:53 | → | sab- joins (~shawna@76.14.56.206) |
| 05:39:03 | × | sab- quits (~shawna@76.14.56.206) (Remote host closed the connection) |
| 05:39:51 | → | sabra joins (~shawna@76.14.56.206) |
| 05:40:53 | × | sabra quits (~shawna@76.14.56.206) (Remote host closed the connection) |
| 05:41:14 | → | sabhrd33 joins (~shawna@76.14.56.206) |
| 05:43:46 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:44:53 | → | kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz) |
| 05:45:47 | × | falafel quits (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) (Ping timeout: 250 seconds) |
| 05:47:10 | → | acidjnk_new3 joins (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) |
| 05:55:45 | × | acidjnk_new3 quits (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 06:00:31 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 06:01:24 | → | azeem joins (~azeem@176.201.15.223) |
| 06:04:29 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 06:14:47 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 06:15:37 | → | azeem joins (~azeem@176.201.15.223) |
| 06:18:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
| 06:18:40 | → | zaquest joins (~notzaques@5.128.210.178) |
| 06:20:01 | × | xff0x quits (~xff0x@2001:1a81:536c:3300:eddd:cb7:2ef2:f526) (Ping timeout: 250 seconds) |
| 06:21:08 | → | xff0x joins (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) |
| 06:26:20 | → | lortabac joins (~lortabac@151.53.202.164) |
| 06:26:47 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 06:27:45 | → | azeem joins (~azeem@176.201.15.223) |
| 06:29:17 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:30:17 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:34:53 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:35:23 | → | echoreply joins (~echoreply@45.32.163.16) |
| 06:36:09 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 06:36:27 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 06:36:37 | → | Vajb joins (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) |
| 06:36:41 | → | azeem joins (~azeem@176.201.15.223) |
| 06:40:10 | → | sjb0 joins (~stephen@1.145.57.172) |
| 06:46:24 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 06:48:33 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 06:51:25 | → | reumeth joins (~reumeth@user/reumeth) |
| 06:51:28 | → | vysn joins (~vysn@user/vysn) |
| 06:57:07 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 06:57:44 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 06:57:45 | → | acidjnk_new3 joins (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) |
| 06:58:05 | → | azeem joins (~azeem@176.201.15.223) |
| 06:58:46 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Client Quit) |
| 07:00:46 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 07:03:09 | → | d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) |
| 07:06:22 | ← | gauss parts (~gauss@139.180.175.160) (Leaving) |
| 07:06:54 | × | aegon quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 07:08:03 | <siers> | what's the I# in "data Int = I# Int#"? |
| 07:08:35 | <tomsmeding> | just a data constructor |
| 07:08:53 | <tomsmeding> | the # doesn't actually mean anything, it's part of the name just like ' can be |
| 07:09:10 | <tomsmeding> | except you need to explicitly tell the compiler that you want to use it in names using LANGUAGE MagicHash |
| 07:09:57 | <[exa]> | siers: the # types sometimes have a slightly magical meaning for the compiler, e.g. it will may that it's really _the_ machine integer wrapper thingy |
| 07:10:19 | <tomsmeding> | yeah, that holds for Int# in this case |
| 07:10:41 | → | buggymcbugfix joins (~buggymcbu@p4fcaa0a6.dip0.t-ipconnect.de) |
| 07:10:47 | → | hannessteffenhag joins (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) |
| 07:10:48 | <[exa]> | I guess in this case the I# is there for adding the box around the Int inside |
| 07:11:17 | <[exa]> | and possibly disambiguating it from other types that just contain Int# |
| 07:11:48 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:21:07 | → | jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) |
| 07:21:12 | <fendor> | with pattern synonyms, can I have a pattern such as: `pattern RealSrcSpan x Nothing <- SrcLoc.RealSrcSpan x`. E.g. I wanna be backwards compatible add a constructor with a basically unused field |
| 07:21:41 | <fendor> | Currently, I get: "parse error on input 'Nothing'" |
| 07:21:57 | <tomsmeding> | fendor: if someone writes 'RealSrcSpan x y' in their code, what would y be bound to? |
| 07:22:08 | <fendor> | Nothing? |
| 07:22:50 | <tomsmeding> | what about `pattern RealSrcSpan x y <- ((,Nothing) -> (SrcLoc.RealSrcSpan x, y))` |
| 07:22:57 | <tomsmeding> | using ViewPatterns and TupleSections |
| 07:23:33 | <fendor> | looks really not sexy, but works, thanks! Ok, so every variable needs to bound on the rhs? |
| 07:23:43 | × | acidjnk_new3 quits (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 07:23:45 | <tomsmeding> | the "it's always traverse" of applicative things becomes "it's always ViewPatterns" with patternsynonyms :p |
| 07:23:46 | <tomsmeding> | yeah |
| 07:23:57 | <tomsmeding> | it should translate a pattern to a pattern |
| 07:24:15 | <tomsmeding> | and ViewPatterns allows you to put arbitrary stuff in that pattern |
| 07:24:40 | <fendor> | I don't understand quite why it should be invalid to inject constants |
| 07:24:59 | <tomsmeding> | yeah what you wrote could easily be a shorthand for my version I guess |
| 07:25:24 | <tomsmeding> | though it's also ambiguous, because your code could also mean a specialisation of the RealSrcSpan pattern when its second argument is the pattern `Nothing` |
| 07:25:54 | <tomsmeding> | which... I'm not even sure is well defined to say; can you do case analysis on patterns themselves? |
| 07:25:59 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 07:26:19 | <tomsmeding> | but anyway I can see why the extension doesn't allow the syntax |
| 07:28:34 | <fendor> | no, I dont think you can... |
| 07:30:37 | → | jdcain joins (~jdcain@2600:8804:1b96:4900::935) |
| 07:31:15 | <fendor> | thank you for the explanation, hopefully this was the last time I struggled with pattern synonyms |
| 07:31:21 | <tomsmeding> | :D |
| 07:35:58 | × | Cajun quits (~Cajun@user/cajun) (Ping timeout: 246 seconds) |
| 07:36:58 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 07:37:22 | → | ubert joins (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) |
| 07:37:52 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds) |
| 07:38:28 | → | hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 07:38:40 | × | ubert quits (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Client Quit) |
| 07:39:22 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 07:40:13 | → | azeem joins (~azeem@176.201.15.223) |
| 07:43:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:46:16 | × | sabhrd33 quits (~shawna@76.14.56.206) (Remote host closed the connection) |
| 07:47:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:48:39 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Remote host closed the connection) |
| 07:50:07 | → | Gurkenglas joins (~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) |
| 07:50:46 | → | ubert joins (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) |
| 07:51:47 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 07:53:37 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 250 seconds) |
| 07:59:17 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 08:01:19 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:08:40 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds) |
| 08:08:49 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 08:09:03 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 08:09:19 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 08:10:28 | → | ub joins (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) |
| 08:10:30 | → | azeem joins (~azeem@176.201.15.223) |
| 08:11:49 | × | Guest3591 quits (~chris@81.96.113.213) (Ping timeout: 250 seconds) |
| 08:12:33 | × | ub quits (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Client Quit) |
| 08:14:03 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:14:10 | × | famubu quits (~famubu@user/famubu) (Ping timeout: 252 seconds) |
| 08:17:06 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 08:17:39 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 08:17:39 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 08:17:42 | allbery_b | is now known as geekosaur |
| 08:19:07 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds) |
| 08:19:21 | → | chris joins (~chris@81.96.113.213) |
| 08:19:25 | chris | is now known as Guest6130 |
| 08:19:43 | → | kuribas joins (~user@ptr-25vy0i7291ltmu3yh3q.18120a2.ip6.access.telenet.be) |
| 08:20:31 | <kuribas> | How do you deal with dead projects? The hexpat parser my library depends on has a last upload in 2017-06-21T23:58:54Z |
| 08:21:09 | → | jgeerds joins (~jgeerds@55d4b311.access.ecotel.net) |
| 08:21:58 | → | elf_fortres joins (~elf_fortr@adsl-72-50-4-46.prtc.net) |
| 08:22:00 | → | azeem joins (~azeem@176.201.15.223) |
| 08:22:15 | <tdammers> | Not all code needs to be constantly changed in order to be useful |
| 08:22:31 | <tdammers> | So just because there haven't been any commits in a couple years doesn't mean you shouldn't use it |
| 08:22:49 | → | aku joins (~aku@eagleflow.fi) |
| 08:23:21 | <tdammers> | if it's already broken (as in, doesn't compile cleanly on newer GHC versions), then I'll either find a replacement, or consider forking it and maintaining it myself |
| 08:23:33 | <kuribas> | it compiles, but I need a new feature (expanding namespaces). |
| 08:24:37 | <tdammers> | sometimes it's possible to implement additional features separately. It's not super elegant, but better than taking on maintainership of some legacy lib |
| 08:24:42 | <kuribas> | also: https://github.com/the-real-blackh/hexpat/issues/11 |
| 08:25:10 | <kuribas> | tdammers: easiest would be to use the feature from the underlying C library, which requires patching. |
| 08:25:15 | <tdammers> | hmm, that one is a bit more disconcerting |
| 08:26:04 | <kuribas> | Otherwise I'd need to parse the xmlns in my library. But that's the wrong level of doing things IMO... |
| 08:26:52 | <tdammers> | in this case, I would consider either forking it and making the required changes (upgrade C dependency etc), or switching to a different XML parsing solution entirely |
| 08:26:55 | <kuribas> | tdammers: Or I'd fork the library... |
| 08:27:13 | <kuribas> | tdammers: hexpat is quite nice. |
| 08:27:29 | <kuribas> | erm expat... |
| 08:28:03 | <kuribas> | because it's fast *and* standard compliant. |
| 08:28:50 | <kuribas> | all these libraries that acquire speed by not properly parsing xml are rubbish IMO |
| 08:29:45 | → | jippiedoe joins (~david@77-171-152-62.fixed.kpn.net) |
| 08:30:56 | <kuribas> | I can call it witchpat :-) |
| 08:31:11 | <kuribas> | (hex is witch in dutch) |
| 08:31:14 | <c_wraith> | "properly" parsing xml is a security risk |
| 08:31:20 | <kuribas> | c_wraith: ? |
| 08:31:54 | <c_wraith> | doing full custom entity processing allows carefully-crafted documents to scan your internal network and report the results to third parties |
| 08:32:13 | <kuribas> | xml allows arbitrary code execution? |
| 08:32:22 | <c_wraith> | it allows arbitrary URL fetching |
| 08:32:54 | × | jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 08:33:11 | <c_wraith> | security standards these days are to not process custom entities. |
| 08:33:18 | <tdammers> | the beloved external entity hack |
| 08:33:42 | <tdammers> | custom entities are fine, but you need to disallow external entities |
| 08:33:57 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 08:33:59 | <kuribas> | I think the SAX parser simply returns the processing instructions... |
| 08:34:05 | <tdammers> | you also want to disable validating against arbitrary schemas |
| 08:34:09 | → | jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) |
| 08:35:39 | × | jippiedoe quits (~david@77-171-152-62.fixed.kpn.net) (Ping timeout: 250 seconds) |
| 08:35:46 | → | dunj3 joins (~dunj3@p200300f617104f71b48bd778569fa2df.dip0.t-ipconnect.de) |
| 08:36:22 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 08:37:34 | × | elf_fortres quits (~elf_fortr@adsl-72-50-4-46.prtc.net) (Ping timeout: 246 seconds) |
| 08:38:41 | × | jespada quits (~jespada@90.254.245.194) (Ping timeout: 250 seconds) |
| 08:39:01 | × | hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:39:35 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-9da9-d54e-bfee-aa3a.fixed6.kpn.net) |
| 08:39:40 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 08:40:28 | → | jespada joins (~jespada@90.254.245.194) |
| 08:40:52 | × | jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 08:41:57 | → | jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) |
| 08:44:07 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-9da9-d54e-bfee-aa3a.fixed6.kpn.net) (Ping timeout: 240 seconds) |
| 08:46:21 | × | turlando quits (~turlando@user/turlando) (Quit: turlando) |
| 08:46:38 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 08:46:38 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 08:46:38 | → | turlando joins (~turlando@user/turlando) |
| 08:49:25 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:6136:f245:971c:30da) |
| 08:50:16 | → | famubu joins (~famubu@14.139.174.50) |
| 08:51:05 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 08:51:10 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds) |
| 08:51:13 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 08:51:14 | × | cross quits (~cross@spitfire.i.gajendra.net) (Quit: Lost terminal) |
| 08:52:18 | <kuribas> | tdammers: or I just copy the part of the library I use into my own library... |
| 08:53:03 | <kuribas> | I only use the SAX part anyway... |
| 08:53:18 | <tdammers> | that's also a fork, just a more ad-hoc one |
| 08:53:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:6136:f245:971c:30da) (Ping timeout: 240 seconds) |
| 08:54:27 | <kuribas> | tdammers: I just don't feel like maintaining a big library... |
| 08:54:42 | <kuribas> | I mean, *another* big library :) |
| 08:54:53 | <tdammers> | haha yeah, well, I never said this was an easy choice |
| 08:55:14 | <Taneb> | Are you tied to hexpat? |
| 08:55:21 | <tdammers> | but sure, you could just factor out the SAX part and "maintain" that as your own personal-use library which you then vendor into your project instead of formally depending on it |
| 08:56:19 | <kuribas> | Taneb: not really, except it's in the package name :) |
| 08:57:39 | × | jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 08:57:45 | × | xff0x quits (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) (Ping timeout: 250 seconds) |
| 08:58:24 | <kuribas> | Taneb: if you know another fast complient SAX parser, let me know :) |
| 08:58:55 | → | azeem joins (~azeem@176.201.15.223) |
| 08:59:15 | <tdammers> | oh, third option: start from scratch and make your own expat bindings |
| 09:03:06 | <kuribas> | The hexpat-bindings look ok. Definitely not trivial to setup... |
| 09:07:07 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds) |
| 09:07:42 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 09:13:40 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 09:14:55 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 09:14:55 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 09:15:19 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 09:15:27 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 09:16:21 | → | Kabouik joins (~Kabouik@user/kabouik) |
| 09:17:17 | <Kabouik> | Hello. I am trying to build something with cabal (which worked on Debian Sid on another machine), but I am getting the following errors on another machine and I don't quite know how to trouble shoot, my web searches were not very successful: https://p.teknik.io/Simple/Q4TMp |
| 09:17:19 | <Kabouik> | Any ideas? |
| 09:17:45 | <Kabouik> | I'm not sure why those packages fail to build. |
| 09:18:33 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 09:19:45 | <Drew[m]> | It doesn't look like a Haskell compilation error. Looks like it could be a linking issue |
| 09:20:31 | <int-e> | No alex found |
| 09:20:32 | <Drew[m]> | Brick has C deps |
| 09:20:36 | <int-e> | sorry |
| 09:21:10 | <int-e> | It thinks there's an installed network-3.1.1.1-4pp4vfRvcxm9PeTHatjCEm package but fails to actually use it... it may be registered but missing files |
| 09:21:38 | <int-e> | <command line>: cannot satisfy -package-id network-3.1.1.1-4pp4vfRvcxm9PeTHatjCEm |
| 09:21:49 | <int-e> | that's the first actual error, I think |
| 09:22:53 | → | epolanski joins (uid312403@id-312403.helmsley.irccloud.com) |
| 09:23:57 | <Kabouik> | Thank you. I ran `cabal new-clean` and `cabal new-update` but that doesn't fix it |
| 09:24:45 | <int-e> | what about ghc-pkg list and ghc-pkg check? |
| 09:25:05 | <Kabouik> | Note that at some point cabal was reporting a truncated tar archive because of an Internet connection issue during `cabal new-update`, which made it fail. The only way I could find to run cabal commands gain was to remove ~/.cabal/packages (and did another update afterwards). I suppose this could ber elated? |
| 09:25:12 | <int-e> | new-clean will only clean local build artefacts, not globally or user installed packages |
| 09:25:49 | <int-e> | (I think. I'm still not really using the new-* commands.) |
| 09:26:28 | <Drew[m]> | Are you using an old cabal version? |
| 09:26:31 | <Kabouik> | `ghc-pkg check` confirms says it cannot satisfy -package-id bifunctors-5.5.7-blahblah |
| 09:27:40 | <int-e> | Drew[m]: old enough: 3.2 |
| 09:28:03 | <Kabouik> | Even worse apparently: cabal-install version 2.4.0.0 |
| 09:29:17 | <int-e> | Drew[m]: What happened was that I got used to sandboxes, and the v2- commands don't support that model in a convenient way. |
| 09:30:12 | <int-e> | (It's not impossible; one can set up local package stores per project. But it's not the same.) |
| 09:30:29 | <Drew[m]> | Oh, so you use `cabal v1-clean` instead of `cabal clean`? |
| 09:32:21 | <int-e> | Drew[m]: I nuke and reinitialize the sandbox when dependencies become inconsistent. |
| 09:32:27 | int-e | shrugs. |
| 09:33:17 | × | jgeerds quits (~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 250 seconds) |
| 09:33:27 | <Kabouik> | I really have no clue how cabal works to be honest, no idea why it's throwing errors on a fresh git repository that compiled well on another machine |
| 09:33:35 | <Kabouik> | I don't think I'm missing dependencies |
| 09:34:09 | <int-e> | I'll make the switch eventually. Soon in fact, because v1-command support is mostly gone in 3.6. |
| 09:35:09 | <int-e> | Kabouik: My best guess is that you have broken packages. Note that `network` is *not* in the list of packages being built, so it's picked up from elsewhere... either as a global package or as a user package. |
| 09:35:49 | <kuribas> | tdammers: hmm, then I can get rid of the ridiculous GenericXMLString nonsense, and just use Text :) |
| 09:35:55 | <Kabouik> | How would I restart from scratch to rebuild broken packages? Not sure what I need to delete in the first place. I'll check mydistro repo for network. |
| 09:36:01 | <int-e> | That's why I suggested `ghc-pkg check`: it should detect that. |
| 09:36:42 | <Kabouik> | I have a haskell-network globally installed. |
| 09:37:12 | <int-e> | Kabouik: is it split into that and a -dev package? |
| 09:37:41 | <Kabouik> | ghc-pkg check gives that: https://p.teknik.io/Simple/ujgiZ (lots of warnings) |
| 09:38:27 | <Kabouik> | There's a devel package too (no -dev on Solus), indeed. That guy is 60MB big, ouch! |
| 09:39:01 | <Kabouik> | That's because it's going to install ghc-devel too apparently. I didn't know I needed that if using cabal actually (but again, I'm a newbie). |
| 09:39:04 | <int-e> | /usr/lib64/ghc-8.6.5/network-3.1.1.1/include doesn't exist or isn't a directory |
| 09:39:09 | <int-e> | that one may be a problem |
| 09:39:17 | <int-e> | the haddock stuff is mostly harmless |
| 09:40:03 | <Kabouik> | /usr/lib64/ghc-8.6.5/network-3.1.1.1/ exists though, just not /usr/lib64/ghc-8.6.5/network-3.1.1.1/include |
| 09:40:23 | → | xff0x joins (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) |
| 09:40:46 | <maerwald> | how did you install ghc? |
| 09:40:59 | → | fvr joins (uid503686@id-503686.highgate.irccloud.com) |
| 09:41:16 | <int-e> | distributtion packages, evidently... though I'm not sure which distribution :P |
| 09:41:33 | <Kabouik> | I think I just installed it from my distribution repository. Now I installed ghc-devel too, and haskell-network-devel. At least the cabal new-build doesn't seem to fail as early as it did before, so there's hope (still building). |
| 09:41:38 | <Kabouik> | Solus |
| 09:41:54 | <int-e> | ah, you said so, didn't register. |
| 09:42:05 | <Kabouik> | I thought I mentioned it above when I said it worked on Debian, but sorry if I haven't |
| 09:42:32 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
| 09:42:59 | <Kabouik> | My hopes are high. I think it's going to work now. |
| 09:43:22 | <maerwald> | are there docker images for solus? |
| 09:43:43 | <fvr> | is there a way to tell cabal to track an external file that I use with file-embed |
| 09:43:52 | <Kabouik> | So in the end it was probably just missing dependencies (ghc-devel and haskel-network-devel) that I failed to grasp from the cabal error output |
| 09:44:18 | <Kabouik> | I'm not sure maerwald, but you could try it real quick with distrotest.net if you want to investigate the system |
| 09:44:24 | <int-e> | fvr: there's extra-source-files |
| 09:45:12 | <maerwald> | I'm gonna check if ghcup works on solus |
| 09:45:26 | <maerwald> | https://hub.docker.com/r/silkeh/solus looks like an unofficial build |
| 09:46:30 | <fvr> | int-e: cool it's working, I assumed it was only for sdist |
| 09:48:00 | <Kabouik> | While I'm here, once I've compiled something with cabal and use the binary, what is the best way to free some space with the build files? `cabal new-clean` or is there something else I can delete? |
| 09:49:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 09:49:27 | → | Topsi joins (~Tobias@dyndsl-095-033-024-207.ewe-ip-backbone.de) |
| 09:49:35 | <maerwald> | Kabouik: ~/.cabal/store |
| 09:49:42 | → | jgeerds joins (~jgeerds@55d4b311.access.ecotel.net) |
| 09:49:46 | <maerwald> | but |
| 09:50:16 | <Kabouik> | ~/.cabal/packages should stay, correct? |
| 09:50:38 | <maerwald> | I wouldn't mess with it at all, unless you're in a docker container or whatever |
| 09:50:43 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:50:44 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:7d34:8159:5b95:6b5e) |
| 09:50:55 | → | drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 09:51:06 | <maerwald> | you're on your own... manually deleting files there isn't supported |
| 09:51:29 | <Kabouik> | No, unfortunately it's all messy and I'm compiling everything directly on my main machines, with no compartimentation. Hence the clutter sometimes, and the urge to clean it a bit. |
| 09:51:33 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 09:51:50 | <int-e> | nuking ~/.cabal/packages is harmless if you don't care about bandwidth (it's reconstructed by `update`) |
| 09:52:20 | <Kabouik> | Good, thanks! That'll do it then. ~/.cabal/packages is by far the biggest folder there. |
| 09:53:34 | <Kabouik> | Doh, so my hopes were high, and I was pretty confident when I was at step 112 on 112, but it eventually failed: https://p.teknik.io/Simple/mbaGf |
| 09:54:08 | <maerwald> | Kabouik: I'd recommend installing ghc differently, I'm currently testing it on solus |
| 09:54:24 | <Kabouik> | Alright |
| 09:54:57 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7d34:8159:5b95:6b5e) (Ping timeout: 250 seconds) |
| 09:55:06 | <maerwald> | Kabouik: https://www.haskell.org/ghcup/ |
| 09:55:30 | <Kabouik> | I already saw this actually, now I wonder if that's not what I did |
| 09:55:34 | <Kabouik> | Doesn't hurt to try though |
| 09:55:45 | × | jgeerds quits (~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 248 seconds) |
| 09:55:49 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 09:56:04 | <maerwald> | the docker container doesn't work well |
| 09:56:15 | <maerwald> | eopkg wants to access systemd or something |
| 09:56:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:56:41 | <int-e> | Kabouik: those are more packages you've installed system-wide, aren't they... and missing a -devel package, presumably |
| 09:57:46 | <Kabouik> | I don't think I would have installed all those packages manually system-wide (or I hope I didn't), but I suspect only the first could be the issue and the others are cascading effects |
| 09:58:43 | <maerwald> | Kabouik: https://gitlab.com/silkeh/docker-solus/-/issues/2 |
| 09:58:46 | <int-e> | Well... let me pick the one of them, gitrev... it came up in your ghc-pkg output indeed. |
| 09:58:50 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 09:58:53 | <maerwald> | no idea what this pkg manager is doing |
| 09:59:08 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection) |
| 09:59:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 09:59:40 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 09:59:57 | <int-e> | Kabouik: Maybe you installed some haskell-based software that uses those libraries. (Not sure what it could be... pandoc maybe?) |
| 10:00:00 | <Kabouik> | I don't think eopkg is too invasive, I never saw people complaining about it so I assume it's not doing too much unexpected stuff. I admit that's not a very scientific investigation though. |
| 10:00:06 | <Kabouik> | ghcup failed too maerwald: https://p.teknik.io/Simple/HmoeF |
| 10:00:17 | <Kabouik> | That could be, totally |
| 10:00:29 | <maerwald> | Kabouik: libtinfo.so.6 |
| 10:00:33 | <maerwald> | can you install that? |
| 10:01:28 | <Kabouik> | It's in ncurses, I have it installed already |
| 10:01:48 | <int-e> | Kabouik: Anyway those seem to be your options: 1) manage your own ghc installation that doesn't suffer from a split into runtime and development packages (ghcup is one way to do that) or 2) install all the missing development packages |
| 10:01:59 | <Kabouik> | I have a haskell-extensible-devel package available in the repo, could try that too (it's the first error in the matterhorn build) |
| 10:02:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
| 10:02:19 | <Kabouik> | I have to go to lunch with colleagues, will resume later. Thanks a lot for your help folks, greatly appreciated. |
| 10:02:25 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:03:24 | <maerwald> | Kabouik: ghcup install ghc -u https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-deb9-linux.tar.xz 8.10.6 |
| 10:03:31 | <maerwald> | I believe this should work |
| 10:03:35 | <maerwald> | deb9 has ncurses5 |
| 10:03:45 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 248 seconds) |
| 10:07:40 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:07:48 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 10:08:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:08:04 | <maerwald> | well, this isn't a well working distro :p |
| 10:08:29 | <maerwald> | the way it blows up in docker containers is suspicious |
| 10:09:42 | → | jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) |
| 10:11:40 | × | famubu quits (~famubu@14.139.174.50) (Ping timeout: 240 seconds) |
| 10:13:21 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
| 10:14:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:19:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 10:19:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:20:07 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 10:20:17 | → | teo joins (~teo@137.220.120.222) |
| 10:22:14 | × | earthy quits (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (Ping timeout: 272 seconds) |
| 10:22:36 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 10:22:38 | × | tnks quits (sid412124@id-412124.brockwell.irccloud.com) () |
| 10:22:53 | → | tnks joins (sid412124@id-412124.helmsley.irccloud.com) |
| 10:24:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:25:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:30:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:30:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:31:51 | × | conjunctive quits (sid433686@brockwell.irccloud.com) () |
| 10:32:06 | → | conjunctive joins (sid433686@id-433686.helmsley.irccloud.com) |
| 10:36:07 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:36:36 | <frobnicator> | can I write this shorter?: let x = 42 :: Integer in [|\i -> i + $(pure $ LitE $ IntegerL x)|] |
| 10:36:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:37:26 | <frobnicator> | from the documentation it seems that I should be able to write: let x = 42 :: Integer in runQ [|\i -> i + $x|] |
| 10:37:52 | <frobnicator> | I'm having a hard time with the quasiquotes from templatehaskell |
| 10:39:46 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 10:40:21 | × | grfn quits (sid449115@id-449115.brockwell.irccloud.com) () |
| 10:40:35 | → | grfn joins (sid449115@id-449115.helmsley.irccloud.com) |
| 10:42:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds) |
| 10:42:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:44:31 | × | truckasaurus quits (sid457088@id-457088.brockwell.irccloud.com) () |
| 10:44:46 | → | truckasaurus joins (sid457088@id-457088.helmsley.irccloud.com) |
| 10:45:03 | <int-e> | frobnicator: pure . LitE can be replaced by litE. Other than that, this `lift` comes to mind: https://hackage.haskell.org/package/th-lift-0.8.2/docs/Language-Haskell-TH-Lift.html#v:lift |
| 10:45:13 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
| 10:48:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:48:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:48:52 | × | alinab quits (sid468903@id-468903.brockwell.irccloud.com) () |
| 10:49:05 | → | alinab joins (sid468903@id-468903.helmsley.irccloud.com) |
| 10:49:46 | × | Guest6130 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 10:50:28 | → | chris joins (~chris@81.96.113.213) |
| 10:50:31 | chris | is now known as Guest7445 |
| 10:53:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 10:54:10 | × | lortabac quits (~lortabac@151.53.202.164) (Quit: WeeChat 2.8) |
| 10:54:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:54:46 | × | Guest7445 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 10:55:56 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds) |
| 10:57:18 | → | azeem joins (~azeem@176.201.15.223) |
| 10:57:36 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 11:01:03 | → | alx741 joins (~alx741@186.178.109.43) |
| 11:04:07 | × | hannessteffenhag quits (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 11:05:10 | × | truckasaurus quits (sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 11:06:53 | × | drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 250 seconds) |
| 11:07:19 | → | truckasaurus joins (sid457088@id-457088.helmsley.irccloud.com) |
| 11:09:04 | × | buggymcbugfix quits (~buggymcbu@p4fcaa0a6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 11:11:32 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:17:20 | × | kaizen quits (sid501599@brockwell.irccloud.com) () |
| 11:17:52 | → | kaizen joins (sid501599@id-501599.helmsley.irccloud.com) |
| 11:19:53 | × | kaizen quits (sid501599@id-501599.helmsley.irccloud.com) (Max SendQ exceeded) |
| 11:19:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 11:20:11 | <Kabouik> | That's surprising maerwald, Solus is known for being very stable (especially for a rolling distro) |
| 11:21:18 | <maerwald> | Kabouik: they told me docker is not supported |
| 11:21:24 | <maerwald> | so it's known to be broken |
| 11:21:44 | <Kabouik> | Yeah, I saw on the description it's unofficial, but seeing it was last updated 3 days ago was encouraging |
| 11:21:52 | → | kaizen joins (sid501599@helmsley.irccloud.com) |
| 11:22:10 | → | Kaiepi joins (~Kaiepi@156.34.44.192) |
| 11:22:41 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 11:24:28 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 11:26:25 | → | gawen joins (~gawen@user/gawen) |
| 11:26:50 | × | sa quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 272 seconds) |
| 11:28:18 | <Kabouik> | Well it seems my ghcup installation issue is due to full storage |
| 11:28:40 | → | sa joins (sid1055@id-1055.tinside.irccloud.com) |
| 11:33:19 | → | dude joins (~da1dude@112.201.99.74) |
| 11:34:24 | <Kabouik> | Uh, I have a 7.5GB ~/.stack, wonder if I can delete that and reinstall stack or if there are programs that depends on it (or binaries in it, evenm) |
| 11:36:21 | × | davincee quits (~da1dude@112.201.99.74) (Ping timeout: 250 seconds) |
| 11:37:18 | → | dadude joins (~da1dude@112.201.99.74) |
| 11:39:14 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:39:50 | <maerwald> | stack doesn't care much about your disk space :p |
| 11:40:08 | <maerwald> | it just keeps dumping stuff without giving you any means to uninstall anything other than rm -rf |
| 11:40:15 | × | dude quits (~da1dude@112.201.99.74) (Ping timeout: 250 seconds) |
| 11:40:22 | <Kabouik> | I can see that! But I'm confused between cabal, stack, ghc, system or not system, as to what I can delete or not without breaking things |
| 11:40:33 | <maerwald> | welcome to haskell tooling |
| 11:40:43 | <Rembane_> | Kabouik: You can delete it all, the next command you run will take some more time |
| 11:40:48 | → | biberu\ joins (~biberu@user/biberu) |
| 11:40:56 | <Rembane_> | Kabouik: ...but that's about how horrible it will become |
| 11:41:35 | <Kabouik> | Well you haven't seen the size of my .npm, .ccache, etc.: https://0x0.st/-tun.png |
| 11:42:13 | <Kabouik> | I wish they would all just end up in a directory that says "it-is-safe-to-delete-me" when true. |
| 11:42:51 | × | Arsen quits (~arsen@managarm/dev/Arsen) (Quit: Quit.) |
| 11:43:10 | → | Arsen joins (~arsen@managarm/dev/Arsen) |
| 11:43:52 | <Kabouik> | And of course my biggest folder in /usr is /usr/lib64/ghc-8.6.5, which makes me wonder if it can be deleted too :p |
| 11:44:28 | × | biberu quits (~biberu@user/biberu) (Ping timeout: 250 seconds) |
| 11:44:29 | biberu\ | is now known as biberu |
| 11:51:09 | → | mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr) |
| 11:52:05 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 11:52:14 | <mastarija> | If I want to pass a type as an argument to a function using type application, without passing a value of that type or using a Proxy, I have to enable AllowAmbiguousTypes, right? |
| 11:52:44 | <maerwald> | Kabouik: https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/153 |
| 11:52:51 | <maerwald> | seems to work with the bindist I pointed you at |
| 11:53:13 | <Kabouik> | Thank you, will try |
| 11:53:21 | <Kabouik> | Still trying to free some space on my / at the moment :< |
| 11:54:32 | <Kabouik> | Oh it's 1-hour old, I suppose you did it. Thanks! |
| 11:56:31 | → | hannessteffenhag joins (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) |
| 11:56:36 | <maerwald> | Kabouik: and you need those packages https://paste.tomsmeding.com/Rpz4EHW8 |
| 11:56:36 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 250 seconds) |
| 11:56:55 | × | Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds) |
| 11:59:31 | <Kabouik> | Is it safe to remove distro repository ghc if I later use ghcup? |
| 12:00:09 | <maerwald> | Kabouik: yeah |
| 12:00:26 | <Kabouik> | It's going to remove all my haskell packages too, of course, which apparently is a lot: https://p.teknik.io/Raw/mCBvp |
| 12:00:51 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 12:01:22 | <Kabouik> | pandoc is in that list :/ |
| 12:01:30 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 12:02:00 | × | _ak_ quits (~akspecs@136.24.181.20) (Changing host) |
| 12:02:00 | → | _ak_ joins (~akspecs@user/akspecs) |
| 12:02:00 | × | azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer) |
| 12:02:09 | → | mikoto-c1 joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 12:03:05 | → | azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) |
| 12:03:38 | <Kabouik> | That's the list of non haskell-* packages that apparently depend on system ghc: pandoc-citeproc, python-nbconvert, ghc-devel, shellcheck, pandoc, cpphs, data-default-instances-old-locale, data-default-instances-containers, data-default-instances-dlist, ghc |
| 12:04:36 | <maerwald> | yeah, pandoc should be a static binary |
| 12:04:37 | <jumper149> | mastarija: I think you should only need -XTypeApplications. I'm not an expert on that topic though. |
| 12:04:41 | <maerwald> | not depend on haskell packages |
| 12:05:43 | → | Skyfire joins (~pyon@user/pyon) |
| 12:05:44 | <mastarija> | jumper149, I have tried that first, but it's resulting in an error because my type is not visible on the right side of => |
| 12:07:02 | <jumper149> | I don't think that should matter. Are you using -XScopedTypeVariables? |
| 12:07:27 | <jumper149> | Without an example it's hard to say though. |
| 12:08:51 | <mastarija> | applicativeHomomorphism |
| 12:08:51 | <mastarija> | :: forall f v b. ( Applicative f , Eq ( f b ) ) |
| 12:08:51 | <mastarija> | => Gen ( v -> b ) |
| 12:08:51 | <mastarija> | -> Gen v |
| 12:08:51 | <mastarija> | -> Gen Bool |
| 12:09:06 | <mastarija> | jumper149, yes I'm using ScopedTypeVariables |
| 12:09:28 | → | lortabac joins (~lortabac@151.53.202.164) |
| 12:09:31 | <mastarija> | however this thing above doesn't type check unless I use AmbiguousTypes |
| 12:10:07 | <jumper149> | mastarija: Next time use a paste bin like ix.io |
| 12:10:41 | <mastarija> | jumper149, I intended it to be one line, but newlines were preserved. |
| 12:11:08 | <jumper149> | Yeah, I don't care too much but some people on IRC are religious about it ;) |
| 12:11:14 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 12:11:57 | <mastarija> | Looking at the docs, it seems like AllowAmbiguousTypes is introduced exactly for this problem |
| 12:12:11 | <mastarija> | Making type application useful in my particular case |
| 12:12:13 | <mastarija> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/ambiguous_types.html?highlight=ambiguoustypes#extension-AllowAmbiguousTypes |
| 12:16:47 | <jumper149> | mastarija: Gen is from Test.QuickCheck? |
| 12:16:55 | <mastarija> | Yes |
| 12:19:32 | <jumper149> | What are you trying to test here? To me it looks like you want to test something like fmap? What is going on on the value level? |
| 12:19:59 | <jumper149> | I can see why you need TypeApplications though |
| 12:20:11 | <mastarija> | jumper149, I'm testing the applicative homomorphism law |
| 12:20:27 | <mastarija> | And I'm passing in a generator for 1 argument function and a value |
| 12:21:05 | <mastarija> | then I want to wrap those values in `pure` of the `Applicative` and I want to pass in the type constructor of the applicative |
| 12:21:17 | <mastarija> | So I can use pure @MyType etc |
| 12:21:36 | <mastarija> | This basically : pure $ ( pure @f f <*> pure v ) == ( pure $ f v ) |
| 12:23:08 | → | pbrisbin joins (~patrick@174-081-116-011.res.spectrum.com) |
| 12:23:21 | <mastarija> | I mean, it's done, I was just wondering if there's some other way other than enabling the ambiguous types |
| 12:23:52 | <jumper149> | It really doesn't look like you need AmbiguousTypes here, to me atleast. |
| 12:23:53 | <mastarija> | I always feel a bit of remorse when enabling a language extension |
| 12:24:27 | → | hseg joins (~gesh@IGLD-84-228-238-79.inter.net.il) |
| 12:24:32 | <jumper149> | What type variable is ambiguous without enabling it? |
| 12:24:42 | <jumper149> | What does GHC throw |
| 12:26:01 | → | oxide joins (~lambda@user/oxide) |
| 12:31:49 | <mastarija> | jumper149, "Could not deduce (Applicative f0) from the context: (Applicative f, Eq (f b))" |
| 12:32:03 | <mastarija> | But leave it, I think ambiguous types are necessary here |
| 12:32:23 | <mastarija> | GHC docs pretty much say that. |
| 12:32:36 | <jumper149> | mastarija: Yeah, after re-reading the GHC docs, it seems to be the case here. |
| 12:32:46 | <mastarija> | Unless I've interpreted something incorrectly :D |
| 12:33:48 | × | markpythonicbtc quits (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 12:35:00 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 12:36:10 | <hseg> | mastarija: an alternative to AAT is to have some parameter force the tyvar to unify with the desired type |
| 12:36:41 | <mastarija> | hseg, Yes, something like Proxy you mean :D |
| 12:37:13 | <hseg> | or something like #. from Data.Functor.Utils |
| 12:37:30 | <hseg> | https://hackage.haskell.org/package/base-4.14.1.0/docs/src/Data.Functor.Utils.html#%23. |
| 12:39:04 | → | famubu joins (~famubu@14.139.174.50) |
| 12:40:33 | → | bontaq joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 12:41:22 | <maerwald> | who knew about this: https://hackage.haskell.org/package/bustle |
| 12:41:50 | <hseg> | ooh cool |
| 12:42:45 | <Hecate> | wow I most certainly did not |
| 12:45:04 | <Clint> | i did |
| 12:46:36 | → | aman joins (~aman@user/aman) |
| 12:46:40 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 240 seconds) |
| 12:46:44 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 12:47:34 | → | oxide joins (~lambda@user/oxide) |
| 12:47:51 | × | ubert quits (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Ping timeout: 250 seconds) |
| 12:49:13 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:50:25 | → | favonia joins (~favonia@user/favonia) |
| 12:53:58 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection) |
| 12:54:42 | × | mikoto-c1 quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-c1) |
| 12:57:39 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 13:01:09 | → | mikoto-c1 joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 13:01:58 | <hseg> | til type families look through type synonyms. in particular, eg given type Throwing a e = Either e a, evaluating a type family with an equation such as Map n (f a) = f (n a) at (f a) ~ Throwing a e will result in the type Throwing (n a) e, not Throwing a (n e) |
| 13:03:00 | → | markpythonicbtc joins (~textual@50.228.44.6) |
| 13:03:29 | × | mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 248 seconds) |
| 13:04:15 | <Hecate> | type synonyms were a mistake of God |
| 13:04:16 | <hseg> | which means my elaborate system of type synonyms doesn't work well once it reaches type-level manipulations |
| 13:07:32 | <hseg> | hrmph. ok, that last bit of hope I had for my experimental refactor has died |
| 13:07:59 | <hseg> | seems constructing the type of the function I want is too heavy |
| 13:08:02 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 13:08:07 | <Boomerang> | It would be nice if GHC could report all type synonyms encountered along the way in error messages |
| 13:08:15 | <Boomerang> | > map (+1) "Hello" |
| 13:08:17 | <lambdabot> | error: |
| 13:08:17 | <lambdabot> | • No instance for (Num Char) arising from a use of ‘+’ |
| 13:08:17 | <lambdabot> | • In the first argument of ‘map’, namely ‘(+ 1)’ |
| 13:08:43 | → | hendursaga joins (~weechat@user/hendursaga) |
| 13:08:45 | <Boomerang> | Here, it would be great if it could mention `String` somewhere in the error |
| 13:09:05 | <Boomerang> | Maybe not the best example |
| 13:11:45 | <Boomerang> | > "hello" + 1 |
| 13:11:47 | <lambdabot> | error: |
| 13:11:47 | <lambdabot> | • No instance for (Num [Char]) arising from a use of ‘+’ |
| 13:11:47 | <lambdabot> | • In the expression: "hello" + 1 |
| 13:12:26 | <jumper149> | When using servant it would be really cool, if GHC told me why exactly it can't unify `ServerT API m` and my the type of my handler. But instead it just uses the type synonym `ServerT ...`. |
| 13:16:19 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 13:16:58 | <lortabac> | hseg: you have to use newtypes to invert parameters properly |
| 13:17:00 | <dminuoso> | maerwald: Haha! |
| 13:17:11 | <dminuoso> | Didn't we just talk about "dynamically linking ssl to allow for prompt updates"? |
| 13:17:13 | <dminuoso> | https://www.openssl.org/news/secadv/20210824.txt |
| 13:17:30 | <dminuoso> | Or did you read that yesterday already? |
| 13:17:46 | <hseg> | lortabac: yeah, except newtypes have the ergonomics issue of needing wrapping/unwrapping |
| 13:18:32 | <hseg> | dminuoso: don't see the relevance to dynamic linking? |
| 13:20:08 | <dminuoso> | hseg: maerwald's argument was that, if someone statically links openssl into each binary that you use, then you have to wait for *every* maintainer to provide a patched version. |
| 13:20:22 | <dminuoso> | Assuming there even is a maintainer.. |
| 13:20:29 | → | doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 13:20:54 | <dminuoso> | And `openssl` is one of those things that, if a security vulnerability is found, you likely want it patched as soon as possible. |
| 13:21:15 | <maerwald> | patched via your package manager with working gpg signatures |
| 13:21:21 | <maerwald> | because your network is compromised now |
| 13:22:04 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 13:22:05 | <dminuoso> | So yeah. We have a buffer overflow with high criticality in openssl again. The advisory is from yesterday. |
| 13:22:22 | <maerwald> | well, but haskell-tls isn't affected, right? :D |
| 13:22:26 | <dminuoso> | hahaha |
| 13:22:48 | <hseg> | ah, so it was the coincidence of openssl being cited as an example, and then having this kind of advisory right after? |
| 13:22:56 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 13:22:56 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 13:22:56 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:22:58 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 13:23:26 | <dminuoso> | maerwald: A long while ago, I was doing some research on "API security gateway appliances" that you put in front of your API, and they essentially just do MITM, run a bunch of regex, and then break your application in funny ways. |
| 13:23:49 | × | Jonno_FTW quits (~come@api.carswap.me) (Ping timeout: 252 seconds) |
| 13:24:04 | <dminuoso> | And one of the vendors even *advertized* their "inhouse developed TLS library that is not vulnerable to OpenSSL vulerabilities. Our device was never vulnerable to Heartbleed" |
| 13:24:07 | × | dunj3 quits (~dunj3@p200300f617104f71b48bd778569fa2df.dip0.t-ipconnect.de) (Quit: Leaving) |
| 13:24:18 | <dminuoso> | Realy bragged about it. |
| 13:24:39 | <dminuoso> | hseg: yes |
| 13:25:15 | → | Jonno_FTW joins (~come@api.carswap.me) |
| 13:26:33 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 13:30:03 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 13:32:08 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 13:36:46 | × | aman quits (~aman@user/aman) (Quit: aman) |
| 13:37:34 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 13:38:07 | × | keutoi quits (~keutoi@157.47.90.161) (Ping timeout: 252 seconds) |
| 13:39:46 | → | keutoi joins (~keutoi@106.208.52.180) |
| 13:41:06 | → | neo joins (~neo3@cpe-292712.ip.primehome.com) |
| 13:42:05 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 13:42:06 | → | euandreh joins (~euandreh@2804:14c:33:9fe5:bfa8:e90:b3e4:2e82) |
| 13:42:57 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 13:46:25 | × | jespada quits (~jespada@90.254.245.194) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:47:14 | → | jespada joins (~jespada@90.254.245.194) |
| 13:50:41 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
| 13:54:07 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 240 seconds) |
| 13:56:33 | → | fendor_ joins (~fendor@91.141.62.191.wireless.dyn.drei.com) |
| 13:58:29 | × | famubu quits (~famubu@14.139.174.50) (Ping timeout: 250 seconds) |
| 13:58:55 | × | fendor quits (~fendor@91.141.62.188.wireless.dyn.drei.com) (Ping timeout: 250 seconds) |
| 14:02:31 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 14:04:15 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-7-253.prtc.net) |
| 14:05:28 | → | zebrag joins (~chris@user/zebrag) |
| 14:06:27 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 14:06:46 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:07:10 | → | aman joins (~aman@user/aman) |
| 14:07:20 | → | MQ-17J joins (~MQ-17J@8.6.144.209) |
| 14:07:35 | → | drd joins (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 14:07:46 | → | hendursaga joins (~weechat@user/hendursaga) |
| 14:07:57 | → | slack1256 joins (~slack1256@191.126.161.169) |
| 14:09:37 | → | ubert joins (~Thunderbi@178.165.195.172.wireless.dyn.drei.com) |
| 14:11:03 | → | famubu joins (~famubu@61.0.251.1) |
| 14:16:07 | × | famubu quits (~famubu@61.0.251.1) (Ping timeout: 240 seconds) |
| 14:18:16 | → | famubu joins (~famubu@14.139.174.50) |
| 14:20:00 | × | vysn quits (~vysn@user/vysn) (Remote host closed the connection) |
| 14:23:11 | × | azeem quits (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 250 seconds) |
| 14:24:18 | → | azeem joins (~azeem@176.201.15.223) |
| 14:24:27 | × | keutoi quits (~keutoi@106.208.52.180) (Ping timeout: 240 seconds) |
| 14:24:57 | × | azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer) |
| 14:25:36 | → | azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) |
| 14:25:47 | × | drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 240 seconds) |
| 14:25:52 | → | rond_ joins (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) |
| 14:27:17 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 14:27:36 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:30:36 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-93cc-7845-ef1f-7078.fixed6.kpn.net) |
| 14:31:25 | × | reumeth quits (~reumeth@user/reumeth) (Ping timeout: 250 seconds) |
| 14:31:31 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 14:31:46 | → | keutoi joins (~keutoi@106.208.52.180) |
| 14:32:36 | × | hseg quits (~gesh@IGLD-84-228-238-79.inter.net.il) (Ping timeout: 250 seconds) |
| 14:34:38 | → | hseg joins (~gesh@IGLD-84-228-238-79.inter.net.il) |
| 14:34:41 | × | hseg quits (~gesh@IGLD-84-228-238-79.inter.net.il) (Client Quit) |
| 14:35:52 | × | famubu quits (~famubu@14.139.174.50) (Ping timeout: 252 seconds) |
| 14:45:10 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 14:45:10 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 14:45:14 | allbery_b | is now known as geekosaur |
| 14:45:41 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 14:48:19 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 250 seconds) |
| 14:48:19 | × | jumper149 quits (~jumper149@80.240.31.34) (Client Quit) |
| 14:50:40 | × | hueso quits (~root@user/hueso) (Ping timeout: 240 seconds) |
| 14:51:31 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 14:52:10 | × | cheater quits (~Username@user/cheater) (Quit: BitchX: the Cadillac of all clients) |
| 14:53:07 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-7-253.prtc.net) (Ping timeout: 246 seconds) |
| 14:54:41 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 14:57:22 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 14:57:37 | → | drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 14:58:44 | → | cheater joins (~Username@user/cheater) |
| 14:59:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 240 seconds) |
| 14:59:28 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 14:59:55 | → | hueso joins (~root@user/hueso) |
| 15:03:21 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-93cc-7845-ef1f-7078.fixed6.kpn.net) (Quit: Leaving) |
| 15:09:40 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 15:14:35 | → | mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr) |
| 15:19:54 | × | aman quits (~aman@user/aman) (Quit: aman) |
| 15:21:38 | → | lavaman joins (~lavaman@98.38.249.169) |
| 15:25:47 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 15:26:21 | → | chris joins (~chris@81.96.113.213) |
| 15:26:24 | chris | is now known as Guest8405 |
| 15:27:04 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 15:27:07 | × | kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 240 seconds) |
| 15:28:14 | → | PinealGlandOptic joins (~PinealGla@37.115.210.35) |
| 15:29:52 | → | reumeth joins (~reumeth@user/reumeth) |
| 15:38:28 | × | lortabac quits (~lortabac@151.53.202.164) (Quit: WeeChat 2.8) |
| 15:40:21 | → | monadfritz[m] joins (~ahdytmatr@2001:470:69fc:105::e1f1) |
| 15:41:07 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 15:43:10 | → | aman joins (~aman@user/aman) |
| 15:43:24 | <monadfritz[m]> | hi ther |
| 15:43:34 | <monadfritz[m]> | is gi-gtk-declarative deprecated ? |
| 15:44:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 15:44:07 | <monadfritz[m]> | as haskell gi base now at 0.25 and the gi-gtk-declarative still requires it to be <0.25? |
| 15:45:30 | <monadfritz[m]> | and if I downgrade haskell gi base to <0.25 all other libs like gi-pango gi-harfbuzz yell at me that it must 0.25 |
| 15:48:01 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 15:48:30 | <Drew[m]> | I wouldn't call a library deprecated for not using the latest dependency versions. |
| 15:48:59 | <monadfritz[m]> | so how do one manage to solve this? |
| 15:49:22 | <monadfritz[m]> | what do u usually do Mr Drew? |
| 15:49:39 | <Drew[m]> | The last change to the main branch was april this year, so there may be a good chance that the maintainer is still around to maintain it |
| 15:50:03 | <Drew[m]> | What I'd do is try to build it with the latest dependency versions with `--allow-newer` |
| 15:50:15 | <monadfritz[m]> | so it'll be good to call it a day and look for other lib? |
| 15:50:18 | <Drew[m]> | If it works I'd open an issue on the package's repo saying it works |
| 15:50:23 | <monadfritz[m]> | ah how to do that with stack? |
| 15:50:34 | <monadfritz[m]> | just pass that --allow-newer as flags? |
| 15:51:02 | <monadfritz[m]> | * just pass that --allow-newer as flags? nope, not this one. |
| 15:51:43 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 15:52:47 | <Drew[m]> | With stack `--allow-newer` just disables all dependency bounds but |
| 15:52:47 | <Drew[m]> | it's up to you to supply the exact off-snapshot library versions you want to use by specifying the exact version in `extra-deps` field in `stack.yaml` |
| 15:54:21 | <Drew[m]> | monadfritz[m]: what happens when you try that? |
| 15:54:25 | <Drew[m]> | I haven't used Stack in a while |
| 15:54:32 | <monadfritz[m]> | there's no such thing as --allow-newer |
| 15:54:40 | <monadfritz[m]> | I do stack build --allow-newer |
| 15:54:43 | <Drew[m]> | huh, I'm sure there was |
| 15:54:48 | <monadfritz[m]> | where's to put this --allow-newer |
| 15:55:09 | <monadfritz[m]> | I'm using stack version 2.7.3 |
| 15:55:11 | <monadfritz[m]> | from ghcup |
| 15:55:48 | <Drew[m]> | Maybe it's only a config file field for stack |
| 15:55:56 | <Drew[m]> | https://docs.haskellstack.org/en/stable/yaml_configuration/ |
| 15:56:14 | <Drew[m]> | it's in there |
| 15:56:25 | <maerwald> | do you need to use stack? |
| 15:58:04 | <monadfritz[m]> | I think if I'm not using stack, deps error will get worse, as the other gui training repo I made only use cabal but I can't cabal build now, same error, deps. |
| 15:58:07 | → | jgeerds joins (~jgeerds@55d4b311.access.ecotel.net) |
| 15:58:33 | × | jgeerds quits (~jgeerds@55d4b311.access.ecotel.net) (Remote host closed the connection) |
| 15:59:49 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 15:59:54 | <Drew[m]> | In my experience the experience of trying to use out-of-bounds dependency versions is easier on cabal than stack, since cabal has the resolver. |
| 16:00:27 | <maerwald> | yeah, if stack doesn't work ootb, the experience degrades exponentially |
| 16:00:30 | → | econo joins (uid147250@user/econo) |
| 16:02:33 | <Drew[m]> | If cabal is giving you dependency errors then that actually means there's still options: new things to try `--allow-newer` on. |
| 16:02:33 | <Drew[m]> | It's when you get compilation errors that you basically know you can't proceed until the maintainer fixes something. |
| 16:02:44 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-7-198.prtc.net) |
| 16:03:56 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection) |
| 16:05:03 | <monadfritz[m]> | I force to ignore boundary and yeah it gives me compilation error |
| 16:05:11 | <monadfritz[m]> | seems like the behavior changes? |
| 16:06:15 | <monadfritz[m]> | the gi-cairo and gi-glib |
| 16:07:34 | <monadfritz[m]> | if I may ask, what do you use haskell currently for? Mr Maerwald and Mr Drew |
| 16:08:15 | <monadfritz[m]> | * seems like the types & function changes? |
| 16:08:58 | <Drew[m]> | I use it for the odd open source library contribution and for personal projects. |
| 16:09:03 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 16:09:55 | × | Guest8405 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
| 16:10:16 | × | dfg quits (dfg@user/dfg) (Remote host closed the connection) |
| 16:10:51 | → | dfg joins (~dfg@li490-89.members.linode.com) |
| 16:10:51 | × | dfg quits (~dfg@li490-89.members.linode.com) (Changing host) |
| 16:10:51 | → | dfg joins (~dfg@user/dfg) |
| 16:11:49 | <Drew[m]> | For solving your gi-gtk-declarative issue, the "good citizen" solution is to basically do as much as you can to make it easy for the maintainer to fix the issue, and open an issue/pull request so the maintainer can fix it... |
| 16:11:49 | <Drew[m]> | But that doesn't help you in the short term, and it's involved, and I've got to go soon so I can't show you how it's done. The quick solution might be to try changing your Stack resolver version |
| 16:12:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:12:23 | <Drew[m]> | A previous LTS snapshot might be more compatible with some version of gi-gtk-declarative |
| 16:17:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 16:18:35 | fendor_ | is now known as fendor |
| 16:18:53 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
| 16:22:25 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
| 16:25:52 | × | rond_ quits (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed) |
| 16:27:54 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 16:28:23 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 16:32:07 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds) |
| 16:32:22 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 16:33:45 | → | hueso joins (~root@user/hueso) |
| 16:34:23 | → | adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan) |
| 16:35:10 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds) |
| 16:36:09 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 16:38:58 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:38:58 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 16:38:58 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:44:01 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 16:44:27 | × | hannessteffenhag quits (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 16:44:59 | × | fendor quits (~fendor@91.141.62.191.wireless.dyn.drei.com) (Remote host closed the connection) |
| 16:45:07 | × | mikoto-c1 quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
| 16:45:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:47:03 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 16:48:19 | → | fendor joins (~fendor@91.141.62.191.wireless.dyn.drei.com) |
| 16:49:50 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
| 16:50:10 | × | jdcain quits (~jdcain@2600:8804:1b96:4900::935) (Quit: WeeChat 3.2) |
| 16:54:25 | × | aman quits (~aman@user/aman) (Quit: aman) |
| 16:55:23 | → | chris joins (~chris@81.96.113.213) |
| 16:55:27 | chris | is now known as Guest6187 |
| 16:56:10 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-7-198.prtc.net) (Quit: Client closed) |
| 16:56:44 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 16:57:46 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:57:46 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 16:57:46 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:59:29 | → | pavonia joins (~user@user/siracusa) |
| 17:00:42 | × | fvr quits (uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:00:47 | × | Guest6187 quits (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 17:01:31 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 17:01:47 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 17:02:40 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 17:03:04 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 17:04:27 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 17:04:48 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 17:06:27 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 17:09:02 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 250 seconds) |
| 17:13:24 | → | chris joins (~chris@81.96.113.213) |
| 17:13:25 | → | __monty__ joins (~toonn@user/toonn) |
| 17:13:28 | chris | is now known as Guest7836 |
| 17:14:26 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 17:19:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 17:22:47 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:bfa8:e90:b3e4:2e82) (Quit: WeeChat 3.2) |
| 17:24:28 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 17:30:24 | → | mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 17:31:23 | × | bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Read error: Connection reset by peer) |
| 17:31:40 | → | bontaq joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 17:34:54 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 17:34:57 | × | keutoi quits (~keutoi@106.208.52.180) (Ping timeout: 248 seconds) |
| 17:35:43 | × | azeem quits (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 252 seconds) |
| 17:36:46 | → | azeem joins (~azeem@176.201.15.223) |
| 17:36:58 | → | keutoi joins (~keutoi@157.47.99.152) |
| 17:39:27 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 17:41:02 | → | benin0369329 joins (~benin@183.82.178.142) |
| 17:42:10 | × | drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds) |
| 17:43:23 | × | benin036932 quits (~benin@183.82.178.142) (Ping timeout: 250 seconds) |
| 17:43:23 | benin0369329 | is now known as benin036932 |
| 17:46:59 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 17:47:36 | × | azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer) |
| 17:48:42 | → | vysn joins (~vysn@user/vysn) |
| 17:48:43 | → | azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) |
| 17:49:27 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 17:52:14 | → | drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 17:52:41 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 17:57:06 | × | acid quits (~acid@user/acid) (Remote host closed the connection) |
| 17:58:00 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:58:00 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 17:58:00 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:59:29 | → | aegon joins (~mike@174.127.249.180) |
| 18:01:35 | × | zer0bitz quits (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 250 seconds) |
| 18:03:46 | × | keutoi quits (~keutoi@157.47.99.152) (Ping timeout: 252 seconds) |
| 18:05:12 | × | phma quits (phma@2001:5b0:211f:c4a8:b4c0:8312:139:73b8) (Read error: Connection reset by peer) |
| 18:05:55 | → | phma joins (phma@2001:5b0:215d:bf48:a0b0:d9f3:6271:d4bf) |
| 18:07:46 | <haskl> | I'm trying to build my program. Not sure what the issue is here/not sure what libHSparsec is or what I need to install to get it working with ghc. I'm using ghcup and trying to install with cabal. https://paste.mozilla.org/jvFcCYCb |
| 18:08:42 | <maerwald> | haskl: distro? |
| 18:09:00 | × | Guest7836 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 18:09:03 | <haskl> | maerwald, Debian 11. |
| 18:09:21 | <maerwald> | haskl: which GHC is used? |
| 18:09:26 | <maerwald> | the path |
| 18:10:17 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection) |
| 18:12:46 | <haskl> | test |
| 18:13:16 | <haskl> | oh sorry! i was using ghcup it's using /home/tilde/.ghcup/bin/ghc |
| 18:14:19 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 18:14:29 | <maerwald> | not sure if the store is busted |
| 18:14:35 | <haskl> | i can build in 8.10.5 though, but I get this issue when i try to run `cabal run cabal test`: https://paste.mozilla.org/fh6t5kEC |
| 18:15:20 | <haskl> | i remember being able to run doctests a while back but now that i' mtrying to run them i'm gettin gtrouble. i remember there was a weird problem with doctests in a specific version of ghc so that's why i was version hopping |
| 18:15:35 | <maerwald> | haskl: use cabal-docspec for doctests |
| 18:16:04 | <maerwald> | https://github.com/phadej/cabal-extras/tree/master/cabal-docspec |
| 18:16:17 | <maerwald> | here are static binaries https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal-docspec/ |
| 18:18:31 | <haskl> | hm i'll have to read about how to make use of this thanks |
| 18:19:23 | <maerwald> | https://github.com/phadej/cabal-extras/blob/master/cabal-docspec/MANUAL.md |
| 18:19:26 | × | drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Quit: ZNC 1.8.2 - https://znc.in) |
| 18:19:45 | → | drd joins (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 18:19:46 | <maerwald> | 1. you build your project, 2. you run `cabal-docspec` |
| 18:19:53 | <maerwald> | you don't need a Main for it |
| 18:20:00 | <maerwald> | no test suite in .cabal |
| 18:20:23 | <Kabouik> | Thank you for all your help today maerwald. Sorry that the maintainer was a little bit hostile to your remarks (I remember him being very nice and patient so that's probably just a tone thing today) |
| 18:20:37 | <haskl> | thanks maerwald |
| 18:20:41 | <maerwald> | Kabouik: I don't think he was hostile :p |
| 18:20:46 | <maerwald> | just grumpy |
| 18:21:03 | <maerwald> | because he maintains 200 haskell packages alone |
| 18:21:04 | <Kabouik> | Yeah, better wording. A bit hostile to the changes you suggested though |
| 18:21:15 | <Kabouik> | But he *is* nice |
| 18:21:15 | <maerwald> | I don't understand why distros keep doing it |
| 18:21:20 | pavonia | is now known as `\pavonia^{} |
| 18:21:21 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 18:21:29 | × | liskin quits (~liskin@xmonad/liskin) (Ping timeout: 252 seconds) |
| 18:21:34 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 18:21:44 | <maerwald> | Yeah, I'm not sure if solus support is gonna move forward if they don't fix libtinfo |
| 18:22:06 | <maerwald> | it's really just a compat symlink |
| 18:22:08 | <Kabouik> | I have no understanding of what is being done to comment, I just grasped that he takes security seriously and don't want to give any attack exposure that could be avoided with some dedication from the maintainer |
| 18:22:21 | <maerwald> | that was all offtopic :p |
| 18:23:03 | <Kabouik> | Yeah I could see you two couldn't find a common ground, basically not agreeing on the issues or mechanisms themselves, so not easy to talk |
| 18:23:11 | <maerwald> | https://gitlab.haskell.org/ghc/ghc/-/issues/17878 would solve most of our problems |
| 18:23:16 | `\pavonia^{} | is now known as pavonia |
| 18:24:01 | <Kabouik> | So I was reading you two exchanging, and every tine someone was saying something, I was like "Oh that's true, one point for him" |
| 18:24:07 | <Kabouik> | And then same with the other. :> |
| 18:24:16 | <Kabouik> | Just too candid and believing everyone is right. |
| 18:24:34 | <maerwald> | I've spent too much time on distro packaging, so yeah |
| 18:24:46 | <Rembane_> | I love the "the rest should be piece of cake?"-part |
| 18:24:48 | <maerwald> | and seeing how they self-inflict pain doesn't make it better |
| 18:24:52 | × | reumeth quits (~reumeth@user/reumeth) (Ping timeout: 250 seconds) |
| 18:25:00 | <Kabouik> | Just when he said it's not his experience that users have trouble compiling stuff with cabal due to the Solus choices, I almost just waved timidly in the discussion because I did have trouble. |
| 18:26:25 | <maerwald> | man, do static binary for pandoc and remove all the haskell-dev packages |
| 18:26:32 | <maerwald> | it's too much work for no real gain |
| 18:26:53 | <maerwald> | dynamic haskell libs... tzz |
| 18:27:13 | <maerwald> | our dynamic libraries aren't great |
| 18:27:37 | <Kabouik> | From what I understood, they consider there's a gain and it's worth it. I'm not able or skilled to judge though, and I know you disagree |
| 18:27:42 | <maerwald> | no one packages go libs either, so what's the point |
| 18:28:24 | <maerwald> | otherwise it will end up like arch linux, which just causes pain for their haskell users |
| 18:31:56 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 18:32:27 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 18:33:55 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 18:34:49 | → | hendursaga joins (~weechat@user/hendursaga) |
| 18:34:54 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 18:43:06 | × | phma quits (phma@2001:5b0:215d:bf48:a0b0:d9f3:6271:d4bf) (Read error: Connection reset by peer) |
| 18:45:38 | × | kuribas quits (~user@ptr-25vy0i7291ltmu3yh3q.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 18:46:06 | × | azeem quits (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 250 seconds) |
| 18:46:28 | → | azeem joins (~azeem@176.201.15.223) |
| 18:48:42 | → | phma joins (~phma@host-67-44-208-160.hnremote.net) |
| 18:50:33 | × | MQ-17J quits (~MQ-17J@8.6.144.209) (Ping timeout: 250 seconds) |
| 18:55:28 | × | azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds) |
| 18:55:56 | → | kimjetwav joins (~user@2607:fea8:235f:9730:98d1:a22e:1d0c:6a1f) |
| 18:56:12 | → | azeem joins (~azeem@176.201.15.223) |
| 18:56:37 | × | drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 250 seconds) |
| 19:00:05 | × | mei quits (~mei@user/mei) (Ping timeout: 250 seconds) |
| 19:00:58 | → | Pickchea joins (~private@user/pickchea) |
| 19:03:22 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 19:06:09 | × | remedan quits (~remedan@balak.me) (Quit: Bye!) |
| 19:07:02 | → | remedan joins (~remedan@balak.me) |
| 19:07:19 | × | markpythonicbtc quits (~textual@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:10:32 | × | remedan quits (~remedan@balak.me) (Client Quit) |
| 19:13:33 | × | jess quits (~jess@libera/staff/jess) () |
| 19:16:18 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:16:22 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 19:19:27 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 19:19:55 | → | remedan joins (~remedan@balak.me) |
| 19:19:58 | → | cheater joins (~Username@user/cheater) |
| 19:21:33 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 19:23:22 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:23:31 | → | chris joins (~chris@81.96.113.213) |
| 19:23:34 | chris | is now known as Guest6628 |
| 19:27:42 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 19:27:46 | × | azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer) |
| 19:27:51 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 19:28:38 | → | azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) |
| 19:37:37 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection) |
| 19:41:17 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 19:41:31 | → | liskin joins (~liskin@xmonad/liskin) |
| 19:42:35 | × | liskin quits (~liskin@xmonad/liskin) (Remote host closed the connection) |
| 19:43:45 | → | liskin joins (~liskin@xmonad/liskin) |
| 19:47:16 | × | liskin quits (~liskin@xmonad/liskin) (Read error: Connection reset by peer) |
| 19:48:17 | → | jtomas_ joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) |
| 19:48:30 | × | jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 250 seconds) |
| 19:49:39 | × | teo quits (~teo@137.220.120.222) () |
| 19:50:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 19:52:01 | → | liskin joins (~liskin@xmonad/liskin) |
| 19:56:50 | → | fendor_ joins (~fendor@91.141.62.191.wireless.dyn.drei.com) |
| 19:59:40 | × | fendor quits (~fendor@91.141.62.191.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
| 20:00:48 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 20:04:47 | × | juhp quits (~juhp@128.106.188.220) (Ping timeout: 240 seconds) |
| 20:05:15 | → | neurocyte830 joins (~neurocyte@user/neurocyte) |
| 20:05:50 | × | dispater quits (~dispater@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in) |
| 20:06:41 | → | elf_fortrez joins (~elf_fortr@adsl-72-50-4-45.prtc.net) |
| 20:06:57 | × | mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 248 seconds) |
| 20:07:10 | → | dispater joins (~dispater@user/brprice) |
| 20:07:11 | × | dispater quits (~dispater@user/brprice) (Remote host closed the connection) |
| 20:08:02 | → | juhp joins (~juhp@128.106.188.220) |
| 20:08:31 | → | dispater joins (~dispater@user/brprice) |
| 20:09:02 | → | orcus joins (~orcus@mail.brprice.uk) |
| 20:09:54 | × | Guest6628 quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 20:10:31 | → | chris joins (~chris@81.96.113.213) |
| 20:10:35 | chris | is now known as Guest9305 |
| 20:10:46 | × | orcus quits (~orcus@mail.brprice.uk) (Client Quit) |
| 20:11:16 | → | mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr) |
| 20:11:38 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 20:12:45 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 20:12:56 | → | acidjnk joins (~acidjnk@p200300d0c72b9541f8d5911f73b02544.dip0.t-ipconnect.de) |
| 20:12:57 | → | orcus joins (~orcus@user/brprice) |
| 20:13:27 | × | xff0x quits (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) (Ping timeout: 240 seconds) |
| 20:14:33 | → | xff0x joins (~xff0x@2001:1a81:536c:3300:1de6:1836:7ec4:e477) |
| 20:14:56 | × | Guest9305 quits (~chris@81.96.113.213) (Ping timeout: 250 seconds) |
| 20:17:03 | × | orcus quits (~orcus@user/brprice) (Client Quit) |
| 20:17:03 | × | dispater quits (~dispater@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in) |
| 20:19:03 | → | dispater joins (~dispater@user/brprice) |
| 20:19:35 | → | orcus joins (~orcus@user/brprice) |
| 20:20:39 | × | oxide quits (~lambda@user/oxide) (Quit: oxide) |
| 20:23:20 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 20:25:07 | × | jtomas_ quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 20:29:08 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:33:51 | → | oxide joins (~lambda@user/oxide) |
| 20:33:58 | × | oxide quits (~lambda@user/oxide) (Client Quit) |
| 20:35:56 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-45.prtc.net) (Quit: Client closed) |
| 20:40:03 | → | mcglk_ joins (~mcglk@131.191.49.120) |
| 20:41:28 | × | mcglk quits (~mcglk@131.191.49.120) (Ping timeout: 268 seconds) |
| 20:43:06 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 20:44:12 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 20:44:31 | → | Alicebudda joins (~Alicebudd@cold.passenger.volia.net) |
| 20:45:05 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:45:05 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 20:45:05 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:50:36 | <siers> | how does one use Data.Type.Equality practically? what is it for? https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Type-Equality.html |
| 20:51:03 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection) |
| 20:52:07 | × | Topsi quits (~Tobias@dyndsl-095-033-024-207.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 20:55:16 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 20:55:25 | → | markpythonicbtc joins (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18) |
| 20:56:12 | <monochrom> | IIRC Data.Typeable has a use case. |
| 20:56:16 | → | Alicebudda74 joins (~Alicebudd@cold.passenger.volia.net) |
| 20:56:39 | <Ollie[m]> | siers: that's a hard one to answer, but generally when you have some `T a`, and you want to learn what `a` actually is, you need equality proofs |
| 20:57:05 | <Ollie[m]> | For example, `T` might be a GADT, and you might to prove that if someone gives you a `T a`, they've actually given you a `T Bool` |
| 20:58:10 | × | Alicebudda quits (~Alicebudd@cold.passenger.volia.net) (Ping timeout: 246 seconds) |
| 20:58:34 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 21:00:28 | × | fendor_ quits (~fendor@91.141.62.191.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 21:01:14 | <siers> | so you'd have `a :~: Bool` passed to make use of that `ta :: T a`? what do you do with it then? does this mean you can convert that `ta` to, say, `Maybe Bool`? |
| 21:02:21 | <siers> | is it easier to learn what it does/how it works by simply learning agda instead? :) |
| 21:07:03 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 250 seconds) |
| 21:07:45 | × | d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds) |
| 21:08:10 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 21:11:02 | <maerwald> | so who managed to do partial static linking on windows? |
| 21:11:15 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:11:27 | × | mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 240 seconds) |
| 21:11:46 | <maerwald> | so that mingw c libs are statically linked |
| 21:12:49 | × | ubert quits (~Thunderbi@178.165.195.172.wireless.dyn.drei.com) (Remote host closed the connection) |
| 21:13:07 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
| 21:13:30 | <Ollie[m]> | siers: it's certainly easier to learn about when you are working with/familiar with dependant types |
| 21:13:45 | <Ollie[m]> | How about checking out Richard Eisenberg's functional pearl? |
| 21:14:12 | <Ollie[m]> | It's about building a compiler - I think it's all called Stich |
| 21:14:20 | <Ollie[m]> | https://richarde.dev/papers/2018/stitch/stitch.pdf |
| 21:16:30 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 21:16:52 | → | jtomas_ joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) |
| 21:16:57 | <siers> | I'll take a look |
| 21:17:07 | → | schuelermine joins (~anselmsch@user/schuelermine) |
| 21:17:31 | × | schuelermine quits (~anselmsch@user/schuelermine) (Client Quit) |
| 21:17:43 | → | schuelermine joins (~anselmsch@user/schuelermine) |
| 21:18:20 | × | schuelermine quits (~anselmsch@user/schuelermine) (Client Quit) |
| 21:18:32 | × | jtomas_ quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 21:20:01 | → | mikoto-chan joins (~mikoto-ch@83.137.2.246) |
| 21:20:21 | <siers> | monochrom, that's works too |
| 21:27:10 | × | pbrisbin quits (~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 240 seconds) |
| 21:27:18 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 21:29:09 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 21:29:19 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 21:40:05 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 21:41:08 | × | bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Read error: Connection reset by peer) |
| 21:41:25 | → | bontaq joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 21:44:08 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 244 seconds) |
| 21:47:05 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:47:21 | × | mikoto-chan quits (~mikoto-ch@83.137.2.246) (Ping timeout: 250 seconds) |
| 21:51:06 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 21:51:15 | → | V joins (~v@anomalous.eu) |
| 21:54:55 | → | gawen joins (~gawen@user/gawen) |
| 21:57:13 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 22:04:47 | × | td_ quits (~td@muedsl-82-207-238-244.citykom.de) (Ping timeout: 240 seconds) |
| 22:06:10 | × | acidjnk quits (~acidjnk@p200300d0c72b9541f8d5911f73b02544.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 22:07:05 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 22:09:08 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Read error: Connection reset by peer) |
| 22:10:20 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 22:10:56 | → | gawen joins (~gawen@user/gawen) |
| 22:12:48 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:13:31 | × | markpythonicbtc quits (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:13:35 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 22:15:16 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 22:21:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 22:23:52 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 22:24:44 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:24:47 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Ping timeout: 240 seconds) |
| 22:24:50 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 22:25:32 | → | chisui joins (~chisui@200116b868b3e0003cb5f086a5e41c70.dip.versatel-1u1.de) |
| 22:28:47 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 22:29:05 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection) |
| 22:29:19 | × | bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Remote host closed the connection) |
| 22:29:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 22:29:40 | → | bontaq joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 22:30:54 | × | Alicebudda74 quits (~Alicebudd@cold.passenger.volia.net) (Quit: Client closed) |
| 22:33:47 | × | mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Quit: Leaving) |
| 22:34:45 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 22:34:56 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 22:35:20 | × | Gurkenglas quits (~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 22:38:02 | → | markpythonicbtc joins (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18) |
| 22:40:47 | × | Ananta-shesha quits (~pjetcetal@2.95.210.196) (Ping timeout: 240 seconds) |
| 22:41:11 | → | Ananta-shesha joins (~pjetcetal@2.95.210.196) |
| 22:41:40 | × | jrm quits (~jrm@156.34.187.65) (Read error: Connection reset by peer) |
| 22:42:02 | → | jrm joins (~jrm@156.34.187.65) |
| 22:44:37 | × | PinealGlandOptic quits (~PinealGla@37.115.210.35) (Quit: leaving) |
| 22:49:19 | × | markpythonicbtc quits (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18) (Ping timeout: 250 seconds) |
| 22:52:44 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection) |
| 22:55:00 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 22:57:30 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 22:58:42 | × | fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 276 seconds) |
| 22:58:44 | × | epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Ping timeout: 250 seconds) |
| 22:59:48 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 23:00:10 | → | epolanski joins (uid312403@id-312403.helmsley.irccloud.com) |
| 23:01:23 | → | skykanin joins (~skykanin@115.81-166-221.customer.lyse.net) |
| 23:02:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 23:03:40 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds) |
| 23:05:52 | × | skykanin quits (~skykanin@115.81-166-221.customer.lyse.net) (Client Quit) |
| 23:06:59 | → | neo1 joins (~neo3@cpe-292712.ip.primehome.com) |
| 23:08:19 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 23:10:00 | × | neo quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 250 seconds) |
| 23:10:13 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) |
| 23:18:29 | × | NinjaTrappeur quits (~ninja@user/ninjatrappeur) (Ping timeout: 252 seconds) |
| 23:22:50 | → | NinjaTrappeur joins (~ninja@user/ninjatrappeur) |
| 23:23:25 | × | chisui quits (~chisui@200116b868b3e0003cb5f086a5e41c70.dip.versatel-1u1.de) (Ping timeout: 246 seconds) |
| 23:28:52 | → | dajoer joins (~david@user/gvx) |
| 23:29:15 | → | markpythonicbtc joins (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18) |
| 23:30:34 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 23:33:15 | × | immae quits (~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 2.9) |
| 23:37:30 | → | immae joins (~immae@2a01:4f8:141:53e7::) |
| 23:40:08 | → | d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) |
| 23:41:39 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 23:45:11 | × | Ananta-shesha quits (~pjetcetal@2.95.210.196) (Quit: EXIT) |
| 23:47:27 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
| 23:55:28 | → | jess joins (~jess@libera/staff/jess) |
| 23:55:46 | → | Ananta-shesha joins (~pjetcetal@2.95.210.196) |
| 23:55:49 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Quit: ec_) |
| 23:59:42 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
All times are in UTC on 2021-08-25.