Logs on 2021-05-11 (freenode/#haskell)
| 00:00:22 | Alleria | is now known as Guest46484 |
| 00:04:13 | × | Guest46484 quits (~textual@2603-7000-3040-0000-bdb6-a38d-2635-929e.res6.spectrum.com) (Ping timeout: 250 seconds) |
| 00:05:37 | → | Alleria__ joins (~textual@2603-7000-3040-0000-bdb6-a38d-2635-929e.res6.spectrum.com) |
| 00:10:46 | × | Katarushisu quits (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
| 00:11:58 | → | Katarushisu joins (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) |
| 00:12:33 | × | rj quits (~x@gateway/tor-sasl/rj) (Quit: rj) |
| 00:12:50 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 00:13:06 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 00:13:37 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 00:14:16 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 00:14:45 | × | andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds) |
| 00:15:26 | <edwardk> | nolrai: no it isn't. |
| 00:15:33 | × | mikoto-chan quits (~mikoto-ch@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 00:16:32 | × | vite quits (~vite@185.204.1.185) (Remote host closed the connection) |
| 00:17:01 | → | andreas303 joins (~andreas@gateway/tor-sasl/andreas303) |
| 00:17:11 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 00:17:26 | <edwardk> | nolrai: you can almost get the same result by using -fexpose-all-unfoldings and -fspecialize-aggressively -- that is if you do so in all the code that depends on your library IIRC. |
| 00:18:04 | <geekosaur> | isn't compilation going to be a lot slower in any module that imports said module? |
| 00:19:06 | → | bennofs__ joins (~quassel@dynamic-077-013-025-172.77.13.pool.telefonica.de) |
| 00:19:35 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 00:20:35 | × | nolrai quits (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Connection closed) |
| 00:20:47 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:5a0:c951:bf9:2db8) (Ping timeout: 260 seconds) |
| 00:21:26 | → | urdh joins (~urdh@unaffiliated/urdh) |
| 00:22:55 | × | acidjnk_new2 quits (~acidjnk@p200300d0c72b9550dd7ca825465ad778.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 00:23:06 | × | bennofs_ quits (~quassel@x4db709cf.dyn.telefonica.de) (Ping timeout: 260 seconds) |
| 00:29:16 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) |
| 00:31:13 | × | mrchampion quits (~mrchampio@38.18.109.23) (Ping timeout: 240 seconds) |
| 00:31:29 | <minoru_shiraeesh> | what is haskell wiki's url? |
| 00:31:59 | <minoru_shiraeesh> | it's weird that it's not listed in subreddit |
| 00:32:28 | → | kireguy joins (~kireguy@185.204.1.185) |
| 00:32:32 | × | nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 268 seconds) |
| 00:33:37 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:b6b3:41e:9821:2954) |
| 00:34:29 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 00:34:32 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
| 00:34:33 | → | mrchampion joins (~mrchampio@38.18.109.23) |
| 00:35:21 | <minoru_shiraeesh> | I think it's wiki.haskell.org |
| 00:35:51 | → | nolrai joins (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) |
| 00:37:42 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:38:05 | × | m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 268 seconds) |
| 00:38:24 | × | elliott_ quits (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 00:38:41 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 00:42:24 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds) |
| 00:43:47 | <minoru_shiraeesh> | where is haskell meta-tutorial? |
| 00:43:58 | → | Codaraxis_ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 00:44:06 | <minoru_shiraeesh> | this url gives 404 not found error: https://www.haskell.org/haskellwiki/Meta-tutorial |
| 00:44:41 | <minoru_shiraeesh> | I found a link on haskell page on wikibooks |
| 00:46:11 | <geekosaur> | https://wiki.haskell.org/Meta-tutorial ? |
| 00:46:41 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 00:47:08 | × | Codaraxis quits (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 246 seconds) |
| 00:47:47 | <minoru_shiraeesh> | this is it! thanks |
| 00:47:49 | × | nolrai quits (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Connection closed) |
| 00:48:05 | × | ep1ctetus_ quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Quit: Leaving) |
| 00:51:39 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds) |
| 00:52:01 | × | waleee-cl quits (uid373333@gateway/web/irccloud.com/x-tgwozfrjgszjeomb) (Quit: Connection closed for inactivity) |
| 00:54:41 | × | jao quits (~jao@pdpc/supporter/professional/jao) (Remote host closed the connection) |
| 00:55:18 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 00:55:19 | → | stree joins (~stree@68.36.8.116) |
| 00:55:47 | × | Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 250 seconds) |
| 00:56:19 | → | Cthalupa joins (~cthulhu@47.186.47.75) |
| 00:59:26 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 01:01:30 | × | undvrainbowvita8 quits (~egp_@128-71-13-3.broadband.corbina.ru) (Read error: Connection reset by peer) |
| 01:06:03 | × | xff0x quits (~xff0x@2001:1a81:53c1:c00:d3cf:b4c5:fad:7731) (Ping timeout: 260 seconds) |
| 01:06:45 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 01:07:13 | → | nvmd joins (~nvmd@177.30.111.232) |
| 01:07:22 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 01:07:40 | → | xff0x joins (~xff0x@2001:1a81:53fb:1000:2c1d:2721:9e36:7aea) |
| 01:08:29 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:10:49 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 01:11:23 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 268 seconds) |
| 01:11:49 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) |
| 01:12:20 | → | carlomagno1 joins (~cararell@148.87.23.11) |
| 01:12:51 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:13:45 | × | MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾) |
| 01:13:59 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:14:22 | → | MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru) |
| 01:14:41 | × | deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 240 seconds) |
| 01:14:46 | × | carlomagno quits (~cararell@148.87.23.12) (Ping timeout: 240 seconds) |
| 01:18:29 | → | deviantfero joins (~deviantfe@190.150.27.58) |
| 01:23:56 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 01:24:19 | × | puffnfresh quits (~puffnfres@45.76.124.5) (Ping timeout: 265 seconds) |
| 01:24:36 | → | puffnfresh joins (~puffnfres@45.76.124.5) |
| 01:25:09 | → | jao joins (~jao@pdpc/supporter/professional/jao) |
| 01:27:04 | → | falafel joins (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) |
| 01:27:27 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 01:27:46 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 01:28:19 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 245 seconds) |
| 01:32:30 | → | xcmw joins (~textual@2603-6011-2200-f103-5955-2007-b8ef-9f55.res6.spectrum.com) |
| 01:33:52 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 01:35:03 | → | undvrainbowvita8 joins (~egp_@128-71-13-3.broadband.corbina.ru) |
| 01:35:41 | × | tempate quits (~tempate@unaffiliated/tempate) (Ping timeout: 240 seconds) |
| 01:36:38 | → | tempate joins (~tempate@90.173.107.9) |
| 01:36:39 | × | tempate quits (~tempate@90.173.107.9) (Changing host) |
| 01:36:39 | → | tempate joins (~tempate@unaffiliated/tempate) |
| 01:38:20 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 01:38:54 | × | hypercube quits (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Quit: WeeChat 3.1) |
| 01:41:04 | → | drbean_ joins (~drbean@TC210-63-209-99.static.apol.com.tw) |
| 01:47:42 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Ping timeout: 240 seconds) |
| 01:49:00 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 01:49:26 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:50:42 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:51:21 | → | rajivr joins (uid269651@gateway/web/irccloud.com/x-hrgaorfqejcowubk) |
| 01:54:33 | × | dpl_ quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds) |
| 02:00:11 | × | EvilMagix quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 260 seconds) |
| 02:00:53 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 02:05:11 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds) |
| 02:06:10 | → | wei2912 joins (~wei2912@unaffiliated/wei2912) |
| 02:06:22 | × | CrazyPython quits (~crazypyth@98.122.164.118) (Ping timeout: 265 seconds) |
| 02:07:49 | → | hypercube joins (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) |
| 02:08:39 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 02:09:01 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 250 seconds) |
| 02:09:08 | → | Iceland_jack joins (~user@95.147.45.92) |
| 02:09:29 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 02:10:25 | → | nineonine joins (~nineonine@50.216.62.2) |
| 02:11:12 | × | sheepduck quits (~sheepduck@2607:fea8:2a62:9600::5ac6) (Remote host closed the connection) |
| 02:12:48 | → | husixu joins (~husixu@137.132.117.40) |
| 02:12:49 | → | sheepduck joins (~sheepduck@2607:fea8:2a62:9600::5ac6) |
| 02:13:06 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 02:13:55 | <ski> | @wiki |
| 02:13:55 | <lambdabot> | https://wiki.haskell.org |
| 02:19:13 | × | theDon quits (~td@muedsl-82-207-238-124.citykom.de) (Ping timeout: 268 seconds) |
| 02:20:53 | → | theDon joins (~td@muedsl-82-207-238-242.citykom.de) |
| 02:21:39 | × | falafel quits (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) (Ping timeout: 245 seconds) |
| 02:23:11 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 02:27:42 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 02:27:42 | finn_elija | is now known as Guest16233 |
| 02:27:43 | FinnElija | is now known as finn_elija |
| 02:27:53 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 02:30:12 | → | Tops2 joins (~Tobias@dyndsl-095-033-094-242.ewe-ip-backbone.de) |
| 02:31:09 | × | Guest16233 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
| 02:31:54 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) |
| 02:33:47 | × | sheepduck quits (~sheepduck@2607:fea8:2a62:9600::5ac6) (Remote host closed the connection) |
| 02:34:13 | × | yahb quits (xsbot@haskell/bot/yahb) (Ping timeout: 240 seconds) |
| 02:35:16 | → | sheepduck joins (~sheepduck@2607:fea8:2a62:9600::5ac6) |
| 02:38:52 | → | yahb joins (xsbot@178.219.36.155) |
| 02:38:52 | × | yahb quits (xsbot@178.219.36.155) (Changing host) |
| 02:38:52 | → | yahb joins (xsbot@haskell/bot/yahb) |
| 02:40:46 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds) |
| 02:42:22 | <minoru_shiraeesh> | ski: yes, that's the wiki I was talking about, thanks |
| 02:44:12 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 02:47:03 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 02:47:56 | × | BIG_JIMMY_D quits (~jim@108.61.185.76) (Ping timeout: 265 seconds) |
| 02:48:06 | × | mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 240 seconds) |
| 02:48:48 | → | BIG_JIMMY_D joins (~jim@108.61.185.76) |
| 02:48:56 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds) |
| 02:51:25 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 252 seconds) |
| 02:52:45 | <minoru_shiraeesh> | so let's say I want to add a page about various ways of solving a task, like architectural patterns, approaches, something like that |
| 02:53:22 | <minoru_shiraeesh> | does a page like that fit into haskell wiki? |
| 02:53:30 | → | jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg) |
| 02:53:44 | × | BIG_JIMMY_D quits (~jim@108.61.185.76) (Ping timeout: 265 seconds) |
| 02:54:24 | <minoru_shiraeesh> | or wikibooks |
| 02:54:44 | → | BIG_JIMMY_D joins (~jim@108.61.185.76) |
| 02:54:50 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-uarnrolikdibusqq) () |
| 02:56:16 | → | ADG1089 joins (~aditya@223.226.229.98) |
| 02:56:41 | <ADG1089> | even with the constrained nature of language is it possible to write crap code in haskell? |
| 02:57:32 | × | jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 240 seconds) |
| 02:58:41 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 03:03:13 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 03:03:24 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds) |
| 03:06:47 | <nshepperd> | certainly |
| 03:08:12 | <pjb> | I'd even say it's easier. |
| 03:10:42 | × | wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
| 03:15:08 | × | sheepduck quits (~sheepduck@2607:fea8:2a62:9600::5ac6) (Remote host closed the connection) |
| 03:16:35 | → | stree joins (~stree@68.36.8.116) |
| 03:16:42 | → | sheepduck joins (~sheepduck@2607:fea8:2a62:9600::5ac6) |
| 03:16:55 | → | Natch joins (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) |
| 03:18:26 | <minoru_shiraeesh> | the only article from wiki haskell I remember reading was about folds |
| 03:19:31 | × | sheepduck quits (~sheepduck@2607:fea8:2a62:9600::5ac6) (Remote host closed the connection) |
| 03:19:53 | → | sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6) |
| 03:20:34 | <minoru_shiraeesh> | I want to create a page that will list a collection of various ways of creating an application |
| 03:21:18 | <minoru_shiraeesh> | something like a cookbook with emphasis on design patterns |
| 03:21:51 | <minoru_shiraeesh> | does haskell wiki have pages like that? |
| 03:22:32 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
| 03:23:07 | × | renzhi quits (~renzhi@2607:fa49:6500:bc00::e7b) (Ping timeout: 250 seconds) |
| 03:23:11 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 03:23:45 | <minoru_shiraeesh> | I see there's a "Haskell in Practice" section in wikibooks, and under it there is "Specialized Tasks" part |
| 03:24:05 | <minoru_shiraeesh> | I think the page I'm describing is going to fit there |
| 03:24:13 | <minoru_shiraeesh> | how about haskell wiki? |
| 03:28:24 | → | EvilMagix joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 03:33:03 | × | sheepduck quits (~sheepduck@2607:fea8:2a62:9600::9ba6) (Remote host closed the connection) |
| 03:34:19 | <ADG1089> | pjb: for example? |
| 03:35:25 | → | sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6) |
| 03:35:49 | × | xkapastel quits (uid17782@gateway/web/irccloud.com/x-porhvditswtjxxbh) (Quit: Connection closed for inactivity) |
| 03:37:00 | × | sheepduck quits (~sheepduck@2607:fea8:2a62:9600::9ba6) (Remote host closed the connection) |
| 03:37:34 | → | sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6) |
| 03:45:57 | → | hololeap joins (hololeap@gateway/vpn/protonvpn/hololeap) |
| 03:50:21 | <minoru_shiraeesh> | I think it's possible to write bad code in any language, writing good code - depends on the language |
| 03:51:18 | <minoru_shiraeesh> | although it's going to be hard to distinguish bad and good code in the whitespace language, for example |
| 03:54:06 | × | Athas quits (athas@2a01:7c8:aaac:1cf:2394:476b:619f:8554) (Quit: ZNC - http://znc.sourceforge.net) |
| 03:54:16 | → | Athas joins (athas@sigkill.dk) |
| 03:55:57 | <pjb> | ADG1089: you have a lot of abstraction tools that you can abuse to write overly sophisticated code. |
| 03:56:54 | <hololeap> | some people find `fmap` over the function instance of Functor to be bad code, but others seem to like it. there's a lot of ambiguity when it comes to what is considered "good code" |
| 03:58:39 | <ADG1089> | hololeap: that seems ok to me, fmap over (->) ? |
| 03:59:42 | <hololeap> | ADG1089: exactly. a lot of people see it as visually ambiguous, calling it "name that Functor/Applicative/Monad". i tend to agree :/ |
| 04:00:58 | <hololeap> | that's just an example where the syntactic options given by haskell create controversy |
| 04:01:27 | <ADG1089> | probably depends upon how much it allows for people to make mistakes |
| 04:01:49 | <ski> | `f . g' seems simpler to grasp, to me, than `fmap f g' or `f <$> g' |
| 04:02:05 | <hololeap> | the type system would prevent you from doing anyhing too far from what you want, but it might be hard to parse for someone reading your code |
| 04:02:08 | <ski> | similarly for `map f xs' over `fmap f xs' |
| 04:04:33 | <hololeap> | ski: i agree. using that isn't quite so generic can be good unless you have broken your code into a bunch of fragments with easy-to-parse type signatures |
| 04:05:24 | × | ADG1089 quits (~aditya@223.226.229.98) (Remote host closed the connection) |
| 04:05:24 | × | hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
| 04:10:28 | <ski> | occasionally, i think some code would be easier to follow, writing it as a series of transformations of types (focusing on spelling out the types explicitly, rather than focusing primarily on the steps) |
| 04:14:14 | <ski> | as an example of the kind of think i had in mind, would you prefer to read `join . fmap join', or `m a <-{join}-< m (m a) <-{fmap join}-< m (m (m a))' (or `id @(m a) . join . id @(m (m a)) . fmap join . id @(m (m (m a)))') ? |
| 04:14:32 | <ski> | s/think/thing/ |
| 04:18:47 | Axman6 | You can write PHP in any language... |
| 04:19:00 | <Axman6> | cccccckvtilvfvjnebecfchnkedrjcttjdkhubtnuvhj |
| 04:19:17 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 265 seconds) |
| 04:19:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:20:15 | <Axman6> | uh, thanks yubikey |
| 04:20:34 | ski | was thinking about blaming the cat |
| 04:20:52 | <ski> | (or perchance a toddler) |
| 04:20:53 | <justsomeguy> | Ah, the dreaded irc yubikey blast; I've done that maybe ten times now? |
| 04:21:41 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 04:21:49 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 04:25:01 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 268 seconds) |
| 04:25:38 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 04:25:38 | × | hyiltiz quits (~quassel@31.220.5.250) (Changing host) |
| 04:25:38 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 04:25:47 | × | sheepduck quits (~sheepduck@2607:fea8:2a62:9600::9ba6) (Remote host closed the connection) |
| 04:25:54 | → | Ishutin joins (~ishutin@92-249-185-177.pool.digikabel.hu) |
| 04:26:06 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 04:26:14 | × | dolio quits (~dolio@haskell/developer/dolio) (Ping timeout: 246 seconds) |
| 04:26:31 | <minoru_shiraeesh> | how about another problem: a lot of code with no documentation that you don't know how to approach |
| 04:26:41 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
| 04:27:08 | <Axman6> | is that a question? |
| 04:27:27 | <minoru_shiraeesh> | when you don't know where is the beginning and where is the end |
| 04:27:56 | <Iceland_jack> | minoru_shiraeesh: When faced with such a problem, I start by heavily adding type annotations |
| 04:27:57 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 04:27:58 | <Axman6> | then you read is more carefully. this is a very vague "question" |
| 04:28:08 | <Axman6> | it* |
| 04:28:33 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds) |
| 04:28:37 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 04:28:48 | <Iceland_jack> | Familiarizing myself with the types in general |
| 04:29:21 | <minoru_shiraeesh> | it happened to me several times. people just spit out a giant mountain of code and expect you to figure out what's going on |
| 04:29:37 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Read error: Connection reset by peer) |
| 04:30:16 | <minoru_shiraeesh> | of course you're going to figure it out eventually, but following the same logic we could create square wheels |
| 04:30:30 | <minoru_shiraeesh> | you just push it harder and it will move eventually, right? |
| 04:31:21 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 04:31:31 | → | Guest81 joins (~textual@cpe-108-185-120-135.socal.res.rr.com) |
| 04:31:56 | <Guest81> | Hello. I know ghcup + cabal is the recommended/popular way, but I'm going through the Haskell from first principles book which uses Stack. I've heard there could be issues with installing both ghcup and stack. Is that true? Or is it generally safe? Or is it trivial to replace stack with cabal for that book? |
| 04:32:33 | × | husixu quits (~husixu@137.132.117.40) (Ping timeout: 240 seconds) |
| 04:32:38 | <Axman6> | I find that it's very rare that it really is just a mountain of code without any organisation - one of your first goals should be to figure out where the entry point to the code is, if it is a program - this is often "main". |
| 04:33:02 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 04:33:32 | <Axman6> | Guest81: it's definitely "safe" to have both, they won't do any damage to each other, and if the tutorial is using stack, it might be a good idea to just use it, and later learn how to do the same things using cabal isntead |
| 04:33:45 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 04:35:25 | <minoru_shiraeesh> | maybe the lack experience played a role, but the square wheels example still applies |
| 04:35:27 | <Guest81> | Axman6: I guess my big concern is that I understand they both install ghc. |
| 04:35:50 | <Axman6> | yes, they will both intall ghc, though you can make stack use the ghc installed by ghcup |
| 04:36:19 | <minoru_shiraeesh> | and sometimes abstractions make it hard to follow the logic starting from main |
| 04:37:04 | <minoru_shiraeesh> | you start from main, stumble across several interfaces and then there are like 20 implementations of those interfaces in the project |
| 04:37:28 | <Axman6> | minoru_shiraeesh: these are very vague statements, we can definitely help you if you have something more concrete, but for any given piece of code, the methods you'll use to navigate it are likely to be different - do you have some specific code ytou are strugling with? |
| 04:38:31 | <minoru_shiraeesh> | I was just adding to the discussion of bad code |
| 04:39:38 | <Axman6> | tools like Haskell language server help a lot with that particular problem, becauxe you can find out which types are actually being used for a given piece of code |
| 04:40:03 | <minoru_shiraeesh> | spitting out a giant mountain of code without making it clear how to approach it - I think it also may be considered bad code |
| 04:41:35 | <Axman6> | The project I'm working on has over 300k lines of code, it takes months to get a good idea of how the system works. this is true of any sufficiently complex codebase and part of learning to program is being able to deal with complexity and start to put the pieces together yourself, and develop ways to explore which efficiently answer your questions |
| 04:42:23 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 04:42:40 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 252 seconds) |
| 04:44:02 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Quit: Leaving) |
| 04:44:10 | <Axman6> | pretty much by definition, all code bases become domain specific languages for the problem they exist to solve, and learning that language is a big part of the job |
| 04:44:21 | → | zaquest joins (~notzaques@5.128.210.178) |
| 04:44:49 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
| 04:44:52 | → | delonte joins (415f295b@gateway/web/cgi-irc/kiwiirc.com/ip.65.95.41.91) |
| 04:44:58 | × | Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Remote host closed the connection) |
| 04:44:58 | <minoru_shiraeesh> | Axman6: I think we're talking about different things, unless you're defending creating undocumented mess |
| 04:45:26 | × | carlomagno1 quits (~cararell@148.87.23.11) (Quit: Leaving.) |
| 04:45:28 | <Axman6> | what makes something an undocumented mess though? |
| 04:46:11 | <minoru_shiraeesh> | giant files with collections of things |
| 04:46:21 | × | drbean_ quits (~drbean@TC210-63-209-99.static.apol.com.tw) (Ping timeout: 265 seconds) |
| 04:46:34 | <Axman6> | what if the things are related? what if they are necessarily complex? |
| 04:46:43 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 04:46:44 | <minoru_shiraeesh> | and no documentation, no guide on how to navigate through it |
| 04:47:02 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-ovwhwsshlhgdvfva) (Quit: Connection closed for inactivity) |
| 04:47:26 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 04:47:28 | → | falafel joins (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) |
| 04:47:28 | → | drbean_ joins (~drbean@TC210-63-209-90.static.apol.com.tw) |
| 04:48:27 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
| 04:48:36 | <minoru_shiraeesh> | I expect a sane project to provide a description: here is the core, here are components, the core works like this, components work like this |
| 04:49:21 | <Axman6> | that only gets you so far in a large enough system though. you at some point need to know where you would expect to find the answers |
| 04:49:24 | × | alx741 quits (~alx741@186.178.109.110) (Quit: alx741) |
| 04:49:59 | <minoru_shiraeesh> | not having a description is a sign of overly optimising costs, trying to squeeze every last drop of productivity from every coder |
| 04:49:59 | → | Tops21 joins (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) |
| 04:50:08 | <minoru_shiraeesh> | bad companies do that |
| 04:50:09 | ← | delonte parts (415f295b@gateway/web/cgi-irc/kiwiirc.com/ip.65.95.41.91) () |
| 04:50:34 | <minoru_shiraeesh> | they overly optimise and it becomes counter-productive |
| 04:51:02 | <minoru_shiraeesh> | like "you want to document this thing? we don't have budget for that. go work on those tickets" |
| 04:51:19 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 252 seconds) |
| 04:51:28 | <Axman6> | There are ways to document a system which don't include writing comments for everything though - having a common language between the specification and the code is one particularly good way to do that |
| 04:51:57 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
| 04:52:26 | × | Tops2 quits (~Tobias@dyndsl-095-033-094-242.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 04:52:33 | <Axman6> | Like, the system I'm working on, the documentation is written before the code (and updated when discrepencies are found that require it) |
| 04:53:43 | → | mayleesia joins (~mayleesia@x4dbf5e45.dyn.telefonica.de) |
| 04:53:43 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Remote host closed the connection) |
| 04:53:53 | × | puke quits (~vroom@217.138.252.196) (Quit: puke) |
| 04:54:00 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 04:54:03 | → | minoru_shiraeesh joins (~shiraeesh@109.166.58.80) |
| 04:54:18 | → | mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au) |
| 04:55:45 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 04:55:45 | × | hyiltiz quits (~quassel@31.220.5.250) (Changing host) |
| 04:55:45 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 05:01:37 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Quit: ChaiTRex) |
| 05:02:21 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 05:02:27 | → | drbean- joins (~drbean@TC210-63-209-65.static.apol.com.tw) |
| 05:03:52 | → | oxide joins (~lambda@unaffiliated/mclaren) |
| 05:04:33 | × | drbean_ quits (~drbean@TC210-63-209-90.static.apol.com.tw) (Ping timeout: 260 seconds) |
| 05:05:04 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:05:57 | hackage | pantry 0.5.2 - Content addressable Haskell package management https://hackage.haskell.org/package/pantry-0.5.2 (MichaelSnoyman) |
| 05:08:55 | × | falafel quits (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) (Ping timeout: 276 seconds) |
| 05:10:59 | mayleesia | is now known as maylees |
| 05:11:06 | maylees | is now known as maylee |
| 05:11:28 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 05:12:11 | × | dorkside quits (~tdbgamer@208.190.197.222) (Ping timeout: 240 seconds) |
| 05:13:06 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
| 05:13:22 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 05:16:12 | × | Iceland_jack quits (~user@95.147.45.92) (Ping timeout: 268 seconds) |
| 05:16:41 | × | mjrosenb quits (~mrosenbe@nyc.schrodinger.com) (Ping timeout: 260 seconds) |
| 05:17:26 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 05:17:27 | × | kireguy quits (~kireguy@185.204.1.185) (Remote host closed the connection) |
| 05:18:10 | → | husixu joins (~husixu@137.132.117.40) |
| 05:18:11 | → | mjrosenb joins (~mrosenbe@nyc.schrodinger.com) |
| 05:19:52 | × | bollu quits (~bollu@139.59.46.74) (Remote host closed the connection) |
| 05:21:03 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1) |
| 05:21:48 | → | dorkside joins (~tdbgamer@208.190.197.222) |
| 05:22:01 | → | alexander joins (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d) |
| 05:22:30 | alexander | is now known as Guest63188 |
| 05:22:46 | × | mjrosenb quits (~mrosenbe@nyc.schrodinger.com) (Ping timeout: 240 seconds) |
| 05:23:44 | → | mjrosenb joins (~mrosenbe@nyc.schrodinger.com) |
| 05:24:41 | × | husixu quits (~husixu@137.132.117.40) (Quit: Leaving) |
| 05:24:52 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 05:26:06 | → | dcoutts__ joins (~dcoutts@unaffiliated/dcoutts) |
| 05:26:25 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 05:26:30 | × | Axman6 quits (~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection) |
| 05:26:32 | × | cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection) |
| 05:26:49 | → | Axman6 joins (~Axman6@pdpc/supporter/student/Axman6) |
| 05:27:04 | × | benwr____ quits (sid372383@gateway/web/irccloud.com/x-zfunchuzuyhbaxeg) (Ping timeout: 252 seconds) |
| 05:27:04 | × | JSharp quits (sid4580@wikia/JSharp) (Ping timeout: 252 seconds) |
| 05:27:40 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
| 05:27:42 | × | thi quits (sid97277@gateway/web/irccloud.com/x-bxukhjieydccrlak) (Read error: Connection reset by peer) |
| 05:27:42 | × | scav quits (sid309693@gateway/web/irccloud.com/x-hwaqsdaneehliysc) (Read error: Connection reset by peer) |
| 05:27:49 | → | benwr____ joins (sid372383@gateway/web/irccloud.com/x-jibixjkkfkziiusx) |
| 05:27:52 | → | thi joins (sid97277@gateway/web/irccloud.com/x-jdvipivusucaowzj) |
| 05:27:52 | → | scav joins (sid309693@gateway/web/irccloud.com/x-wleltzfltjnjinvr) |
| 05:28:00 | × | xensky quits (~xensky@xengarden.xen.prgmr.com) (Quit: No Ping reply in 180 seconds.) |
| 05:28:05 | → | JSharp joins (sid4580@wikia/JSharp) |
| 05:28:10 | × | tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 252 seconds) |
| 05:28:27 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 05:28:46 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 05:28:52 | → | cantstanya joins (~chatting@gateway/tor-sasl/cantstanya) |
| 05:29:05 | → | xensky joins (~xensky@xengarden.xen.prgmr.com) |
| 05:29:40 | → | tomku joins (~tomku@unaffiliated/tomku) |
| 05:30:22 | × | dcoutts quits (~dcoutts@unaffiliated/dcoutts) (Ping timeout: 252 seconds) |
| 05:30:59 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 05:31:10 | → | plutoniix joins (~q@ppp-58-8-180-74.revip2.asianet.co.th) |
| 05:31:41 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 246 seconds) |
| 05:32:02 | × | mrchampion quits (~mrchampio@38.18.109.23) (Remote host closed the connection) |
| 05:32:25 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 05:32:25 | × | hyiltiz quits (~quassel@31.220.5.250) (Changing host) |
| 05:32:25 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 05:32:46 | → | falafel joins (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) |
| 05:33:32 | → | dolio joins (~dolio@haskell/developer/dolio) |
| 05:33:33 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 05:35:15 | × | jao quits (~jao@pdpc/supporter/professional/jao) (Remote host closed the connection) |
| 05:37:00 | → | Sososasa joins (~textual@2600:1700:17f2:2b0:18fd:8e98:345a:ca5a) |
| 05:37:27 | → | stree joins (~stree@68.36.8.116) |
| 05:37:34 | → | sososasa85 joins (631789e2@99-23-137-226.lightspeed.tukrga.sbcglobal.net) |
| 05:39:00 | ← | sososasa85 parts (631789e2@99-23-137-226.lightspeed.tukrga.sbcglobal.net) () |
| 05:39:49 | <Sososasa> | Does anyone have suggestion for a good Haskell IDE? Currently using VS Code. |
| 05:40:47 | <hololeap> | Sososasa: it doesn't have the best LSP support, but i had a good experience with kate from KDE using haskell-language-server and ghcid |
| 05:41:01 | × | mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 260 seconds) |
| 05:41:49 | <hololeap> | i run ghcid in the built-in terminal in kate to give extra diagnostics whenever i savae |
| 05:41:51 | <hololeap> | *save |
| 05:46:41 | <hololeap> | LSP just works if you have haskell-language-server installed |
| 05:49:06 | <Sososasa> | @hololeap thank you |
| 05:49:06 | <lambdabot> | Unknown command, try @list |
| 05:50:31 | <sm[m]> | Axman6++ |
| 05:51:29 | <sm[m]> | evening all |
| 05:52:59 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 05:57:03 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:00:39 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:03:19 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 06:03:39 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:04:12 | → | mikoto-chan joins (~mikoto-ch@gateway/tor-sasl/mikoto-chan) |
| 06:04:56 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 06:06:00 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 06:09:32 | → | theos1 joins (~theos@185.163.110.100) |
| 06:11:03 | × | Sososasa quits (~textual@2600:1700:17f2:2b0:18fd:8e98:345a:ca5a) (Quit: Textual IRC Client: www.textualapp.com) |
| 06:14:49 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 06:14:52 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 06:15:13 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:15:48 | → | bitmagie joins (~Thunderbi@200116b806b92e00b8b7218edf9a11f7.dip.versatel-1u1.de) |
| 06:20:29 | × | bitmagie quits (~Thunderbi@200116b806b92e00b8b7218edf9a11f7.dip.versatel-1u1.de) (Client Quit) |
| 06:23:36 | → | coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) |
| 06:27:29 | → | pmj joins (~pmj@p4fe156fa.dip0.t-ipconnect.de) |
| 06:29:28 | × | xcmw quits (~textual@2603-6011-2200-f103-5955-2007-b8ef-9f55.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:29:35 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Ping timeout: 268 seconds) |
| 06:29:53 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 06:30:21 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 06:30:27 | → | xcmw joins (~textual@2603-6011-2200-f103-5955-2007-b8ef-9f55.res6.spectrum.com) |
| 06:30:38 | <tomsmeding> | sm[m]: morning :) |
| 06:30:49 | × | falafel quits (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) (Ping timeout: 245 seconds) |
| 06:30:59 | × | pmj quits (~pmj@p4fe156fa.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 06:31:09 | → | pmj joins (~pmj@p4fe156fa.dip0.t-ipconnect.de) |
| 06:34:14 | <sm[m]> | morning tomsmeding |
| 06:34:51 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 06:37:27 | hackage | greenclip 4.1.0 - Simple clipboard manager to be integrated with rofi https://hackage.haskell.org/package/greenclip-4.1.0 (erebe) |
| 06:39:57 | → | yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se) |
| 06:40:25 | ← | yoctocell parts (~user@h87-96-130-155.cust.a3fiber.se) () |
| 06:42:04 | → | dpl_ joins (~dpl@77-121-78-163.chn.volia.net) |
| 06:44:37 | × | EvilMagix quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds) |
| 06:44:54 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 06:46:40 | × | xcmw quits (~textual@2603-6011-2200-f103-5955-2007-b8ef-9f55.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 06:49:32 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 252 seconds) |
| 06:49:55 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 06:50:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:56:30 | → | Lowl3v3l joins (~Lowl3v3l@dslb-002-203-255-063.002.203.pools.vodafone-ip.de) |
| 06:58:08 | × | undvrainbowvita8 quits (~egp_@128-71-13-3.broadband.corbina.ru) (Remote host closed the connection) |
| 06:58:13 | → | m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
| 06:58:47 | → | chele joins (~chele@78.128.94.174) |
| 07:00:13 | × | pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-47-67-70-101-46.dsl.bell.ca) (Ping timeout: 240 seconds) |
| 07:02:16 | → | pieguy128 joins (~pieguy128@bas1-quebec14-67-70-101-46.dsl.bell.ca) |
| 07:03:07 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 07:03:26 | × | mikeplus32 quits (~mike@103.25.58.152) (Ping timeout: 240 seconds) |
| 07:03:43 | → | mikeplus32 joins (~mike@2406:d500:6:1:216:3cff:fe36:651) |
| 07:04:58 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 07:09:54 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 265 seconds) |
| 07:10:09 | → | LKoen joins (~LKoen@156.168.9.109.rev.sfr.net) |
| 07:13:15 | × | pmj quits (~pmj@p4fe156fa.dip0.t-ipconnect.de) (Quit: WeeChat 3.1) |
| 07:13:29 | → | pmj joins (~pmj@p4fe156fa.dip0.t-ipconnect.de) |
| 07:18:13 | → | chimera joins (~chimera@168-182-134-95.pool.ukrtel.net) |
| 07:20:07 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 07:20:29 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:20:56 | → | undvrainbowvita8 joins (~egp_@128-71-13-3.broadband.corbina.ru) |
| 07:21:13 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:22:01 | × | Shuppiluliuma quits (~shuppilul@153.33.68.161) (Ping timeout: 252 seconds) |
| 07:22:02 | × | Sgeo quits (~Sgeo@ool-18b9875e.dyn.optonline.net) (Read error: Connection reset by peer) |
| 07:24:23 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 07:26:06 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 07:27:08 | → | Feuermagier_ joins (~Feuermagi@213.178.26.41) |
| 07:29:23 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-osjrsukrhwhmjnzf) |
| 07:30:07 | × | Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Ping timeout: 260 seconds) |
| 07:30:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:32:03 | × | mjacob quits (~mjacob@unaffiliated/mjacob) (Read error: Connection reset by peer) |
| 07:32:38 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 07:32:56 | → | jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg) |
| 07:33:56 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 07:36:20 | × | Feuermagier_ quits (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
| 07:36:38 | → | Feuermagier_ joins (~Feuermagi@213.178.26.41) |
| 07:37:23 | → | wonko7 joins (~wonko7@62.115.229.50) |
| 07:37:27 | hackage | hackage-db 2.1.1 - Access cabal-install's Hackage database via Data.Map https://hackage.haskell.org/package/hackage-db-2.1.1 (PeterSimons) |
| 07:37:49 | → | mjacob joins (~mjacob@unaffiliated/mjacob) |
| 07:39:21 | × | chimera quits (~chimera@168-182-134-95.pool.ukrtel.net) (Quit: Konversation terminated!) |
| 07:45:06 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
| 07:45:55 | → | nineonin_ joins (~nineonine@2604:3d08:7783:f200:7199:d608:f167:a45a) |
| 07:47:27 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 07:49:03 | × | nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 265 seconds) |
| 07:51:33 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 07:51:36 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 07:52:02 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
| 07:52:27 | × | Feuermagier_ quits (~Feuermagi@213.178.26.41) (Quit: Leaving) |
| 07:52:37 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 07:56:16 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 07:57:09 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 07:58:00 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:58:14 | → | makalu joins (~makalu@86-82-191-90.dyn.estpak.ee) |
| 07:58:41 | → | stree joins (~stree@68.36.8.116) |
| 08:00:58 | × | nineonin_ quits (~nineonine@2604:3d08:7783:f200:7199:d608:f167:a45a) (Remote host closed the connection) |
| 08:01:02 | <makalu> | If act :: m (a, b) then with lenses I can get the first value using (^. _1) <$> act. Is there an operator for this? |
| 08:01:06 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 08:02:59 | <dminuoso> | No. |
| 08:03:29 | <dminuoso> | The only variants of this style exist for MonadState |
| 08:04:13 | → | nineonine joins (~nineonine@2604:3d08:7783:f200:7199:d608:f167:a45a) |
| 08:04:25 | <dminuoso> | %=, %~, etc |
| 08:05:36 | → | kritzefitz joins (~kritzefit@p200300ecdf3c5b009ca7d9f9eb7bbe17.dip0.t-ipconnect.de) |
| 08:06:21 | <makalu> | Thank you. |
| 08:06:57 | hackage | yesod-core 1.6.20 - Creation of type-safe, RESTful web applications. https://hackage.haskell.org/package/yesod-core-1.6.20 (MichaelSnoyman) |
| 08:08:00 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 08:08:33 | <ski> | @type (undefined :: IO (Int,Bool)) <&> (^. _1) |
| 08:08:34 | <lambdabot> | IO Int |
| 08:08:58 | × | nineonine quits (~nineonine@2604:3d08:7783:f200:7199:d608:f167:a45a) (Ping timeout: 276 seconds) |
| 08:09:09 | × | hendursa1 quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
| 08:10:31 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 08:10:51 | × | kritzefitz quits (~kritzefit@p200300ecdf3c5b009ca7d9f9eb7bbe17.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 08:11:10 | → | kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49) |
| 08:11:53 | <Axman6> | % :T mapped |
| 08:11:54 | <yahb> | Axman6: unknown command ':T'; use :? for help. |
| 08:11:57 | <Axman6> | % :t mapped |
| 08:11:57 | <yahb> | Axman6: (Settable f1, Functor f2) => (a -> f1 b) -> f2 a -> f1 (f2 b) |
| 08:12:09 | <Axman6> | :t mapped . _1 |
| 08:12:11 | <lambdabot> | (Settable f1, Field1 a1 b1 a2 b2, Functor f2) => (a2 -> f1 b2) -> f2 a1 -> f1 (f2 b1) |
| 08:12:31 | <Axman6> | :t (undefined :: IO (Int, Book)) ^. mapped . _1 |
| 08:12:32 | <lambdabot> | error: |
| 08:12:32 | <lambdabot> | Not in scope: type constructor or class ‘Book’ |
| 08:12:32 | <lambdabot> | Perhaps you meant ‘Bool’ (imported from Data.Bool) |
| 08:12:38 | → | hendursa1 joins (~weechat@gateway/tor-sasl/hendursaga) |
| 08:12:40 | <Axman6> | :t (undefined :: IO (Int, Bool)) ^. mapped . _1 |
| 08:12:41 | <lambdabot> | error: |
| 08:12:41 | <lambdabot> | • No instance for (Settable (Const Int)) |
| 08:12:41 | <lambdabot> | arising from a use of ‘mapped’ |
| 08:13:04 | <Axman6> | uh, no, of course that won't work |
| 08:14:40 | <makalu> | Thanks for trying though :D. I went with ski's variant. |
| 08:15:22 | × | makalu quits (~makalu@86-82-191-90.dyn.estpak.ee) (Quit: Leaving) |
| 08:15:39 | × | jules_ quits (~jules@ip201.ip-135-125-227.eu) (Ping timeout: 268 seconds) |
| 08:16:07 | → | minoru_shiraeesh joins (~shiraeesh@109.166.58.80) |
| 08:16:49 | → | jules_ joins (~jules@ip201.ip-135-125-227.eu) |
| 08:17:14 | × | chris__ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 08:17:32 | → | fendor joins (~fendor@178.165.129.215.wireless.dyn.drei.com) |
| 08:18:46 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 08:20:16 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Read error: Connection reset by peer) |
| 08:21:19 | × | koz_ quits (~koz@121.99.240.58) (Quit: ZNC 1.7.5 - https://znc.in) |
| 08:22:57 | hackage | css-easings 0.2.1.0 - Defining and manipulating css easing strings. https://hackage.haskell.org/package/css-easings-0.2.1.0 (wvanonsem90) |
| 08:23:40 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 08:23:53 | × | Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 240 seconds) |
| 08:24:57 | → | Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus) |
| 08:25:10 | → | koz joins (~koz@121.99.240.58) |
| 08:28:17 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-myfgsmhxtksfsmql) (Quit: Connection closed for inactivity) |
| 08:29:07 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Ping timeout: 252 seconds) |
| 08:29:42 | → | malumore joins (~malumore@151.62.117.210) |
| 08:32:40 | → | acidjnk_new2 joins (~acidjnk@p200300d0c72b9550002dc6dbf76c6cb5.dip0.t-ipconnect.de) |
| 08:36:08 | × | esph quits (~weechat@unaffiliated/esph) (Ping timeout: 246 seconds) |
| 08:36:27 | × | winny quits (~winny@fsf/member/winstonw) (Ping timeout: 246 seconds) |
| 08:38:44 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 245 seconds) |
| 08:40:24 | × | digia quits (~digia@unaffiliated/digia) (Quit: Beep Boop...) |
| 08:40:53 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 08:42:10 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 08:42:19 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
| 08:42:36 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 08:43:36 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
| 08:43:43 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 08:43:55 | → | digia joins (~digia@unaffiliated/digia) |
| 08:44:02 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 08:45:49 | × | drbean- quits (~drbean@TC210-63-209-65.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 08:46:20 | → | winny joins (~winny@fsf/member/winstonw) |
| 08:46:45 | → | kuribas joins (~user@ptr-25vy0i9ywxfym2so1gs.18120a2.ip6.access.telenet.be) |
| 08:47:13 | → | ubert joins (~Thunderbi@p200300ecdf005e5ce6b318fffe838f33.dip0.t-ipconnect.de) |
| 08:47:20 | <kuribas> | is it possible to make a quick script without having a .cabal file? |
| 08:47:27 | <merijn> | Yes |
| 08:47:36 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 08:47:37 | <merijn> | cabal has a shebang mode |
| 08:47:44 | <merijn> | but its docs are...sparse? :p |
| 08:47:56 | → | esph joins (~weechat@unaffiliated/esph) |
| 08:48:10 | <kuribas> | you pass packages on the shebang? |
| 08:48:44 | <merijn> | No, it supports having build-depends and some other fields in a comment in shebang mode |
| 08:49:12 | <kuribas> | ah neat |
| 08:49:33 | × | Anthaas quits (~Anthaas@unaffiliated/anthaas) (Ping timeout: 240 seconds) |
| 08:49:38 | <merijn> | You'll have to do some research to find any docs, though |
| 08:50:28 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
| 08:50:47 | <merijn> | kuribas: minimal barely documented example: https://cabal.readthedocs.io/en/latest/cabal-commands.html#cabal-v2-run |
| 08:51:13 | × | bennofs__ quits (~quassel@dynamic-077-013-025-172.77.13.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:51:31 | → | bennofs_ joins (~quassel@dynamic-077-013-025-172.77.13.pool.telefonica.de) |
| 08:51:51 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 08:52:20 | <kuribas> | maybe that's enough... |
| 08:56:56 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 08:57:24 | → | Anthaas joins (~Anthaas@unaffiliated/anthaas) |
| 08:57:37 | → | DavidEichmann joins (~david@156.59.147.147.dyn.plus.net) |
| 08:58:35 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 09:03:45 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 09:04:52 | × | lordyod quits (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (Ping timeout: 276 seconds) |
| 09:09:35 | koz | is now known as koz_ |
| 09:09:53 | <fendor> | kuribas, fyi, you can write anything in this section that is valid in the executable section |
| 09:12:18 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 09:13:29 | → | mateusz joins (~mateusz@77-254-3-194.adsl.inetia.pl) |
| 09:15:34 | × | kav quits (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Ping timeout: 265 seconds) |
| 09:16:07 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 09:18:47 | <dminuoso> | Using cabal2nix, what's the correct protocol to set the GHC optimization level? |
| 09:19:55 | × | pmj quits (~pmj@p4fe156fa.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 09:21:08 | → | pmj joins (~pmj@p4fe156fa.dip0.t-ipconnect.de) |
| 09:22:46 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 09:23:32 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 09:24:43 | × | kuribas quits (~user@ptr-25vy0i9ywxfym2so1gs.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 09:25:05 | → | kuribas joins (~user@ptr-25vy0i9ywxfym2so1gs.18120a2.ip6.access.telenet.be) |
| 09:25:33 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 09:28:22 | → | lordyod joins (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) |
| 09:28:34 | → | kav joins (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) |
| 09:30:27 | hackage | Z-Botan 0.1.1.0 - Crypto for Haskell https://hackage.haskell.org/package/Z-Botan-0.1.1.0 (winterland) |
| 09:36:57 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 09:37:57 | hackage | amqp-utils 0.6.1.1 - AMQP toolset for the command line https://hackage.haskell.org/package/amqp-utils-0.6.1.1 (woffs) |
| 09:39:57 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 09:39:58 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 276 seconds) |
| 09:43:32 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds) |
| 09:57:36 | <mateusz> | hi all! I'm looking for someone to help me with Code Review and next steps in my educational project. Project is simple ncurses Trello client. I have with requests handling, json parsing and initial ncurses view. Looking for someone who can share and advice and be thorough in CR :) I'll will be happy to send link to Pull Request. |
| 09:58:24 | <[exa]> | are you using Brick for the curses? |
| 09:59:16 | <mateusz> | I use NCurses https://hackage.haskell.org/package/ncurses |
| 09:59:57 | <[exa]> | ok, well, check out Brick, it's really cool for these things. https://hackage.haskell.org/package/brick |
| 10:00:18 | <[exa]> | the docs also have some advice on how to interface with other sources of events (network in your case) |
| 10:01:18 | <mateusz> | thanks for an advice, I already prepared something (~250 loc) with NCurses, so I could migrate in future. Ill check brick as well |
| 10:01:27 | hackage | css-selectors 0.4.0.2 - Parsing, rendering and manipulating css selectors in Haskell. https://hackage.haskell.org/package/css-selectors-0.4.0.2 (wvanonsem90) |
| 10:01:36 | × | fendor quits (~fendor@178.165.129.215.wireless.dyn.drei.com) (Quit: Leaving) |
| 10:01:55 | → | fendor joins (~fendor@178.165.129.215.wireless.dyn.drei.com) |
| 10:02:36 | <[exa]> | well, YMMV. I'd go with brick for sure, plain ncurses is quite painful, I'd avoid it anytime I didn't need to access ncurses-only stuff :D |
| 10:03:41 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 10:03:54 | <[exa]> | feels a bit React-ish, you write event handler and a display function, and done. |
| 10:04:02 | × | Alleria__ quits (~textual@2603-7000-3040-0000-bdb6-a38d-2635-929e.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 10:06:41 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
| 10:07:37 | <Axman6> | yeah can't recommend brick enough for this sort oftask |
| 10:08:02 | × | fendor quits (~fendor@178.165.129.215.wireless.dyn.drei.com) (Quit: Leaving) |
| 10:08:28 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 10:08:46 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Ping timeout: 240 seconds) |
| 10:08:52 | → | fendor joins (~fendor@178.165.129.215.wireless.dyn.drei.com) |
| 10:09:51 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 258 seconds) |
| 10:10:27 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 10:17:39 | × | fendor quits (~fendor@178.165.129.215.wireless.dyn.drei.com) (Quit: Leaving) |
| 10:18:03 | → | fendor joins (~fendor@178.165.129.215.wireless.dyn.drei.com) |
| 10:20:04 | → | stree joins (~stree@68.36.8.116) |
| 10:20:50 | × | trepanger_ quits (~z@ics141-225.icsincorporated.com) (Ping timeout: 268 seconds) |
| 10:20:57 | hackage | twain 1.0.0.0 - Tiny web application framework for WAI. https://hackage.haskell.org/package/twain-1.0.0.0 (alexmingoia) |
| 10:21:08 | × | jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 246 seconds) |
| 10:21:57 | hackage | Z-Botan 0.1.1.1 - Crypto for Haskell https://hackage.haskell.org/package/Z-Botan-0.1.1.1 (winterland) |
| 10:22:30 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-osjrsukrhwhmjnzf) (Quit: Connection closed for inactivity) |
| 10:25:20 | → | chris__ joins (~chris@81.96.113.213) |
| 10:32:41 | × | oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 240 seconds) |
| 10:34:51 | → | Alleria joins (~textual@mskresolve-a.mskcc.org) |
| 10:35:15 | Alleria | is now known as Guest50610 |
| 10:36:27 | → | EvilMagix joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 10:36:31 | → | digia_ joins (~digia@unaffiliated/digia) |
| 10:37:44 | × | digia quits (~digia@unaffiliated/digia) (Ping timeout: 265 seconds) |
| 10:37:45 | digia_ | is now known as digia |
| 10:38:34 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 10:44:45 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 10:47:15 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection) |
| 10:49:11 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 10:50:09 | → | jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg) |
| 10:51:49 | × | fendor quits (~fendor@178.165.129.215.wireless.dyn.drei.com) (Quit: Leaving) |
| 10:54:01 | → | nineonin_ joins (~nineonine@2604:3d08:777e:900:44b:8070:af85:f145) |
| 10:55:33 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 10:56:03 | × | theos1 quits (~theos@185.163.110.100) () |
| 10:58:19 | × | nineonin_ quits (~nineonine@2604:3d08:777e:900:44b:8070:af85:f145) (Ping timeout: 245 seconds) |
| 10:59:59 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 245 seconds) |
| 11:02:39 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
| 11:02:40 | × | cocreature quits (~cocreatur@eirene.uberspace.de) (Read error: Connection reset by peer) |
| 11:04:07 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 11:05:14 | → | Lycurgus joins (~niemand@cpe-45-46-140-49.buffalo.res.rr.com) |
| 11:05:43 | → | cocreature joins (~cocreatur@eirene.uberspace.de) |
| 11:05:52 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
| 11:08:19 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 11:09:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:09:38 | × | swater quits (bouhier200@perso.iiens.net) (Ping timeout: 265 seconds) |
| 11:10:01 | → | puke joins (~vroom@217.138.252.196) |
| 11:10:10 | × | Guest81 quits (~textual@cpe-108-185-120-135.socal.res.rr.com) (Ping timeout: 268 seconds) |
| 11:10:13 | → | swater joins (bouhier200@perso.iiens.net) |
| 11:10:58 | × | justan0theruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 276 seconds) |
| 11:11:09 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 11:11:24 | → | trepanger_ joins (~z@173-16-201-214.client.mchsi.com) |
| 11:12:21 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 11:14:23 | → | xiinotulp joins (~q@ppp-58-8-176-210.revip2.asianet.co.th) |
| 11:14:41 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 11:15:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:17:04 | → | guriya joins (a0ee4b2e@160.238.75.46) |
| 11:17:25 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 11:17:47 | × | guriya quits (a0ee4b2e@160.238.75.46) (Changing host) |
| 11:17:47 | → | guriya joins (a0ee4b2e@unaffiliated/guriya) |
| 11:17:56 | × | plutoniix quits (~q@ppp-58-8-180-74.revip2.asianet.co.th) (Ping timeout: 252 seconds) |
| 11:20:43 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 11:20:49 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 11:20:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:22:17 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 11:22:29 | × | Xnuk quits (~xnuk@45.76.202.58) (Quit: ZNC - https://znc.in) |
| 11:22:47 | → | Xnuk joins (~xnuk@45.76.202.58) |
| 11:22:59 | × | lawid quits (~quassel@2a02:8109:b5c0:5334:265e:beff:fe2a:dde8) (Ping timeout: 260 seconds) |
| 11:23:01 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 11:23:20 | → | lawid joins (~quassel@2a02:8109:b5c0:5334:265e:beff:fe2a:dde8) |
| 11:23:24 | <Gurkenglas> | https://paste.tomsmeding.com/m625nssK why didn't UnicodeSyntax work? |
| 11:25:09 | × | cheater2 quits (~user@unaffiliated/cheater) (Remote host closed the connection) |
| 11:25:12 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:25:54 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 11:26:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 11:26:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:29:35 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 11:31:33 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 11:31:40 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:32:26 | <tomsmeding> | Gurkenglas: because that's not what UnicodeSyntax does https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/unicode_syntax.html |
| 11:32:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:32:30 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 11:32:37 | <tomsmeding> | perhaps unfortunately, but that's an opinion :p |
| 11:32:39 | × | pmj quits (~pmj@p4fe156fa.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 11:32:51 | <Gurkenglas> | Ah. Is there a way to use turnstiles? |
| 11:33:58 | → | drbean_ joins (~drbean@TC210-63-209-98.static.apol.com.tw) |
| 11:34:16 | <hpc> | according to Data.Char, '⊢' is a lower-case symbol |
| 11:34:40 | <hpc> | so it's in the same category as '+' and '*' and such |
| 11:34:42 | <Gurkenglas> | Oh, .hs supports unicode already? I see |
| 11:34:59 | → | cheater joins (~user@unaffiliated/cheater) |
| 11:35:37 | <hpc> | Prelude> :set -XTypeOperators |
| 11:35:38 | <hpc> | Prelude> data (⊢) a = Example |
| 11:35:40 | <hpc> | ^ works |
| 11:35:56 | <Gurkenglas> | Thanks! |
| 11:37:41 | <Gurkenglas> | ...now I'd have to put brackets around every use anywhere of it? :( |
| 11:37:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 11:38:00 | → | sedeki joins (~textual@unaffiliated/sedeki) |
| 11:38:19 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 245 seconds) |
| 11:38:25 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:38:32 | × | xsperry quits (~as@unaffiliated/xsperry) (Remote host closed the connection) |
| 11:38:44 | <hpc> | yeah |
| 11:38:44 | <tomsmeding> | Gurkenglas: haskell doesn't have prefix operators at all. The only prefix operator is negation, which is heavily special-cased in the grammar |
| 11:39:06 | <Uniaika> | +1 |
| 11:39:15 | <hpc> | or find another codepoint that's not a symbol, or something like that |
| 11:39:31 | <tomsmeding> | (okay not so sure about "heavily", I haven't looked at ghc's parser to see if it warrants that word :p ) |
| 11:39:44 | <Gurkenglas> | How should I find one? Check all the unicode symbols for isUpper? |
| 11:40:18 | × | sedeki quits (~textual@unaffiliated/sedeki) (Client Quit) |
| 11:40:33 | <hpc> | isAlpha, or maybe isLetter |
| 11:40:49 | <Uniaika> | tomsmeding: "bolted in the lexer" leaves less space for nuance |
| 11:40:54 | <hpc> | isUpper isn't necessary because of TypeOperators |
| 11:41:26 | <Gurkenglas> | hpc, but I still need to put () around it every time, yes? |
| 11:42:34 | <hpc> | you put parens around infix operators to make them prefix |
| 11:42:41 | <hpc> | infix operators are made up of symbolic characters |
| 11:42:48 | <hpc> | prefix names are made up of letters |
| 11:42:48 | × | AWizzArd quits (~code@unaffiliated/awizzard) (Read error: Connection reset by peer) |
| 11:43:23 | <hpc> | so no, if you find a suitable character that's isLetter, you can just use it... oh hmm, except it will need to be isUpper too |
| 11:43:28 | × | Ishutin quits (~ishutin@92-249-185-177.pool.digikabel.hu) (Ping timeout: 268 seconds) |
| 11:43:31 | <hpc> | ignore where i said it isn't necessary because of TypeOperators :P |
| 11:43:52 | <tomsmeding> | I assume it has to be category 'Lu' here? https://en.wikipedia.org/wiki/Template:General_Category_(Unicode) |
| 11:44:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 11:44:35 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:44:58 | × | adium quits (adium@unaffiliated/adium) (Quit: Stable ZNC by ##bnc4you) |
| 11:45:09 | <tomsmeding> | oh Lt is also allowed; isUpper checks Lu || Lt |
| 11:45:33 | × | APic quits (apic@apic.name) (Ping timeout: 240 seconds) |
| 11:46:00 | → | adium joins (~adium@unaffiliated/adium) |
| 11:46:01 | → | APic joins (apic@apic.name) |
| 11:47:43 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 11:48:38 | → | AWizzArd joins (~code@gehrels.uberspace.de) |
| 11:49:19 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 252 seconds) |
| 11:49:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 11:49:41 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 11:49:52 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 11:50:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:50:02 | × | e2 quits (e2@sponsored.by.bnc4you.xyz) (Quit: Stable ZNC provider ##bnc4you) |
| 11:50:22 | × | LKoen quits (~LKoen@156.168.9.109.rev.sfr.net) (Remote host closed the connection) |
| 11:50:49 | → | e2 joins (e2@sponsored.by.bnc4you.xyz) |
| 11:51:38 | × | xiinotulp quits (~q@ppp-58-8-176-210.revip2.asianet.co.th) (Quit: Leaving) |
| 12:00:20 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 12:00:28 | → | bitmagie joins (~Thunderbi@200116b806b92e00b8b7218edf9a11f7.dip.versatel-1u1.de) |
| 12:01:49 | × | EvilMagix quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds) |
| 12:02:50 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 12:04:37 | → | viluon joins (uid453725@gateway/web/irccloud.com/x-jefbknzpvoezvjbn) |
| 12:05:04 | × | bitmagie quits (~Thunderbi@200116b806b92e00b8b7218edf9a11f7.dip.versatel-1u1.de) (Client Quit) |
| 12:08:07 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 12:08:12 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 12:08:58 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 12:09:53 | → | malumore_ joins (~malumore@151.62.117.210) |
| 12:12:12 | × | malumore quits (~malumore@151.62.117.210) (Ping timeout: 240 seconds) |
| 12:12:39 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 250 seconds) |
| 12:12:49 | × | xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
| 12:13:10 | → | xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar) |
| 12:15:24 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 245 seconds) |
| 12:15:45 | × | gitgood quits (~gitgood@80-44-12-75.dynamic.dsl.as9105.com) (Ping timeout: 260 seconds) |
| 12:18:20 | <Gurkenglas> | Is Quick Look impredicativity usable these days? |
| 12:18:33 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds) |
| 12:19:06 | <wz1000> | Gurkenglas: if you use a 9.2 prerelease |
| 12:20:52 | <Gurkenglas> | Can I make stack do that or do I have to build ghc from source? |
| 12:21:36 | <Gurkenglas> | (huh, or download from downloads.haskell.org) |
| 12:26:01 | → | berberman_ joins (~berberman@unaffiliated/berberman) |
| 12:26:31 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 250 seconds) |
| 12:26:44 | <maerwald> | Gurkenglas: ghcup has the 9.2 prerelease |
| 12:28:22 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 12:35:19 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 12:35:57 | → | elliott_ joins (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) |
| 12:36:09 | msgctl | is now known as m5g |
| 12:36:15 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:8509:1194:46cd:65cb) (Ping timeout: 260 seconds) |
| 12:36:47 | <maerwald> | also: https://github.com/commercialhaskell/stack/blob/master/doc/yaml_configuration.md#building-ghc-from-source-experimental |
| 12:37:29 | × | troydm quits (~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 12:39:03 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Ping timeout: 260 seconds) |
| 12:40:34 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 12:40:43 | → | troydm joins (~troydm@unaffiliated/troydm) |
| 12:40:54 | → | stree joins (~stree@68.36.8.116) |
| 12:40:54 | → | seveg joins (~gabriel@188-167-252-202.dynamic.chello.sk) |
| 12:41:10 | → | carlomagno joins (~cararell@148.87.23.5) |
| 12:44:07 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 12:45:05 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 12:45:15 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 12:46:13 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 12:46:33 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds) |
| 12:48:21 | Lord_of_Life_ | is now known as Lord_of_Life |
| 12:52:06 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 12:53:25 | → | kidbuu joins (~Thunderbi@116.40.185.87) |
| 12:57:27 | hackage | yesod-auth-oauth2 0.6.3.1 - OAuth 2.0 authentication plugins https://hackage.haskell.org/package/yesod-auth-oauth2-0.6.3.1 (PatrickBrisbin) |
| 12:58:22 | × | guriya quits (a0ee4b2e@unaffiliated/guriya) (Ping timeout: 240 seconds) |
| 12:58:55 | → | gitgood joins (~gitgood@host-78-145-139-64.as13285.net) |
| 13:00:21 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 13:02:28 | → | xkapastel joins (uid17782@gateway/web/irccloud.com/x-jebgsafpndujiwtn) |
| 13:03:15 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 13:04:34 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 13:04:38 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 13:04:46 | × | elliott_ quits (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 13:05:20 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:09:07 | → | Guest84063 joins (~zmv@unaffiliated/zmv) |
| 13:09:20 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 13:13:46 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 13:13:49 | × | xff0x quits (~xff0x@2001:1a81:53fb:1000:2c1d:2721:9e36:7aea) (Ping timeout: 276 seconds) |
| 13:14:54 | → | xff0x joins (xff0x@gateway/vpn/mullvad/xff0x) |
| 13:16:08 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:591c:cf3a:df6d:ebe7) |
| 13:16:40 | × | wonko7 quits (~wonko7@62.115.229.50) (Quit: See You Space Cowboy..) |
| 13:17:49 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 13:19:17 | Guest84063 | is now known as ntzmv |
| 13:19:21 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 13:19:31 | × | Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 252 seconds) |
| 13:19:47 | × | Lycurgus quits (~niemand@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 13:20:07 | ntzmv | is now known as notzmv |
| 13:20:44 | → | dbohdan joins (dbohdan@unaffiliated/dbohdan) |
| 13:21:31 | → | sphi joins (~sphi@unaffiliated/sphi) |
| 13:21:41 | <sphi> | hi all |
| 13:21:49 | <shapr> | hi sphi, how you doin? |
| 13:22:07 | <shapr> | writing any exciting code? |
| 13:22:19 | <sphi> | heh, pretty alright shapr: , how are you yourself |
| 13:22:31 | <sphi> | shapr: hello worlds in servant : P |
| 13:22:34 | × | gentauro quits (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer) |
| 13:22:49 | <shapr> | I'm doing well, writing up some slides for a haskell-adjacent talk I'm giving today. |
| 13:23:02 | <shapr> | it's a ten minute talk, not so much content |
| 13:23:03 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:23:13 | → | minoru_shiraeesh joins (~shiraeesh@109.166.58.80) |
| 13:23:18 | <shapr> | sphi: I like servant! I get to use that at work! |
| 13:23:43 | → | gentauro joins (~gentauro@unaffiliated/gentauro) |
| 13:23:52 | × | xff0x quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds) |
| 13:23:56 | <sphi> | shapr: must be nice :D |
| 13:24:03 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) |
| 13:24:28 | <shapr> | Yeah, I like writing Haskell for a job. Haskell isn't a perfect language, but I like it best of all the languages I've tried. |
| 13:24:44 | <sphi> | i read a tweet the other day |
| 13:25:15 | × | gentauro quits (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer) |
| 13:25:18 | <sphi> | "lisp doesn't really have a philosophy, we're just united by a shared disgust for the alternatives" |
| 13:25:22 | <shapr> | heh |
| 13:25:33 | <sphi> | rang pretty close lol |
| 13:26:07 | → | xff0x joins (~xff0x@2001:1a81:53fb:1000:2c1d:2721:9e36:7aea) |
| 13:26:13 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Client Quit) |
| 13:26:38 | <sphi> | i was going through the tutorial on the servant docs, i keep encountering this ' symbol at the type level |
| 13:27:04 | <sphi> | ype level |
| 13:27:04 | <sphi> | > data Verb method (statusCode :: Nat) (contentType :: [*]) a |
| 13:27:04 | <sphi> | type Get = Verb 'GET 200 |
| 13:27:06 | <lambdabot> | <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘data’ |
| 13:27:10 | <sphi> | like so. |
| 13:27:38 | <sphi> | what's up with 'GET ? |
| 13:27:49 | <Taneb> | sphi: that means it's a value at the type level, rather than a type called GET |
| 13:28:08 | <Taneb> | It's sometimes necessary so you don't get confused when you're doing lots of type-level stuff |
| 13:28:11 | <merijn> | Disagree, tbh |
| 13:28:21 | <sphi> | Taneb: like 1 2 3 instead of say, Int ? |
| 13:28:25 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 13:28:31 | <merijn> | It *is* a type called GET, it's just not a type of kind * |
| 13:28:47 | → | gentauro joins (~gentauro@unaffiliated/gentauro) |
| 13:28:57 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:29:05 | <sphi> | ```type Delete = Verb 'DELETE 200 |
| 13:29:05 | <sphi> | type Patch = Verb 'PATCH 200 |
| 13:29:05 | <sphi> | type Post = Verb 'POST 200 |
| 13:29:05 | <sphi> | type Put = Verb 'PUT 200 |
| 13:29:07 | <sphi> | ``` |
| 13:29:09 | <merijn> | sphi: There is an extension called DataKinds, which lets you turn "values" into "types |
| 13:29:11 | <Taneb> | sphi: like the GET in data StdMethod = GET | ... rather than some data GET |
| 13:29:22 | <merijn> | sphi: THis, however, presents a problem |
| 13:29:49 | <sphi> | yea, it's kind of confusing |
| 13:30:14 | <merijn> | sphi: Consider "data Foo = Foo", now how can I refer to the 2nd Foo (i.e. the data constructor) at the type level when using DataKinds, since "Foo" would just refer to to the *type*, not the new "value turned into a type" |
| 13:30:46 | <merijn> | sphi: The ' syntax disambiguates this 'Foo says "I mean the value-turned-into-type Foo, not the type" |
| 13:31:41 | <sphi> | merijn: ah, i see. |
| 13:32:19 | <sphi> | follow up noob question. why would i want to refer to "value turned into a type" at type level ? |
| 13:32:30 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 13:33:15 | <sphi> | OT, good luch with the talk, shapr: : D |
| 13:33:21 | <sphi> | luck* |
| 13:33:28 | <shapr> | yeah, I just gotta finish up with some links ... hmm |
| 13:33:39 | <Taneb> | sphi: servant uses that technique a lot for describing the API in the type level. |
| 13:33:40 | <shapr> | I need to do another test run beforehand |
| 13:34:20 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 13:34:33 | <Taneb> | The idea is we want to parametrize the verb with what HTTP method it uses, and because we're doing this in types, it needs to be a type. However, it doesn't make sense to put anything like Int or Maybe in there, so we want a smaller kind |
| 13:34:37 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-wydsfqjrhoioptxh) |
| 13:35:00 | <Taneb> | We make a type for the possible HTTP methods, then lift that type to the kind level and hence its values to the type level |
| 13:35:50 | <sphi> | Taneb: the docs are making more sense now. |
| 13:36:00 | <sphi> | Thanks! |
| 13:36:18 | <sphi> | ^ merijn: shapr Taneb : |
| 13:42:32 | → | jamm__ joins (~jamm@unaffiliated/jamm) |
| 13:42:45 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Quit: WeeChat 3.0) |
| 13:44:41 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 13:44:50 | → | gemmaro_ja joins (~Thunderbi@240f:74:d1f0:1:1bf:3730:3a54:b192) |
| 13:45:03 | → | jame_227 joins (519fdca5@host81-159-220-165.range81-159.btcentralplus.com) |
| 13:46:03 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
| 13:46:46 | → | johncylee joins (~johncylee@185.163.110.100) |
| 13:47:57 | <jame_227> | Hi, I had a quick question about how lazy evaluation works. say the generator [ doSomething x | x <- xs]. when this generator is called with say the argument !! 0, to return the first value from this function would it only evaluate the first x from xs? |
| 13:48:24 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 13:48:26 | <opqdonut> | short answer: yes |
| 13:48:50 | <tomsmeding> | assuming that's the only thing you do with that generator |
| 13:48:56 | <opqdonut> | long answer: you can find out by hand-evaluating the expression `head (map doSomething xs)` |
| 13:49:44 | <opqdonut> | I've just written a chapter for my course about this https://haskell.mooc.fi/part2#how-does-haskell-work |
| 13:49:51 | <opqdonut> | 10.4.1 has some evaluation examples |
| 13:50:28 | <jame_227> | Thank you for that, I will take a read :) |
| 13:52:27 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 13:53:29 | × | drbean_ quits (~drbean@TC210-63-209-98.static.apol.com.tw) (Ping timeout: 265 seconds) |
| 13:54:34 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 13:55:10 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 13:56:41 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 13:59:33 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 13:59:55 | → | Deide joins (~Deide@217.155.19.23) |
| 14:00:20 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 14:01:50 | × | kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection) |
| 14:02:57 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 14:03:56 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 14:08:11 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 14:09:48 | × | Tops21 quits (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) (Quit: Leaving.) |
| 14:10:37 | → | Tops2 joins (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) |
| 14:12:40 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 14:12:41 | × | trepanger_ quits (~z@173-16-201-214.client.mchsi.com) (Ping timeout: 240 seconds) |
| 14:14:02 | × | hypercube quits (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Quit: WeeChat 3.1) |
| 14:16:33 | → | alx741 joins (~alx741@186.178.109.110) |
| 14:17:11 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 14:17:20 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-sfhlcsgoerbublmd) |
| 14:20:53 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 14:24:28 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 14:24:52 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client") |
| 14:27:12 | ← | maralorn parts (maralornma@gateway/shell/matrix.org/x-mkcwpfwlappvvein) ("User left") |
| 14:29:05 | → | maralorn joins (maralornma@gateway/shell/matrix.org/x-mkcwpfwlappvvein) |
| 14:29:22 | → | Sgeo joins (~Sgeo@ool-18b9875e.dyn.optonline.net) |
| 14:30:38 | × | jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 14:31:04 | → | wonko7 joins (~wonko7@62.115.229.50) |
| 14:32:29 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 14:34:59 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 245 seconds) |
| 14:35:06 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 14:36:20 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 14:36:30 | × | carlomagno quits (~cararell@148.87.23.5) (Ping timeout: 265 seconds) |
| 14:36:53 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:36:57 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds) |
| 14:41:07 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 14:41:48 | m1dnight1 | is now known as m1dnight_ |
| 14:42:21 | → | LKoen joins (~LKoen@156.168.9.109.rev.sfr.net) |
| 14:43:16 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 14:44:51 | → | Shuppiluliuma joins (~shuppilul@153.33.68.161) |
| 14:45:05 | × | kidbuu quits (~Thunderbi@116.40.185.87) (Quit: kidbuu) |
| 14:45:11 | × | thunderrd quits (~thunderrd@183.182.115.120) (Remote host closed the connection) |
| 14:46:52 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:47:57 | hackage | bisc 0.3.0.0 - A small tool that clears cookies (and more). https://hackage.haskell.org/package/bisc-0.3.0.0 (rnhmjoj) |
| 14:48:30 | → | mrchampion joins (~mrchampio@38.18.109.23) |
| 14:49:10 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 14:49:16 | → | thunderrd joins (~thunderrd@183.182.115.120) |
| 14:49:55 | <raehik> | I have to keep recompiling a project that takes a few minutes to do so. I figure a quick solution would be to make a Cabal flag that skips some modules and the code that uses them. But I can't find any info on how to use flags in code. Do I need to also use CPP? |
| 14:50:11 | <geekosaur> | yes |
| 14:50:41 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Ping timeout: 260 seconds) |
| 14:50:50 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 14:51:08 | → | fendor joins (~fendor@178.165.129.215.wireless.dyn.drei.com) |
| 14:51:59 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 14:52:27 | <wz1000> | raehik: you need to add something like `if flag(my-flag) cpp-options: -DMY_FLAG` to your cabal file and then use `#ifdef MY_FLAG` and so on |
| 14:52:27 | → | Tops21 joins (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) |
| 14:52:36 | <geekosaur> | and you still can't use them directly... that |
| 14:53:11 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 14:53:12 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 14:53:29 | <raehik> | wz1000: so you do have to, dang. It'd save me some tedium, but maybe too much effort given I'd have to keep applying and removing the patch to make commits |
| 14:53:56 | <raehik> | Thanks! |
| 14:53:56 | → | Tops22 joins (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) |
| 14:55:26 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 258 seconds) |
| 14:55:53 | × | Tops2 quits (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 14:56:14 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds) |
| 14:57:11 | × | Tops21 quits (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 15:00:52 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 15:01:39 | × | gemmaro_ja quits (~Thunderbi@240f:74:d1f0:1:1bf:3730:3a54:b192) (Ping timeout: 245 seconds) |
| 15:01:47 | → | stree joins (~stree@68.36.8.116) |
| 15:04:48 | × | electricityZZZZ quits (~electrici@157-131-250-97.fiber.dynamic.sonic.net) (Remote host closed the connection) |
| 15:04:51 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 15:05:45 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) |
| 15:06:32 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 15:07:11 | × | sphi quits (~sphi@unaffiliated/sphi) (Remote host closed the connection) |
| 15:07:59 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 15:08:23 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 15:10:44 | → | minoru_shiraeesh joins (~shiraeesh@109.166.58.80) |
| 15:11:04 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 15:11:51 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 15:13:25 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 15:14:15 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 15:15:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 15:15:03 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 15:17:37 | × | mateusz quits (~mateusz@77-254-3-194.adsl.inetia.pl) (Remote host closed the connection) |
| 15:17:46 | × | noctux quits (~noctux@unaffiliated/noctux) (Read error: Connection reset by peer) |
| 15:18:02 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 15:19:55 | → | Ishutin joins (~ishutin@94-21-157-151.pool.digikabel.hu) |
| 15:20:32 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 15:22:32 | <dminuoso> | raehik: Also, you can set -O0, that can speed up compilation by quite a lot. |
| 15:22:47 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 15:22:48 | <dminuoso> | In addition, if you want to recompile just for type checking, you can disable code generation, speeding it up even further |
| 15:23:37 | <raehik> | dminuoso: Thanks. I like to jump into ghci regularly but there's 5 variant Alex parsers that build themselves and it takes Too Long |
| 15:23:38 | × | yogani quits (sid42623@gateway/web/irccloud.com/x-bnhacqijyxmiyyae) (Remote host closed the connection) |
| 15:23:38 | × | integral quits (sid296274@p3m/member/integral) (Remote host closed the connection) |
| 15:23:39 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-sfhlcsgoerbublmd) (Remote host closed the connection) |
| 15:23:39 | × | hendi quits (sid489601@gateway/web/irccloud.com/x-tofwispyijhkkmkf) (Remote host closed the connection) |
| 15:23:39 | × | Adeon quits (sid418992@gateway/web/irccloud.com/x-gymdfseqxtsglqmg) (Remote host closed the connection) |
| 15:23:39 | × | teehemkay quits (sid14792@gateway/web/irccloud.com/x-xuibphqfjsbzklag) (Remote host closed the connection) |
| 15:23:39 | × | pent quits (sid313808@gateway/web/irccloud.com/x-cpxermbqpxsktgud) (Remote host closed the connection) |
| 15:23:39 | × | billstclair quits (sid77830@gateway/web/irccloud.com/x-olfxcxrqivvdbbbh) (Remote host closed the connection) |
| 15:23:39 | × | chessai quits (sid225296@gateway/web/irccloud.com/x-ldpypglktrbopvgw) (Remote host closed the connection) |
| 15:23:39 | × | sclv quits (sid39734@haskell/developer/sclv) (Remote host closed the connection) |
| 15:23:39 | × | kip quits (sid71464@gateway/web/irccloud.com/x-ejmdxvkprgoyfvds) (Remote host closed the connection) |
| 15:23:39 | × | NemesisD quits (sid24071@gateway/web/irccloud.com/x-dzmyzafvcbeydbqy) (Remote host closed the connection) |
| 15:23:39 | × | PotatoGim quits (sid99505@gateway/web/irccloud.com/x-stkdlziizvdtczpk) (Remote host closed the connection) |
| 15:23:48 | → | chessai joins (sid225296@gateway/web/irccloud.com/x-vvuucfyypayfysmg) |
| 15:23:48 | → | yogani joins (sid42623@gateway/web/irccloud.com/x-hizjjgvhcvqlyrba) |
| 15:23:49 | → | NemesisD joins (sid24071@gateway/web/irccloud.com/x-jqwffsdoepykblkn) |
| 15:23:49 | → | integral joins (sid296274@p3m/member/integral) |
| 15:23:50 | → | teehemkay joins (sid14792@gateway/web/irccloud.com/x-vulvlvrrnfdfvahd) |
| 15:23:50 | → | hendi joins (sid489601@gateway/web/irccloud.com/x-uqohcpzerdjcsbjn) |
| 15:23:51 | → | kip joins (sid71464@gateway/web/irccloud.com/x-mznormuiqdnkhwze) |
| 15:23:51 | → | billstclair joins (sid77830@gateway/web/irccloud.com/x-xwklscchjhngjwjd) |
| 15:23:51 | → | pent joins (sid313808@gateway/web/irccloud.com/x-gthllmzsbacdlose) |
| 15:23:57 | → | Adeon joins (sid418992@gateway/web/irccloud.com/x-tfbfzpiudsomqpvb) |
| 15:24:02 | → | PotatoGim joins (sid99505@gateway/web/irccloud.com/x-kguolsobtmitgwzj) |
| 15:24:04 | → | sclv joins (sid39734@haskell/developer/sclv) |
| 15:24:05 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 15:24:10 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-skpmotuzajgkfppr) |
| 15:24:14 | <raehik> | I know to :r, but occasionally I can't (in this case I was building the test suite) |
| 15:24:15 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Client Quit) |
| 15:24:37 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 15:24:42 | → | bollu joins (~bollu@139.59.46.74) |
| 15:25:28 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Quit: leaving) |
| 15:26:19 | <catern> | an offhand comment in an unrelated paper just pointed out that, by curry-howard, typeclass resolution is proof search, which blew my mind |
| 15:26:34 | <catern> | anyone know any papers on this? |
| 15:28:57 | → | carlomagno joins (~cararell@148.87.23.13) |
| 15:28:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:29:03 | × | jame_227 quits (519fdca5@host81-159-220-165.range81-159.btcentralplus.com) (Ping timeout: 240 seconds) |
| 15:30:02 | → | vicfred joins (vicfred@gateway/vpn/mullvad/vicfred) |
| 15:30:45 | × | chele quits (~chele@78.128.94.174) (Remote host closed the connection) |
| 15:31:57 | → | ADG1089 joins (~aditya@27.58.160.217) |
| 15:32:57 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 15:33:18 | → | Iceland_jack joins (~user@95.147.45.92) |
| 15:33:47 | × | ADG1089 quits (~aditya@27.58.160.217) (Client Quit) |
| 15:33:59 | <c_wraith> | It's a very limited form of proof search. |
| 15:34:05 | <c_wraith> | It doesn't do any backtracking |
| 15:34:12 | → | a6a45081-2b83-4b joins (~aditya@27.58.160.217) |
| 15:34:27 | hackage | Z-Botan 0.1.1.2 - Crypto for Haskell https://hackage.haskell.org/package/Z-Botan-0.1.1.2 (winterland) |
| 15:35:04 | → | noctux joins (~noctux@unaffiliated/noctux) |
| 15:36:49 | × | a6a45081-2b83-4b quits (~aditya@27.58.160.217) (Client Quit) |
| 15:37:10 | → | a6a45081-2b83-4b joins (~aditya@27.58.160.217) |
| 15:37:13 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
| 15:37:22 | <a6a45081-2b83-4b> | hi guys |
| 15:37:23 | → | oxide joins (~lambda@unaffiliated/mclaren) |
| 15:37:52 | × | a6a45081-2b83-4b quits (~aditya@27.58.160.217) (Client Quit) |
| 15:37:57 | hackage | hspec-discover 2.8.0 - Automatically discover and run Hspec tests https://hackage.haskell.org/package/hspec-discover-2.8.0 (SimonHengel) |
| 15:38:03 | → | CrazyPython joins (~crazypyth@98.122.164.118) |
| 15:38:13 | → | a6a45081-2b83 joins (~aditya@27.58.160.217) |
| 15:38:25 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 15:38:27 | <a6a45081-2b83> | wasup |
| 15:39:11 | × | obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Ping timeout: 240 seconds) |
| 15:40:55 | <catern> | c_wraith: sure, but it has some power in other ways, like with functional dependencies |
| 15:41:10 | → | obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl) |
| 15:41:46 | <catern> | .oO(since typeclasses can be implemented with implicit parameters, and implicit parameters are just dynamically scoped variables, does this mean dynamic scope is a form of proof search?) |
| 15:41:47 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 15:42:16 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 15:44:02 | <monochrom> | IIRC type classes are not full-fledged dynamic scoping either. |
| 15:44:27 | <monochrom> | Or equivalently, implicit parameters are not full-fledged dynamic scoping. |
| 15:44:38 | × | vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection) |
| 15:44:59 | → | vgtw joins (~vgtw@gateway/tor-sasl/vgtw) |
| 15:45:03 | → | ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
| 15:45:18 | <monochrom> | Some Oleg article shows what's missing, but I forgot the URL. |
| 15:45:24 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 15:45:25 | × | ubert quits (~Thunderbi@p200300ecdf005e5ce6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 15:45:25 | <catern> | http://okmij.org/ftp/Computation/dynamic-binding.html#implicit-parameter-neq-dynvar |
| 15:45:33 | <monochrom> | Yeah, that :) |
| 15:46:56 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 15:47:28 | → | proofofkeags joins (~proofofke@205.209.28.54) |
| 15:47:35 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 15:50:25 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Remote host closed the connection) |
| 15:50:26 | <catern> | funnily enough it was an Oleg paper that made this offhand "typeclass resolution is proof search" comment |
| 15:51:31 | × | ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 15:51:58 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 15:52:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 15:53:17 | → | ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
| 15:55:01 | × | a6a45081-2b83 quits (~aditya@27.58.160.217) (Quit: Konversation terminated!) |
| 15:55:03 | → | xcmw joins (~textual@2603-6011-2200-f103-5955-2007-b8ef-9f55.res6.spectrum.com) |
| 15:55:08 | → | ubert joins (~Thunderbi@p200300ecdf005e5ce6b318fffe838f33.dip0.t-ipconnect.de) |
| 15:56:01 | → | hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 15:56:14 | × | acidjnk_new2 quits (~acidjnk@p200300d0c72b9550002dc6dbf76c6cb5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 15:57:05 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1) |
| 16:00:40 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 16:01:13 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 16:01:18 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 16:02:39 | × | xcmw quits (~textual@2603-6011-2200-f103-5955-2007-b8ef-9f55.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:03:19 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:04:10 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Client Quit) |
| 16:04:16 | → | hypercube joins (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) |
| 16:05:58 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 258 seconds) |
| 16:06:46 | × | malumore_ quits (~malumore@151.62.117.210) (Ping timeout: 240 seconds) |
| 16:10:33 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 16:10:48 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:11:50 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 16:12:10 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 16:12:32 | → | jao joins (~jao@pdpc/supporter/professional/jao) |
| 16:12:40 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 16:14:11 | × | Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 240 seconds) |
| 16:14:39 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
| 16:17:58 | × | cdsmith quits (~cdsmithus@c-73-207-21-162.hsd1.ga.comcast.net) (Read error: Connection reset by peer) |
| 16:18:17 | → | waleee-cl joins (uid373333@gateway/web/irccloud.com/x-pyxgzrqsorndsysw) |
| 16:20:40 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 16:23:49 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 16:26:44 | → | ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 16:29:00 | × | Tops22 quits (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 16:29:46 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 16:30:04 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Remote host closed the connection) |
| 16:34:42 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 16:35:57 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Remote host closed the connection) |
| 16:36:50 | → | rond_ joins (531aedb3@asz179.neoplus.adsl.tpnet.pl) |
| 16:37:15 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 16:37:33 | → | aerona joins (~aerona@2600:6c54:4600:f300:a087:e5ac:bbaa:7d1c) |
| 16:41:43 | × | hypercube quits (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 260 seconds) |
| 16:42:28 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 276 seconds) |
| 16:47:13 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 16:48:54 | → | malumore_ joins (~malumore@151.62.117.210) |
| 16:49:11 | m5g | is now known as mhz |
| 16:50:37 | × | ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 16:58:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:59:00 | → | nineonine joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) |
| 17:02:21 | × | LKoen quits (~LKoen@156.168.9.109.rev.sfr.net) (Remote host closed the connection) |
| 17:03:38 | × | s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 246 seconds) |
| 17:05:33 | → | s00pcan joins (~chris@107.181.165.217) |
| 17:09:56 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds) |
| 17:12:07 | → | jonathanx_ joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 17:12:29 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 17:14:41 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds) |
| 17:15:23 | × | kristijonas quits (~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection) |
| 17:15:43 | → | kristijonas joins (~kristijon@78-56-32-39.static.zebra.lt) |
| 17:15:57 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds) |
| 17:16:00 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 17:17:46 | × | cyphase quits (~cyphase@unaffiliated/cyphase) (Ping timeout: 240 seconds) |
| 17:17:51 | → | chimera joins (~chimera@168-182-134-95.pool.ukrtel.net) |
| 17:18:50 | → | cyphase joins (~cyphase@unaffiliated/cyphase) |
| 17:18:56 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 17:19:26 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 17:20:12 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 17:20:18 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 17:23:02 | → | stree joins (~stree@68.36.8.116) |
| 17:25:21 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 17:29:21 | mhz | is now known as aft |
| 17:29:46 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 17:31:07 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:31:28 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:31:58 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 17:32:41 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 17:34:07 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 17:34:40 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 17:36:51 | → | gawen_ joins (~gawen@movzbl.root.sx) |
| 17:38:06 | aft | is now known as AIM-9-SIDEWINDER |
| 17:38:13 | × | gawen quits (~gawen@movzbl.root.sx) (Ping timeout: 260 seconds) |
| 17:40:13 | × | _bin quits (~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net) (Ping timeout: 252 seconds) |
| 17:40:46 | → | LKoen joins (~LKoen@156.168.9.109.rev.sfr.net) |
| 17:41:28 | → | _bin joins (~bin@2600:1700:10a1:38d0:8cd7:7637:fad:1f0b) |
| 17:42:00 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 17:43:17 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 17:44:02 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds) |
| 17:44:12 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds) |
| 17:44:43 | × | justan0theruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
| 17:46:37 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 17:47:33 | × | mikoto-chan quits (~mikoto-ch@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 17:47:40 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 17:47:47 | → | nineonin_ joins (~nineonine@50.216.62.2) |
| 17:48:42 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 17:49:44 | → | mikoto-chan joins (~mikoto-ch@gateway/tor-sasl/mikoto-chan) |
| 17:50:38 | → | aramend joins (~aramend@5.186.113.246.cgn.fibianet.dk) |
| 17:51:31 | × | nineonine quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 250 seconds) |
| 17:51:33 | × | chris__ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:52:37 | → | hypercube joins (~hypercube@137.112.239.172) |
| 17:52:40 | → | chris__ joins (~chris@81.96.113.213) |
| 17:52:45 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 17:53:16 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 17:53:39 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 17:54:46 | × | dpl_ quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
| 17:57:41 | → | Guest87676 joins (~laudiacay@67.176.215.84) |
| 17:58:09 | AIM-9-SIDEWINDER | is now known as mhz |
| 18:00:34 | × | kiltzman quits (~k1ltzman@195.189.99.96) (Ping timeout: 252 seconds) |
| 18:01:10 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 18:01:28 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 18:01:50 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 18:05:17 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 18:05:26 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:05:44 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 18:05:48 | → | kiltzman joins (~k1ltzman@195.189.99.96) |
| 18:08:56 | → | nolrai joins (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) |
| 18:13:13 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds) |
| 18:14:11 | × | Khisanth quits (~Khisanth@255.sub-174-197-131.myvzw.com) (Ping timeout: 240 seconds) |
| 18:14:25 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 18:14:27 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:7fc3:e4ce:2a81:16be) |
| 18:14:54 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 18:15:18 | <aramend> | I'm trying to build a cabal project that uses gloss in build depends. To manage dependencies I'm doing all of this inside a flake.nix that calls cabal2nix. I'd like to add a flag for building the gloss dependency, +glfw, since I'm unable to build using the default glut choice. I can't find a way effect this at all, never mind inside my project setup. Any suggestions? |
| 18:19:57 | → | CuPenguin joins (~CuPenguin@207.38.239.235) |
| 18:20:15 | ← | CuPenguin parts (~CuPenguin@207.38.239.235) ("WeeChat 3.1") |
| 18:20:29 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 18:24:13 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-faqhkbxusvkvdgls) |
| 18:25:41 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 18:26:11 | <xe4> | how to use sortWith? |
| 18:26:23 | <Rembane> | :t sortWith |
| 18:26:25 | <lambdabot> | error: |
| 18:26:25 | <lambdabot> | • Variable not in scope: sortWith |
| 18:26:25 | <lambdabot> | • Perhaps you meant ‘NE.sortWith’ (imported from Data.List.NonEmpty) |
| 18:26:42 | <nolrai> | Odd. |
| 18:26:44 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 18:26:51 | <nolrai> | :t NE.sortWith |
| 18:26:52 | <lambdabot> | Ord o => (a -> o) -> NonEmpty a -> NonEmpty a |
| 18:27:43 | → | Khisanth joins (~Khisanth@255.sub-174-197-131.myvzw.com) |
| 18:28:33 | <Rembane> | xe4: Are you thinking about the NonEmpty sortWith? |
| 18:28:39 | <xe4> | yes |
| 18:30:27 | <nolrai> | > NE.sortWith (reverse . snd) [(1,"bob"), (2,"alice"), (3, "aardvark"), (4, "za"), (5, "az")] |
| 18:30:29 | <lambdabot> | error: |
| 18:30:29 | <lambdabot> | • Couldn't match expected type ‘NonEmpty (a, [a1])’ |
| 18:30:29 | <lambdabot> | with actual type ‘[(a0, [Char])]’ |
| 18:31:02 | × | kuribas quits (~user@ptr-25vy0i9ywxfym2so1gs.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 18:31:11 | <xe4> | biggest = head ((sortWith (compare `on` fst))) |
| 18:31:25 | <Rembane> | NE.sortWith id $ NE.fromList [4,3,2,1] |
| 18:31:27 | <Rembane> | > NE.sortWith id $ NE.fromList [4,3,2,1] |
| 18:31:29 | <lambdabot> | 1 :| [2,3,4] |
| 18:32:30 | <monochrom> | sortWith's type suggests it doesn't want a comparator, it wants to map your element type to an orderable type. |
| 18:32:39 | <nolrai> | NE.sortWith doesn't use compare, it already is applying "compare `on`" internally. |
| 18:32:45 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 18:33:07 | <monochrom> | The simplest case is "sortWith id" when my elements are already the orderable type I want. |
| 18:34:22 | <nolrai> | > NE.sortWith (reverse . snd) ((1,"bob") :| [(2,"alice"), (3, "aardvark"), (4, "za"), (5, "az")]) |
| 18:34:24 | <lambdabot> | (4,"za") :| [(1,"bob"),(2,"alice"),(3,"aardvark"),(5,"az")] |
| 18:35:02 | <nolrai> | Err.. I shouldn't have used bob alice aardvark. >.< |
| 18:36:36 | → | CuPenguin joins (~CuPenguin@207.38.239.235) |
| 18:36:44 | <nolrai> | > NE.sortWith (reverse . snd) ((1,"aaa") :| [(2,"ba"), (3, "bz"), (4, "za"), (5, "az")]) |
| 18:36:46 | <lambdabot> | (1,"aaa") :| [(2,"ba"),(4,"za"),(5,"az"),(3,"bz")] |
| 18:37:43 | × | rajivr quits (uid269651@gateway/web/irccloud.com/x-hrgaorfqejcowubk) (Quit: Connection closed for inactivity) |
| 18:41:21 | × | rond_ quits (531aedb3@asz179.neoplus.adsl.tpnet.pl) (Quit: Connection closed) |
| 18:41:47 | <tomsmeding> | :t sortOn |
| 18:41:48 | <lambdabot> | Ord b => (a -> b) -> [a] -> [a] |
| 18:41:56 | <tomsmeding> | analogous function on normal lists |
| 18:42:32 | → | bitmagie joins (~Thunderbi@200116b806b92e00b8b7218edf9a11f7.dip.versatel-1u1.de) |
| 18:42:37 | <nolrai> | Should probably be changed to be consistent, but it would be a breaking change. |
| 18:42:49 | <tomsmeding> | though sortOn has a slight runtime performance difference: it computes the projected 'b' values _once_, remembers them, and then sorts using that cache |
| 18:43:10 | <tomsmeding> | whereas sortWith, and Data.List.sortBy, recompute the mapping/comparison function for each comparison to be made |
| 18:43:36 | <nolrai> | Hmm. That could make a big difference in some cases. |
| 18:44:01 | <tomsmeding> | if your projection function is cheap, 'sortBy (comparing f)' may be significantly better than 'sortOn f' :) |
| 18:44:22 | × | nolrai quits (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Connection closed) |
| 18:44:35 | × | nf quits (~n@monade.li) (Quit: Fairfarren.) |
| 18:44:56 | <tomsmeding> | I was really happy when I first discovered sortOn, then slightly confused and subsequently a bit disappointed upon learning this implementation difference :p |
| 18:45:01 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 260 seconds) |
| 18:45:13 | <tomsmeding> | I seldomly sort with an expensive projection function, but maybe that's me |
| 18:45:34 | → | nf joins (~n@monade.li) |
| 18:45:39 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 18:45:44 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Remote host closed the connection) |
| 18:46:08 | → | minoru_shiraeesh joins (~shiraeesh@109.166.58.80) |
| 18:46:34 | <monochrom> | sortBy (comparing (\n -> ack n n)) |
| 18:46:52 | <xe4> | can I get assistance with this basic quickcheck function? |
| 18:46:57 | <xe4> | https://gist.github.com/xe-4/ba47bc1ae4ff747e5bcef6eeb88888bb |
| 18:47:13 | × | CuPenguin quits (~CuPenguin@207.38.239.235) (Quit: WeeChat 3.1) |
| 18:47:30 | → | nolrai joins (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) |
| 18:47:49 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Remote host closed the connection) |
| 18:48:54 | → | minoru_shiraeesh joins (~shiraeesh@109.166.58.80) |
| 18:49:37 | <lyxia> | xe4: add an Arbitrary instance for NonEmpty |
| 18:49:47 | <tomsmeding> | xe4: instance Arbitrary a => Arbitrary (NE.NonEmpty a) where arbitrary = (:|) <$> arbitrary <*> arbitrary |
| 18:50:39 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 18:52:03 | → | dpl_ joins (~dpl@77-121-78-163.chn.volia.net) |
| 18:53:00 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 18:53:09 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 18:53:15 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 18:56:29 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client") |
| 18:56:53 | → | CuPenguin joins (~CuPenguin@207.38.239.235) |
| 18:58:26 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 19:04:48 | → | epicte7us joins (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
| 19:05:02 | × | CuPenguin quits (~CuPenguin@207.38.239.235) (Quit: WeeChat 3.1) |
| 19:05:34 | × | carlomagno quits (~cararell@148.87.23.13) (Remote host closed the connection) |
| 19:05:49 | → | carlomagno joins (~cararell@148.87.23.13) |
| 19:06:34 | → | CuPenguin joins (~CuPenguin@207.38.239.235) |
| 19:08:05 | × | ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 268 seconds) |
| 19:10:36 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 19:11:42 | × | hypercube quits (~hypercube@137.112.239.172) (Quit: WeeChat 3.1) |
| 19:12:15 | <thblt> | I'm reading /Thinking in Types/, and I'm learning a lot of *very* cool things, but it's kinda funny that the more advanced the book gets, the more it focuses on defeating what's usually marketed as the best features of Haskell. |
| 19:12:53 | × | CuPenguin quits (~CuPenguin@207.38.239.235) (Quit: WeeChat 3.1) |
| 19:13:00 | → | aerona_ joins (~aerona@2600:6c54:4600:f300:a087:e5ac:bbaa:7d1c) |
| 19:13:01 | × | oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 260 seconds) |
| 19:13:16 | <thblt> | “See, with this very advanced features you can have purely dynamic types that make your program explode at runtime if you make a single mistake.” |
| 19:15:43 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 19:15:55 | → | hypercube joins (~hypercube@137.112.239.172) |
| 19:16:10 | → | CuPenguin joins (~CuPenguin@207.38.239.235) |
| 19:16:16 | → | oxide joins (~lambda@unaffiliated/mclaren) |
| 19:16:31 | × | aerona quits (~aerona@2600:6c54:4600:f300:a087:e5ac:bbaa:7d1c) (Ping timeout: 276 seconds) |
| 19:17:10 | × | CuPenguin quits (~CuPenguin@207.38.239.235) (Client Quit) |
| 19:21:38 | × | aramend quits (~aramend@5.186.113.246.cgn.fibianet.dk) (Quit: Leaving) |
| 19:22:00 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 19:22:11 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 19:22:45 | <ski> | @type GHC.Exts.sortWith |
| 19:22:46 | <lambdabot> | Ord b => (a -> b) -> [a] -> [a] |
| 19:24:00 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 19:24:37 | <tomsmeding> | ah and that uses the sortBy implementation, cool |
| 19:25:52 | × | jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 240 seconds) |
| 19:26:29 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 19:26:47 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 246 seconds) |
| 19:27:52 | × | nolrai quits (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Connection closed) |
| 19:28:05 | → | Wizek joins (uid191769@gateway/web/irccloud.com/x-marzjbfjxkdjkaeq) |
| 19:28:48 | → | jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg) |
| 19:28:58 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:30:15 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 19:31:09 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds) |
| 19:31:14 | <ski> | % :set -XTransformListComp |
| 19:31:14 | <yahb> | ski: |
| 19:31:35 | <ski> | % [w | w <- words "The quick brown fox jumps over the lazy dog",then GHC.Exts.sortWith by length w] -- iirc, it's in there, because of this |
| 19:31:35 | <yahb> | ski: ["The","fox","the","dog","over","lazy","quick","brown","jumps"] |
| 19:32:54 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:33:10 | <ski> | % [w | w <- words "The quick brown fox jumps over the lazy dog",then group by length w using GHC.Exts.groupWith] |
| 19:33:10 | <yahb> | ski: [["The","fox","the","dog"],["over","lazy"],["quick","brown","jumps"]] |
| 19:33:26 | × | dpl_ quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 260 seconds) |
| 19:33:36 | <tomsmeding> | ah you're right |
| 19:33:41 | <tomsmeding> | does anybody ever use that |
| 19:38:49 | <ski> | % [(GHC.Exts.the len,w) | w <- words "The quick brown fox jumps over the lazy dog",let len = length w,then group by len using GHC.Exts.groupWith] |
| 19:38:49 | <yahb> | ski: [(3,["The","fox","the","dog"]),(4,["over","lazy"]),(5,["quick","brown","jumps"])] |
| 19:39:01 | <ski> | not sure it's used that often |
| 19:40:46 | <ski> | <https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/generalised_list_comprehensions.html> |
| 19:41:10 | → | safinaskar joins (~user@109-252-90-136.nat.spd-mgts.ru) |
| 19:41:14 | <xerox_> | that's beautiful |
| 19:43:26 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 19:44:11 | → | stree joins (~stree@68.36.8.116) |
| 19:44:31 | → | Rudd0^ joins (~Rudd0@185.189.115.103) |
| 19:45:44 | <safinaskar> | is there parser libraries with unbiased choice? i. e. i want <|> to take both brances. And if final parse tree is ambiguous, I want parser library to tell me that. As opposed to Parsec (Parsec uses biased choice, and it will not detect ambiguities.) Package "Earley" uses unbiased choice and it detect ambiguities, but it has another problem: I want check for semantic errors (i. e. "undeclared |
| 19:45:50 | <safinaskar> | identifier" or "type mismatch") as a side effect of parsing. So, I need either function "get current position" (so I can check semantic error and save current position for error reporting) or function "fail with semantic error", which should save position and report error. "Earley" (as opposed to Parsec) does not have this functions. So, is there other solutions? |
| 19:46:33 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
| 19:48:03 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:49:11 | × | Rudd0^ quits (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds) |
| 19:49:51 | × | epicte7us quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Quit: Leaving) |
| 19:50:24 | <monochrom> | Text.ParserCombinators.ReadP has an unbiased choice. (It also has a biased choice.) |
| 19:50:42 | × | hololeap quits (hololeap@gateway/vpn/protonvpn/hololeap) (Quit: Bye) |
| 19:51:04 | <monochrom> | I forgot which one it chose for <|> but you can always use its +++ to be sure. |
| 19:51:24 | → | hexfive joins (~hexfive@50.35.83.177) |
| 19:51:45 | <ski> | maybe `parsek' ? |
| 19:52:21 | <monochrom> | ReadP is really designed and implemented with ambiguities in mind. "It parses all alternatives in parallel, so it never keeps hold of the beginning of the input string, a common source of space leaks with other parsers." |
| 19:52:36 | <ski> | seems it has <https://hackage.haskell.org/package/parsek-1.0.4.0/docs/Text-ParserCombinators-Parsek-Position.html#v:getPosition> |
| 19:53:57 | <monochrom> | Ah, ReadP doesn't have getPosition. |
| 19:54:26 | <geekosaur> | or error reporting, really |
| 19:55:33 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 19:56:08 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 19:56:09 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 19:56:09 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 19:56:19 | <ski> | (the need for `the' with `group by .. using ..' annoys me, but i'm not sure how/if one could do better) |
| 19:56:57 | × | bitmagie quits (~Thunderbi@200116b806b92e00b8b7218edf9a11f7.dip.versatel-1u1.de) (Quit: bitmagie) |
| 19:57:26 | → | dpl_ joins (~dpl@77-121-78-163.chn.volia.net) |
| 19:57:42 | → | m_shiraeeshi joins (~shiraeesh@109.166.59.168) |
| 19:58:15 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 19:58:40 | <monochrom> | "the" is a technicality function that got a wannabe-intuitive name |
| 19:59:09 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Ping timeout: 260 seconds) |
| 19:59:34 | <safinaskar> | ski: ok, i will try |
| 20:00:22 | <monochrom> | Overall TransformListComp found a way of covering all desired use cases by going overly general (because the use cases are too different, really), and so we need a few of these technicality bridging functions. |
| 20:00:51 | <ski> | it's possible to break what would be considered the obvious usage of `the', if you use a strange grouping function |
| 20:01:52 | <ski> | % [(len,w) | w <- words "The quick brown fox jumps over the lazy dog",let len = length w,then group by len using GHC.Exts.groupWith] |
| 20:01:52 | <yahb> | ski: [([3,3,3,3],["The","fox","the","dog"]),([4,4],["over","lazy"]),([5,5,5],["quick","brown","jumps"])] |
| 20:02:00 | <ski> | % [(len,w) | w <- words "The quick brown fox jumps over the lazy dog",let len = length w,then group by len using (transpose .) . GHC.Exts.groupWith] |
| 20:02:00 | <yahb> | ski: [([3,4,5],["The","over","quick"]),([3,4,5],["fox","lazy","brown"]),([3,5],["the","jumps"]),([3],["dog"])] |
| 20:02:00 | <monochrom> | https://mail.haskell.org/pipermail/haskell-cafe/2018-February/128607.html is what I managed to exploit the generality >:) |
| 20:02:05 | <ski> | % [(GHC.Exts.the len,w) | w <- words "The quick brown fox jumps over the lazy dog",let len = length w,then group by len using (transpose .) . GHC.Exts.groupWith] |
| 20:02:05 | <yahb> | ski: [(*** Exception: GHC.Exts.the: non-identical elements |
| 20:02:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 20:05:13 | × | petersen quits (~petersen@redhat/juhp) (Ping timeout: 260 seconds) |
| 20:05:15 | <ski> | (iow, attempting to automagically apply `the' is probably not a good idea) |
| 20:06:33 | <ski> | % [c | c <- "mississippi",then group using chunksOf 3] |
| 20:06:33 | <yahb> | ski: ["mis","sis","sip","pi"] |
| 20:07:06 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:07:15 | → | petersen joins (~petersen@redhat/juhp) |
| 20:09:41 | × | _bin quits (~bin@2600:1700:10a1:38d0:8cd7:7637:fad:1f0b) (*.net *.split) |
| 20:09:41 | × | waleee-cl quits (uid373333@gateway/web/irccloud.com/x-pyxgzrqsorndsysw) (*.net *.split) |
| 20:09:41 | × | berberman quits (~berberman@unaffiliated/berberman) (*.net *.split) |
| 20:09:41 | × | sclv quits (sid39734@haskell/developer/sclv) (*.net *.split) |
| 20:09:41 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-skpmotuzajgkfppr) (*.net *.split) |
| 20:09:41 | × | hendi quits (sid489601@gateway/web/irccloud.com/x-uqohcpzerdjcsbjn) (*.net *.split) |
| 20:09:42 | × | pent quits (sid313808@gateway/web/irccloud.com/x-gthllmzsbacdlose) (*.net *.split) |
| 20:09:42 | × | lordyod quits (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (*.net *.split) |
| 20:09:42 | × | mikeplus32 quits (~mike@2406:d500:6:1:216:3cff:fe36:651) (*.net *.split) |
| 20:09:42 | × | sphalerite quits (~sphalerit@NixOS/user/lheckemann) (*.net *.split) |
| 20:09:42 | × | p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (*.net *.split) |
| 20:09:42 | × | rann quits (sid175221@gateway/web/irccloud.com/x-xgerfalphipfmdgv) (*.net *.split) |
| 20:09:42 | × | acertain quits (sid470584@gateway/web/irccloud.com/x-smitzrwlhgbnwuzb) (*.net *.split) |
| 20:09:42 | × | Tritlo quits (sid58727@gateway/web/irccloud.com/x-chylzklhzxffdqgz) (*.net *.split) |
| 20:09:42 | × | affinespaces quits (sid327561@gateway/web/irccloud.com/x-yipzwsjpntskowut) (*.net *.split) |
| 20:09:42 | × | jeanclaude[m] quits (jeanclaude@gateway/shell/matrix.org/x-mmihezdzzruufkof) (*.net *.split) |
| 20:09:42 | × | NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (*.net *.split) |
| 20:09:42 | × | catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (*.net *.split) |
| 20:09:42 | × | Raito_Bezarius quits (~Raito@unaffiliated/raito-bezarius/x-8764578) (*.net *.split) |
| 20:09:42 | × | ggVGc quits (~ggVGc@a.lowtech.earth) (*.net *.split) |
| 20:09:42 | × | miklcct quits (quasselcor@miklcct.com) (*.net *.split) |
| 20:09:42 | × | nlofaro quits (sid258233@gateway/web/irccloud.com/x-xhutvjiokxcusdlf) (*.net *.split) |
| 20:09:42 | × | Nascha quits (sid212230@gateway/web/irccloud.com/x-dqtvumpmtznmjvar) (*.net *.split) |
| 20:09:42 | × | aizen_s quits (sid462968@gateway/web/irccloud.com/x-wkgllnirjxztqgtb) (*.net *.split) |
| 20:09:42 | × | tapas quits (sid467876@gateway/web/irccloud.com/x-jnxdqaqlhfwdctoj) (*.net *.split) |
| 20:09:42 | × | ProofTechnique quits (sid79547@gateway/web/irccloud.com/x-hmamblixaqsfzazg) (*.net *.split) |
| 20:09:42 | × | cemerick quits (sid54985@gateway/web/irccloud.com/x-cgnqmpfzhzxaaydo) (*.net *.split) |
| 20:09:42 | × | koankeeper quits (sid216950@gateway/web/irccloud.com/x-utdpmlvofhbekyeu) (*.net *.split) |
| 20:09:42 | × | npgm quits (sid42623@gateway/web/irccloud.com/x-geajwhsmjoalbuuo) (*.net *.split) |
| 20:09:42 | × | luite quits (sid387799@gateway/web/irccloud.com/x-aaiogqabznlrzlnw) (*.net *.split) |
| 20:09:42 | × | vaibhavsagar quits (vaibhavsag@gateway/shell/matrix.org/x-yqaazxmokhytwobc) (*.net *.split) |
| 20:09:42 | × | sarahzrf quits (~sarahzrf_@2604:a880:400:d0::b4a:4001) (*.net *.split) |
| 20:09:42 | × | jchia[m] quits (jchiamatri@gateway/shell/matrix.org/x-scatarnmpyydrxbt) (*.net *.split) |
| 20:09:42 | × | ServerStatsDisco quits (serverstat@gateway/shell/matrix.org/x-oxgvtvxuexgkqkan) (*.net *.split) |
| 20:09:42 | × | supersven[m] quits (supersvenm@gateway/shell/matrix.org/x-yllxmwoozxynyliw) (*.net *.split) |
| 20:09:43 | × | dominicusin[m] quits (dominicusi@gateway/shell/matrix.org/x-oatljpwlthdxnsxj) (*.net *.split) |
| 20:09:43 | × | themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-jxvnrdxzkiqyurdg) (*.net *.split) |
| 20:10:02 | ← | tempate parts (~tempate@unaffiliated/tempate) () |
| 20:10:44 | <ski> | % [(GHC.Exts.the c,length c) | c <- "mississippi",then group by c using GHC.Exts.groupWith] |
| 20:10:44 | <yahb> | ski: [('i',4),('m',1),('p',2),('s',4)] |
| 20:10:51 | <ski> | % [(GHC.Exts.the c,length c) | c <- "mississippi",then group by c using groupBy . equating] |
| 20:10:51 | <yahb> | ski: [('m',1),('i',1),('s',2),('i',1),('s',2),('i',1),('p',2),('i',1)] |
| 20:10:53 | × | Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving) |
| 20:11:07 | <shapr> | I gave my talk! yay! https://github.com/shapr/graphreductionhardware |
| 20:11:35 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 20:12:05 | <Rembane> | \o/ |
| 20:12:31 | <ski> | (using `group' directly doesn't work, since that requires `Eq' on the elements, which `then group using ..' and `then group by .. using ..' (as well as `then ..' and `then .. by ..') forbids) |
| 20:12:42 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds) |
| 20:12:52 | <ski> | shapr : yay ! :) |
| 20:12:57 | <Rembane> | shapr: I love the second slide! |
| 20:13:13 | <shapr> | heh, seemed like a good outline |
| 20:13:20 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds) |
| 20:13:55 | → | ServerStatsDisco joins (serverstat@gateway/shell/matrix.org/session) |
| 20:13:55 | → | _bin joins (~bin@2600:1700:10a1:38d0:8cd7:7637:fad:1f0b) |
| 20:13:55 | → | waleee-cl joins (uid373333@gateway/web/irccloud.com/x-pyxgzrqsorndsysw) |
| 20:13:55 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 20:13:55 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-skpmotuzajgkfppr) |
| 20:13:55 | → | sclv joins (sid39734@haskell/developer/sclv) |
| 20:13:55 | → | pent joins (sid313808@gateway/web/irccloud.com/x-gthllmzsbacdlose) |
| 20:13:55 | → | hendi joins (sid489601@gateway/web/irccloud.com/x-uqohcpzerdjcsbjn) |
| 20:13:55 | → | lordyod joins (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) |
| 20:13:55 | → | mikeplus32 joins (~mike@2406:d500:6:1:216:3cff:fe36:651) |
| 20:13:55 | → | sphalerite joins (~sphalerit@NixOS/user/lheckemann) |
| 20:13:55 | → | p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
| 20:13:55 | → | rann joins (sid175221@gateway/web/irccloud.com/x-xgerfalphipfmdgv) |
| 20:13:55 | → | affinespaces joins (sid327561@gateway/web/irccloud.com/x-yipzwsjpntskowut) |
| 20:13:55 | → | Tritlo joins (sid58727@gateway/web/irccloud.com/x-chylzklhzxffdqgz) |
| 20:13:55 | → | acertain joins (sid470584@gateway/web/irccloud.com/x-smitzrwlhgbnwuzb) |
| 20:13:55 | → | jeanclaude[m] joins (jeanclaude@gateway/shell/matrix.org/x-mmihezdzzruufkof) |
| 20:13:55 | → | NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur) |
| 20:13:55 | → | catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
| 20:13:55 | → | Raito_Bezarius joins (~Raito@unaffiliated/raito-bezarius/x-8764578) |
| 20:13:55 | → | ggVGc joins (~ggVGc@a.lowtech.earth) |
| 20:13:55 | → | miklcct joins (quasselcor@miklcct.com) |
| 20:13:55 | → | aizen_s joins (sid462968@gateway/web/irccloud.com/x-wkgllnirjxztqgtb) |
| 20:13:55 | → | Nascha joins (sid212230@gateway/web/irccloud.com/x-dqtvumpmtznmjvar) |
| 20:13:55 | → | nlofaro joins (sid258233@gateway/web/irccloud.com/x-xhutvjiokxcusdlf) |
| 20:13:55 | → | ProofTechnique joins (sid79547@gateway/web/irccloud.com/x-hmamblixaqsfzazg) |
| 20:13:55 | → | tapas joins (sid467876@gateway/web/irccloud.com/x-jnxdqaqlhfwdctoj) |
| 20:13:55 | → | cemerick joins (sid54985@gateway/web/irccloud.com/x-cgnqmpfzhzxaaydo) |
| 20:13:55 | → | koankeeper joins (sid216950@gateway/web/irccloud.com/x-utdpmlvofhbekyeu) |
| 20:13:55 | → | npgm joins (sid42623@gateway/web/irccloud.com/x-geajwhsmjoalbuuo) |
| 20:13:55 | → | luite joins (sid387799@gateway/web/irccloud.com/x-aaiogqabznlrzlnw) |
| 20:13:55 | → | vaibhavsagar joins (vaibhavsag@gateway/shell/matrix.org/x-yqaazxmokhytwobc) |
| 20:13:55 | → | sarahzrf joins (~sarahzrf_@2604:a880:400:d0::b4a:4001) |
| 20:13:55 | → | jchia[m] joins (jchiamatri@gateway/shell/matrix.org/x-scatarnmpyydrxbt) |
| 20:13:55 | → | dominicusin[m] joins (dominicusi@gateway/shell/matrix.org/x-oatljpwlthdxnsxj) |
| 20:13:55 | → | themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-jxvnrdxzkiqyurdg) |
| 20:13:55 | → | supersven[m] joins (supersvenm@gateway/shell/matrix.org/x-yllxmwoozxynyliw) |
| 20:13:57 | × | sphalerite quits (~sphalerit@NixOS/user/lheckemann) (Max SendQ exceeded) |
| 20:13:57 | × | Raito_Bezarius quits (~Raito@unaffiliated/raito-bezarius/x-8764578) (Max SendQ exceeded) |
| 20:13:57 | × | _bin quits (~bin@2600:1700:10a1:38d0:8cd7:7637:fad:1f0b) (Max SendQ exceeded) |
| 20:13:57 | × | themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-jxvnrdxzkiqyurdg) (Max SendQ exceeded) |
| 20:13:57 | × | catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Max SendQ exceeded) |
| 20:13:57 | × | ServerStatsDisco quits (serverstat@gateway/shell/matrix.org/session) (Max SendQ exceeded) |
| 20:13:57 | × | rann quits (sid175221@gateway/web/irccloud.com/x-xgerfalphipfmdgv) (Max SendQ exceeded) |
| 20:14:20 | → | _bin joins (~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net) |
| 20:14:25 | → | rann joins (sid175221@gateway/web/irccloud.com/x-kiegtzmiullgvejq) |
| 20:14:31 | → | sphalerite joins (~sphalerit@NixOS/user/lheckemann) |
| 20:14:32 | → | Raito_Bezarius joins (~Raito@unaffiliated/raito-bezarius/x-8764578) |
| 20:14:52 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 20:15:25 | → | catern- joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
| 20:16:28 | × | madjestic[m] quits (madjesticm@gateway/shell/matrix.org/x-bliesrnvyjhhztuj) (Ping timeout: 246 seconds) |
| 20:16:28 | × | alar[m] quits (alarmxalat@gateway/shell/matrix.org/x-tumhmfppepawepdt) (Ping timeout: 246 seconds) |
| 20:16:28 | × | mith[m] quits (mithmatrix@gateway/shell/matrix.org/x-ivwbchwbjlykkjix) (Ping timeout: 246 seconds) |
| 20:16:28 | × | unclechu quits (unclechuma@gateway/shell/matrix.org/x-hmyukeoalvxhtawb) (Ping timeout: 246 seconds) |
| 20:16:29 | × | fakubish[m] quits (fakubishne@gateway/shell/matrix.org/x-jbcgigidgtkrgfve) (Ping timeout: 246 seconds) |
| 20:16:29 | × | jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-krbwrrrrfyjdhkbj) (Ping timeout: 246 seconds) |
| 20:16:29 | × | pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-fpcbkdqevgiqsfht) (Ping timeout: 246 seconds) |
| 20:16:29 | × | DamienCassou quits (damiencass@gateway/shell/matrix.org/x-hyonoyihsjqrwcrp) (Ping timeout: 246 seconds) |
| 20:16:29 | × | mly quits (mlydisenco@gateway/shell/matrix.org/x-etvxmtqydpegtqau) (Ping timeout: 246 seconds) |
| 20:16:29 | × | JaakkoLuttinen[m quits (jluttinema@gateway/shell/matrix.org/x-voemsvmmhmegbjmj) (Ping timeout: 246 seconds) |
| 20:16:30 | × | Ericson2314 quits (ericson231@gateway/shell/matrix.org/x-okvmajqpechljnhj) (Ping timeout: 246 seconds) |
| 20:16:30 | × | domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Ping timeout: 246 seconds) |
| 20:16:37 | × | lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-vcssvhrxheznsnah) (Ping timeout: 245 seconds) |
| 20:16:37 | × | srid quits (sridmatrix@gateway/shell/matrix.org/x-pldvflvxklvtooyv) (Ping timeout: 245 seconds) |
| 20:16:37 | × | maerwald[m] quits (maerwaldma@gateway/shell/matrix.org/x-pyvdmcxssbqqflsf) (Ping timeout: 245 seconds) |
| 20:16:38 | × | l-as quits (lasmatrixo@gateway/shell/matrix.org/x-nzwzhdnldqukobbz) (Ping timeout: 245 seconds) |
| 20:16:38 | × | bitonic quits (bitonicmat@gateway/shell/matrix.org/x-kznirxeanjsjbohh) (Ping timeout: 245 seconds) |
| 20:16:38 | × | loyon quits (loyonmatri@gateway/shell/matrix.org/x-nvvwjgtnydlazhqq) (Ping timeout: 245 seconds) |
| 20:16:39 | × | lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-fvxopfvkrxwyhetn) (Ping timeout: 245 seconds) |
| 20:16:39 | × | mjlbach quits (atriusmatr@gateway/shell/matrix.org/x-bvtmjmmlgatiwtwy) (Ping timeout: 245 seconds) |
| 20:16:39 | × | CrabMan quits (phi-matrix@gateway/shell/matrix.org/x-ugqyawvncvacxvcr) (Ping timeout: 245 seconds) |
| 20:16:40 | × | M66bdd7f1f556[m] quits (M66bdd7f1f@gateway/shell/matrix.org/x-oqbjqmoraaxfqpmo) (Ping timeout: 258 seconds) |
| 20:16:40 | × | asimons04[m] quits (asimonsptz@gateway/shell/matrix.org/x-reabkokykcvrwzca) (Ping timeout: 258 seconds) |
| 20:16:41 | × | sm[m] quits (simonmicma@gateway/shell/matrix.org/x-yogdjvkzyankbmtu) (Ping timeout: 258 seconds) |
| 20:16:41 | × | jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-hqewufefunqmyffr) (Ping timeout: 258 seconds) |
| 20:16:41 | × | Guillaum quits (guiboumatr@gateway/shell/matrix.org/x-fvjmbciiwqbgfexw) (Ping timeout: 258 seconds) |
| 20:16:48 | × | Joshua[m]1 quits (eleos91mat@gateway/shell/matrix.org/x-upvbumeylpbdydvm) (Ping timeout: 246 seconds) |
| 20:16:49 | × | michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-cegnevincdtrzzmv) (Ping timeout: 246 seconds) |
| 20:16:49 | × | rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-mdycfrjlahowxvor) (Ping timeout: 246 seconds) |
| 20:16:59 | × | dominicusin[m] quits (dominicusi@gateway/shell/matrix.org/x-oatljpwlthdxnsxj) (Ping timeout: 276 seconds) |
| 20:17:02 | × | joe[m]4 quits (joemonoida@gateway/shell/matrix.org/x-wamgtxwemulgqbqt) (Ping timeout: 245 seconds) |
| 20:17:02 | × | alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-cfbsuzgtowqlpdpa) (Ping timeout: 245 seconds) |
| 20:17:02 | × | heck-to-the-gnom quits (heck-to-th@gateway/shell/matrix.org/x-fqmzmgouaqnemhzv) (Ping timeout: 245 seconds) |
| 20:17:02 | × | Noughtmare[m] quits (naughtmare@gateway/shell/matrix.org/x-ezpsgshfemjyczoj) (Ping timeout: 245 seconds) |
| 20:17:02 | × | jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-zemrejlpxixrtjdp) (Ping timeout: 245 seconds) |
| 20:17:03 | × | speakerspivakeem quits (speakerdea@gateway/shell/matrix.org/x-xyepmqocrzayzhxl) (Ping timeout: 258 seconds) |
| 20:17:04 | × | adziahel[m] quits (adziahelma@gateway/shell/matrix.org/x-wfunetkhbecnexqt) (Ping timeout: 245 seconds) |
| 20:17:04 | × | lowdude[m] quits (lowdudemat@gateway/shell/matrix.org/x-tuvkranqrmxuckyh) (Ping timeout: 245 seconds) |
| 20:17:04 | × | jlv quits (jlvmatrixo@gateway/shell/matrix.org/x-aykzzgnedlsynqbm) (Ping timeout: 245 seconds) |
| 20:17:04 | × | mat[m]1 quits (matmatrixo@gateway/shell/matrix.org/x-ncllcajhozvxpwhs) (Ping timeout: 245 seconds) |
| 20:17:04 | × | kiix quits (ashleyisnu@gateway/shell/matrix.org/x-hfrupjvxbcxrktzk) (Ping timeout: 245 seconds) |
| 20:17:04 | × | psydruid[m] quits (psydruidma@gateway/shell/matrix.org/x-orfuwvwxmmdbmyxg) (Ping timeout: 245 seconds) |
| 20:17:04 | × | siraben quits (sirabenmat@gateway/shell/matrix.org/x-pzgsdxlvwtqwzhrz) (Ping timeout: 245 seconds) |
| 20:17:07 | × | fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-jmtbhypkvdgrojab) (Ping timeout: 250 seconds) |
| 20:17:07 | × | johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-rksdwxlrklojjcvb) (Ping timeout: 250 seconds) |
| 20:17:07 | × | dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-rqjbulqpqdoluiiq) (Ping timeout: 250 seconds) |
| 20:17:07 | × | toasty_avocado[m quits (toastyavoc@gateway/shell/matrix.org/x-blcnavbxkdcehbvk) (Ping timeout: 250 seconds) |
| 20:17:23 | × | maralorn quits (maralornma@gateway/shell/matrix.org/x-mkcwpfwlappvvein) (Ping timeout: 248 seconds) |
| 20:17:24 | × | july541[m] quits (july541mat@gateway/shell/matrix.org/x-egxyzbtsesmpqvig) (Ping timeout: 248 seconds) |
| 20:17:24 | × | berberman__ quits (berberma4@gateway/shell/matrix.org/x-eblzmaixoufeajtd) (Ping timeout: 248 seconds) |
| 20:17:26 | × | M9ndres[m] quits (m9ndresmat@gateway/shell/matrix.org/x-pudfhcvtdpredvew) (Ping timeout: 258 seconds) |
| 20:17:26 | × | Lurkki[m] quits (lurkkifene@gateway/shell/matrix.org/x-tcyfuqvmehhdcnup) (Ping timeout: 258 seconds) |
| 20:17:27 | × | my_name_is_not_j quits (mynameisno@gateway/shell/matrix.org/x-fhvkqskparpkjshv) (Ping timeout: 258 seconds) |
| 20:17:27 | × | beardhatcode quits (robbertbea@gateway/shell/matrix.org/x-iptukbxzkzyjgrds) (Ping timeout: 258 seconds) |
| 20:17:31 | × | EmanuelLoos[m] quits (emanuel-lo@gateway/shell/matrix.org/x-ccfqmpexidbbdgfn) (Ping timeout: 246 seconds) |
| 20:17:31 | × | pnotequalnp[m] quits (pnotequaln@gateway/shell/matrix.org/x-fqukrforkcqmjqmf) (Ping timeout: 246 seconds) |
| 20:17:31 | × | ThaEwat quits (thaewraptm@gateway/shell/matrix.org/x-edsytnplokpagwcn) (Ping timeout: 246 seconds) |
| 20:17:31 | × | hsiktas[m] quits (hsiktasmat@gateway/shell/matrix.org/x-gugdidzornmsbqte) (Ping timeout: 246 seconds) |
| 20:17:31 | × | hegz quits (hegzmatrix@gateway/shell/matrix.org/x-lpejkdiwrnzfmzmr) (Ping timeout: 246 seconds) |
| 20:18:16 | × | jeanclaude[m] quits (jeanclaude@gateway/shell/matrix.org/x-mmihezdzzruufkof) (Ping timeout: 276 seconds) |
| 20:18:17 | × | vaibhavsagar quits (vaibhavsag@gateway/shell/matrix.org/x-yqaazxmokhytwobc) (Ping timeout: 276 seconds) |
| 20:18:17 | × | jchia[m] quits (jchiamatri@gateway/shell/matrix.org/x-scatarnmpyydrxbt) (Ping timeout: 276 seconds) |
| 20:18:17 | × | supersven[m] quits (supersvenm@gateway/shell/matrix.org/x-yllxmwoozxynyliw) (Ping timeout: 276 seconds) |
| 20:18:22 | × | LKoen quits (~LKoen@156.168.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 20:18:33 | <m_shiraeeshi> | shapr: "Even then, all these cores still pretend to be one fast CPU! They have the same view of main memory! More cores means more overhead synchronizing the shared view of memory." |
| 20:18:43 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 20:18:59 | <m_shiraeeshi> | what memory is it talking about? |
| 20:18:59 | × | Hanma[m] quits (hanmamatri@gateway/shell/matrix.org/x-cdkqqwjlurvjchsb) (Ping timeout: 248 seconds) |
| 20:21:07 | × | VarikValefor[m] quits (varikvalef@gateway/shell/matrix.org/x-tfacxcxzjhwwblul) (Ping timeout: 248 seconds) |
| 20:21:10 | <m_shiraeeshi> | so the idea is to have a lot of small cores, each core having its own memory? |
| 20:21:20 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 252 seconds) |
| 20:21:39 | × | Lurkki[m]1 quits (lurkkipriv@gateway/shell/matrix.org/x-isyhslhcdxtqiqhe) (Ping timeout: 248 seconds) |
| 20:22:36 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 20:23:20 | <shapr> | m_shiraeeshi: that sounds good to me, but that has its own problems |
| 20:23:42 | <shapr> | m_shiraeeshi: another solution is to magically decrease the cycle count to main memory, and remove the caches |
| 20:24:00 | <m_shiraeeshi> | main memory is RAM? |
| 20:24:06 | shapr | sprinkles unicorn dust |
| 20:24:09 | → | Tario joins (~Tario@201.192.165.173) |
| 20:24:23 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 20:25:13 | <shapr> | m_shiraeeshi: at the momemt, yes... the FPGA designs has on-die RAM that's much faster https://www-users.york.ac.uk/~mt540/graceful-ws/slides/Stewart.pdf |
| 20:25:34 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 20:26:57 | <m_shiraeeshi> | how about adding external "graph reduction card" like we add external graphics cards? |
| 20:27:31 | <Rembane> | shapr: I'm gonna be silly here, because tired. Does this parallel graph reduction idea mean that you implement Erlang on hardware? |
| 20:28:24 | <shapr> | Rembane: I don't know enough about erlang to be able to answer that |
| 20:28:59 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 20:29:17 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 20:29:41 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds) |
| 20:29:42 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 20:29:51 | <shapr> | m_shiraeeshi: good question, GPUs might be good at graph reduction? I couldn't find any research about doing graph reduction on GPUs |
| 20:30:12 | <Rembane> | shapr: That's a good answer. What I was intending to ask before Erlang got in there was: how are the cores going to communicate? Message passing? |
| 20:30:15 | <shapr> | m_shiraeeshi: the graphcore hardware I mentioned near the end might be a graph reduction coprocessor, I haven't dug into that |
| 20:30:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:31:37 | × | wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 252 seconds) |
| 20:32:13 | <shapr> | Rembane: I don't know enough about that part, I assume there's a program root 'main' and if there's a place where work could be sent off to another core, that work gets marked as "needed by the main node" or maybe explicitly passed to a core? |
| 20:32:36 | <shapr> | I haven't read all of the reduceron papers yet |
| 20:33:43 | <m_shiraeeshi> | wait, what do those bitcoin farmers do with GPUs? |
| 20:33:53 | <Rembane> | shapr: That sounds good. Spontaneously, DMA and IRQs sounds not too bad. But maybe they are when things become too parallel. |
| 20:34:23 | <Rembane> | The Reduceron is such a fantastically cheesy name <3 |
| 20:34:52 | <shapr> | I agree, I wish they had a logo |
| 20:34:56 | <shapr> | I'd buy the t-shirt |
| 20:35:16 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:35:32 | <Rembane> | Me too. And all the swag! |
| 20:35:33 | catern- | is now known as catern |
| 20:35:42 | <Rembane> | Stickers, plushy, everything! |
| 20:35:49 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 20:36:07 | → | apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
| 20:36:16 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 20:37:53 | <shapr> | Rembane: we could make one and ask Runciman |
| 20:37:57 | <shapr> | or Naylor |
| 20:38:01 | catern | is now known as catern- |
| 20:38:06 | → | dominicusin[m] joins (dominicusi@gateway/shell/matrix.org/x-gdindupjdyjnygcd) |
| 20:38:09 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 20:38:10 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 20:38:13 | catern- | is now known as catern |
| 20:38:20 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 20:38:31 | <Rembane> | shapr: That's a very cunning plan! |
| 20:38:34 | <shapr> | Rembane: I gave this talk at a "futures of programming" Recurse Center event, and I got several interesting questions |
| 20:38:47 | <shapr> | One was "does graph reduction work for non-FP languages?" |
| 20:39:07 | → | JaakkoLuttinen[m joins (jluttinema@gateway/shell/matrix.org/x-ysahyblxieeuvzlx) |
| 20:39:17 | <shapr> | and one I couldn't find the answer for: can you do graph reduction on a GPU? |
| 20:39:20 | → | mly joins (mlydisenco@gateway/shell/matrix.org/x-rpdrjxcbyachxvja) |
| 20:40:24 | → | acidjnk_new2 joins (~acidjnk@p200300d0c72b9509002dc6dbf76c6cb5.dip0.t-ipconnect.de) |
| 20:40:41 | <Taneb> | shapr: Runciman's retired now I believe, sadly |
| 20:40:57 | × | ubert quits (~Thunderbi@p200300ecdf005e5ce6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 20:40:59 | × | Guest87676 quits (~laudiacay@67.176.215.84) (Ping timeout: 246 seconds) |
| 20:41:11 | <shapr> | oh, didn't know that |
| 20:41:19 | → | jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-csatkhbdsihyljoz) |
| 20:41:23 | → | sm[m] joins (simonmicma@gateway/shell/matrix.org/x-ohzxdfhmrklaasyg) |
| 20:41:31 | <Rembane> | My hunch is that GPUs are very bad at graph reductions, but I can't say why. |
| 20:41:48 | → | Ericson2314 joins (ericson231@gateway/shell/matrix.org/x-lfojhdlxyjhgujwr) |
| 20:41:50 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 20:41:52 | <Uniaika> | Rembane: because they are hardware specialised in dealing with triangles :-P |
| 20:42:00 | → | CrabMan joins (phi-matrix@gateway/shell/matrix.org/x-nbtkwhyasulaaowv) |
| 20:42:02 | <Rembane> | Uniaika: Indeed, and triangles aren't graphs. :) |
| 20:42:15 | → | domenkozar[m] joins (domenkozar@NixOS/user/domenkozar) |
| 20:42:18 | → | heck-to-the-gnom joins (heck-to-th@gateway/shell/matrix.org/x-fidipsyutsvkvjuh) |
| 20:42:23 | <maerwald> | can you make it a graph? You're an expert, right? |
| 20:42:28 | <Rembane> | Maybe immutable data is more important than the paradigm of the language? |
| 20:42:33 | <Taneb> | (just remembered I'm connecting to IRC from a server named for Colin Runciman. Feels significant) |
| 20:42:35 | <maerwald> | also make it perpendicular |
| 20:42:38 | → | Guillaum joins (guiboumatr@gateway/shell/matrix.org/x-hddjdnxujganspku) |
| 20:42:49 | <Uniaika> | heya Taneb and domenkozar[m] :) |
| 20:42:54 | <Uniaika> | welcome back Guillaum |
| 20:42:55 | <shapr> | Taneb: I met Runciman a few times at various ICFPs, enjoying talking to him |
| 20:42:58 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 276 seconds) |
| 20:43:02 | → | rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-ixpddsckemdoyohz) |
| 20:43:06 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 20:43:10 | <Taneb> | shapr: he was pretty cool, he supervised my master's thesis |
| 20:43:13 | → | lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-gjxdbkbobeywhhqj) |
| 20:43:14 | <shapr> | oh nice! |
| 20:43:18 | shapr | looks up that thesis |
| 20:43:28 | <Taneb> | (it was awful for me reasons, don't) |
| 20:43:36 | <Uniaika> | Rembane: immutable data, composition, recursion |
| 20:43:47 | <shapr> | Taneb: you wrote a thing! I bet it has value! |
| 20:43:57 | <shapr> | Taneb: also, if you can look back and wince, you know you've improved! |
| 20:44:10 | <Taneb> | I was looking at where I was and wincing at the time |
| 20:44:18 | <shapr> | I wrote fermat's last margin and it got me a Haskell job, two years later that code looks so nasty |
| 20:44:37 | → | fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-ldjqbjnkddlzxldw) |
| 20:44:47 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 20:45:05 | → | beardhatcode joins (robbertbea@gateway/shell/matrix.org/x-cfdagqzyyobujzsa) |
| 20:45:08 | → | mjlbach joins (atriusmatr@gateway/shell/matrix.org/x-ckuqwldaelnnpcjm) |
| 20:45:10 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 20:45:19 | <Rembane> | Uniaika: Now when you say that, can we turn any program into a program that only consists of immutable data, composition and recursion? |
| 20:45:25 | → | unclechu joins (unclechuma@gateway/shell/matrix.org/x-uykkngjnnorqmldi) |
| 20:45:35 | → | jlv joins (jlvmatrixo@gateway/shell/matrix.org/x-zyjyjmkduzwviwai) |
| 20:45:40 | → | srid joins (sridmatrix@gateway/shell/matrix.org/x-qnewniuqanmbhoms) |
| 20:45:41 | <shapr> | Rembane: what about the SSA transform? |
| 20:45:49 | → | joe[m]4 joins (joemonoida@gateway/shell/matrix.org/x-qjapyfooxpskbrvm) |
| 20:45:55 | → | bitonic joins (bitonicmat@gateway/shell/matrix.org/x-gzxyabnifphublbd) |
| 20:45:56 | → | lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-oiuqiomezalbjuiy) |
| 20:46:03 | <shapr> | I have the vague impression that SSA is one way to turn an imperative program into a functional-ish program |
| 20:46:34 | <shapr> | so I wonder if static single assignment would let you get the same benefits? |
| 20:46:49 | → | alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-xsmftrlsukuvngtm) |
| 20:46:55 | <Rembane> | shapr: Hm... yes! That's a good transform. Are there any of these machines around? I want to do experiments! |
| 20:47:00 | <Uniaika> | Rembane: truth be told, I'm more and more into making my programs interpreters for an eDSL |
| 20:47:04 | <Uniaika> | so that I can implement https://twitter.com/thingskatedid/status/1386077306381242371 |
| 20:47:10 | <Uniaika> | this would be fucking rad |
| 20:47:12 | → | jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-yddhjhigtppehlja) |
| 20:47:42 | → | loyon joins (loyonmatri@gateway/shell/matrix.org/x-pzuovwsjgvbvvmqy) |
| 20:47:55 | → | michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-zqgjpvmridqqtfur) |
| 20:48:10 | → | M66bdd7f1f556[m] joins (m66bdd7f1f@gateway/shell/matrix.org/x-xwowgliunifnmlvg) |
| 20:48:11 | × | jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 240 seconds) |
| 20:48:15 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 20:48:15 | × | hyiltiz quits (~quassel@31.220.5.250) (Changing host) |
| 20:48:15 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 20:48:23 | <Rembane> | Uniaika: That's really nice! Okay, I want to do that too! |
| 20:48:26 | → | adziahel[m] joins (adziahelma@gateway/shell/matrix.org/x-plxoyyxrzqszfvgd) |
| 20:48:58 | → | pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-ewgzealndaxlvyvj) |
| 20:49:24 | <Rembane> | Uniaika: Have you seen this? https://sqlite.org/lang_select.html |
| 20:49:32 | → | jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg) |
| 20:49:40 | → | johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-dscanpgwpdqbkzrq) |
| 20:49:43 | → | l-as joins (lasmatrixo@gateway/shell/matrix.org/x-sdabspjdnhualdwj) |
| 20:49:44 | → | maerwald[m] joins (maerwaldma@gateway/shell/matrix.org/x-zfcnfqgtbaxfthif) |
| 20:49:46 | → | Noughtmare[m] joins (naughtmare@gateway/shell/matrix.org/x-ovftnmmomlwhteoa) |
| 20:49:58 | <shapr> | How do we make that self-print thing? Is there a Diagrams typeclass we can use to dump everything to SVG? |
| 20:50:05 | <shapr> | Uniaika: that's a really cool thing |
| 20:50:13 | → | speakerspivakeem joins (speakerdea@gateway/shell/matrix.org/x-uixcdaxwngzxhkdm) |
| 20:50:19 | → | asimons04[m] joins (asimonsptz@gateway/shell/matrix.org/x-ukmevzummcsgetgl) |
| 20:50:58 | → | mith[m] joins (mithmatrix@gateway/shell/matrix.org/x-zijexjsgymwdouun) |
| 20:51:11 | <m_shiraeeshi> | I published an article today! |
| 20:51:18 | <shapr> | m_shiraeeshi: cool! where can I read it? |
| 20:51:50 | <m_shiraeeshi> | here it is: https://shiraeeshi.github.io/editable-list/article.html |
| 20:52:06 | <m_shiraeeshi> | it's about console strings list gui challenge |
| 20:52:06 | × | tomku quits (~tomku@unaffiliated/tomku) (Read error: Connection reset by peer) |
| 20:52:17 | <m_shiraeeshi> | btw, who wants to participate in the challenge? |
| 20:52:21 | → | toasty_avocado[m joins (toastyavoc@gateway/shell/matrix.org/x-rozmdkpuaepijwmo) |
| 20:52:21 | → | Lurkki[m] joins (lurkkifene@gateway/shell/matrix.org/x-olwbzjfxhikjnqnf) |
| 20:52:28 | <m_shiraeeshi> | Here is a question: which options do we have for designing (an architecture of) an application which shows a list of strings in console gui, allows to edit strings in an edit field that appears next to a list, and shows logs, and which design would you choose? |
| 20:52:46 | → | tomku joins (~tomku@unaffiliated/tomku) |
| 20:52:58 | <Uniaika> | Rembane: yeah I remember reading that page some time ago |
| 20:53:20 | → | fakubish[m] joins (fakubishne@gateway/shell/matrix.org/x-dxlieumyscgjdtnw) |
| 20:53:38 | <Rembane> | Uniaika: Sweet. Having that generated from the structure of the program would be excellent. |
| 20:54:09 | <Uniaika> | yup' |
| 20:54:14 | <Uniaika> | hmmmm |
| 20:54:14 | <Uniaika> | shit |
| 20:54:18 | <Uniaika> | I don't have anything to make |
| 20:54:22 | <Uniaika> | except deamons |
| 20:54:30 | <Uniaika> | but we have EKG for that |
| 20:54:55 | <m_shiraeeshi> | Uniaika: "so that I can implement https://twitter.com/thingskatedid/status/1386077306381242371" |
| 20:55:07 | <m_shiraeeshi> | the tweet doesn't load for some reason, what does it say? |
| 20:55:27 | <Uniaika> | m_shiraeeshi: if you hit "Refresh" enough times it'll appear :-P |
| 20:55:29 | → | Cajun joins (62a3d370@ip98-163-211-112.no.no.cox.net) |
| 20:55:33 | <Uniaika> | let me get you a screenshot |
| 20:55:44 | ← | safinaskar parts (~user@109-252-90-136.nat.spd-mgts.ru) () |
| 20:56:57 | → | son0p joins (~ff@181.136.122.143) |
| 20:57:02 | × | mith[m] quits (mithmatrix@gateway/shell/matrix.org/x-zijexjsgymwdouun) (Ping timeout: 245 seconds) |
| 20:57:02 | × | mly quits (mlydisenco@gateway/shell/matrix.org/x-rpdrjxcbyachxvja) (Ping timeout: 245 seconds) |
| 20:57:02 | <Uniaika> | m_shiraeeshi: https://imgur.com/a/UIvsXLf |
| 20:57:11 | <m_shiraeeshi> | Uniaika: ok it loaded |
| 20:57:20 | <Uniaika> | cool |
| 20:57:25 | × | fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-ldjqbjnkddlzxldw) (Ping timeout: 246 seconds) |
| 20:57:25 | × | rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-ixpddsckemdoyohz) (Ping timeout: 246 seconds) |
| 20:57:26 | × | jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-csatkhbdsihyljoz) (Ping timeout: 245 seconds) |
| 20:57:27 | × | maerwald[m] quits (maerwaldma@gateway/shell/matrix.org/x-zfcnfqgtbaxfthif) (Ping timeout: 245 seconds) |
| 20:57:27 | × | M66bdd7f1f556[m] quits (m66bdd7f1f@gateway/shell/matrix.org/x-xwowgliunifnmlvg) (Ping timeout: 245 seconds) |
| 20:57:57 | <m_shiraeeshi> | that reminds me of ghc-vis |
| 20:58:22 | <Uniaika> | I never heard of that! :O |
| 20:58:43 | <geekosaur> | hm, I know I've mentioned it at least once in here |
| 21:00:46 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 21:01:47 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 21:02:40 | × | alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-xsmftrlsukuvngtm) (Ping timeout: 246 seconds) |
| 21:02:48 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 21:02:51 | × | Lurkki[m] quits (lurkkifene@gateway/shell/matrix.org/x-olwbzjfxhikjnqnf) (Ping timeout: 245 seconds) |
| 21:02:51 | × | jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-yddhjhigtppehlja) (Ping timeout: 245 seconds) |
| 21:02:51 | × | Guillaum quits (guiboumatr@gateway/shell/matrix.org/x-hddjdnxujganspku) (Ping timeout: 245 seconds) |
| 21:02:51 | × | CrabMan quits (phi-matrix@gateway/shell/matrix.org/x-nbtkwhyasulaaowv) (Ping timeout: 245 seconds) |
| 21:02:52 | × | speakerspivakeem quits (speakerdea@gateway/shell/matrix.org/x-uixcdaxwngzxhkdm) (Ping timeout: 245 seconds) |
| 21:02:52 | × | adziahel[m] quits (adziahelma@gateway/shell/matrix.org/x-plxoyyxrzqszfvgd) (Ping timeout: 245 seconds) |
| 21:02:52 | × | srid quits (sridmatrix@gateway/shell/matrix.org/x-qnewniuqanmbhoms) (Ping timeout: 245 seconds) |
| 21:02:52 | × | Ericson2314 quits (ericson231@gateway/shell/matrix.org/x-lfojhdlxyjhgujwr) (Ping timeout: 245 seconds) |
| 21:02:54 | × | asimons04[m] quits (asimonsptz@gateway/shell/matrix.org/x-ukmevzummcsgetgl) (Ping timeout: 245 seconds) |
| 21:02:54 | × | l-as quits (lasmatrixo@gateway/shell/matrix.org/x-sdabspjdnhualdwj) (Ping timeout: 245 seconds) |
| 21:02:54 | × | bitonic quits (bitonicmat@gateway/shell/matrix.org/x-gzxyabnifphublbd) (Ping timeout: 245 seconds) |
| 21:02:54 | × | lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-gjxdbkbobeywhhqj) (Ping timeout: 245 seconds) |
| 21:02:54 | × | sm[m] quits (simonmicma@gateway/shell/matrix.org/x-ohzxdfhmrklaasyg) (Ping timeout: 245 seconds) |
| 21:03:03 | × | fakubish[m] quits (fakubishne@gateway/shell/matrix.org/x-dxlieumyscgjdtnw) (Ping timeout: 258 seconds) |
| 21:03:03 | × | Noughtmare[m] quits (naughtmare@gateway/shell/matrix.org/x-ovftnmmomlwhteoa) (Ping timeout: 258 seconds) |
| 21:03:03 | × | pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-ewgzealndaxlvyvj) (Ping timeout: 258 seconds) |
| 21:03:03 | × | joe[m]4 quits (joemonoida@gateway/shell/matrix.org/x-qjapyfooxpskbrvm) (Ping timeout: 258 seconds) |
| 21:03:03 | × | lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-oiuqiomezalbjuiy) (Ping timeout: 258 seconds) |
| 21:03:03 | × | unclechu quits (unclechuma@gateway/shell/matrix.org/x-uykkngjnnorqmldi) (Ping timeout: 258 seconds) |
| 21:03:03 | × | beardhatcode quits (robbertbea@gateway/shell/matrix.org/x-cfdagqzyyobujzsa) (Ping timeout: 258 seconds) |
| 21:03:03 | × | heck-to-the-gnom quits (heck-to-th@gateway/shell/matrix.org/x-fidipsyutsvkvjuh) (Ping timeout: 258 seconds) |
| 21:03:03 | × | JaakkoLuttinen[m quits (jluttinema@gateway/shell/matrix.org/x-ysahyblxieeuvzlx) (Ping timeout: 258 seconds) |
| 21:03:46 | × | toasty_avocado[m quits (toastyavoc@gateway/shell/matrix.org/x-rozmdkpuaepijwmo) (Ping timeout: 276 seconds) |
| 21:03:47 | × | johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-dscanpgwpdqbkzrq) (Ping timeout: 276 seconds) |
| 21:03:47 | × | michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-zqgjpvmridqqtfur) (Ping timeout: 276 seconds) |
| 21:03:47 | × | loyon quits (loyonmatri@gateway/shell/matrix.org/x-pzuovwsjgvbvvmqy) (Ping timeout: 276 seconds) |
| 21:03:47 | × | jlv quits (jlvmatrixo@gateway/shell/matrix.org/x-zyjyjmkduzwviwai) (Ping timeout: 276 seconds) |
| 21:03:47 | × | mjlbach quits (atriusmatr@gateway/shell/matrix.org/x-ckuqwldaelnnpcjm) (Ping timeout: 276 seconds) |
| 21:03:47 | × | dominicusin[m] quits (dominicusi@gateway/shell/matrix.org/x-gdindupjdyjnygcd) (Ping timeout: 276 seconds) |
| 21:04:05 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 21:04:17 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:07:31 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 265 seconds) |
| 21:08:10 | → | lowdude[m] joins (lowdudemat@gateway/shell/matrix.org/x-xnwsmmomyudcobam) |
| 21:08:11 | → | jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-xtvlwtxsimkzicmn) |
| 21:08:11 | → | my_name_is_not_j joins (mynameisno@gateway/shell/matrix.org/x-nfcroanejsuhbzqx) |
| 21:08:15 | × | hypercube quits (~hypercube@137.112.239.172) (Quit: WeeChat 3.1) |
| 21:08:24 | → | mat[m]1 joins (matmatrixo@gateway/shell/matrix.org/x-cfukwdcbtlauxbsx) |
| 21:08:25 | → | M9ndres[m] joins (m9ndresmat@gateway/shell/matrix.org/x-uatuolvhgiuajapn) |
| 21:08:26 | → | alar[m] joins (alarmxalat@gateway/shell/matrix.org/x-hhjldftixcfxzhpi) |
| 21:08:27 | → | madjestic[m] joins (madjesticm@gateway/shell/matrix.org/x-eyqfvievhcxnqgtl) |
| 21:08:27 | → | kiix joins (ashleyisnu@gateway/shell/matrix.org/x-hrqsmjvrcksahjyt) |
| 21:08:29 | → | dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-upahawlsktdxgrvb) |
| 21:08:32 | → | Joshua[m]1 joins (eleos91mat@gateway/shell/matrix.org/x-clqrxahjwxmjdtez) |
| 21:09:03 | → | Guest87676 joins (~laudiacay@45.162.228.190) |
| 21:10:39 | → | berberman__ joins (berberma4@gateway/shell/matrix.org/x-oqwwmsvupcxuxpnp) |
| 21:12:03 | → | DamienCassou joins (damiencass@gateway/shell/matrix.org/x-votlbxirlarwjjbo) |
| 21:13:05 | → | psydruid[m] joins (psydruidma@gateway/shell/matrix.org/x-rgbznonnmocgijtt) |
| 21:13:09 | → | elfets_ joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 21:13:10 | → | maralorn joins (maralornma@gateway/shell/matrix.org/x-vnybzrvhljcvwjeg) |
| 21:13:11 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds) |
| 21:13:32 | → | Ernest joins (402ba442@64.43.164.66) |
| 21:13:33 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 21:13:33 | → | july541[m] joins (july541mat@gateway/shell/matrix.org/x-sxshthlngmlrsmtb) |
| 21:14:24 | → | siraben joins (sirabenmat@gateway/shell/matrix.org/x-heuatjnwiiuzaciw) |
| 21:14:26 | → | Tario joins (~Tario@201.192.165.173) |
| 21:14:37 | <Ernest> | Hey, question on a thing that has been bugging: what is ((->) e) |
| 21:15:16 | <monochrom> | "X -> Y" is syntax sugar for "(->) X Y". Now do partial application and have just "(->) X". |
| 21:15:28 | <monochrom> | Similarly you can have "Either A". |
| 21:16:36 | → | vaibhavsagar joins (vaibhavsag@gateway/shell/matrix.org/x-fjuekmtrdjeshtoh) |
| 21:16:44 | <Ernest> | I see, I see, but what is "X -> Y" is it usable in real code? Why does it need a functor instance? |
| 21:17:13 | → | ThaEwat joins (thaewraptm@gateway/shell/matrix.org/x-wbxhiuywsqxchwea) |
| 21:17:14 | <monochrom> | All function types go like "X -> Y". |
| 21:17:31 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds) |
| 21:17:32 | → | pnotequalnp[m] joins (pnotequaln@gateway/shell/matrix.org/x-ptcimncfzlfhmbvu) |
| 21:18:08 | <geekosaur> | what do you mean by "need" here? |
| 21:18:12 | <geekosaur> | it's useful |
| 21:18:33 | <Uniaika> | Ernest: did you study function applications in maths? |
| 21:18:35 | <Uniaika> | or just functions? |
| 21:18:45 | <Ernest> | Well I mean why is it useful? Where do you use it? Is it hidden away as a primitive in the compiler?: |
| 21:18:51 | → | hegz joins (hegzmatrix@gateway/shell/matrix.org/x-kmisrxzutlqfewfk) |
| 21:19:30 | → | supersven[m] joins (supersvenm@gateway/shell/matrix.org/x-xrgsrmndhixlalsj) |
| 21:19:36 | <Uniaika> | it feels like there is some context missing, partial function application does not necessarily need a Functor instance, Ernest |
| 21:20:02 | <carbolymer> | ehlo |
| 21:20:05 | <Uniaika> | hey carbolymer |
| 21:20:06 | carbolymer | is back with his memory issues |
| 21:20:13 | <monochrom> | My policy is I never answer need questions. They are overblown. |
| 21:20:32 | <carbolymer> | WHERE IS MY MEMORY!! https://gitlab.com/carbolymer/network-http-client-memory-leak |
| 21:20:37 | <monochrom> | And behind them are always the real, hidden question "do I really need to learn it?" and the answer is always "no". |
| 21:20:44 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 21:20:50 | → | jeanclaude[m] joins (jeanclaude@gateway/shell/matrix.org/x-blnyazzuntvrqeyn) |
| 21:20:53 | <carbolymer> | damn heap profiler explains only 7% of mem usage |
| 21:20:53 | → | jchia[m] joins (jchiamatri@gateway/shell/matrix.org/x-cnmbhrrzgpmynneo) |
| 21:21:08 | <Ernest> | Sorry, shoud've mentioned I'm following https://wiki.haskell.org/Typeclassopedia . In the excercises for functor it shows to implement it for the (->) e. And my mind is boggled with what even is it and why is it useful to have it, and where is it even used |
| 21:21:14 | → | olle joins (~olle@i5E8666E4.versanet.de) |
| 21:21:37 | <ski> | Ernest : are you asking about `Functor',`Applicative',`Monad' instances for `(rho ->)' ? maybe (`Semigroup' and) `Monoid' instances for `rho -> a' ? or possibly `Num' and `Fractional' instances ? something else ? |
| 21:21:55 | → | EmanuelLoos[m] joins (emanuel-lo@gateway/shell/matrix.org/x-rzapdzrelnedlunu) |
| 21:22:02 | × | elfets_ quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 245 seconds) |
| 21:22:12 | <monochrom> | The Monad instance is sometimes used. But then if it has a Monad instance then it has a Functor instance, even though its fmap is seldom used. |
| 21:22:30 | <ski> | Ernest : you know how `(T,T)' contains the same information as `Bool -> T' ? |
| 21:22:35 | → | themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-rdnmqsotqbtoxywr) |
| 21:22:40 | → | Hanma[m] joins (hanmamatri@gateway/shell/matrix.org/x-vcnumnznwpfbnsoe) |
| 21:22:42 | → | hsiktas[m] joins (hsiktasmat@gateway/shell/matrix.org/x-lxilvmapenritogw) |
| 21:22:51 | → | ServerStatsDisco joins (serverstat@gateway/shell/matrix.org/x-fmdpukzknleoofkk) |
| 21:22:51 | → | VarikValefor[m] joins (varikvalef@gateway/shell/matrix.org/x-szbaxjpuhekzduzl) |
| 21:23:01 | → | Lurkki[m]1 joins (lurkkipriv@gateway/shell/matrix.org/x-cpeitjulibvdczps) |
| 21:23:02 | <monochrom> | However, Typeclassopedia also serves the purpose of learning Monad. As part of the learning process, you must figure out (->)e too, whether you will use it or not. |
| 21:23:23 | → | M66bdd7f1f556[m] joins (m66bdd7f1f@gateway/shell/matrix.org/x-gqntowfkeqyeeuza) |
| 21:23:24 | → | maerwald[m] joins (maerwaldma@gateway/shell/matrix.org/x-fklrirjztisrhpuf) |
| 21:23:27 | → | mith[m] joins (mithmatrix@gateway/shell/matrix.org/x-enrsmyespcxtywvd) |
| 21:23:29 | → | mly joins (mlydisenco@gateway/shell/matrix.org/x-yvtesoekbbptnprr) |
| 21:23:43 | → | rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-xpmdgbjyijdibdlg) |
| 21:23:48 | → | jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-knlddppgqgzfysyd) |
| 21:23:54 | → | fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-arxspbowruxbgtky) |
| 21:24:08 | <Ernest> | ski Not really |
| 21:24:40 | <Uniaika> | carbolymer: what is "inv" ? |
| 21:24:57 | <Ernest> | monochrom So is it possible to use (->) in haskell code? Or is that reserved as a primitve for the compiler code? |
| 21:25:02 | <carbolymer> | Uniaika: http://www.pyinvoke.org/ |
| 21:25:09 | <Uniaika> | ah, I understand your question Ernest |
| 21:25:13 | <ski> | > (zipWith (+) <$> tail <*> id) [2,3,5,7] -- using `Functor (rho ->)' and `Applicative (rho ->)' |
| 21:25:15 | <lambdabot> | [5,8,12] |
| 21:25:19 | <carbolymer> | Uniaika: I tried to like GNU Make, but... I can't :( |
| 21:25:24 | <Uniaika> | this is entirely a valid way to declare a typeclass instance over a type, Ernest |
| 21:25:28 | <ski> | @type not :: (->) Bool Bool |
| 21:25:29 | <lambdabot> | Bool -> Bool |
| 21:25:33 | <monochrom> | Yes to both. |
| 21:25:47 | <Uniaika> | carbolymer: GNU make is shit, BSD Make forever!! :< |
| 21:25:54 | <carbolymer> | potato potato |
| 21:26:26 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:26:49 | × | theDon quits (~td@muedsl-82-207-238-242.citykom.de) (Ping timeout: 252 seconds) |
| 21:27:03 | → | lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-mtetdbivgmiakwmu) |
| 21:27:21 | <Uniaika> | carbolymer: kartofle ziemniak |
| 21:27:26 | <geekosaur> | make is not liked, it is tolerated |
| 21:27:27 | <Uniaika> | see, a difference! |
| 21:27:29 | → | bitonic joins (bitonicmat@gateway/shell/matrix.org/x-gpebkzgqxwwxsfwe) |
| 21:27:32 | → | dominicusin[m] joins (dominicusi@gateway/shell/matrix.org/x-pjkljbbzolpsvumj) |
| 21:27:42 | → | Ericson2314 joins (ericson231@gateway/shell/matrix.org/x-thnnfgytredsniic) |
| 21:27:53 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 21:27:54 | → | l-as joins (lasmatrixo@gateway/shell/matrix.org/x-uqygpgsipnzcjvky) |
| 21:28:08 | → | Lurkki[m] joins (lurkkifene@gateway/shell/matrix.org/x-lxsizptwwqniqqhf) |
| 21:28:08 | → | beardhatcode joins (robbertbea@gateway/shell/matrix.org/x-iworegheuvvhamrt) |
| 21:28:08 | → | srid joins (sridmatrix@gateway/shell/matrix.org/x-ywvzzfbfnsihtdgl) |
| 21:28:09 | → | alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-lgoifndlflbhoqks) |
| 21:28:10 | → | JaakkoLuttinen[m joins (jluttinema@gateway/shell/matrix.org/x-kwtghircdmpnsjld) |
| 21:28:11 | <carbolymer> | Uniaika: tak |
| 21:28:12 | → | lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-iwjfaqxdmtzvjimd) |
| 21:28:13 | → | michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-upefgjbnrkofhzti) |
| 21:28:14 | → | speakerspivakeem joins (speakerdea@gateway/shell/matrix.org/x-phfwwidrwfyfbnxt) |
| 21:28:15 | → | heck-to-the-gnom joins (heck-to-th@gateway/shell/matrix.org/x-dkeyhpdeslcfjwpp) |
| 21:28:16 | → | Noughtmare[m] joins (naughtmare@gateway/shell/matrix.org/x-eudjrzrcgrkbadyq) |
| 21:28:16 | → | fakubish[m] joins (fakubishne@gateway/shell/matrix.org/x-cfxniegcgkagepkg) |
| 21:28:16 | → | unclechu joins (unclechuma@gateway/shell/matrix.org/x-qsajurmakwekccbf) |
| 21:28:16 | → | jlv joins (jlvmatrixo@gateway/shell/matrix.org/x-sroisxuebnkuymhj) |
| 21:28:17 | → | loyon joins (loyonmatri@gateway/shell/matrix.org/x-wfgvrkkcigndkuew) |
| 21:28:17 | → | pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-nmncdudsgpkvcjbb) |
| 21:28:17 | → | joe[m]4 joins (joemonoida@gateway/shell/matrix.org/x-ixdcppeznkmrpnze) |
| 21:28:17 | → | jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-oykouxifvdgxkysk) |
| 21:28:18 | → | Guillaum joins (guiboumatr@gateway/shell/matrix.org/x-kducmudiskihbpyx) |
| 21:28:19 | → | adziahel[m] joins (adziahelma@gateway/shell/matrix.org/x-pfcbeahxuiuqhmxn) |
| 21:28:19 | → | johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-ygcqfwwgjhaithrv) |
| 21:28:19 | → | toasty_avocado[m joins (toastyavoc@gateway/shell/matrix.org/x-fpzqttbvdljtkkux) |
| 21:28:20 | → | CrabMan joins (phi-matrix@gateway/shell/matrix.org/x-affpxuluiytbahpu) |
| 21:28:30 | <Uniaika> | :) |
| 21:28:31 | → | sm[m] joins (simonmicma@gateway/shell/matrix.org/x-yjiisspildexrxnx) |
| 21:28:35 | <Ernest> | Uniaika I understand that it's a valid way to declare instances over types, but how is a type of (a -> b) constructed and how do you use the fmap instance for it? |
| 21:28:41 | → | theDon joins (~td@muedsl-82-207-238-126.citykom.de) |
| 21:28:45 | <ski> | > sortBy (comparing length <> compare) (words "The quick brown fox jumps over the lazy dog") -- using `Semigroup a => Semigroup (rho -> a)' |
| 21:28:46 | <Ernest> | fmap function* |
| 21:28:47 | <lambdabot> | ["The","dog","fox","the","lazy","over","brown","jumps","quick"] |
| 21:28:51 | <ski> | @where monoids |
| 21:28:51 | <lambdabot> | comment on "Monoids? In my programming language?" by Cale in 2008 (or 2009 ?) at <http://www.reddit.com/r/programming/comments/7cf4r/monoids_in_my_programming_language/c06adnx> about a use of ` |
| 21:28:51 | <lambdabot> | instance Monoid a => Monoid (rho -> a)' |
| 21:29:21 | <ski> | Ernest : my example with `<$>' (which is an alias for `fmap') above shows one example of using it |
| 21:29:50 | × | fendor quits (~fendor@178.165.129.215.wireless.dyn.drei.com) (Quit: Leaving) |
| 21:29:54 | <Uniaika> | Ernest: (a -> b) is a function type |
| 21:30:10 | <Uniaika> | you construct this type by having a function with the type a -> b |
| 21:30:13 | <Uniaika> | input -> output |
| 21:30:29 | → | Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 21:30:35 | × | Guest63188 quits (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d) (Ping timeout: 260 seconds) |
| 21:31:05 | <Uniaika> | Ernest: in the case of fmap :: (a -> b) -> f a -> f b |
| 21:31:08 | → | fendor joins (~fendor@178.165.129.215.wireless.dyn.drei.com) |
| 21:31:20 | <Uniaika> | it wants a function that operates on the value inside the functor |
| 21:31:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 21:31:29 | <Uniaika> | and you'll get a functor with the transformed value in it |
| 21:31:57 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
| 21:32:04 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 21:32:09 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 21:32:14 | <ski> | in case `f = (rho ->)', you get `fmap :: (a -> b) -> (rho -> a) -> (rho -> b)' (which is `(.)') |
| 21:32:28 | <ski> | so, if `g' is a function, then `fmap f g' is the same as `f . g' |
| 21:32:39 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 21:33:09 | <ski> | > (not . (> 3)) 10 |
| 21:33:11 | <lambdabot> | False |
| 21:33:14 | <ski> | > fmap not (> 3) 10 |
| 21:33:16 | <lambdabot> | False |
| 21:34:30 | <Ernest> | Ok this is now much clearer, thank you ski Uniaika monochrom Still need to chew on it a bit but the information is here |
| 21:35:07 | <Uniaika> | Ernest: if you can get "Get Haskell Programming" by Will Kurt, I think it will unlock many unknowns |
| 21:37:06 | <Ernest> | Hmm I'd say I'm able to program in haskell, but these small nitty gritty things I haven't ironed out yet, I'll have it as a reference thanks |
| 21:37:30 | <ski> | @let instance Num a => Num (rho -> a) where (f + g) r = f r + g r; (f - g) r = f r - g r; (f * g) r = f r * g r; negate f r = negate (f r); abs f r = abs (f r); signum f r = signum (f r); fromInteger n r = fromInteger n |
| 21:37:31 | <lambdabot> | Defined. |
| 21:37:45 | <monochrom> | I'm a bit in disbelief when you act like you have never seen "X -> Y" to be honest. |
| 21:38:17 | <ski> | @let instance Fractional a => Fractional (rho -> a) where (f / g) r = f r / g r; recip f r = recip (f r); fromRational q r = fromRational q |
| 21:38:18 | → | dpl__ joins (~dpl@77-121-78-163.chn.volia.net) |
| 21:38:19 | <lambdabot> | Defined. |
| 21:38:20 | <geekosaur> | hasn't recognized it as something that can be used this way, perhaps |
| 21:38:42 | <Ernest> | I definitely understand what that is when I see it in the types and im writing the type signatures, but I always thought it was just a very barebones primitive that isn't accesable to the programmer |
| 21:38:42 | → | mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au) |
| 21:39:15 | <ski> | > map (id^2 + id + 1) [-3 .. 3] -- polynomial evaulation |
| 21:39:17 | <lambdabot> | [7,3,1,1,3,7,13] |
| 21:39:55 | → | asimons04[m] joins (asimonsptz@gateway/shell/matrix.org/x-vwzhyungsgponujs) |
| 21:39:58 | → | mjlbach joins (atriusmatr@gateway/shell/matrix.org/x-lfekbmgcuardpmmm) |
| 21:40:09 | <ski> | > map (cos^2 + sin^2) [-pi,-pi/2,0,pi/2,pi] |
| 21:40:11 | <lambdabot> | [1.0,1.0,1.0,1.0,1.0] |
| 21:40:21 | <Ernest> | Creating a functor instance for the (->) type was just unthinkable cause it didnt' even seem like a data type |
| 21:40:48 | <monochrom> | If you delete "data" there, everything makes sense. |
| 21:41:12 | <Cajun> | im trying to build parconc-examples for the Parallel and Concurrent Programming in Haskell textbook, but it just will not ever build with stack (but it builds just fine with cabal alone). im deeply confused why it wouldnt work. heres the paste link thingy: https://paste.tomsmeding.com/glsJbPZe |
| 21:41:13 | × | dpl_ quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
| 21:41:15 | <ski> | > [[(fst^2 + fst*snd + snd^2) (x,y) | y <- [-2 .. 2]] | x <- [-2 .. 2]] -- multivariate polynomial |
| 21:41:17 | <lambdabot> | [[12,7,4,3,4],[7,3,1,1,3],[4,1,0,1,4],[3,1,1,3,7],[4,3,4,7,12]] |
| 21:41:59 | <Ernest> | Can things that are not data types be in the type signatures? Is Integer not a data type? |
| 21:41:59 | <monochrom> | If you can have "f :: Either Int Bool" and "x :: Bool -> Int", then both "Either Int Bool" and "Bool -> Int" are types. |
| 21:42:39 | ski | . o O ( `fmap x f' ) |
| 21:42:43 | <Ernest> | Oh I would've considered "Either Int Bool" as data types |
| 21:42:50 | <monochrom> | And in "instance Functor (...)", the only requirements for the ... there are: it is a type, and the type's rank is * -> * |
| 21:42:56 | <ski> | types are not just data types |
| 21:43:10 | <monochrom> | There is for example no requirement about "it is a user-defined type". |
| 21:43:12 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 21:44:30 | <monochrom> | s/rank/kind/ |
| 21:44:34 | × | jluttine quits (~jluttine@85-23-66-6.bb.dnainternet.fi) (Ping timeout: 252 seconds) |
| 21:44:34 | × | opqdonut quits (opqdonut@pseudo.fixme.fi) (Ping timeout: 252 seconds) |
| 21:45:05 | <nineonin_> | is there a right-biased Map.unions? |
| 21:45:09 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:45:09 | <ski> | `(->)' is a language primitive, just like `Char',`Int',`Integer',`Float',`Double',`Array',`IO',`Handle',`IORef',`IOArray',`ST',`STRef',`STArray',.. are -- but all these are still types |
| 21:45:16 | × | rzmt quits (~rzmt@87-92-180-112.rev.dnainternet.fi) (Ping timeout: 260 seconds) |
| 21:45:16 | × | Moyst quits (~moyst@212-149-213-144.bb.dnainternet.fi) (Ping timeout: 260 seconds) |
| 21:45:26 | <nineonin_> | or how can I make it right-biased |
| 21:46:33 | → | opqdonut joins (opqdonut@pseudo.fixme.fi) |
| 21:46:38 | <Ernest> | Is there any way to inspect say, ((->) Int) in ghci? |
| 21:47:04 | <Ernest> | like you can kinda do :t on a value or data constructor |
| 21:47:05 | → | Moyst joins (~moyst@212-149-213-144.bb.dnainternet.fi) |
| 21:47:09 | <ski> | Ernest : also, note that there is `instance Functor [] where ...', where the type `[T]' is syntactic sugar for the ordinary prefix application notation `[] T' |
| 21:47:12 | <hpc> | :k ((->) Int) |
| 21:47:13 | <lambdabot> | * -> * |
| 21:47:16 | <hpc> | Ernest: ^ |
| 21:47:27 | <ski> | @kind (->) Int |
| 21:47:28 | <lambdabot> | * -> * |
| 21:47:32 | <ski> | @kind Either Int |
| 21:47:33 | <lambdabot> | * -> * |
| 21:47:34 | <hpc> | as :t is "what's the type of this value", :k is "what's the kind of this type" |
| 21:47:56 | <Ernest> | Ahhh cool |
| 21:47:57 | <ski> | @kind (->) |
| 21:47:58 | <lambdabot> | * -> * -> * |
| 21:49:07 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 245 seconds) |
| 21:50:53 | <geekosaur> | nineonin_, flip? |
| 21:50:56 | → | rzmt joins (~rzmt@87-92-180-112.rev.dnainternet.fi) |
| 21:51:38 | ← | olle parts (~olle@i5E8666E4.versanet.de) () |
| 21:51:56 | → | jluttine joins (~jluttine@85-23-66-6.bb.dnainternet.fi) |
| 21:52:07 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 21:52:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 21:52:22 | <Ernest> | So is (->) a type constrcutor kind of like IO is a type constructor? Am I using the term type constructor correctly? |
| 21:52:25 | <nineonin_> | hmm |
| 21:52:35 | <ski> | Ernest : yes |
| 21:53:21 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) |
| 21:53:26 | <nineonin_> | geekosaur, so how would it look like? |
| 21:54:43 | → | hypercube joins (~hypercube@75.186.121.128) |
| 21:55:23 | × | fendor quits (~fendor@178.165.129.215.wireless.dyn.drei.com) (Quit: Leaving) |
| 21:55:52 | <geekosaur> | (flip Map.unions) in place of Map.unions |
| 21:56:09 | <geekosaur> | you could even name it: unionr = flip Map.unions |
| 21:56:21 | <geekosaur> | then use unionr wherever you want the right-biased union |
| 21:56:31 | <ski> | Ernest : you have to apply `(->)' to two type expressions, just like you have to for `Either', in order to get a concrete type back (that can be the type of a value, that can be written to the right of `::') |
| 21:56:37 | <nineonin_> | unions :: (Foldable f, Ord k) => f (Map k a) -> Map k a |
| 21:57:12 | <nineonin_> | not sure what to flip here |
| 21:57:21 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 21:57:33 | <geekosaur> | oh, I'm thinking union. unions… would need to reverse the list |
| 21:57:39 | <nineonin_> | but maybe this will work with unionsWith (flip union) |
| 21:57:52 | <nineonin_> | flip is the way to go though |
| 21:57:53 | <nineonin_> | thanks! |
| 21:59:46 | <Ernest> | @ski Ah cool. Now my mind looping back to how can a type constructor that doesn't really hold data have an fmap instance, but I have taken note of what has been said earlier and will chew on it |
| 21:59:47 | <lambdabot> | Maybe you meant: wiki src ask |
| 21:59:56 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 22:00:28 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 22:01:43 | <ski> | Ernest : "data type" here means a type whose values are constructed by data constructors |
| 22:02:00 | <monochrom> | What you're seeing is that Functor is so general it is not just for "data" "structures". |
| 22:02:15 | → | janne- joins (~janne@punainen.org) |
| 22:02:23 | <monochrom> | "data structures" is a social construct. |
| 22:02:25 | <alphabeta1> | Is (->) not a data constructor that takes 2 types though? |
| 22:02:26 | × | _janne quits (~janne@punainen.org) (Ping timeout: 245 seconds) |
| 22:02:40 | <ski> | Ernest : a function still "holds" data (its potential outputs, for each potential input we could call it with), in a generalized sense |
| 22:02:43 | <monochrom> | The terminology is "type constructor". |
| 22:02:47 | <ski> | alphabeta1 : no |
| 22:02:56 | <monochrom> | "data constructor" is for Left, Right, Just, Nothing. |
| 22:03:05 | <monochrom> | "type constructor" is for Either, Maybe. |
| 22:03:22 | <alphabeta1> | Ah! |
| 22:03:28 | → | usr25 joins (~J@41.red-83-58-207.dynamicip.rima-tde.net) |
| 22:03:29 | <monochrom> | For convenience in wording, we also accept Int as a type constructor. |
| 22:03:36 | ski | again laments the common convention to name the type constructor the same as the data constructor, in case there's only one of the latter |
| 22:04:32 | <monochrom> | Yeah I never do "data X = X Int" in front of me students. Only "data X = MkX Int". |
| 22:04:34 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 245 seconds) |
| 22:04:45 | × | mikoto-chan quits (~mikoto-ch@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 22:05:05 | → | stree joins (~stree@68.36.8.116) |
| 22:05:12 | <monochrom> | "data X = X Int" is cute for professional programmers who understand it, but it sends the wrong message to students. |
| 22:05:26 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 22:05:34 | <monochrom> | There are a few other legal things in the same genre. |
| 22:06:00 | <hpc> | counterpoint: in java - class is Foo, constructor is new Foo() |
| 22:06:10 | <ski> | Ernest : may i remind you again of how values of type `(Int,Int)' hold the same information as values of type `Bool -> Int' (can you write two transformation functions between these two types, each undoing the other ?) ? |
| 22:07:06 | <Ernest> | Int + Int == Bool * Int, something like that? |
| 22:07:13 | <monochrom> | The #1 confusing thing is "x = do ..." and ending with "where ..." at column > 6. Sends the wrong message that the "where" is part of the "do". |
| 22:07:20 | <Ernest> | Since bool is 2 |
| 22:08:06 | <ski> | Ernest : something like that conceptual equality, yes (although that was for `Either Int Int' vs. `(Bool,Int)', which is not quite the example what i was talking about) |
| 22:08:37 | × | urdh quits (~urdh@unaffiliated/urdh) (Ping timeout: 252 seconds) |
| 22:08:59 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 22:09:22 | <ski> | Int × Int = Int² |
| 22:10:12 | → | urdh joins (~urdh@unaffiliated/urdh) |
| 22:10:20 | <Ernest> | Ah and function application is exponentation |
| 22:10:47 | → | mikoto-chan joins (~mikoto-ch@gateway/tor-sasl/mikoto-chan) |
| 22:11:01 | <ski> | Ernest : if you can think of `(Int,Int)' (or `Pair Int', where `data Pair a = Couple a a') as a container holding two `Int's, then you can also think of `Bool -> Int' as a "container" holding two `Int's |
| 22:11:43 | <ski> | Ernest : no, the function arrow (`A -> B') is (converse) exponentiation (⌜Bᴬ⌝) |
| 22:13:25 | <m_shiraeeshi> | how about a newtype? naming the newtype the same as a data constructor |
| 22:13:37 | <Ernest> | I encountered a little bit of the idea in Thinking with Types by Sandy Maguire, but I realised I shouldve gotten a bit more experience with the vanilla type system as the book goes into the different type extensions |
| 22:13:38 | <m_shiraeeshi> | it allows only one constructor |
| 22:14:51 | × | vent quits (~vent@185.62.190.213) (Quit: ZNC - http://znc.in) |
| 22:14:59 | <monochrom> | The point, at least my point, is about misleading students to conflate types with terms, not about uniqueness vs non-uniqueness. |
| 22:16:18 | <m_shiraeeshi> | I add the "Data" suffix for data declarations |
| 22:16:29 | <monochrom> | You need to run into 10 students in a row who do "I'm trying data X = Int | Char and newtype Y = Double, why are they not working?" to understand it. |
| 22:16:31 | <m_shiraeeshi> | like data SomethingData = X | Y |
| 22:16:54 | <ski> | m_shiraeeshi : i object as much to it, for `newtype's, yes |
| 22:17:02 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 22:17:12 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 252 seconds) |
| 22:17:29 | × | apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds) |
| 22:17:30 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:17:38 | <m_shiraeeshi> | but the "NewType" suffix seems too long |
| 22:17:41 | × | oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 240 seconds) |
| 22:17:42 | <ski> | (and for similar reasons i also object to the notation for tuple types) |
| 22:17:47 | <Ernest> | If you want some more feedback from a student: I didn't have an understanding of the prescedence of things clearly enough for a long time which made learning much more complex |
| 22:18:11 | <monochrom> | Oh this is why the consensus is "if you want to do it monochrom's way, use the Mk prefix". |
| 22:18:12 | <ski> | newtype State s a = MkState {runState :: s -> (s,a)} -- what i'd prefer |
| 22:18:20 | → | oxide joins (~lambda@unaffiliated/mclaren) |
| 22:18:25 | <alphabeta1> | Oh yeah, Mk is what I learnt at uni too |
| 22:18:38 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 22:18:38 | <alphabeta1> | used to read it as mukk but it turned out it was short for Make |
| 22:18:39 | <monochrom> | I would really love the Of suffix, but it didn't take off. |
| 22:18:49 | <ski> | if you can thing of an appropriate different name for the data constructor, you can use that. you don't need to use `Mk..' (or `..Of') |
| 22:19:11 | <monochrom> | Oh, "data X = MuckingWithX Int" is a fine reading too. |
| 22:19:33 | <alphabeta1> | Hahaha monochrom, that made me laugh. |
| 22:19:38 | <ski> | m_shiraeeshi : "I add the \"Data\" suffix for data declarations" -- how do you mean ? |
| 22:19:43 | <monochrom> | Since in pattern matching it becomes "f (I'm mucking with X i) = i+1" is exactly what you're doing >:) |
| 22:19:56 | <m_shiraeeshi> | ski: data SomethingData = X | Y |
| 22:20:30 | <ski> | m_shiraeeshi : that seems like a case of hungarian (in the bad sense) |
| 22:20:33 | ← | justsomeguy parts (~justsomeg@unaffiliated/--/x-3805311) ("WeeChat 3.0.1") |
| 22:21:06 | <ski> | (note me saying `data Pair a = Couple a a' rather than `data Pair a = MkPair a a' above) |
| 22:21:12 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 22:22:11 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:22:15 | → | shane joins (~shane@desk.roadwar.net) |
| 22:22:30 | <m_shiraeeshi> | ski: no, I add it when I need to distinguish the type constructor from the data constructor when I have single data constructor in the declaration |
| 22:22:32 | <ski> | newtype SortedList a = PromiseSorted [a] -- when the type is intended to model a subset of the representation type |
| 22:22:49 | <m_shiraeeshi> | idk, Mk prefix seems ugly to me |
| 22:23:09 | <m_shiraeeshi> | and I use data constructors more often then type constructors |
| 22:23:33 | <m_shiraeeshi> | so I figured they should be short and concise |
| 22:23:40 | × | vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Read error: Connection reset by peer) |
| 22:24:03 | <monochrom> | I think "Data" is too long. Also not future-proof. What if one day you s/data/newtype/ ? |
| 22:24:16 | → | smerdyakov6 joins (~dan@5.146.195.164) |
| 22:24:38 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 22:25:14 | × | Tesseraction quits (~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer) |
| 22:25:42 | → | Tesseraction joins (~Tesseract@unaffiliated/tesseraction) |
| 22:25:46 | × | smerdyakov quits (~dan@5.146.195.164) (Ping timeout: 240 seconds) |
| 22:25:47 | smerdyakov6 | is now known as smerdyakov |
| 22:25:47 | <ski> | newtype UnorderedPair a = Unorder {nondeterministicPeekOrdered :: (a,a)} -- one can imagine hopefully suggestive naming to be used when modelling factor/quotient types, as well |
| 22:26:02 | <monochrom> | Perhaps consider "data X = X_ {_x :: Int}" and let it all degenerate into morse code... |
| 22:26:11 | <m_shiraeeshi> | do people move from data to newtypes? what could be the reason to do that? optimisation? |
| 22:26:24 | <ski> | m_shiraeeshi : i'd rather add `Data' to the data constructor, than the type constructor, in that case |
| 22:26:35 | <ski> | m_shiraeeshi : change of internal representation ? |
| 22:26:37 | <m_shiraeeshi> | hm, underscore could work |
| 22:26:42 | <Ernest> | What about having the data constructor be lowercased, so just as a function which it is |
| 22:26:47 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds) |
| 22:26:58 | <ski> | (e.g. between deep and shallow embedding) |
| 22:26:59 | <monochrom> | Too late for that, Haskell requires capitalized. |
| 22:27:32 | ← | shane parts (~shane@desk.roadwar.net) ("Textual IRC Client: www.textualapp.com") |
| 22:27:36 | <geekosaur> | think about pattern matches, they need some way to distinguish constructors (structure) from variables (values) |
| 22:27:38 | → | shane joins (~shane@desk.roadwar.net) |
| 22:28:18 | <geekosaur> | case may not be the best way but it's the one the developers of Haskell came up with |
| 22:28:37 | <Ernest> | Oh yeah |
| 22:29:06 | × | shane quits (~shane@desk.roadwar.net) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 22:29:07 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:29:25 | → | shanemikel joins (~shanemike@desk.roadwar.net) |
| 22:29:35 | <ski> | newtype Coyoneda f b = forall a. FmapIncl (a -> b) (f a) -- `FmapIncl f c = fmap f (incl c)' where `incl :: f a -> Coyoneda f a; incl = FmapIncl id' |
| 22:29:36 | <Ernest> | I heard some negative opinions about pattern matching and that it was a mistake, but I didn't understand the reason why they said it was a mistake |
| 22:29:45 | × | shanemikel quits (~shanemike@desk.roadwar.net) (Client Quit) |
| 22:29:59 | <ski> | mistake, in which sense ? |
| 22:30:03 | → | shanemikel joins (~shanemike@desk.roadwar.net) |
| 22:30:24 | <Ernest> | Sounded like they were saying it should've not been invented or something |
| 22:30:35 | <monochrom> | Never heard of that. |
| 22:30:37 | <Ernest> | I'll try to find where I heard it, it was from a talk |
| 22:30:43 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) |
| 22:30:43 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Client Quit) |
| 22:31:20 | <Cale> | Sounds like a poor opinion to me |
| 22:31:33 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:32:10 | <ski> | perhaps they were talking about some particular aspect of, or particular design choice, in the design of pattern-matching in Haskell |
| 22:32:10 | <monochrom> | https://xkcd.com/386/ applies |
| 22:32:24 | <shanemikel> | Hey guys! I'm getting some type errors trying to implement the phantom types from "Fun With Type Functions" |
| 22:32:49 | × | jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 276 seconds) |
| 22:33:31 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:33:33 | <Cale> | I can imagine that some people don't like the multiple-equations style of defining functions, and would prefer to express pattern matching using case (I use that style myself for the most part) |
| 22:33:57 | <monochrom> | Also https://www.smbc-comics.com/comic/mind-3 |
| 22:33:58 | <Ernest> | https://youtu.be/TVJa-V6U-XI?t=1215 |
| 22:34:11 | <ski> | but if it's really about pattern-matching (on disjoint/discriminated/tagged union / algebraic data / sum / variant types / variant record types), then i would disagree |
| 22:34:40 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 268 seconds) |
| 22:35:42 | <monochrom> | I won't take time to listen to or comment on Nolen's talk. |
| 22:35:43 | <ski> | oh, its interaction with abstract data types. i think pattern synonyms (and view patterns) is the answer here |
| 22:36:12 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 258 seconds) |
| 22:36:16 | <monochrom> | But Wadler's "views" still requires pattern matching, just not on internal unexported data constructors. |
| 22:36:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 22:36:36 | <ski> | (it would be nice if one could export `data Foo = Blah .. | Bleh ..', but internally define `Blah' and `Bleh' as pattern synonyms, having represented `Foo' in a different way) |
| 22:37:26 | <monochrom> | As usual, "some people misunderstand X and abuse it" is conflated with "X should not have been invented". |
| 22:37:33 | <ski> | (also the "active patterns" of F# <https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/active-patterns> are relevant here) |
| 22:39:04 | × | dpl__ quits (~dpl@77-121-78-163.chn.volia.net) (Read error: Connection reset by peer) |
| 22:39:06 | → | xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
| 22:39:12 | <monochrom> | Hey let me go meta with "some people misunderstand and misuse 'should not have been invented'" >:) |
| 22:39:30 | × | chimera quits (~chimera@168-182-134-95.pool.ukrtel.net) (Read error: Connection reset by peer) |
| 22:39:46 | × | jluttine quits (~jluttine@85-23-66-6.bb.dnainternet.fi) (Ping timeout: 240 seconds) |
| 22:40:15 | → | jluttine joins (~jluttine@85-23-66-6.bb.dnainternet.fi) |
| 22:40:18 | → | chimera joins (~chimera@168-182-134-95.pool.ukrtel.net) |
| 22:40:23 | × | coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 22:40:55 | <Ernest> | Well I wouldn't have dug further in my misunderstanding unprovoked hehe |
| 22:41:02 | <monochrom> | My http://www.vex.net/~trebla/haskell/crossroad.xhtml explains why pattern matching is more natural. Frankly my perspective is I don't understand why it took so long to invent. I mean it's a natural logical conclusion of natural deduction which is 100 years old. |
| 22:42:13 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 22:43:58 | → | apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
| 22:44:46 | × | usr25 quits (~J@41.red-83-58-207.dynamicip.rima-tde.net) (Quit: Bye) |
| 22:46:24 | <ski> | @type \(Seq.viewl -> (a Seq.:< as)) -> (a,as) |
| 22:46:25 | <lambdabot> | Seq.Seq a -> (a, Seq.Seq a) |
| 22:46:38 | <ski> | @type (\(a :< as) -> (a,as)) :: Seq.Seq a -> (a,Seq.Seq a) |
| 22:46:39 | <lambdabot> | Seq.Seq a -> (a, Seq.Seq a) |
| 22:48:14 | <ski> | "pattern-matching on concrete data types is a horrible idea","you're matching concrete types, not abstractions" |
| 22:48:43 | <ski> | @type Seq.viewl |
| 22:48:44 | <lambdabot> | Seq.Seq a -> Seq.ViewL a |
| 22:48:46 | <ski> | @type (Seq.:<) |
| 22:48:47 | <lambdabot> | a -> Seq.Seq a -> Seq.ViewL a |
| 22:48:59 | <ski> | is `ViewL' a concrete type, or an abstraction ? |
| 22:49:22 | <monochrom> | Yeah that's blaming the wrong guy and barking up the wrong tree. |
| 22:49:26 | <shanemikel> | In particular this paper: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/typefun.pdf |
| 22:50:05 | <monochrom> | A decision to export a concrete type can be a horrible idea. |
| 22:50:34 | <monochrom> | But someone has to work on the concrete type, for example the author of the library in question. |
| 22:50:54 | <monochrom> | A type is never abstract to everyone. |
| 22:51:06 | <monochrom> | Everyone is not equal. |
| 22:51:17 | <shanemikel> | What is the pastebin y'all are using these days? |
| 22:51:18 | <ski> | how about if you do the usual record OO thing, `data Widget = NewWidget { render :: IO (),frob :: Blah -> Widget,.. }' .. is `Widget' a concrete data type, or is it an abstraction, and iterface, to a possible multitude of different concrete implementations ? |
| 22:51:24 | <m_shiraeeshi> | how about creating a concrete type that matches the abstraction level and then match it? |
| 22:51:42 | <ski> | @paste |
| 22:51:42 | <lambdabot> | A pastebin: https://paste.debian.net/ |
| 22:51:52 | <ski> | @where paste |
| 22:51:53 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 22:52:06 | <ski> | shanemikel : the latter ^ is most used now, i think |
| 22:52:06 | → | gemmaro_ja joins (~Thunderbi@240f:74:d1f0:1:1bf:3730:3a54:b192) |
| 22:52:12 | <pjb> | shanemikel: http://ideone.com |
| 22:52:24 | <pjb> | shanemikel: or http://termbin.com |
| 22:52:53 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:53:48 | ski | misses <http://hpaste.org>,<https://lpaste.net>,<http://paste.lisp.org> |
| 22:54:16 | <pjb> | at least, on ideone.com you can compile and run your code. |
| 22:55:49 | <shanemikel> | Thanks... Yeah I remember hpaste and lpaste ;( |
| 22:56:11 | <shanemikel> | This looks to be showing the same compile error I'm getting: https://ideone.com/LHagbS |
| 22:56:43 | <monochrom> | https://paste.tomsmeding.com is superior because it acknowledges that sometimes you should upload multiple files as one single coherent cohesive group. |
| 22:56:45 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 246 seconds) |
| 22:57:07 | → | Tario joins (~Tario@201.192.165.173) |
| 22:57:13 | <pjb> | There remains "abcdefgijkmnopqrstuvwxyz"-paste |
| 22:57:50 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 246 seconds) |
| 22:57:51 | <monochrom> | As opposed to "this url is for X.hs" "this 2nd url is for Y.hs" "this 3rd url is for the error message" "there are more to come" and make people flip tabs crazily. |
| 22:58:05 | × | gemmaro_ja quits (~Thunderbi@240f:74:d1f0:1:1bf:3730:3a54:b192) (Quit: gemmaro_ja) |
| 22:58:17 | <pjb> | monochrom: that's what shar is for. |
| 22:58:25 | <pjb> | shar * | tb |
| 22:58:48 | <monochrom> | uh is that a joke? |
| 22:58:50 | <pjb> | cat ~/bin/tb -> #!/bin/bash \n nc termbin.com 9999 | tr -d '\000' |
| 22:58:50 | <pjb> | |
| 22:58:51 | <pjb> | |
| 22:58:51 | <pjb> | |
| 22:58:54 | <pjb> | |
| 22:58:56 | <pjb> | |
| 22:58:58 | <maerwald> | uh-oh |
| 22:59:00 | <pjb> | monochrom: no joke. |
| 22:59:02 | <monochrom> | Are you OK? |
| 22:59:19 | <pjb> | monochrom: https://termbin.com/0ree |
| 22:59:44 | <monochrom> | Why should I decode a shar? |
| 22:59:51 | × | Ernest quits (402ba442@64.43.164.66) (Quit: Connection closed) |
| 23:00:04 | <monochrom> | I am not even paid for #haskell tech support. |
| 23:00:04 | <pjb> | to get all the files? |
| 23:00:38 | ski | . o O ( "Deyr fę, / deyia frǫndr, / deyr sialfr it sama; / ec veit einn / at aldri deýr: / domr vm dꜹþan hvern." ("Cattle die, / kin die, / and yourself the same; / I know one / that never dies: / doom/renown after the departed.") -- Hávamál ) |
| 23:00:47 | <ski> | shanemikel : try enabling `ScopedTypeVariables' ? |
| 23:01:02 | <monochrom> | You recognize that if other people offer free help then the helpee should also begin the good will but giving the helpers less chore. |
| 23:01:06 | × | apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Quit: WeeChat 1.9.1) |
| 23:01:11 | <monochrom> | s/but/by/ |
| 23:01:13 | <pjb> | curl -s https://termbin.com/0ree |sh |
| 23:01:24 | <shanemikel> | ski thanks! |
| 23:01:28 | → | apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
| 23:01:29 | <pjb> | that's basically multi-file human-controlled copy-pasting across systems. |
| 23:01:52 | <geekosaur> | well, aside from the whole trusting curl whatever | sh thing |
| 23:02:09 | <pjb> | monochrom: indeed. curl -s https://termbin.com/0ree |sh is less chore than having to go to a web site, click left and right, select download folders, etc. |
| 23:02:50 | <monochrom> | giving the helpers less chore |
| 23:02:54 | <pjb> | just copy and paste: curl -s https://termbin.com/0ree |sh && make run # in your terminal and you reproduce by bug (or absence thereof). |
| 23:02:56 | <pjb> | no chore. |
| 23:03:12 | <monochrom> | I'll just end by saying how I would answer to a shar paste. |
| 23:03:19 | <shanemikel> | ski GHC is usually kind enough to tell me which features I need |
| 23:03:28 | <monochrom> | "This is not a shell scripting channel, you're in the wrong channel. THE END" |
| 23:03:32 | <pjb> | monochrom: shar are human readable! You can validate them before | sh them. |
| 23:03:36 | <m_shiraeeshi> | how about creating an irc client with the integrated pastebin functionality |
| 23:04:00 | <pjb> | m_shiraeeshi: it already exist, it's called DCC, but it's disabled nowadays because idiots of the past. |
| 23:04:03 | <geekosaur> | some already have it |
| 23:04:05 | <ski> | shanemikel : a more modern version would have `toInt :: Proxy n -> Int', avoiding the `undefined's |
| 23:04:07 | × | rj quits (~x@gateway/tor-sasl/rj) (Quit: rj) |
| 23:04:35 | <geekosaur> | if you paste something more than 3 or so lines into them they offer to send it to a pastebin and send the resulting url |
| 23:04:42 | <ski> | (some would suggest to use `TypeApplications' instead .. but i'm not too happy with that extension) |
| 23:04:55 | <m_shiraeeshi> | pjb: what did idiots do? |
| 23:05:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 23:05:29 | <m_shiraeeshi> | oh, it |
| 23:05:33 | <m_shiraeeshi> | it's a protocol |
| 23:06:16 | → | vent joins (~vent@185.62.190.213) |
| 23:08:09 | <shanemikel> | Proxy is nice |
| 23:09:13 | <shanemikel> | What's the issue with TypeApplications? |
| 23:10:16 | <ski> | suddenly the order in which tyvars are generalized matters |
| 23:10:26 | <ski> | becomes a part of the public interface |
| 23:10:44 | <shanemikel> | Ahh |
| 23:11:03 | × | john2gb0 quits (~john2gb@94-225-47-8.access.telenet.be) (Ping timeout: 268 seconds) |
| 23:11:52 | → | john2gb0 joins (~john2gb@94-225-47-8.access.telenet.be) |
| 23:12:24 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 23:13:17 | <pjb> | m_shiraeeshi: https://en.wikipedia.org/wiki/Direct_Client-to-Client#DCC_SEND_exploit |
| 23:14:41 | → | jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg) |
| 23:18:53 | × | jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 240 seconds) |
| 23:19:30 | × | teej quits (uid154177@gateway/web/irccloud.com/x-xyjkdonrvgpmwwum) (Quit: Connection closed for inactivity) |
| 23:19:46 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 23:19:53 | → | isovector joins (~isovector@172.103.216.166) |
| 23:23:37 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-faqhkbxusvkvdgls) (Quit: Connection closed for inactivity) |
| 23:28:02 | ← | shanemikel parts (~shanemike@desk.roadwar.net) () |
| 23:28:09 | → | shanemikel joins (~shanemike@desk.roadwar.net) |
| 23:29:00 | ← | shanemikel parts (~shanemike@desk.roadwar.net) () |
| 23:29:14 | × | deviantfero quits (~deviantfe@190.150.27.58) (Quit: WeeChat 3.1) |
| 23:29:39 | → | shanemikel joins (~shanemike@desk.roadwar.net) |
| 23:30:00 | ← | shanemikel parts (~shanemike@desk.roadwar.net) () |
| 23:30:04 | → | shanemikel joins (~shanemike@desk.roadwar.net) |
| 23:34:34 | × | vent quits (~vent@185.62.190.213) (Quit: ZNC - http://znc.in) |
| 23:37:54 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-oxtqruuygxfvgpji) |
| 23:38:26 | × | rzmt quits (~rzmt@87-92-180-112.rev.dnainternet.fi) (Ping timeout: 246 seconds) |
| 23:38:55 | <Cajun> | how do i go about solving a failed build with stack? package is `parconc-examples` error and files: https://paste.tomsmeding.com/glsJbPZe |
| 23:40:09 | <shanemikel> | OMG a multipaste |
| 23:40:30 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 23:42:08 | <monochrom> | Are you sure that you should use the resolver as said in stack.yaml? |
| 23:42:51 | <monochrom> | But I don't use stack, I don't know these things, apart from high-level ideas. |
| 23:43:05 | → | killsushi joins (~killsushi@2607:fea8:3d40:767:a826:23b7:521c:2d11) |
| 23:43:25 | <maerwald> | Cajun: do what it says |
| 23:43:42 | <maerwald> | and then it's usually that and repeat |
| 23:44:00 | <maerwald> | bc the next solver run will find more missing stuff, potentially |
| 23:44:12 | <monochrom> | :) |
| 23:44:19 | × | acidjnk_new2 quits (~acidjnk@p200300d0c72b9509002dc6dbf76c6cb5.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 23:44:22 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 23:48:05 | <Cajun> | maerwald: is there any easier way to do that? like a script to just edit it on repeat? otherwise this seems like a chore. and last time i did that it ended up wanting me to put cabal 2.something and caused an error |
| 23:49:55 | × | apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 265 seconds) |
| 23:50:57 | → | vent joins (~vent@185.62.190.213) |
| 23:53:22 | → | EvilMagix joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 23:53:47 | <Cajun> | maerwald: alright it only makes me do it twice before it errors. heres the output to both commands and the stack.yaml https://paste.tomsmeding.com/vrvPgBLC |
| 23:54:46 | × | m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 252 seconds) |
| 23:56:04 | × | chimera quits (~chimera@168-182-134-95.pool.ukrtel.net) (Quit: Konversation terminated!) |
| 23:58:08 | <geekosaur> | why did you put Cabal in there twice instead of changing the version? |
| 23:58:28 | <monochrom> | heh |
| 23:58:53 | <monochrom> | Ah, perhaps by automatic suggestions. |
| 23:59:01 | <Cajun> | yeah its automatic suggestions |
| 23:59:41 | <geekosaur> | for what it's worth, I would have tried allow-newer since later Cabal versions should be backward compatible |
All times are in UTC on 2021-05-11.