Logs on 2022-02-20 (liberachat/#haskell)
| 00:00:20 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 00:01:04 | × | acidjnk quits (~acidjnk@p200300d0c7363f90cc2edb7570cac520.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 00:03:26 | → | alx741 joins (~alx741@157.100.197.240) |
| 00:04:38 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 00:06:49 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 00:07:48 | × | jtomas quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 240 seconds) |
| 00:08:55 | → | lavaman joins (~lavaman@98.38.249.169) |
| 00:09:27 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 00:12:57 | × | max22- quits (~maxime@2a01cb088335980000d616136ecfccf9.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:13:57 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 00:16:41 | × | DNH quits (~DNH@2a02:8108:1100:16d8:682c:7604:30f7:a4ea) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:17:19 | travisb | is now known as tabemann |
| 00:20:58 | → | DNH joins (~DNH@2a02:8108:1100:16d8:682c:7604:30f7:a4ea) |
| 00:23:28 | → | alx741 joins (~alx741@157.100.197.240) |
| 00:26:26 | × | thyriaen quits (~thyriaen@dynamic-078-055-141-021.78.55.pool.telefonica.de) (Quit: Leaving) |
| 00:26:50 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 00:30:54 | → | acidjnk joins (~acidjnk@p200300d0c7363f905d1e0b81e1ec2707.dip0.t-ipconnect.de) |
| 00:37:10 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:38:02 | × | iteratee quits (~kyle@162.218.222.107) (Read error: Connection reset by peer) |
| 00:38:03 | → | iteratee_ joins (~kyle@162.218.222.107) |
| 00:40:25 | × | mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Remote host closed the connection) |
| 00:40:51 | → | mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7) |
| 00:43:28 | → | alx741 joins (~alx741@181.199.42.143) |
| 00:43:31 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 00:47:57 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 00:48:03 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 00:48:11 | × | Tuplanolla quits (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:52:57 | → | Me-me joins (~me-me@user/me-me) |
| 00:53:31 | <Me-me> | Yes hello I do not know how to read haskell, and I would like some help reading this haskell code. |
| 00:54:06 | <Me-me> | https://paste.debian.net/1231570/ |
| 00:56:59 | <pavonia> | Any specific questions? |
| 00:57:30 | <Me-me> | Sure. Lines 7 and 8, what th' heck are they? variable declarations, but... how? |
| 00:58:15 | <Me-me> | And what? |
| 00:58:35 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:59:22 | <pavonia> | `c n k` defines a function c with two parameters n and k |
| 00:59:40 | <pavonia> | like `function c(n, k)` in JavaScript, for example |
| 00:59:52 | <Me-me> | Ah, okay, that's just saying how to do combinatorics. Sure. |
| 01:00:12 | <pavonia> | Haskell uses whitespace for separating arguments |
| 01:00:19 | <Me-me> | So then on line 13 where it says (among other things) c (n - 1) (k - 1) it's running c for those two numbers. |
| 01:00:38 | <pavonia> | Right |
| 01:00:43 | → | Topsi joins (~Tobias@95.33.25.255) |
| 01:00:47 | <Me-me> | But wait, then how is it defining c twice? |
| 01:01:03 | <Me-me> | Ohh I get it, overloadinng. Sure. |
| 01:01:32 | <pavonia> | It's a single definition, but spilt into several cases |
| 01:01:44 | <pavonia> | Line 7 is the definition for k=0 |
| 01:02:00 | <Me-me> | Next question! Line 11, it's defining a mapper, that's fine, but I have no idea what k = sum $ do means, or how it fits into the rest of the mapper. |
| 01:03:14 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 01:03:26 | <pavonia> | Hhm, that's a bit complicated to explain if you are not familiar with monads |
| 01:03:59 | <Me-me> | Uhhhhh Leibniz? |
| 01:04:01 | <pavonia> | $ is just function application, so it's sum(...) where ... is a list build from a monadic action |
| 01:04:17 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 01:04:30 | <pavonia> | https://en.wikipedia.org/wiki/Monad_(functional_programming) |
| 01:04:52 | → | alx741 joins (~alx741@157.100.197.240) |
| 01:05:29 | <Me-me> | Okay ... so k is just the sum of the results of the loop comprising lines 12-18, right? |
| 01:06:01 | <pavonia> | No, the result of pie applied to k is the sum |
| 01:06:01 | <Me-me> | No, that doesn't make sense... |
| 01:06:21 | <pavonia> | pie(k) = sum(...) |
| 01:06:31 | <Me-me> | Right, another argument. |
| 01:08:58 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 01:09:06 | <Me-me> | Okay... So n is the amount of different values in ns. Easy. What is "fromIntegral"? |
| 01:09:26 | <pavonia> | That whole do-block is a bit like another list comprehension where `return` specifies how the return values look like |
| 01:09:48 | <pavonia> | :t fromIntegral |
| 01:09:49 | <lambdabot> | (Integral a, Num b) => a -> b |
| 01:10:01 | <Me-me> | So it's casting? |
| 01:10:06 | <pavonia> | It converts between different number types |
| 01:10:10 | <Me-me> | Got it. |
| 01:10:24 | <pavonia> | Explicity casting, so to say |
| 01:10:30 | <pavonia> | -y |
| 01:10:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:14:01 | <Me-me> | And then the number it's casting is the sum of ... c(length(ns)-1, k-1), which is a positive if k is even and a negative if k is odd (is that just another way of saying abs?), plus all the numbers between l and k and all the numbers between 0 and l. |
| 01:14:38 | <Me-me> | Which are two separate things because... sometimes a <- [a..b] can be invalid? |
| 01:16:06 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 01:16:16 | <Me-me> | Is that right? |
| 01:16:45 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:55 | <pavonia> | [ e | x <- list ] is a mapping of values (with possible filtering) and means "take all the values from list, bind each respective value to the variable x and add a new element e to the result list. e can use the value x to form the new value |
| 01:19:34 | <Me-me> | Okay now I'm confused again. |
| 01:19:45 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:20:30 | <Me-me> | In your words, what is line 13 doing? |
| 01:20:36 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 01:21:11 | × | capo_greco quits (~textual@60-241-161-167.static.tpgi.com.au) (Quit: Textual IRC Client: www.textualapp.com) |
| 01:24:48 | <pavonia> | For each l = 0..k calculate the sum of all values (-1)^(k' - l) * c (n - l) (k' - l) for each k' from k..l |
| 01:24:58 | <pavonia> | Does that make sense? |
| 01:25:24 | <Me-me> | No. |
| 01:25:25 | <pavonia> | It's extra confusing as they are using another valuable k for the inner "loop", shadowing the function parameter k |
| 01:25:39 | <Me-me> | Yeah the namespace is bothering me but I think I have a grip on it. |
| 01:26:03 | → | alx741 joins (~alx741@181.199.42.143) |
| 01:27:07 | <Me-me> | Okay let's ignore that part for now. |
| 01:27:39 | × | jgeerds quits (~jgeerds@55d4b9df.access.ecotel.net) (Ping timeout: 256 seconds) |
| 01:27:40 | <Me-me> | ns' <- subsequences ns. I looked up subsequences and I figured out that it's grabbing the different combinations of ns. |
| 01:28:38 | <Me-me> | And the original writer said that it's doing a thing to each of those combinations. |
| 01:28:55 | <Me-me> | What lines are the thing that it is doing? |
| 01:29:37 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 01:29:58 | <pavonia> | Line 13 is basically this https://bpa.st/3CBA |
| 01:30:29 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
| 01:30:31 | <pavonia> | s/ws.add/ws.append/ |
| 01:30:37 | × | DNH quits (~DNH@2a02:8108:1100:16d8:682c:7604:30f7:a4ea) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:30:45 | <Me-me> | Same dif, it's wrapped in sum. |
| 01:30:47 | <Me-me> | I assume that's javascript? |
| 01:31:22 | <pavonia> | It's pseudo code |
| 01:31:35 | <Me-me> | Okay sure. |
| 01:32:02 | <pavonia> | > subsequences "abcd" |
| 01:32:04 | <lambdabot> | ["","a","b","ab","c","ac","bc","abc","d","ad","bd","abd","cd","acd","bcd","a... |
| 01:32:59 | <pavonia> | It selects each element from that list and binds the current value to ns' |
| 01:33:16 | <Me-me> | Current based on what? |
| 01:33:32 | <pavonia> | On the iteration through that list |
| 01:33:42 | <Me-me> | Okay, and what is it doing to each iteration? |
| 01:34:34 | <pavonia> | What is specified after the return |
| 01:35:06 | <pavonia> | guard adds some filtering to ignore values |
| 01:35:25 | <Me-me> | I thought the return was the return value to be summed up by pie. |
| 01:35:30 | <pavonia> | > do { x <- [1,2,3]; guard (odd x); return x } |
| 01:35:32 | <lambdabot> | [1,3] |
| 01:36:05 | <pavonia> | No, the result value for pie is that sum |
| 01:36:26 | <Me-me> | I thought the sum was summing the results of the return value. What's it summing? |
| 01:37:20 | <pavonia> | That do-block builds a new lst form scratch, sum sums that new list |
| 01:37:41 | × | scav quits (sid309693@id-309693.helmsley.irccloud.com) (Ping timeout: 250 seconds) |
| 01:37:49 | → | scav joins (sid309693@id-309693.helmsley.irccloud.com) |
| 01:38:14 | <pavonia> | Everything from l. 12-18 describes how to build that new list |
| 01:38:40 | <pavonia> | return ... specifies how each element looks like |
| 01:38:58 | <pavonia> | The ... <- ... portions define there the elements come from |
| 01:39:14 | <pavonia> | plus some extra filtering done by guard |
| 01:39:30 | × | k8yun quits (~k8yun@user/k8yun) (Ping timeout: 256 seconds) |
| 01:40:13 | <Me-me> | How many nested loops are there here? |
| 01:40:31 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 01:41:14 | <pavonia> | `ns' <- subsequences ns` is the "main loop" |
| 01:41:20 | <Me-me> | Right. |
| 01:41:27 | <pavonia> | plus two nested loops for calculating ws |
| 01:41:33 | <Me-me> | And for each of those it's executing lines 15-18 |
| 01:41:57 | <pavonia> | Yes |
| 01:42:51 | <Me-me> | And the results are being summed up in line 11? |
| 01:43:02 | <Me-me> | The results of ns' <- subsequences |
| 01:43:51 | → | zachel joins (~zachel@user/zachel) |
| 01:44:09 | <pavonia> | Yeah, the results of that main loop |
| 01:44:24 | × | ofl^ quits (~ofl@50.233.120.162) (Remote host closed the connection) |
| 01:44:26 | <Me-me> | Okay. |
| 01:45:16 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 01:45:29 | <Me-me> | % still means modulo in haskell right? |
| 01:45:30 | <yahb> | Me-me: ; <interactive>:80:20: error: parse error on input `in' |
| 01:45:36 | <Me-me> | Ahh! |
| 01:45:42 | Me-me | dives for cover |
| 01:46:31 | → | alx741 joins (~alx741@157.100.197.240) |
| 01:46:57 | <pavonia> | Nah, a % b is a rational number a / b :p |
| 01:47:05 | <Me-me> | Okay. |
| 01:47:50 | <Me-me> | So yes. It's inverting the odds of getting 5 or fewer colours of marbles. Excellent. |
| 01:48:21 | <Me-me> | line 13 is the only remaining mystery. |
| 01:48:30 | <Me-me> | But I will take a break before attempting that again. |
| 01:48:35 | <Me-me> | Thank you for all the assistance so far. |
| 01:48:58 | <pavonia> | No problem |
| 01:49:59 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 01:50:16 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:51:15 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 01:54:48 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 02:02:35 | <FernandoChu[m]> | isn't it kind of redundant for newtypes to have constructors? not sure about this but it seems to me that removing the constructor wouldn't cause any ambiguity as the types can be inferred |
| 02:04:51 | <ski> | how would you distinguish between the definiendum and the definiens, the defined type, and the type it's defined in terms of (the representation type) ? |
| 02:05:56 | <ski> | (also, what if it's a recursive `newtype' ?) |
| 02:07:01 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 245 seconds) |
| 02:07:27 | → | alx741 joins (~alx741@157.100.197.240) |
| 02:08:36 | <FernandoChu[m]> | I think the first one should be possible to be honest, but I don't know enough to give a decent answer, but with recursion I'm convinced that it can't |
| 02:08:38 | <FernandoChu[m]> | thanks |
| 02:10:04 | <int-e> | FernandoChu[m]: If you have newtype Foo a = {-Foo-} a and f :: a -> Foo a; f x = id x, do you apply id to Foo x, or do you do Foo (id x)? Note that if you use a class member like `succ` then this will affect semantics. |
| 02:10:50 | <int-e> | "can be inferred" isn't really true when there's polymorphic types everywhere. |
| 02:11:52 | <int-e> | pavonia: ah, sorry for that terrible piece of code up there :P (fwiw, `c` computes binomial coefficients. The rest is... complicated, still don't really want to explain it in detail.) |
| 02:13:04 | <FernandoChu[m]> | int-e: shouldn't there be some free theorem that essentially it doesn't matter though? I know that is just an example but I think that in cases like this both should be equal (assuming Eq a) |
| 02:13:21 | → | dsrt^ joins (~dsrt@50.233.120.162) |
| 02:13:50 | <int-e> | No there isn't. You could have an "opposite" instance for Enum that swaps the roles of succ and pred. |
| 02:14:02 | <int-e> | We do have such a thing for Ord. |
| 02:15:10 | × | waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
| 02:15:30 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 02:18:56 | <FernandoChu[m]> | hmm I'm not really getting how, could you please give an example? |
| 02:23:43 | <int-e> | FernandoChu[m]: https://paste.debian.net/1231573/ ...note that under your proposal, f1 and f2 would be syntactically the same. |
| 02:24:58 | <FernandoChu[m]> | brilliant! thank you |
| 02:25:23 | <int-e> | it's worth noting that this kind of thing, providing alternative type class implementations, is a common use case of newtypes |
| 02:27:20 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:30:09 | × | marquis_andras quits (~marquis_a@124.170.160.147) (Remote host closed the connection) |
| 02:31:55 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 02:33:50 | → | alx741 joins (~alx741@157.100.197.240) |
| 02:34:22 | <pavonia> | int-e: Can you explain in simple words what that pie function does? |
| 02:35:03 | <Me-me> | Yes hello I am interested also. |
| 02:35:14 | <Me-me> | pavonia: I can tell you its intent, just not exactly how it does it. |
| 02:35:51 | <Me-me> | "If you have a bag of marbles, each of which is one of 15 colours, and you pull n marbles from it at random, what are the odds that you get 6 or more colours in the marbles you pull?" |
| 02:35:56 | × | c209e6dc-4d76-47 quits (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!) |
| 02:36:24 | <Me-me> | The algorithm is supposed to calculate the odds of each possible combination of getting 5 or fewer colours. |
| 02:36:32 | <pavonia> | Ah, that was for that ##math question earlier |
| 02:36:35 | <Me-me> | Yeh. |
| 02:37:01 | <Me-me> | Binomial coefficients, he says. |
| 02:37:16 | <Me-me> | I have no idea what that is but I think there's a function for it in excel. |
| 02:37:16 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 02:38:20 | <pavonia> | It's this (n k) thing |
| 02:38:35 | <pavonia> | n over k |
| 02:38:46 | → | Null_A joins (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) |
| 02:38:58 | <Me-me> | Yeah I just don't know how it factors into the greater algorithm. |
| 02:39:12 | × | Topsi quits (~Tobias@95.33.25.255) (Read error: Connection reset by peer) |
| 02:39:45 | <pavonia> | The binomial coefficient is just function c |
| 02:39:55 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 02:40:09 | <Me-me> | I understand what part of the code represents something called a "binomial coefficient". |
| 02:40:34 | <Me-me> | I can even mostly follow the math of that function. I do not know how that is necessary to the end result. |
| 02:40:35 | <pavonia> | Okay :p |
| 02:40:46 | <Me-me> | :P |
| 02:40:55 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 02:42:27 | <pavonia> | (n k) is the number of ways to choose k elements from a set of n elements |
| 02:42:39 | <Me-me> | So it is combinatorics. |
| 02:43:00 | × | Null_A quits (~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds) |
| 02:46:28 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 02:47:55 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 02:48:57 | × | xff0x quits (~xff0x@2001:1a81:52c9:2700:c4c8:f455:66db:3020) (Ping timeout: 240 seconds) |
| 02:51:08 | → | xff0x joins (~xff0x@2001:1a81:5301:6400:24c5:5158:4f07:abb5) |
| 02:53:53 | → | alx741 joins (~alx741@181.199.42.143) |
| 02:56:30 | <yushyin> | hi Me-me ;) |
| 02:56:34 | <Me-me> | Tsup. |
| 02:57:02 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 03:02:10 | × | zachel quits (~zachel@user/zachel) (Quit: Quit: Leaving!) |
| 03:02:39 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 03:03:22 | → | alx741 joins (~alx741@181.199.42.143) |
| 03:05:36 | → | zachel joins (~zachel@user/zachel) |
| 03:05:51 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Remote host closed the connection) |
| 03:05:58 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 03:06:00 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Remote host closed the connection) |
| 03:06:08 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 03:06:46 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 03:11:37 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 03:15:18 | × | Ariakenom_ quits (~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) (Quit: Leaving) |
| 03:16:07 | × | ubert quits (~Thunderbi@5.253.207.46) (Ping timeout: 256 seconds) |
| 03:18:15 | → | ubert joins (~Thunderbi@86.107.21.238) |
| 03:18:40 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 03:22:21 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 03:23:41 | → | alx741 joins (~alx741@157.100.197.240) |
| 03:25:17 | × | td_ quits (~td@94.134.91.184) (Ping timeout: 240 seconds) |
| 03:25:20 | <Sqaure> | Are Profunctors widely used? Looking at base instances and the only type i remember seeing having one is Arrow. |
| 03:27:20 | → | td_ joins (~td@94.134.91.130) |
| 03:27:21 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 03:37:59 | × | acidjnk quits (~acidjnk@p200300d0c7363f905d1e0b81e1ec2707.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 03:38:47 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 03:42:51 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 03:44:04 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 03:45:04 | → | alx741 joins (~alx741@157.100.197.240) |
| 03:45:55 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 03:46:48 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 03:46:48 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 03:46:48 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:48:12 | × | modnar quits (~modnar@shell.sonic.net) (Quit: No Ping reply in 180 seconds.) |
| 03:48:37 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 03:49:29 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 03:50:16 | → | modnar joins (~modnar@shell.sonic.net) |
| 03:52:21 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 03:52:36 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:57:00 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 04:01:58 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 04:02:33 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 04:02:58 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 04:06:26 | → | alx741 joins (~alx741@181.199.42.143) |
| 04:07:24 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 04:10:16 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 04:10:56 | → | alx741 joins (~alx741@157.100.197.240) |
| 04:11:05 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 04:13:39 | → | deadmarshal joins (~deadmarsh@95.38.118.170) |
| 04:16:46 | × | haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 04:17:11 | → | haasn joins (~nand@haasn.dev) |
| 04:19:18 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 04:19:23 | → | cynomys joins (~cynomys@user/cynomys) |
| 04:30:09 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 04:34:52 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 04:36:21 | <random-jellyfish> | is there a difference in speed between LL and LR parsers? |
| 04:36:41 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 04:37:24 | → | alx741 joins (~alx741@157.100.197.240) |
| 04:41:41 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 04:41:58 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 04:44:06 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 04:49:10 | → | deadmarshal_ joins (~deadmarsh@95.38.4.150) |
| 04:50:37 | × | deadmarshal quits (~deadmarsh@95.38.118.170) (Ping timeout: 272 seconds) |
| 04:51:13 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 04:51:13 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 04:51:53 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 04:53:23 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 04:55:30 | → | Welkin joins (~Welkin@216.243.35.47) |
| 04:55:37 | <Welkin> | So is this like Liberia? |
| 05:03:13 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 05:04:10 | ← | Welkin parts (~Welkin@216.243.35.47) () |
| 05:04:42 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 05:07:27 | → | alx741 joins (~alx741@157.100.197.240) |
| 05:08:46 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 05:08:46 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 05:08:46 | → | wroathe joins (~wroathe@user/wroathe) |
| 05:11:31 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 05:12:20 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 05:12:58 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 05:13:42 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 05:21:11 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 05:22:29 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 05:24:17 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 05:24:32 | → | deadmarshal joins (~deadmarsh@95.38.116.229) |
| 05:25:00 | × | deadmarshal_ quits (~deadmarsh@95.38.4.150) (Ping timeout: 240 seconds) |
| 05:25:47 | → | c209e6dc-4d76-47 joins (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) |
| 05:27:57 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
| 05:28:54 | <jackdk> | Sqaure: they show up a lot in Opaleye (+ some other abstractions), but are generally quite useful if you find yourself with values that represent some "thing" with an input and an output |
| 05:29:39 | <Sqaure> | jackdk, Good to know. Thanks |
| 05:30:34 | <jackdk> | If you are trying to form a list of what things to learn when, you can defer them for a while |
| 05:31:06 | <jackdk> | oh, and the choice subclass of profunctor is used in the implementation of prisms, once you get into lens |
| 05:34:47 | <Sqaure> | allright! Well used both lens and optics a bunch so i guess they are worth knowing about at least. |
| 05:35:46 | → | analognoise joins (~analognoi@91.196.220.77) |
| 05:37:29 | → | alx741 joins (~alx741@157.100.197.240) |
| 05:40:55 | × | modnar quits (~modnar@shell.sonic.net) (Quit: No Ping reply in 180 seconds.) |
| 05:43:18 | → | modnar joins (~modnar@shell.sonic.net) |
| 05:46:21 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 05:46:21 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 05:47:49 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 05:51:38 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Quit: Client closed) |
| 05:53:05 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 05:54:04 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:01:03 | → | caimeo joins (uid540603@id-540603.lymington.irccloud.com) |
| 06:04:07 | → | alx741 joins (~alx741@181.199.42.143) |
| 06:06:23 | <jackdk> | you can use prisms without understanding profunctors, it was just another example |
| 06:15:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 06:17:58 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 06:18:35 | → | alx741 joins (~alx741@157.100.197.240) |
| 06:20:04 | × | cynomys quits (~cynomys@user/cynomys) (Quit: Lost terminal) |
| 06:31:47 | → | k8yun joins (~k8yun@user/k8yun) |
| 06:33:19 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 06:34:51 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:35:27 | → | sumanthyedoti joins (~sumanthye@49.207.194.101) |
| 06:36:11 | × | sumanthyedoti quits (~sumanthye@49.207.194.101) (Client Quit) |
| 06:36:11 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 06:36:23 | → | sumanthyedoti joins (~sumanthye@49.207.194.101) |
| 06:36:47 | × | sumanthyedoti quits (~sumanthye@49.207.194.101) (Client Quit) |
| 06:40:41 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 06:42:06 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:50:57 | × | xff0x quits (~xff0x@2001:1a81:5301:6400:24c5:5158:4f07:abb5) (Ping timeout: 240 seconds) |
| 06:52:11 | → | xff0x joins (~xff0x@2001:1a81:5301:6400:b772:c1d8:3c5d:2da4) |
| 06:54:11 | → | alx741 joins (~alx741@181.199.42.143) |
| 06:59:03 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 06:59:39 | → | alx741 joins (~alx741@157.100.197.240) |
| 07:04:07 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 07:08:53 | → | mbuf joins (~Shakthi@223.178.126.157) |
| 07:12:36 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 07:14:46 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 07:15:45 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 07:19:30 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 07:20:47 | → | alx741 joins (~alx741@181.199.42.143) |
| 07:21:12 | <Me-me> | Okay that was a cleansing four hour Stellaris session. Now to look at the code again. |
| 07:21:53 | <Me-me> | Five hour. |
| 07:24:31 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 07:28:55 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 07:28:56 | <Me-me> | In the line "let w = ws !! l", what does !! mean? |
| 07:29:16 | <ski> | "select the `l'th element of `ws'" |
| 07:29:31 | <Me-me> | Ah, perfect. |
| 07:29:32 | <ski> | > [2,3,5,7] !! 3 |
| 07:29:33 | <lambdabot> | 7 |
| 07:29:40 | <ski> | > [2,3,5,7] !! 4 |
| 07:29:41 | <lambdabot> | *Exception: Prelude.!!: index too large |
| 07:30:21 | <ski> | @src !! |
| 07:30:21 | <lambdabot> | xs !! n | n < 0 = undefined |
| 07:30:21 | <lambdabot> | [] !! _ = undefined |
| 07:30:22 | <lambdabot> | (x:_) !! 0 = x |
| 07:30:24 | <lambdabot> | (_:xs) !! n = xs !! (n-1) |
| 07:30:39 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 07:31:17 | → | alx741 joins (~alx741@181.199.42.143) |
| 07:33:50 | → | cynomys joins (~cynomys@user/cynomys) |
| 07:36:16 | <Me-me> | So then, the line "let ws = [fromIntegral $ sum [(-1)^(k - l) * c (n - l) (k - l) | k <- [l..k]] | l <- [0..k]]" is creating an array? |
| 07:37:01 | <Rembane> | No, a linked list |
| 07:37:01 | <chronon> | What is that @src command? It doesn't work for me in ghci. |
| 07:37:02 | <ski> | a list, not an array |
| 07:37:09 | <Me-me> | Okay. |
| 07:37:21 | <Me-me> | But multiple results. |
| 07:37:29 | <ski> | it's a lambdabot command, displaying source from a hand-written collection of source snippets |
| 07:37:37 | <ski> | @help src |
| 07:37:37 | <lambdabot> | src <id>. Display the implementation of a standard function |
| 07:38:07 | <ski> | (the actual implementation used may be different) |
| 07:38:32 | <ski> | chronon : fwiw, i think it's possible to install lambdabot locally, and to be able to call it from the interactor |
| 07:38:35 | ski | hasn't tried, though |
| 07:39:02 | <ski> | @version |
| 07:39:02 | <lambdabot> | lambdabot 5.3.0.1 |
| 07:39:02 | <lambdabot> | git clone https://github.com/lambdabot/lambdabot |
| 07:39:04 | <ski> | @where lambdabot |
| 07:39:04 | <lambdabot> | http://haskell.org/haskellwiki/Lambdabot |
| 07:39:22 | <chronon> | Or maybe I can /msg lambdabot can I? |
| 07:39:27 | <ski> | sure, you can |
| 07:40:03 | <ski> | (that's encouraged, in case you're just trying things out, and don't want to show, or ask about, something in particular, to the channel) |
| 07:40:03 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 07:40:45 | → | alx741 joins (~alx741@157.100.197.240) |
| 07:40:48 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 07:42:02 | <chronon> | Ok, I'll experiment. Thanks. |
| 07:42:39 | <ski> | Me-me : yes, a sequence of multiple numbers (each being a sum of another list) |
| 07:43:11 | <Me-me> | So here is the full snippet: https://paste.debian.net/1231570/ |
| 07:43:41 | <ski> | that's int-e's snippet, yea ? |
| 07:43:41 | <Me-me> | I'm just confused as to why the l is declared on line 15 but used on line 13. |
| 07:43:43 | <Me-me> | Yeah. |
| 07:44:03 | <ski> | oh, those are different variables `l' |
| 07:44:15 | <Me-me> | Okay, what's the one on line 13 then? |
| 07:44:16 | <ski> | the one on line 13 is bound by the generator `l <- [0..k]' |
| 07:44:23 | <Me-me> | Ah, right. |
| 07:45:00 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 07:45:07 | <ski> | for each value `l' in the (inclusive-inclusive) range from `0' to `k', we collect the values `fromIntegral (sum [...])' into a list |
| 07:46:28 | <ski> | hm, i guess the `fromIntegral' here is converting from `Int' to `Integer' |
| 07:47:19 | <ski> | oh, i see why both variables are names the same (`l') |
| 07:47:46 | <ski> | in the definition of `ws', `l' is the running index, used when defining each element (at index `l') in the list `ws' |
| 07:48:17 | <ski> | then, the `l' on line 15 is a particular index, which is then used on line 17 to select a particular element (number) from the list `ws' |
| 07:49:02 | <ski> | (also that `l' is used on line 16 to ensure `l' is not greater than `k', which is the maximum index in the list `ws') |
| 07:49:49 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 07:50:03 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 07:50:32 | <ski> | the whole `do'-block, with commands from line 12 to line 18 is nondeterministically computing an `Integer' (meaning, it's computing a list of `Integer's) .. the only nondeterministic choice here is ns' <- subsequences ns |
| 07:51:32 | <ski> | (well, `guard (...)' is also, strictly speaking, a choice -- but only in the trivial sense that it acts like a veto, or a `filter', stopping the generation of a solution when `l' is greater than `k') |
| 07:51:57 | <Me-me> | Yeah. |
| 07:52:27 | <ski> | so, for every possible subsequence of `ns' (such that `l <= k'), lines 12 to 18 compute an `Integer'. all these are collected in a list, and the `sum' on line 11 is adding all these together |
| 07:52:45 | <ski> | > subsequences "abcd" |
| 07:52:47 | <lambdabot> | ["","a","b","ab","c","ac","bc","abc","d","ad","bd","abd","cd","acd","bcd","a... |
| 07:52:50 | <ski> | > subsequences "abc" |
| 07:52:51 | <lambdabot> | ["","a","b","ab","c","ac","bc","abc"] |
| 07:53:15 | <Me-me> | Aye. |
| 07:53:20 | <ski> | instead of using `do' here, one could just as well be using a list comprehension |
| 07:53:24 | <Me-me> | I'm mostly just trying to figure out the "compute an integer" bit. |
| 07:54:25 | <ski> | (in that case, one'd separate each of the commands by commas, remove the `guard $ ' bit, and move the last line first (removing the `return $ '), terminating it with a `|', and, of course, enclosing everything in square brackets) |
| 07:55:08 | → | acidjnk joins (~acidjnk@p200300d0c7363f90955657ea6b285d32.dip0.t-ipconnect.de) |
| 07:55:42 | <ski> | well, i guess we have a sum of binomial coefficients, with alternating signs |
| 07:56:36 | × | tabemann quits (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 240 seconds) |
| 07:57:36 | <Me-me> | Right. |
| 07:57:48 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 07:58:45 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:00:39 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 08:01:25 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Quit: Leaving...) |
| 08:01:32 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 08:01:40 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 08:02:31 | × | raym quits (~raym@user/raym) (Ping timeout: 272 seconds) |
| 08:03:07 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:07:23 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds) |
| 08:07:59 | → | raym joins (~raym@user/raym) |
| 08:07:59 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 08:08:12 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:17:33 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:14ec:228f:c3ec:ab2c) (Quit: Leaving) |
| 08:18:36 | × | wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 240 seconds) |
| 08:19:17 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 08:19:51 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 08:20:43 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:20:55 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:22:21 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 08:23:42 | × | Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 08:24:17 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 08:24:44 | → | Batzy joins (~quassel@user/batzy) |
| 08:25:25 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:29:43 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 08:30:19 | × | analognoise quits (~analognoi@91.196.220.77) (Read error: Connection reset by peer) |
| 08:30:34 | × | caimeo quits (uid540603@id-540603.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:31:01 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
| 08:37:53 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 08:37:55 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 08:38:23 | → | ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:4edf:af0d:d165:e093) |
| 08:38:28 | × | ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:4edf:af0d:d165:e093) (Remote host closed the connection) |
| 08:38:59 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 08:39:08 | × | srk quits (~sorki@user/srk) (Remote host closed the connection) |
| 08:39:26 | → | srk joins (~sorki@user/srk) |
| 08:47:57 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:51:20 | → | lavaman joins (~lavaman@98.38.249.169) |
| 08:51:28 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 08:51:47 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 08:52:25 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:56:42 | → | cosimone joins (~user@93-34-133-75.ip49.fastwebnet.it) |
| 08:57:15 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 09:00:32 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 09:05:35 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 09:06:31 | → | mikoto-chan joins (~mikoto-ch@213.177.151.239) |
| 09:14:43 | → | max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
| 09:14:48 | → | alx741 joins (~alx741@157.100.197.240) |
| 09:19:10 | × | enemeth79 quits (sid309041@id-309041.lymington.irccloud.com) () |
| 09:19:22 | → | enemeth79 joins (sid309041@id-309041.lymington.irccloud.com) |
| 09:19:22 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 09:20:30 | → | wroathe joins (~wroathe@user/wroathe) |
| 09:23:14 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Remote host closed the connection) |
| 09:25:24 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 09:32:36 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection) |
| 09:33:02 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 09:35:14 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 09:35:44 | → | alx741 joins (~alx741@157.100.197.240) |
| 09:38:05 | × | drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds)) |
| 09:38:15 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 09:38:46 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 09:39:38 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 09:40:13 | → | alx741 joins (~alx741@157.100.197.240) |
| 09:40:43 | → | drdo joins (~drdo@roach0.drdo.eu) |
| 09:42:42 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 09:43:09 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 09:43:37 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 09:43:38 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 09:48:32 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 09:50:45 | → | Tuplanolla joins (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) |
| 09:52:11 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:56:17 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 10:01:40 | → | alx741 joins (~alx741@157.100.197.240) |
| 10:03:59 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:04:20 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 10:04:22 | × | mc47 quits (~mc47@xmonad/TheMC47) (Client Quit) |
| 10:04:24 | × | themc47 quits (~mc47@xmonad/TheMC47) (Client Quit) |
| 10:04:40 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 10:04:45 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 10:06:13 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 10:07:44 | × | c209e6dc-4d76-47 quits (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!) |
| 10:08:46 | × | mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer) |
| 10:10:15 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 10:13:58 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 10:15:24 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 10:21:24 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 10:23:38 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 10:24:12 | → | alx741 joins (~alx741@181.199.42.143) |
| 10:28:36 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Ping timeout: 240 seconds) |
| 10:28:49 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 10:30:34 | → | coot joins (~coot@213.134.190.95) |
| 10:31:11 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 10:32:57 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 10:36:22 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 10:36:22 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 10:36:22 | → | wroathe joins (~wroathe@user/wroathe) |
| 10:39:44 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 10:40:51 | → | mikoto-chan joins (~mikoto-ch@213.177.151.239) |
| 10:41:29 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 10:41:29 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
| 10:41:37 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 10:43:12 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 10:43:17 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds) |
| 10:44:25 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 10:45:35 | → | alx741 joins (~alx741@157.100.197.240) |
| 10:45:48 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 10:46:44 | × | acidjnk quits (~acidjnk@p200300d0c7363f90955657ea6b285d32.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 10:49:31 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 10:52:14 | → | averell joins (~averell@user/averell) |
| 10:54:13 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:58:28 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 10:59:04 | → | alx741 joins (~alx741@157.100.197.240) |
| 11:03:14 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 11:04:22 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 11:06:33 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 11:18:52 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 11:21:17 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 240 seconds) |
| 11:21:33 | → | alx741 joins (~alx741@157.100.197.240) |
| 11:22:32 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:22:53 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 11:25:21 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 11:37:53 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 11:37:53 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 11:37:53 | → | wroathe joins (~wroathe@user/wroathe) |
| 11:41:33 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 11:41:34 | → | alx741 joins (~alx741@157.100.197.240) |
| 11:43:17 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 11:44:59 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 11:51:47 | → | ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:447b:39c4:735e:5310) |
| 11:53:51 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 11:54:56 | → | jgeerds joins (~jgeerds@55d4b9df.access.ecotel.net) |
| 12:00:57 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 12:02:57 | → | alx741 joins (~alx741@157.100.197.240) |
| 12:03:38 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 12:03:53 | → | dcoutts__ joins (~duncan@host86-144-78-249.range86-144.btcentralplus.com) |
| 12:06:13 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 12:06:31 | × | dcoutts_ quits (~duncan@host86-144-78-249.range86-144.btcentralplus.com) (Ping timeout: 256 seconds) |
| 12:07:41 | → | arievw joins (~arievw@85.148.234.95) |
| 12:08:07 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 12:08:17 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 240 seconds) |
| 12:08:41 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 12:08:41 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 12:08:41 | → | wroathe joins (~wroathe@user/wroathe) |
| 12:13:17 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 12:18:19 | → | DNH joins (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) |
| 12:18:42 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 12:20:16 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 12:21:21 | × | themc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 12:22:37 | × | mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds) |
| 12:22:44 | × | jgeerds quits (~jgeerds@55d4b9df.access.ecotel.net) (Remote host closed the connection) |
| 12:22:56 | → | jgeerds joins (~jgeerds@55d4b9df.access.ecotel.net) |
| 12:23:00 | → | alx741 joins (~alx741@181.199.42.143) |
| 12:23:46 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:27:52 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 12:28:28 | → | alx741 joins (~alx741@181.199.42.143) |
| 12:31:59 | → | `2jt joins (~jtomas@210.red-88-24-179.staticip.rima-tde.net) |
| 12:32:07 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 12:39:46 | → | img joins (~img@user/img) |
| 12:42:13 | × | `2jt quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Remote host closed the connection) |
| 12:45:40 | → | vysn joins (~vysn@user/vysn) |
| 12:46:49 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 12:48:42 | → | alx741 joins (~alx741@157.100.197.240) |
| 12:50:57 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 12:54:55 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 12:56:04 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 12:56:06 | × | elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 256 seconds) |
| 12:56:15 | → | elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
| 12:56:21 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 12:58:36 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Ping timeout: 240 seconds) |
| 13:01:01 | → | notzmv joins (~zmv@user/notzmv) |
| 13:05:32 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 13:05:59 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 13:06:18 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 13:13:17 | → | alx741 joins (~alx741@181.199.42.143) |
| 13:13:56 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 13:15:05 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 256 seconds) |
| 13:15:29 | → | alp joins (~alp@user/alp) |
| 13:17:21 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 13:19:28 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 13:19:56 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 13:23:37 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 13:24:30 | <ehammarstrom> | jackdk: Thanks sharing that demo. As a side note, Sandy Maguire has written a neat book called Thinking with Types - Type-level programming in Haskell. But I don't think it discusses effect-systems |
| 13:26:21 | × | DNH quits (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:26:31 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 13:27:15 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 13:28:26 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 13:29:21 | → | thyriaen joins (~thyriaen@dynamic-077-191-029-223.77.191.pool.telefonica.de) |
| 13:30:37 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Ping timeout: 240 seconds) |
| 13:31:51 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Ping timeout: 256 seconds) |
| 13:32:34 | → | DNH joins (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) |
| 13:36:43 | → | alx741 joins (~alx741@157.100.197.240) |
| 13:40:08 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 13:40:18 | → | son0p joins (~ff@181.136.122.143) |
| 13:44:28 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 13:44:48 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 13:49:06 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
| 13:50:41 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 13:52:09 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 13:54:00 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:54:10 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 13:54:31 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
| 13:56:38 | × | DNH quits (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:58:07 | → | alx741 joins (~alx741@181.199.42.143) |
| 13:58:12 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 14:00:02 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 14:00:21 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 14:00:37 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 14:04:57 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 14:05:01 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 14:05:20 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:07:21 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 14:11:37 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds) |
| 14:13:44 | → | tubogram40 joins (~tubogram@user/tubogram) |
| 14:13:51 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 14:15:04 | × | tubogram4 quits (~tubogram@user/tubogram) (Ping timeout: 260 seconds) |
| 14:15:04 | tubogram40 | is now known as tubogram4 |
| 14:17:25 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 14:17:27 | → | alx741 joins (~alx741@157.100.197.240) |
| 14:18:03 | → | DNH joins (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) |
| 14:18:27 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 14:18:27 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 14:18:27 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:19:24 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 14:22:14 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 14:22:24 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:23:05 | × | max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 14:23:19 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 14:23:54 | × | son0p quits (~ff@181.136.122.143) (Remote host closed the connection) |
| 14:29:27 | → | max22- joins (~maxime@2a01cb0883359800f08509aefb13de74.ipv6.abo.wanadoo.fr) |
| 14:32:39 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 14:33:14 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 14:33:16 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:35:29 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 14:38:23 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 14:42:36 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 14:43:48 | → | fendor joins (~fendor@77.119.193.215.wireless.dyn.drei.com) |
| 14:46:37 | <int-e> | pavonia, Me-me: About https://paste.debian.net/1231570/ ... Well I'm more awake now, so I can try... So the problem is, there's a bag of marbles with 10 marbles of color 1, 20 marbles of color 2, etc., to 150 marbles of color 15. We select 10 of those marbles and want to know the probability that we get at least 6 colors, or, taken the complement, that we have at most 5 colors. Now if we focus on... |
| 14:46:43 | <int-e> | ...any l of the colors (a sublist of length l of ns) then there's a simple formula to count in how many ways we can use a subset of those marbles, that's line 18. However, that count includes cases with fewer than l colors, and if we simply added those up for all the 5-element lists we'd overcount. We need to compensate for that, using the Inclusion-Exclusion Principle (hence `pie`). The amount... |
| 14:46:49 | <int-e> | ...of overcounting that happens for sublists of length l is accounted in ws !! l. If we wanted to count the possibilities with *exactly* k colors, then we'd simply have ws !! l = (-1)^(k-l) * c (n - l) (k - l), where the (-1)^(k-l) comes straight from the inclusion-exclusion principle, and c (n-l) (k-l) is the number of ways to extend an l-element subset of {1..n} to a k-element subset of... |
| 14:46:55 | <int-e> | ...{1..n}. But we want to count the number of ways to get at most k (== 5) colors, so we sum those terms for k' = 0..k, which becomes l..k because the expression is zero for 0..l-1 (and the implementation of `c` doesn't actually cope with those cases). [This is actually how the code evolved, so it explains the shadowing of k: overloading on the spot is less error-prone than adjusting the formula.... |
| 14:47:01 | <int-e> | ...I'd change the variable name if I ever cleaned up the code.] |
| 14:47:37 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Ping timeout: 240 seconds) |
| 14:48:58 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 14:50:09 | × | DNH quits (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:53:17 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 14:53:51 | → | alx741 joins (~alx741@157.100.197.240) |
| 14:54:49 | × | deadmarshal quits (~deadmarsh@95.38.116.229) (Ping timeout: 272 seconds) |
| 14:56:37 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 14:57:34 | → | zebrag joins (~chris@user/zebrag) |
| 14:57:44 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 15:00:35 | → | DNH joins (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) |
| 15:01:09 | → | neurocyte0917090 joins (~neurocyte@IP-213188112151.dynamic.medianet-world.de) |
| 15:01:09 | × | neurocyte0917090 quits (~neurocyte@IP-213188112151.dynamic.medianet-world.de) (Changing host) |
| 15:01:09 | → | neurocyte0917090 joins (~neurocyte@user/neurocyte) |
| 15:01:15 | → | vorpuni joins (~pvorp@2001:861:3881:c690:2806:79fd:17ad:ce07) |
| 15:06:10 | → | travisb joins (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
| 15:09:01 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 15:12:58 | → | alx741 joins (~alx741@181.199.42.143) |
| 15:16:00 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 15:17:50 | → | zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
| 15:18:32 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 15:19:21 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 15:22:12 | × | zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 240 seconds) |
| 15:24:17 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 15:25:00 | → | deadmarshal joins (~deadmarsh@95.38.116.229) |
| 15:27:57 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 15:28:45 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 15:29:23 | × | deadmarshal quits (~deadmarsh@95.38.116.229) (Ping timeout: 256 seconds) |
| 15:29:37 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 15:32:12 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Ping timeout: 240 seconds) |
| 15:32:47 | × | jgeerds quits (~jgeerds@55d4b9df.access.ecotel.net) (Ping timeout: 256 seconds) |
| 15:33:13 | → | alx741 joins (~alx741@157.100.197.240) |
| 15:33:57 | → | mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7) |
| 15:35:53 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 15:36:42 | → | zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
| 15:40:19 | → | yrlnry joins (~mjd@pool-74-109-20-19.phlapa.fios.verizon.net) |
| 15:41:47 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 15:41:57 | <yrlnry> | Hi folks. I want to learn to use setrvant (https://github.com/haskell-servant/) . It has a tutorial, and the tutorial has three sets of installation instructions, one each for cabal, stack, and nix, but none of them worked for me. I wrote up the problems I encountered here: https://github.com/haskell-servant/servant/issues/1540 |
| 15:42:20 | → | alp joins (~alp@user/alp) |
| 15:42:34 | × | DNH quits (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:42:44 | <yrlnry> | The cabal installation complains about an unmet dependency. The stack installation tries to use HTP to retrieve something that replies 404. And nix seems to work but the instructions are extremely incomplete and it doesn't say what to actually do. |
| 15:43:16 | <yrlnry> | The instructions here are https://docs.servant.dev/en/stable/tutorial/install.html . Does someone have time and interest to work through some of the problems with me? |
| 15:43:27 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 15:44:00 | → | alp joins (~alp@user/alp) |
| 15:44:31 | <geekosaur> | you're having basically the same probloem with both cabal and stack: ubuntu ships ancient versions of everything |
| 15:44:39 | <geekosaur> | wrt cabal, your ghc is too old |
| 15:45:06 | <geekosaur> | wrt stack, it tries to download a newer one but ubuntu's stack is so old that the main repository has moved and it can't find anything |
| 15:45:08 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 15:45:23 | <geekosaur> | I suggest you remove the ubuntu packages and use ghcup to install newer versions |
| 15:45:57 | <yrlnry> | I manually installed cabal 3.4 |
| 15:46:01 | <geekosaur> | https://www.haskell.org/ghcup/install/ |
| 15:46:10 | <yrlnry> | I'll try that, thanks. |
| 15:46:12 | <geekosaur> | cabal isn't enough. you need a nbewer *ghc* |
| 15:46:20 | <yrlnry> | Roger that. Thanks very much. |
| 15:46:45 | × | mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds) |
| 15:46:50 | <geekosaur> | specifically, cabal is complaining that the version of base (which is tied to the version of ghc) is too old |
| 15:47:55 | <yrlnry> | That's useful, thanks. |
| 15:48:32 | → | mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475) |
| 15:49:03 | <geekosaur> | you might be able to get the stack instructions to work if you first run stack upgrade, then hash -r |
| 15:49:22 | <geekosaur> | and make sure ~/.local/bin is first in your $PATH |
| 15:53:10 | → | zer0bitz joins (~zer0bitz@2001:2003:f74d:b800:7d50:ed7b:88e6:c382) |
| 15:53:40 | <geekosaur> | but really, I'd just ditch the ancient ubuntu stuff and start over with ghcup which will get you a modern ghc, a modern cabal, and a modern stack |
| 15:53:42 | → | alx741 joins (~alx741@157.100.197.240) |
| 15:54:10 | <geekosaur> | and haskell-language-server which enables editors to be haskell IDEs |
| 15:54:11 | <yrlnry> | That is what I did, so far it looks good. |
| 15:54:33 | <yrlnry> | Do you recommend proceeding with the stack or the cabal installation? |
| 15:54:49 | <geekosaur> | that's up to you. I personally prefer cabal |
| 15:56:18 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 15:57:02 | <yrlnry> | cabal seems to be working. |
| 15:57:58 | <yrlnry> | Oh, it's brandon allbery. I think we've met before, probably on usenet. |
| 15:58:02 | <yrlnry> | Hello again. |
| 15:59:06 | → | zmt00 joins (~zmt00@user/zmt00) |
| 15:59:10 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 15:59:28 | <geekosaur> | yes, your nick seemed familiar. been a while |
| 16:00:06 | × | SawyerBergeron[m quits (~sawyerber@2001:470:69fc:105::3036) (Quit: You have been kicked for being idle) |
| 16:01:00 | → | Midjak joins (~Midjak@82.66.147.146) |
| 16:01:11 | <ehammarstrom> | Is it possible for me to pattern-match on the `z` here https://paste.tomsmeding.com/fKUJge3F ? |
| 16:01:19 | × | zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 250 seconds) |
| 16:01:48 | <ehammarstrom> | All my attempts throws me a `Parse error in ...` |
| 16:01:54 | <yrlnry> | Do you mean like with `z@(pattern)`? |
| 16:02:11 | <yrlnry> | If all else calse you can have the body of the function be `case z of PAT -> …` |
| 16:02:16 | <yrlnry> | *fails |
| 16:02:24 | <lyxia> | there's no pattern to be had there because z's type is abstract |
| 16:03:14 | <yrlnry> | @geekosaur: installation seems to have completed successfully. Thanks very much! |
| 16:03:14 | <lambdabot> | Unknown command, try @list |
| 16:03:28 | <geekosaur> | np |
| 16:04:47 | → | notzmv joins (~zmv@user/notzmv) |
| 16:05:27 | → | dvdrw joins (~dvdrw@87.116.177.189) |
| 16:10:36 | × | fendor quits (~fendor@77.119.193.215.wireless.dyn.drei.com) (Remote host closed the connection) |
| 16:11:04 | <yrlnry> | In type UserAPI = "users" :> QueryParam "sortby" SortBy :> Get '[JSON] [User] |
| 16:11:05 | <yrlnry> | what kind of lexical token is the unclosed single quote? |
| 16:12:27 | <pavonia> | int-e: Thanks. I don't understand the details, but I get the idea |
| 16:12:49 | → | alx741 joins (~alx741@157.100.197.240) |
| 16:13:46 | × | mbuf quits (~Shakthi@223.178.126.157) (Quit: Leaving) |
| 16:15:17 | <dvdrw> | I've been playing with GHC 9.2's impredicative polymorphism, trying to get heterogeneous lists to typecheck. I've had limited success, though. |
| 16:16:06 | <dvdrw> | Given an f :: forall a. F a -> G a, and xs :: [forall a. F a]; how would I 'lift' map so as to work with a nested forall? |
| 16:16:48 | <dvdrw> | Just applying it like 'map f xs' infers (correctly) that F a ~ forall a. F a |
| 16:17:10 | <dvdrw> | Obviously, there'd be a few constraints thrown in there, too, but I don't think that changes things much. |
| 16:17:29 | → | xkuru joins (~xkuru@user/xkuru) |
| 16:20:26 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 16:20:38 | <dvdrw> | In fact, I can't seem to write the type for any map-like function that would typecheck here. They all involve the `a` in `[forall a. F a] -> [forall a. G a]` bridging the gap, which is definitionally impossible. |
| 16:20:40 | <geekosaur> | yrlnry, that's a lifted type |
| 16:21:34 | <geekosaur> | with the DataKinds extension enabled, a `data Foo = Bar | Baz` is not only a type with data constructors, but a lifted kind with type constructors (typically marked with that single quote) |
| 16:21:41 | → | DNH joins (~DNH@2a02:8108:1100:16d8:25f4:e878:3056:b5be) |
| 16:22:42 | → | dextaa_ joins (~dextaa@user/dextaa) |
| 16:24:15 | → | vysn joins (~vysn@user/vysn) |
| 16:29:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 16:32:51 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Ping timeout: 256 seconds) |
| 16:34:26 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 16:34:26 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 16:34:26 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:34:36 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 16:36:56 | → | alx741 joins (~alx741@157.100.197.240) |
| 16:38:41 | × | zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 272 seconds) |
| 16:38:51 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 16:38:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 16:40:05 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 16:46:50 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 16:47:59 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:48:39 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 16:48:55 | × | arievw quits (~arievw@85.148.234.95) (Quit: Nettalk6 - www.ntalk.de) |
| 16:49:21 | → | fresheyeball joins (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) |
| 16:50:58 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 16:53:00 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 16:57:11 | → | alx741 joins (~alx741@157.100.197.240) |
| 16:59:47 | → | waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
| 17:00:20 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:00:54 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 17:05:59 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 17:06:31 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 17:07:06 | × | fjmorazan quits (~quassel@user/fjmorazan) (Quit: fjmorazan) |
| 17:07:36 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 17:07:37 | → | fjmorazan joins (~quassel@user/fjmorazan) |
| 17:08:36 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds) |
| 17:08:36 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
| 17:08:56 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds) |
| 17:08:56 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 17:08:56 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 17:08:56 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 17:09:16 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 17:09:16 | × | LiaoTao_ quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 240 seconds) |
| 17:09:16 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds) |
| 17:09:16 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
| 17:09:17 | × | max22- quits (~maxime@2a01cb0883359800f08509aefb13de74.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:09:36 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
| 17:09:36 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
| 17:09:42 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 17:10:22 | → | max22- joins (~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr) |
| 17:14:58 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:16:18 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 17:17:06 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Remote host closed the connection) |
| 17:18:47 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:22:15 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:22:31 | × | fresheyeball quits (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) (Quit: WeeChat 3.3) |
| 17:22:47 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 17:22:51 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 17:23:09 | → | deadmarshal joins (~deadmarsh@95.38.116.229) |
| 17:23:54 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 17:24:12 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 17:24:16 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 17:24:25 | → | hololeap joins (~hololeap@user/hololeap) |
| 17:24:29 | → | LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao) |
| 17:25:59 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 17:26:17 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 17:26:18 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 17:26:21 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 17:27:08 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 17:27:20 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 17:28:08 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 17:28:59 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 17:30:11 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 17:34:36 | × | yauhsien_ quits (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 17:39:09 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds) |
| 17:40:25 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:55:20 | → | Achylles joins (~Achylles_@2804:431:d724:7449:3b4d:585c:367b:f390) |
| 17:55:29 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 17:56:34 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:57:33 | → | jgeerds joins (~jgeerds@55d4b9df.access.ecotel.net) |
| 17:58:59 | × | paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
| 18:00:07 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 18:02:46 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 18:03:33 | × | dsrt^ quits (~dsrt@50.233.120.162) (Ping timeout: 272 seconds) |
| 18:05:19 | → | econo joins (uid147250@user/econo) |
| 18:11:48 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Ping timeout: 240 seconds) |
| 18:14:47 | → | alx741 joins (~alx741@157.100.197.240) |
| 18:18:24 | → | dsrt^ joins (~dsrt@50.233.120.162) |
| 18:21:04 | → | poss joins (~fes@mobile-access-567357-189.dhcp.inet.fi) |
| 18:22:04 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 18:22:12 | × | dsrt^ quits (~dsrt@50.233.120.162) (Remote host closed the connection) |
| 18:23:48 | <joel135> | do you use xmonad ? |
| 18:24:08 | <joel135> | i tried it right now, without any config |
| 18:24:22 | <geekosaur> | it's very stupid without a config |
| 18:24:34 | <joel135> | i bet :) |
| 18:24:50 | <geekosaur> | you might want to go through https://xmonad.org/TUTORIAL.html |
| 18:25:13 | <geekosaur> | without a config it does the absolute bare minimum it needs to |
| 18:25:24 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 18:27:38 | <joel135> | i just spent a few hours setting up arch linux in virtualbox so i could install xmonad. maybe i will go through the tutorial another weekend |
| 18:28:59 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 18:29:29 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Remote host closed the connection) |
| 18:30:10 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 18:30:46 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 18:31:40 | <dvdrw> | joel135: It might be a bit more to learn, but Nix (the package manager) and NixOS (the distro built around it) might be more elegant to configure in the long run |
| 18:31:52 | <joel135> | good point |
| 18:32:44 | <joel135> | i had forgot about nixos |
| 18:33:24 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 18:33:51 | <geekosaur> | that, and arch is not the best distro to play with haskell stuff unless you're starting from ghcup instead of distro packages |
| 18:34:14 | <geekosaur> | they do really *annoying* things with their haskell packages |
| 18:35:54 | <dvdrw> | I think any install ought to go through ghcup/stack, it's much easier than whatever 'native' package manager solution you have in place |
| 18:35:58 | <yrlnry> | ghci now says that the kind of Functor is (* -> *) -> Constraint. I expected just * -> *. Has it changed? What's "constraint"? |
| 18:36:13 | <dvdrw> | just like pip with python/nvm with node |
| 18:37:19 | <dvdrw> | yrlnry: There's been a fair few kind system tweaks over the years, the chronology of which I'm not so sure about. But there's now two kinds, * (or Type as it's now called) and Constraint |
| 18:37:19 | <monochrom> | If F is an instance of Functor, then F's kind is * -> *. That doesn't mean Functor's kind is * -> *. |
| 18:37:20 | <geekosaur> | Functor is a typeclass, not a type constructor |
| 18:37:28 | <dvdrw> | Constraint is the typeclass kind |
| 18:37:34 | <geekosaur> | Constraint is something that appears to the left of => |
| 18:38:15 | <monochrom> | Instead, given that "Functor F" is a constraint, therefore, Functor maps *->* to constraint. |
| 18:38:52 | → | HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 18:39:14 | <yrlnry> | Oh, I see. Thanks. |
| 18:40:16 | → | alx741 joins (~alx741@157.100.197.240) |
| 18:40:35 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 18:43:18 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 18:44:59 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) () |
| 18:45:13 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 18:45:50 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 18:48:00 | × | Megant quits (megant@user/megant) (Ping timeout: 256 seconds) |
| 18:48:08 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 18:48:21 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 18:49:32 | → | Megant joins (megant@user/megant) |
| 18:54:46 | × | HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
| 18:55:29 | → | HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 18:56:55 | × | HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
| 18:58:12 | × | deadmarshal quits (~deadmarsh@95.38.116.229) (Ping timeout: 240 seconds) |
| 18:59:44 | → | paddymahoney joins (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
| 19:01:52 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 19:02:09 | → | c209e6dc-4d76-47 joins (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) |
| 19:02:15 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 19:02:15 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 19:02:43 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 19:03:24 | × | dwt_ quits (~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) (Ping timeout: 240 seconds) |
| 19:06:31 | → | dwt_ joins (~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) |
| 19:07:00 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 19:15:15 | × | jgeerds quits (~jgeerds@55d4b9df.access.ecotel.net) (Ping timeout: 256 seconds) |
| 19:20:11 | × | neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 272 seconds) |
| 19:24:25 | → | HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 19:28:53 | → | neurocyte0917090 joins (~neurocyte@IP-213188112151.dynamic.medianet-world.de) |
| 19:28:53 | × | neurocyte0917090 quits (~neurocyte@IP-213188112151.dynamic.medianet-world.de) (Changing host) |
| 19:28:53 | → | neurocyte0917090 joins (~neurocyte@user/neurocyte) |
| 19:29:54 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 19:31:19 | × | Achylles quits (~Achylles_@2804:431:d724:7449:3b4d:585c:367b:f390) (Remote host closed the connection) |
| 19:33:53 | × | mcglk quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
| 19:33:57 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Ping timeout: 240 seconds) |
| 19:34:40 | → | mcglk joins (~mcglk@131.191.49.120) |
| 19:34:58 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Remote host closed the connection) |
| 19:37:12 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) |
| 19:40:12 | → | jao joins (~jao@static-68-235-44-22.cust.tzulo.com) |
| 19:43:30 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 19:44:00 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:44:17 | → | alp joins (~alp@user/alp) |
| 19:44:36 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 19:44:57 | × | neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
| 19:45:17 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
| 19:46:44 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:47:42 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 19:50:37 | × | jao quits (~jao@static-68-235-44-22.cust.tzulo.com) (Ping timeout: 256 seconds) |
| 19:50:52 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 19:52:22 | → | jao joins (~jao@static-68-235-44-61.cust.tzulo.com) |
| 19:55:41 | <joel135> | hmm... what do you think about installing `stack` using pacman in arch linux? |
| 19:55:43 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 19:56:10 | <Rembane> | joel135: It will give you infinite amounts of pain, so only do that if you want to fight everything all the time to get something to work. |
| 19:56:23 | <joel135> | ok then i will install stack without pacman |
| 19:56:26 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:56:57 | <joel135> | weird that the command for installing stack using pacman is listed here https://xmonad.org/INSTALL.html |
| 19:57:54 | <Rembane> | Maybe that part of the docs are so old that it was a good experience using Haskell on Arch? |
| 19:58:57 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 19:59:56 | <geekosaur> | we reworked the docs. I believe the intent for Arch is you install *only* stack via pacman and let stack install everything else |
| 20:00:33 | <Rembane> | That seems like a reasonable solution. |
| 20:01:21 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 20:01:37 | × | Midjak quits (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
| 20:01:42 | → | random joins (~random@46.254.129.49) |
| 20:02:14 | → | Midjak joins (~Midjak@82.66.147.146) |
| 20:02:48 | <random> | hey guys, got what's probably a dumb question |
| 20:02:58 | <Hecate> | damn |
| 20:03:03 | <random> | I'm used to deriving json instances with TH via `$(deriveJSON defaultOptions 'MyType)` |
| 20:03:03 | <Hecate> | hope you ask it then :) |
| 20:03:03 | <joel135> | geekosaur: but arch wants to install lots of haskell-* packages when i install stack |
| 20:03:27 | <random> | now I've got a type that has a parameter `newtype SomeType a = ..` |
| 20:03:31 | <geekosaur> | itwillinstall a bunch of shared objects, yes. you can ignore those; stack installs its own copies of everything including the compiler |
| 20:03:37 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 20:03:43 | <random> | and when I try to do `$(deriveJSON defaultOptions '(SomeType Something))` |
| 20:03:45 | <joel135> | ok then i will use pacman |
| 20:03:52 | <geekosaur> | so nothing else will use the stuff pacman installs |
| 20:03:53 | <random> | it fails with a parse error at the opening parentheses |
| 20:04:05 | → | echoreply joins (~echoreply@45.32.163.16) |
| 20:04:21 | <random> | so it seems you can't do ''(SomeType) which is weird |
| 20:04:26 | <geekosaur> | if this annoysa you then use ghcup to install ghc and stack |
| 20:04:54 | × | vorpuni quits (~pvorp@2001:861:3881:c690:2806:79fd:17ad:ce07) (Remote host closed the connection) |
| 20:05:09 | × | juhp quits (~juhp@128.106.188.82) (Ping timeout: 272 seconds) |
| 20:05:31 | → | wavemode joins (~wavemode@2601:241:0:fc90:79a9:b149:73a6:32c7) |
| 20:06:29 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
| 20:06:45 | → | juhp joins (~juhp@128.106.188.82) |
| 20:07:04 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 20:08:57 | × | jao quits (~jao@static-68-235-44-61.cust.tzulo.com) (Ping timeout: 272 seconds) |
| 20:09:12 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 20:10:00 | <random> | so it seems like I'm looking for a way to construct a https://hackage.haskell.org/package/template-haskell-2.16.0.0/docs/Language-Haskell-TH-Syntax.html#t:Name via the '' syntax |
| 20:10:04 | × | raghavgururajan quits (ea769b8000@user/raghavgururajan) (Ping timeout: 250 seconds) |
| 20:10:05 | <random> | for a type that has a parameter |
| 20:10:42 | <random> | in an expression like $(deriveJSON defaultOptions ''(MyTypeWithParameter Int)) |
| 20:11:16 | → | raghavgururajan joins (ea769b8000@user/raghavgururajan) |
| 20:12:10 | × | Me-me quits (~me-me@user/me-me) (Read error: Connection reset by peer) |
| 20:12:42 | → | Me-me joins (~me-me@v.working.name) |
| 20:14:13 | <geekosaur> | you just derive it without the parameter, it looks like |
| 20:14:36 | <geekosaur> | example: https://github.com/lachenmayer/arrowsmith/blob/34b6bdeddddb2d8b9c6f41002e87ec65ce8a701a/backend/Arrowsmith/Types.hs#L44 |
| 20:14:45 | <geekosaur> | (yay github search) |
| 20:19:11 | <random> | hahhaa my god this actually compiled |
| 20:20:02 | × | shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Ping timeout: 250 seconds) |
| 20:20:02 | × | tdmm quits (1c9b9145fc@2604:bf00:561:2000::1c8) (Ping timeout: 250 seconds) |
| 20:20:31 | → | cjb joins (~cjb@user/cjb) |
| 20:21:20 | × | lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (Ping timeout: 250 seconds) |
| 20:21:20 | × | filwisher quits (2e6936c793@2604:bf00:561:2000::170) (Ping timeout: 250 seconds) |
| 20:21:46 | × | sm2n quits (ae95cb1267@user/sm2n) (Ping timeout: 250 seconds) |
| 20:21:46 | × | bsima1 quits (9d7e39c8ad@2604:bf00:561:2000::dd) (Ping timeout: 250 seconds) |
| 20:21:50 | → | shreyasminocha joins (51fdc93eda@user/shreyasminocha) |
| 20:21:50 | → | lukec joins (9dfd4d094e@2604:bf00:561:2000::10e) |
| 20:21:53 | → | tdmm joins (1c9b9145fc@2604:bf00:561:2000::1c8) |
| 20:21:53 | → | filwisher joins (2e6936c793@2604:bf00:561:2000::170) |
| 20:22:05 | → | bsima1 joins (9d7e39c8ad@2604:bf00:561:2000::dd) |
| 20:22:18 | → | sm2n joins (ae95cb1267@user/sm2n) |
| 20:25:25 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 20:26:46 | → | deadmarshal joins (~deadmarsh@95.38.116.229) |
| 20:29:01 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 20:29:56 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
| 20:30:23 | → | jao joins (~jao@static-68-235-44-45.cust.tzulo.com) |
| 20:31:45 | × | deadmarshal quits (~deadmarsh@95.38.116.229) (Ping timeout: 272 seconds) |
| 20:32:43 | × | mcglk quits (~mcglk@131.191.49.120) (Quit: (seeya)) |
| 20:33:15 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 20:34:25 | → | EDP1035 joins (~EDP1035@2607:fb90:2164:7428:e55c:6036:7494:489e) |
| 20:34:46 | × | fluffyballoon quits (45ce440a48@2604:bf00:561:2000::e2) (Ping timeout: 250 seconds) |
| 20:35:07 | × | EDP1035 quits (~EDP1035@2607:fb90:2164:7428:e55c:6036:7494:489e) (Client Quit) |
| 20:35:26 | → | fluffyballoon joins (45ce440a48@2604:bf00:561:2000::e2) |
| 20:36:25 | × | c209e6dc-4d76-47 quits (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!) |
| 20:39:21 | → | michalz joins (~michalz@185.246.204.61) |
| 20:39:56 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 20:44:25 | <FernandoChu[m]> | `StateT s m a` is a functor as long as `m` is a functor, similarly with monads. If `m` is an Applicative does that implies that `StateT s m a` is Applicative too? |
| 20:47:02 | <jackdk> | % :info StateT |
| 20:47:03 | <yahb> | jackdk: type role StateT nominal representational nominal; type StateT :: * -> (* -> *) -> * -> *; newtype StateT s m a = StateT {runStateT :: s -> m (a, s)}; -- Defined in `Control.Monad.Trans.State.Lazy'; instance [safe] forall (m :: * -> *) s. (Functor m, MonadPlus m) => Alternative (StateT s m) -- Defined in `Control.Monad.Trans.State.Lazy'; instance [safe] forall (m :: * -> *) s. (Functor m, Monad m) = |
| 20:47:28 | <geekosaur> | %% :info StateT |
| 20:47:28 | <yahb> | geekosaur: http://qp.mniip.com/y/43 |
| 20:47:34 | ← | pragma- parts (~chaos@user/pragmatic-chaos) (Bye!) |
| 20:47:56 | <jackdk> | `instance [safe] forall (m :: * -> *) s. (Functor m, Monad m) => Applicative (StateT s m) -- Defined in `Control.Monad.Trans.State.Lazy'` Guess not, but probably for historical reasons. |
| 20:48:04 | <geekosaur> | interestingly it seems to require (Functor m, Monad m) which sounds like a holdover from pre-AMP |
| 20:48:40 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:45bc:2e9e:c6:5360) |
| 20:48:42 | <FernandoChu[m]> | yep, that's why I'm wondering if that's just an unnecessary (historic) constraint |
| 20:49:04 | <geekosaur> | Monad implies Functor so the extra constraint is pointless, yes |
| 20:49:17 | <geekosaur> | the question is whether it should be Application => |
| 20:49:21 | <geekosaur> | erApplicative |
| 20:49:35 | <FernandoChu[m]> | not that, I meant Monad implies Applicative too, so wondering if Applicative is enough |
| 20:49:38 | <FernandoChu[m]> | yeah that |
| 20:50:17 | <geekosaur> | right, but as these constraints predate that too, I think it's just an oversight |
| 20:50:31 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Remote host closed the connection) |
| 20:50:41 | <geekosaur> | wonder if the infamous next release will fix it |
| 20:51:30 | <geekosaur> | (infamous because we've been waiting a couple years for it…) |
| 20:52:39 | × | jao quits (~jao@static-68-235-44-45.cust.tzulo.com) (Ping timeout: 272 seconds) |
| 20:53:17 | × | alp quits (~alp@user/alp) (Ping timeout: 256 seconds) |
| 20:54:01 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 20:54:18 | → | Akiva joins (~Akiva@user/Akiva) |
| 20:54:23 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 20:54:23 | → | jao joins (~jao@static-68-235-44-77.cust.tzulo.com) |
| 20:56:52 | × | jkoshy quits (99b9359beb@2604:bf00:561:2000::10f) (Ping timeout: 250 seconds) |
| 20:57:00 | → | jkoshy joins (99b9359beb@2604:bf00:561:2000::10f) |
| 20:57:41 | → | barzo joins (~hd@31.155.65.151) |
| 20:58:47 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 250 seconds) |
| 20:59:11 | → | mcglk joins (~mcglk@131.191.49.120) |
| 21:01:26 | → | pavonia joins (~user@user/siracusa) |
| 21:01:32 | → | simplicius joins (~simplicio@2a02-a45b-3dc8-1-1d3a-6766-2ae7-f393.fixed6.kpn.net) |
| 21:01:37 | × | mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds) |
| 21:02:05 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:03:41 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 245 seconds) |
| 21:05:25 | <ski> | FernandoChu[m] : "If `m` is an Applicative does that implies that `StateT s m a` is Applicative too?" -- no |
| 21:05:36 | → | alp joins (~alp@user/alp) |
| 21:06:04 | <FernandoChu[m]> | I agree but wondering if there's some way of proving that |
| 21:06:26 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 21:07:45 | <FernandoChu[m]> | also I've been reading the source code for StateT and there's code like `~(a, _) <- runStateT m s`, any ideas what the `~` is? very hard to search for something like that on google |
| 21:08:17 | <geekosaur> | lazy pattern match |
| 21:08:29 | <geekosaur> | the technical term is "irrefutable pattern match" |
| 21:08:53 | <FernandoChu[m]> | I see, thanks |
| 21:09:15 | <ski> | `Control.Monad.State.Lazy', i presume |
| 21:10:28 | <jackdk> | FernandoChu[m]: attempt to write the instance, and you will find that to implement (<*>), you'll need to plumb an `s` parameter through things, and I'm pretty sure that's going to require bind |
| 21:10:36 | × | dextaa_ quits (~dextaa@user/dextaa) (Remote host closed the connection) |
| 21:11:00 | <ski> | matching on a pattern `~<pat>' succeeds immediately, binding all identifiers bound by `<pat>'. when any of them are forced, the pattern `<pat>' is matched with the scrutinee (which may result in match failure) |
| 21:11:41 | → | dextaa_ joins (~dextaa@user/dextaa) |
| 21:12:59 | → | cynomys joins (~cynomys@user/cynomys) |
| 21:13:36 | × | barzo quits (~hd@31.155.65.151) (Quit: Leaving) |
| 21:15:11 | → | mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7) |
| 21:15:52 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 21:21:24 | × | mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds) |
| 21:22:52 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 21:22:56 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 21:23:04 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:24:06 | ← | icrbow[m] parts (~icrbowmat@2001:470:69fc:105::ee3) () |
| 21:24:36 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 21:26:43 | → | jgeerds joins (~jgeerds@55d4b9df.access.ecotel.net) |
| 21:28:19 | × | cynomys quits (~cynomys@user/cynomys) (Quit: Lost terminal) |
| 21:28:58 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 21:33:24 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 21:37:36 | × | nek0 quits (~nek0@nek0.eu) (Quit: The Lounge - https://thelounge.chat) |
| 21:37:49 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 21:39:51 | × | simplicius quits (~simplicio@2a02-a45b-3dc8-1-1d3a-6766-2ae7-f393.fixed6.kpn.net) (Quit: Leaving) |
| 21:40:57 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 21:43:56 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 21:44:16 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 21:45:19 | → | acidjnk joins (~acidjnk@p200300d0c7363f90955657ea6b285d32.dip0.t-ipconnect.de) |
| 21:47:24 | → | analognoise joins (~analognoi@ip98-176-154-48.sd.sd.cox.net) |
| 21:48:50 | × | ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:447b:39c4:735e:5310) (Quit: ccntrq) |
| 21:48:52 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:50:50 | → | nek0 joins (~nek0@nek0.eu) |
| 21:55:21 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 22:02:57 | × | Akiva quits (~Akiva@user/Akiva) (Ping timeout: 272 seconds) |
| 22:05:11 | → | Topsi joins (~Tobias@dyndsl-095-033-018-175.ewe-ip-backbone.de) |
| 22:09:22 | × | alp quits (~alp@user/alp) (Ping timeout: 260 seconds) |
| 22:09:57 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 22:10:11 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:10:18 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 22:14:14 | <random-jellyfish> | how many times did you get fired? |
| 22:20:27 | × | emf quits (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Quit: emf) |
| 22:30:52 | × | zer0bitz quits (~zer0bitz@2001:2003:f74d:b800:7d50:ed7b:88e6:c382) (Read error: Connection reset by peer) |
| 22:31:42 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:39f9:90f7:922:e73b) (Remote host closed the connection) |
| 22:32:01 | × | jackalope quits (~jackalope@50-24-138-131.bcstcmta02.res.dyn.suddenlink.net) (Quit: = "vale") |
| 22:34:06 | → | Akiva joins (~Akiva@user/Akiva) |
| 22:40:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:40:58 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:44:18 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds) |
| 22:44:57 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 22:46:02 | × | michalz quits (~michalz@185.246.204.61) (Remote host closed the connection) |
| 22:50:15 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 22:50:28 | × | Topsi quits (~Tobias@dyndsl-095-033-018-175.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 22:51:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Remote host closed the connection) |
| 22:51:21 | × | thyriaen quits (~thyriaen@dynamic-077-191-029-223.77.191.pool.telefonica.de) (Remote host closed the connection) |
| 23:02:40 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 23:02:58 | × | Tuplanolla quits (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:04:11 | → | hololeap joins (~hololeap@user/hololeap) |
| 23:09:06 | × | cosimone quits (~user@93-34-133-75.ip49.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1)) |
| 23:11:49 | → | Pickchea joins (~private@user/pickchea) |
| 23:12:07 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 23:13:50 | → | yauhsien_ joins (~yauhsien@61-231-37-106.dynamic-ip.hinet.net) |
| 23:18:52 | <hololeap> | ok, pandoc is amazing |
| 23:20:28 | <Unicorn_Princess> | how strong is the haskell convention of using 2-space indents? |
| 23:21:23 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 23:21:29 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 23:28:01 | <justsomeguy> | It can bench press 300 pounds, and squat 900. |
| 23:29:22 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) |
| 23:30:20 | <geekosaur> | I wouldn't say it's that strong; I see and occasionally edit source with 4-space indents |
| 23:30:52 | <geekosaur> | it's common, but this isn't Python |
| 23:31:45 | × | jalil quits (~jalil@2a01:e0a:277:4100:5321:349f:8c6a:80f8) (Quit: jalil) |
| 23:32:00 | <Unicorn_Princess> | thanks |
| 23:33:03 | × | pgib quits (~textual@173.38.117.90) (Ping timeout: 252 seconds) |
| 23:34:33 | → | srk- joins (~sorki@user/srk) |
| 23:35:17 | → | Topsi joins (~Tobias@dyndsl-095-033-018-175.ewe-ip-backbone.de) |
| 23:36:10 | × | acidjnk quits (~acidjnk@p200300d0c7363f90955657ea6b285d32.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 23:37:41 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 23:37:41 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 23:37:41 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:37:42 | → | meinside joins (uid24933@id-24933.helmsley.irccloud.com) |
| 23:38:25 | × | srk quits (~sorki@user/srk) (Ping timeout: 256 seconds) |
| 23:38:25 | srk- | is now known as srk |
| 23:38:27 | travisb | is now known as tabemann |
| 23:39:24 | → | lavaman joins (~lavaman@98.38.249.169) |
| 23:40:03 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5928:8400:a51e:7799) (Remote host closed the connection) |
| 23:44:05 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 23:51:44 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 23:53:10 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 23:54:25 | × | jao quits (~jao@static-68-235-44-77.cust.tzulo.com) (Ping timeout: 272 seconds) |
| 23:56:13 | × | juhp quits (~juhp@128.106.188.82) (Quit: juhp) |
| 23:56:27 | → | juhp joins (~juhp@128.106.188.82) |
| 23:56:30 | × | juhp quits (~juhp@128.106.188.82) (Remote host closed the connection) |
| 23:56:41 | → | juhp joins (~juhp@128.106.188.82) |
| 23:56:47 | × | analognoise quits (~analognoi@ip98-176-154-48.sd.sd.cox.net) (Read error: Connection reset by peer) |
| 23:59:56 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
All times are in UTC on 2022-02-20.