Logs on 2020-11-21 (freenode/#haskell)
| 00:00:05 | → | Tario joins (~Tario@201.192.165.173) |
| 00:00:43 | <texasmynsted> | What is "When using the standard console runner," that is referenced in the Tasty readme? |
| 00:01:00 | <texasmynsted> | I mean what is the "standard console runner"? |
| 00:01:08 | × | Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 256 seconds) |
| 00:01:14 | <texasmynsted> | I would expect it to be "cabal test" |
| 00:01:42 | × | solonarv quits (~solonarv@astrasbourg-653-1-156-4.w90-6.abo.wanadoo.fr) (Ping timeout: 272 seconds) |
| 00:01:54 | × | LittleFox quits (~littlefox@rondra.lf-net.org) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
| 00:01:54 | × | beng-nl1 quits (~beng-nl@217.146.82.202) (Remote host closed the connection) |
| 00:02:05 | → | LittleFox joins (~littlefox@rondra.lf-net.org) |
| 00:02:26 | × | LittleFox quits (~littlefox@rondra.lf-net.org) (Client Quit) |
| 00:02:36 | → | LittleFox joins (~littlefox@rondra.lf-net.org) |
| 00:02:42 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 00:02:46 | <dsal> | texasmynsted: You can think of OverloadedStrings as replacing every occurrence of `"x"` with `fromString "x'` |
| 00:02:49 | <dsal> | :t fromString |
| 00:02:50 | <lambdabot> | IsString a => String -> a |
| 00:03:08 | <dsal> | It doesn't mess up your quotes like I did, though. |
| 00:03:15 | <texasmynsted> | gotcha |
| 00:06:01 | → | hlisp joins (~hlisp@114.246.35.11) |
| 00:07:12 | → | Cthalupa joins (~cthulhu@47.186.47.75) |
| 00:07:54 | → | bbro joins (~bbro@c-24-4-176-204.hsd1.ca.comcast.net) |
| 00:07:59 | × | kokwok quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Ping timeout: 245 seconds) |
| 00:10:06 | <texasmynsted> | I can get the tasty options to be honored at compile-time but not at run time. I do not know where the runtime they describe exists. |
| 00:10:19 | <texasmynsted> | I can only execute the Tasty tests via "cabal test" |
| 00:10:28 | × | hlisp quits (~hlisp@114.246.35.11) (Ping timeout: 260 seconds) |
| 00:12:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:12:32 | × | cawfee quits (chiya@2406:3003:2077:2341::babe) (Ping timeout: 260 seconds) |
| 00:14:04 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 240 seconds) |
| 00:14:32 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 00:16:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 00:17:09 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds) |
| 00:17:56 | × | bbro quits (~bbro@c-24-4-176-204.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 00:18:26 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 00:19:26 | → | cosimone joins (~cosimone@5.170.240.6) |
| 00:19:26 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 00:19:27 | × | moet quits (~moet@mobile-166-137-178-165.mycingular.net) (Quit: leaving) |
| 00:20:04 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 00:20:31 | → | cawfee joins (chiya@2406:3003:2077:2341::babe) |
| 00:22:09 | × | vsiddharth quits (~user@135-180-144-154.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 00:26:14 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 00:27:03 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 00:29:36 | <jcd> | How do you loop over a list of IO actions? |
| 00:30:36 | <monochrom> | the same way I loop over a list. |
| 00:32:26 | → | christo joins (~chris@81.96.113.213) |
| 00:33:45 | → | sh9 joins (~sh9@softbank060116136158.bbtec.net) |
| 00:34:18 | × | julm quits (~julm@revolt129.abo.ilico.org) (Quit: Reconnecting) |
| 00:34:34 | → | julm joins (~julm@revolt129.abo.ilico.org) |
| 00:35:25 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 00:36:24 | <sm[m]> | texasmynsted: have a look at cabal test --help, there is --test-option[s] |
| 00:36:55 | <sm[m]> | or you can probably run the test executable directly with something like cabal exec -- NAMEOFTESTEXE ... |
| 00:39:40 | <sm[m]> | incidentally, you can also build your test suite into your main app: https://github.com/simonmichael/hledger/blob/master/hledger/Hledger/Cli/Commands.hs#L270 |
| 00:40:34 | → | vhs_ joins (~vhs@41.46.228.159) |
| 00:40:53 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:154:88ea:8f88:a5f) |
| 00:41:46 | × | vhs quits (~vhs@41.239.254.104) (Ping timeout: 246 seconds) |
| 00:42:20 | → | minimario joins (2fe3e53b@047-227-229-059.res.spectrum.com) |
| 00:42:36 | <minimario> | tooling question: anyone come across the issue where "quick fix" on vscode loops and never fixes anything |
| 00:43:13 | → | sh91 joins (~sh9@softbank060116136158.bbtec.net) |
| 00:43:26 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 00:43:34 | × | revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 256 seconds) |
| 00:44:24 | → | revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
| 00:44:29 | × | sh91 quits (~sh9@softbank060116136158.bbtec.net) (Client Quit) |
| 00:45:24 | × | sh9 quits (~sh9@softbank060116136158.bbtec.net) (Ping timeout: 265 seconds) |
| 00:48:28 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:49:27 | × | MasseR quits (~MasseR@51.15.143.128) (Ping timeout: 256 seconds) |
| 00:51:48 | → | MasseR joins (~MasseR@51.15.143.128) |
| 00:52:56 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:6c06:f0fd:283a:1f37:de16) |
| 00:53:22 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 00:54:26 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 00:55:26 | → | xnt14 joins (~xnt14@185.204.1.185) |
| 00:55:54 | <jcd> | |
| 00:55:54 | <jcd> | I have an list of IO-contexted values, '[IO a]'. I have a function that removes a context 'B'. According to the documentation, I should be able to use the context-removing function on the list, but I can't. The IO context remains intact. Is there a special function/method/technique that I'm not using? |
| 00:57:05 | <glguy> | jcd: You can't "remove" IO, you can only sequence IO actions together to make more interesting IO actions |
| 00:57:23 | <glguy> | I don't know what context 'B' is though |
| 00:58:40 | <Ariakenom> | " the documentation" "the context-removing function" |
| 00:58:45 | <Ariakenom> | what are these? |
| 00:58:51 | <jcd> | https://paste.tomsmeding.com/k8d1Va08 |
| 00:59:05 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-uhdfbowqpmvzztxz) (Quit: Connection closed for inactivity) |
| 00:59:33 | <jcd> | The library I'm using is Network.HTTP.Client. |
| 00:59:48 | <glguy> | jcd: let responses = map (get_response manager) search_urls -- becomes -- responses <- mapM (get_response manager) search_urls |
| 01:00:07 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 01:00:10 | <monochrom> | You should be looking into mapM_ or mapM, instead of map. |
| 01:00:15 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 01:00:47 | × | todda7 quits (~torstein@ppp-2-84-17-53.home.otenet.gr) (Read error: Connection reset by peer) |
| 01:00:47 | <Ariakenom> | you can use ghci to do things interactively |
| 01:01:16 | → | todda7 joins (~torstein@ppp-2-84-17-53.home.otenet.gr) |
| 01:02:06 | <Sose> | is Data.List.intersect really slow on long lists? any alternatives? I have two lists that are both around 150k elements and I'm trying to find the intersections :D |
| 01:03:08 | <monochrom> | Or even better, write your own recursion, so you understand why map doesn't cut it. |
| 01:03:30 | <glguy> | Sose: it's checking elements together pairwise, so yes it'll be quite slow for anything more than a handful of elements |
| 01:03:42 | <glguy> | Sose: to do better you'll need something like Data.Set |
| 01:03:58 | <monochrom> | intersect is quadratic time |
| 01:04:10 | → | hlisp joins (~hlisp@114.246.35.11) |
| 01:04:28 | <glguy> | or to sort the lists and write a function that takes advantage of the fact that the lists are sorted to do it in one pass through the two lists |
| 01:04:28 | <Sose> | alright, I'll look into Data.Set |
| 01:04:33 | <monochrom> | My list is below two hundread, it's fast enough for me. |
| 01:05:30 | <jcd> | I see! mapM is under 'Basic Monad functions'. Ouch haha. Okay thank you! |
| 01:05:48 | → | bbro joins (~bbro@c-24-4-176-204.hsd1.ca.comcast.net) |
| 01:06:07 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 01:08:37 | × | hlisp quits (~hlisp@114.246.35.11) (Ping timeout: 264 seconds) |
| 01:10:54 | → | christo joins (~chris@81.96.113.213) |
| 01:13:05 | → | hlisp joins (~hlisp@114.246.35.11) |
| 01:13:54 | × | bbro quits (~bbro@c-24-4-176-204.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 01:15:21 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
| 01:15:21 | × | tabemann quits (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Read error: Connection reset by peer) |
| 01:17:12 | → | christo joins (~chris@81.96.113.213) |
| 01:18:21 | × | hlisp quits (~hlisp@114.246.35.11) (Ping timeout: 256 seconds) |
| 01:18:33 | → | tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
| 01:19:22 | <Sose> | okay, just doing a dumb fromList, intersection and toList with Set takes the time required from minutes to seconds.. thanks again |
| 01:20:35 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 01:21:25 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:23:30 | × | chele quits (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 01:23:44 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 01:24:45 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 01:26:01 | × | Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 264 seconds) |
| 01:27:12 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:154:88ea:8f88:a5f) (Ping timeout: 260 seconds) |
| 01:27:31 | × | minimario quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Remote host closed the connection) |
| 01:27:48 | → | fubu joins (2fe3e53b@047-227-229-059.res.spectrum.com) |
| 01:27:52 | <fubu> | Hello! |
| 01:28:13 | <fubu> | Why doesn't this function work? |
| 01:28:14 | <fubu> | fibs2 = 1 : 1 : (head $ zipWith (+) fibs2 (tail fibs2)) |
| 01:29:07 | → | sh9 joins (~sh9@softbank060116136158.bbtec.net) |
| 01:29:41 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:a4db:c497:ce73:79ee) |
| 01:29:42 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 01:30:52 | → | Tario joins (~Tario@201.192.165.173) |
| 01:32:02 | <Ariakenom> | fubu: head takes the first element out of a list. while : adds an element to a list. so in x : (y : z) x is an element, y is an element, but z is a list. |
| 01:32:27 | <Ariakenom> | so z shouldnt be an element, it should be a list |
| 01:32:45 | × | nados quits (~dan@69-165-210-185.cable.teksavvy.com) (Ping timeout: 240 seconds) |
| 01:33:56 | → | Lord_of_Life joins (~Lord@46.217.217.57) |
| 01:34:22 | <Ariakenom> | z in my exanple is your (head $ zipWith (+) fibs2 (tail fibs2)) |
| 01:34:56 | × | Lord_of_Life_ quits (~Lord@46.217.218.71) (Ping timeout: 240 seconds) |
| 01:35:50 | × | LKoen quits (~LKoen@169.244.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 01:38:21 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 01:39:25 | <fubu> | thank you. I fixed the function, but now i'm failing to see how it works |
| 01:39:30 | <fubu> | fibs2 = 1 : 1 : (zipWith (+) fibs2 (tail fibs2)) |
| 01:40:04 | <fubu> | I kind of get it, but I don't see how the evaluation works in terms of what is on the stack at each point in time |
| 01:41:03 | <dsal> | What's "the stack"? |
| 01:41:07 | <Ariakenom> | you can do the step by step evaluation on paper |
| 01:41:59 | <fubu> | hm, evaluation stack? |
| 01:42:14 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 01:42:45 | <dsal> | That's a list, not a stack, though. Thinking of a stack will be rather confusing. |
| 01:43:01 | <fubu> | i'm also not sure how the two instances of fibs2 on the right hand side are connected |
| 01:43:08 | → | conal joins (~conal@64.71.133.70) |
| 01:43:12 | <dsal> | zipWith does that. |
| 01:43:13 | <dsal> | :t zipWith |
| 01:43:14 | <lambdabot> | (a -> b -> c) -> [a] -> [b] -> [c] |
| 01:43:14 | <fubu> | because i know if we do something like f x = g x x, then x only gets evaluated once |
| 01:43:28 | <fubu> | oh yeah, i know how the terms are being added |
| 01:43:38 | <fubu> | i'mi not too sure how it's getting evaluated though |
| 01:43:52 | <fubu> | like you start with 1 : 1 : (zipWith (+) fibs2 (tail fibs2)) |
| 01:44:08 | <fubu> | and then it calls the first fib2 on the RHS to evaluate it |
| 01:44:14 | × | stree quits (~stree@50-108-97-52.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
| 01:44:14 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
| 01:44:21 | <Ariakenom> | fubu, once or twice, like that, doesnt matter in this case |
| 01:44:31 | → | stree joins (~stree@50-108-97-52.adr01.mskg.mi.frontiernet.net) |
| 01:44:32 | <dsal> | > zipWith (+) [a, b, c, d] (tail [a, b, c, d]) :: [Expr] |
| 01:44:34 | <lambdabot> | [a + b,b + c,c + d] |
| 01:44:48 | <Ariakenom> | you can start with a simpler version |
| 01:45:13 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 01:45:35 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-vjlwewutkgmnxvxr) |
| 01:45:40 | <Ariakenom> | nat = 0 : (map (+1) nat) |
| 01:45:41 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 01:45:45 | <dsal> | So once you get past the [1,1] at the beginning. It's just an infinite stream of numbers added to the same infinite stream of numbers after dropping the first one. |
| 01:45:53 | <Ariakenom> | or even simpler |
| 01:46:02 | <Ariakenom> | zeroes = 0: zeroes |
| 01:46:14 | <fubu> | yeah i understand the nat case |
| 01:46:51 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:a4db:c497:ce73:79ee) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:47:13 | <dsal> | > let fibs2 = a : b : zipWith (+) fibs2 (tail fibs2) in fibs2 :: [Expr] |
| 01:47:15 | <lambdabot> | [a,b,a + b,b + (a + b),a + b + (b + (a + b)),b + (a + b) + (a + b + (b + (a ... |
| 01:47:47 | <dsal> | It's not super easy to think about that in terms of Peano numbers... |
| 01:48:08 | <dsal> | > zipWith (+) [1..5] [2..6] |
| 01:48:10 | <lambdabot> | [3,5,7,9,11] |
| 01:48:32 | <dsal> | That's all it's doing. |
| 01:48:41 | <fubu> | ok, i understand the zipWith now |
| 01:48:52 | <fubu> | but what's the order in which things get evaluated? |
| 01:48:57 | <fubu> | because at the first stage, you have something like |
| 01:49:12 | <fubu> | 1 : 1 : (zipWith (+) [1,1,???] [1,???]) right |
| 01:49:19 | <fubu> | where you only know the 1 : 1 exists |
| 01:49:35 | <fubu> | so does it then lazily do the 1+1? |
| 01:49:41 | <fubu> | and attach it to the list |
| 01:49:45 | <fubu> | and then fill in the next step? |
| 01:50:02 | <fubu> | and now it's 1 : 1 : (zipWith (+) [1, 1, 2, ...] [1, 2, ...] ) |
| 01:50:46 | <Ariakenom> | well you know the first value of the two zipWith lists. so you know the first value of that result |
| 01:51:15 | <fubu> | but isn't + lazy? |
| 01:51:23 | <fubu> | so the result will be stored as 1+1 right |
| 01:51:45 | <Ariakenom> | zipWith (+) [1,1,..] [1,..] = 2: zipWith (+) [1,..] [..] |
| 01:51:58 | <Ariakenom> | fubu, sure |
| 01:52:28 | <Ariakenom> | if you print (show) 1+1 then you will get the string "2" |
| 01:52:54 | <dsal> | "stored" is kind of a weird word. I don't think it's "stored" anywhere. |
| 01:52:59 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:a4db:c497:ce73:79ee) |
| 01:53:32 | <fubu> | how does the evaluation process work? |
| 01:53:40 | <dsal> | > let fibs2 = a : b : zipWith (+) fibs2 (tail fibs2) in fibs2 :: [Expr] |
| 01:53:43 | <lambdabot> | [a,b,a + b,b + (a + b),a + b + (b + (a + b)),b + (a + b) + (a + b + (b + (a ... |
| 01:54:14 | <fubu> | like after compilation how does haskell know what order to do the lazy evaluation in? |
| 01:54:46 | <dsal> | I'm not sure what you mean. There's a clear dependency. |
| 01:55:00 | <Ariakenom> | the things that are computed are forced by main::IO () |
| 01:55:19 | <fubu> | like |
| 01:55:21 | <dsal> | Yeah, if you don't ever use the value, it's never computed, so it's not relevant. |
| 01:55:42 | <fubu> | you have fibs2 = 1 : 1 : (zipWith (+) fibs2 (tail fibs2)) |
| 01:55:55 | <fubu> | are all 3 fibs2 variables linked to each other |
| 01:56:13 | <dsal> | > let fibs2 = 1 : 1 : (zipWith (+) fibs2 (tail fibs2)) in head fibs2 |
| 01:56:15 | <lambdabot> | 1 |
| 01:56:19 | <fubu> | so that when you compute a new value in fibs2, all 3 variables are automatically updated? |
| 01:56:30 | <Ariakenom> | yeah, same variable |
| 01:56:40 | <Ariakenom> | same memory object |
| 01:57:17 | <dsal> | i.e., it's not a variable at all, and you're not so much computing values or updating things. It's just a list. |
| 01:57:58 | <Ariakenom> | note that things are always updated from less information to more information. they dont change previous information |
| 01:58:11 | <dsal> | > let as = 1 : 2 : 3 : as in take 11 as -- it just happens to include itself |
| 01:58:12 | <lambdabot> | [1,2,3,1,2,3,1,2,3,1,2] |
| 01:58:41 | <dsal> | But if you were to evaluate this concept manually without thinking about how you'd do it in C or something, it'd be pretty clear. |
| 01:58:49 | → | falafel_ joins (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
| 01:58:53 | <fubu> | ah yes, i come from C :P |
| 01:59:13 | <dsal> | Dropping some of that baggage can be hard. :) |
| 01:59:32 | <dsal> | You don't tell Haskell how to do things (mostly). You tell Haskell what you want done. |
| 02:00:01 | <dsal> | You want a list that's made up of itself? You express it in the most simple way, and the runtime does the thing it could do to make that happen. |
| 02:00:17 | <Ariakenom> | so (zeroes = 0: zeroes) the tail of the list actual is the same pointer as the beginning |
| 02:00:17 | <dsal> | > let a = a in a -- of course, it has to at least make sense |
| 02:00:21 | <lambdabot> | *Exception: <<loop>> |
| 02:01:12 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 02:01:15 | → | toorevitimirp joins (~tooreviti@117.182.180.118) |
| 02:01:26 | <dsal> | But lists aren't necessarily slots of discrete values. They can just be an infinite recipe list for producing values. |
| 02:01:33 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Quit: WeeChat 2.9) |
| 02:01:36 | <dsal> | > [ x^2 | x <- [1..] ] |
| 02:01:38 | <lambdabot> | [1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484... |
| 02:01:50 | <dsal> | That's all the squares. If you want the sum of all squares... |
| 02:01:54 | <dsal> | > sum [ x^2 | x <- [1..] ] |
| 02:02:00 | <lambdabot> | mueval-core: Time limit exceeded |
| 02:02:11 | <dsal> | lambdabot times out, but if you did that yourself and waited long enough, you'd know the sum of all squares. |
| 02:02:22 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-eizsscpohqhxizqc) (Quit: Connection closed for inactivity) |
| 02:02:47 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 260 seconds) |
| 02:02:58 | <Ariakenom> | (!) this claim is unverified |
| 02:03:02 | × | renzhi quits (~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 260 seconds) |
| 02:03:33 | → | Codaraxis joins (~Codaraxis@91.193.4.24) |
| 02:03:57 | <dsal> | That's true, I personally lack the patience to wait for it to finish. |
| 02:04:21 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 02:05:17 | → | cosimone_ joins (~cosimone@5.170.240.6) |
| 02:05:42 | <Ariakenom> | (I just used a twitter.com meme in IRC) |
| 02:05:50 | <dsal> | > sum . take 1000 $ [ x^2 | x <- [1..] ] -- but you can get a taste by just grabbing the first 1000 |
| 02:05:52 | <lambdabot> | 333833500 |
| 02:06:19 | <dsal> | Oh wow, I didn't even get the reference out of context. heh |
| 02:06:28 | <Ariakenom> | :D |
| 02:08:06 | <dsal> | While it is true that that's what I asked the computer to do, it's also an example of a poorly selected algorithm. |
| 02:08:46 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-frcalbfvnpyatyuv) |
| 02:13:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:13:39 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 02:14:08 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 02:14:42 | × | cosimone_ quits (~cosimone@5.170.240.6) (Quit: cosimone_) |
| 02:15:47 | × | jchia__ quits (~jchia@58.32.37.146) (Ping timeout: 265 seconds) |
| 02:17:19 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 02:17:43 | → | jchia__ joins (~jchia@58.32.37.146) |
| 02:18:37 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
| 02:19:59 | × | fubu quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Remote host closed the connection) |
| 02:20:01 | × | toorevitimirp quits (~tooreviti@117.182.180.118) (Remote host closed the connection) |
| 02:20:54 | <ski> | dminuoso : ok |
| 02:21:42 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 02:23:37 | → | Jonkimi727406120 joins (~Jonkimi@115.44.7.41) |
| 02:23:45 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 02:24:23 | <kupi> | > 1 |
| 02:24:25 | <lambdabot> | 1 |
| 02:24:43 | × | ph88_ quits (~ph88@2a02:8109:9e00:7e5c:11e6:1867:44b7:d623) (Ping timeout: 272 seconds) |
| 02:25:00 | <kupi> | >foldl (+) 0 [0..] |
| 02:25:05 | × | Entertainment quits (~entertain@104.246.132.210) () |
| 02:25:50 | <kupi> | oh no |
| 02:26:10 | <dsal> | You should've used foldl' |
| 02:26:36 | <kupi> | i intentionally used the lazy version |
| 02:26:50 | <kupi> | wanted to see how does it respond |
| 02:27:30 | → | Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus) |
| 02:27:54 | <kupi> | >"still alive" |
| 02:28:31 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 02:28:55 | <texasmynsted> | sm[m]: Okay I will try your suggestions. Thank you. |
| 02:29:11 | <dsal> | kupi: lambdabot supports private intimate chats as well. |
| 02:29:19 | × | FreeBirdLjj quits (~freebirdl@101.228.42.108) (Remote host closed the connection) |
| 02:29:29 | <Ariakenom> | kupi, space after > |
| 02:29:36 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Max SendQ exceeded) |
| 02:29:37 | → | FreeBirdLjj joins (~freebirdl@101.228.42.108) |
| 02:29:47 | → | luke joins (~luke@bitnomial/staff/luke) |
| 02:30:05 | × | Jonkimi727406120 quits (~Jonkimi@115.44.7.41) (Ping timeout: 240 seconds) |
| 02:30:06 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 02:30:47 | <dsal> | Oh, my client doesn't render it that way. It automatically puts it into some kind of markdown quote format. |
| 02:31:32 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 02:31:36 | × | Chi1thangoo quits (~Chi1thang@87.112.60.168) (Ping timeout: 240 seconds) |
| 02:32:32 | × | Ariakenom quits (~Ariakenom@h-98-128-229-104.NA.cust.bahnhof.se) (Read error: Connection reset by peer) |
| 02:33:17 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:33:52 | → | Tario joins (~Tario@201.192.165.173) |
| 02:34:57 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 02:35:44 | → | toorevitimirp joins (~tooreviti@117.182.180.118) |
| 02:35:45 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 02:37:23 | × | xff0x quits (~fox@2001:1a81:5385:e100:f695:2019:7725:a87d) (Ping timeout: 272 seconds) |
| 02:38:01 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:6c06:f0fd:283a:1f37:de16) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 02:38:03 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 02:38:57 | → | xff0x joins (~fox@2001:1a81:53c2:b800:6e69:5f46:fae4:631a) |
| 02:47:29 | × | luke quits (~luke@bitnomial/staff/luke) (Quit: sleep) |
| 02:53:38 | → | et09 joins (~et09@unaffiliated/endolphin) |
| 02:54:11 | → | sand_dul1 joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 02:57:04 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Quit: Lost terminal) |
| 02:58:09 | × | siloxid quits (~user@unaffiliated/siloxid) (Remote host closed the connection) |
| 02:58:25 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 02:58:42 | × | sand_dul1 quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Client Quit) |
| 03:03:27 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 03:03:27 | × | falafel_ quits (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 260 seconds) |
| 03:05:50 | <Axman6> | lambdabot also doesn't respond if you use the wrong syntax... |
| 03:05:56 | × | cosimone quits (~cosimone@5.170.240.6) (Quit: cosimone) |
| 03:09:18 | × | jedws quits (~jedws@101.184.150.93) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 03:10:25 | × | alp quits (~alp@88.126.45.36) (Ping timeout: 240 seconds) |
| 03:13:44 | <siraben> | Anyone working with GHC 8.12's linear types with a Nix overlay? |
| 03:15:04 | → | drbean joins (~drbean@TC210-63-209-164.static.apol.com.tw) |
| 03:15:16 | × | nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
| 03:16:13 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 256 seconds) |
| 03:18:01 | hackage | Z-IO 0.1.8.1 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.8.1 (winterland) |
| 03:23:22 | × | jedai42 quits (~jedai@lfbn-dij-1-708-251.w90-100.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 03:25:39 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 03:27:05 | → | day joins (~Unknown@unaffiliated/day) |
| 03:29:42 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 03:31:09 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
| 03:33:18 | → | fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
| 03:34:37 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 03:35:32 | × | acidjnk_new2 quits (~acidjnk@p200300d0c719ff68f4d20d2f20034438.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 03:38:28 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 03:40:18 | → | boxscape joins (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
| 03:40:33 | × | boxscape quits (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Client Quit) |
| 03:43:17 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
| 03:43:22 | × | m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 272 seconds) |
| 03:43:40 | lagothrix | is now known as Guest39499 |
| 03:43:40 | × | Guest39499 quits (~lagothrix@unaffiliated/lagothrix) (Killed (tepper.freenode.net (Nickname regained by services))) |
| 03:43:46 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 03:44:10 | → | n0042 joins (d055ed89@208.85.237.137) |
| 03:47:55 | × | n0042 quits (d055ed89@208.85.237.137) (Remote host closed the connection) |
| 03:49:00 | × | fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1) |
| 03:50:45 | × | theDon quits (~td@94.134.91.165) (Ping timeout: 260 seconds) |
| 03:52:27 | → | theDon joins (~td@94.134.91.87) |
| 03:55:08 | → | wei2912 joins (~wei2912@unaffiliated/wei2912) |
| 03:56:14 | × | maroloccio quits (~marolocci@2a02:8084:221:ce00:164f:8aff:fed8:411d) (Quit: WeeChat 2.3) |
| 03:56:56 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 03:57:13 | × | ddellacosta quits (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds) |
| 03:58:24 | → | Jonkimi727406120 joins (~Jonkimi@115.44.7.41) |
| 04:00:00 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 04:02:18 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 04:02:53 | × | Jonkimi727406120 quits (~Jonkimi@115.44.7.41) (Ping timeout: 260 seconds) |
| 04:04:08 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:a4db:c497:ce73:79ee) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:06:00 | → | hoker joins (2fe3e53b@047-227-229-059.res.spectrum.com) |
| 04:06:18 | <hoker> | hi, so I was going through CIS194 and got stuck on this last part, "supply monad": https://www.seas.upenn.edu/~cis194/fall16/hw/07-laziness.html |
| 04:06:39 | <hoker> | i was able to write the monad functions, but didn't understand how to label the leaves of a tree with natural numbers |
| 04:07:37 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 04:08:01 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:a4db:c497:ce73:79ee) |
| 04:08:35 | × | crdrost quits (~crdrost@2601:646:8280:85f0:90f7:1b03:f01f:afae) (Quit: This computer has gone to sleep) |
| 04:13:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:14:39 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 04:17:49 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 04:21:37 | → | nineonine joins (~nineonine@50.216.62.2) |
| 04:23:02 | × | nineonine quits (~nineonine@50.216.62.2) (Client Quit) |
| 04:26:08 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-mmsjxvzuqvfjlnly) (Quit: Connection closed for inactivity) |
| 04:27:20 | → | christo joins (~chris@81.96.113.213) |
| 04:28:13 | × | rprije quits (~rprije@124.148.131.132) (Remote host closed the connection) |
| 04:28:34 | → | rprije joins (~rprije@124.148.131.132) |
| 04:30:14 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 04:30:37 | → | Jonkimi727406120 joins (~Jonkimi@115.44.7.41) |
| 04:31:30 | <c_wraith> | hoker: the idea is to use the supply to generate a list of natural numbers. Then recurse through the tree, replacing the node value with the next value from the supply when you hit a leaf. |
| 04:31:52 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
| 04:32:00 | <hoker> | yeah, so I didn't actually understand the point of mapSupply, mapSupply2, and bindSupply |
| 04:32:31 | <c_wraith> | those are the implementation for the Functor/Applicative/Monad instances |
| 04:32:43 | <c_wraith> | Since you have those, you can just use do notation. |
| 04:34:36 | <c_wraith> | The next section shows using do notation in a similar way. With a different type, but it shows the same ideas. |
| 04:34:45 | × | Jonkimi727406120 quits (~Jonkimi@115.44.7.41) (Ping timeout: 240 seconds) |
| 04:35:00 | <hoker> | yeah, can you explain intuitively what the functor/applicative/monad instances mean? |
| 04:35:29 | → | christo joins (~chris@81.96.113.213) |
| 04:35:39 | <hoker> | like i guess mapSupply is like taking some stream labeler and returning a new stream labeler |
| 04:35:46 | <hoker> | where the transformation comes from the function |
| 04:35:47 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 04:35:51 | <c_wraith> | not quickly. They're... more abstract than most people are ready to grasp the first time they run into them. |
| 04:36:41 | × | mozzarella quits (~sam@unaffiliated/sam113101) (Ping timeout: 256 seconds) |
| 04:37:01 | → | jedai42 joins (~jedai@lfbn-dij-1-708-251.w90-100.abo.wanadoo.fr) |
| 04:37:07 | <c_wraith> | at an extremely vague level - Functor lets you modify inside a type. Applicative lets you combine values in a fixed way. Monad lets you combine them in a context-sensitive way. |
| 04:37:16 | <c_wraith> | But that's really too vague to mean much. |
| 04:37:32 | <hoker> | oh i've seen them a few times, i just meant in the context of supply specifically |
| 04:37:38 | <hoker> | i'm not too comfortable |
| 04:37:42 | <hoker> | but i'm familiar |
| 04:38:25 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 04:39:41 | <c_wraith> | the only interesting part from the perspective of using it is the value named get. (It's not a function, at least from the outside) |
| 04:39:49 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
| 04:39:55 | <c_wraith> | You can bind the result of get to fetch the next value from the supply |
| 04:40:17 | × | polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds) |
| 04:41:14 | <c_wraith> | The various instances you have take care of chaining the new value forward afterwards. The nice thing there is that you don't have to handle parameters carefully to make sure you don't mess up the handling of the stream. They're just taken care of for you. |
| 04:43:00 | <c_wraith> | Given the starting point in the last exercise, you should be able to do something like runSupply nats (do x <- get ; y <- get ; return (x, y)) and get a result of (0,1) |
| 04:44:30 | <c_wraith> | Does that make it any clearer what's going on there? |
| 04:45:29 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-fgwigxpmxrbdsiil) () |
| 04:45:36 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds) |
| 04:47:45 | → | jedws joins (~jedws@101.184.150.93) |
| 04:48:24 | × | hoker quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Ping timeout: 245 seconds) |
| 04:48:29 | × | borne quits (~fritjof@200116b86455d000f1dc39039d201adf.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
| 04:53:10 | → | mozzarella joins (~sam@unaffiliated/sam113101) |
| 05:01:53 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 05:05:45 | → | SanchayanMaity joins (~Sanchayan@122.167.90.144) |
| 05:07:23 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
| 05:07:29 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 272 seconds) |
| 05:09:41 | → | conal joins (~conal@64.71.133.70) |
| 05:09:56 | × | texasmynsted quits (~texasmyns@212.102.45.109) (Remote host closed the connection) |
| 05:10:33 | → | texasmynsted joins (~texasmyns@212.102.45.109) |
| 05:11:30 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection) |
| 05:12:02 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
| 05:12:10 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
| 05:12:30 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 05:13:05 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 05:13:44 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 05:15:00 | × | texasmynsted quits (~texasmyns@212.102.45.109) (Ping timeout: 256 seconds) |
| 05:15:20 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 05:17:27 | × | xnt14 quits (~xnt14@185.204.1.185) (Remote host closed the connection) |
| 05:19:02 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 05:20:22 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
| 05:21:09 | → | gproto023 joins (~gproto23@unaffiliated/gproto23) |
| 05:23:43 | × | gproto23 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 256 seconds) |
| 05:36:13 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds) |
| 05:36:44 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 05:37:22 | × | drbean quits (~drbean@TC210-63-209-164.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin1 - https://znc.in) |
| 05:39:16 | → | mbomba joins (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) |
| 05:39:34 | × | gproto023 quits (~gproto23@unaffiliated/gproto23) (Remote host closed the connection) |
| 05:40:01 | → | gproto023 joins (~gproto23@unaffiliated/gproto23) |
| 05:41:33 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 05:42:31 | hackage | optparse-applicative 0.16.1.0 - Utilities and combinators for parsing command line options https://hackage.haskell.org/package/optparse-applicative-0.16.1.0 (huw) |
| 05:43:26 | × | toorevitimirp quits (~tooreviti@117.182.180.118) (Remote host closed the connection) |
| 05:43:54 | → | texasmynsted joins (~texasmyns@212.102.45.109) |
| 05:45:29 | → | nados joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 05:46:42 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 05:46:47 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 05:47:32 | → | perry69420 joins (6ee39737@110.227.151.55) |
| 05:49:07 | <perry69420> | I found a minor error here - https://wiki.haskell.org/Dynamic_programming_example . How can I edit the page? (I do not have an account, making the account is a long process) |
| 05:50:45 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 05:53:53 | <perry69420> | This line "Optional: If you know Applicatives and that Maybe is an Applicative, you can write it in a more regular way: " should be using Alternative, not Applicative |
| 05:55:11 | → | day_ joins (~Unknown@unaffiliated/day) |
| 05:57:34 | × | vhs_ quits (~vhs@41.46.228.159) (Ping timeout: 256 seconds) |
| 05:58:16 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 240 seconds) |
| 05:58:16 | day_ | is now known as day |
| 06:00:00 | gproto023 | is now known as gproto23 |
| 06:00:17 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 06:01:00 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 06:03:56 | × | darjeeling_ quits (~darjeelin@122.245.211.11) (Ping timeout: 240 seconds) |
| 06:04:31 | × | Alleria_ quits (~AllahuAkb@69.202.254.168) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:04:52 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 06:05:08 | × | et09 quits (~et09@unaffiliated/endolphin) (Ping timeout: 260 seconds) |
| 06:05:10 | → | bbro joins (~bbro@c-24-4-176-204.hsd1.ca.comcast.net) |
| 06:06:05 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 06:06:10 | → | pfurla joins (~pfurla@64.145.79.196) |
| 06:06:14 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 06:08:16 | × | SanchayanMaity quits (~Sanchayan@122.167.90.144) (Ping timeout: 256 seconds) |
| 06:08:31 | → | SanchayanMaity joins (~Sanchayan@106.200.237.128) |
| 06:09:04 | × | jamestmartin quits (james@jtmar.me) (Quit: ZNC 1.8.2+deb1 - https://znc.in) |
| 06:10:41 | × | johnw quits (~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in) |
| 06:13:00 | → | jamestmartin joins (~james@jtmar.me) |
| 06:13:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:16:47 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 06:17:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 06:18:43 | <ski> | perry69420 : what wording do you think would be more appropriate ? |
| 06:18:58 | × | Jonkimi727406120 quits (~Jonkimi@113.87.161.66) (Quit: Ping timeout (120 seconds)) |
| 06:19:18 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 06:19:18 | × | nados quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 06:20:15 | → | nados joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 06:20:34 | <ski> | replacing both occurances of "Applicative" with "Alternative" ? |
| 06:20:57 | × | Sarma quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 06:21:47 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 06:21:52 | → | darjeeling_ joins (~darjeelin@122.245.211.11) |
| 06:22:24 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 06:24:48 | <perry69420> | ski yeah, I think both should be swapped. I guess it should be mentioned that Alternative required Applicative for clarity but that's a secondary issue |
| 06:25:50 | <ski> | perhaps saying "If you know Applicatives & Alternatives and ..." for the first one ? |
| 06:26:10 | × | darjeeling_ quits (~darjeelin@122.245.211.11) (Ping timeout: 246 seconds) |
| 06:26:58 | × | jedws quits (~jedws@101.184.150.93) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:27:55 | <perry69420> | That seems good. But should it mention Functor as well then? |
| 06:28:36 | <ski> | could say "Applicative and Alternative functors", i suppose |
| 06:28:37 | → | SanchayanM joins (~Sanchayan@223.226.47.98) |
| 06:28:49 | <perry69420> | That sounds better! |
| 06:29:31 | → | andos joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 06:29:48 | × | nados quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 06:30:26 | × | SanchayanMaity quits (~Sanchayan@106.200.237.128) (Ping timeout: 256 seconds) |
| 06:33:12 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:a4db:c497:ce73:79ee) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:34:00 | <ski> | ("is an Alternative" or "is Alternative" ?) |
| 06:35:01 | <perry69420> | I'm not sure, sorry! English isn't my first language |
| 06:35:10 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:35:37 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 06:36:36 | <perry69420> | "If you know Applicative and Alternative Functor classes and that Maybe is an Alternative". Is this fine? |
| 06:36:38 | <ski> | i think people tend to say "Applicative functor", and not just "Applicative", as a noun. but "Applicative"/"Alternative" as an adjective could work |
| 06:37:45 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds) |
| 06:38:54 | → | darjeeling_ joins (~darjeelin@122.245.211.11) |
| 06:38:55 | <ski> | i think i'd lean towards the adjectival form here. if someone objects, they can change it |
| 06:38:57 | <perry69420> | then "is Alternative" makes more sense |
| 06:39:01 | <perry69420> | Sounds good |
| 06:40:09 | <ski> | (for "Monad", i don't think it works using it as an adjective. "monadic" is used, but not for quite the corresponding thing) |
| 06:41:30 | <ski> | (now i'm wondering whether to say "know about" or just "know") |
| 06:41:30 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 06:41:41 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 06:41:52 | <perry69420> | haha I think you're overthinking. |
| 06:42:34 | <ski> | perry69420 : refresh |
| 06:43:12 | <perry69420> | Thanks ski. I'll mail them to make me an account as well |
| 06:44:57 | ski | nods |
| 06:49:34 | × | Jonkimi727406120 quits (~Jonkimi@113.87.161.66) (Ping timeout: 272 seconds) |
| 06:52:49 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 06:57:38 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 07:03:00 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 07:07:40 | → | conal joins (~conal@64.71.133.70) |
| 07:08:10 | × | pfurla quits (~pfurla@64.145.79.196) (Ping timeout: 260 seconds) |
| 07:10:03 | → | lemmih joins (~lemmih@2406:3003:2072:44:1424:8740:3970:71a) |
| 07:11:52 | → | n0042 joins (d055ed89@208.85.237.137) |
| 07:12:06 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 07:13:20 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 07:15:08 | → | jedws joins (~jedws@101.184.150.93) |
| 07:15:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:17:31 | × | jedws quits (~jedws@101.184.150.93) (Client Quit) |
| 07:18:20 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 07:19:20 | × | alx741 quits (~alx741@181.196.68.156) (Ping timeout: 256 seconds) |
| 07:19:56 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:19:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 07:20:36 | × | aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 240 seconds) |
| 07:23:09 | × | bbro quits (~bbro@c-24-4-176-204.hsd1.ca.comcast.net) (Quit: Leaving) |
| 07:24:16 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 07:25:16 | → | AIM` joins (~AIM`@185.163.110.116) |
| 07:25:16 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 07:25:47 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 07:26:16 | × | Jonkimi727406120 quits (~Jonkimi@113.87.161.66) (Ping timeout: 240 seconds) |
| 07:28:12 | → | falafel__ joins (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
| 07:28:29 | → | isBEKaml joins (~isBEKaml@unaffiliated/isbekaml) |
| 07:29:30 | → | newbeee joins (6c1d4e90@pool-108-29-78-144.nycmny.fios.verizon.net) |
| 07:31:30 | hackage | pandora 0.3.2 - A box of patterns and paradigms https://hackage.haskell.org/package/pandora-0.3.2 (iokasimovmt) |
| 07:31:45 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Ping timeout: 240 seconds) |
| 07:32:21 | → | alx741 joins (~alx741@181.196.69.47) |
| 07:35:10 | × | n0042 quits (d055ed89@208.85.237.137) (Remote host closed the connection) |
| 07:37:02 | → | chkno_ joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 07:37:02 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 07:37:52 | × | wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
| 07:38:27 | <Sose> | is there a way to make "brittany" always format "where" the same way? funnily enough in my current file it seems to alternate every time and it looks a bit funny imo... |
| 07:39:36 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 07:40:42 | → | edaou joins (~elie@178.135.1.49) |
| 07:40:46 | <Sose> | wait a sec.. it just did that suddenly, or atleast left them alone after I made them all look similar |
| 07:41:42 | × | falafel__ quits (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 260 seconds) |
| 07:45:09 | ← | edaou parts (~elie@178.135.1.49) ("Using Circe, the loveliest of all IRC clients") |
| 07:51:55 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 07:53:38 | → | Sarma joins (~Amras@unaffiliated/amras0000) |
| 07:54:48 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:56:57 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 07:57:00 | → | bitmagie joins (~Thunderbi@200116b806771200992cad3b603b96ee.dip.versatel-1u1.de) |
| 07:57:12 | × | jcd quits (~user@2601:282:1300:7cb0::5be7) (Remote host closed the connection) |
| 08:01:37 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 08:02:17 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 272 seconds) |
| 08:02:55 | <jophish> | Woo, got some vulkan ray tracing running! |
| 08:03:14 | <jophish> | 60Hz of blue background! |
| 08:08:47 | → | johnw joins (~johnw@haskell/developer/johnw) |
| 08:16:47 | × | bitmagie quits (~Thunderbi@200116b806771200992cad3b603b96ee.dip.versatel-1u1.de) (Quit: bitmagie) |
| 08:32:10 | × | oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 272 seconds) |
| 08:37:17 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 08:39:44 | → | bitmagie joins (~Thunderbi@200116b806771200992cad3b603b96ee.dip.versatel-1u1.de) |
| 08:40:21 | → | chaosmasttter joins (~chaosmast@p200300c4a72cf8017c557ee44a5933bf.dip0.t-ipconnect.de) |
| 08:41:50 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
| 08:42:20 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 08:42:52 | → | dansho joins (~dansho@ip68-108-167-185.lv.lv.cox.net) |
| 08:43:26 | → | gproto023 joins (~gproto23@unaffiliated/gproto23) |
| 08:44:14 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 08:45:36 | × | gproto23 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 240 seconds) |
| 08:48:24 | × | newbeee quits (6c1d4e90@pool-108-29-78-144.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
| 08:49:37 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 08:49:38 | → | gproto0023 joins (~gproto23@unaffiliated/gproto23) |
| 08:50:56 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 08:51:08 | × | Lord_of_Life quits (~Lord@46.217.217.57) (Changing host) |
| 08:51:08 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 08:51:24 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 08:51:45 | × | gproto023 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 240 seconds) |
| 08:52:04 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 08:53:24 | → | shangxiao joins (~davids@101.181.159.140) |
| 08:54:37 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 08:55:19 | × | dansho quits (~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving) |
| 08:55:22 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 08:55:54 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 08:56:35 | → | mananamenos joins (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 08:57:28 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:6c06:8500:38e7:4522:4d5) |
| 08:59:36 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 09:00:22 | → | alp joins (~alp@2a01:e0a:58b:4920:487a:c7d8:cfd9:16b5) |
| 09:01:47 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 09:02:22 | → | bitlord joins (5b5a2c1b@s91904427.blix.com) |
| 09:02:46 | bitlord | is now known as Guest24698 |
| 09:06:32 | → | p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 09:13:38 | → | coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
| 09:13:54 | × | bitmagie quits (~Thunderbi@200116b806771200992cad3b603b96ee.dip.versatel-1u1.de) (Quit: bitmagie) |
| 09:15:04 | × | perry69420 quits (6ee39737@110.227.151.55) (Ping timeout: 245 seconds) |
| 09:15:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:16:44 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:6c06:8500:38e7:4522:4d5) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:18:57 | × | mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0) |
| 09:19:47 | <siraben> | jophish: using what library? |
| 09:20:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 09:22:37 | × | Guest24698 quits (5b5a2c1b@s91904427.blix.com) (Remote host closed the connection) |
| 09:23:16 | × | infinity0 quits (~infinity0@freenet/developer/infinity0) (Ping timeout: 240 seconds) |
| 09:23:49 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 09:23:54 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 09:26:08 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 09:26:16 | × | shangxiao quits (~davids@101.181.159.140) (Ping timeout: 240 seconds) |
| 09:26:22 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 09:29:01 | → | shangxiao joins (~davids@101.181.159.140) |
| 09:30:00 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 09:32:32 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 09:32:58 | × | Graypup_ quits (Graypup@lfcode.ca) (Ping timeout: 272 seconds) |
| 09:34:58 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:35:29 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 09:38:14 | × | codedmart quits (~codedmart@149.28.9.205) (Quit: ZNC 1.7.5 - https://znc.in) |
| 09:38:20 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 09:38:25 | × | Codaraxis quits (~Codaraxis@91.193.4.24) (Remote host closed the connection) |
| 09:38:33 | → | codedmart joins (~codedmart@149.28.9.205) |
| 09:38:47 | → | Codaraxis joins (~Codaraxis@91.193.4.24) |
| 09:39:48 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 09:39:56 | × | andos quits (~dan@107-190-41-58.cpe.teksavvy.com) (Ping timeout: 240 seconds) |
| 09:40:38 | → | Graypup_ joins (Graypup@lfcode.ca) |
| 09:40:39 | → | avdb joins (~avdb@ip-213-49-103-194.dsl.scarlet.be) |
| 09:46:09 | × | avdb quits (~avdb@ip-213-49-103-194.dsl.scarlet.be) (Quit: avdb) |
| 09:50:18 | → | avdb joins (~avdb@ip-213-49-103-194.dsl.scarlet.be) |
| 09:50:48 | × | FreeBirdLjj quits (~freebirdl@101.228.42.108) (Remote host closed the connection) |
| 09:51:16 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 09:52:32 | × | wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 265 seconds) |
| 09:54:19 | → | wwwww joins (~wwwww@unaffiliated/wwwww) |
| 09:56:52 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 09:57:51 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 09:59:29 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 10:00:56 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 10:01:32 | <jophish> | siraben: mine :D (vulkan) |
| 10:02:22 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-frcalbfvnpyatyuv) (Quit: Connection closed for inactivity) |
| 10:02:52 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 260 seconds) |
| 10:04:30 | → | infinity0 joins (~infinity0@freenet/developer/infinity0) |
| 10:08:25 | → | Alleria_ joins (~AllahuAkb@2604:2000:1484:26:c0a0:dc60:ea9e:fbab) |
| 10:08:38 | × | avdb quits (~avdb@ip-213-49-103-194.dsl.scarlet.be) (Quit: avdb) |
| 10:09:41 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 10:10:07 | <siraben> | jophish: nice! |
| 10:10:19 | → | perry69420 joins (6ee39737@110.227.151.55) |
| 10:11:56 | × | xlei quits (znc@unaffiliated/xlei) (Quit: ZNC - https://znc.in) |
| 10:11:56 | × | jophish quits (~jophish@2400:8901::f03c:91ff:fe39:7a9) (Quit: WeeChat 2.4) |
| 10:13:13 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 10:14:19 | → | AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 10:14:28 | × | Jonkimi727406120 quits (~Jonkimi@113.87.161.66) (Client Quit) |
| 10:15:01 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-vjlwewutkgmnxvxr) (Quit: Connection closed for inactivity) |
| 10:15:02 | × | Alleria_ quits (~AllahuAkb@2604:2000:1484:26:c0a0:dc60:ea9e:fbab) (Ping timeout: 264 seconds) |
| 10:18:12 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 10:20:18 | → | xlei joins (znc@unaffiliated/xlei) |
| 10:21:00 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 10:21:11 | → | jophish joins (~jophish@2400:8901::f03c:91ff:fe39:7a9) |
| 10:23:15 | <jophish> | siraben: thanks, next up actually tracing the rays against something other than the background :) |
| 10:23:25 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 10:23:42 | <jophish> | although technically I'm not even generating any rays at the moment. but the blue is being generated by a shader in a ray tracing pipeline :) |
| 10:24:37 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 10:29:05 | <tomsmeding> | 07:34:00 ski | ("is an Alternative" or "is Alternative" ?) |
| 10:29:16 | <tomsmeding> | I have some more alternatives for you: "implements Alternative" and "is an instance of Alternative" |
| 10:30:19 | → | borne joins (~fritjof@200116b864bc9600f1dc39039d201adf.dip.versatel-1u1.de) |
| 10:30:36 | → | ben_m joins (~ben@unaffiliated/ben-m/x-8385872) |
| 10:31:14 | × | shangxiao quits (~davids@101.181.159.140) (Quit: WeeChat 3.0) |
| 10:32:17 | × | chaosmasttter quits (~chaosmast@p200300c4a72cf8017c557ee44a5933bf.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:34:57 | → | fendor_ joins (~fendor@91.141.1.146.wireless.dyn.drei.com) |
| 10:37:16 | × | fendor quits (~fendor@77.119.129.57.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
| 10:38:45 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 10:41:46 | × | hexfive quits (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.) |
| 10:42:18 | <Orbstheorem> | When pantry finds a git extra-dep in stack.yaml, where does it clone it to? Does it keep a copy of the repo or just compiles the lib and deletes it afterwards? |
| 10:43:54 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 272 seconds) |
| 10:50:42 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds) |
| 10:53:27 | tomsmeding | always uses his best friend `find` to find out where programs put things |
| 10:53:39 | → | christo joins (~chris@81.96.113.213) |
| 10:57:30 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 11:00:40 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds) |
| 11:01:31 | × | alp quits (~alp@2a01:e0a:58b:4920:487a:c7d8:cfd9:16b5) (Ping timeout: 272 seconds) |
| 11:02:01 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 11:06:33 | → | Lycurgus joins (~niemand@cpe-45-46-142-188.buffalo.res.rr.com) |
| 11:08:30 | → | Franciman joins (~francesco@host-79-27-199-238.retail.telecomitalia.it) |
| 11:08:37 | × | Jonkimi727406120 quits (~Jonkimi@113.87.161.66) (Ping timeout: 264 seconds) |
| 11:10:14 | × | shadowdao quits (~user@unaffiliated/shadowdaemon) (Ping timeout: 264 seconds) |
| 11:10:32 | × | borne quits (~fritjof@200116b864bc9600f1dc39039d201adf.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 11:17:31 | <ziman> | what's the recommended build system these days (preferably with a future perspective)? stack+hpack? cabal-install-v2? |
| 11:18:15 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 11:18:54 | Lycurgus | recommends ur own judgment |
| 11:19:19 | × | Lycurgus quits (~niemand@cpe-45-46-142-188.buffalo.res.rr.com) (Quit: Exeunt) |
| 11:20:34 | <Franciman> | ziman, it depends, the thing is that probably cabal is good enough |
| 11:21:10 | <Franciman> | so you wouldn't need the extra things stack gives to you (but also consider that sometimes you need some features not supported by stack, for example backpack) |
| 11:21:43 | <Franciman> | for me the most attractive thing of stack is stackage, i.e. a curated set of packages which somebody^{TM} guarantees that work well toghether |
| 11:21:44 | <Franciman> | together |
| 11:22:00 | <Franciman> | but you should probably consider your own judgment |
| 11:22:22 | <Franciman> | as Lycurgus said |
| 11:22:26 | <xerox_> | I like the stackage site to do hoogle searches, very clean |
| 11:23:17 | <Franciman> | soon^{TM} vabal will support stackage files (which are essentially cabal freeze files) and you will use them without stack |
| 11:23:50 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 11:24:18 | <ziman> | thank you :) |
| 11:24:33 | <Franciman> | but since vabal is not really useful to anyone, I am considering first rewriting part of its logic in prolog |
| 11:24:46 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 11:25:07 | <ziman> | i find it tricky to find sufficiently up-to-date information on the various build systems because the landscape keeps changing |
| 11:25:19 | <Franciman> | I understand |
| 11:25:36 | <Franciman> | my personal approach is: go with cabal until you find something incredibly wrong you can't fix |
| 11:25:42 | <Franciman> | and this has never happened to me lately |
| 11:25:51 | <Franciman> | especially after the v2-thing became the default behavior |
| 11:26:06 | × | gproto0023 quits (~gproto23@unaffiliated/gproto23) (Remote host closed the connection) |
| 11:26:08 | <ziman> | since i like "simple" things (as in fewest dependencies etc.), i'll go for cabal and see what happens |
| 11:26:18 | <Franciman> | yes that's my base motive too |
| 11:26:31 | → | gproto0023 joins (~gproto23@unaffiliated/gproto23) |
| 11:26:33 | <ziman> | assuming that cabal is the "simplest" choice here |
| 11:26:58 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 272 seconds) |
| 11:27:33 | <Franciman> | for me it is true |
| 11:28:11 | <Franciman> | anybody has their preferences, tho |
| 11:28:50 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 264 seconds) |
| 11:29:09 | → | siloxid joins (~user@unaffiliated/siloxid) |
| 11:31:19 | → | enoq joins (~textual@194-208-146-143.lampert.tv) |
| 11:32:35 | → | gproto023 joins (~gproto23@unaffiliated/gproto23) |
| 11:33:12 | <jophish> | I use hpack+cabal |
| 11:33:41 | <jophish> | listing modules manually is work for a computer, not a human |
| 11:33:43 | → | acidjnk_new2 joins (~acidjnk@p200300d0c719ff54e8f13b1c4a3f9bcc.dip0.t-ipconnect.de) |
| 11:33:49 | <jophish> | but cabal works much better with nix |
| 11:34:56 | × | gproto0023 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 240 seconds) |
| 11:35:48 | → | Fractalis joins (~Fractalis@2601:987:280:8d40:ddfc:6164:f3c:5c24) |
| 11:36:16 | × | oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 246 seconds) |
| 11:36:55 | <ski> | tomsmeding : hm, yea. i guess i didn't want to change it too much |
| 11:37:33 | <tomsmeding> | ski: I wasn't entirely serious, I agree with your assessment :p |
| 11:38:22 | <srk> | 7/81 |
| 11:38:30 | srk | oop |
| 11:38:31 | <tomsmeding> | > 7/81 |
| 11:38:34 | <lambdabot> | 8.641975308641975e-2 |
| 11:38:58 | × | robotmay quits (~beepboop@2001:8b0:7af0:2580:9618:82ff:fe37:d2b0) (Quit: Be excellent to each other) |
| 11:44:04 | × | rprije quits (~rprije@124.148.131.132) (Ping timeout: 272 seconds) |
| 11:46:32 | × | ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 244 seconds) |
| 11:47:01 | → | sw1nn joins (~sw1nn@host81-131-191-165.range81-131.btcentralplus.com) |
| 11:47:18 | → | epsilonhalbe joins (~epsilonha@89.34.165.94) |
| 11:49:21 | → | rprije joins (~rprije@124.148.131.132) |
| 11:50:49 | × | isBEKaml quits (~isBEKaml@unaffiliated/isbekaml) (Read error: Connection reset by peer) |
| 11:52:11 | → | larou joins (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) |
| 11:52:11 | → | m0rphism joins (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) |
| 11:52:32 | × | acidjnk_new2 quits (~acidjnk@p200300d0c719ff54e8f13b1c4a3f9bcc.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 11:54:35 | × | sw1nn quits (~sw1nn@host81-131-191-165.range81-131.btcentralplus.com) (Quit: WeeChat 2.9) |
| 11:55:46 | → | sw1nn joins (~sw1nn@host81-131-191-165.range81-131.btcentralplus.com) |
| 11:55:53 | → | Alleria_ joins (~AllahuAkb@2604:2000:1484:26:2574:1856:b0b0:22f) |
| 11:58:21 | <maerwald> | jophish: cabal-fmt can automatically add modules |
| 11:58:56 | × | Alleria_ quits (~AllahuAkb@2604:2000:1484:26:2574:1856:b0b0:22f) (Client Quit) |
| 11:59:35 | ← | epsilonhalbe parts (~epsilonha@89.34.165.94) () |
| 12:01:14 | → | raichoo joins (~raichoo@dslb-178-009-023-219.178.009.pools.vodafone-ip.de) |
| 12:05:08 | → | ClaudiusMaximus joins (~claude@198.123.199.146.dyn.plus.net) |
| 12:05:18 | → | LKoen joins (~LKoen@169.244.88.92.rev.sfr.net) |
| 12:05:21 | × | ClaudiusMaximus quits (~claude@198.123.199.146.dyn.plus.net) (Changing host) |
| 12:05:21 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 12:07:15 | → | Ariakenom joins (~Ariakenom@h-98-128-229-104.NA.cust.bahnhof.se) |
| 12:07:18 | → | acidjnk_new2 joins (~acidjnk@p200300d0c719ff54e8f13b1c4a3f9bcc.dip0.t-ipconnect.de) |
| 12:12:22 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 12:15:23 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 12:17:01 | <jophish> | maerwald: TIL! thanks |
| 12:17:10 | <jophish> | although I do also like how hpack uses yaml |
| 12:19:00 | <maerwald> | yeah, cabal file format is weird |
| 12:19:18 | <maerwald> | you can't change anything without reformatting the entire file |
| 12:19:26 | <jophish> | I wonder how well a PR to cabal which adds yaml support would go down... |
| 12:19:35 | <jophish> | well, I don't wonder lol. It would be panned |
| 12:20:02 | <jophish> | but I'd like to see it happen, and then for the .cabal format to be phased out over the next infinity years |
| 12:20:12 | <maerwald> | anything would be better than current format, but you have to support both forever and that's additional maintenance burden |
| 12:20:22 | <jophish> | or, for cabal to be able to run hpack behind the scenes |
| 12:20:29 | <maerwald> | that's never gonna happen :p |
| 12:20:30 | <jophish> | I think stack can do this |
| 12:20:50 | <jophish> | yeah, for sure the .cabal format will be preserved forever |
| 12:20:54 | <jophish> | :( |
| 12:21:00 | hackage | beam-automigrate 0.1.0.1 - DB migration library for beam, targeting Postgres. https://hackage.haskell.org/package/beam-automigrate-0.1.0.1 (abrar) |
| 12:21:19 | <jophish> | but it could be frozen, and any new features solely added to the yaml/hpack interface |
| 12:22:02 | <jophish> | maerwald: thanks for all the hard work you do for Haskell in nixpkgs BTW, it's appreciated! |
| 12:22:22 | <maerwald> | I wasn't aware I'm contributing to nixpkgs |
| 12:22:34 | <jophish> | oops! |
| 12:22:52 | <jophish> | I've become confused with maralorn |
| 12:23:03 | <maerwald> | I gave up on nix 6 years ago, when I realized the community has no quality standards. |
| 12:23:06 | <jophish> | too much decaf in my coffee |
| 12:24:20 | <maerwald> | now I'm just glad when I'm not pestered with it at work :p |
| 12:25:27 | × | AIM` quits (~AIM`@185.163.110.116) (Remote host closed the connection) |
| 12:26:14 | gproto023 | is now known as gproto23 |
| 12:29:25 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 12:29:30 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 12:29:30 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 12:29:40 | → | xangri joins (bab7275a@186.183.39.90) |
| 12:31:05 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:33:07 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 12:33:30 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 12:34:48 | × | Jonkimi727406120 quits (~Jonkimi@113.87.161.66) (Ping timeout: 260 seconds) |
| 12:36:00 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 12:36:17 | → | knupfer joins (~Thunderbi@200116b82ce1e1003ca956fffe6ed6fc.dip.versatel-1u1.de) |
| 12:36:59 | × | knupfer quits (~Thunderbi@200116b82ce1e1003ca956fffe6ed6fc.dip.versatel-1u1.de) (Remote host closed the connection) |
| 12:37:08 | → | knupfer joins (~Thunderbi@200116b82ce1e10080928bee7ad1b338.dip.versatel-1u1.de) |
| 12:38:13 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 12:42:02 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 12:42:53 | → | geekosaur joins (ac3a3b08@172.58.59.8) |
| 12:43:58 | × | edwardk quits (sid47016@haskell/developer/edwardk) (Read error: Connection reset by peer) |
| 12:44:06 | × | runeks quits (sid21167@gateway/web/irccloud.com/x-tsqpbadbudnfxfmt) (Read error: Connection reset by peer) |
| 12:44:08 | → | edwardk joins (sid47016@haskell/developer/edwardk) |
| 12:44:29 | × | pepeiborra quits (sid443799@gateway/web/irccloud.com/x-qimnexanhdwpswoz) (Read error: Connection reset by peer) |
| 12:44:29 | × | ProofTechnique quits (sid79547@gateway/web/irccloud.com/x-eksujsicoqugirny) (Read error: Connection reset by peer) |
| 12:44:33 | × | alexknvl quits (sid259568@gateway/web/irccloud.com/x-hdmczryidxkpwdtp) (Read error: Connection reset by peer) |
| 12:44:36 | → | pepeiborra joins (sid443799@gateway/web/irccloud.com/x-pndolohhnspnwqav) |
| 12:44:50 | → | alexknvl joins (sid259568@gateway/web/irccloud.com/x-jnvjyffojwxkuwuh) |
| 12:45:05 | → | runeks joins (sid21167@gateway/web/irccloud.com/x-ryjozvleeapnxzus) |
| 12:45:06 | × | rprije quits (~rprije@124.148.131.132) (Ping timeout: 260 seconds) |
| 12:45:20 | → | ProofTechnique joins (sid79547@gateway/web/irccloud.com/x-svkesokyijyfonih) |
| 12:45:45 | → | Chi1thangoo joins (~Chi1thang@87.112.60.168) |
| 12:46:32 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 12:48:31 | → | robbiet480 joins (~robbiet48@178.162.212.214) |
| 12:50:01 | × | gproto23 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 264 seconds) |
| 12:52:07 | ← | xangri parts (bab7275a@186.183.39.90) () |
| 12:56:16 | → | gproto23 joins (~gproto23@unaffiliated/gproto23) |
| 12:59:03 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 12:59:39 | × | geekosaur quits (ac3a3b08@172.58.59.8) (Ping timeout: 245 seconds) |
| 13:01:30 | → | Lord_of_Life_ joins (~Lord@46.217.217.57) |
| 13:02:01 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 264 seconds) |
| 13:03:08 | Lord_of_Life_ | is now known as Lord_of_Life |
| 13:03:22 | × | salumu quits (~sMuNiX@vlnsm8-montreal02-142-122-8-233.internet.virginmobile.ca) (Quit: WeeChat 3.0) |
| 13:03:51 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 13:04:39 | → | alp joins (~alp@2a01:e0a:58b:4920:49a7:8d86:1a2b:64a5) |
| 13:04:56 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 13:05:58 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 13:08:21 | <maralorn> | jophish: Funny, this is the second time someone confused our nix in few days. |
| 13:08:22 | <maralorn> | jophish: And thank you! |
| 13:09:07 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 13:09:12 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 13:09:56 | × | gproto23 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 240 seconds) |
| 13:09:59 | → | gproto0023 joins (~gproto23@unaffiliated/gproto23) |
| 13:10:44 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 13:11:13 | × | Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds) |
| 13:12:37 | → | geekosaur joins (ac3a3e89@172.58.62.137) |
| 13:13:53 | × | siloxid quits (~user@unaffiliated/siloxid) (Ping timeout: 272 seconds) |
| 13:16:25 | × | xff0x quits (~fox@2001:1a81:53c2:b800:6e69:5f46:fae4:631a) (Ping timeout: 272 seconds) |
| 13:16:56 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 13:17:08 | → | xff0x joins (~fox@2001:1a81:53c2:b800:23a4:8a65:fdbc:e15b) |
| 13:20:13 | → | bitmagie joins (~Thunderbi@200116b806771200992cad3b603b96ee.dip.versatel-1u1.de) |
| 13:20:18 | → | _mecairS` joins (~st_ars@110.54.187.248) |
| 13:20:41 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 13:24:16 | × | cyphase quits (~cyphase@unaffiliated/cyphase) (Ping timeout: 240 seconds) |
| 13:24:23 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@171.5.161.165) |
| 13:24:45 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 13:25:48 | × | oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 256 seconds) |
| 13:28:31 | × | Lord_of_Life quits (~Lord@46.217.217.57) (Read error: Connection reset by peer) |
| 13:29:24 | → | Lord_of_Life joins (~Lord@46.217.217.57) |
| 13:29:24 | × | Lord_of_Life quits (~Lord@46.217.217.57) (Changing host) |
| 13:29:24 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 13:30:03 | → | perohig joins (~user@dsl-212-23-31-113.zen.co.uk) |
| 13:30:04 | × | perry69420 quits (6ee39737@110.227.151.55) (Ping timeout: 245 seconds) |
| 13:30:47 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 13:31:22 | × | _mecairS` quits (~st_ars@110.54.187.248) (Quit: Hi. If i ever be an Angel of Light to guide you, to lead you in every way, will you also think of me at night and day.. https://bit.ly/36blphN) |
| 13:32:10 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 13:32:53 | → | perry69420 joins (6ee39737@110.227.151.55) |
| 13:32:56 | ← | perohig parts (~user@dsl-212-23-31-113.zen.co.uk) () |
| 13:34:14 | × | bgamari quits (~bgamari@72.65.101.76) (Ping timeout: 256 seconds) |
| 13:34:28 | → | cyphase joins (~cyphase@unaffiliated/cyphase) |
| 13:35:42 | → | bgamari joins (~bgamari@2001:470:e438::1) |
| 13:37:23 | <jophish> | maralorn: I made a test for HLS (in vim, but doesn't have to be). It works quite reliably now I've worked the kinks out. Do you think that this would make a reasonable addition to the nixos tests in nixpkgs: https://github.com/expipiplus1/dotfiles/blob/f41836bb61d98502236a7ea6522dbc24830af439/tests/vim-diagnostic-list.nix |
| 13:37:26 | <jophish> | it's quite niche |
| 13:37:32 | <jophish> | but it would be good to get HLS tested there |
| 13:37:53 | × | SanchayanM quits (~Sanchayan@223.226.47.98) (Quit: SanchayanM) |
| 13:39:06 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 13:39:31 | → | gproto023 joins (~gproto23@unaffiliated/gproto23) |
| 13:41:45 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) |
| 13:42:30 | × | gproto0023 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 272 seconds) |
| 13:50:01 | → | jedws joins (~jedws@101.184.150.93) |
| 13:50:51 | → | wygulmage joins (d4662d5d@212.102.45.93) |
| 13:51:38 | <wygulmage> | Question about Async: When would I want to use `cancel` rather than `uninterruptibleCancel`? |
| 13:52:57 | <merijn> | "It Depends" |
| 13:53:05 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 13:53:32 | × | robbiet480 quits (~robbiet48@178.162.212.214) (Remote host closed the connection) |
| 13:54:16 | → | aj2 joins (~aj@193.56.252.12) |
| 13:54:32 | <wygulmage> | I was trying to think of a use case for `cancel` and I couldn't think of one, but I'm not very good at thinking in terms of concurrency. |
| 13:55:00 | <merijn> | wygulmage: Well, when waiting for succesful cancellation isn't important |
| 13:55:35 | <merijn> | wygulmage: The cancellation always happens (since async exceptions are blocked during "throwTo") |
| 13:56:03 | <wygulmage> | Doesn't `cancel` also wait? |
| 13:56:54 | <merijn> | wygulmage: cancel waits without exceptions masked, so with cancel the final "waitCatch" (which confirms the termination of the cancelled thread) can itself be interrupted by a cancel of the thread |
| 13:57:09 | <merijn> | Suppose thread A spawns async B, which spawn async C |
| 13:57:14 | <merijn> | B cancels C |
| 13:57:29 | <merijn> | "cancel" waits to receive the exception C got (via waitCatch) |
| 13:57:30 | hackage | heap-console 0.1.0.1 - interactively inspect Haskell values at runtime https://hackage.haskell.org/package/heap-console-0.1.0.1 (TheMatten) |
| 13:57:51 | <merijn> | wygulmage: The difference between cancel and uninterruptibleCancel is that the latter masks async exceptions during the wait |
| 13:58:14 | <merijn> | so with uninterruptibleCancel, A can't cancel B while B waits for the final exception from C |
| 13:58:30 | <wygulmage> | Oh, I see. That makes sense. So if you want to immediately kill the thread waiting for the other to cancel, you you plain `cancel`. Thanks! |
| 13:58:32 | <merijn> | With cancel, A can cancel B while before it receives the final exception of C |
| 13:59:17 | <merijn> | wygulmage: The reason for uninterruptibleCancel might be if you care about races with cancellation of C |
| 13:59:22 | × | knupfer quits (~Thunderbi@200116b82ce1e10080928bee7ad1b338.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 13:59:33 | <merijn> | i.e. imagine I cancel C, but C gets killed by another exception before it receives the cancel |
| 13:59:51 | <merijn> | If it's important that I check that final exception, then you need uninterruptibleCancel to guarantee you will see it |
| 14:00:00 | <merijn> | If you just need C dead and don't care, cancel should be fine |
| 14:00:11 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 14:02:39 | <wygulmage> | Thanks, merijn; that's much more straightforward than I expected. |
| 14:04:54 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 14:05:09 | <merijn> | wygulmage: Basically, there's two levels of masking interrupts. "mask" which blocks async exceptions but unblocks them while blocking on (say) MVars, etc. (to help make it easier to avoid deadlocks) |
| 14:05:34 | <merijn> | And then there's uninterruptibleMask which will blocks them, even when the code blocks on stuff like MVars |
| 14:08:05 | <wygulmage> | Right. I got the use of 'uninterruptibleMask' for cleanup/finalizers, but I wasn't thinking of the return from the child thread in those terms. |
| 14:08:05 | × | carlomagno1 quits (~cararell@148.87.23.6) (Remote host closed the connection) |
| 14:09:42 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 14:12:01 | → | HugoDan joins (~semba@a109-49-47-155.cpe.netcabo.pt) |
| 14:12:47 | ← | HugoDan parts (~semba@a109-49-47-155.cpe.netcabo.pt) () |
| 14:13:56 | <merijn> | iirc, async just has an outer handler that writes any exceptions to a TVar/MVar that the parent thread can access |
| 14:14:16 | <Uniaika> | I should use 'ki' one day |
| 14:15:18 | <Feuermagier> | how can i check if number is contained at most once in a list? |
| 14:15:43 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 14:15:54 | × | wygulmage quits (d4662d5d@212.102.45.93) (Ping timeout: 245 seconds) |
| 14:16:43 | <merijn> | Turn it into a map with numbers as keys and counts as values? |
| 14:16:49 | <merijn> | :t M.fromListWith |
| 14:16:50 | <lambdabot> | Ord k => (a -> a -> a) -> [(k, a)] -> M.Map k a |
| 14:17:32 | <merijn> | > M.fromListWith (+) . map (,1) $ "Hello World!" |
| 14:17:34 | <lambdabot> | fromList [(' ',1),('!',1),('H',1),('W',1),('d',1),('e',1),('l',3),('o',2),('... |
| 14:17:38 | <Feuermagier> | merijn, intersting idea! - that should even allow me to check multiple numbers for occurance without additional cost |
| 14:17:39 | <fendor_> | > ((< 2) . length . filter (== 1)) [1,2,3,4,1] |
| 14:17:41 | <lambdabot> | False |
| 14:18:04 | <fendor_> | > (\x -> (< 2) . length . filter (== x)) [1,2,3,4,1] 4 |
| 14:18:06 | <lambdabot> | error: |
| 14:18:06 | <lambdabot> | • No instance for (Num [[Integer]]) arising from the literal ‘4’ |
| 14:18:06 | <lambdabot> | • In the second argument of ‘\ x |
| 14:18:18 | <fendor_> | > (\x -> (< 2) . length . filter (== x)) 4 [1,2,3,4,1] |
| 14:18:20 | <lambdabot> | True |
| 14:18:23 | <merijn> | fendor_: Mine is more robust and cheaper for repeated queries ;) |
| 14:18:29 | <fendor_> | absolutely |
| 14:18:40 | fendor_ | is now known as fendor |
| 14:18:52 | <merijn> | It could've been even easier if we didn't have a bad Monoid instance for Map >.< |
| 14:19:03 | merijn | hisses at containers |
| 14:19:30 | <merijn> | No clue which monkey decided on that nonsense |
| 14:19:36 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds) |
| 14:19:51 | <merijn> | But I have no hopes if it ever getting fixed :\ |
| 14:20:35 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 14:20:50 | → | polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
| 14:21:49 | <Feuermagier> | where in my dependencies do i have to add map to use it? (the import says "could not load map; is member f hidden package") |
| 14:21:50 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Read error: Connection reset by peer) |
| 14:22:41 | <merijn> | Feuermagier: Add "containers" to build-depends in your cabal file |
| 14:23:19 | × | larou quits (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed) |
| 14:24:53 | → | sondre joins (~sondre@cm-84.211.56.132.getinternet.no) |
| 14:25:19 | <Feuermagier> | tgrl wsgi• build-depends: |
| 14:25:19 | <Feuermagier> | base == 4.* |
| 14:25:19 | <Feuermagier> | containers |
| 14:25:22 | → | mputz joins (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) |
| 14:25:36 | <Feuermagier> | like this? build-depends: |
| 14:25:36 | <Feuermagier> | base == 4.* |
| 14:25:36 | <Feuermagier> | containers: |
| 14:25:48 | <merijn> | you need a comma between them, iirc |
| 14:26:01 | → | SanchayanMaity joins (~Sanchayan@223.226.47.98) |
| 14:30:29 | × | SanchayanMaity quits (~Sanchayan@223.226.47.98) (Client Quit) |
| 14:31:10 | × | sondre quits (~sondre@cm-84.211.56.132.getinternet.no) (Quit: sondre) |
| 14:31:57 | <Feuermagier> | ah, that was it |
| 14:31:59 | <Feuermagier> | thx |
| 14:33:30 | → | aldessa joins (~hugh@host-92-27-117-235.static.as13285.net) |
| 14:33:50 | × | Audentity quits (~Audentity@4e69b241.skybroadband.com) (Ping timeout: 265 seconds) |
| 14:36:10 | → | Audentity joins (~Audentity@4e69b241.skybroadband.com) |
| 14:37:13 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds) |
| 14:37:17 | <Feuermagier> | merijn, how would I check every entry in the map for my "only once" condition? |
| 14:37:52 | <merijn> | Feuermagier: Pretty sure there are some index maps/folds |
| 14:38:00 | <merijn> | and also filters? |
| 14:38:05 | <Feuermagier> | rgr. will take a look at those |
| 14:38:16 | × | darjeeling_ quits (~darjeelin@122.245.211.11) (Ping timeout: 246 seconds) |
| 14:38:17 | <merijn> | Feuermagier: Just filter out everything with value 1 and check if the result is empty |
| 14:38:49 | → | czwartyeon joins (4d2d3763@77-45-55-99.sta.asta-net.com.pl) |
| 14:39:13 | × | mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
| 14:39:23 | × | texasmynsted quits (~texasmyns@212.102.45.109) (Remote host closed the connection) |
| 14:39:38 | → | texasmynsted joins (~texasmyns@212.102.45.109) |
| 14:40:35 | → | zyklotomic joins (~ethan@unaffiliated/chocopuff) |
| 14:40:45 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds) |
| 14:40:56 | <zyklotomic> | is there any reason why ghc doesn't automatically derive functor and applicative |
| 14:40:56 | <aldessa> | are there any haskell libraries for dynamic programming or integer programming that can be recommended? i'm trying to pack n cuboids and think i can formulate it as an integer programming problem |
| 14:41:18 | <zyklotomic> | *if you define monad |
| 14:41:45 | <Uniaika> | hmm |
| 14:41:57 | <Uniaika> | maybe we could put a rule for Monad |
| 14:42:03 | <maralorn> | jophish: Well, more tests are better tests! Of course the first step would be to get the hls unit tests working in nixpkgs, (as well as dependencies like ghcide, etc,.) I am nearly there for hls but there are two tests which run into timeouts so I disabled them for now. |
| 14:42:20 | <Uniaika> | zyklotomic: historically, Applicative was not so tightly linked to Monad |
| 14:42:25 | <Uniaika> | now it is the case |
| 14:42:29 | <Uniaika> | this could indeed change |
| 14:42:30 | <zyklotomic> | yeah, I am following the historical aspect of it |
| 14:42:43 | <zyklotomic> | is it a matter of not having gotten to it yet? |
| 14:42:53 | <zyklotomic> | or is there a reason why we might not want it to behave that way |
| 14:42:57 | <Uniaika> | zyklotomic: can you open a ticket on https://gitlab.haskell.org/ghc/ghc/-/issues/new ? |
| 14:43:32 | <zyklotomic> | I'm just a beginner, I'm not very confident on how valid this opinion is though lol |
| 14:44:11 | <geekosaur> | deriving applicative might be because some types have more than one valid applicative (see ZipList) |
| 14:44:21 | → | Tario joins (~Tario@201.192.165.173) |
| 14:44:21 | <merijn> | zyklotomic: You can't automatically derive Applicative |
| 14:44:46 | <merijn> | Functors are possible because lawful functors are unique |
| 14:45:13 | <zyklotomic> | I understand that they might not be unique, but what if you just wanted to use the Monad definition |
| 14:45:14 | → | lucasb joins (uid333435@gateway/web/irccloud.com/x-ssbbedmexymeqbgx) |
| 14:45:17 | <merijn> | Uniaika: What would that ticket be for? |
| 14:45:25 | <merijn> | zyklotomic: You can |
| 14:45:36 | × | bitmagie quits (~Thunderbi@200116b806771200992cad3b603b96ee.dip.versatel-1u1.de) (Quit: bitmagie) |
| 14:45:51 | <zyklotomic> | It is just a minor question, I was wondering why it wasn't the default to be able to do something like filling that boiler plate in fro you |
| 14:45:51 | <merijn> | If you implement Monad you can just define Applicative as "<*> = ap" |
| 14:45:52 | → | sondr3_ joins (~sondr3@cm-84.211.56.132.getinternet.no) |
| 14:46:00 | <zyklotomic> | the "pure = return", "(<*>) = ap" |
| 14:46:06 | <Uniaika> | merijn: become a URL we can link to people where GHC developers explain why we can or cannot automagically derive Applicative and Functor when one only derives Monad |
| 14:46:18 | <merijn> | zyklotomic: Because it'd 1) break things and 2) return is planned to be removed from the class |
| 14:46:43 | <merijn> | Uniaika: You can derive functor even without Monad :p |
| 14:46:49 | <merijn> | Just enable -XDeriveFunctor |
| 14:46:57 | <maralorn> | jophish: I am not very experienced with nixos tests, but the test you suggested seems a bit brittle. It looks like it would fail if e.g. the error message was improved or something in the plugin layouts. |
| 14:47:12 | <Uniaika> | merijn: but can you derive Monad without Functor? :P |
| 14:47:21 | <jophish> | yeah, I certainly wouldn't want to use it as it is! |
| 14:47:26 | <Uniaika> | that's what I was talking about |
| 14:47:28 | <sondr3_> | I'm writing a parser in Haskell to practice and want to test private parts of the code, in Rust this is easy by either testing in the same file as the code, or declaring things to be pub(crate). How can I do something like this in Haskell? |
| 14:47:28 | <zyklotomic> | yeah my question isnt' the automagically part |
| 14:47:43 | <jophish> | tbh, posting the link to my specific test was irrelevant, |
| 14:48:02 | <zyklotomic> | but like why it can't fill in the "(<*>) = ap" for you by default, how would it break things merijn |
| 14:48:03 | <merijn> | sondr3_: Are you using cabal-install or stack? |
| 14:48:16 | <sondr3_> | merijn: cabal |
| 14:48:28 | <zyklotomic> | i'm asking cause i dont see where, not that i disagree |
| 14:48:30 | <merijn> | sondr3_: Ok, then you can't quite do the same, but there's some tricks |
| 14:48:46 | <merijn> | sondr3_: So, in recent versions of the cabal spec you can define multiple internal libraries |
| 14:48:59 | <sondr3_> | I'm open to move to Stack tbh, I've had a bunch of annoyances with cabal |
| 14:49:03 | <merijn> | sondr3_: So you could define the core logic in an internal library that exports all internals |
| 14:49:29 | <merijn> | sondr3_: then your public library can re-export the "public" parts of the internal lib and your tests can depend on the internal version |
| 14:49:46 | <sondr3_> | merijn: Ooh, that's clever, thanks |
| 14:50:18 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 14:50:36 | <merijn> | sondr3_: I'm just not sure how well/if stack supports that, hence the question :) |
| 14:51:05 | <merijn> | sondr3_: https://cabal.readthedocs.io/en/latest/cabal-package.html#sublibs |
| 14:51:07 | → | et09 joins (~et09@unaffiliated/endolphin) |
| 14:51:26 | <sondr3_> | merijn: Ah, fair. Thanks for the pointer, I'll give it a go |
| 14:51:36 | <yushyin> | are multiple *internal* libraries that recent? |
| 14:51:49 | × | geekosaur quits (ac3a3e89@172.58.62.137) (Remote host closed the connection) |
| 14:51:49 | <yushyin> | oh 2.0 |
| 14:51:50 | × | neiluj quits (~jco@unaffiliated/neiluj) (Quit: leaving) |
| 14:51:55 | → | Deide joins (~Deide@217.155.19.23) |
| 14:52:02 | → | darjeeling_ joins (~darjeelin@122.245.219.209) |
| 14:53:07 | × | czwartyeon quits (4d2d3763@77-45-55-99.sta.asta-net.com.pl) (Remote host closed the connection) |
| 14:53:12 | <merijn> | yushyin: No, but stack is...opinionated on what part of Cabal they wish to support |
| 14:53:21 | <merijn> | sondr3_: btw, I'm curious which annoyances you had with cabal-install? |
| 14:53:38 | × | aldessa quits (~hugh@host-92-27-117-235.static.as13285.net) (Read error: Connection reset by peer) |
| 14:54:33 | <Uniaika> | merijn: I think you can insert verbatim stuff in package.yaml? |
| 14:55:00 | <merijn> | package.yaml /= stack |
| 14:55:04 | <sondr3_> | merijn: Mostly getting cabal repl to properly use my project local .ghci file, I want to set OverloadedStrings and load a module |
| 14:55:26 | <merijn> | sondr3_: Oh, I just have those extensions set in my global .ghci file :) |
| 14:55:27 | <yushyin> | merijn: yes :/ I switched back from stack to cabal because of similar reasons |
| 14:55:53 | <merijn> | package.yaml is hpack and hpack is a huge mistake, imo |
| 14:56:10 | <sondr3_> | merijn: Yeah I'm considering doing the same, it'd just be nice to have it work locally |
| 14:56:28 | → | Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 14:56:33 | <Uniaika> | merijn: my bad indeed |
| 14:57:13 | → | czwartyeon joins (4d2d3763@77-45-55-99.sta.asta-net.com.pl) |
| 14:57:16 | <merijn> | Uniaika: stack automatically uses hpack if needed, leading many people to consider it part of stack, but even Snoyman now recommends against relying on only package.yaml and recommends committing the generated .cabal file |
| 14:58:02 | × | Fractalis quits (~Fractalis@2601:987:280:8d40:ddfc:6164:f3c:5c24) (Ping timeout: 260 seconds) |
| 14:58:11 | <Uniaika> | merijn: oh yeah we do it at work now |
| 14:58:28 | <Uniaika> | latest stack versions give you a warning |
| 14:58:49 | × | perry69420 quits (6ee39737@110.227.151.55) (Ping timeout: 245 seconds) |
| 14:59:46 | <merijn> | Like, I get why people like hpack, because they get to be lazy. But there's a reason why cabal-install doesn't allow you to be lazy. Being lazy turns your package management, distribution, and archiving into a huge unfixable clusterfuck |
| 14:59:54 | <merijn> | This is why pip and npm are such insane messes |
| 15:00:02 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 260 seconds) |
| 15:00:18 | <zyklotomic> | huh what makes npm and pip bad |
| 15:00:30 | → | p-core joins (~Thunderbi@2a0e:1c80:4:1024::1007) |
| 15:00:55 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 15:01:15 | <merijn> | zyklotomic: Have you ever worked on code locally and tried to reproduce that environment on another machine? |
| 15:01:38 | <merijn> | It's so bad everyone now just uses dockers, because it's easier to just copy your entire machine then figuring out how to package/distribute things |
| 15:01:39 | <zyklotomic> | yeah, nix |
| 15:02:19 | <zyklotomic> | i was on that boat too until nixOS |
| 15:02:24 | <zyklotomic> | or is that a different issue |
| 15:02:35 | <zyklotomic> | have you heard of nix? |
| 15:02:37 | <merijn> | zyklotomic: Right, but the reason Nix works is the same thing cabal insists on |
| 15:02:38 | <et09> | i need to fully wipe my stack installation i think |
| 15:02:47 | <merijn> | zyklotomic: "rigidly specify exactly everything you depend on" |
| 15:02:59 | <zyklotomic> | wait pip doesn't? |
| 15:03:07 | <merijn> | zyklotomic: Which is the exact thing people complain about |
| 15:03:11 | <et09> | getting these errors like uh, ghc failed a sanity check, cannot find snapshot |
| 15:03:15 | <zyklotomic> | that's kinda shocking, I never realized |
| 15:03:20 | <merijn> | et09: eh...that's bad :D |
| 15:03:24 | <et09> | but deleting .stack, .ghc, /usr/local/bin/stack doesn't seem like enough |
| 15:04:08 | <Uniaika> | peculiar |
| 15:04:09 | <et09> | my core problem is that i'm trying to install a recompile-able xmonad + xmobar + xmonad-contrib + xmonad-utils |
| 15:04:16 | <Uniaika> | HAHAHA |
| 15:04:18 | <Uniaika> | :D |
| 15:04:26 | <merijn> | zyklotomic: If you manually install something into your virtualenv (another massive hack!), pip will happily let you use it without you adding it to requirements.txt |
| 15:04:40 | <et09> | i.e. xmonad --recompile |
| 15:05:30 | <zyklotomic> | merijn: i've kinda forgotten it works that way |
| 15:06:27 | <zyklotomic> | like manually installing, declaratively installing gives such a peace of mind |
| 15:06:59 | <merijn> | v2-build is lightyears ahead of pip/virtualenv/npm :) |
| 15:07:46 | <zyklotomic> | i *think* cargo also uses this saner behavior |
| 15:08:16 | → | Lycurgus joins (~niemand@cpe-45-46-142-188.buffalo.res.rr.com) |
| 15:08:20 | <sondr3_> | Cargo is really nice, my absolute favorite package manager |
| 15:08:46 | <zyklotomic> | i like rustc more than i like cargo, not that it is bad |
| 15:08:54 | <zyklotomic> | the enumerated warnings are really user friendly |
| 15:09:13 | → | kamilbeker joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:10:18 | <sondr3_> | My favorite part of using Rust is that with rustup I get a package manager, formatter, linter and auto-updating all in one |
| 15:10:53 | × | kamilbeker quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Client Quit) |
| 15:10:58 | <zyklotomic> | rustup is really nice, even with nixos, i still prefer rustup |
| 15:11:13 | → | czwartye1 joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:11:19 | <merijn> | boo to autoformatters |
| 15:11:30 | × | czwartye1 quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Client Quit) |
| 15:11:46 | <zyklotomic> | my first experience with autoformatters was Go |
| 15:11:48 | → | czwartye1 joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:11:49 | <zyklotomic> | and I thought I was crazy |
| 15:11:55 | <yushyin> | with ghcup we ahve a similar toolchain installer |
| 15:11:56 | <zyklotomic> | or going bonkers |
| 15:12:05 | <sondr3_> | Yay to autoformatters, now I don't have to think about formatting and the whole ecosystem feels much more cohesive |
| 15:12:13 | <merijn> | My argument against autoformatters: https://twitter.com/comerijn/status/1257804634833420292 |
| 15:12:42 | × | czwartyeon quits (4d2d3763@77-45-55-99.sta.asta-net.com.pl) (Remote host closed the connection) |
| 15:12:52 | <merijn> | "not thinking about formatting" is just as bad as "not thinking about naming" |
| 15:12:52 | <zyklotomic> | that's valid, though i'll give Go a free pass |
| 15:12:57 | × | alp quits (~alp@2a01:e0a:58b:4920:49a7:8d86:1a2b:64a5) (Ping timeout: 272 seconds) |
| 15:13:16 | <merijn> | It's on brand for Go |
| 15:13:28 | <sondr3_> | I see both sides, I personally don't care, I like not having to think about it |
| 15:13:38 | <hpc> | my first experience with autoformatters was java, where to be fair, i wasn't thinking about naming either :P |
| 15:13:40 | <Feuermagier> | how do I zipWith, but only with one of the arguments changeing? |
| 15:13:42 | <zyklotomic> | yeah, like I can say Go is the only language it would seem to make sense for |
| 15:13:44 | <merijn> | Which is "solve every problem by making the exact opposite of the right choice" :p |
| 15:13:53 | <sondr3_> | Especially when contributing to other peoples packages |
| 15:13:57 | <merijn> | Go got 2 things right |
| 15:14:00 | <maerwald> | merijn: it's twice as bad if you're one of those people who memorize code based on the structure and someone else decides to run an autoformatter over it |
| 15:14:04 | <merijn> | 1) cross-compilation support from day 1 |
| 15:14:10 | <merijn> | 2) lightweight threading |
| 15:14:31 | <merijn> | Possibly 3? I think they default link static too? |
| 15:14:39 | <maerwald> | I think more important than reading code is... navigating code :) |
| 15:14:48 | <maerwald> | (because most stuff you don't actually wanna read) |
| 15:14:49 | <merijn> | that too |
| 15:14:52 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@171.5.161.165) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:15:02 | <hpc> | 2 is kind of iffy as well, doesn't their lightweight threading not give you very much control over the threads themselves? |
| 15:15:07 | ← | Lycurgus parts (~niemand@cpe-45-46-142-188.buffalo.res.rr.com) ("Deus Ex") |
| 15:15:38 | <merijn> | hpc: Well, at least even *they* designers of "the most backwards language since the 80s" realised that OS threading as default was dumb |
| 15:15:44 | <merijn> | Gotta give them credit for that :p |
| 15:15:53 | <zyklotomic> | Feuermagier: what do you mean |
| 15:15:58 | <hpc> | yeah true |
| 15:15:59 | <zyklotomic> | could you give an ex |
| 15:16:09 | <yushyin> | zyklotomic: sondr3_: hls uses ormolu, so there you go. |
| 15:16:28 | <sondr3_> | I use ormolu too, |
| 15:16:29 | <Feuermagier> | zyklotomic, compine x with every argument out of [list] by function f - cycle through the list, keep x |
| 15:17:00 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 15:17:14 | <sondr3_> | It's my absolute least favorite formatter, Britanny looks better but I get the feeling that it has some deep architectural problems |
| 15:17:52 | <merijn> | Feuermagier: Can you give an example of an input and output |
| 15:18:40 | <yushyin> | sondr3_: just don't think/care about it :P you said it yourself |
| 15:19:14 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 15:19:17 | → | czwartyeon joins (4d2d3763@77-45-55-99.sta.asta-net.com.pl) |
| 15:19:28 | <Feuermagier> | merijn, x=3, [0,1,2] function = "*" result=[0,3,6] |
| 15:19:37 | × | czwartye1 quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Quit: WeeChat 3.0) |
| 15:19:53 | → | czwartye1 joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:20:02 | <merijn> | You don't need zipWith, just map :p |
| 15:20:04 | <sondr3_> | yushyin: Haha, I know, at least I mostly agree with rustfmt, I just don't like how ormolu puts the comma at the end of lines and not the beginning :( |
| 15:20:13 | <Feuermagier> | merijn, essentially zipWith, but with one argument just being [x,x,x,x,x...] |
| 15:20:26 | <merijn> | > map (3*) [0,1,2] |
| 15:20:28 | <lambdabot> | [0,3,6] |
| 15:20:29 | <Feuermagier> | *oh* |
| 15:20:46 | <Feuermagier> | THX! |
| 15:20:46 | <zyklotomic> | wait you can do that? |
| 15:20:56 | <zyklotomic> | i've been doing (*3) the entire time |
| 15:21:00 | <zyklotomic> | oh right |
| 15:21:05 | <merijn> | zyklotomic: you can do both |
| 15:21:11 | <zyklotomic> | yeah it never occured to me |
| 15:21:18 | <merijn> | It matters, actually |
| 15:21:28 | <merijn> | > map (/2) [1..10] |
| 15:21:31 | <lambdabot> | [0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0] |
| 15:21:36 | <merijn> | > map (2/) [1..10] |
| 15:21:38 | <lambdabot> | [2.0,1.0,0.6666666666666666,0.5,0.4,0.3333333333333333,0.2857142857142857,0.... |
| 15:21:42 | <zyklotomic> | oh or the ugly |
| 15:21:47 | <zyklotomic> | > map ((/) 2) [1..10] |
| 15:21:49 | <lambdabot> | [2.0,1.0,0.6666666666666666,0.5,0.4,0.3333333333333333,0.2857142857142857,0.... |
| 15:21:57 | <zyklotomic> | lol |
| 15:22:03 | <zyklotomic> | but (*) is ass |
| 15:22:14 | <zyklotomic> | *comm |
| 15:22:45 | <sondr3_> | be nice to (*) |
| 15:22:50 | × | czwartyeon quits (4d2d3763@77-45-55-99.sta.asta-net.com.pl) (Disconnected by services) |
| 15:23:20 | czwartye1 | is now known as czwartyeon |
| 15:23:53 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Client Quit) |
| 15:24:12 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:24:29 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 15:24:58 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit) |
| 15:27:17 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Client Quit) |
| 15:27:35 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:27:42 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Client Quit) |
| 15:28:20 | <Feuermagier> | how do I elegantly check if an entire list of bools is true if I "and" it? |
| 15:28:31 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 15:28:51 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:28:52 | <merijn> | :t and |
| 15:28:53 | <lambdabot> | Foldable t => t Bool -> Bool |
| 15:29:09 | <ski> | Feuermagier : did the list come from `map' ? |
| 15:29:13 | <merijn> | :t getAll . foldMap All |
| 15:29:14 | <lambdabot> | Foldable t => t Bool -> Bool |
| 15:30:25 | <ski> | @type all |
| 15:30:26 | <lambdabot> | Foldable t => (a -> Bool) -> t a -> Bool |
| 15:30:40 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Client Quit) |
| 15:30:50 | <sondr3_> | How do I combine parsers in Megaparsec? I have `char '<' *> takeWhile1P Nothing (== '=') <* char '>'` which discards the chars, and I can't figure out how to combine them |
| 15:30:57 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 15:30:59 | → | carlomagno joins (~cararell@148.87.23.4) |
| 15:31:01 | <Feuermagier> | ski, yes. I have 3 seperate lists generated by 3 seperate functions |
| 15:31:09 | <dminuoso> | all p = getAll #. foldMap (All #. p) |
| 15:31:13 | <ski> | @src all |
| 15:31:13 | <lambdabot> | all p = and . map p |
| 15:31:15 | → | Tario joins (~Tario@201.192.165.173) |
| 15:31:15 | <ski> | @src any |
| 15:31:15 | <lambdabot> | any p = or . map p |
| 15:31:22 | <dminuoso> | Curious that this uses foldMap |
| 15:31:41 | <ski> | Feuermagier : if you have `and (map p xs)', you can say `all p xs' |
| 15:31:42 | <dminuoso> | sondr3_: In what way do you want to combine then? |
| 15:31:49 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit) |
| 15:31:50 | <ski> | > liftA2 (^) [0,1,2,3] [0,1,2,3] |
| 15:31:52 | <lambdabot> | [1,0,0,0,1,1,1,1,1,2,4,8,1,3,9,27] |
| 15:31:53 | <merijn> | dminuoso: "getAll (coerce fold)" :p |
| 15:31:57 | <merijn> | eh |
| 15:32:01 | <merijn> | add a . there |
| 15:32:09 | <sondr3_> | dminuoso: so the output becomes "<===>", now it is just "===" |
| 15:32:13 | <ski> | > [m ^ n | m <- [0,1,2,3],n <- [0,1,2,3]] |
| 15:32:16 | <lambdabot> | [1,0,0,0,1,1,1,1,1,2,4,8,1,3,9,27] |
| 15:32:17 | <dminuoso> | ski: The "output"? |
| 15:32:20 | <dminuoso> | Err sondr3_. |
| 15:32:25 | <zyklotomic> | won't a regular fold work? |
| 15:32:27 | <ski> | > [[m ^ n | n <- [0,1,2,3]] | m <- [0,1,2,3]] |
| 15:32:30 | <lambdabot> | [[1,0,0,0],[1,1,1,1],[1,2,4,8],[1,3,9,27]] |
| 15:32:36 | <merijn> | :t fold |
| 15:32:37 | <lambdabot> | (Foldable t, Monoid m) => t m -> m |
| 15:32:40 | <merijn> | :t foldMap |
| 15:32:42 | <lambdabot> | (Foldable t, Monoid m) => (a -> m) -> t a -> m |
| 15:32:52 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 15:32:56 | <merijn> | zyklotomic: You can do it with a regular fold, sure. But monoids are cool |
| 15:33:07 | <ski> | > let pam = flip map in [0,1,2,3] `pam` \m -> [0,1,2,3] `pam` \n -> m ^ n |
| 15:33:09 | <lambdabot> | [[1,0,0,0],[1,1,1,1],[1,2,4,8],[1,3,9,27]] |
| 15:33:19 | <merijn> | zyklotomic: Also, monoids compose better |
| 15:33:20 | <dminuoso> | sondr3_: Also, your `takeWhile1P Nothing (== '=')` should just be `some (char '=')` |
| 15:33:25 | <sondr3_> | dminuoso: I meant what it returns x) the signature is `parser :: Parser Text` |
| 15:33:48 | <dminuoso> | sondr3_: Ah. So the most naive way is to use the monadic interface. |
| 15:33:59 | <dminuoso> | But that's not necessary |
| 15:34:59 | <sondr3_> | I've never done parser combinators before, so the code is surely weird :P |
| 15:35:12 | <dminuoso> | sondr3_: https://gist.github.com/dminuoso/6fcd4ffac6afc5a7a4ec9f39052dd986 |
| 15:35:22 | <dminuoso> | Note that its usually awkward to return exactly what you parsed. |
| 15:36:05 | <Feuermagier> | ski, thx! - that works for me |
| 15:36:12 | <dminuoso> | I want to emphasize that you dont have to use the do/monadic interface here, you can do this with applicative too, but this is probably more readable |
| 15:36:41 | <dminuoso> | Oh, actually that code is off.. |
| 15:36:53 | <sondr3_> | dminuoso: I'm all ears for suggestions and tips |
| 15:37:08 | <dminuoso> | takeWhile1P is right after all |
| 15:37:20 | <zyklotomic> | oh foldMap is essentialy Writer? |
| 15:37:33 | <ski> | Feuermagier : it sounded like perhaps, by "how do I zipWith, but only with one of the arguments changeing?","compine x with every argument out of [list] by function f - cycle through the list, keep x", you also had in mind possibly choosing `x' in each possible way, from a list. (hence the above lambdabot queries) |
| 15:37:48 | <dminuoso> | sondr3_: reload my gist |
| 15:38:19 | <dminuoso> | sondr3_: So I dont know what you're doing exactly, why do you need the parser to return the exact string it just parsed? |
| 15:39:03 | <et09> | ugh i don't get this |
| 15:39:18 | <et09> | xmonad --recompile, stack exec xmonad -- --recompile show it can't find XMonad, Xmonad.Util, etc. |
| 15:39:29 | <sondr3_> | dminuoso: I'm learning parsing?Haskell by parsing a format called HRX, and it requires "boundaries" (the <===>) to be the same width in the same document |
| 15:39:30 | <et09> | even after i just installed all of them with stack install |
| 15:39:52 | <dminuoso> | sondr3_: I see! :) |
| 15:40:55 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 15:40:55 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 15:40:55 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 15:42:26 | <dminuoso> | sondr3_: Perhaps you could write two combinators, firstBoundary :: Parser Int; and boundary :: Int -> Parser () |
| 15:42:57 | <dminuoso> | Alternatively, you could bury the boundary length inside the state of your parser |
| 15:43:21 | <dminuoso> | say some `Maybe Int` that starts at Nothing, and `boundary :: Parser ()` then, if its Nothing, would determine the length, and if its `Just n` demand exactly n equals. |
| 15:44:09 | <sondr3_> | Yeah, I've been thinking about doing that, seems to be the easiest way in my head |
| 15:44:12 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 15:44:20 | → | son0p joins (~son0p@181.58.39.182) |
| 15:44:35 | → | aarvar joins (~foewfoiew@50.35.43.33) |
| 15:45:04 | → | ddellacosta joins (dd@gateway/vpn/mullvad/ddellacosta) |
| 15:45:16 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:45:19 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 15:46:00 | × | kish` quits (~oracle@unaffiliated/oracle) (Remote host closed the connection) |
| 15:47:10 | → | kish` joins (~oracle@unaffiliated/oracle) |
| 15:49:33 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 15:50:57 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
| 15:51:10 | → | tremon joins (~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
| 15:51:25 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 15:51:50 | × | aarvar quits (~foewfoiew@50.35.43.33) (Quit: Leaving.) |
| 15:52:07 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 15:55:22 | → | aarvar joins (~foewfoiew@50.35.43.33) |
| 15:55:38 | × | aarvar quits (~foewfoiew@50.35.43.33) (Client Quit) |
| 15:56:00 | → | DavidEichmann joins (~david@62.110.198.146.dyn.plus.net) |
| 15:56:14 | → | christo joins (~chris@81.96.113.213) |
| 15:57:13 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 264 seconds) |
| 15:57:50 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds) |
| 16:00:29 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 16:01:31 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 16:01:45 | <idnar> | @hoogle (a -> b -> c -> d) -> (a, b, c) -> d |
| 16:01:46 | <lambdabot> | Data.Tuple.Extra uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d |
| 16:01:46 | <lambdabot> | Extra uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d |
| 16:01:46 | <lambdabot> | Data.Tuple.HT uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d |
| 16:05:26 | × | DavidEichmann quits (~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection) |
| 16:05:58 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 16:06:25 | → | Codaraxis_ joins (Codaraxis@gateway/vpn/mullvad/codaraxis) |
| 16:06:36 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:a5b5:1f7c:6ea:f5a4) |
| 16:06:44 | → | DavidEichmann joins (~david@62.110.198.146.dyn.plus.net) |
| 16:07:32 | → | Fractalis joins (~Fractalis@2601:987:280:8d40:ddfc:6164:f3c:5c24) |
| 16:08:16 | × | Codaraxis quits (~Codaraxis@91.193.4.24) (Ping timeout: 240 seconds) |
| 16:08:43 | × | tsrt^ quits (tsrt@ip98-184-89-2.mc.at.cox.net) () |
| 16:09:47 | → | caef^ joins (caef@ip98-184-89-2.mc.at.cox.net) |
| 16:11:51 | × | p-core quits (~Thunderbi@2a0e:1c80:4:1024::1007) (Ping timeout: 272 seconds) |
| 16:12:02 | → | gproto0023 joins (~gproto23@unaffiliated/gproto23) |
| 16:12:35 | → | avdb joins (~avdb@ip-213-49-103-194.dsl.scarlet.be) |
| 16:12:39 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 16:14:15 | × | gproto023 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 256 seconds) |
| 16:14:51 | gproto0023 | is now known as gproto23 |
| 16:16:15 | × | LKoen quits (~LKoen@169.244.88.92.rev.sfr.net) (Remote host closed the connection) |
| 16:17:23 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 16:17:30 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
| 16:19:40 | × | Codaraxis_ quits (Codaraxis@gateway/vpn/mullvad/codaraxis) (Read error: Connection reset by peer) |
| 16:19:45 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:a5b5:1f7c:6ea:f5a4) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:20:25 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 16:20:26 | <sondr3_> | dminuoso: when using State in megaparsec do I need the `mtl` package? I can't figure out how to modify state with the examples |
| 16:21:07 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 16:21:19 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 16:21:56 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:a5b5:1f7c:6ea:f5a4) |
| 16:21:56 | × | chkno_ quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 16:22:10 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 16:22:36 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 256 seconds) |
| 16:24:42 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 16:25:42 | → | alp joins (~alp@2a01:e0a:58b:4920:b173:4b4d:a0b6:acac) |
| 16:27:13 | → | dorkside joins (~tdbgamer@208.190.197.222) |
| 16:28:20 | <sm[m]> | et09: you need to ask #xmonad, but I'm guessing xmonad --recompile is special/not smart enough to detect the environment provided by stack exec |
| 16:30:40 | → | Codaraxis joins (Codaraxis@gateway/vpn/mullvad/codaraxis) |
| 16:31:35 | <et09> | i got it working after following these steps - https://brianbuccola.com/how-to-install-xmonad-and-xmobar-via-stack/ |
| 16:32:01 | × | avdb quits (~avdb@ip-213-49-103-194.dsl.scarlet.be) (Ping timeout: 264 seconds) |
| 16:32:26 | × | acidjnk_new2 quits (~acidjnk@p200300d0c719ff54e8f13b1c4a3f9bcc.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 16:32:36 | → | foursaph joins (~foursaph@dynamic-095-116-060-225.95.116.pool.telefonica.de) |
| 16:33:59 | <sm[m]> | et09: nice, that should be made prominent for xmonad users |
| 16:35:22 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 16:38:08 | → | shf joins (~sheaf@2a01:cb19:80cc:7e00:b8bb:ef68:fc1c:f951) |
| 16:38:15 | → | LKoen joins (~LKoen@169.244.88.92.rev.sfr.net) |
| 16:38:28 | <et09> | man 15gb hard drive on this and 11gb already used after install, 4gb for stack |
| 16:41:24 | <et09> | and i think the hd is soldered into the motherboard lol. doomed |
| 16:41:27 | <sm[m]> | maybe there's a ghc version/old-ghc libs in there you can delete ? ncdu is good |
| 16:41:45 | <et09> | ncdu? |
| 16:41:53 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Remote host closed the connection) |
| 16:42:05 | <sm[m]> | yup, great tool |
| 16:42:10 | <et09> | oo nice |
| 16:42:15 | <et09> | i have cli scripts that do similar |
| 16:42:28 | <et09> | well it's 2.2gb /programs, 1.3gb /pantry, 442mb /snapshots |
| 16:42:44 | <et09> | only one ghc version i think ... |
| 16:42:51 | <sm[m]> | rats |
| 16:43:08 | <et09> | no matter |
| 16:43:14 | <et09> | this is a random toy project anyway |
| 16:43:28 | → | andos joins (~dan@69-165-210-185.cable.teksavvy.com) |
| 16:43:29 | <MarcelineVQ> | sounds about right: ghc, hackage index, libraries |
| 16:43:31 | <et09> | ill dig up like a 32/64gb ssd if i wanna throw snes games on here or something |
| 16:43:41 | <sm[m]> | what kind of machine has a 15G drive ? |
| 16:43:46 | → | chaosmasttter joins (~chaosmast@p200300c4a72cf8017c557ee44a5933bf.dip0.t-ipconnect.de) |
| 16:43:52 | <et09> | you don't want to know |
| 16:44:20 | <et09> | hp chromebook 11 g5, ~2015 |
| 16:44:25 | × | Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
| 16:44:51 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 16:45:09 | <MarcelineVQ> | You could probably compile on a larger computer and move the executable + settings to your smaller storage device |
| 16:45:48 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 16:46:11 | <MarcelineVQ> | dunno how reasonable that is for xmonad in terms of seeing the effects of particular changes |
| 16:46:32 | × | xff0x quits (~fox@2001:1a81:53c2:b800:23a4:8a65:fdbc:e15b) (Ping timeout: 260 seconds) |
| 16:47:20 | → | xff0x joins (~fox@2001:1a81:53c2:b800:5bdf:9233:5c1b:206) |
| 16:48:22 | × | foursaph quits (~foursaph@dynamic-095-116-060-225.95.116.pool.telefonica.de) (Quit: leaving) |
| 16:48:36 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 16:48:40 | → | FreeBirdLjj joins (~freebirdl@101.228.42.108) |
| 16:49:39 | → | f-a joins (~f-a@151.36.70.173) |
| 16:50:08 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 16:50:43 | <sm[m]> | "suboptimal" I think we could say |
| 16:51:50 | <merijn> | stack generally installs multiple GHC's, so that quickly racks up space |
| 16:52:02 | → | melkor joins (~melkor@31.31.76.126) |
| 16:53:07 | <maerwald> | merijn: if it had a way to garbage collect, but... |
| 16:53:21 | <sm[m]> | et09 checked, and only has the one |
| 16:54:08 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 16:56:43 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 17:00:44 | × | oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 272 seconds) |
| 17:01:26 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 17:01:53 | → | renzhi joins (~renzhi@2607:fa49:655f:e600::28da) |
| 17:02:16 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 17:03:41 | × | Fractalis quits (~Fractalis@2601:987:280:8d40:ddfc:6164:f3c:5c24) (Quit: Leaving) |
| 17:04:21 | → | christo joins (~chris@81.96.113.213) |
| 17:06:01 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 17:07:18 | → | Fractalis joins (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
| 17:08:34 | × | Fractalis quits (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Remote host closed the connection) |
| 17:08:54 | → | conal joins (~conal@64.71.133.70) |
| 17:10:52 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 17:11:15 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 17:12:22 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 265 seconds) |
| 17:13:52 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-pcjsdqzlpwhjwdiy) |
| 17:14:18 | → | Alleria_ joins (~AllahuAkb@2604:2000:1484:26:b060:c081:3394:137) |
| 17:14:40 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 17:14:50 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 17:16:27 | × | alp quits (~alp@2a01:e0a:58b:4920:b173:4b4d:a0b6:acac) (Ping timeout: 272 seconds) |
| 17:16:47 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 2.9) |
| 17:18:27 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 17:18:28 | <et09> | if it were that serious i'd just use a c tiling window manager hah |
| 17:18:52 | <et09> | i just got this chromebook for free like 5 years ago and had to do a hardware mod (removing a screw -_-) to install linux on it |
| 17:19:00 | <et09> | and never got around to it until this week |
| 17:19:14 | × | Alleria_ quits (~AllahuAkb@2604:2000:1484:26:b060:c081:3394:137) (Ping timeout: 264 seconds) |
| 17:19:27 | <maerwald> | just use i3 then |
| 17:20:21 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 17:21:50 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 17:23:11 | → | HarveyPwca joins (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) |
| 17:24:04 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 17:24:21 | <zyklotomic> | huh? why do you have to roll your own xmonad |
| 17:24:26 | × | FreeBirdLjj quits (~freebirdl@101.228.42.108) (Remote host closed the connection) |
| 17:24:34 | <zyklotomic> | i've been ok enough with the ones in my distro's repos |
| 17:25:03 | → | FreeBirdLjj joins (~freebirdl@101.228.42.108) |
| 17:25:13 | <maerwald> | the entire point of xmonad is "code as configuration", no? |
| 17:25:24 | <zyklotomic> | and if I really needed to, i would feel comfortable enough directly changing the package manager build-file, not sure about your use case though |
| 17:25:41 | <zyklotomic> | maerwald: yeah, but it can still read my xmonad.hs file in my home dir |
| 17:26:23 | <zyklotomic> | i'm not sure about its inner workings, but it has always been able to read my ~/xmonad/xmonad.hs file |
| 17:27:21 | → | alp joins (~alp@2a01:e0a:58b:4920:a8cc:de6c:bd5c:69eb) |
| 17:27:40 | <zyklotomic> | so i don't think it's as intense/hard core as some other WM's where you have to modify the actual source code |
| 17:29:11 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Quit: WeeChat 3.0) |
| 17:29:45 | × | FreeBirdLjj quits (~freebirdl@101.228.42.108) (Ping timeout: 260 seconds) |
| 17:30:31 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 17:35:25 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 17:36:24 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Quit: WeeChat 3.0) |
| 17:36:53 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:a5b5:1f7c:6ea:f5a4) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:37:01 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 17:42:56 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds) |
| 17:43:46 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds) |
| 17:44:58 | → | knupfer joins (~Thunderbi@i5E86B4AF.versanet.de) |
| 17:45:49 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 2.9) |
| 17:46:15 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 17:46:26 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:46:34 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 17:47:06 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit) |
| 17:47:11 | → | jonatanb_ joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 17:47:39 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 17:49:12 | × | f-a quits (~f-a@151.36.70.173) (Quit: leaving) |
| 17:49:13 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 17:49:33 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit) |
| 17:50:03 | → | solonarv joins (~solonarv@astrasbourg-653-1-156-4.w90-6.abo.wanadoo.fr) |
| 17:50:05 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 17:50:37 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 264 seconds) |
| 17:51:36 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 17:51:39 | → | christo joins (~chris@81.96.113.213) |
| 17:53:26 | × | chaosmasttter quits (~chaosmast@p200300c4a72cf8017c557ee44a5933bf.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 17:53:46 | × | knupfer quits (~Thunderbi@i5E86B4AF.versanet.de) (Quit: knupfer) |
| 17:55:17 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 17:55:36 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit) |
| 17:55:36 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
| 17:55:50 | × | jonatanb_ quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
| 17:56:37 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
| 17:57:03 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds) |
| 17:57:51 | <dminuoso> | sondr3_: It's easiest with mtl. |
| 17:58:32 | <sondr3_> | dminuoso: Yeah, managed to get it to work with it :) |
| 17:58:40 | <dminuoso> | Great! :) |
| 18:00:34 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 18:00:37 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 18:01:29 | → | knupfer joins (~Thunderbi@200116b82ce1e1004151d196bd118340.dip.versatel-1u1.de) |
| 18:01:59 | → | Alleria_ joins (~AllahuAkb@2604:2000:1484:26:b060:c081:3394:137) |
| 18:02:21 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 18:03:13 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds) |
| 18:04:56 | × | raichoo quits (~raichoo@dslb-178-009-023-219.178.009.pools.vodafone-ip.de) (Quit: Lost terminal) |
| 18:06:52 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit) |
| 18:07:43 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 18:08:29 | → | christo joins (~chris@81.96.113.213) |
| 18:08:49 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 18:08:50 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) |
| 18:08:55 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 18:12:49 | × | gproto23 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 264 seconds) |
| 18:16:44 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Ping timeout: 240 seconds) |
| 18:16:53 | × | Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood) |
| 18:21:37 | × | alp quits (~alp@2a01:e0a:58b:4920:a8cc:de6c:bd5c:69eb) (Ping timeout: 260 seconds) |
| 18:25:25 | <merijn> | maerwald: Not really |
| 18:25:25 | → | gproto23 joins (~gproto23@unaffiliated/gproto23) |
| 18:25:56 | <merijn> | maerwald: The point of xmonad is more like "we made a DSL/library for writing custom window managers and are suckering people into writing Haskell window managers by telling them its configuration" |
| 18:26:38 | → | Inoperable joins (~PLAYER_1@fancydata.science) |
| 18:27:13 | <zyklotomic> | thats a pretty hilarious take |
| 18:27:30 | <merijn> | zyklotomic: It's true, though :) |
| 18:28:05 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 260 seconds) |
| 18:29:32 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 18:31:29 | <zyklotomic> | I will admit that is what exposed me to Haskell |
| 18:31:42 | <zyklotomic> | so inadvertently or not (idk tbh), Xmonad did its purpose |
| 18:31:48 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 18:31:55 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 2.9) |
| 18:32:03 | <zyklotomic> | it definitely is good publicity for the language |
| 18:32:06 | <monochrom> | My view is they were too lazy to design and implement a proper config format. |
| 18:32:10 | × | neiluj quits (~jco@unaffiliated/neiluj) (Quit: leaving) |
| 18:32:17 | <zyklotomic> | ...and called it a feature |
| 18:32:19 | <merijn> | monochrom: Compromise: It was both |
| 18:32:35 | <merijn> | monochrom: Can you blame them? Dhall hadn't been invented yet! |
| 18:32:53 | <monochrom> | They could have invented dhall or better. |
| 18:33:22 | <geekosaur> | the problem with monochrom's view is that spencer was a dwm user and explicitly cloned dwm |
| 18:33:32 | <dsal> | et09: I have a chromebook pixel I pulled the screw out of. It runs nixos+xmonad now. |
| 18:33:36 | <geekosaur> | "because haskell was better at doing edsls" |
| 18:33:41 | <merijn> | geekosaur: That's the suckless one? |
| 18:33:47 | <geekosaur> | yeh |
| 18:34:15 | <zyklotomic> | i guess theres dozens of us! dsal |
| 18:34:16 | <merijn> | I wonder if they're still around, or if they've given up in the onslaught of terrible software :p |
| 18:34:34 | <geekosaur> | dunno |
| 18:35:01 | <geekosaur> | they've not exactly lived up to their name at times, thoguh; they've had some pretty terrible bugs |
| 18:35:42 | <merijn> | To be fair, the main motivation/ideology wasn't "less buggy" |
| 18:36:01 | <merijn> | It was simpler, clearer, and less resource intensive |
| 18:36:16 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 240 seconds) |
| 18:36:25 | → | Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 18:36:27 | <zyklotomic> | and have it "suck less" |
| 18:36:27 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 18:36:31 | <monochrom> | All three were destroyed by migrating to Haskell and GHC. |
| 18:36:37 | <merijn> | monochrom: ;) |
| 18:37:03 | <merijn> | monochrom: And yet Haskell still sucks less than C :p |
| 18:37:14 | <merijn> | Hell, Haskell is a better C than C :p |
| 18:38:00 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 18:38:22 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:6de0:da61:3bf0:e8b4) |
| 18:39:01 | → | p-core joins (~Thunderbi@2a0e:1c80:4:1023::1004) |
| 18:40:24 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit) |
| 18:40:56 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 18:41:10 | × | DavidEichmann quits (~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection) |
| 18:42:25 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:6de0:da61:3bf0:e8b4) (Client Quit) |
| 18:42:43 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-bxutlphfkqmfvhzw) |
| 18:44:02 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:6de0:da61:3bf0:e8b4) |
| 18:44:04 | → | robotmay joins (~beepboop@80.172.187.81.in-addr.arpa) |
| 18:44:39 | → | dfaiv joins (44f9e9e4@68-249-233-228.lightspeed.okcbok.sbcglobal.net) |
| 18:45:07 | × | dftxbs3e quits (~dftxbs3e@unaffiliated/dftxbs3e) (Ping timeout: 272 seconds) |
| 18:46:26 | <tomsmeding> | I'm happily using suckless' st terminal |
| 18:46:36 | <tomsmeding> | one datapoint :p |
| 18:46:43 | <merijn> | There's no way to make terminals suck less :p |
| 18:46:58 | <tomsmeding> | ¯\_(ツ)_/¯ |
| 18:47:37 | <tomsmeding> | would be interesting to meet a person that actually uses ii |
| 18:47:56 | <merijn> | tomsmeding: Out of morbid curiosity? :p |
| 18:48:01 | <tomsmeding> | yes :p |
| 18:48:40 | <merijn> | tomsmeding: There's two kinds of people. People who like terminals, and people who've read the APUE chapter on terminals and know how they work and what kinda weird abomination they are >.> |
| 18:48:44 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds) |
| 18:48:55 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:6de0:da61:3bf0:e8b4) (Client Quit) |
| 18:49:15 | tomsmeding | doesn't know what APUE is, but I know how ansi escape sequences work, does that count? |
| 18:49:39 | × | son0p quits (~son0p@181.58.39.182) (Quit: leaving) |
| 18:49:45 | <merijn> | tomsmeding: Advanced Programming in the UNIX Environment |
| 18:50:01 | <merijn> | The bible for anyone who wants any hope of writing remotely robust portable posix code :) |
| 18:51:25 | <dolio> | Seems to me the problem is that people generally want to replace terminals with something worse, rather than better. |
| 18:51:42 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:51:43 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:6de0:da61:3bf0:e8b4) |
| 18:52:16 | <merijn> | dolio: Doesn't that hold for basically every technology? :p |
| 18:52:51 | <dolio> | Probably. |
| 18:52:52 | <merijn> | dolio: See TypeInType ;) |
| 18:57:09 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
| 18:59:00 | → | qqqqqq joins (~Me@185.142.40.159) |
| 18:59:03 | <qqqqqq> | 6Lets praise Allah; 3he is our God, thee one; he is the god of Moses; Noah; Jesus & Mohammed; he sent us our Book 7 Quran, 10Monotheism is cleared by all prophets ~ 6 We get heaven & happiness on earth by praying to the one god 6& by Saying No God except Allah & that Mohammed is the messenger of Allah. 4 treat others as u like to be treated 10---------;{@ |
| 18:59:05 | ← | qqqqqq parts (~Me@185.142.40.159) () |
| 18:59:55 | <Uniaika> | *sigh* |
| 19:00:34 | <tomsmeding> | well it is nice and colourful |
| 19:00:45 | <[exa]> | the last part actually made some sense |
| 19:00:54 | <tomsmeding> | except for the ;{@ |
| 19:00:57 | <[exa]> | I give 3 stars out of 5 and ban |
| 19:01:03 | <merijn> | [exa]: Agreed, we should bring back ascii roses |
| 19:01:05 | <Uniaika> | nah the rose was decent, [exa] |
| 19:01:08 | <Uniaika> | I've seen worse |
| 19:01:10 | <[exa]> | lol |
| 19:01:12 | <tomsmeding> | oh that's a rose? |
| 19:01:15 | <Uniaika> | yeah |
| 19:01:22 | tomsmeding | is too young for this shit |
| 19:01:29 | <Uniaika> | lol, how old are you? tomsmeding |
| 19:01:31 | <merijn> | tomsmeding: Usually in MUDs they'd use that for flowers/roses |
| 19:01:33 | <hpc> | all i saw was an unmatched squiggly brace |
| 19:01:42 | <merijn> | Man...I miss MUDs... |
| 19:01:44 | <dolio> | Missed an opportunity to color the rose correctly. |
| 19:01:52 | <tomsmeding> | lol I'm 22 Uniaika |
| 19:02:02 | <Uniaika> | tomsmeding: :D |
| 19:02:03 | <Uniaika> | nice |
| 19:02:06 | <merijn> | they were like MMOs, but before the massive exploitation of the modern games industry |
| 19:02:06 | <Uniaika> | some young blood |
| 19:02:07 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@66.115.189.174) |
| 19:02:08 | <tomsmeding> | I didn't have IRC in my life until recently |
| 19:02:11 | <hpc> | but it's in a comment so i guess that's fine :P |
| 19:02:14 | <[exa]> | merijn: let's waste a month playing ishar? |
| 19:02:26 | <Uniaika> | tomsmeding: I'm 25 myself |
| 19:02:52 | <merijn> | [exa]: I don't know ishar. I mostly played Aardwolf which was a *heavily* (to the point of unrecognisability) modified ROM 2.4 |
| 19:03:14 | <[exa]> | tomsmeding: Uniaika: worry not, I'm 33 and I have no idea whether there's any correlation between age and knowledge of MUDs :D |
| 19:03:16 | <merijn> | It's still up (or was a year ago), but I got kicked out of the clan :( |
| 19:03:23 | → | berberman_ joins (~berberman@unaffiliated/berberman) |
| 19:03:27 | <[exa]> | o noes |
| 19:03:27 | <Uniaika> | [exa]: :D |
| 19:03:39 | <merijn> | [exa]: I'm 34, so that's about the tail end of the MUD era in terms of age :p |
| 19:04:07 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds) |
| 19:04:30 | hackage | candid 0.1 - Candid integration https://hackage.haskell.org/package/candid-0.1 (JoachimBreitner) |
| 19:04:52 | → | alp joins (~alp@2a01:e0a:58b:4920:4e0f:6ea:5e4e:a140) |
| 19:07:13 | <[exa]> | merijn: like, my mud carreer peaked at like 16--18 |
| 19:07:30 | → | son0p joins (~son0p@181.136.122.143) |
| 19:07:33 | <merijn> | Mine probably right before WoW :p |
| 19:07:38 | <merijn> | From one drug to another ;) |
| 19:07:38 | <[exa]> | lol |
| 19:07:48 | <[exa]> | that may correspond well, yes |
| 19:07:50 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 2.9) |
| 19:07:51 | → | acidjnk_new2 joins (~acidjnk@p200300d0c719ff54e8f13b1c4a3f9bcc.dip0.t-ipconnect.de) |
| 19:10:34 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 19:10:36 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 240 seconds) |
| 19:12:32 | → | chaosmasttter joins (~chaosmast@p200300c4a72cf8017c557ee44a5933bf.dip0.t-ipconnect.de) |
| 19:12:57 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:6de0:da61:3bf0:e8b4) (Quit: Textual IRC Client: www.textualapp.com) |
| 19:15:13 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 260 seconds) |
| 19:21:26 | → | Lycurgus joins (~niemand@98.4.114.74) |
| 19:22:35 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 19:26:18 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 19:28:00 | → | Guest42 joins (56ca6780@gateway/web/cgi-irc/kiwiirc.com/ip.86.202.103.128) |
| 19:29:28 | → | ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf) |
| 19:30:25 | <Feuermagier> | %C08,13 how does one actually write in color here? |
| 19:31:46 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:32:41 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-zjfftffhhqbtimeu) |
| 19:33:32 | <hpc> | depends on the client |
| 19:33:39 | <geekosaur> | that %C thing is specific to xchat and only if color is enabled (check its settings). at low level it's control-C,and up to the client to specify how to get that (the webchat I'm using doesn't seem to support it at all) |
| 19:33:56 | <Feuermagier> | hexchat here |
| 19:35:25 | <geekosaur> | then you needto enable the color escapes. I don't recall where that is in the settings |
| 19:35:54 | <geekosaur> | (I usually edit the settings files directly while it's not running, there are a lot of settings it doesn't expose in the ui) |
| 19:36:37 | × | Lycurgus quits (~niemand@98.4.114.74) (Quit: Exeunt) |
| 19:36:40 | <Feuermagier> | IRC really has everything one could need |
| 19:37:05 | → | _linker_ joins (~linker@185.12.21.77) |
| 19:41:14 | <[exa]> | Feuermagier: pls don't color |
| 19:41:29 | × | alp quits (~alp@2a01:e0a:58b:4920:4e0f:6ea:5e4e:a140) (Ping timeout: 272 seconds) |
| 19:41:45 | <Feuermagier> | [exa], why? |
| 19:42:20 | <[exa]> | one shall typeset with a single ink, even IRC |
| 19:46:17 | Uniaika | can show why colourful IRC can be a pain :> |
| 19:46:45 | Feuermagier | is interested |
| 19:47:01 | <Uniaika> | 14,6 KIKOO FEUERMAGIER !!!!!! :o)))))))))))))))) |
| 19:47:01 | <Uniaika> | 10,3 KIKOOOOOOOOOOOO FEUERMAGIER !!!!!!!! :o)))))))))))) |
| 19:47:02 | <Uniaika> | 7,4 KIKOO FEUERMAGIER !!!!!! :o)))))))))) |
| 19:47:03 | <Uniaika> | 13,11 KIKOOOOOOO FEUERMAGIER !!!!!!!!!!!!! :o)))))))) |
| 19:47:05 | <Uniaika> | 12,2 KIKOOOOOOOOO FEUERMAGIER !!! :o)))))))))))))))) |
| 19:47:05 | × | Uniaika quits (~uniaika@163.172.211.189) (Killed (Sigyn (Spam is off topic on freenode.))) |
| 19:47:20 | Feuermagier | is amused |
| 19:47:49 | <maerwald> | lol |
| 19:47:57 | <monochrom> | Yikes Uniaika sacrified themselves to show you. |
| 19:48:10 | <Feuermagier> | how honorful |
| 19:48:25 | <Feuermagier> | may he rest in peace |
| 19:50:46 | → | Uniaika joins (~uniaika@163.172.211.189) |
| 19:50:50 | <zyklotomic> | wait woah you can do that? |
| 19:50:56 | <zyklotomic> | that worked for me, i was not ready for that |
| 19:51:14 | <merijn> | You can do that, but clearly you shouldn't >.> |
| 19:51:27 | <Uniaika> | Feuermagier: that's the last time I'm helpful :> |
| 19:51:28 | <zyklotomic> | i have never ever seen colored in my 4 (albeit short) years of irc |
| 19:51:38 | <ben_m> | what's next, embedded images, emoji and voice chat? |
| 19:51:45 | <zyklotomic> | woah woah slow down |
| 19:51:59 | <zyklotomic> | maybe a few decades down the road |
| 19:52:12 | <zyklotomic> | i don't think that's possible right now |
| 19:52:45 | <zyklotomic> | is there a clean way to compose functions that share tails? |
| 19:52:57 | <geekosaur> | some clients translate emoji |
| 19:52:57 | <zyklotomic> | f: a -> b -> c, g: b -> c -> d |
| 19:53:10 | <geekosaur> | (it's a bad idea here, it'll do weird things to code) |
| 19:53:16 | <zyklotomic> | where the b and the c arguments are the same |
| 19:53:32 | <zyklotomic> | where the tail is the head of the next* |
| 19:53:40 | <Feuermagier> | can I use emojis for variable or function names in haskell? |
| 19:53:44 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:54:03 | <maerwald> | like haskell isn't obscure enough already |
| 19:54:11 | <Uniaika> | ben_m: you could have avatars with Hexchat I think |
| 19:54:19 | <Uniaika> | emojis are already here |
| 19:54:42 | <geekosaur> | also there's emoji in unicode which probably pass through and are displayed by Unicode-capable clients |
| 19:54:45 | <merijn> | > let x ☃ y = x*y + x + y in 3 ☃ 4 -- I dunno, can you? |
| 19:54:48 | <lambdabot> | 19 |
| 19:54:59 | <geekosaur> | depends on the character class. I suspect they're symbols so would have to be operator syntax |
| 19:55:21 | <Feuermagier> | merijn, my god, what have I done... |
| 19:55:30 | <merijn> | > generalCategory '💩' |
| 19:55:32 | <lambdabot> | OtherSymbol |
| 19:55:40 | <merijn> | Symbol, so valid operator :) |
| 19:55:53 | → | jneira joins (02896ac0@gateway/web/cgi-irc/kiwiirc.com/ip.2.137.106.192) |
| 19:55:54 | <merijn> | > let x 💩 y = x*y + x + y in 3 💩 4 -- I dunno, can you? |
| 19:55:55 | → | hexfive joins (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) |
| 19:55:56 | <lambdabot> | 19 |
| 19:56:05 | <Feuermagier> | *oh god* |
| 19:56:14 | × | knupfer quits (~Thunderbi@200116b82ce1e1004151d196bd118340.dip.versatel-1u1.de) (Remote host closed the connection) |
| 19:56:16 | <zyklotomic> | oh right i was reading the other the day, almost any unicode is a valid operator |
| 19:56:21 | <merijn> | Feuermagier: For details see chapter 2 of the Haskell 2010 report :p |
| 19:56:23 | → | knupfer joins (~Thunderbi@200116b82ce1e1001cbbbad91fc51f3d.dip.versatel-1u1.de) |
| 19:56:28 | <merijn> | zyklotomic: Not really |
| 19:56:39 | <merijn> | zyklotomic: Only the unicode characters with "symbol" class |
| 19:57:06 | <merijn> | > generalCategory '∑' |
| 19:57:08 | <lambdabot> | MathSymbol |
| 19:57:15 | <Feuermagier> | 🐧 |
| 19:57:18 | <zyklotomic> | ah |
| 19:57:22 | <merijn> | > generalCategory 'Σ' |
| 19:57:23 | <lambdabot> | UppercaseLetter |
| 19:57:26 | <zyklotomic> | and then there's this abomination https://github.com/vasilevp/aboriginal lol |
| 19:57:59 | <merijn> | Note how the sum symbol is an operator, but capital sigma is a letter and thus only in function names |
| 19:59:14 | <zyklotomic> | that makes sense |
| 19:59:15 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 19:59:28 | <Feuermagier> | KDE replaces each one of those emjois with high-res color-images, which do not fit one bit into IRC |
| 19:59:31 | <zyklotomic> | i'm surprised they thought to make this distinction |
| 19:59:41 | <merijn> | zyklotomic: Fun related trivia |
| 19:59:42 | → | henninb joins (~henninb@63.226.173.161) |
| 19:59:50 | → | Tario joins (~Tario@201.192.165.173) |
| 20:00:04 | <Feuermagier> | we don't have lambda, but we have 🦙 |
| 20:00:16 | <merijn> | The fact that GHC compiles this package https://hackage.haskell.org/package/acme-lookofdisapproval-0.1/docs/Acme-LookOfDisapproval.html is technically a violation of the Haskell Report |
| 20:00:33 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 20:01:23 | <merijn> | Constructor names must start with a capital letter and non-constructor names must start with a lowercase letter or _ |
| 20:01:30 | <merijn> | Notice the flaw? |
| 20:01:47 | <gentauro> | anybody here using `xmobar`? |
| 20:02:03 | <gentauro> | I would like to hide it for one of my `workspaces` |
| 20:02:04 | <gentauro> | :) |
| 20:02:32 | <gentauro> | (by default, but maybe show it with some Xmonad shortcut) |
| 20:02:34 | <merijn> | GHC (technically wrongly) lets non-constructor names start with "non-uppercase letters or _", rather than lowercase letter of _ :p |
| 20:02:38 | <merijn> | > isUpper 'ಠ' |
| 20:02:40 | <lambdabot> | False |
| 20:02:42 | <merijn> | > isLower 'ಠ' |
| 20:02:44 | <lambdabot> | False |
| 20:03:03 | <gentauro> | merijn: you can't use lowercase greek letters for constructors |
| 20:03:04 | <merijn> | > isLetter 'ಠ' |
| 20:03:07 | <lambdabot> | True |
| 20:03:09 | <gentauro> | but you can use the uppercase |
| 20:03:43 | → | conal joins (~conal@64.71.133.70) |
| 20:03:43 | <merijn> | gentauro: 1) you can use lowercase greek letters for constructors, just not the first one, 2) I didn't say that? :) |
| 20:04:09 | <zyklotomic> | gentauro: if you want immediate relief, i think the default is modifier-b |
| 20:05:04 | <geekosaur> | gentauro, I think https://github.com/geekosaur/xmonad.hs/blob/pyanfar/xmonad.hs#L142 is as close as you get |
| 20:05:06 | <zyklotomic> | i'm not sure about how to make it a rule though |
| 20:05:15 | <zyklotomic> | oh ^ maybe geekosaur has it |
| 20:05:32 | <zyklotomic> | merijn: that is one great hidden gem lol |
| 20:05:50 | <geekosaur> | (note also the avoidStruts on the following line, for all the other workspaces) |
| 20:07:00 | <zyklotomic> | is there a way around this following pattern? "segment str . viterbi hd $ str" |
| 20:07:17 | <zyklotomic> | where str has to be used as an argument for both `segment' and `viterbi' |
| 20:08:07 | <dminuoso> | liftA2 (.) segmetn (viterbi hd) $ str |
| 20:08:12 | <dminuoso> | Not sure that's any better though. |
| 20:08:36 | <dminuoso> | Or: (.) <$> segment <*> vierbi hd $ str |
| 20:08:52 | <dminuoso> | no wait, that's not the same |
| 20:08:52 | <merijn> | or...crazy idea |
| 20:08:53 | <zyklotomic> | yeah I have liftA2 ominously imported before I asked |
| 20:08:59 | <gentauro> | geekosaur: thanks, I will give it a try :) |
| 20:09:00 | <merijn> | Write a lambda/put it into a let/where binding |
| 20:09:13 | × | daGrevis quits (~daGrevis@unaffiliated/dagrevis) (Ping timeout: 260 seconds) |
| 20:09:33 | <zyklotomic> | but is `liftA2 (.)' kinda a bit too crazy? |
| 20:09:34 | <dminuoso> | or.. it is the same. I really dislike using the monadic interface of Reader |
| 20:09:37 | <merijn> | I know, I know...it's outrageous...but it's so crazy it just might work! |
| 20:09:43 | <gentauro> | geekosaur: funny enough, it's to run a vm with `win 10` xD |
| 20:09:47 | <dminuoso> | zyklotomic: It is. |
| 20:09:48 | <zyklotomic> | i think i abuse `liftA2 (.)' too much |
| 20:10:01 | <merijn> | zyklotomic: Probably |
| 20:10:25 | <dminuoso> | One of the issues with overusing Applicative in the middle of code, is that it's sometimes not immediate obvious which instance is being used. |
| 20:10:33 | <merijn> | Here's a great tip from coming back to a huge codebase with 6 month to 1 year intervals: Putting stuff in let/where and giving stuff names is a pretty great idea |
| 20:11:01 | <merijn> | liftA2 (.) is a great way to hate yourself |
| 20:11:34 | <zyklotomic> | yeah ok, I sane-ed up a lil and deleted it |
| 20:11:42 | <zyklotomic> | thanks y'all |
| 20:11:45 | <dminuoso> | zyklotomic: Personally Id just write parens. |
| 20:11:57 | <dminuoso> | segment str (vierbi hd str) |
| 20:12:02 | <dminuoso> | perhaps with a let/where binding |
| 20:12:10 | <dminuoso> | There's no need to try and get cute her |
| 20:12:12 | → | magma joins (~magma@host-87-20-128-180.retail.telecomitalia.it) |
| 20:12:16 | <dminuoso> | It certainly doesnt *improve* readability |
| 20:12:29 | <zyklotomic> | yeah, I was just wondering if there was a way to avoid that double invoctaion of str somehow |
| 20:12:40 | <dminuoso> | zyklotomic: since its named, it will be shared anyhow. |
| 20:12:43 | → | daGrevis joins (~daGrevis@unaffiliated/dagrevis) |
| 20:12:46 | <dminuoso> | (likely) |
| 20:13:02 | <zyklotomic> | yeah, but aesthectically.... think about the a e s t h |
| 20:13:03 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 20:13:12 | <dminuoso> | aesth? |
| 20:13:25 | <zyklotomic> | i'm jokin tho /s |
| 20:13:29 | <tomsmeding> | @pf \str -> segment str (viterbi hd str) |
| 20:13:30 | <lambdabot> | Maybe you meant: pl bf |
| 20:13:33 | <tomsmeding> | @pl \str -> segment str (viterbi hd str) |
| 20:13:33 | <lambdabot> | ap segment (viterbi hd) |
| 20:14:01 | <dminuoso> | 21:10:33 merijn | Here's a great tip from coming back to a huge codebase with 6 month to 1 year intervals: Putting stuff in let/where and giving stuff names is a pretty great idea |
| 20:14:05 | <dminuoso> | This. |
| 20:14:17 | <tomsmeding> | also if you use ap, think thrice and make a sacrifice |
| 20:14:17 | <zyklotomic> | yah, i'm going to stick with that |
| 20:14:28 | <dminuoso> | There's no single better general purpose technique to improve readability than to move things into let/where bindings. |
| 20:14:37 | <dminuoso> | If the code becomes too complex, use more bindings. |
| 20:15:16 | <dsal> | A lot of my programming was in RPL ("reverse polish lisp", a forth-like language on my HP48). I almost never used variables. heh |
| 20:15:28 | <zyklotomic> | i tihnk i'm at the stage of learning in haskell where I want to know whether there are "better" ways to do what I'm doing |
| 20:15:37 | <zyklotomic> | whether going out of my way to worry about that is a worthwhile pursuit idk |
| 20:15:41 | <dsal> | Never leave that stage. |
| 20:15:48 | <tomsmeding> | zyklotomic: http://pointfree.io/ |
| 20:15:56 | <tomsmeding> | infinite supply of unreadability |
| 20:16:14 | <dsal> | But sometimes something like liftA2 is obviously beneficial. Something obscuring things doesn't help much. |
| 20:16:35 | × | magma quits (~magma@host-87-20-128-180.retail.telecomitalia.it) (Client Quit) |
| 20:16:51 | <dsal> | making things pointfree is helpful when you have `\f x -> g 3 x` or something. |
| 20:17:19 | ski | . o O ( s/pointfree/pointless/ ) |
| 20:17:35 | <tomsmeding> | hence the naming of @pl |
| 20:17:43 | <zyklotomic> | tomsmeding: ohhh |
| 20:17:55 | <dsal> | In that case, you look and see the x on both sides, and you remove it. Then you see `\f -> g 3` and then you're like, why did I even have a lambda there? |
| 20:17:56 | <dminuoso> | tomsmeding: Oh.. haha really? |
| 20:17:59 | <dminuoso> | I always wondered about that one |
| 20:18:16 | <ski> | @help pl |
| 20:18:16 | <lambdabot> | pointless <expr>. Play with pointfree code. |
| 20:18:33 | <dminuoso> | zyklotomic: I found GHC to be a great source for ideas how to make readable code |
| 20:18:50 | <dsal> | Actually, I'm being a bit dumb. But in general, you can try a couple things and whichever makes the most sense to you wins. |
| 20:18:55 | <dminuoso> | It is surprisingly readable |
| 20:19:00 | <dsal> | Also, that metric will change over time. |
| 20:19:13 | <zyklotomic> | yeah, because like idk how to describe the feeling, but the cliche adage |
| 20:19:20 | <zyklotomic> | "the more you know, the more you don't know" |
| 20:19:33 | <dminuoso> | Perhaps this is a process people need to go through |
| 20:19:50 | × | knupfer quits (~Thunderbi@200116b82ce1e1001cbbbad91fc51f3d.dip.versatel-1u1.de) (Ping timeout: 264 seconds) |
| 20:19:53 | <dminuoso> | You dont know why certain styles are unmaintainable unless you use them. Or it teaches why they could be useful |
| 20:20:02 | × | henninb quits (~henninb@63.226.173.161) (Quit: leaving) |
| 20:20:06 | <zyklotomic> | yup fair, no shortcut |
| 20:20:09 | <dminuoso> | Without it, you'd just be a victim to do whatever random folks on freenode told you |
| 20:20:38 | <geekosaur> | that said, "a little knowledge is a dangerous thing" |
| 20:21:08 | <merijn> | So is a lot of knowledge ;) |
| 20:22:17 | ski | . o O ( <https://www.vex.net/~trebla/humour/tautologies.html#6> ) |
| 20:22:34 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 20:22:34 | <merijn> | I saw Vanessa's tweet over "being the Dickens of code" and my initial reaction was "I'm the H.P. Lovecraft of code", in that my code describes a slow descent into gibbering madness that unsettles the reader and makes them question their place in the universe... >.> |
| 20:24:35 | <merijn> | monochrom: I've got an addendum to your xkcd link on that page ;) |
| 20:24:44 | × | oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 265 seconds) |
| 20:24:54 | <merijn> | monochrom: https://www.smbc-comics.com/comic/2014-09-02 |
| 20:25:43 | → | falafel__ joins (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
| 20:26:27 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
| 20:26:44 | → | guest29 joins (5f4965a4@95.73.101.164) |
| 20:28:42 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 20:29:19 | <dsal> | zyklotomic: I ask @pl for suggestions sometimes and if they're obviously better, I use them. hlint also gives good recommendations sometimes. Only rarely does it give really bad advice, IMO. |
| 20:29:42 | <zyklotomic> | yeah hlint has really helped |
| 20:29:58 | <zyklotomic> | i, just seconds ago, as a matter of fact, wondered |
| 20:30:07 | <dsal> | hlint got mad at me for using [Char] somewhere. I said what I meant. |
| 20:30:07 | <merijn> | hlint's advice is contentious :p |
| 20:30:09 | <zyklotomic> | how did I write such a clean loc, "oh wait hlint did" |
| 20:30:15 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
| 20:30:23 | <dsal> | Yeah, all opinions are bad. Code formatters can be pretty awful. |
| 20:30:23 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 20:30:48 | <dsal> | But when I had no idea what I was doing, some opinions were better than my own much of the time. |
| 20:30:49 | <dminuoso> | I dont linters at all. |
| 20:31:14 | <dminuoso> | They tend to create noise for disagreeing on my style, and then I spend more time tweaking the linter rules than it improves my code |
| 20:31:25 | <dminuoso> | Because I refuse to blindly obey hlint |
| 20:31:51 | <dsal> | I run it on occasion and it sometimes points out a dumb thing I did in refactoring. |
| 20:31:58 | <merijn> | hlint is great |
| 20:32:03 | <merijn> | If you're Neil Mitchell :) |
| 20:32:16 | <glguy> | hlint is great for adding cpp noise to your code as you block out regions that it can't handle |
| 20:32:39 | <dsal> | I think it's pretty good if you're learning and you want some degree of code review without bugging humans constantly. |
| 20:32:40 | <zyklotomic> | as long as it's easy to tell the linter to shut up where you want to? i haven't gotten to the stage where I trust my style more |
| 20:32:46 | <zyklotomic> | yeah |
| 20:32:49 | ski | . o O ( "He is also known for crediting his computer \"Shalosh B. Ekhad\" as a co-author" <https://en.wikipedia.org/wiki/Shalosh_B._Ekhad> ) |
| 20:33:03 | <glguy> | The problem with leaning on it as a new user is you don't know which suggestions are ones you should have avoided |
| 20:34:48 | <dsal> | I guess it depends on how you approach it. I never look at it to ask if my code is good. Just another opinion. Sometimes interesting ones. |
| 20:35:22 | <hpc> | the trouble with hlint is there's not much it can do to catch things that matter |
| 20:35:35 | <hpc> | compared to say, shellcheck which is almost compiler levels of valuable |
| 20:36:04 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 20:36:04 | <zyklotomic> | i think at least as a very very novice, doing things like map (\x -> x+3), it was invaluable |
| 20:36:32 | <zyklotomic> | it should get recommended more |
| 20:36:41 | → | alp joins (~alp@2a01:e0a:58b:4920:c8af:eb98:65bc:27e4) |
| 20:36:52 | <dminuoso> | zyklotomic: As you can see there's a lot of disagreement in the past few minutes already. |
| 20:36:55 | <zyklotomic> | and well, you'll know when you don't need it |
| 20:36:56 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 20:37:03 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 20:37:31 | <zyklotomic> | dminuoso: :p, well specifically from the perspective of a complete noob though |
| 20:37:48 | <[exa]> | hlint is GREAT for newbies |
| 20:38:02 | <monochrom> | hlint is a very misleading name. |
| 20:38:12 | <monochrom> | hlint is hardly comparable to C lint. |
| 20:38:14 | <[exa]> | yeah, hhint |
| 20:38:21 | <dminuoso> | At work I have a colleague who runs his python linter in the CI. So if you submit a merge request, and you use an underscore in a place that the linter things is "terrible style", it is undeployable. |
| 20:38:34 | <maerwald> | hlint is annoying in CI |
| 20:38:41 | <monochrom> | Whereas C lint points out very real mistakes, hlint is merely style nitpicking. |
| 20:38:41 | <dsal> | Yeah, it never tells me my code is wrong, just stuff like, "Hey, `fmap f . fmap g` is `fmap (f . g)` |
| 20:38:43 | <dminuoso> | So Im fairly allergic to linters. Beginners trust them too much |
| 20:38:43 | <dsal> | " |
| 20:38:48 | <sszark> | has hackage always not had a SSL certificate? or is that a mistake |
| 20:39:09 | <dminuoso> | sszark: What do you mean? The website? |
| 20:39:13 | <monochrom> | The damage is that beginners look at the name "hlint" and don't know it's a blatant lie. |
| 20:39:17 | <zyklotomic> | yah i was going to say that double fmap rule was eye opening |
| 20:39:25 | <glguy> | I agree they're annoying in CI, but if you accept the assumption that it's a good idea to use it at all it doesn't seem like a bad idea to enforce people clean up the suggestions |
| 20:39:35 | <hpc> | sszark: it just doesn't redirect to https |
| 20:39:41 | <zyklotomic> | dsal: i notice that when i'm writing javascript too now, it's crazy |
| 20:39:46 | <glguy> | having long-running lint suggestions clouds seeing the new arguably useful ones, right? |
| 20:40:14 | <sszark> | oh i see, that makes sense i guess hpc |
| 20:40:21 | <maerwald> | well, the problem is if you disagree with most hlint suggestions and the ones that I don't disagree with are not worth the time |
| 20:40:30 | <monochrom> | Like, there is a reason I write "\x -> f x" when teaching beginners. Shut up, hlint. |
| 20:40:49 | <merijn> | sszark: hackage does have SSL, but there's no autoforward |
| 20:41:00 | <monochrom> | No, actually, I should speak like hlint does. Why don't you shut the f* up, hlint. |
| 20:41:13 | <glguy> | relying on autoforward isn't a great plan. explicitly use https if that's what you want |
| 20:41:13 | <dminuoso> | Also, you should name it TLS. SSL is usually used to refer to the old versions of the protocol suite. :) |
| 20:41:14 | <merijn> | sszark: There was an email about setting up an autoforward the past week |
| 20:41:25 | <merijn> | sszark: Anyway, hackage doesn't need SSL for security anyway |
| 20:41:38 | <merijn> | (well, assuming you got cabal-install from a trusted source :p) |
| 20:42:05 | × | guest29 quits (5f4965a4@95.73.101.164) (Remote host closed the connection) |
| 20:42:09 | <maerwald> | merijn: and how do you verify the hackage index? |
| 20:42:15 | <merijn> | maerwald: It's signed |
| 20:42:33 | <maerwald> | with a human key? |
| 20:42:33 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 20:42:38 | <merijn> | maerwald: You need an uncompromised cabal-install first, but you can't download that from Hackage anyway |
| 20:42:50 | <dsal> | Transport isn't going to verify your index |
| 20:42:50 | → | triteraflops joins (~triterafl@host-148-170-141-28.public.eastlink.ca) |
| 20:43:04 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 20:43:12 | <merijn> | maerwald: Hackage uses TUF, so, eh, look up the details yourself? https://theupdateframework.io/ |
| 20:43:22 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 20:44:17 | <triteraflops> | I decided linear programming is a good idea, and would like to experiment further with it. How "ready" is linear haskell? Could it plausibly be used on a real world project without anything catching fire? |
| 20:44:38 | <merijn> | triteraflops: Considering it requires an unreleased GHC "no" :p |
| 20:44:55 | <triteraflops> | lol |
| 20:44:58 | <triteraflops> | irp |
| 20:44:59 | <triteraflops> | rip |
| 20:45:40 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 20:45:40 | <merijn> | You could, conceivably, build something non-trivial by grabbing a build from CI and using head-hackages, but it's very much a "DIY ductape and wire" kinda stage" |
| 20:46:28 | <triteraflops> | " |
| 20:47:30 | <triteraflops> | Well, what about Idris? I know I should ask #idris, but what the hey. |
| 20:47:41 | <merijn> | Does Idris even have linear types? |
| 20:47:48 | <triteraflops> | idris2 does |
| 20:50:24 | × | xsperry quits (~as@unaffiliated/xsperry) () |
| 20:50:27 | <MarcelineVQ> | there's no no-fire gurantees on any software |
| 20:50:37 | <merijn> | MarcelineVQ: Of course |
| 20:50:42 | → | Volt_ joins (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net) |
| 20:50:46 | <merijn> | MarcelineVQ: There's no guarantees for your hardware either :p |
| 20:51:07 | <merijn> | At some point you need to settle for a realistic threat model |
| 20:51:21 | <hpc> | that's the nice thing about hardware, the fires are literal |
| 20:51:24 | <merijn> | I would recommend following James Mickens' threat model :p |
| 20:52:10 | <monochrom> | Just use a nitrogen chamber. |
| 20:52:13 | <merijn> | I refer to the threat model table on page 2 of https://www.usenix.org/system/files/1401_08-12_mickens.pdf (although, in all honestly I highly recommend reading the entire thing) |
| 20:52:25 | <merijn> | s/honestly/honesty |
| 20:53:10 | <monochrom> | Use the subtraction method. s/in all// is a more efficient fix. :) |
| 20:54:30 | hackage | zio 0.1.0.2 - App-centric Monad-transformer based on Scala ZIO (UIO + ReaderT + ExceptT). https://hackage.haskell.org/package/zio-0.1.0.2 (bebarker) |
| 20:54:32 | <hpc> | oh man, that pdf is great |
| 20:55:01 | <merijn> | hpc: Good news for you |
| 20:55:13 | <merijn> | hpc: He wrote like 10 more editorials and gave several equally amazing talks |
| 20:55:38 | <merijn> | The Night Watch is especially nice if you've ever done any systems stuff |
| 20:56:18 | × | zyklotomic quits (~ethan@unaffiliated/chocopuff) (Ping timeout: 256 seconds) |
| 20:58:30 | × | LKoen quits (~LKoen@169.244.88.92.rev.sfr.net) (Remote host closed the connection) |
| 20:58:50 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 20:59:42 | × | falafel__ quits (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 260 seconds) |
| 21:00:09 | × | tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Read error: Connection reset by peer) |
| 21:01:04 | → | tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64) |
| 21:03:00 | hackage | pandoc-crossref 0.3.8.4 - Pandoc filter for cross-references https://hackage.haskell.org/package/pandoc-crossref-0.3.8.4 (lierdakil) |
| 21:03:11 | × | p-core quits (~Thunderbi@2a0e:1c80:4:1023::1004) (Ping timeout: 272 seconds) |
| 21:03:49 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 21:04:08 | <triteraflops> | I just learned about Clean. Looks like that's the way to go for building a real thing today using linear types. |
| 21:04:27 | <merijn> | Clean doesn't have linear types, I don't think? |
| 21:04:35 | <merijn> | Pretty sure they only have uniqueness types, no? |
| 21:04:41 | <ski> | correct |
| 21:04:43 | <triteraflops> | isn't that the same thing? |
| 21:04:43 | <c_wraith> | Uniqueness types are a lot more useful anyway |
| 21:04:49 | <ski> | triteraflops, nope |
| 21:04:53 | <merijn> | Although, if you wanna built CRUD applications for Windows, Clean is good ;) |
| 21:05:25 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 21:06:19 | <triteraflops> | ski: so what's the difference? |
| 21:07:21 | <c_wraith> | a linear function says "this function uses this argument exactly once". A function with a unique constraint says "this value is passed to this function and not use anywhere else" |
| 21:07:54 | <ski> | (Mercury's another language with uniqueness. although, in that case, not put into the types, but rather the "insts" (instatiation states). Rust also has stuff that is of a somewhat similar ilk) |
| 21:08:48 | <triteraflops> | hm, kind of moves the bubble over. |
| 21:09:27 | <triteraflops> | uniqueness puts constraints on other functions and linearity is a constraint only on that function |
| 21:09:38 | <ski> | triteraflops : with uniqueness, you know that the value haven't been duplicated in the past (but you're allowed to duplicate in the future). with linearity/affinity, you're promising not to duplicate it in the future (but it might already have been duplicated in the past) |
| 21:09:47 | <c_wraith> | more generally, uniqueness puts the constraint on the caller. But yes. |
| 21:11:12 | <triteraflops> | But they're kinda solving the same problem, of compile-time duplication awareness and avoidance |
| 21:11:38 | <ski> | (difference between linearity and affinity is that affinity allows you to (implicitly) discard, while linearity doesn't (you could still pass explicitly to a waste disposal facility)) |
| 21:12:18 | <triteraflops> | Then there's C++'s move semantics, which are just silly. |
| 21:12:29 | <triteraflops> | I still don't understand them. |
| 21:12:40 | <triteraflops> | too complicated |
| 21:13:34 | <[exa]> | there's no move |
| 21:14:52 | × | alx741 quits (~alx741@181.196.69.47) (Ping timeout: 260 seconds) |
| 21:15:06 | <merijn> | move semantics are ok, they're pretty straightforward it's the rvalue reference stuff that's a confusing mess :) |
| 21:15:12 | <ski> | it seems to me there's an interesting language trapped inside C++ lvalue & rvalue references, move semantics, perfect forwarding, wanting to be released |
| 21:15:35 | <c_wraith> | C++ is long past mere lvalues and rvalues. now it has a whole hierarchy |
| 21:15:40 | <merijn> | pvalues! |
| 21:15:59 | <merijn> | lvalue references, rvalue references! |
| 21:15:59 | <ski> | (wg 70 |
| 21:16:04 | <triteraflops> | copy elision |
| 21:16:08 | <merijn> | I think we have like prvalues too? |
| 21:16:15 | <triteraflops> | yeah that too |
| 21:16:25 | <merijn> | triteraflops: copy elision is obsoleted by move semantics and rvalue references |
| 21:16:43 | <triteraflops> | well, good for C++ |
| 21:16:46 | <triteraflops> | lol |
| 21:16:54 | <triteraflops> | I gave up on it a while ago |
| 21:17:04 | <[exa]> | there are 3 in fact, standard section 7.2.1 specifies just lvalue, xvalue and prvalue |
| 21:17:16 | <merijn> | move semantics are just a more formal and structured way of considering copy elision without worrying whether copy elision will trigger by the compiler, since it's now specified |
| 21:17:28 | <[exa]> | copy&move elision are completely orthogonal concepts related to function call semantics |
| 21:17:41 | <merijn> | anyhoo |
| 21:17:54 | <merijn> | This conversation is triggering, so time to stop coding/ircing ;) |
| 21:18:00 | → | knupfer joins (~Thunderbi@200116b82ce1e10028bb8f758d5216f6.dip.versatel-1u1.de) |
| 21:19:06 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 21:21:00 | → | LKoen joins (~LKoen@169.244.88.92.rev.sfr.net) |
| 21:21:40 | <triteraflops> | wth, there's like 5 people in #cleanlang. Why isn't this language more popular? |
| 21:23:38 | <merijn> | Because I think the only people using it are all at the Radboud Universiteit :p |
| 21:24:16 | <merijn> | It's mostly a research language, I don't think there's a very big community working on libraries, packages, etc. |
| 21:24:17 | <ski> | Clean isn't bad |
| 21:24:37 | <merijn> | ski: I didn't say it was, I just said it didn't have any users ;) |
| 21:24:44 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
| 21:25:01 | <merijn> | You need critical mass for libraries and you need libraries for users |
| 21:25:15 | <[exa]> | Evil me: Clean isn't popular because it didn't target the web. Realistic me: Well, yeah |
| 21:25:29 | ski | . o O ( "Recently, researchers have experimented with new I/O combinators based on monads." -- <https://web.archive.org/web/20140303101716/http://www-fp.dcs.st-and.ac.uk/%7Ekh/papers/io-tutorial/io-tutorial.html> ) |
| 21:25:56 | <merijn> | Every year at the NL-FP day we still have the mandatory one or two Clean talks :p |
| 21:26:28 | <dsal> | How many days of dirty talks? |
| 21:26:52 | <ski> | merijn : ah, sorry. i didn't mean that to sound like being an opposing point to what you said, just as a general sentiment response to triteraflops |
| 21:28:11 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 21:28:15 | × | coot quits (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 21:28:45 | × | gproto23 quits (~gproto23@unaffiliated/gproto23) (Ping timeout: 256 seconds) |
| 21:28:50 | → | Tario joins (~Tario@201.192.165.173) |
| 21:29:57 | → | conal joins (~conal@64.71.133.70) |
| 21:32:09 | <ski> | Clean has an interesting integration of `Dynamic' with pattern-matching, allowing them to trivially implement e.g. `dynApply'; <https://clean.cs.ru.nl/download/html_report/CleanRep.2.2_10.htm#_Toc311798086> |
| 21:32:54 | <monochrom> | As a general heuristic, if you language doesn't use C syntax, it won't be popular. |
| 21:33:15 | <merijn> | monochrom: SQL? :P |
| 21:33:50 | <monochrom> | Hey, that's a great idea, perhaps the no-sql movement started with hating SQL syntax! |
| 21:33:52 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:35:05 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 21:35:09 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
| 21:35:13 | <monochrom> | Also it's just a heuristic. Python deviates partly from C syntax, and it's still popular. Although, Python probably shows you the largest extent of deviation you can afford. |
| 21:36:17 | <monochrom> | Namely, if you still stick to the "f(x,y,z)" syntax, if you only replace {;} by layout, you will be OK. |
| 21:36:53 | <monochrom> | Whereas Lisp's "(f x y z)" and SML's "f x y z" prove to be going too far. |
| 21:39:51 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 21:41:34 | <ski> | perhaps we just have to draw it out more |
| 21:41:49 | × | Volt_ quits (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net) (Quit: ) |
| 21:41:54 | → | alx741 joins (~alx741@186.178.110.117) |
| 21:43:38 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 21:44:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 21:44:33 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds) |
| 21:45:39 | → | p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 21:46:53 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 21:49:40 | → | p-core1 joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 21:49:56 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit) |
| 21:49:56 | p-core1 | is now known as p-core |
| 21:53:34 | × | Franciman quits (~francesco@host-79-27-199-238.retail.telecomitalia.it) (Quit: Leaving) |
| 21:54:15 | <c_wraith> | I think this is why codeworld doesn't expose the Prelude at all. It provides a set of base functionality that uncurries everything so that people don't have to not use commas |
| 21:57:10 | <ski> | :( |
| 22:00:18 | × | tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 272 seconds) |
| 22:01:34 | <monochrom> | Haha this is great. My wild guess theory is right on. |
| 22:02:17 | <monochrom> | Perhaps I really understand human nature! Long live cynicism! |
| 22:05:02 | → | Fractalis joins (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
| 22:07:49 | → | tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
| 22:08:13 | × | dfaiv quits (44f9e9e4@68-249-233-228.lightspeed.okcbok.sbcglobal.net) (Remote host closed the connection) |
| 22:09:30 | hackage | timerep 2.0.1.0 - Parse and display time according to some RFCs (RFC3339, RFC2822, RFC822) https://hackage.haskell.org/package/timerep-2.0.1.0 (koral) |
| 22:10:32 | × | knupfer quits (~Thunderbi@200116b82ce1e10028bb8f758d5216f6.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 22:10:38 | <maerwald> | I wonder how long the haskell survey results take |
| 22:10:48 | <maerwald> | it's been a week since it's closed I think |
| 22:12:55 | → | Tops2 joins (~Tobias@dyndsl-095-033-092-149.ewe-ip-backbone.de) |
| 22:16:32 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 22:16:46 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 272 seconds) |
| 22:17:33 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:18:04 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
| 22:19:14 | → | inkbottle joins (~inkbottle@aaubervilliers-654-1-104-55.w86-212.abo.wanadoo.fr) |
| 22:19:48 | → | GuerrillaMonkey joins (~Jeanne-Ka@66.115.189.194) |
| 22:20:40 | × | jneira quits (02896ac0@gateway/web/cgi-irc/kiwiirc.com/ip.2.137.106.192) (Ping timeout: 256 seconds) |
| 22:21:40 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@66.115.189.174) (Ping timeout: 246 seconds) |
| 22:22:11 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 22:26:32 | × | GuerrillaMonkey quits (~Jeanne-Ka@66.115.189.194) (Ping timeout: 265 seconds) |
| 22:28:16 | × | inkbottle quits (~inkbottle@aaubervilliers-654-1-104-55.w86-212.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
| 22:28:57 | × | mrchampion quits (~mrchampio@216-26-218-246.dynamic.tbaytel.net) (Ping timeout: 265 seconds) |
| 22:29:24 | × | chaosmasttter quits (~chaosmast@p200300c4a72cf8017c557ee44a5933bf.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
| 22:31:40 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Quit: leaving) |
| 22:34:27 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 22:34:59 | → | mrchampion joins (~mrchampio@216-26-218-246.dynamic.tbaytel.net) |
| 22:36:02 | → | cheater joins (~user@unaffiliated/cheater) |
| 22:36:17 | × | alp quits (~alp@2a01:e0a:58b:4920:c8af:eb98:65bc:27e4) (Ping timeout: 272 seconds) |
| 22:37:22 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 22:38:56 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 22:40:28 | → | cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
| 22:41:00 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 22:44:44 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:45:37 | <texasmynsted> | sounds like somebody needs to write a haskell program to tabulate the results |
| 22:48:27 | × | sondr3_ quits (~sondr3@cm-84.211.56.132.getinternet.no) (Quit: Leaving) |
| 22:49:00 | → | conal joins (~conal@64.71.133.70) |
| 22:50:22 | × | Fractalis quits (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Quit: Leaving) |
| 22:50:23 | → | avoandmayo joins (~textual@122-58-109-105-adsl.sparkbb.co.nz) |
| 22:50:41 | → | redmp joins (~redmp@mobile-166-137-178-147.mycingular.net) |
| 22:51:08 | <redmp> | is there a way to define a relation on types, such that i can query either side and get the other? |
| 22:51:16 | → | Fractalis joins (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) |
| 22:51:40 | <redmp> | i'm contemplating storing a list of pairs of types and then defining lookup for the left item and lookup for the right item.. |
| 22:53:05 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:53:40 | <texasmynsted> | redmp: How would you use this? I am curious |
| 22:54:02 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 260 seconds) |
| 22:55:29 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds) |
| 22:55:30 | <texasmynsted> | You could make a list of two-item ring buffers. |
| 22:56:21 | <texasmynsted> | hmm. maybe that is not helpful. I really do not know what you want to do |
| 22:56:30 | hackage | rowdy-yesod 0.0.1.1 - An EDSL for web application routes. https://hackage.haskell.org/package/rowdy-yesod-0.0.1.1 (parsonsmatt) |
| 22:56:49 | <ski> | redmp : how about a multi-parameter type class (possibly with functional dependencies) ? |
| 22:56:53 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 22:57:32 | × | Alleria_ quits (~AllahuAkb@2604:2000:1484:26:b060:c081:3394:137) (Ping timeout: 260 seconds) |
| 22:58:06 | <redmp> | ah, sorry, i was unclear.. the querying is a type level thing. I'm going to be querying at compile time |
| 22:58:20 | → | Alleria_ joins (~AllahuAkb@2604:2000:1484:26:b060:c081:3394:137) |
| 22:59:06 | <ski> | so do you think MPTCs, perhaps with FDs, could be helpful ? |
| 22:59:37 | <redmp> | it might be? i'm not usually very successful when i try to use MPTCs |
| 22:59:59 | <redmp> | i was thinking of a type level list and a type level lookup function because i think of that as being simpler |
| 23:00:05 | <redmp> | MPTC would be nice because it's open |
| 23:00:42 | × | cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
| 23:00:59 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-104-55.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 23:02:38 | × | tremon quits (~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 23:03:50 | <ski> | i guess it depnds on how you're intending to use it, as texasmynsted said |
| 23:04:20 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 23:05:12 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-104-55.w86-212.abo.wanadoo.fr) |
| 23:06:07 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 246 seconds) |
| 23:06:48 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
| 23:06:56 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 23:07:06 | <redmp> | err, i'm trying to represent a relation between types as a type family so that i can type some functions in terms of each domain from the other.. ie. FooOf BarType would give me the FooType from the Foo domain which corresponds to BarType... and then i could also say BarOf FooType to get back |
| 23:08:04 | × | vancz quits (~vancz@unaffiliated/vancz) (Ping timeout: 272 seconds) |
| 23:08:04 | × | pie_ quits (~pie_bnc]@unaffiliated/pie-/x-0787662) (Ping timeout: 272 seconds) |
| 23:08:16 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds) |
| 23:09:15 | → | pie_ joins (~pie_bnc]@unaffiliated/pie-/x-0787662) |
| 23:09:15 | → | vancz joins (~vancz@unaffiliated/vancz) |
| 23:09:48 | → | dftxbs3e joins (~dftxbs3e@unaffiliated/dftxbs3e) |
| 23:12:04 | × | unlink_ quits (~unlink2@p57b85d53.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 23:12:19 | → | unlink_ joins (~unlink2@p200300ebcf179a00278fd81c0246cc89.dip0.t-ipconnect.de) |
| 23:12:35 | <redmp> | and then i can say things like `toFoo :: a -> FooOf a` and `fromFoo :: FooOf a -> a` or something |
| 23:12:55 | <redmp> | those would have to be typeclass methods, i think |
| 23:16:00 | × | dftxbs3e quits (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
| 23:17:13 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 23:17:16 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 23:18:17 | × | Tops2 quits (~Tobias@dyndsl-095-033-092-149.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 23:18:23 | × | son0p quits (~son0p@181.136.122.143) (Quit: leaving) |
| 23:19:29 | → | dftxbs3e joins (~dftxbs3e@unaffiliated/dftxbs3e) |
| 23:19:44 | <ski> | redmp : hm, you could have injectivity to ensure it's invertible. however, i wonder if there's a nice way to ensure that `FooOf' is the inverse of `BarOf' |
| 23:20:16 | <ski> | yea. you're probably looking at associated type families, then |
| 23:20:48 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds) |
| 23:21:02 | × | mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer) |
| 23:21:53 | → | conal joins (~conal@64.71.133.70) |
| 23:22:26 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 23:24:09 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 23:27:24 | × | aj2 quits (~aj@193.56.252.12) (Remote host closed the connection) |
| 23:27:29 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 23:28:45 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
| 23:29:09 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 23:30:25 | <ski> | class (a ~ FooOf (BarOf a),Bar (BarOf a)) => Foo a where type BarOf a = b | b -> a; toBar :: a -> BarOf a; fromBar :: BarOf a -> a; toBar = fromFoo; fromBar = toFoo |
| 23:30:28 | <ski> | class (b ~ BarOf (FooOf b),Foo (FooOf b)) => Bar b where type FooOf b = a | a -> b; toFoo :: b -> FooOf b; fromFoo :: FooOf b -> b; toFoo = fromBar; fromFoo = toBar |
| 23:30:47 | <ski> | redmp : i wonder whether something like that could be helpful ? |
| 23:31:12 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Remote host closed the connection) |
| 23:32:39 | <redmp> | https://termbin.com/5l4q |
| 23:32:41 | → | conal joins (~conal@64.71.133.70) |
| 23:32:43 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 23:32:59 | <redmp> | ^ this implements the list approach that i described |
| 23:33:09 | <redmp> | taking a look at your class based approach now.. |
| 23:34:24 | <redmp> | oh wow, ski, those classes convey the whole embedding/extraction thing |
| 23:38:41 | <ski> | (i used `TypeFamilies',`TypeFamilyDependencies',`FlexibleContexts',`UndecidableSuperClasses') |
| 23:39:19 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 23:39:33 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:39:35 | → | hekkaidekapus[ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 23:40:01 | × | Fractalis quits (~Fractalis@2601:987:280:8d40:eda9:f9e1:2072:cea7) (Quit: Leaving) |
| 23:40:45 | → | sfvm joins (~sfvm@37.228.215.148) |
| 23:41:23 | × | hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 23:44:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 23:44:50 | × | yahb quits (xsbot@haskell/bot/yahb) (Ping timeout: 265 seconds) |
| 23:44:58 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 246 seconds) |
| 23:45:15 | → | yahb joins (xsbot@haskell/bot/yahb) |
| 23:47:17 | → | fimp joins (~fimp@217.151.98.168) |
| 23:49:06 | → | alp joins (~alp@2a01:e0a:58b:4920:1cfa:109c:d72:5dd) |
| 23:51:23 | × | et09 quits (~et09@unaffiliated/endolphin) (Remote host closed the connection) |
| 23:54:25 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@171.5.161.165) |
| 23:57:11 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
All times are in UTC on 2020-11-21.