Logs: liberachat/#haskell
| 2021-08-19 16:19:01 | <c_wraith> | Like.. there actually isn't a good alternative in that case. Nothing is safe! |
| 2021-08-19 16:19:21 | <kuribas> | but many lisps also allow side effects at module level. |
| 2021-08-19 16:19:27 | <kuribas> | They just give up on safety... |
| 2021-08-19 16:19:39 | <kuribas> | although probably not segfault... |
| 2021-08-19 16:20:03 | <c_wraith> | but at least module designers think about dynamic loading when writing code that does that. |
| 2021-08-19 16:20:18 | <c_wraith> | Haskell authors tend not to, because it's not a language feature. |
| 2021-08-19 16:20:51 | <kuribas> | well, IMO haskell authors shouldn't do that... |
| 2021-08-19 16:21:30 | <kuribas> | Put mutable variables in global variables. |
| 2021-08-19 16:21:53 | → | bebenon joins (~ayurev@8.42.52.35) |
| 2021-08-19 16:22:00 | <c_wraith> | Until dynamic loading gets involved, it's the least-bad way to handle bindings to C libraries that don't provide a thread-safe interface |
| 2021-08-19 16:22:11 | → | Cesionaut[m] joins (~cesionaut@2001:470:69fc:105::dd3b) |
| 2021-08-19 16:22:27 | <kuribas> | ah right |
| 2021-08-19 16:22:30 | <c_wraith> | when dynamic loading gets involved, every way to handle bindings to such a library is bad |
| 2021-08-19 16:24:01 | × | mjrosenb_ quits (~mrosenbe@nyc.schrodinger.com) (Ping timeout: 248 seconds) |
| 2021-08-19 16:24:05 | × | Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection) |
| 2021-08-19 16:24:27 | → | Atum_ joins (~IRC@user/atum/x-2392232) |
| 2021-08-19 16:25:48 | → | mjrosenb joins (~mrosenbe@nyc.schrodinger.com) |
| 2021-08-19 16:27:07 | → | cuolin^ joins (~cuolin@209.65.131.194) |
| 2021-08-19 16:27:38 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
| 2021-08-19 16:29:09 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-08-19 16:30:27 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-08-19 16:30:29 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
| 2021-08-19 16:33:00 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-08-19 16:34:12 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-08-19 16:34:47 | × | d0ku quits (~d0ku@178.43.198.70.ipv4.supernova.orange.pl) (Remote host closed the connection) |
| 2021-08-19 16:35:32 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Client Quit) |
| 2021-08-19 16:36:06 | × | Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection) |
| 2021-08-19 16:36:44 | × | bebenon quits (~ayurev@8.42.52.35) (Quit: Konversation terminated!) |
| 2021-08-19 16:37:15 | → | Atum_ joins (~IRC@user/atum/x-2392232) |
| 2021-08-19 16:37:28 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 252 seconds) |
| 2021-08-19 16:37:30 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-08-19 16:38:25 | × | Moyst quits (~moyst@user/moyst) (Ping timeout: 248 seconds) |
| 2021-08-19 16:40:17 | × | o1lo01ol1o quits (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Remote host closed the connection) |
| 2021-08-19 16:41:12 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 2021-08-19 16:42:23 | × | sander quits (~sander@user/sander) (Quit: So long! :)) |
| 2021-08-19 16:42:25 | × | drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 258 seconds) |
| 2021-08-19 16:43:13 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 2021-08-19 16:45:08 | → | Moyst joins (~moyst@user/moyst) |
| 2021-08-19 16:45:12 | → | sander joins (~sander@user/sander) |
| 2021-08-19 16:45:18 | → | burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-08-19 16:46:18 | → | drd joins (~drd@93-39-151-19.ip76.fastwebnet.it) |
| 2021-08-19 16:50:40 | × | burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds) |
| 2021-08-19 16:54:04 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds) |
| 2021-08-19 16:54:04 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 2021-08-19 16:55:01 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 2021-08-19 16:59:10 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds) |
| 2021-08-19 17:01:27 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 2021-08-19 17:04:04 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 2021-08-19 17:07:05 | <siers> | is it possible to diff basic types with this? https://hackage.haskell.org/package/gdiff-1.1/docs/Data-Generic-Diff.html#t:Family |
| 2021-08-19 17:07:12 | <siers> | the html anchor was accidental |
| 2021-08-19 17:07:51 | → | o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) |
| 2021-08-19 17:08:49 | <siers> | I was thinking lists of, say, ints |
| 2021-08-19 17:09:32 | <siers> | it seems like a cool idea, but I am a bit too incompetent to figure out how to make use of it as for now |
| 2021-08-19 17:10:22 | → | pavonia joins (~user@user/siracusa) |
| 2021-08-19 17:12:10 | × | o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 2021-08-19 17:12:21 | <siers> | ah, the pdf in the docs should have examples, apparently |
| 2021-08-19 17:13:16 | × | catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 272 seconds) |
| 2021-08-19 17:13:52 | × | aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 245 seconds) |
| 2021-08-19 17:14:34 | × | keltono quits (~kelton@x-160-94-179-178.acm.umn.edu) (Ping timeout: 240 seconds) |
| 2021-08-19 17:14:53 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-08-19 17:15:32 | → | keltono joins (~kelton@x-160-94-179-178.acm.umn.edu) |
| 2021-08-19 17:15:39 | → | aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) |
| 2021-08-19 17:19:07 | <siers> | it probably doesn't work with lists, because it needs a GADT-defined type, it seems |
| 2021-08-19 17:19:48 | <lechner> | Hi, here is a nice personal article from the Haskell Weekly https://cscalfani.medium.com/why-is-learning-functional-programming-so-damned-hard-bfd00202a7d1 |
| 2021-08-19 17:21:59 | mnrmnaugh | is now known as KeziahMason |
| 2021-08-19 17:24:40 | × | spruit11 quits (~quassel@2a02:a467:ccd6:1:2d8e:31e9:d2b5:c97d) (Ping timeout: 240 seconds) |
| 2021-08-19 17:25:10 | × | keutoi quits (~keutoi@106.208.52.146) (Ping timeout: 240 seconds) |
| 2021-08-19 17:25:10 | → | doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 2021-08-19 17:25:28 | <tomsmeding> | siers: you _could_ use that library, but it's probably too focused on diffing trees (ADTs are trees, really) as opposed to diffing lists |
| 2021-08-19 17:25:50 | <tomsmeding> | like, you could define a GADT that is just a cons list, map a [] list to that, diff, and convert back |
| 2021-08-19 17:26:02 | <tomsmeding> | but you're probably better off using a dedicated algorithm for diffing lists of things |
| 2021-08-19 17:27:00 | → | keutoi joins (~keutoi@223.238.95.231) |
| 2021-08-19 17:27:15 | <tomsmeding> | siers: possible alternative: https://hackage.haskell.org/package/patience-0.3/docs/Patience.html (note: just found this lib on hackage, never used it personally) |
| 2021-08-19 17:27:39 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 2021-08-19 17:27:54 | → | nschoe joins (~quassel@2a01:e0a:8e:a190:54dd:c68a:57b4:f0fd) |
| 2021-08-19 17:28:40 | <sclv> | the standard diff pkg can diff lists of anything with eq |
| 2021-08-19 17:29:49 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 2021-08-19 17:29:59 | <tomsmeding> | that would be https://hackage.haskell.org/package/Diff , which is used in https://hackage.haskell.org/package/diff3 |
| 2021-08-19 17:30:20 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 2021-08-19 17:30:25 | <siers> | I was wanting to play with a package that can do both lists and trees |
| 2021-08-19 17:31:52 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:54dd:c68a:57b4:f0fd) (Client Quit) |
| 2021-08-19 17:33:01 | × | drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 252 seconds) |
| 2021-08-19 17:34:01 | <dsal> | lechner: That's interesting. A shorter story, imo, is that unlearning is harder than learning. |
| 2021-08-19 17:34:36 | <lechner> | yeah, i thought it was a bit long too |
| 2021-08-19 17:35:48 | <lechner> | at least i'm not alone |
| 2021-08-19 17:36:01 | × | KeziahMason quits (~mnrmnaugh@68.162.206.56) (Ping timeout: 248 seconds) |
| 2021-08-19 17:38:47 | → | spruit11 joins (~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58) |
| 2021-08-19 17:39:22 | <monochrom> | No, it is me who is alone. |
| 2021-08-19 17:39:35 | <lechner> | in what? |
| 2021-08-19 17:40:19 | <tomsmeding> | siers: ah I think you only have to make a suitable description GADT and Family instance to be able to diff lists using gdiff |
| 2021-08-19 17:40:25 | <monochrom> | I learn by starting from clean slate. My mind has some unusual ability of doing that. Resisting from making premature "connection" "analogy" with what I previously knew. |
| 2021-08-19 17:41:18 | <Lycurgus> | O.o |
| 2021-08-19 17:41:28 | <monochrom> | I learned FP on its own terms, not by "how to translate to/from the Pascal and C I have so fondly known" |
| 2021-08-19 17:42:13 | <Lycurgus> | when them was things |
| 2021-08-19 17:42:54 | <monochrom> | Besides, recursion really makes more sense than iteration. Recursion enjoys induction directly. Iteration is more indirect. |
| 2021-08-19 17:43:46 | <lechner> | monochrom: were you motivated by a desire to reduce bugs, or did you like Haskell for other reasons? |
| 2021-08-19 17:44:03 | <Lycurgus> | i remember about a half century ago asking in my first IT job what recursion was |
| 2021-08-19 17:44:09 | × | qbt quits (~edun@user/edun) (Remote host closed the connection) |
| 2021-08-19 17:44:20 | <Rembane_> | Lycurgus: Did they answer with: "See recursion." ? |
| 2021-08-19 17:44:29 | <monochrom> | I am motivated by the desire to reduce bugs all my life. Haskell helps, yes. But not the only way. |
All times are in UTC.