Logs on 2021-02-11 (freenode/#haskell)
| 00:00:01 | <Axman6> | > printf "%d %f %s, $s" (1::Int) (pi::Double) "Hello" "world!" :: String |
| 00:00:06 | <lambdabot> | "1 3.141592653589793 Hello, $s*Exception: printf: formatting string ended pr... |
| 00:00:15 | <Axman6> | > printf "%d %f %s, %s" (1::Int) (pi::Double) "Hello" "world!" :: String |
| 00:00:17 | <lambdabot> | "1 3.141592653589793 Hello, world!" |
| 00:00:46 | <ephemient> | originally I meant semantically. there is the number of arguments that the GHC implementation counts, but IMO it shouldn't be considered |
| 00:00:52 | → | conal joins (~conal@64.71.133.70) |
| 00:01:05 | <Axman6> | that's an implementation detail |
| 00:01:08 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 00:01:30 | <ski> | swarmcollective : overloading would be something different |
| 00:01:32 | <jle`> | yeah, semantically i'd say it's single-argument; your example of (id a) b c d is really demonstrationg how a behaves (it's equal to a b c d) less so than how id behaves |
| 00:01:42 | × | soft-warm quits (4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 240 seconds) |
| 00:01:43 | → | napping joins (~brandon@174-20-93-137.mpls.qwest.net) |
| 00:01:43 | <Axman6> | (though one that leaks if you know what you're doing sometimes, anw want to piss off hlint by writing foo a b = \x y -> ... if you know it's likely to be partially applied to a and b most of the time) |
| 00:02:39 | <jle`> | s/less so/more so |
| 00:03:17 | → | bennofs__ joins (~quassel@dslb-188-103-038-242.188.103.pools.vodafone-ip.de) |
| 00:03:18 | <jle`> | which makes for some funny examples like `const id` |
| 00:03:30 | <Axman6> | :t zipWith id |
| 00:03:31 | <lambdabot> | [b -> c] -> [b] -> [c] |
| 00:03:50 | <ski> | Axman6 : "multi-clause function definition" ? |
| 00:04:11 | <Axman6> | I don't know why I find that more difficult to understand than zipWith ($) |
| 00:04:21 | <dibblego> | ($) is id, specialised |
| 00:04:48 | <jle`> | Axman6: naming is powerful |
| 00:05:05 | <dibblego> | ephemient: it's pretty important to accept that all Haskell functions take 1 argument. When we say "2 arguments", we really mean, takes 1 argument and returns a function — that's about the only use-case for approximating. |
| 00:05:14 | <jle`> | it's the reason why i'd use (.) instead of fmap |
| 00:05:25 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 00:05:33 | <jle`> | since the name of (.) evokes the idea of function composition in reading moreso than fmap does |
| 00:05:37 | <jle`> | there is power in the name |
| 00:06:13 | <hpc> | agreed |
| 00:06:31 | × | napping quits (~brandon@174-20-93-137.mpls.qwest.net) (Ping timeout: 265 seconds) |
| 00:06:34 | <jle`> | if i stare at `map (negate `fmap` (+2))` understand it eventually, but `map (negate . (+2))` communicates the meaning more clearly |
| 00:06:36 | × | bennofs_ quits (~quassel@dslb-188-103-041-067.188.103.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
| 00:07:23 | <jle`> | i dropped a word there i think |
| 00:07:39 | <hpc> | the way i usually phrase it is "a function can have the right outputs for all the right inputs, and still be wrong" |
| 00:11:24 | → | mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
| 00:11:40 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ) |
| 00:14:40 | <__minoru__shirae> | so printf is defined as taking two arguments, but can accept any number of arguments? They coded that behavior into PrintfType I guess, but how that trick works? |
| 00:14:46 | × | Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 268 seconds) |
| 00:15:07 | <__minoru__shirae> | looks like PrintfType is either a value, or a function that returns another PrintfType |
| 00:15:08 | <monochrom> | You could use a much much simpler example. |
| 00:15:43 | <monochrom> | id :: a->a is defind as taking 1 argument. But since you can instantiate a = b->c, suddenly it takes 2 arguments too. |
| 00:15:58 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 00:16:18 | <monochrom> | And you can play this trick again on c, c = d->e, to go from 2 to 3. Ad infinitum nauseum absurdum. |
| 00:16:20 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 00:16:30 | <monochrom> | @quote monochrom 17-ary |
| 00:16:30 | <lambdabot> | monochrom says: I am 17-ary, going on 18-ary, I can take curry of you |
| 00:16:39 | → | Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer) |
| 00:16:47 | × | vjoki quits (vjoki@2a00:d880:3:1::fea1:9ae) (Quit: ...) |
| 00:16:53 | <__minoru__shirae> | but it seems like you pass regular values to printf, but they become functions somehow |
| 00:16:59 | <ski> | no |
| 00:17:09 | × | `slikts quits (~nelabs@wikipedia/reinis) (Quit: No Ping reply in 180 seconds.) |
| 00:17:28 | × | PtxDK quits (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) (Quit: No Ping reply in 180 seconds.) |
| 00:17:30 | → | vjoki joins (vjoki@2a00:d880:3:1::fea1:9ae) |
| 00:18:05 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection) |
| 00:18:37 | × | gienah quits (~mwright@gentoo/developer/gienah) (Quit: Lost terminal) |
| 00:18:50 | → | `slikts joins (~nelabs@2a00:d880:5:395::37ca) |
| 00:18:50 | × | `slikts quits (~nelabs@2a00:d880:5:395::37ca) (Changing host) |
| 00:18:50 | → | `slikts joins (~nelabs@wikipedia/reinis) |
| 00:19:04 | → | PtxDK joins (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) |
| 00:19:42 | <monochrom> | "f x y" can be thought of as "(f x) y" so it can be thought of as "pass y to (f x), not f per se". |
| 00:20:02 | <monochrom> | You don't always have to think like this. But it is clearer in the case of printf. |
| 00:20:32 | <monochrom> | Or at least, less magical. |
| 00:21:03 | <monochrom> | When you are just an end-user enjoying the magic, it doesn't matter. It works, use it. :) |
| 00:21:09 | <__minoru__shirae> | oh, I see: printf counts placeholders in its pattern and then keeps returning functions that number of times |
| 00:21:25 | <monochrom> | Yeah that too. |
| 00:22:01 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:8dc5:1d88:1b78:e5ab:dd70) |
| 00:22:19 | × | `slikts quits (~nelabs@wikipedia/reinis) (Excess Flood) |
| 00:22:38 | × | PtxDK quits (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) (Excess Flood) |
| 00:22:53 | <ski> | @quote magic.of.printf |
| 00:22:53 | <lambdabot> | byorgey says: The magic of printf is that it is well-typed but you need not actually know what the types are. |
| 00:23:14 | <__minoru__shirae> | I've read in some book that this thing when functions take one argument and return other functions is called currying or shoenfinkelizing. did you hear about the second one? |
| 00:24:07 | <ski> | it's a convention/encoding for passing multiple parameters, when you only have a notion of single-parameter functions |
| 00:24:26 | → | `slikts joins (~nelabs@wikipedia/reinis) |
| 00:24:37 | <ski> | (in particular, Haskell doesn't "have currying". it's all in your head) |
| 00:24:44 | → | PtxDK joins (~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) |
| 00:25:07 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 00:25:12 | <hpc> | __minoru__shirae: it's a half-joke about the origin of the concept |
| 00:25:35 | <hpc> | the only place you'll see it called schoenfinkeling is in the acme package |
| 00:25:46 | <__minoru__shirae> | oh, btw, it's called after Haskell Curry |
| 00:25:50 | <hpc> | (which incidentally also contains my favorite german joke) |
| 00:26:20 | × | matijja quits (~matijja@193.77.181.208) (Quit: bye) |
| 00:26:35 | × | Entertainment quits (~entertain@104.246.131.28) () |
| 00:26:46 | <__minoru__shirae> | hpc: in that book it was presented not as a joke, but seriously |
| 00:27:00 | <__minoru__shirae> | don't remember what book though |
| 00:27:12 | <hpc> | ah |
| 00:27:29 | <hpc> | in any event, i have only ever heard of it as currying |
| 00:28:05 | <__minoru__shirae> | imagine people using both your firstname and surname as terms |
| 00:28:42 | <ski> | (people also tend to confuse "currying" with "partial application" (sometimes also with "partial evaluation")) |
| 00:29:44 | → | mastarija joins (~mastarija@188.252.197.206) |
| 00:30:51 | → | fresheyeball joins (~isaac@ec2-35-155-97-88.us-west-2.compute.amazonaws.com) |
| 00:31:03 | → | conal joins (~conal@64.71.133.70) |
| 00:31:39 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 00:32:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 00:32:07 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds) |
| 00:33:43 | → | MrMobius joins (~MrMobius@208.58.206.154) |
| 00:37:43 | <Axman6> | __minoru__shirae: really, printf is powered by the arguments passed to it, and it checks the string matches those arguments, rather than the string powering things, just in case you were thinking the string was the key biit of machiners |
| 00:37:52 | × | revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: leaving) |
| 00:38:09 | → | revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
| 00:38:28 | <edwardk> | i'm particularly inclined to note that partial application tends to omit the sort of 'over-application' that is common in haskell. |
| 00:38:59 | <edwardk> | > id id 4 -- passes 'id' two arguments, even though it only takes 1 |
| 00:39:01 | <lambdabot> | 4 |
| 00:39:22 | <edwardk> | this seems kinda academic until you realize how we use combinators like const and id, and work through how the reader monad gets used in practice |
| 00:39:29 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 00:40:09 | <edwardk> | http://comonad.com/reader/2009/curried-scheme/ was me encountering the issue in scheme |
| 00:40:57 | × | revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Client Quit) |
| 00:41:24 | → | revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
| 00:41:45 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 00:41:55 | × | revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Client Quit) |
| 00:43:56 | × | hyperisco quits (~hyperisco@104-195-141-253.cpe.teksavvy.com) (Ping timeout: 256 seconds) |
| 00:46:38 | <__minoru__shirae> | Axman6: good to know |
| 00:47:05 | → | bitmagie joins (~Thunderbi@200116b8066f6c007c4295e1303468a4.dip.versatel-1u1.de) |
| 00:47:14 | × | revprez_stg quits (~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: leaving) |
| 00:47:25 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 00:47:39 | <__minoru__shirae> | > id (+1) 4 |
| 00:47:41 | <lambdabot> | 5 |
| 00:47:46 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) |
| 00:48:24 | × | bitmagie quits (~Thunderbi@200116b8066f6c007c4295e1303468a4.dip.versatel-1u1.de) (Client Quit) |
| 00:48:31 | <Axman6> | A relatively small change to printf could actually give you nice static types based on the format string, but it's currently a bit gross to do because type level Symbols aren't actually [Char]. Ideally we'd write printf @"%i %f %s, %s" and get back (Integral i, Floating f) => i -> f -> String -> String String |
| 00:48:47 | <Axman6> | uh, String -> String* |
| 00:48:48 | × | tremon quits (~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 00:49:07 | × | forgottenone quits (~forgotten@176.42.19.18) (Ping timeout: 272 seconds) |
| 00:49:45 | <Axman6> | a la https://hackage.haskell.org/package/typelits-printf |
| 00:50:22 | <monochrom> | format strings are overrated anyway |
| 00:50:53 | <Axman6> | I do appreciate their conciseness. alternatives are often clunky |
| 00:51:39 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 00:51:43 | <Axman6> | I'm also a biug fan of the formatting library (which wrunt has made some great contributions to in the last few months) |
| 00:51:47 | <Axman6> | big* |
| 00:51:57 | <Axman6> | https://hackage.haskell.org/package/formatting-7.1.1/docs/Formatting-Combinators.html |
| 00:52:10 | <monochrom> | I think you are thinking of the other extreme, an algebraic data type. |
| 00:52:28 | Axman6 | is responsible for the nagging which lead to a lot of the functios in that module |
| 00:52:44 | <monochrom> | But there is a sweet spot with quotations and its corresponding unquotation. |
| 00:54:51 | <monochrom> | tl;dr unquotation is what interpolation dreams of but fails to. |
| 00:55:30 | <Axman6> | I'm not sure what you're talking about now |
| 00:55:33 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 00:55:41 | <monochrom> | Sure. Here is an example. |
| 00:56:24 | <monochrom> | Instead of printf("hello %d %c %f world", x, y, z) |
| 00:56:39 | <monochrom> | you write instead "hello ^x ^y ^z world" |
| 00:57:10 | <Axman6> | oh right |
| 00:57:43 | × | mastarija quits (~mastarija@188.252.197.206) (Quit: Leaving) |
| 00:57:44 | <Axman6> | often "hello %{x} %{y} %{z} world" in many languages to allow arbitrary expressions right? |
| 00:57:55 | <Axman6> | or some similar syntax |
| 00:57:57 | <monochrom> | Yes. |
| 00:58:41 | <Axman6> | In unrelated news, the acceptance of this is somewhat surprising: https://github.com/golang/go/issues/43651 |
| 00:59:36 | × | mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
| 00:59:48 | <monochrom> | I am less surprised. Because Pike did say he was not against this, he was just taking time to look for a simple design. |
| 00:59:55 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 01:00:15 | <Axman6> | yeah, I seem to remember hearing it would almost certainly going to be a feature of Go 2.0 |
| 01:00:16 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 01:00:20 | → | mizu_no_oto joins (~textual@cpe-66-66-222-11.rochester.res.rr.com) |
| 01:00:31 | <monochrom> | Now, I don't know whether this one is simple enough, but Pike was always open to polymorphism, just cautiously. |
| 01:01:01 | <Axman6> | surprised not to see any reference to Wedler et al's work on Featherweight Go |
| 01:01:35 | <monochrom> | heh |
| 01:02:16 | <monochrom> | von Neumann's paper/report describing the von Neumann model did not refer to Turing's report either (where Turing described that model first) |
| 01:02:24 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 01:02:52 | <monochrom> | and historical evidence says that von Neumann already had Turing's report by then. |
| 01:05:21 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
| 01:05:46 | × | alx741 quits (~alx741@186.178.110.250) (Quit: alx741) |
| 01:07:57 | × | _linker_ quits (~linker@2a02:a31a:a045:3500:e120:4743:5ef2:908d) (Remote host closed the connection) |
| 01:08:29 | <Axman6> | Wouldn't want to infect Go with any ivory |
| 01:10:34 | × | darjeeling_ quits (~darjeelin@122.245.209.191) (Ping timeout: 256 seconds) |
| 01:11:13 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:20 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:14:28 | × | fresheyeball quits (~isaac@ec2-35-155-97-88.us-west-2.compute.amazonaws.com) (Ping timeout: 272 seconds) |
| 01:16:08 | → | fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
| 01:16:23 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 01:18:27 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 01:18:50 | × | Feuermagier_ quits (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
| 01:19:05 | → | Feuermagier_ joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) |
| 01:19:30 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 265 seconds) |
| 01:19:44 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:b594:a67f:9ce6:a63b) |
| 01:20:52 | × | Feuermagier_ quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Client Quit) |
| 01:21:06 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) |
| 01:23:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 264 seconds) |
| 01:27:00 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 01:30:49 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 01:31:03 | <ep1ctetus> | Hi, I'm getting an error when using cassava to parse a CSV file, I cannot understand what it means |
| 01:31:15 | <ep1ctetus> | parse error (Failed reading: satisfy) at "Date","Time","TimeZone","Name","Type","Status","Currency","Amount","Receipt ID","Balance" |
| 01:31:25 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 01:32:03 | <ep1ctetus> | It's being read into a record in which all the fields are type Text, which derives Generic and FromRecord |
| 01:32:05 | <ep1ctetus> | anyone have thoughts? |
| 01:32:11 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 01:32:52 | <Axman6> | not without seeing the code :) |
| 01:33:28 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 01:34:08 | <ep1ctetus> | https://pastebin.com/hgKUDzdw |
| 01:35:48 | <Axman6> | should the CSV columns not all have pe prefixed to them? or does cassava automatically remove those (I didn't think it did without you telling it to) |
| 01:35:55 | <sm[m]> | I forgot.. is there any way to find out, eg from the RTS, if an executable was compiled with or without optimisation ? |
| 01:36:26 | <ep1ctetus> | Axman6: by making it an instance of FromRecord, it just matches the column positions with the record fields |
| 01:36:37 | <ep1ctetus> | it ignores the headers |
| 01:37:00 | <ep1ctetus> | Here is the first 3 lines of the CSV file: https://pastebin.com/mcAPyiLp |
| 01:37:40 | <ep1ctetus> | I have this working with the exact same setup on a differently-formatted CSV file |
| 01:38:06 | <Axman6> | ah right, I forgot about FromNamedRecord |
| 01:38:48 | <glguy> | sm[m], it doesn't that I know of |
| 01:39:55 | <Axman6> | ep1ctetus: what happens when you try to parse it as a `Csv`, change readPaypal :: String -> IO (Vector PaypalEntry) to readPaypal :: String -> IO (Vector Csv) |
| 01:40:08 | <Axman6> | uh, readPaypal :: String -> IO Csv |
| 01:41:23 | <ep1ctetus> | Axman6: same error |
| 01:44:33 | × | viluon quits (uid453725@gateway/web/irccloud.com/x-ggbctwutbiutwlfs) (Quit: Connection closed for inactivity) |
| 01:45:06 | → | bitmagie joins (~Thunderbi@200116b8066f6c007c4295e1303468a4.dip.versatel-1u1.de) |
| 01:45:12 | <ep1ctetus> | ok, I got it to work |
| 01:45:24 | <Axman6> | how? |
| 01:45:30 | <ep1ctetus> | I find a find-replace of all the " in the csv file, and it read in fine |
| 01:45:47 | <Axman6> | ah, right, fancy quotes? |
| 01:45:48 | × | bitmagie quits (~Thunderbi@200116b8066f6c007c4295e1303468a4.dip.versatel-1u1.de) (Client Quit) |
| 01:46:12 | <ep1ctetus> | I don't know, but the file I have that works doesn't have quotes in every filed like this file |
| 01:46:15 | <Axman6> | are you on macOS? TextEdit et al have a habit of being "helpful" like that |
| 01:46:31 | <ep1ctetus> | no I downloaded this file straight from PayPal's website |
| 01:46:58 | <ep1ctetus> | so perhaps I can find/replace them in the ByteString that's read in before parsing it |
| 01:47:07 | <Axman6> | hmm, weird |
| 01:47:25 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 01:47:47 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) |
| 01:51:08 | × | mizu_no_oto quits (~textual@cpe-66-66-222-11.rochester.res.rr.com) (Quit: Computer has gone to sleep.) |
| 01:53:57 | × | m0rphism1 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 264 seconds) |
| 01:54:44 | × | funkatron quits (~funkatron@185.204.1.185) (Remote host closed the connection) |
| 02:00:07 | → | rajivr joins (uid269651@gateway/web/irccloud.com/x-lahbxsmpijdsyxwl) |
| 02:00:35 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 02:01:23 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 02:01:51 | <ep1ctetus> | Axman6: I found out more -- there are non-printable characters at the beginning of the file that are confusing it |
| 02:01:53 | × | sakirious quits (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Quit: The Lounge - https://thelounge.chat) |
| 02:02:19 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:8dc5:1d88:1b78:e5ab:dd70) (Quit: Textual IRC Client: www.textualapp.com) |
| 02:02:23 | <ep1ctetus> | hmmm, or it could be the encoding |
| 02:02:33 | → | napping joins (~brandon@174-20-93-137.mpls.qwest.net) |
| 02:03:01 | → | sakirious joins (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) |
| 02:04:10 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 02:05:15 | <ep1ctetus> | lol yeah, that's what it was, there are non-printable characters at the beginning. Whatever corresponds to 239, 187, 191 |
| 02:06:56 | × | napping quits (~brandon@174-20-93-137.mpls.qwest.net) (Ping timeout: 240 seconds) |
| 02:08:53 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
| 02:09:02 | <Axman6> | utf-8 with BOM? |
| 02:09:09 | <Axman6> | what does `file` say for the original file? |
| 02:09:18 | <ep1ctetus> | yes, it said UTF-8-BOM, what does that mean? |
| 02:09:39 | <Axman6> | byte order mark |
| 02:09:56 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 02:10:03 | <c_wraith> | which is weird - UTF8 doesn't have ambiguous byte orders |
| 02:10:13 | <Axman6> | so there's some cbytes at the beginning which tell you ... something. seems weird to have in utf-8. utf-16 and 32 I could understand |
| 02:10:40 | <ep1ctetus> | well I'm not surprised that PayPal would produce a stupidly-formatted CSV file |
| 02:10:54 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:11:05 | × | jneira quits (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Quit: Connection closed) |
| 02:11:40 | <ep1ctetus> | My solution was to drop those characters ... then it worked |
| 02:11:44 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 02:12:02 | <Axman6> | yeah should be fine |
| 02:12:22 | <ephemient> | the only thing an initial UTF-8 BOM tells you is that the file starts with a UTF-8 BOM |
| 02:12:56 | <Axman6> | https://en.wikipedia.org/wiki/Byte_order_mark |
| 02:12:58 | <ephemient> | it's not data so go ahead, ignore it and treat the rest of the file as UTF-8 |
| 02:13:59 | <monochrom> | I wrote my code to detect and drop BOM too :) |
| 02:14:05 | <Axman6> | somewhat annoying it's not dropped automatically |
| 02:14:34 | <ephemient> | at which layer? |
| 02:14:42 | <Axman6> | readFile |
| 02:14:55 | <Axman6> | but I guess readFile for ByteString shouldn't do anything |
| 02:15:03 | <monochrom> | stripBOM bytes = case BL.stripPrefix (BL.pack "\xef\xbb\xbf") bytes of { Just suffix -> suffix; Nothing -> bytes } |
| 02:15:14 | <monochrom> | (BL = Data.ByteString.Lazy) |
| 02:15:21 | <Axman6> | if it were Text.readFile I would expect it to check for it and use it for decoding to Text |
| 02:15:33 | <ephemient> | it would be worse if `readFile f >>= writeFile f` stripped the BOM, IMO |
| 02:15:46 | <monochrom> | err, Data.ByteString.Lazy.Char8 |
| 02:17:09 | × | Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:c4ad:290a:c4c0:717b) (Quit: Leaving) |
| 02:17:45 | <monochrom> | It is a Microsoft convention to add BOM. It is not so much byte order disambiguation as 8-vs-16 disambiguation. |
| 02:17:52 | <ep1ctetus> | monochrom: thanks, this is nicer than what I wrote |
| 02:18:07 | × | xcmw quits (~textual@dyn-72-33-2-47.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 02:18:50 | <Axman6> | feels like a very un-unixy thing to do, since it would break cat *.txt > out.txt |
| 02:19:11 | <Axman6> | (that may itself be a bad idea depending on when out.txt is created...) |
| 02:19:55 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 02:20:32 | <ephemient> | redirections happen before exec, so yeah that is somewhat problematic |
| 02:20:42 | <ephemient> | cat *.txt | sponge out.txt # https://joeyh.name/code/moreutils/ to the rescue |
| 02:20:54 | → | conal joins (~conal@64.71.133.70) |
| 02:21:29 | <ephemient> | but the cat thing only works if every file is the same encoding... and the encoding doesn't have state like SJIS... |
| 02:22:50 | × | xff0x quits (~xff0x@2001:1a81:5205:c800:4c19:a4e4:1bf7:864b) (Ping timeout: 264 seconds) |
| 02:24:40 | → | xff0x joins (~xff0x@2001:1a81:5241:ba00:c40a:8abf:b18c:462) |
| 02:25:00 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 02:25:56 | × | hiptobecubic quits (~john@unaffiliated/hiptobecubic) (Ping timeout: 256 seconds) |
| 02:28:11 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 02:28:34 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 02:29:05 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds) |
| 02:29:35 | Lord_of_Life_ | is now known as Lord_of_Life |
| 02:32:16 | <koala_man> | if anyone's interested, I was able to build x86_64 macos binaries on Linux using osxcross and a custom built GHC cross-compiler |
| 02:33:36 | <koala_man> | the binaries are absolutely huge for some reason, but it works |
| 02:33:38 | × | yahb quits (xsbot@haskell/bot/yahb) (Ping timeout: 264 seconds) |
| 02:35:00 | <slack1256> | What is the resulting size for the stage2 compiler? |
| 02:35:57 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 02:36:04 | <dsal> | koala_man: Oh cool. How easy is it to reproduce that? |
| 02:37:03 | <koala_man> | slack1256: I think I built stage1only |
| 02:38:14 | → | yahb joins (xsbot@haskell/bot/yahb) |
| 02:38:56 | → | toorevitimirp joins (~tooreviti@117.182.180.8) |
| 02:39:21 | → | m4v1 joins (~m4v@139.28.218.148) |
| 02:39:37 | <koala_man> | dsal: fairly easy, actually. Much easier than last time I cross-compiled to aarch64. however, I did depend on some random janky Docker image with osxcross already built. This is my current Dockerfile: https://gist.github.com/koalaman/5d88b5bdc9316b055ead9e9aa7ff74cb |
| 02:40:45 | <koala_man> | it doesn't support TemplateHaskell, but other than that it appears to work |
| 02:45:33 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 02:45:48 | → | xcmw joins (~textual@dyn-72-33-2-47.uwnet.wisc.edu) |
| 02:47:25 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 02:47:45 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 02:47:46 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) |
| 02:47:57 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 02:48:35 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:b594:a67f:9ce6:a63b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 02:51:16 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 02:55:45 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 02:56:06 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 246 seconds) |
| 03:00:32 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 03:02:57 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 03:04:45 | × | theDon quits (~td@muedsl-82-207-238-226.citykom.de) (Ping timeout: 264 seconds) |
| 03:06:16 | → | theDon joins (~td@muedsl-82-207-238-223.citykom.de) |
| 03:07:50 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
| 03:09:48 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 03:11:34 | → | Sonderblade joins (~helloman@94.191.137.213.mobile.tre.se) |
| 03:14:03 | × | e2 quits (e2@sponsored.by.bnc4you.xyz) (Ping timeout: 265 seconds) |
| 03:14:25 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 03:16:11 | → | alx741 joins (~alx741@186.178.110.250) |
| 03:18:28 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-odqnhcrgjojhorzq) () |
| 03:19:22 | → | e2 joins (e2@sponsored.by.bnc4you.xyz) |
| 03:21:43 | × | fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
| 03:22:00 | → | fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
| 03:23:04 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 03:27:45 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 03:29:15 | <koz_> | yay ci goes brrr |
| 03:29:22 | <koz_> | (sorry, still really happy about that) |
| 03:31:51 | → | jedws joins (~jedws@101.184.202.248) |
| 03:32:22 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 03:32:22 | finn_elija | is now known as Guest40745 |
| 03:32:22 | FinnElija | is now known as finn_elija |
| 03:33:49 | × | jedws quits (~jedws@101.184.202.248) (Client Quit) |
| 03:34:36 | × | fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
| 03:36:25 | × | Guest40745 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds) |
| 03:41:16 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 03:41:19 | → | deviantfero joins (~deviantfe@190.150.27.58) |
| 03:43:13 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 03:44:33 | → | napping joins (~brandon@174-20-93-137.mpls.qwest.net) |
| 03:45:18 | ← | napping parts (~brandon@174-20-93-137.mpls.qwest.net) () |
| 03:45:22 | → | _vaibhavingale_ joins (~Adium@203.188.228.9) |
| 03:47:25 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 03:47:47 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) |
| 03:48:29 | × | raym quits (~ray@45.64.220.157) (Quit: leaving) |
| 03:48:45 | → | raym joins (~ray@45.64.220.53) |
| 03:50:09 | × | _vaibhavingale_ quits (~Adium@203.188.228.9) (Ping timeout: 272 seconds) |
| 03:50:59 | → | soft-warm joins (4408f588@ip68-8-245-136.sd.sd.cox.net) |
| 03:57:26 | × | Wuzzy quits (~Wuzzy@p5790e290.dip0.t-ipconnect.de) (Quit: Wuzzy) |
| 03:57:33 | × | __minoru__shirae quits (~shiraeesh@109.166.59.8) (Ping timeout: 264 seconds) |
| 04:00:25 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 04:00:34 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 04:02:26 | → | jedws joins (~jedws@101.184.202.248) |
| 04:02:47 | × | theDon quits (~td@muedsl-82-207-238-223.citykom.de) (Ping timeout: 256 seconds) |
| 04:04:19 | → | theDon joins (~td@muedsl-82-207-238-072.citykom.de) |
| 04:04:37 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 04:07:50 | × | sw1nn quits (~sw1nn@2a00:23c6:2385:3a00:8481:383e:48dd:21f5) (Ping timeout: 264 seconds) |
| 04:09:24 | × | xcmw quits (~textual@dyn-72-33-2-47.uwnet.wisc.edu) (Remote host closed the connection) |
| 04:09:25 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 04:10:17 | × | alx741 quits (~alx741@186.178.110.250) (Quit: alx741) |
| 04:10:45 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 264 seconds) |
| 04:12:53 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 04:15:04 | <slack1256> | References to files on template haskell splices don't need to be declared as `data-files` on cabal? |
| 04:15:29 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 272 seconds) |
| 04:15:58 | <slack1256> | This is for a yesod site I am making, so the template shakespeare files live on another folder. I want to use `whamletFile` on them. |
| 04:16:08 | <glguy> | I wouldn't think so; data files are for runtime data |
| 04:16:19 | × | toorevitimirp quits (~tooreviti@117.182.180.8) (Remote host closed the connection) |
| 04:16:30 | <glguy> | and splices are compile time things |
| 04:16:45 | → | toorevitimirp joins (~tooreviti@117.182.180.8) |
| 04:16:57 | → | conal joins (~conal@198.8.81.92) |
| 04:17:52 | <slack1256> | Neat |
| 04:17:57 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 04:18:21 | <slack1256> | I still need to be careful if I decide to ship this code, as the templates won't be included on the .tar.gz |
| 04:18:46 | <glguy> | unless the splices are defining runtime file references? |
| 04:18:57 | <glguy> | really just depends on what's going on there |
| 04:19:25 | <slack1256> | No, they are not runtime file references. |
| 04:20:49 | → | sw1nn joins (~sw1nn@2a00:23c6:2385:3a00:1cd1:f5cc:82b1:ebaa) |
| 04:21:38 | × | perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0) |
| 04:21:39 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 04:22:04 | → | Tario joins (~Tario@201.192.165.173) |
| 04:22:36 | <glguy> | You'll need to list them as extra-source-files, I think it was, so that they get bundled in the sdist |
| 04:22:55 | <slack1256> | Ooooh that makes sense. |
| 04:23:09 | <slack1256> | Thank you glguy. |
| 04:25:45 | × | conal quits (~conal@198.8.81.92) (Quit: Computer has gone to sleep.) |
| 04:26:54 | → | conal joins (~conal@198.8.81.92) |
| 04:28:39 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 04:29:22 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:b965:836a:181f:a4ea) |
| 04:32:59 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 04:33:05 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 04:36:47 | × | electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 04:37:54 | × | Sonderblade quits (~helloman@94.191.137.213.mobile.tre.se) (Quit: Konversation terminated!) |
| 04:38:59 | × | slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection) |
| 04:40:14 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 256 seconds) |
| 04:41:05 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 04:41:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:42:30 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 04:44:30 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 04:46:35 | → | elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 04:49:45 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 04:49:48 | × | hekkaidekapus[ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds) |
| 04:51:03 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 04:51:40 | × | puke quits (~vroom@217.138.252.187) (Quit: puke) |
| 04:52:45 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds) |
| 04:53:37 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:b965:836a:181f:a4ea) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:54:22 | × | soft-warm quits (4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 240 seconds) |
| 04:55:36 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 04:59:11 | × | polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 272 seconds) |
| 05:00:13 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 05:01:27 | → | _vaibhavingale_ joins (~Adium@203.188.228.9) |
| 05:04:45 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 05:09:54 | → | puke joins (~vroom@217.138.252.222) |
| 05:15:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 05:16:44 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 05:18:45 | × | kfollstad quits (~kfollstad@23.90.89.3) (Ping timeout: 240 seconds) |
| 05:21:39 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 05:24:49 | → | ixaxaar joins (~ixaxaar@49.207.210.215) |
| 05:26:18 | → | kfollstad joins (~kfollstad@23.90.89.3) |
| 05:31:22 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 05:32:55 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 05:34:16 | × | jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:34:29 | → | hexfive joins (~hexfive@50.35.83.177) |
| 05:37:49 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 05:40:25 | × | toorevitimirp quits (~tooreviti@117.182.180.8) (Ping timeout: 240 seconds) |
| 05:42:57 | → | toorevitimirp joins (~tooreviti@117.182.180.8) |
| 05:48:36 | × | kfollstad quits (~kfollstad@23.90.89.3) (Quit: WeeChat 3.0) |
| 05:50:36 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 05:53:05 | × | toorevitimirp quits (~tooreviti@117.182.180.8) (Ping timeout: 240 seconds) |
| 05:54:30 | → | toorevitimirp joins (~tooreviti@117.182.180.8) |
| 05:55:33 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 05:57:39 | × | DTZUZU quits (~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
| 05:58:23 | × | elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 05:58:30 | → | DTZUZU joins (~DTZUZU@205.ip-149-56-132.net) |
| 05:59:09 | × | toorevitimirp quits (~tooreviti@117.182.180.8) (Ping timeout: 246 seconds) |
| 06:02:53 | → | darjeeling_ joins (~darjeelin@39.185.119.195) |
| 06:03:12 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 06:04:07 | × | petersen quits (~petersen@redhat/juhp) (Quit: petersen) |
| 06:05:28 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 06:06:55 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 06:07:52 | × | poscat1 quits (~poscat@123.116.95.228) (Remote host closed the connection) |
| 06:08:10 | → | poscat joins (~poscat@123.116.95.228) |
| 06:10:45 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
| 06:11:24 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
| 06:11:29 | × | carlomagno quits (~cararell@148.87.23.11) (Ping timeout: 272 seconds) |
| 06:12:44 | → | xcmw joins (~textual@dyn-72-33-2-47.uwnet.wisc.edu) |
| 06:12:57 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 06:13:27 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 06:14:03 | → | acidjnk_new2 joins (~acidjnk@p200300d0c724a28468193f3bf077429d.dip0.t-ipconnect.de) |
| 06:22:03 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:23:08 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 06:24:01 | × | lemmih quits (~lemmih@2406:3003:2072:44:f7a7:6ac6:bdf9:4d40) (Remote host closed the connection) |
| 06:27:52 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 06:31:56 | × | hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
| 06:32:45 | <koala_man> | I just did `cabal install --lib Diff-0.4.0` (arbitrary choice). When I later do `cabal build`, it still downloads and builds Diff-0.4.0. Is it supposed to do that? |
| 06:32:49 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 06:33:59 | <sclv> | yes. Installing with —lib just puts it in the global env for ghci etc outside of projects |
| 06:34:14 | <sclv> | projects each have a local env |
| 06:34:34 | <koala_man> | is there any kind of shared package cache? |
| 06:34:56 | <c_wraith> | sure, it shares packages - but only if their package ids are identical |
| 06:35:05 | <c_wraith> | same version, same flags, same dependency package ids |
| 06:35:43 | <c_wraith> | If they didn't come out the same, it's likely that solving the dependencies in one of the packages required an older version of one of those dependencies than the other was required to use |
| 06:35:47 | <koala_man> | what does it share them with? other projects that have been built, but not anything you 'cabal install'? |
| 06:36:02 | <c_wraith> | anything in the package cache |
| 06:36:21 | → | revtintin joins (~revtintin@42.61.242.247) |
| 06:37:28 | <c_wraith> | see ~/.cabal/store |
| 06:40:11 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 06:41:09 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 06:42:46 | <koala_man> | c_wraith: how do I debug why the IDs are different? In the diff between the two, only the hashes are different: https://gist.github.com/koalaman/ccafff70cefea932c9b4f416a8b89eaf |
| 06:43:06 | <c_wraith> | dependencies and flags |
| 06:43:29 | <koala_man> | the dependencies are the same, and I didn't add any flags in either case |
| 06:43:36 | <koala_man> | unless --lib counts |
| 06:44:01 | <c_wraith> | I think it does. it seems to count *every* flag, whether it makes sense or not. |
| 06:44:48 | <koala_man> | it fails without --lib, but it shows the same ID |
| 06:44:54 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 06:45:08 | → | hekkaidekapus[ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 06:46:36 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 06:46:47 | → | jedws joins (~jedws@101.184.202.248) |
| 06:47:03 | → | dhil joins (~dhil@80.208.56.181) |
| 06:48:25 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 240 seconds) |
| 06:52:34 | <koala_man> | I'm trying to pre-build some dependencies, which used to work fine, but which now fails to reuse the cache and I don't know why |
| 06:52:49 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-ckjmnhqmmmkvuhmm) |
| 06:54:12 | × | xff0x quits (~xff0x@2001:1a81:5241:ba00:c40a:8abf:b18c:462) (Ping timeout: 260 seconds) |
| 06:54:53 | → | xff0x joins (~xff0x@2001:1a81:5241:ba00:9669:dedb:a2c3:d63) |
| 06:58:08 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 06:58:12 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 06:59:35 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:00:15 | → | lili50 joins (~androirc@77.243.30.35) |
| 07:01:36 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 07:02:32 | × | lili50 quits (~androirc@77.243.30.35) (Client Quit) |
| 07:02:45 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 07:02:48 | <koala_man> | huh, it only happens when I use a ~/.cabal/config. when I specify the same options directly on the command line, it works |
| 07:05:19 | × | jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:06:37 | <koala_man> | well, at least I have a workaround |
| 07:09:16 | → | forgottenone joins (~forgotten@176.42.19.18) |
| 07:11:16 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 240 seconds) |
| 07:12:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:13:35 | → | _ht joins (~quassel@82.169.194.8) |
| 07:14:05 | × | deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 272 seconds) |
| 07:14:55 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 07:19:00 | <koala_man> | I had "ghc-options: -optc-Os" in there and when I comment it out, it caches as expected even though it should be used by both |
| 07:19:34 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 07:19:39 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
| 07:20:39 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 07:23:21 | × | gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 268 seconds) |
| 07:26:27 | → | michalz joins (~user@185.246.204.49) |
| 07:29:26 | × | tylerjl quits (~leothrix@elastic/staff/leothrix) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:32:27 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 07:32:47 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 07:32:59 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 07:35:39 | → | leothrix joins (~leothrix@elastic/staff/leothrix) |
| 07:36:50 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 07:37:33 | × | sim590 quits (~sim590@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 256 seconds) |
| 07:39:05 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 07:40:29 | → | sim590 joins (~sim590@modemcable090.207-203-24.mc.videotron.ca) |
| 07:44:22 | × | _xor quits (~xor@74.215.46.133) (Ping timeout: 260 seconds) |
| 07:45:00 | → | __minoru__shirae joins (~shiraeesh@109.166.59.8) |
| 07:46:01 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 07:46:13 | → | edge563 joins (~edge563@gateway/tor-sasl/edge563) |
| 07:46:29 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 07:48:18 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 07:48:18 | × | clmg quits (~clmg@2601:1c2:200:720:ffc:c4da:a960:d019) (Remote host closed the connection) |
| 07:49:27 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 256 seconds) |
| 07:51:22 | × | acidjnk_new2 quits (~acidjnk@p200300d0c724a28468193f3bf077429d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 07:52:12 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 272 seconds) |
| 07:52:52 | → | kuribas joins (~user@ptr-25vy0i9m2qfbjp4f8l6.18120a2.ip6.access.telenet.be) |
| 07:53:01 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 07:57:01 | → | dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
| 07:58:30 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
| 07:59:47 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 08:04:14 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
| 08:06:33 | → | coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
| 08:06:35 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 08:09:33 | × | darjeeling_ quits (~darjeelin@39.185.119.195) (Ping timeout: 264 seconds) |
| 08:09:45 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 08:11:47 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
| 08:13:57 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 08:14:27 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 08:17:56 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 08:18:30 | → | Yumasi joins (~guillaume@2a01:e0a:5cb:4430:1d1c:6484:7983:42aa) |
| 08:20:25 | × | ixaxaar quits (~ixaxaar@49.207.210.215) (Ping timeout: 240 seconds) |
| 08:22:53 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 08:23:52 | × | __minoru__shirae quits (~shiraeesh@109.166.59.8) (Ping timeout: 265 seconds) |
| 08:25:49 | → | _xor joins (~xor@74.215.46.133) |
| 08:28:09 | → | Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net) |
| 08:30:08 | → | knupfer joins (~Thunderbi@mue-88-130-61-167.dsl.tropolys.de) |
| 08:30:41 | → | ixaxaar joins (~ixaxaar@49.207.210.215) |
| 08:32:28 | → | sucre joins (bab7277b@186.183.39.123) |
| 08:34:35 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 08:34:50 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 08:37:34 | → | _noblegas joins (uid91066@gateway/web/irccloud.com/x-xbarswtqtvvrgsrx) |
| 08:39:12 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
| 08:39:34 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:39:35 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 08:40:01 | × | Yumasi quits (~guillaume@2a01:e0a:5cb:4430:1d1c:6484:7983:42aa) (Ping timeout: 265 seconds) |
| 08:40:43 | → | Yumasi joins (~guillaume@2a01:e0a:5cb:4430:8da1:7ed2:2494:cea) |
| 08:41:48 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 08:44:17 | ← | sucre parts (bab7277b@186.183.39.123) () |
| 08:45:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:46:28 | → | frobnicator joins (~frobnicat@185-227-75-147.dsl.cambrium.nl) |
| 08:47:03 | <frobnicator> | experimenting with haskell's generics I run into the problem that NoSelector type constructor cannot be found. I have imported GHC.Generics |
| 08:47:26 | <frobnicator> | the general case works: instance (GPrint a, Selector c) => GPrint (S1 c a) where ... |
| 08:48:23 | <frobnicator> | but this instance gives the error: instance GPrint a => GPrint (S1 NoSelector a) where |
| 08:48:51 | → | kritzefitz joins (~kritzefit@fw-front.credativ.com) |
| 08:49:19 | → | borne joins (~fritjof@200116b864f7290069fc6bd724c60777.dip.versatel-1u1.de) |
| 08:51:14 | <[exa]> | frobnicator: can you pastebin the code snippet and the error? |
| 08:51:29 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 08:52:49 | × | xcmw quits (~textual@dyn-72-33-2-47.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:53:45 | → | Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it) |
| 08:54:22 | × | xff0x quits (~xff0x@2001:1a81:5241:ba00:9669:dedb:a2c3:d63) (Ping timeout: 260 seconds) |
| 08:54:30 | → | shachaf_ joins (~shachaf@unaffiliated/shachaf) |
| 08:54:50 | × | shachaf quits (~shachaf@unaffiliated/shachaf) (Disconnected by services) |
| 08:54:57 | shachaf_ | is now known as shachaf |
| 08:55:08 | → | xff0x joins (~xff0x@2001:1a81:5241:ba00:8e3f:649f:1f66:7cc2) |
| 08:55:20 | → | waskell joins (~quassel@d66-183-230-153.bchsia.telus.net) |
| 08:55:25 | × | c-rog quits (~c-rog@traffic.simst.im) (Ping timeout: 240 seconds) |
| 08:55:54 | <frobnicator> | [exa]: https://termbin.com/64jt |
| 08:56:22 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 08:56:34 | <frobnicator> | that is a MWE, don't bother with the language extensions, they are mostly for other stuff not included in the mwe |
| 08:57:18 | × | waskell_ quits (~quassel@d66-183-230-153.bchsia.telus.net) (Ping timeout: 260 seconds) |
| 08:57:55 | → | c-rog joins (~c-rog@traffic.simst.im) |
| 09:00:03 | × | Vanilla[m] quits (danielm14@gateway/shell/matrix.org/x-djofesfrpiyljgri) (Quit: Idle for 30+ days) |
| 09:00:06 | × | pedrorubster[m] quits (pedrorubst@gateway/shell/matrix.org/x-pfrtranwguapeuuo) (Quit: Idle for 30+ days) |
| 09:00:09 | <tomsmeding> | frobnicator: what makes you think NoSelector should be in scope? |
| 09:00:29 | <frobnicator> | https://hackage.haskell.org/package/base-4.8.1.0/docs/GHC-Generics.html#t:NoSelector |
| 09:01:07 | <tomsmeding> | that's for base-4.8.1.0, which is for ghc 7.10.2 |
| 09:01:13 | <tomsmeding> | I'm assuming you're not _that_ outdated? |
| 09:01:38 | <tomsmeding> | i.e. NoSelector may have existed in the past, but it does not anymore :p |
| 09:02:01 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 09:02:02 | <frobnicator> | I used boilerplate from here: https://wiki.haskell.org/GHC.Generics and got inspired by: https://hackage.haskell.org/package/generic-pretty-0.1.0 |
| 09:02:06 | <frobnicator> | I see, thanks |
| 09:02:36 | <frobnicator> | so now I just check whether selName is empty to know whether it actually has a record selector? |
| 09:02:52 | <tomsmeding> | seems it disappeared with ghc 8.0 |
| 09:02:56 | <merijn> | tomsmeding: 7.10 is only a decade old! |
| 09:03:08 | <tomsmeding> | fair |
| 09:03:14 | <merijn> | oh, wait, it's newer |
| 09:03:33 | <merijn> | A mere 5 years |
| 09:03:55 | × | mankyKitty quits (sid31287@gateway/web/irccloud.com/x-grqpmbvetqwtlmpr) (Quit: Connection closed for inactivity) |
| 09:04:09 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-malrnayvmzxcgqzv) (Quit: Connection closed for inactivity) |
| 09:05:16 | <tomsmeding> | frobnicator: https://hackage.haskell.org/package/base-4.14.1.0/docs/src/GHC.Generics.html#line-1323 |
| 09:05:22 | <tomsmeding> | see that `fromMaybe ""` |
| 09:05:49 | <frobnicator> | thanks |
| 09:05:57 | <tomsmeding> | elsewhere on the GHC.Generics docs page (search for "record field" -- that has one hit) it says that that type field indicates whether there is a record selector |
| 09:05:59 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 09:06:15 | <tomsmeding> | so yes, if the return value from selName is empty, it's not a record field :) |
| 09:06:26 | <frobnicator> | thanks |
| 09:08:01 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 09:08:03 | <frobnicator> | it seems to work now so I'm happy. Generics in Haskell are quite different from Clean |
| 09:08:18 | × | sim590 quits (~sim590@modemcable090.207-203-24.mc.videotron.ca) (Quit: ZNC - http://znc.in) |
| 09:09:23 | → | Boomerang joins (~Boomerang@2a05:f6c7:2179:0:50ad:ccb:148c:6cba) |
| 09:10:09 | → | sim590 joins (~sim590@modemcable090.207-203-24.mc.videotron.ca) |
| 09:11:23 | <frobnicator> | strictness is not included for example, but constructors and records do include information about arity, type and index |
| 09:12:53 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 09:18:35 | → | fendor joins (~fendor@178.165.131.10.wireless.dyn.drei.com) |
| 09:22:08 | → | acidjnk_new2 joins (~acidjnk@p200300d0c724a28468193f3bf077429d.dip0.t-ipconnect.de) |
| 09:22:38 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:24:17 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 09:26:40 | → | ubert joins (~Thunderbi@p200300ecdf25d901ca5b76fffe29f233.dip0.t-ipconnect.de) |
| 09:26:55 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 09:29:22 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds) |
| 09:29:29 | × | polux200137 quits (~polux@51.15.169.172) (Quit: Ping timeout (120 seconds)) |
| 09:29:34 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 09:29:41 | → | polux200137 joins (~polux@51.15.169.172) |
| 09:30:21 | × | knupfer quits (~Thunderbi@mue-88-130-61-167.dsl.tropolys.de) (Ping timeout: 272 seconds) |
| 09:30:28 | → | knupfer1 joins (~Thunderbi@200116b82cd759003d2b154ff303e8ba.dip.versatel-1u1.de) |
| 09:30:52 | × | janne quits (~janne@punainen.org) (Quit: puf) |
| 09:31:06 | → | janne joins (~janne@punainen.org) |
| 09:31:09 | → | jmsx_ joins (~jordan@li1158-85.members.linode.com) |
| 09:31:37 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 268 seconds) |
| 09:31:38 | × | [df] quits (~ben@51.15.198.140) (Ping timeout: 272 seconds) |
| 09:32:01 | × | Clint quits (~Clint@libre.fm/hacker/clint) (Ping timeout: 256 seconds) |
| 09:32:16 | × | jluttine quits (~jluttine@85-23-95-149.bb.dnainternet.fi) (Ping timeout: 272 seconds) |
| 09:32:16 | × | jmsx quits (~jordan@li1158-85.members.linode.com) (Ping timeout: 272 seconds) |
| 09:32:51 | knupfer1 | is now known as knupfer |
| 09:32:54 | × | swater quits (bouhier200@perso.iiens.net) (Ping timeout: 272 seconds) |
| 09:33:03 | → | [df] joins (~ben@51.15.198.140) |
| 09:33:30 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 09:33:32 | × | b4er quits (~b4er@193.27.14.109) (Ping timeout: 272 seconds) |
| 09:33:44 | → | Clint joins (~Clint@libre.fm/hacker/clint) |
| 09:33:53 | → | b4er joins (~b4er@193.27.14.109) |
| 09:33:55 | → | swater joins (bouhier200@perso.iiens.net) |
| 09:34:57 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection) |
| 09:36:41 | × | rotaerk quits (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 246 seconds) |
| 09:42:57 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 09:42:59 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 09:43:15 | × | m4v1 quits (~m4v@139.28.218.148) (Remote host closed the connection) |
| 09:44:40 | → | jluttine joins (~jluttine@85-23-95-149.bb.dnainternet.fi) |
| 09:49:45 | → | mimi_vx joins (mimi@nat/suse/x-wthbpapyzzblydgr) |
| 09:50:03 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 09:54:04 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
| 09:54:25 | × | todda7 quits (~torstein@athedsl-258913.home.otenet.gr) (Ping timeout: 240 seconds) |
| 09:54:26 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 268 seconds) |
| 09:55:49 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 09:57:45 | × | p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 240 seconds) |
| 10:01:01 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 10:01:10 | → | chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de) |
| 10:02:20 | → | m0rphism1 joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
| 10:03:24 | × | neiluj quits (~jco@unaffiliated/neiluj) (Remote host closed the connection) |
| 10:04:48 | → | bahamas joins (~lucian@188.27.48.99) |
| 10:04:48 | × | bahamas quits (~lucian@188.27.48.99) (Changing host) |
| 10:04:48 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 10:05:30 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 10:06:26 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 10:06:58 | → | viluon joins (uid453725@gateway/web/irccloud.com/x-xypldvhtsmepkmee) |
| 10:07:41 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 10:08:09 | → | rotaerk joins (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) |
| 10:11:54 | → | todda7 joins (~torstein@athedsl-258913.home.otenet.gr) |
| 10:12:05 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 10:13:07 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 10:13:53 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 10:14:09 | → | p8m joins (p8m@gateway/vpn/protonvpn/p8m) |
| 10:16:53 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 10:17:55 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 10:24:12 | × | ubert quits (~Thunderbi@p200300ecdf25d901ca5b76fffe29f233.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:27:59 | → | Brukhar joins (~Brukhar@217.146.82.202) |
| 10:29:54 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 10:30:31 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 10:31:28 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds) |
| 10:32:11 | → | Tops2 joins (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) |
| 10:34:51 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 10:35:21 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 10:36:04 | → | bahamas joins (~lucian@188.27.48.99) |
| 10:36:04 | × | bahamas quits (~lucian@188.27.48.99) (Changing host) |
| 10:36:04 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 10:40:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 240 seconds) |
| 10:41:11 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 272 seconds) |
| 10:42:52 | → | sMuNiX joins (~sMuNiX@204.48.76.179) |
| 10:47:00 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 10:48:17 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 10:49:06 | <ij> | can lambdabot do those @ type annotations? (id @Double) :: Double -> Double |
| 10:49:29 | <ij> | I want to force a Num a into a Double in the fewest characters possible |
| 10:50:05 | <ij> | nope, not enabled. only now did I get the syntax right |
| 10:50:09 | <tomsmeding> | ij: yahb does |
| 10:50:17 | <tomsmeding> | % :t (id @Double) |
| 10:50:17 | <yahb> | tomsmeding: Double -> Double |
| 10:50:19 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 10:51:25 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 10:52:46 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 10:57:25 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 10:57:49 | → | fendor_ joins (~fendor@91.141.3.135.wireless.dyn.drei.com) |
| 10:58:40 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 10:58:41 | × | sMuNiX quits (~sMuNiX@204.48.76.179) (Read error: Connection reset by peer) |
| 10:59:04 | × | rotaerk quits (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 240 seconds) |
| 11:00:25 | × | fendor quits (~fendor@178.165.131.10.wireless.dyn.drei.com) (Ping timeout: 256 seconds) |
| 11:03:29 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 11:05:57 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 11:09:09 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 11:09:17 | → | gienah joins (~mwright@gentoo/developer/gienah) |
| 11:09:47 | × | hololeap quits (~hololeap@unaffiliated/hololeap) (Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/) |
| 11:10:20 | → | jedws joins (~jedws@101.184.202.248) |
| 11:10:25 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 11:13:17 | → | rotaerk joins (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) |
| 11:14:01 | → | ubert joins (~Thunderbi@p200300ecdf25d901ca5b76fffe29f233.dip0.t-ipconnect.de) |
| 11:14:13 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 11:14:40 | <idnar> | koala_man: ohhhhhh I've been scratching my head over the same issue for weeks! I have "ghc-options: -haddock" for HLS |
| 11:15:11 | <ph88^> | how would one have to constrain a programming language in order to prove it terminates ? |
| 11:15:38 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 264 seconds) |
| 11:16:32 | <ph88^> | maybe in other words: what programming language capabilities are left when made not turing complete |
| 11:18:33 | × | jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 11:19:11 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 11:20:33 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 11:20:52 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 256 seconds) |
| 11:21:00 | → | ftq joins (~ftq@85.255.237.66) |
| 11:21:28 | <kuribas> | ph88^: you need to prove recursion terminates |
| 11:21:54 | <kuribas> | usually by showing the recursive invocation is smaller then the current invocation. |
| 11:23:06 | <ph88^> | ok, any idea how i could do that ? |
| 11:23:52 | <kuribas> | so if you have a function f :: a -> b, you need another (total) function "measure :: a -> Integer", such that if f takes an argument x1 and recurses on x2, measure x1 > measure x2 |
| 11:24:25 | <kuribas> | it also implies proof capabilities of your language. |
| 11:24:41 | <kuribas> | Or you keep the language simple enough that it can never recurse unboundedly. |
| 11:25:17 | <ph88^> | how could i do it without proof capabilities but instead keep the language simple enough that it can never recurse unboundly ? |
| 11:25:34 | <kuribas> | don't allow recursion |
| 11:25:48 | <ph88^> | no middle ground ? |
| 11:26:13 | <kuribas> | middle ground between allowing or not allowing recursion? |
| 11:26:28 | <ph88^> | yes |
| 11:26:56 | <kuribas> | I see some contradiction there... |
| 11:27:03 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 11:27:09 | <ftq> | Is Programming in Haskell up-to-date? |
| 11:27:22 | <kuribas> | ph88^: what problem do you want to solve? |
| 11:27:29 | <byorgey> | ph88^: you can do this by e.g. only allowing recursion with folds |
| 11:27:48 | <ph88^> | kuribas, that its guaranteed that the program outputs something |
| 11:27:48 | × | cocreature quits (~cocreatur@eirene.uberspace.de) (Read error: Connection reset by peer) |
| 11:28:04 | <ph88^> | byorgey, can you elaborate on this ? |
| 11:28:04 | <kuribas> | ph88^: are you designing a language? |
| 11:28:09 | <ph88^> | kuribas, ye |
| 11:28:35 | → | cocreature joins (~cocreatur@eirene.uberspace.de) |
| 11:29:06 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 11:29:28 | <kuribas> | a fold always terminates on finite lists. |
| 11:29:41 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 11:30:01 | × | edge563 quits (~edge563@gateway/tor-sasl/edge563) (Ping timeout: 268 seconds) |
| 11:30:30 | <kuribas> | ph88^: if you want to go this route, you may want to study some total languages, like idris or agda... |
| 11:30:54 | <kuribas> | ph88^: or pie: https://thelittletyper.com/ |
| 11:31:28 | <ph88^> | we are studying this ... just the thing is that we are exploring what we can already do now to make it "more stable" without making the commitment yet to integrate with agda or something |
| 11:31:36 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 11:31:36 | <ph88^> | so limiting the language is one option for us |
| 11:31:44 | → | edge563 joins (~edge563@gateway/tor-sasl/edge563) |
| 11:31:46 | <ph88^> | that thing with only allowing recursion in folds sound good |
| 11:32:09 | <byorgey> | ph88^: every algebraic data type has a corresponding fold aka catamorphism. If you bake them into the language, you can disallow writing recursive functions and only allow calling the built-in folds. |
| 11:32:25 | <byorgey> | ph88^: for example, imagine if you could not write any explicitly recursive functions on lists, but you could call foldr. |
| 11:32:52 | <byorgey> | (well, this wouldn't work in Haskell because of laziness, lists can be infinite =) |
| 11:33:06 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds) |
| 11:33:54 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 11:35:32 | <ph88^> | our language is strict |
| 11:36:10 | <ph88^> | thanks for your input kuribas & byorgey |
| 11:36:40 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 11:37:43 | <swarmcollective> | What if you only allow recursion in pure functions, verify that there exists conditional logic at the point the function calls itself, and verify that the arg or args involved in the conditional logic involve some "mutation" (x + 1). You could at least provide a warning that infinite recursion is likely if one of those conditions are not met? |
| 11:38:57 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 11:39:32 | <ph88^> | Ya maybe .. we like to know more certain than "likely" though |
| 11:39:34 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 256 seconds) |
| 11:39:38 | <[exa]> | swarmcollective: this kindof forces you to actually have for-cycle-like conditions in the code, and then it's cleaner to do without recursion. |
| 11:39:40 | <ph88^> | like 100% certain |
| 11:39:41 | <swarmcollective> | The complexity would increase when multiple functions are involved, but the same principle would apply. |
| 11:40:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:40:21 | × | coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 11:40:25 | <byorgey> | swarmcollective: this is actually done (e.g. Agda), the idea is that you check that the arguments are getting "smaller". Under certain conditions you can prove that the function is certainly terminating. |
| 11:42:45 | <swarmcollective> | At the same time, it seems that non-provable loops may be necessary where IO is involved. "loop forever until the user enters :q" which may never happen. |
| 11:43:08 | <swarmcollective> | s/loops/infinite recursion |
| 11:43:51 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 11:44:24 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-xvjuaqpzyyceggep) |
| 11:45:45 | → | pera joins (~pera@unaffiliated/pera) |
| 11:45:48 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 11:45:57 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:46:09 | <kuribas> | you can have a non-total language on top of the total language to handle event loops. |
| 11:48:25 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 11:49:19 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 11:50:47 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 11:51:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 11:51:39 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:52:45 | → | aramend joins (~aramend@195.249.119.77) |
| 11:56:45 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 11:56:49 | → | neiluj joins (~jco@static.15.144.181.135.clients.your-server.de) |
| 11:56:49 | × | neiluj quits (~jco@static.15.144.181.135.clients.your-server.de) (Changing host) |
| 11:56:49 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 11:57:01 | × | MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾) |
| 11:57:07 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 11:57:15 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:57:33 | × | neiluj quits (~jco@unaffiliated/neiluj) (Client Quit) |
| 11:57:51 | → | neiluj joins (~jco@static.15.144.181.135.clients.your-server.de) |
| 11:57:51 | × | neiluj quits (~jco@static.15.144.181.135.clients.your-server.de) (Changing host) |
| 11:57:51 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 11:58:14 | × | ftq quits (~ftq@85.255.237.66) (Ping timeout: 264 seconds) |
| 11:58:45 | → | MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru) |
| 12:02:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 12:03:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:03:27 | <carbolymer> | I have emoji in one of the strings in the test case and it breaks tasty-discover, why is that? |
| 12:03:39 | <carbolymer> | also I'm the only person in the team with the problem |
| 12:03:51 | <carbolymer> | so I suspect I have incorrectly configured locale or sth? |
| 12:03:59 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:04:11 | <__monty__> | Sounds like a locale issue, yeah. |
| 12:04:20 | <__monty__> | Do you and your team all use UTF-8 locales? |
| 12:05:39 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 12:06:25 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 12:07:37 | <carbolymer> | yes |
| 12:08:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 12:08:51 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:11:45 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 12:12:05 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 240 seconds) |
| 12:13:14 | × | knupfer quits (~Thunderbi@200116b82cd759003d2b154ff303e8ba.dip.versatel-1u1.de) (Remote host closed the connection) |
| 12:13:22 | → | knupfer joins (~Thunderbi@200116b82cd759001808a70bb290b517.dip.versatel-1u1.de) |
| 12:13:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 12:14:39 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:15:01 | → | rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-gmicpttmmehoione) |
| 12:17:36 | → | __minoru__shirae joins (~shiraeesh@109.166.59.163) |
| 12:18:20 | → | coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
| 12:18:51 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:21:13 | <cheater> | byorgey: i hope someone called that the "zeno algorithm" |
| 12:21:35 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 12:21:43 | × | ubert quits (~Thunderbi@p200300ecdf25d901ca5b76fffe29f233.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 12:24:21 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 12:25:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 12:26:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:26:11 | → | mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl) |
| 12:26:11 | × | mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
| 12:26:11 | → | mouseghost joins (~draco@wikipedia/desperek) |
| 12:26:19 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 12:26:38 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 12:29:24 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 12:30:26 | × | revtintin quits (~revtintin@42.61.242.247) (Quit: WeeChat 1.9.1) |
| 12:31:42 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 12:31:57 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:32:29 | × | dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0) |
| 12:32:48 | → | dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
| 12:33:20 | × | dh quits (dh@bsd.ee) (Quit: Lost terminal) |
| 12:33:50 | → | dh joins (dh@bsd.ee) |
| 12:34:15 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:35:24 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 12:35:29 | <merijn> | carbolymer: emoji + only broken on some systems = first suspect is broken locale configuration |
| 12:36:06 | × | m1dnight_ quits (~m1dnight@188.ip-51-91-158.eu) (Quit: WeeChat 2.4) |
| 12:37:24 | → | m1dnight_ joins (~m1dnight@188.ip-51-91-158.eu) |
| 12:37:57 | → | cmcma20 joins (~cmcma20@l37-192-2-125.novotelecom.ru) |
| 12:37:59 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 12:41:09 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 12:43:10 | → | mizu_no_oto joins (~textual@cpe-66-66-222-11.rochester.res.rr.com) |
| 12:43:14 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 264 seconds) |
| 12:44:05 | → | timCF joins (~i.tkachuk@m91-129-101-103.cust.tele2.ee) |
| 12:45:36 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 12:46:23 | × | noctux quits (~noctux@unaffiliated/noctux) (Read error: Connection reset by peer) |
| 12:47:02 | → | noctux joins (~noctux@unaffiliated/noctux) |
| 12:47:45 | <timCF> | Hello! Do you know know any libraries/DSLs for definitions of state machines with some formal type-level (or term level) rules for state transitions? It seems like pretty difficult task to generalize, and usually people are building such things from scratch according domain tasks. But maybe there is something generic around? |
| 12:48:51 | × | m1dnight_ quits (~m1dnight@188.ip-51-91-158.eu) (Read error: Connection reset by peer) |
| 12:49:14 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 12:49:40 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 12:50:01 | → | m1dnight_ joins (~m1dnight@188.ip-51-91-158.eu) |
| 12:50:42 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 12:50:43 | → | Tario joins (~Tario@201.192.165.173) |
| 12:51:24 | <merijn> | I doubt it, tbh |
| 12:51:38 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:5542:a02b:6ef4:719e) (Ping timeout: 246 seconds) |
| 12:51:45 | → | jmsx joins (~jordan@li1158-85.members.linode.com) |
| 12:52:50 | × | Clint quits (~Clint@libre.fm/hacker/clint) (Ping timeout: 264 seconds) |
| 12:52:50 | × | jmsx_ quits (~jordan@li1158-85.members.linode.com) (Ping timeout: 264 seconds) |
| 12:52:50 | × | Forkk quits (forkk@2600:3c00::f03c:91ff:fe84:de4d) (Ping timeout: 264 seconds) |
| 12:52:59 | → | Forkk_ joins (forkk@2600:3c00::f03c:91ff:fe84:de4d) |
| 12:53:26 | × | cheers quits (user@unaffiliated/cheers) (Ping timeout: 264 seconds) |
| 12:54:01 | → | Clint joins (~Clint@libre.fm/hacker/clint) |
| 12:54:14 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 12:55:41 | → | cheers joins (user@unaffiliated/cheers) |
| 12:55:46 | → | boxscape joins (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) |
| 12:56:19 | <boxscape> | Am I right in thinking that Core doesn't have type inference? If so, does that make let expressions redundant, given lambda expressions? |
| 12:57:38 | × | __minoru__shirae quits (~shiraeesh@109.166.59.163) (Read error: No route to host) |
| 12:57:48 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 12:59:23 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) |
| 13:01:15 | <lortabac> | boxscape: maybe let's are needed for recursion? |
| 13:01:28 | <boxscape> | lortabac ah, good point |
| 13:02:57 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 13:04:12 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 13:04:21 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:b04a:c81a:c281:6323) |
| 13:05:52 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 13:08:10 | × | aramend quits (~aramend@195.249.119.77) (Quit: aramend) |
| 13:08:17 | → | aramend joins (~aramend@195.249.119.77) |
| 13:08:46 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 13:09:12 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 13:11:13 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 13:14:42 | → | __minoru__shirae joins (~shiraeesh@109.166.59.163) |
| 13:15:23 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 13:15:51 | → | carlomagno joins (~cararell@148.87.23.4) |
| 13:17:27 | → | son0p joins (~son0p@181.58.39.182) |
| 13:18:36 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 13:19:16 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 13:20:38 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 13:22:01 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c072:d296:b02a:1fd) |
| 13:26:03 | × | puffnfresh quits (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 256 seconds) |
| 13:27:43 | × | mizu_no_oto quits (~textual@cpe-66-66-222-11.rochester.res.rr.com) (Quit: Computer has gone to sleep.) |
| 13:27:49 | → | puffnfresh joins (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) |
| 13:30:31 | × | Brukhar quits (~Brukhar@217.146.82.202) (Remote host closed the connection) |
| 13:32:11 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 13:32:56 | × | pera quits (~pera@unaffiliated/pera) (Ping timeout: 272 seconds) |
| 13:34:20 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Read error: Connection reset by peer) |
| 13:37:04 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 13:37:39 | <merijn> | boxscape: Core has explicit type arguments, yeah |
| 13:37:55 | <boxscape> | okay |
| 13:39:07 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 13:39:22 | → | pera joins (~pera@unaffiliated/pera) |
| 13:41:26 | → | shridhar123 joins (~shridhar9@183.83.38.71) |
| 13:42:09 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 13:43:50 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 264 seconds) |
| 13:45:37 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 13:47:04 | → | ixlun joins (~user@213.205.241.221) |
| 13:47:30 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c072:d296:b02a:1fd) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:47:35 | <carbolymer> | merijn: yeah, I had export LANG=C.UTF-8 in my Makefile which was breaking emoji |
| 13:47:46 | <merijn> | carbolymer: Hah |
| 13:47:46 | <carbolymer> | strangely, I've added that to fix build previously |
| 13:47:53 | <ixlun> | Hi all, I was just wondering if anyone knew how native support for the Apple M1 chip was doing? |
| 13:48:00 | <merijn> | ixlun: In progress |
| 13:49:22 | <merijn> | ixlun: You can already run the x64 version of GHC on M1, but I think proper 1st class support will probably only be in 9.2? But I'm not sure, you'd have to check GHC gitlab to see how things are going |
| 13:49:37 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 13:50:25 | <merijn> | Which goes for pretty much all ARM support, I think, not just M1 |
| 13:51:21 | → | iqubic` joins (~user@c-67-171-38-72.hsd1.wa.comcast.net) |
| 13:51:42 | <ixlun> | Indeed, I was thinking that hopefully the M1 chip will help drive support for ARM platforms. |
| 13:52:53 | <merijn> | ixlun: angerman (and a few others?) have been slogging away at ARM support for a while now |
| 13:53:26 | × | iqubic quits (~user@2601:602:9500:4870:2469:bd3:184e:687f) (Ping timeout: 264 seconds) |
| 13:53:33 | → | mizu_no_oto joins (~textual@cpe-66-66-222-11.rochester.res.rr.com) |
| 13:53:51 | <angerman> | we'll likely have a native M1 8.10.5 release sometime soon, a 9.0.2 release sometime after that, and 9.2 should ship with a native codegen |
| 13:54:33 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 13:54:54 | <ixlun> | That's cool! I presume 8.10.5 and 9.0.2 will use the LLVM backend? |
| 13:55:14 | <angerman> | https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4795 |
| 13:55:14 | <angerman> | https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3641 |
| 13:55:26 | <angerman> | yes, 8.10.5 and 9.0.2 will have to rely on the llvm backend. |
| 13:55:46 | × | coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 13:56:21 | → | jedws joins (~jedws@101.184.202.248) |
| 13:56:22 | <angerman> | if apple hadn't gone with a custom c calling conv, we'd have had releases a few month ago. |
| 13:57:33 | <angerman> | the combination of apple deciding to build a custom c calling convention for aarch64 on darwin, and ghc cutting corners wrt to sized types in the backend meant we needed to (a) fix this properly in 9.2, and (b) find alternative fixes for legacy releases. |
| 13:58:12 | <angerman> | I don't think having 9.2 being the first aarch64-darwin compiler would be agood idea, especially as there will be plenty of library fallout, which would mean that the first likely useable version could be as far out as 9.6 or 9.8 |
| 13:59:06 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Remote host closed the connection) |
| 13:59:07 | → | ClaudiusMaximus joins (~claude@191.123.199.146.dyn.plus.net) |
| 13:59:12 | × | ClaudiusMaximus quits (~claude@191.123.199.146.dyn.plus.net) (Changing host) |
| 13:59:12 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 13:59:50 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 14:00:12 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 14:02:11 | <ixlun> | Huh, I didn't know that Apple used a custom calling convention, I assumed they would have just used the standard aarch64 PCS. Have they published the call standard that they use? |
| 14:04:02 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c072:d296:b02a:1fd) |
| 14:04:15 | × | danza quits (~francesco@151.53.74.130) (Ping timeout: 246 seconds) |
| 14:04:26 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 14:04:35 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c072:d296:b02a:1fd) (Client Quit) |
| 14:05:38 | → | alx741 joins (~alx741@186.178.110.250) |
| 14:06:51 | × | shridhar123 quits (~shridhar9@183.83.38.71) (Quit: Leaving) |
| 14:07:56 | → | hyperisco joins (~hyperisco@104-195-141-253.cpe.teksavvy.com) |
| 14:09:09 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
| 14:09:36 | → | danza joins (~francesco@151.53.65.193) |
| 14:10:03 | → | zangi joins (~azure@103.154.230.250) |
| 14:10:11 | × | pjb quits (~t@2a01cb04063ec500ac61b0739aec887b.ipv6.abo.wanadoo.fr) (Ping timeout: 272 seconds) |
| 14:10:12 | → | hseg joins (~gesh@185.120.124.95) |
| 14:10:15 | × | neiluj quits (~jco@unaffiliated/neiluj) (Quit: leaving) |
| 14:12:40 | × | forgottenone quits (~forgotten@176.42.19.18) (Quit: Konversation terminated!) |
| 14:12:42 | × | geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
| 14:12:54 | <zangi> | let's say I have a source file called Foo.hs, it has `import Foo; import Bar; import Baz` you name it, and it uses a function called `foo` from one of the imported modules, how do I find out which module `foo` function came from? |
| 14:13:37 | <carbolymer> | well, in such case only one of those modules can contain foo |
| 14:13:46 | <carbolymer> | otherwise you'll get compilation error |
| 14:14:14 | <zangi> | using hoogle seems inefficient, I have to `hoogle Foo` `hoogle Bar` `hoogle Baz` to find out where foo is located |
| 14:14:14 | <carbolymer> | zangi: and to find that out you need some additional tool, like HLS |
| 14:16:09 | → | polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
| 14:16:31 | → | absence joins (torgeihe@hildring.pvv.ntnu.no) |
| 14:16:45 | <Cale> | zangi: You can use hoogle to search for foo instead |
| 14:16:52 | × | aramend quits (~aramend@195.249.119.77) (Quit: aramend) |
| 14:18:10 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 14:19:23 | → | deviantfero joins (~deviantfe@190.150.27.58) |
| 14:20:19 | <absence> | are there other ways to pattern match using variables than with guards, e.g. "Just a | a == myvar"? i realise that "Just myvar" introduces a new myvar that shadows the other one |
| 14:20:39 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 14:21:16 | <zangi> | Cale: but then I have to see whether the resulted modules exist in Foo.hs, since it's not just one module that has `foo` function |
| 14:22:28 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 14:22:48 | <angerman> | ixlun: yes, they pack excess arguments on the stack (instead of assining each one an 64bit slot). Similarly extension is expected at the receiver. |
| 14:24:42 | <zangi> | carbolymer: that seems good, but I'm not a big fan of IDE, |
| 14:25:13 | <zangi> | I think I have to write simple script for this, i.e. `sed -n '/import\s\+\(qualified\s\+\)\?/s///p' Foo.hs | sed 's/\s.*//; s/(.*//'` |
| 14:25:31 | <geekosaur> | absence, no |
| 14:25:46 | <geekosaur> | you cannot use pattern matching to test equality except in the case of constructors |
| 14:27:24 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 14:29:33 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer) |
| 14:29:48 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 14:30:22 | × | acidjnk_new2 quits (~acidjnk@p200300d0c724a28468193f3bf077429d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 14:31:01 | <absence> | geekosaur: right, that makes sense. i don't suppose there are any extensions that could be (ab)used to make the syntax "nicer"? |
| 14:31:12 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 14:31:23 | <geekosaur> | not so far as I am aware |
| 14:31:33 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer) |
| 14:31:48 | <geekosaur> | pattern synonyms handle certain specific cases though |
| 14:32:35 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 14:33:25 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 14:33:42 | → | coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
| 14:35:20 | <absence> | geekosaur: with viewpatterns i guess i could write something like "Just ((== myvar) -> True)", but it's hardly an improvement. :) pattern synonyms seem daunting, which specific cases do you mean? |
| 14:35:21 | × | _vaibhavingale_ quits (~Adium@203.188.228.9) (Ping timeout: 264 seconds) |
| 14:36:18 | <geekosaur> | you can't capture existing bindings for use in the definition of the synonym, only literals |
| 14:36:25 | × | hseg quits (~gesh@185.120.124.95) (Ping timeout: 240 seconds) |
| 14:36:27 | <geekosaur> | which again means it's not helpful |
| 14:36:49 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 14:37:25 | <merijn> | absence: What's the type of 'a'? |
| 14:37:59 | <absence> | merijn: hm, i guess bytestring |
| 14:39:20 | <merijn> | absence: Why both with the pattern match, you could just do something like "maybe False (==myvar)"? |
| 14:39:30 | <merijn> | (assuming Nothing should be False) |
| 14:39:33 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 14:39:46 | <merijn> | :t \x -> maybe False (==x) |
| 14:39:47 | <lambdabot> | Eq a => a -> Maybe a -> Bool |
| 14:39:50 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 14:40:18 | <absence> | merijn: ah right, the Maybe was just an excuse to pattern match in a small example, the real type is a nested monstrosity |
| 14:40:46 | <merijn> | In that case "abstract out as much of the monstrosity as possible :p |
| 14:41:04 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c072:d296:b02a:1fd) |
| 14:42:49 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c072:d296:b02a:1fd) (Client Quit) |
| 14:43:06 | <absence> | merijn: i could certainly make it into a Maybe that way. i'll keep that in mind for when/if i have to match it against multiple values, thanks! |
| 14:44:22 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 260 seconds) |
| 14:44:30 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 14:45:35 | → | hseg joins (~gesh@185.120.124.95) |
| 14:46:41 | → | lemmih joins (~lemmih@2406:3003:2072:44:d7ba:3597:c07a:fe3d) |
| 14:47:24 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Read error: Connection reset by peer) |
| 14:50:05 | × | seveg quits (~gabriel@188-167-252-202.dynamic.chello.sk) (Ping timeout: 240 seconds) |
| 14:51:01 | × | zangi quits (~azure@103.154.230.250) (Ping timeout: 265 seconds) |
| 14:51:44 | → | zangi joins (~azure@103.154.230.250) |
| 14:54:13 | → | dandart joins (~Thunderbi@home.dandart.co.uk) |
| 14:54:47 | × | dandart quits (~Thunderbi@home.dandart.co.uk) (Client Quit) |
| 14:56:58 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 14:57:11 | × | geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed) |
| 14:57:28 | → | _vaibhavingale_ joins (~Adium@42.106.216.206) |
| 15:02:07 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 15:02:41 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer) |
| 15:03:18 | × | Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving) |
| 15:04:14 | → | darjeeling_ joins (~darjeelin@39.185.119.195) |
| 15:07:41 | → | ulidtko joins (~ulidtko@194.54.80.38) |
| 15:09:43 | → | whald joins (~trem@2a02:810a:8100:11a6:49d8:fc82:15f5:ecec) |
| 15:10:39 | × | jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:10:58 | × | cmcma20 quits (~cmcma20@l37-192-2-125.novotelecom.ru) (Remote host closed the connection) |
| 15:11:11 | × | son0p quits (~son0p@181.58.39.182) (Quit: leaving) |
| 15:12:07 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 15:12:32 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 15:12:33 | → | dandart joins (~Thunderbi@home.dandart.co.uk) |
| 15:12:56 | Moyst_ | is now known as Moyst |
| 15:12:58 | × | zangi quits (~azure@103.154.230.250) (Quit: WeeChat 2.9) |
| 15:14:15 | → | Stuk joins (~Stuk@139.28.218.148) |
| 15:15:20 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 15:16:45 | × | tsrt^ quits (tsrt@ip98-184-89-2.mc.at.cox.net) () |
| 15:19:23 | × | raym quits (~ray@45.64.220.53) (Quit: leaving) |
| 15:19:40 | → | raym joins (~ray@115.187.32.9) |
| 15:20:30 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 15:21:20 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 15:21:48 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 15:22:41 | × | dandart quits (~Thunderbi@home.dandart.co.uk) (Quit: dandart) |
| 15:23:25 | × | Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 240 seconds) |
| 15:24:31 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 15:25:27 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer) |
| 15:26:08 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 15:29:53 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 15:31:35 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 15:32:35 | × | ixlun quits (~user@213.205.241.221) (Ping timeout: 265 seconds) |
| 15:33:33 | × | _vaibhavingale_ quits (~Adium@42.106.216.206) (Ping timeout: 264 seconds) |
| 15:34:12 | <merijn> | Anyone happen to know what the timeline for cabal-install 3.4 is now that GHC 9 is finally out? |
| 15:34:27 | × | rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-gmicpttmmehoione) (Quit: Connection closed for inactivity) |
| 15:35:39 | × | coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 15:36:33 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 15:36:50 | → | _vaibhavingale_ joins (~Adium@203.188.228.9) |
| 15:37:50 | × | srk quits (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection) |
| 15:37:50 | × | hexo quits (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection) |
| 15:37:50 | → | xcmw joins (~textual@dyn-72-33-2-47.uwnet.wisc.edu) |
| 15:38:07 | → | srk joins (~sorki@gateway/tor-sasl/sorki) |
| 15:38:09 | → | hexo joins (~hexo@gateway/tor-sasl/hexo) |
| 15:39:28 | <merijn> | And, unrelatedly, can I simply mv ~/.cabal/store somewhere else and update ~/.cabal/config and expect everything to "Just Work (TM)"? |
| 15:39:37 | × | fredcy quits (~fredcy@mail.yankowski.com) (Ping timeout: 268 seconds) |
| 15:40:33 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 15:41:08 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 15:41:36 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 15:42:21 | → | fredcy joins (~fredcy@mail.yankowski.com) |
| 15:42:41 | → | seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) |
| 15:43:32 | → | jedws joins (~jedws@101.184.202.248) |
| 15:43:46 | → | elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 15:44:43 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 15:44:50 | × | jedws quits (~jedws@101.184.202.248) (Client Quit) |
| 15:45:19 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 15:45:38 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Ping timeout: 264 seconds) |
| 15:49:43 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 15:50:02 | → | cuz joins (~user@2601:182:cc02:8b0:cc62:3a06:1cda:4f46) |
| 15:50:04 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:50:23 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 15:50:50 | <merijn> | Not all at once ;) |
| 15:51:29 | × | hekkaidekapus[ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds) |
| 15:51:31 | × | Boomerang quits (~Boomerang@2a05:f6c7:2179:0:50ad:ccb:148c:6cba) (Ping timeout: 272 seconds) |
| 15:51:45 | → | slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net) |
| 15:51:53 | <cuz> | does anyone know what you would call a type that can be either a single value of type a or a list of values (all of which are type a)? |
| 15:51:58 | <merijn> | But I've got another question: I know how to make a hierarchy using the Exception class, but there's no real way to "adopt" an existing exception to add it to my hierarchy, right? |
| 15:52:16 | <merijn> | cuz: NonEmpty? :p |
| 15:52:48 | <merijn> | cuz: What you describe basically sounds like "a list that's never empty" (1 value just be a single element list) |
| 15:53:34 | × | mizu_no_oto quits (~textual@cpe-66-66-222-11.rochester.res.rr.com) (Quit: ["Textual IRC Client: www.textualapp.com"]) |
| 15:53:39 | → | hiptobecubic joins (~john@unaffiliated/hiptobecubic) |
| 15:56:53 | <lortabac> | to me it sounds like a normal list |
| 15:57:25 | <lortabac> | unless there is some semantic distinction between 'Only x' and '[x]' |
| 15:57:35 | → | forgottenone joins (~forgotten@176.42.17.164) |
| 15:58:06 | → | ixlun joins (~user@213.205.241.221) |
| 16:00:03 | <merijn> | lortabac: Ah, I had assumed the list to not be empty, but you're right |
| 16:00:48 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 16:01:08 | → | hekkaidekapus[ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 16:02:19 | <lortabac> | merijn: btw, resuming a discussion from yesterday... it still isn't clear to me how '(\_ -> x) y' is optimized to 'x' |
| 16:02:42 | → | pjb joins (~t@2a01cb04063ec500fd9a528e1ab44688.ipv6.abo.wanadoo.fr) |
| 16:02:47 | <merijn> | lortabac: That seems trivial |
| 16:03:21 | <merijn> | lortabac: lambda + argument is trivial to rewrite into "just subtitute argument in the lambda body" |
| 16:03:34 | <merijn> | And if the lambda binding is a wildcard _, you don't even have to do anything |
| 16:03:58 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 16:04:06 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-wvvgdsbomferygig) |
| 16:04:26 | <c_wraith> | is that the process ghc calls simplification? |
| 16:05:13 | <slack1256> | Is there any downside on having `row types` on a language/ecosystem? This is apart of implementation details on the compiler. |
| 16:05:21 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 246 seconds) |
| 16:05:24 | <slack1256> | I`ve only heard nice things about them. |
| 16:06:12 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 16:07:32 | → | prinned joins (~vvkrip0@103.206.114.67) |
| 16:11:09 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 272 seconds) |
| 16:11:56 | × | prinned quits (~vvkrip0@103.206.114.67) (Quit: WeeChat 2.9) |
| 16:12:50 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:13:32 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 16:14:54 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:15:51 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 16:16:27 | → | Deide joins (~Deide@217.155.19.23) |
| 16:17:18 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 16:17:40 | × | liyang quits (~liyang@90.253.54.54) (Quit: leaving) |
| 16:18:33 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 16:18:37 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer) |
| 16:22:28 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 16:24:59 | → | zaquest joins (~notzaques@5.128.210.178) |
| 16:25:56 | × | mimi_vx quits (mimi@nat/suse/x-wthbpapyzzblydgr) (Ping timeout: 240 seconds) |
| 16:26:16 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 16:26:35 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 16:27:23 | × | alx741 quits (~alx741@186.178.110.250) (Ping timeout: 256 seconds) |
| 16:28:54 | → | Boomerang joins (~Boomerang@2a05:f6c7:2179:0:50ad:ccb:148c:6cba) |
| 16:29:14 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection) |
| 16:32:42 | → | mirrorbird joins (~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) |
| 16:32:51 | → | electricityZZZZ joins (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) |
| 16:35:42 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 16:39:33 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 16:40:10 | → | alx741 joins (~alx741@186.178.110.40) |
| 16:45:10 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 16:46:43 | × | berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
| 16:47:13 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 16:47:16 | × | forell quits (~forell@unaffiliated/forell) (Ping timeout: 256 seconds) |
| 16:48:27 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 16:48:44 | → | nnm joins (~nnm@109-252-35-129.nat.spd-mgts.ru) |
| 16:53:24 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 16:54:20 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds) |
| 16:55:21 | → | danvet_ joins (~danvet@212-51-149-181.fiber7.init7.net) |
| 16:58:17 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:ccf7:ea8d:5b43:dead) |
| 17:01:05 | × | boxscape quits (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Ping timeout: 240 seconds) |
| 17:03:13 | <ph88^> | is it possible to initialize a git repository as part of stack new project my-template ? |
| 17:03:46 | <c_wraith> | I don't see why not. It's just a matter of creating a .git directory with a few files inside it |
| 17:04:13 | <c_wraith> | when you have no commits and no remotes, there isn't much present |
| 17:05:23 | × | hseg quits (~gesh@185.120.124.95) (Ping timeout: 265 seconds) |
| 17:05:39 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 17:06:05 | → | supercoven joins (~Supercove@196.244.192.57) |
| 17:06:06 | × | supercoven quits (~Supercove@196.244.192.57) (Max SendQ exceeded) |
| 17:06:12 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 17:06:20 | → | supercoven joins (~Supercove@196.244.192.57) |
| 17:06:21 | × | supercoven quits (~Supercove@196.244.192.57) (Max SendQ exceeded) |
| 17:06:35 | → | supercoven joins (~Supercove@196.244.192.57) |
| 17:06:36 | × | supercoven quits (~Supercove@196.244.192.57) (Max SendQ exceeded) |
| 17:06:50 | → | supercoven joins (~Supercove@196.244.192.57) |
| 17:07:50 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:b04a:c81a:c281:6323) (Ping timeout: 246 seconds) |
| 17:07:54 | × | nnm quits (~nnm@109-252-35-129.nat.spd-mgts.ru) (Quit: nnm) |
| 17:08:42 | <c_wraith> | ph88^: checkout out /usr/share/git-core/templates to see what directories and files git init creates by default |
| 17:08:42 | × | vchlup quits (~vchlup@nat.brnet.cz) (Read error: Connection reset by peer) |
| 17:09:04 | <ph88^> | thanks c_wraith :) |
| 17:09:26 | → | vchlup joins (~vchlup@nat.brnet.cz) |
| 17:10:40 | <c_wraith> | It creates a couple more files by default. check on the results of running `git init` in an empty directory |
| 17:15:45 | × | danvet_ quits (~danvet@212-51-149-181.fiber7.init7.net) (Ping timeout: 240 seconds) |
| 17:18:21 | ← | cuz parts (~user@2601:182:cc02:8b0:cc62:3a06:1cda:4f46) ("ERC (IRC client for Emacs 27.1)") |
| 17:20:17 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:f37e:89b0:6afc:b223) |
| 17:20:55 | → | juuandyy joins (~juuandyy@90.106.228.121) |
| 17:22:21 | × | elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 17:22:27 | × | whald quits (~trem@2a02:810a:8100:11a6:49d8:fc82:15f5:ecec) (Remote host closed the connection) |
| 17:22:36 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection) |
| 17:28:56 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 17:30:40 | → | hiroaki joins (~hiroaki@2a02:908:4b18:8c40::e69c) |
| 17:33:41 | × | chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 17:36:05 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Ping timeout: 240 seconds) |
| 17:36:10 | → | aramend joins (~aramend@5.186.116.118.cgn.fibianet.dk) |
| 17:37:03 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 17:37:33 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 17:42:26 | fendor_ | is now known as fendor |
| 17:44:18 | → | charukiewicz joins (~charukiew@irouteince04.i.subnet.rcn.com) |
| 17:44:21 | → | hseg joins (~gesh@185.120.124.95) |
| 17:46:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 17:47:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:48:26 | → | bitmagie joins (~Thunderbi@200116b806be210060ed087e803904ac.dip.versatel-1u1.de) |
| 17:50:22 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection) |
| 17:53:28 | → | sagry joins (bab727b4@186.183.39.180) |
| 17:54:05 | → | ambidextrose joins (~fut-learn@107.72.97.52) |
| 17:56:37 | ← | ambidextrose parts (~fut-learn@107.72.97.52) () |
| 17:56:54 | × | haritz quits (~hrtz@unaffiliated/haritz) (Read error: Connection reset by peer) |
| 17:57:00 | × | juuandyy quits (~juuandyy@90.106.228.121) (Ping timeout: 246 seconds) |
| 17:58:02 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 17:58:03 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 17:59:09 | × | sz0 quits (uid110435@gateway/web/irccloud.com/x-ooxwbbjjmicufxrr) (Quit: Connection closed for inactivity) |
| 17:59:18 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 17:59:49 | × | kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
| 18:00:01 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 18:00:44 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 18:01:17 | → | haritz joins (~hrtz@62.3.70.206) |
| 18:01:17 | × | haritz quits (~hrtz@62.3.70.206) (Changing host) |
| 18:01:17 | → | haritz joins (~hrtz@unaffiliated/haritz) |
| 18:02:44 | ← | sagry parts (bab727b4@186.183.39.180) () |
| 18:03:12 | × | rajivr quits (uid269651@gateway/web/irccloud.com/x-lahbxsmpijdsyxwl) (Quit: Connection closed for inactivity) |
| 18:03:47 | <hseg> | hey, trying to set a breakpoint in a where clause, ghci complains that "no breakpoint found" when i try by-line syntax and "parse error" when i try qualification syntax |
| 18:03:48 | <hseg> | (i.e. :break line and :break top.clause, resp) |
| 18:03:56 | × | Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds) |
| 18:05:16 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 240 seconds) |
| 18:05:36 | → | jakob_ joins (~textual@p200300f49f0a5500b1781738d6a5e868.dip0.t-ipconnect.de) |
| 18:06:50 | → | Saukk joins (~Saukk@83-148-239-3.dynamic.lounea.fi) |
| 18:06:59 | × | _noblegas quits (uid91066@gateway/web/irccloud.com/x-xbarswtqtvvrgsrx) (Quit: Connection closed for inactivity) |
| 18:07:43 | → | juuandyy joins (~juuandyy@90.106.228.121) |
| 18:08:56 | → | Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it) |
| 18:10:51 | → | frozenErebus joins (~frozenEre@94.128.81.133) |
| 18:11:04 | <monochrom> | works for me. Perhaps pay attention to two points. |
| 18:11:29 | <monochrom> | 1. "Specifically, it picks the leftmost complete subexpression on that line" |
| 18:12:05 | <monochrom> | So if you have no expression on that line, that's a problem |
| 18:12:25 | <monochrom> | 2. "of the most recently-loaded module" |
| 18:12:57 | <hseg> | http://ix.io/2P4k -- can't set a breakpoint at inductive.subs |
| 18:13:07 | <hseg> | <interactive>:1:12: error: parse error on input ‘.’ |
| 18:13:27 | × | Saukk quits (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
| 18:14:00 | <monochrom> | Well there you go, "subs n l =" no expression on this line |
| 18:14:25 | × | dwt quits (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 240 seconds) |
| 18:14:43 | × | mirrorbird quits (~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) (Quit: Leaving) |
| 18:15:20 | <monochrom> | I really tested it. I had " n = length s * 4 + 1" and ":break <that line number>" means the "length s * 4 + 1", not the "n". |
| 18:15:37 | <monochrom> | err nevermind |
| 18:18:52 | → | hekkaidekapus] joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 18:19:09 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 18:19:47 | <monochrom> | Still works for me. I have: |
| 18:19:49 | <monochrom> | n = |
| 18:19:59 | <monochrom> | (+ 1) . (* 4) . length $ |
| 18:20:01 | <monochrom> | s |
| 18:20:30 | <monochrom> | I did ":break <line number of (+ 1) . (* 4) . length $>" and it was a success. |
| 18:20:33 | <hseg> | Prelude Main> :break Main 109 |
| 18:20:35 | <hseg> | No breakpoints found at that location. |
| 18:21:15 | <monochrom> | Well that would be when I tried ":break <line number of n =>" |
| 18:21:20 | × | hekkaidekapus[ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds) |
| 18:21:25 | → | coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
| 18:21:37 | <monochrom> | You also realize that the magic number "109" means nothing to me, don't you? |
| 18:21:38 | <hseg> | cabal.project: http://ix.io/2P4o |
| 18:21:45 | <hseg> | 109 is the line number |
| 18:21:56 | × | knupfer quits (~Thunderbi@200116b82cd759001808a70bb290b517.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
| 18:22:00 | <monochrom> | OK I'm done. |
| 18:22:28 | × | tzlil quits (~tzlil@unaffiliated/tzlil) (Ping timeout: 256 seconds) |
| 18:22:36 | <hseg> | ok, thanks then |
| 18:22:53 | → | knupfer joins (~Thunderbi@mue-88-130-61-167.dsl.tropolys.de) |
| 18:23:09 | → | tzlil joins (~tzlil@unaffiliated/tzlil) |
| 18:23:34 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 18:23:44 | <geekosaur> | how does this 109 relate to the 10-line paste you showed earlier? |
| 18:23:55 | <geekosaur> | to be more specific |
| 18:24:26 | → | vchlup_ joins (~vchlup@nat.brnet.cz) |
| 18:24:30 | <hseg> | 10-line paste is excerpt from actual code, starting at line 104 |
| 18:24:36 | × | timCF quits (~i.tkachuk@m91-129-101-103.cust.tele2.ee) (Quit: leaving) |
| 18:24:40 | <hseg> | so in that snipped, should've been :break 5 |
| 18:25:01 | <hseg> | :facepalm |
| 18:25:09 | × | vchlup quits (~vchlup@nat.brnet.cz) (Ping timeout: 264 seconds) |
| 18:25:13 | <geekosaur> | hm, you said you wanted subs |
| 18:25:19 | <geekosaur> | which would be line 8 of that paste |
| 18:25:50 | → | mizu_no_oto joins (~textual@cpe-66-66-222-11.rochester.res.rr.com) |
| 18:25:57 | <hseg> | yeah just realized i missed monochrom's warning re putting the breakpoint at rhs, not lhs of bindings |
| 18:26:00 | <hseg> | it works |
| 18:26:30 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-mpkeicsrzhkjjmag) |
| 18:26:41 | <hseg> | though qualification syntax doesn't, for some reason |
| 18:26:46 | <hseg> | but this is good enough for me |
| 18:26:46 | <geekosaur> | it wouldn't |
| 18:26:51 | <hseg> | why not? |
| 18:27:03 | <monochrom> | There is no "qualification syntax". |
| 18:27:07 | <geekosaur> | afaik the only thing that actually "qualifies" that way is profiling output |
| 18:27:51 | <monochrom> | If you're looking at ":break <qualified name/identifier> also works", that's for module.name |
| 18:28:01 | <monochrom> | Clearly, "inductive" is not a module |
| 18:28:32 | <monochrom> | ":break <qualified name/identifier>" would mean for example "Prelude.id" |
| 18:29:50 | <monochrom> | But generally, fundamentally break points are set for expressions, not for definitions. Even though there is a shortcut that lets you talk about a definition. |
| 18:29:52 | <hseg> | :break [ModQual.]topLevelIdent[.nestedIdent]...[.nestedIdent] ? |
| 18:30:13 | <monochrom> | There is no "nestedIdent". |
| 18:30:26 | <hseg> | https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html says otherwise |
| 18:30:34 | <hseg> | though that might be new |
| 18:31:04 | <hseg> | yeah, was looking at the wrong docs |
| 18:31:05 | <monochrom> | And which version of GHC is that? |
| 18:31:06 | <hseg> | sorry |
| 18:31:34 | <hseg> | somehow reading comprehension flies out the window when there're people around to help |
| 18:32:15 | <monochrom> | Generally you should develop the habit of downloading and using local docs that match your versions, and don't trust Google. |
| 18:32:48 | <hseg> | k |
| 18:33:43 | → | johnw joins (~johnw@haskell/developer/johnw) |
| 18:34:50 | <monochrom> | https://www.tweag.io/blog/2021-02-10-linear-base/ interesting. (by way of Haskell Weekly News) |
| 18:35:31 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 18:36:35 | → | dwt joins (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) |
| 18:36:36 | <monochrom> | tldr a library of linear variants of base things |
| 18:37:15 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Read error: No route to host) |
| 18:37:18 | → | jamm__ joins (~jamm@unaffiliated/jamm) |
| 18:37:58 | <geekosaur> | actually that's what it says it isn't, it's more a core of basic linear-types programming utilities |
| 18:38:34 | <monochrom> | Ah ok oops |
| 18:38:35 | <geekosaur> | with relatively few replacements for things in base |
| 18:39:47 | <monochrom> | Still, it helps a lot. |
| 18:40:31 | <geekosaur> | one suspects it'd also help answer the question someone raised a few weeks ago about why someone would want linear types |
| 18:40:49 | <monochrom> | :) |
| 18:40:58 | <monochrom> | Naw I don't think it answers that. |
| 18:41:28 | <geekosaur> | well, if it has some basic linear-typed tools, presumably those show what you gain from them |
| 18:41:28 | <monochrom> | A real answer would need a real benefit, which is at least one of {safety, efficiency}. |
| 18:41:39 | → | mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
| 18:42:12 | → | ClaudiusMaximus joins (~claude@191.123.199.146.dyn.plus.net) |
| 18:42:27 | <monochrom> | For now, neither actually happens. The safety side has a gaping loophole via the exception system. The efficiency side simply hasn't happened and has no reason to happen for the next two years. |
| 18:42:33 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 18:42:40 | × | ClaudiusMaximus quits (~claude@191.123.199.146.dyn.plus.net) (Changing host) |
| 18:42:40 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 18:43:04 | <monochrom> | What a library does, the only thing it can do, is to alleviate the chore of reinventing utility functions. |
| 18:43:14 | <merijn> | monochrom: oh, maybe they'll hire me as naive optimist to work out the exception side, because I have opinions :p |
| 18:45:22 | <monochrom> | OK, I concede, sometimes people write code for the asethetic of the code, even when the code means garbage in terms of semantics. |
| 18:45:43 | <hseg> | code as art? |
| 18:46:09 | <geekosaur> | "perl poetry", sounds like :) |
| 18:46:49 | <geekosaur> | that, or Piet (or Mondrian) |
| 18:46:59 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 18:47:38 | <monochrom> | linear haskell poems and dependent haskell satires |
| 18:47:59 | → | kw joins (d4662d5d@212.102.45.93) |
| 18:48:10 | → | tremon joins (~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
| 18:48:27 | × | frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 246 seconds) |
| 18:48:31 | <monochrom> | https://dev.to/soriyeak/extensible-record-in-haskell-using-vinyl-for-noob-1l65 |
| 18:48:39 | <monochrom> | "Warning: vinyl record field takes order into the matter, so if you put the wrong order, it will causes the type error." |
| 18:49:30 | <monochrom> | The cause is that vinyl uses a type-level list, not set, to state the field names and field types of your record. |
| 18:50:04 | <kw> | If I run with `blockSignals` (from System.Posix.Signals) and a signal gets blocked, is it re-thrown as soon as I unblock that signal, or is it gone forever? |
| 18:50:06 | <monochrom> | Clearly, list is too specific for stating record content. |
| 18:50:22 | <geekosaur> | kw, it's on hold until unblocked |
| 18:50:25 | <monochrom> | Ideally you would want a type-level set so that order doesn't quite matter. |
| 18:50:36 | <merijn> | kw: Oh, easy answer: There is absolutely zero hope of sensibly handling signals in the current RTS |
| 18:50:46 | <kw> | geekosaur: Thanks! |
| 18:50:47 | <geekosaur> | but note that signal handling in Haskell is harum-scarum |
| 18:50:47 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 18:50:48 | <merijn> | Any hopes/dreams of doing so is hopeless lies |
| 18:50:55 | <monochrom> | kw, with signals, there is no re-thrown, only pending and delivered. |
| 18:51:10 | <merijn> | geekosaur: Making it not stupid is at the top of my post-thesis todo list, so there's hope! |
| 18:51:14 | <kw> | Right, so it's stuck pending and then once I unblock it's delivered? |
| 18:51:20 | <geekosaur> | yes |
| 18:51:46 | <merijn> | geekosaur: I don't think that question is possible to answer without consulting the unix package source, tbh |
| 18:52:02 | <merijn> | kw: I recommend healthy skepticism to the above answers |
| 18:52:04 | <monochrom> | where "pending" is very simply "waiting to be delivered", and the reasons of waiting are simply either getting blocked (so wait until unblocking) or the OS is being slow. |
| 18:52:05 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection) |
| 18:52:14 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) |
| 18:52:46 | <electricityZZZZ> | sorry to mention cryptocurrency here, but this is sort-of relevant to haskell: if anyone here operates a cardano stake pool or knows much about them please pm me? i have a few questions |
| 18:52:47 | <monochrom> | merijn, I had a post-thesis todo list too. |
| 18:52:49 | <merijn> | monochrom: Well, whether all that is true would depend on how unix implements masking per thread or process wide, etc. |
| 18:53:15 | <monochrom> | Guess what, it has been waiting for 9 years and I still haven't touched it :) |
| 18:53:26 | → | mimi_vx joins (~mimi@2a01:490:16:1026:54d:93e0:a239:fb65) |
| 18:53:32 | <kw> | Awsome. Was wondering why `Xmobar` installs a bunch of signal handlers (that each stash a specific signal in an `MVar` ) over each other in a `for_` loop, then runs an action, and then resets the signal handler to default. Looks like the answer is 'no reason at all'. |
| 18:54:01 | <merijn> | monochrom: Well, it's stuff I need for my own things |
| 18:54:15 | <merijn> | kw: Wow, that's cursed |
| 18:54:25 | <slack1256> | monochrom: How big of a problem is that row types are modeled as an `HList` in practice? |
| 18:54:28 | <merijn> | RIP your sanity trying to touch this |
| 18:54:34 | <geekosaur> | the original author of xmobar didn't know what he was doing even without the Haskell runtime |
| 18:54:38 | <merijn> | slack1256: Well, for one, they're not row types |
| 18:55:05 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 18:55:30 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 18:55:51 | <merijn> | slack1256: Row types generally function on something more set like and allow you to work with arbitrary size "rows", which becomes impossible if you have a fixed order |
| 18:56:51 | <slack1256> | I thought the problem was the `union` function which seems to be doable with `HList`s. |
| 18:56:59 | <merijn> | geekosaur: Personally, I feel it's safe to assume that *all* signal code was written by people who didn't know what they were doing, unless it's commented with references to either 1) POSIX spec or 2) APUE |
| 18:57:12 | <monochrom> | slack1256: I think some people just put up with "order matters" (to be fair it is usually OK), some other people add a ton of HasNameString, HasAgeInt boilerplate classes to alleviate it. |
| 18:57:21 | × | mizu_no_oto quits (~textual@cpe-66-66-222-11.rochester.res.rr.com) (Quit: Computer has gone to sleep.) |
| 18:57:36 | <geekosaur> | merijn, arossato was something of a special case. I think we're still cleaning up messes they made |
| 18:57:42 | <monochrom> | (so in the latter case put up with having boilerplates and invoking TH for no reason) |
| 18:57:55 | <slack1256> | merijn: I don't see how having arbitrary size "rows" is impossible with a fixed order. |
| 18:58:04 | <merijn> | geekosaur: Well, in that case I recommend nuking all signal related code from orbit and starting from scratch |
| 18:58:14 | × | mimi_vx quits (~mimi@2a01:490:16:1026:54d:93e0:a239:fb65) (Ping timeout: 264 seconds) |
| 18:58:21 | <slack1256> | I've seen how people construct type classes instances to search on the order for the row they want. Seems like a non problem from the outside. |
| 18:58:36 | <monochrom> | IMO it is a big problem but human brains are "great" at becoming oblivious to pain. |
| 18:58:49 | <monochrom> | Just look at C programmers. |
| 18:58:59 | <merijn> | Actually, my first recommendation is "Don't use signals" and if that's not avoidable, my alternate recommendation is "buy a copy of APUE" |
| 18:58:59 | <slack1256> | hedonistic treadmill, haha. |
| 18:59:11 | <kw> | I don't know what I'm doing either, which is why I ask here... |
| 18:59:57 | <merijn> | kw: See recommendation two: Buy a copy of APUE ;) |
| 19:00:09 | <kw> | Ugh. So as far as doing the best you can in Haskell, would you just use something like RIO's `bracket` ? |
| 19:00:30 | <merijn> | In fact, I'll make a blanket statement and say that anyone writing a non-trivial amount of unix/posix code should buy a copy of APUE :p |
| 19:00:57 | <kw> | In this case it's just making a strange, nonfunctional version of `bracket` for signals. |
| 19:01:04 | <merijn> | kw: Do you have a semi-concise description what the current issue is, because I only got half of the forM_ stuff |
| 19:01:37 | → | CrazyPython joins (~crazypyth@71-135-5-88.lightspeed.rlghnc.sbcglobal.net) |
| 19:01:58 | <kw> | I'll get back to you... |
| 19:02:08 | × | mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
| 19:02:55 | <monochrom> | OK I guess HasAgeInt etc are not required, you just need one type family for membership, and it works for all records, all fields. |
| 19:03:31 | → | berberman_ joins (~berberman@unaffiliated/berberman) |
| 19:04:32 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 19:06:51 | <merijn> | hmm |
| 19:07:45 | <merijn> | "cabal build packagename" seems to only build the library, but not the executables, but there doesn't seem to be a wildcard target that builds everything in a package... |
| 19:08:12 | × | slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection) |
| 19:08:12 | × | jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 19:08:28 | <monochrom> | Right, use "cabal build exe:<name of exe section>" |
| 19:08:46 | <merijn> | monochrom: I want to build all components of the package |
| 19:08:52 | <monochrom> | I think there is no "build all" but don't quote on me |
| 19:09:07 | <merijn> | monochrom: "build all" builds *all* components of *all* packages |
| 19:09:16 | <merijn> | I wanna build all components of *one* package |
| 19:09:24 | × | vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection) |
| 19:09:41 | → | mimi_vx joins (~mimi@2a01:490:16:1026:54d:93e0:a239:fb65) |
| 19:09:50 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 19:10:18 | → | rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-lurzujvpyewgarwd) |
| 19:10:36 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
| 19:11:45 | → | forell joins (~forell@unaffiliated/forell) |
| 19:13:06 | <monochrom> | Yeah it covers everything except the one case you need :) |
| 19:13:22 | <monochrom> | It even has "all:exes" = all exes of all packages |
| 19:13:44 | × | mimi_vx quits (~mimi@2a01:490:16:1026:54d:93e0:a239:fb65) (Ping timeout: 240 seconds) |
| 19:13:46 | <merijn> | Well, the docs say "packagename" is supposed to build all enabled components, so that *should* include the exes |
| 19:14:04 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
| 19:14:22 | <merijn> | So it's either 1) a bug or 2) exes are somehow disabled, but the latter seems unlikely, as they do get build with "build all" |
| 19:15:22 | × | geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
| 19:16:02 | <merijn> | There doesn't seem to be a flag for enabling exes either, just "enable-executable-{dynamic,static}" |
| 19:16:15 | × | juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!) |
| 19:22:20 | × | ixaxaar quits (~ixaxaar@49.207.210.215) (Read error: Connection reset by peer) |
| 19:23:21 | <monochrom> | I think it works for me... |
| 19:23:56 | <monochrom> | I have cabal.project saying "packages: csv-db". csv-db is a directory that has my csv-db package source |
| 19:23:57 | <merijn> | monochrom: *facepalm* I messed up something in the makefile and got the wrong cabal.project copied over the one that worked previously >.> |
| 19:24:16 | <monochrom> | "cabal build csv-db" builds it, it has one lib and one exe, both built. |
| 19:24:23 | <monochrom> | :) |
| 19:24:37 | <merijn> | Ah, no, it still doesn't work |
| 19:24:54 | <merijn> | Ooooh |
| 19:25:04 | × | dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0) |
| 19:25:17 | → | ixaxaar joins (~ixaxaar@49.207.210.215) |
| 19:25:21 | <merijn> | I think I found a *super* niche edge case where cabal-install recompilation thing-a-majig screws up |
| 19:29:25 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds) |
| 19:31:20 | × | aramend quits (~aramend@5.186.116.118.cgn.fibianet.dk) (Quit: aramend) |
| 19:31:30 | → | aramend joins (~aramend@5.186.116.118.cgn.fibianet.dk) |
| 19:35:08 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 19:35:56 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 19:37:05 | × | _vaibhavingale_ quits (~Adium@203.188.228.9) (Quit: Leaving.) |
| 19:37:22 | → | _vaibhavingale_ joins (~Adium@203.188.228.9) |
| 19:38:21 | <geekosaur> | was gonna say, building all components works for me |
| 19:38:56 | <geekosaur> | I kinda wouldn't be here otherwise, would still be debugging it and without ready access to much of anything until I got my wm back :) |
| 19:39:33 | <merijn> | hmmm, nope, still hopelessly broken |
| 19:39:54 | jb551 | is now known as jb55 |
| 19:40:09 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 264 seconds) |
| 19:40:45 | × | Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection) |
| 19:40:47 | × | vchlup_ quits (~vchlup@nat.brnet.cz) (Remote host closed the connection) |
| 19:41:08 | → | vchlup_ joins (~vchlup@nat.brnet.cz) |
| 19:41:28 | → | Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer) |
| 19:41:48 | × | _vaibhavingale_ quits (~Adium@203.188.228.9) (Ping timeout: 256 seconds) |
| 19:41:59 | <merijn> | I need to expliticly do package:exes to get it to build them, annoyingly |
| 19:43:02 | <merijn> | monochrom, geekosaur: Aha! |
| 19:43:16 | × | bitmagie quits (~Thunderbi@200116b806be210060ed087e803904ac.dip.versatel-1u1.de) (Quit: bitmagie) |
| 19:43:23 | <merijn> | I know what I'm doing that you guys almost certainly aren't |
| 19:43:29 | <merijn> | Having multiple libraries |
| 19:43:37 | <geekosaur> | oh, hm. possible |
| 19:43:55 | × | pera quits (~pera@unaffiliated/pera) (Ping timeout: 265 seconds) |
| 19:44:06 | → | sMuNiX joins (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) |
| 19:44:33 | <merijn> | fgaz said it might be interpreting "foo" as "lib:foo" rather than the package, which would directly contradict the docs, but never trust the docs >.> |
| 19:46:42 | × | spoonm quits (~spoonm@gunma.spoonm.org) (Quit: Don't look behind you!) |
| 19:46:50 | × | borne quits (~fritjof@200116b864f7290069fc6bd724c60777.dip.versatel-1u1.de) (Ping timeout: 264 seconds) |
| 19:47:23 | → | Lycurgus joins (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) |
| 19:47:47 | × | cheater quits (~user@unaffiliated/cheater) (Remote host closed the connection) |
| 19:48:38 | × | danza quits (~francesco@151.53.65.193) (Quit: Leaving) |
| 19:48:45 | × | DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection) |
| 19:49:24 | → | spoonm joins (~spoonm@2602:ffd5:1:119::1) |
| 19:49:28 | × | aramend quits (~aramend@5.186.116.118.cgn.fibianet.dk) (Quit: aramend) |
| 19:49:44 | × | sMuNiX quits (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) (Ping timeout: 256 seconds) |
| 19:49:58 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 19:50:03 | → | aramend joins (~aramend@5.186.116.118.cgn.fibianet.dk) |
| 19:50:07 | × | aramend quits (~aramend@5.186.116.118.cgn.fibianet.dk) (Remote host closed the connection) |
| 19:50:09 | × | conal quits (~conal@198.8.81.92) (Quit: Computer has gone to sleep.) |
| 19:50:15 | → | cheater joins (~user@unaffiliated/cheater) |
| 19:50:15 | → | aramend joins (~aramend@5.186.116.118.cgn.fibianet.dk) |
| 19:51:03 | × | knupfer quits (~Thunderbi@mue-88-130-61-167.dsl.tropolys.de) (Quit: knupfer) |
| 19:51:10 | → | knupfer1 joins (~Thunderbi@200116b82cd759004078c211865fdd0b.dip.versatel-1u1.de) |
| 19:51:28 | → | sMuNiX joins (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) |
| 19:52:03 | → | conal joins (~conal@64.71.133.70) |
| 19:52:46 | → | rosterok joins (uid236576@gateway/web/irccloud.com/x-gfpdynghxywfzzxv) |
| 19:53:13 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds) |
| 19:53:33 | knupfer1 | is now known as knupfer |
| 19:54:13 | × | CrazyPython quits (~crazypyth@71-135-5-88.lightspeed.rlghnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 19:54:38 | × | Lycurgus quits (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt) |
| 19:54:48 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 19:54:55 | → | charukiewicz[m] joins (charukiewi@gateway/shell/matrix.org/x-oommeswbtsisshqm) |
| 19:55:21 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 19:55:49 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:56:16 | → | minoru_shiraeesh joins (~shiraeesh@77.94.25.210) |
| 19:56:29 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 265 seconds) |
| 19:56:44 | × | __minoru__shirae quits (~shiraeesh@109.166.59.163) (Ping timeout: 272 seconds) |
| 19:56:44 | → | conal_ joins (~conal@66.115.157.109) |
| 19:56:56 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 240 seconds) |
| 20:00:04 | × | knupfer quits (~Thunderbi@200116b82cd759004078c211865fdd0b.dip.versatel-1u1.de) (Quit: knupfer) |
| 20:00:13 | → | knupfer joins (~Thunderbi@mue-88-130-61-167.dsl.tropolys.de) |
| 20:00:53 | × | mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew) |
| 20:04:03 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 20:06:32 | × | kuribas quits (~user@ptr-25vy0i9m2qfbjp4f8l6.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 20:06:49 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 20:07:13 | <ph88^> | is there a program which can collect all haskell source code comments for further processing ? |
| 20:07:48 | <Uniaika> | ph88^: haddock-compliant comments? |
| 20:08:06 | → | cheater joins (~user@unaffiliated/cheater) |
| 20:08:32 | <ph88^> | optionally |
| 20:12:57 | <Uniaika> | haddocks are collected by GHC |
| 20:20:02 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 20:20:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 20:21:08 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 20:24:44 | × | Boomerang quits (~Boomerang@2a05:f6c7:2179:0:50ad:ccb:148c:6cba) (Remote host closed the connection) |
| 20:25:28 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 20:25:49 | <koz_> | Is there a way to get the full dependency tree of a project? |
| 20:25:53 | <koz_> | (including transitives) |
| 20:26:39 | <merijn> | @hackage cabal-plan |
| 20:26:39 | <lambdabot> | https://hackage.haskell.org/package/cabal-plan |
| 20:27:07 | <koz_> | merijn: Sweet! |
| 20:27:09 | → | soft-warm joins (4408f588@ip68-8-245-136.sd.sd.cox.net) |
| 20:27:13 | <koz_> | I guess I just dump two cabal plans then diff? |
| 20:27:19 | <koz_> | (if I wanna compare them) |
| 20:27:30 | <merijn> | koz_: That requires you first produce a plan.json, though |
| 20:27:36 | <koz_> | How does one do this? |
| 20:27:39 | <merijn> | koz_: You could also create a freeze file and diff thos |
| 20:27:55 | <merijn> | koz_: If you use run "cabal build" there's one under dist-newstyle already |
| 20:28:02 | <koz_> | Ah, cool. |
| 20:28:05 | <merijn> | I think --dry-run will create one without building anything |
| 20:28:13 | <koz_> | Let me try that and see - thanks! |
| 20:28:45 | → | pera joins (~pera@unaffiliated/pera) |
| 20:28:52 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:29:55 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 20:30:22 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 20:30:46 | → | clynamen_ joins (~clynamen@net-93-66-46-121.cust.vodafonedsl.it) |
| 20:30:46 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 20:31:53 | × | clynamen quits (~clynamen@net-93-71-86-202.cust.vodafonedsl.it) (Ping timeout: 246 seconds) |
| 20:31:59 | → | Tario joins (~Tario@201.192.165.173) |
| 20:33:56 | × | coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 20:34:50 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Read error: Connection reset by peer) |
| 20:35:17 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Quit: WeeChat 3.0) |
| 20:37:40 | <monochrom> | If you don't mind a flat list, "cabal freeze" produces cabal.project.freeze, it is pretty informative too. |
| 20:40:57 | → | LKoen joins (~LKoen@252.248.88.92.rev.sfr.net) |
| 20:41:04 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 20:41:55 | × | ixaxaar quits (~ixaxaar@49.207.210.215) (Ping timeout: 265 seconds) |
| 20:42:02 | <koz_> | monochrom: Flat list would be OK. |
| 20:42:08 | <merijn> | :O |
| 20:42:24 | <merijn> | Achievement unlocked: Using cabal flags for their actual intended purpose! |
| 20:42:54 | <monochrom> | What have you done? :) |
| 20:43:30 | <merijn> | monochrom: I had an optional executable that depended on Chart-cairo, which rendered my package unbuildable on the cluster where cairo was unavailable |
| 20:44:01 | <merijn> | monochrom: So I added a flag that defaults to True and adds a Chart-cairo dependency in the True branch and sets "buildable: False" in the false branc |
| 20:44:23 | <merijn> | And it correctly builds the executable on my local machine while disabling it on the cluster without manual flag setting \o/ |
| 20:44:28 | → | borne joins (~fritjof@200116b864f7290069fc6bd724c60777.dip.versatel-1u1.de) |
| 20:47:16 | <monochrom> | I wonder how the computer figures it out. |
| 20:47:29 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
| 20:47:37 | <merijn> | monochrom: Chart-cairo uses pkg-config-depends to detect cairo version |
| 20:47:51 | <merijn> | If pkg-config reports it as missing that triggers a build-plan failure |
| 20:47:57 | <monochrom> | Yeah so it still has to give Chart-cairo a try before backtracking. |
| 20:49:01 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 20:49:03 | <merijn> | monochrom: Right, which with the default value of true sees Chart-cairo, fails, causes cabal-install to toggle the flag, which marks it unbuildable (and lacks the unsolvable Chart-cairo dependency) leading the build-plan to succeed |
| 20:49:16 | × | xcmw quits (~textual@dyn-72-33-2-47.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:49:50 | <monochrom> | This gives me a feeling of the movie «Next». OK every logic programming backtracking mechanism does that in general. |
| 20:50:36 | <merijn> | monochrom: tbh, I quite lack the power of flags, I just feel that 95% of their use is people abusing them, so I'm not sure they're worth it over all |
| 20:50:40 | <monochrom> | But yeah whoever decided that cabal's "if-then-else" is really Prolog was a genius with so much foresight. |
| 20:50:53 | <merijn> | s/lack/like |
| 20:51:01 | <merijn> | Dear brain: WTF was that? |
| 20:51:16 | <dolio> | Nicolas Cage is the only one who can actually realize excluded middle? |
| 20:51:25 | <monochrom> | But who knows? Maybe they didn't have foresight, they tried all possible futures and backtracked and found this optimal. |
| 20:51:44 | <merijn> | monochrom: tbh, 80-90% of Cabal/cabal-install is "genius foresight" compared to npm/pip/gem and the likes |
| 20:52:13 | <merijn> | Most programmers are lazy and never package their stuff properly, so they don't realise and complain that something takes two commands instead of one >.> |
| 20:52:17 | <monochrom> | Also Dr. Strange "I have went through all 14.4M scenerios, this is the only one that wins" |
| 20:52:45 | × | nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
| 20:53:43 | <dolio> | That might even be good enough for the axiom of choice. |
| 20:53:52 | → | nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net) |
| 20:54:29 | <monochrom> | hee hee |
| 20:54:47 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 260 seconds) |
| 20:55:12 | <dolio> | I guess that's why it's an "infinity" stone. |
| 20:55:22 | <monochrom> | haha |
| 20:55:36 | → | leah2 joins (~leah@vuxu.org) |
| 20:55:42 | × | supercoven quits (~Supercove@196.244.192.57) (Read error: Connection reset by peer) |
| 20:57:31 | <joel135> | i wonder why this doesn't typecheck? https://pastebin.com/raw/NDzA75YR |
| 20:58:00 | <merijn> | joel135: It's help to pastebin the error too? |
| 20:58:02 | × | ixlun quits (~user@213.205.241.221) (Remote host closed the connection) |
| 20:58:38 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-ckjmnhqmmmkvuhmm) (Quit: Connection closed for inactivity) |
| 20:58:56 | <monochrom> | No one reads error messages anyway. |
| 20:59:06 | <joel135> | it is basically "cannot construct the infinite type: a ~ Set a", nothing more specific than that |
| 20:59:13 | <dolio> | I read the line numbers. |
| 20:59:19 | <merijn> | monochrom: The typechecker in my brain is in the shop |
| 20:59:43 | <monochrom> | And all of me is going to afternoon tea. |
| 21:00:31 | <merijn> | joel135: I mean, unless you expect us to mentally run the typechecker in our brain and figure out which part of your code that that error refers to, it'd help to paste, you know, the full exact error, rather than extrapolating from "basically" |
| 21:00:32 | <dolio> | joel135: Oh, `singleton (close cp empty)` looks wrong. |
| 21:00:41 | <monochrom> | But hey I can just make people read my tutorials. |
| 21:00:55 | <dolio> | That's like a set of sets. |
| 21:00:56 | <joel135> | oh wait there are more type errors now |
| 21:01:51 | <joel135> | (https://pastebin.com/raw/dQVKBZf3) |
| 21:02:02 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 21:02:08 | <monochrom> | My http://www.vex.net/~trebla/haskell/type-inference.html explains infinite types. (Example 5) |
| 21:03:30 | <joel135> | oh, the return type Set a should actually be Set (Set a), maybe i can solve this now |
| 21:07:20 | × | _ht quits (~quassel@82.169.194.8) (Remote host closed the connection) |
| 21:08:29 | <joel135> | hmm, now i have this https://pastebin.com/raw/Ah2CSVC2 |
| 21:09:35 | <geekosaur> | enumerate cp = iterate' f null (empty, singleton (close cp empty) :: Set (Set a)) |
| 21:09:41 | <geekosaur> | this does not do what you think |
| 21:10:10 | <joel135> | 'enumerate cp' is supposed to be a certain set of subsets of 'bound cp' |
| 21:10:10 | <geekosaur> | the "a" from the type signature above it is no longer in scope, so it's using a fresh "a" that can't match anything else |
| 21:10:28 | <geekosaur> | you may want to look at the ScopedTypeVariables extension |
| 21:10:36 | × | sMuNiX quits (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) (Ping timeout: 240 seconds) |
| 21:11:01 | <joel135> | debugging my debugging |
| 21:11:31 | → | dddddd__ joins (~dddddd@unaffiliated/dddddd) |
| 21:11:32 | <joel135> | oh, now it works all of a sudden, once i removed the type annotation |
| 21:12:02 | × | deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 264 seconds) |
| 21:12:11 | <joel135> | nice, thanks! |
| 21:13:02 | → | sMuNiX joins (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) |
| 21:13:10 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 21:14:07 | × | dddddd_ quits (~dddddd@unaffiliated/dddddd) (Ping timeout: 256 seconds) |
| 21:19:50 | × | rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-lurzujvpyewgarwd) (Quit: Connection closed for inactivity) |
| 21:21:26 | → | dddddd_ joins (~dddddd@unaffiliated/dddddd) |
| 21:21:32 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds) |
| 21:21:35 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 21:24:12 | × | dlam quits (~dlam@dlam.me) (Ping timeout: 246 seconds) |
| 21:24:19 | × | dddddd__ quits (~dddddd@unaffiliated/dddddd) (Ping timeout: 256 seconds) |
| 21:26:08 | × | cheater quits (~user@unaffiliated/cheater) (Remote host closed the connection) |
| 21:26:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 21:26:18 | → | Wuzzy joins (~Wuzzy@p5790e290.dip0.t-ipconnect.de) |
| 21:26:35 | → | dddddd__ joins (~dddddd@unaffiliated/dddddd) |
| 21:27:49 | → | deviantfero joins (~deviantfe@190.150.27.58) |
| 21:28:11 | → | cheater joins (~user@unaffiliated/cheater) |
| 21:28:51 | × | dddddd_ quits (~dddddd@unaffiliated/dddddd) (Ping timeout: 256 seconds) |
| 21:30:16 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:31:07 | × | dddddd__ quits (~dddddd@unaffiliated/dddddd) (Ping timeout: 256 seconds) |
| 21:31:50 | × | zyeri quits (zyeri@tilde.team/users/zyeri) (Ping timeout: 264 seconds) |
| 21:32:11 | → | zyeri joins (zyeri@ip24.ip-51-222-67.net) |
| 21:32:11 | × | zyeri quits (zyeri@ip24.ip-51-222-67.net) (Changing host) |
| 21:32:11 | → | zyeri joins (zyeri@tilde.team/users/zyeri) |
| 21:32:27 | → | dddddd joins (~dddddd@unaffiliated/dddddd) |
| 21:35:02 | × | Yumasi quits (~guillaume@2a01:e0a:5cb:4430:8da1:7ed2:2494:cea) (Ping timeout: 260 seconds) |
| 21:35:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 21:36:03 | × | knupfer quits (~Thunderbi@mue-88-130-61-167.dsl.tropolys.de) (Ping timeout: 265 seconds) |
| 21:38:21 | × | michalz quits (~user@185.246.204.49) (Remote host closed the connection) |
| 21:44:02 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:46:37 | × | conal_ quits (~conal@66.115.157.109) (Quit: Computer has gone to sleep.) |
| 21:47:09 | × | alx741 quits (~alx741@186.178.110.40) (Quit: alx741) |
| 21:48:05 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 21:49:23 | × | fendor quits (~fendor@91.141.3.135.wireless.dyn.drei.com) (Remote host closed the connection) |
| 21:49:57 | → | xcmw joins (~textual@dyn-72-33-2-47.uwnet.wisc.edu) |
| 21:52:07 | → | fendor joins (~fendor@91.141.3.135.wireless.dyn.drei.com) |
| 21:52:37 | × | pera quits (~pera@unaffiliated/pera) (Quit: leaving) |
| 21:55:43 | → | dignissimus joins (~dignissim@host-78-146-219-61.as13285.net) |
| 21:55:55 | × | geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed) |
| 21:57:34 | × | aramend quits (~aramend@5.186.116.118.cgn.fibianet.dk) (Quit: aramend) |
| 21:58:10 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 21:58:29 | → | alx741 joins (~alx741@186.178.110.40) |
| 21:59:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:00:36 | → | conal joins (~conal@64.71.133.70) |
| 22:00:57 | × | deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 246 seconds) |
| 22:01:24 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 22:02:01 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
| 22:02:30 | × | alx741 quits (~alx741@186.178.110.40) (Client Quit) |
| 22:03:36 | × | jakob_ quits (~textual@p200300f49f0a5500b1781738d6a5e868.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…) |
| 22:04:07 | → | jakob_ joins (~textual@p200300f49f0a5500b1781738d6a5e868.dip0.t-ipconnect.de) |
| 22:04:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 22:05:17 | <joel135> | working code :) https://pastebin.com/raw/SPfKychn |
| 22:06:14 | <joel135> | a little inefficient toward the end, but good enough |
| 22:07:28 | × | edge563 quits (~edge563@gateway/tor-sasl/edge563) (Quit: edge563) |
| 22:13:45 | × | LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 22:14:26 | → | alx741 joins (~alx741@186.178.110.40) |
| 22:14:53 | → | ubert joins (~Thunderbi@p200300ecdf25d901e6b318fffe838f33.dip0.t-ipconnect.de) |
| 22:18:23 | × | mrchampion quits (~mrchampio@38.18.109.23) (Read error: No route to host) |
| 22:19:54 | → | deviantfero joins (~deviantfe@190.150.27.58) |
| 22:21:03 | × | Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving) |
| 22:22:04 | → | mrchampion joins (~mrchampio@38.18.109.23) |
| 22:24:21 | × | forgottenone quits (~forgotten@176.42.17.164) (Quit: Konversation terminated!) |
| 22:25:12 | × | borne quits (~fritjof@200116b864f7290069fc6bd724c60777.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 22:25:18 | → | lambda-11235 joins (~lambda-11@2600:1700:7c70:4600:ed54:9c4b:a010:e9f) |
| 22:25:49 | <raehik> | I just learned that I can install packages to the global Stack project with stack --package PKGNAME |
| 22:26:08 | <raehik> | is it possible to configure things like default language pragmas as well? |
| 22:26:28 | <raehik> | (and even better, if I could place this all in a file that the global project uses) |
| 22:31:30 | × | lemmih quits (~lemmih@2406:3003:2072:44:d7ba:3597:c07a:fe3d) (Remote host closed the connection) |
| 22:31:48 | → | lemmih joins (~lemmih@2406:3003:2072:44:d219:4fa6:3f89:cc6b) |
| 22:33:41 | → | borne joins (~fritjof@200116b864f7290069fc6bd724c60777.dip.versatel-1u1.de) |
| 22:34:04 | × | dignissimus quits (~dignissim@host-78-146-219-61.as13285.net) (Quit: Quit) |
| 22:35:21 | × | ski quits (~ski@ed-3358-10.studat.chalmers.se) (Ping timeout: 264 seconds) |
| 22:35:29 | <justsomeguy> | raehik: Have you tried creating a package.yaml file in ~/.stack/global-project and adding things to that? (I don't know if this will work, but it seems worth trying.) |
| 22:35:39 | <ephemient> | ~/.stack/global-project/stack.yaml is the config file for the stack global project and will affect usages of stack outside of any stack project. it has no effect when inside of a stack project |
| 22:37:25 | <ephemient> | I guess you could put language extensions in global ghc-options |
| 22:37:39 | <ephemient> | but what things do you it to apply to? |
| 22:37:43 | <raehik> | justsomeguy: I have, it didn't appear to work (e.g. dependencies: [pkg] doesn't bring pkg in) |
| 22:38:11 | <ephemient> | bring it into what? |
| 22:38:11 | <raehik> | ephemient: it'd be handy for hacks and tests that don't have a project |
| 22:38:35 | <raehik> | doesn't load that pkg, sry |
| 22:39:02 | <ephemient> | dependencies: doesn't really add a dependency, it tells stack where to fetch a dependency from if it is needed |
| 22:40:21 | <ephemient> | raehik: for one-off scripts, you can use the stack shebang. https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter |
| 22:40:25 | × | gluegadget quits (sid22336@gateway/web/irccloud.com/x-evznraaxgeebxlfq) (Ping timeout: 240 seconds) |
| 22:40:36 | × | dmj` quits (sid72307@gateway/web/irccloud.com/x-daobeunxmbntdyfz) (Ping timeout: 240 seconds) |
| 22:41:12 | × | Tritlo quits (sid58727@gateway/web/irccloud.com/x-rusoqdxjmfhofwqb) (Ping timeout: 246 seconds) |
| 22:41:14 | × | simony quits (sid226116@gateway/web/irccloud.com/x-phjoyqzngtkshyaz) (Read error: Connection reset by peer) |
| 22:41:14 | × | adius quits (sid321344@gateway/web/irccloud.com/x-vxeeagpalrycwjvn) (Read error: Connection reset by peer) |
| 22:41:14 | × | acertain quits (sid470584@gateway/web/irccloud.com/x-pfvaigabdrzptrjm) (Read error: Connection reset by peer) |
| 22:41:14 | × | mpickering quits (sid78412@gateway/web/irccloud.com/x-bsdzbkbcztjjpkbi) (Read error: Connection reset by peer) |
| 22:41:14 | × | hamishmack quits (sid389057@gateway/web/irccloud.com/x-jurbicwybttzswiw) (Read error: Connection reset by peer) |
| 22:41:18 | × | nick_h quits (sid319833@gateway/web/irccloud.com/x-llzjpkeahelgxkum) (Read error: Connection reset by peer) |
| 22:41:19 | × | affinespaces quits (sid327561@gateway/web/irccloud.com/x-sxzeebbbphyfonci) (Read error: Connection reset by peer) |
| 22:41:22 | → | Tritlo joins (sid58727@gateway/web/irccloud.com/x-elrrgxjqxqvbsxaj) |
| 22:41:24 | × | PoliticsII______ quits (sid193551@gateway/web/irccloud.com/x-tuajvxnrjmjfwqlj) (Read error: Connection reset by peer) |
| 22:41:25 | → | adius joins (sid321344@gateway/web/irccloud.com/x-arhgoqynitobsomz) |
| 22:41:30 | → | hamishmack joins (sid389057@gateway/web/irccloud.com/x-dlizgtlxawlnbrdn) |
| 22:41:30 | → | simony joins (sid226116@gateway/web/irccloud.com/x-mvwrcvroxbicmtqt) |
| 22:41:31 | → | acertain joins (sid470584@gateway/web/irccloud.com/x-mzgakxjiuoedovnq) |
| 22:41:31 | → | mpickering joins (sid78412@gateway/web/irccloud.com/x-ullosshavaeyawfg) |
| 22:41:35 | → | gluegadget joins (sid22336@gateway/web/irccloud.com/x-ayfbpsyhsmxzvrrv) |
| 22:41:41 | → | affinespaces joins (sid327561@gateway/web/irccloud.com/x-dkkclnjlpoudblgz) |
| 22:41:43 | → | nick_h joins (sid319833@gateway/web/irccloud.com/x-hggfmgowvmfhgqvg) |
| 22:41:49 | → | PoliticsII______ joins (sid193551@gateway/web/irccloud.com/x-ahjdxgzhinwgmulm) |
| 22:41:55 | <raehik> | ephemient: ah thanks! I forgot about that. better than assuming the pkgs I want are available |
| 22:42:30 | → | dmj` joins (sid72307@gateway/web/irccloud.com/x-xjupgrscnctlmzgc) |
| 22:43:58 | <DigitalKiwi> | and if you just put a cabal/stack shebang after a nix-shell shebang you can make sure anything is installed |
| 22:45:09 | <DigitalKiwi> | https://gist.github.com/Kiwi/ffc08bffb15798dc4b1ec2a1c47c6191#file-program-cabal-hs |
| 22:45:34 | <DigitalKiwi> | i know, i know 'boo, nix bad, hisss' |
| 22:46:54 | <DigitalKiwi> | how else are you going to do this though https://mostlyabsurd.com/files/binance |
| 22:48:32 | <raehik> | you know what, that's great wtf |
| 22:48:47 | <DigitalKiwi> | or this https://mostlyabsurd.com/files/clone-edward |
| 22:49:49 | <raehik> | two ed kmetts is where i draw the line, sry |
| 22:51:23 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:52:18 | <DigitalKiwi> | i came up with the one in the gist just to see if it could be done as a challenge, turns out it's actually occasionally useful sometimes. like if something is broken in nixpkgs because it's broken or not in stackage then you can still compile it with cabal instead of using the nixpkgs cache, and if it's not broken you can use the cached version |
| 22:52:32 | × | rosterok quits (uid236576@gateway/web/irccloud.com/x-gfpdynghxywfzzxv) (Quit: Connection closed for inactivity) |
| 22:54:49 | <raehik> | I haven't done nix before, not found the need to |
| 22:55:51 | <raehik> | I appreciate what it does (used Guix for a bit before), but I had enough trouble learning Haskell packaging already |
| 22:56:09 | <DigitalKiwi> | don't start once you get hooked you need it |
| 22:56:24 | × | lambda-11235 quits (~lambda-11@2600:1700:7c70:4600:ed54:9c4b:a010:e9f) (Ping timeout: 240 seconds) |
| 22:57:35 | <DigitalKiwi> | eh i'm shit at nix (the language) so it's a bit tedious sometimes but i get by fine and overall i was a lot more frustrated without it >.> |
| 22:57:35 | × | iteratee quits (~kyle@162.211.154.4) (Read error: Connection reset by peer) |
| 22:58:05 | <DigitalKiwi> | even maintain a few nixpkgs |
| 22:58:18 | → | iteratee joins (~kyle@162.218.222.107) |
| 22:58:39 | × | fendor quits (~fendor@91.141.3.135.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 22:58:55 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:e95b:84e8:3635:d128) (Remote host closed the connection) |
| 22:59:09 | → | isovector joins (~isovector@S010650395561ee49.gv.shawcable.net) |
| 22:59:59 | ← | iqubic` parts (~user@c-67-171-38-72.hsd1.wa.comcast.net) ("ERC (IRC client for Emacs 28.0.50)") |
| 23:00:05 | <isovector> | totbwf: slack just got all weird for me |
| 23:00:55 | <DigitalKiwi> | i usually just make a shell.nix that i can run normal cabal commands from so i pretty much just cargo cult the same file around and change the packages i want cached and then using cabal v2- as normal but |
| 23:00:57 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:ccf7:ea8d:5b43:dead) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:01:32 | <DigitalKiwi> | https://gist.github.com/Kiwi/e055dc459d8c967851f1f76c7ac8a790 allows me to make sure i always have everything i need to build my website with hakyll |
| 23:01:36 | × | hseg quits (~gesh@185.120.124.95) (Ping timeout: 240 seconds) |
| 23:02:20 | <DigitalKiwi> | i've tested it before; i can clone my website from a computer i've never been on before and it will let me build my site |
| 23:02:40 | <raehik> | Neat |
| 23:03:01 | <raehik> | I stick with Slack (or rather, avoid Cabal) for my own sanity while I'm still learning |
| 23:03:18 | <raehik> | I'll make sure to look at Nix when that fails eventually |
| 23:03:29 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 23:03:51 | <DigitalKiwi> | i use cabal instead of stack for the same reason lol |
| 23:03:57 | <Uniaika> | s/Slack/stack/ I think, raehik ;) |
| 23:04:09 | <DigitalKiwi> | don't use slack or stack, problem solved |
| 23:04:12 | <raehik> | ^ hah oops |
| 23:07:01 | <DigitalKiwi> | other than making sure i have another ten versions of ghc what does stack supposedly do better these days than cabal? honest question even if snarky |
| 23:08:28 | → | lambda-11235 joins (~lambda-11@2600:1700:7c70:4600:dfce:d41e:8b36:8b28) |
| 23:08:40 | <sclv> | it makes it easy to use the stackage package set |
| 23:08:41 | <DigitalKiwi> | like, yeah, cabal used to have problems, but afaik it's fixed almost all of them? and i've yet to have an experience with stack that was any better :/ |
| 23:08:42 | <sclv> | that's it |
| 23:09:00 | <sclv> | so if you want to have all stackage packages in scope by default and basically nothing else, then thats nice for you |
| 23:09:17 | <DigitalKiwi> | i get that with nix ;D |
| 23:11:04 | <DigitalKiwi> | https://dpaste.com/4KAEL7BF6 |
| 23:11:19 | <monochrom> | DigitalKiwi: A benefit is very pinned library versions, e.g., you just say "lts-..." and you have nailed a whole lot of library version numbers. |
| 23:11:25 | <raehik> | I think I was burned by "how tf do I use Cabal" a year ago, when the v2 commands weren't recommended (or perhaps there were just no guides for them) |
| 23:12:02 | <sclv> | monochrom: well again you get that with nix |
| 23:12:10 | <monochrom> | Ah |
| 23:12:13 | <sclv> | but arguably nix has somewhat moar rampup |
| 23:12:28 | <sclv> | ie. i use it at work because we have nix people who solve that shit for me |
| 23:12:39 | <DigitalKiwi> | monochrom: oh right yeah i saw snobyberg harass someone off of the internet over that one time on twitter for pointing out how they do it with cabal |
| 23:12:51 | <sclv> | for personal projects i stick with v2 because its most convenient |
| 23:13:05 | <monochrom> | haha harass |
| 23:13:16 | <DigitalKiwi> | 'ardly know 'er |
| 23:13:23 | <monochrom> | I mean yikes but also haha |
| 23:13:32 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 23:13:49 | <monochrom> | Then again the point is more stackage than stack. |
| 23:14:00 | <DigitalKiwi> | new haskell user refugee from scala |
| 23:14:31 | <DigitalKiwi> | deleted all of his tweets and account haven't seen him in... wow probaly years now? |
| 23:15:35 | <monochrom> | Someone or some bot did check that each lts-xxx is a set of version numbers that build fine together. You don't have that on hackage. However, on cabal if you are happy with your current dependency version tree, you can "cabal freeze" and it's usually good enough. |
| 23:16:47 | <DigitalKiwi> | oh they are alive at least they forked an emacs config 18 days ago |
| 23:16:50 | <monochrom> | There is another point. It is a short-term benefit and a long-term hinderance to growth. |
| 23:17:03 | <Uniaika> | DigitalKiwi: who was it? |
| 23:17:08 | <DigitalKiwi> | fommil |
| 23:17:11 | <Uniaika> | oh |
| 23:17:21 | <DigitalKiwi> | :( |
| 23:17:32 | <Rembane> | Maybe they stopped using Twitter and became super productive? |
| 23:17:37 | Rembane | is naively optimistic |
| 23:18:02 | <monochrom> | With stack you only need to know one tool, "stack", as a beginner. You don't need to know (yet) there is a GHC and it has a version number. Oh, stack decides to install 10 GHC versions behind your back? Well that's behind your back, you can look the other way. |
| 23:18:05 | <sclv> | this is pure gossip but iirc fommil deleted their twitter because of more scala than haskell drama |
| 23:18:17 | <sclv> | its been so long and who wants to remember/dredge up the specifics tho |
| 23:18:47 | <monochrom> | In the long term though, the abstraction leaks, you will have to know eventually. |
| 23:18:52 | <DigitalKiwi> | poor fommil :( writes a book for scala gives it away for free and then gets treated like shit by 'promininent' members of both scala and haskell 'communities' >.> |
| 23:19:32 | <sclv> | anyway many people learn that once they delete twitter they're happier and more productive |
| 23:19:39 | <sclv> | (i can think of a few more people i wish learned that, lol) |
| 23:20:06 | DigitalKiwi | whispers to sclv "fommil is that you" |
| 23:20:49 | <monochrom> | The ultimate lesson to learn: https://www.smbc-comics.com/comic/app-3 |
| 23:21:05 | <Uniaika> | http://lambda-the-ultimate.org/ <- ah |
| 23:21:14 | <DigitalKiwi> | yeah i guess i don't mean to imply fommil left solely because of snoyberg |
| 23:21:26 | → | jedws joins (~jedws@101.184.202.248) |
| 23:21:40 | × | isovector quits (~isovector@S010650395561ee49.gv.shawcable.net) (Ping timeout: 256 seconds) |
| 23:21:41 | <sclv> | lmao at the comic |
| 23:21:49 | × | hiroaki quits (~hiroaki@2a02:908:4b18:8c40::e69c) (Ping timeout: 272 seconds) |
| 23:21:49 | <Uniaika> | hahaha |
| 23:22:25 | <DigitalKiwi> | i mean bitemyapp was involved too in the same conversation (but yes i know it was probably more scala than haskell but it was sure of a hell of a welcoming party) |
| 23:22:33 | <sclv> | reminds me of the old "phdcomics" or whatever with the student thinking about all the things their advisor might be thinking about them, and the advisor thinking "what should i have for lunch" |
| 23:22:50 | swarmcollective | has never created a Twitter account, but has read maybe 5 or 6 tweets. |
| 23:22:56 | swarmcollective | will probably keep it that way. |
| 23:24:12 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 23:24:20 | <DigitalKiwi> | i mostly only tweet when i make art and i haven't made art in a while so :( |
| 23:24:47 | → | mimi_vx joins (~mimi@2a01:490:16:1026:54d:93e0:a239:fb65) |
| 23:25:30 | <DigitalKiwi> | Uniaika: was lta broken when you went to it? |
| 23:26:14 | <DigitalKiwi> | erm, well it's mysql, so arguably it was always broken, but what i mean is did it load? |
| 23:27:01 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:ccf7:ea8d:5b43:dead) |
| 23:27:13 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:ccf7:ea8d:5b43:dead) (Client Quit) |
| 23:27:55 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b157:e532:1043:694d) |
| 23:32:43 | × | xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
| 23:33:11 | → | xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar) |
| 23:33:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:34:02 | <raehik> | hmm, Stack shebang with ghci doesn't seem to retain the language pragmas |
| 23:34:49 | <raehik> | ah but that looks like common behaviour in ghci. dang |
| 23:35:31 | <raehik> | my program is compiled with pragmas, but they don't get loaded in ghci so I have to :set -XOverloadedStrings |
| 23:36:04 | → | ski joins (~ski@ed-3358-10.studat.chalmers.se) |
| 23:37:47 | <arahael> | monochrom: But at the same time, you don't have to mess with complicated stuff such as cabal sandboxes, new-cabal, old-cabal, and all that stuff. But cabal today seems much simpler, I don't think I would have gone with stack today. |
| 23:37:48 | <swarmcollective> | raehik, are you setting the pragmas at the top of the source files, or in the .cabal file, or in the cabal.project, or not using cabal? |
| 23:37:54 | × | deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 246 seconds) |
| 23:38:00 | <arahael> | monochrom: But in the past, I chose stack and didn't regret it. |
| 23:38:08 | × | jakob_ quits (~textual@p200300f49f0a5500b1781738d6a5e868.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…) |
| 23:38:22 | → | deviantfero joins (~deviantfe@190.150.27.58) |
| 23:38:30 | <raehik> | swarmcollective: I'm setting pragmas in the source files, and executing them in shell (stack shebang that does exec ghci) |
| 23:39:27 | <swarmcollective> | raehik, Ah. I've only used cabal repl. Though, I've not specifically tested if it recognized the pragmas in the source files. |
| 23:40:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 23:40:09 | <raehik> | turns out ghci never kept those pragmas for the repl |
| 23:40:19 | <raehik> | stack ghci does (likely cabal repl too), but not regular ghci |
| 23:40:30 | <raehik> | *stack ghci does if you use default-extensions |
| 23:41:39 | → | Tops21 joins (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) |
| 23:42:50 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:8859:7e60:23d3:f866) |
| 23:43:01 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:8859:7e60:23d3:f866) (Client Quit) |
| 23:43:11 | → | Tops22 joins (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) |
| 23:44:36 | × | Tops2 quits (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 23:45:51 | → | Tops2 joins (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) |
| 23:46:28 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:46:53 | → | Tops23 joins (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) |
| 23:47:15 | × | Tops21 quits (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) (Ping timeout: 272 seconds) |
| 23:49:10 | × | Tops22 quits (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) (Ping timeout: 272 seconds) |
| 23:49:19 | → | jakob_ joins (~textual@p578f27b0.dip0.t-ipconnect.de) |
| 23:49:33 | <ephemient> | if you just want default extensions in your ghci, feel free to add `:set -X...` to your ~/.ghci |
| 23:49:45 | × | Tops23 quits (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 23:49:54 | → | isovector joins (~isovector@S010650395561ee49.gv.shawcable.net) |
| 23:51:23 | × | Tops2 quits (~Tobias@dyndsl-095-033-021-211.ewe-ip-backbone.de) (Ping timeout: 265 seconds) |
| 23:51:23 | × | minoru_shiraeesh quits (~shiraeesh@77.94.25.210) (Ping timeout: 265 seconds) |
| 23:51:31 | <ephemient> | https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#the-ghci-files |
| 23:55:25 | <raehik> | ephemient: yeah that sorts it well enough for me |
| 23:55:30 | <raehik> | thanks |
| 23:56:25 | × | usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving) |
| 23:58:27 | × | Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Remote host closed the connection) |
All times are in UTC on 2021-02-11.