2021-11-19 00:02:58 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 00:03:36 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) () |
2021-11-19 00:03:45 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 00:06:07 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-11-19 00:07:36 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-11-19 00:08:04 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-11-19 00:08:18 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-11-19 00:08:40 +0100 | <lbseale> | I am trying to add a custom hlint rule for function that's not in base (Data.Map.Strict.fromList), but hlint isn't catching it. It's being used with a qualified import ... does anyone know why this wouldn't work? |
2021-11-19 00:12:36 +0100 | chomwitt | (~chomwitt@2a02:587:dc12:3f00:12c3:7bff:fe6d:d374) (Ping timeout: 265 seconds) |
2021-11-19 00:13:00 +0100 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) |
2021-11-19 00:13:30 +0100 | kupi | (uid212005@hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-19 00:13:40 +0100 | evocatus | (~evocatus@213.193.2.105) |
2021-11-19 00:14:40 +0100 | max22- | (~maxime@2a01cb088335980084a2aafb0ef18753.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-11-19 00:16:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-19 00:18:58 +0100 | chomwitt | (~chomwitt@2a02:587:dc12:3f00:12c3:7bff:fe6d:d374) |
2021-11-19 00:20:25 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-11-19 00:21:35 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-19 00:23:50 +0100 | Guest|61 | (~Guest|61@pool-74-104-163-225.bstnma.fios.verizon.net) (Quit: Connection closed) |
2021-11-19 00:25:17 +0100 | chomwitt | (~chomwitt@2a02:587:dc12:3f00:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
2021-11-19 00:28:02 +0100 | <oats> | are there any good learning resources out there for how to factor recursion out of a function? I've got a recursive function in which I reckon there's a fold or something hiding, but I can't prove it yet |
2021-11-19 00:28:26 +0100 | <Hecate> | oats: you need to practice folds |
2021-11-19 00:28:37 +0100 | <Hecate> | the more you do, the more you recognise patterns to which folds apply |
2021-11-19 00:28:48 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-11-19 00:32:22 +0100 | <monochrom> | The resources are organized as "this is a tutorial on list's foldr specifically" "this is a tutorial on list's map specifically", etc. As opposed to "this is a one-stop shop for all common recursions". |
2021-11-19 00:32:31 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-11-19 00:32:48 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-11-19 00:34:27 +0100 | <monochrom> | Actually I lied, there is a one-stop shop, it's an academic paper called "banana, barbed wires, ...", and it is not easy to read, and it goes overboard, today most Haskellers aren't interested. |
2021-11-19 00:34:34 +0100 | <oats> | oh shit, it's actually an unfold |
2021-11-19 00:34:49 +0100 | <oats> | no wonder it was sus :P |
2021-11-19 00:39:32 +0100 | <lbseale> | Update: we figured it out. We needed to add it as a warning in a group, following the patterns in https://github.com/ndmitchell/hlint/blob/v2.1.11/data/hlint.yaml |
2021-11-19 00:41:49 +0100 | <lbseale> | https://paste.tomsmeding.com/0FpSc3oc |
2021-11-19 00:46:35 +0100 | yauhsien | (~yauhsien@49.216.238.61) (Read error: Connection reset by peer) |
2021-11-19 00:47:54 +0100 | epolanski | (uid312403@helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-19 00:49:22 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 00:50:21 +0100 | <oats> | https://github.com/oatberry/aoc2020-haskell/commit/d24e072a564512520c9d7334e4210a77dd6ae7eb |
2021-11-19 00:50:36 +0100 | <oats> | some may say, unreadable :P |
2021-11-19 00:51:20 +0100 | <dsal> | sum.unFoldr sounds like a hylomorphism. |
2021-11-19 00:52:25 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 268 seconds) |
2021-11-19 00:54:54 +0100 | <oats> | that's the first I've seen that term |
2021-11-19 00:55:05 +0100 | <dsal> | @package recursion-schemes |
2021-11-19 00:55:05 +0100 | <lambdabot> | https://hackage.haskell.org/package/recursion-schemes |
2021-11-19 00:55:24 +0100 | <dsal> | There's your "how do I refactor all recursion out of everything" thing. :) |
2021-11-19 00:55:36 +0100 | <oats> | hah, thanks :) |
2021-11-19 00:56:02 +0100 | <dsal> | I just used regular `fold` when I did that one. |
2021-11-19 00:56:33 +0100 | <oats> | dsal, AoC? is your solution up anywhere? |
2021-11-19 00:56:40 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 00:57:09 +0100 | <dsal> | I've got a helper library with some common stuff like grid parsing, but this is my day 3: https://www.irccloud.com/pastebin/pBTpHp1C/day3.hs |
2021-11-19 00:57:59 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
2021-11-19 01:00:42 +0100 | <oats> | nice |
2021-11-19 01:00:59 +0100 | <dsal> | I don't remember what the problem was. heh |
2021-11-19 01:01:29 +0100 | <oats> | tobogganing |
2021-11-19 01:01:35 +0100 | <oats> | avoiding arboreal incidents |
2021-11-19 01:01:46 +0100 | <dsal> | AI can be a problem, yeah. |
2021-11-19 01:01:54 +0100 | <oats> | lol |
2021-11-19 01:02:11 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 264 seconds) |
2021-11-19 01:03:02 +0100 | <dsal> | oh, I think day4 might've been fun. This was my solution to part 1: `part1 = length` |
2021-11-19 01:04:54 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-19 01:05:21 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-19 01:05:47 +0100 | emf | (~emf@2620:10d:c090:400::5:d3e3) (Ping timeout: 264 seconds) |
2021-11-19 01:06:24 +0100 | <dsal> | Sorry. Spoiler. |
2021-11-19 01:06:31 +0100 | <oats> | oh meanning you already had utility functions for reading in hashmaps and stuff? |
2021-11-19 01:06:46 +0100 | <oats> | hah no worries, I did most of these last year in not-haskell |
2021-11-19 01:07:03 +0100 | <oats> | I just wanted to throw together a little framework for doing them in haskell these year |
2021-11-19 01:07:05 +0100 | <dsal> | Nah, I just wrote a parser that did most of the work. |
2021-11-19 01:07:14 +0100 | <dsal> | getInput = fmap catMaybes . parseFile (parsePassport `sepBy` "\n") |
2021-11-19 01:07:33 +0100 | <dsal> | parsePassport was `parsePassport :: Parser (Maybe Passport)` |
2021-11-19 01:07:43 +0100 | <oats> | mmm, parseFile seems like a very good function |
2021-11-19 01:08:08 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-19 01:08:08 +0100 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-11-19 01:08:08 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-19 01:08:08 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-19 01:08:12 +0100 | <dsal> | It's not particularly fancy: https://github.com/dustin/aoc/blob/master/src/Advent/AoC.hs#L44 |
2021-11-19 01:09:02 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-11-19 01:09:05 +0100 | texasmynsted | (~texasmyns@99.96.221.112) (WeeChat 3.1) |
2021-11-19 01:09:59 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 264 seconds) |
2021-11-19 01:11:07 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 01:15:01 +0100 | hiruji | (~hiruji@user/hiruji) (Read error: Connection reset by peer) |
2021-11-19 01:15:41 +0100 | <dsal> | Man, day 7 with lazy maps kind of blew my mind. |
2021-11-19 01:15:55 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-11-19 01:17:48 +0100 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.3) |
2021-11-19 01:19:45 +0100 | ystael | (~ystael@user/ystael) (Ping timeout: 250 seconds) |
2021-11-19 01:22:58 +0100 | <oats> | dsal, any particular reason you use Text pretty much everywhere instead of String? |
2021-11-19 01:23:11 +0100 | <dsal> | Because that's best practice. :) |
2021-11-19 01:24:02 +0100 | <oats> | 😰 |
2021-11-19 01:25:35 +0100 | <dsal> | It doesn't matter a lot of the time, but `String` is a type alias for `[Char]` which is a silly amount of overhead to do just about anything you might want to do. |
2021-11-19 01:28:05 +0100 | evocatus | (~evocatus@213.193.2.105) (Quit: Leaving) |
2021-11-19 01:28:36 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-11-19 01:29:05 +0100 | <oats> | yeah, if I had performance in mind I guess I might |
2021-11-19 01:29:10 +0100 | <oats> | AoC is kinda small scale though :P |
2021-11-19 01:30:23 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:c01b:60fe:9558:2d95) |
2021-11-19 01:31:26 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2021-11-19 01:31:35 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-11-19 01:32:19 +0100 | turco32 | (~turco32@104.158.25.93) |
2021-11-19 01:32:52 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-11-19 01:32:58 +0100 | <turco32> | am i doing it wrong using ghci in a terminal and not in a emacs setup? |
2021-11-19 01:33:21 +0100 | <turco32> | i don't know if a such a setup exists for ghci and emacs |
2021-11-19 01:34:05 +0100 | <sm> | but, but, maybe you want to slice and dice strings like lists, and without requiring a big extra package and import ? |
2021-11-19 01:34:21 +0100 | <sm> | maybe you want to interact easily with the OS ? |
2021-11-19 01:34:30 +0100 | <turco32> | true |
2021-11-19 01:34:35 +0100 | <dsal> | turco32: There are a few ways to do it. I just use some old haskell-mode stuff and it'll open a ghci buffer and do all the things. |
2021-11-19 01:34:54 +0100 | <turco32> | oh really? |
2021-11-19 01:34:58 +0100 | <turco32> | that's neat |
2021-11-19 01:35:11 +0100 | <dsal> | I think the cool kids do HLS these days, but I've never made that work. |
2021-11-19 01:35:56 +0100 | <dsal> | oats: Yeah, it may not matter. But it's not harder to use Text and it's got a couple extras that make some things easier. Some things are harder. All depends. |
2021-11-19 01:36:22 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-11-19 01:36:26 +0100 | <oats> | turco32, I'm a fan of ghci in emacs |
2021-11-19 01:36:37 +0100 | oats | uses lsp-mode, haskell-mode, and haskell-interactive-mode |
2021-11-19 01:36:53 +0100 | <turco32> | id like to find a package that does that |
2021-11-19 01:37:48 +0100 | <justsomeguy> | spaceemacs and ghcup get you close |
2021-11-19 01:38:11 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 264 seconds) |
2021-11-19 01:38:22 +0100 | <justsomeguy> | Although spaceemacs is pretty huge, and I don't think I'll ever understand how it works. |
2021-11-19 01:39:38 +0100 | <monochrom> | Nothing wrong with low tech KISS. |
2021-11-19 01:39:39 +0100 | <sm> | turco, the two easy ide setups are emacs + ghcid, and vs code + haskell extension |
2021-11-19 01:40:03 +0100 | <sm> | so of course I combine them. vs code + haskell extension with terminal pane running emacs running ghcid for when hls fails |
2021-11-19 01:41:04 +0100 | sm | has been playing this most excellent jasper van der jeugt joint discovered via HF podcast: https://www.jaspervdj.be/beeraffe/ |
2021-11-19 01:41:22 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-19 01:41:52 +0100 | <sm> | hello myShoggoth |
2021-11-19 01:45:25 +0100 | <dsal> | I've never used ghcid, either. Most of these things seem hard to manage more than one project with. |
2021-11-19 01:45:36 +0100 | <dsal> | I hardly ever have just one project open. |
2021-11-19 01:46:32 +0100 | <sm> | dsal: you're often hacking on multiple projects simultaneously ? |
2021-11-19 01:46:51 +0100 | <sm> | like, as part of a single superproject ? |
2021-11-19 01:46:56 +0100 | <dsal> | Sometimes, yeah. |
2021-11-19 01:47:08 +0100 | <dsal> | Other times, it's like, I thought of a thing, and I want to do that thing across a bunch of different projects. |
2021-11-19 01:47:56 +0100 | <sm> | hls is too heavy to keep a lot of instances running. Even ghcid is, sometimes |
2021-11-19 01:48:20 +0100 | <sm> | vs code could easily shut down the one not currently focussed, though |
2021-11-19 01:48:30 +0100 | favonia | (~favonia@user/favonia) |
2021-11-19 01:48:44 +0100 | <dsal> | I can't remember what was confusing in vscode. |
2021-11-19 01:49:01 +0100 | <dsal> | It doesn't help that I have this weird eggshell env. It's like, stack + nix + macos. |
2021-11-19 01:49:05 +0100 | <dsal> | + multiple projects. |
2021-11-19 01:50:24 +0100 | <dsal> | vs code was a pretty big improvement for doing TLA+, though. Except the part where it uses entirely different LaTeX templates or something and doesn't bother shading comments. |
2021-11-19 01:57:42 +0100 | abrantesasf | (~abrantesa@187.36.170.211) (Remote host closed the connection) |
2021-11-19 01:59:44 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
2021-11-19 02:00:01 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 02:04:30 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-11-19 02:04:34 +0100 | dsrt^ | (~dsrt@68.101.63.101) |
2021-11-19 02:06:37 +0100 | ystael | (~ystael@user/ystael) |
2021-11-19 02:07:29 +0100 | <myShoggoth> | sm: hi! |
2021-11-19 02:09:35 +0100 | <sm> | myShoggoth: hope you work goes well. I'm loving the haskell interlude podcast, just to say |
2021-11-19 02:11:20 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-11-19 02:12:35 +0100 | alx741 | (~alx741@181.196.69.19) (Ping timeout: 268 seconds) |
2021-11-19 02:13:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 02:14:12 +0100 | Topsi | (~Tobias@dyndsl-091-249-083-165.ewe-ip-backbone.de) |
2021-11-19 02:17:27 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-11-19 02:18:03 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-11-19 02:20:51 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-19 02:20:51 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-19 02:20:51 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-19 02:23:00 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2021-11-19 02:25:16 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-11-19 02:26:25 +0100 | alx741 | (~alx741@186.178.109.242) |
2021-11-19 02:27:23 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 264 seconds) |
2021-11-19 02:34:19 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) |
2021-11-19 02:35:26 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) (Client Quit) |
2021-11-19 02:45:27 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-11-19 02:46:47 +0100 | zaquest | (~notzaques@5.130.79.72) (Quit: Leaving) |
2021-11-19 02:47:37 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) |
2021-11-19 02:47:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-19 02:48:45 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer) |
2021-11-19 02:51:20 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 02:52:06 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 265 seconds) |
2021-11-19 02:53:13 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-11-19 02:55:52 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-19 02:59:23 +0100 | mjrosenb | (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (Remote host closed the connection) |
2021-11-19 03:00:18 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-19 03:01:11 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) (Quit: WeeChat 3.3) |
2021-11-19 03:13:22 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 03:15:32 +0100 | retro_ | (~retro@97e2ba2e.skybroadband.com) (Read error: Connection reset by peer) |
2021-11-19 03:16:22 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 260 seconds) |
2021-11-19 03:18:52 +0100 | chronon | (~chronon@user/chronon) (Ping timeout: 260 seconds) |
2021-11-19 03:20:17 +0100 | chronon | (~chronon@user/chronon) |
2021-11-19 03:22:10 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-11-19 03:22:42 +0100 | Vajb | (~Vajb@85-76-10-43-nat.elisa-mobile.fi) |
2021-11-19 03:22:49 +0100 | JimL | (~quassel@89-162-2-132.fiber.signal.no) (Ping timeout: 250 seconds) |
2021-11-19 03:24:34 +0100 | JimL | (~quassel@89-162-2-132.fiber.signal.no) |
2021-11-19 03:24:35 +0100 | Vajb | (~Vajb@85-76-10-43-nat.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-11-19 03:24:40 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-19 03:25:28 +0100 | <myShoggoth> | sm: thank you! |
2021-11-19 03:25:36 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-11-19 03:25:51 +0100 | <myShoggoth> | sm: The Haskell Interlude team is doing a fantastic job |
2021-11-19 03:27:35 +0100 | <sm> | 👍️ excellent guests |
2021-11-19 03:46:19 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 268 seconds) |
2021-11-19 03:46:37 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) |
2021-11-19 03:47:47 +0100 | xff0x | (~xff0x@2001:1a81:53b1:4500:9213:f6eb:82ba:af29) (Ping timeout: 264 seconds) |
2021-11-19 03:49:17 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:5000:2c7a:ffb3:dbe2) |
2021-11-19 03:50:21 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-19 03:50:21 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-19 03:50:21 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-19 03:57:14 +0100 | alx741 | (~alx741@186.178.109.242) (Quit: alx741) |
2021-11-19 04:01:02 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:c01b:60fe:9558:2d95) (Ping timeout: 240 seconds) |
2021-11-19 04:03:32 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-11-19 04:03:37 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 04:03:52 +0100 | Neuromancer | Nrmncr |
2021-11-19 04:04:21 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:9965:319a:ef17:fff9) |
2021-11-19 04:04:30 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 04:07:32 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-11-19 04:07:53 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-11-19 04:08:23 +0100 | zaquest | (~notzaques@5.130.79.72) |
2021-11-19 04:10:59 +0100 | favonia | (~favonia@user/favonia) (Ping timeout: 268 seconds) |
2021-11-19 04:16:32 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:9965:319a:ef17:fff9) (Ping timeout: 240 seconds) |
2021-11-19 04:17:33 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-11-19 04:18:03 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:c9c2:f9da:e6bb:5682) |
2021-11-19 04:27:33 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2021-11-19 04:27:33 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-19 04:27:33 +0100 | finn_elija | FinnElija |
2021-11-19 04:29:45 +0100 | <Axman6> | There's a new haskell podcast? :o |
2021-11-19 04:36:10 +0100 | dsrt^ | (~dsrt@68.101.63.101) (Ping timeout: 256 seconds) |
2021-11-19 04:36:58 +0100 | mbuf | (~Shakthi@122.174.57.32) |
2021-11-19 04:37:27 +0100 | whatsupdoc | (uid509081@hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-19 04:41:49 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 268 seconds) |
2021-11-19 04:44:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 04:48:37 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-11-19 04:48:43 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-11-19 04:53:49 +0100 | td_ | (~td@muedsl-82-207-238-143.citykom.de) (Ping timeout: 250 seconds) |
2021-11-19 04:55:45 +0100 | td_ | (~td@muedsl-82-207-238-169.citykom.de) |
2021-11-19 04:57:00 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:f54f:22a2:7c84:1461) |
2021-11-19 04:57:52 +0100 | aman | (~aman@user/aman) |
2021-11-19 04:59:42 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:c9c2:f9da:e6bb:5682) (Ping timeout: 268 seconds) |
2021-11-19 05:01:02 +0100 | Topsi | (~Tobias@dyndsl-091-249-083-165.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-11-19 05:07:09 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:9d18:4862:d949:6f72) |
2021-11-19 05:08:26 +0100 | iamanewb | (~iamanewb@98.45.192.30) |
2021-11-19 05:09:02 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:f54f:22a2:7c84:1461) (Ping timeout: 240 seconds) |
2021-11-19 05:11:10 +0100 | Guest63 | (~Guest63@130.253.27.11) |
2021-11-19 05:15:44 +0100 | rtsn | (~nstr@c-c7fe225c.07-59-7570703.bbcust.telenor.se) (Ping timeout: 268 seconds) |
2021-11-19 05:15:54 +0100 | rtsn | (~nstr@c-c7fe225c.07-59-7570703.bbcust.telenor.se) |
2021-11-19 05:16:07 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:2da1:529b:e827:2fbb) |
2021-11-19 05:17:32 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:9d18:4862:d949:6f72) (Ping timeout: 240 seconds) |
2021-11-19 05:18:40 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-19 05:19:09 +0100 | vysn | (~vysn@user/vysn) |
2021-11-19 05:21:45 +0100 | whatsupdoc | (uid509081@hampstead.irccloud.com) |
2021-11-19 05:22:38 +0100 | <Guest63> | https://paste.tomsmeding.com/1SZMvVLB |
2021-11-19 05:24:00 +0100 | <Guest63> | I'm having trouble running any command involving "stack build" or "stack test" the error seems to be connected to when I put hspec in my dependencies on the package.yaml file |
2021-11-19 05:26:01 +0100 | <Guest63> | I have another project that uses hspec and works, but when I use it in this project it doesn't work |
2021-11-19 05:26:57 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-11-19 05:27:35 +0100 | <dsal> | Guest63: Sounds like an older stack snapshot? |
2021-11-19 05:28:28 +0100 | <Guest63> | How do I refresh my stack snapshot? |
2021-11-19 05:28:37 +0100 | <dsal> | you edit stack.yaml |
2021-11-19 05:31:33 +0100 | <Guest63> | https://paste.tomsmeding.com/nhcYFpfN |
2021-11-19 05:31:46 +0100 | <Guest63> | What should I edit in stack.yaml? |
2021-11-19 05:32:47 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:45bd:2d1d:42f2:f442) |
2021-11-19 05:32:48 +0100 | <sm> | Axman6: I was talking about https://haskell.foundation/podcast/ |
2021-11-19 05:34:08 +0100 | <sm> | Guest63: replace lines 20-21 with `resolver: lts-18.17`, eg |
2021-11-19 05:34:28 +0100 | <sm> | and get rid of all those confusing comments |
2021-11-19 05:34:38 +0100 | aman | (~aman@user/aman) (Quit: aman) |
2021-11-19 05:36:05 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:2da1:529b:e827:2fbb) (Ping timeout: 268 seconds) |
2021-11-19 05:37:47 +0100 | iamanewb | (~iamanewb@98.45.192.30) (Quit: Client closed) |
2021-11-19 05:38:16 +0100 | <sm> | Guest63: your error looks like this packaging bug with mintty: https://github.com/RyanGlScott/mintty/issues/4 |
2021-11-19 05:42:44 +0100 | <sm> | so you're not alone. The easy solution seems to be wait a little bit for lts-18.18 |
2021-11-19 05:47:31 +0100 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2021-11-19 05:49:39 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-11-19 05:51:10 +0100 | puke | (~puke@user/puke) (Quit: puke) |
2021-11-19 05:51:27 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-11-19 05:52:36 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) |
2021-11-19 05:54:08 +0100 | <Guest63> | sm thank you so much, I had to change that 17 in the URL to a 15 |
2021-11-19 05:54:20 +0100 | hiruji | (~hiruji@user/hiruji) (Read error: Connection reset by peer) |
2021-11-19 05:54:32 +0100 | <sm> | great |
2021-11-19 05:55:21 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) (Client Quit) |
2021-11-19 05:57:09 +0100 | <dsal> | The URL form is weird and busted. |
2021-11-19 05:57:19 +0100 | <dsal> | But if it works, then go for it. heh |
2021-11-19 05:57:52 +0100 | <Guest63> | its autogenerated either way haha |
2021-11-19 05:59:42 +0100 | <dsal> | Yeah, at some point stack started generating that way and it only worked with some tooling. |
2021-11-19 06:00:06 +0100 | <dsal> | Just using the string `lts-18.15` works in all the places. |
2021-11-19 06:00:26 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 06:01:06 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:45bd:2d1d:42f2:f442) (Quit: WeeChat 3.3) |
2021-11-19 06:01:13 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-11-19 06:01:26 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) |
2021-11-19 06:01:33 +0100 | <sm> | love them snapshots |
2021-11-19 06:06:04 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-11-19 06:07:12 +0100 | <dsal> | I was kind of hoping the most recent one would up that network package. |
2021-11-19 06:13:16 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-11-19 06:19:02 +0100 | johnw | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Ping timeout: 240 seconds) |
2021-11-19 06:23:47 +0100 | JimL | (~quassel@89-162-2-132.fiber.signal.no) (Ping timeout: 264 seconds) |
2021-11-19 06:26:25 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-11-19 06:26:40 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 06:26:58 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 06:27:18 +0100 | JimL | (~quassel@89-162-2-132.fiber.signal.no) |
2021-11-19 06:34:41 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 06:40:19 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 06:41:42 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2021-11-19 06:42:16 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 06:42:19 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-11-19 06:45:19 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 06:48:44 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 06:52:04 +0100 | bliminse | (~bliminse@host86-188-36-178.range86-188.btcentralplus.com) (Quit: leaving) |
2021-11-19 06:54:04 +0100 | euouae | (~euouae@user/euouae) |
2021-11-19 06:54:19 +0100 | <euouae> | Hello how can I apply `f` to `(a,b)`, i.e. transform into `f a b`? |
2021-11-19 06:54:36 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 06:55:11 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-11-19 06:56:08 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-11-19 06:56:10 +0100 | mei | (~mei@user/mei) |
2021-11-19 06:56:18 +0100 | zebrag | (~chris@user/zebrag) (Read error: Connection reset by peer) |
2021-11-19 06:56:18 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 06:56:35 +0100 | <euouae> | Ah it's `uncurry` |
2021-11-19 06:59:13 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-19 06:59:35 +0100 | <EvanR> | :t uncurry |
2021-11-19 06:59:36 +0100 | <lambdabot> | (a -> b -> c) -> (a, b) -> c |
2021-11-19 06:59:41 +0100 | <dsal> | I'm trying to read some math that's foreign to me. I can sort of work it out, but can someone tell me how to read: g ∈ B → A||B |
2021-11-19 07:00:09 +0100 | <euouae> | I think that means g is a proof of B -> A || B |
2021-11-19 07:00:30 +0100 | <EvanR> | hexchat shows the thing between g and B as four zeros in a square : ( |
2021-11-19 07:01:04 +0100 | <euouae> | EvanR it's TeX \in or `belongs to` |
2021-11-19 07:01:37 +0100 | <EvanR> | ∈? |
2021-11-19 07:01:50 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 07:01:51 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 07:02:28 +0100 | <EvanR> | probably the link to whatever dsal is reading is more helpful xD |
2021-11-19 07:02:42 +0100 | <dsal> | It's in https://maartenfokkinga.github.io/utwente/mmf91m.pdf sorry |
2021-11-19 07:02:55 +0100 | <EvanR> | oh that one |
2021-11-19 07:02:56 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-11-19 07:03:03 +0100 | <dsal> | g \in B \rightarrow A||B |
2021-11-19 07:03:10 +0100 | bliminse | (~bliminse@host86-188-36-178.range86-188.btcentralplus.com) |
2021-11-19 07:03:16 +0100 | <euouae> | there's always € |
2021-11-19 07:03:29 +0100 | <dsal> | haha |
2021-11-19 07:03:51 +0100 | <dsal> | I can work a lot of these out backwards because I know the end results, but the function notation with the || seems weird to me. |
2021-11-19 07:03:51 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 07:05:05 +0100 | <euouae> | dsal, in that paper it looks like the authors don't care about defining things. It's probably because they think their results are good enough, so what you typically have to do is read the references for definitions |
2021-11-19 07:05:52 +0100 | <EvanR> | so A||B is the product type |
2021-11-19 07:06:03 +0100 | <EvanR> | and elsewhere, it's just a pairing |
2021-11-19 07:06:30 +0100 | <dsal> | oooh. that makes sense here, thanks. |
2021-11-19 07:06:44 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-11-19 07:06:49 +0100 | <dsal> | My brain was telling me the || was like, super dividing these two things. |
2021-11-19 07:06:57 +0100 | <EvanR> | confusion over product or pairing exists in normal notation (A,B) vs (x,y) |
2021-11-19 07:07:06 +0100 | <EvanR> | now we have extra confusion xD |
2021-11-19 07:08:16 +0100 | <EvanR> | page 6 does seem to define || |
2021-11-19 07:08:53 +0100 | Guest63 | (~Guest63@130.253.27.11) (Quit: Client closed) |
2021-11-19 07:09:02 +0100 | <EvanR> | apparently it's a (bi)functor |
2021-11-19 07:09:07 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 07:09:44 +0100 | <euouae> | oh yeah. not that I would know what those are :D |
2021-11-19 07:10:13 +0100 | <dsal> | Oh. I was supposed to get to page 6 before understanding stuff? |
2021-11-19 07:10:22 +0100 | <dsal> | I don't read a lot of math papers. |
2021-11-19 07:10:35 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 264 seconds) |
2021-11-19 07:10:42 +0100 | <EvanR> | always read the first page and the last page first xD |
2021-11-19 07:11:13 +0100 | <euouae> | dsal, it varies from paper to paper. This paper is in the style of addressing other experts |
2021-11-19 07:11:33 +0100 | <dsal> | I'm not an expert. :) |
2021-11-19 07:11:46 +0100 | <euouae> | me neither and hence our confusions |
2021-11-19 07:11:46 +0100 | <EvanR> | the pages are to be understood lazily... on demand |
2021-11-19 07:11:49 +0100 | <dsal> | But it's pretty interesting once I work out the notation. |
2021-11-19 07:12:23 +0100 | <EvanR> | each page is like an unevaluated thunk, and may required forcing other pages xD |
2021-11-19 07:12:28 +0100 | <dsal> | The annoying part is I know kind of what they're talking about, so I'm actually working out the whole thing backwards. I'm basically figuring out this notation from understanding what they're trying to describe with it. |
2021-11-19 07:12:48 +0100 | <euouae> | I have a function `f n` that produces a list of `n` elements with the property that `f (n + 1)` contains `f n`. How can I optimize for this? |
2021-11-19 07:12:59 +0100 | <euouae> | e.g. f n = [1..n] |
2021-11-19 07:13:04 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-19 07:13:04 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 07:13:04 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-19 07:13:04 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-19 07:13:26 +0100 | <EvanR> | you could memoize f n |
2021-11-19 07:13:31 +0100 | <euouae> | dsal, it's fine to e-mail the authors and ask them questions too |
2021-11-19 07:13:48 +0100 | <EvanR> | memocombinators |
2021-11-19 07:13:53 +0100 | <euouae> | Got it, thank you |
2021-11-19 07:13:54 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 260 seconds) |
2021-11-19 07:14:07 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 07:14:23 +0100 | <dsal> | I've spoken to one of the authors before. I should've known this question was going to come up... |
2021-11-19 07:14:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 07:15:22 +0100 | <dsal> | I don't understand why \in is used the way it is here. I guess = isn't any more obviously a good idea. |
2021-11-19 07:15:50 +0100 | <EvanR> | in older papers I've seen \in used in place of : (has type) |
2021-11-19 07:16:11 +0100 | <EvanR> | if the right side is a type, then that's probably what it is |
2021-11-19 07:16:52 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 07:17:07 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-11-19 07:17:31 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-11-19 07:17:35 +0100 | <EvanR> | g \in B → A||B would then be g :: B -> (A,B) (haskell notation) |
2021-11-19 07:17:47 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2021-11-19 07:19:11 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-11-19 07:19:33 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-11-19 07:20:06 +0100 | <dsal> | Yeah, I kind of read that more like "is" than "in" or "element of" or whatever. |
2021-11-19 07:22:26 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 07:22:37 +0100 | <dsal> | This barbed wire thing, though… The best part of being a mathematician seems to be making fancy notation you can show off. |
2021-11-19 07:23:06 +0100 | chomwitt | (~chomwitt@2a02:587:dc12:3f00:12c3:7bff:fe6d:d374) |
2021-11-19 07:24:02 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 07:24:17 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-11-19 07:24:53 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-19 07:26:10 +0100 | chomwitt | (~chomwitt@2a02:587:dc12:3f00:12c3:7bff:fe6d:d374) (Remote host closed the connection) |
2021-11-19 07:27:22 +0100 | <EvanR> | "is" vs "is a" xD |
2021-11-19 07:27:54 +0100 | slice | (~slice@user/slice) |
2021-11-19 07:28:03 +0100 | <dsal> | ooh, that might help. |
2021-11-19 07:28:27 +0100 | <dsal> | These πs with accents are a little too much. |
2021-11-19 07:28:43 +0100 | <EvanR> | are they projectors out of a product |
2021-11-19 07:29:25 +0100 | <dsal> | To close the loop, this paper also defines uncurry |
2021-11-19 07:29:40 +0100 | <euouae> | yay :D |
2021-11-19 07:29:42 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 07:29:47 +0100 | <dsal> | You'd never have asked that question if you just read this paper first. |
2021-11-19 07:30:18 +0100 | <EvanR> | seems yes. modern notation you'd say pi subscript 1 and pi subscript 2 |
2021-11-19 07:30:40 +0100 | <EvanR> | rather that forward and backward accent mark... |
2021-11-19 07:30:51 +0100 | <EvanR> | who was the editor lol |
2021-11-19 07:31:36 +0100 | <dsal> | I don't know how I've managed to not read this before. it's pretty good. |
2021-11-19 07:32:14 +0100 | <EvanR> | all I really can recall is that banana is basically fmap, liftA2, liftA3 etc |
2021-11-19 07:32:15 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 07:32:33 +0100 | <euouae> | EvanR: it's a draft not published I think |
2021-11-19 07:33:02 +0100 | <EvanR> | banana's barbed wire paper was not published? |
2021-11-19 07:33:23 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 07:34:08 +0100 | chomwitt | (~chomwitt@2a02:587:dc12:3f00:12c3:7bff:fe6d:d374) |
2021-11-19 07:34:10 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-11-19 07:34:41 +0100 | <euouae> | the pdf linked on github is a draft so there's no editor for it |
2021-11-19 07:35:27 +0100 | <Lycurgus> | in contrast to the default semantics of "draft" |
2021-11-19 07:36:28 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-19 07:36:40 +0100 | <dsal> | Oh hey, someone translated it to Haskell: http://blog.ezyang.com/2010/05/bananas-lenses-envelopes-and-barbed-wire-a-translation-guide/ |
2021-11-19 07:37:22 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 07:37:56 +0100 | <EvanR> | well the publishing industry sucks anyway |
2021-11-19 07:38:13 +0100 | <EvanR> | who needs em |
2021-11-19 07:38:59 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 07:40:22 +0100 | <euouae> | EvanR, no we should have papers from 1970 talking aboug black holes behind paywalls, that's better for society |
2021-11-19 07:40:45 +0100 | <euouae> | just in case anyone comes up with an idea without paying first, you know? |
2021-11-19 07:40:46 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 07:42:22 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2021-11-19 07:42:27 +0100 | <EvanR> | details of a black hole hidden behind a wall seems ironically apropos |
2021-11-19 07:44:21 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 268 seconds) |
2021-11-19 07:45:55 +0100 | <Lycurgus> | https://maartenfokkinga.github.io/utwente/mmf91m.pdf is the "draft"? |
2021-11-19 07:46:16 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 07:46:24 +0100 | <euouae> | touche. I was talking about Hawking's 1975 article "particle creation by black holes" |
2021-11-19 07:46:44 +0100 | <euouae> | Lycurgus yeah that's the one I meatn |
2021-11-19 07:47:26 +0100 | <Lycurgus> | ah, so in this case the actual semantics of "30 yo" overrides "draft" as far as mutability |
2021-11-19 07:47:54 +0100 | <euouae> | I don't understand you, but I think you're saying it's not a draft? |
2021-11-19 07:48:48 +0100 | <Lycurgus> | no, although I didn see that term in it, I mean a 30 yo thing can't be a draft in the sense of |
2021-11-19 07:49:06 +0100 | <Lycurgus> | something is likely going to have more drafts before pub |
2021-11-19 07:49:11 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 07:49:17 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-11-19 07:49:41 +0100 | <euouae> | this is not important |
2021-11-19 07:50:07 +0100 | <Lycurgus> | no |
2021-11-19 07:50:16 +0100 | <euouae> | I have a function f :: Int -> Int and a list [Int] and I'd like to group by f-value. e.g. if f 1 = 1, f 2 = 1 and f 3 = 2, then I'd like to have [[1, 2], [3]]. How can I do this? |
2021-11-19 07:50:29 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 07:50:29 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 07:50:42 +0100 | <euouae> | Lycurgus although if this is a typed/scanned version of an old published paper then yeah I stand corrected, and there's probably an editor... |
2021-11-19 07:51:14 +0100 | <Lycurgus> | well it's a dvi |
2021-11-19 07:51:36 +0100 | <Lycurgus> | the tex could be lost |
2021-11-19 07:52:08 +0100 | <euouae> | I think I can zip, and then groupBy |
2021-11-19 07:53:20 +0100 | <Lycurgus> | i'm unclear what the function is from example list |
2021-11-19 07:53:42 +0100 | <euouae> | any function |
2021-11-19 07:53:50 +0100 | <euouae> | I'm trying to group by f x == f y |
2021-11-19 07:54:23 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
2021-11-19 07:56:35 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 08:00:29 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-11-19 08:04:14 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 08:06:54 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 08:09:56 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 08:15:15 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3) |
2021-11-19 08:15:37 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-19 08:16:25 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-11-19 08:17:25 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 08:17:25 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 08:17:34 +0100 | <tomsmeding> | euouae: groupBy ((==) `on` f) ? |
2021-11-19 08:17:51 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:6cf6:5d02:5f47:daaa) |
2021-11-19 08:17:53 +0100 | <tomsmeding> | might need to sortBy (comparing f) beforehand |
2021-11-19 08:18:33 +0100 | <euouae> | I had an issue with groupBy only taking sequential values, I rewrote it as https://paste.tomsmeding.com/5d6v3Bga |
2021-11-19 08:18:59 +0100 | <euouae> | Good point though, I think involving a `sort` is a more efficient way to do |
2021-11-19 08:20:37 +0100 | <tomsmeding> | euouae: right, your method has quadratic complexity, while sorting has n log n ("linearithmic") complexity |
2021-11-19 08:22:16 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-19 08:22:26 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-11-19 08:22:49 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 08:23:10 +0100 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-11-19 08:23:17 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 08:26:42 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-11-19 08:27:02 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-19 08:28:35 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 264 seconds) |
2021-11-19 08:28:37 +0100 | <euouae> | linearithimic eh? :P |
2021-11-19 08:28:56 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 08:31:12 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 08:35:00 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-11-19 08:36:38 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 08:37:14 +0100 | Guest99 | (~Guest99@pool-100-8-45-127.nwrknj.fios.verizon.net) |
2021-11-19 08:37:20 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-11-19 08:39:35 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-11-19 08:41:12 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-11-19 08:41:12 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 08:42:40 +0100 | gg | (~gg@2a01:e0a:819:1510:8568:3ca4:33bc:8c5b) |
2021-11-19 08:43:58 +0100 | jonathanx_ | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 265 seconds) |
2021-11-19 08:44:47 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-11-19 08:46:57 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 08:48:37 +0100 | euouae | (~euouae@user/euouae) (Quit: ) |
2021-11-19 08:48:49 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 08:49:53 +0100 | vicfred | (~vicfred@user/vicfred) |
2021-11-19 08:51:57 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 08:53:41 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-11-19 08:53:41 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 08:54:02 +0100 | <tomsmeding> | s/imic/mic/ ;) |
2021-11-19 08:56:13 +0100 | xmx | (~xmx@2409:4071:e00:80b9:b273:3649:b25e:dd93) |
2021-11-19 08:57:14 +0100 | <xmx> | Hello |
2021-11-19 08:59:13 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 08:59:38 +0100 | <xmx> | Guys can anyone tell me what it takes to understand Servant Library ? I have learned the some amount of Haskell but when I see Servant library source code nothing makes sense. |
2021-11-19 08:59:53 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-11-19 09:01:50 +0100 | <sm> | xmx, I'd be starting with servant's docs, it couldn't hurt eh |
2021-11-19 09:01:52 +0100 | <[exa]> | xmx: by "servant library" you mean the internal code or how to use it? |
2021-11-19 09:02:08 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-11-19 09:02:32 +0100 | Guest99 | (~Guest99@pool-100-8-45-127.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-11-19 09:03:38 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 09:04:17 +0100 | <xmx> | [exa]: Internal concepts used. |
2021-11-19 09:08:45 +0100 | ubert | (~Thunderbi@p200300ecdf0ba29adda7833ccd9cfa98.dip0.t-ipconnect.de) |
2021-11-19 09:09:16 +0100 | <[exa]> | are you familiar with any kind of type-level programming and preferably DataKinds? |
2021-11-19 09:09:32 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 09:11:17 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 09:12:20 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-11-19 09:15:29 +0100 | <idnar> | @hoogle merge |
2021-11-19 09:15:29 +0100 | <lambdabot> | Data.IntMap.Internal merge :: SimpleWhenMissing a c -> SimpleWhenMissing b c -> SimpleWhenMatched a b c -> IntMap a -> IntMap b -> IntMap c |
2021-11-19 09:15:29 +0100 | <lambdabot> | Data.IntMap.Merge.Lazy merge :: SimpleWhenMissing a c -> SimpleWhenMissing b c -> SimpleWhenMatched a b c -> IntMap a -> IntMap b -> IntMap c |
2021-11-19 09:15:29 +0100 | <lambdabot> | Data.IntMap.Merge.Strict merge :: SimpleWhenMissing a c -> SimpleWhenMissing b c -> SimpleWhenMatched a b c -> IntMap a -> IntMap b -> IntMap c |
2021-11-19 09:15:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 09:16:47 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 09:17:22 +0100 | michalz | (~michalz@185.246.204.119) |
2021-11-19 09:18:22 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-11-19 09:18:45 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 09:20:16 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-11-19 09:21:02 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 09:21:47 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 09:22:10 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-11-19 09:23:56 +0100 | juhp | (~juhp@128.106.188.82) |
2021-11-19 09:25:00 +0100 | timCF | (~timCF@200-149-20-81.sta.estpak.ee) |
2021-11-19 09:25:35 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 09:27:28 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) (Remote host closed the connection) |
2021-11-19 09:29:43 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-11-19 09:30:24 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:ecb9:277f:4a2a:1a1f) |
2021-11-19 09:31:20 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 09:33:23 +0100 | mvk | (~mvk@2607:fea8:5cc3:e900::df92) (Ping timeout: 264 seconds) |
2021-11-19 09:34:44 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) |
2021-11-19 09:37:10 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 09:37:58 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:ecb9:277f:4a2a:1a1f) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-11-19 09:38:59 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 09:42:36 +0100 | aegon | (~mike@174.127.249.180) (Remote host closed the connection) |
2021-11-19 09:44:27 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 09:45:54 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2021-11-19 09:46:07 +0100 | jess | (~jess@libera/staff/jess) (Quit: Lost terminal) |
2021-11-19 09:46:16 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 09:46:50 +0100 | jess | (~jess@libera/staff/jess) |
2021-11-19 09:50:11 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 264 seconds) |
2021-11-19 09:51:42 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 09:53:27 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 09:55:16 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 09:58:57 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 10:02:27 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 10:04:44 +0100 | wei2912 | (~wei2912@138.75.71.147) |
2021-11-19 10:04:58 +0100 | acidjnk | (~acidjnk@p200300d0c7271e04495a3d38c01005cf.dip0.t-ipconnect.de) |
2021-11-19 10:06:13 +0100 | gustik | (~gustik@2a01:c844:240a:de20:3606:7339:bc88:b5f5) (Quit: Leaving) |
2021-11-19 10:06:42 +0100 | wei2912 | (~wei2912@138.75.71.147) (Client Quit) |
2021-11-19 10:07:03 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-11-19 10:07:31 +0100 | Midjak | (~Midjak@82-65-111-221.subs.proxad.net) |
2021-11-19 10:08:14 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 10:09:01 +0100 | favonia | (~favonia@user/favonia) |
2021-11-19 10:17:33 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-11-19 10:17:33 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-11-19 10:17:36 +0100 | allbery_b | geekosaur |
2021-11-19 10:19:22 +0100 | <perrierjouet> | hi all |
2021-11-19 10:19:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-19 10:19:48 +0100 | <perrierjouet> | stack install moe gave me this error http://ix.io/3FqG |
2021-11-19 10:19:50 +0100 | phma | (phma@2001:5b0:2172:a9b8:34c1:76b3:d477:41fd) (Read error: Connection reset by peer) |
2021-11-19 10:20:38 +0100 | <perrierjouet> | I did add this line - gray-code-0.3.1@sha256:2c8a4ed9c9ee37320305610604d6d93504e0813d7c9768949af418b53043185a,2388 in /www/.stack/global-project/stack.yaml it did not work |
2021-11-19 10:20:46 +0100 | phma | (~phma@host-67-44-208-215.hnremote.net) |
2021-11-19 10:21:01 +0100 | xmx | (~xmx@2409:4071:e00:80b9:b273:3649:b25e:dd93) (Remote host closed the connection) |
2021-11-19 10:21:10 +0100 | <perrierjouet> | perhaps it should be like gray-code-0.3.1@sha256:2c8a4ed9c9ee37320305610604d6d93504e0813d7c9768949af418b53043185a ? |
2021-11-19 10:21:48 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 10:23:09 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:6091:9a2c:b661:21c7) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 10:26:35 +0100 | bitmapper | (uid464869@lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-19 10:27:30 +0100 | <tomsmeding> | perrierjouet: the ,2388 suffix is necessary |
2021-11-19 10:27:36 +0100 | <tomsmeding> | where exactly did you add this in the stack.yaml? |
2021-11-19 10:27:42 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 10:27:54 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) |
2021-11-19 10:28:50 +0100 | <tomsmeding> | perhaps post the stack.yaml after your addition? |
2021-11-19 10:33:19 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) (Ping timeout: 268 seconds) |
2021-11-19 10:33:23 +0100 | <perrierjouet> | tomsmeding: http://ix.io/3FqI |
2021-11-19 10:33:34 +0100 | <perrierjouet> | my stack.yaml |
2021-11-19 10:33:37 +0100 | <tomsmeding> | ah, it needs to look like this: |
2021-11-19 10:33:39 +0100 | <tomsmeding> | extra-deps: |
2021-11-19 10:33:43 +0100 | <tomsmeding> | - gray-code-..... |
2021-11-19 10:33:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 10:34:09 +0100 | <tomsmeding> | (including all the stuff that was already there of course, including the packages thing and the resolver thing |
2021-11-19 10:34:10 +0100 | <tomsmeding> | ) |
2021-11-19 10:35:31 +0100 | jinsun__ | (~quassel@user/jinsun) |
2021-11-19 10:36:01 +0100 | <perrierjouet> | tomsmeding: thanks it worked |
2021-11-19 10:36:35 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 250 seconds) |
2021-11-19 10:37:59 +0100 | jinsun | (~quassel@user/jinsun) |
2021-11-19 10:39:14 +0100 | jinsun___ | (~quassel@user/jinsun) |
2021-11-19 10:41:57 +0100 | jinsun__ | (~quassel@user/jinsun) (Ping timeout: 268 seconds) |
2021-11-19 10:42:05 +0100 | <Franciman> | well, happy to read haskell is quite energy efficient: https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf |
2021-11-19 10:42:30 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 260 seconds) |
2021-11-19 10:42:44 +0100 | <Franciman> | but but ocaml features always a 2x save in energy in the tests |
2021-11-19 10:42:50 +0100 | <Franciman> | is it because of laziness? |
2021-11-19 10:49:00 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:a055:2897:27b6:f1d6) |
2021-11-19 10:50:34 +0100 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection) |
2021-11-19 10:58:42 +0100 | jmorris | (uid433911@hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-19 11:01:47 +0100 | dsrt^ | (~dsrt@68.101.63.101) |
2021-11-19 11:09:18 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-11-19 11:12:50 +0100 | <hololeap> | is this nextStep function an example of where I could use logict instead? http://sprunge.us/3zxdMZ |
2021-11-19 11:13:34 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-19 11:14:35 +0100 | jinsun___ | (~quassel@user/jinsun) (Read error: Connection reset by peer) |
2021-11-19 11:15:03 +0100 | jinsun | (~quassel@user/jinsun) |
2021-11-19 11:17:06 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2021-11-19 11:17:06 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 11:18:37 +0100 | rkrishnan | (~user@122.167.19.65) |
2021-11-19 11:18:45 +0100 | <hololeap> | I was just curious what monad could be used to remember the parent value in a tree traversal. state wouldn't work because it would remember the last value traversed, which could be a leaf and not the parent. |
2021-11-19 11:18:53 +0100 | rkrishnan | (~user@122.167.19.65) (Remote host closed the connection) |
2021-11-19 11:20:08 +0100 | synthmeat | (~synthmeat@user/synthmeat) (Quit: WeeChat 3.3) |
2021-11-19 11:21:59 +0100 | bgamari | (~bgamari@70.16.103.161) (Ping timeout: 264 seconds) |
2021-11-19 11:22:09 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
2021-11-19 11:22:46 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 11:23:01 +0100 | <[exa]> | hololeap: well, Reader + local might just do, if you absolutely want a monad |
2021-11-19 11:24:09 +0100 | <hololeap> | sure, and it isn't necessary, just exploring different ergonomic options |
2021-11-19 11:25:18 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 11:25:58 +0100 | <hololeap> | I'm also trying to understand how to use logict a little better by finding little use cases for it |
2021-11-19 11:27:32 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-19 11:27:32 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 11:27:58 +0100 | bgamari | (~bgamari@64.223.235.131) |
2021-11-19 11:28:24 +0100 | <hololeap> | Reader + local is something I know about |
2021-11-19 11:33:05 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 11:33:37 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2021-11-19 11:38:17 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-19 11:39:26 +0100 | <alzgh> | Hello, I have a single haskell file that imports `System.Random`. I want to load it in ghci and test. How can I add `random` package to ghci's environment? I can also do `stack ghci`. Thanks. |
2021-11-19 11:39:59 +0100 | <[exa]> | alzgh: do you have `random` specified in project dependencies? |
2021-11-19 11:40:42 +0100 | <[exa]> | alzgh: also in ghci you can add (already installed) packages to the "search paths" using `:set -package random` |
2021-11-19 11:41:07 +0100 | <[exa]> | (which should be done automagically if you have that in deps) |
2021-11-19 11:41:37 +0100 | <alzgh> | this isn't a project. It's a single file that import `System.Random`. |
2021-11-19 11:42:30 +0100 | <[exa]> | ah okay. you might need to install a "global" random package then, I'm not really sure how that's done with stack |
2021-11-19 11:42:52 +0100 | <alzgh> | just checked with stack ghci and it worked |
2021-11-19 11:42:57 +0100 | <[exa]> | but try the :set, chances are that it either works or gives you an error that's easier to fix :D |
2021-11-19 11:43:01 +0100 | <[exa]> | ah okay nice |
2021-11-19 11:43:09 +0100 | <alzgh> | thanks |
2021-11-19 11:43:42 +0100 | <[exa]> | yw :] |
2021-11-19 11:44:03 +0100 | <[exa]> | hololeap: what's the algorithm supposed to do btw? LogicT is for prolog problems |
2021-11-19 11:45:52 +0100 | <[exa]> | hololeap: also (just curious) you don't support asymmetric branches (such as "left child only") with the datatype there, right? |
2021-11-19 11:46:03 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 11:48:19 +0100 | ubert1 | (~Thunderbi@p200300ecdf0ba29ae6b318fffe838f33.dip0.t-ipconnect.de) |
2021-11-19 11:50:13 +0100 | slice | (~slice@user/slice) |
2021-11-19 11:51:31 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 11:52:57 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-11-19 11:53:37 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 11:53:43 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-11-19 11:56:04 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 11:56:44 +0100 | <hololeap> | it's for this programming challenge where you implement GoL with a binary tree instead of a 2d grid |
2021-11-19 11:56:56 +0100 | Everything | (~Everythin@37.115.210.35) |
2021-11-19 11:58:10 +0100 | <hololeap> | and no, it's either a node with two branches or a leaf |
2021-11-19 11:59:56 +0100 | <hololeap> | since each step in the GoL requires knowledge of all neighboring nodes, you have to carry around the state of the parent so you can reference it |
2021-11-19 12:00:51 +0100 | alx741 | (~alx741@186.178.109.242) |
2021-11-19 12:01:49 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 12:02:49 +0100 | <[exa]> | how's the binary tree organized into 2D? like, H-curve? |
2021-11-19 12:02:59 +0100 | <[exa]> | or is it a 1D cellular automaton? |
2021-11-19 12:04:08 +0100 | puke | (~puke@user/puke) |
2021-11-19 12:04:27 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-19 12:05:34 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 12:06:36 +0100 | <hololeap> | it just looks at the parent node and the two children, if they exist |
2021-11-19 12:07:05 +0100 | <hololeap> | neighbors that don't exist are considered dead |
2021-11-19 12:08:53 +0100 | <hololeap> | https://www.hackerrank.com/challenges/the-tree-of-life/problem |
2021-11-19 12:08:59 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-11-19 12:09:16 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 12:10:04 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-19 12:15:42 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-11-19 12:16:54 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-11-19 12:17:18 +0100 | dschrempf | (~dominik@62.240.134.78) |
2021-11-19 12:19:40 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 12:22:02 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-11-19 12:23:32 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 240 seconds) |
2021-11-19 12:24:35 +0100 | <tomsmeding> | alzgh: stack ghci --package random myfile.hs |
2021-11-19 12:24:55 +0100 | <tomsmeding> | this automatically downloads and compiles the package and dependencies if necessary |
2021-11-19 12:25:20 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 12:26:37 +0100 | <idnar> | @hoogle (a -> b) -> Either a a -> b |
2021-11-19 12:26:38 +0100 | <lambdabot> | No results found |
2021-11-19 12:27:19 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 12:27:20 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2021-11-19 12:29:21 +0100 | synthmeat | (~synthmeat@user/synthmeat) |
2021-11-19 12:29:45 +0100 | <dminuoso> | % :t bimap id id |
2021-11-19 12:29:45 +0100 | <yahb> | dminuoso: Bifunctor p => p b d -> p b d |
2021-11-19 12:30:00 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-11-19 12:30:01 +0100 | <dminuoso> | idnar: Mm, the closest thing is `select` |
2021-11-19 12:30:05 +0100 | <dminuoso> | from selective functors |
2021-11-19 12:30:16 +0100 | <dminuoso> | https://hackage.haskell.org/package/selective-0.4.2/docs/Control-Selective.html#v:select |
2021-11-19 12:30:21 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-19 12:31:13 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-11-19 12:31:34 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-11-19 12:34:22 +0100 | <idnar> | oh actually I have to use my function at different types |
2021-11-19 12:44:43 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-19 12:47:08 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-11-19 12:47:52 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 12:49:00 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-11-19 12:51:37 +0100 | bobfang | (~bobfang@2a01:4b00:87fe:be00:30ce:ab50:b4f4:7d62) |
2021-11-19 12:53:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-19 12:53:11 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 12:53:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 12:54:16 +0100 | favonia | (~favonia@user/favonia) (Ping timeout: 256 seconds) |
2021-11-19 12:55:19 +0100 | bobfang | (~bobfang@2a01:4b00:87fe:be00:30ce:ab50:b4f4:7d62) (Client Quit) |
2021-11-19 12:57:00 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 268 seconds) |
2021-11-19 12:57:40 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-19 12:59:15 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-11-19 13:02:33 +0100 | dsrt^ | (~dsrt@68.101.63.101) (Ping timeout: 268 seconds) |
2021-11-19 13:04:12 +0100 | <hololeap> | % import Data.Bifunctor.Join |
2021-11-19 13:04:13 +0100 | <yahb> | hololeap: |
2021-11-19 13:04:28 +0100 | <hololeap> | % :t either id id . runJoin -- idnar |
2021-11-19 13:04:28 +0100 | <yahb> | hololeap: Join Either c -> c |
2021-11-19 13:04:33 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-11-19 13:05:13 +0100 | <hololeap> | % :t \f -> either id id . runJoin . fmap f |
2021-11-19 13:05:14 +0100 | <yahb> | hololeap: (a -> c) -> Join Either a -> c |
2021-11-19 13:05:53 +0100 | <hololeap> | % :t \f -> either id id . runJoin . fmap f . Join -- there we go ;) |
2021-11-19 13:05:53 +0100 | <yahb> | hololeap: (a -> c) -> Either a a -> c |
2021-11-19 13:08:20 +0100 | dminuoso | prefers selective |
2021-11-19 13:08:54 +0100 | <dminuoso> | It seems more fitting |
2021-11-19 13:09:15 +0100 | <dminuoso> | in particular with branch |
2021-11-19 13:09:20 +0100 | <dminuoso> | branch :: Selective f => f (Either a b) -> f (a -> c) -> f (b -> c) -> f c |
2021-11-19 13:09:37 +0100 | <dminuoso> | branch x f f |
2021-11-19 13:09:45 +0100 | <hololeap> | fair enough. I just wanted to point out that bifunctors has some hidden goodies |
2021-11-19 13:09:59 +0100 | dsrt^ | (~dsrt@68.101.63.101) |
2021-11-19 13:10:00 +0100 | <dminuoso> | Who knows, depending on idnar's access pattern, they might even end up doing something like `branch x f g` if they are fmapping before |
2021-11-19 13:10:30 +0100 | <dminuoso> | hololeap: Yeah, Join is a neat thing I havent heard of before |
2021-11-19 13:11:06 +0100 | <dminuoso> | Perhaps selective is not so elegant, since you need to run it through Identity as well |
2021-11-19 13:11:14 +0100 | <dminuoso> | Perhaps points to you after all, hololeap |
2021-11-19 13:11:31 +0100 | <idnar> | mergeBy (comparing (view (choosing _1 _1))) (Left <$> trades) (Right <$> fees) |
2021-11-19 13:11:32 +0100 | n8chan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2021-11-19 13:12:25 +0100 | ubert | (~Thunderbi@p200300ecdf0ba29adda7833ccd9cfa98.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-11-19 13:12:26 +0100 | ubert1 | ubert |
2021-11-19 13:12:27 +0100 | n8chan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-11-19 13:13:13 +0100 | <idnar> | seems inelegant |
2021-11-19 13:13:33 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) |
2021-11-19 13:13:59 +0100 | Guest17 | (~Guest17@wificampus-098247.grenet.fr) |
2021-11-19 13:14:12 +0100 | <dminuoso> | idnar: Heh I have this type of access pattern frequently |
2021-11-19 13:14:19 +0100 | <dminuoso> | It's very unidiomatic and doesnt fit well into optics/lens |
2021-11-19 13:14:30 +0100 | <dminuoso> | What I do is this: |
2021-11-19 13:14:40 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) (Client Quit) |
2021-11-19 13:14:49 +0100 | <Guest17> | so I was wondering how the the Eq class "works under the hood" |
2021-11-19 13:14:57 +0100 | <dminuoso> | idnar: https://gist.github.com/dminuoso/079df3993f83700eedd188ecb5d92820 |
2021-11-19 13:15:10 +0100 | BobFang1992_ | (~textual@2a01:4b00:87fe:be00:30ce:ab50:b4f4:7d62) |
2021-11-19 13:15:21 +0100 | sunarch | (uid526836@user/sunarch) (Quit: Connection closed for inactivity) |
2021-11-19 13:15:35 +0100 | <dminuoso> | Where: unsafeSingular :: forall k is s a. Is k A_Traversal => Optic' k is s a -> Lens' s a |
2021-11-19 13:15:51 +0100 | <Guest17> | does haskell have functions for comparing its primitive types like Int and Char? |
2021-11-19 13:15:56 +0100 | __monty__ | (~toonn@user/toonn) |
2021-11-19 13:16:04 +0100 | <Guest17> | that map to FFI calls, I suppose? |
2021-11-19 13:16:05 +0100 | <dminuoso> | idnar: This could perhaps work for you, because then you can simply pretend you have a lens and it just works. |
2021-11-19 13:16:28 +0100 | <dminuoso> | So for your case you'd just write: bothSides = unsafeSingular (_Left `failingT` _Right) |
2021-11-19 13:16:44 +0100 | <hololeap> | Guest17: generally, you convert one type to the other first |
2021-11-19 13:17:43 +0100 | <hololeap> | but there probably is some low-level way of comparing unboxed values |
2021-11-19 13:19:01 +0100 | <Guest17> | hololeap: "unboxed values" ? |
2021-11-19 13:20:03 +0100 | <geekosaur> | I'm not sure what Guest17 is asking |
2021-11-19 13:21:05 +0100 | <geekosaur> | but the primitive values contained within types like Int and Char ("unboxed values") can be compared using intrinsics that map directly to assembly code in the code generator |
2021-11-19 13:21:20 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) |
2021-11-19 13:22:03 +0100 | <geekosaur> | and much of the time the compiler will know that it can unbox an Int and directly generate and compare the values, so the result is as fast as assembly code |
2021-11-19 13:22:08 +0100 | <geekosaur> | @src Int |
2021-11-19 13:22:08 +0100 | <lambdabot> | data Int = I# Int# |
2021-11-19 13:22:08 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) (Client Quit) |
2021-11-19 13:22:25 +0100 | <hpc> | the "box" around unboxed values is the stuff that gives you laziness and such |
2021-11-19 13:22:29 +0100 | <geekosaur> | the # marks it as internal and there's an extension to access those directly |
2021-11-19 13:23:11 +0100 | <geekosaur> | Int# is a signed machine word and operations on it generally map straight to assembly language instructions |
2021-11-19 13:23:39 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2021-11-19 13:23:45 +0100 | Guest17 | (~Guest17@wificampus-098247.grenet.fr) (Ping timeout: 256 seconds) |
2021-11-19 13:23:55 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-11-19 13:25:19 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-11-19 13:25:26 +0100 | <int-e> | :t (GHC.Prim.<#) |
2021-11-19 13:25:27 +0100 | <lambdabot> | GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int# |
2021-11-19 13:26:05 +0100 | <int-e> | (that's one of the builtin primitive comparison operations) |
2021-11-19 13:26:26 +0100 | <dminuoso> | And how is that turned back into a Bool? |
2021-11-19 13:26:53 +0100 | <dminuoso> | Or does this produce something like 0 or 1, and that gets pattern matched back into False/True? |
2021-11-19 13:27:06 +0100 | <alzgh> | what was the flag for enabling explicit class method signatures? |
2021-11-19 13:27:21 +0100 | <dminuoso> | alzgh: InstanceSigs ? |
2021-11-19 13:27:28 +0100 | <int-e> | :t GHC.Exts.isTrue# |
2021-11-19 13:27:29 +0100 | <lambdabot> | GHC.Prim.Int# -> Bool |
2021-11-19 13:27:34 +0100 | <dminuoso> | int-e: Ah! |
2021-11-19 13:27:57 +0100 | <alzgh> | right, thanks dminuoso |
2021-11-19 13:28:12 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-11-19 13:28:24 +0100 | <int-e> | which isn't a builtin but an alias: isTrue# x = tagToEnum# x |
2021-11-19 13:28:43 +0100 | <hololeap> | speaking of InstanceSigs, what's the status of some meta-extension like Extensions2021 or something? I remember reading about that being considered at some point |
2021-11-19 13:29:04 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 13:29:05 +0100 | <merijn> | GHC2021 |
2021-11-19 13:29:23 +0100 | <int-e> | dminuoso: conceptually it's a case expression, of course. |
2021-11-19 13:29:29 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds) |
2021-11-19 13:29:42 +0100 | <hololeap> | oh, nice |
2021-11-19 13:30:01 +0100 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
2021-11-19 13:30:04 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-11-19 13:30:37 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2021-11-19 13:30:38 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2021-11-19 13:30:38 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) |
2021-11-19 13:31:52 +0100 | <int-e> | and presumably the compiler knows some simplifciations that optimize case tagToEnum# foo of ... accordingly. |
2021-11-19 13:32:17 +0100 | <dminuoso> | isTrue# x = tagToEnum# x |
2021-11-19 13:32:21 +0100 | <dminuoso> | And tagToEnum# is a primop it seems |
2021-11-19 13:33:07 +0100 | <hololeap> | where can I find a list of which extensions that enables? |
2021-11-19 13:33:23 +0100 | <tomsmeding> | https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0380-ghc2021.rst |
2021-11-19 13:33:32 +0100 | <merijn> | hololeap: Presumably in the GHC user guide? :p |
2021-11-19 13:33:34 +0100 | <hololeap> | ok |
2021-11-19 13:33:39 +0100 | <yushyin> | hololeap: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html#extension-GHC2021 |
2021-11-19 13:33:42 +0100 | <tomsmeding> | oh better source: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/control.html?highlight=ghc2021… |
2021-11-19 13:33:55 +0100 | <hololeap> | sorry, I had a hard time finding it in the user guide |
2021-11-19 13:34:00 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-11-19 13:34:02 +0100 | <tomsmeding> | wrong ghc version? :) |
2021-11-19 13:34:25 +0100 | <hololeap> | no, I just didn't notice the search bar |
2021-11-19 13:34:37 +0100 | <hololeap> | I was looking through different categories |
2021-11-19 13:35:27 +0100 | <tomsmeding> | tip: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/table.html |
2021-11-19 13:36:08 +0100 | <tomsmeding> | I'm not sure whether the extensions are even divided into categories, I never use the categories to find an extension |
2021-11-19 13:36:20 +0100 | <tomsmeding> | s/whether/why/ |
2021-11-19 13:36:38 +0100 | <tomsmeding> | (that's quite a change in meaning...) |
2021-11-19 13:36:42 +0100 | <hololeap> | for whatever reason, the docs for 8.10.6 on my PC have the extensions section as one big HTML file, so that's what I'm used to searching through |
2021-11-19 13:36:59 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) |
2021-11-19 13:41:04 +0100 | <hololeap> | interesting; there are some extensions listed that aren't in the user's guide e.g. RelaxedPolyRec |
2021-11-19 13:41:38 +0100 | <yushyin> | maybe part of the haskell report |
2021-11-19 13:41:45 +0100 | <hololeap> | why wouldn't TypeFamilies be in there? |
2021-11-19 13:42:12 +0100 | <hololeap> | or GADTs |
2021-11-19 13:42:13 +0100 | <tomsmeding> | why wouldn't GADTs be in there |
2021-11-19 13:42:14 +0100 | <tomsmeding> | yeah |
2021-11-19 13:42:29 +0100 | <yushyin> | https://gitlab.haskell.org/ghc/ghc/-/issues/18630 |
2021-11-19 13:42:51 +0100 | <hololeap> | it's all in the docs. except for what isn't in the docs |
2021-11-19 13:42:57 +0100 | <tomsmeding> | why did PolyKinds, which changes semantics (IIRC), get more votes than TypeFamilies and GADTs |
2021-11-19 13:43:47 +0100 | <Cajun> | what semantics do polykinds change? i know it lets you use polymorphic kinds, but when does that really change the meaning of a program? |
2021-11-19 13:44:09 +0100 | <tomsmeding> | see also https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Driver/Session.hs#L3618-3620 |
2021-11-19 13:44:59 +0100 | <tomsmeding> | Cajun: I admit I don't have an example, just some vague recollection. Can't PolyKinds make some code not compile because kinds become more ambiguous or something? |
2021-11-19 13:45:23 +0100 | <Cajun> | that would make sense, would need to tinker with it some more |
2021-11-19 13:45:34 +0100 | <Cajun> | cant wait for Thinking with Types 2 :) |
2021-11-19 13:46:36 +0100 | <yushyin> | cant wait for -XGHC2023! :P |
2021-11-19 13:47:10 +0100 | <Cajun> | then code breaks because it has -XGHC2021 instead of 2023 :P |
2021-11-19 13:51:25 +0100 | <lortabac> | TypeFamilies implies MonoLocalBinds, enabling it may make previously working programs not compile anymore |
2021-11-19 13:51:50 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 13:51:54 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-11-19 13:52:15 +0100 | <lortabac> | same problem for GADTs |
2021-11-19 13:52:59 +0100 | <tomsmeding> | ah |
2021-11-19 13:54:22 +0100 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
2021-11-19 13:56:22 +0100 | <dminuoso> | Is Data.Text.toLower injective? |
2021-11-19 13:56:38 +0100 | <dminuoso> | Sorry |
2021-11-19 13:56:40 +0100 | <dminuoso> | Let me rephrase: |
2021-11-19 13:57:25 +0100 | <dminuoso> | My question is very redundant and silly. |
2021-11-19 13:57:27 +0100 | whatsupdoc | (uid509081@hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-19 14:00:21 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-11-19 14:01:24 +0100 | <tomsmeding> | :) |
2021-11-19 14:01:49 +0100 | <tomsmeding> | it is injective for certain languages though |
2021-11-19 14:02:11 +0100 | <dminuoso> | For a moment I was pondering whether `instance Eq where (Domain k) == (Domain l) == T.toLower k == T.toLower l` would behave nicely |
2021-11-19 14:02:53 +0100 | <tomsmeding> | it's an equivalence relation |
2021-11-19 14:03:14 +0100 | <dminuoso> | Sure, and DNS even requires this |
2021-11-19 14:03:44 +0100 | <dminuoso> | My confusion started with "but what if this is not ASCII" - but this is not possible by construction |
2021-11-19 14:03:55 +0100 | <dminuoso> | Which is why the question was silly to begin with |
2021-11-19 14:04:23 +0100 | <dminuoso> | Fun fact, in most PCRE implementations \d is likely not what you want. |
2021-11-19 14:04:32 +0100 | <dminuoso> | Since it often will match UTF8 digit characters of various scripts... |
2021-11-19 14:05:48 +0100 | <merijn> | dminuoso: No |
2021-11-19 14:06:07 +0100 | <merijn> | dminuoso: or rather, toLower might be, because it's a hack-job implementation |
2021-11-19 14:06:10 +0100 | <c_wraith> | Hmm. if it's not supposed to be outside of ASCII, why are you representing it as Text? |
2021-11-19 14:06:19 +0100 | <merijn> | Unicode toLower is locale dependent |
2021-11-19 14:06:56 +0100 | <dminuoso> | c_wraith: Yeah ByteString is probably more fitting. Honestly there's a bunch of interfaces that made me pick Text instead |
2021-11-19 14:06:58 +0100 | <dminuoso> | Seemed more compatible |
2021-11-19 14:07:24 +0100 | <c_wraith> | there's a well-defined conversion from unicode to bytes for domains |
2021-11-19 14:07:34 +0100 | <c_wraith> | and nothing else in the world uses it |
2021-11-19 14:07:56 +0100 | <dminuoso> | Well, strictly speaking Im writing a DNS server layer - but punycode conversion would happen outside of it |
2021-11-19 14:08:06 +0100 | <dminuoso> | I think? |
2021-11-19 14:08:09 +0100 | <dminuoso> | Uh. |
2021-11-19 14:08:11 +0100 | <dminuoso> | Hold on. |
2021-11-19 14:08:43 +0100 | <c_wraith> | just at a domain level, you should either have bytes that have been encoded, or text that hasn't. |
2021-11-19 14:08:55 +0100 | <c_wraith> | Those are the two levels that make sense. |
2021-11-19 14:09:53 +0100 | <dminuoso> | c_wraith: The main reason I have Text here, is because I end up putting it out via JSON. |
2021-11-19 14:10:04 +0100 | <dminuoso> | using aeson |
2021-11-19 14:10:43 +0100 | <dminuoso> | There's an extra newtype around it to avoid accidental confusion, so you have to go through my parser routine anyway |
2021-11-19 14:11:31 +0100 | <dminuoso> | And my parser has things like isLetDig c = isAsciiLetter c || isDigit c |
2021-11-19 14:16:57 +0100 | BobFang1992_ | (~textual@2a01:4b00:87fe:be00:30ce:ab50:b4f4:7d62) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-19 14:17:45 +0100 | kuribas | (~user@ptr-25vy0i8ozjc5f1a3qes.18120a2.ip6.access.telenet.be) |
2021-11-19 14:21:21 +0100 | zer0bitz | (~zer0bitz@2001:2003:f6bc:f00:bde7:830:4cf1:2fa1) |
2021-11-19 14:25:32 +0100 | Nrmncr | (~Neuromanc@user/neuromancer) (Ping timeout: 240 seconds) |
2021-11-19 14:27:53 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-11-19 14:29:29 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-11-19 14:32:10 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) |
2021-11-19 14:33:58 +0100 | dschrempf | (~dominik@62.240.134.78) (Ping timeout: 260 seconds) |
2021-11-19 14:36:59 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) (Ping timeout: 264 seconds) |
2021-11-19 14:38:22 +0100 | dschrempf | (~dominik@62.240.134.78) |
2021-11-19 14:38:28 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2021-11-19 14:38:34 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-11-19 14:40:17 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-11-19 14:41:11 +0100 | Codaraxis | (~Codaraxis@user/codaraxis) (Ping timeout: 264 seconds) |
2021-11-19 14:42:12 +0100 | jbox | (~jbox@user/jbox) |
2021-11-19 14:43:41 +0100 | dsrt^ | (~dsrt@68.101.63.101) (Ping timeout: 268 seconds) |
2021-11-19 14:43:46 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-11-19 14:45:44 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 14:45:55 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-fa5e-26bf-14ad-ea07.fixed6.kpn.net) |
2021-11-19 14:48:44 +0100 | dschrempf | (~dominik@62.240.134.78) (Ping timeout: 256 seconds) |
2021-11-19 14:50:32 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-11-19 14:51:20 +0100 | slice | (~slice@user/slice) |
2021-11-19 14:54:23 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 264 seconds) |
2021-11-19 14:55:20 +0100 | sydddddd | (~syd@cpc91646-hart11-2-0-cust432.11-3.cable.virginm.net) |
2021-11-19 14:55:33 +0100 | max22- | (~maxime@2a01cb0883359800f3916cdff6a2f8a4.ipv6.abo.wanadoo.fr) |
2021-11-19 14:56:13 +0100 | <kuribas> | ApplicativeDo could have been one of the best extensions, if it wasn't so buggy... |
2021-11-19 14:56:25 +0100 | <kuribas> | It's very useful with records. |
2021-11-19 14:57:09 +0100 | <kuribas> | Right now, if you would use it for parallelism, it may give you sequencing when you expect parallism. |
2021-11-19 14:58:11 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-11-19 14:59:13 +0100 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-11-19 15:00:46 +0100 | <sydddddd> | does anyone have any links on ALens' info (other than Lens docs) ? |
2021-11-19 15:01:56 +0100 | <lortabac> | kuribas: it's not perfect but it's always been good enough for me |
2021-11-19 15:02:07 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-19 15:02:21 +0100 | <lortabac> | as long as you respect the rules it should be quite reliable |
2021-11-19 15:02:58 +0100 | <Lycurgus> | kuribas, it does say 'best effort' on parallelism |
2021-11-19 15:03:04 +0100 | <c_wraith> | sydddddd: it's not really that interesting. It's mostly there to not need to infer polymorphic types |
2021-11-19 15:03:13 +0100 | <kuribas> | Lycurgus: I'd say it can do better :) |
2021-11-19 15:03:33 +0100 | <Lycurgus> | that's like sayin it's undone/uncovered |
2021-11-19 15:03:33 +0100 | <kuribas> | If I do (a, b) <- someApplicative, it will consider it a monad. |
2021-11-19 15:03:51 +0100 | <kuribas> | Lycurgus: it's buggy and flawed, yes. |
2021-11-19 15:04:48 +0100 | <sydddddd> | c_wraith: thanks. I tend to use it with specific type errors I've come to recognise and to be fair it usually works. |
2021-11-19 15:04:55 +0100 | <Lycurgus> | i would say flawed but within spec |
2021-11-19 15:05:04 +0100 | <kuribas> | Lycurgus: not even that |
2021-11-19 15:05:37 +0100 | <sydddddd> | usually when passing/returning polymorphic functions that take and return lenses, when type annotations don't help. |
2021-11-19 15:05:42 +0100 | <Lycurgus> | (as far as parallelism and do) |
2021-11-19 15:06:18 +0100 | <sydddddd> | does that sound about right for typical usage of it? |
2021-11-19 15:06:47 +0100 | <lortabac> | kuribas: do you have an example of unexpected behavior? |
2021-11-19 15:07:00 +0100 | <kuribas> | Lycurgus: it removes polymorphism. |
2021-11-19 15:07:37 +0100 | <kuribas> | Lycurgus: Also do "x <- foo; y <- bar; let z = x + y; pure z" becomes monadic. |
2021-11-19 15:08:05 +0100 | <kuribas> | Lycurgus: Or "do (x, y) <- foo; z <- bar; pure (x + y + z)" |
2021-11-19 15:08:26 +0100 | <Lycurgus> | i wouldn expect parallelism to be handled properly outside stuff explicitly oriented for that |
2021-11-19 15:08:27 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection) |
2021-11-19 15:08:54 +0100 | <kuribas> | Sure I can rewrite than, but it's annoying... |
2021-11-19 15:08:54 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-11-19 15:09:07 +0100 | <kuribas> | Plus, there is no indication that it should be parallel. |
2021-11-19 15:09:35 +0100 | <kuribas> | So you could think that everything is fine and optimally parallel when it isn't. |
2021-11-19 15:10:35 +0100 | geekosaur | wonders if the new QualifiedDo stuff would be helpful there |
2021-11-19 15:10:55 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-11-19 15:11:02 +0100 | <geekosaur> | although probaly not since you can't use that to choose the Applicative instance |
2021-11-19 15:11:03 +0100 | <geekosaur> | sigh |
2021-11-19 15:11:29 +0100 | <geekosaur> | might be an interesting extension to QualifiedDo since then it could throw a type error if it "upgraded" to Monad |
2021-11-19 15:14:08 +0100 | dsrt^ | (~dsrt@68.101.63.101) |
2021-11-19 15:14:40 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 265 seconds) |
2021-11-19 15:17:20 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 15:22:02 +0100 | kuribas | wonders how it's done at facebook |
2021-11-19 15:24:54 +0100 | <jippiedoe> | I'd love QualifiedDo to take into account what's in scope, that would also allow you to opt out of MonadFail and get exhaustiveness checks in your monad bindings instead |
2021-11-19 15:31:41 +0100 | jkaye | (~jkaye@216.53.205.34) |
2021-11-19 15:32:25 +0100 | synthmeat | (~synthmeat@user/synthmeat) (Quit: WeeChat 3.3) |
2021-11-19 15:32:54 +0100 | favonia | (~favonia@user/favonia) |
2021-11-19 15:34:02 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 15:35:18 +0100 | pera | (~pera@user/pera) |
2021-11-19 15:35:19 +0100 | <hololeap> | I would like for there to be some way to force applicative do, rather than it silently defaulting back to monadic do |
2021-11-19 15:37:04 +0100 | xsperry | (~xs@user/xsperry) (Remote host closed the connection) |
2021-11-19 15:40:11 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-19 15:40:11 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-19 15:40:11 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-19 15:44:18 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-11-19 15:48:03 +0100 | <kuribas> | like purescript ado? |
2021-11-19 15:49:14 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-11-19 15:50:04 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-11-19 15:50:44 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) |
2021-11-19 15:51:59 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-11-19 15:52:25 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 15:53:59 +0100 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 268 seconds) |
2021-11-19 15:55:21 +0100 | BobFang1992 | (~textual@2a01:4b00:87fe:be00:2941:7b2f:659a:8781) |
2021-11-19 15:55:47 +0100 | <maerwald> | "wonders how it's done at facebook" -> you just lie about what you did xD |
2021-11-19 15:55:59 +0100 | mimmy | (~mimmy@146.70.75.190) |
2021-11-19 15:56:13 +0100 | <hololeap> | kuribas: I haven't used purescript but yeah, ado was what I was thinking |
2021-11-19 15:56:57 +0100 | <Franciman> | ahah |
2021-11-19 15:57:25 +0100 | <hololeap> | abort |
2021-11-19 15:58:40 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-11-19 15:59:32 +0100 | <hololeap> | I agree it's pretty clunky, but at least there is a way to do it... http://sprunge.us/HPeHM8 |
2021-11-19 15:59:52 +0100 | ymherklotz | (~user@2a0c:5bc0:40:107b:fdfc:4d2d:898a:f9f5) |
2021-11-19 15:59:57 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-11-19 16:03:31 +0100 | <hololeap> | I don't know why the `let` built in to the do notation would force it back to monadic do |
2021-11-19 16:05:48 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-11-19 16:06:09 +0100 | pavonia | (~user@user/siracusa) |
2021-11-19 16:06:21 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:2c29:7076:9399:3f2e) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-11-19 16:06:35 +0100 | BobFang1992 | bobfang1992_ |
2021-11-19 16:06:48 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:7816:2c69:3dcc:933a) |
2021-11-19 16:07:08 +0100 | <hololeap> | > Note: the final statement must match one of these patterns exactly ... In particular, slight variations such as `return . Just $ x` or `let x = e in return x` would not be recognised. |
2021-11-19 16:07:48 +0100 | <hololeap> | so it sort of explains it |
2021-11-19 16:09:07 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-11-19 16:10:37 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-11-19 16:11:27 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-19 16:12:00 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:6cf6:5d02:5f47:daaa) (Quit: WeeChat 2.8) |
2021-11-19 16:12:11 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-fa5e-26bf-14ad-ea07.fixed6.kpn.net) (Ping timeout: 265 seconds) |
2021-11-19 16:13:39 +0100 | dsrt^ | (~dsrt@68.101.63.101) (Remote host closed the connection) |
2021-11-19 16:14:31 +0100 | zer0bitz_ | (~zer0bitz@2001:2003:f6bc:f00:93d:ef3a:ec37:e2db) |
2021-11-19 16:16:00 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-11-19 16:16:11 +0100 | zer0bitz | (~zer0bitz@2001:2003:f6bc:f00:bde7:830:4cf1:2fa1) (Ping timeout: 268 seconds) |
2021-11-19 16:19:32 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 240 seconds) |
2021-11-19 16:20:25 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 16:22:26 +0100 | xsperry | (~xs@cpe-188-129-101-182.dynamic.amis.hr) |
2021-11-19 16:22:29 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-19 16:22:30 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-19 16:22:30 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-19 16:23:37 +0100 | cheater1__ | (~Username@user/cheater) |
2021-11-19 16:23:37 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-11-19 16:23:40 +0100 | cheater1__ | cheater |
2021-11-19 16:26:40 +0100 | mimmy | (~mimmy@146.70.75.190) (Ping timeout: 268 seconds) |
2021-11-19 16:27:17 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-11-19 16:27:59 +0100 | cheater1__ | (~Username@user/cheater) |
2021-11-19 16:28:18 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2021-11-19 16:28:23 +0100 | cheater1__ | cheater |
2021-11-19 16:30:11 +0100 | alzgh | (~alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-11-19 16:33:50 +0100 | ub | (~Thunderbi@p200300ecdf0ba29aa5e920d3668bb518.dip0.t-ipconnect.de) |
2021-11-19 16:35:02 +0100 | acidjnk | (~acidjnk@p200300d0c7271e04495a3d38c01005cf.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-11-19 16:36:35 +0100 | jkaye | (~jkaye@216.53.205.34) (Remote host closed the connection) |
2021-11-19 16:37:00 +0100 | jkaye | (~jkaye@216.53.205.34) |
2021-11-19 16:37:56 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 16:38:17 +0100 | mimmy | (~mimmy@146.70.75.189) |
2021-11-19 16:38:28 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-19 16:39:34 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 16:40:35 +0100 | favonia | (~favonia@user/favonia) (Ping timeout: 264 seconds) |
2021-11-19 16:43:57 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-19 16:44:33 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-11-19 16:45:30 +0100 | gandalf_ | (gandalf@2a01:270:20cd:88::1) |
2021-11-19 16:45:47 +0100 | gandalf_ | (gandalf@2a01:270:20cd:88::1) () |
2021-11-19 16:45:58 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-11-19 16:46:19 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-19 16:48:15 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 268 seconds) |
2021-11-19 16:49:46 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-19 16:50:47 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
2021-11-19 16:51:33 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:e6ab:18be:9a14:11e0) |
2021-11-19 16:51:33 +0100 | turco32 | (~turco32@104.158.25.93) (Quit: Leaving) |
2021-11-19 16:56:15 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-19 16:58:38 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-11-19 17:02:59 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-11-19 17:05:35 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2021-11-19 17:05:48 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: restarting) |
2021-11-19 17:06:04 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-11-19 17:08:20 +0100 | pera | (~pera@user/pera) (Quit: leaving) |
2021-11-19 17:08:21 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-11-19 17:13:33 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 268 seconds) |
2021-11-19 17:13:34 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 17:14:10 +0100 | jkaye | (~jkaye@216.53.205.34) (Ping timeout: 268 seconds) |
2021-11-19 17:16:16 +0100 | favonia | (~favonia@user/favonia) |
2021-11-19 17:18:06 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 17:18:36 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 276 seconds) |
2021-11-19 17:18:55 +0100 | Midjak | (~Midjak@82-65-111-221.subs.proxad.net) (Quit: This computer has gone to sleep) |
2021-11-19 17:20:03 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2021-11-19 17:20:16 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-19 17:21:39 +0100 | abrantesasf | (~abrantesa@187.36.170.211) |
2021-11-19 17:22:31 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:e6ab:18be:9a14:11e0) (Quit: WeeChat 2.8) |
2021-11-19 17:26:47 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-11-19 17:27:25 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2021-11-19 17:28:07 +0100 | monochrom | (~trebla@216.138.220.146) |
2021-11-19 17:29:02 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2021-11-19 17:30:18 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:a055:2897:27b6:f1d6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-19 17:31:56 +0100 | mimmy | (~mimmy@146.70.75.189) (Ping timeout: 265 seconds) |
2021-11-19 17:32:06 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:a055:2897:27b6:f1d6) |
2021-11-19 17:36:48 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) |
2021-11-19 17:37:30 +0100 | mimmy | (~mimmy@146.70.75.189) |
2021-11-19 17:39:47 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-19 17:40:07 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-19 17:41:11 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 264 seconds) |
2021-11-19 17:42:35 +0100 | <kuribas> | hololeap: well "return let x = e in x" works |
2021-11-19 17:42:44 +0100 | kuribas | (~user@ptr-25vy0i8ozjc5f1a3qes.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-11-19 17:43:30 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-11-19 17:44:26 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-19 17:48:09 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-11-19 17:48:30 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 260 seconds) |
2021-11-19 17:48:30 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 260 seconds) |
2021-11-19 17:48:57 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-11-19 17:49:16 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 17:49:38 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 17:49:56 +0100 | <monochrom> | I am reading and encouraged by https://anthony.noided.media/blog/thoughts/haskell/languages/2021/11/05/writing-about-haskell-is-h… Perhaps I should include rank-n types in my class next time. (I already have Applicative, and Functor, and Monad.) |
2021-11-19 17:50:12 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-11-19 17:50:24 +0100 | <monochrom> | And yeah Boring Haskell is a bit misguided. |
2021-11-19 17:50:45 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-11-19 17:50:56 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2021-11-19 17:52:23 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-19 17:52:45 +0100 | <maerwald> | it depends on laziness to not blow up? hope they have a good test suite :) |
2021-11-19 17:55:25 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) |
2021-11-19 17:57:33 +0100 | ub | (~Thunderbi@p200300ecdf0ba29aa5e920d3668bb518.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2021-11-19 18:01:15 +0100 | <monochrom> | Now I'm reading https://reasonablypolymorphic.com/blog/century-of-the-fruitbat/ (OK, so basically I'm catching up with yesterday's Haskell Weekly News heh) |
2021-11-19 18:02:41 +0100 | <monochrom> | You know what, ironically, I may appreciate Prelude omitting head and tail. Because then my students are forced to write like "f [] = ... f (x:xs) = ..." and learn pattern matching :) |
2021-11-19 18:03:07 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 256 seconds) |
2021-11-19 18:04:03 +0100 | <maerwald> | Until they need to use Text |
2021-11-19 18:04:07 +0100 | <maerwald> | and then the world collapses |
2021-11-19 18:04:22 +0100 | <maerwald> | everything was a lie! |
2021-11-19 18:04:24 +0100 | <monochrom> | And in the rare case I need head, it's a simple lambda, (\(x:_) -> x). |
2021-11-19 18:05:00 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-11-19 18:05:22 +0100 | <maerwald> | (\[x] -> x) |
2021-11-19 18:05:30 +0100 | <monochrom> | I don't use String to teach lists. I use [Int] [Bool] etc. |
2021-11-19 18:06:15 +0100 | <maerwald> | @pl (\(x:_) -> x) |
2021-11-19 18:06:15 +0100 | <lambdabot> | head |
2021-11-19 18:06:22 +0100 | <monochrom> | haha |
2021-11-19 18:12:14 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) (Remote host closed the connection) |
2021-11-19 18:12:59 +0100 | mimmy | (~mimmy@146.70.75.189) (Ping timeout: 264 seconds) |
2021-11-19 18:14:27 +0100 | mbuf | (~Shakthi@122.174.57.32) (Quit: Leaving) |
2021-11-19 18:16:32 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:5000:2c7a:ffb3:dbe2) (Ping timeout: 240 seconds) |
2021-11-19 18:18:16 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:5000:2c7a:ffb3:dbe2) |
2021-11-19 18:23:19 +0100 | slaydr | (~seriley@192.109.205.174) |
2021-11-19 18:24:35 +0100 | <slaydr> | is the Haskell2020 report still in the works? |
2021-11-19 18:25:30 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-11-19 18:26:11 +0100 | jbox | (~jbox@user/jbox) (Ping timeout: 264 seconds) |
2021-11-19 18:30:47 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-11-19 18:30:51 +0100 | mbuf | (~Shakthi@122.174.57.32) |
2021-11-19 18:31:04 +0100 | <maerwald> | haha |
2021-11-19 18:31:19 +0100 | <maerwald> | maybe when covid is over |
2021-11-19 18:31:23 +0100 | ubert | (~Thunderbi@p200300ecdf0ba29ae6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2021-11-19 18:31:27 +0100 | <maerwald> | (like... never) |
2021-11-19 18:31:51 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 268 seconds) |
2021-11-19 18:31:58 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
2021-11-19 18:35:02 +0100 | Jing | (~hedgehog@115.207.47.111) (Read error: Connection reset by peer) |
2021-11-19 18:36:58 +0100 | Jing | (~hedgehog@2604:a840:3::1094) |
2021-11-19 18:37:17 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) |
2021-11-19 18:38:04 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2021-11-19 18:38:11 +0100 | mimmy | (~mimmy@146.70.75.190) |
2021-11-19 18:40:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-19 18:41:11 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 264 seconds) |
2021-11-19 18:42:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 18:42:45 +0100 | econo | (uid147250@user/econo) |
2021-11-19 18:43:22 +0100 | CannabisIndica | (~herb@user/mesaboogie) (Ping timeout: 256 seconds) |
2021-11-19 18:47:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-19 18:47:43 +0100 | retroid_ | (~retro@97e2ba2e.skybroadband.com) |
2021-11-19 18:48:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 18:49:11 +0100 | <monochrom> | Even the 2020 Summer Games have already finished >:) |
2021-11-19 18:49:45 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 18:49:54 +0100 | <monochrom> | It's now pretty clear that we will have GHC2021 instead. |
2021-11-19 18:50:22 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-11-19 18:52:03 +0100 | <monochrom> | I am paradoxically both surprised and not surprised that no one complains against GHC2021, whereas people get vocal against no-/=. |
2021-11-19 18:53:51 +0100 | slaydr | (~seriley@192.109.205.174) (Remote host closed the connection) |
2021-11-19 18:54:37 +0100 | <yushyin> | but if we are comfortable with ghc2021, maybe it will pave the way for haskell prime :-) |
2021-11-19 18:54:47 +0100 | <monochrom> | This is consistent with my model that programmers are good at technicalities (even when technicalities are irrelevant) and very bad at social, cultural considerations (even when much more relevant). |
2021-11-19 18:55:36 +0100 | <monochrom> | GHC2021 is "not" a breaking change because technically it is an opt-"in". So no one will complain. |
2021-11-19 18:56:48 +0100 | <monochrom> | Just you wait. It is doomed to be so commonly used that socially you will be forced into it anyway. Then it is a breaking change. |
2021-11-19 18:57:08 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 18:58:00 +0100 | <monochrom> | Whereas no-/= is statistically a pretty irrelevant "breaking" change. |
2021-11-19 18:58:51 +0100 | <monochrom> | I don't buy the "but what about the principles?" argument because it would apply to GHC2021 too so why aren't you speaking up. |
2021-11-19 18:59:10 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-11-19 19:00:28 +0100 | Successus | (~Successus@gateway/tor-sasl/successus) |
2021-11-19 19:01:12 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-19 19:02:04 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 256 seconds) |
2021-11-19 19:02:30 +0100 | emf | (~emf@162.218.217.186) |
2021-11-19 19:05:46 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-11-19 19:06:10 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-19 19:06:58 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 19:07:38 +0100 | emf_ | (~emf@2620:10d:c090:400::5:5ceb) |
2021-11-19 19:08:34 +0100 | max22- | (~maxime@2a01cb0883359800f3916cdff6a2f8a4.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-11-19 19:09:18 +0100 | emf | (~emf@162.218.217.186) (Ping timeout: 260 seconds) |
2021-11-19 19:11:42 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:a055:2897:27b6:f1d6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-19 19:12:40 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) |
2021-11-19 19:12:46 +0100 | <davean> | monochrom: I did speak up about GHC2021 |
2021-11-19 19:13:02 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 240 seconds) |
2021-11-19 19:13:11 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-19 19:13:34 +0100 | <davean> | No one gives a shit about voices that aren't acting little toddlers who just won't stop crying though. I can't be bothered to keep complaining though and making hyperbolic claims about it. |
2021-11-19 19:15:37 +0100 | whatsupdoc | (uid509081@hampstead.irccloud.com) |
2021-11-19 19:16:31 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-19 19:18:23 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) (Ping timeout: 264 seconds) |
2021-11-19 19:25:35 +0100 | rtsn | (~nstr@c-c7fe225c.07-59-7570703.bbcust.telenor.se) (Ping timeout: 264 seconds) |
2021-11-19 19:26:01 +0100 | rtsn | (~nstr@c-c7fe225c.07-59-7570703.bbcust.telenor.se) |
2021-11-19 19:26:54 +0100 | Successus | (~Successus@gateway/tor-sasl/successus) () |
2021-11-19 19:27:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-19 19:27:57 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-19 19:28:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 19:28:15 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-19 19:28:31 +0100 | vicfred | (~vicfred@user/vicfred) |
2021-11-19 19:30:21 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 19:30:33 +0100 | mbuf | (~Shakthi@122.174.57.32) (Quit: Leaving) |
2021-11-19 19:31:52 +0100 | <dsal> | What's bad in GHC2021? |
2021-11-19 19:31:58 +0100 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-11-19 19:33:04 +0100 | <dsal> | Also, I'm not in a great place to understand the arguments for keeping /= -- I kind of like change in general, even when it's slightly uncomfortable. |
2021-11-19 19:33:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-11-19 19:33:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 19:34:26 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-19 19:35:23 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-11-19 19:36:01 +0100 | ymherklotz | (~user@2a0c:5bc0:40:107b:fdfc:4d2d:898a:f9f5) (Remote host closed the connection) |
2021-11-19 19:37:53 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fabc-15.dhcp.inet.fi) |
2021-11-19 19:37:59 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 19:38:42 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 260 seconds) |
2021-11-19 19:39:05 +0100 | ymherklotz | (~ymherklot@2a0c:5bc0:40:107b:fdfc:4d2d:898a:f9f5) |
2021-11-19 19:39:18 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
2021-11-19 19:39:41 +0100 | zer0bitz_ | (~zer0bitz@2001:2003:f6bc:f00:93d:ef3a:ec37:e2db) (Ping timeout: 268 seconds) |
2021-11-19 19:43:32 +0100 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-11-19 19:44:25 +0100 | bobfang1992_ | (~textual@2a01:4b00:87fe:be00:2941:7b2f:659a:8781) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-19 19:44:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-11-19 19:45:20 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 265 seconds) |
2021-11-19 19:45:26 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 19:46:19 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-11-19 19:47:09 +0100 | <yushyin> | i think GHC2021 was long overdue and a good first step, i already started a new toy project with GHC2021 ;> |
2021-11-19 19:47:09 +0100 | <monochrom> | yushyin: I have now thought about it more. One possible outcome is what you said, yes. But another possible outcome is "so we don't need a Haskell Prime". |
2021-11-19 19:47:50 +0100 | <yushyin> | monochrom: also possible, yes :/ |
2021-11-19 19:48:34 +0100 | <monochrom> | I am pessimistic. Every silver lining has tarnish. |
2021-11-19 19:50:01 +0100 | <monochrom> | I like GHC2021 too. I even think it is not bold enough. I want BlockArguments to be in. I also want FunDeps in too (or else what's the point of including MPTC). |
2021-11-19 19:50:41 +0100 | <monochrom> | Ah and DataKinds (or else what's the point of including all the other kind-related extensions). |
2021-11-19 19:51:17 +0100 | <dsal> | I don't exactly understand BlockArguments. It's kind of like TupleSections in that you just try to do it and the compiler tells you to flip it. Are there downsides? |
2021-11-19 19:51:25 +0100 | <geekosaur> | sounds like they're still arguing over fundeps vs. tyfams? |
2021-11-19 19:51:32 +0100 | <monochrom> | I also want NoStarIsType, but it's a minor issue. |
2021-11-19 19:52:17 +0100 | <geekosaur> | dsal, it can be harder to read (for humans, not the compiler: it actually simplifies parsing by removing a pointless distinction) |
2021-11-19 19:52:20 +0100 | <monochrom> | Ah tyfams is probably better but needs more consensus. I'm less sad now. :) |
2021-11-19 19:52:43 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-11-19 19:52:46 +0100 | <dsal> | geekosaur: Yeah, sometimes it's super clear. Sometimes it's slightly confusing. |
2021-11-19 19:53:05 +0100 | <monochrom> | Generally BlockArguments is easy to read if you add more line breaks. |
2021-11-19 19:53:42 +0100 | <monochrom> | "withX \x -> <newline> withY \y -> <newline> ..." is easy to read. |
2021-11-19 19:53:46 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Read error: Connection reset by peer) |
2021-11-19 19:53:55 +0100 | <monochrom> | "withX \x -> withY \y -> ..." is hard to read. |
2021-11-19 19:54:09 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-19 19:54:58 +0100 | <monochrom> | Call me a stubborn scientist but this clearly puts the blame on one-liners not block arguments. |
2021-11-19 19:55:07 +0100 | <monochrom> | The extension you're looking for is NoOneLiners. |
2021-11-19 19:55:21 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2021-11-19 19:56:52 +0100 | <dsal> | -XNoNewlines |
2021-11-19 19:56:53 +0100 | <monochrom> | Oh BTW a lot of beginners claim that "f (g (h (i (j (a+b))))" is hard to read too. Are they going to advocate NoParentheses too? |
2021-11-19 19:57:16 +0100 | <geekosaur> | that's just why so many people use $ |
2021-11-19 19:57:20 +0100 | <c_wraith> | yes. prevent the use of tuples! |
2021-11-19 19:57:21 +0100 | <tomsmeding> | monochrom: earlier today it was noted that TypeFamilies enables MonoLocalBinds, which is breaking with Haskell2010 |
2021-11-19 19:57:39 +0100 | <dsal> | This is a thing ormolu is doing to me. If I want to break a thing into two lines, it's like, "Nope, that's 8 lines." So I have to choose between one really long line, or 8 lines of one word each. |
2021-11-19 19:57:58 +0100 | <monochrom> | Meanwhile, the same people, since they came from OOP backgrounds, also claim that "x.plus(y.plus(z))" is better than "x+y+z". |
2021-11-19 19:58:06 +0100 | sm2n_ | (~sm2n@user/sm2n) (Read error: Connection reset by peer) |
2021-11-19 19:58:10 +0100 | sm2n | (~sm2n@user/sm2n) |
2021-11-19 19:58:10 +0100 | max22- | (~maxime@2a01cb08833598003c399b41b69f08ec.ipv6.abo.wanadoo.fr) |
2021-11-19 19:58:26 +0100 | <tomsmeding> | (C++ doesn't have that issue) |
2021-11-19 19:58:33 +0100 | <monochrom> | haha |
2021-11-19 19:58:36 +0100 | <tomsmeding> | (but then C++ is the kitchen sink anyway) |
2021-11-19 19:58:46 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-11-19 19:59:09 +0100 | <monochrom> | But ExplicitForall already breaks Haskell2010. I can't use "forall" as a type variable, or not even a term variable. |
2021-11-19 19:59:36 +0100 | <tomsmeding> | oh interesting, I was somehow under the impression that GHC2021 was non-breaking |
2021-11-19 20:00:04 +0100 | <tomsmeding> | though the 'forall' breakage is less bad: it causes less programs to compile, but no programs to change meaning |
2021-11-19 20:00:18 +0100 | <monochrom> | It breaks very slightly. In fact, to be forthcoming, I think "forall"-reserved-word is the only breakage. |
2021-11-19 20:01:18 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-19 20:01:18 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-19 20:01:18 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-19 20:01:29 +0100 | <monochrom> | But I would think MonoLocalBinds just causes less programs to compile too? I think it doesn't change meaning. |
2021-11-19 20:01:34 +0100 | <tomsmeding> | monochrom: my ghc already treats 'forall' as a reserved word, even with -XHaskell2010 |
2021-11-19 20:01:35 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-11-19 20:02:03 +0100 | <dsal> | > isAlpha '∀' |
2021-11-19 20:02:05 +0100 | <lambdabot> | False |
2021-11-19 20:02:06 +0100 | <dsal> | Lame. |
2021-11-19 20:02:43 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 20:03:07 +0100 | <tomsmeding> | :set -XUnicodeSyntax |
2021-11-19 20:03:13 +0100 | <monochrom> | I think GHC -XHaskell2010 still deviates a bit from paper Haskell 2010 regarding that. :) |
2021-11-19 20:03:19 +0100 | <tomsmeding> | certainly |
2021-11-19 20:03:46 +0100 | <tomsmeding> | but we're talking about breakage between -XHaskell2010 and -XGHC2021, I think; talking about breakage between report haskell 2021 and -XGHC2021 is not productive, I think |
2021-11-19 20:03:49 +0100 | <monochrom> | Anyway I don't really raise hell about "forall", no one facetiously uses it as a variable :) |
2021-11-19 20:03:56 +0100 | <tomsmeding> | at least not in the context of deciding whether -XGHC2021 is a good idea |
2021-11-19 20:04:39 +0100 | <tomsmeding> | ah of course BangPatterns steals syntax |
2021-11-19 20:05:00 +0100 | <monochrom> | Ah, that, haha. |
2021-11-19 20:05:34 +0100 | <tomsmeding> | so -XGHC2021 is indeed breaking with respect to -XHaskell2010 :) |
2021-11-19 20:05:42 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-11-19 20:05:50 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) |
2021-11-19 20:06:32 +0100 | <tomsmeding> | that makes me agree mildly less with excluding TypeFamilies and GADTs in GHC2021 |
2021-11-19 20:07:03 +0100 | tomsmeding | was starting with "that makes me mildly more in favour of adding those extensions" but adding is not a good idea :p |
2021-11-19 20:07:24 +0100 | <dsal> | What's the downside of GADTs? |
2021-11-19 20:07:32 +0100 | <tomsmeding> | implies -XMonoLocalBinds, which is breaking |
2021-11-19 20:07:33 +0100 | <monochrom> | I think the selection criteria were pragmatic rathan than "as a matter of inflexible high-horse principles". |
2021-11-19 20:07:47 +0100 | <dsal> | I forget the whole graph of implies. heh |
2021-11-19 20:07:48 +0100 | mimmy | (~mimmy@146.70.75.190) (Ping timeout: 256 seconds) |
2021-11-19 20:08:02 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-19 20:08:07 +0100 | <tomsmeding> | in particular, note that GADTSyntax _is_ in :) |
2021-11-19 20:08:15 +0100 | <monochrom> | A good balance of "how many people want it" and "how compatible". |
2021-11-19 20:08:22 +0100 | <tomsmeding> | which is not very useful IMO, but subjective |
2021-11-19 20:08:28 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 20:08:39 +0100 | <tomsmeding> | monochrom: which is a fairly good way of deciding this, perhaps |
2021-11-19 20:08:58 +0100 | <monochrom> | Some people think that the GADT syntax is clearer, even for ADTs. |
2021-11-19 20:10:53 +0100 | <monochrom> | The disagreement is between "BNF-like syntax" and "spell out the type sigs of constructors" |
2021-11-19 20:11:28 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:78f3:43f3:fd48:5ac3) |
2021-11-19 20:11:31 +0100 | <tomsmeding> | a positive point of GADT syntax is that it makes explicit that the constructors are functions, and can be used and partially applied as such |
2021-11-19 20:11:47 +0100 | <tomsmeding> | which might be useful for learnerS? |
2021-11-19 20:11:50 +0100 | <tomsmeding> | s/S/s/ |
2021-11-19 20:11:56 +0100 | <davean> | I think not having to formats is clearer, but I use AST type generally - never broke the habit. |
2021-11-19 20:12:03 +0100 | <davean> | *two formats |
2021-11-19 20:12:46 +0100 | <c_wraith> | It makes it easier to see that constructors are functions, but bizarrely harder to see that they can be used for pattern matching |
2021-11-19 20:13:01 +0100 | <tomsmeding> | good point |
2021-11-19 20:13:15 +0100 | <davean> | I just think you state both things and get it axiomaticly so seeing isn't relivent |
2021-11-19 20:13:30 +0100 | <c_wraith> | I just mean the same argument works both directions |
2021-11-19 20:13:41 +0100 | <davean> | and I think neither argument is relivent :) |
2021-11-19 20:13:45 +0100 | <c_wraith> | So neither is really better |
2021-11-19 20:13:49 +0100 | <tomsmeding> | in which case, normal ADT syntax is shorter :) |
2021-11-19 20:14:01 +0100 | <davean> | c_wraith: I think GADT is better, because then we don't need two |
2021-11-19 20:14:09 +0100 | <davean> | (still use AST typically) |
2021-11-19 20:14:21 +0100 | <monochrom> | See, who dares to say aloud "BNF unclear" >:) |
2021-11-19 20:15:04 +0100 | <davean> | monochrom: hum? |
2021-11-19 20:15:35 +0100 | <monochrom> | But I'm also a worst-of-both-worlds person, in addition to being pessimistic. I say that one should define an ADT by writing both syntaxes, both are required, and the compiler gets the pleasure of telling you they don't match up. |
2021-11-19 20:15:36 +0100 | <geekosaur> | bnf is clearer if you're used to it. it has certainly confused those who aren't, in my experience |
2021-11-19 20:17:17 +0100 | <davean> | The only part unclear about BNF in my oppinion is which damn one? |
2021-11-19 20:17:32 +0100 | <monochrom> | heh |
2021-11-19 20:17:32 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-11-19 20:18:29 +0100 | Guest99 | (~Guest99@pool-100-8-45-127.nwrknj.fios.verizon.net) |
2021-11-19 20:18:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-19 20:20:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 20:20:38 +0100 | max22- | (~maxime@2a01cb08833598003c399b41b69f08ec.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2021-11-19 20:21:48 +0100 | <monochrom> | Naaawwww! This is the better syntax: The notation for formation rules in natural deduction. |
2021-11-19 20:22:58 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2021-11-19 20:23:24 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-11-19 20:25:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-11-19 20:28:10 +0100 | <c_wraith> | just require all data types be written as a fold |
2021-11-19 20:29:43 +0100 | mimmy | (~mimmy@146.70.75.189) |
2021-11-19 20:30:47 +0100 | <monochrom> | How would that look? Would it look like "forall r. r -> (Int -> Char -> r) -> r" standing for "data Foo = C0 | C1 Int Char"? |
2021-11-19 20:31:08 +0100 | <c_wraith> | yep! |
2021-11-19 20:31:35 +0100 | <monochrom> | Because "data Foo where {C0 :: Foo; C1 :: Int -> Char -> Foo}" comes very close to that. Just s/r/Foo/ essentially. |
2021-11-19 20:31:57 +0100 | Killirse | (~Killirse@146.120.222.5) |
2021-11-19 20:31:59 +0100 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2021-11-19 20:36:43 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-11-19 20:37:52 +0100 | Killirse | (~Killirse@146.120.222.5) (Remote host closed the connection) |
2021-11-19 20:39:19 +0100 | <zincy_> | davean: hey |
2021-11-19 20:40:51 +0100 | <monochrom> | You have tipped my balance towards the GADT-syntax side. :) |
2021-11-19 20:42:24 +0100 | <monochrom> | Regarding "each syntax makes some other side less clear", I have never been bothered by that, my teaching material has always needed to spell out all sides, it can't be helped. |
2021-11-19 20:48:56 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-19 20:49:15 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-19 20:50:11 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2021-11-19 20:50:35 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-11-19 20:54:43 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-11-19 20:54:43 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-11-19 20:54:46 +0100 | allbery_b | geekosaur |
2021-11-19 20:55:06 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Read error: Connection reset by peer) |
2021-11-19 20:55:24 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-19 20:57:39 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 20:58:44 +0100 | vysn | (~vysn@user/vysn) |
2021-11-19 21:00:11 +0100 | Guest99 | (~Guest99@pool-100-8-45-127.nwrknj.fios.verizon.net) (Quit: Client closed) |
2021-11-19 21:02:39 +0100 | chisui | (~chisui@2001:16b8:6687:d600:ec27:7b7a:c771:651e) |
2021-11-19 21:03:00 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4346:8725:e95d:ae21) |
2021-11-19 21:05:03 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4346:8725:e95d:ae21) (Client Quit) |
2021-11-19 21:05:26 +0100 | juhp | (~juhp@128.106.188.82) (Ping timeout: 260 seconds) |
2021-11-19 21:06:00 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:cc0f:3c1b:cb:bfd6) |
2021-11-19 21:07:51 +0100 | juhp | (~juhp@128.106.188.82) |
2021-11-19 21:07:57 +0100 | nkatte | (~nkatte@2804:14c:7980:8c85::bde6) |
2021-11-19 21:08:16 +0100 | nkatte | (~nkatte@2804:14c:7980:8c85::bde6) (Remote host closed the connection) |
2021-11-19 21:10:53 +0100 | <tomsmeding> | EvanR: I collected some more data on ghci's evaluation behaviour https://tomsmeding.com/f/ghci-evaluation.html |
2021-11-19 21:11:02 +0100 | <tomsmeding> | tldr it's a mess |
2021-11-19 21:11:13 +0100 | <tomsmeding> | monochrom: the sadist in you may like this as well |
2021-11-19 21:11:19 +0100 | <EvanR> | lol it's at least 3 dimensional now |
2021-11-19 21:11:21 +0100 | <maerwald> | davean: you can express GADTs with normal syntax |
2021-11-19 21:11:34 +0100 | <maerwald> | so I don't understand that point |
2021-11-19 21:12:06 +0100 | <tomsmeding> | EvanR: yes :p |
2021-11-19 21:12:18 +0100 | <EvanR> | I see there are 3 outcomes |
2021-11-19 21:12:23 +0100 | mimmy | (~mimmy@146.70.75.189) (Ping timeout: 264 seconds) |
2021-11-19 21:12:26 +0100 | <EvanR> | _, _:_, and "abc" |
2021-11-19 21:12:43 +0100 | <tomsmeding> | note: I switched to characters for the thing to be monomorphic even without a typesig |
2021-11-19 21:13:15 +0100 | <maerwald> | https://paste.tomsmeding.com/3fh551uA |
2021-11-19 21:13:31 +0100 | <EvanR> | why is there a difference between map and id >_< |
2021-11-19 21:13:45 +0100 | <geekosaur> | hm. RULES? |
2021-11-19 21:13:58 +0100 | <EvanR> | RULES fires in ghci? |
2021-11-19 21:14:06 +0100 | <geekosaur> | dunno tbh |
2021-11-19 21:14:11 +0100 | <tomsmeding> | maerwald: Illegal equational constraint a ~ String (Use GADTs or TypeFamilies to permit this) |
2021-11-19 21:14:13 +0100 | <geekosaur> | just the first thing that came to mind |
2021-11-19 21:14:14 +0100 | <tomsmeding> | that is kind of ironic |
2021-11-19 21:14:37 +0100 | <tomsmeding> | geekosaur: I suspect https://gitlab.haskell.org/ghc/ghc/-/issues/10160 |
2021-11-19 21:14:58 +0100 | <maerwald> | tomsmeding: ? |
2021-11-19 21:15:10 +0100 | <tomsmeding> | in particular, a subexpression that is a direct application of a constructor to arguments is already in WHNF without evaluation |
2021-11-19 21:15:42 +0100 | <tomsmeding> | maerwald: no point, because it isn't related to the syntax question; just funny that you currently need the GADTs extension to write the non-GADT syntax |
2021-11-19 21:15:58 +0100 | <maerwald> | you don't... TypeFamilies and ExistentialQuantification is enough |
2021-11-19 21:16:00 +0100 | <tomsmeding> | though that makes sense I guess, because the extension is about the functionality, and GADTSyntax is about the syntax, ostensibly |
2021-11-19 21:16:09 +0100 | <geekosaur> | I think there's a proposal to separate out equality constraints into their own LANGUAGE pragma |
2021-11-19 21:16:17 +0100 | <geekosaur> | I know it's been discussed, at least |
2021-11-19 21:17:02 +0100 | <geekosaur> | since it's kinda a wart that less than obvious LANGUAGE pragmas are needed to enable them |
2021-11-19 21:17:09 +0100 | <maerwald> | I really dislike jumping from normal to GADT style... using the type equality constraint also enlightens the reader about what this actually does under the hood |
2021-11-19 21:17:41 +0100 | rusty | (~rustyboy@82.77.237.221) |
2021-11-19 21:18:23 +0100 | <tomsmeding> | EvanR: if you want to try at home: https://paste.tomsmeding.com/ERDspJLB |
2021-11-19 21:18:55 +0100 | <EvanR> | I almost pasted that into cmd.exe |
2021-11-19 21:19:01 +0100 | <tomsmeding> | heh |
2021-11-19 21:19:08 +0100 | <tomsmeding> | sorry, bash |
2021-11-19 21:19:27 +0100 | <EvanR> | I can try on mac |
2021-11-19 21:19:40 +0100 | <tomsmeding> | no git bash on your windows? |
2021-11-19 21:19:46 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) |
2021-11-19 21:20:00 +0100 | <EvanR> | lets not go into the problems with my windows |
2021-11-19 21:21:58 +0100 | <monochrom> | maerwald: I am not sure that "a ~ [a]" is a good idea. |
2021-11-19 21:22:39 +0100 | <EvanR> | some of the tests produced results and some gave parse error on input ';' and parse error on input '=' |
2021-11-19 21:22:57 +0100 | <tomsmeding> | that is odd |
2021-11-19 21:23:24 +0100 | <EvanR> | https://paste.tomsmeding.com/g6XzuV1F |
2021-11-19 21:23:28 +0100 | <tomsmeding> | EvanR: if you remove the " | $GHCI | ..." stuff on line 11, does the output look sensible? |
2021-11-19 21:24:02 +0100 | <tomsmeding> | EvanR: what's the version of your ghci there |
2021-11-19 21:24:06 +0100 | <EvanR> | yep |
2021-11-19 21:24:18 +0100 | <EvanR> | 7.10.2 |
2021-11-19 21:24:41 +0100 | <tomsmeding> | try entering 'a = 42' in that |
2021-11-19 21:25:10 +0100 | <tomsmeding> | I think the support for bare variable declarations without let is newer than that |
2021-11-19 21:25:31 +0100 | <EvanR> | yeah not allowed |
2021-11-19 21:26:14 +0100 | <tomsmeding> | so all "Without let" cases are not applicable in your version of ghci |
2021-11-19 21:26:28 +0100 | <EvanR> | https://paste.tomsmeding.com/zzdbhY08 |
2021-11-19 21:26:49 +0100 | <EvanR> | by removing that part maybe the script makes no sense xD |
2021-11-19 21:27:09 +0100 | <tomsmeding> | you can let it use let always by removing the "" in the 'for letprefix' line |
2021-11-19 21:28:49 +0100 | <EvanR> | well I see it doesn't show any sprint results anymore |
2021-11-19 21:30:24 +0100 | <zincy_> | In the machines library what is the difference between Wye and Tee? |
2021-11-19 21:30:40 +0100 | <zincy_> | Wye is "non-deterministic" |
2021-11-19 21:31:06 +0100 | <zincy_> | Does this just mean that we don't know the order of the input events i.e they arent sequenced LRLR |
2021-11-19 21:31:25 +0100 | mimmy | (~mimmy@146.70.75.190) |
2021-11-19 21:31:37 +0100 | <tomsmeding> | EvanR: I suddenly see a pattern in my tables. Recall https://tomsmeding.com/f/ghci-evaluation.html . The 'Without typesig' column, as well as the 'With let' rows of the 'With typesig' column, are consistent: before evaluation, only the bare ['a','b','c'] is in WHNF, and after evaluation, the 'id' variant immedately returns the fully applied constructor, and the 'map' variant produces a fully lazy |
2021-11-19 21:31:37 +0100 | <tomsmeding> | result. |
2021-11-19 21:31:59 +0100 | <tomsmeding> | The only weird cases are the 'Without let' cases in the 'With typesig' column: i.e. a :: [Char] ; a = ... |
2021-11-19 21:32:19 +0100 | <EvanR> | i didn't think the type sig mattered... |
2021-11-19 21:33:04 +0100 | <dolio> | zincy_: Tee only has 'read from left' and 'read from right'. Wye has, 'read from either input; I don't care which.' |
2021-11-19 21:34:24 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:cc0f:3c1b:cb:bfd6) (Ping timeout: 268 seconds) |
2021-11-19 21:35:13 +0100 | <dolio> | So it's impossible for Tee to read from whichever is currently available, for instance. |
2021-11-19 21:35:56 +0100 | acidjnk | (~acidjnk@2001:16b8:671e:6000:64a5:6a76:f3c4:2f23) |
2021-11-19 21:36:42 +0100 | fresheyeball | (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) |
2021-11-19 21:37:06 +0100 | <dolio> | Tee is for things like zipping two streams, and Wye is for interleaving. |
2021-11-19 21:37:30 +0100 | chisui | (~chisui@2001:16b8:6687:d600:ec27:7b7a:c771:651e) (Quit: Client closed) |
2021-11-19 21:37:50 +0100 | <zincy_> | So Wye there is no order to sequences of input reading |
2021-11-19 21:38:25 +0100 | <dolio> | You can still request particular sides with Wye. But you can't do something unordered with Tee. |
2021-11-19 21:39:16 +0100 | <zincy_> | Do you know of any good examples for getting started writing a card game in Machines? |
2021-11-19 21:39:36 +0100 | <dolio> | I don't. |
2021-11-19 21:39:54 +0100 | <zincy_> | ah no worries |
2021-11-19 21:40:57 +0100 | <zincy_> | If I want to model a player which has state and has a moore machine as input representing the game state should the player be written as a custom plan? |
2021-11-19 21:41:52 +0100 | <zincy_> | Actions would come in from a source to the machine, but also the other moore machine for game state would |
2021-11-19 21:41:56 +0100 | <zincy_> | be another input |
2021-11-19 21:43:38 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) |
2021-11-19 21:43:57 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fabc-15.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-11-19 21:44:50 +0100 | <dolio> | I'm not sure. I haven't thought about machines in a long time. I just remember the basics. |
2021-11-19 21:45:21 +0100 | <zincy_> | no worries |
2021-11-19 21:45:31 +0100 | <EvanR> | an interactive coupling between a player and a computer game, or two players, or two computers could be modeled with a shared history that they simultaneously try to add to. With the catch that whoever adds "first" (prior in time) forces the other guy to recompute their move (they are interrupted) |
2021-11-19 21:45:45 +0100 | <zincy_> | I wonder if I can get away with using streamly instead |
2021-11-19 21:45:46 +0100 | <EvanR> | if both sides add to the same point in time, no problem |
2021-11-19 21:46:42 +0100 | <zincy_> | interesting |
2021-11-19 21:47:13 +0100 | <EvanR> | also either side can wait forever until something changes |
2021-11-19 21:47:16 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) |
2021-11-19 21:47:58 +0100 | <monochrom> | It may be useful to have a machine for the game master. |
2021-11-19 21:49:17 +0100 | <zincy_> | yeah the game master is essentially a moore machine |
2021-11-19 21:51:28 +0100 | <monochrom> | RPGs taught me the value of spelling out that there is a game master, and if the game needs someone to do something but it would be wrong to ask any player to do it, then let the game master do it. |
2021-11-19 21:51:30 +0100 | favonia | (~favonia@user/favonia) (Ping timeout: 256 seconds) |
2021-11-19 21:51:32 +0100 | yauhsien | (~yauhsien@61-231-35-209.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-11-19 21:52:17 +0100 | <monochrom> | RPG : game master : players :: Haskell : IO : pure sublanguage |
2021-11-19 21:52:53 +0100 | <EvanR> | you hope IO is not a killer DM |
2021-11-19 21:53:06 +0100 | <int-e> | So only the DM is allowed to cuss? |
2021-11-19 21:53:11 +0100 | <monochrom> | Including the role of IO as the kitchen sink for every dirty thing that doesn't look like pure FP :) |
2021-11-19 21:53:49 +0100 | <monochrom> | You want IORefs? IO. You want threads? IO. You want STM? IO. |
2021-11-19 21:53:53 +0100 | <int-e> | (if it isn't flawed then it isn't an analogy) |
2021-11-19 21:54:09 +0100 | <monochrom> | Ugh I tend to make flawless analogies. |
2021-11-19 21:54:46 +0100 | <monochrom> | What I call analogies, mathematicians say "homomorphism", sometimes even "isomorphism". |
2021-11-19 21:54:54 +0100 | <monochrom> | Unlike normal people analogies. |
2021-11-19 21:55:38 +0100 | <EvanR> | isn't that javascript, analogies are called isomorphisms xD |
2021-11-19 21:55:49 +0100 | <monochrom> | Ugh yikes haha |
2021-11-19 21:56:37 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 256 seconds) |
2021-11-19 21:58:11 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 22:00:17 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:5000:2c7a:ffb3:dbe2) (Remote host closed the connection) |
2021-11-19 22:00:33 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:e439:7cf7:eb8b:77aa) |
2021-11-19 22:00:46 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:78f3:43f3:fd48:5ac3) (Remote host closed the connection) |
2021-11-19 22:01:16 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) |
2021-11-19 22:03:58 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-11-19 22:08:15 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) (Remote host closed the connection) |
2021-11-19 22:13:01 +0100 | <tomsmeding> | EvanR: https://gitlab.haskell.org/ghc/ghc/-/issues/20687#note_392794 |
2021-11-19 22:13:47 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:e439:7cf7:eb8b:77aa) (Remote host closed the connection) |
2021-11-19 22:14:04 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:5d2d:5d37:b74:c17b) |
2021-11-19 22:15:13 +0100 | <EvanR> | so, it's like quicksand. The only thing you can do is nothing, at least it won't get worse |
2021-11-19 22:15:39 +0100 | sm2n | (~sm2n@user/sm2n) (Read error: Connection reset by peer) |
2021-11-19 22:15:47 +0100 | dsrt^ | (~dsrt@68.101.63.101) |
2021-11-19 22:16:06 +0100 | sm2n | (~sm2n@user/sm2n) |
2021-11-19 22:17:57 +0100 | <tomsmeding> | accurate :) |
2021-11-19 22:18:07 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) |
2021-11-19 22:20:38 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-11-19 22:21:06 +0100 | turlando | (~turlando@user/turlando) (Ping timeout: 260 seconds) |
2021-11-19 22:21:14 +0100 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
2021-11-19 22:21:14 +0100 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
2021-11-19 22:21:14 +0100 | turlando | (~turlando@user/turlando) |
2021-11-19 22:22:25 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:5d2d:5d37:b74:c17b) (Remote host closed the connection) |
2021-11-19 22:22:43 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:2df4:3045:88e8:7284) |
2021-11-19 22:27:25 +0100 | mei | (~mei@user/mei) (Ping timeout: 268 seconds) |
2021-11-19 22:30:27 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-11-19 22:30:49 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fabc-15.dhcp.inet.fi) |
2021-11-19 22:32:39 +0100 | mjrosenb | (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) |
2021-11-19 22:35:35 +0100 | rusty | (~rustyboy@82.77.237.221) (Quit: Leaving) |
2021-11-19 22:36:41 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2021-11-19 22:40:34 +0100 | sm2n | (~sm2n@user/sm2n) (Read error: Connection reset by peer) |
2021-11-19 22:40:51 +0100 | fresheyeball | (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-11-19 22:41:36 +0100 | sm2n | (~sm2n@user/sm2n) |
2021-11-19 22:43:25 +0100 | __monty__ | (~toonn@user/toonn) |
2021-11-19 22:46:49 +0100 | michalz | (~michalz@185.246.204.119) (Remote host closed the connection) |
2021-11-19 22:49:46 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-11-19 22:53:05 +0100 | rusty | (~rustyboy@82.77.237.221) |
2021-11-19 22:53:19 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 268 seconds) |
2021-11-19 22:54:02 +0100 | rusty | (~rustyboy@82.77.237.221) (Client Quit) |
2021-11-19 22:54:28 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-19 22:58:11 +0100 | aegon | (~mike@174.127.249.180) |
2021-11-19 23:01:07 +0100 | BobFang1992 | (~textual@2a01:4b00:87fe:be00:2087:7385:664a:83cd) |
2021-11-19 23:08:38 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) |
2021-11-19 23:09:17 +0100 | <dsal> | I refuse to learn where `asum` is |
2021-11-19 23:09:28 +0100 | <Hecate> | % :i asum |
2021-11-19 23:09:29 +0100 | <yahb> | Hecate: asum :: (Foldable t, Alternative f) => t (f a) -> f a -- Defined in `Data.Foldable' |
2021-11-19 23:09:39 +0100 | <Hecate> | dsal: it's okay, the bot knows it for you |
2021-11-19 23:09:46 +0100 | <dsal> | I used @hoogle in pm |
2021-11-19 23:09:59 +0100 | <dsal> | It's not my first or second choice. |
2021-11-19 23:13:10 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f4b8:2aef:8963:2af8) (Ping timeout: 265 seconds) |
2021-11-19 23:14:21 +0100 | BobFang1992 | bobfang1992_ |
2021-11-19 23:14:54 +0100 | <dsal> | Turns out I was just reinventing optional anyway. |
2021-11-19 23:15:50 +0100 | <dsal> | My first attempt was like `((Just <$> p) <|> pure Nothing)` Then I translated it from lisp to `asum [Just <$> p, pure Nothing]` which is `optional p` |
2021-11-19 23:16:15 +0100 | rusty | (~rustyboy@82.77.237.221) |
2021-11-19 23:17:24 +0100 | <jle`> | is there a way to have cabal install default to --overwrite-policy=always ? |
2021-11-19 23:18:05 +0100 | <sclv> | you can set it in the ~/.cabal/config file |
2021-11-19 23:18:23 +0100 | <jle`> | ooh thanks :) |
2021-11-19 23:19:55 +0100 | mimmy | (~mimmy@146.70.75.190) (Ping timeout: 256 seconds) |
2021-11-19 23:20:02 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2021-11-19 23:21:00 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-11-19 23:24:21 +0100 | lbseale_ | (~ep1ctetus@user/ep1ctetus) |
2021-11-19 23:26:01 +0100 | <[itchyjunk]> | noob question, i get this error : https://bpa.st/WGRA. i thought maybe i am not using runghc properly but trying to compile gives me an issue too |
2021-11-19 23:26:08 +0100 | <[itchyjunk]> | my code is `sum a b = a + b` |
2021-11-19 23:27:09 +0100 | <sm> | whats in sumFunction.hs ? |
2021-11-19 23:27:14 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:7d84:ffec:9a44:a68d) (Quit: gone to sleep. ZZZzzz…) |
2021-11-19 23:27:54 +0100 | <[itchyjunk]> | just that one line :( |
2021-11-19 23:28:01 +0100 | <[itchyjunk]> | it seems i need to use main somehow |
2021-11-19 23:28:28 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Ping timeout: 268 seconds) |
2021-11-19 23:28:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-19 23:29:19 +0100 | <pavonia> | main = putStrLn $ sum 2 3 |
2021-11-19 23:29:23 +0100 | <sm> | ah yes. runghc will run the `main` function |
2021-11-19 23:29:23 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-11-19 23:29:23 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-11-19 23:29:26 +0100 | allbery_b | geekosaur |
2021-11-19 23:29:32 +0100 | <pavonia> | * main = putStrLn $ show $ sum 2 3 |
2021-11-19 23:29:34 +0100 | <[itchyjunk]> | ah |
2021-11-19 23:30:08 +0100 | <monochrom> | If you don't want to have a "main", consider "ghc -e" instead. |
2021-11-19 23:31:11 +0100 | sm | wonders how to force brick to render a widget once, to generate a viewport, so I can adjust the scroll position, before first rendering the screen |
2021-11-19 23:31:45 +0100 | mimmy | (~mimmy@146.70.75.189) |
2021-11-19 23:32:02 +0100 | deadmarshal | (~deadmarsh@95.38.116.147) (Ping timeout: 260 seconds) |
2021-11-19 23:32:11 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2021-11-19 23:32:42 +0100 | <monochrom> | Either "ghc -e 'sum 2 3' sumFunction.hs" or "ghc sumFunction.hs -e 'sum 2 3'" |
2021-11-19 23:34:39 +0100 | <[itchyjunk]> | ah, guess it also doesn't like "sum", changing to add with what you suggest works. or using that main |
2021-11-19 23:34:50 +0100 | <monochrom> | Yes, that too. |
2021-11-19 23:34:57 +0100 | <[itchyjunk]> | interesting, the random tutorials i am looking at assumes i do everything inside ghci so it never mentions these things |
2021-11-19 23:35:00 +0100 | <monochrom> | > sum [3,1,4,1,5] |
2021-11-19 23:35:01 +0100 | <lambdabot> | 14 |
2021-11-19 23:35:03 +0100 | <byorgey> | sm: I have wondered things like that too. I'm not sure it's possible. |
2021-11-19 23:35:14 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:2df4:3045:88e8:7284) (Ping timeout: 260 seconds) |
2021-11-19 23:35:39 +0100 | lbseale_ | lbseale |
2021-11-19 23:35:43 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:42c4:fa07:876d:825a) |
2021-11-19 23:36:03 +0100 | <sm> | byorgey: cool. https://github.com/jtdaugherty/brick/issues/170 is about this but I'm not quite seeing the solution |
2021-11-19 23:38:00 +0100 | <[itchyjunk]> | i renamed my file and function and now it suddenly doesn't work again ;_; |
2021-11-19 23:38:11 +0100 | <sm> | not a quick fix it seems, I'll come back it |
2021-11-19 23:38:48 +0100 | <[itchyjunk]> | https://bpa.st/2JGA |
2021-11-19 23:38:55 +0100 | <[itchyjunk]> | https://bpa.st/UGMQ |
2021-11-19 23:39:02 +0100 | <[itchyjunk]> | code and error respectively |
2021-11-19 23:39:48 +0100 | <pavonia> | What's the name of the file? |
2021-11-19 23:39:58 +0100 | <[itchyjunk]> | addFunction.hs |
2021-11-19 23:40:10 +0100 | <monochrom> | "Did you save?" |
2021-11-19 23:40:14 +0100 | <[itchyjunk]> | yes |
2021-11-19 23:40:57 +0100 | <pavonia> | It really looks like you're compiling the wrong file |
2021-11-19 23:41:12 +0100 | <monochrom> | Works for me. |
2021-11-19 23:42:06 +0100 | <[itchyjunk]> | ah yes i was editing the wrong file maybe |
2021-11-19 23:42:14 +0100 | rusty | (~rustyboy@82.77.237.221) (Remote host closed the connection) |
2021-11-19 23:42:39 +0100 | <[itchyjunk]> | i was :( |
2021-11-19 23:43:04 +0100 | <[itchyjunk]> | so is it best practice to just figure out how to include main everywhere? i'll need that eventually? |
2021-11-19 23:43:06 +0100 | <monochrom> | BTW our favourite https://paste.tomsmeding.com supports putting multiple files/blocks on the same page so no one needs to keep switching tabs any more. |
2021-11-19 23:43:58 +0100 | <byorgey> | [itchyjunk]: no, you don't need main unless you are writing an application you want to compile to an executable. |
2021-11-19 23:44:11 +0100 | <monochrom> | It is best practice to learn about "main". But it is not best practice to assume that one size fits all. |
2021-11-19 23:44:49 +0100 | <[itchyjunk]> | hmm |
2021-11-19 23:45:01 +0100 | <monochrom> | "it depends" is the only correct rule of thumb, best practice, state of the art, cream of the crop, and correct answer. |
2021-11-19 23:45:03 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-19 23:45:16 +0100 | retro_ | (~retro@97e2ba2e.skybroadband.com) |
2021-11-19 23:45:45 +0100 | <[itchyjunk]> | do beginners just write functions, load it into ghci and test it there? |
2021-11-19 23:45:59 +0100 | <byorgey> | [itchyjunk]: yes, for learning, instead of using runghc / ghc -e, I recommend testing in ghci |
2021-11-19 23:46:10 +0100 | <monochrom> | Yes, most do, it's OK. |
2021-11-19 23:46:12 +0100 | <byorgey> | experts also do that. |
2021-11-19 23:46:13 +0100 | <pavonia> | That's what the pros do too 8) |
2021-11-19 23:47:17 +0100 | <monochrom> | Writing "main" early is also OK. It just means a different path of learning. Some books teach it that way. |
2021-11-19 23:48:05 +0100 | <hpc> | whatever happens to give you the tightest write/test/debug loop in the moment |
2021-11-19 23:48:16 +0100 | <monochrom> | Even for Python, both teaching camps co-exist. |
2021-11-19 23:48:49 +0100 | <monochrom> | And in the case of PHP and Javascript, "what main?". |
2021-11-19 23:48:49 +0100 | retroid_ | (~retro@97e2ba2e.skybroadband.com) (Ping timeout: 268 seconds) |
2021-11-19 23:49:10 +0100 | bobfang1992_ | (~textual@2a01:4b00:87fe:be00:2087:7385:664a:83cd) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-19 23:49:15 +0100 | <[itchyjunk]> | I am in a "OOP" class and it's being taught using java. that does have the `main() { }` thing going as well |
2021-11-19 23:49:52 +0100 | <geekosaur> | most compiled languages do |
2021-11-19 23:51:39 +0100 | <[itchyjunk]> | the signature for my `add a b = a + b` should takes a value `b` of type `int->int` and applies `a` of type `int` ? so `add :: int a => int->(int->int)` would make sense no? |
2021-11-19 23:52:05 +0100 | <monochrom> | No. |
2021-11-19 23:52:54 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
2021-11-19 23:52:55 +0100 | <monochrom> | Either "Integer -> Integer -> Integer" to KISS, or "Num a => a -> a -> a" if you're ready for type classes. |
2021-11-19 23:53:54 +0100 | <monochrom> | b is not going to be Integer->Integer. |
2021-11-19 23:53:56 +0100 | <[itchyjunk]> | hmm google isn't giving me a good result for `haskell KILL` |
2021-11-19 23:54:18 +0100 | <geekosaur> | ? |
2021-11-19 23:54:25 +0100 | <monochrom> | Yeah that would sound pretty murderous. Google has reported you to the police! |
2021-11-19 23:54:29 +0100 | <[itchyjunk]> | KISS* |
2021-11-19 23:54:38 +0100 | <geekosaur> | "KISS" = "keep it simple, s…" |
2021-11-19 23:54:40 +0100 | <monochrom> | keep it simple and stupid |
2021-11-19 23:56:02 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:42c4:fa07:876d:825a) (Ping timeout: 240 seconds) |
2021-11-19 23:56:17 +0100 | <[itchyjunk]> | ah |
2021-11-19 23:56:41 +0100 | <EvanR> | keep it stupid simple |
2021-11-19 23:56:50 +0100 | <monochrom> | A long forgotten virtue. |
2021-11-19 23:56:55 +0100 | xff0x | (~xff0x@2001:1a81:53ef:fb00:8923:f787:bbfb:445e) |
2021-11-19 23:56:57 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-11-19 23:57:17 +0100 | <[itchyjunk]> | i thought `+` had the type int->(int->int) and you start evaluating from the right so + 2 would give me a value of type (int -> int) and 2 + 2 would be int -> (int -> int) |
2021-11-19 23:57:32 +0100 | evocatus | (~evocatus@213.193.2.105) |
2021-11-19 23:57:39 +0100 | <[itchyjunk]> | i was trying to apply that to the sum as well |
2021-11-19 23:57:53 +0100 | <Rembane_> | :t (+) -- if we're lucky this will be a hint |
2021-11-19 23:57:54 +0100 | <lambdabot> | Num a => a -> a -> a |
2021-11-19 23:58:05 +0100 | <monochrom> | Nah, "2+2" is syntax sugar for "((+) 2) 2". |
2021-11-19 23:58:31 +0100 | <monochrom> | Similarly "(add 2) 3". |
2021-11-19 23:59:36 +0100 | <[itchyjunk]> | hmmmmmm |