Logs: liberachat/#haskell
| 2021-08-02 16:35:19 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 2021-08-02 16:36:08 | <dminuoso> | davean: what was the name of that again? |
| 2021-08-02 16:36:10 | → | azeem joins (~azeem@176.200.220.247) |
| 2021-08-02 16:36:55 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2021-08-02 16:37:00 | × | drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 272 seconds) |
| 2021-08-02 16:38:18 | × | jippiedoe quits (~david@2a02-a448-48bd-1-6c05-d94f-4fec-758a.fixed6.kpn.net) (Ping timeout: 250 seconds) |
| 2021-08-02 16:39:22 | <davean> | dminuoso: skete |
| 2021-08-02 16:39:32 | <davean> | well, skete-haskell specificly for the one for Hackge :-p |
| 2021-08-02 16:39:43 | × | Guest72 quits (~Guest72@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Ping timeout: 246 seconds) |
| 2021-08-02 16:39:57 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 2021-08-02 16:40:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 2021-08-02 16:40:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-08-02 16:40:39 | <euouae> | Are lenses “atomic”? |
| 2021-08-02 16:40:46 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2021-08-02 16:40:56 | <davean> | euouae: what does that even mean? |
| 2021-08-02 16:40:56 | <dminuoso> | What does "atomic" mean? |
| 2021-08-02 16:41:00 | <euouae> | or is atomicity someone else’s job? |
| 2021-08-02 16:41:13 | <euouae> | well the put get is what I’m thinking of |
| 2021-08-02 16:41:25 | <davean> | Thats oen of the laws |
| 2021-08-02 16:41:28 | <euouae> | of course the laws are the laws. Maybe they guarantee atomicity |
| 2021-08-02 16:41:39 | <davean> | euouae: I think you're confused |
| 2021-08-02 16:41:47 | <euouae> | Thread safe is what I’m trying to say |
| 2021-08-02 16:41:48 | <davean> | Haskell is a functional language |
| 2021-08-02 16:42:10 | <davean> | Yes, thats mostly meaningless - for example you don't mutate in Haskell, you create an edited copy |
| 2021-08-02 16:42:24 | <euouae> | Ooh I see, so the changes from put are not reflected elsewhere |
| 2021-08-02 16:42:39 | <euouae> | it truly is like the record update |
| 2021-08-02 16:42:45 | <davean> | yes |
| 2021-08-02 16:42:49 | <davean> | You can have references to stuff, like MVars |
| 2021-08-02 16:42:52 | <davean> | and you can lens into MVars |
| 2021-08-02 16:43:10 | <davean> | but it works the same way there. Sure the changes are reflected elsewhere, but its the same, you made a copy and updated the reference |
| 2021-08-02 16:43:21 | <euouae> | No race conditions ? |
| 2021-08-02 16:43:46 | <dminuoso> | euouae: Right, except for the part that they are composable, first-class, and generalize to things like Folds or Traverses - things you dont get from record accessors. :-) |
| 2021-08-02 16:43:50 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-08-02 16:43:53 | <dminuoso> | No race conditions. |
| 2021-08-02 16:43:56 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 2021-08-02 16:44:34 | <euouae> | Oh yeah that true, the composabilityhas me stumped |
| 2021-08-02 16:45:03 | → | burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk) |
| 2021-08-02 16:45:30 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2021-08-02 16:45:31 | <euouae> | As for folds— I don’t know that one yet. It’s cool reading papers though, I find that sometimes they help a lot to read the docs |
| 2021-08-02 16:45:47 | → | markpythonicbitc joins (~textual@2601:647:5a00:35:e0da:ada7:2ca5:10dd) |
| 2021-08-02 16:46:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-08-02 16:46:42 | → | reumeth joins (~reumeth@user/reumeth) |
| 2021-08-02 16:46:43 | <dminuoso> | % foldMapOf (folded . both . _Just) Sum [(Just 21, Just 21)] |
| 2021-08-02 16:46:43 | <yahb> | dminuoso: Sum {getSum = 42} |
| 2021-08-02 16:47:10 | <dminuoso> | It's the same idea as foldr. Collapsing an optic that has multiple targets into some value. |
| 2021-08-02 16:47:26 | <dminuoso> | Or perhaps better phrased "consuming" |
| 2021-08-02 16:47:41 | <euouae> | Oh nice |
| 2021-08-02 16:47:48 | <delYsid> | I dont get how re from the lens package is useful. Or reuse, for that matter. If it cant modify, why is reuse _Foo more interesting then uses Foo? |
| 2021-08-02 16:48:16 | <delYsid> | er, gets Foo I mean |
| 2021-08-02 16:48:42 | → | chris_ joins (~chris@81.96.113.213) |
| 2021-08-02 16:49:11 | <delYsid> | How do I change a constructor somewhere deep in a structure? |
| 2021-08-02 16:49:38 | → | deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 2021-08-02 16:49:53 | <dminuoso> | delYsid: With over? |
| 2021-08-02 16:50:47 | <dminuoso> | delYsid: Regarding reuse, it's probably more useful for non-trivial prisms. The documentation has a slightly better example |
| 2021-08-02 16:50:50 | × | burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 2021-08-02 16:50:53 | <dminuoso> | % 6 ^.re (_Left.unto succ) |
| 2021-08-02 16:50:53 | <yahb> | dminuoso: Left 7 |
| 2021-08-02 16:51:39 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 2021-08-02 16:52:12 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-08-02 16:52:15 | <dminuoso> | If you happen to already hold the prism in your hand, then I think reuse has some value. But if not, you might as well just use `use (Left . succ)` |
| 2021-08-02 16:52:28 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-08-02 16:52:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-08-02 16:52:58 | × | chris_ quits (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
| 2021-08-02 16:53:10 | <dminuoso> | Or perhaps with some Iso you hold in your hand. |
| 2021-08-02 16:54:10 | → | mei joins (~mei@user/mei) |
| 2021-08-02 16:54:24 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-08-02 16:54:42 | × | pe200012 quits (~pe200012@113.105.10.33) (Ping timeout: 245 seconds) |
| 2021-08-02 16:54:48 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-08-02 16:55:14 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
| 2021-08-02 17:00:20 | × | azeem quits (~azeem@176.200.220.247) (Read error: Connection reset by peer) |
| 2021-08-02 17:01:19 | × | jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-08-02 17:01:39 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-08-02 17:02:13 | → | azeem joins (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-08-02 17:03:35 | → | mattil joins (~mattilinn@87-92-172-201.rev.dnainternet.fi) |
| 2021-08-02 17:04:13 | → | y04nn joins (~y04nn@91.193.4.154) |
| 2021-08-02 17:05:07 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-08-02 17:05:30 | × | jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 272 seconds) |
| 2021-08-02 17:05:36 | × | mattil quits (~mattilinn@87-92-172-201.rev.dnainternet.fi) (Remote host closed the connection) |
| 2021-08-02 17:06:01 | → | mattil joins (~mattilinn@87-92-172-201.rev.dnainternet.fi) |
| 2021-08-02 17:07:49 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 2021-08-02 17:07:59 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 2021-08-02 17:07:59 | allbery_b | is now known as geekosaur |
| 2021-08-02 17:08:52 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 2021-08-02 17:11:50 | × | azeem quits (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-08-02 17:15:02 | → | azeem joins (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-08-02 17:16:22 | <tromp> | i don't understand the compiler error i get on https://paste.ofcode.org/DBck6pC68BLWgyrAcsn9Gq |
| 2021-08-02 17:16:45 | <tromp> | Legality.hs:105:27: error: Variable not in scope: args :: t0 [Char] |
| 2021-08-02 17:16:46 | <tromp> | | |
| 2021-08-02 17:16:46 | <tromp> | 105 | verbose = "-v" `elem` args |
| 2021-08-02 17:16:46 | <tromp> | | ^^^^ |
| 2021-08-02 17:17:11 | × | enoq quits (~enoq@194-208-179-35.lampert.tv) (Quit: enoq) |
| 2021-08-02 17:17:19 | <tromp> | how is args not in scope there? |
| 2021-08-02 17:17:37 | <dminuoso> | tromp: You have to use let bindings, the where is part of the main declaration. |
| 2021-08-02 17:17:57 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds) |
| 2021-08-02 17:18:00 | <dminuoso> | i.e. do { args <- getArgs; let legality = map (\fen -> fen ++ "\n " ++ research verbose (readFEN fen)); ... } |
| 2021-08-02 17:18:47 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 2021-08-02 17:19:49 | <tromp> | i tried a let .... in block earlier, but it failed because let and in were at same indentation level |
| 2021-08-02 17:20:00 | <tromp> | indenting the in further fixes it |
| 2021-08-02 17:20:07 | <dminuoso> | tromp: drop the `in` |
| 2021-08-02 17:20:16 | <dminuoso> | do-expressions support a special form of let |
All times are in UTC.