2021-06-22 00:00:20 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:01:52 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:03:07 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 258 seconds) |
2021-06-22 00:04:40 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:06:15 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:06:58 +0200 | MorrowM | (~MorrowM_@147.161.8.246) (Ping timeout: 252 seconds) |
2021-06-22 00:07:43 +0200 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 258 seconds) |
2021-06-22 00:08:06 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
2021-06-22 00:08:36 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-06-22 00:08:53 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
2021-06-22 00:08:57 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:10:31 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:11:14 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-22 00:13:18 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:14:52 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:15:39 +0200 | <johnw> | jumper149: you could use type application to specify m, apparently it can't be determined from use? |
2021-06-22 00:17:59 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
2021-06-22 00:18:35 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 00:19:31 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:20:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection) |
2021-06-22 00:22:26 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:23:59 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:26:57 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:27:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 00:28:24 +0200 | mikail_ | (~mikail@90.212.77.3) (Ping timeout: 265 seconds) |
2021-06-22 00:28:31 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:29:22 +0200 | unyu | (~pyon@user/pyon) (Ping timeout: 265 seconds) |
2021-06-22 00:31:19 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:31:32 +0200 | tomsmeding | (~tomsmedin@2a03:b0c0:0:1010::767:3001) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-06-22 00:31:39 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-06-22 00:31:51 +0200 | tomsmeding | (~tomsmedin@2a03:b0c0:0:1010::767:3001) |
2021-06-22 00:32:17 +0200 | unyu | (~pyon@user/pyon) |
2021-06-22 00:32:54 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:34:11 +0200 | Codaraxis | (~Codaraxis@193.32.126.158) (Changing host) |
2021-06-22 00:34:11 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2021-06-22 00:34:23 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-22 00:34:35 +0200 | Guest9 | (~Guest9@43.250.158.43) (Quit: Connection closed) |
2021-06-22 00:35:40 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:35:41 +0200 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
2021-06-22 00:35:41 +0200 | ddellaco_ | (~ddellacos@86.106.121.100) |
2021-06-22 00:37:07 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-06-22 00:37:15 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:37:32 +0200 | <Cajun> | so im now using cabal to build and im trying to use `hip` for image processing and no matter what i cant get it to build (why do these tools have to be a pain). heres the output: https://paste.tomsmeding.com/zbgeWosa |
2021-06-22 00:38:29 +0200 | <davean> | ok, so its told you the problem, whats the question? |
2021-06-22 00:38:53 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) |
2021-06-22 00:38:58 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-06-22 00:39:29 +0200 | <Cajun> | i have absolutely no idea how to make this build. is it constraints? is it just not possible? it doesnt seem like i can do anything to get it to use the package and build |
2021-06-22 00:39:58 +0200 | <davean> | So you might want to update your package set, but what you have doesn't work together |
2021-06-22 00:40:09 +0200 | <davean> | it looks like something that might work together has been released |
2021-06-22 00:40:09 +0200 | <Cajun> | its literally `base` and `hip` |
2021-06-22 00:40:12 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:40:31 +0200 | <davean> | yes, your required version of base, and diagrams-postscript's required versions of base don't overlap |
2021-06-22 00:41:10 +0200 | <davean> | try cabal update though |
2021-06-22 00:41:33 +0200 | <Cajun> | just did `cabal update` and that didnt help it |
2021-06-22 00:41:45 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:42:16 +0200 | <davean> | https://hackage.haskell.org/package/diagrams-postscript-1.5/revisions/ theres a revision that should have opened it up for you |
2021-06-22 00:42:36 +0200 | <davean> | 2021-06-21T19:57:32Z so it was very recent |
2021-06-22 00:42:56 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-06-22 00:43:08 +0200 | <Cajun> | so how would i go about using that for `hip`? |
2021-06-22 00:43:47 +0200 | <davean> | I mean what state is your package index at? You're trying to use version 1.5 - read the output it tells you - but clearly you don't have that revision |
2021-06-22 00:44:02 +0200 | <davean> | so the update didn't get sometihng only an hour or two old - caching perhaps? |
2021-06-22 00:44:07 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
2021-06-22 00:44:30 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:44:58 +0200 | <davean> | when you did cabal update, it'd have shown you the index state it got up to |
2021-06-22 00:45:40 +0200 | <Cajun> | here is what `cabal update` spat out when i ran it a few minutes ago https://paste.tomsmeding.com/uHgqBqU4 |
2021-06-22 00:45:52 +0200 | pbrisbin | (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 250 seconds) |
2021-06-22 00:46:03 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:46:23 +0200 | <davean> | 2021-06-19T09:28:37Z - notice 09:28:37Z not 2021-06-21T19:57:32Z |
2021-06-22 00:46:27 +0200 | <davean> | so there is some caching happening there |
2021-06-22 00:46:46 +0200 | <davean> | Hum, so the question is whats caching it |
2021-06-22 00:46:58 +0200 | <davean> | because thats not what I see being served |
2021-06-22 00:47:05 +0200 | ukari | (~ukari@user/ukari) |
2021-06-22 00:47:11 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-22 00:47:12 +0200 | <Cajun> | well isnt that the old package list? considering its saying how to revert the update |
2021-06-22 00:47:34 +0200 | <davean> | It should say something like "Updated package list of hackage.haskell.org to the index-state 2021-06-21T21:21:54Z" |
2021-06-22 00:47:53 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-22 00:47:58 +0200 | <Cajun> | i just ran it again and yes it said that |
2021-06-22 00:48:03 +0200 | <davean> | perhaps your cabal is to old to say that, but its unclear what you ended up with |
2021-06-22 00:48:14 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
2021-06-22 00:48:32 +0200 | <Cajun> | running it again told me to download that specific version to revert the update so that is the index-state i have |
2021-06-22 00:48:36 +0200 | <Cajun> | yet it still does not build |
2021-06-22 00:48:52 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:49:29 +0200 | <Cajun> | i have cabal 3.2.0.0 if that matters |
2021-06-22 00:50:27 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:50:34 +0200 | <davean> | I just upgrade my cabal to the latest all the time, so I have no idea about 3.2 but I was pretty sure it output the current version also |
2021-06-22 00:50:53 +0200 | <Cajun> | just updated to 3.4.0.0 and yes it still does not build |
2021-06-22 00:51:08 +0200 | <davean> | did it update to more current though? |
2021-06-22 00:51:16 +0200 | <davean> | This is about what it has available |
2021-06-22 00:51:19 +0200 | <Cajun> | `index-state 2021-06-21T21:21:54Z` |
2021-06-22 00:51:27 +0200 | <davean> | ok, and it still doesn't build after that? |
2021-06-22 00:51:30 +0200 | <Cajun> | no |
2021-06-22 00:51:31 +0200 | <davean> | did the output change? |
2021-06-22 00:51:41 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-06-22 00:53:15 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:53:26 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-06-22 00:53:27 +0200 | <Cajun> | not much at all except its now `diagrams-core` instead of `diagrams-postscript` |
2021-06-22 00:53:34 +0200 | <davean> | Thats a huge change though |
2021-06-22 00:53:59 +0200 | <davean> | though uh |
2021-06-22 00:54:22 +0200 | <davean> | its got to be telling you more than just that - diagrams-core 1.5 would build |
2021-06-22 00:54:30 +0200 | <Cajun> | well heres the current output https://paste.tomsmeding.com/aup814H3 |
2021-06-22 00:54:44 +0200 | <monochrom> | Nice, today I modified the idea of "Queue a = {front :: [a], back :: [a]}" to {front :: [a], back :: [a] -> [a]}, i.e., use a difflist for the back. |
2021-06-22 00:54:48 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:54:55 +0200 | <davean> | Chart-diagrams => |
2021-06-22 00:54:57 +0200 | <davean> | diagrams-core>=1.3 && <1.5 |
2021-06-22 00:55:10 +0200 | <davean> | see that Cajun? |
2021-06-22 00:55:16 +0200 | <monochrom> | I use this in BFS over an infinite tree. It seems like I only suffer GC pauses. |
2021-06-22 00:55:31 +0200 | <Cajun> | i do but i have no idea what that means and how thats helpful lol |
2021-06-22 00:56:12 +0200 | <davean> | Hum, do you not understand what => means? or the >=1.3 && <1.5? |
2021-06-22 00:56:41 +0200 | <shachaf> | monochrom: What do you get from using a difference list for the back? |
2021-06-22 00:57:06 +0200 | <monochrom> | Eliminating reversing the back list. |
2021-06-22 00:57:08 +0200 | <Cajun> | => means X implies constraint but cannot match it and `>=1.3 && <1.5` means it must be within version 1.3.* and less than version 1.5.0 |
2021-06-22 00:57:43 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 00:57:52 +0200 | <shachaf> | Hmm, but you still need to do effectively linear work, don't you? |
2021-06-22 00:57:53 +0200 | <davean> | Yes, so thats all thee is to understand there, because you can't use anything older than diagrams-core-1.5.0, as it says it tried to but wasn't allowed to |
2021-06-22 00:58:04 +0200 | <davean> | shachaf: look at when the work happens |
2021-06-22 00:58:24 +0200 | <davean> | though, its really just the other method in disguise I tihnk? |
2021-06-22 00:58:51 +0200 | <shachaf> | So a typical state of this might be something like, Queue { front = [1,2,3], back = ((4:) . (5:) . (6:) }, right? |
2021-06-22 00:58:59 +0200 | <shachaf> | Oops. |
2021-06-22 00:59:00 +0200 | dunj3 | (~dunj3@2001:16b8:309f:ea00:9791:603:5183:d379) (Remote host closed the connection) |
2021-06-22 00:59:06 +0200 | <shachaf> | Queue { front = [1,2,3], back = ((4:) . (5:)) . (6:) } |
2021-06-22 00:59:14 +0200 | <Cajun> | davean: so i have to wait for the package to be updated or something? |
2021-06-22 00:59:18 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 00:59:38 +0200 | <davean> | Cajun: or fix it yourself. or use an older hip, or an older GHC, or ... |
2021-06-22 00:59:39 +0200 | <shachaf> | So in order to get to the 4, you need to go through all the (.)s, which will be left-associated if you've been appending. Right? |
2021-06-22 01:00:19 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 01:00:22 +0200 | ddellaco_ | (~ddellacos@86.106.121.100) (Remote host closed the connection) |
2021-06-22 01:00:42 +0200 | <monochrom> | This is where I still don't understand why "( ... (((x1 :) . (x2 :)) . (x3 :)) . (x4 :) ...) []" is still much faster than (...(([x1]++[x2])++[x3])++[x4] ...) but empiricallly it is proven over and over again. |
2021-06-22 01:00:50 +0200 | <davean> | Cajun: so 'base's version is bound to GHC |
2021-06-22 01:00:52 +0200 | ddellacosta | (~ddellacos@86.106.121.100) |
2021-06-22 01:00:57 +0200 | <davean> | Cajun: GHC version that is |
2021-06-22 01:01:06 +0200 | <davean> | Cajun: so if you want an older base, move back a major GHC version |
2021-06-22 01:01:11 +0200 | <davean> | or upgrade the package to work with newer GHC |
2021-06-22 01:01:16 +0200 | <shachaf> | monochrom: That one is different. |
2021-06-22 01:01:23 +0200 | <Cajun> | i used to use 8.8.4, should i try using that? |
2021-06-22 01:02:04 +0200 | <davean> | Cajun: Yes, that would use base 4.13 |
2021-06-22 01:02:05 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 01:02:12 +0200 | <shachaf> | Pretend it's a strict language. To compute ([x1]++[x2])++[x3], you go [x1,x1]++[x3], [x1,x2,x3] |
2021-06-22 01:02:13 +0200 | <davean> | which you'll notice is in range for the constraints specified |
2021-06-22 01:02:18 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
2021-06-22 01:02:27 +0200 | <shachaf> | Uh, [x1,x2]++[x3] |
2021-06-22 01:02:37 +0200 | <shachaf> | In the second step, (++) has to traverse the entire list just to append [x3] |
2021-06-22 01:02:49 +0200 | <davean> | Cajun: Basicly all you have to do is look at what it tells you and do it |
2021-06-22 01:03:00 +0200 | <sclv> | Cajun: you could also just try passing the --allow-newer flag, cross your fingers, and pray to your diety of choice |
2021-06-22 01:03:08 +0200 | <davean> | Cajun: it tells you two things don't fit together, change one of them to match the other |
2021-06-22 01:03:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-06-22 01:03:27 +0200 | <sclv> | it looks like a bump to Chart-diagrams to allow it to work with diagrams-core 1.5 could work, but that might fail |
2021-06-22 01:03:29 +0200 | <shachaf> | And then if you need to go to [x1,x2,x3]++[x4], this (++) also needs to traverse the entire list on the left. |
2021-06-22 01:03:38 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 01:03:50 +0200 | <sclv> | using the allow newer flag says "ignore the constraints, and try to build anyway, and then maybe there will be errors, who knows" |
2021-06-22 01:04:03 +0200 | <monochrom> | OK, I meant: "head (( ... (((x1 :) . (x2 :)) . (x3 :)) . (x4 :) ...) [])" is still much faster than "head (...(([x1]++[x2])++[x3])++[x4] ...)" empirically. |
2021-06-22 01:04:10 +0200 | <davean> | if you do what sclv says, if it breaks you may not notice, and you get to keep all the pieces |
2021-06-22 01:04:11 +0200 | tzar_bomba | (~tzar_bomb@78-56-41-78.static.zebra.lt) (Quit: Client closed) |
2021-06-22 01:04:25 +0200 | <davean> | monochrom: right, its lazy |
2021-06-22 01:04:40 +0200 | <shachaf> | Yes, it works the same way in a lazy language. |
2021-06-22 01:04:41 +0200 | <davean> | monochrom: so the first doesn't have to walk the list repeatedly? |
2021-06-22 01:04:48 +0200 | <Cajun> | davean: thanks! im guessing adjusting the leftmost part of => is easier to do than trying to change the rightmost part? |
2021-06-22 01:04:49 +0200 | <sclv> | often i'll also locally pull in the offending package, and try to fix it by hand, and if it works, then I can A) depend on the local version and B) submit a PR request back upstream |
2021-06-22 01:04:50 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds) |
2021-06-22 01:04:58 +0200 | <davean> | Cajun: depends entirely |
2021-06-22 01:05:37 +0200 | ddellacosta | (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds) |
2021-06-22 01:05:54 +0200 | <sclv> | if you're in a cabal project already, then if you `cabal unpack SOMEPACKAGE` it'll unpack it into that directory, and if you get it building, and have a cabal.project set up, cabal will use the local source version over the one from hackage |
2021-06-22 01:06:19 +0200 | jiribenes | (~jiribenes@rosa.jiribenes.com) (Remote host closed the connection) |
2021-06-22 01:06:30 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 01:06:49 +0200 | <shachaf> | With difference lists -- let a = (:) -- you have something like ((a 1 . a 2) . a 3). You need to do linear work once to turn that into [1,2,3], but that's it. |
2021-06-22 01:08:04 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 01:08:11 +0200 | <davean> | Cajun: personally my first approach is always "change whichever side moves to newer versions" because thats the longer term approach, but if I have an easier time changing the other side, I might be expedient |
2021-06-22 01:09:01 +0200 | <shachaf> | This isn't a very clear answer, hmm. |
2021-06-22 01:09:02 +0200 | <davean> | sclv: I would say I'd be suspicious of allow-newere here since he rest of that ecosystem seems to be bumped. |
2021-06-22 01:09:20 +0200 | <davean> | shachaf: I tihnk linear verses quadratic work is pretty clear? |
2021-06-22 01:09:33 +0200 | <davean> | shachaf: but I mean also, lazinessed helps with one and not the other |
2021-06-22 01:09:47 +0200 | <shachaf> | Yes, but the question was why. |
2021-06-22 01:09:58 +0200 | <shachaf> | I don't think laziness is that relevant here. You have exactly the same thing in a strict language. |
2021-06-22 01:10:08 +0200 | <davean> | Why is it linear verses quadratic? |
2021-06-22 01:10:18 +0200 | <sclv> | davean: i'm not suspicius because the offending package is Chart-diagrams which isn't part of the diagrams ecosystem, its part of the "bridge" to that ecosystem from the Chart ecosystem :-) |
2021-06-22 01:10:19 +0200 | <davean> | I mean ... you showed that directly |
2021-06-22 01:10:30 +0200 | <shachaf> | I just don't think my explanation was very good. |
2021-06-22 01:10:52 +0200 | <davean> | shachaf: you have MORE here than in a strict language though, because to take head you don't even have to do the entire linear walk, just O(1) |
2021-06-22 01:10:54 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 01:11:04 +0200 | <shachaf> | No, you have to do the whole linear thing. |
2021-06-22 01:11:19 +0200 | <shachaf> | Because your compositions are left associated, ((a 1 . a 2) . a 3) . a 4 |
2021-06-22 01:11:34 +0200 | <shachaf> | So you need to go through the whole thing to get to the 1. |
2021-06-22 01:12:26 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 01:14:22 +0200 | zeenk | (~zeenk@2a02:2f04:a00e:6e00:d401:4c92:fecc:16f9) (Quit: Konversation terminated!) |
2021-06-22 01:14:22 +0200 | <davean> | shachaf: With that construction, but you can setup one that doesn't |
2021-06-22 01:14:51 +0200 | <davean> | Depending on how much you're optimizing the specific case |
2021-06-22 01:15:04 +0200 | <shachaf> | I mean, we were talking about difference lists. Of course you can set up other data structures. |
2021-06-22 01:15:23 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 01:15:29 +0200 | <davean> | Oh i think of difference lists as the specific signature, not an alg |
2021-06-22 01:15:44 +0200 | <davean> | maybe that doesn't match the actual usage of the term |
2021-06-22 01:15:57 +0200 | <shachaf> | Oh, maybe you mean any function of the form (l ++) |
2021-06-22 01:16:14 +0200 | <shachaf> | But the point of using difference lists here is "constant time append". |
2021-06-22 01:16:24 +0200 | <davean> | [a] -> [a] is what I've seen defined as difference lists |
2021-06-22 01:16:29 +0200 | <shachaf> | Which you do get! But you don't get constant-time head. |
2021-06-22 01:16:47 +0200 | <shachaf> | I don't think people would call reverse a difference list. |
2021-06-22 01:16:55 +0200 | <shachaf> | Just functions of the form (l ++) for some l. |
2021-06-22 01:16:56 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 01:17:01 +0200 | <davean> | mmm |
2021-06-22 01:17:19 +0200 | <davean> | Thats fair I suppose. Different than what I saw specificly defined, but I'd buy that I was being too general |
2021-06-22 01:17:47 +0200 | killsushi | (~killsushi@user/killsushi) (Read error: Connection reset by peer) |
2021-06-22 01:18:04 +0200 | <shachaf> | The term comes from Prolog, right? Where you would leave the end of the list as a thing you can unify with. |
2021-06-22 01:18:14 +0200 | killsushi | (~killsushi@user/killsushi) |
2021-06-22 01:18:19 +0200 | <davean> | I had no clue that was a thing |
2021-06-22 01:18:30 +0200 | <davean> | I've never heard of it in regards to prolog |
2021-06-22 01:18:41 +0200 | <shachaf> | I think that's where the term comes from, at least. |
2021-06-22 01:19:05 +0200 | <shachaf> | The point is, a list is a thing that looks like (1 : 2 : 3 : []). A difference list is like a list, but parameterized on nil, so it's of the form (\nil -> 1 : 2 : 3 : nil) |
2021-06-22 01:19:31 +0200 | <shachaf> | So the nil is like a hole that you can fill in later, making list A end at the beginning of list B. |
2021-06-22 01:19:55 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 01:20:31 +0200 | <shachaf> | (\nil -> 1 : 2 : 3 : nil) [4,5,6] ---> [1,2,3,4,5,6], without ever having to actually traverse a [1,2,3] list. |
2021-06-22 01:21:09 +0200 | <davean> | Right but notice with THAT |
2021-06-22 01:21:17 +0200 | <davean> | > head $ (\nil -> 1 : 2 : 3 : nil) undefined |
2021-06-22 01:21:19 +0200 | <lambdabot> | 1 |
2021-06-22 01:21:29 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 01:21:31 +0200 | <davean> | er |
2021-06-22 01:21:36 +0200 | <davean> | that was a dumb thing to say |
2021-06-22 01:21:46 +0200 | moet_ | (~moet@172.58.19.20) (Ping timeout: 252 seconds) |
2021-06-22 01:22:44 +0200 | <shachaf> | Yes, right, once you have something of that form, you can take the head in constant time. |
2021-06-22 01:23:05 +0200 | <shachaf> | You can always flatten it: flatten dlist = (dlist [] ++) |
2021-06-22 01:23:14 +0200 | <shachaf> | But that's also a (worst-case) linear-time operation. |
2021-06-22 01:24:16 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 01:25:48 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 01:28:18 +0200 | thyriaen | (~thyriaen@45.178.73.238) |
2021-06-22 01:28:30 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 01:29:08 +0200 | <thyriaen> | Hello, i just started out with haskell and wrote my first function - something really strange is happening - i assume it has something to do with being lazy but i do not understand - can someone help me out ? |
2021-06-22 01:29:51 +0200 | <thyriaen> | https://hastebin.com/uduwetocof.apache this is the code i loaded into ghci |
2021-06-22 01:30:32 +0200 | <thyriaen> | Thank you very much - i have found my error ;) |
2021-06-22 01:32:29 +0200 | <geekosaur> | rubber duck debugging at its finest :) |
2021-06-22 01:32:33 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev) |
2021-06-22 01:33:52 +0200 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 252 seconds) |
2021-06-22 01:34:37 +0200 | <monochrom> | I and my TA once discussed giving out rubber ducks to students. |
2021-06-22 01:37:06 +0200 | <monochrom> | We then also considered the idea of these rubber ducks containing some computer power to decide whether "your question is difficult enough to escalated to the course forum". |
2021-06-22 01:37:49 +0200 | <monochrom> | My TA then correct pointed out that if the algorithm is simply "const no" it's at least 99% accurate. >:) |
2021-06-22 01:38:34 +0200 | dhil | (~dhil@195.213.192.47) (Ping timeout: 258 seconds) |
2021-06-22 01:39:11 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-22 01:39:58 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Quit: Leaving...) |
2021-06-22 01:41:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 01:43:50 +0200 | xsperry | (~as@user/xsperry) |
2021-06-22 01:43:52 +0200 | xsperry | (~as@user/xsperry) (Excess Flood) |
2021-06-22 01:44:03 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-22 01:44:23 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-22 01:44:23 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
2021-06-22 01:44:41 +0200 | xsperry | (~as@user/xsperry) |
2021-06-22 01:45:54 +0200 | haltux | (~haltux@a89-154-181-47.cpe.netcabo.pt) (Quit: Leaving) |
2021-06-22 01:50:18 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 240 seconds) |
2021-06-22 01:50:50 +0200 | renzhi | (~xp@modemcable070.17-177-173.mc.videotron.ca) |
2021-06-22 01:53:02 +0200 | involans | (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 250 seconds) |
2021-06-22 01:55:18 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 01:55:32 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 268 seconds) |
2021-06-22 01:56:52 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 01:57:05 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 01:58:41 +0200 | kayprish | (~kayprish@46.240.143.86) (Remote host closed the connection) |
2021-06-22 01:59:41 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:00:28 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2021-06-22 02:00:59 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-22 02:01:13 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:04:00 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:05:34 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:06:23 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-06-22 02:07:52 +0200 | hmmmas | (~chenqisu1@183.217.200.246) |
2021-06-22 02:08:33 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:10:06 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:10:34 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
2021-06-22 02:12:12 +0200 | nineonine | (~nineonine@50.216.62.2) |
2021-06-22 02:12:37 +0200 | thyriaen | (~thyriaen@45.178.73.238) (Quit: Leaving) |
2021-06-22 02:12:48 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:14:22 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:15:52 +0200 | hololeap | (hololeap@user/hololeap) (Quit: Bye) |
2021-06-22 02:17:10 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:17:23 +0200 | tomsmeding | (~tomsmedin@2a03:b0c0:0:1010::767:3001) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-06-22 02:17:37 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-06-22 02:17:42 +0200 | tomsmeding | (~tomsmedin@tomsmeding.com) |
2021-06-22 02:18:43 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:19:09 +0200 | killsushi_ | (~killsushi@2607:fea8:3d40:767:f4b9:4189:73f1:3f28) |
2021-06-22 02:19:09 +0200 | killsushi_ | (~killsushi@2607:fea8:3d40:767:f4b9:4189:73f1:3f28) (Changing host) |
2021-06-22 02:19:09 +0200 | killsushi_ | (~killsushi@user/killsushi/x-5912268) |
2021-06-22 02:20:17 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection) |
2021-06-22 02:21:04 +0200 | ddellacosta | (~ddellacos@86.106.121.100) |
2021-06-22 02:21:36 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:22:25 +0200 | killsushi | (~killsushi@user/killsushi) (Ping timeout: 244 seconds) |
2021-06-22 02:23:11 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:25:34 +0200 | ddellacosta | (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds) |
2021-06-22 02:25:41 +0200 | efvincent-007 | (~efvincent@71.69.232.38) |
2021-06-22 02:25:57 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:27:13 +0200 | tremon | (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
2021-06-22 02:27:32 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:30:29 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:31:44 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 02:32:03 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:35:04 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:35:06 +0200 | acid | (~acid@user/acid) (Ping timeout: 264 seconds) |
2021-06-22 02:35:15 +0200 | acid | (~acid@user/acid) |
2021-06-22 02:35:31 +0200 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-06-22 02:35:47 +0200 | p3n | (~p3n@217.198.124.246) |
2021-06-22 02:35:54 +0200 | V | (~v@anomalous.eu) (Remote host closed the connection) |
2021-06-22 02:36:25 +0200 | efvincent-007 | (~efvincent@71.69.232.38) (Ping timeout: 246 seconds) |
2021-06-22 02:36:29 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-06-22 02:36:37 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:36:53 +0200 | NieDzejkob | (~quassel@195.149.98.3) (Ping timeout: 244 seconds) |
2021-06-22 02:37:04 +0200 | NieDzejkob | (~quassel@195.149.98.3) |
2021-06-22 02:37:19 +0200 | V | (~v@anomalous.eu) |
2021-06-22 02:37:28 +0200 | is7s | (~is7s@2a01:4b00:895f:3d00:3d61:e4ff:2003:3c7) (Ping timeout: 246 seconds) |
2021-06-22 02:38:58 +0200 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:8de:a8d1:83fb:c4a6) (Read error: Connection reset by peer) |
2021-06-22 02:39:36 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:41:09 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:41:42 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-22 02:41:47 +0200 | hololeap | (hololeap@user/hololeap) |
2021-06-22 02:42:34 +0200 | hiruji | (~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6) (Ping timeout: 244 seconds) |
2021-06-22 02:44:09 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:45:44 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:45:57 +0200 | Deide | (~Deide@user/deide) (Quit: Seeee yaaaa) |
2021-06-22 02:46:29 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 02:47:57 +0200 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Ping timeout: 268 seconds) |
2021-06-22 02:48:34 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:50:07 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:52:10 +0200 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) (Ping timeout: 258 seconds) |
2021-06-22 02:52:36 +0200 | delYsid | (~user@user/delYsid) (ERC (IRC client for Emacs 27.1.50)) |
2021-06-22 02:52:55 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:53:57 +0200 | ddellacosta | (~ddellacos@86.106.121.100) |
2021-06-22 02:54:29 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 02:57:19 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 02:58:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 02:58:41 +0200 | ddellacosta | (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds) |
2021-06-22 02:58:51 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 03:00:36 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
2021-06-22 03:00:53 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-22 03:04:16 +0200 | killsushi_ | (~killsushi@user/killsushi/x-5912268) (Ping timeout: 244 seconds) |
2021-06-22 03:05:50 +0200 | xff0x | (~xff0x@2001:1a81:53f8:8c00:146b:f6fc:d9b4:bcad) (Ping timeout: 268 seconds) |
2021-06-22 03:06:05 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 03:07:03 +0200 | xff0x | (~xff0x@2001:1a81:5210:a00:e51a:a5db:7d11:7c5d) |
2021-06-22 03:07:22 +0200 | NieDzejkob | (~quassel@195.149.98.3) (Ping timeout: 252 seconds) |
2021-06-22 03:07:25 +0200 | mnrmnaugh | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Ping timeout: 265 seconds) |
2021-06-22 03:07:50 +0200 | NieDzejkob | (~quassel@195.149.98.3) |
2021-06-22 03:09:45 +0200 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-06-22 03:11:06 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds) |
2021-06-22 03:17:13 +0200 | <qrpnxz> | how do i evaluate a value in ghci without printing it, trying to get an effect to occur but it starts to cry if it can't print it |
2021-06-22 03:17:37 +0200 | zebrag | (~chris@user/zebrag) |
2021-06-22 03:18:06 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-06-22 03:18:08 +0200 | <geekosaur> | action >> return () -- ? |
2021-06-22 03:18:15 +0200 | <Axman6> | :t void . evaluate |
2021-06-22 03:18:17 +0200 | <lambdabot> | a -> IO () |
2021-06-22 03:18:40 +0200 | <Axman6> | @hoogle evaluate |
2021-06-22 03:18:41 +0200 | <lambdabot> | Control.Exception evaluate :: a -> IO a |
2021-06-22 03:18:41 +0200 | <lambdabot> | Control.Exception.Base evaluate :: a -> IO a |
2021-06-22 03:18:41 +0200 | <lambdabot> | GHC.IO evaluate :: a -> IO a |
2021-06-22 03:20:54 +0200 | <qrpnxz> | doesn't work |
2021-06-22 03:21:22 +0200 | <qrpnxz> | had to pull the values out by hand, but them in a list and sequence |
2021-06-22 03:21:36 +0200 | <qrpnxz> | *put |
2021-06-22 03:21:45 +0200 | x_kuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-06-22 03:21:48 +0200 | <Axman6> | by "doesn't work" you mean "didn't provide enough information to get the answer you needed" |
2021-06-22 03:22:23 +0200 | <qrpnxz> | nope, but if that's what you think alright |
2021-06-22 03:23:20 +0200 | <Axman6> | I can guarantee you what I said does what you said you wanted, but if you need to vully evaluate everything in the entire structure then you might have said that instead. NFData is the class you're after, drom the deepseq package |
2021-06-22 03:24:34 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-22 03:27:26 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
2021-06-22 03:27:47 +0200 | <qrpnxz> | i think IO won't happen unless it touches ghci at some point so it wasn't even an evaluation problem |
2021-06-22 03:29:38 +0200 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2021-06-22 03:29:45 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-06-22 03:29:46 +0200 | hololeap | (hololeap@user/hololeap) (Quit: Bye) |
2021-06-22 03:29:53 +0200 | <Axman6> | right, you didn't say anythign about executing an IO vlaue, you said evaluate a value. all you need then in void yourExpression |
2021-06-22 03:29:55 +0200 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.2) |
2021-06-22 03:30:02 +0200 | <jackdk> | Axman6++ |
2021-06-22 03:30:21 +0200 | <Axman6> | evaluation and executing are quite different things |
2021-06-22 03:30:50 +0200 | <qrpnxz> | i did say i was trying to get an effect to occur |
2021-06-22 03:31:25 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 250 seconds) |
2021-06-22 03:32:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-06-22 03:32:48 +0200 | <geekosaur> | which is why I suggested the other one, which does the effect but discards the value |
2021-06-22 03:33:02 +0200 | <geekosaur> | so ghci won'[t complain about it |
2021-06-22 03:33:22 +0200 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) |
2021-06-22 03:33:46 +0200 | <qrpnxz> | well it didn't do the effect |
2021-06-22 03:33:52 +0200 | <qrpnxz> | hence why i said it didn't work |
2021-06-22 03:34:56 +0200 | zebrag | (~chris@user/zebrag) (Remote host closed the connection) |
2021-06-22 03:37:43 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 03:40:01 +0200 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) (Quit: leaving) |
2021-06-22 03:40:18 +0200 | <qrpnxz> | unless "the effect" is heating the room lol |
2021-06-22 03:42:11 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 252 seconds) |
2021-06-22 03:43:19 +0200 | <Axman6> | well, evaluating an IO expression won't do very much, only executing it will. an IO a is a recipe which, when _executed_ returns an a. _evaluating_ it just forces it, if it is a think, to be evaluated enough to know that its constructor is the IO constructor |
2021-06-22 03:44:57 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-06-22 03:45:16 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-22 03:46:08 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 03:47:41 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 03:50:24 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 03:51:28 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds) |
2021-06-22 03:51:52 +0200 | slack1256 | (~slack1256@181.203.47.107) |
2021-06-22 03:51:56 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 03:54:48 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 03:55:19 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-06-22 03:56:23 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 03:58:35 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2021-06-22 03:59:12 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:00:11 +0200 | bilegeek | (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7) (Quit: Leaving) |
2021-06-22 04:00:45 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:02:42 +0200 | xff0x | (~xff0x@2001:1a81:5210:a00:e51a:a5db:7d11:7c5d) (Ping timeout: 264 seconds) |
2021-06-22 04:03:33 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:04:12 +0200 | moet | (~moet@172.58.22.170) |
2021-06-22 04:04:15 +0200 | xff0x | (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2) |
2021-06-22 04:04:19 +0200 | np | (~nerdypepp@user/nerdypepper) (Quit: bye) |
2021-06-22 04:05:07 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:08:11 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:08:33 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) |
2021-06-22 04:08:50 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Ping timeout: 258 seconds) |
2021-06-22 04:09:03 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 04:09:46 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:09:54 +0200 | FragByte | (~christian@user/fragbyte) (Ping timeout: 264 seconds) |
2021-06-22 04:10:47 +0200 | xff0x | (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2) (Ping timeout: 252 seconds) |
2021-06-22 04:10:47 +0200 | jakalx | (~jakalx@base.jakalx.net) (Ping timeout: 252 seconds) |
2021-06-22 04:11:06 +0200 | farn | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (Ping timeout: 264 seconds) |
2021-06-22 04:11:12 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer) |
2021-06-22 04:11:20 +0200 | bjobjo | (~bo@user/bjobjo) (Ping timeout: 252 seconds) |
2021-06-22 04:11:22 +0200 | Xe | (~cadey@tailscale/xe) (Ping timeout: 272 seconds) |
2021-06-22 04:11:40 +0200 | xff0x | (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2) |
2021-06-22 04:11:41 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-06-22 04:11:42 +0200 | m4lvin | (~m4lvin@w4eg.de) (Ping timeout: 264 seconds) |
2021-06-22 04:11:42 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) (Ping timeout: 264 seconds) |
2021-06-22 04:11:42 +0200 | yorick | (~yorick@user/yorick) (Ping timeout: 264 seconds) |
2021-06-22 04:11:44 +0200 | FragByte | (~christian@user/fragbyte) |
2021-06-22 04:11:53 +0200 | nf | (~n@monade.li) (Ping timeout: 252 seconds) |
2021-06-22 04:12:16 +0200 | farn | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) |
2021-06-22 04:12:18 +0200 | lisq | (~quassel@lis.moe) (Ping timeout: 264 seconds) |
2021-06-22 04:12:23 +0200 | bjobjo | (~bo@2a01:79c:cebf:d688::9e6) |
2021-06-22 04:12:28 +0200 | m4lvin | (~m4lvin@w4eg.de) |
2021-06-22 04:12:29 +0200 | lisq | (~quassel@lis.moe) |
2021-06-22 04:12:31 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:12:43 +0200 | nf | (~n@monade.li) |
2021-06-22 04:13:07 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) |
2021-06-22 04:13:07 +0200 | Xe | (~cadey@tailscale/xe) |
2021-06-22 04:13:30 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds) |
2021-06-22 04:14:03 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:14:50 +0200 | yorick | (~yorick@user/yorick) |
2021-06-22 04:16:28 +0200 | slack1256 | (~slack1256@181.203.47.107) (Remote host closed the connection) |
2021-06-22 04:16:55 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
2021-06-22 04:17:37 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-22 04:18:30 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:19:10 +0200 | <qrpnxz> | :t let i f = f (<*>) id in i $ i $ i $ i i |
2021-06-22 04:19:11 +0200 | <lambdabot> | error: |
2021-06-22 04:19:11 +0200 | <lambdabot> | • Occurs check: cannot construct the infinite type: a0 ~ a0 -> a0 |
2021-06-22 04:19:12 +0200 | <lambdabot> | Expected type: (((((((a0 -> a0 -> b0) -> (a0 -> a0) -> a0 -> b0) |
2021-06-22 04:21:22 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:22:55 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:25:34 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 04:25:41 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:27:14 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:28:51 +0200 | killsushi_ | (~killsushi@user/killsushi/x-5912268) |
2021-06-22 04:30:01 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:30:18 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds) |
2021-06-22 04:31:04 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
2021-06-22 04:31:34 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:34:33 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:36:03 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-06-22 04:36:03 +0200 | FinnElija | Guest1234 |
2021-06-22 04:36:03 +0200 | finn_elija | FinnElija |
2021-06-22 04:36:06 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:39:03 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:39:15 +0200 | Guest1234 | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 265 seconds) |
2021-06-22 04:40:36 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:43:27 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:45:01 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:45:58 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving) |
2021-06-22 04:46:30 +0200 | stevenxl | (~stevenlei@174.128.182.199) (Ping timeout: 265 seconds) |
2021-06-22 04:48:01 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:49:36 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:52:36 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:54:10 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 04:56:22 +0200 | td__ | (~td@94.134.91.150) (Ping timeout: 258 seconds) |
2021-06-22 04:57:07 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 04:57:50 +0200 | cyclosa | (~cyclosa@2603-6011-4a41-8ada-0000-0000-0000-0eaa.res6.spectrum.com) (Quit: computer broke) |
2021-06-22 04:57:57 +0200 | td_ | (~td@94.134.91.59) |
2021-06-22 04:58:42 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) |
2021-06-22 05:01:31 +0200 | betelgeuse | (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-06-22 05:02:04 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 05:05:29 +0200 | alx741 | (~alx741@181.196.68.152) (Quit: alx741) |
2021-06-22 05:06:32 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-06-22 05:09:07 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-06-22 05:10:56 +0200 | sm | (~user@plaintextaccounting/sm) (ERC (IRC client for Emacs 27.0.50)) |
2021-06-22 05:11:27 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-06-22 05:11:47 +0200 | stevenxl | (~stevenlei@174.128.182.199) |
2021-06-22 05:11:51 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-22 05:12:49 +0200 | sheepduck | (~sheepduck@user/sheepduck) (Remote host closed the connection) |
2021-06-22 05:13:32 +0200 | mikail_ | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) |
2021-06-22 05:16:18 +0200 | stevenxl | (~stevenlei@174.128.182.199) (Ping timeout: 258 seconds) |
2021-06-22 05:18:54 +0200 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
2021-06-22 05:20:18 +0200 | hammock | (~Hammock@2600:1700:19a1:3330::625) (Ping timeout: 240 seconds) |
2021-06-22 05:27:03 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
2021-06-22 05:29:04 +0200 | typesafety | (~typesafet@umbreller.kvi.sgsnet.se) |
2021-06-22 05:29:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 05:29:20 +0200 | typesafety | (~typesafet@umbreller.kvi.sgsnet.se) (Client Quit) |
2021-06-22 05:34:40 +0200 | sleblanc | (~sleblanc@107.159.26.53) |
2021-06-22 05:35:22 +0200 | beka | (~beka@104-244-27-23.static.monkeybrains.net) |
2021-06-22 05:37:40 +0200 | sleblanc | (~sleblanc@107.159.26.53) (Client Quit) |
2021-06-22 05:37:57 +0200 | sleblanc | (~sleblanc@107.159.26.53) |
2021-06-22 05:38:13 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
2021-06-22 05:38:16 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-06-22 05:38:19 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-06-22 05:39:30 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-06-22 05:40:22 +0200 | ddellacosta | (~ddellacos@86.106.121.100) |
2021-06-22 05:40:23 +0200 | unyu | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
2021-06-22 05:41:39 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
2021-06-22 05:42:16 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 250 seconds) |
2021-06-22 05:42:37 +0200 | sleblanc | sebleblanc |
2021-06-22 05:42:47 +0200 | sebleblanc | sleblnac |
2021-06-22 05:42:50 +0200 | sleblnac | sleblanc |
2021-06-22 05:49:32 +0200 | sleblanc | (~sleblanc@107.159.26.53) (Changing host) |
2021-06-22 05:49:32 +0200 | sleblanc | (~sleblanc@user/sleblanc) |
2021-06-22 05:49:52 +0200 | Guest51 | (~Guest51@78.155.54.115) |
2021-06-22 05:50:54 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-06-22 05:51:37 +0200 | beka | (~beka@104-244-27-23.static.monkeybrains.net) (Remote host closed the connection) |
2021-06-22 05:56:23 +0200 | mikail_ | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 252 seconds) |
2021-06-22 05:59:19 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-22 06:01:38 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-06-22 06:01:44 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 06:03:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-22 06:06:52 +0200 | moet_ | (~moet@172.58.27.234) |
2021-06-22 06:10:07 +0200 | moet | (~moet@172.58.22.170) (Ping timeout: 265 seconds) |
2021-06-22 06:11:02 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-06-22 06:11:02 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-06-22 06:12:59 +0200 | v01d4lph4 | (~v01d4lph4@122.160.65.250) |
2021-06-22 06:12:59 +0200 | v01d4lph4 | (~v01d4lph4@122.160.65.250) (Changing host) |
2021-06-22 06:12:59 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-06-22 06:13:55 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-22 06:16:30 +0200 | juhp | (~juhp@128.106.188.66) (Quit: juhp) |
2021-06-22 06:16:43 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-22 06:19:52 +0200 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 06:23:04 +0200 | ddellacosta | (~ddellacos@86.106.121.100) (Ping timeout: 268 seconds) |
2021-06-22 06:23:12 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-06-22 06:28:27 +0200 | haasn | (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2021-06-22 06:28:57 +0200 | haasn | (~nand@haasn.dev) |
2021-06-22 06:30:44 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
2021-06-22 06:36:44 +0200 | ddellaco_ | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Remote host closed the connection) |
2021-06-22 06:37:13 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 06:40:08 +0200 | Topsi1 | (~Tobias@dyndsl-095-033-016-151.ewe-ip-backbone.de) |
2021-06-22 06:41:01 +0200 | Topsi | (~Tobias@dyndsl-091-249-082-141.ewe-ip-backbone.de) (Ping timeout: 258 seconds) |
2021-06-22 06:41:47 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 258 seconds) |
2021-06-22 06:46:36 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 268 seconds) |
2021-06-22 06:52:49 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 06:54:37 +0200 | <dminuoso> | 112 |
2021-06-22 06:57:56 +0200 | Xnuk | (~xnuk@45.76.202.58) (Read error: Connection reset by peer) |
2021-06-22 06:58:13 +0200 | Xnuk | (~xnuk@vultr.xnu.kr) |
2021-06-22 07:00:13 +0200 | finsternis | (~X@23.226.237.192) (Remote host closed the connection) |
2021-06-22 07:03:17 +0200 | renzhi | (~xp@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 265 seconds) |
2021-06-22 07:10:13 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 07:13:21 +0200 | pottsy | (~pottsy@2400:4050:b560:3700:d9ad:59b1:5f34:93cd) |
2021-06-22 07:14:53 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 265 seconds) |
2021-06-22 07:19:31 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-06-22 07:22:45 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 07:23:17 +0200 | efvincent-007 | (~efvincent@71.69.232.38) |
2021-06-22 07:24:47 +0200 | Guest51 | (~Guest51@78.155.54.115) (Quit: Client closed) |
2021-06-22 07:26:42 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 240 seconds) |
2021-06-22 07:31:45 +0200 | bitmapper | (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
2021-06-22 07:34:18 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
2021-06-22 07:37:23 +0200 | deshalb | (~deshalb@user/deshalb) |
2021-06-22 07:43:30 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) |
2021-06-22 07:47:41 +0200 | mpt | (~tom@2a00:20:800f:87cc:fcb9:2f31:1e2e:8504) |
2021-06-22 07:53:22 +0200 | mpt | (~tom@2a00:20:800f:87cc:fcb9:2f31:1e2e:8504) (Read error: Connection reset by peer) |
2021-06-22 07:54:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-06-22 07:55:05 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-06-22 07:58:05 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-22 07:59:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 07:59:55 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-06-22 08:00:31 +0200 | efvincent-007 | (~efvincent@71.69.232.38) (Ping timeout: 246 seconds) |
2021-06-22 08:10:48 +0200 | rookie101 | (~rookie@207.154.204.166) |
2021-06-22 08:11:21 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-22 08:13:19 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-06-22 08:15:26 +0200 | michalz | (~michalz@185.246.204.61) |
2021-06-22 08:15:44 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) (Quit: bye) |
2021-06-22 08:16:05 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-06-22 08:17:40 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-06-22 08:19:04 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-06-22 08:19:33 +0200 | Erutuon | (~Erutuon@user/erutuon) (Quit: WeeChat 2.8) |
2021-06-22 08:19:44 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-06-22 08:19:50 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:f76a:37dd:7d13:fae6) |
2021-06-22 08:19:52 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) |
2021-06-22 08:20:11 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 08:20:14 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
2021-06-22 08:21:13 +0200 | Erutuon | (~Erutuon@user/erutuon) (Client Quit) |
2021-06-22 08:21:23 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-06-22 08:24:29 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-06-22 08:31:22 +0200 | leeb | (~leeb@KD111239153143.au-net.ne.jp) |
2021-06-22 08:33:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-22 08:34:29 +0200 | leeb_ | (~leeb@KD111239158072.au-net.ne.jp) (Ping timeout: 258 seconds) |
2021-06-22 08:35:46 +0200 | sheepduck | (~sheepduck@user/sheepduck) |
2021-06-22 08:37:50 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-06-22 08:38:14 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 08:43:18 +0200 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) |
2021-06-22 08:48:22 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds) |
2021-06-22 08:49:14 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-22 08:50:35 +0200 | bontaq` | (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 265 seconds) |
2021-06-22 08:50:46 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-06-22 08:51:04 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-06-22 08:51:38 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-06-22 08:52:00 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-06-22 08:52:12 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-06-22 08:55:57 +0200 | elf_fortrez | (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed) |
2021-06-22 08:57:31 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-06-22 08:59:38 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2021-06-22 09:03:06 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) |
2021-06-22 09:03:14 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection) |
2021-06-22 09:03:51 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 09:05:18 +0200 | chele | (~chele@user/chele) |
2021-06-22 09:05:49 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-06-22 09:07:30 +0200 | Xraell | (~yourname@45.157.15.145) |
2021-06-22 09:07:56 +0200 | Xraell | (~yourname@45.157.15.145) (Client Quit) |
2021-06-22 09:08:02 +0200 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) |
2021-06-22 09:08:28 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
2021-06-22 09:10:16 +0200 | bjobjo | (~bo@2a01:79c:cebf:d688::9e6) (Changing host) |
2021-06-22 09:10:16 +0200 | bjobjo | (~bo@user/bjobjo) |
2021-06-22 09:10:19 +0200 | Xraell | (~yourname@45.157.15.145) |
2021-06-22 09:10:31 +0200 | sheepduck | (~sheepduck@user/sheepduck) (Remote host closed the connection) |
2021-06-22 09:12:40 +0200 | IvanDru[m] | lwe[m] |
2021-06-22 09:12:50 +0200 | mcfilib | (sid302703@user/mcfilib) |
2021-06-22 09:14:59 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection) |
2021-06-22 09:15:52 +0200 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) |
2021-06-22 09:16:34 +0200 | moet | (~moet@172.58.30.115) |
2021-06-22 09:17:50 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-22 09:19:32 +0200 | moet_ | (~moet@172.58.27.234) (Ping timeout: 252 seconds) |
2021-06-22 09:19:43 +0200 | mcglk | (~mcglk@131.191.49.120) (Ping timeout: 258 seconds) |
2021-06-22 09:21:59 +0200 | haskl | (~haskeller@2601:643:897f:561d::af3) |
2021-06-22 09:22:26 +0200 | <haskl> | Has anyone had success with building static binaries using the process outlined here? https://www.tweag.io/blog/2020-09-30-bazel-static-haskell/ |
2021-06-22 09:28:58 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2021-06-22 09:30:05 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection) |
2021-06-22 09:30:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 09:32:37 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2021-06-22 09:32:38 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Client Quit) |
2021-06-22 09:33:10 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-06-22 09:35:22 +0200 | mcglk | (~mcglk@131.191.49.120) |
2021-06-22 09:35:53 +0200 | <maerwald[m]> | I do fully static binaries in an alpine container |
2021-06-22 09:36:24 +0200 | <maerwald[m]> | Not sure why people complicate this |
2021-06-22 09:40:55 +0200 | <tdammers> | I like deploying "fat binaries" to vanilla debian servers |
2021-06-22 09:41:31 +0200 | moet_ | (~moet@172.58.27.134) |
2021-06-22 09:42:57 +0200 | <haskl> | I've never made a release of Haskell software before but now I'm interested in doing so for a small project. Anyone care to point me in the right direction? I'm using Debian right now. maerwald[m] could you share an example with me? tdammers not sure what that means. I once just used the static flag for GHC on another project of mine but, without going into specifics, I read about some problems that it introduced and it was unstable for some |
2021-06-22 09:42:57 +0200 | <haskl> | users. |
2021-06-22 09:44:00 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-06-22 09:44:38 +0200 | moet | (~moet@172.58.30.115) (Ping timeout: 258 seconds) |
2021-06-22 09:44:55 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-06-22 09:45:18 +0200 | <maerwald[m]> | Just docker run an alpine container, ensure system libs hsve static versions, then build with --ghc-options='-split-sections -optl-static' |
2021-06-22 09:45:25 +0200 | <maerwald[m]> | Done |
2021-06-22 09:45:42 +0200 | <maerwald[m]> | No weird nix problems |
2021-06-22 09:46:40 +0200 | euandreh_ | (~euandreh@2804:14c:33:9fe5:ee71:32ea:12e0:378c) (Ping timeout: 268 seconds) |
2021-06-22 09:47:25 +0200 | euandreh_ | (~euandreh@2804:14c:33:9fe5:4732:d8b1:5f78:9a82) |
2021-06-22 09:49:20 +0200 | <haskl> | maerwald[m], thanks for pointing me in the right direction, I'll look into that. |
2021-06-22 09:51:05 +0200 | <haskl> | https://github.com/fossas/haskell-static-alpine This looks great! |
2021-06-22 09:51:29 +0200 | <maerwald[m]> | Don't need that |
2021-06-22 09:51:41 +0200 | <maerwald[m]> | Just normal alpine container |
2021-06-22 09:52:53 +0200 | <tdammers> | haskl: "releasing" and "deploying" are different things. "releasing" just means you upload a source bundle (and, optionally, binaries) to some public repository - for Haskell packages, that would typically be Hackage |
2021-06-22 09:54:18 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
2021-06-22 09:54:25 +0200 | <haskl> | tdammers, I made a little tool for building gopherholes (it's liek a static site builder, but for the Gopher protocol) and I just want to give non-savvy people a binary they can run to test it out as it's in pre-alpha. |
2021-06-22 09:55:03 +0200 | <haskl> | So yeah, I'm looking to make an alpha release of the software with a static binary. |
2021-06-22 09:56:02 +0200 | <haskl> | maerwald[m], a normal alpine container that's setup with the right version of GHC and cabal? and that's it? you mentioned something about making sure all the system libs are static versions. I'm not sure exactly what yo umean by that. |
2021-06-22 09:56:36 +0200 | <maerwald[m]> | You install ghc and cabal via ghcup and static libraries via apk |
2021-06-22 10:02:48 +0200 | boxscape_ | (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) |
2021-06-22 10:03:35 +0200 | boxscape_ | (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Changing host) |
2021-06-22 10:03:35 +0200 | boxscape_ | (~boxscape_@user/boxscape) |
2021-06-22 10:04:14 +0200 | Ferdiran1 | Ferdirand |
2021-06-22 10:04:32 +0200 | Ferdirand | (~somebody@2001:4c78:2012:5000::2) (Changing host) |
2021-06-22 10:04:32 +0200 | Ferdirand | (~somebody@user/ferdirand) |
2021-06-22 10:08:04 +0200 | boxscape_ | (~boxscape_@user/boxscape) (Quit: Connection closed) |
2021-06-22 10:09:58 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-06-22 10:11:26 +0200 | berberman_ | (~berberman@user/berberman) |
2021-06-22 10:12:26 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-06-22 10:12:54 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 264 seconds) |
2021-06-22 10:13:40 +0200 | jiribenes | (~jiribenes@rosa.jiribenes.com) |
2021-06-22 10:14:11 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-22 10:14:42 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-06-22 10:15:28 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 10:18:28 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-22 10:19:03 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-22 10:21:20 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-06-22 10:21:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Remote host closed the connection) |
2021-06-22 10:22:12 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds) |
2021-06-22 10:22:35 +0200 | hegstal | (~hegstal@2a02:c7f:7604:8a00:7821:4ac6:7f63:f8) |
2021-06-22 10:23:34 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 268 seconds) |
2021-06-22 10:28:50 +0200 | moet_ | (~moet@172.58.27.134) (Ping timeout: 252 seconds) |
2021-06-22 10:29:30 +0200 | chddr | (~Thunderbi@31.148.23.125) |
2021-06-22 10:29:44 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
2021-06-22 10:31:38 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 10:32:10 +0200 | qrpnxz | (~qrpnxz@user/qrpnxz) (Ping timeout: 250 seconds) |
2021-06-22 10:33:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-06-22 10:34:18 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-06-22 10:34:52 +0200 | involans | (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) |
2021-06-22 10:36:18 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds) |
2021-06-22 10:38:15 +0200 | dhil | (~dhil@195.213.192.47) |
2021-06-22 10:38:46 +0200 | <haskl> | maerwald[m], thanks! i'll read into apk as well. this sounds much simpler. i appreciate all the guidance. |
2021-06-22 10:39:26 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-06-22 10:43:49 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2021-06-22 10:45:50 +0200 | kmein | (~weechat@user/kmein) |
2021-06-22 10:46:48 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
2021-06-22 10:47:10 +0200 | chddr | (~Thunderbi@31.148.23.125) (Ping timeout: 252 seconds) |
2021-06-22 10:47:41 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
2021-06-22 10:48:54 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-06-22 10:50:54 +0200 | mcglk_ | (~mcglk@131.191.49.120) |
2021-06-22 10:51:56 +0200 | mcglk | (~mcglk@131.191.49.120) (Ping timeout: 252 seconds) |
2021-06-22 10:54:13 +0200 | mcglk | (~mcglk@131.191.49.120) |
2021-06-22 10:55:41 +0200 | mcglk | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
2021-06-22 10:56:14 +0200 | mcglk | (~mcglk@131.191.49.120) |
2021-06-22 10:56:20 +0200 | mcglk_ | (~mcglk@131.191.49.120) (Ping timeout: 252 seconds) |
2021-06-22 11:00:53 +0200 | even4void | (even4void@2607:5300:203:3f52::12) |
2021-06-22 11:03:13 +0200 | smitop | (~smitop@user/smitop) (Remote host closed the connection) |
2021-06-22 11:03:32 +0200 | yoctocell | (~user@h87-96-130-155.cust.a3fiber.se) |
2021-06-22 11:04:13 +0200 | smitop | (~smitop@user/smitop) |
2021-06-22 11:05:39 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 11:06:41 +0200 | qbt | (~edun@user/edun) |
2021-06-22 11:10:24 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 11:10:42 +0200 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:69d4:ccfd:e578:282b) |
2021-06-22 11:10:51 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-22 11:15:06 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
2021-06-22 11:15:22 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-06-22 11:17:14 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-06-22 11:19:35 +0200 | haskl | (~haskeller@2601:643:897f:561d::af3) (Changing host) |
2021-06-22 11:19:36 +0200 | haskl | (~haskeller@user/haskl) |
2021-06-22 11:22:38 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 11:24:25 +0200 | jneira | (~jneira@212.8.115.226) |
2021-06-22 11:26:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 240 seconds) |
2021-06-22 11:29:40 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-22 11:39:11 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-22 11:49:14 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 11:49:18 +0200 | deshalb | (~deshalb@user/deshalb) (Ping timeout: 268 seconds) |
2021-06-22 11:50:22 +0200 | __monty__ | (~toonn@user/toonn) |
2021-06-22 11:50:31 +0200 | deshalb | (~deshalb@user/deshalb) |
2021-06-22 11:54:14 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-06-22 11:54:18 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-06-22 11:55:56 +0200 | unyu | (~pyon@user/pyon) |
2021-06-22 11:58:16 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-22 12:00:49 +0200 | alp | (~alp@163.172.83.213) (Changing host) |
2021-06-22 12:00:49 +0200 | alp | (~alp@user/alp) |
2021-06-22 12:00:57 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-22 12:10:53 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-22 12:17:30 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) (Quit: EXIT) |
2021-06-22 12:17:49 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) |
2021-06-22 12:18:32 +0200 | hmmmas | (~chenqisu1@183.217.200.246) |
2021-06-22 12:21:59 +0200 | trent2 | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
2021-06-22 12:22:24 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 12:23:09 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-22 12:23:58 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 12:27:33 +0200 | Alex_test | (~al_test@178.34.160.156) (Ping timeout: 258 seconds) |
2021-06-22 12:27:56 +0200 | AlexZenon | (~alzenon@178.34.160.156) (Ping timeout: 258 seconds) |
2021-06-22 12:28:00 +0200 | <Las[m]> | I have a C library I'm using with that isn't thread-safe, so I was thinking of restricting all interaction with it to one bound thread. Are there any common approaches for this? I was thinking I could perhaps somehow send over the IO actions I want to perform through some channel-like thing and then get the result back after performing it in the other thread. |
2021-06-22 12:28:01 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-22 12:28:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 240 seconds) |
2021-06-22 12:28:53 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 12:29:32 +0200 | AlexNoo | (~AlexNoo@178.34.160.156) (Ping timeout: 265 seconds) |
2021-06-22 12:30:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 12:30:37 +0200 | Morrow | (~MorrowM_@147.161.8.246) |
2021-06-22 12:31:15 +0200 | killsushi_ | (~killsushi@user/killsushi/x-5912268) (Quit: Leaving) |
2021-06-22 12:32:45 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-22 12:33:25 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-22 12:33:31 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-06-22 12:35:16 +0200 | Meh | (~Meh@202.14.120.214) |
2021-06-22 12:35:40 +0200 | Meh | Guest4839 |
2021-06-22 12:35:44 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-06-22 12:36:19 +0200 | Guest4839 | (~Meh@202.14.120.214) (Client Quit) |
2021-06-22 12:37:54 +0200 | teaSlurper | (~chris@81.96.113.213) (Ping timeout: 258 seconds) |
2021-06-22 12:45:55 +0200 | zyklotomic | (~ethan@2604:a880:800:10::79f:8001) |
2021-06-22 12:46:13 +0200 | <zyklotomic> | is there syntax sugar for declaring instances for multiple types in one line? |
2021-06-22 12:46:40 +0200 | <zyklotomic> | instead of having to do instance Eq TypeA, newline, instance Eq TypeB |
2021-06-22 12:46:50 +0200 | <merijn> | I don't think there is |
2021-06-22 12:46:52 +0200 | <zyklotomic> | can I like do instance Eq TypeA typeB in one go |
2021-06-22 12:46:57 +0200 | <zyklotomic> | ah i see, just checking, thanks |
2021-06-22 12:47:01 +0200 | mikail_ | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) |
2021-06-22 12:47:04 +0200 | <merijn> | tbh, I've never really had so many types to define instance on that it was relevant |
2021-06-22 12:47:35 +0200 | <zyklotomic> | yeah it isnt' super necessary, thought it might just potentially make it cleaner |
2021-06-22 12:47:40 +0200 | <merijn> | zyklotomic: If you have an empty isntance declaration you could just tag it onto the type definitiin via deriving, no? |
2021-06-22 12:48:40 +0200 | <tomsmeding> | Las[m]: you may be interested in http://www.vex.net/~trebla/haskell/ghc-conc-ffi.xhtml |
2021-06-22 12:48:53 +0200 | xff0x | (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2) (Ping timeout: 252 seconds) |
2021-06-22 12:49:20 +0200 | <zyklotomic> | i'm not entirely sure, not all typeclasses though |
2021-06-22 12:49:25 +0200 | xff0x | (~xff0x@2001:1a81:5218:4800:1515:545a:1239:1833) |
2021-06-22 12:49:50 +0200 | <zyklotomic> | merijn: like, iirc, there is an AnyTypeDeriving extension, forgot the exact name |
2021-06-22 12:50:41 +0200 | <zyklotomic> | maybe i'm not understanding correctly, am noob |
2021-06-22 12:51:16 +0200 | kayprish | (~kayprish@46.240.143.86) |
2021-06-22 12:51:42 +0200 | <zyklotomic> | -XGeneralizedNewTypeDeriving i think |
2021-06-22 12:52:13 +0200 | <lortabac> | zyklotomic: there is DeriveAnyClass, but it goes in the opposite sense: you can derive multiple classes for a single type |
2021-06-22 12:53:11 +0200 | <lortabac> | also, that extension can be confusing (unless you specify the strategy explicitly with DerivingStrategies) |
2021-06-22 12:53:16 +0200 | mnrmnaugh | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) |
2021-06-22 12:53:35 +0200 | <zyklotomic> | you mean GenearilezdNewTypeDeriving? |
2021-06-22 12:53:44 +0200 | <zyklotomic> | by "that extension" |
2021-06-22 12:53:50 +0200 | <lortabac> | DeriveAnyClass |
2021-06-22 12:53:56 +0200 | <zyklotomic> | ah ok |
2021-06-22 12:54:55 +0200 | <zyklotomic> | lortabac, merijn: thanks, the both of you, for your input |
2021-06-22 12:55:53 +0200 | <zyklotomic> | the confusing part makes sense yes, because otherwise it feels too auto-magical |
2021-06-22 13:00:11 +0200 | teaSlurper | (~chris@81.96.113.213) |
2021-06-22 13:00:52 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-06-22 13:03:36 +0200 | <Las[m]> | tomsmeding: Thanks! This looks like a nice resouce |
2021-06-22 13:03:36 +0200 | <Las[m]> | resource* |
2021-06-22 13:04:18 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 13:04:20 +0200 | <tomsmeding> | written by an active member of this channel :) |
2021-06-22 13:05:44 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-22 13:06:59 +0200 | <Cale> | zyklotomic: If it really got serious, it'd be possible to generate a lot of instances like that using TemplateHaskell (but you probably want more than a few) |
2021-06-22 13:07:14 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Ping timeout: 265 seconds) |
2021-06-22 13:08:00 +0200 | stevenxl | (~stevenlei@174.128.182.215) |
2021-06-22 13:08:38 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Quit: ubert) |
2021-06-22 13:08:42 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-06-22 13:08:55 +0200 | <zyklotomic> | Cale: have never dabbled in TemplateHaskell before lol, but yeah my use case right now definitely doesnt justify it |
2021-06-22 13:11:01 +0200 | chddr | (~Thunderbi@31.148.23.125) |
2021-06-22 13:11:52 +0200 | teaSlurper | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-06-22 13:15:12 +0200 | biggs | (~biggs@host-80-43-81-131.as13285.net) |
2021-06-22 13:17:48 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 13:22:13 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
2021-06-22 13:22:26 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-06-22 13:22:39 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) (Read error: Connection reset by peer) |
2021-06-22 13:22:59 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2021-06-22 13:25:16 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
2021-06-22 13:26:28 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Remote host closed the connection) |
2021-06-22 13:27:07 +0200 | hseg | (~gesh@185.120.126.29) |
2021-06-22 13:27:47 +0200 | biggs | (~biggs@host-80-43-81-131.as13285.net) (Quit: Client closed) |
2021-06-22 13:28:08 +0200 | <hseg> | Hi. Am trying to construct a list, and have the entire expression be an empty list if any of the preconditions fail |
2021-06-22 13:28:19 +0200 | <hseg> | have written two ways: http://ix.io/3qJM |
2021-06-22 13:28:31 +0200 | <hseg> | but neither is aesthetically appealing |
2021-06-22 13:29:48 +0200 | <hseg> | (especially considering these lists occur in an expression context, so I'd have tm:tm':complicated_term:... |
2021-06-22 13:30:20 +0200 | involans | (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-06-22 13:30:24 +0200 | unyu | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
2021-06-22 13:31:15 +0200 | <Las[m]> | tomsmeding: this is a nice resource, but it doesn't describe a way of executing an `IO a` in a specific OS thread, which is what I want |
2021-06-22 13:31:31 +0200 | <Las[m]> | since I want to provide a safe abstraction over the library |
2021-06-22 13:32:47 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) () |
2021-06-22 13:33:00 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-06-22 13:33:55 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Client Quit) |
2021-06-22 13:34:09 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-06-22 13:34:42 +0200 | euandreh_ | (~euandreh@2804:14c:33:9fe5:4732:d8b1:5f78:9a82) (Ping timeout: 240 seconds) |
2021-06-22 13:35:28 +0200 | <dminuoso> | % let pred = (< 3) in foldrM (\x xs -> if (pred x) then (Just (x:xs)) else Nothing) [] [1,2,2] |
2021-06-22 13:35:28 +0200 | <yahb> | dminuoso: Just [1,2,2] |
2021-06-22 13:35:31 +0200 | <dminuoso> | hseg: This maybe? |
2021-06-22 13:35:43 +0200 | euandreh_ | (~euandreh@2804:14c:33:9fe5:3fd5:92e4:b3b4:44e0) |
2021-06-22 13:35:48 +0200 | <dminuoso> | Im thinking this can be improved still, just busy with other stuff |
2021-06-22 13:37:58 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 13:38:51 +0200 | <merijn> | Las[m]: You can't specify a specific OS thread. You can require that a Haskell thread always executes on the *same* OS thread |
2021-06-22 13:39:35 +0200 | <merijn> | Las[m]: i.e. you can say "this haskell thread should always run on the same thread" for cases where you call C code that uses, thread local storage, for example |
2021-06-22 13:39:50 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-06-22 13:41:35 +0200 | awth13 | (~user@user/awth13) (Remote host closed the connection) |
2021-06-22 13:41:53 +0200 | <dminuoso> | Ah perhaps you could write: |
2021-06-22 13:42:06 +0200 | <dminuoso> | % let pred = (< 3) in foldrM (\x xs -> guard (pred x); Just (x:xs)) [] [1,2,2] |
2021-06-22 13:42:06 +0200 | <yahb> | dminuoso: ; <interactive>:23:52: error: parse error on input `;' |
2021-06-22 13:42:13 +0200 | <dminuoso> | % let pred = (< 3) in foldrM (\x xs -> do { guard (pred x); Just (x:xs) }) [] [1,2,2] |
2021-06-22 13:42:13 +0200 | <yahb> | dminuoso: Just [1,2,2] |
2021-06-22 13:42:17 +0200 | <dminuoso> | This looks kind of nice |
2021-06-22 13:42:51 +0200 | <Las[m]> | merijn: then couldn't I somehow pass over the `IO a` I want to execute to some bound thread over a channel or similar? |
2021-06-22 13:43:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds) |
2021-06-22 13:43:25 +0200 | awth13 | (~user@user/awth13) |
2021-06-22 13:45:09 +0200 | <kritzefitz> | Las[m], yes you can, exactly as you say. Start a bound thread and pass your IO actions there using a channel. |
2021-06-22 13:45:18 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 264 seconds) |
2021-06-22 13:46:21 +0200 | <boxscape> | dminuoso: MonadComprehensions works nicely with that |
2021-06-22 13:46:22 +0200 | <boxscape> | % let pred = (< 3) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2] |
2021-06-22 13:46:22 +0200 | <yahb> | boxscape: [1,2,2] |
2021-06-22 13:46:46 +0200 | <dminuoso> | mmm |
2021-06-22 13:46:56 +0200 | <dminuoso> | Oh, using list monad itself, thats not bad either! |
2021-06-22 13:47:00 +0200 | <dminuoso> | % let pred = (< 1) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2] |
2021-06-22 13:47:01 +0200 | <yahb> | dminuoso: *** Exception: user error (mzero) |
2021-06-22 13:47:10 +0200 | <dminuoso> | boxscape: except this is bad. mmm |
2021-06-22 13:47:13 +0200 | <dminuoso> | % :t let pred = (< 1) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2] |
2021-06-22 13:47:14 +0200 | <yahb> | dminuoso: (Monad m, Alternative m, Ord a, Num a) => m [a] |
2021-06-22 13:47:16 +0200 | <boxscape> | :/ |
2021-06-22 13:47:22 +0200 | <dminuoso> | Oh, this probably defaults to IO |
2021-06-22 13:47:36 +0200 | <dminuoso> | % let pred = (< 1) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2] :: Maybe [Int] |
2021-06-22 13:47:37 +0200 | <yahb> | dminuoso: Nothing |
2021-06-22 13:47:39 +0200 | <dminuoso> | Yeah this is good |
2021-06-22 13:48:32 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-22 13:49:24 +0200 | <boxscape> | ah yeah I didn't realize the Just was missing in the output at first |
2021-06-22 13:49:57 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-06-22 13:52:09 +0200 | kayprish | (~kayprish@46.240.143.86) (Remote host closed the connection) |
2021-06-22 13:52:12 +0200 | <Las[m]> | kritzefitz: Thanks! Do you have any recommendations for how I'd get the result back to the calling Haskell thread? |
2021-06-22 13:52:36 +0200 | <merijn> | Las[m]: Oh, there's a simple solution for that |
2021-06-22 13:52:42 +0200 | <merijn> | Well "simple" :p |
2021-06-22 13:53:29 +0200 | <merijn> | Las[m]: Pass an empty MVar along with the IO action and have the thread running it write the result to the empty MVar |
2021-06-22 13:53:31 +0200 | <boxscape> | @pl \x -> [x | True] |
2021-06-22 13:53:31 +0200 | <lambdabot> | return . (| True) |
2021-06-22 13:53:54 +0200 | <boxscape> | that's kind of funny |
2021-06-22 13:53:57 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) (Ping timeout: 268 seconds) |
2021-06-22 13:54:01 +0200 | <Las[m]> | Ah yeah that is simple, thanks |
2021-06-22 13:54:06 +0200 | <merijn> | boxscape: That's because pl is dumb and doesn't parse Haskell |
2021-06-22 13:54:19 +0200 | <merijn> | Las[m]: Then the original thread can just block on the empty MVar until it's done :) |
2021-06-22 13:54:25 +0200 | <boxscape> | yeah |
2021-06-22 13:54:37 +0200 | <merijn> | It's a super useful trick |
2021-06-22 13:55:03 +0200 | <Las[m]> | Thanks for the help! |
2021-06-22 13:55:54 +0200 | <dminuoso> | merijn: Wait, so automatically running @pl on my edit on save in emacs is a bad idea? |
2021-06-22 13:55:54 +0200 | xlei | (znc@pool-68-129-84-118.nycmny.fios.verizon.net) (Read error: Connection reset by peer) |
2021-06-22 13:55:59 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-06-22 13:56:16 +0200 | <merijn> | dminuoso: For several reasons :p |
2021-06-22 13:56:30 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 13:56:37 +0200 | <merijn> | Pretty sure that @pl on save is a great way to get lynched by future maintainers |
2021-06-22 13:56:37 +0200 | <boxscape> | I prefer running a macro that runs pl . unpl until a get a fixpoint |
2021-06-22 13:57:44 +0200 | <dminuoso> | merijn: Im sure that running @pl keeps you safe from future maintainers in the first place. |
2021-06-22 13:57:53 +0200 | <dminuoso> | So my life is safe. |
2021-06-22 13:58:56 +0200 | <maerwald[m]> | It's HLint's fault making haskellers believe that caring about pointfree is something inherently idiomatic |
2021-06-22 13:59:05 +0200 | <dminuoso> | boxscape: Sounds great. `let code' = fix (pl . unpl) code in ...` |
2021-06-22 13:59:12 +0200 | <merijn> | HLint is to blame for lots of stuff :p |
2021-06-22 13:59:12 +0200 | <dminuoso> | Profit? |
2021-06-22 13:59:36 +0200 | <tomsmeding> | just like writing in APL is profit, I guess |
2021-06-22 13:59:53 +0200 | <boxscape> | every once in a while running it on a function diverges but you know, that's what makes it fun |
2021-06-22 14:00:14 +0200 | <dminuoso> | tomsmeding: Im sure that if you're capable in APL, you will earn more than the top 5% Haskell earners.. |
2021-06-22 14:00:44 +0200 | <tomsmeding> | https://github.com/Co-dfns/Co-dfns/tree/master/cmp |
2021-06-22 14:01:04 +0200 | maroloccio | (~marolocci@189.15.9.54) |
2021-06-22 14:01:13 +0200 | <boxscape> | ooh, self-documenting code |
2021-06-22 14:01:55 +0200 | <maerwald[m]> | Yeah, HLint also makes people put newtype everywhere there is only one constructor, thinking that's gonna fix all their space leaks |
2021-06-22 14:01:58 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) (Remote host closed the connection) |
2021-06-22 14:02:17 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2021-06-22 14:02:19 +0200 | CookE[] | (~thedawn@user/thedawn) |
2021-06-22 14:02:39 +0200 | <dminuoso> | If you have your ancient APL codebase, then due to lack of programmers you as the developer can dictate your price easily I think. |
2021-06-22 14:03:06 +0200 | <dminuoso> | APL is not like your run-off-the-mill JS clone that you simply teach to your average pythonista |
2021-06-22 14:03:20 +0200 | CookE[] | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-06-22 14:04:07 +0200 | <tomsmeding> | maerwald[m]: not all that comes out of hlint is nonsense though. What I'd like, I think, is some way to run hlint in my HLS, but then be able to mark certain notes as "I don't want this" without having to pollute my source with annotations |
2021-06-22 14:04:13 +0200 | xlei | (znc@pool-68-129-84-118.nycmny.fios.verizon.net) |
2021-06-22 14:04:23 +0200 | <tomsmeding> | but that's going to be hard to robustly implement |
2021-06-22 14:05:34 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
2021-06-22 14:06:35 +0200 | <boxscape> | tomsmeding: do you mean "I don't want this type of warning" or "I don't want this specific instance of this warning"? |
2021-06-22 14:06:50 +0200 | <maerwald[m]> | Most of what comes out of hlint is nonsense imo... or just not very useful, like "yoe could have omitted that 'do'"... yeah, so what |
2021-06-22 14:07:01 +0200 | <tomsmeding> | boxscape: this specific instance |
2021-06-22 14:07:10 +0200 | <boxscape> | ah, yeah, that sounds difficult |
2021-06-22 14:07:25 +0200 | <tomsmeding> | yeah I know that you can disable particular notes wholesale; not talking about that |
2021-06-22 14:09:06 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-06-22 14:10:11 +0200 | <merijn> | HLint is great...if your opinions on formatting/writing Haskell overlap for 95% with Neil Mitchell :p |
2021-06-22 14:10:29 +0200 | <maerwald> | Then it tries to tell me that I should avoid `maybe` for golfing reasons |
2021-06-22 14:10:30 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-06-22 14:10:46 +0200 | <tomsmeding> | or replace a non-trivial do block with applicative style :p |
2021-06-22 14:12:40 +0200 | <maerwald> | and then people think it's so useful, they have to include it as ERRORS in their CI, so now you got increased roundtrip times for fixing nonsensical stuff... or remember to run it before pushing |
2021-06-22 14:13:13 +0200 | <maerwald> | Then have annoyieg discussions about why you disabled a suggestion |
2021-06-22 14:13:59 +0200 | <maerwald> | "because it's nonsense" apparently isn't enough :p |
2021-06-22 14:14:02 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-22 14:14:11 +0200 | <stevenxl> | morning folks |
2021-06-22 14:16:00 +0200 | <maerwald> | linters are placebo for code cleanliness |
2021-06-22 14:16:57 +0200 | korayal | (~Koray_Al@213.14.171.115) (Quit: WeeChat 3.3-dev) |
2021-06-22 14:17:08 +0200 | korayal | (~Koray_Al@213.14.171.115) |
2021-06-22 14:17:27 +0200 | korayal | (~Koray_Al@213.14.171.115) (Changing host) |
2021-06-22 14:17:27 +0200 | korayal | (~Koray_Al@user/korayal) |
2021-06-22 14:17:49 +0200 | korayal | (~Koray_Al@user/korayal) (Client Quit) |
2021-06-22 14:17:59 +0200 | korayal | (~Koray_Al@user/korayal) |
2021-06-22 14:20:55 +0200 | korayal | (~Koray_Al@user/korayal) (Client Quit) |
2021-06-22 14:21:06 +0200 | korayal | (~Koray_Al@user/korayal) |
2021-06-22 14:21:17 +0200 | <dminuoso> | merijn: Yeah this is precisely why I dont also use ormolu. |
2021-06-22 14:21:25 +0200 | <dminuoso> | I dont need someone else dictating their style on me. |
2021-06-22 14:21:45 +0200 | <dminuoso> | stylish-haskell's way of formatting import lists matches what I do anyway, so I use it for nothing but import list formatting |
2021-06-22 14:22:42 +0200 | tomsmeding | . o O ( users 1, 3, 4, 5 on this list are non-fans of linters and formatters https://ircbrowse.tomsmeding.com/nicks/lchaskell/all ) |
2021-06-22 14:23:33 +0200 | <tomsmeding> | maerwald is a bit further down the list on the old freenode haskell stats :p |
2021-06-22 14:25:30 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 14:25:45 +0200 | chddr | (~Thunderbi@31.148.23.125) (Quit: chddr) |
2021-06-22 14:29:24 +0200 | <merijn> | I'm simultaneously sad and glad the old ircbrowse stats died |
2021-06-22 14:29:40 +0200 | <merijn> | because they made me look like a slacker xD |
2021-06-22 14:29:48 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-06-22 14:29:57 +0200 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:5def:8486:9e4:b49a) |
2021-06-22 14:30:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 264 seconds) |
2021-06-22 14:30:45 +0200 | ukari | (~ukari@user/ukari) |
2021-06-22 14:31:23 +0200 | <tomsmeding> | merijn: you're still on top in the freenode stats |
2021-06-22 14:31:38 +0200 | <merijn> | Yes |
2021-06-22 14:31:43 +0200 | <merijn> | but not nearly as much as before >.> |
2021-06-22 14:32:19 +0200 | AlexNoo | (~AlexNoo@178.34.150.65) |
2021-06-22 14:32:43 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds) |
2021-06-22 14:33:14 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 14:33:43 +0200 | Alex_test | (~al_test@178.34.150.65) |
2021-06-22 14:34:23 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-22 14:34:39 +0200 | AlexZenon | (~alzenon@178.34.150.65) |
2021-06-22 14:37:47 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 252 seconds) |
2021-06-22 14:38:06 +0200 | <boxscape> | tomsmeding: I don't use either of those things, so I guess that completes the set |
2021-06-22 14:38:13 +0200 | <tomsmeding> | nice |
2021-06-22 14:39:06 +0200 | <maerwald> | I used to use formatters, but then I realized they're just a form of OCD treatment |
2021-06-22 14:39:16 +0200 | <tomsmeding> | perhaps there is a non-trivial (indirect) causal relationship between "uses IRC" and "doesn't like software to decide code formatting for them" |
2021-06-22 14:39:41 +0200 | <tomsmeding> | where maerwald doesn't count because you use matrix |
2021-06-22 14:39:56 +0200 | <maerwald> | no, I'm on Irc and matrix |
2021-06-22 14:40:04 +0200 | Morrow | (~MorrowM_@147.161.8.246) (Remote host closed the connection) |
2021-06-22 14:40:21 +0200 | <maerwald[m]> | maerwald: right |
2021-06-22 14:40:22 +0200 | azeem | (~azeem@dynamic-adsl-84-220-246-6.clienti.tiscali.it) (Ping timeout: 252 seconds) |
2021-06-22 14:40:22 +0200 | Morrow | (~MorrowM_@147.161.8.246) |
2021-06-22 14:40:28 +0200 | <tomsmeding> | :D |
2021-06-22 14:40:34 +0200 | <tomsmeding> | ok then double |
2021-06-22 14:40:46 +0200 | tomsmeding | wonders why you're on both |
2021-06-22 14:41:06 +0200 | <maerwald> | different clients... irc client on mobile can be wonky |
2021-06-22 14:41:22 +0200 | <tomsmeding> | ah yes mobile clients for irc, the swampfest |
2021-06-22 14:41:39 +0200 | <tomsmeding> | freenode has an app now! |
2021-06-22 14:42:20 +0200 | <maerwald> | Revolution IRC works, ish, but it can swallow DMs that I have to recover by logging into my bouncer and grepping through files |
2021-06-22 14:42:25 +0200 | <maerwald> | software. .. |
2021-06-22 14:42:46 +0200 | <tomsmeding> | it can swallow DMs? that's good to know I guess |
2021-06-22 14:42:55 +0200 | <tomsmeding> | also it eats a lot of battery |
2021-06-22 14:44:10 +0200 | <maerwald> | yeah, DM windows get closed after a reconnect or so |
2021-06-22 14:44:21 +0200 | <maerwald> | which is... a lot on mobile |
2021-06-22 14:44:32 +0200 | tomsmeding | doesn't have that problem, perhaps it's some interaction with the bouncer? I'm using znc |
2021-06-22 14:44:39 +0200 | <maerwald> | me too |
2021-06-22 14:44:46 +0200 | <maerwald> | weechat works normal |
2021-06-22 14:44:52 +0200 | <tomsmeding> | ¯\_(ツ)_/¯ |
2021-06-22 14:45:03 +0200 | <maerwald> | gg |
2021-06-22 14:46:34 +0200 | mikail__ | (~mikail@90.212.77.3) |
2021-06-22 14:46:58 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-06-22 14:47:51 +0200 | azeem | (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) |
2021-06-22 14:49:27 +0200 | mikail_ | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 268 seconds) |
2021-06-22 14:49:56 +0200 | <trcc> | Off-topic, but people are usually good to come up with stuff in here: I am to argue in a funding application for an open-source library (paid (very cheap) if commercial use -> money goes to non-for-profit association). How can I argue over big industrial products by e.g. Siemens on anything else than price? A pricey tool can provide 24/7 support, a overwhelming amount of features, great user-interface etc. Any ideas on pote |
2021-06-22 14:49:56 +0200 | <trcc> | ntial ideas? |
2021-06-22 14:50:43 +0200 | <trcc> | No vendor lock-in is one... Open-source is of course another |
2021-06-22 14:51:05 +0200 | <trcc> | but typically such industrial tools supports customization |
2021-06-22 14:51:42 +0200 | Wally | (~Wally@dragonbox/forum-staff/wally) |
2021-06-22 14:52:00 +0200 | <maerwald> | you mean why open source is better than. ..what? |
2021-06-22 14:53:17 +0200 | <trcc> | a commercial tool from the point of view of industry. |
2021-06-22 14:53:31 +0200 | <trcc> | anything else to compete on except price? |
2021-06-22 14:54:06 +0200 | <maerwald> | It allows to build an ecosystem of contributors |
2021-06-22 14:54:39 +0200 | <maerwald> | More coverage/users, potentially, for early stage products |
2021-06-22 14:55:00 +0200 | <trcc> | many commercial tools do so as well through plugins |
2021-06-22 14:55:22 +0200 | <maerwald> | Not in the same way, no |
2021-06-22 14:55:37 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer) |
2021-06-22 14:56:15 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-06-22 14:56:51 +0200 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:69d4:ccfd:e578:282b) (Ping timeout: 268 seconds) |
2021-06-22 14:56:58 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 14:57:09 +0200 | <maerwald> | Then there's the ethical dimension snd the security dimension. for the latter you can find tons of posts from Bruce Schneier |
2021-06-22 14:58:12 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 14:58:19 +0200 | <trcc> | The ethical is an easy one. The security dimension is more tough. |
2021-06-22 14:58:29 +0200 | <trcc> | I will target a bit on the ethical part |
2021-06-22 14:58:35 +0200 | <maerwald> | there's also the trust argument: would you put your money on a proprietary blockchain? |
2021-06-22 14:58:38 +0200 | <trcc> | Can you elaborate on "not in the same way"? |
2021-06-22 14:58:44 +0200 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
2021-06-22 14:59:06 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-22 14:59:14 +0200 | <maerwald> | Linux Kernel |
2021-06-22 14:59:36 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 14:59:49 +0200 | involans | (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) |
2021-06-22 15:00:14 +0200 | <maerwald> | there's also the "it's more like the science approach " argument |
2021-06-22 15:00:53 +0200 | <maerwald> | not much more so salvage, except marketing those arguments more fancy |
2021-06-22 15:01:05 +0200 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 268 seconds) |
2021-06-22 15:01:09 +0200 | alx741 | (~alx741@181.196.68.152) |
2021-06-22 15:03:11 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Ping timeout: 258 seconds) |
2021-06-22 15:04:03 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Remote host closed the connection) |
2021-06-22 15:04:20 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2021-06-22 15:06:47 +0200 | <trcc> | hehe ye. Thanks |
2021-06-22 15:07:06 +0200 | hseg | (~gesh@185.120.126.29) (Ping timeout: 265 seconds) |
2021-06-22 15:08:53 +0200 | kuribas | (~user@ptr-25vy0i89phmaoo2wmls.18120a2.ip6.access.telenet.be) |
2021-06-22 15:10:48 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-22 15:11:55 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-06-22 15:12:43 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-06-22 15:12:46 +0200 | Wally | (~Wally@dragonbox/forum-staff/wally) (https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-06-22 15:13:10 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
2021-06-22 15:14:09 +0200 | <lwe[m]> | Hey guys, I’d love to learn Haskell. Can you recommend any books, tutors? |
2021-06-22 15:14:18 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 258 seconds) |
2021-06-22 15:14:45 +0200 | <maerwald> | @where learnhaskell |
2021-06-22 15:14:45 +0200 | <lambdabot> | https://wiki.haskell.org/Learning_Haskell |
2021-06-22 15:15:06 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-06-22 15:15:14 +0200 | <maerwald> | @where cis192 |
2021-06-22 15:15:14 +0200 | <lambdabot> | I know nothing about cis192. |
2021-06-22 15:15:47 +0200 | <maerwald> | @where cis194 |
2021-06-22 15:15:47 +0200 | <lambdabot> | https://www.seas.upenn.edu/~cis194/spring13/lectures.html |
2021-06-22 15:15:58 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-22 15:16:05 +0200 | <maerwald> | lwe[m]: ^ |
2021-06-22 15:16:10 +0200 | <lwe[m]> | Thank you 💕 |
2021-06-22 15:16:44 +0200 | <rawles> | It sounds really obvious, but I found with Haskell more than other languages that having my own mini-project to try to realise in code, even if it wasn't the best code, really helped me learn. |
2021-06-22 15:16:50 +0200 | bontaq` | (~user@ool-18e47f8d.dyn.optonline.net) |
2021-06-22 15:17:03 +0200 | <rawles> | But I'm still very much a beginner! |
2021-06-22 15:17:46 +0200 | <lwe[m]> | What your pet project is about? |
2021-06-22 15:18:14 +0200 | bontaq` | bontaq |
2021-06-22 15:18:27 +0200 | <rawles> | My first ever one was to store and process GPS traces of my favourite hikes. |
2021-06-22 15:18:31 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
2021-06-22 15:18:52 +0200 | <rawles> | I had to think about data structures, and pipelines of functions that would perform the transformations I needed. |
2021-06-22 15:19:03 +0200 | sekun | (~sekun@180.190.208.125) |
2021-06-22 15:19:33 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
2021-06-22 15:21:38 +0200 | <jumper149> | Is it possible to view a servant API in some form of tree? |
2021-06-22 15:22:24 +0200 | <sekun> | This is just a hypothetical question. I've read on Reddit that GHC has accumulated a lot of baggage in the past 30 years of its development. How can this issue be addressed? Is a full rewrite of GHC a reasonable thing, or would it be better to just fix them along the way with the current GHC? |
2021-06-22 15:22:48 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) (Quit: bye) |
2021-06-22 15:23:27 +0200 | hendursaga | (~weechat@user/hendursaga) (Quit: hendursaga) |
2021-06-22 15:24:18 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-06-22 15:24:50 +0200 | trcc | (~trcc@130.225.16.16) |
2021-06-22 15:25:14 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) |
2021-06-22 15:30:24 +0200 | <lyxia> | even without whatever baggage GHC is a huge thing. A rewrite would not go well. |
2021-06-22 15:30:24 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-06-22 15:30:26 +0200 | kw | (~user@152.1.137.158) |
2021-06-22 15:30:36 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 15:30:37 +0200 | maroloccio | (~marolocci@189.15.9.54) (Ping timeout: 246 seconds) |
2021-06-22 15:30:55 +0200 | MorrowM | (~MorrowM_@147.161.12.3) |
2021-06-22 15:31:19 +0200 | <merijn> | sekun: What baggage do you imagine could be removed? |
2021-06-22 15:32:23 +0200 | maroloccio | (~marolocci@189.15.9.54) |
2021-06-22 15:33:10 +0200 | <kw> | Is it possible to write a function `traverseAlt :: (Alternative m)=> (a -> m b) -> NonEmpty a -> m (NonEmpty b)` , where, for instance, `traverseAlt (const empty)` === `empty` ? Or would that require a `Monad` constraint? |
2021-06-22 15:33:39 +0200 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
2021-06-22 15:33:54 +0200 | Morrow | (~MorrowM_@147.161.8.246) (Ping timeout: 252 seconds) |
2021-06-22 15:34:14 +0200 | <sekun> | merijn: (i'm not sure how to reply in IRC sorry). I'm not sure either. I just started with this language a couple months ago. I just see it get thrown here and there on /r/Haskell |
2021-06-22 15:34:50 +0200 | <sekun> | lyxia: Oh ok. So incremental refactors is the only realistic option? |
2021-06-22 15:34:59 +0200 | <lyxia> | yes |
2021-06-22 15:35:46 +0200 | <sekun> | I see |
2021-06-22 15:35:57 +0200 | qrpnxz | (~qrpnxz@user/qrpnxz) |
2021-06-22 15:36:02 +0200 | <justsomeguy> | (Sometimes I wonder why there aren't more Haskell compilers, maybe only covering the subset of Haskell 2010, as opposed to modern Haskell with tons of language extensions.) |
2021-06-22 15:36:58 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 15:39:02 +0200 | <qrpnxz> | even w/o extensions it would be pretty hard to make a haskell compiler, but without extentions it would be hard to compete as well |
2021-06-22 15:39:27 +0200 | <even4void> | resp <- 2:5 |
2021-06-22 15:39:27 +0200 | <even4void> | idx <- grep("4cat", names(d))[1:12] |
2021-06-22 15:39:27 +0200 | <even4void> | pca <- PCA(d[, idx], graph = FALSE) |
2021-06-22 15:39:32 +0200 | <lyxia> | kw: is the idea that if one element fails in a list of more than one, you still get the others in the result? |
2021-06-22 15:39:47 +0200 | <even4void> | Wrong terminal window -- sorry for the noise! |
2021-06-22 15:40:54 +0200 | chomwitt | (~Pitsikoko@athedsl-351576.home.otenet.gr) |
2021-06-22 15:41:13 +0200 | <[exa]> | sekun, justsomeguy: ghc is "too good" for any simple side development to succeed, or even become visible quickly. Many people tried, tbh. |
2021-06-22 15:41:25 +0200 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 265 seconds) |
2021-06-22 15:41:54 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 265 seconds) |
2021-06-22 15:41:56 +0200 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:c14c:3118:b974:8ae3) |
2021-06-22 15:42:01 +0200 | li | (~li@libera/staff/li) () |
2021-06-22 15:42:19 +0200 | <maerwald> | You can't even do transformers in haskell 2010, can you? |
2021-06-22 15:42:52 +0200 | <maerwald> | Or maybe not mtl |
2021-06-22 15:42:53 +0200 | qrpnxz | (~qrpnxz@user/qrpnxz) (Error from remote client) |
2021-06-22 15:42:58 +0200 | <[exa]> | I kindof expect that we're not getting a different haskell compiler without some significant scientifical development happening, that would e.g. substantiate a completely different type system internals or compilation method |
2021-06-22 15:43:15 +0200 | <Taneb> | maerwald: I think transformers is fine but mtl needs multiparam type classes and fundeps |
2021-06-22 15:43:38 +0200 | <Taneb> | And undecidable instances, too |
2021-06-22 15:43:40 +0200 | thyriaen | (~thyriaen@45.178.73.238) |
2021-06-22 15:45:03 +0200 | <thyriaen> | Howdy, friends :: I am going through a tutorial and have solved an exercise - however it feels like i did not really embrace the functional way in my answer : what would be a more ideal way to achive doubleing every 2nd entry from the back ? https://hastebin.com/neholubeke.yaml |
2021-06-22 15:45:09 +0200 | <tomsmeding> | justsomeguy: Helium exists https://github.com/Helium4Haskell/helium |
2021-06-22 15:45:40 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
2021-06-22 15:45:40 +0200 | hmmmas | (~chenqisu1@183.217.200.246) |
2021-06-22 15:45:52 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 15:46:08 +0200 | <[exa]> | thyriaen: generate both possibilities on the way, and return the one that matches once you reach the end |
2021-06-22 15:46:09 +0200 | <tomsmeding> | it has a focus on better-quality type errors |
2021-06-22 15:46:11 +0200 | <Taneb> | thyriaen: I'd have two functions that call each other. One which doubles the odd elements and one which doubles the even elements. Calling "length" every recursive step is generally a sign you're doing something wrong |
2021-06-22 15:46:45 +0200 | <thyriaen> | Taneb, so 2 recursive functions calling eachother alternatingly ? |
2021-06-22 15:47:01 +0200 | <Taneb> | Yeah |
2021-06-22 15:47:02 +0200 | <thyriaen> | Taneb, yeath thats what i thought so too about the length thaths why i came here |
2021-06-22 15:47:20 +0200 | <thyriaen> | ok thanks |
2021-06-22 15:47:40 +0200 | <sekun> | exa: Bummer. Yeah I just checked the Haskell about its compilers, and all the others pretty much ate GHC's dust |
2021-06-22 15:48:16 +0200 | <thyriaen> | Taneb, but the way i see it - that doubles them from the front not form the back |
2021-06-22 15:48:35 +0200 | <Taneb> | thyriaen: oh, hmm |
2021-06-22 15:48:58 +0200 | <Taneb> | thyriaen: I didn't see that. In which case, listen to what [exa] wrote |
2021-06-22 15:48:59 +0200 | qrpnxz | (~qrpnxz@user/qrpnxz) |
2021-06-22 15:49:06 +0200 | <[exa]> | sekun: I'd say that technically reproducing SOME haskell isn't even a really complex task now, there are perfect tutorials for everything and type system and runtime approaches are well documented. But you kinda want a haskell that can run the stuff on Hackage, which uses a ton of the tiny extensions |
2021-06-22 15:49:19 +0200 | <[exa]> | which puts QUITE some overhead into the task |
2021-06-22 15:49:30 +0200 | <thyriaen> | [exa], not really sure how to do that |
2021-06-22 15:50:12 +0200 | <thyriaen> | Taneb, reversing the function twice is also bad form, right ? |
2021-06-22 15:50:37 +0200 | <Taneb> | It's better than taking the length every step but yes |
2021-06-22 15:50:45 +0200 | Morrow_ | (~MorrowM_@147.161.9.235) |
2021-06-22 15:51:16 +0200 | <[exa]> | thyriaen: let's play lego. Try to combine `repeat [id,(*2)]` with `zipWith`, and write a `isEvenLength` that doesn't use `length` because we don't need them ugly integers right? |
2021-06-22 15:52:48 +0200 | <thyriaen> | is repeat a haskell function ? |
2021-06-22 15:52:54 +0200 | <[exa]> | yap |
2021-06-22 15:52:54 +0200 | <Taneb> | Yes |
2021-06-22 15:53:27 +0200 | <[exa]> | you probably won't be able to print the result of this one (unless your ghci has magicks), but you can try `repeat [1,2,3]` |
2021-06-22 15:53:43 +0200 | <[exa]> | actually I meant `cycle`, sorry |
2021-06-22 15:54:00 +0200 | <[exa]> | `cycle [id, (*2)]` or `cycle [1,2,3]`, yeah. :D |
2021-06-22 15:54:07 +0200 | MorrowM | (~MorrowM_@147.161.12.3) (Ping timeout: 268 seconds) |
2021-06-22 15:55:03 +0200 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) |
2021-06-22 15:56:03 +0200 | trcc | (~trcc@130.225.16.16) (Remote host closed the connection) |
2021-06-22 15:56:16 +0200 | <[exa]> | anyway, for the first implementation, I wouldn't object just doing the stuff on a reversed list |
2021-06-22 15:56:31 +0200 | trcc | (~trcc@130.225.16.16) |
2021-06-22 15:56:45 +0200 | derelict | (~derelict@user/derelict) (Quit: WeeChat 3.2) |
2021-06-22 15:57:00 +0200 | derelict | (~derelict@user/derelict) |
2021-06-22 15:57:34 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-06-22 15:57:54 +0200 | <thyriaen> | you mean cycle [1,2] right ? |
2021-06-22 15:58:05 +0200 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:5def:8486:9e4:b49a) (Ping timeout: 252 seconds) |
2021-06-22 15:59:14 +0200 | <[exa]> | yes, that may also be useful |
2021-06-22 15:59:40 +0200 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 268 seconds) |
2021-06-22 15:59:57 +0200 | <thyriaen> | [exa], cause with a cycled [1,2] list i can then ZipWith that with * to double every 2nd element |
2021-06-22 16:00:09 +0200 | <[exa]> | yeah |
2021-06-22 16:00:53 +0200 | <[exa]> | with the thing I wrote above, you can save some multiplication-by-1, using `zipWith ($) (repeat [id,(*2)]) yourNums` |
2021-06-22 16:01:06 +0200 | <thyriaen> | $ ? |
2021-06-22 16:01:38 +0200 | <[exa]> | that's the same $ that you use for writing `f 1 (2+3)` as `f 1 $ 2+3` |
2021-06-22 16:02:03 +0200 | <thyriaen> | i have not reached $ yet |
2021-06-22 16:02:10 +0200 | <[exa]> | ah okay worry not then |
2021-06-22 16:02:12 +0200 | trcc | (~trcc@130.225.16.16) (Ping timeout: 265 seconds) |
2021-06-22 16:02:18 +0200 | <thyriaen> | yes |
2021-06-22 16:02:19 +0200 | <[exa]> | it just applies function on the left to the parameter on the right |
2021-06-22 16:02:26 +0200 | <thyriaen> | cool |
2021-06-22 16:02:38 +0200 | <[exa]> | really can avoid a lot of ))))))))))))) |
2021-06-22 16:03:28 +0200 | <thyriaen> | so if i would write isEvenLength, i would go through the list and return a boolean depending when the list ends |
2021-06-22 16:03:29 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-06-22 16:03:30 +0200 | o1lo01ol1o | (~o1lo01ol1@bl7-89-228.dsl.telepac.pt) |
2021-06-22 16:04:03 +0200 | <[exa]> | e.g. `pure (f 1 (g 2 3))` can be written as `pure $ f 1 $ g 2 3` |
2021-06-22 16:04:05 +0200 | notzmv | (~zmv@user/notzmv) |
2021-06-22 16:05:15 +0200 | <[exa]> | thyriaen: yeah. Note you don't produce the unnecessary Int in the process |
2021-06-22 16:06:03 +0200 | Morrow_ | (~MorrowM_@147.161.9.235) (Ping timeout: 258 seconds) |
2021-06-22 16:06:08 +0200 | <thyriaen> | [exa], so i my case i have a function toDigitsRev :: Integer -> [Integer] and i can just write reverse $ toDigitsRev [1,2] instead of reverse(toDigitsRev [1,2]) ? |
2021-06-22 16:06:33 +0200 | <[exa]> | yeah that should work |
2021-06-22 16:07:03 +0200 | <[exa]> | (at least if there aren't any more parameters to reverse, which I guess there isn't) |
2021-06-22 16:07:12 +0200 | <[exa]> | (aren't) |
2021-06-22 16:07:25 +0200 | <thyriaen> | [exa], okay thanks - I didn't fully understand how i can put these things together, but let me write up the single functions and fiddle with them a bit |
2021-06-22 16:07:36 +0200 | <thyriaen> | then ill be back if i can still not get the answer |
2021-06-22 16:07:58 +0200 | <[exa]> | ok |
2021-06-22 16:08:24 +0200 | <[exa]> | extra inspiration for avoiding explicit Booleans: compare (tail $ cycle [1,2]) and (id $ cycle [1,2]) |
2021-06-22 16:08:50 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-06-22 16:08:51 +0200 | <thyriaen> | is id a keyword ? |
2021-06-22 16:09:22 +0200 | <[exa]> | no, just a normal function that doesn't change the parameter |
2021-06-22 16:09:26 +0200 | <thyriaen> | ok |
2021-06-22 16:09:37 +0200 | <[exa]> | pretty useful for various placeholding and dummy values |
2021-06-22 16:09:49 +0200 | <nitrix> | id x = x |
2021-06-22 16:10:22 +0200 | <thyriaen> | its just the idendity function |
2021-06-22 16:10:29 +0200 | <[exa]> | yes |
2021-06-22 16:11:28 +0200 | <thyriaen> | doesnt cycle need another argument how many times it needs to cycle ? |
2021-06-22 16:11:47 +0200 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) |
2021-06-22 16:11:48 +0200 | fendor_ | (~fendor@178.115.129.107.wireless.dyn.drei.com) |
2021-06-22 16:11:56 +0200 | <Taneb> | thyriaen: nope, it just keeps going |
2021-06-22 16:12:10 +0200 | Xraell | (~yourname@45.157.15.145) (Remote host closed the connection) |
2021-06-22 16:13:06 +0200 | <thyriaen> | how can i make it stop T_T cycle 3 [1,2] ? |
2021-06-22 16:13:48 +0200 | <tdammers> | you can just take as much of it as you need |
2021-06-22 16:13:58 +0200 | <thyriaen> | tdammers, haha |
2021-06-22 16:14:00 +0200 | <nitrix> | cycle produces an infinite list but you can take a shorter list from that list. |
2021-06-22 16:14:14 +0200 | fendor | (~fendor@91.141.3.62.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2021-06-22 16:15:01 +0200 | <tdammers> | I was being serious. Remember that Haskell does non-strict evaluation by default, so just let-binding an expression that would evaluate to an infinitely long list does not actually allocate an infinitely long list in memory, nor does it take infinitely long to bind it |
2021-06-22 16:15:17 +0200 | <tdammers> | that list only gets evaluated as far as is demanded |
2021-06-22 16:15:41 +0200 | <tdammers> | so if you say `take 10 (cycle [1,2])`, it'll evaluate as many list items as necessary to get you the first 10 elements |
2021-06-22 16:15:52 +0200 | safinaskar | (~safinaska@109.252.90.89) |
2021-06-22 16:15:55 +0200 | <thyriaen> | tdammers, it was funny because i did not know there was a "take" function and id did sound so natural to just take a few |
2021-06-22 16:16:10 +0200 | <tdammers> | well, yeah, it's called take for a reason |
2021-06-22 16:16:15 +0200 | <thyriaen> | ;p |
2021-06-22 16:16:26 +0200 | <safinaskar> | hi. https://hackage.haskell.org/package/base-4.12.0.0/docs/Control-Applicative.html says that "fmap f x = pure f <*> x" follows from other applicative laws. how to prove this? |
2021-06-22 16:16:45 +0200 | <nitrix> | Alternatively, you could use `replicate`, which accepts a number of times and something to replicate, so `replicate 3 [1,2]`, but that would produce the list [[1,2], [1,2], [1,2]] which you would then have to concatenate them all as [1,2,1,2,1,2] with the function `concat`. |
2021-06-22 16:17:10 +0200 | <nitrix> | % concat $ replicate 3 [1,2] |
2021-06-22 16:17:10 +0200 | <yahb> | nitrix: [1,2,1,2,1,2] |
2021-06-22 16:17:38 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-06-22 16:18:30 +0200 | <nitrix> | It avoids the little bit of arithmetic of multiplying the cycle count with the cycle length to `take` the right amount. |
2021-06-22 16:22:46 +0200 | <[exa]> | thyriaen: zipWith automagically truncates the longer list for you |
2021-06-22 16:22:49 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-06-22 16:23:21 +0200 | <[exa]> | > zipWith (+) (cycle [1,2]) [1,2,3,4] |
2021-06-22 16:23:23 +0200 | <lambdabot> | [2,4,4,6] |
2021-06-22 16:24:04 +0200 | <lyxia> | safinaskar: \f x -> pure f <*> x satisfies the functor laws and by parametricity there is only one function that satisfies the functor laws. |
2021-06-22 16:24:56 +0200 | <safinaskar> | lyxia: "parametricity" - you mean theorems for free? |
2021-06-22 16:25:04 +0200 | <lyxia> | yes |
2021-06-22 16:25:09 +0200 | <safinaskar> | thanks |
2021-06-22 16:26:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 16:27:00 +0200 | <kw> | `<*>` still has to satisfy the Applicative laws for that to work, though. |
2021-06-22 16:27:23 +0200 | <lyxia> | yeah but the question is about why the docs say "follows from the other applicative laws" |
2021-06-22 16:27:23 +0200 | <kw> | As does `pure` . |
2021-06-22 16:28:16 +0200 | fendor_ | fendor |
2021-06-22 16:30:03 +0200 | <kw> | Right. I'm just saying that 'It follows from the Applicative laws' by parametricity.' does not explain why that is true. |
2021-06-22 16:31:06 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 240 seconds) |
2021-06-22 16:31:36 +0200 | kw | (~user@152.1.137.158) (Quit: work) |
2021-06-22 16:32:35 +0200 | finsternis | (~X@23.226.237.192) |
2021-06-22 16:33:11 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-22 16:33:22 +0200 | trent2 | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 244 seconds) |
2021-06-22 16:35:27 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-22 16:38:17 +0200 | <thyriaen> | [exa], neat ! how considerate of zipWith |
2021-06-22 16:38:32 +0200 | safinaskar | (~safinaska@109.252.90.89) () |
2021-06-22 16:39:06 +0200 | <thyriaen> | [exa], but in essence, i have to run length on my initial list first to check which one to take, no ? |
2021-06-22 16:39:31 +0200 | <thyriaen> | or how do i get the oddness of the list without the explict boolean ? |
2021-06-22 16:40:10 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.1) |
2021-06-22 16:40:33 +0200 | Guest31 | (~Guest31@202.166.32.155) |
2021-06-22 16:42:41 +0200 | <Guest31> | is this the correct place to ask beginner questions regarding Haskell? I just started on the fp-course on windows and was facing some difficulty with basic setup |
2021-06-22 16:44:12 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-06-22 16:45:09 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 258 seconds) |
2021-06-22 16:45:16 +0200 | <[exa]> | thyriaen: you can return `id` if the length's even or `tail` if the length is odd, and just apply that to the `cycle [1,2]` to conditionally drop the first item |
2021-06-22 16:45:48 +0200 | curiousgay | (~curiousgg@178.217.208.8) (Remote host closed the connection) |
2021-06-22 16:45:53 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-06-22 16:46:05 +0200 | curiousgay | (~curiousgg@178.217.208.8) |
2021-06-22 16:46:18 +0200 | <thyriaen> | [exa], yea - but in order to determine that i have to first check if the length is indeed odd or even |
2021-06-22 16:46:21 +0200 | <thyriaen> | i cannot get around that |
2021-06-22 16:46:54 +0200 | hmmmas | (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
2021-06-22 16:47:23 +0200 | <L29Ah> | hello, i'm trying to use the new OverloadedRecordDot syntax extension, i've enabled it and dependencies, and now have the following error in irrelevant code: |
2021-06-22 16:47:23 +0200 | <L29Ah> | Not in scope: ‘setField’ |
2021-06-22 16:47:23 +0200 | <L29Ah> | 94 | let preTAM = def{salt = salt} |
2021-06-22 16:47:28 +0200 | <L29Ah> | do i need to import something else? |
2021-06-22 16:47:58 +0200 | mikail__ | (~mikail@90.212.77.3) (Ping timeout: 252 seconds) |
2021-06-22 16:50:32 +0200 | hounded | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) |
2021-06-22 16:50:58 +0200 | <hounded> | # |
2021-06-22 16:51:25 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) (Quit: bye) |
2021-06-22 16:51:26 +0200 | <Guest31> | i've cloned the fp-course directory and used chocolatey to install make; i've also installed stack and am able to execute stack ghci without issue for example. However if i try make GHCI i get the following error: |
2021-06-22 16:51:30 +0200 | <Guest31> | STACK_YAML="stack.yaml" stack ghci course:lib |
2021-06-22 16:51:30 +0200 | <Guest31> | 'STACK_YAML' is not recognized as an internal or external command, |
2021-06-22 16:51:30 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-06-22 16:51:31 +0200 | <Guest31> | operable program or batch file. |
2021-06-22 16:51:31 +0200 | <Guest31> | make: *** [Makefile:22: ghci] Error 1 |
2021-06-22 16:52:24 +0200 | <Guest31> | if anyone could help with this it would be greatly appreciated; I'm trying to get this to work on a windows 10 machine for reference. Am a haskell beginner trying to do the fp-course |
2021-06-22 16:52:42 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) |
2021-06-22 16:52:50 +0200 | <Las[m]> | This isn't really a solution, but I suggest you'd really do all development through WSL |
2021-06-22 16:53:34 +0200 | derelict | (~derelict@user/derelict) (Quit: WeeChat 3.2) |
2021-06-22 16:54:24 +0200 | <Las[m]> | Does anyone know why you can't call into Haskell again from an unsafe foreign call? |
2021-06-22 16:54:59 +0200 | <jiribenes> | Guest31: maybe try first setting the variable, 'SET STACK_YAML="stack.yaml"' and then run 'stack ghci course:lib'? |
2021-06-22 16:55:09 +0200 | <merijn> | Las[m]: Because the capability is locked |
2021-06-22 16:56:08 +0200 | <Las[m]> | merijn: Thanks that makes sense |
2021-06-22 16:56:23 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-22 16:57:05 +0200 | <Guest31> | jiribenes: do you mean setting an environment variable? sorry i'm really new and not sure where i should change this setting |
2021-06-22 16:58:21 +0200 | <jiribenes> | Guest31: try first writting the command 'SET STACK_YAML="stack.yaml"' to the command line |
2021-06-22 16:58:32 +0200 | <jiribenes> | and after that write 'stacj ghci course:lib' |
2021-06-22 16:58:42 +0200 | <jiribenes> | sorry, 'stack ghci course:lib' |
2021-06-22 16:58:44 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
2021-06-22 16:58:54 +0200 | <Guest31> | Getting project config file from STACK_YAML environment |
2021-06-22 16:58:54 +0200 | <Guest31> | InvalidAbsFile "D:\\Documents\\GitHub\\fp-course\\\"stack.yaml\"" |
2021-06-22 16:59:11 +0200 | <Guest31> | i just tried that; it then gives me this error |
2021-06-22 16:59:50 +0200 | <jiribenes> | maybe try setting it without the quote marks, that is 'SET STACK_YAML=stack.yaml' |
2021-06-22 17:00:10 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) (Quit: EXIT) |
2021-06-22 17:00:59 +0200 | <Guest31> | jiribenes: it worked!! thank you so much |
2021-06-22 17:03:33 +0200 | <Guest31> | can I also ask if anyone knows where stack downloads its files? and if its possible to change this. Reading through the documentation it sounded like stack downloads a local copy of ghc for each project? i'm not sure if i understood correctly |
2021-06-22 17:04:08 +0200 | <Guest31> | not really an issue at present; but in general if stack sets up and downloads files for me to do things, i was hoping to check where the downloaded files go |
2021-06-22 17:05:25 +0200 | <Boarders> | Does anyone know if in a stack yaml file if I can overwrite a $everything flag with a $locals flag, e.g. if I pass `-O2` to $everything and -O1 to $locals then which one wins? |
2021-06-22 17:08:51 +0200 | o1lo01ol1o | (~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Remote host closed the connection) |
2021-06-22 17:14:42 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:f76a:37dd:7d13:fae6) (Ping timeout: 264 seconds) |
2021-06-22 17:15:09 +0200 | martinjaniczek | (~janiczek@89-24-44-164.nat.epc.tmcz.cz) |
2021-06-22 17:15:49 +0200 | janiczek | (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 258 seconds) |
2021-06-22 17:16:11 +0200 | argento | (~argent0@168-227-96-26.ptr.westnet.com.ar) |
2021-06-22 17:16:57 +0200 | safinaskar | (~safinaska@109.252.90.89) |
2021-06-22 17:18:01 +0200 | Guest31 | (~Guest31@202.166.32.155) (Quit: Client closed) |
2021-06-22 17:20:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-22 17:20:28 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 17:20:30 +0200 | sekun | (~sekun@180.190.208.125) (Ping timeout: 265 seconds) |
2021-06-22 17:20:38 +0200 | <safinaskar> | % proof :: forall (a :: *). (forall (x :: a). x :~: x) -> (forall (x :: a). x :~: x); proof = error "" |
2021-06-22 17:20:38 +0200 | <yahb> | safinaskar: ; <interactive>:49:93: error:; * Couldn't match expected type `(forall (x :: a). x :~: x) -> forall (x :: a). x :~: x' with actual type `a0'; Cannot instantiate unification variable `a0'; with a type involving polytypes: (forall (x :: a). x :~: x) -> forall (x :: a). x :~: x; * In the expression: error ""; In an equation for `proof': proof = error ""; * Relevant bindings inc |
2021-06-22 17:20:48 +0200 | <safinaskar> | why this gives compilation error? |
2021-06-22 17:20:56 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
2021-06-22 17:21:08 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 17:21:16 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
2021-06-22 17:22:47 +0200 | GIANTWORLDKEEPER | (~pjetcetal@2.95.227.207) |
2021-06-22 17:22:54 +0200 | ezzieygu1wuf | ezzieyguywuf |
2021-06-22 17:23:13 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-06-22 17:23:16 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-22 17:23:31 +0200 | gentauro | (~gentauro@user/gentauro) |
2021-06-22 17:25:14 +0200 | derelict | (~derelict@user/derelict) |
2021-06-22 17:26:27 +0200 | <c_wraith> | safinaskar: the error message seems pretty specific "Cannot instantiate unification variable `a0'; with a type involving polytypes:" |
2021-06-22 17:27:17 +0200 | <c_wraith> | safinaskar: that particular case might seem obvious, but the larger technique is not |
2021-06-22 17:27:32 +0200 | <safinaskar> | c_wraith: okey, but how this is possible that (error "") cannot match with (proof)? (error) has type (forall a. String -> a) |
2021-06-22 17:27:47 +0200 | <safinaskar> | c_wraith: so (error "") should match with everything, right? |
2021-06-22 17:28:33 +0200 | <c_wraith> | safinaskar: because it needs to unify the type of (error "") with the type you provided |
2021-06-22 17:28:52 +0200 | <lyxia> | "forall a" does not mean a can literally be anything in existence. |
2021-06-22 17:28:52 +0200 | maroloccio | (~marolocci@189.15.9.54) (Quit: Client closed) |
2021-06-22 17:29:04 +0200 | <c_wraith> | safinaskar: and that unification fails because it would require a polytype |
2021-06-22 17:29:17 +0200 | <lyxia> | there is a range of things a can be, and polytypes are not among them. |
2021-06-22 17:29:19 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
2021-06-22 17:29:36 +0200 | <c_wraith> | safinaskar: What version of GHC are you using? |
2021-06-22 17:30:40 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Quit: WeeChat 3.1) |
2021-06-22 17:30:41 +0200 | <safinaskar> | c_wraith: 9.2.0.20210422 (latest which can be installed using ghcup) |
2021-06-22 17:30:53 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-06-22 17:31:05 +0200 | <c_wraith> | do you have -XImpredicativeTypes on? |
2021-06-22 17:31:13 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Client Quit) |
2021-06-22 17:31:27 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-06-22 17:31:58 +0200 | <c_wraith> | I'm not sure about the limits of the new implementation for it. It *might* be able to handle this case. |
2021-06-22 17:32:39 +0200 | <safinaskar> | c_wraith: lyxia: thanks, what are polytypes? |
2021-06-22 17:33:33 +0200 | <safinaskar> | c_wraith: i didn't have ImpredicativeTypes . now i enabled it, and the code works. thanks! |
2021-06-22 17:33:33 +0200 | martinjaniczek | (~janiczek@89-24-44-164.nat.epc.tmcz.cz) (Read error: Connection reset by peer) |
2021-06-22 17:34:14 +0200 | <c_wraith> | a polytype is essentially a type with a forall anywhere other than the top level |
2021-06-22 17:34:16 +0200 | martinjaniczek | (~janiczek@89-24-215-117.customers.tmcz.cz) |
2021-06-22 17:35:03 +0200 | <c_wraith> | (I'm sure you could find some counterexamples that you need a more precise definition to deal with, but that's a good starting point) |
2021-06-22 17:35:14 +0200 | <lyxia> | (short for "types with polymorphism") |
2021-06-22 17:38:48 +0200 | <c_wraith> | In any case, -XImpredicativeTypes exists specifically to allow unification to work with polytypes |
2021-06-22 17:39:07 +0200 | <c_wraith> | It has some limits - you can get sophisticated enough that it gives up. |
2021-06-22 17:40:01 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Quit: WeeChat 3.1) |
2021-06-22 17:40:42 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-06-22 17:41:27 +0200 | <monochrom> | IIRC 9.2 uses what's on the QuickLook impredicavity paper, so it is fairly well-defined what it tries. |
2021-06-22 17:42:17 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-06-22 17:43:45 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 17:43:46 +0200 | <c_wraith> | yeah, I just don't know what the limits are - I haven't read the paper. |
2021-06-22 17:44:00 +0200 | <monochrom> | Ha nice ghcup knows 9.2 prerelease. |
2021-06-22 17:47:52 +0200 | <monochrom> | The nice thing is if you don't know, but you have had experience and good habits in handwriting type sigs for ordinary Haskell code, you won't be surprised about where you need to handwrite types. |
2021-06-22 17:48:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 264 seconds) |
2021-06-22 17:48:22 +0200 | <monochrom> | A long way to say "intuitive" but it's a vague and much abused word. |
2021-06-22 17:48:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 17:48:24 +0200 | Morrow_ | (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) |
2021-06-22 17:53:51 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-06-22 17:55:38 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-06-22 17:55:47 +0200 | Morrow_ | (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 265 seconds) |
2021-06-22 17:56:10 +0200 | safinaskar | (~safinaska@109.252.90.89) () |
2021-06-22 17:59:54 +0200 | o | niko |
2021-06-22 18:00:58 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 18:01:59 +0200 | <tomsmeding> | % proof :: forall (a :: *). (forall (x :: a). x :~: x) -> (forall (x :: a). x :~: x); proof _ = error "" |
2021-06-22 18:01:59 +0200 | <yahb> | tomsmeding: |
2021-06-22 18:02:13 +0200 | <tomsmeding> | (added a _ argument) |
2021-06-22 18:03:47 +0200 | xff0x | (~xff0x@2001:1a81:5218:4800:1515:545a:1239:1833) (Ping timeout: 244 seconds) |
2021-06-22 18:04:38 +0200 | xff0x | (~xff0x@2001:1a81:5218:4800:ee:cf49:8e18:79e1) |
2021-06-22 18:07:00 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-06-22 18:07:01 +0200 | Arsen | ArsenArsen |
2021-06-22 18:07:09 +0200 | ArsenArsen | Arsen |
2021-06-22 18:07:42 +0200 | Arsen | ArsenArsen |
2021-06-22 18:07:53 +0200 | moet | (~moet@172.58.35.6) |
2021-06-22 18:09:30 +0200 | pragma- | garp |
2021-06-22 18:09:34 +0200 | garp | pragma- |
2021-06-22 18:10:47 +0200 | _________ | noodly |
2021-06-22 18:10:51 +0200 | noodly | __________ |
2021-06-22 18:11:01 +0200 | __________ | _________ |
2021-06-22 18:12:26 +0200 | safinaskar | (~safinaska@109.252.90.89) |
2021-06-22 18:12:39 +0200 | <safinaskar> | why this code doesn't compile? https://paste.debian.net/1202044/ |
2021-06-22 18:13:06 +0200 | <safinaskar> | I see error: "Illegal equational constraint a ~ a (Use GADTs or TypeFamilies to permit this)" |
2021-06-22 18:13:20 +0200 | <safinaskar> | how GADTs and TypeFamilies are related to my code? |
2021-06-22 18:14:01 +0200 | <Cale> | They both need type equalities to work |
2021-06-22 18:14:33 +0200 | <Cale> | It's possible that there ought to be a third extension TypeEqualities that they both imply, but there isn't. |
2021-06-22 18:14:47 +0200 | <tomsmeding> | % proof :: forall (a :: *). (forall (x :: a). x :~: x) -> (forall (x :: a). x :~: x); proof _ = error "" -- safinaskar |
2021-06-22 18:14:48 +0200 | <yahb> | tomsmeding: |
2021-06-22 18:14:57 +0200 | <tomsmeding> | (note the _) |
2021-06-22 18:15:51 +0200 | hrnz | Henselierung |
2021-06-22 18:15:56 +0200 | hiruji | (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-06-22 18:16:13 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-06-22 18:16:16 +0200 | <safinaskar> | Cale: thanks |
2021-06-22 18:16:25 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 18:16:33 +0200 | <safinaskar> | tomsmeding: thanks. i already enabled typeimpredicativity, and it works |
2021-06-22 18:17:13 +0200 | hiruji | (~hiruji@user/hiruji) (Client Quit) |
2021-06-22 18:17:17 +0200 | hounded_woodstoc | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) |
2021-06-22 18:17:29 +0200 | hounded_1969 | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) |
2021-06-22 18:17:32 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-06-22 18:18:11 +0200 | hiruji | (~hiruji@user/hiruji) (Client Quit) |
2021-06-22 18:18:29 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-06-22 18:18:46 +0200 | <thyriaen> | i thought that the point of reduce & fold to use it on monoids so it doesnt matter in which order the operation is applied, why is there foldl foldr foldt - when i use it for + for example i dont care bout the order |
2021-06-22 18:18:48 +0200 | hounded_1969 | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Client Quit) |
2021-06-22 18:20:05 +0200 | wagle | (~wagle@quassel.wagle.io) (Ping timeout: 272 seconds) |
2021-06-22 18:23:00 +0200 | wagle | (~wagle@quassel.wagle.io) |
2021-06-22 18:23:35 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-06-22 18:23:39 +0200 | <Cale> | thyriaen: Not necessarily |
2021-06-22 18:24:03 +0200 | <Cale> | There are plenty of cases where the type of the result does not even match the type of elements in the list |
2021-06-22 18:24:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 18:25:47 +0200 | safinaskar | (~safinaska@109.252.90.89) () |
2021-06-22 18:25:54 +0200 | safinaskar | (~safinaska@109.252.90.89) |
2021-06-22 18:25:56 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-06-22 18:26:01 +0200 | <safinaskar> | why this doesn't compile? https://paste.debian.net/1202047/ |
2021-06-22 18:27:00 +0200 | <Cale> | safinaskar: Because 3868 still hasn't gotten merged ;) |
2021-06-22 18:27:42 +0200 | wagle | (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds) |
2021-06-22 18:27:43 +0200 | xkuru | (~xkuru@user/xkuru) |
2021-06-22 18:27:50 +0200 | <safinaskar> | Cale: please, give a link |
2021-06-22 18:27:52 +0200 | xkuru | (~xkuru@user/xkuru) (Remote host closed the connection) |
2021-06-22 18:28:01 +0200 | <Cale> | https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3868/ |
2021-06-22 18:28:14 +0200 | xkuru | (~xkuru@user/xkuru) |
2021-06-22 18:28:31 +0200 | <Cale> | (I need to update some test outputs, and rebase it right now, as it happens...) |
2021-06-22 18:29:21 +0200 | <Cale> | safinaskar: Note that regardless, pr would be dead code, since you could never actually satisfy its constraint in order to use it |
2021-06-22 18:29:38 +0200 | <Cale> | But it's probable that this should merely be a warning. |
2021-06-22 18:30:35 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-06-22 18:31:07 +0200 | <Cale> | Oh, actually, I'm not even sure 3868 will save you here |
2021-06-22 18:31:22 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 252 seconds) |
2021-06-22 18:32:13 +0200 | <Cale> | Haven't thought much about the case with QuantifiedConstraints... |
2021-06-22 18:33:24 +0200 | <safinaskar> | i changed type to this: "pr :: forall a. (forall b. a ~ b) => Int", and i still get same error |
2021-06-22 18:33:48 +0200 | <safinaskar> | but not this constraint is satisfable! |
2021-06-22 18:34:27 +0200 | <Cale> | That's still not going to be satisfiable... there's no type which is equal to every other type |
2021-06-22 18:34:36 +0200 | wagle | (~wagle@quassel.wagle.io) |
2021-06-22 18:35:35 +0200 | <Cale> | Did you just want forall a b. (a ~ b) => Int ? This is merely ambiguous. |
2021-06-22 18:35:55 +0200 | <Cale> | (since a and b are unused by the rest of the type) |
2021-06-22 18:36:19 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-22 18:38:14 +0200 | <Cale> | What behaviour do you get if you turn on AllowAmbiguousTypes by the way? |
2021-06-22 18:38:43 +0200 | Guest75 | (~Guest75@166.70.242.157) |
2021-06-22 18:38:44 +0200 | <safinaskar> | Cale: "Did you just want forall a b. (a ~ b) => Int" - of course, no. My final goal is to compile this code: https://paste.debian.net/1202048/ |
2021-06-22 18:39:10 +0200 | <safinaskar> | Cale: i want to compile it to prove functor law from applicative laws |
2021-06-22 18:39:27 +0200 | <safinaskar> | Cale: i am curious whether this is possible using haskell type system |
2021-06-22 18:39:55 +0200 | <safinaskar> | so now i go through ghc errors which are show when i try to compile this code |
2021-06-22 18:40:20 +0200 | <Cale> | If it was possible, I still wouldn't trust the result :P |
2021-06-22 18:40:49 +0200 | <safinaskar> | Cale: why? |
2021-06-22 18:42:42 +0200 | <dminuoso> | Why is a proof of type inequality not something we can express? |
2021-06-22 18:43:28 +0200 | wagle | (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds) |
2021-06-22 18:43:33 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-06-22 18:43:33 +0200 | <Cale> | Well, maybe that's a little unfair, but we're using a whole bunch of type system features which haven't been around very long, and GHC's type checker is a giant and complicated beast. There's no shortage of weird bugs. |
2021-06-22 18:43:42 +0200 | wagle | (~wagle@quassel.wagle.io) |
2021-06-22 18:44:10 +0200 | fef | (~thedawn@user/thedawn) |
2021-06-22 18:44:44 +0200 | peterhil_ | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-06-22 18:44:49 +0200 | <Cale> | dminuoso: You want something like (a :~: b) -> Void ? |
2021-06-22 18:45:19 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-06-22 18:45:40 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-22 18:45:52 +0200 | <dminuoso> | Cale: No, Im just curious why we dont have something like (a :!~: b) |
2021-06-22 18:46:01 +0200 | <dminuoso> | I dont have any acute need, it's just curiosity |
2021-06-22 18:46:24 +0200 | <Cale> | You typically can't do very much with the information that two types are not equal |
2021-06-22 18:47:52 +0200 | <Cale> | Knowing that two types *are* equal lets you apply functions that operate on one of the types to values of the other, for example. |
2021-06-22 18:47:57 +0200 | hexfive | (~eric@50.35.83.177) |
2021-06-22 18:48:07 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-22 18:48:16 +0200 | <Cale> | But knowing that they aren't equal doesn't really give you any additional permission that you wouldn't have otherwise had. |
2021-06-22 18:49:11 +0200 | hexfive | (~eric@50.35.83.177) (Client Quit) |
2021-06-22 18:50:25 +0200 | <dminuoso> | Cale: Well but at the same time I do have something like (==) so I can express: (a == b) ~ 'False => ... |
2021-06-22 18:50:48 +0200 | wagle | (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds) |
2021-06-22 18:50:48 +0200 | <dminuoso> | Is that not the same amount of information? |
2021-06-22 18:51:29 +0200 | <Cale> | I suppose, but what do you do with that? |
2021-06-22 18:51:55 +0200 | wagle | (~wagle@quassel.wagle.io) |
2021-06-22 18:52:51 +0200 | <Cale> | For something like a promoted data type, where you're pretending that Haskell is dependently typed and doing some sort of type level computations, doing inequality tests at the type level might make sense. |
2021-06-22 18:52:59 +0200 | <safinaskar> | dminuoso: try to express type inequality using this: (forall x. (a ~ b) => x). this essentially means a is not equal to b |
2021-06-22 18:53:28 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 18:53:47 +0200 | Morrow_ | (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) |
2021-06-22 18:54:20 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 258 seconds) |
2021-06-22 18:55:13 +0200 | <tomsmeding> | Cale: perhaps to exclude a particular branch in a case expression? |
2021-06-22 18:55:24 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 18:55:54 +0200 | Erutuon | (~Erutuon@user/erutuon) (Quit: WeeChat 2.8) |
2021-06-22 18:56:50 +0200 | Topsi1 | (~Tobias@dyndsl-095-033-016-151.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-06-22 18:58:43 +0200 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) |
2021-06-22 18:58:45 +0200 | justBull | (~justache@user/justache) (Remote host closed the connection) |
2021-06-22 18:59:07 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-06-22 18:59:58 +0200 | justBull | (~justache@user/justache) |
2021-06-22 18:59:59 +0200 | <Cale> | tomsmeding: You mean like, reflecting the work of the pattern match checker back into the type system? |
2021-06-22 19:00:58 +0200 | wagle | (~wagle@quassel.wagle.io) (Ping timeout: 268 seconds) |
2021-06-22 19:01:04 +0200 | argento | (~argent0@168-227-96-26.ptr.westnet.com.ar) (Ping timeout: 252 seconds) |
2021-06-22 19:01:20 +0200 | wagle | (~wagle@quassel.wagle.io) |
2021-06-22 19:01:23 +0200 | oats | ot |
2021-06-22 19:01:29 +0200 | ot | ailur |
2021-06-22 19:01:31 +0200 | ailur | hugs |
2021-06-22 19:01:33 +0200 | hugs | oats |
2021-06-22 19:01:38 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 19:02:40 +0200 | <dminuoso> | Cale: So I havent done much type level programming, but I'd have thought that knowing whether type types are equal might be as interesting as knowing that they are not. |
2021-06-22 19:02:45 +0200 | <dminuoso> | Perhaps Im wrong |
2021-06-22 19:02:48 +0200 | <thyriaen> | guys |
2021-06-22 19:02:54 +0200 | <thyriaen> | i think i am in love |
2021-06-22 19:02:57 +0200 | <tomsmeding> | Cale: my point was that theoretically, you might be able to have e.g. data Foo a where { A :: Int -> Foo 'True ; B :: Bool -> Foo 'False } ; foo :: (a !~ 'False) => Foo a -> Int ; foo (A i) = i |
2021-06-22 19:03:11 +0200 | <tomsmeding> | and then the pattern match checker would be fine with that because of the inequality context |
2021-06-22 19:03:14 +0200 | <thyriaen> | why do non-functional languages even exist |
2021-06-22 19:03:21 +0200 | <tomsmeding> | not sure how useful this ability would even be |
2021-06-22 19:03:32 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-06-22 19:04:02 +0200 | <tomsmeding> | thyriaen: ease of compiler implementation, more control over the compiled form, more natural expression of imperative algorithms, inertia |
2021-06-22 19:04:11 +0200 | <tomsmeding> | not necessarily in that order :p |
2021-06-22 19:04:17 +0200 | <dminuoso> | tomsmeding: Because it took decades before a half way efficient encoding of a lazy functional programming language was found. Imperative languages tend to be simpler to compile into locally good code? |
2021-06-22 19:04:36 +0200 | <Cale> | thyriaen: Because lots of stuff got done before people had any idea how to compile functional programs into a reasonably efficient form, and people kept using those languages because relearning how to program is annoying. |
2021-06-22 19:04:41 +0200 | <dminuoso> | Err thyriaen ^- |
2021-06-22 19:05:13 +0200 | econo | (uid147250@user/econo) |
2021-06-22 19:05:36 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 19:06:21 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 265 seconds) |
2021-06-22 19:06:34 +0200 | chomwitt | (~Pitsikoko@athedsl-351576.home.otenet.gr) (Ping timeout: 252 seconds) |
2021-06-22 19:06:38 +0200 | <safinaskar> | thyriaen: ha-ha. i hate haskell. currently i write my parser lib in haskell and my prover in haskell. The whole reason why i pick haskell is this: because I already wrote a lot of code. :) If I started now, I'd pick rust. because it is impure. and gives full control on speed |
2021-06-22 19:08:37 +0200 | <mikko> | isn't that how it usually goes, every language seems really good until you do something bigger with and then it's too late to change :) |
2021-06-22 19:09:17 +0200 | arjun | (~user@user/arjun) |
2021-06-22 19:09:59 +0200 | <arjun> | hi all |
2021-06-22 19:10:01 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-06-22 19:10:09 +0200 | <tomsmeding> | safinaskar: this experimentation with moving stuff to the type level that you're doing would be completely impossible from the start in rust :p |
2021-06-22 19:10:25 +0200 | <arjun> | how do i deal with if this throws an error ?-> https://hackage.haskell.org/package/directory-1.3.6.2/docs/System-Directory.html#v:removeDirectory |
2021-06-22 19:10:57 +0200 | <safinaskar> | tomsmeding: yes, still rust has more benefits |
2021-06-22 19:11:29 +0200 | Scotty_Trees | (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
2021-06-22 19:11:32 +0200 | <tomsmeding> | safinaskar: for your purpose / in your opinion :) |
2021-06-22 19:11:36 +0200 | haveo | (~haveo@sl35.iuwt.fr) (Quit: leaving) |
2021-06-22 19:11:39 +0200 | <Cale> | tomsmeding: Which is possibly a point in rust's favour on its own, since it would save him wasting time messing around with fancy types, haha :D |
2021-06-22 19:11:46 +0200 | <tomsmeding> | :D |
2021-06-22 19:12:10 +0200 | <safinaskar> | tomsmeding: also, surprisingly, c++ has dependent types! (but arguments to type-level expressions should be compile-time values) |
2021-06-22 19:12:17 +0200 | jess | (~jess@libera/staff/jess) () |
2021-06-22 19:12:36 +0200 | <tomsmeding> | and rust is getting that same capability (const generics) |
2021-06-22 19:12:38 +0200 | <Cale> | For some value of "has", yeah |
2021-06-22 19:13:21 +0200 | <dminuoso> | GHC Haskell has capabilities too! |
2021-06-22 19:13:50 +0200 | <tomsmeding> | % Control.Concurrent.getNumCapabilities |
2021-06-22 19:13:51 +0200 | <yahb> | tomsmeding: 1 |
2021-06-22 19:14:28 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-06-22 19:14:56 +0200 | curiousgay | (~curiousgg@178.217.208.8) (Remote host closed the connection) |
2021-06-22 19:14:56 +0200 | <tomsmeding> | arjun: try 'catch' from Control.Exception |
2021-06-22 19:15:12 +0200 | curiousgay | (~curiousgg@178.217.208.8) |
2021-06-22 19:15:46 +0200 | alx741 | (~alx741@181.196.68.152) (Ping timeout: 268 seconds) |
2021-06-22 19:18:11 +0200 | Guest75 | (~Guest75@166.70.242.157) (Quit: Ping timeout (120 seconds)) |
2021-06-22 19:18:51 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-06-22 19:18:51 +0200 | <safinaskar> | tomsmeding: C++ can be used as a prover! look here: https://godbolt.org/z/MzhedqeKE . I can write more code to show the point, i. e. give some example proofs |
2021-06-22 19:20:05 +0200 | chisui | (~chisui@200116b866492700f0ddc72238639ee4.dip.versatel-1u1.de) |
2021-06-22 19:20:38 +0200 | sheepduck | (~sheepduck@user/sheepduck) |
2021-06-22 19:20:40 +0200 | <tomsmeding> | hah, neat |
2021-06-22 19:20:45 +0200 | <chisui> | Hey, is there a reason why there are no closed data families? |
2021-06-22 19:21:29 +0200 | <Cale> | The static nature of template instantiation will eventually get in your way trying to do that stuff in C++, and of course the syntax is insanely cumbersome and not really meant for that, but you can do a fair amount. |
2021-06-22 19:22:11 +0200 | <Cale> | chisui: How would that differ from a GADT? |
2021-06-22 19:22:42 +0200 | <chisui> | Cale You can't have the instance be newtypes. |
2021-06-22 19:22:55 +0200 | <Cale> | ah, fair |
2021-06-22 19:26:03 +0200 | haveo | (~haveo@sl35.iuwt.fr) |
2021-06-22 19:27:20 +0200 | <safinaskar> | Cale: "What behaviour do you get if you turn on AllowAmbiguousTypes by the way?": my (final) code still gives nearly same error if I enable AllowAmbiguousTypes: https://paste.debian.net/1202054/ |
2021-06-22 19:28:00 +0200 | Guest9 | (~Guest9@43.250.158.34) |
2021-06-22 19:28:28 +0200 | alx741 | (~alx741@181.196.68.156) |
2021-06-22 19:28:49 +0200 | <arjun> | tomsmeding: i'll do that, thanks! |
2021-06-22 19:31:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 19:32:17 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
2021-06-22 19:33:10 +0200 | <Cale> | safinaskar: On 3868, your code compiles without warning, but I'm not sure I'm actually happy about that, since an attempt to use proof will result in a type error. |
2021-06-22 19:36:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-06-22 19:36:40 +0200 | kuribas | (~user@ptr-25vy0i89phmaoo2wmls.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-06-22 19:37:00 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds) |
2021-06-22 19:41:46 +0200 | azeem | (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) (Ping timeout: 252 seconds) |
2021-06-22 19:42:32 +0200 | azeem | (~azeem@176.201.6.138) |
2021-06-22 19:45:53 +0200 | thyriaen | (~thyriaen@45.178.73.238) (Quit: Leaving) |
2021-06-22 19:47:08 +0200 | safinaskar | (~safinaska@109.252.90.89) () |
2021-06-22 19:47:25 +0200 | notzmv | (~zmv@user/notzmv) |
2021-06-22 19:49:23 +0200 | safinaskar | (~safinaska@109.252.90.89) |
2021-06-22 19:51:34 +0200 | <safinaskar> | is there any other uses for GADTs except for writing type checkers and provers? |
2021-06-22 19:53:27 +0200 | <dminuoso> | No, they were built for that sole usage. They are forbidden for all other things like modelling ASTs |
2021-06-22 19:53:47 +0200 | <dminuoso> | (that was sarcasm, by the way) |
2021-06-22 19:56:06 +0200 | azeem | (~azeem@176.201.6.138) (Read error: Connection reset by peer) |
2021-06-22 19:56:26 +0200 | arjun | (~user@user/arjun) (Ping timeout: 258 seconds) |
2021-06-22 19:56:38 +0200 | <safinaskar> | dminuoso: "modelling ASTs" - this is type checking, again. is there any example where GADTs can be used for AST modeling, but not for type checking? |
2021-06-22 19:56:48 +0200 | <dminuoso> | this is not type checking. |
2021-06-22 19:58:10 +0200 | azeem | (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) |
2021-06-22 19:58:48 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-06-22 20:00:00 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
2021-06-22 20:00:07 +0200 | <tomsmeding> | safinaskar: probably no, but "provers" is very general |
2021-06-22 20:00:42 +0200 | __monty__ | SirJection |
2021-06-22 20:00:49 +0200 | <tomsmeding> | e.g. a compiler can represent the AST of the program being compiled with a GADT; by doing so, the act of writing the compiler using that data type proves that all compiler passes are type-correct with respect to the language being compiled |
2021-06-22 20:00:58 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-06-22 20:01:10 +0200 | SirJection | __monty__ |
2021-06-22 20:02:08 +0200 | <tomsmeding> | it's a partial version of dependent typing, so I guess it's similar answers as the same question for "dependent types" would have |
2021-06-22 20:02:23 +0200 | <safinaskar> | ok |
2021-06-22 20:06:28 +0200 | <dminuoso> | tomsmeding: re "type-correct" - Im not sure that really holds. |
2021-06-22 20:07:29 +0200 | <tomsmeding> | for a narrow enough definition of "type-correct" :) |
2021-06-22 20:07:34 +0200 | vicfred | (~vicfred@user/vicfred) (Ping timeout: 268 seconds) |
2021-06-22 20:07:40 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-22 20:07:48 +0200 | <tomsmeding> | you know that the output of the compiler pass is valid in the object type system |
2021-06-22 20:08:07 +0200 | <tomsmeding> | but this says precious little about actual semantical correctness of the pass |
2021-06-22 20:08:21 +0200 | <dminuoso> | Sure, but you could still have a separate type system imposing additional constraints, like maybe there's polymorphism that the GADTs dont express or phantom types maybe |
2021-06-22 20:08:32 +0200 | dsf | (~dsf@cpe-66-75-56-205.san.res.rr.com) (Quit: Konversation terminated!) |
2021-06-22 20:08:45 +0200 | dsf | (~dsf@cpe-66-75-56-205.san.res.rr.com) |
2021-06-22 20:08:46 +0200 | <tomsmeding> | right, if there are type system features that the GADT doesn't express, you don't prove anything about that |
2021-06-22 20:08:49 +0200 | martinjaniczek | (~janiczek@89-24-215-117.customers.tmcz.cz) (Quit: WeeChat 3.2) |
2021-06-22 20:12:00 +0200 | <Cale> | safinaskar: GADTs are rather good for protocols, because you can index a "query" type by the type of response you'll receive back. |
2021-06-22 20:12:37 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-22 20:13:58 +0200 | <Cale> | You can also use fairly simple GADTs along with DMap to have "extensible records" of a sort -- the GADT values become like "structured field labels" |
2021-06-22 20:15:49 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-06-22 20:17:43 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-06-22 20:19:10 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-06-22 20:19:10 +0200 | azeem | (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-06-22 20:19:12 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Remote host closed the connection) |
2021-06-22 20:19:18 +0200 | altern | (~altern@altern.corbina.com.ua) |
2021-06-22 20:19:48 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 20:20:19 +0200 | azeem | (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) |
2021-06-22 20:20:21 +0200 | <maerwald> | Do we have a pure haskell implementation of `findmnt`? |
2021-06-22 20:22:49 +0200 | Xe_ | (~cadey@tailscale/xe) |
2021-06-22 20:22:51 +0200 | Xe | (~cadey@tailscale/xe) (Killed (zirconium.libera.chat (Nickname regained by services))) |
2021-06-22 20:22:51 +0200 | Xe_ | Xe |
2021-06-22 20:23:48 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 244 seconds) |
2021-06-22 20:24:50 +0200 | <safinaskar> | ok, thanks |
2021-06-22 20:25:42 +0200 | mcglk | (~mcglk@131.191.49.120) (Quit: (seeya)) |
2021-06-22 20:26:03 +0200 | mcglk | (~mcglk@131.191.49.120) |
2021-06-22 20:26:29 +0200 | <safinaskar> | maerwald: you mean linux util findmnt? it essentially reads from /proc/mounts (and /proc/self/mountinfo) and adds some formatting |
2021-06-22 20:27:23 +0200 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Ping timeout: 268 seconds) |
2021-06-22 20:28:13 +0200 | ph88 | (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) |
2021-06-22 20:28:49 +0200 | <maerwald> | yes |
2021-06-22 20:31:28 +0200 | <safinaskar> | maerwald: i think this is trivial to write haskell program which converts that two files to findmnt output |
2021-06-22 20:31:37 +0200 | <maerwald> | Also, it does a little more than that |
2021-06-22 20:31:55 +0200 | ArsenArsen | Arsen |
2021-06-22 20:32:11 +0200 | <maerwald> | Yeah, I know I can code everything myself |
2021-06-22 20:36:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 20:37:19 +0200 | curiousgay | (~curiousgg@178.217.208.8) (Remote host closed the connection) |
2021-06-22 20:37:30 +0200 | curiousgay | (~curiousgg@178.217.208.8) |
2021-06-22 20:40:03 +0200 | <__monty__> | Does anyone know where I can find Okasaki's Maxiphobic heaps paper from 2005? Came across a dead link, http://www.eecs.usma.edu/webs/people/okasaki/sigcse05.pdf |
2021-06-22 20:42:49 +0200 | <shachaf> | That's a nice paper. |
2021-06-22 20:43:03 +0200 | <shachaf> | The title is "Alternatives to Two Classic Data Structures", that should help you find it. |
2021-06-22 20:43:24 +0200 | <shachaf> | It looks like Google has links? If not I have a copy. |
2021-06-22 20:44:11 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
2021-06-22 20:44:37 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-06-22 20:44:45 +0200 | hounded_woodstoc | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Quit: Leaving) |
2021-06-22 20:44:55 +0200 | <__monty__> | shachaf: Ah, thanks, I thought "Maxphobic heaps" was the title. |
2021-06-22 20:44:58 +0200 | <__monty__> | <3 |
2021-06-22 20:45:40 +0200 | shutdown_-h_now | (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) |
2021-06-22 20:45:54 +0200 | DkHmmEbpohxS | (~DkHmmEbpo@88.155.49.35) |
2021-06-22 20:45:54 +0200 | <DkHmmEbpohxS> | 1I8eRA.ChAT 15 4 Sc4M, C0M3 8ACk T0 frEenodE |
2021-06-22 20:45:55 +0200 | DkHmmEbpohxS | (~DkHmmEbpo@88.155.49.35) (Client Quit) |
2021-06-22 20:48:01 +0200 | <chisui> | are there any resources on what `magicDict` does? I saw it in the internals of `GHC.TypeNats` and I'm it seems really magic. |
2021-06-22 20:52:10 +0200 | <chisui> | Ok, found something https://ghc-compiler-notes.readthedocs.io/en/latest/notes/compiler/basicTypes/MkId.hs.html |
2021-06-22 20:52:34 +0200 | <tomsmeding> | chisui: also check out this email thread: https://mail.haskell.org/pipermail/ghc-devs/2021-April/019833.html |
2021-06-22 20:55:28 +0200 | <lyxia> | chisui: it's also being replaced with withDict, and there are some notes about this new version https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/HsToCore/Expr.hs#L1307 |
2021-06-22 20:56:12 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-06-22 20:56:54 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2021-06-22 20:57:18 +0200 | altern | (~altern@altern.corbina.com.ua) (Ping timeout: 252 seconds) |
2021-06-22 20:59:18 +0200 | curiousgay | (~curiousgg@178.217.208.8) (Remote host closed the connection) |
2021-06-22 20:59:47 +0200 | curiousgay | (~curiousgg@178.217.208.8) |
2021-06-22 20:59:47 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-22 21:00:33 +0200 | sheepduck | (~sheepduck@user/sheepduck) (Read error: Connection reset by peer) |
2021-06-22 21:02:56 +0200 | <maerwald> | safinaskar: https://hackage.haskell.org/package/mountpoints-1.0.2/docs/System-MountPoints.html |
2021-06-22 21:03:19 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2021-06-22 21:03:24 +0200 | MoC | (~moc@user/moc) |
2021-06-22 21:03:45 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2021-06-22 21:04:16 +0200 | dhil | (~dhil@195.213.192.47) (Ping timeout: 252 seconds) |
2021-06-22 21:04:28 +0200 | <geekosaur> | if you want portability, it won't be there; every system has its own way to record mount points |
2021-06-22 21:05:09 +0200 | <geekosaur> | linux does it one way, freebsd another, darwin a third |
2021-06-22 21:05:58 +0200 | <chisui> | tomsmeding, lyxia: Thanks, that's some deep magic |
2021-06-22 21:06:34 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
2021-06-22 21:07:47 +0200 | Alex_test | (~al_test@178.34.150.65) (Quit: ;-) |
2021-06-22 21:08:16 +0200 | AlexZenon | (~alzenon@178.34.150.65) (Quit: ;-) |
2021-06-22 21:08:25 +0200 | moet_ | (~moet@172.58.27.140) |
2021-06-22 21:08:46 +0200 | tzar_bomba | (~tzar_bomb@78-56-41-78.static.zebra.lt) |
2021-06-22 21:09:27 +0200 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
2021-06-22 21:10:04 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-06-22 21:11:36 +0200 | moet | (~moet@172.58.35.6) (Ping timeout: 252 seconds) |
2021-06-22 21:15:31 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) |
2021-06-22 21:16:34 +0200 | AlexZenon | (~alzenon@178.34.150.65) |
2021-06-22 21:16:59 +0200 | wrunt | (~ajc@vmx14030.hosting24.com.au) (Ping timeout: 272 seconds) |
2021-06-22 21:17:08 +0200 | <maerwald> | geekosaur: "Works on: Linux, BSD, Mac OS X, Android" |
2021-06-22 21:17:45 +0200 | <geekosaur> | the utility may, the files it reads don't |
2021-06-22 21:18:17 +0200 | dhil | (~dhil@80.208.56.181) |
2021-06-22 21:18:19 +0200 | <maerwald> | did you read the implementation? |
2021-06-22 21:18:29 +0200 | Alex_test | (~al_test@178.34.150.65) |
2021-06-22 21:18:32 +0200 | wrunt | (~ajc@vmx14030.hosting24.com.au) |
2021-06-22 21:18:58 +0200 | vicfred | (~vicfred@user/vicfred) |
2021-06-22 21:18:58 +0200 | <davean> | geekosaur: i'm confused - what are you talking about? |
2021-06-22 21:19:36 +0200 | <geekosaur> | there's a linux-commpatible /proc inplementation for freebsd but it's not mounted by default and is mounted in a different place when it is (BSD /proc is different) |
2021-06-22 21:19:57 +0200 | <maerwald> | it uses libmount.h |
2021-06-22 21:20:01 +0200 | <davean> | Yah |
2021-06-22 21:20:09 +0200 | <davean> | I have no idea why you're mentioning that geekosaur |
2021-06-22 21:20:34 +0200 | zeenk | (~zeenk@2a02:2f04:a00e:6e00:d401:4c92:fecc:16f9) |
2021-06-22 21:20:42 +0200 | <davean> | geekosaur: it says nothing about /proc |
2021-06-22 21:20:47 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-22 21:21:18 +0200 | <geekosaur> | <safinaskar> maerwald: you mean linux util findmnt? it essentially reads from /proc/mounts (and /proc/self/mountinfo) and adds some formatting |
2021-06-22 21:21:20 +0200 | <davean> | sorry, theres one comment about the C implimentation |
2021-06-22 21:21:32 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-06-22 21:22:18 +0200 | <geekosaur> | plus I've written such tilities (granted, over a decade ago) and had to do something different on every system |
2021-06-22 21:22:23 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-06-22 21:22:39 +0200 | <davean> | geekosaur: right, but it uses libmount.h |
2021-06-22 21:22:48 +0200 | <geekosaur> | some of which hopefully nobody cares about any more (looking at you hp/ux) |
2021-06-22 21:22:50 +0200 | <davean> | which does the different thing on different systems |
2021-06-22 21:23:38 +0200 | <maerwald> | the implementation looks portable |
2021-06-22 21:23:51 +0200 | <davean> | geekosaur: I'm a little confused if you're paying attention to this conversation or not |
2021-06-22 21:23:59 +0200 | <davean> | we keep saying "its not the thing you keep claiming it is" |
2021-06-22 21:24:59 +0200 | fendor | (~fendor@178.115.129.107.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-06-22 21:25:03 +0200 | <maerwald> | but... is libmount.h in POSIX? Can't find it |
2021-06-22 21:25:36 +0200 | <davean> | maerwald: Its uh, well theres a few versions of it |
2021-06-22 21:25:48 +0200 | <davean> | maerwald: and its SysV |
2021-06-22 21:26:04 +0200 | <davean> | yah, thats complicated |
2021-06-22 21:26:14 +0200 | <davean> | sorry, the functions |
2021-06-22 21:26:18 +0200 | <davean> | so hence libmount.h |
2021-06-22 21:26:26 +0200 | <maerwald> | It seems to be bundled |
2021-06-22 21:26:34 +0200 | <davean> | ight |
2021-06-22 21:27:07 +0200 | qbt | (~edun@user/edun) (Ping timeout: 268 seconds) |
2021-06-22 21:27:13 +0200 | <maerwald> | and I can't read it on my phone... since it's an obscure git repo :p |
2021-06-22 21:27:42 +0200 | fendor | (~fendor@178.115.129.107.wireless.dyn.drei.com) |
2021-06-22 21:28:55 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-06-22 21:32:12 +0200 | Guest9 | (~Guest9@43.250.158.34) (Quit: Connection closed) |
2021-06-22 21:32:20 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-06-22 21:32:24 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-06-22 21:34:11 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2021-06-22 21:34:22 +0200 | MoC | (~moc@user/moc) |
2021-06-22 21:35:07 +0200 | <maerwald> | So it seems it uses /etc/mtab and falls back to /proc on android |
2021-06-22 21:36:06 +0200 | dhil | (~dhil@80.208.56.181) (Ping timeout: 258 seconds) |
2021-06-22 21:39:28 +0200 | wrunt | (~ajc@vmx14030.hosting24.com.au) (Ping timeout: 252 seconds) |
2021-06-22 21:40:32 +0200 | Deide | (~Deide@wire.desu.ga) |
2021-06-22 21:40:32 +0200 | Deide | (~Deide@wire.desu.ga) (Changing host) |
2021-06-22 21:40:32 +0200 | Deide | (~Deide@user/deide) |
2021-06-22 21:41:14 +0200 | <maerwald> | mtab is specified by glibc |
2021-06-22 21:41:34 +0200 | <maerwald> | https://www.gnu.org/software/libc/manual/html_node/Mount-Information.html |
2021-06-22 21:42:37 +0200 | wrunt | (~ajc@vmx14030.hosting24.com.au) |
2021-06-22 21:44:44 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-22 21:47:32 +0200 | <__monty__> | Anyone know what "PFDS on SSDs for performance reasons" might refer to? The accompanying url is useless, http://rethinkdb.com/jobs/ It must be something to do with functional data structures. |
2021-06-22 21:47:37 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-06-22 21:48:53 +0200 | <shachaf> | I would guess "purely functional data structure". |
2021-06-22 21:49:38 +0200 | <tdammers> | that, or "Primary Flight Displays" |
2021-06-22 21:49:43 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-06-22 21:51:28 +0200 | dhil | (~dhil@195.213.192.47) |
2021-06-22 21:51:45 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev) |
2021-06-22 21:55:15 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-06-22 21:57:12 +0200 | BosonCollider | (~olofs@90-227-86-119-no542.tbcn.telia.com) |
2021-06-22 21:57:15 +0200 | nilof | (~olofs@90-227-86-119-no542.tbcn.telia.com) |
2021-06-22 21:57:26 +0200 | nilof | (~olofs@90-227-86-119-no542.tbcn.telia.com) (Remote host closed the connection) |
2021-06-22 21:59:18 +0200 | <tchakka> | ... what is the currently recommended way of generating random numbers? Is StdGen still bad? |
2021-06-22 22:00:11 +0200 | <dminuoso> | First you have to explain what kind of randomness you want |
2021-06-22 22:00:41 +0200 | moet_ | (~moet@172.58.27.140) (Quit: leaving) |
2021-06-22 22:01:05 +0200 | notzmv | (~zmv@user/notzmv) |
2021-06-22 22:01:09 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-22 22:02:39 +0200 | blackfield | (~blackfiel@85.255.4.218) |
2021-06-22 22:04:55 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-06-22 22:05:04 +0200 | Kobold | (~koboldchi@12.18.150.83) |
2021-06-22 22:05:14 +0200 | juhp | (~juhp@128.106.188.66) (Ping timeout: 258 seconds) |
2021-06-22 22:05:16 +0200 | <Cajun> | how about cryptographic-level randomness? |
2021-06-22 22:05:18 +0200 | <tchakka> | Of the pseudo-variety >_> My current use-case does not care about cryptographic security one way or the other. It's pretty much a shuffling algorithm and a "pick one from a set of X" thingy. |
2021-06-22 22:05:49 +0200 | <dminuoso> | tchakka: Also, you might be happy to find out that many of the old issues were addressed: https://github.com/haskell/random/pull/61 |
2021-06-22 22:05:53 +0200 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
2021-06-22 22:06:35 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-06-22 22:06:37 +0200 | <tchakka> | Oooh! |
2021-06-22 22:07:35 +0200 | juhp | (~juhp@128.106.188.66) |
2021-06-22 22:09:50 +0200 | <lyxia> | yes, now it's "use random" |
2021-06-22 22:11:28 +0200 | <tchakka> | Then I will gladly use that, until I need something fancy and/or I suddenly know what I'm doing. |
2021-06-22 22:12:06 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 244 seconds) |
2021-06-22 22:13:34 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-06-22 22:14:36 +0200 | <sclv> | random is actually really good and fancy now, under the hood |
2021-06-22 22:14:49 +0200 | <sclv> | so even for Most Uses of Most People that know what they're doing, its the right choice |
2021-06-22 22:16:39 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-06-22 22:16:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Remote host closed the connection) |
2021-06-22 22:18:41 +0200 | pavonia | (~user@user/siracusa) |
2021-06-22 22:19:02 +0200 | ddellacosta | (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 258 seconds) |
2021-06-22 22:24:00 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-06-22 22:24:12 +0200 | awth13 | (~user@user/awth13) (Ping timeout: 252 seconds) |
2021-06-22 22:27:13 +0200 | themc47 | (~mc47@xmonad/TheMC47) |
2021-06-22 22:29:50 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 265 seconds) |
2021-06-22 22:32:16 +0200 | deshalb | (~deshalb@user/deshalb) (Quit: leaving) |
2021-06-22 22:32:39 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-06-22 22:34:06 +0200 | themc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds) |
2021-06-22 22:39:14 +0200 | peterhil_ | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-06-22 22:39:51 +0200 | peterhil_ | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-06-22 22:42:00 +0200 | Kobold | (~koboldchi@12.18.150.83) (Quit: Leaving) |
2021-06-22 22:43:21 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-06-22 22:46:32 +0200 | safinaskar | (~safinaska@109.252.90.89) () |
2021-06-22 22:47:25 +0200 | safinaskar | (~safinaska@109-252-90-89.nat.spd-mgts.ru) |
2021-06-22 22:48:17 +0200 | <safinaskar> | geekosaur: so you wrote portable utils for various systems, including hp/ux? it's cool. and you did it in time when hp/ux was relevant? |
2021-06-22 22:48:29 +0200 | <geekosaur> | yes |
2021-06-22 22:49:26 +0200 | <dsal> | Is there a way to ask hoogle what instances of X it knows? |
2021-06-22 22:50:46 +0200 | <safinaskar> | geekosaur: how to know which unixes are relevant and which are not? maybe there is some hypothetical site with regularly updated list "this systems are relevant"? :) |
2021-06-22 22:51:13 +0200 | derelict | (~derelict@user/derelict) |
2021-06-22 22:51:19 +0200 | curiousgay | (~curiousgg@178.217.208.8) (Remote host closed the connection) |
2021-06-22 22:51:26 +0200 | <geekosaur> | linux more or less killed off commercial unix |
2021-06-22 22:51:34 +0200 | curiousgay | (~curiousgg@178.217.208.8) |
2021-06-22 22:52:14 +0200 | <geekosaur> | (unfortunately since linux often is the worst or near worst implementation of many things) |
2021-06-22 22:53:08 +0200 | <maerwald> | And has a dictator who celebrates rudeness :p |
2021-06-22 22:54:31 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-06-22 22:55:52 +0200 | safinaskar | (~safinaska@109-252-90-89.nat.spd-mgts.ru) () |
2021-06-22 22:56:32 +0200 | nvmd | (~nvmd@user/nvmd) (Ping timeout: 268 seconds) |
2021-06-22 22:57:24 +0200 | <sclv> | dsal: sadly, not that i know of |
2021-06-22 22:58:14 +0200 | nvmd | (~nvmd@user/nvmd) |
2021-06-22 22:58:17 +0200 | <dsal> | Kind of odd. I'll just do a lock haddock. :) |
2021-06-22 23:03:21 +0200 | nf | (~n@monade.li) (Quit: Fairfarren.) |
2021-06-22 23:03:51 +0200 | nf | (~n@monade.li) |
2021-06-22 23:04:32 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-06-22 23:05:12 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) |
2021-06-22 23:06:14 +0200 | <gentauro> | glguy: I saw this message "two week two hour rule". Does it mean that when I go on a 3 week holiday, my IRC account will be removed? |
2021-06-22 23:06:34 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 258 seconds) |
2021-06-22 23:08:09 +0200 | <ChaiTRex> | gentauro: No: https://github.com/Libera-Chat/libera-chat.github.io/commit/cf52115#commitcomment-52513840 |
2021-06-22 23:08:29 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 258 seconds) |
2021-06-22 23:09:08 +0200 | <glguy> | gentauro: have you been using your whole account longer than 2 hours so far? |
2021-06-22 23:09:57 +0200 | nf | (~n@monade.li) (Quit: Fairfarren.) |
2021-06-22 23:10:09 +0200 | nf | (~n@monade.li) |
2021-06-22 23:10:24 +0200 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) (Remote host closed the connection) |
2021-06-22 23:10:47 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 258 seconds) |
2021-06-22 23:12:09 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-06-22 23:12:45 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection) |
2021-06-22 23:12:56 +0200 | mikail__ | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) |
2021-06-22 23:16:21 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 23:20:06 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 265 seconds) |
2021-06-22 23:20:45 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
2021-06-22 23:24:01 +0200 | derelict | (~derelict@user/derelict) |
2021-06-22 23:29:58 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-06-22 23:33:22 +0200 | curiousggay_ | (~curiousgg@178.217.208.8) |
2021-06-22 23:34:09 +0200 | <gentauro> | yes |
2021-06-22 23:34:21 +0200 | <gentauro> | I use it with a machine (ssh+screen) |
2021-06-22 23:34:46 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-06-22 23:35:24 +0200 | <gentauro> | ChaiTRex: thx :) |
2021-06-22 23:35:42 +0200 | curiousgay | (~curiousgg@178.217.208.8) (Ping timeout: 258 seconds) |
2021-06-22 23:36:06 +0200 | aostiles | (uid505622@id-505622.stonehaven.irccloud.com) |
2021-06-22 23:37:51 +0200 | argento | (~argent0@168-227-96-26.ptr.westnet.com.ar) |
2021-06-22 23:38:33 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-06-22 23:39:03 +0200 | SoF | (~skius@user/skius) (Quit: Ping timeout (120 seconds)) |
2021-06-22 23:39:47 +0200 | SoF | (~skius@user/skius) |
2021-06-22 23:46:34 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-06-22 23:46:57 +0200 | mikail_ | (~mikail@90.212.77.3) |
2021-06-22 23:47:43 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 268 seconds) |
2021-06-22 23:49:26 +0200 | mikail__ | (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 244 seconds) |
2021-06-22 23:49:30 +0200 | haskl | (~haskeller@user/haskl) (Ping timeout: 264 seconds) |
2021-06-22 23:51:18 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) |
2021-06-22 23:55:38 +0200 | warnz | (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 244 seconds) |
2021-06-22 23:57:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
2021-06-22 23:59:22 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-06-22 23:59:26 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 268 seconds) |
2021-06-22 23:59:44 +0200 | michalz | (~michalz@185.246.204.61) (Remote host closed the connection) |