2022-05-06 00:01:33 +0200 | <seydar> | ugh i hate this |
2022-05-06 00:01:42 +0200 | <seydar> | all these bugs are derived from ROUNDING ERRORS |
2022-05-06 00:01:50 +0200 | <seydar> | adding all these doubles! |
2022-05-06 00:03:00 +0200 | kimjetwav | (~user@2607:fea8:2362:b400:e8cd:c90e:aafe:7f5b) (Remote host closed the connection) |
2022-05-06 00:05:33 +0200 | <apache2> | can I get show to output whitespace/indentation? |
2022-05-06 00:10:49 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-06 00:11:53 +0200 | <geekosaur> | @hackage pretty-show |
2022-05-06 00:11:54 +0200 | <lambdabot> | https://hackage.haskell.org/package/pretty-show |
2022-05-06 00:11:56 +0200 | <geekosaur> | maybe |
2022-05-06 00:11:59 +0200 | <geekosaur> | show itself, no |
2022-05-06 00:14:29 +0200 | fendor | (~fendor@91.141.58.225.wireless.dyn.drei.com) (Remote host closed the connection) |
2022-05-06 00:14:51 +0200 | <monochrom> | `show (Just 4)` will give you a space but no indentation. |
2022-05-06 00:18:14 +0200 | <EvanR> | haskell doesn't force you to write top down |
2022-05-06 00:18:25 +0200 | <EvanR> | > let ppɐ = (+) in ppɐ 2 2 |
2022-05-06 00:18:27 +0200 | <lambdabot> | 4 |
2022-05-06 00:18:30 +0200 | <monochrom> | Yeah, that. |
2022-05-06 00:18:44 +0200 | <apache2> | thanks geekosaur I'll try that |
2022-05-06 00:19:00 +0200 | zeenk | (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) (Quit: Konversation terminated!) |
2022-05-06 00:19:13 +0200 | liz_ | (~liz@host109-151-128-120.range109-151.btcentralplus.com) (Quit: Lost terminal) |
2022-05-06 00:22:02 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-05-06 00:27:43 +0200 | Guest|99 | (~Guest|99@217-121-250-5.cable.dynamic.v4.ziggo.nl) |
2022-05-06 00:27:51 +0200 | <seydar> | my program has been deviating from the test program because apparently... they are receiving different input |
2022-05-06 00:28:33 +0200 | <seydar> | i need a drink |
2022-05-06 00:29:04 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2022-05-06 00:29:14 +0200 | <hpc> | there's a liquid haskell joke in there somewhere |
2022-05-06 00:29:51 +0200 | <monochrom> | :) |
2022-05-06 00:30:01 +0200 | <monochrom> | Liquor Haskell |
2022-05-06 00:30:55 +0200 | <hpc> | monochrom: haskell needs dependent types to be a real "proof" assistant |
2022-05-06 00:32:19 +0200 | Guest|99 | (~Guest|99@217-121-250-5.cable.dynamic.v4.ziggo.nl) () |
2022-05-06 00:32:43 +0200 | <monochrom> | "Liquor Haskell combines dependent typing, dependent refinement typing, dependent predicate subtyping, and dependent linear typing." |
2022-05-06 00:33:10 +0200 | <apache2> | :) |
2022-05-06 00:33:21 +0200 | <monochrom> | "Computer science has just become a bit too technical. Let's go for a drink." -- Jay Misra |
2022-05-06 00:33:22 +0200 | <maerwald[m]> | Since when is Haskell trying to become a proof assistant? |
2022-05-06 00:33:42 +0200 | <apache2> | since it became alcoholic? |
2022-05-06 00:33:56 +0200 | <maerwald[m]> | That sounds right |
2022-05-06 00:33:59 +0200 | <maerwald[m]> | Cheers |
2022-05-06 00:34:28 +0200 | <monochrom> | No no no, not proof assistant. 100-proof assistant. |
2022-05-06 00:34:29 +0200 | <apache2> | isn't that a big pun on liquor/dependent (addicted)/proof(as in strong alcohol) etc? |
2022-05-06 00:34:46 +0200 | <hpc> | yep |
2022-05-06 00:34:50 +0200 | jargon | (~jargon@174-22-206-112.phnx.qwest.net) |
2022-05-06 00:34:59 +0200 | <hpc> | these aren't your usual internet puns |
2022-05-06 00:35:06 +0200 | <hpc> | these are {-# LANGUAGE RecordPuns #-} |
2022-05-06 00:35:29 +0200 | <hpc> | i mean, NamedFieldPuns |
2022-05-06 00:35:52 +0200 | <maerwald[m]> | Isn't that just syntax cocaine? |
2022-05-06 00:36:33 +0200 | <monochrom> | desugared grape juice |
2022-05-06 00:37:08 +0200 | <hpc> | maerwald[m]: haskell is inspired by methamatics? :P |
2022-05-06 00:37:11 +0200 | <monochrom> | and desugared malt etc |
2022-05-06 00:38:03 +0200 | <monochrom> | In reality, you cannot do equational reasoning. In meth, you can. |
2022-05-06 00:39:03 +0200 | <hpc> | meth: not even epsilon |
2022-05-06 00:40:57 +0200 | Polo | (~Polo@user/polo) (Quit: Textual IRC Client: www.textualapp.com) |
2022-05-06 00:44:34 +0200 | teo | (~teo@user/teo) () |
2022-05-06 00:51:00 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 276 seconds) |
2022-05-06 00:54:03 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-05-06 00:57:04 +0200 | hololeap_ | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-06 01:00:17 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2022-05-06 01:00:20 +0200 | xaotuk | (~sasha@net224-32-245-109.mbb.telenor.rs) (Ping timeout: 260 seconds) |
2022-05-06 01:00:52 +0200 | acidjnk | (~acidjnk@p200300d0c7068b43f1a15e75027d04fd.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-05-06 01:01:10 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-05-06 01:07:05 +0200 | eraziel | (~eraziel@modemcable169.17-58-74.mc.videotron.ca) (Quit: Client closed) |
2022-05-06 01:08:35 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-05-06 01:10:04 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds) |
2022-05-06 01:10:04 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2022-05-06 01:10:39 +0200 | malinoskj290645 | (~malinoskj@c-68-33-26-115.hsd1.md.comcast.net) |
2022-05-06 01:11:34 +0200 | malinoskj290645 | (~malinoskj@c-68-33-26-115.hsd1.md.comcast.net) (Client Quit) |
2022-05-06 01:11:40 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
2022-05-06 01:11:54 +0200 | chomwitt | (~chomwitt@2a02:587:dc19:d600:6d5a:79e9:ac14:c3a8) (Ping timeout: 252 seconds) |
2022-05-06 01:11:55 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-05-06 01:11:57 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-05-06 01:12:53 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-05-06 01:14:45 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-05-06 01:20:16 +0200 | <seydar> | WOW i had another list comprehension that failed to grok inner- vs outer-loop variables |
2022-05-06 01:20:20 +0200 | <seydar> | so... my bad |
2022-05-06 01:32:36 +0200 | lagooned | (~lagooned@108-208-149-42.lightspeed.hstntx.sbcglobal.net) |
2022-05-06 01:34:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-05-06 01:41:03 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 252 seconds) |
2022-05-06 01:43:17 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-05-06 01:47:59 +0200 | <seydar> | this project is showing me just how poorly i know haskell and just how poorly i can read |
2022-05-06 01:49:56 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 248 seconds) |
2022-05-06 01:54:05 +0200 | <seydar> | i'm having (Integral Double) troubles again: https://paste.tomsmeding.com/TgdvpoGl |
2022-05-06 01:54:22 +0200 | <seydar> | what does it mean when it says "no instance of (Integral Double)"? |
2022-05-06 01:55:47 +0200 | <seydar> | ah. as soon as I removed the `::Double` and the `round`, my problem went away |
2022-05-06 01:55:54 +0200 | <seydar> | which leads me to believe that: |
2022-05-06 01:55:56 +0200 | <seydar> | :t floor |
2022-05-06 01:55:57 +0200 | <lambdabot> | (RealFrac a, Integral b) => a -> b |
2022-05-06 01:56:20 +0200 | <seydar> | okay that doesn't mean much to me, but it feels like `floor` is already making it an Int |
2022-05-06 01:57:58 +0200 | <monochrom> | But what does "limit 0 18" expect? |
2022-05-06 01:59:37 +0200 | jao | (~jao@211.68.17.95.dynamic.jazztel.es) (Remote host closed the connection) |
2022-05-06 02:01:31 +0200 | <seydar> | please don't be mad... but i couldn't come up with a type signature to work, so i got rid of the signature and just let the compiler figure it out for me |
2022-05-06 02:01:32 +0200 | <EvanR> | no instance of Integral Double means Double has no Integral instance, which maps to "you can't do long division with Double" |
2022-05-06 02:01:57 +0200 | <EvanR> | "unless you implement the instance yourself" |
2022-05-06 02:02:02 +0200 | <monochrom> | Then what is the type sig the compiler figured out? |
2022-05-06 02:02:29 +0200 | <monochrom> | I am mad but I don't have remote desktop access. |
2022-05-06 02:03:48 +0200 | <EvanR> | best to double check the compiler arrived at the same conclusion as you-at-your-best |
2022-05-06 02:06:39 +0200 | <sm> | seydar: again, excellent haskell dev technique, no problem with that! |
2022-05-06 02:06:43 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-05-06 02:07:00 +0200 | <sm> | vs code will insert that for you if you like |
2022-05-06 02:07:19 +0200 | <EvanR> | oh man, I should learn vs code |
2022-05-06 02:08:20 +0200 | <seydar> | limit :: Ord a => a -> a -> a -> a |
2022-05-06 02:08:33 +0200 | <seydar> | (limit low high value -> result) |
2022-05-06 02:09:06 +0200 | <EvanR> | so basically a clamp |
2022-05-06 02:10:10 +0200 | <monochrom> | So you are saying "limit 0 18 (floor foo) :: Double". Therefore a=Double. Therefore floor foo :: Double. Therefore you are asking floor to return Double not Int. |
2022-05-06 02:10:49 +0200 | <EvanR> | floor is funny in that it can't turn a Double into a Double :( |
2022-05-06 02:10:53 +0200 | <EvanR> | unlike math.h |
2022-05-06 02:12:48 +0200 | <monochrom> | C's floor probably is designed to just map to a machine instruction, and most machine's floor instruction is probably double->double, and C does not aspire to think about it. |
2022-05-06 02:13:50 +0200 | <monochrom> | Although, both ways are inconvenient half of the time. |
2022-05-06 02:14:43 +0200 | <dons> | morning all. happy friday |
2022-05-06 02:14:54 +0200 | <monochrom> | double->int has the up side of using types to tell you "no fractional part". double->double has the up side of using types to tell you "the answer always fits in the range". |
2022-05-06 02:16:23 +0200 | <monochrom> | However, in Haskell, you're supposed to do Double->Integer therefore there is no out-of-range UB problem. |
2022-05-06 02:17:06 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-05-06 02:17:17 +0200 | <EvanR> | but my premature optimizations |
2022-05-06 02:18:15 +0200 | <EvanR> | when you really do want Double->Double, premature or not, it's annoying |
2022-05-06 02:18:32 +0200 | <monochrom> | This is why we need dependent predicate subtyping of Liquor Haskell to prove that your output fits in 4 bits therefore you are allowed Double-Nibble. |
2022-05-06 02:18:51 +0200 | <monochrom> | And dependent linear typing to prove that destructive update is OK too. |
2022-05-06 02:19:42 +0200 | mmhat | (~mmh@2001:4090:a246:806c:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5) |
2022-05-06 02:19:47 +0200 | xff0x | (~xff0x@om126167084162.29.openmobile.ne.jp) |
2022-05-06 02:19:57 +0200 | <monochrom> | We are doing EGA 16-colour image processing, therefore 4 bits are enough, right? >:) |
2022-05-06 02:20:38 +0200 | <EvanR> | 4 bit color palettes can be pretty cool |
2022-05-06 02:25:33 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-06 02:26:11 +0200 | kaipei | (~Kaiepi@156.34.47.253) |
2022-05-06 02:28:59 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-05-06 02:29:28 +0200 | <dmj`> | Liquor Haskell ? go on. |
2022-05-06 02:29:48 +0200 | kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 276 seconds) |
2022-05-06 02:30:17 +0200 | <monochrom> | It's a 100-proof assistant >:) |
2022-05-06 02:30:45 +0200 | <monochrom> | <monochrom> "Liquor Haskell combines dependent typing, dependent refinement typing, dependent predicate subtyping, and dependent linear typing." |
2022-05-06 02:31:03 +0200 | <monochrom> | I forgot "dependent effect typing" there. |
2022-05-06 02:31:30 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-06 02:32:08 +0200 | <monochrom> | Start with https://ircbrowse.tomsmeding.com/browse/lchaskell?id=540506#trid540506 for the whole conversation :) |
2022-05-06 02:34:12 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 248 seconds) |
2022-05-06 02:34:14 +0200 | <seydar> | https://paste.tomsmeding.com/yKQNirHg |
2022-05-06 02:34:42 +0200 | <seydar> | I'm getting NaN when r, g, b are small values |
2022-05-06 02:34:48 +0200 | <seydar> | is there a better way to phrase this function? |
2022-05-06 02:35:13 +0200 | <monochrom> | If NaN, check that you are not doing sqrt (-0.001) for example. |
2022-05-06 02:35:21 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-05-06 02:35:31 +0200 | <monochrom> | I phrased it wrong. |
2022-05-06 02:35:32 +0200 | <seydar> | i 10000% most definitely am |
2022-05-06 02:35:48 +0200 | <seydar> | some tiktok influencer told me to do it |
2022-05-06 02:36:00 +0200 | <monochrom> | Clearly sqrt (-0.0001) is the sole source of NaN. OK, either that, or it's sqrt NaN in the first place. |
2022-05-06 02:36:51 +0200 | <seydar> | this would explain why the C code does like copysignf(pow(fabsf(... |
2022-05-06 02:39:20 +0200 | <monochrom> | I actually had experience debugging black pixels that turned out to be caused by acos(sqrt( dot product that came out as -0.001 because floating point)) and then some C compiler on some platform decided that "x = (int)NaN;" meant "x = 0;" or something. |
2022-05-06 02:39:54 +0200 | <seydar> | HOLY SHIT i did it |
2022-05-06 02:40:01 +0200 | <seydar> | this has been a team effort |
2022-05-06 02:40:10 +0200 | <seydar> | thank you all for helping me grow into a better programmer and haskeller |
2022-05-06 02:46:15 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-05-06 02:46:15 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-05-06 02:46:15 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-06 02:47:56 +0200 | <seydar> | I humbly submit my code for review: https://paste.tomsmeding.com/ElLdaMKb |
2022-05-06 02:50:35 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
2022-05-06 02:54:10 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-05-06 02:57:15 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Remote host closed the connection) |
2022-05-06 02:57:30 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-05-06 03:13:43 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) |
2022-05-06 03:18:14 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
2022-05-06 03:22:58 +0200 | x_kuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2022-05-06 03:29:48 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Quit: leaving) |
2022-05-06 03:35:30 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2022-05-06 03:37:06 +0200 | frost | (~frost@user/frost) |
2022-05-06 03:37:28 +0200 | andrey__ | (~andrey@p200300dbcf09f8009147dcedbd430909.dip0.t-ipconnect.de) |
2022-05-06 03:40:13 +0200 | andrey_ | (~andrey@p200300dbcf1053000b1abd83a6152638.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-06 03:44:43 +0200 | <sm> | who has read Haskell from the Very Beginning, https://www.amazon.com/dp/095767113X ? it looks good |
2022-05-06 03:49:55 +0200 | <sm> | "For Whitington to both mention and omit monads is quite irresponsible. He has written what I'd consider the standard (but incomplete) introduction to Haskell for non-programmers, but at the same time, he's condemned his readers to monad obsessions as he's taken readers all the way to the gate, told them they exist, and abandoned them there. |
2022-05-06 03:49:55 +0200 | <sm> | Despite the above flaws, this is a very good book." |
2022-05-06 03:49:56 +0200 | kaskal | (~kaskal@2001:4bb8:2e0:b5bd:e3c0:d71b:f32:84d8) (Quit: ZNC - https://znc.in) |
2022-05-06 03:50:11 +0200 | kaskal | (~kaskal@089144207160.atnat0016.highway.bob.at) |
2022-05-06 03:50:14 +0200 | fluxit | (~fluxit@techsmix.net) (Quit: Bye!) |
2022-05-06 03:52:18 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-05-06 04:02:00 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 250 seconds) |
2022-05-06 04:04:37 +0200 | wroathe | (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
2022-05-06 04:04:52 +0200 | jao | (~jao@211.68.17.95.dynamic.jazztel.es) |
2022-05-06 04:07:03 +0200 | michalz | (~michalz@185.246.204.101) (Ping timeout: 260 seconds) |
2022-05-06 04:11:25 +0200 | gpncarl | (~gpncarl@222.249.231.5) |
2022-05-06 04:14:33 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-05-06 04:14:33 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-05-06 04:14:33 +0200 | finn_elija | FinnElija |
2022-05-06 04:16:25 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds) |
2022-05-06 04:20:23 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-05-06 04:26:53 +0200 | <monochrom> | Sounds like the recent Dune movie. >:) |
2022-05-06 04:29:40 +0200 | <monochrom> | "Villeneuve has taken viewers all the way to the gate of the Fremen community, told them they exist, and abandoned them there." >:) |
2022-05-06 04:43:58 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2022-05-06 04:45:12 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2022-05-06 04:46:27 +0200 | Guest4318 | (~Polo@user/polo) |
2022-05-06 04:48:36 +0200 | jespada | (~jespada@146.70.119.114) |
2022-05-06 04:50:45 +0200 | jespada_ | (~jespada@185.195.232.138) (Ping timeout: 260 seconds) |
2022-05-06 04:54:47 +0200 | td_ | (~td@muedsl-82-207-238-115.citykom.de) (Ping timeout: 256 seconds) |
2022-05-06 04:56:39 +0200 | td_ | (~td@94.134.91.66) |
2022-05-06 04:56:50 +0200 | Guest4318 | yous |
2022-05-06 04:57:28 +0200 | <sm> | very true :) |
2022-05-06 04:58:20 +0200 | <sm> | @where books |
2022-05-06 04:58:20 +0200 | <lambdabot> | https://www.extrema.is/articles/haskell-books http://www.vex.net/~trebla/haskell/learn-sources.html, see also @where LYAH, RWH, YAHT, SOE, HR, PIH, TFwH, wikibook, PCPH, HPFFP, HTAC, TwT, FoP, PFAD, |
2022-05-06 04:58:20 +0200 | <lambdabot> | WYAH, non-haskell-books |
2022-05-06 04:59:28 +0200 | <sm> | @where LYAH |
2022-05-06 04:59:28 +0200 | <lambdabot> | http://www.learnyouahaskell.com/ |
2022-05-06 04:59:28 +0200 | xff0x | (~xff0x@om126167084162.29.openmobile.ne.jp) (Read error: Connection reset by peer) |
2022-05-06 04:59:53 +0200 | <sm> | @where+ HFTVB https://www.extrema.is/articles/haskell-books/haskell-from-the-very-beginning |
2022-05-06 04:59:53 +0200 | <lambdabot> | Okay. |
2022-05-06 05:01:00 +0200 | <sm> | @where+ books https://www.extrema.is/articles/haskell-books http://www.vex.net/~trebla/haskell/learn-sources.html, see also @where LYAH, RWH, YAHT, HFTVB, SOE, HR, PIH, TFwH, wikibook, PCPH, HPFFP, HTAC, TwT, FoP, PFAD, WYAH, non-haskell-books |
2022-05-06 05:01:01 +0200 | <lambdabot> | Done. |
2022-05-06 05:10:28 +0200 | yous | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 05:20:19 +0200 | arjun | (~arjun@user/arjun) |
2022-05-06 05:24:25 +0200 | xff0x | (~xff0x@om126167084162.29.openmobile.ne.jp) |
2022-05-06 05:30:01 +0200 | xff0x | (~xff0x@om126167084162.29.openmobile.ne.jp) (Ping timeout: 256 seconds) |
2022-05-06 05:40:36 +0200 | Guest8867 | (~Polo@user/polo) |
2022-05-06 05:50:58 +0200 | Guest8867 | Polo |
2022-05-06 05:52:42 +0200 | Ram-Z_ | (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 246 seconds) |
2022-05-06 05:54:19 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-05-06 05:56:37 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-05-06 05:56:44 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Client Quit) |
2022-05-06 06:12:36 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
2022-05-06 06:14:45 +0200 | jao | (~jao@211.68.17.95.dynamic.jazztel.es) (Ping timeout: 246 seconds) |
2022-05-06 06:18:55 +0200 | notzmv | (~zmv@user/notzmv) |
2022-05-06 06:19:18 +0200 | raym | (~raym@user/raym) (Quit: rebooting...) |
2022-05-06 06:23:23 +0200 | raym | (~raym@user/raym) |
2022-05-06 06:24:47 +0200 | Polo | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 06:27:45 +0200 | kaipei | (~Kaiepi@156.34.47.253) (Quit: Leaving) |
2022-05-06 06:28:12 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-06 06:28:26 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 06:29:09 +0200 | coot | (~coot@213.134.190.95) |
2022-05-06 06:29:25 +0200 | asivitz | (uid178348@id-178348.tinside.irccloud.com) |
2022-05-06 06:37:02 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 06:37:13 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) |
2022-05-06 06:42:23 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::aa1d) |
2022-05-06 06:46:02 +0200 | Polo | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 06:50:08 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-05-06 06:54:01 +0200 | Vajb | (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56) |
2022-05-06 07:01:56 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-05-06 07:11:50 +0200 | mbuf | (~Shakthi@223.184.62.182) |
2022-05-06 07:14:15 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 260 seconds) |
2022-05-06 07:19:32 +0200 | chomwitt | (~chomwitt@2a02:587:dc19:d600:8f70:f0f3:1c35:cd8a) |
2022-05-06 07:21:03 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 07:22:46 +0200 | <juhp[m]> | geekosaur: https://paste.tomsmeding.com/zhha2cRX is a minimal example of "error: (if ... then ... else ...)-syntax in pattern" |
2022-05-06 07:23:11 +0200 | searemind | (~searemind@122.161.49.191) |
2022-05-06 07:23:23 +0200 | searemind | (~searemind@122.161.49.191) (Remote host closed the connection) |
2022-05-06 07:27:04 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
2022-05-06 07:27:37 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-05-06 07:30:35 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-05-06 07:30:57 +0200 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) |
2022-05-06 07:31:15 +0200 | zyklotomic | (~ethan@res388d-128-61-89-205.res.gatech.edu) (Ping timeout: 260 seconds) |
2022-05-06 07:32:58 +0200 | zyklotomic | (~ethan@res380d-128-61-86-102.res.gatech.edu) |
2022-05-06 07:33:33 +0200 | Polo | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 07:35:38 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 07:36:55 +0200 | jargon | (~jargon@174-22-206-112.phnx.qwest.net) (Remote host closed the connection) |
2022-05-06 07:37:03 +0200 | Polo | (~Polo@user/polo) (Client Quit) |
2022-05-06 07:39:15 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 07:40:14 +0200 | michalz | (~michalz@185.246.204.101) |
2022-05-06 07:47:28 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) |
2022-05-06 07:51:04 +0200 | Polo | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 08:00:23 +0200 | agumonkey | (~user@88.163.231.79) |
2022-05-06 08:00:35 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 08:06:20 +0200 | odnes | (~odnes@5-203-246-15.pat.nym.cosmote.net) |
2022-05-06 08:08:59 +0200 | phma | (~phma@2001:5b0:211f:67e8:28ee:b8ea:db61:4883) (Read error: Connection reset by peer) |
2022-05-06 08:10:04 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
2022-05-06 08:10:15 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-05-06 08:12:26 +0200 | phma | (~phma@231.sub-174-212-167.myvzw.com) |
2022-05-06 08:12:52 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 248 seconds) |
2022-05-06 08:16:17 +0200 | echoreply | (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
2022-05-06 08:17:35 +0200 | echoreply | (~echoreply@45.32.163.16) |
2022-05-06 08:18:51 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 276 seconds) |
2022-05-06 08:19:04 +0200 | Batzy_ | Batzy |
2022-05-06 08:24:26 +0200 | mikoto-chan | (~mikoto-ch@84.199.144.234) |
2022-05-06 08:24:51 +0200 | alp_ | (~alp@user/alp) |
2022-05-06 08:25:35 +0200 | renzhi | (~xp@2607:fa49:6500:b100::78de) (Ping timeout: 256 seconds) |
2022-05-06 08:30:07 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2022-05-06 08:31:32 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 08:34:57 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:f12b:6d29:e790:1b4f) |
2022-05-06 08:35:25 +0200 | Polo | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 08:37:20 +0200 | renzhi | (~xp@2607:fa49:6500:b100::3c88) |
2022-05-06 08:39:36 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-06 08:39:59 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 08:44:48 +0200 | dextaa4 | (~dextaa@user/dextaa) |
2022-05-06 08:47:11 +0200 | dextaa4 | (~dextaa@user/dextaa) (Remote host closed the connection) |
2022-05-06 08:49:00 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 240 seconds) |
2022-05-06 08:49:22 +0200 | dextaa4 | (~dextaa@user/dextaa) |
2022-05-06 08:51:16 +0200 | Polo | (~Polo@user/polo) (Killed (osmium.libera.chat (Nickname regained by services))) |
2022-05-06 08:51:23 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 08:51:48 +0200 | xaotuk | (~sasha@net9-32-245-109.mbb.telenor.rs) |
2022-05-06 08:51:55 +0200 | acidjnk | (~acidjnk@p200300d0c7068b349c270144d8822819.dip0.t-ipconnect.de) |
2022-05-06 08:53:29 +0200 | jamestmartin | (~james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
2022-05-06 08:53:38 +0200 | jamestmartin | (~james@jtmar.me) |
2022-05-06 08:54:52 +0200 | fendor | (~fendor@91.141.58.111.wireless.dyn.drei.com) |
2022-05-06 09:02:10 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-05-06 09:02:11 +0200 | phma | (~phma@231.sub-174-212-167.myvzw.com) (Read error: Connection reset by peer) |
2022-05-06 09:05:05 +0200 | phma | (phma@2001:5b0:211c:bd68:1a30:3d9:b27f:d715) |
2022-05-06 09:06:12 +0200 | Polo | (~Polo@user/polo) (Ping timeout: 248 seconds) |
2022-05-06 09:09:09 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 09:09:30 +0200 | dostoevsky | (~5c42c5384@user/dostoevsky) |
2022-05-06 09:14:48 +0200 | chele | (~chele@user/chele) |
2022-05-06 09:15:32 +0200 | <Athas> | I could swear that cabal is faster at building than stack. |
2022-05-06 09:16:27 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 240 seconds) |
2022-05-06 09:16:30 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-05-06 09:16:47 +0200 | chele | (~chele@user/chele) |
2022-05-06 09:16:51 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2022-05-06 09:17:48 +0200 | agumonkey | (~user@88.163.231.79) (Ping timeout: 246 seconds) |
2022-05-06 09:23:21 +0200 | Polo | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 09:26:00 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 09:27:07 +0200 | ccntrq | (~Thunderbi@2a01:e34:eccb:b060:8a52:6111:fb65:b9eb) (Remote host closed the connection) |
2022-05-06 09:29:47 +0200 | ccntrq | (~Thunderbi@2a01:e34:eccb:b060:76e8:584c:bd55:70ba) |
2022-05-06 09:30:28 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-05-06 09:34:08 +0200 | <maerwald[m]> | Athas: I don't think so |
2022-05-06 09:34:37 +0200 | <maerwald[m]> | cabal repl, cabal run etc are all slower |
2022-05-06 09:35:14 +0200 | <maerwald[m]> | Cabal frequently attempts rebuilds although there's nothing to rebuild and then wastes a lot of time |
2022-05-06 09:35:19 +0200 | Ether17 | (~Ether17@45.248.151.237) |
2022-05-06 09:35:41 +0200 | <Athas> | But I think it does less poking around before starting work. |
2022-05-06 09:35:44 +0200 | <Athas> | The latency is much lower. |
2022-05-06 09:36:02 +0200 | <maerwald[m]> | Possible, might depend on your stack config |
2022-05-06 09:36:07 +0200 | Ether17 | (~Ether17@45.248.151.237) (Client Quit) |
2022-05-06 09:36:24 +0200 | <maerwald[m]> | Stack does shenanigans with sqlite DBs and GHC installation before it starts |
2022-05-06 09:36:38 +0200 | <Athas> | Yes, I suspect that is the reason. |
2022-05-06 09:38:20 +0200 | <maerwald[m]> | Try `system-ghc: true` |
2022-05-06 09:38:27 +0200 | <Athas> | No need, I use cabal now. |
2022-05-06 09:45:08 +0200 | xaotuk | (~sasha@net9-32-245-109.mbb.telenor.rs) (Ping timeout: 248 seconds) |
2022-05-06 09:46:01 +0200 | fendor | (~fendor@91.141.58.111.wireless.dyn.drei.com) (Remote host closed the connection) |
2022-05-06 09:46:14 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-05-06 09:46:36 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds) |
2022-05-06 09:47:03 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-05-06 09:48:15 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-05-06 09:51:51 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-05-06 09:52:51 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-05-06 09:54:30 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-05-06 09:54:35 +0200 | hsw | (~hsw@112-104-144-236.adsl.dynamic.seed.net.tw) (Quit: Leaving) |
2022-05-06 09:57:17 +0200 | machinedgod | (~machinedg@24.105.81.50) (Remote host closed the connection) |
2022-05-06 09:58:22 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-05-06 10:01:02 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-06 10:01:32 +0200 | dextaa4 | (~dextaa@user/dextaa) (Remote host closed the connection) |
2022-05-06 10:05:22 +0200 | dextaa4 | (~dextaa@user/dextaa) |
2022-05-06 10:08:54 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-06 10:11:59 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) |
2022-05-06 10:13:47 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) |
2022-05-06 10:18:27 +0200 | vpan | (~0@212.117.1.172) |
2022-05-06 10:18:27 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Ping timeout: 276 seconds) |
2022-05-06 10:22:19 +0200 | xff0x | (~xff0x@om126253182187.31.openmobile.ne.jp) |
2022-05-06 10:29:42 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
2022-05-06 10:30:42 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2022-05-06 10:39:00 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-06 10:39:35 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-05-06 10:45:07 +0200 | __monty__ | (~toonn@user/toonn) |
2022-05-06 10:47:40 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 10:48:15 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-05-06 10:48:30 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-06 10:48:47 +0200 | img | (~img@user/img) |
2022-05-06 10:50:44 +0200 | xff0x | (~xff0x@om126253182187.31.openmobile.ne.jp) (Ping timeout: 248 seconds) |
2022-05-06 10:54:04 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2022-05-06 11:00:09 +0200 | marinelli[m] | (~marinelli@2001:470:69fc:105::2d8) (Quit: You have been kicked for being idle) |
2022-05-06 11:08:41 +0200 | dextaa4 | (~dextaa@user/dextaa) (Quit: Ping timeout (120 seconds)) |
2022-05-06 11:08:52 +0200 | dextaa4 | (~dextaa@user/dextaa) |
2022-05-06 11:09:24 +0200 | zyklotomic | (~ethan@res380d-128-61-86-102.res.gatech.edu) (Ping timeout: 248 seconds) |
2022-05-06 11:11:17 +0200 | zyklotomic | (~ethan@res380d-128-61-83-67.res.gatech.edu) |
2022-05-06 11:13:00 +0200 | odnes | (~odnes@5-203-246-15.pat.nym.cosmote.net) (Remote host closed the connection) |
2022-05-06 11:13:20 +0200 | odnes | (~odnes@5-203-246-15.pat.nym.cosmote.net) |
2022-05-06 11:16:38 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-06 11:16:58 +0200 | mikoto-chan | (~mikoto-ch@84.199.144.234) (Ping timeout: 260 seconds) |
2022-05-06 11:17:33 +0200 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-05-06 11:22:02 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-05-06 11:24:44 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-05-06 11:24:51 +0200 | caubert | (~caubert@136.244.111.235) (Ping timeout: 246 seconds) |
2022-05-06 11:25:12 +0200 | caubert | (~caubert@136.244.111.235) |
2022-05-06 11:25:16 +0200 | Polo | Guest6109 |
2022-05-06 11:25:16 +0200 | Guest6109 | (~Polo@user/polo) (Killed (zinc.libera.chat (Nickname regained by services))) |
2022-05-06 11:25:22 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-05-06 11:25:27 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 11:26:53 +0200 | odnes | (~odnes@5-203-246-15.pat.nym.cosmote.net) (Ping timeout: 260 seconds) |
2022-05-06 11:26:54 +0200 | Polo | (~Polo@user/polo) (Client Quit) |
2022-05-06 11:27:25 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 260 seconds) |
2022-05-06 11:28:03 +0200 | <Las[m]> | Given `type family Const a b where Const a b = a`, is there a better way to write `type B (y :: Const Type x) = A x y`? |
2022-05-06 11:28:34 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
2022-05-06 11:29:14 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-05-06 11:29:43 +0200 | Hash | (~Hash@hey.howstoned.ru) (Read error: Connection reset by peer) |
2022-05-06 11:29:44 +0200 | <Las[m]> | Essentially I want something similar to the following Idris code: `B : {x : X} -> Y -> Type ; B {x} y = A x y` |
2022-05-06 11:30:09 +0200 | coot_ | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-05-06 11:30:18 +0200 | Hash | (~Hash@hey.howstoned.ru) |
2022-05-06 11:31:04 +0200 | <[exa]> | Las[m]: naively I'd guess that B should be a type family |
2022-05-06 11:31:57 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) |
2022-05-06 11:32:08 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-05-06 11:32:56 +0200 | coot_ | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Client Quit) |
2022-05-06 11:33:16 +0200 | coot_ | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-05-06 11:33:56 +0200 | coot | (~coot@213.134.190.95) (Ping timeout: 248 seconds) |
2022-05-06 11:35:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-05-06 11:35:38 +0200 | coot_ | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Read error: Connection reset by peer) |
2022-05-06 11:35:52 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-05-06 11:36:34 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
2022-05-06 11:36:56 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
2022-05-06 11:39:08 +0200 | <lortabac> | how can I get the cabal.project.freeze corresponding to a given stackage snapshot? |
2022-05-06 11:39:22 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-05-06 11:39:24 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-06 11:39:25 +0200 | <Franciman> | ping fgaz |
2022-05-06 11:39:43 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 11:40:55 +0200 | <maerwald> | lortabac: stack2cabal |
2022-05-06 11:41:05 +0200 | <maerwald> | https://hackage.haskell.org/package/stack2cabal |
2022-05-06 11:41:09 +0200 | <Franciman> | messieur lortabac cette connexion https://github.com/fpco/stackage-server/issues/232 peut vous aider |
2022-05-06 11:41:14 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Quit: Leaving) |
2022-05-06 11:42:30 +0200 | <lortabac> | maerwald: can I use it to create only the .freeze file? |
2022-05-06 11:43:02 +0200 | <maerwald> | lortabac: curl https://www.stackage.org/lts-18.26/cabal.config > cabal.project.freeze |
2022-05-06 11:43:20 +0200 | <lortabac> | maerwald: thanks, that's what I was looking for |
2022-05-06 11:44:09 +0200 | <maerwald> | lortabac: cabal-3.7 has first class support for includes btw |
2022-05-06 11:44:11 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2022-05-06 11:44:21 +0200 | <maerwald> | https://github.com/haskell/cabal/issues/6528#issuecomment-1092062758 |
2022-05-06 11:44:46 +0200 | <maerwald> | you'd just add this to cabal.project: `import: https://www.stackage.org/lts-18.26/cabal.config` |
2022-05-06 11:44:55 +0200 | <maerwald> | cabal prerelease can be enabled via ghcup |
2022-05-06 11:45:08 +0200 | acidjnk | (~acidjnk@p200300d0c7068b349c270144d8822819.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-05-06 11:45:53 +0200 | <maerwald> | this won't work well if you're overwriting constraints from stackage snapshot with source-repository-package... only stack2cabal resolves those |
2022-05-06 11:46:06 +0200 | <maerwald> | (I could add a --only-freeze option to it) |
2022-05-06 11:46:44 +0200 | <lortabac> | I want the ability to override specific packages, is it possible with remote imports? |
2022-05-06 11:47:09 +0200 | <lortabac> | I guess --only-freeze would be the best solution |
2022-05-06 11:48:38 +0200 | <maerwald> | https://github.com/hasufell/stack2cabal/blob/6f12cea1bffaa804430317b1d66ce2d60c7b05b2/lib/Stackage… |
2022-05-06 11:49:18 +0200 | <maerwald> | you can just manually delete stuff from the freeze file too |
2022-05-06 11:49:24 +0200 | <maerwald> | I don't know your use case |
2022-05-06 11:49:34 +0200 | <maerwald> | is it automated? |
2022-05-06 11:50:08 +0200 | <lortabac> | no |
2022-05-06 11:50:30 +0200 | <maerwald> | then you can just delete whatever you overwrite from the resolver from the freeze file |
2022-05-06 11:51:14 +0200 | <lortabac> | yes, that was my idea |
2022-05-06 11:51:32 +0200 | <lortabac> | but if the freeze file is remote, can I do it? |
2022-05-06 11:51:51 +0200 | <lortabac> | (or maybe I misunderstood what import means?) |
2022-05-06 11:51:57 +0200 | <maerwald> | nope... that's why duncan suggested a constraint algebra |
2022-05-06 11:52:21 +0200 | <geekosaur> | juhp[m], okay, that's weird. I would expect the first line of the missing-do do to be an error, but I guess it's parsed as a … I forget what. (still working on first coffee) |
2022-05-06 11:52:29 +0200 | <maerwald> | constraints are passed to the solver without any pre-processing, so if you have multiple constraints that can be solved, cabal will just barf out |
2022-05-06 11:52:37 +0200 | <maerwald> | s/can/can't/ |
2022-05-06 11:53:12 +0200 | <maerwald> | so importing mulitple freeze files will not overwrite anything, but just make cabal potentially fail |
2022-05-06 11:53:38 +0200 | <maerwald> | it's simple union |
2022-05-06 11:53:45 +0200 | <lortabac> | an algebra would be great indeed |
2022-05-06 11:54:05 +0200 | <maerwald> | lortabac: well, but no one is working on it |
2022-05-06 11:54:13 +0200 | <lortabac> | so the best thing for me at the moment is to download cabal.config |
2022-05-06 11:54:26 +0200 | <maerwald> | yeah, process it like stack2cabal |
2022-05-06 11:54:30 +0200 | <lortabac> | and remove the lines that I want to override |
2022-05-06 11:54:58 +0200 | <maerwald> | wouldn't be hard to write a smaller tool than stack2cabal that just merges two freeze files with your preferred logic |
2022-05-06 11:55:19 +0200 | <maerwald> | because it's yaml, not some esoteric custom format like cabal :p |
2022-05-06 11:55:31 +0200 | <maerwald> | (stackage snapshots, that is) |
2022-05-06 11:56:36 +0200 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 276 seconds) |
2022-05-06 11:57:10 +0200 | <Las[m]> | [exa]: Unfortunately I couldn't find any way to do it with type families at all, even using the `Const`-trick. With `newtype`s, you can use GADT-syntax to introduce `forall`s. |
2022-05-06 11:57:29 +0200 | <Las[m]> | But with type families, the arity changes if you put the parameters on the right side of the `::`, so I can't define the type family. |
2022-05-06 12:01:39 +0200 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) |
2022-05-06 12:08:30 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-06 12:12:26 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) |
2022-05-06 12:15:42 +0200 | xaotuk | (~sasha@net200-34-245-109.mbb.telenor.rs) |
2022-05-06 12:15:55 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2022-05-06 12:16:56 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Ping timeout: 248 seconds) |
2022-05-06 12:17:10 +0200 | hrdl | (~hrdl@mail.hrdl.eu) () |
2022-05-06 12:18:04 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-05-06 12:20:43 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-06 12:23:24 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-05-06 12:34:49 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-06 12:37:49 +0200 | mmhat | (~mmh@2001:4090:a246:8044:ee08:6bff:fe09:5315) |
2022-05-06 12:47:59 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-05-06 12:48:31 +0200 | ubert | (~Thunderbi@p200300ecdf15882975febf22f194fce4.dip0.t-ipconnect.de) |
2022-05-06 12:48:33 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2022-05-06 12:48:40 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-05-06 12:49:16 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-05-06 12:53:45 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-06 13:00:42 +0200 | cheater | (~Username@user/cheater) (Quit: BitchX: the OTHER white meat) |
2022-05-06 13:01:22 +0200 | cheater | (~Username@user/cheater) |
2022-05-06 13:13:03 +0200 | xff0x | (~xff0x@om126253182187.31.openmobile.ne.jp) |
2022-05-06 13:15:02 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) |
2022-05-06 13:15:27 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 246 seconds) |
2022-05-06 13:19:41 +0200 | yauhsien | (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-05-06 13:28:54 +0200 | zyklotomic | (~ethan@res380d-128-61-83-67.res.gatech.edu) (Ping timeout: 276 seconds) |
2022-05-06 13:30:32 +0200 | dfip^ | (~dfip@173-160-94-253-atlanta.hfc.comcastbusiness.net) |
2022-05-06 13:30:41 +0200 | zyklotomic | (~ethan@res388d-128-61-94-22.res.gatech.edu) |
2022-05-06 13:31:53 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-05-06 13:32:33 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 13:34:24 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 252 seconds) |
2022-05-06 13:41:52 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 13:44:39 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2022-05-06 13:46:01 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 248 seconds) |
2022-05-06 13:46:12 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2022-05-06 13:50:58 +0200 | alp_ | (~alp@user/alp) |
2022-05-06 13:54:55 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-05-06 13:56:29 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-05-06 14:02:13 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-05-06 14:03:04 +0200 | frost | (~frost@user/frost) |
2022-05-06 14:04:09 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-06 14:05:10 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-06 14:06:47 +0200 | Ether17 | (~Ether17@45.248.151.250) |
2022-05-06 14:07:39 +0200 | Ether17 | (~Ether17@45.248.151.250) (Client Quit) |
2022-05-06 14:12:06 +0200 | dextaa4 | (~dextaa@user/dextaa) (Remote host closed the connection) |
2022-05-06 14:14:15 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 260 seconds) |
2022-05-06 14:15:07 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-05-06 14:18:02 +0200 | frost | (~frost@user/frost) |
2022-05-06 14:19:05 +0200 | zeenk | (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) |
2022-05-06 14:21:16 +0200 | <dmj`> | monochrom: 100 proof assistant (><) |
2022-05-06 14:22:15 +0200 | zebrag | (~chris@user/zebrag) |
2022-05-06 14:26:02 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 14:29:21 +0200 | raym | (~raym@user/raym) (Ping timeout: 276 seconds) |
2022-05-06 14:35:50 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 260 seconds) |
2022-05-06 14:44:18 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 276 seconds) |
2022-05-06 14:44:54 +0200 | raym | (~raym@user/raym) |
2022-05-06 14:49:03 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-06 14:49:28 +0200 | raym | (~raym@user/raym) (Ping timeout: 248 seconds) |
2022-05-06 14:51:15 +0200 | xkuru | (~xkuru@user/xkuru) |
2022-05-06 14:59:10 +0200 | phma | (phma@2001:5b0:211c:bd68:1a30:3d9:b27f:d715) (Read error: Connection reset by peer) |
2022-05-06 14:59:52 +0200 | phma | (~phma@host-67-44-208-170.hnremote.net) |
2022-05-06 15:01:03 +0200 | jao | (~jao@211.68.17.95.dynamic.jazztel.es) |
2022-05-06 15:06:17 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-05-06 15:10:42 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-05-06 15:10:51 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-05-06 15:13:54 +0200 | frost | (~frost@user/frost) (Ping timeout: 252 seconds) |
2022-05-06 15:17:16 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-05-06 15:17:19 +0200 | __monty__ | (~toonn@user/toonn) |
2022-05-06 15:20:10 +0200 | xaotuk | (~sasha@net200-34-245-109.mbb.telenor.rs) (Ping timeout: 260 seconds) |
2022-05-06 15:23:37 +0200 | arjun | (~arjun@user/arjun) (Ping timeout: 248 seconds) |
2022-05-06 15:23:57 +0200 | turlando | (~turlando@user/turlando) (Ping timeout: 276 seconds) |
2022-05-06 15:27:27 +0200 | odnes | (~odnes@5-203-210-252.pat.nym.cosmote.net) |
2022-05-06 15:29:26 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.5) |
2022-05-06 15:29:35 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-05-06 15:35:00 +0200 | jao | (~jao@211.68.17.95.dynamic.jazztel.es) (Ping timeout: 248 seconds) |
2022-05-06 15:35:42 +0200 | raym | (~raym@user/raym) |
2022-05-06 15:38:36 +0200 | mmhat | (~mmh@2001:4090:a246:8044:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5) |
2022-05-06 15:43:07 +0200 | raym | (~raym@user/raym) (Ping timeout: 240 seconds) |
2022-05-06 15:43:11 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-05-06 15:44:19 +0200 | raym | (~raym@user/raym) |
2022-05-06 15:49:20 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 260 seconds) |
2022-05-06 15:50:42 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-05-06 15:50:45 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-05-06 15:56:21 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) |
2022-05-06 15:59:41 +0200 | kenran | (~kenran@200116b82b9bc0001d39572182082eac.dip.versatel-1u1.de) |
2022-05-06 16:00:42 +0200 | kenran | (~kenran@200116b82b9bc0001d39572182082eac.dip.versatel-1u1.de) (Client Quit) |
2022-05-06 16:00:51 +0200 | kenran | (~kenran@200116b82b9bc0001d39572182082eac.dip.versatel-1u1.de) |
2022-05-06 16:01:10 +0200 | kenran | (~kenran@200116b82b9bc0001d39572182082eac.dip.versatel-1u1.de) (Client Quit) |
2022-05-06 16:01:46 +0200 | kenran | (~kenran@200116b82b9bc0001d39572182082eac.dip.versatel-1u1.de) |
2022-05-06 16:02:31 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection) |
2022-05-06 16:05:00 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
2022-05-06 16:06:19 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-05-06 16:06:21 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-05-06 16:08:48 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 276 seconds) |
2022-05-06 16:10:26 +0200 | jinsun | (~jinsun@user/jinsun) (Ping timeout: 250 seconds) |
2022-05-06 16:10:28 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-06 16:12:53 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) (Quit: WeeChat 3.4.1) |
2022-05-06 16:13:11 +0200 | zyklotomic | (~ethan@res388d-128-61-94-22.res.gatech.edu) (Quit: WeeChat 2.7.1) |
2022-05-06 16:16:48 +0200 | jao | (~jao@211.68.17.95.dynamic.jazztel.es) |
2022-05-06 16:17:45 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 252 seconds) |
2022-05-06 16:19:45 +0200 | pavonia | (~user@user/siracusa) |
2022-05-06 16:20:15 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-06 16:20:43 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-05-06 16:21:35 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) |
2022-05-06 16:22:27 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-06 16:26:09 +0200 | <juhp[m]> | geekosaur: okay |
2022-05-06 16:26:49 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-05-06 16:31:21 +0200 | <juhp[m]> | The other day I couldn't get ghc9.4 alpha1 to build locally but it worked in the fedora buildsystem, today HLS builds locally for me with ghc9.0 but fails rejecting entropy in the buildsystem using cabal ugh (I suppose this is the kind of reason why people use nix... sigh) |
2022-05-06 16:36:23 +0200 | <juhp[m]> | Ah I do have newer cabal-install locally now - wonder if that is the discrepancy |
2022-05-06 16:37:53 +0200 | x_kuru | (~xkuru@user/xkuru) |
2022-05-06 16:38:08 +0200 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2022-05-06 16:39:33 +0200 | Vajb | (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56) (Read error: Connection reset by peer) |
2022-05-06 16:39:44 +0200 | Vajb | (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56) |
2022-05-06 16:41:15 +0200 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 260 seconds) |
2022-05-06 16:41:15 +0200 | Vajb | (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56) (Read error: Connection reset by peer) |
2022-05-06 16:41:24 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-05-06 16:42:28 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-05-06 16:44:03 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 16:48:36 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2022-05-06 16:49:22 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2022-05-06 16:51:15 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) (Quit: WeeChat 3.4.1) |
2022-05-06 16:51:32 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) |
2022-05-06 16:53:50 +0200 | dfip^ | (~dfip@173-160-94-253-atlanta.hfc.comcastbusiness.net) (Remote host closed the connection) |
2022-05-06 16:54:10 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:f12b:6d29:e790:1b4f) (Quit: WeeChat 2.8) |
2022-05-06 16:54:17 +0200 | melas | (~melas@172.77.31.247) |
2022-05-06 16:54:43 +0200 | nattiestnate | (~nate@202.138.250.52) |
2022-05-06 16:54:48 +0200 | <melas> | Hi. I decided to make haskell my first language and I'm 37. go me. Just wanted to say hi. |
2022-05-06 16:55:20 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) (Client Quit) |
2022-05-06 16:55:35 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) |
2022-05-06 16:55:45 +0200 | <maerwald> | hi |
2022-05-06 16:58:33 +0200 | nattiestnate | (~nate@202.138.250.52) (Client Quit) |
2022-05-06 16:58:46 +0200 | nattiestnate | (~nate@202.138.250.20) |
2022-05-06 17:01:29 +0200 | moonsheep | (~user@iespladelestany.xtec.cat) |
2022-05-06 17:01:30 +0200 | <exarkun> | melas: welcome |
2022-05-06 17:01:52 +0200 | <maerwald> | melas: do you already have learning material etc? |
2022-05-06 17:03:24 +0200 | <melas> | Well, the only thing I have is the Haskell first principals book. I am interested in everything I can get my hands on though. Some video would be nice. |
2022-05-06 17:04:12 +0200 | <melas> | I have a bunch of pdf's a friend gave to me that are all Haskell books from the 90's / early 200's but I'm not sure how relevant theyu are these days |
2022-05-06 17:04:32 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) (Quit: WeeChat 3.4.1) |
2022-05-06 17:04:48 +0200 | <melas> | I was thinking about getting a Udemy course or the like |
2022-05-06 17:04:49 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) |
2022-05-06 17:05:25 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) () |
2022-05-06 17:06:32 +0200 | <maerwald> | https://github.com/haskell-beginners-2022/course-plan |
2022-05-06 17:06:46 +0200 | <maerwald> | and maybe https://www.cis.upenn.edu/~cis194/spring13/ |
2022-05-06 17:08:04 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-05-06 17:12:30 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) |
2022-05-06 17:12:56 +0200 | eltonpinto | (~1ntEgr8@2600:1700:47f0:d3d0:c468:7e34:5fd7:18a3) () |
2022-05-06 17:13:08 +0200 | odnes_ | (~odnes@5-203-210-252.pat.nym.cosmote.net) |
2022-05-06 17:13:28 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-05-06 17:13:59 +0200 | odnes | (~odnes@5-203-210-252.pat.nym.cosmote.net) (Read error: Connection reset by peer) |
2022-05-06 17:14:33 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-05-06 17:15:52 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-05-06 17:16:37 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Client Quit) |
2022-05-06 17:16:56 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-05-06 17:17:29 +0200 | odnes__ | (~odnes@5-203-210-252.pat.nym.cosmote.net) |
2022-05-06 17:18:05 +0200 | zeenk | (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) (Quit: Konversation terminated!) |
2022-05-06 17:18:43 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 17:20:18 +0200 | odnes_ | (~odnes@5-203-210-252.pat.nym.cosmote.net) (Ping timeout: 276 seconds) |
2022-05-06 17:23:34 +0200 | hololeap_ | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-06 17:26:40 +0200 | <moonsheep> | is this the place to ask about the snap framework? |
2022-05-06 17:26:48 +0200 | jao | (~jao@211.68.17.95.dynamic.jazztel.es) (Ping timeout: 248 seconds) |
2022-05-06 17:26:51 +0200 | <moonsheep> | in their about page they point to a channel in freenode, but it seems to be completely empty |
2022-05-06 17:27:29 +0200 | <moonsheep> | logging in was a nightmare (they have a password length limit!) and there was literally no one there |
2022-05-06 17:28:04 +0200 | <moonsheep> | so I figured I might as well come here |
2022-05-06 17:28:12 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2022-05-06 17:28:47 +0200 | <maerwald> | snap might be past its prime... surprised there's no channel for it on libera though |
2022-05-06 17:29:17 +0200 | alp_ | (~alp@user/alp) |
2022-05-06 17:29:43 +0200 | <moonsheep> | it seemed pretty nice on paper so I thought I might as well try it |
2022-05-06 17:30:28 +0200 | <maerwald> | these days, servant is the most popular |
2022-05-06 17:30:44 +0200 | <moonsheep> | hadn't heard of it |
2022-05-06 17:30:52 +0200 | <maerwald> | it expresses APIs as types |
2022-05-06 17:32:04 +0200 | <moonsheep> | so then, if I'm to learn one I should do servant? |
2022-05-06 17:32:09 +0200 | <moonsheep> | I also heard of yesod, is it any good? |
2022-05-06 17:33:53 +0200 | <juhp[m]> | juhp[m]: okay that fixed it... |
2022-05-06 17:35:43 +0200 | <[exa]> | moonsheep: everyone kinda moved to libera since one certain event. If you just want to start with web APIs etc, scotty might "just do". |
2022-05-06 17:35:58 +0200 | gnyeki | (~gnyeki@user/gnyeki) |
2022-05-06 17:36:11 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2022-05-06 17:36:24 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-05-06 17:36:28 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-06 17:36:38 +0200 | <moonsheep> | does it have a templating engine? |
2022-05-06 17:36:46 +0200 | <moonsheep> | i feel like that's one of the primary things I need |
2022-05-06 17:36:56 +0200 | <moonsheep> | I don't care too much for the bells and whistles |
2022-05-06 17:37:02 +0200 | <[exa]> | moonsheep: yesod is a bit more oldschool haskell, lots of template haskell |
2022-05-06 17:37:15 +0200 | <moonsheep> | ah |
2022-05-06 17:37:20 +0200 | <[exa]> | there are template languages that can be easily plugged into all of these afaik |
2022-05-06 17:37:32 +0200 | <moonsheep> | good to know |
2022-05-06 17:38:07 +0200 | <moonsheep> | so then, between servant and scotty, which should I choose? |
2022-05-06 17:38:14 +0200 | <[exa]> | but usually it's easier to just write the html directly in blaze |
2022-05-06 17:39:28 +0200 | <[exa]> | re servant vs scotty, depends on project complexity |
2022-05-06 17:39:37 +0200 | <moonsheep> | oh so writing HTML as an embedded language? |
2022-05-06 17:39:51 +0200 | <moonsheep> | as for project complexity I don't expect to get very far |
2022-05-06 17:39:54 +0200 | <[exa]> | also servant is basically meant as a super-complexly-typed REST api server |
2022-05-06 17:40:08 +0200 | <moonsheep> | I'm mostly doing this for my own amusement |
2022-05-06 17:40:08 +0200 | <[exa]> | if you just want a nice web running safely with haskell, scotty is the way |
2022-05-06 17:40:14 +0200 | <moonsheep> | right |
2022-05-06 17:40:15 +0200 | <tdammers> | indeed, servant was never designed to be a "web framework" |
2022-05-06 17:40:32 +0200 | <[exa]> | also, the learning curve doesn't hit you |
2022-05-06 17:40:56 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-05-06 17:41:06 +0200 | <tdammers> | And as far as template engines go, you can just plug in whichever one you like best. My go-to's are blaze when it's OK to compile templates in, and my own Ginger when I need users to change templates at runtime. |
2022-05-06 17:41:43 +0200 | <maerwald> | moonsheep: https://haskell-servant.github.io/posts/2018-07-12-servant-dsl-typelevel.html |
2022-05-06 17:42:34 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2022-05-06 17:42:38 +0200 | <[exa]> | moonsheep: I'd say the scotty ecosystem got pretty comprehensive, see here https://hoogle.haskell.org/?hoogle=scotty%20is%3Apackage&scope=set:stackage |
2022-05-06 17:44:02 +0200 | <dolio> | Isn't not merely complexly typed, right? The point is that you write types to describe things, and functionality is derived from them. |
2022-05-06 17:44:02 +0200 | <moonsheep> | thank you so much everyone |
2022-05-06 17:44:23 +0200 | <moonsheep> | I think I'll go with scotty for now |
2022-05-06 17:44:44 +0200 | <moonsheep> | I don't need to write an entire API at the type-level I don't think |
2022-05-06 17:44:45 +0200 | <geekosaur> | right, the types aren't just there to be complex, they actually do most of the heavy lifting |
2022-05-06 17:45:20 +0200 | phma | (~phma@host-67-44-208-170.hnremote.net) (Read error: Connection reset by peer) |
2022-05-06 17:45:40 +0200 | <dolio> | That's what's missing from a lot of 'fancy types' examples. Too many are just enforcing things that make writing anything a lot harder. One of the reasons for wanting fancy types is so that the machine can do more work for you, instead of requiring you to do more work. |
2022-05-06 17:46:00 +0200 | <tdammers> | the issue with things like servant is that Haskell's type-level language is a bit more awkward than its term-level language |
2022-05-06 17:46:09 +0200 | <maerwald> | well, I don't like most type-level heavy libraries, but I think servant managed to strike an ok balance |
2022-05-06 17:46:16 +0200 | phma | (~phma@2001:5b0:212a:a158:cf03:ba31:b20b:efff) |
2022-05-06 17:46:24 +0200 | <dolio> | Yeah, Haskell is not ideal for accomplishing the goal. |
2022-05-06 17:46:52 +0200 | <maerwald> | but yeah, type level APIs leak implementation difficulties |
2022-05-06 17:46:59 +0200 | <[exa]> | dolio: btw that property about not overdoing types the wrong way should have a name (types as code generators, not restrictions?) |
2022-05-06 17:47:03 +0200 | <dolio> | maerwald: Yeah, I'm trying to explain why you might like it better. |
2022-05-06 17:47:48 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-05-06 17:49:08 +0200 | <moonsheep> | by the way, shouldn't https://wiki.haskell.org/Web/Frameworks make this things a bit clearer? I mean, most of the frameworks listed seem pretty unmaintained |
2022-05-06 17:49:29 +0200 | <moonsheep> | perhaps there should be a section at the top for the more current frameworks? |
2022-05-06 17:50:02 +0200 | <moonsheep> | it just blasted a bunch of options at me and didn't help me make a choice at all |
2022-05-06 17:50:52 +0200 | <geekosaur> | the whole wiki's in that state, sadly |
2022-05-06 17:51:14 +0200 | odnes | (~odnes@5-203-206-15.pat.nym.cosmote.net) |
2022-05-06 17:51:24 +0200 | <maerwald> | yeah, I want to delete it |
2022-05-06 17:51:28 +0200 | <moonsheep> | I'd love to help imrpove that page, but I don't think I'm in a position to do that right now, especially considering I'm literally just starting out |
2022-05-06 17:51:50 +0200 | odnes | (~odnes@5-203-206-15.pat.nym.cosmote.net) (Remote host closed the connection) |
2022-05-06 17:52:14 +0200 | <hololeap_> | internal libraries in Cabal seem so useful, how come they aren't seen more often? |
2022-05-06 17:52:17 +0200 | hololeap_ | hololeap |
2022-05-06 17:52:18 +0200 | <dolio> | Well, just don't forget to go back after you learn about everything, like everyone else did. :) |
2022-05-06 17:52:30 +0200 | <hololeap> | https://cabal.readthedocs.io/en/3.4/cabal-package.html#sublibs |
2022-05-06 17:52:36 +0200 | odnes__ | (~odnes@5-203-210-252.pat.nym.cosmote.net) (Ping timeout: 248 seconds) |
2022-05-06 17:52:48 +0200 | <moonsheep> | now those are some big words >learn about everything |
2022-05-06 17:52:54 +0200 | <moonsheep> | btw what's the proper way to quote messages? |
2022-05-06 17:53:02 +0200 | <geekosaur> | there isn't one on irc |
2022-05-06 17:53:04 +0200 | <[exa]> | moonsheep: actually I kinda like that people come here and just ask the developers :D also wiki maintenance isn't free, esp. with a diverse, opinionated and quickly developing community |
2022-05-06 17:53:12 +0200 | <geekosaur> | I use » so I don't set off the bot |
2022-05-06 17:53:27 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Ping timeout: 276 seconds) |
2022-05-06 17:53:31 +0200 | <moonsheep> | ah, so anything goes? (as long as it's clear that it's a quote?) |
2022-05-06 17:53:35 +0200 | <geekosaur> | not thst I quote very often and most of the time that ends up being whole messages so I just cut and paste with timestamp |
2022-05-06 17:53:40 +0200 | <moonsheep> | [exa]: yeah I agree, I really like chatrooms |
2022-05-06 17:54:02 +0200 | <[exa]> | moonsheep: IRC is a RPG, really imagine you're speaking and try to reduce the markup :D |
2022-05-06 17:54:20 +0200 | <geekosaur> | hololeap, internal libs are still new enough that I suspect they're just not well knnown yet |
2022-05-06 17:54:29 +0200 | <geekosaur> | think they came in with cabal 3.x |
2022-05-06 17:54:47 +0200 | <dolio> | According to that doc it was 2.0, apparently. |
2022-05-06 17:54:48 +0200 | kenran | (~kenran@200116b82b9bc0001d39572182082eac.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
2022-05-06 17:54:58 +0200 | <[exa]> | moonsheep: btw in #haskell, > on the beginning of the message triggers lambdabot to evaluate the message, but that's it I guess |
2022-05-06 17:55:18 +0200 | <moonsheep> | >2 * " |
2022-05-06 17:55:21 +0200 | <moonsheep> | >2*2 |
2022-05-06 17:55:30 +0200 | <geekosaur> | watch out for ">", "@", "?", and sometimes ":" |
2022-05-06 17:55:32 +0200 | <int-e> | > 2*2 -- needs a space too |
2022-05-06 17:55:33 +0200 | <geekosaur> | need a space |
2022-05-06 17:55:33 +0200 | <lambdabot> | 4 |
2022-05-06 17:55:35 +0200 | <moonsheep> | > 2 * 2 |
2022-05-06 17:55:36 +0200 | <lambdabot> | 4 |
2022-05-06 17:55:38 +0200 | <moonsheep> | ah |
2022-05-06 17:55:40 +0200 | <moonsheep> | that's really neat |
2022-05-06 17:55:45 +0200 | <dolio> | Cabal has a lot of features that are actually pretty old, but are still considered new. |
2022-05-06 17:56:02 +0200 | <[exa]> | an and '%' for the other bot |
2022-05-06 17:56:08 +0200 | <melas> | Thanks maerwald for those links. I see the college course is from 2013, is that not old, or should it not matter since I'm just starting? |
2022-05-06 17:56:31 +0200 | <moonsheep> | what happens if I |
2022-05-06 17:56:32 +0200 | <moonsheep> | > getLine |
2022-05-06 17:56:33 +0200 | <lambdabot> | <IO [Char]> |
2022-05-06 17:56:39 +0200 | <moonsheep> | the bot is too smart |
2022-05-06 17:56:47 +0200 | <maerwald> | melas: the college course is good |
2022-05-06 17:57:05 +0200 | <geekosaur> | melas, that particular instantiation is from 2013, but it's generally considered the best of the series |
2022-05-06 17:57:22 +0200 | <geekosaur> | I think later ones are also online if you prefer |
2022-05-06 17:57:55 +0200 | <int-e> | moonsheep: "can't we use Haskell's type system to prevent the use of arbitrary IO" must have been one of the inspirations for lambdabot |
2022-05-06 17:58:10 +0200 | <moonsheep> | yeah I figured |
2022-05-06 17:58:48 +0200 | <geekosaur> | nicely packaged up as mueval if you want to use it yourself |
2022-05-06 17:58:53 +0200 | <moonsheep> | > unsafePerformIO (putStrLn "hello") |
2022-05-06 17:58:55 +0200 | <lambdabot> | error: |
2022-05-06 17:58:55 +0200 | <lambdabot> | Variable not in scope: unsafePerformIO :: IO () -> t |
2022-05-06 17:59:00 +0200 | <moonsheep> | worth a shot |
2022-05-06 17:59:02 +0200 | <int-e> | At the time, the answer was "almost, but not quite"; SafeHaskell fills that gap. (Though I don't think anyone is 100% certain that it succeeds.) |
2022-05-06 17:59:03 +0200 | <dolio> | hololeap: I guess it's potentially an even worse case of, "I need access to the internals, but they aren't available." |
2022-05-06 17:59:04 +0200 | <geekosaur> | can't even import it |
2022-05-06 17:59:28 +0200 | <dolio> | hololeap: Although, nowadays I think youc an depend on sublibraries, so it's actually a better solution to that? |
2022-05-06 17:59:33 +0200 | <moonsheep> | still, the existence of unsafePerformIO doesn't let me sleep at night |
2022-05-06 17:59:53 +0200 | <geekosaur> | enh, it has its uses. as long as you're careful |
2022-05-06 18:00:02 +0200 | <dolio> | Like, you can have all your .Internal modules in an internal library that isn't in the main API, but someone who needs them can depend on lib:internal or something? |
2022-05-06 18:00:10 +0200 | <geekosaur> | Debug.Trace is a useful and safe use of unsafePerformIO |
2022-05-06 18:00:11 +0200 | renatofdds[m] | (~renatofdd@2001:470:69fc:105::1:3cfe) (Quit: You have been kicked for being idle) |
2022-05-06 18:00:20 +0200 | <moonsheep> | yeah, I've used that before |
2022-05-06 18:00:24 +0200 | renatofdds[m] | (~renatofdd@2001:470:69fc:105::1:3cfe) |
2022-05-06 18:00:26 +0200 | <geekosaur> | dolio, can't depend on internal libraries |
2022-05-06 18:00:29 +0200 | renatofdds[m] | (~renatofdd@2001:470:69fc:105::1:3cfe) () |
2022-05-06 18:00:35 +0200 | <moonsheep> | I mean, any language that doesn't have printf debugging is immediately painful to use |
2022-05-06 18:00:52 +0200 | <geekosaur> | only the cabal file with them can depend on them, they're not exposed in the package system |
2022-05-06 18:01:00 +0200 | <moonsheep> | but I feel like there should perhaps be some compiler flag in production to disable all trippy type system stuff |
2022-05-06 18:01:07 +0200 | <int-e> | At the very least, unsafePerformIO is a necessary part of a usable FFI; without it, all imports would live in IO |
2022-05-06 18:01:18 +0200 | <melas> | Ok great! I'm eventually wanting to get into helping with development on DSP/synthesis stuff. I was inspired by this: https://www.euterpea.com/ |
2022-05-06 18:01:24 +0200 | <moonsheep> | int-e: oh good point |
2022-05-06 18:01:36 +0200 | <melas> | And I use tidalcycles.org |
2022-05-06 18:01:59 +0200 | <maerwald> | melas: fyi the installation instructions there are quite outdated |
2022-05-06 18:02:09 +0200 | <moonsheep> | anyway, was really fun coming here today, goodbye folks |
2022-05-06 18:02:10 +0200 | <dolio> | geekosaur: What is the feature that allows a package to have multiple sublibraries, then? |
2022-05-06 18:02:12 +0200 | moonsheep | (~user@iespladelestany.xtec.cat) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)) |
2022-05-06 18:02:17 +0200 | <maerwald> | melas: use https://www.haskell.org/ghcup/ instead |
2022-05-06 18:02:46 +0200 | <geekosaur> | dolio, its original intent was to allow internals to be accessed by a test program without exposing them in the public API |
2022-05-06 18:04:23 +0200 | <melas> | Looks like I cant install mueval with cabal |
2022-05-06 18:04:36 +0200 | <geekosaur> | make sure you "cabal update" first |
2022-05-06 18:05:27 +0200 | <geekosaur> | this is something I hope they improve at some point, it's kinda silly you have to manually "cabal update" after installing |
2022-05-06 18:05:41 +0200 | <maerwald> | geekosaur: ghcup install script takes care of that :p |
2022-05-06 18:05:45 +0200 | odnes | (~odnes@5-203-198-83.pat.nym.cosmote.net) |
2022-05-06 18:05:53 +0200 | <melas> | ok thanks! |
2022-05-06 18:06:44 +0200 | jinsun__ | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-05-06 18:06:50 +0200 | <melas> | Yeha still cant fufill dependancies after cabal update for mueval |
2022-05-06 18:07:13 +0200 | <melas> | oh derp, looks like a nux only packagae |
2022-05-06 18:07:19 +0200 | <melas> | *nix |
2022-05-06 18:07:41 +0200 | <melas> | Im on windows unfortunately for wok |
2022-05-06 18:07:53 +0200 | <melas> | sorry cant type today...work |
2022-05-06 18:08:38 +0200 | <melas> | I'll get my wsl up later. Thanks again for your help everyone, I'll definitely be around :) |
2022-05-06 18:08:53 +0200 | <maerwald> | GHC also works on plain windows |
2022-05-06 18:09:10 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-05-06 18:09:49 +0200 | <melas> | I have ghc installed. Is mueval preferred for some reason? |
2022-05-06 18:09:49 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-06 18:12:51 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 18:12:53 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-05-06 18:13:20 +0200 | xff0x | (~xff0x@om126253182187.31.openmobile.ne.jp) (Read error: Connection reset by peer) |
2022-05-06 18:15:13 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) |
2022-05-06 18:19:40 +0200 | <geekosaur> | I meant mueval is the sandboxed ghc used by lambdabot. You wouldn't use it normally |
2022-05-06 18:19:46 +0200 | <geekosaur> | you would use ghci |
2022-05-06 18:22:22 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-05-06 18:23:32 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-06 18:23:44 +0200 | <melas> | OH haha goctha |
2022-05-06 18:24:06 +0200 | odnes | (~odnes@5-203-198-83.pat.nym.cosmote.net) (Remote host closed the connection) |
2022-05-06 18:24:39 +0200 | odnes | (~odnes@5-203-198-83.pat.nym.cosmote.net) |
2022-05-06 18:24:51 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-05-06 18:28:42 +0200 | Guest87 | (~Guest87@179.43.100.206) |
2022-05-06 18:28:51 +0200 | Vajb | (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56) |
2022-05-06 18:31:05 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-05-06 18:31:27 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-05-06 18:32:35 +0200 | Guest87 | (~Guest87@179.43.100.206) (Client Quit) |
2022-05-06 18:33:05 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-05-06 18:33:22 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-05-06 18:37:21 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-06 18:38:09 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) |
2022-05-06 18:39:02 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-05-06 18:39:17 +0200 | PapuaHardyNet | mesaoptimizer |
2022-05-06 18:40:24 +0200 | <dolio> | geekosaur: At least locally, you can do what I said. Have a package that depends on a sublibrary of another package. Just tried it out. |
2022-05-06 18:40:38 +0200 | <geekosaur> | interesting |
2022-05-06 18:40:51 +0200 | <dolio> | I'd heard that hackage was going to get support for this, too, but I don't know whether it actually happened. |
2022-05-06 18:40:59 +0200 | <geekosaur> | I think that contradicts the docs |
2022-05-06 18:41:04 +0200 | <geekosaur> | ah |
2022-05-06 18:41:19 +0200 | <dolio> | I'm not going to upload garbage package to hackage to test it out. :) |
2022-05-06 18:41:49 +0200 | oxide | (~lambda@user/oxide) |
2022-05-06 18:47:53 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2022-05-06 18:48:07 +0200 | <dolio> | One plan I'd heard of for this is that lens could contain many sublibraries that could be depended on individually, rather than getting everything or nothing, but could they could all live in the same package. |
2022-05-06 18:49:11 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-05-06 18:49:35 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-05-06 18:51:30 +0200 | <c_wraith> | I suppose if you partition it into things that exist solely to support lenses for types in extra packages, that would be of some use. |
2022-05-06 18:51:45 +0200 | waleee | (~waleee@h-155-4-221-82.NA.cust.bahnhof.se) |
2022-05-06 18:52:58 +0200 | <c_wraith> | You could look at it as a way to address orphan instances. sublibraries that don't have the orphan instances if you don't want to pull in the dependencies, then one additional sublibrary for each dependency you want to add instances for. |
2022-05-06 18:53:13 +0200 | <c_wraith> | They're kind of orphan, but kind of not. |
2022-05-06 18:54:08 +0200 | phma | (~phma@2001:5b0:212a:a158:cf03:ba31:b20b:efff) (Read error: Connection reset by peer) |
2022-05-06 18:54:48 +0200 | <c_wraith> | though you wouldn't want an extra import when you do want the extra instances, so that might be a giant pain. |
2022-05-06 18:55:08 +0200 | phma | (~phma@2001:5b0:211b:9668:1b71:5de:d62c:3d45) |
2022-05-06 18:58:01 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-05-06 18:59:04 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-05-06 19:00:48 +0200 | caef^ | (~caef@173-160-94-253-atlanta.hfc.comcastbusiness.net) |
2022-05-06 19:01:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 19:03:51 +0200 | inversed | (~inversed@176.248.27.211) |
2022-05-06 19:04:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-06 19:06:58 +0200 | inversed_ | (~inversed@176.248.27.211) (Ping timeout: 272 seconds) |
2022-05-06 19:08:41 +0200 | raym | (~raym@user/raym) (Ping timeout: 248 seconds) |
2022-05-06 19:11:34 +0200 | moonsheep | (~user@iespladelestany.xtec.cat) |
2022-05-06 19:12:26 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 250 seconds) |
2022-05-06 19:13:01 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-05-06 19:14:19 +0200 | odnes | (~odnes@5-203-198-83.pat.nym.cosmote.net) (Ping timeout: 240 seconds) |
2022-05-06 19:17:07 +0200 | <maerwald> | automatic partial builds... and cabal drops all the dependencies it doesn't need :p |
2022-05-06 19:17:19 +0200 | odnes | (~odnes@5-203-204-134.pat.nym.cosmote.net) |
2022-05-06 19:17:56 +0200 | Polo | (~Polo@user/polo) |
2022-05-06 19:20:34 +0200 | <dolio> | c_wraith: I think part of the point was that there was already some partitioning in hackage, like `lens-X` such that if you depended on all of them, you'd get approximately all of lens. But it was a bunch of duplicated effort. |
2022-05-06 19:21:13 +0200 | <dolio> | And instead of two dozen (or whatever) lens-X packages, it could be lens:X. |
2022-05-06 19:21:43 +0200 | <Franciman> | when you escape haskell's ivory tower, writing interpreters becomes a breeze |
2022-05-06 19:22:29 +0200 | <Franciman> | it all becomes so clear |
2022-05-06 19:23:35 +0200 | waleee | (~waleee@h-155-4-221-82.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
2022-05-06 19:26:49 +0200 | <geekosaur> | Franciman, do you have anything cogent to say or are you just randomly popping up to piss on Haskell in a Haskell channel? |
2022-05-06 19:27:23 +0200 | <Franciman> | uh yes. Once you start thinking about the memory layout and management of the interpreter |
2022-05-06 19:27:26 +0200 | moonsheep | (~user@iespladelestany.xtec.cat) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)) |
2022-05-06 19:27:29 +0200 | <Franciman> | every piece starts fitting correctly |
2022-05-06 19:27:36 +0200 | <Franciman> | sorry i was distracted on soccer |
2022-05-06 19:27:51 +0200 | <Franciman> | so basically your interpreter becomes much more inspectable |
2022-05-06 19:28:03 +0200 | <Franciman> | and you can provide very fine grained statistics and debugging things |
2022-05-06 19:28:06 +0200 | <Franciman> | in haskell it proved REALLY HARD |
2022-05-06 19:28:09 +0200 | <Franciman> | same in sml, really |
2022-05-06 19:28:11 +0200 | <geekosaur> | again, is this cogent or is it just random pissing? |
2022-05-06 19:28:19 +0200 | <hololeap> | haskell is like the fire hydrant on a dog's morning walk |
2022-05-06 19:28:45 +0200 | <Franciman> | geekosaur: it is cogent for me. |
2022-05-06 19:28:53 +0200 | <Franciman> | getting predictable performances is IMPORTANT |
2022-05-06 19:28:55 +0200 | <Franciman> | for me |
2022-05-06 19:29:03 +0200 | <geekosaur> | I mean, you keep doing this. saying the same things. randomly popping up apparently because nobody's talking about your world-saving interpreter |
2022-05-06 19:29:12 +0200 | <Franciman> | nono sir |
2022-05-06 19:29:15 +0200 | <Franciman> | i'm not saving anybody |
2022-05-06 19:29:21 +0200 | <Franciman> | haskell is the best functional programming language around |
2022-05-06 19:29:31 +0200 | <Franciman> | i'm just saying my experience with it writing an interpreter |
2022-05-06 19:29:37 +0200 | <Franciman> | my language is not gonna be better than haskell, NEVER |
2022-05-06 19:29:39 +0200 | <Franciman> | so please |
2022-05-06 19:29:47 +0200 | <Polo> | Ay im pretty chill just sayin |
2022-05-06 19:30:44 +0200 | odnes | (~odnes@5-203-204-134.pat.nym.cosmote.net) (Ping timeout: 248 seconds) |
2022-05-06 19:31:18 +0200 | <Franciman> | my takeaway so far was that ghc produces much better code when you don't question too much how things are evaluated, in what order etc |
2022-05-06 19:31:40 +0200 | <Franciman> | an this is great. Getting the best performances when you don't think about how to get them, but just work declaratively is RAD |
2022-05-06 19:32:05 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-05-06 19:32:06 +0200 | odnes | (~odnes@5-203-251-40.pat.nym.cosmote.net) |
2022-05-06 19:32:36 +0200 | <Franciman> | now the question is: is it harder to write an interpreter in C from scratch or to learn to productively tweak with stg-machine? |
2022-05-06 19:33:04 +0200 | <Franciman> | o far my takeaway was: better with C, it took less |
2022-05-06 19:33:42 +0200 | dagit | (~dagit@2001:558:6025:38:6476:a063:d05a:44da) |
2022-05-06 19:34:04 +0200 | econo | (uid147250@user/econo) |
2022-05-06 19:34:19 +0200 | <Franciman> | apparently what laziness shines at is forcing you to think declaratively, equationally |
2022-05-06 19:34:29 +0200 | <Franciman> | and avoiding shitty hacks |
2022-05-06 19:34:38 +0200 | <Franciman> | it just says: don't worry, i'mma take care of it |
2022-05-06 19:35:04 +0200 | <Franciman> | something else which really shines at is forcing the separation of side effects, if you start using unsafePerformIO |
2022-05-06 19:35:15 +0200 | <Franciman> | that doesn't respect referential trasparency, you get unpredictable stuff out |
2022-05-06 19:35:27 +0200 | <Franciman> | while with eager evaluation it's much easier to sneak side effects in |
2022-05-06 19:36:05 +0200 | <Franciman> | would i use haskell for an interpreter? Nope |
2022-05-06 19:36:29 +0200 | <Franciman> | i found myself too in need of tweaking even the lowest bits of the evaluation process |
2022-05-06 19:37:18 +0200 | <Franciman> | because i found that i needed to make things work in a very specific way, to get good introspection and performances together |
2022-05-06 19:37:38 +0200 | <Franciman> | and ghc's runtime just want to naturally work in a different way |
2022-05-06 19:38:48 +0200 | <Franciman> | you want a cogent example you said. I at first used an environment based interpreter |
2022-05-06 19:38:58 +0200 | <Franciman> | but i wanted to convert it to a stack based one, with a manually managed stack |
2022-05-06 19:39:16 +0200 | <Franciman> | the output was both horrendous and slow |
2022-05-06 19:39:23 +0200 | <Franciman> | i haven't yet succeeded at doing it |
2022-05-06 19:39:26 +0200 | <monochrom> | geekosaur: Self-assessments of "do you understand this?" "is this relevant to the rest of us?" "is your writing clear and easy to follow?" "are you correct?" are clearly all doomed, of course everyone thinks they're right. |
2022-05-06 19:40:02 +0200 | <Franciman> | how would you specify the code for your lambda calculus with call by value in Haskell? |
2022-05-06 19:40:07 +0200 | <Franciman> | what strategy would you use? |
2022-05-06 19:41:13 +0200 | <monochrom> | At school there is always a minority of 1st-year students who request for re-grade by starting with "my code works but it failed your test cases" |
2022-05-06 19:41:19 +0200 | <sclv> | personally i would google and read decades of prior relevant research |
2022-05-06 19:41:37 +0200 | <Franciman> | thanks sclv |
2022-05-06 19:41:40 +0200 | <Franciman> | i didn't think about it |
2022-05-06 19:44:09 +0200 | <Franciman> | lols honestly |
2022-05-06 19:44:20 +0200 | <Franciman> | i think you have a bit of a preconception with what i say |
2022-05-06 19:45:26 +0200 | <Franciman> | if i just wanted to talk shit about haskell, i would just say Clojure > Haskell |
2022-05-06 19:45:39 +0200 | <Franciman> | and things like that. I'm trying to get in good relationship with laziness |
2022-05-06 19:45:55 +0200 | <Franciman> | sorry if i seem too assertive, maybe that's it |
2022-05-06 19:47:32 +0200 | <monochrom> | You have found a way to implement an efficiency interpreter. Now you just need to also find a way to efficiently say it. |
2022-05-06 19:47:40 +0200 | alp_ | (~alp@user/alp) |
2022-05-06 19:48:24 +0200 | <Franciman> | but i'd like to write it in haskell :( |
2022-05-06 19:48:26 +0200 | <Franciman> | but i can't |
2022-05-06 19:48:34 +0200 | tfeb | (~tfb@balview.plus.com) |
2022-05-06 19:48:42 +0200 | <monochrom> | It takes only two sentences. Using an ADT in a high-level language for stack is inefficient. Using a low-level language to access memory more directly to build the stack is more efficient. THE END. |
2022-05-06 19:48:56 +0200 | <Franciman> | most of the research i found was about doing kind of optimisations that require low level tweaks |
2022-05-06 19:48:57 +0200 | caef^ | (~caef@173-160-94-253-atlanta.hfc.comcastbusiness.net) (Remote host closed the connection) |
2022-05-06 19:49:11 +0200 | <Franciman> | like manually managing a stack where you intersperse activtion records |
2022-05-06 19:49:18 +0200 | <Franciman> | and arguments to functions |
2022-05-06 19:50:52 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-06 19:51:45 +0200 | <Franciman> | uhm monochrom but an unboxed representation wouldn't work? |
2022-05-06 19:52:46 +0200 | <monochrom> | I am showing you how to use just two sentences to replace your I don't know 100 sentences? |
2022-05-06 19:53:04 +0200 | mbuf | (~Shakthi@223.184.62.182) (Quit: Leaving) |
2022-05-06 19:53:09 +0200 | <monochrom> | "Now you just need to also find a way to efficiently say it." |
2022-05-06 19:53:21 +0200 | <Franciman> | ah ok thank you |
2022-05-06 19:53:28 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Read error: Connection reset by peer) |
2022-05-06 19:53:33 +0200 | <monochrom> | If it is still not clear: Efficient communication with other people. |
2022-05-06 19:53:45 +0200 | <Franciman> | yes, i will pay more attention |
2022-05-06 19:53:49 +0200 | <Franciman> | sorry thanks |
2022-05-06 19:54:25 +0200 | Polo | (~Polo@user/polo) (Quit: Textual IRC Client: www.textualapp.com) |
2022-05-06 19:58:30 +0200 | raym | (~raym@user/raym) |
2022-05-06 19:58:44 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 19:58:52 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) () |
2022-05-06 19:59:29 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
2022-05-06 19:59:30 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2022-05-06 19:59:50 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-05-06 19:59:51 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-05-06 20:00:13 +0200 | nurupo | (~nurupo.ga@user/nurupo) (Quit: nurupo.ga) |
2022-05-06 20:00:27 +0200 | nurupo | (~nurupo.ga@user/nurupo) |
2022-05-06 20:00:41 +0200 | tfeb | (~tfb@balview.plus.com) (Remote host closed the connection) |
2022-05-06 20:02:44 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 248 seconds) |
2022-05-06 20:03:05 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-05-06 20:03:19 +0200 | <sm> | Franciman, I can relate to refreshment you feel when switching from one language/paradigm to another after some time.. you really enjoy the things that are easier in the the other |
2022-05-06 20:03:24 +0200 | <sm> | there's a bit of a honeymoon I find |
2022-05-06 20:05:07 +0200 | kenran | (~kenran@200116b82b9bc000295e8ec7d820b24d.dip.versatel-1u1.de) |
2022-05-06 20:05:15 +0200 | kenran | (~kenran@200116b82b9bc000295e8ec7d820b24d.dip.versatel-1u1.de) (Client Quit) |
2022-05-06 20:05:25 +0200 | <sm> | there's also often a big effect from having just the done same thing elsewhere.. everything is much clearer in your mind |
2022-05-06 20:05:55 +0200 | <sm> | but I like those experience reports/comparisons of the same task across in multiple languages/paradigms |
2022-05-06 20:05:59 +0200 | gawen | (~gawen@user/gawen) (Ping timeout: 240 seconds) |
2022-05-06 20:06:01 +0200 | <maerwald> | yeah, working on vscode-haskell gave me a refresher why javascript is a nightmare :D |
2022-05-06 20:06:11 +0200 | <sm> | heh |
2022-05-06 20:06:16 +0200 | kenran | (~kenran@200116b82b9bc000379afc39a9f09380.dip.versatel-1u1.de) |
2022-05-06 20:06:47 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-05-06 20:06:57 +0200 | <sm> | I really enjoyed doing some scripting python lately. So much less ceremony! Delightful! It did get a bit tedious making it robust, fairly soon |
2022-05-06 20:07:06 +0200 | <geekosaur> | still, there is that and there is whining about escaping the ivory tower |
2022-05-06 20:07:43 +0200 | <monochrom> | The lesson holds for all high-level languages. |
2022-05-06 20:08:00 +0200 | <monochrom> | All the way from Java to Clojure. Not just Haskell. Not just lazy evalution. |
2022-05-06 20:08:04 +0200 | odnes | (~odnes@5-203-251-40.pat.nym.cosmote.net) (Ping timeout: 248 seconds) |
2022-05-06 20:08:46 +0200 | echoone | (~echoone@2a02:8109:a1c0:5d05:c5d3:5bf9:8bd:8b04) |
2022-05-06 20:08:56 +0200 | <monochrom> | But I guess this is just another facet of what sclv said about prior work. |
2022-05-06 20:09:39 +0200 | <monochrom> | If you never look at prior work, you both don't know known lessons and don't know that it is not just Haskell and it is not just ivory tower. |
2022-05-06 20:11:25 +0200 | <echoone> | https://sodocumentation.net/haskell/topic/4525/data-aeson---json-in-haskell <-- I was trying this aeson tutorial, but when I decode I get Nothing instead of Just. I'm not sure what I am doing wrong here. |
2022-05-06 20:11:44 +0200 | <monochrom> | Show actual code? |
2022-05-06 20:12:16 +0200 | <monochrom> | @where paste |
2022-05-06 20:12:16 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2022-05-06 20:12:21 +0200 | <carbolymer> | echoone: you might probably need a type annotation to let decode know that you're decoding into `Maybe Person` |
2022-05-06 20:12:39 +0200 | <maerwald> | echoone: try `eitherDecode` |
2022-05-06 20:13:13 +0200 | <monochrom> | Or another blog that posts untested code? |
2022-05-06 20:13:31 +0200 | <echoone> | Ah, the type annotation helped. |
2022-05-06 20:13:52 +0200 | carbolymer | scores |
2022-05-06 20:14:08 +0200 | <carbolymer> | we should have leaderboard in helping ;-] |
2022-05-06 20:14:12 +0200 | tfeb | (~tfb@balview.plus.com) |
2022-05-06 20:14:23 +0200 | <maerwald> | please no... even more DMs |
2022-05-06 20:14:57 +0200 | <carbolymer> | ;] |
2022-05-06 20:15:07 +0200 | <monochrom> | Oh Haha "SO Documentation" "Based on the documentation made by Stack Overflow contributors" |
2022-05-06 20:15:19 +0200 | <carbolymer> | lol |
2022-05-06 20:15:23 +0200 | <Hecate> | hey folks |
2022-05-06 20:15:26 +0200 | <carbolymer> | also why this looks like ripcode |
2022-05-06 20:15:28 +0200 | <carbolymer> | but blue |
2022-05-06 20:15:30 +0200 | <monochrom> | So yes, taken out of context. |
2022-05-06 20:15:31 +0200 | <Hecate> | except Markdown support, what's your Haddock christmas list? |
2022-05-06 20:15:43 +0200 | <carbolymer> | Asciidoc support |
2022-05-06 20:15:45 +0200 | dsrt^ | (~dsrt@173-160-94-253-atlanta.hfc.comcastbusiness.net) |
2022-05-06 20:15:46 +0200 | <maerwald> | Hecate: this one thing there with CPP |
2022-05-06 20:15:48 +0200 | <maerwald> | what was it |
2022-05-06 20:15:56 +0200 | <Hecate> | maerwald: oh yes I stumbled across your ticket recently |
2022-05-06 20:15:57 +0200 | <maerwald> | https://github.com/haskell/haddock/issues/1440 |
2022-05-06 20:16:22 +0200 | <Hecate> | maerwald: wouldn't this be fixed by Haddock reading the documentation from .hi files directly? |
2022-05-06 20:16:27 +0200 | <Hecate> | instead of parsing the fix? |
2022-05-06 20:16:28 +0200 | <Hecate> | *file |
2022-05-06 20:16:29 +0200 | <Hecate> | damnit |
2022-05-06 20:16:30 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-05-06 20:17:28 +0200 | <maerwald> | not sure |
2022-05-06 20:17:45 +0200 | Techcable | (~Techcable@user/Techcable) (Ping timeout: 276 seconds) |
2022-05-06 20:18:05 +0200 | <maerwald> | there was a workaround which somewhat works |
2022-05-06 20:18:07 +0200 | <maerwald> | I forgot |
2022-05-06 20:18:25 +0200 | gawen | (~gawen@user/gawen) |
2022-05-06 20:18:46 +0200 | <maerwald> | I think covid broke my memory, so yeah |
2022-05-06 20:18:49 +0200 | <monochrom> | No worries, you wrote down the workarounds in that ticket too :) |
2022-05-06 20:19:02 +0200 | <maerwald> | I think there was another one with a haddock flag |
2022-05-06 20:19:07 +0200 | <echoone> | Here's another example aeson code that isn't working for me: https://paste.tomsmeding.com/uSWnLLi7 |
2022-05-06 20:19:08 +0200 | <monochrom> | Ah |
2022-05-06 20:19:16 +0200 | <echoone> | testDecode gives me Nothing |
2022-05-06 20:19:22 +0200 | <carbolymer> | maerwald: quite probable, I've read somewhere that someone lost their sense of humour after covid vaccine... |
2022-05-06 20:19:35 +0200 | <maerwald> | something along the lines of NO_HOME something |
2022-05-06 20:19:55 +0200 | <maerwald> | I'm being overly specific |
2022-05-06 20:20:04 +0200 | <monochrom> | I wonder if you should change _code to code or change code to _code |
2022-05-06 20:20:25 +0200 | <dmj`> | echoone: ^ |
2022-05-06 20:20:37 +0200 | <echoone> | Ah, it's the underscore. Crap. I didn't notice that for some reason. |
2022-05-06 20:20:40 +0200 | <dmj`> | the underscore is causing the failure |
2022-05-06 20:20:47 +0200 | <echoone> | Isn't there an option to ignore the underscore? |
2022-05-06 20:21:12 +0200 | <dmj`> | genericParseJSON defaultOptions { fieldLabelModifier = drop 1 } |
2022-05-06 20:21:41 +0200 | <echoone> | Yeah, let me try that. |
2022-05-06 20:23:19 +0200 | <maerwald> | {-# OPTIONS_HADDOCK not-home #-} |
2022-05-06 20:23:57 +0200 | <dmj`> | *suspense* |
2022-05-06 20:24:02 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-05-06 20:24:46 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-06 20:26:13 +0200 | <maerwald> | hm no, that does nothing for me in the CPP case |
2022-05-06 20:26:50 +0200 | <echoone> | It worked. Thanks dmj` |
2022-05-06 20:30:34 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-06 20:34:39 +0200 | tfeb | (~tfb@balview.plus.com) (Ping timeout: 276 seconds) |
2022-05-06 20:34:52 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-06 20:35:03 +0200 | <dmj`> | echoone: nice |
2022-05-06 20:36:53 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-06 20:41:11 +0200 | king_gs | (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) |
2022-05-06 20:41:28 +0200 | echoone | (~echoone@2a02:8109:a1c0:5d05:c5d3:5bf9:8bd:8b04) (Quit: Client closed) |
2022-05-06 20:42:31 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-06 20:42:45 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 260 seconds) |
2022-05-06 20:44:15 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-06 20:44:44 +0200 | Techcable | (~Techcable@user/Techcable) |
2022-05-06 20:48:38 +0200 | mjrosenb | (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2022-05-06 20:50:17 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-06 20:54:55 +0200 | mjrosenb | (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) |
2022-05-06 20:55:39 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-05-06 20:56:14 +0200 | Henson | (~kvirc@107-179-133-201.cpe.teksavvy.com) |
2022-05-06 20:57:37 +0200 | <Henson> | if I deepseq something more than once, does it stop traversing the tree of thunks when it encounters one that has already been evaluated? For example, if I have a data structure that is expensive to deepseq and I call deepseq on it more than once, do I only pay the evaluation cost once? |
2022-05-06 20:58:58 +0200 | <maerwald> | I think it would at least traverse the spine twice https://hackage.haskell.org/package/deepseq-1.4.7.0/docs/src/Control.DeepSeq.html#line-541 |
2022-05-06 20:59:28 +0200 | <Henson> | I have a complex algorithm that is having a memory leak because large data is being associated with some of the data that is being put in. For some reason that I can't unravel, this data is not being garbage collected due to unevaluated thunks prevent garbage collection. Deepseqing the data structure makes it work, but I can't figure out where the problem is occurring and don't know if I... |
2022-05-06 20:59:33 +0200 | alp_ | (~alp@user/alp) |
2022-05-06 20:59:41 +0200 | <maerwald> | also remember reading that in Simon Marlow's concurrency book |
2022-05-06 20:59:52 +0200 | <Henson> | should give up an be satisfied with having a deepseq in my algorithm. Somebody told me a couple months ago that you shouldn't use deepseq in production code. |
2022-05-06 21:00:02 +0200 | <maerwald> | huh? why not |
2022-05-06 21:00:28 +0200 | <maerwald> | I know a production use case for it. Without it, the backend wouldn't be able to correctly boot. |
2022-05-06 21:00:40 +0200 | malinoskj290645 | (~malinoskj@c-69-138-223-33.hsd1.va.comcast.net) |
2022-05-06 21:00:50 +0200 | Guest6593 | (~Polo@user/polo) |
2022-05-06 21:01:13 +0200 | <geekosaur> | unevaluated thunks /per se/ shouldn't prevent gc |
2022-05-06 21:01:29 +0200 | <Henson> | maerwald: so, it'll traverse the spine of any lists, but won't descend into the items on the list if they're already evaluated? |
2022-05-06 21:01:59 +0200 | <geekosaur> | unless those thunks are themselves holding within them references perhaps, but I'd think then they wouldn't be thunks |
2022-05-06 21:02:08 +0200 | <monochrom> | I am a different somebody and I tell you that all sentences of the form "___ in production code" are sus. |
2022-05-06 21:02:24 +0200 | <Henson> | well, something is going on that is preventing things from being garbage collected, and despite putting bangs and seqs and maps of seqs all over the place, I can't figure out where the problem is. |
2022-05-06 21:03:11 +0200 | <monochrom> | Aliasing blocks GC. Same as in Java. |
2022-05-06 21:03:12 +0200 | <geekosaur> | also it is possible to have something whose outer constructor has been evaluated but an inner one hasn't, so deepsequ seems like it would be useless if it didn't descend into those |
2022-05-06 21:04:24 +0200 | <Henson> | geekosaur: right, that's true. The algorithm is iterative, with only a little of the data structure changing each time. So if I deepseq on every iteration, then it has to traverse the whole data structure every time. |
2022-05-06 21:04:38 +0200 | <monochrom> | Example. "main = let xs=[0..n] in print xs" is O(1) space. "main = let xs=[0..n] in print xs >> print (length xs)" is Ω(n) space. |
2022-05-06 21:05:20 +0200 | <monochrom> | The latter has nothing to do with laziness. It holds in SML too. |
2022-05-06 21:05:35 +0200 | <geekosaur> | right |
2022-05-06 21:05:44 +0200 | <monochrom> | The former though is helped, not hurt, by laziness. The former is Ω(n) space in SML. |
2022-05-06 21:05:52 +0200 | <Henson> | I tried using various heap profiling options to try to figure out where the problem is, but they're not very helpful. The problem is that the memory is being allocated and freed in C++, so the memory profiling doesn't clearly indicate who the culprit is, as Haskell only knows about the foreign pointers (which are small) and not the data they point to (which is large) |
2022-05-06 21:05:58 +0200 | Guest6593 | Polo |
2022-05-06 21:06:22 +0200 | <monochrom> | There are also examples doing the opposite, laziness causing more space than eagerness. |
2022-05-06 21:06:40 +0200 | <monochrom> | The conclusion is that both sentences "laziness blocks GC" and "eagerness blocks GC" are sus. |
2022-05-06 21:06:57 +0200 | <monochrom> | The meta-conclusion is that all Internet hearsays are sus. |
2022-05-06 21:07:11 +0200 | Henson | chuckles |
2022-05-06 21:07:17 +0200 | <monochrom> | The Internet is full of dimwit false dichotomies. |
2022-05-06 21:07:59 +0200 | <monochrom> | As a final example just look at how they say "big-O is worst case, big-Omega is best case, big-Theta is average case". |
2022-05-06 21:08:28 +0200 | <Henson> | does anybody have any suggestions on tracking down thunk chains? I imagine I just need to put a bang on one or two lines, but which line is the question. |
2022-05-06 21:08:45 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 21:10:16 +0200 | moonsheep | (~user@185.154.9.192) |
2022-05-06 21:11:32 +0200 | <Henson> | I'm just progressively disabling the things that are being deepseq'd, to see if I can pinpoint which part of the thunk tree is causing the problem |
2022-05-06 21:11:36 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-05-06 21:13:45 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2022-05-06 21:15:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-06 21:18:06 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-06 21:19:40 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-06 21:20:02 +0200 | hololeap | (~hololeap@user/hololeap) (Client Quit) |
2022-05-06 21:21:21 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 256 seconds) |
2022-05-06 21:22:45 +0200 | <Henson> | is there a function I can use to evaluate only the spine of a list? |
2022-05-06 21:23:17 +0200 | <monochrom> | length :) |
2022-05-06 21:25:27 +0200 | <Henson> | monochrom: but in pure core that length needs to be used somewhere for it to actually occur, right? Or can I use seq to cause the length to be evaluated without actually using it? Like l = length foo; l `seq` real_calculation |
2022-05-06 21:25:54 +0200 | <Henson> | or maybe for the second part data = l `seq` real_calculation |
2022-05-06 21:26:25 +0200 | Henson | plays with :sprint |
2022-05-06 21:27:06 +0200 | odnes | (~odnes@5-203-251-40.pat.nym.cosmote.net) |
2022-05-06 21:28:16 +0200 | <monochrom> | You are under too much influence from Internet false dichotomies. Either that, or you also wish they were true because they are so simple and comforting (until refuted by actual code). |
2022-05-06 21:28:50 +0200 | <monochrom> | Premature evaluating of an ADT spine causes more space, not less. At least in most cases. |
2022-05-06 21:29:48 +0200 | king_gs | (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) (Ping timeout: 250 seconds) |
2022-05-06 21:29:58 +0200 | <Henson> | monochrom: I'm just trying different ideas to track down what it is that will cause my algorithm to stop bloating |
2022-05-06 21:30:02 +0200 | <monochrom> | Here is the usual scenerio of laziness causing more space. An ADT must not be involved. Instead, a small footprint type such as Int has to be involved. You try to compute 1+2+3+...+n but you write a lazy foldl. |
2022-05-06 21:31:02 +0200 | <energizer> | i've got a monoid with the property that for some f, f (f x) = x. is there a type class for that? |
2022-05-06 21:31:22 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-06 21:32:00 +0200 | <monochrom> | No. But it's commonly known as an involution, provided f ≠ id. Also, not just for monoids. |
2022-05-06 21:32:35 +0200 | <monochrom> | Every non-id self-inverse function is called an involution. No other constraint. |
2022-05-06 21:33:22 +0200 | <energizer> | why isn't there a type class Involution? |
2022-05-06 21:33:35 +0200 | <monochrom> | Not enough interest? |
2022-05-06 21:33:44 +0200 | <tdammers> | no practical use? |
2022-05-06 21:34:02 +0200 | <tdammers> | this would be a typeclass with no methods, only laws |
2022-05-06 21:34:20 +0200 | king_gs | (~Thunderbi@187.201.220.53) |
2022-05-06 21:34:32 +0200 | <monochrom> | There is no drive in giving all involutions of the world the same name. |
2022-05-06 21:35:13 +0200 | <monochrom> | Plus the harsh reality that there can be a million distinct involutions for the same type. |
2022-05-06 21:35:36 +0200 | bliminse | (~bliminse@host86-164-128-238.range86-164.btcentralplus.com) |
2022-05-06 21:35:38 +0200 | <monochrom> | Every mathematical definition, no matter how useful, does not need a class. |
2022-05-06 21:35:38 +0200 | <energizer> | the same is true of + isnt it? |
2022-05-06 21:35:59 +0200 | <energizer> | or * |
2022-05-06 21:36:10 +0200 | <maerwald> | Henson: https://play-haskell.tomsmeding.com/play/paste/UL3wRxWd/1) |
2022-05-06 21:36:19 +0200 | <monochrom> | Is it? Ring axioms are much more constraining. |
2022-05-06 21:36:53 +0200 | <energizer> | i guess this is why idris has "named instances" |
2022-05-06 21:37:14 +0200 | <monochrom> | For each type there are usually fairly few ways to make a ring, and by the time you discard the trolling ones, there is usually just 0 or 1 way. |
2022-05-06 21:37:34 +0200 | <monochrom> | But there can still be a ton of actually useful involutions. |
2022-05-06 21:37:35 +0200 | notzmv | (~zmv@user/notzmv) |
2022-05-06 21:38:43 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2022-05-06 21:38:50 +0200 | <monochrom> | In the case of monoid, it is saved by wanting to express both Foldable and Writer. |
2022-05-06 21:39:30 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-06 21:40:14 +0200 | <monochrom> | This is why Monoid is fairly recent. Because Foldable and Writer are also fairly recent. Observe that without Foldable or Writer, no one was interested in make a Monoid class either. |
2022-05-06 21:40:40 +0200 | <monochrom> | Every mathematical definition does not need a class. |
2022-05-06 21:43:04 +0200 | <monochrom> | Why does Haskell attract all the perfectionist idealists? |
2022-05-06 21:43:16 +0200 | Polo | (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-05-06 21:43:40 +0200 | <darkling> | It's the mathematical elegance, I suspect. |
2022-05-06 21:43:41 +0200 | <energizer> | it's either here or lisp |
2022-05-06 21:43:50 +0200 | <monochrom> | Lean exists. |
2022-05-06 21:44:02 +0200 | <monochrom> | 20 years ago I would understand. |
2022-05-06 21:44:19 +0200 | <monochrom> | This is 2022 and we have Idris and Lean and Clean and Mercury. |
2022-05-06 21:45:14 +0200 | <energizer> | imho Lean wasnt really a programming language before lean4 |
2022-05-06 21:47:39 +0200 | <monochrom> | Why would a perfectionist want a programming language in the first place? |
2022-05-06 21:48:26 +0200 | <energizer> | this conversation is getting weird |
2022-05-06 21:48:52 +0200 | <monochrom> | OK, but IMO wanting a class for involutions is weird in the first place. |
2022-05-06 21:49:10 +0200 | <juri_> | Don't believe in weird conversations? you better start believin', cause you're in one now. |
2022-05-06 21:49:10 +0200 | <monochrom> | It would make sense in a math language but not a programming language. |
2022-05-06 21:49:42 +0200 | <monochrom> | actually s/would/might/ , I am not even convinced about that. |
2022-05-06 21:49:50 +0200 | coot | (~coot@213.134.190.95) |
2022-05-06 21:52:20 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
2022-05-06 21:52:45 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-06 21:57:04 +0200 | kaskal | (~kaskal@089144207160.atnat0016.highway.bob.at) (Quit: ZNC - https://znc.in) |
2022-05-06 21:59:25 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 256 seconds) |
2022-05-06 22:00:13 +0200 | agumonkey | (~user@88.163.231.79) |
2022-05-06 22:00:47 +0200 | kaskal | (~kaskal@2001:4bb8:2e0:b5bd:e3c0:d71b:f32:84d8) |
2022-05-06 22:01:40 +0200 | odnes | (~odnes@5-203-251-40.pat.nym.cosmote.net) (Remote host closed the connection) |
2022-05-06 22:01:59 +0200 | odnes | (~odnes@5-203-251-40.pat.nym.cosmote.net) |
2022-05-06 22:02:06 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-05-06 22:11:11 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-05-06 22:11:34 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-05-06 22:16:06 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-05-06 22:18:42 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-06 22:23:51 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds) |
2022-05-06 22:25:22 +0200 | marvin3 | (www-data@2607:5300:60:8be::1) |
2022-05-06 22:25:33 +0200 | marvin3 | (www-data@2607:5300:60:8be::1) (Client Quit) |
2022-05-06 22:27:27 +0200 | hexfive | (~eric@50.35.83.177) |
2022-05-06 22:31:58 +0200 | king_gs | (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer) |
2022-05-06 22:34:05 +0200 | king_gs | (~Thunderbi@187.201.220.53) |
2022-05-06 22:34:15 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Read error: No route to host) |
2022-05-06 22:35:29 +0200 | agumonkey | (~user@88.163.231.79) (Read error: Connection reset by peer) |
2022-05-06 22:37:00 +0200 | agumonkey | (~user@88.163.231.79) |
2022-05-06 22:40:34 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 22:41:21 +0200 | dostoevsky0 | (~5c42c5384@user/dostoevsky) |
2022-05-06 22:43:21 +0200 | dostoevsky | (~5c42c5384@user/dostoevsky) (Ping timeout: 276 seconds) |
2022-05-06 22:43:21 +0200 | dostoevsky0 | dostoevsky |
2022-05-06 22:45:13 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 256 seconds) |
2022-05-06 22:45:56 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 22:48:44 +0200 | odnes | (~odnes@5-203-251-40.pat.nym.cosmote.net) (Quit: Leaving) |
2022-05-06 22:50:53 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 256 seconds) |
2022-05-06 22:54:23 +0200 | king_gs | (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer) |
2022-05-06 22:55:26 +0200 | king_gs | (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) |
2022-05-06 23:11:16 +0200 | jollygood2 | (www-data@2607:5300:60:8be::1) |
2022-05-06 23:12:21 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-06 23:12:44 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) |
2022-05-06 23:12:49 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) (Remote host closed the connection) |
2022-05-06 23:13:56 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-06 23:14:10 +0200 | Henson | (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
2022-05-06 23:14:25 +0200 | king_gs | (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) (Ping timeout: 260 seconds) |
2022-05-06 23:20:00 +0200 | michalz | (~michalz@185.246.204.101) (Remote host closed the connection) |
2022-05-06 23:20:29 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) |
2022-05-06 23:20:33 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) (Remote host closed the connection) |
2022-05-06 23:23:26 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 23:23:53 +0200 | jollygood2 | (www-data@2607:5300:60:8be::1) (Quit: CGI:IRC (EOF)) |
2022-05-06 23:24:22 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) |
2022-05-06 23:25:07 +0200 | zeenk | (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) |
2022-05-06 23:25:37 +0200 | megaTherion | (~therion@unix.io) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-06 23:26:01 +0200 | agumonkey | (~user@88.163.231.79) (Ping timeout: 256 seconds) |
2022-05-06 23:26:26 +0200 | king_gs | (~Thunderbi@187.201.220.53) |
2022-05-06 23:27:37 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 246 seconds) |
2022-05-06 23:29:01 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 23:29:07 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) |
2022-05-06 23:29:18 +0200 | jollygood2 | (www-data@2607:5300:60:8be::1) |
2022-05-06 23:33:24 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 248 seconds) |
2022-05-06 23:34:01 +0200 | megaTherion | (~therion@mail.unix.io) |
2022-05-06 23:35:09 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 23:35:34 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-06 23:36:05 +0200 | jollygood2 | (www-data@2607:5300:60:8be::1) (Quit: CGI:IRC (EOF)) |
2022-05-06 23:36:20 +0200 | jollygood2 | (www-data@2607:5300:60:8be::1) |
2022-05-06 23:37:25 +0200 | <dmj`> | free monads are great |
2022-05-06 23:39:48 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 250 seconds) |
2022-05-06 23:40:44 +0200 | hexfive | (~eric@50.35.83.177) (Quit: WeeChat 3.5) |
2022-05-06 23:40:46 +0200 | kenran | (~kenran@200116b82b9bc000379afc39a9f09380.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
2022-05-06 23:41:38 +0200 | bahamas | (~lucian@84.232.141.55) |
2022-05-06 23:42:09 +0200 | <jollygood2> | any estimate when ghc 9.2.3 is coming? |
2022-05-06 23:42:43 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-05-06 23:42:54 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2022-05-06 23:44:57 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-05-06 23:46:32 +0200 | causal | (~eric@50.35.83.177) |
2022-05-06 23:48:11 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-06 23:48:25 +0200 | causal | (~eric@50.35.83.177) (Client Quit) |
2022-05-06 23:48:42 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) |
2022-05-06 23:48:47 +0200 | bahamas | (~lucian@84.232.141.55) (Ping timeout: 256 seconds) |
2022-05-06 23:50:47 +0200 | causal | (~eric@50.35.83.177) |
2022-05-06 23:51:03 +0200 | srz | (~srz@181.228.49.93) |
2022-05-06 23:52:48 +0200 | causal | (~eric@50.35.83.177) (Client Quit) |
2022-05-06 23:53:24 +0200 | causal | (~eric@50.35.83.177) |
2022-05-06 23:53:46 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-05-06 23:54:10 +0200 | causal | (~eric@50.35.83.177) (Client Quit) |
2022-05-06 23:54:57 +0200 | causal | (~user@50.35.83.177) |
2022-05-06 23:56:23 +0200 | king_gs | (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer) |
2022-05-06 23:59:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-05-06 23:59:15 +0200 | king_gs | (~Thunderbi@187.201.220.53) |
2022-05-06 23:59:20 +0200 | causal | (~user@50.35.83.177) (Client Quit) |