Logs on 2023-07-10 (liberachat/#haskell)
| 00:08:57 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds) |
| 00:09:23 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:11:35 | × | oo_miguel quits (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Quit: oo_miguel) |
| 00:13:21 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 00:14:02 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 00:15:33 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 00:25:48 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 250 seconds) |
| 00:27:47 | × | bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 246 seconds) |
| 00:28:06 | → | euandreh joins (~Thunderbi@189.6.18.7) |
| 00:29:33 | → | smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com) |
| 00:37:44 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 00:40:51 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 00:46:14 | → | bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03) |
| 00:48:52 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 252 seconds) |
| 00:51:56 | → | Aditya joins (~Aditya@182.69.193.180) |
| 00:52:20 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e574:ea25:1127:161e) (Remote host closed the connection) |
| 00:52:54 | <Aditya> | Hi! I'm taking CIS 194 2013, and need some help in verifying my solution to homework 8. Would really appreciate any help I can get! |
| 00:52:55 | <Aditya> | https://www.reddit.com/r/haskell/comments/14vf5fj/cis_194_need_help_in_homework_8/ |
| 00:54:41 | × | zeenk quits (~zeenk@2a02:2f04:a00b:1800::7fe) (Quit: Konversation terminated!) |
| 00:56:37 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:56:37 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:56:37 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:00:07 | → | greentail_ joins (~greentail@2804:214:8138:acbf:d227:d151:8ed4:ed2) |
| 01:00:52 | × | greentail quits (~greentail@user/clcuc) (Ping timeout: 240 seconds) |
| 01:01:47 | <monochrom> | Yes it's totally DP on a tree. |
| 01:05:08 | × | Aditya quits (~Aditya@182.69.193.180) (Ping timeout: 246 seconds) |
| 01:09:51 | → | euandreh joins (~Thunderbi@189.6.18.7) |
| 01:11:40 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:17:48 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:19 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:e574:ea25:1127:161e) |
| 01:29:38 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 01:30:15 | → | aforemny_ joins (~aforemny@i59F516FE.versanet.de) |
| 01:31:12 | × | aforemny quits (~aforemny@2001:9e8:6ce6:bf00:5f8d:332e:63d8:1cdc) (Ping timeout: 240 seconds) |
| 01:35:22 | → | lainon joins (~textual@c-98-54-78-2.hsd1.al.comcast.net) |
| 01:35:28 | → | Inst__ joins (~Inst@2601:6c4:4081:2fc0:3d31:5858:1e60:ad46) |
| 01:35:44 | → | aforemny joins (~aforemny@i59F516C6.versanet.de) |
| 01:36:32 | × | aforemny_ quits (~aforemny@i59F516FE.versanet.de) (Ping timeout: 246 seconds) |
| 01:38:50 | × | Inst_ quits (~Inst@2601:6c4:4081:2fc0:3d93:58ae:6f7f:58ed) (Ping timeout: 246 seconds) |
| 01:40:05 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 01:40:18 | × | greentail_ quits (~greentail@2804:214:8138:acbf:d227:d151:8ed4:ed2) (Read error: Connection reset by peer) |
| 01:44:28 | → | greentail joins (~greentail@2804:214:82da:807f:92f2:a5f9:1071:9b3a) |
| 01:46:16 | × | aforemny quits (~aforemny@i59F516C6.versanet.de) (Ping timeout: 245 seconds) |
| 01:46:39 | → | aforemny joins (~aforemny@2001:9e8:6cf2:5300:45aa:4dd1:3123:67f4) |
| 01:48:33 | × | phma quits (~phma@2001:5b0:215a:da58:dcbf:27e8:323f:f6ce) (Read error: Connection reset by peer) |
| 01:48:58 | → | phma joins (phma@2001:5b0:215a:da58:9c8b:e5df:6a6f:34d2) |
| 02:01:02 | × | Xe quits (~cadey@tailscale/xe) (Ping timeout: 258 seconds) |
| 02:04:02 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 02:06:16 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
| 02:06:25 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 02:07:29 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:07:59 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Read error: Connection reset by peer) |
| 02:08:05 | → | machined1od joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 02:08:13 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 02:12:22 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 02:12:36 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 02:12:37 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:12:37 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:12:38 | finn_elija | is now known as FinnElija |
| 02:13:53 | × | machined1od quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
| 02:14:11 | × | td_ quits (~td@i53870924.versanet.de) (Ping timeout: 245 seconds) |
| 02:14:28 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 02:15:26 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 02:16:06 | → | td_ joins (~td@i53870925.versanet.de) |
| 02:17:53 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 02:18:36 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds) |
| 02:20:17 | → | mei joins (~mei@user/mei) |
| 02:28:25 | → | DavSanchez joins (~davsanche@219.red-88-8-2.dynamicip.rima-tde.net) |
| 02:28:47 | × | DavSanchez quits (~davsanche@219.red-88-8-2.dynamicip.rima-tde.net) (Client Quit) |
| 02:30:47 | → | Xe joins (~cadey@tailscale/xe) |
| 02:31:19 | × | mmhat quits (~mmh@p200300f1c731a302ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.1) |
| 02:31:29 | <bratwurst> | so to model a widget with internal state using reactive-banana i could use accumB? |
| 02:32:03 | <bratwurst> | i don't know why i find this so hard. it seems so simple at first but when i get down to writing things it all falls apart |
| 02:33:09 | <bratwurst> | i have pseudocode at https://pastebin.com/DgPfsMV3 |
| 02:34:08 | <bratwurst> | so instead of applyHandler i would use accumB |
| 02:34:21 | <bratwurst> | maybe i should just call it a night. my brain tired |
| 02:35:57 | × | lainon quits (~textual@c-98-54-78-2.hsd1.al.comcast.net) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 02:42:20 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 02:43:49 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 02:43:53 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 02:44:02 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 02:46:16 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 02:46:16 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 02:46:16 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:56:24 | × | ddellacosta quits (~ddellacos@143.244.47.83) (Ping timeout: 246 seconds) |
| 03:00:00 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
| 03:01:08 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 03:03:07 | × | bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 245 seconds) |
| 03:09:00 | → | ddellacosta joins (~ddellacos@143.244.47.100) |
| 03:10:33 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 03:10:47 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e574:ea25:1127:161e) (Remote host closed the connection) |
| 03:15:10 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 260 seconds) |
| 03:19:11 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 03:21:20 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 03:23:18 | → | aforemny_ joins (~aforemny@i59F516C7.versanet.de) |
| 03:24:03 | × | aforemny quits (~aforemny@2001:9e8:6cf2:5300:45aa:4dd1:3123:67f4) (Ping timeout: 246 seconds) |
| 03:24:19 | → | bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03) |
| 03:25:48 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:29:05 | × | bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 246 seconds) |
| 03:48:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:e574:ea25:1127:161e) |
| 03:58:02 | → | jsomedon joins (uid606872@id-606872.hampstead.irccloud.com) |
| 04:00:23 | × | actioninja6 quits (~actioninj@user/actioninja) (Quit: see ya mane) |
| 04:00:51 | → | actioninja6 joins (~actioninj@user/actioninja) |
| 04:10:48 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:17:00 | → | gentauro joins (~gentauro@user/gentauro) |
| 04:26:06 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 04:31:29 | → | Daniel[m]1 joins (~danieltan@2001:470:69fc:105::3:6e5e) |
| 04:41:52 | → | qqq joins (~qqq@92.43.167.61) |
| 04:43:32 | × | foul_owl quits (~kerry@71.212.137.212) (Ping timeout: 252 seconds) |
| 04:45:31 | → | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 04:45:31 | × | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 04:45:32 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 04:56:15 | → | foul_owl joins (~kerry@193.29.61.81) |
| 05:07:12 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 05:07:59 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 05:08:50 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 05:11:48 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds) |
| 05:12:33 | × | falafel quits (~falafel@2603-7000-a700-8710-299a-43b3-78f1-709f.res6.spectrum.com) (Ping timeout: 246 seconds) |
| 05:15:45 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 05:16:32 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 05:20:02 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
| 05:23:47 | → | michalz joins (~michalz@185.246.207.193) |
| 05:25:38 | × | califax quits (~califax@user/califx) (Ping timeout: 240 seconds) |
| 05:26:43 | <Inst__> | is Vec.take equivalent to Vec.slice? |
| 05:26:51 | <Axman6> | what is Vec |
| 05:28:30 | <Inst__> | import qualified Data.Vector as Vec |
| 05:29:06 | <Axman6> | they're related, you can implement take using slice, but not the other way around (without drop) |
| 05:29:29 | <Inst__> | slice makes a promise of not copying the underlying vector |
| 05:29:33 | <Inst__> | but tbh it probably won't work if I tco it |
| 05:29:42 | <Inst__> | because it'll still pass the vector around which isn't what i want |
| 05:30:10 | <Axman6> | there's a function which expplicitly copies the data into a new vec of the right size IIRC |
| 05:30:28 | <Axman6> | possibly called copy |
| 05:30:49 | → | califax joins (~califax@user/califx) |
| 05:31:33 | <Inst__> | back to arguing with mr clojurian i guess |
| 05:31:54 | <Inst__> | interesting observation based on multiple data points: people really don't get where clauses, it screws with their heads |
| 05:32:09 | <Axman6> | hmm, maybe I am not remembering correctly, I might be thinking of bytrestring. copy for vector is slightly different |
| 05:32:35 | <Inst__> | the python and rust version updates array index variables |
| 05:33:30 | <Axman6> | https://hackage.haskell.org/package/vector-0.13.0.0/docs/Data-Vector.html#v:force |
| 05:33:55 | <Axman6> | of course, because they love to break your programs by using mutation. we get to make that explicit using MVector |
| 05:34:30 | <c_wraith> | rust doesn't have one slice function. It has several, and the one you use depends on the ownership semantics you want, especially compared to ownership of the parent. |
| 05:35:36 | <Inst__> | i mean i have a haskell accum param version using index variables being mutated via accumulating parameter version |
| 05:35:56 | <Inst__> | *accumulating parameter recursion) |
| 05:36:08 | <Axman6> | I'm not sure what that means, but if you're doing a lot of updates to a vector, you definitewly want to be using the ST monad |
| 05:36:29 | <Inst__> | it' ssort of a toy example i'm arguing about, which mr clojure will never admit is more readable. The benefit is more, "where clauses are strange to conventional programmers" |
| 05:36:49 | <Inst__> | https://blog.logrocket.com/rust-vs-python-could-rust-replace-python/ |
| 05:37:17 | <Axman6> | I think that is both nonsense, and superficial. it's not important and you shouldn't spend so much time trying to convince others they're wrong |
| 05:38:10 | <Inst__> | it's more of a research project, i.e, he's a contrarian by nature and forces me to reexamine my assumptions |
| 05:38:21 | <Inst__> | where clauses being strange I think is an important finding |
| 05:38:22 | <monochrom> | You simply shouldn't read blogs in the first place. |
| 05:38:28 | <Axman6> | if someone is so confused by such a simple concept as where clauses, then that's their problem. They make many functions much clearer, and can help a lot with the ideas of clean code |
| 05:38:44 | <Inst__> | i don't mean it as an assault on where clauses, i prefer and love them myself |
| 05:38:46 | <Axman6> | monochrom: even Don Stewart's? D: I learnt so much |
| 05:39:00 | <Inst__> | but the point is more, for a traditionally trained programmer, where clauses present a challenge |
| 05:39:11 | <Inst__> | because they're used to thinking sequentially |
| 05:39:19 | <monochrom> | Rare exceptions. "The exception proves the rule." >:) |
| 05:39:21 | <Axman6> | yes, as does declarative programming in general |
| 05:39:32 | <Axman6> | monochrom: phew |
| 05:39:52 | <monochrom> | Blogs are assumed garbage until proven golden. |
| 05:40:08 | <monochrom> | Likewise for generally all of social media, all of internet. |
| 05:40:24 | <Inst__> | i don't think that blog is useful, more, it was an opportunity to see how it'd look in Haskell, and potentially to benchmark vs Rust and Python with the toy examples |
| 05:40:29 | <monochrom> | There are a few exception gems. If you come across them, cool. The rest, skip. |
| 05:40:39 | Inst__ | is now known as Inst |
| 05:42:04 | <monochrom> | I have spent my young days going to Usenet telling people why they're wrong. Time to recognize that it is a data sink, most humans are broken. |
| 05:42:19 | <Inst> | but i guess the question is, when TCO is being applied, and you're cycling slices of a vector, is the vector copied every time, or are you just passing the array indices? |
| 05:42:59 | <monochrom> | And even now I'm bothering to say all this, only because I'm taking a break from creating a midterm test, having finished a fun question. |
| 05:43:03 | <Inst> | that is actually a productive and useful question; i.e, should we be passing array indices for this purpose, or does slice / take provide sufficient efficiency? |
| 05:43:07 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 05:43:23 | <Axman6> | it depends on what you're doing to the vector. if you use any "modification" functions that return a new vector, then yes it is copied, if not, no, it'll be passing around a single pointer |
| 05:44:11 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 05:44:12 | <Inst> | so as long as it's pure slice, it's equivalent to passing the array indices around |
| 05:44:15 | <Axman6> | monochrom: I'd be interested to see the question, but I qould guess the liklihood of your students being here is high |
| 05:44:34 | <monochrom> | I went to the linked Data.Vector doc page and did a ctrl-F "copy". Basically all functions there specify whether they copy or not. I don't think there is any rocket science left in this. |
| 05:44:44 | <Axman6> | yes, slicing a vector allocates like four or five words |
| 05:45:11 | <monochrom> | Oooohhhh sometimes it is true that even if they see the question now they're still toasted. >:D |
| 05:46:06 | <Inst> | i really should stop using 4k monitor on 100% scaling |
| 05:46:17 | <Axman6> | Hopefully some in the class will find it fun though, I probably would've been one of those students back in the day. I (evidently) loved my first Haskell course |
| 05:46:40 | <monochrom> | That depends on whether it's 12-inch 4k or 120-inch 4k. |
| 05:46:49 | <Inst> | 17 inch |
| 05:46:51 | × | greentail quits (~greentail@2804:214:82da:807f:92f2:a5f9:1071:9b3a) (Ping timeout: 246 seconds) |
| 05:47:20 | <monochrom> | That's like my 20th century CRT. |
| 05:47:55 | <monochrom> | I thought today's minimum is like 24-inch esp. for 4k. |
| 05:48:00 | <Inst> | i'm nerdy enough about screen ergonomics to fantasize about the day where laptops are replaced with a 23 inch flexscreen |
| 05:48:53 | <monochrom> | Perhaps switch to a VR headset. |
| 05:48:55 | <Axman6> | you can buy extra screens that attach to either side of your laptop's screen |
| 05:49:16 | → | neuroevolutus joins (~neuroevol@2001:ac8:9a:76::1e) |
| 05:49:25 | <monochrom> | Really? That is so clip-on. :) |
| 05:49:40 | <Inst> | thanks for blowing my mind |
| 05:49:52 | <Inst> | https://www.amazon.com/SOOMFON-Portable-Monitor-Extender-Display/ |
| 05:50:34 | <Axman6> | Linux Tech Tips had a review of one a few weeks ago, that endedup looking like a much more reasonable product than you're initially expect |
| 05:53:55 | <Inst> | is there a connection between Lenovo and cool product ideas that never take off? |
| 05:54:08 | <Inst> | like, you used to be able to buy a thinkpad with an integrated second screen in the W700DS line |
| 05:55:07 | → | nick4 joins (~nick@2600:8807:9084:7800:a561:1c80:7b95:a84) |
| 05:59:35 | × | nick4 quits (~nick@2600:8807:9084:7800:a561:1c80:7b95:a84) (Ping timeout: 246 seconds) |
| 05:59:56 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:03:10 | → | trev joins (~trev@user/trev) |
| 06:04:37 | <jackdk> | "Linux Tech Tips" <- be fair, they did a vid on TempleOS too |
| 06:07:35 | → | acidjnk joins (~acidjnk@p200300d6e7072f378113020857ee2821.dip0.t-ipconnect.de) |
| 06:07:43 | × | jsomedon quits (uid606872@id-606872.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:10:04 | <nyc> | There is some sort of problem with an inplace ghc and ghc-pkg check not passing. |
| 06:11:46 | → | Guest93 joins (~Guest93@162-228-244-199.lightspeed.tukrga.sbcglobal.net) |
| 06:16:09 | × | Guest93 quits (~Guest93@162-228-244-199.lightspeed.tukrga.sbcglobal.net) (Quit: Client closed) |
| 06:18:42 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 246 seconds) |
| 06:21:38 | → | euandreh joins (~Thunderbi@189.6.18.7) |
| 06:25:24 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 06:27:22 | → | Guest8058 joins (~finn@176-151-21-224.abo.bbox.fr) |
| 06:27:49 | <geekosaur> | nyc, is that by any chance related to https://gitlab.haskell.org/ghc/ghc/-/issues/23594 ? |
| 06:29:09 | <nyc> | I don't know, let me look. |
| 06:29:38 | <geekosaur> | (ticket title refers to aarch64 but I think it was found to be more general?) |
| 06:29:50 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds) |
| 06:30:44 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Excess Flood) |
| 06:30:52 | <nyc> | geekosaur: I'm trying to use an inplace ghc vs. a bindist. |
| 06:35:08 | → | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 06:35:08 | × | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 06:35:08 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 06:43:00 | → | Aditya joins (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 06:45:52 | × | xilo quits (~yourname@84.32.165.17) (Remote host closed the connection) |
| 06:47:32 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 246 seconds) |
| 06:50:51 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
| 06:51:07 | → | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 06:51:07 | × | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 06:51:07 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 06:52:40 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 06:54:02 | × | Guest8058 quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 06:57:21 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-037.46.114.pool.telefonica.de) |
| 06:59:32 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
| 07:00:33 | → | misterfish joins (~misterfis@46.44.172.198) |
| 07:06:25 | <nyc> | geekosaur: There are files missing in the ‘base-4.16.4.0’ package, doesn't look good. |
| 07:09:23 | <Axman6> | jackdk: uh, yes, Linus. They do quite a bit of content about open source os's, since they have so much data to store, they do a lot with the ones focused on chonky filesystems |
| 07:14:04 | → | titibandit joins (~titibandi@user/titibandit) |
| 07:14:36 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 07:16:36 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-037.46.114.pool.telefonica.de) (Ping timeout: 250 seconds) |
| 07:17:10 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:20:58 | → | jsomedon joins (uid606872@id-606872.hampstead.irccloud.com) |
| 07:27:42 | × | caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline) |
| 07:29:16 | → | berberman_ joins (~berberman@user/berberman) |
| 07:30:35 | × | berberman quits (~berberman@user/berberman) (Ping timeout: 264 seconds) |
| 07:32:08 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:33:20 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:34:05 | → | berberman joins (~berberman@user/berberman) |
| 07:35:12 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:35:23 | × | berberman_ quits (~berberman@user/berberman) (Ping timeout: 264 seconds) |
| 07:35:24 | → | ijqq_ joins (uid603979@id-603979.helmsley.irccloud.com) |
| 07:35:42 | → | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 07:35:52 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds) |
| 07:37:43 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 07:39:09 | → | CiaoSen joins (~Jura@2a05:5800:288:fd00:664b:f0ff:fe37:9ef) |
| 07:43:02 | → | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 07:43:03 | × | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 07:43:03 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 07:43:28 | × | kimiamania6 quits (~681cf57f@user/kimiamania) (Ping timeout: 250 seconds) |
| 07:47:53 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
| 07:48:33 | → | kimiamania6 joins (~681cf57f@user/kimiamania) |
| 07:48:43 | → | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 07:48:43 | × | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 07:48:44 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 07:49:10 | → | Guest8058 joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
| 07:51:58 | → | fendor joins (~fendor@2a02:8388:1640:be00:821b:25b5:c8f3:73a0) |
| 07:52:11 | × | Aditya quits (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Ping timeout: 246 seconds) |
| 07:53:43 | → | ubert joins (~Thunderbi@178.115.41.81.wireless.dyn.drei.com) |
| 07:57:15 | × | neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
| 08:00:10 | × | ubert quits (~Thunderbi@178.115.41.81.wireless.dyn.drei.com) (Quit: ubert) |
| 08:01:47 | → | zeenk joins (~zeenk@2a02:2f04:a00b:1800::7fe) |
| 08:06:52 | × | drdo quits (~drdo@bl5-28-156.dsl.telepac.pt) (Ping timeout: 250 seconds) |
| 08:07:39 | → | alexherbo2 joins (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) |
| 08:08:13 | → | ubert joins (~Thunderbi@178.115.41.81.wireless.dyn.drei.com) |
| 08:10:08 | × | phma quits (phma@2001:5b0:215a:da58:9c8b:e5df:6a6f:34d2) (Read error: Connection reset by peer) |
| 08:11:28 | → | phma joins (phma@2001:5b0:211f:7128:686c:a14f:dc50:817d) |
| 08:11:29 | × | hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Quit: No Ping reply in 180 seconds.) |
| 08:11:49 | → | danse-nr3 joins (~francesco@151.43.244.23) |
| 08:12:00 | → | drdo joins (~drdo@bl5-28-156.dsl.telepac.pt) |
| 08:12:54 | → | hrberg joins (~quassel@171.79-160-161.customer.lyse.net) |
| 08:18:08 | × | misterfish quits (~misterfis@46.44.172.198) (Ping timeout: 250 seconds) |
| 08:18:08 | × | TMA quits (tma@twin.jikos.cz) (Ping timeout: 250 seconds) |
| 08:18:59 | → | TMA joins (tma@twin.jikos.cz) |
| 08:19:49 | × | zeenk quits (~zeenk@2a02:2f04:a00b:1800::7fe) (Remote host closed the connection) |
| 08:20:11 | → | zeenk joins (~zeenk@2a02:2f04:a00b:1800::fba) |
| 08:22:35 | × | tv1 quits (~tv@user/tv) (Quit: derp) |
| 08:22:48 | → | tv joins (~tv@user/tv) |
| 08:23:58 | → | dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
| 08:24:53 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 08:36:38 | → | misterfish joins (~misterfis@87.215.131.102) |
| 08:36:57 | → | hueso joins (~root@user/hueso) |
| 08:38:25 | → | oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
| 08:41:27 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 08:44:22 | × | rainbyte quits (~rainbyte@181.31.239.226) (Ping timeout: 245 seconds) |
| 08:45:06 | → | Midjak joins (~Midjak@82.66.147.146) |
| 08:46:14 | → | mmhat joins (~mmh@p200300f1c731a302ee086bfffe095315.dip0.t-ipconnect.de) |
| 08:51:18 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 08:53:19 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 08:57:52 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 09:00:19 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 09:04:15 | × | passiva quits (~passiva@bcdcac82.skybroadband.com) (Ping timeout: 246 seconds) |
| 09:08:10 | → | delYsid joins (~user@user/delYsid) |
| 09:08:26 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 09:09:19 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 09:11:37 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 09:16:56 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 09:17:07 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 09:20:16 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Quit: λ) |
| 09:21:03 | × | mmhat quits (~mmh@p200300f1c731a302ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.1) |
| 09:21:16 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
| 09:23:38 | → | dibblego joins (~dibblego@116.255.1.157) |
| 09:23:38 | × | dibblego quits (~dibblego@116.255.1.157) (Changing host) |
| 09:23:38 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 09:24:46 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 09:25:29 | → | Pickchea joins (~private@user/pickchea) |
| 09:26:08 | × | ubert quits (~Thunderbi@178.115.41.81.wireless.dyn.drei.com) (Quit: ubert) |
| 09:27:43 | × | jsomedon quits (uid606872@id-606872.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:27:59 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 09:29:22 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds) |
| 09:29:32 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 252 seconds) |
| 09:29:45 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 09:30:01 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
| 09:30:23 | → | mei joins (~mei@user/mei) |
| 09:32:37 | Lord_of_Life_ | is now known as Lord_of_Life |
| 09:34:11 | × | Guest8058 quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 245 seconds) |
| 09:39:57 | → | tremon joins (~tremon@83.80.159.219) |
| 09:40:08 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 09:40:14 | × | CiaoSen quits (~Jura@2a05:5800:288:fd00:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds) |
| 09:44:44 | → | lainon joins (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) |
| 09:45:01 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 09:46:41 | × | sagax quits (~sagax_nb@user/sagax) (Ping timeout: 245 seconds) |
| 09:47:06 | → | passiva joins (~passiva@bcdcac82.skybroadband.com) |
| 09:49:32 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 09:57:28 | × | alexherbo2 quits (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:57:47 | → | alexherbo2 joins (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) |
| 09:58:15 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 10:02:38 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 10:02:41 | → | __monty__ joins (~toonn@user/toonn) |
| 10:03:30 | → | Guest8058 joins (~finn@176-151-21-224.abo.bbox.fr) |
| 10:04:19 | → | CiaoSen joins (~Jura@2a05:5800:288:fd00:664b:f0ff:fe37:9ef) |
| 10:05:09 | × | lainon quits (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 10:06:23 | → | razetime joins (~quassel@117.193.3.22) |
| 10:08:36 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 10:12:23 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e574:ea25:1127:161e) (Remote host closed the connection) |
| 10:12:56 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
| 10:14:39 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 10:19:28 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 250 seconds) |
| 10:25:23 | → | talismanick joins (~user@76.133.152.122) |
| 10:27:25 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 10:30:12 | → | lainon joins (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) |
| 10:32:54 | × | lainon quits (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) (Client Quit) |
| 10:34:05 | <danse-nr3> | would you say the haskell community is hype-resistant? |
| 10:36:55 | → | ripspin joins (~chatzilla@1.145.246.16) |
| 10:38:51 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 10:42:52 | × | danse-nr3 quits (~francesco@151.43.244.23) (Ping timeout: 250 seconds) |
| 10:44:59 | × | Guest8058 quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 264 seconds) |
| 10:49:40 | × | talismanick quits (~user@76.133.152.122) (Remote host closed the connection) |
| 10:56:44 | <Inst> | ummm, tbh, I'll stop criticizing the Haskell community, griping is often inaccurate and is not really helpful |
| 10:56:49 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 10:57:37 | <Inst> | griping isn't going to make the Haskell community all come together, fix Accelerate, get Brick working on Windows, implement dependent types into GHC within 2 years, get HaskTorch working within 2 years, etc |
| 10:58:14 | <dminuoso> | Before we get a fixed accelerate, brick on windows or dependent types... can I just have something THish with cross compilation first? |
| 10:58:46 | <Inst> | Brick on Windows, if you check Github, is actually coming along quite well |
| 10:59:05 | <Inst> | i'd give it another 6 months before beta version is ready |
| 10:59:33 | <Inst> | I popped up to ask about ArrayFire, since it got recommended by Gabriella Gonzalez |
| 10:59:48 | <Inst> | and it was updated recently on Hackage, is ArrayFire actually useful for ML tasks in Haskell? |
| 10:59:59 | <Inst> | What's the tradeoffs vs tensorflow / pytorch (implicitly hasktorch)? |
| 11:01:03 | → | Guest8058 joins (~finn@176-151-21-224.abo.bbox.fr) |
| 11:06:48 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 11:08:45 | <delYsid> | Wait, there is ongoing work to port Brick to Windows? Where can I donate?! |
| 11:12:52 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) |
| 11:13:32 | × | shryke quits (~shryke@2a00:4b00:13c:cc:b27b:25ff:fe18:efd) (Quit: WeeChat 4.0.1) |
| 11:13:33 | → | elred joins (~root@user/elred) |
| 11:13:39 | <elred> | has anyone good with logic read the haskell road to logic, math and programming who'd consider it a good book? |
| 11:13:44 | → | danse-nr3 joins (~francesco@151.43.244.23) |
| 11:14:28 | <Inst> | https://github.com/jtdaugherty/brick/issues/445 |
| 11:14:40 | <Inst> | https://github.com/jtdaugherty/vty/issues/251 |
| 11:16:55 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) (Ping timeout: 240 seconds) |
| 11:17:48 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 11:21:00 | <danse-nr3> | Inst, actually ... i did not mean to complain. Being hype-resistant is something positive to me |
| 11:21:30 | <Inst> | i mean i'd claim that Haskellers tend to be a bit hypeful, but the fact that the hipster community has moved onto Rust has helped |
| 11:22:25 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 11:23:12 | <danse-nr3> | XD |
| 11:29:11 | → | greentail joins (~greentail@189.40.91.203) |
| 11:30:01 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 11:36:02 | × | acidjnk quits (~acidjnk@p200300d6e7072f378113020857ee2821.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 11:49:56 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 11:52:32 | <Axman6> | danse-nr3: the "avoid success at all costs" mantra has helped a lot. Most of us are quite happy for Haskell not to be the world's number one programming language, if people don't want to put the effort into learning it, that's their loss. Despite this, as a language it has been highly influential to other languages, and in many ways that's kind of the point of the language - to be a testbed for programming language research |
| 11:54:48 | ← | delYsid parts (~user@user/delYsid) (ERC 5.6-git (IRC client for GNU Emacs 30.0.50)) |
| 11:58:21 | → | jonathan joins (~jonathan@c83-252-3-92.bredband.tele2.se) |
| 11:58:40 | × | danse-nr3 quits (~francesco@151.43.244.23) (Read error: Connection reset by peer) |
| 11:58:56 | → | danse-nr3 joins (~francesco@151.57.243.172) |
| 11:59:55 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 12:00:57 | <jonathan> | If I use servant-client to create tests for my servant API, will those tests catch api regressions? Asking because I can see two scenarios: 1) servant-client automatically updates to match servant api (including changes to the JSON), potentially "masking" regressions 2) Servant-client needs to be manually updated to match latest api, with tests breaking in test-time (discovering any breaking changes) |
| 12:01:30 | <jonathan> | (it might function in some other way, but I hope my question is clear enough) |
| 12:05:29 | → | rainbyte joins (~rainbyte@181.31.239.226) |
| 12:12:02 | <danse-nr3> | thanks Axman6 ... i hope haskell is mature enough that being a testbed is not its main point :P ... then it can be particularly suited to research, that is true, but being a test for other languages is an uncomfortable position to have |
| 12:12:29 | <danse-nr3> | jonathan, i think the client updates with the server, that is the point of servant. You might want to plan for interface versioning |
| 12:13:40 | → | mechap joins (~mechap@user/mechap) |
| 12:15:18 | <jonathan> | Right. I'm sitting on a codebase with a lot of autoerived from/to json instances, making changes to data types a potential api breakage. As such I want regression tests to guard against accidents. I asked my question to check whether servant-client can help with this :) |
| 12:15:43 | <jonathan> | I also think "pobably not", but I'll wait and see if someone knows for sure :) |
| 12:26:04 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 12:27:23 | × | Guest8058 quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 12:28:56 | × | misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 246 seconds) |
| 12:30:15 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:30:51 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 12:32:42 | → | acidjnk joins (~acidjnk@p200300d6e7072f37a5880f011a21b87c.dip0.t-ipconnect.de) |
| 12:36:21 | <probie> | Is there an easy way to check bounds? e.g. if I specify `foo >= 1.2 && < 1.3` is there a tool to try building my library against every version of foo on hackage that's within those bounds that cabal can produce a build plan for? |
| 12:36:25 | <danse-nr3> | jonathan, well if you have a separate package that depends on the former version of the data types, that could catch errors |
| 12:40:10 | <jonathan> | So move Api.hs and all the data types into a separate package, use it in both prod and tests, with versioning? |
| 12:43:22 | <danse-nr3> | it is just an idea. Maybe check how much effort it takes to spot one of those JSON errors with servant-client before ... you could work off another checkout of the repo |
| 12:43:34 | × | kimiamania6 quits (~681cf57f@user/kimiamania) (Quit: PegeLinux) |
| 12:43:59 | <danse-nr3> | probie, i am not aware of any |
| 12:44:56 | → | kimiamania6 joins (~681cf57f@user/kimiamania) |
| 12:53:14 | <__monty__> | probie: I think Hackage runs some form of dependency matrix check. Note that the combinatorial explosion makes that pretty much unfeasible pragmatically. |
| 12:55:52 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 240 seconds) |
| 12:59:22 | × | razetime quits (~quassel@117.193.3.22) (Ping timeout: 245 seconds) |
| 13:00:20 | → | razetime joins (~quassel@117.193.6.176) |
| 13:01:19 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 13:01:39 | <__monty__> | probie: http://matrix.hackage.haskell.org/ |
| 13:05:32 | × | heartburn quits (~gass@2a00:d880:3:1::b1e4:b241) (Ping timeout: 240 seconds) |
| 13:05:45 | × | finsternis quits (~X@23.226.237.192) (Ping timeout: 246 seconds) |
| 13:06:14 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 13:06:15 | → | finsternis joins (~X@23.226.237.192) |
| 13:06:17 | → | Aditya joins (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 13:06:29 | → | heartburn joins (~gass@2a00:d880:3:1::b1e4:b241) |
| 13:07:27 | Aditya | is now known as aditya211935 |
| 13:07:32 | <aditya211935> | Hi! I'm taking CIS 194 2013, and need some help in verifying my solution to homework 8. Would really appreciate any help I can get! |
| 13:07:32 | <aditya211935> | https://www.reddit.com/r/haskell/comments/14vf5fj/cis_194_need_help_in_homework_8/ |
| 13:07:50 | aditya211935 | is now known as aditya |
| 13:08:14 | aditya | is now known as aditya211935 |
| 13:08:18 | <Inst> | has anyone tried using arrayfire as a replacement for accelerate? |
| 13:14:13 | <__monty__> | probie: Well, that page isn't loading for me so it's probably not very useful. Here's the code that should be driving it https://github.com/haskell-CI/hackage-matrix-builder Might only be a matrix across GHC versions though. But maybe you can base something off of it. |
| 13:14:26 | → | flounders joins (~flounders@24.246.133.1) |
| 13:18:00 | → | shryke joins (~shryke@2a00:4b00:13c:cc:b27b:25ff:fe18:efd) |
| 13:18:02 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 13:19:30 | × | dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 260 seconds) |
| 13:21:46 | → | barcisz joins (~barcisz@79.191.32.38.ipv4.supernova.orange.pl) |
| 13:22:55 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 13:23:41 | → | bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03) |
| 13:24:46 | → | mechap joins (~mechap@user/mechap) |
| 13:28:11 | × | bratwurst quits (~dfadsva@2604:3d09:207f:f650::5b03) (Ping timeout: 264 seconds) |
| 13:34:45 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 13:40:30 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 13:40:30 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 13:40:30 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:45:05 | × | aditya211935 quits (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Quit: Ping timeout (120 seconds)) |
| 13:45:26 | → | Aditya joins (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 13:48:15 | → | nick3 joins (~nick@wsip-174-78-110-18.pn.at.cox.net) |
| 13:48:24 | × | Aditya quits (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Client Quit) |
| 13:49:53 | → | ystael joins (~ystael@user/ystael) |
| 13:59:11 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
| 14:00:23 | <danse-nr3> | Inst, not really, but are they not quite different tools? Accelerate seems to be in native haskell. Cool project by the way |
| 14:02:31 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 14:03:49 | <Inst> | accelerate the last i checked was broken for recent GHCs |
| 14:06:15 | <geekosaur> | accelerate has lots of backends, doesn't it? |
| 14:06:53 | → | falafel joins (~falafel@cpe-24-102-77-214.nyc.res.rr.com) |
| 14:08:44 | → | falafel_ joins (~falafel@2603-7000-a700-8710-eb64-0ac1-9c05-0860.res6.spectrum.com) |
| 14:09:08 | × | Psybur quits (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Ping timeout: 240 seconds) |
| 14:09:27 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 14:11:16 | × | falafel quits (~falafel@cpe-24-102-77-214.nyc.res.rr.com) (Ping timeout: 245 seconds) |
| 14:11:55 | <danse-nr3> | i think that there is another package for high dimensionality in haskell called repa |
| 14:13:32 | ← | dmgk parts (~dmgk@user/dmgk) () |
| 14:15:17 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 14:16:08 | → | bontaq joins (~user@ool-45779b84.dyn.optonline.net) |
| 14:17:18 | <danse-nr3> | geekosaur, yes it seems to have a couple of different backends distributed as external package addons https://hackage.haskell.org/package/accelerate |
| 14:18:48 | <Athas> | I can't decide whether I think '--test-show-details=streaming' should be the default for 'cabal test'. |
| 14:19:06 | <Athas> | On the one hand, it feels good to see a bunch of succesful tests scroll by. On the other hand, I do associate lack of output with success. |
| 14:19:25 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds) |
| 14:20:57 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 14:21:02 | × | alexherbo2 quits (~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
| 14:22:53 | <danse-nr3> | yeah, that is a common pattern for command line tools and it helps a lot. I am not sure ... sounds like an improvement |
| 14:23:21 | <Axman6> | I'm a little scared; I made a pretty significant change to the ghc AArch64 backend, and the first time it compiled, all the tests passed D: |
| 14:24:51 | <danse-nr3> | type safety works! Nah probably it is all untested |
| 14:25:34 | <Axman6> | nah this is fundamental enough that things would segfault or produce invalid assembly if I got it really wrong |
| 14:27:25 | → | Guest55 joins (~Guest55@p200300ef9728cc30ee453a171b87db59.dip0.t-ipconnect.de) |
| 14:29:55 | <Athas> | Axman6: you must have broken the test suite. |
| 14:30:04 | <Athas> | The test suite uses the AArch64 backend too, right? |
| 14:30:25 | <Axman6> | it's possible.. nah unliklely, I haven't written any tests (= |
| 14:35:21 | × | CiaoSen quits (~Jura@2a05:5800:288:fd00:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds) |
| 14:35:55 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 14:37:47 | × | Guest55 quits (~Guest55@p200300ef9728cc30ee453a171b87db59.dip0.t-ipconnect.de) (Quit: Client closed) |
| 14:38:24 | → | Guest8058 joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
| 14:40:25 | <zzz> | self testing test suites <3 |
| 14:40:26 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
| 14:43:02 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:49:04 | <Athas> | I wonder how hunit is tested. |
| 14:49:38 | × | rainbyte quits (~rainbyte@181.31.239.226) (Ping timeout: 252 seconds) |
| 14:53:12 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 14:53:25 | × | acidjnk quits (~acidjnk@p200300d6e7072f37a5880f011a21b87c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 14:54:03 | <zzz> | XD https://github.com/hspec/HUnit |
| 14:58:52 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 14:59:07 | → | Aditya joins (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 15:00:04 | → | ryantrinkle joins (~ryantrink@204.2.90.61) |
| 15:03:25 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds) |
| 15:04:55 | → | misterfish joins (~misterfis@87.215.131.102) |
| 15:05:04 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 15:05:41 | × | cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 15:06:00 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 15:07:23 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 15:08:18 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
| 15:08:29 | → | dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
| 15:10:01 | → | mauke joins (~mauke@user/mauke) |
| 15:10:26 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 15:10:49 | × | Aditya quits (~Aditya@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Quit: Client closed) |
| 15:13:24 | → | cheater joins (~Username@user/cheater) |
| 15:16:26 | × | razetime quits (~quassel@117.193.6.176) (Ping timeout: 246 seconds) |
| 15:17:08 | → | razetime joins (~quassel@117.193.1.101) |
| 15:19:12 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 15:22:22 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
| 15:23:13 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 15:24:06 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 15:24:54 | → | thegeekinside joins (~thegeekin@189.217.90.138) |
| 15:28:55 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 15:29:23 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 15:32:23 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 264 seconds) |
| 15:33:50 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
| 15:34:04 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 15:38:42 | × | mstksg quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 246 seconds) |
| 15:39:16 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds) |
| 15:40:57 | → | mstksg joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 15:48:13 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 15:49:10 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) |
| 15:50:59 | ec_ | is now known as ec |
| 15:51:29 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
| 15:58:44 | × | danse-nr3 quits (~francesco@151.57.243.172) (Read error: Connection reset by peer) |
| 15:58:55 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 15:59:26 | → | danse-nr3 joins (~francesco@151.43.249.175) |
| 16:01:16 | × | misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 245 seconds) |
| 16:01:59 | → | thegeekinside joins (~thegeekin@189.217.90.138) |
| 16:02:42 | → | jsomedon joins (uid606872@id-606872.hampstead.irccloud.com) |
| 16:11:30 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 16:12:47 | × | danse-nr3 quits (~francesco@151.43.249.175) (Ping timeout: 246 seconds) |
| 16:18:55 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds) |
| 16:19:05 | → | Guest|5 joins (~Guest|5@m20677150111.austincc.edu) |
| 16:19:34 | × | Guest|5 quits (~Guest|5@m20677150111.austincc.edu) (Client Quit) |
| 16:20:12 | → | Psybur joins (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) |
| 16:20:56 | → | gmg joins (~user@user/gehmehgeh) |
| 16:25:05 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 16:25:56 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:26:02 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 16:28:20 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 16:35:20 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) (Remote host closed the connection) |
| 16:45:30 | → | alexherbo2 joins (~alexherbo@2a02-8440-2141-4ce9-1c88-8cfa-59ea-93ed.rev.sfr.net) |
| 16:46:11 | × | razetime quits (~quassel@117.193.1.101) (Remote host closed the connection) |
| 16:46:44 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 16:48:10 | → | notzmv joins (~zmv@user/notzmv) |
| 16:49:10 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) |
| 16:49:14 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 16:51:49 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 16:53:48 | → | lainon joins (~textual@c-98-54-78-2.hsd1.al.comcast.net) |
| 16:54:27 | × | ripspin quits (~chatzilla@1.145.246.16) (Remote host closed the connection) |
| 16:59:33 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 16:59:55 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds) |
| 17:03:31 | × | alexherbo2 quits (~alexherbo@2a02-8440-2141-4ce9-1c88-8cfa-59ea-93ed.rev.sfr.net) (Remote host closed the connection) |
| 17:03:49 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 17:03:50 | → | alexherbo2 joins (~alexherbo@2a02-8440-2141-4ce9-1c88-8cfa-59ea-93ed.rev.sfr.net) |
| 17:04:19 | → | elain4 joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) |
| 17:05:01 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 17:05:27 | × | alexherbo2 quits (~alexherbo@2a02-8440-2141-4ce9-1c88-8cfa-59ea-93ed.rev.sfr.net) (Remote host closed the connection) |
| 17:05:51 | → | alexherbo2 joins (~alexherbo@2a02-8440-2141-4ce9-1c88-8cfa-59ea-93ed.rev.sfr.net) |
| 17:06:47 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:06:59 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:07:06 | → | elain4_ joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) |
| 17:07:46 | × | elain4_ quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Client Quit) |
| 17:09:34 | × | elain4 quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Ping timeout: 260 seconds) |
| 17:11:23 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 17:15:56 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 17:21:58 | × | cptaffe quits (~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 250 seconds) |
| 17:30:52 | → | greentail_ joins (~greentail@2804:214:8138:acbf:d227:d151:8ed4:ed2) |
| 17:31:19 | × | greentail quits (~greentail@189.40.91.203) (Remote host closed the connection) |
| 17:37:14 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) (Remote host closed the connection) |
| 17:38:18 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 17:38:31 | → | danse-nr3 joins (~francesco@151.43.255.148) |
| 17:41:00 | → | slack1256 joins (~slack1256@191.125.135.105) |
| 17:41:49 | × | zeenk quits (~zeenk@2a02:2f04:a00b:1800::fba) (Quit: Konversation terminated!) |
| 17:42:27 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 17:47:59 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 17:52:06 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 245 seconds) |
| 17:52:49 | × | JimL quits (~quassel@89.162.16.26) (Quit: No Ping reply in 180 seconds.) |
| 17:54:11 | → | JimL joins (~quassel@89.162.16.26) |
| 17:54:17 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 17:55:50 | → | acidjnk joins (~acidjnk@p200300d6e7072f37a5880f011a21b87c.dip0.t-ipconnect.de) |
| 17:58:48 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds) |
| 17:59:52 | × | dfg quits (~dfg@user/dfg) (Quit: I hate quit messages.) |
| 18:01:00 | → | dfg joins (~dfg@dfg.rocks) |
| 18:01:00 | × | dfg quits (~dfg@dfg.rocks) (Changing host) |
| 18:01:00 | → | dfg joins (~dfg@user/dfg) |
| 18:03:38 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 18:10:31 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 18:10:53 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds) |
| 18:12:15 | × | jsomedon quits (uid606872@id-606872.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:12:22 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 18:16:13 | → | gurkenglas joins (~gurkengla@dynamic-046-114-179-181.46.114.pool.telefonica.de) |
| 18:17:47 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 18:19:25 | → | __monty__ joins (~toonn@user/toonn) |
| 18:19:32 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 18:20:17 | → | aditya211935 joins (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 18:20:27 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
| 18:20:48 | × | aditya211935 quits (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Remote host closed the connection) |
| 18:21:04 | → | aditya211935 joins (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 18:21:19 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 18:25:17 | × | aditya211935 quits (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Remote host closed the connection) |
| 18:25:55 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 18:27:23 | → | neuroevolutus joins (~neuroevol@2001:ac8:9a:76::1e) |
| 18:29:22 | × | barcisz quits (~barcisz@79.191.32.38.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 18:29:55 | <tomsmeding> | Athas: I hate 'cabal test' with a passion |
| 18:30:11 | <tomsmeding> | I just 'cabal run' the test-suite and am happy that way |
| 18:30:40 | <tomsmeding> | not only is streaming useful to see progress and see early that things are stuck somewhere, or that you can cancel the test run because everything is failing |
| 18:31:01 | <tomsmeding> | and to not hvae to open a file to see test results after things failed, which misses colouring |
| 18:36:29 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 18:38:21 | × | ryantrinkle quits (~ryantrink@204.2.90.61) (Ping timeout: 245 seconds) |
| 18:38:53 | <Hecate> | tomsmeding: I think the behaviour will be better in the next release, I've seen a PR in that direction |
| 18:40:45 | × | red-snai- quits (~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 18:41:41 | <tomsmeding> | Hecate: link, what's the behaviour change? |
| 18:41:49 | <tomsmeding> | or keyword |
| 18:42:17 | → | aditya211935 joins (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 18:42:27 | <mauke> | does haskell have a standard testing protocol now? |
| 18:42:32 | → | thegeekinside joins (~thegeekin@189.217.90.138) |
| 18:43:01 | × | JimL quits (~quassel@89.162.16.26) (Quit: No Ping reply in 180 seconds.) |
| 18:44:21 | → | JimL joins (~quassel@89.162.16.26) |
| 18:46:36 | × | aditya211935 quits (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Remote host closed the connection) |
| 18:46:43 | → | dcoutts joins (~duncan@185.201.60.13) |
| 18:49:21 | × | greentail_ quits (~greentail@2804:214:8138:acbf:d227:d151:8ed4:ed2) (Changing host) |
| 18:49:21 | → | greentail_ joins (~greentail@user/clcuc) |
| 18:49:31 | greentail_ | is now known as greentail |
| 18:51:13 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:51:55 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
| 18:52:06 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 18:54:15 | <Hecate> | https://github.com/haskell/cabal/pull/8942 tomsmeding |
| 18:55:32 | × | dcoutts quits (~duncan@185.201.60.13) (Ping timeout: 240 seconds) |
| 18:57:29 | → | ryantrinkle joins (~ryantrink@204.2.90.61) |
| 18:59:15 | → | aditya211935 joins (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 19:00:00 | → | dcoutts joins (~duncan@185.201.60.220) |
| 19:03:01 | × | qqq quits (~qqq@92.43.167.61) (Remote host closed the connection) |
| 19:03:50 | × | aditya211935 quits (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Ping timeout: 246 seconds) |
| 19:04:15 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 19:05:08 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:05:59 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:06:19 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 19:09:02 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 19:13:20 | × | fendor quits (~fendor@2a02:8388:1640:be00:821b:25b5:c8f3:73a0) (Remote host closed the connection) |
| 19:13:30 | <chreekat> | <Hecate> "https://github.com/haskell/cabal..." <- Hallelujah |
| 19:16:10 | × | alexherbo2 quits (~alexherbo@2a02-8440-2141-4ce9-1c88-8cfa-59ea-93ed.rev.sfr.net) (Remote host closed the connection) |
| 19:16:18 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:20:43 | → | aditya211935 joins (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) |
| 19:22:33 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 4.0.0) |
| 19:22:47 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 19:23:00 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 19:24:45 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 19:24:50 | × | aditya211935 quits (~aditya211@2401:4900:1c33:e779:cc41:bf2:4e42:7c4c) (Ping timeout: 246 seconds) |
| 19:24:51 | <tomsmeding> | \o/ |
| 19:26:45 | × | jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in) |
| 19:27:27 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 19:27:54 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 19:30:23 | → | m21it joins (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) |
| 19:31:16 | × | danse-nr3 quits (~francesco@151.43.255.148) (Ping timeout: 245 seconds) |
| 19:31:21 | <m21it> | Is there some optic which is capable of creating keys like `x & at key ?~ val` but dealing with multiple keys at once like for example each is doing `x & each %~ (+1)`, so I want something like `x & ats keys ?~ val`? |
| 19:39:51 | × | dcoutts quits (~duncan@185.201.60.220) (Ping timeout: 246 seconds) |
| 19:44:52 | × | michalz quits (~michalz@185.246.207.193) (Remote host closed the connection) |
| 19:47:36 | <Noinia> | my hoogle-fu is failing me. Clearly something like this must exist in base somewhere instead of in some random 'extra' package: |
| 19:47:40 | <Noinia> | guard' b x = if b then empty else pure x :: Alternative f => Bool -> a -> f a |
| 19:47:53 | <Noinia> | any ideas? |
| 19:49:27 | <Noinia> | err, I guess I want if not b then emtpy, but whatever |
| 19:50:50 | <probie> | :t \b x -> x <$ guard b |
| 19:50:50 | <lambdabot> | Alternative f => Bool -> a -> f a |
| 19:50:56 | × | lainon quits (~textual@c-98-54-78-2.hsd1.al.comcast.net) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 19:53:16 | → | qqq joins (~qqq@92.43.167.61) |
| 19:56:13 | <Noinia> | ah nice! |
| 19:57:01 | <Noinia> | Thanks! |
| 19:57:01 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:59:04 | <probie> | Noinia: I don't see it used with `guard` particularly often, but the idiom `x <$ someParser` pops up a lot when people using parsing libraries like parsec |
| 20:00:25 | × | greentail quits (~greentail@user/clcuc) (Ping timeout: 240 seconds) |
| 20:02:08 | → | greentail joins (~greentail@2804:214:8110:943f:f26e:d89b:2b54:3cc1) |
| 20:08:49 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 20:09:00 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 20:09:31 | × | jludwig quits (~justin@li657-110.members.linode.com) (Read error: Connection reset by peer) |
| 20:21:49 | → | hisa3877 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) |
| 20:25:34 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 20:26:22 | → | bratwurst joins (~dfadsva@2604:3d09:207f:f650::5b03) |
| 20:28:55 | × | jludwig quits (~justin@li657-110.members.linode.com) (Client Quit) |
| 20:29:17 | → | Candlestick joins (mirc-rockc@179.152.251.228) |
| 20:29:39 | <EvanR> | i can't seem to trigger a monomorphism restriction-based error in ghci even while enabling MonomorphismRestriction and MonoLocalBinds. Is this phenomenon just gone |
| 20:29:49 | ← | Candlestick parts (mirc-rockc@179.152.251.228) () |
| 20:29:53 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 20:30:55 | × | Guest8058 quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 20:30:57 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 20:35:46 | <geekosaur> | https://paste.tomsmeding.com/yD7RkV8i |
| 20:36:31 | <geekosaur> | the error then happens when you use `g` at some type that `(+)` would work at |
| 20:37:16 | → | pavonia joins (~user@user/siracusa) |
| 20:38:03 | <int-e> | > let x = 1 in truncate x + x |
| 20:38:04 | <lambdabot> | 2 |
| 20:38:24 | <int-e> | (that fails with the monomorpism restriction enabled) |
| 20:39:09 | <EvanR> | i tried this |
| 20:39:16 | <EvanR> | > let f = 5 in (5+1, sqrt 5) |
| 20:39:17 | <lambdabot> | (6,2.23606797749979) |
| 20:39:20 | <EvanR> | and this |
| 20:39:35 | <EvanR> | > let f = \x -> x in (f 'a', f 1) |
| 20:39:36 | <lambdabot> | ('a',1) |
| 20:39:49 | <EvanR> | MonoLocalBinds enabled, still works |
| 20:40:08 | <EvanR> | wait |
| 20:40:09 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:40:16 | <EvanR> | > let f = 5 in (f+1, sqrt f) |
| 20:40:17 | <lambdabot> | (6,2.23606797749979) |
| 20:40:46 | <EvanR> | grrr |
| 20:41:19 | <EvanR> | > let f = 5 in (f `div` 2, sqrt f) |
| 20:41:21 | <lambdabot> | (2,2.23606797749979) |
| 20:41:49 | <int-e> | EvanR: note that the type changes with MonoLocalBinds |
| 20:42:22 | <int-e> | hmm, no. but it does with MonomorphismRestriction |
| 20:42:40 | <EvanR> | I see that |
| 20:42:54 | <EvanR> | :t let f = 5 in (f `div` 2, sqrt f) |
| 20:42:55 | <lambdabot> | (Integral a, Floating b) => (a, b) |
| 20:43:10 | <EvanR> | (Integral b, Floating b) => (b,b) |
| 20:44:20 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 20:45:59 | → | Guest6127 joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
| 20:47:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:49:15 | <int-e> | forall a. Num a => a is "closed" following the description of https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/let_generalisation.html so it'll stay generalized |
| 20:49:37 | → | notzmv joins (~zmv@user/notzmv) |
| 20:50:16 | <int-e> | I feel that documentation lacks a convincing negative example (something that is generalized without MonoLocalBinds but isn't with MonoLocalBinds) |
| 20:50:37 | × | neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
| 20:50:43 | × | Nosrep quits (~Nosrep@user/nosrep) (Remote host closed the connection) |
| 20:51:39 | <int-e> | > let f x = let p y = (x, y) in (p '1', p 1) -- apparently this is an example, from https://www.haskell.org/ghc/blog/20100930-LetGeneralisationInGhc7.html |
| 20:51:41 | <lambdabot> | <no location info>: error: |
| 20:51:41 | <lambdabot> | not an expression: ‘let f x = let p y = (x, y) in (p '1', p 1) -- appare... |
| 20:51:52 | <int-e> | err, |
| 20:52:10 | <int-e> | > let f x = let p y = (x, y) in (p '1', p 1) in f () |
| 20:52:11 | <lambdabot> | error: |
| 20:52:11 | <lambdabot> | • No instance for (Num Char) arising from the literal ‘1’ |
| 20:52:11 | <lambdabot> | • In the first argument of ‘p’, namely ‘1’ |
| 20:52:44 | <int-e> | (would be accepted with NoMonoLocalBinds) |
| 20:55:41 | <EvanR> | hear me out for a second, why the hell is this even a thing. Why not just generalize let defined functions like a sane person. Don't think I've seen an explanation of this. I.e. the whole point |
| 20:55:44 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 20:56:41 | <EvanR> | compile performance? |
| 20:57:30 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) |
| 21:00:12 | <geekosaur> | you mean, why does it exist? type family resolution, apparently |
| 21:00:25 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
| 21:00:25 | × | dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 240 seconds) |
| 21:00:47 | <sm> | out of order! out of order! it is unvarnished poppycock, gentlemen and ladies! He challenges our time-honoured traditions. I call for the member to return to his seat! |
| 21:00:55 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 21:01:08 | <EvanR> | no! |
| 21:01:27 | <bratwurst> | i feel like an idiot. i couldn't understand 'mapAccumB'. just now i realized that's what my widgets are is 'mapAccumB' |
| 21:01:40 | <EvanR> | monomorphism restriction pre-dates type families entirely? |
| 21:01:43 | <tomsmeding> | EvanR: https://paste.tomsmeding.com/GX6T6hyY |
| 21:01:46 | <geekosaur> | https://www.haskell.org/ghc/blog/20100930-LetGeneralisationInGhc7.html |
| 21:01:55 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4c9c:5689:ea96:76a1) (Ping timeout: 240 seconds) |
| 21:01:56 | <geekosaur> | oh, someone linked that |
| 21:02:03 | <tomsmeding> | would you have expected the hi to be printed twice? |
| 21:02:12 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
| 21:02:17 | <EvanR> | yeah I was looking at this blog |
| 21:02:34 | <geekosaur> | there's also a paper about it |
| 21:02:45 | <geekosaur> | https://www.microsoft.com/en-us/research/publication/outsideinx-modular-type-inference-with-local-assumptions/ section 4.2 |
| 21:02:49 | <EvanR> | have that paper open xD |
| 21:03:01 | <EvanR> | but why was MR a thing in e.g. haskell 1.0 |
| 21:03:13 | <EvanR> | haskell89 xD |
| 21:03:19 | <tomsmeding> | EvanR: have you seen my paste? |
| 21:03:25 | <EvanR> | going there next |
| 21:03:38 | <tomsmeding> | EvanR: addendum is that repeating 'print (a :: Float)' also repeats hi |
| 21:03:57 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 21:03:58 | <geekosaur> | because if you treat a top level binding without parameters as a "constant", as is usually expected, it'll be separately a constant/memoized at each type |
| 21:04:00 | <tomsmeding> | whereas writing 'let b = trace "bye" (42 :: Float)' and then repeating 'print b' only gives "bye" the first time |
| 21:04:14 | <tomsmeding> | a polymorphic value is a function |
| 21:04:15 | → | califax joins (~califax@user/califx) |
| 21:04:21 | <tomsmeding> | you invoke it each time you use it |
| 21:04:24 | <geekosaur> | which can waste memory and produce other surprises |
| 21:05:08 | <tomsmeding> | the only reaon why two uses of 'a' at type Float would not result in "hi" twice in a source file (as opposed to the repl) is common subexpression elimination perhaps firing, but CSE is kinda reluctant in GHC |
| 21:05:27 | <tomsmeding> | substitute "trace" with "really expensive computation" of course |
| 21:07:12 | <mauke> | geekosaur: I don't think it's memoized at all |
| 21:07:28 | <geekosaur> | mm, no, it'd be a function of a dictionary |
| 21:07:32 | <geekosaur> | sorry |
| 21:07:56 | <EvanR> | when I did let f = 5, yeah ok there's a dictionary involved |
| 21:08:00 | <EvanR> | but |
| 21:08:12 | <EvanR> | with MR enabled this still works |
| 21:08:28 | <mauke> | ... are you asking about the MR or not? |
| 21:08:31 | <EvanR> | let f = undefined in (f `div` 2, sqrt f) |
| 21:08:44 | <EvanR> | :t let f = undefined in (f `div` 2, sqrt f) |
| 21:08:45 | <lambdabot> | (Integral a, Floating b) => (a, b) |
| 21:08:48 | <EvanR> | not (b,b) |
| 21:09:14 | × | falafel_ quits (~falafel@2603-7000-a700-8710-eb64-0ac1-9c05-0860.res6.spectrum.com) (Ping timeout: 246 seconds) |
| 21:10:06 | <EvanR> | in this case f's polymorphic but not a function |
| 21:10:22 | <EvanR> | that we know of |
| 21:10:25 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 240 seconds) |
| 21:11:54 | <EvanR> | but ok tomsmeding, you're saying it's really about constants which depend on choice of type class |
| 21:12:49 | <tomsmeding> | EvanR: if a thing 'x' is polymorphic in a type variable a' without taking a type class dictionary depending on 'a', perhaps 'x' can be evaluated once and then used at all types 'a' without recomputation? |
| 21:13:08 | <tomsmeding> | seems like parametricity implies that recomputation is not necessary in that case |
| 21:13:09 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 21:13:22 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 21:13:49 | × | slack1256 quits (~slack1256@191.125.135.105) (Read error: Connection reset by peer) |
| 21:14:33 | <geekosaur> | EvanR, that one is not MR, it's MLB |
| 21:14:38 | <tomsmeding> | the section of the haskell report linked from the MR GHC user guide page ( https://www.haskell.org/onlinereport/decls.html#sect4.5.5 ) explicitly mentions type classes in some fashion |
| 21:14:45 | → | slack1256 joins (~slack1256@186.11.22.119) |
| 21:14:54 | <EvanR> | MLB? |
| 21:14:59 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 21:15:02 | <tomsmeding> | MonoLocalBinds |
| 21:15:27 | <EvanR> | it works with MonoLocalBinds enabled |
| 21:15:29 | <geekosaur> | mm, but it still works |
| 21:15:32 | × | elred quits (~root@user/elred) (Ping timeout: 250 seconds) |
| 21:15:56 | <EvanR> | tomsmeding, alright, that clears up some of the ancient motivations |
| 21:15:59 | × | califax quits (~califax@user/califx) (Ping timeout: 240 seconds) |
| 21:16:34 | → | califax joins (~califax@user/califx) |
| 21:17:02 | <tomsmeding> | perhaps the "Which bindings are affected?" section of https://www.haskell.org/ghc/blog/20100930-LetGeneralisationInGhc7.html applies? |
| 21:17:17 | → | elred joins (~root@45.84.139.171) |
| 21:17:49 | <tomsmeding> | i.e. the f bindings we're talking about here do not fall under the reponsibility of MonoLocalBinds but of MonomorphismRestriction, because they are fake-local: they don't reference any local variables so could have been global |
| 21:17:55 | <geekosaur> | I just dropped in a partial type signature and found that the type of f doesn't involve a typeclass |
| 21:18:23 | tomsmeding | is off to bed |
| 21:18:53 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 21:20:04 | <Hecate> | nacht |
| 21:20:17 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 21:20:34 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 21:21:25 | × | acidjnk quits (~acidjnk@p200300d6e7072f37a5880f011a21b87c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 21:22:39 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:24:23 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:25:11 | × | nick3 quits (~nick@wsip-174-78-110-18.pn.at.cox.net) (Ping timeout: 264 seconds) |
| 21:26:52 | × | Inst quits (~Inst@2601:6c4:4081:2fc0:3d31:5858:1e60:ad46) (Ping timeout: 245 seconds) |
| 21:35:46 | → | nick3 joins (~nick@2600:100d:b16c:65e0:b00a:235b:2088:f41c) |
| 21:36:37 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:43:10 | → | boxscape_ joins (~boxscape_@81.191.27.107) |
| 21:44:32 | <boxscape_> | Hi, I uploaded a new version of my package yesterday https://hackage.haskell.org/package/monadic-bang-0.1.1.0 and the badge says "Build: PlanningFailed", apparently because I require at least base 4.17, but 4.16 is installed. Is there something I should do here or does this just not work with GHC >= 9.4? |
| 21:46:41 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 21:46:52 | × | JimL quits (~quassel@89.162.16.26) (Ping timeout: 240 seconds) |
| 21:46:52 | → | JimL_ joins (~quassel@89.162.16.26) |
| 21:56:58 | → | lainon joins (~textual@2601:7c0:cb00:c0a0:68c0:c255:9c8b:3dd) |
| 21:57:58 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
| 21:58:07 | <geekosaur> | that's probably a question for #haskell-infrastructure |
| 21:59:33 | <boxscape_> | will try thank you |
| 22:01:26 | boxscape_ | is now known as boxscape |
| 22:01:41 | × | boxscape quits (~boxscape_@81.191.27.107) (Changing host) |
| 22:01:41 | → | boxscape joins (~boxscape_@user/boxscape) |
| 22:01:56 | × | jonathan quits (~jonathan@c83-252-3-92.bredband.tele2.se) (Ping timeout: 252 seconds) |
| 22:02:16 | → | oneeyedalien joins (~oneeyedal@user/oneeyedalien) |
| 22:04:23 | × | oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Client Quit) |
| 22:04:38 | → | oneeyedalien joins (~oneeyedal@user/oneeyedalien) |
| 22:11:42 | <jackdk> | Hackage might not be trying to build your package with the newer GHC? |
| 22:12:37 | <boxscape> | jackdk right my question is partially whether I should be doing something to change that or if that's out of my control |
| 22:13:21 | <jackdk> | I don't know. If you can admit earlier GHCs then you can loosen the base lower bound but that's all I got |
| 22:13:44 | <boxscape> | yeah can't unfortunately because it relies on plugin features I added in GHC 9.4 |
| 22:16:10 | × | nick3 quits (~nick@2600:100d:b16c:65e0:b00a:235b:2088:f41c) (Ping timeout: 260 seconds) |
| 22:18:03 | <geekosaur> | my guess is you're out of luck |
| 22:18:47 | <geekosaur> | someone needs to sit down and fix hackage-matrix, but everyone's afraid to touch it 🙂 |
| 22:21:07 | <boxscape> | oh well, I can live with this for now I guess |
| 22:22:51 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 22:25:35 | <geekosaur> | (wow, hasn't been touched since ghc 8.4, /me suspects this will require some work) |
| 22:25:58 | <geekosaur> | (yes, I am silly enough to have cloned it and tried to build) |
| 22:25:59 | → | acidjnk joins (~acidjnk@p200300d6e7072f97cd043d78b3570e0c.dip0.t-ipconnect.de) |
| 22:26:55 | × | Guest6127 quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 22:27:28 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
| 22:29:07 | → | nick3 joins (~nick@2600:8807:9084:7800:81a9:9ad8:11b2:d730) |
| 22:30:26 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 246 seconds) |
| 22:30:47 | → | dcoutts joins (~duncan@212.187.244.66) |
| 22:31:58 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 22:32:29 | → | dmgk joins (~dmgk@user/dmgk) |
| 22:36:16 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
| 22:37:14 | → | mechap joins (~mechap@user/mechap) |
| 22:39:29 | × | oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Quit: Konversation terminated!) |
| 22:42:05 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:42:48 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 22:44:35 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:45:25 | × | nick3 quits (~nick@2600:8807:9084:7800:81a9:9ad8:11b2:d730) (Ping timeout: 240 seconds) |
| 22:50:18 | × | m21it quits (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) (Remote host closed the connection) |
| 22:50:37 | → | m21it joins (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) |
| 22:54:20 | → | dcoutts_ joins (~duncan@79.137.104.194) |
| 22:55:51 | × | dcoutts quits (~duncan@212.187.244.66) (Ping timeout: 245 seconds) |
| 22:57:27 | × | tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 22:58:13 | <bratwurst> | anyone willing to give some guidance on reactive-banana? |
| 22:58:24 | <bratwurst> | i have code at https://pastebin.com/NHbe46jb |
| 22:58:52 | × | YuutaW quits (~YuutaW@2404:f4c0:f9c3:502::100:17b7) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:59:08 | <bratwurst> | my first question is with kbw definition |
| 22:59:15 | → | YuutaW joins (~YuutaW@mail.yuuta.moe) |
| 22:59:42 | <bratwurst> | i get that doodleB is the behavior. |
| 22:59:51 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 23:00:47 | <bratwurst> | so should 'kbFocused' actually be taking something from 'changes'? |
| 23:01:23 | × | euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection) |
| 23:01:29 | <bratwurst> | i should end up with something of type 'Event ?' |
| 23:01:43 | → | euandreh joins (~Thunderbi@189.6.18.7) |
| 23:01:57 | × | wroathe quits (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
| 23:01:59 | <bratwurst> | because every time doodle changes i want to see if it was a kb focus change |
| 23:02:02 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 23:02:06 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:04:06 | × | m21it quits (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) (Remote host closed the connection) |
| 23:04:24 | → | m21it joins (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) |
| 23:04:47 | → | neuroevolutus joins (~neuroevol@2001:ac8:9a:76::1e) |
| 23:04:48 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 23:05:56 | × | gurkenglas quits (~gurkengla@dynamic-046-114-179-181.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 23:07:04 | × | acidjnk quits (~acidjnk@p200300d6e7072f97cd043d78b3570e0c.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 23:07:55 | × | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds) |
| 23:09:36 | → | gurkenglas joins (~gurkengla@2.247.242.115) |
| 23:09:38 | <jackdk> | Please try and use fewer/longer messages - you've pushed everything else off the screen. I don't know what reactive-banana<->sdl binding you're using. I haven't done FRP for a while but you almost never want to construct `Event`/`Behavior` from scratch unless you're binding to something outside your little FRP world. You do that with `fromAddHandler` to make a `MomentIO (Event a)` or `fromChanges` to make a `MomentIO (Behavior a)` |
| 23:10:40 | × | gurkenglas quits (~gurkengla@2.247.242.115) (Read error: Connection reset by peer) |
| 23:11:02 | × | greentail quits (~greentail@2804:214:8110:943f:f26e:d89b:2b54:3cc1) (Ping timeout: 245 seconds) |
| 23:11:33 | <jackdk> | I'd also recommend the links I've collected at http://jackkelly.name/wiki/haskell/learning.html#functional-reactive-programming . Even if you're not going all the way to `reflex`, the workshop is great for getting around the abstractions, and you can bring back the idea of a `Dynamic a = (Event a, Behavior a)` where the event fires iff the behavior changes. I'd build those with `mapAccum` in bananaland. |
| 23:14:00 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 23:17:59 | <EvanR> | don't try to make e.g. a sine wave behavior and then fire an event every time it changes |
| 23:18:28 | <EvanR> | it voids the warranty |
| 23:18:52 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:19:01 | <ski> | % let emptyList = Debug.Trace.trace "emptyList" [] |
| 23:19:01 | <yahb2> | <no output> |
| 23:19:05 | <ski> | % emptyList |
| 23:19:05 | <yahb2> | emptyList ; [] |
| 23:19:07 | <ski> | % emptyList :: [Bool] |
| 23:19:07 | <yahb2> | [] |
| 23:19:50 | <bratwurst> | reason i'm finding this confusing is cause when i write something "naturally" the api seems to expect something different |
| 23:20:14 | <ski> | bratwurst : hm, why `DatatypeContexts' ? |
| 23:20:15 | <EvanR> | sounds like a bug in the naturally part |
| 23:21:00 | <bratwurst> | ski: oh sorry. i had it as a class def but didn't think i needed overloading so i meant to change it to an existential type |
| 23:21:17 | <bratwurst> | EvanR: i would agree :) |
| 23:21:40 | × | m21it quits (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) (Remote host closed the connection) |
| 23:21:53 | <bratwurst> | for example, i don't get how kbFocused becomes a 'Behavior' |
| 23:21:55 | <ski> | it's generally agreed that `DatatypeContexts' doesn't do what you expect it to do, or at least that what it does doesn't tend to be that useful |
| 23:21:59 | → | m21it joins (~m21it@2800:ac:4021:c91e:57d4:3c1b:25c6:c66b) |
| 23:23:04 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
| 23:24:59 | <ski> | bratwurst : do note that `exists c. (c,c -> ..c..)' is equivalent to `nu c. ..c..' (greatest fixed point) |
| 23:25:43 | <bratwurst> | ski: i will probably end up discarding my widget definition once i understand rb better |
| 23:25:48 | <jackdk> | Remember that `Behavior` is an `Applicative`, so you can lift pure values into it without fussing around with IORefs or whatever. |
| 23:27:00 | <ski> | by which i mean to point out that `data Widget b = forall c. MkWidget Box c (Key -> c -> (b,c)) (Mouse -> c -> (b,c))' (note i omitted `Render c => ' after `forall c. ', since i don't know how `Render' is defined) is equivalent to `data Widget b = MkWidget Box (Key -> (b,Widget b)) (Mouse -> (b,Widget b))' |
| 23:27:29 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
| 23:28:29 | → | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 23:30:00 | <ski> | there seems to be no `writeIORef', yea |
| 23:30:57 | <ski> | i imagine `type DoodleIO = IORef Doodle' as well as (correction) `kbFocused :: DoodleIO -> IO Nick' |
| 23:32:04 | <bratwurst> | ski: yes you have that right. sorry not everything is there because i'm still trying to wrap my head around what i'm doing wrong |
| 23:32:59 | ski | 's not really that familiar with `reactive-banana', fwiw |
| 23:33:39 | <bratwurst> | yeah there's not much on hackage to go by either. |
| 23:34:09 | → | dcoutts joins (~duncan@79.137.104.194) |
| 23:34:26 | <ski> | .. oh, `Widget' was a class, with `Render' as superclass, yesterday |
| 23:34:30 | ski | 'd forgotten |
| 23:35:25 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
| 23:35:26 | × | dcoutts_ quits (~duncan@79.137.104.194) (Ping timeout: 245 seconds) |
| 23:35:27 | <ski> | anyway, `Widget Key AppEvent WidgetInternalState' for `Widget a b c' sounds like you'd want to keep `c' private (existential) |
| 23:35:42 | <bratwurst> | in my lib, 'class Render a' has one method 'render :: Sz -> a -> Picture' |
| 23:36:04 | <bratwurst> | 'Widget' is for things that have a size, a position and can be drawn |
| 23:36:49 | <bratwurst> | ski: it seems like i will be replacing my 'Widget' definition with behaviors and mapAccumB |
| 23:37:07 | <bratwurst> | i'm just not sure how |
| 23:37:08 | <ski> | ok, good. so `data Widget b = forall c. MkWidget Box c (Sz -> c -> Picture) (Key -> c -> (b,c)) (Mouse -> c -> (b,c))' then corresponds to `data Widget b = MkWidget Box (Sz -> Picture) (Key -> (b,Widget b)) (Mouse -> (b,Widget b))'' |
| 23:38:05 | <bratwurst> | what would be the name of how you're transforming this? |
| 23:38:23 | <ski> | <ski> bratwurst : do note that `exists c. (c,c -> ..c..)' is equivalent to `nu c. ..c..' (greatest fixed point) |
| 23:38:53 | <bratwurst> | lol. i don't know what 'nu' is. what do i look up? |
| 23:39:09 | <bratwurst> | so nu is a greek symbol? |
| 23:39:21 | <bratwurst> | defined to represent the greatest fixed point |
| 23:39:23 | <ski> | hm .. i guess i sometimes call this (in the reverse direction), the "State encoding" (cf. "Church encoding") |
| 23:40:26 | <ski> | ("Church encoding" being how `forall r. (..r.. -> r) -> r' is equivalent to `mu r. ..r..') |
| 23:40:36 | <ski> | yes, greek symbols |
| 23:40:55 | <ski> | consider |
| 23:41:07 | <ski> | data Nat = Zero | Succ Nat |
| 23:41:27 | <ski> | we can reformulate/refactor this as/to |
| 23:41:55 | <ski> | newtype Nat = MkNat (Either () Nat) |
| 23:42:07 | <ski> | (or `Maybe' in place of `Either ()', if you prefer) |
| 23:42:20 | <ski> | bratwurst : you see this ? |
| 23:44:03 | <bratwurst> | 'Left ()' would terminate things and there would be as many wraps as <n> |
| 23:44:11 | <ski> | yes |
| 23:44:26 | <ski> | in more "algebraic" notation, we could write the above as |
| 23:44:30 | <ski> | Nat = 1 + Nat |
| 23:45:32 | <jackdk> | bratwurst: Possibly useful to you: a small example which reads stdin and prints to stdout https://www.irccloud.com/pastebin/4vKg7tBe/BananaLines.hs |
| 23:45:55 | × | dcoutts quits (~duncan@79.137.104.194) (Ping timeout: 240 seconds) |
| 23:46:57 | <ski> | (replacing `()' (the "unit" type, which has one (total / non-partial) inhabitant) with `1', and replacing `Either t u' (the "sum" type, which has `m + n' inhabitants, if `t' has `m' inhabitants and `u' has `n') with `t + u') |
| 23:47:47 | <ski> | anyway, the problem now is that the *equation* `Nat = 1 + Nat' (in the unknown `Nat') has more than one solution |
| 23:47:52 | → | mauke_ joins (~mauke@user/mauke) |
| 23:47:58 | × | ijqq_ quits (uid603979@id-603979.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:49:05 | <ski> | more generally, we have an equation of the form `t = F t', where `t' is the unknown/sought, and `F' is some type function. this is a "fixed point equation", because we're asking for an input (type) `t' to pass to `F', that gives the same `t' back as output (type) |
| 23:49:30 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 260 seconds) |
| 23:49:30 | mauke_ | is now known as mauke |
| 23:50:09 | <bratwurst> | ok. makes sense so far |
| 23:50:30 | <ski> | anyway, the *least* fixed point solution `t' for `t = 1 + t' is `t = Nat', for our usual intended notion of `Nat' ((finite !) natural numbers). the least fixed point is written `mu t. 1 + t' |
| 23:51:43 | <ski> | the *greatest* fixed point solution `t' for `t = 1 + t' would be a notion of "(extended) natural numbers" that also contains an "infinity", namely what you get by `inf = Succ inf' / `inf = MkNat (Right inf)' in Haskell .. it's infinitely deep, never stops |
| 23:51:59 | <ski> | the greatest fixed point is written `nu t. 1 + t' |
| 23:52:25 | × | neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
| 23:52:48 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:53:18 | <ski> | because Haskell is non-strict, we actually get the greatest fixed-point solution, with `data Nat = Zero | Succ Nat' (or the `newtype' variant), since we can define `int = Succ inf' (and we can compute with it) |
| 23:53:46 | <bratwurst> | i think i get what you're saying now. because 'c' is a parameter to everything in my type it's "not there" |
| 23:53:55 | <ski> | (well, it's more complicated in Haskell, because you also have "bottom" values, like `_|_',`Succ _|_',`Succ (Succ _|_)',.. in `Nat' ..) |
| 23:55:38 | <ski> | anyway, *often* we really *intend* the *least* fixed point solution (the "finitely deep data structures, wrt some data type recursion"), rather than the *greatest* fixed point solution (the "potentially infinitely deep data structures / processes, wrt some data type recursion") .. so we can *pretend* that the recursive type we have (abstractly) is of the form `mu r. ..r..' |
| 23:56:17 | <ski> | anyway, you should be able to convince yourself that `[a] = mu r. 1 + a * r' |
| 23:56:51 | <ski> | however, when one's doing e.g. "OO"-like things, usually one wants the greatest fixed point version |
| 23:56:58 | <ski> | simplest non-trivial example is probably |
| 23:57:14 | <ski> | data Stream a = MkStream {head :: a,tail :: Stream a} |
| 23:57:20 | <ski> | clearly, the corresponding equation here is |
| 23:57:28 | <ski> | Stream a = a * Stream a |
| 23:58:19 | <ski> | but if we only intend *finitely* deep values, then this type would be *empty* (as it would be in a strict programming language, like e.g. SML,OCaml,F# ..) |
| 23:58:31 | <ski> | so, in this case, we really mean `Stream a = nu s. a * s' |
| 23:59:20 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
| 23:59:46 | <ski> | we can send a `head' message to a "stream object", and it'll tell us its current element value. and we can send a `tail' message to it, and it'll generate a new object state for us (usually traditional OO would use mutation of the original object here, but if we instead return a clone with some private state updated, this is what we get) |
All times are in UTC on 2023-07-10.