2020-09-30 00:00:21 +0200 | simony | (sid226116@gateway/web/irccloud.com/x-dmnnvhhbweuqxcvx) |
2020-09-30 00:00:27 +0200 | falafel_ | (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 240 seconds) |
2020-09-30 00:01:25 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-09-30 00:01:40 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 00:02:16 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 00:02:22 +0200 | gluegadget | (sid22336@gateway/web/irccloud.com/x-xozlpymtatjtbivu) |
2020-09-30 00:03:02 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-09-30 00:03:30 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 00:03:47 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:1912:3cad:d0f5:3993) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 00:04:39 +0200 | Tritlo | (sid58727@gateway/web/irccloud.com/x-vuffzyrxnybrguux) |
2020-09-30 00:05:44 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Quit: leaving) |
2020-09-30 00:05:58 +0200 | ystael | (~ystael@209.6.50.55) (Ping timeout: 246 seconds) |
2020-09-30 00:06:04 +0200 | bitmagie | (~Thunderbi@200116b80673370090ed3453f880395e.dip.versatel-1u1.de) |
2020-09-30 00:07:11 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 00:07:17 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 00:07:26 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 00:07:28 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-09-30 00:07:47 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-09-30 00:08:22 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 00:08:47 +0200 | fendor | (~fendor@77.119.130.118.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-09-30 00:10:13 +0200 | xcmw | (~textual@dyn-72-33-0-89.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 00:11:46 +0200 | mu__ | (~mu@unaffiliated/mu) (Ping timeout: 265 seconds) |
2020-09-30 00:11:55 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-09-30 00:13:57 +0200 | bitmagie | (~Thunderbi@200116b80673370090ed3453f880395e.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-09-30 00:15:40 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-09-30 00:16:49 +0200 | notzmv` | notzmv |
2020-09-30 00:16:57 +0200 | notzmv | (~user@179.100.115.46) (Changing host) |
2020-09-30 00:16:57 +0200 | notzmv | (~user@unaffiliated/zmv) |
2020-09-30 00:17:28 +0200 | constR | (uid58205@gateway/web/irccloud.com/x-szdnojhbzltywegh) (Quit: Connection closed for inactivity) |
2020-09-30 00:17:28 +0200 | hackage | free-categories 0.2.0.1 - free categories https://hackage.haskell.org/package/free-categories-0.2.0.1 (echatav) |
2020-09-30 00:18:25 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 00:19:46 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 00:22:27 +0200 | o1lo01ol1o | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
2020-09-30 00:22:29 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 00:22:47 +0200 | o1lo01ol_ | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Read error: Connection reset by peer) |
2020-09-30 00:26:40 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 00:31:38 +0200 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2020-09-30 00:31:45 +0200 | sagax | (~sagax_nb@213.138.71.146) (Remote host closed the connection) |
2020-09-30 00:32:01 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-09-30 00:32:29 +0200 | zacts | (~zacts@dragora/developer/zacts) (Quit: leaving) |
2020-09-30 00:35:26 +0200 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
2020-09-30 00:37:43 +0200 | mu_ | (~mu@unaffiliated/mu) (Ping timeout: 260 seconds) |
2020-09-30 00:40:10 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 00:41:18 +0200 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
2020-09-30 00:42:24 +0200 | abdullah__ | (~LeghariK@37.111.129.221) (Quit: Leaving) |
2020-09-30 00:46:11 +0200 | son0p | (~son0p@181.136.122.143) (Remote host closed the connection) |
2020-09-30 00:46:21 +0200 | ces | (~ces@52d3ce3c.dynamic-ip.k-net.dk) |
2020-09-30 00:47:03 +0200 | somek | (b55ebc21@181.94.188.33) |
2020-09-30 00:47:12 +0200 | <somek> | hello |
2020-09-30 00:48:07 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-09-30 00:48:53 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 00:48:53 +0200 | <ski> | hello |
2020-09-30 00:49:32 +0200 | <koz_> | hello |
2020-09-30 00:49:41 +0200 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
2020-09-30 00:50:11 +0200 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 00:50:46 +0200 | falafel_ | (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) |
2020-09-30 00:50:46 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 246 seconds) |
2020-09-30 00:51:37 +0200 | ski | looks at somek |
2020-09-30 00:52:12 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 00:52:54 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
2020-09-30 00:53:35 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-09-30 00:55:08 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 00:55:20 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 00:56:11 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2020-09-30 00:57:42 +0200 | koz_ | looks at somek |
2020-09-30 00:59:06 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 00:59:16 +0200 | int-e | (~noone@int-e.eu) (Remote host closed the connection) |
2020-09-30 01:00:18 +0200 | int-e | (~noone@int-e.eu) |
2020-09-30 01:01:26 +0200 | tmciver | (~tmciver@cpe-172-101-40-226.maine.res.rr.com) |
2020-09-30 01:04:22 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Ping timeout: 260 seconds) |
2020-09-30 01:04:47 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 258 seconds) |
2020-09-30 01:04:49 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 01:04:52 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection) |
2020-09-30 01:05:12 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 01:05:21 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) |
2020-09-30 01:05:21 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) (Changing host) |
2020-09-30 01:05:21 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) |
2020-09-30 01:05:25 +0200 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) (Ping timeout: 240 seconds) |
2020-09-30 01:05:42 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 272 seconds) |
2020-09-30 01:09:05 +0200 | somek | (b55ebc21@181.94.188.33) (Remote host closed the connection) |
2020-09-30 01:10:44 +0200 | isovector1 | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Read error: Connection reset by peer) |
2020-09-30 01:10:49 +0200 | isovector1_ | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) |
2020-09-30 01:11:52 +0200 | carter01 | (47b896d8@pool-71-184-150-216.bstnma.fios.verizon.net) |
2020-09-30 01:12:46 +0200 | <carter01> | Hello! Does anyone use Coc with the haskell language server? I can get codelenses to appear but I don't know how to apply them. Does anyone know how? Is there another vim setting that allows this? |
2020-09-30 01:13:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-09-30 01:16:27 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 01:16:40 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 01:20:56 +0200 | mtae | (uid179115@gateway/web/irccloud.com/x-cumufbtgommkesrd) (Quit: Connection closed for inactivity) |
2020-09-30 01:24:28 +0200 | hackage | free-categories 0.2.0.2 - free categories https://hackage.haskell.org/package/free-categories-0.2.0.2 (echatav) |
2020-09-30 01:24:32 +0200 | xff0x | (~fox@2001:1a81:53b0:3c00:3d6a:e40e:1e13:6b86) (Ping timeout: 260 seconds) |
2020-09-30 01:24:52 +0200 | zacts | (~zacts@dragora/developer/zacts) |
2020-09-30 01:24:52 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 01:25:12 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 01:25:44 +0200 | xff0x | (~fox@2001:1a81:53b0:3c00:e98b:1e53:4e8a:cb9b) |
2020-09-30 01:29:51 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-09-30 01:31:56 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2020-09-30 01:32:00 +0200 | josh_ | (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Read error: Connection reset by peer) |
2020-09-30 01:32:39 +0200 | josh_ | (~josh@c-67-164-104-206.hsd1.ca.comcast.net) |
2020-09-30 01:32:56 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds) |
2020-09-30 01:33:12 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) |
2020-09-30 01:33:18 +0200 | sfvm | (~sfvm@37.228.215.148) |
2020-09-30 01:33:52 +0200 | falafel_ | (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Ping timeout: 260 seconds) |
2020-09-30 01:34:35 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds) |
2020-09-30 01:34:47 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 01:35:12 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 01:35:42 +0200 | fweht | (uid404746@gateway/web/irccloud.com/x-tjcgtmdwgfjwwrvb) (Quit: Connection closed for inactivity) |
2020-09-30 01:37:07 +0200 | borne | (~fritjof@200116b864231000537d5cc8226f9d9f.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
2020-09-30 01:37:27 +0200 | borne | (~fritjof@200116b864231000537d5cc8226f9d9f.dip.versatel-1u1.de) |
2020-09-30 01:38:50 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-09-30 01:40:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 01:40:39 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 01:42:00 +0200 | Wuzzy | (~Wuzzy@p5790e6f5.dip0.t-ipconnect.de) (Quit: Wuzzy) |
2020-09-30 01:44:11 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-09-30 01:45:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-09-30 01:45:52 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 01:46:04 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 01:46:14 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2020-09-30 01:47:43 +0200 | mnrmnaughmnrgle | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 258 seconds) |
2020-09-30 01:48:07 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds) |
2020-09-30 01:53:11 +0200 | mnrmnaughmnrgle | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2020-09-30 01:53:49 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2020-09-30 01:54:04 +0200 | carter01 | (47b896d8@pool-71-184-150-216.bstnma.fios.verizon.net) (Remote host closed the connection) |
2020-09-30 01:54:09 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) |
2020-09-30 01:55:36 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 01:56:29 +0200 | glguy_ | (x@freenode/staff/haskell.developer.glguy) |
2020-09-30 01:56:29 +0200 | glguy | Guest84590 |
2020-09-30 01:56:29 +0200 | Guest84590 | (x@freenode/staff/haskell.developer.glguy) (Killed (weber.freenode.net (Nickname regained by services))) |
2020-09-30 01:56:29 +0200 | glguy_ | glguy |
2020-09-30 01:57:03 +0200 | mu__ | (~mu@unaffiliated/mu) (Ping timeout: 260 seconds) |
2020-09-30 01:57:47 +0200 | solonarv | (~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2020-09-30 02:00:02 +0200 | priyesh | (~priyesh@84.39.117.57) () |
2020-09-30 02:00:45 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) (Ping timeout: 258 seconds) |
2020-09-30 02:01:12 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 02:01:18 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) |
2020-09-30 02:02:58 +0200 | hackage | aeson-schemas 1.3.2 - Easily consume JSON data on-demand with type-safety https://hackage.haskell.org/package/aeson-schemas-1.3.2 (leapyear) |
2020-09-30 02:04:56 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 02:05:11 +0200 | wroathe_ | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 02:05:11 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 02:05:37 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2020-09-30 02:06:50 +0200 | xcmw | (~textual@dyn-72-33-0-89.uwnet.wisc.edu) |
2020-09-30 02:07:33 +0200 | wroathe_ | wroathe |
2020-09-30 02:09:09 +0200 | isovector1_ | (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Quit: Leaving) |
2020-09-30 02:11:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 02:12:53 +0200 | mirrorbird | (~psutcliff@2a00:801:3fb:53b9:b09b:cd4e:4e4a:44a9) |
2020-09-30 02:12:54 +0200 | alexm_ | (~alexm_@161.8.233.138) () |
2020-09-30 02:13:01 +0200 | mnrmnaughmnrgle | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 246 seconds) |
2020-09-30 02:13:59 +0200 | pjb | (~t@2a01cb04063ec50051c09997d608b3a3.ipv6.abo.wanadoo.fr) (Ping timeout: 272 seconds) |
2020-09-30 02:14:50 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 02:15:12 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 02:15:52 +0200 | borne | (~fritjof@200116b864231000537d5cc8226f9d9f.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-09-30 02:16:43 +0200 | wwwww | (~wwwww@unaffiliated/wwwww) (Ping timeout: 260 seconds) |
2020-09-30 02:18:14 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 02:18:49 +0200 | jedws | (~jedws@121.209.139.222) |
2020-09-30 02:18:49 +0200 | wwwww | (~wwwww@unaffiliated/wwwww) |
2020-09-30 02:20:23 +0200 | catkiki | (~catkiki@m90-134-157-227.cust.tele2.hr) (Ping timeout: 260 seconds) |
2020-09-30 02:22:33 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
2020-09-30 02:23:01 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2020-09-30 02:24:18 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 02:26:03 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 02:26:13 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 02:26:38 +0200 | LKoen | (~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2020-09-30 02:27:05 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
2020-09-30 02:27:57 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:1975:ad5b:4777:bf80) |
2020-09-30 02:33:15 +0200 | sagax | (~sagax_nb@213.138.71.146) |
2020-09-30 02:37:06 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 02:37:23 +0200 | mu__ | (~mu@unaffiliated/mu) (Ping timeout: 240 seconds) |
2020-09-30 02:40:28 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 02:41:19 +0200 | fog | (a18146ab@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.171) |
2020-09-30 02:41:48 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-09-30 02:43:06 +0200 | <fog> | hc: i was thinking about what you said about the presentation of structured concurrency starting from the dijkstra "goto considered harmful" and the corresponding "go statement considered harmful" and the parallels between the development of imperative programing and the corresponding containerised threading |
2020-09-30 02:43:54 +0200 | <fog> | it seems like the progression was away from the turing tape style of jumping around within programs, to top down imperative style - and then to OOP and finally to functional programming |
2020-09-30 02:44:42 +0200 | <fog> | basically the key part is not from "goto style" programing with explicit line numberings like "basic" to imperative, but from imperative to OOP and functional |
2020-09-30 02:45:38 +0200 | <fog> | basically, this gives the "syntax tree" order of evaluation, where referencing functions or methods replaces imperative or goto style for calling different sub-parts of a piece of code / program |
2020-09-30 02:46:09 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-09-30 02:46:58 +0200 | <fog> | then, "structured concurrency" is similar to this - that instead of parallel threads, in the shape of a list of lists, with order of evaluation in imperative style - from top to bottom in code - that instead, the "subprocess tree" is built into syntax referencing trees |
2020-09-30 02:48:05 +0200 | <fog> | it seems then that lambda calculus, as an alternative way of ordering subcomponents of a program - has a duality with "structure concurrency" when supported by a similar syntax tree organising and referencing |
2020-09-30 02:48:06 +0200 | ces | (~ces@52d3ce3c.dynamic-ip.k-net.dk) (Quit: WeeChat 2.9) |
2020-09-30 02:48:13 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-09-30 02:48:43 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 02:49:08 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 02:49:09 +0200 | <fog> | the presentation of structured concurrency then seems natural to occur within kotlin, where they have power over the syntax of the language as part of the language (arguably the key component of kotlin) |
2020-09-30 02:50:06 +0200 | <fog> | and the natural question to ask then, is what support do we have for structured concurrency - or the syntax tree of concurrent subthreading - do we have in haskell |
2020-09-30 02:51:05 +0200 | <fog> | and similarly, what relation does structured concurrency have to lambda calculus - wrt to syntax trees, and how can this fit into the study of formal languages, particularly regarding type systems |
2020-09-30 02:52:10 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 02:53:41 +0200 | zacts | (~zacts@dragora/developer/zacts) (Ping timeout: 265 seconds) |
2020-09-30 02:53:47 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-09-30 02:54:11 +0200 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) (Ping timeout: 240 seconds) |
2020-09-30 02:54:41 +0200 | SRV_DW20 | (~SRV_DW20@188.126.89.194) |
2020-09-30 02:57:23 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2020-09-30 02:58:59 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 03:01:36 +0200 | fog | (a18146ab@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.171) (Quit: Connection closed) |
2020-09-30 03:01:56 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-09-30 03:02:20 +0200 | reallymemorable | (~quassel@ip68-9-215-56.ri.ri.cox.net) |
2020-09-30 03:02:39 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-09-30 03:04:27 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
2020-09-30 03:05:17 +0200 | jwynn6 | (~jwynn6@050-088-122-078.res.spectrum.com) (Ping timeout: 265 seconds) |
2020-09-30 03:06:09 +0200 | woxip0 | (~dixon@190.75.138.21) |
2020-09-30 03:11:21 +0200 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2020-09-30 03:16:55 +0200 | nineonine | (~nineonine@216.81.48.202) (Remote host closed the connection) |
2020-09-30 03:19:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 03:20:08 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 03:22:00 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
2020-09-30 03:22:47 +0200 | fiQ- | (~fiQ@mirkk.ninja) |
2020-09-30 03:22:52 +0200 | Fernando-Basso[m | (fernando-b@gateway/shell/matrix.org/x-bzveclrqdjopevvi) (Ping timeout: 244 seconds) |
2020-09-30 03:22:53 +0200 | PotatoHatsue | (berbermanp@gateway/shell/matrix.org/x-rhnnqgshpzwteayn) (Ping timeout: 244 seconds) |
2020-09-30 03:22:53 +0200 | lnxw37d4 | (lnxw37d4ma@gateway/shell/matrix.org/x-gkitpxsfpbgapswi) (Ping timeout: 244 seconds) |
2020-09-30 03:22:55 +0200 | rednaZ[m] | (r3dnazmatr@gateway/shell/matrix.org/x-pxthlvwirdzkfldr) (Ping timeout: 240 seconds) |
2020-09-30 03:22:56 +0200 | DavSanchez[m]1 | (davsanchez@gateway/shell/matrix.org/x-intvmspuzeodooky) (Ping timeout: 240 seconds) |
2020-09-30 03:22:58 +0200 | mikr[m] | (mikrdavral@gateway/shell/matrix.org/x-hwalopiqxtzxmuln) (Ping timeout: 240 seconds) |
2020-09-30 03:22:58 +0200 | gcoakes[m] | (gcoakesmat@gateway/shell/matrix.org/x-oqmnilbkbiprwtsk) (Ping timeout: 240 seconds) |
2020-09-30 03:22:59 +0200 | jtojnar | (jtojnarmat@gateway/shell/matrix.org/x-mzqqgajmshcqybbf) (Ping timeout: 240 seconds) |
2020-09-30 03:22:59 +0200 | kbse[m] | (kbsematrix@gateway/shell/matrix.org/x-sculxxdsyrrjjfti) (Ping timeout: 240 seconds) |
2020-09-30 03:23:00 +0200 | Tristan- | (~tristan@luna.whatbox.ca) |
2020-09-30 03:23:16 +0200 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
2020-09-30 03:23:22 +0200 | johnnyboy[m] | (gifumatrix@gateway/shell/matrix.org/x-srnthwvxcuzhennq) (Ping timeout: 244 seconds) |
2020-09-30 03:23:23 +0200 | ciderpunx[m] | (ciderpunxm@gateway/shell/matrix.org/x-ohxhmeveghuoordm) (Ping timeout: 244 seconds) |
2020-09-30 03:23:24 +0200 | nihilazo | (nihilazoma@gateway/shell/matrix.org/x-wvynfrgeooaehrwj) (Ping timeout: 244 seconds) |
2020-09-30 03:23:24 +0200 | vaibhavsagar | (vaibhavsag@gateway/shell/matrix.org/x-ykpkqyigflaojgkk) (Ping timeout: 244 seconds) |
2020-09-30 03:23:24 +0200 | Ericson2314 | (ericson231@gateway/shell/matrix.org/x-zonkcqyqfobqnkxa) (Ping timeout: 244 seconds) |
2020-09-30 03:23:25 +0200 | psydruid | (psydruidma@gateway/shell/matrix.org/x-txusvakrguymexoi) (Ping timeout: 240 seconds) |
2020-09-30 03:23:25 +0200 | michaelpj1 | (michaelpjm@gateway/shell/matrix.org/x-zdqnoycusovyxytr) (Ping timeout: 240 seconds) |
2020-09-30 03:23:25 +0200 | iinuwa1 | (iinuwamatr@gateway/shell/matrix.org/x-thwbsslmbetrqwug) (Ping timeout: 240 seconds) |
2020-09-30 03:23:26 +0200 | Noughtmare[m] | (naughtmare@gateway/shell/matrix.org/x-utoajxemuakmnoxf) (Ping timeout: 240 seconds) |
2020-09-30 03:23:26 +0200 | srid | (sridmatrix@gateway/shell/matrix.org/x-czutkscoikgmnogk) (Ping timeout: 240 seconds) |
2020-09-30 03:23:26 +0200 | domenkozar[m] | (domenkozar@NixOS/user/domenkozar) (Ping timeout: 240 seconds) |
2020-09-30 03:23:27 +0200 | itai33[m] | (itai33matr@gateway/shell/matrix.org/x-wnrutdelscmogfwp) (Ping timeout: 244 seconds) |
2020-09-30 03:23:27 +0200 | GuillaumeChrel[m | (guillaumec@gateway/shell/matrix.org/x-kshkczvcmipqxvet) (Ping timeout: 244 seconds) |
2020-09-30 03:23:27 +0200 | unclechu | (unclechuma@gateway/shell/matrix.org/x-lntdfkrgyhbmpftv) (Ping timeout: 244 seconds) |
2020-09-30 03:23:32 +0200 | sureyeaah | (shauryab98@gateway/shell/matrix.org/x-ixgowzetgwdpalkm) (Ping timeout: 260 seconds) |
2020-09-30 03:23:32 +0200 | io_r_us[m] | (commandlin@gateway/shell/matrix.org/x-qhnwvfdzptqgsudu) (Ping timeout: 260 seconds) |
2020-09-30 03:23:33 +0200 | wangoe[m] | (wangoematr@gateway/shell/matrix.org/x-doccrosmfaineuhr) (Ping timeout: 260 seconds) |
2020-09-30 03:23:39 +0200 | fiQ2 | (~fiQ@mirkk.ninja) (Ping timeout: 272 seconds) |
2020-09-30 03:23:48 +0200 | Rembane | (~Rembane@li346-36.members.linode.com) (Ping timeout: 260 seconds) |
2020-09-30 03:23:56 +0200 | lambdaclan | (lambdaclan@gateway/shell/matrix.org/x-ndsjwyfusbpfxije) (Ping timeout: 240 seconds) |
2020-09-30 03:23:56 +0200 | siraben | (sirabenmat@gateway/shell/matrix.org/x-dmnemwizldkhcqnq) (Ping timeout: 240 seconds) |
2020-09-30 03:24:07 +0200 | acidjnk_new | (~acidjnk@p200300d0c72378745c7b1a0a573f1493.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-09-30 03:24:07 +0200 | alexfmpe | (alexfmpema@gateway/shell/matrix.org/x-qdsezkyvjisttceh) (Ping timeout: 260 seconds) |
2020-09-30 03:24:07 +0200 | chreekat[m] | (chreekatma@gateway/shell/matrix.org/x-linhirjvdrhofayv) (Ping timeout: 260 seconds) |
2020-09-30 03:24:07 +0200 | jabruen[m] | (jabruenmat@gateway/shell/matrix.org/x-jrbozatdhjtmoeer) (Ping timeout: 260 seconds) |
2020-09-30 03:24:07 +0200 | sajith[m] | (sajithmatr@gateway/shell/matrix.org/x-jadbtjneiqrtbrpb) (Ping timeout: 260 seconds) |
2020-09-30 03:24:07 +0200 | theduke | (thedukem1@gateway/shell/matrix.org/x-lcbmhqyekohotgxa) (Ping timeout: 260 seconds) |
2020-09-30 03:24:08 +0200 | drozdziak1 | (drozdziak1@gateway/shell/matrix.org/x-iagswoydzgfqnthb) (Ping timeout: 260 seconds) |
2020-09-30 03:24:17 +0200 | maralorn | (maralornma@gateway/shell/matrix.org/x-jcjdlorwwncednaz) (Ping timeout: 272 seconds) |
2020-09-30 03:25:06 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2020-09-30 03:25:15 +0200 | Rembane | (~Rembane@li346-36.members.linode.com) |
2020-09-30 03:25:37 +0200 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2020-09-30 03:25:44 +0200 | _Tristan_ | (~tristan@luna.whatbox.ca) (Ping timeout: 246 seconds) |
2020-09-30 03:26:07 +0200 | DavSanchez[m]1 | (davsanchez@gateway/shell/matrix.org/x-oppjybenvaexbwaj) |
2020-09-30 03:27:18 +0200 | io_r_us[m] | (commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) |
2020-09-30 03:27:48 +0200 | lambdaclan | (lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) |
2020-09-30 03:28:08 +0200 | siraben | (sirabenmat@gateway/shell/matrix.org/x-zchkdzekdlwvohec) |
2020-09-30 03:29:06 +0200 | nineonine | (~nineonine@216-19-190-182.dyn.novuscom.net) |
2020-09-30 03:29:06 +0200 | drozdziak1 | (drozdziak1@gateway/shell/matrix.org/x-sjsrnouamiaxipfm) |
2020-09-30 03:30:43 +0200 | chreekat[m] | (chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) |
2020-09-30 03:31:25 +0200 | jabruen[m] | (jabruenmat@gateway/shell/matrix.org/x-mkrzwfdeygwnehax) |
2020-09-30 03:31:27 +0200 | alexfmpe | (alexfmpema@gateway/shell/matrix.org/x-svcqerpqtkauzjui) |
2020-09-30 03:31:29 +0200 | sajith[m] | (sajithmatr@gateway/shell/matrix.org/x-mvrgbpjqisezmtze) |
2020-09-30 03:31:42 +0200 | alp | (~alp@2a01:e0a:58b:4920:c58c:601c:cb46:bf0c) (Remote host closed the connection) |
2020-09-30 03:31:43 +0200 | theduke | (thedukem1@gateway/shell/matrix.org/x-tcbncmkaetcradmc) |
2020-09-30 03:32:02 +0200 | alp | (~alp@2a01:e0a:58b:4920:88a:e825:8145:b9ee) |
2020-09-30 03:33:14 +0200 | rednaZ[m] | (r3dnazmatr@gateway/shell/matrix.org/x-iwlzundtzequgzee) |
2020-09-30 03:33:14 +0200 | maralorn | (maralornma@gateway/shell/matrix.org/x-aoxblgoncgxjmpkk) |
2020-09-30 03:33:27 +0200 | Fernando-Basso[m | (fernando-b@gateway/shell/matrix.org/x-qopgtqduxfsjtqbe) |
2020-09-30 03:33:31 +0200 | nineonine | (~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection) |
2020-09-30 03:33:45 +0200 | nineonine | (~nineonine@216-19-190-182.dyn.novuscom.net) |
2020-09-30 03:33:50 +0200 | jtojnar | (jtojnarmat@gateway/shell/matrix.org/x-oypragrwlxqgnchv) |
2020-09-30 03:34:01 +0200 | lnxw37d4 | (lnxw37d4ma@gateway/shell/matrix.org/x-mgiougcltykvpgks) |
2020-09-30 03:34:07 +0200 | kbse[m] | (kbsematrix@gateway/shell/matrix.org/x-aveamwrjewluqtec) |
2020-09-30 03:34:16 +0200 | gcoakes[m] | (gcoakesmat@gateway/shell/matrix.org/x-flwpwnktpkouxpwp) |
2020-09-30 03:34:47 +0200 | nihilazo | (nihilazoma@gateway/shell/matrix.org/x-nhbxnzosodzhmhyx) |
2020-09-30 03:35:01 +0200 | Ericson2314 | (ericson231@gateway/shell/matrix.org/x-vfqdqvnkedexzixl) |
2020-09-30 03:36:26 +0200 | Benett | (~Benett@unaffiliated/benett) (Remote host closed the connection) |
2020-09-30 03:36:44 +0200 | johnnyboy[m] | (gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) |
2020-09-30 03:36:45 +0200 | mikr[m] | (mikrdavral@gateway/shell/matrix.org/x-iihzpvcobeurnjqm) |
2020-09-30 03:36:46 +0200 | <woxip0> | leave |
2020-09-30 03:37:18 +0200 | <woxip0> | quit |
2020-09-30 03:37:20 +0200 | woxip0 | (~dixon@190.75.138.21) (Quit: WeeChat 2.3) |
2020-09-30 03:37:29 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 03:37:49 +0200 | <Axman6> | Thanks for coming to woxip0's demotivational talk for today |
2020-09-30 03:38:10 +0200 | Benett | (~Benett@unaffiliated/benett) |
2020-09-30 03:38:26 +0200 | psydruid | (psydruidma@gateway/shell/matrix.org/x-agoyrynofjmbqrna) |
2020-09-30 03:39:24 +0200 | drbean | (~drbean@TC210-63-209-160.static.apol.com.tw) |
2020-09-30 03:40:05 +0200 | michaelpj1 | (michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) |
2020-09-30 03:40:11 +0200 | ciderpunx[m] | (ciderpunxm@gateway/shell/matrix.org/x-tppxydebwmzeidan) |
2020-09-30 03:40:41 +0200 | srid | (sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) |
2020-09-30 03:41:04 +0200 | vaibhavsagar | (vaibhavsag@gateway/shell/matrix.org/x-uujnimdcokvefwmq) |
2020-09-30 03:41:07 +0200 | unclechu | (unclechuma@gateway/shell/matrix.org/x-lokwlamfbcqzukdh) |
2020-09-30 03:41:30 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
2020-09-30 03:41:41 +0200 | domenkozar[m] | (domenkozar@NixOS/user/domenkozar) |
2020-09-30 03:41:56 +0200 | iinuwa1 | (iinuwamatr@gateway/shell/matrix.org/x-vnidwkjqityvsyww) |
2020-09-30 03:41:57 +0200 | wangoe[m] | (wangoematr@gateway/shell/matrix.org/x-ejdppythnrvrfopr) |
2020-09-30 03:41:58 +0200 | sureyeaah | (shauryab98@gateway/shell/matrix.org/x-kczqpmbbcugstynw) |
2020-09-30 03:42:17 +0200 | Clough | (~Cain@190.121.220.203.dial.dynamic.acc01-fenw-glg.comindico.com.au) |
2020-09-30 03:42:19 +0200 | itai33[m] | (itai33matr@gateway/shell/matrix.org/x-kefkftogqwbmbqbo) |
2020-09-30 03:42:19 +0200 | GuillaumeChrel[m | (guillaumec@gateway/shell/matrix.org/x-jdchaaocbuitwfmn) |
2020-09-30 03:45:27 +0200 | hackage | servant-client-js 0.1.0.0 - A servant client for frontend JavaScript https://hackage.haskell.org/package/servant-client-js-0.1.0.0 (morganthomas) |
2020-09-30 03:46:06 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 244 seconds) |
2020-09-30 03:47:08 +0200 | alp | (~alp@2a01:e0a:58b:4920:88a:e825:8145:b9ee) (Ping timeout: 244 seconds) |
2020-09-30 03:47:32 +0200 | dyeplexer | (~lol@unaffiliated/terpin) |
2020-09-30 03:48:27 +0200 | hackage | serverless-haskell 0.12.3 - Deploying Haskell code onto AWS Lambda using Serverless https://hackage.haskell.org/package/serverless-haskell-0.12.3 (AlexeyKotlyarov) |
2020-09-30 03:49:53 +0200 | <monochrom> | Merch at https://despair.com/ :) |
2020-09-30 03:51:59 +0200 | xff0x | (~fox@2001:1a81:53b0:3c00:e98b:1e53:4e8a:cb9b) (Ping timeout: 246 seconds) |
2020-09-30 03:52:22 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 03:53:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 03:53:54 +0200 | xff0x | (~fox@2001:1a81:53e7:fb00:e98b:1e53:4e8a:cb9b) |
2020-09-30 03:55:08 +0200 | Benzi-Junior | (~BenziJuni@dsl-149-67-198.hive.is) (Ping timeout: 256 seconds) |
2020-09-30 03:55:28 +0200 | Benzi-Junior | (~BenziJuni@88-149-67-198.du.xdsl.is) |
2020-09-30 03:57:19 +0200 | mac10688 | (~mac10688@c-76-115-116-76.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
2020-09-30 03:57:45 +0200 | vivekramaswamy | (~vivekrama@49.207.196.1) |
2020-09-30 03:57:57 +0200 | mac10688 | (~mac10688@c-76-115-116-76.hsd1.or.comcast.net) |
2020-09-30 04:09:00 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:3476:44e3:8b50:e5ca) |
2020-09-30 04:09:12 +0200 | halogenandtoast | (~halogenan@072-176-116-031.res.spectrum.com) |
2020-09-30 04:09:26 +0200 | <halogenandtoast> | I feel like I am just tired, but does there already exist a function that does this? https://gist.github.com/halogenandtoast/bf48c58903b22b1720c297f0ca246484 |
2020-09-30 04:09:45 +0200 | <halogenandtoast> | I feel like using a fold has to be overkill here. |
2020-09-30 04:10:18 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 04:12:25 +0200 | <dolio> | halogenandtoast: You could use First. |
2020-09-30 04:12:43 +0200 | <dolio> | It's not going to be a lot different, though. |
2020-09-30 04:13:48 +0200 | <halogenandtoast> | Yeah I considered using First here, but didn't, for that reason. |
2020-09-30 04:13:58 +0200 | darjeeling_ | (~darjeelin@122.245.121.113) (Ping timeout: 260 seconds) |
2020-09-30 04:14:57 +0200 | unclechu | (unclechuma@gateway/shell/matrix.org/x-lokwlamfbcqzukdh) (*.net *.split) |
2020-09-30 04:14:57 +0200 | jabruen[m] | (jabruenmat@gateway/shell/matrix.org/x-mkrzwfdeygwnehax) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Tristan- | (~tristan@luna.whatbox.ca) (*.net *.split) |
2020-09-30 04:14:57 +0200 | fiQ- | (~fiQ@mirkk.ninja) (*.net *.split) |
2020-09-30 04:14:57 +0200 | gluegadget | (sid22336@gateway/web/irccloud.com/x-xozlpymtatjtbivu) (*.net *.split) |
2020-09-30 04:14:57 +0200 | simony | (sid226116@gateway/web/irccloud.com/x-dmnnvhhbweuqxcvx) (*.net *.split) |
2020-09-30 04:14:57 +0200 | cemerick | (sid54985@gateway/web/irccloud.com/x-latpmrffuxrdviie) (*.net *.split) |
2020-09-30 04:14:57 +0200 | kyagrd__ | (sid102627@gateway/web/irccloud.com/x-ueauikqbfiitnall) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Boarders | (sid425905@gateway/web/irccloud.com/x-hphcbtvbxebihmwg) (*.net *.split) |
2020-09-30 04:14:57 +0200 | hamishmack | (sid389057@gateway/web/irccloud.com/x-joqbkxseaudzewuy) (*.net *.split) |
2020-09-30 04:14:57 +0200 | heyj | (sid171370@gateway/web/irccloud.com/x-lkawpqiwbkazqhbr) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Shun131 | (sid377723@gateway/web/irccloud.com/x-dfpyabbpewgqppso) (*.net *.split) |
2020-09-30 04:14:57 +0200 | nlofaro | (sid258233@gateway/web/irccloud.com/x-yqtwjxxgifuvztsm) (*.net *.split) |
2020-09-30 04:14:57 +0200 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-lhhtwrcyukiolswv) (*.net *.split) |
2020-09-30 04:14:57 +0200 | xyggos | (uid216035@gateway/web/irccloud.com/x-lhaarqbamcocycpv) (*.net *.split) |
2020-09-30 04:14:57 +0200 | alunduil | (alunduil@gateway/web/irccloud.com/x-upaxhaxxkezwifdm) (*.net *.split) |
2020-09-30 04:14:57 +0200 | PoliticsII____ | (sid193551@gateway/web/irccloud.com/x-hownnnwfspnbpudf) (*.net *.split) |
2020-09-30 04:14:57 +0200 | cstrahan | (sid36118@gateway/web/irccloud.com/x-ceukpoxrsnzpwlkj) (*.net *.split) |
2020-09-30 04:14:57 +0200 | albethere | (sid457088@gateway/web/irccloud.com/x-kdubkdobgmtjdtxg) (*.net *.split) |
2020-09-30 04:14:57 +0200 | kozowu | (uid44796@gateway/web/irccloud.com/x-mavyewbrkcrhqppw) (*.net *.split) |
2020-09-30 04:14:57 +0200 | glowcoil | (sid3405@gateway/web/irccloud.com/x-lstfnintbamvabrb) (*.net *.split) |
2020-09-30 04:14:57 +0200 | jetpack_joe | (sid146137@gateway/web/irccloud.com/x-fcijrdwmdwvwvjor) (*.net *.split) |
2020-09-30 04:14:57 +0200 | pent | (sid313808@gateway/web/irccloud.com/x-yjtwetnkogukpzmx) (*.net *.split) |
2020-09-30 04:14:57 +0200 | caasih | (sid13241@gateway/web/irccloud.com/x-luakympvtdjyqgpe) (*.net *.split) |
2020-09-30 04:14:57 +0200 | mpickering | (sid78412@gateway/web/irccloud.com/x-gsxeeazgdrkchphy) (*.net *.split) |
2020-09-30 04:14:57 +0200 | rann | (sid175221@gateway/web/irccloud.com/x-hsipljbilyngvaij) (*.net *.split) |
2020-09-30 04:14:57 +0200 | koankeeper | (sid216950@gateway/web/irccloud.com/x-khuknondgmnqwpfb) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Kamuela | (sid111576@gateway/web/irccloud.com/x-kfraqxxakmiuotqp) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Aquazi | (uid312403@gateway/web/irccloud.com/x-cicafdvoiqgnsxlq) (*.net *.split) |
2020-09-30 04:14:57 +0200 | unlink_ | (~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) (*.net *.split) |
2020-09-30 04:14:57 +0200 | angerman | (sid209936@gateway/web/irccloud.com/x-sxwsoxjbjhhdcytm) (*.net *.split) |
2020-09-30 04:14:57 +0200 | PotatoGim | (sid99505@gateway/web/irccloud.com/x-hpkxvtmaddacpkcm) (*.net *.split) |
2020-09-30 04:14:57 +0200 | benwr__ | (sid372383@gateway/web/irccloud.com/x-gisfqzblfklvpltj) (*.net *.split) |
2020-09-30 04:14:57 +0200 | teehemkay | (sid14792@gateway/web/irccloud.com/x-enbnrxzqqcvacsyt) (*.net *.split) |
2020-09-30 04:14:57 +0200 | jbetz | (sid283648@gateway/web/irccloud.com/x-jpndowfutuxwtlac) (*.net *.split) |
2020-09-30 04:14:57 +0200 | metadave | (sid28102@gateway/web/irccloud.com/x-kvbjexppaeoxogva) (*.net *.split) |
2020-09-30 04:14:57 +0200 | fiadliel | (sid399568@gateway/web/irccloud.com/x-ktjqphtdpabuzhix) (*.net *.split) |
2020-09-30 04:14:57 +0200 | jared-w | (uid405292@gateway/web/irccloud.com/x-rpqfkttwgpododuy) (*.net *.split) |
2020-09-30 04:14:57 +0200 | hololeap | (~hololeap@unaffiliated/hololeap) (*.net *.split) |
2020-09-30 04:14:57 +0200 | rizary | (sid220347@gateway/web/irccloud.com/x-yircivgrzzuogmcd) (*.net *.split) |
2020-09-30 04:14:57 +0200 | d0liver | (sid363046@gateway/web/irccloud.com/x-qfnvcyeeietbneso) (*.net *.split) |
2020-09-30 04:14:57 +0200 | lagothrix | (~lagothrix@unaffiliated/lagothrix) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Amras | (~Amras@unaffiliated/amras0000) (*.net *.split) |
2020-09-30 04:14:57 +0200 | karolus | (~karolus@static.32.230.217.95.clients.your-server.de) (*.net *.split) |
2020-09-30 04:14:57 +0200 | jhuizy | (~jhuizy@static.241.188.216.95.clients.your-server.de) (*.net *.split) |
2020-09-30 04:14:57 +0200 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (*.net *.split) |
2020-09-30 04:14:57 +0200 | sarahzrf | (~sarahzrf_@benzrf.com) (*.net *.split) |
2020-09-30 04:14:57 +0200 | hyiltiz-M | (hyiltizkde@gateway/shell/kde/matrix/x-iqydoavyrkykkzgo) (*.net *.split) |
2020-09-30 04:14:57 +0200 | jchia_ | (~jchia@58.32.37.220) (*.net *.split) |
2020-09-30 04:14:57 +0200 | ezzieyguywuf | (~Unknown@unaffiliated/ezzieyguywuf) (*.net *.split) |
2020-09-30 04:14:57 +0200 | aurieeeh | (~aurieh@static.91.102.243.136.clients.your-server.de) (*.net *.split) |
2020-09-30 04:14:57 +0200 | auri_ | (~auri_@fsf/memeber/auri-) (*.net *.split) |
2020-09-30 04:14:57 +0200 | SolarAquarion | (SolarAquar@gateway/shell/panicbnc/x-qhbkvprsewvzxtnd) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Klumben | (Nsaiswatch@gateway/shell/panicbnc/x-lfgojlskrxejewoq) (*.net *.split) |
2020-09-30 04:14:57 +0200 | dbmikus | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (*.net *.split) |
2020-09-30 04:14:57 +0200 | petersen | (~petersen@redhat/juhp) (*.net *.split) |
2020-09-30 04:14:57 +0200 | pong | (chiya@2406:3003:2077:2341::babe) (*.net *.split) |
2020-09-30 04:14:57 +0200 | dequbed_ | (~dequbed@yanduxian.paranoidlabs.org) (*.net *.split) |
2020-09-30 04:14:57 +0200 | noexcept_ | (~noexcept@noexcept.org) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Xnuk | (~xnuk@45.76.202.58) (*.net *.split) |
2020-09-30 04:14:57 +0200 | rotty | (rotty@ghost.xx.vu) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Majiir | (~Majiir@2601:18c:ca00:a400:211:32ff:fe42:6eda) (*.net *.split) |
2020-09-30 04:14:57 +0200 | tomku | (~tomku@unaffiliated/tomku) (*.net *.split) |
2020-09-30 04:14:57 +0200 | themsay[m] | (themsaymat@gateway/shell/matrix.org/x-mjbquguhfulgkgro) (*.net *.split) |
2020-09-30 04:14:57 +0200 | jkaye[m] | (jkayematri@gateway/shell/matrix.org/x-rpmuernsphlxsxxq) (*.net *.split) |
2020-09-30 04:14:57 +0200 | coeus | (~coeus@p200300d02724ef00d20f0ecf5ac74df4.dip0.t-ipconnect.de) (*.net *.split) |
2020-09-30 04:14:57 +0200 | magog | (~wee@unaffiliated/magog) (*.net *.split) |
2020-09-30 04:14:57 +0200 | Taneb | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split) |
2020-09-30 04:14:57 +0200 | nopf | (~frosch@static.179.17.76.144.clients.your-server.de) (*.net *.split) |
2020-09-30 04:14:57 +0200 | M2tias | (m2@seri.fi) (*.net *.split) |
2020-09-30 04:15:03 +0200 | unlink__ | (~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) |
2020-09-30 04:15:06 +0200 | _Tristan_ | (~tristan@luna.whatbox.ca) |
2020-09-30 04:15:07 +0200 | noexcept | (~noexcept@2a03:b0c0:3:d0::33:9001) |
2020-09-30 04:15:08 +0200 | sarahzrf | (~sarahzrf_@benzrf.com) |
2020-09-30 04:15:09 +0200 | nlofaro | (sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) |
2020-09-30 04:15:10 +0200 | benwr__ | (sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) |
2020-09-30 04:15:11 +0200 | mpickering | (sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) |
2020-09-30 04:15:11 +0200 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
2020-09-30 04:15:12 +0200 | simony | (sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) |
2020-09-30 04:15:13 +0200 | teehemkay | (sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) |
2020-09-30 04:15:14 +0200 | vivekramaswamy | (~vivekrama@49.207.196.1) (Quit: Sayonara. Long live Haskell) |
2020-09-30 04:15:14 +0200 | tomku | (~tomku@unaffiliated/tomku) |
2020-09-30 04:15:14 +0200 | koankeeper | (sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) |
2020-09-30 04:15:14 +0200 | fiQ2 | (~fiQ@mirkk.ninja) |
2020-09-30 04:15:14 +0200 | kyagrd__ | (sid102627@gateway/web/irccloud.com/x-cswsttltgsuxjilm) |
2020-09-30 04:15:14 +0200 | karolus | (~karolus@static.32.230.217.95.clients.your-server.de) |
2020-09-30 04:15:14 +0200 | Xnuk | (~xnuk@45.76.202.58) |
2020-09-30 04:15:15 +0200 | Majiir | (~Majiir@2601:18c:ca00:a400:211:32ff:fe42:6eda) |
2020-09-30 04:15:15 +0200 | aurieeeh | (~aurieh@static.91.102.243.136.clients.your-server.de) |
2020-09-30 04:15:18 +0200 | jhuizy | (~jhuizy@static.241.188.216.95.clients.your-server.de) |
2020-09-30 04:15:18 +0200 | dequbed | (~dequbed@yanduxian.paranoidlabs.org) |
2020-09-30 04:15:18 +0200 | xyggos | (uid216035@gateway/web/irccloud.com/x-gnlompqpniagbeqc) |
2020-09-30 04:15:18 +0200 | cemerick | (sid54985@gateway/web/irccloud.com/x-pdxhruraknqcvldm) |
2020-09-30 04:15:18 +0200 | d0liver | (sid363046@gateway/web/irccloud.com/x-jybzxemfqeasbqbs) |
2020-09-30 04:15:18 +0200 | zopsi | (~zopsi@irc.dir.ac) (Max SendQ exceeded) |
2020-09-30 04:15:19 +0200 | jetpack_joe | (sid146137@gateway/web/irccloud.com/x-zhxrcrokabwqiajh) |
2020-09-30 04:15:19 +0200 | alunduil | (alunduil@gateway/web/irccloud.com/x-armiphmmyuoonyeh) |
2020-09-30 04:15:20 +0200 | angerman | (sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) |
2020-09-30 04:15:22 +0200 | heyj | (sid171370@gateway/web/irccloud.com/x-ffzoewiykurlnmpn) |
2020-09-30 04:15:22 +0200 | jared-w | (uid405292@gateway/web/irccloud.com/x-lvabjzxurljtbtsc) |
2020-09-30 04:15:23 +0200 | hamishmack | (sid389057@gateway/web/irccloud.com/x-kmbanmfbezzgjcwy) |
2020-09-30 04:15:23 +0200 | fiadliel | (sid399568@gateway/web/irccloud.com/x-llzgoofxbcculsva) |
2020-09-30 04:15:23 +0200 | metadave | (sid28102@gateway/web/irccloud.com/x-pebkddzdcftwierd) |
2020-09-30 04:15:23 +0200 | caasih | (sid13241@gateway/web/irccloud.com/x-teuwvboxinwdshpz) |
2020-09-30 04:15:23 +0200 | albethere | (sid457088@gateway/web/irccloud.com/x-euzbwktnggxsctak) |
2020-09-30 04:15:24 +0200 | Amras | (~Amras@unaffiliated/amras0000) |
2020-09-30 04:15:24 +0200 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
2020-09-30 04:15:25 +0200 | hololeap | (~hololeap@unaffiliated/hololeap) |
2020-09-30 04:15:26 +0200 | PoliticsII____ | (sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) |
2020-09-30 04:15:26 +0200 | Boarders | (sid425905@gateway/web/irccloud.com/x-xkpxetjoxpjitwjh) |
2020-09-30 04:15:26 +0200 | rann | (sid175221@gateway/web/irccloud.com/x-aedrxgorilstsgns) |
2020-09-30 04:15:27 +0200 | glowcoil | (sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) |
2020-09-30 04:15:28 +0200 | rizary | (sid220347@gateway/web/irccloud.com/x-asbilbwnyrijqcny) |
2020-09-30 04:15:30 +0200 | gluegadget | (sid22336@gateway/web/irccloud.com/x-ujwmxysajygjgukb) |
2020-09-30 04:15:31 +0200 | rotty | (rotty@ghost.xx.vu) |
2020-09-30 04:15:31 +0200 | pent | (sid313808@gateway/web/irccloud.com/x-dxofbfnqjnwrcfkh) |
2020-09-30 04:15:32 +0200 | cstrahan | (sid36118@gateway/web/irccloud.com/x-ayxmqtejzrwtwzqi) |
2020-09-30 04:15:33 +0200 | Kamuela | (sid111576@gateway/web/irccloud.com/x-hizwwfvajxwuptvq) |
2020-09-30 04:15:34 +0200 | jbetz | (sid283648@gateway/web/irccloud.com/x-jvvvgpgxfdgnkdbf) |
2020-09-30 04:15:34 +0200 | vivekramaswamy | (~vivekrama@49.207.196.1) |
2020-09-30 04:15:35 +0200 | dbmikus | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2020-09-30 04:15:37 +0200 | kozowu | (uid44796@gateway/web/irccloud.com/x-wpjivtkfdyaoqwbw) |
2020-09-30 04:15:41 +0200 | Shun131 | (sid377723@gateway/web/irccloud.com/x-qfflzmcznnjkrwrn) |
2020-09-30 04:15:42 +0200 | zopsi | (zopsi@2600:3c00::f03c:91ff:fe14:551f) |
2020-09-30 04:15:47 +0200 | auri_ | (~auri_@fsf/memeber/auri-) |
2020-09-30 04:15:47 +0200 | Aquazi | (uid312403@gateway/web/irccloud.com/x-qegeokaunvltnjjt) |
2020-09-30 04:15:49 +0200 | PotatoGim | (sid99505@gateway/web/irccloud.com/x-nntthzpvnqfcnxqs) |
2020-09-30 04:16:02 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 04:16:06 +0200 | <Axman6> | halogenandtoast: xs ?^ each . _BaseSkillOf |
2020-09-30 04:16:08 +0200 | unclechu | (unclechuma@gateway/shell/matrix.org/x-bgindqyxdmllwdai) |
2020-09-30 04:16:29 +0200 | PotatoHatsue | (berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) |
2020-09-30 04:16:34 +0200 | <dolio> | Yeah, if you have some better building blocks it will help. |
2020-09-30 04:16:54 +0200 | polyrain_ | (~polyrain@2001:8003:e501:6901:4af:ac65:fda8:8e33) |
2020-09-30 04:16:57 +0200 | jabruen[m] | (jabruenmat@gateway/shell/matrix.org/x-akmaydnltwuauerf) |
2020-09-30 04:17:20 +0200 | mirrorbird | (~psutcliff@2a00:801:3fb:53b9:b09b:cd4e:4e4a:44a9) (Quit: Leaving) |
2020-09-30 04:17:30 +0200 | <halogenandtoast> | Axman6: where is that lens coming from :p |
2020-09-30 04:17:36 +0200 | <halogenandtoast> | I surely did not write it |
2020-09-30 04:17:37 +0200 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) (Ping timeout: 264 seconds) |
2020-09-30 04:18:21 +0200 | jkaye[m] | (jkayematri@gateway/shell/matrix.org/x-xibdbttwtjjbthkv) |
2020-09-30 04:18:24 +0200 | <vivekramaswamy> | Hello All, I came here as there is no one in the haskell beginners channel, i really have a simple question. the type constructor for a list is defined as data [] a = [] | a |
2020-09-30 04:18:40 +0200 | rzmt | (~rzmt@87-92-180-112.rev.dnainternet.fi) (Ping timeout: 246 seconds) |
2020-09-30 04:18:44 +0200 | themsay[m] | (themsaymat@gateway/shell/matrix.org/x-yeakmiacdwmqfqaq) |
2020-09-30 04:19:18 +0200 | <vivekramaswamy> | Hello All, I came here as there is no one in the haskell beginners channel, i really have a simple question. the type constructor for a list is defined as data [] a = [] | a:[a] how can I construct a list with a single element using these data constructor for the list |
2020-09-30 04:19:22 +0200 | <ski> | there are people in there. however, there was just a netsplit, so perhaps that's why it didn't seem like way |
2020-09-30 04:19:32 +0200 | <glguy> | vivekramaswamy: this channel is fine for beginner questions |
2020-09-30 04:19:46 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:3476:44e3:8b50:e5ca) (Ping timeout: 244 seconds) |
2020-09-30 04:19:48 +0200 | <ski> | add an element to the empty list |
2020-09-30 04:19:51 +0200 | <halogenandtoast> | vivekramaswamy: a:[] ? |
2020-09-30 04:19:52 +0200 | rzmt | (~rzmt@87-92-180-112.rev.dnainternet.fi) |
2020-09-30 04:20:11 +0200 | hyiltiz-M | (hyiltizkde@gateway/shell/kde/matrix/session) |
2020-09-30 04:20:11 +0200 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-lhhtwrcyukiolswv) |
2020-09-30 04:20:11 +0200 | jchia_ | (~jchia@58.32.37.220) |
2020-09-30 04:20:11 +0200 | ezzieyguywuf | (~Unknown@unaffiliated/ezzieyguywuf) |
2020-09-30 04:20:11 +0200 | pong | (chiya@2406:3003:2077:2341::babe) |
2020-09-30 04:20:11 +0200 | coeus | (~coeus@p200300d02724ef00d20f0ecf5ac74df4.dip0.t-ipconnect.de) |
2020-09-30 04:20:11 +0200 | magog | (~wee@unaffiliated/magog) |
2020-09-30 04:20:11 +0200 | Taneb | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
2020-09-30 04:20:11 +0200 | nopf | (~frosch@static.179.17.76.144.clients.your-server.de) |
2020-09-30 04:20:11 +0200 | M2tias | (m2@seri.fi) |
2020-09-30 04:20:12 +0200 | hyiltiz-M | (hyiltizkde@gateway/shell/kde/matrix/session) (Changing host) |
2020-09-30 04:20:12 +0200 | hyiltiz-M | (hyiltizkde@gateway/shell/kde/matrix/x-gsazjbgdfcbtdfre) |
2020-09-30 04:20:18 +0200 | <vivekramaswamy> | yeah but we dont have a data constructor like a:[] |
2020-09-30 04:20:25 +0200 | BalterNotz | (ca420871@202.66.8.113) |
2020-09-30 04:20:36 +0200 | <ski> | so use multiple data constructors, when making a singleton list |
2020-09-30 04:20:56 +0200 | <halogenandtoast> | vivekramaswamy: you are misreading how that constructor is working there. It's recursive (if implemented correctly) |
2020-09-30 04:21:03 +0200 | <glguy> | vivekramaswamy: (:) and [] are the two data constructors for list |
2020-09-30 04:21:08 +0200 | <vivekramaswamy> | But this is a sum type, I can only use one of the constructors right |
2020-09-30 04:21:22 +0200 | <ski> | `[]' is the empty list. if `x' is an element, and `xs' is a list, then `x:xs' is the list that starts with the element `x', and continues with all the elements (possibly zero of them) in the list `xs' |
2020-09-30 04:21:41 +0200 | <ski> | why would you think that, vivekramaswamy ? |
2020-09-30 04:21:43 +0200 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) |
2020-09-30 04:22:10 +0200 | <halogenandtoast> | vivekramaswamy: you are using one of the constructors, the constructor on the right just happens to be recursive. |
2020-09-30 04:22:43 +0200 | <vivekramaswamy> | where I am getting confused is this is a:[] == a:[a] |
2020-09-30 04:22:52 +0200 | <halogenandtoast> | One is a value, one is a type |
2020-09-30 04:23:03 +0200 | <halogenandtoast> | *data constructor |
2020-09-30 04:23:27 +0200 | <ski> | vivekramaswamy : `a:[a]' in `data [a] = [] | a:[a]' is a "template". it means that if you have `x' of type `a', and `xs' of type `[a]', then `x:xs' has type `[a]' |
2020-09-30 04:23:49 +0200 | toorevitimirp | (~tooreviti@117.182.182.201) |
2020-09-30 04:24:06 +0200 | <ski> | in place of actual values (left and right operand to the infix operator `:'), you have the expected types of those operands, in the `data' type declaration |
2020-09-30 04:24:16 +0200 | <vivekramaswamy> | to construct a list with a single element I will have to use one of the data constructors right. I can't use [], also the second constructors presumes a value already in the list a:[] |
2020-09-30 04:24:24 +0200 | <ski> | when actually using the data constructors, you'd use actual values of those two types |
2020-09-30 04:24:40 +0200 | lagothrix | Guest22008 |
2020-09-30 04:24:40 +0200 | Guest22008 | (~lagothrix@unaffiliated/lagothrix) (Killed (moon.freenode.net (Nickname regained by services))) |
2020-09-30 04:24:48 +0200 | <ski> | vivekramaswamy : the second one adds an element in front of an existing list |
2020-09-30 04:24:49 +0200 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
2020-09-30 04:25:20 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 04:26:16 +0200 | <vivekramaswamy> | correct , an already existing list a:[a], but for a list with only one element it will cons to a:[] adding element to the empty list, where is that covered in the data constructors |
2020-09-30 04:26:18 +0200 | <halogenandtoast> | vivekramaswamy: you have to start with the premise that you are reading those constructors incorrectly which is why you don't see the solution yet. |
2020-09-30 04:26:19 +0200 | <glguy> | vivekramaswamy: Would it be less confusing if we used this definition: |
2020-09-30 04:26:20 +0200 | <glguy> | % data List a = Empty | Prepend a (List a) |
2020-09-30 04:26:25 +0200 | <yahb> | glguy: |
2020-09-30 04:27:01 +0200 | <glguy> | That's the same thing with different names avoiding symbols and ambiguity between the type and value levels |
2020-09-30 04:27:01 +0200 | <ski> | % deriving instance Show a => Show (List a) |
2020-09-30 04:27:04 +0200 | <yahb> | ski: |
2020-09-30 04:27:26 +0200 | drbean | (~drbean@TC210-63-209-160.static.apol.com.tw) (Ping timeout: 244 seconds) |
2020-09-30 04:28:07 +0200 | SolarAquarion | (SolarAquar@gateway/shell/panicbnc/x-nikabmyijjgiqeue) |
2020-09-30 04:28:08 +0200 | polyrain_ | (~polyrain@2001:8003:e501:6901:4af:ac65:fda8:8e33) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 04:28:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-09-30 04:28:45 +0200 | <Axman6> | vivekramaswamy: the way that list is defined is quitre confusing to beginners, a better definition using GADT syntax is: data [] a where [] :: [a]; (:) :: a -> [a] -> [a] -- a list is EITHER: an empty list [] which has type [a] OR a (:) (pronounced "cons") with has a value of type a and a value of type [a] |
2020-09-30 04:28:49 +0200 | <glguy> | % Prepend "singleton" Empty |
2020-09-30 04:28:50 +0200 | <yahb> | glguy: Prepend "singleton" Empty |
2020-09-30 04:29:25 +0200 | <Axman6> | :t (:) |
2020-09-30 04:29:26 +0200 | <lambdabot> | a -> [a] -> [a] |
2020-09-30 04:29:29 +0200 | <halogenandtoast> | Axman6: beginners and GADT in the same sentence, what world is this? |
2020-09-30 04:29:42 +0200 | <ski> | that declaration means that `Empty' has type `List a' (for any type `a'); and also that `Prepend x xs' has type `List a' (for any type `a'), provided that `x' has (that) type `a', and `xs' has type `List a' |
2020-09-30 04:29:55 +0200 | <ski> | halogenandtoast : `GADTSyntax', not `GADT' |
2020-09-30 04:30:12 +0200 | <Axman6> | halogenandtoast: GDTS syntax is oftewn much easier for beginners to understand, as it;s much more consistent than the normal sum type syntax, which mixes constructors and the types they hold |
2020-09-30 04:30:18 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-09-30 04:30:26 +0200 | o1lo01ol_ | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
2020-09-30 04:30:31 +0200 | <ski> | vivekramaswamy : is glguy's alternative list type definition making any more sense to you, atm ? |
2020-09-30 04:31:12 +0200 | <Axman6> | > 1 : [] |
2020-09-30 04:31:15 +0200 | <lambdabot> | [1] |
2020-09-30 04:31:18 +0200 | o1lo01ol1o | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Read error: Connection reset by peer) |
2020-09-30 04:31:19 +0200 | <Axman6> | > (:) 1 [] |
2020-09-30 04:31:20 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:4af:ac65:fda8:8e33) |
2020-09-30 04:31:21 +0200 | <lambdabot> | [1] |
2020-09-30 04:31:36 +0200 | <vivekramaswamy> | Thank you very much for the help, but I am still very confused about this. Let me re -read all the messages again and try and make sense of them |
2020-09-30 04:31:50 +0200 | <Axman6> | :t [] |
2020-09-30 04:31:51 +0200 | <lambdabot> | [a] |
2020-09-30 04:31:53 +0200 | <Axman6> | : (:) |
2020-09-30 04:31:57 +0200 | <Axman6> | :t (:) |
2020-09-30 04:31:58 +0200 | <lambdabot> | a -> [a] -> [a] |
2020-09-30 04:32:56 +0200 | <vivekramaswamy> | I get this 1:[], but where is this one covered in the 2 data constructors defines [] | a:[a] |
2020-09-30 04:33:10 +0200 | <ski> | vivekramaswamy : it uses both of the data constructors |
2020-09-30 04:33:14 +0200 | <Axman6> | those are the two main facts you need to understand vivekramaswamy. the syntax in data [] a = [] | a : [a] is confusing because it mixed types and constructors and doesn't make it clear that the [a] in that definition is _a type_ not a value |
2020-09-30 04:33:24 +0200 | <vivekramaswamy> | 2:[3] makes sense to me as it is covered by the data constructor |
2020-09-30 04:33:39 +0200 | <Axman6> | 2:[3] is _really_: 2:3:[] |
2020-09-30 04:34:08 +0200 | <Axman6> | [3] is special syntax, is it not how lists are actually defined |
2020-09-30 04:34:15 +0200 | <ski> | vivekramaswamy : first, `[]' is the empty list. then, you can use `:' to prepend an element `1' in from of that list (the empty list `[]', getting `1 : []'. that singleton list has syntactic sugar `[1]' which is what is shown, when evaluated, for convenience sake |
2020-09-30 04:34:18 +0200 | <Axman6> | > 1:2:3:[] |
2020-09-30 04:34:20 +0200 | <lambdabot> | [1,2,3] |
2020-09-30 04:34:26 +0200 | <Axman6> | > 1:2:[3] |
2020-09-30 04:34:29 +0200 | <lambdabot> | [1,2,3] |
2020-09-30 04:34:30 +0200 | Lycurgus | (~niemand@98.4.96.130) |
2020-09-30 04:34:31 +0200 | <Axman6> | > 1:[2,3] |
2020-09-30 04:34:34 +0200 | <lambdabot> | [1,2,3] |
2020-09-30 04:35:13 +0200 | <ski> | `[1,2,3]' means `1:[2,3]' means `1:(2:[3])' means `1:(2:(3:[]))'. we can omit the brackets (since `:' is specified to "associate to the right"), giving just `1:2:3:[]' |
2020-09-30 04:35:16 +0200 | <vivekramaswamy> | yeap I get that just as for many characters we define [Char] so [a] means [a,a, as many elements of type a] |
2020-09-30 04:35:17 +0200 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 260 seconds) |
2020-09-30 04:35:58 +0200 | <Axman6> | strings are yet another special syntax |
2020-09-30 04:36:00 +0200 | <vivekramaswamy> | a:[a] means consing a to a list of type a which is fine. |
2020-09-30 04:36:23 +0200 | <ski> | `1:(2:(3:[]))' or `1:2:3:[]' is the "real list of three elements". `[1,2,3]' is just a convenient way ("syntactic sugar") to write it, in a form that's more appealing to humans |
2020-09-30 04:36:25 +0200 | <Axman6> | > 'a':['b','c'] |
2020-09-30 04:36:25 +0200 | <glguy> | vivekramaswamy: [a] as a value is a special shortcut you should forget about until you udnerstand what's happening without it |
2020-09-30 04:36:28 +0200 | <lambdabot> | "abc" |
2020-09-30 04:36:42 +0200 | <ski> | vivekramaswamy : `x:xs' means consing/prepending `x' in front of the list `xs' |
2020-09-30 04:37:30 +0200 | <ski> | > let xs = []; ys = 0 : xs; zs = 1 : ys in (xs,ys,zs) |
2020-09-30 04:37:32 +0200 | <vivekramaswamy> | "abc" is actually 'a':'b':'c':[] I get that |
2020-09-30 04:37:33 +0200 | <lambdabot> | ([],[0],[1,0]) |
2020-09-30 04:38:04 +0200 | falafel_ | (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) |
2020-09-30 04:38:05 +0200 | <ski> | vivekramaswamy : is there anything remaining, that's unclear ? |
2020-09-30 04:38:06 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 04:38:37 +0200 | <Axman6> | halogenandtoast: coming back to your question, some template haskell defined that prism for you ;) |
2020-09-30 04:38:43 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds) |
2020-09-30 04:38:44 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2020-09-30 04:38:50 +0200 | <vivekramaswamy> | Nope, I think I get it now, thanks a ton to all of you |
2020-09-30 04:38:57 +0200 | <ski> | np |
2020-09-30 04:39:54 +0200 | plutoniix | (~q@175.176.222.7) |
2020-09-30 04:39:57 +0200 | <Axman6> | vivekramaswamy: I can't actually see you asking that question in #haskell-beginners btw, when did you ask it?> |
2020-09-30 04:40:20 +0200 | <ski> | Axman6 : perhaps during the netsplit |
2020-09-30 04:40:47 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) |
2020-09-30 04:41:09 +0200 | <ski> | (there was one, just before they asked in here) |
2020-09-30 04:42:46 +0200 | <ski> | (or, possibly they thought noone was paying any attention to that channel, since there was no current discussion in there. .. who knows ?) |
2020-09-30 04:44:20 +0200 | andi- | (~andi-@NixOS/user/andi-) (Remote host closed the connection) |
2020-09-30 04:46:06 +0200 | jcarpenter2 | (~rofl@96.78.87.197) (Ping timeout: 272 seconds) |
2020-09-30 04:47:07 +0200 | inerkick | (~rohit@117.230.9.17) |
2020-09-30 04:48:09 +0200 | andi- | (~andi-@NixOS/user/andi-) |
2020-09-30 04:49:04 +0200 | dopplerg- | (~dop@titan.pathogen.is) (Remote host closed the connection) |
2020-09-30 04:49:20 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-09-30 04:49:43 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2020-09-30 04:50:02 +0200 | anoe | (~anoe@delanoe.org) (Ping timeout: 256 seconds) |
2020-09-30 04:50:11 +0200 | theDon | (~td@94.134.91.135) (Ping timeout: 258 seconds) |
2020-09-30 04:50:19 +0200 | anoe | (~anoe@delanoe.org) |
2020-09-30 04:50:25 +0200 | dopplergange | (~dop@titan.pathogen.is) |
2020-09-30 04:50:57 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-09-30 04:51:50 +0200 | theDon | (~td@muedsl-82-207-238-146.citykom.de) |
2020-09-30 04:51:57 +0200 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2020-09-30 04:53:55 +0200 | <vivekramaswamy> | I did not, as fount the channel empty |
2020-09-30 04:54:02 +0200 | <vivekramaswamy> | found |
2020-09-30 04:54:13 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 04:54:45 +0200 | <Axman6> | the channel definitely isn't empty |
2020-09-30 04:55:35 +0200 | <ski> | if you'd tried asking saying in there, then not that unlikely some people would have noticed, and possibly some have responded |
2020-09-30 04:57:11 +0200 | <MarcelineVQ> | no matter, asking here is fine too :> |
2020-09-30 04:57:17 +0200 | <ski> | (although, if you'd tried during the netsplit (which just happened to take place just before you started talking in here), when perhaps not as many would have been in there, on your server side of the netsplit, the chance would presumably have been lowered) |
2020-09-30 04:57:22 +0200 | <ski> | yes |
2020-09-30 04:57:28 +0200 | sword865 | (uid208942@gateway/web/irccloud.com/x-ifbndlqlczbvfcan) |
2020-09-30 04:58:39 +0200 | darjeeling_ | (~darjeelin@112.16.171.8) |
2020-09-30 04:59:28 +0200 | vivekramaswamy | (~vivekrama@49.207.196.1) (Quit: Sayonara. Long live Haskell) |
2020-09-30 04:59:47 +0200 | vivekramaswamy | (~vivekrama@49.207.196.1) |
2020-09-30 05:00:02 +0200 | SRV_DW20 | (~SRV_DW20@188.126.89.194) () |
2020-09-30 05:01:24 +0200 | russruss8 | (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat) |
2020-09-30 05:01:56 +0200 | russruss8 | (~russruss@my.russellmcc.com) |
2020-09-30 05:02:14 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
2020-09-30 05:03:07 +0200 | ent | (entgod@kapsi.fi) (Ping timeout: 246 seconds) |
2020-09-30 05:03:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 05:03:47 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds) |
2020-09-30 05:04:22 +0200 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2020-09-30 05:04:59 +0200 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds) |
2020-09-30 05:05:36 +0200 | Lord_of_Life_ | Lord_of_Life |
2020-09-30 05:06:05 +0200 | liff | (liff@kapsi.fi) (Ping timeout: 244 seconds) |
2020-09-30 05:06:57 +0200 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2020-09-30 05:07:09 +0200 | inerkick | (~rohit@117.230.9.17) (Quit: Leaving) |
2020-09-30 05:08:04 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 05:08:44 +0200 | bloodstalker | (~bloodstal@46.166.187.188) (Remote host closed the connection) |
2020-09-30 05:09:01 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2020-09-30 05:09:10 +0200 | inerkick | (~rohit@117.230.9.17) |
2020-09-30 05:09:31 +0200 | Tspoon | (tlarjoma@hilla.kapsi.fi) (Ping timeout: 256 seconds) |
2020-09-30 05:09:52 +0200 | Logio | (em@kapsi.fi) (Ping timeout: 256 seconds) |
2020-09-30 05:10:47 +0200 | spew | (uid195861@gateway/web/irccloud.com/x-fpkdkamqeywbdxvp) (Quit: Connection closed for inactivity) |
2020-09-30 05:11:40 +0200 | jrqc | (~rofl@96.78.87.197) |
2020-09-30 05:14:57 +0200 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-09-30 05:15:22 +0200 | shatriff | (~vitaliish@176.52.219.10) |
2020-09-30 05:15:45 +0200 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-09-30 05:16:04 +0200 | shatriff | (~vitaliish@176.52.219.10) |
2020-09-30 05:16:33 +0200 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-09-30 05:19:12 +0200 | amosbird | (~amosbird@23.98.37.89) |
2020-09-30 05:21:57 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2020-09-30 05:26:27 +0200 | liff | (liff@kapsi.fi) |
2020-09-30 05:27:38 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 05:28:11 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-09-30 05:28:28 +0200 | ent | (entgod@kapsi.fi) |
2020-09-30 05:29:24 +0200 | vivekramaswamy | (~vivekrama@49.207.196.1) (Quit: Sayonara. Long live Haskell) |
2020-09-30 05:29:28 +0200 | hackage | text-conversions 0.3.1 - Safe conversions between textual types https://hackage.haskell.org/package/text-conversions-0.3.1 (lexi_lambda) |
2020-09-30 05:29:50 +0200 | Lycurgus | (~niemand@98.4.96.130) (Quit: Exeunt) |
2020-09-30 05:30:44 +0200 | Tspoon | (tlarjoma@hilla.kapsi.fi) |
2020-09-30 05:32:45 +0200 | Logio | (em@kapsi.fi) |
2020-09-30 05:32:45 +0200 | adam_wespiser | (~adam_wesp@209.6.42.110) |
2020-09-30 05:33:35 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 05:34:28 +0200 | ddellacosta | (~dd@86.106.121.168) (Ping timeout: 260 seconds) |
2020-09-30 05:35:20 +0200 | Klumben | (Nsaiswatch@gateway/shell/panicbnc/x-qfyvvmfvccqnqxdf) |
2020-09-30 05:35:45 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 05:35:51 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 05:38:52 +0200 | machinedgod | (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 258 seconds) |
2020-09-30 05:39:18 +0200 | reallymemorable | (~quassel@ip68-9-215-56.ri.ri.cox.net) (Remote host closed the connection) |
2020-09-30 05:41:28 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 05:41:29 +0200 | finkata | (~dpetrov@83.222.188.39) |
2020-09-30 05:45:19 +0200 | <sim590> | How can I download a package with cabal globally, build it globally and then build my project that uses the same library without building it again? |
2020-09-30 05:45:45 +0200 | <sim590> | and I mean all of that before switching to the directory containing my project. |
2020-09-30 05:47:15 +0200 | <sim590> | I don't want to download and build the library more than once. |
2020-09-30 05:47:44 +0200 | Guest_91 | (48855e8f@cpe-72-133-94-143.sw.res.rr.com) |
2020-09-30 05:48:38 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:4d11:5c80:3101:9ff9) (Ping timeout: 244 seconds) |
2020-09-30 05:48:42 +0200 | <Axman6> | I think that happens with the new style builds, identical builds should be shared between projects AFAIUI |
2020-09-30 05:48:59 +0200 | darjeeling_ | (~darjeelin@112.16.171.8) (Ping timeout: 260 seconds) |
2020-09-30 05:50:14 +0200 | <Guest_91> | Hello after you install Haskell on OS X how do you start running it |
2020-09-30 05:50:29 +0200 | <Axman6> | what do you want to start? ghci? |
2020-09-30 05:50:35 +0200 | <sim590> | OK. I'm building a docker image. I'm trying this: https://paste.debian.net/1165214/. It's essentially copying my cabal file and building the project libraries there. |
2020-09-30 05:50:37 +0200 | toorevitimirp | (~tooreviti@117.182.182.201) (Ping timeout: 244 seconds) |
2020-09-30 05:50:43 +0200 | <Axman6> | most of what is installed is a compiler |
2020-09-30 05:51:28 +0200 | <sim590> | Shouldn't this make it so that if I run a build of the same project inside the resuting image, I should be able to build my project without downloading/building all of the dependencies? |
2020-09-30 05:51:42 +0200 | iqubic | (~user@2601:602:9500:4870:d13c:5aea:b558:d2ed) |
2020-09-30 05:52:19 +0200 | <Guest_91> | yes ghci |
2020-09-30 05:52:28 +0200 | <Axman6> | run ghci in the termina; |
2020-09-30 05:52:31 +0200 | <Axman6> | l* |
2020-09-30 05:53:05 +0200 | <Guest_91> | I tried that and it gives command not found |
2020-09-30 05:53:29 +0200 | <Axman6> | open a new terminal and try again, your PATH won't be updated in an already open terminal |
2020-09-30 05:53:40 +0200 | <Axman6> | how did you install things? |
2020-09-30 05:55:14 +0200 | <sim590> | Shouldn't this: https://i.imgur.com/GtUn39G.png work? One of my dependencies is Colog. |
2020-09-30 05:55:52 +0200 | <Guest_91> | thanks! it was the opening of new term window |
2020-09-30 05:56:06 +0200 | <Axman6> | have you loaded the Colog module? :m +Colog.Monad |
2020-09-30 05:56:43 +0200 | <Axman6> | :l(oad) is for local modules, :m(odule) loads modules visible to GHC |
2020-09-30 05:57:05 +0200 | <Axman6> | (that's a really poor explanantion, but basically any library would be loaded with :m) |
2020-09-30 05:57:26 +0200 | kreative | (~kreative@185.163.110.116) |
2020-09-30 05:58:35 +0200 | inerkick | (~rohit@117.230.9.17) (Quit: Leaving) |
2020-09-30 06:00:01 +0200 | Guest_91 | (48855e8f@cpe-72-133-94-143.sw.res.rr.com) (Quit: Ping timeout (120 seconds)) |
2020-09-30 06:00:28 +0200 | <sim590> | it doesn't work: https://i.imgur.com/BkeFbYY.png |
2020-09-30 06:00:38 +0200 | <sim590> | Normally, it would say to load the package first or something, no? |
2020-09-30 06:00:42 +0200 | <sim590> | Anyway, it doesn't load. |
2020-09-30 06:01:24 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:c862:81df:d6b3:8407) |
2020-09-30 06:02:07 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2020-09-30 06:02:13 +0200 | day_ | (~Unknown@unaffiliated/day) |
2020-09-30 06:02:43 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-09-30 06:05:05 +0200 | day | (~Unknown@unaffiliated/day) (Ping timeout: 240 seconds) |
2020-09-30 06:05:05 +0200 | day_ | day |
2020-09-30 06:05:10 +0200 | <sim590> | That's the output when I'm building the docker image: https://i.imgur.com/74FKwjQ.png |
2020-09-30 06:05:50 +0200 | <Axman6> | without knowing more about what you've done there's no way to know how to help. |
2020-09-30 06:06:08 +0200 | <sim590> | What I did is in the docker image. |
2020-09-30 06:07:42 +0200 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds) |
2020-09-30 06:09:05 +0200 | <sim590> | I've published my latest attempt at docker.io/sim590/hart |
2020-09-30 06:09:51 +0200 | <Axman6> | "Ahoy, it looks like you are in uncharted waters" |
2020-09-30 06:10:33 +0200 | <sim590> | Yeah the URL is https://hub.docker.com/repository/docker/sim590/hart, but the image is named sim590/hart. Tag can be :latest, so sim590/hart:latest. |
2020-09-30 06:11:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-09-30 06:11:15 +0200 | <sim590> | You could inspect it with `docker run -it sim590/hart:latest bash` if you could then tell me what's wrong. |
2020-09-30 06:11:25 +0200 | beka | (~beka@gothdyke.mom) (Ping timeout: 240 seconds) |
2020-09-30 06:12:25 +0200 | mmaruseacph2 | (~mihai@198.199.100.72) (Ping timeout: 240 seconds) |
2020-09-30 06:12:37 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 06:12:40 +0200 | mmaruseacph2 | (~mihai@198.199.100.72) |
2020-09-30 06:12:42 +0200 | <sim590> | I do have 891M of stuff inside /root/.cabal. |
2020-09-30 06:13:18 +0200 | <Axman6> | I'm not going to run untrusted docer images on my machine, sorry. what does running a shell in it and running ghc-pkg list show? |
2020-09-30 06:14:34 +0200 | beka | (~beka@gothdyke.mom) |
2020-09-30 06:15:09 +0200 | <sim590> | When looking inside ~/.cabal for co-log with docker run -it sim590/hart:latest find /root/.cabal -name \*co-log\*, I get this: https://paste.debian.net/1165215/ |
2020-09-30 06:15:52 +0200 | <sim590> | ghc-pkg list shows: https://paste.debian.net/1165216/. |
2020-09-30 06:15:55 +0200 | <Axman6> | and if you run ghci -package co-log? |
2020-09-30 06:17:18 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2020-09-30 06:17:25 +0200 | <Axman6> | and what happens if instead of using ghci directly, you use cabal new-repl? |
2020-09-30 06:17:44 +0200 | <Axman6> | (I think that's a thing, I haven't used cabal directly for a long time) |
2020-09-30 06:18:02 +0200 | <sim590> | ghci -package co-log: https://paste.debian.net/1165217/ |
2020-09-30 06:18:06 +0200 | dolio | (~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.1 - https://znc.in) |
2020-09-30 06:19:16 +0200 | <sim590> | So the last command I did, I did move from /opt/hart to do this because I wanted to move from it to see if package was globally there. |
2020-09-30 06:20:12 +0200 | <sim590> | now after doing `cabal new-repl̀ from inside the /opt/hart directory, it's building stuff like https://paste.debian.net/1165218/ |
2020-09-30 06:20:28 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2020-09-30 06:20:44 +0200 | <sim590> | But I thought it would have built already. |
2020-09-30 06:21:31 +0200 | <sim590> | But it won't be able to build `hart` since the code is not inside the image. |
2020-09-30 06:21:43 +0200 | <Axman6> | how are docker so bad a things. can;t even get the docker hub page to load again |
2020-09-30 06:21:44 +0200 | <sim590> | I just pushed my cabal file. |
2020-09-30 06:22:03 +0200 | <sim590> | The URL I gave you? |
2020-09-30 06:22:16 +0200 | <Axman6> | can you paste your docker file in dpaste? I can't load docker hub any more |
2020-09-30 06:22:35 +0200 | Jonno_FTW | (~come@api.carswap.me) (Ping timeout: 260 seconds) |
2020-09-30 06:23:18 +0200 | Jonno_FTW | (~come@api.carswap.me) |
2020-09-30 06:23:30 +0200 | <sim590> | ␒The docker file is:https://paste.debian.net/1165214/ |
2020-09-30 06:23:47 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds) |
2020-09-30 06:24:15 +0200 | dolio | (~dolio@haskell/developer/dolio) |
2020-09-30 06:25:10 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 06:28:24 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:4af:ac65:fda8:8e33) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 06:28:47 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 246 seconds) |
2020-09-30 06:29:27 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-09-30 06:30:08 +0200 | <sim590> | OK. I just tried to do a new-install --only-dependencies after doing a new-build --only-dependencies and I think that it is wokring. Not sure, but I can now load the package inside ghci with -package co-log |
2020-09-30 06:30:10 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 06:30:50 +0200 | <sim590> | I did new-install --lib --only-dependencies -j4 actually |
2020-09-30 06:32:35 +0200 | bobajett | (~user@2001:470:0:301::1e) |
2020-09-30 06:32:36 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) |
2020-09-30 06:32:44 +0200 | <sim590> | I'm trying to rebuild the image now https://paste.debian.net/1165220/ and see if it fixes it. |
2020-09-30 06:34:16 +0200 | <bobajett> | how can I write the function p where p [0,0,1,2,0,0,3,0] == [[1,2], [3]] ? (Noobie question) |
2020-09-30 06:34:45 +0200 | <glguy> | > let f [0,0,1,2,0,0,3,0] = [[1,2], [3]] in f [0,0,1,2,0,0,3,0] |
2020-09-30 06:34:48 +0200 | <lambdabot> | [[1,2],[3]] |
2020-09-30 06:34:57 +0200 | hackage | homura-stopwatch 0.2.0 - https://hackage.haskell.org/package/homura-stopwatch-0.2.0 (ncaq) |
2020-09-30 06:34:59 +0200 | <bobajett> | :-) |
2020-09-30 06:35:03 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 265 seconds) |
2020-09-30 06:35:10 +0200 | <Axman6> | nailed it |
2020-09-30 06:35:14 +0200 | <Axman6> | NEXT! |
2020-09-30 06:35:59 +0200 | <sim590> | bobajett: It seems like you want subwords that don't contain a 0. |
2020-09-30 06:36:07 +0200 | adam_wespiser | (~adam_wesp@209.6.42.110) (Ping timeout: 240 seconds) |
2020-09-30 06:36:57 +0200 | <bobajett> | yes please, I've been trying to use span and dropWhile and I just can't come up with some recursive function to solve it. |
2020-09-30 06:37:05 +0200 | Turmfalke | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2020-09-30 06:37:33 +0200 | <Axman6> | :t groupBy |
2020-09-30 06:37:35 +0200 | <lambdabot> | (a -> a -> Bool) -> [a] -> [[a]] |
2020-09-30 06:37:44 +0200 | <MarcelineVQ> | span is a pretty good choice tho |
2020-09-30 06:37:57 +0200 | falafel_ | (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) (Remote host closed the connection) |
2020-09-30 06:38:02 +0200 | <Axman6> | might be useful - but there are also likely to be simpler solutions |
2020-09-30 06:38:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 06:43:07 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2020-09-30 06:43:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-09-30 06:44:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 06:44:50 +0200 | <MarcelineVQ> | looking at the definition of span could be instructive, there's a really neat trick that recursion allows you to do that it uses |
2020-09-30 06:47:06 +0200 | <MarcelineVQ> | Which is that we can use the result of our own function in its definition, see how span is used in span? |
2020-09-30 06:47:09 +0200 | <MarcelineVQ> | @src span |
2020-09-30 06:47:09 +0200 | <lambdabot> | span _ xs@[] = (xs, xs) |
2020-09-30 06:47:09 +0200 | <lambdabot> | span p xs@(x:xs') | p x = let (ys,zs) = span p xs' in (x:ys,zs) |
2020-09-30 06:47:09 +0200 | <lambdabot> | | otherwise = ([],xs) |
2020-09-30 06:48:53 +0200 | alp | (~alp@2a01:e0a:58b:4920:b51a:42ee:4512:fdae) |
2020-09-30 06:49:08 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-09-30 06:49:47 +0200 | jrqc | (~rofl@96.78.87.197) (Ping timeout: 240 seconds) |
2020-09-30 06:54:21 +0200 | mmohammadi9812 | (~mmohammad@5.238.179.190) |
2020-09-30 06:55:25 +0200 | jrqc | (~rofl@96.78.87.197) |
2020-09-30 06:57:03 +0200 | <sim590> | > filter (all (/=0)) $ groupBy (\ a b -> a*b /= 0) [0,0,1,2,0,0,3,0] |
2020-09-30 06:57:06 +0200 | <lambdabot> | [[1,2],[3]] |
2020-09-30 06:57:58 +0200 | p0a | (~user@unaffiliated/p0a) |
2020-09-30 06:58:10 +0200 | <p0a> | Hello I was just reading the release notes for GHC 9.0.1 |
2020-09-30 06:58:28 +0200 | aarvar | (~foewfoiew@50.35.43.33) (Ping timeout: 272 seconds) |
2020-09-30 06:58:41 +0200 | <p0a> | I noticed that the LinearTypes extension is now included. I read a bit about it and I think I sort of get the basic idea behind it |
2020-09-30 06:59:22 +0200 | <p0a> | there's something in the motivation (on github/ghc-proposals) I don't understand: they mention that the type system itself can not discriminate between open-close and close-open file operations |
2020-09-30 06:59:22 +0200 | machinedgod | (~machinedg@d67-193-126-196.home3.cgocable.net) |
2020-09-30 06:59:31 +0200 | day_ | (~Unknown@unaffiliated/day) |
2020-09-30 06:59:37 +0200 | zacts | (~zacts@dragora/developer/zacts) |
2020-09-30 06:59:39 +0200 | <p0a> | i.e. you can open a file and then close it, but you shouldn't be able to close a file and then operate on it |
2020-09-30 06:59:59 +0200 | <p0a> | I don't understand how LinearTypes solves this problem. Can someone explain? Thanky ou |
2020-09-30 07:00:13 +0200 | <c_wraith> | It doesn't. |
2020-09-30 07:00:25 +0200 | <p0a> | okay. :) |
2020-09-30 07:00:34 +0200 | <c_wraith> | uniqueness types would, but linearity is insufficient. |
2020-09-30 07:01:10 +0200 | <p0a> | https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0111-linear-types.rst#motivat… reads weird then |
2020-09-30 07:01:17 +0200 | <dolio> | I don't think uniqueness types would solve that case. |
2020-09-30 07:01:41 +0200 | <c_wraith> | *maybe* you could do an entire CPS-transformed IO system such that linearity would matter, but... ugh. |
2020-09-30 07:02:20 +0200 | <c_wraith> | I really don't want to do IO with explicit continuations. |
2020-09-30 07:02:46 +0200 | <dolio> | Anyhow, the way you'd solve it with linearity is something like: change all file operations to operate on linear handles, and return a new handle as a result if appropriate. Closing consumes a handle but doesn't give you a new one. |
2020-09-30 07:02:49 +0200 | day | (~Unknown@unaffiliated/day) (Ping timeout: 258 seconds) |
2020-09-30 07:02:49 +0200 | day_ | day |
2020-09-30 07:02:55 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 240 seconds) |
2020-09-30 07:03:02 +0200 | <c_wraith> | and I'm not feeling charitable towards using OverloadedSyntax to make do notation work around CPS |
2020-09-30 07:03:23 +0200 | <p0a> | dolio: I don't see how linearity is involved in this scheme |
2020-09-30 07:03:38 +0200 | <c_wraith> | dolio: linear haskell only adds linear functions, not values. |
2020-09-30 07:03:57 +0200 | <davean> | The whole LinearTypes GHC proposal baffles me |
2020-09-30 07:04:15 +0200 | <p0a> | we've been had |
2020-09-30 07:04:26 +0200 | <dolio> | The handle arguments are linear. |
2020-09-30 07:04:47 +0200 | jedws | (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 07:05:25 +0200 | <dolio> | p0a: You are only allowed to use any handle once (and must use it once). Each operation consumes a handle and produces a new handle as a result, except close which just consumes the handle. |
2020-09-30 07:06:01 +0200 | <c_wraith> | dolio: but how is that enforced? Are you assuming a world where (>>=) has linear annotations? |
2020-09-30 07:06:04 +0200 | <p0a> | dolio: so the part where linearity kicks in is ensuring that the interface does not allow you to mix and match the operations in such a way that you operate in a closed handle |
2020-09-30 07:06:13 +0200 | Jonno_FTW | (~come@api.carswap.me) (Ping timeout: 264 seconds) |
2020-09-30 07:06:21 +0200 | <p0a> | dolio: because it'd require you to operate twice in the same handle |
2020-09-30 07:06:25 +0200 | darjeeling_ | (~darjeelin@112.16.171.8) |
2020-09-30 07:06:37 +0200 | <dolio> | c_wraith: Yeah. They have some kind of linear monad notion, too. |
2020-09-30 07:06:44 +0200 | Jonno_FTW | (~come@api.carswap.me) |
2020-09-30 07:06:46 +0200 | <dolio> | I'm not really familiar with the details. |
2020-09-30 07:07:03 +0200 | <c_wraith> | I really don't think that works, in the end... |
2020-09-30 07:07:16 +0200 | <c_wraith> | If for no other reason, it destroys the ability to abstract over monads. |
2020-09-30 07:07:19 +0200 | <dolio> | p0a: Right. |
2020-09-30 07:07:34 +0200 | <c_wraith> | Because you want IO to be linear, but [] can't be linear... |
2020-09-30 07:08:06 +0200 | <dolio> | Linear monads are a separate type class. And IO isn't linear, I think, but there's a LIO maybe. Like I said, I don't know the details. |
2020-09-30 07:08:23 +0200 | <dolio> | They use some kind of do overloading for linear monads. |
2020-09-30 07:08:23 +0200 | <c_wraith> | I just don't see it actually improving anything. |
2020-09-30 07:08:47 +0200 | <dolio> | Well, I'm not saying it'll be good. I'm just saying what it would be. :) |
2020-09-30 07:08:50 +0200 | <p0a> | It sounds good to me c_wraith |
2020-09-30 07:09:33 +0200 | <dolio> | How good it is remains to be seen. |
2020-09-30 07:09:45 +0200 | <p0a> | I wonder what happens with concurrency and that idea though |
2020-09-30 07:10:20 +0200 | puffnfresh | (~puffnfres@180-150-38-83.b49626.bne.nbn.aussiebb.net) (Quit: authenticating) |
2020-09-30 07:10:36 +0200 | puffnfresh | (~puffnfres@180-150-38-83.b49626.bne.nbn.aussiebb.net) |
2020-09-30 07:11:04 +0200 | <p0a> | Maybe that is not an issue. I actually have not written any concurrent programs so I wouldn't know |
2020-09-30 07:11:54 +0200 | <sim590> | Axman6: it's great. It works now with my build + install instruction. |
2020-09-30 07:14:12 +0200 | <Axman6> | great |
2020-09-30 07:14:25 +0200 | <MarcelineVQ> | p0a: fwiw linear arrows restrict how you use arguments not results. foo :: a -* (a, b) says that if `foo` is used I promise to use the argument `a` exactly once, it does not say anyting at all about what we're allowed to do with the (a,b) |
2020-09-30 07:14:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 07:15:03 +0200 | <MarcelineVQ> | To that end boop : a -* (a,Int); boop x = (x,0) is entirely valid, and what dolio is probably referring to when he says return a new handle |
2020-09-30 07:15:16 +0200 | falafel | (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
2020-09-30 07:16:56 +0200 | <p0a> | MarcelineVQ: I don't think returning a new handle is important (it could be the same handle, we wouldn't know anyway), other than to have something to continue operating on |
2020-09-30 07:17:07 +0200 | <p0a> | I.e. I don't know if being 'new' is important. Could be the same |
2020-09-30 07:17:42 +0200 | jedws | (~jedws@121.209.139.222) |
2020-09-30 07:17:43 +0200 | <p0a> | a simple interface would be f :: Int %1 -> Int and g :: Int -> Bool where f x = x + 1 and g x = x == 0. |
2020-09-30 07:17:55 +0200 | <p0a> | (Sorry, I should've written g :: Int %1 -> Bool) |
2020-09-30 07:18:00 +0200 | hive-mind | (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) (Ping timeout: 256 seconds) |
2020-09-30 07:18:44 +0200 | <p0a> | so you can't do \x -> (f x, g x) |
2020-09-30 07:19:17 +0200 | <dolio> | The important part is how the API forces the user to work, not the implementation of the API. |
2020-09-30 07:19:39 +0200 | <p0a> | That's true I just wrote the implementation of f and g as an example. The types were what mattered |
2020-09-30 07:19:59 +0200 | <p0a> | f would be 'operate on file' and g would be 'close the file' |
2020-09-30 07:20:00 +0200 | xxasiaj | (bcc0ac95@ipbcc0ac95.dynamic.kabel-deutschland.de) |
2020-09-30 07:20:10 +0200 | <dolio> | If the result of a linear function arrow is unrestricted, I'm not exactly sure how it'd be accomplished. I guess CPS. |
2020-09-30 07:20:36 +0200 | cow-orker | (~foobar@pogostick.net) (Ping timeout: 244 seconds) |
2020-09-30 07:20:48 +0200 | Quarl | (~Quarl@94.191.138.174.mobile.tre.se) |
2020-09-30 07:21:16 +0200 | <xxasiaj> | hi , does anyone knows how to setup haskell in arch ? and also GHCi |
2020-09-30 07:21:41 +0200 | <MarcelineVQ> | xxasiaj: ghcup is the method I'd reccomend |
2020-09-30 07:21:43 +0200 | <koz_> | xxasiaj: I would suggest using ghcup. |
2020-09-30 07:21:46 +0200 | <koz_> | MarcelineVQ: Jinx? |
2020-09-30 07:21:53 +0200 | <yushyin> | ghcup it is! |
2020-09-30 07:22:08 +0200 | <MarcelineVQ> | You can get it from the AUR |
2020-09-30 07:22:20 +0200 | <xxasiaj> | thanks |
2020-09-30 07:22:41 +0200 | <xxasiaj> | from AUR i could only get GHC not GHCi |
2020-09-30 07:22:51 +0200 | <Axman6> | ghci is ghc |
2020-09-30 07:22:54 +0200 | <MarcelineVQ> | ghci comes with ghc which ghcup will get you :> |
2020-09-30 07:23:09 +0200 | <MarcelineVQ> | Yes, technically it's just a wrapper for ghc --interactive |
2020-09-30 07:23:43 +0200 | <xxasiaj> | oh that's great then . thanks |
2020-09-30 07:24:10 +0200 | jgt | (~jgt@195.225.146.77) |
2020-09-30 07:24:15 +0200 | <MarcelineVQ> | I'd also remove any haskell things you have installed from pacman already before you use ghcup |
2020-09-30 07:24:43 +0200 | <xxasiaj> | how to do that |
2020-09-30 07:25:04 +0200 | <xxasiaj> | i think i also installed stack |
2020-09-30 07:25:15 +0200 | <Axman6> | did Arch unbreak all the Haskell stuff they broke a few years ago? It went from being one of the OSs of choice to being seemingly unusable overnight |
2020-09-30 07:25:30 +0200 | <yushyin> | xxasiaj: pacman -Rsuc ghc ghc-lib stack # is my guess |
2020-09-30 07:25:58 +0200 | <p0a> | Axman6: isn't the issue with dynamic linking being enforced? |
2020-09-30 07:26:33 +0200 | <Axman6> | I don't remember the details but that sounds samilliar |
2020-09-30 07:26:39 +0200 | <Axman6> | familiar* |
2020-09-30 07:27:10 +0200 | <MarcelineVQ> | I'm not actually sure! I'd check pacman -Qs haskell first and see what pops up |
2020-09-30 07:27:41 +0200 | cow-orker | (~foobar@pogostick.net) |
2020-09-30 07:27:50 +0200 | <yushyin> | Axman6: p0a: yes, dynamic linking is still the default for arch's haskell packages, but at least it does provide a ghc-static if wanted |
2020-09-30 07:29:22 +0200 | <xxasiaj> | MarcelineVQ : this is what appeared : pacman -Qs haskelllocal/ghc-libs 8.10.2-1 The Glasgow Haskell Compiler - Dynamic Librarieslocal/haskell-async 2.2.2-23 Run IO operations asynchronously and wait for their resultslocal/haskell-base16-bytestring 0.1.1.7-3 Fast base16 (hex) encoding and decoding for |
2020-09-30 07:29:22 +0200 | <xxasiaj> | ByteStringslocal/haskell-base64-bytestring 1.2.0.0-6 Fast base64 encoding and decoding for ByteStringslocal/haskell-cryptohash-sha256 0.11.101.0-17 Fast, pure and practical SHA-256 implementation.... |
2020-09-30 07:30:36 +0200 | <p0a> | Axman6: It seems that the issues are fixed |
2020-09-30 07:31:04 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 07:31:51 +0200 | <yushyin> | xxasiaj: if you really want to remove it just do pacman -Rsuc ghc-libs but you can just use ghcup anyways |
2020-09-30 07:31:53 +0200 | <p0a> | Axman6: the experience will be different from other distros, but you are not left in a state where you don't know what to do, or can't do what you want; the wiki has details |
2020-09-30 07:34:05 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-09-30 07:34:23 +0200 | <Axman6> | The Arch wiki always has details, it's the best thing about Arch :) |
2020-09-30 07:36:13 +0200 | nineonin_ | (~nineonine@50.216.62.2) |
2020-09-30 07:36:55 +0200 | sagax | (~sagax_nb@213.138.71.146) (Quit: Konversation terminated!) |
2020-09-30 07:38:53 +0200 | nineonine | (~nineonine@216-19-190-182.dyn.novuscom.net) (Ping timeout: 272 seconds) |
2020-09-30 07:38:58 +0200 | tanuki | (~quassel@173.168.154.189) (Ping timeout: 256 seconds) |
2020-09-30 07:40:43 +0200 | finkata | (~dpetrov@83.222.188.39) (Read error: Connection reset by peer) |
2020-09-30 07:41:05 +0200 | p0a | (~user@unaffiliated/p0a) (Quit: thank you for the answers) |
2020-09-30 07:46:55 +0200 | random | (~random@185.219.70.106) |
2020-09-30 07:47:45 +0200 | alp | (~alp@2a01:e0a:58b:4920:b51a:42ee:4512:fdae) (Ping timeout: 272 seconds) |
2020-09-30 07:49:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-09-30 07:50:41 +0200 | iqubic | (~user@2601:602:9500:4870:d13c:5aea:b558:d2ed) ("ERC (IRC client for Emacs 28.0.50)") |
2020-09-30 07:50:58 +0200 | iqubic` | (~user@2601:602:9500:4870:cdaf:7435:4c77:278a) |
2020-09-30 07:51:26 +0200 | jb55 | (~jb55@gateway/tor-sasl/jb55) |
2020-09-30 07:51:31 +0200 | iqubic` | (~user@2601:602:9500:4870:cdaf:7435:4c77:278a) (Client Quit) |
2020-09-30 07:54:36 +0200 | Sanchayan | (~Sanchayan@223.226.111.203) |
2020-09-30 07:58:28 +0200 | hackage | flink-statefulfun 0.3.0.0 - Flink stateful functions SDK https://hackage.haskell.org/package/flink-statefulfun-0.3.0.0 (tdbgamer) |
2020-09-30 07:59:22 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 256 seconds) |
2020-09-30 08:00:01 +0200 | kreative | (~kreative@185.163.110.116) () |
2020-09-30 08:00:12 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 08:00:35 +0200 | nshepperd | (~nshepperd@pool-96-239-61-124.nycmny.fios.verizon.net) (Ping timeout: 240 seconds) |
2020-09-30 08:03:21 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 08:04:24 +0200 | jwynn6 | (~jwynn6@050-088-122-078.res.spectrum.com) |
2020-09-30 08:04:31 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds) |
2020-09-30 08:04:35 +0200 | cow-orker | (~foobar@pogostick.net) (Ping timeout: 240 seconds) |
2020-09-30 08:04:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-09-30 08:05:15 +0200 | p0a | (~user@unaffiliated/p0a) |
2020-09-30 08:05:19 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 08:05:48 +0200 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2020-09-30 08:07:59 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 258 seconds) |
2020-09-30 08:10:47 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:1975:ad5b:4777:bf80) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 08:11:40 +0200 | cow-orker | (~foobar@pogostick.net) |
2020-09-30 08:15:25 +0200 | alp | (~alp@2a01:e0a:58b:4920:8cb0:eda6:3ba1:bbe3) |
2020-09-30 08:18:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 08:19:25 +0200 | johs | (sid246410@gateway/web/irccloud.com/x-fxzggmlrvgjkxynk) (Ping timeout: 240 seconds) |
2020-09-30 08:19:33 +0200 | mudri | (sid317655@gateway/web/irccloud.com/x-fieggmdqfmzcrqpn) (Ping timeout: 260 seconds) |
2020-09-30 08:19:45 +0200 | entel | (uid256215@botters/entel) (Ping timeout: 260 seconds) |
2020-09-30 08:20:05 +0200 | sfvm | (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine) |
2020-09-30 08:20:06 +0200 | scav | (sid309693@gateway/web/irccloud.com/x-aajvlddkzxpzyrkk) (Read error: Connection reset by peer) |
2020-09-30 08:20:07 +0200 | rodlogic__ | (sid214676@gateway/web/irccloud.com/x-amlajdzmxjyobgrq) (Read error: Connection reset by peer) |
2020-09-30 08:20:07 +0200 | mcfilib | (sid302703@gateway/web/irccloud.com/x-rynmppnojynjznyn) (Read error: Connection reset by peer) |
2020-09-30 08:20:09 +0200 | elvishjerricco | (sid237756@NixOS/user/ElvishJerricco) (Read error: Connection reset by peer) |
2020-09-30 08:20:09 +0200 | eacameron | (sid256985@gateway/web/irccloud.com/x-gpifboixmoeemfmh) (Read error: Connection reset by peer) |
2020-09-30 08:20:17 +0200 | mudri | (sid317655@gateway/web/irccloud.com/x-wgciiciclurklmio) |
2020-09-30 08:20:26 +0200 | scav | (sid309693@gateway/web/irccloud.com/x-wzdeycixeytkuxbp) |
2020-09-30 08:20:26 +0200 | eacameron | (sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) |
2020-09-30 08:20:26 +0200 | mcfilib | (sid302703@gateway/web/irccloud.com/x-jxboonrzncouqkfs) |
2020-09-30 08:20:27 +0200 | johs | (sid246410@gateway/web/irccloud.com/x-mkeicffdlyarxtfa) |
2020-09-30 08:20:30 +0200 | elvishjerricco | (sid237756@NixOS/user/ElvishJerricco) |
2020-09-30 08:20:30 +0200 | rodlogic__ | (sid214676@gateway/web/irccloud.com/x-nihpzxtqkbdvurne) |
2020-09-30 08:20:34 +0200 | entel | (uid256215@botters/entel) |
2020-09-30 08:20:44 +0200 | p0a | (~user@unaffiliated/p0a) (Quit: bye) |
2020-09-30 08:23:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-09-30 08:24:34 +0200 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2020-09-30 08:24:48 +0200 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2020-09-30 08:25:25 +0200 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2020-09-30 08:30:01 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-09-30 08:35:05 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 08:36:31 +0200 | Rudd0 | (~Rudd0@185.189.115.98) (Remote host closed the connection) |
2020-09-30 08:38:35 +0200 | Sanchayan | (~Sanchayan@223.226.111.203) (Quit: leaving) |
2020-09-30 08:40:04 +0200 | xxasiaj | (bcc0ac95@ipbcc0ac95.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
2020-09-30 08:40:20 +0200 | lucid_0x80 | (~lucid_0x8@188.253.231.113) |
2020-09-30 08:40:21 +0200 | giaco | (~jack@2-238-151-49.ip244.fastwebnet.it) (Remote host closed the connection) |
2020-09-30 08:40:55 +0200 | otulp | (~otulp@ti0187q162-5025.bb.online.no) |
2020-09-30 08:41:04 +0200 | giaco | (~jack@2-238-151-49.ip244.fastwebnet.it) |
2020-09-30 08:45:05 +0200 | tbreslein | (~tbreslein@2a02:8108:140:44f8::901) |
2020-09-30 08:46:40 +0200 | sagax | (~sagax_nb@213.138.71.146) |
2020-09-30 08:49:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 08:50:04 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-09-30 08:50:28 +0200 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-09-30 08:54:21 +0200 | sammuel86 | (~sammuel86@185.244.214.216) |
2020-09-30 08:57:21 +0200 | bobajett | (~user@2001:470:0:301::1e) (Remote host closed the connection) |
2020-09-30 08:57:31 +0200 | <sim590> | How can I create a wrapper around integers that can be instanciated just with an Integer (without needing to write teh constructor). Like Integer and Int can both instanciate with the same digit glyphs. |
2020-09-30 09:00:03 +0200 | bitmagie | (~Thunderbi@200116b806af98000151301dfab240c8.dip.versatel-1u1.de) |
2020-09-30 09:03:26 +0200 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2020-09-30 09:03:38 +0200 | <opqdonut> | :t 3 |
2020-09-30 09:03:40 +0200 | <lambdabot> | Num p => p |
2020-09-30 09:03:40 +0200 | <Axman6> | make an instance of Num |
2020-09-30 09:03:48 +0200 | <sim590> | Oh that's all :o |
2020-09-30 09:03:53 +0200 | <opqdonut> | especially the fromInteger method |
2020-09-30 09:04:09 +0200 | <Axman6> | "3" means "fromIntegral (3 :: Integer)" |
2020-09-30 09:04:10 +0200 | danvet_ | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2020-09-30 09:05:22 +0200 | xff0x | (~fox@2001:1a81:53e7:fb00:e98b:1e53:4e8a:cb9b) (Ping timeout: 260 seconds) |
2020-09-30 09:05:27 +0200 | <sim590> | d:t fromIntegral |
2020-09-30 09:05:32 +0200 | <sim590> | :t fromIntegral |
2020-09-30 09:05:34 +0200 | <lambdabot> | (Integral a, Num b) => a -> b |
2020-09-30 09:05:54 +0200 | <kritzefitz> | Isn't it fromInteger? |
2020-09-30 09:06:02 +0200 | <Axman6> | probably |
2020-09-30 09:06:07 +0200 | falafel | (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 240 seconds) |
2020-09-30 09:07:03 +0200 | xff0x | (~fox@2001:1a81:53e7:fb00:e98b:1e53:4e8a:cb9b) |
2020-09-30 09:10:20 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-jdjhyordzkibihwa) (Quit: Connection closed for inactivity) |
2020-09-30 09:11:21 +0200 | alp | (~alp@2a01:e0a:58b:4920:8cb0:eda6:3ba1:bbe3) (Ping timeout: 272 seconds) |
2020-09-30 09:11:45 +0200 | bitmagie | (~Thunderbi@200116b806af98000151301dfab240c8.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-09-30 09:14:54 +0200 | rslima_____ | (sid26145@gateway/web/irccloud.com/x-vbogpauczgzfxuev) |
2020-09-30 09:15:03 +0200 | pierrot_ | (~pi@vmi95795.contabo.host) |
2020-09-30 09:15:15 +0200 | pierrot | (~pi@unaffiliated/pierrot) (Quit: Let us not forget that the perfect is also the enemy of the bad and the ugly.) |
2020-09-30 09:15:15 +0200 | pdxleif | (~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com) (Quit: ZNC - http://znc.in) |
2020-09-30 09:15:16 +0200 | rslima____ | (sid26145@gateway/web/irccloud.com/x-nijwoaxwcetixacu) (Read error: Connection reset by peer) |
2020-09-30 09:15:16 +0200 | kkd | (~memxor@unaffiliated/kartikeya) (Quit: bye!) |
2020-09-30 09:15:25 +0200 | memxor | (~memxor@2400:8902::f03c:92ff:feac:6d1) |
2020-09-30 09:15:25 +0200 | memxor | (~memxor@2400:8902::f03c:92ff:feac:6d1) (Changing host) |
2020-09-30 09:15:25 +0200 | memxor | (~memxor@unaffiliated/kartikeya) |
2020-09-30 09:15:32 +0200 | thonkpod | (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (Ping timeout: 260 seconds) |
2020-09-30 09:15:34 +0200 | bob_twinkles | (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2020-09-30 09:15:40 +0200 | CitizenSnips | (~CitizenSn@irc.refl.club) (Quit: ZNC 1.8.1 - https://znc.in) |
2020-09-30 09:16:02 +0200 | CitizenSnips | (~CitizenSn@irc.refl.club) |
2020-09-30 09:16:09 +0200 | sveit | (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Ping timeout: 244 seconds) |
2020-09-30 09:16:13 +0200 | mmohammadi9812 | (~mmohammad@5.238.179.190) (Ping timeout: 258 seconds) |
2020-09-30 09:16:50 +0200 | borne | (~fritjof@200116b864837e00537d5cc8226f9d9f.dip.versatel-1u1.de) |
2020-09-30 09:17:10 +0200 | phaul | (~phaul@ruby/staff/phaul) (Ping timeout: 272 seconds) |
2020-09-30 09:17:11 +0200 | pdxleif | (~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com) |
2020-09-30 09:17:25 +0200 | shatriff | (~vitaliish@176.52.219.10) |
2020-09-30 09:17:27 +0200 | ptrcmd | (~ptrcmd@unaffiliated/petercommand) (Ping timeout: 265 seconds) |
2020-09-30 09:17:39 +0200 | thonkpod | (~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) |
2020-09-30 09:17:44 +0200 | ptrcmd | (~ptrcmd@unaffiliated/petercommand) |
2020-09-30 09:17:54 +0200 | phaul | (~phaul@ruby/staff/phaul) |
2020-09-30 09:18:10 +0200 | sveit | (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) |
2020-09-30 09:18:10 +0200 | bob_twinkles | (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) |
2020-09-30 09:19:56 +0200 | fendor | (~fendor@77.119.131.134.wireless.dyn.drei.com) |
2020-09-30 09:21:40 +0200 | alp | (~alp@88.126.45.36) |
2020-09-30 09:25:27 +0200 | josh_ | (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection) |
2020-09-30 09:25:33 +0200 | niko | (~niko@freenode/staff/ubuntu.member.niko) (Quit: leaving) |
2020-09-30 09:27:01 +0200 | niko | (~niko@freenode/staff/ubuntu.member.niko) |
2020-09-30 09:27:20 +0200 | josh_ | (~josh@c-67-164-104-206.hsd1.ca.comcast.net) |
2020-09-30 09:29:38 +0200 | bitmagie | (~Thunderbi@200116b806af98000151301dfab240c8.dip.versatel-1u1.de) |
2020-09-30 09:30:12 +0200 | hive-mind | (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) |
2020-09-30 09:31:12 +0200 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
2020-09-30 09:32:06 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-09-30 09:33:06 +0200 | bitmagie | (~Thunderbi@200116b806af98000151301dfab240c8.dip.versatel-1u1.de) (Client Quit) |
2020-09-30 09:33:24 +0200 | cow-orker | (~foobar@pogostick.net) (Ping timeout: 265 seconds) |
2020-09-30 09:35:46 +0200 | machinedgod | (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 246 seconds) |
2020-09-30 09:36:47 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-09-30 09:37:44 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) |
2020-09-30 09:39:47 +0200 | darjeeling_ | (~darjeelin@112.16.171.8) (Ping timeout: 240 seconds) |
2020-09-30 09:40:05 +0200 | gnumonik | (~gnumonik@c-73-170-91-210.hsd1.ca.comcast.net) (Read error: Connection reset by peer) |
2020-09-30 09:40:14 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
2020-09-30 09:40:16 +0200 | cow-orker | (~foobar@pogostick.net) |
2020-09-30 09:40:21 +0200 | josh_ | (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection) |
2020-09-30 09:40:40 +0200 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2020-09-30 09:42:45 +0200 | glguy_ | (x@freenode/staff/haskell.developer.glguy) |
2020-09-30 09:42:45 +0200 | glguy | (x@freenode/staff/haskell.developer.glguy) (Killed (moon.freenode.net (Nickname regained by services))) |
2020-09-30 09:42:45 +0200 | glguy_ | glguy |
2020-09-30 09:43:04 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-09-30 09:45:20 +0200 | John20 | (~John@82.46.59.122) |
2020-09-30 09:45:36 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) |
2020-09-30 09:47:25 +0200 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 265 seconds) |
2020-09-30 09:47:53 +0200 | kindaro | (1f08d381@h31-8-211-129.dyn.bashtel.ru) |
2020-09-30 09:48:21 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 09:49:42 +0200 | Tops21 | (~Tobias@dyndsl-095-033-025-123.ewe-ip-backbone.de) |
2020-09-30 09:51:03 +0200 | <kindaro> | Suppose `main = interact (show @Int ∘ read)`. How can I extend this program to operate on any of a variety of types, type name being given by user on command line? My aim is to write an echo server for use in automated checking of parsing and serialization, client being written in another language. |
2020-09-30 09:51:51 +0200 | <opqdonut> | haskell types disappear at runtime, so there's no direct way |
2020-09-30 09:52:15 +0200 | Tops2 | (~Tobias@dyndsl-091-249-082-222.ewe-ip-backbone.de) (Ping timeout: 265 seconds) |
2020-09-30 09:52:15 +0200 | <opqdonut> | but you can do something like write an Enum for the supported types |
2020-09-30 09:52:38 +0200 | <opqdonut> | or something even fancier with singletons or some other type-level trickery |
2020-09-30 09:53:01 +0200 | xff0x | (~fox@2001:1a81:53e7:fb00:e98b:1e53:4e8a:cb9b) (Ping timeout: 244 seconds) |
2020-09-30 09:53:03 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 09:54:13 +0200 | xff0x | (~fox@2001:1a81:53e7:fb00:9052:62db:4246:c379) |
2020-09-30 09:54:59 +0200 | jedws | (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 09:55:17 +0200 | <lortabac> | probably the simplest way is to pattern-match on the user-provided string |
2020-09-30 09:55:44 +0200 | <lortabac> | it doesn't require any advanced feature |
2020-09-30 09:56:02 +0200 | mac10688 | (~mac10688@c-76-115-116-76.hsd1.or.comcast.net) (Ping timeout: 244 seconds) |
2020-09-30 09:56:29 +0200 | <kindaro> | Imagine I have a 50 types large variety. Some case expression! |
2020-09-30 09:56:29 +0200 | mac10688 | (~mac10688@c-76-115-116-76.hsd1.or.comcast.net) |
2020-09-30 09:56:32 +0200 | <lortabac> | or to parse to an enum, and pattern-match on it |
2020-09-30 09:57:24 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2020-09-30 09:57:41 +0200 | <tomsmeding> | kindaro: would you want to allow the user to enter any haskell type? What about "IO ()"? :) |
2020-09-30 09:57:42 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-09-30 09:58:35 +0200 | zaquest | (~notzaques@5.128.210.178) |
2020-09-30 09:59:03 +0200 | <kindaro> | No, only those in a specified variety. If a type is not supported, I should respectfully decline. |
2020-09-30 09:59:51 +0200 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus) |
2020-09-30 10:00:20 +0200 | coot | (~coot@37.30.59.210.nat.umts.dynamic.t-mobile.pl) |
2020-09-30 10:00:36 +0200 | <tomsmeding> | then I guess if you're already making a list of the supported ones, well, you already have to write the list :) |
2020-09-30 10:01:06 +0200 | <tomsmeding> | doing it with Enum/Read/Show can help reducing the number of times you have to write that list, I guess |
2020-09-30 10:01:20 +0200 | dhil | (~dhil@11.29.39.217.dyn.plus.net) |
2020-09-30 10:03:19 +0200 | <lortabac> | kindaro: maybe you can try to generate a big GADT with TemplateHaskell and a mechanical rule for parsing, but at some point you necessarily need to list all the types at least once |
2020-09-30 10:03:39 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 10:04:21 +0200 | <lortabac> | something like data CliType :: * -> * where Int :: CliType Int; Char :: CliType Char... |
2020-09-30 10:05:17 +0200 | <kindaro> | Suppose I want to support all types that are instances of `Show` that are in scope at the time of compilation. |
2020-09-30 10:05:37 +0200 | <kindaro> | I then need to get a list of such types and build a case expression. |
2020-09-30 10:06:50 +0200 | <tomsmeding> | "all types that are instances of `Show`" sounds nice but is not something that Haskell lets you query easily |
2020-09-30 10:07:30 +0200 | notzmv` | (~user@177.45.26.174) |
2020-09-30 10:07:33 +0200 | <tomsmeding> | not even sure if TemplateHaskell will get you that |
2020-09-30 10:08:09 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 10:08:39 +0200 | <tomsmeding> | oh it does |
2020-09-30 10:08:54 +0200 | <tomsmeding> | ooooooh that is decidedly ugly |
2020-09-30 10:09:15 +0200 | memxor | kkd |
2020-09-30 10:09:22 +0200 | <kindaro> | Can you give me some links? |
2020-09-30 10:09:47 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-zozvjyzrnsmbzmrc) (Quit: Connection closed for inactivity) |
2020-09-30 10:11:02 +0200 | notzmv | (~user@unaffiliated/zmv) (Ping timeout: 258 seconds) |
2020-09-30 10:12:20 +0200 | tzh | (~tzh@2601:448:c500:5300::82b3) (Quit: zzz) |
2020-09-30 10:12:58 +0200 | <tomsmeding> | just checking myself if it will work at all, but https://hackage.haskell.org/package/template-haskell-2.16.0.0/docs/Language-Haskell-TH.html#v:reif… |
2020-09-30 10:13:37 +0200 | <lortabac> | kindaro: there are a couple of ugly solutions for that, though I would never use them for real |
2020-09-30 10:13:49 +0200 | <lortabac> | @hackage constraints-emerge |
2020-09-30 10:13:49 +0200 | <lambdabot> | https://hackage.haskell.org/package/constraints-emerge |
2020-09-30 10:14:05 +0200 | xcmw | (~textual@dyn-72-33-0-89.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 10:14:29 +0200 | <kindaro> | Oh, this is cute! |
2020-09-30 10:14:31 +0200 | <lortabac> | https://github.com/rampion/constraint-unions |
2020-09-30 10:15:27 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds) |
2020-09-30 10:16:27 +0200 | lucid_0x80 | (~lucid_0x8@188.253.231.113) (Ping timeout: 240 seconds) |
2020-09-30 10:16:27 +0200 | <kindaro> | I recall passing explicit dictionaries is being considered for GHC: https://github.com/ghc-proposals/ghc-proposals/pull/324 |
2020-09-30 10:18:01 +0200 | knupfer | (~Thunderbi@mue-88-130-61-186.dsl.tropolys.de) |
2020-09-30 10:18:29 +0200 | <tomsmeding> | kindaro: import Language.Haskell.TH ; import Language.Haskell.TH.Ppr ; putStrLn $( LitE . StringL . pprint <$> reifyInstances ''Show [ VarT (mkName "a") ] ) |
2020-09-30 10:18:34 +0200 | <tomsmeding> | that prints stuff :p |
2020-09-30 10:18:54 +0200 | <tomsmeding> | presumably if you know a bit more about templatehaskell you can make that work somehow? |
2020-09-30 10:22:05 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-09-30 10:22:21 +0200 | ces | (~ces@52d3ce3c.dynamic-ip.k-net.dk) |
2020-09-30 10:23:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 10:24:23 +0200 | raichoo | (~raichoo@213.240.178.58) |
2020-09-30 10:26:14 +0200 | cpressey | (~cpressey@79-72-201-29.dynamic.dsl.as9105.com) |
2020-09-30 10:26:15 +0200 | kuribas | (~user@ptr-25vy0i8if8811202m3x.18120a2.ip6.access.telenet.be) |
2020-09-30 10:28:44 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-09-30 10:32:04 +0200 | __monty__ | (~toonn@unaffiliated/toonn) |
2020-09-30 10:33:32 +0200 | <kuribas> | what is wrong with clojure guys absolutely having to bash haskell to show their language? https://lispcast.com/user-wizard-scenario/ |
2020-09-30 10:33:49 +0200 | carldd1 | (~carldd@90-224-49-113-no56.tbcn.telia.com) (Read error: Connection reset by peer) |
2020-09-30 10:33:52 +0200 | <merijn> | kuribas: Insecurity |
2020-09-30 10:33:53 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 10:34:25 +0200 | <merijn> | Nothing illustrates your point as well as a strawman the size of the wicker man... |
2020-09-30 10:34:43 +0200 | <kuribas> | merijn: if they are happy with their language, why not just use it? |
2020-09-30 10:34:55 +0200 | carldd1 | (~carldd@90-224-49-113-no56.tbcn.telia.com) |
2020-09-30 10:35:12 +0200 | <merijn> | kuribas: Because they feel insecure about using it and need to justify the superiority :p |
2020-09-30 10:35:27 +0200 | <merijn> | That's like 90% of all "language X sucks, look at language Y" advocacy |
2020-09-30 10:35:33 +0200 | <kuribas> | it's not like haskell is perfect |
2020-09-30 10:35:38 +0200 | <merijn> | Unless is C or C++, then it's just truth |
2020-09-30 10:35:44 +0200 | <kuribas> | lol |
2020-09-30 10:35:49 +0200 | <merijn> | s/Unless/Unless X/ |
2020-09-30 10:35:50 +0200 | tomsmeding | X doubt |
2020-09-30 10:36:30 +0200 | <kuribas> | I am perfectly fine with bashing haskell, but their criticism makes no sense. |
2020-09-30 10:36:44 +0200 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-arhqczabjmakjtmj) (Quit: Connection closed for inactivity) |
2020-09-30 10:36:50 +0200 | <merijn> | kuribas: Of course, because they don't know haskell enough to make a coherent criticism |
2020-09-30 10:37:07 +0200 | <merijn> | Just look at their silly 8 alternatives for partial validation |
2020-09-30 10:37:17 +0200 | <kuribas> | I don't see other lisp guys do this, like common lisp or scheme. |
2020-09-30 10:37:25 +0200 | <kuribas> | merijn: you mean spec? |
2020-09-30 10:37:30 +0200 | <merijn> | There's much more elegant approaches using higher kinded types |
2020-09-30 10:37:42 +0200 | <merijn> | kuribas: Now, the literaly example in your link |
2020-09-30 10:37:43 +0200 | knupfer | (~Thunderbi@mue-88-130-61-186.dsl.tropolys.de) (Ping timeout: 246 seconds) |
2020-09-30 10:38:30 +0200 | <merijn> | kuribas: https://paste.tomsmeding.com/yy3PqZUb |
2020-09-30 10:38:35 +0200 | <tomsmeding> | kuribas: that article is hilarious |
2020-09-30 10:38:38 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2020-09-30 10:38:40 +0200 | <merijn> | As if any self-respecting Haskell programmer would write that |
2020-09-30 10:38:49 +0200 | <kuribas> | yeah :) |
2020-09-30 10:38:54 +0200 | <merijn> | That shit is begging for a digestive-functor/applicative validation so badly |
2020-09-30 10:39:03 +0200 | chaosmasttter | (~chaosmast@p200300c4a70aba018412238bea948280.dip0.t-ipconnect.de) |
2020-09-30 10:39:10 +0200 | <tomsmeding> | it's basically saying: clojure is cool because it doesn't have the tools to give you type safety |
2020-09-30 10:39:15 +0200 | <tomsmeding> | I mean, you can get the exact same in haskell |
2020-09-30 10:39:18 +0200 | <tomsmeding> | they even did that in the article! |
2020-09-30 10:39:20 +0200 | <merijn> | Like, Validation obsoletes their entire argument |
2020-09-30 10:39:31 +0200 | <tomsmeding> | it's literally not an argument against haskell or for clojure |
2020-09-30 10:39:47 +0200 | <tomsmeding> | only argument being made is that haskell is more flexible, apparently? (I don't know clojure so can't confirm/deny) |
2020-09-30 10:39:59 +0200 | <merijn> | kuribas: Lisp/scheme programmers don't feel compelled to "prove" themselves because they've got history/legacy |
2020-09-30 10:40:21 +0200 | <tomsmeding> | merijn: yes that example cracked me up too |
2020-09-30 10:40:44 +0200 | <merijn> | kuribas: Clojure is "the new kid" of lisps and so they feel compelled to justify it being better than Scheme/Lisp by picking silly fights like thise |
2020-09-30 10:41:20 +0200 | <kuribas> | merijn: or just a record with Maybes? |
2020-09-30 10:41:40 +0200 | thc202 | (~thc202@unaffiliated/thc202) |
2020-09-30 10:41:49 +0200 | <tomsmeding> | well they discarded that because it wasn't flexible enough for the frontenders, right? |
2020-09-30 10:42:03 +0200 | <merijn> | kuribas: Really just anything but what they actually did |
2020-09-30 10:42:12 +0200 | <kuribas> | tomsmeding: yeah, most stuff with hashmaps can be done in haskell with records. Except for merging, but that's dodge anyway. |
2020-09-30 10:42:39 +0200 | <tomsmeding> | except adding new fields at runtime |
2020-09-30 10:42:43 +0200 | <tomsmeding> | which they wanted apparently |
2020-09-30 10:43:11 +0200 | <merijn> | which is a dumb thing to want anyway :p |
2020-09-30 10:43:26 +0200 | <kuribas> | https://gist.github.com/kuribas/8afd49cf87fe5b1c32b1009ab59c4b1d |
2020-09-30 10:43:35 +0200 | <tomsmeding> | article makes the case that it isn't, but that isn't even the problem |
2020-09-30 10:44:01 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 10:44:54 +0200 | <kuribas> | tomsmeding: this does exactly what they want, you can add fields easily, and change the order of processing. |
2020-09-30 10:45:02 +0200 | <kuribas> | just swap the guards |
2020-09-30 10:45:05 +0200 | vicfred_ | (~vicfred@unaffiliated/vicfred) |
2020-09-30 10:45:10 +0200 | <tomsmeding> | not as easily as they want, right? |
2020-09-30 10:45:24 +0200 | <kuribas> | what do they want then? |
2020-09-30 10:45:29 +0200 | <tomsmeding> | they didn't want to change the backend code to add fields, or didn't I read the article closely enough (likely) |
2020-09-30 10:46:00 +0200 | <tomsmeding> | > "We [backend team] required a description of the field and its type, and it would be deployed in the next release after we got to it. The front-end team needed to cycle faster than that." |
2020-09-30 10:46:02 +0200 | <lambdabot> | "We [backend team] required a description of the field and its type, and it ... |
2020-09-30 10:46:11 +0200 | <tomsmeding> | lambdabot: you're not wrong |
2020-09-30 10:46:36 +0200 | <kuribas> | tomsmeding: that sounds like a social problem |
2020-09-30 10:46:48 +0200 | <tomsmeding> | which, also, isn't even the point |
2020-09-30 10:46:51 +0200 | <tomsmeding> | perhaps it is! |
2020-09-30 10:46:56 +0200 | <kuribas> | tomsmeding: but even then, with a proper pipeline, such a change and recompiling takes 5 minutes in haskell. |
2020-09-30 10:47:03 +0200 | <tomsmeding> | true |
2020-09-30 10:47:06 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) (Ping timeout: 272 seconds) |
2020-09-30 10:47:17 +0200 | <tomsmeding> | but, like, perhaps their organisation makes that they don't want that |
2020-09-30 10:47:28 +0200 | <tomsmeding> | maybe they have a mandatory QA process for every backend upgrade or something |
2020-09-30 10:47:41 +0200 | <tomsmeding> | but if they want to iterate without the backend changing, then, well, design your backend on that :p |
2020-09-30 10:47:47 +0200 | <tomsmeding> | haskell gives you the flexibility |
2020-09-30 10:48:04 +0200 | <tomsmeding> | anyhow the point is argued perfectly by the article itself so perhaps I should stop ranting :p |
2020-09-30 10:48:26 +0200 | <AWizzArd> | I am writing an app and use Nix as build system. I would like to specify four things: what Haskell-Dependencies do I want to be in my release? What Haskell-Deps do I want to have during development time (i.e. benchmarking, tests, ...). And then I want to specify what OS-Deps I want during development in my nix-shell (ls, cd, cat, tree, ...) and what OS-Deps I want to be in my release (which can go into a tar.gz for dockerization). |
2020-09-30 10:48:27 +0200 | <cpressey> | Doing data modelling like FirstAndLastNames, FirstNameAndEmail, LastNameAndEmail, ... is ridiculous *in any language*. I want to say "obviously ridiculous" but the very existence of the article makes me wonder about that. |
2020-09-30 10:48:33 +0200 | <merijn> | It's just one of the classic blunders |
2020-09-30 10:48:48 +0200 | <merijn> | "Tying your external representation directly to your internal representation" |
2020-09-30 10:48:49 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-09-30 10:48:49 +0200 | <AWizzArd> | I see https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/haskell-modules/generic-builder.nix and there are tons of "Depends" attributes listed |
2020-09-30 10:48:56 +0200 | <kuribas> | tomsmeding: in that case I would have a personFields field which is just a Aeson Value. |
2020-09-30 10:49:00 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-09-30 10:49:11 +0200 | <merijn> | That's just as bad as "starting a land war in China" or "going against a Sicilian when death is on the line" |
2020-09-30 10:49:30 +0200 | <AWizzArd> | What is the meaning of buildDepends, libraryHaskellDepends, executableHaskellDepends, libraryToolDepends, executableToolDepends, testToolDepends, benchmarkToolDepends, librarySystemDepends, executableSystemDepends, libraryFrameworkDepends, executableFrameworkDepends, testDepends, and the 50 others? |
2020-09-30 10:49:59 +0200 | <merijn> | Sounds like a Nix question? |
2020-09-30 10:51:17 +0200 | jrqc | (~rofl@96.78.87.197) (Ping timeout: 258 seconds) |
2020-09-30 10:52:04 +0200 | <kuribas> | merijn: in our app it's not only tied to the API, but also to the database. |
2020-09-30 10:52:30 +0200 | <kuribas> | merijn: hashmaps just pass through everything, with only a light layer of transformation between. |
2020-09-30 10:52:37 +0200 | glguy_ | (x@freenode/staff/haskell.developer.glguy) |
2020-09-30 10:52:37 +0200 | glguy | Guest12883 |
2020-09-30 10:52:37 +0200 | Guest12883 | (x@freenode/staff/haskell.developer.glguy) (Killed (tolkien.freenode.net (Nickname regained by services))) |
2020-09-30 10:52:37 +0200 | glguy_ | glguy |
2020-09-30 10:53:00 +0200 | <merijn> | kuribas: Every single time I've done that I've lived to regret it :p |
2020-09-30 10:53:14 +0200 | <AWizzArd> | merijn: a Nix question that is very Haskell related. As in: what flags can I pass to "ghc", which happens to be a Linux tool, but which is essentially not a #Linux question. |
2020-09-30 10:53:34 +0200 | <merijn> | I've learned to accept that the "boilerplate' of separate external and internal representations is worth it and inevitable |
2020-09-30 10:53:35 +0200 | <maerwald> | AWizzArd: imo still better to ask in the nix channel |
2020-09-30 10:53:50 +0200 | <kuribas> | merijn: however it's convenient in servant to write your records like the json objects. |
2020-09-30 10:54:14 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 10:54:51 +0200 | <kuribas> | merijn: or I would need two types, ExternalResource, and Resource |
2020-09-30 10:55:00 +0200 | <merijn> | kuribas: Yes |
2020-09-30 10:55:15 +0200 | <lortabac> | I think it is a good idea to have two types anyway |
2020-09-30 10:55:20 +0200 | jrqc | (~rofl@96.78.87.197) |
2020-09-30 10:55:58 +0200 | <merijn> | kuribas: Eventually you'll come around to my and lortabac's way of thinking, after you've made yourself suffer enough :) |
2020-09-30 10:56:23 +0200 | <kuribas> | possibly |
2020-09-30 10:56:36 +0200 | <kuribas> | I adapt my code as the needs change |
2020-09-30 10:56:52 +0200 | <kuribas> | but clojure is a big bottleneck |
2020-09-30 10:57:01 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-09-30 10:57:21 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-09-30 10:57:47 +0200 | <kuribas> | with its inability to model the business domain, provide safe abstractions, and giving zero consistency garantees. |
2020-09-30 10:58:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 10:59:23 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds) |
2020-09-30 11:00:01 +0200 | sammuel86 | (~sammuel86@185.244.214.216) () |
2020-09-30 11:00:27 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 240 seconds) |
2020-09-30 11:00:30 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 11:02:50 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-09-30 11:03:23 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-09-30 11:04:16 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 11:06:26 +0200 | todda7 | (~torstein@ppp005055049059.access.hol.gr) |
2020-09-30 11:06:59 +0200 | <kuribas> | merijn: actually I already have more types for one resource. Like a type for getting and setting information, a type with less fields, etc... |
2020-09-30 11:07:00 +0200 | carlomagno1 | (~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection) |
2020-09-30 11:08:06 +0200 | <kuribas> | merijn: a clojurist would probably now grin in satisfaction, look at all that complexity! |
2020-09-30 11:08:13 +0200 | <kuribas> | merijn: but IMO it's worth it. |
2020-09-30 11:08:43 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 11:14:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 11:18:47 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 11:20:40 +0200 | <sm[m]> | there was no criticism or bashing in that article.. it's well written and interesting I think |
2020-09-30 11:20:42 +0200 | dhil | (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 265 seconds) |
2020-09-30 11:21:17 +0200 | <kuribas> | sm[m]: the haskell code is pretty bad |
2020-09-30 11:21:30 +0200 | DireFog | (~DireFog@s91904426.blix.com) |
2020-09-30 11:22:17 +0200 | <sm[m]> | that's a silly thing to say, since they're just walking through a series of what ifs (pretty realistic thought process for someone figuring this stuff out) |
2020-09-30 11:23:42 +0200 | <sm[m]> | I think it shows haskell provides a lot of freedom to model your typing needs |
2020-09-30 11:24:32 +0200 | <kuribas> | no, it fits perfectly in the clojure narative that types are too heavy and unnecessary. |
2020-09-30 11:24:37 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 11:25:44 +0200 | cpressey | (~cpressey@79-72-201-29.dynamic.dsl.as9105.com) (Ping timeout: 272 seconds) |
2020-09-30 11:25:44 +0200 | <sm[m]> | perhaps, but that doesn't make it it criticism or bashing, and I think you weaken your argument by saying so |
2020-09-30 11:26:25 +0200 | <sm[m]> | Just MHO |
2020-09-30 11:27:13 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-09-30 11:28:00 +0200 | cpressey | (~cpressey@79-72-200-19.dynamic.dsl.as9105.com) |
2020-09-30 11:28:09 +0200 | <kuribas> | sm[m]: perhaps it was written in good faith, but the code is still bad. |
2020-09-30 11:28:24 +0200 | <sm[m]> | thanks for the link, I will watch for the HN discussion |
2020-09-30 11:28:47 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds) |
2020-09-30 11:29:01 +0200 | <kuribas> | sm[m]: btw, I don't believe in show the bad way first |
2020-09-30 11:29:10 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-09-30 11:29:14 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2020-09-30 11:29:32 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 256 seconds) |
2020-09-30 11:30:03 +0200 | <kuribas> | You learn the best by looking at good examples. |
2020-09-30 11:30:37 +0200 | <kuribas> | Taking best ideas from everywhere and assimilating them into your own style. |
2020-09-30 11:30:43 +0200 | <maerwald> | kuribas: I agree, I had a prof who used to show every single pitfall of a language, when teaching a language and thought that would give ppl an intuition. All it did was confuse them |
2020-09-30 11:30:57 +0200 | <kuribas> | maerwald: right :) |
2020-09-30 11:31:08 +0200 | <maerwald> | the C++ course was... |
2020-09-30 11:31:19 +0200 | <sm[m]> | the article says that sometimes you want a more static model. So the first is not bad. Its just an engineering choice depending on the need. |
2020-09-30 11:32:20 +0200 | <sm[m]> | the article lays out some of the options nicely. You could just As easily read it in reverse, describing a refactoring of over dynamic code to more statically checked. |
2020-09-30 11:32:48 +0200 | <kuribas> | sm[m]: https://paste.tomsmeding.com/yy3PqZUb |
2020-09-30 11:32:54 +0200 | <kuribas> | sm[m]: that's not bad? |
2020-09-30 11:32:54 +0200 | ces | (~ces@52d3ce3c.dynamic-ip.k-net.dk) (Quit: WeeChat 2.9) |
2020-09-30 11:32:56 +0200 | <merijn> | sm[m]: The problem I have with it is that the static code is just a badly written strawman. You could easily have a static verbose that's both less verbose and more flexible |
2020-09-30 11:32:59 +0200 | <sm[m]> | afk, sorry |
2020-09-30 11:33:19 +0200 | <merijn> | sm[m]: And then using that bad code to justify the more dynamic approach |
2020-09-30 11:33:53 +0200 | <kuribas> | sm[m]: I am pretty sure he wouldn't write this kind of code in clojure. |
2020-09-30 11:34:11 +0200 | <kuribas> | sm[m]: I guess he is thinking about partial hashmaps. |
2020-09-30 11:34:13 +0200 | <sm[m]> | (maybe write a follow up showing more possibilities ? I'd read it!) |
2020-09-30 11:35:40 +0200 | ph88 | (~ph88@213.23.78.154) |
2020-09-30 11:36:15 +0200 | <kuribas> | probably he was thinking about a clojure workflow, then putting haskell types on it. |
2020-09-30 11:36:21 +0200 | <sm[m]> | (Ps and yes that particular variant seemed bad for most needs Incan imagine, and I think they said so) |
2020-09-30 11:36:24 +0200 | <kuribas> | then concluding haskell types are way to heavy. |
2020-09-30 11:36:30 +0200 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 272 seconds) |
2020-09-30 11:36:42 +0200 | operand | (~operand@is.altijd.moe) (Ping timeout: 260 seconds) |
2020-09-30 11:37:14 +0200 | ptrcmd | (~ptrcmd@unaffiliated/petercommand) (Ping timeout: 265 seconds) |
2020-09-30 11:37:15 +0200 | ptrcmd_ | (~ptrcmd@unaffiliated/petercommand) |
2020-09-30 11:37:15 +0200 | <sm[m]> | gone |
2020-09-30 11:37:36 +0200 | m0rphism | (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) |
2020-09-30 11:37:59 +0200 | operand | (~operand@is.altijd.moe) |
2020-09-30 11:38:27 +0200 | jrqc | (~rofl@96.78.87.197) (Ping timeout: 240 seconds) |
2020-09-30 11:38:27 +0200 | mstruebing | (~mstruebin@2001:41d0:8:93c7::1) (Ping timeout: 260 seconds) |
2020-09-30 11:38:27 +0200 | copypasteque_ | (~copypaste@2001:41d0:8:b325::1) (Ping timeout: 260 seconds) |
2020-09-30 11:39:03 +0200 | mstruebing | (~mstruebin@2001:41d0:8:93c7::1) |
2020-09-30 11:39:20 +0200 | <ph88> | hey guys .. i have this code runReaderT (bla options) conf when i put flip in front of it i get a bunch of type errors ... maybe i need another function then ?? |
2020-09-30 11:39:52 +0200 | copypasteque_ | (~copypaste@2001:41d0:8:b325::1) |
2020-09-30 11:40:25 +0200 | <maerwald> | (flip runReaderT) ...? |
2020-09-30 11:40:29 +0200 | <[exa]> | ph88: what does it look like with the flip in the front? |
2020-09-30 11:40:32 +0200 | acidjnk_new | (~acidjnk@p200300d0c72378337d49dd4f750ab9d4.dip0.t-ipconnect.de) |
2020-09-30 11:41:20 +0200 | dhil | (~dhil@11.29.39.217.dyn.plus.net) |
2020-09-30 11:41:53 +0200 | <kuribas> | ph88: runReaderT conf $ bla options ? |
2020-09-30 11:41:55 +0200 | jrqc | (~rofl@96.78.87.197) |
2020-09-30 11:42:05 +0200 | <kuribas> | ph88: erm flip runReaderT conf $ bla options ? |
2020-09-30 11:42:14 +0200 | <kuribas> | that should work |
2020-09-30 11:43:20 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) |
2020-09-30 11:44:27 +0200 | solonarv | (~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) |
2020-09-30 11:44:57 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 11:47:03 +0200 | <[exa]> | are there any operators around? ($ may break it) |
2020-09-30 11:47:35 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) |
2020-09-30 11:49:17 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 11:52:58 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 272 seconds) |
2020-09-30 11:56:01 +0200 | rotaerk | (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 272 seconds) |
2020-09-30 11:56:48 +0200 | todda7 | (~torstein@ppp005055049059.access.hol.gr) (Ping timeout: 256 seconds) |
2020-09-30 11:58:12 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:988a:949a:6cb6:3522) |
2020-09-30 12:00:33 +0200 | Rudd0 | (~Rudd0@185.189.115.98) |
2020-09-30 12:00:34 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2020-09-30 12:01:12 +0200 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-09-30 12:05:07 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 12:05:19 +0200 | thewormkill | twk- |
2020-09-30 12:05:43 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 12:07:12 +0200 | Sanchayan | (~Sanchayan@223.226.111.203) |
2020-09-30 12:08:24 +0200 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) |
2020-09-30 12:09:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 12:13:33 +0200 | lucid_0x80 | (~lucid_0x8@85.132.73.6) |
2020-09-30 12:14:50 +0200 | bitmagie | (~Thunderbi@200116b806af9800a5686823a67cc6e9.dip.versatel-1u1.de) |
2020-09-30 12:15:12 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 12:15:13 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 12:16:04 +0200 | <hc> | [exa]: check #freenode for operators? ;p |
2020-09-30 12:17:09 +0200 | <[exa]> | hc: it was more like...any operators around that haskell expression :D |
2020-09-30 12:17:41 +0200 | <hc> | I know, just a silly joke :) |
2020-09-30 12:17:59 +0200 | <[exa]> | :] |
2020-09-30 12:19:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 12:20:02 +0200 | lucid_0x80 | (~lucid_0x8@85.132.73.6) (Ping timeout: 256 seconds) |
2020-09-30 12:20:43 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:988a:949a:6cb6:3522) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 12:21:41 +0200 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:8c5f:831a:4acc:45dd) |
2020-09-30 12:23:56 +0200 | <ph88> | [exa], kuribas thank you .. i see what i did wrong now ... i put flip $ |
2020-09-30 12:25:21 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 12:25:46 +0200 | rotaerk | (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) |
2020-09-30 12:27:00 +0200 | bahamas | (~lucian@188.24.181.166) |
2020-09-30 12:27:00 +0200 | bahamas | (~lucian@188.24.181.166) (Changing host) |
2020-09-30 12:27:00 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-09-30 12:29:12 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-09-30 12:30:18 +0200 | alp | (~alp@88.126.45.36) (Ping timeout: 265 seconds) |
2020-09-30 12:32:43 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds) |
2020-09-30 12:33:34 +0200 | darjeeling_ | (~darjeelin@122.245.121.113) |
2020-09-30 12:34:44 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:c862:81df:d6b3:8407) (Ping timeout: 244 seconds) |
2020-09-30 12:35:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 12:35:52 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Quit: WeeChat 2.9) |
2020-09-30 12:37:47 +0200 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:8c5f:831a:4acc:45dd) (Ping timeout: 240 seconds) |
2020-09-30 12:38:06 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) |
2020-09-30 12:38:45 +0200 | darjeeling_ | (~darjeelin@122.245.121.113) (Ping timeout: 240 seconds) |
2020-09-30 12:39:16 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-09-30 12:39:47 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 12:39:55 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2020-09-30 12:40:11 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) (Ping timeout: 240 seconds) |
2020-09-30 12:40:29 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) |
2020-09-30 12:44:00 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Quit: WeeChat 2.9) |
2020-09-30 12:45:05 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) |
2020-09-30 12:45:41 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 12:45:57 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 12:46:43 +0200 | rprije | (~rprije@27.143.220.203.dial.dynamic.acc01-myal-dub.comindico.com.au) (Ping timeout: 260 seconds) |
2020-09-30 12:47:08 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:302e:75f2:472:3c96) |
2020-09-30 12:48:01 +0200 | glguy_ | (x@freenode/staff/haskell.developer.glguy) |
2020-09-30 12:48:01 +0200 | glguy | Guest13239 |
2020-09-30 12:48:01 +0200 | Guest13239 | (x@freenode/staff/haskell.developer.glguy) (Killed (moon.freenode.net (Nickname regained by services))) |
2020-09-30 12:48:01 +0200 | glguy_ | glguy |
2020-09-30 12:49:31 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Client Quit) |
2020-09-30 12:50:14 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-09-30 12:50:25 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 12:50:36 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) |
2020-09-30 12:51:19 +0200 | outerpassage | Guest8389 |
2020-09-30 12:51:19 +0200 | Guest8389 | (~outerpass@li1196-30.members.linode.com) (Killed (kornbluth.freenode.net (Nickname regained by services))) |
2020-09-30 12:51:23 +0200 | outerpassage | (~outerpass@li1196-30.members.linode.com) |
2020-09-30 12:52:16 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) (Ping timeout: 256 seconds) |
2020-09-30 12:53:54 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) |
2020-09-30 12:55:13 +0200 | darjeeling_ | (~darjeelin@122.245.121.113) |
2020-09-30 12:55:51 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 13:00:45 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2020-09-30 13:01:34 +0200 | p0a | (~user@unaffiliated/p0a) |
2020-09-30 13:02:22 +0200 | <p0a> | Hello I have a type that has some fields, say data Foo = Foo { a,b,c :: Int }. Now I want a MaybeFoo that is like Foo except all fields are Maybe Int |
2020-09-30 13:02:50 +0200 | <p0a> | The idea is that I can search for Foo values in a list, equality == is only tested on the Just values |
2020-09-30 13:04:14 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 256 seconds) |
2020-09-30 13:05:52 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 13:10:28 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 13:14:04 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) |
2020-09-30 13:15:54 +0200 | bitmagie | (~Thunderbi@200116b806af9800a5686823a67cc6e9.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-09-30 13:16:06 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 13:16:20 +0200 | <merijn> | p0a: You can just define Foo as "Foo f = Foo { a, b, c :: f Int }" and then use "Foo Identity" as the "default" and "Foo Maybe" for the second case? |
2020-09-30 13:18:12 +0200 | cpressey | (~cpressey@79-72-200-19.dynamic.dsl.as9105.com) (Quit: WeeChat 1.9.1) |
2020-09-30 13:18:29 +0200 | <p0a> | merijn: ah that's really nice, thank you |
2020-09-30 13:18:39 +0200 | <p0a> | do you think 'f' is a good choice for that? |
2020-09-30 13:19:06 +0200 | <p0a> | This is probably irrelevant but I'm curious if there's a better suggestoin |
2020-09-30 13:20:05 +0200 | <merijn> | p0a: 'f' is just a variable (usually associated with Functors, hence the choice here) |
2020-09-30 13:20:21 +0200 | <p0a> | Got it, thank you |
2020-09-30 13:20:40 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 13:21:09 +0200 | <merijn> | p0a: Here's a nice blogpost that involves slightly more complicated type machinery for an even fancier version of that: https://reasonablypolymorphic.com/blog/higher-kinded-data/ |
2020-09-30 13:21:42 +0200 | <merijn> | p0a: In fact, they literally use a "Person" "MaybePerson" example :p |
2020-09-30 13:22:05 +0200 | <p0a> | Heh! |
2020-09-30 13:22:09 +0200 | <p0a> | That's awesome, thanks. I will read it |
2020-09-30 13:22:29 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2020-09-30 13:23:43 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-09-30 13:24:41 +0200 | <merijn> | p0a: I'd personally probably skip the whole Generic boilerplate, because it's kinda complicated, but the first part is certainly very useful |
2020-09-30 13:25:16 +0200 | <p0a> | As I glanced over it |
2020-09-30 13:25:20 +0200 | <p0a> | it got kinda scary towards the end |
2020-09-30 13:25:37 +0200 | <p0a> | but if it is interesting I will read it |
2020-09-30 13:25:50 +0200 | <merijn> | p0a: You can simply not use the scary part :) |
2020-09-30 13:26:08 +0200 | <merijn> | p0a: The scary part is basically "using GHC Generics to avoid even writing the validate implementation" |
2020-09-30 13:26:11 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 13:26:25 +0200 | pjb | (~t@2a01cb04063ec50038cdaa6488b186d3.ipv6.abo.wanadoo.fr) |
2020-09-30 13:26:27 +0200 | <p0a> | I see. I may not even need a validate myself |
2020-09-30 13:26:30 +0200 | <merijn> | p0a: You can just use the datatype with a manual written validation/whatever and it'll "Just Work" |
2020-09-30 13:26:33 +0200 | <p0a> | but we'll see, it depends on what the author is talking about |
2020-09-30 13:26:45 +0200 | <p0a> | whoops, low battery... gotta go. Thank you again |
2020-09-30 13:26:55 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 258 seconds) |
2020-09-30 13:26:56 +0200 | p0a | (~user@unaffiliated/p0a) (Quit: bye) |
2020-09-30 13:30:11 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 13:30:37 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-09-30 13:32:52 +0200 | <kuribas> | merijn: I prefer generics over higher kinded stuff |
2020-09-30 13:33:23 +0200 | <kuribas> | or better, eot, when you don't need the heavy stuff that comes with generics: https://hackage.haskell.org/package/generics-eot-0.4.0.1/docs/Generics-Eot.html |
2020-09-30 13:33:53 +0200 | <merijn> | kuribas: Those two don't even have the same usecase(s) so that seems like a weird comment |
2020-09-30 13:34:15 +0200 | <merijn> | Especially given the context of a blogpost using both for very different things |
2020-09-30 13:34:53 +0200 | bahamas | (~lucian@188.24.181.166) |
2020-09-30 13:34:53 +0200 | bahamas | (~lucian@188.24.181.166) (Changing host) |
2020-09-30 13:34:53 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-09-30 13:36:25 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 13:39:54 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds) |
2020-09-30 13:40:58 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 13:41:07 +0200 | <maerwald> | Is there a way to discover whether a thread is currently blocked? |
2020-09-30 13:42:11 +0200 | tinga | (~tinga@5-168-208-80-pool.fiber.fcom.ch) (Ping timeout: 240 seconds) |
2020-09-30 13:45:23 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 13:46:30 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 13:48:22 +0200 | alx741_ | (~alx741@181.196.69.150) (Ping timeout: 256 seconds) |
2020-09-30 13:49:07 +0200 | <kuribas> | merijn: yeah, the two aren't really related :) |
2020-09-30 13:49:43 +0200 | <kuribas> | merijn: I dislike the HKD approach, because it is rather messy, and usually not that hard to avoid. |
2020-09-30 13:49:47 +0200 | jgt | (~jgt@195.225.146.77) (Ping timeout: 240 seconds) |
2020-09-30 13:49:58 +0200 | alp | (~alp@2a01:e0a:58b:4920:bc07:244b:4df4:499a) |
2020-09-30 13:50:01 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2020-09-30 13:50:23 +0200 | idhugo | (~idhugo@users-1190.st.net.au.dk) |
2020-09-30 13:50:25 +0200 | plutoniix | (~q@175.176.222.7) (Quit: Leaving) |
2020-09-30 13:51:01 +0200 | fweht | (uid404746@gateway/web/irccloud.com/x-hoeehmttzipzbkkn) |
2020-09-30 13:51:24 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-09-30 13:51:52 +0200 | BalterNotz | (ca420871@202.66.8.113) (Remote host closed the connection) |
2020-09-30 13:53:46 +0200 | Saten-san | (~Saten-san@ip-81-11-153-13.dsl.scarlet.be) |
2020-09-30 13:53:51 +0200 | Saten-san | (~Saten-san@ip-81-11-153-13.dsl.scarlet.be) (Client Quit) |
2020-09-30 13:54:10 +0200 | Saten-san | (~Saten-san@ip-81-11-153-13.dsl.scarlet.be) |
2020-09-30 13:55:14 +0200 | Saten-san | (~Saten-san@ip-81-11-153-13.dsl.scarlet.be) (Client Quit) |
2020-09-30 13:56:37 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 13:57:53 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.) |
2020-09-30 14:00:02 +0200 | DireFog | (~DireFog@s91904426.blix.com) () |
2020-09-30 14:00:41 +0200 | Alleria_ | (~AllahuAkb@69.202.254.168) (Ping timeout: 265 seconds) |
2020-09-30 14:00:54 +0200 | alx741_ | (~alx741@186.178.110.227) |
2020-09-30 14:01:02 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
2020-09-30 14:01:57 +0200 | ggole | (~ggole@2001:8003:8119:7200:f871:c0ad:b761:dbf4) |
2020-09-30 14:03:09 +0200 | avdb | (~avdb@ip-81-11-153-13.dsl.scarlet.be) |
2020-09-30 14:06:19 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-09-30 14:06:44 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 14:08:27 +0200 | hackage | hakyll 4.13.4.1 - A static website compiler library https://hackage.haskell.org/package/hakyll-4.13.4.1 (JasperVanDerJeugt) |
2020-09-30 14:11:09 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 14:11:59 +0200 | urodna | (~urodna@unaffiliated/urodna) |
2020-09-30 14:13:34 +0200 | fweht | (uid404746@gateway/web/irccloud.com/x-hoeehmttzipzbkkn) () |
2020-09-30 14:14:56 +0200 | coot_ | (~coot@37.30.60.139.nat.umts.dynamic.t-mobile.pl) |
2020-09-30 14:15:07 +0200 | sagax | (~sagax_nb@213.138.71.146) (Remote host closed the connection) |
2020-09-30 14:16:52 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 14:17:13 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 14:18:04 +0200 | coot | (~coot@37.30.59.210.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 256 seconds) |
2020-09-30 14:18:15 +0200 | coot_ | coot |
2020-09-30 14:19:03 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 14:19:52 +0200 | cpressey | (~cpressey@79-72-200-19.dynamic.dsl.as9105.com) |
2020-09-30 14:21:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 14:21:54 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) () |
2020-09-30 14:25:17 +0200 | kindaro | (1f08d381@h31-8-211-129.dyn.bashtel.ru) (Remote host closed the connection) |
2020-09-30 14:27:03 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 14:28:07 +0200 | mu_ | (~mu@unaffiliated/mu) (Ping timeout: 240 seconds) |
2020-09-30 14:29:55 +0200 | chaosmasttter | (~chaosmast@p200300c4a70aba018412238bea948280.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2020-09-30 14:29:59 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) |
2020-09-30 14:31:07 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
2020-09-30 14:31:07 +0200 | John20 | (~John@82.46.59.122) (Ping timeout: 240 seconds) |
2020-09-30 14:31:18 +0200 | Takumo | (takumo@unaffiliated/takumokatekari) (Quit: WeeChat 1.9.1) |
2020-09-30 14:31:43 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 14:33:43 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds) |
2020-09-30 14:34:36 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:302e:75f2:472:3c96) (Ping timeout: 244 seconds) |
2020-09-30 14:35:26 +0200 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-09-30 14:35:27 +0200 | bahamas | (~lucian@188.24.181.166) |
2020-09-30 14:35:27 +0200 | bahamas | (~lucian@188.24.181.166) (Changing host) |
2020-09-30 14:35:27 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-09-30 14:35:44 +0200 | shatriff | (~vitaliish@176.52.219.10) |
2020-09-30 14:35:57 +0200 | Alleria_ | (~AllahuAkb@2604:2000:1484:26:59c0:566a:2725:87ae) |
2020-09-30 14:36:18 +0200 | gxt | (~gxt@gateway/tor-sasl/gxt) |
2020-09-30 14:36:45 +0200 | idhugo | (~idhugo@users-1190.st.net.au.dk) (Quit: Leaving) |
2020-09-30 14:37:09 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 14:38:00 +0200 | wonko7 | (~wonko7@2a01:e35:2ffb:36a0:8c5f:831a:4acc:45dd) |
2020-09-30 14:38:42 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-09-30 14:39:34 +0200 | coot | (~coot@37.30.60.139.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 246 seconds) |
2020-09-30 14:41:20 +0200 | sagax | (~sagax_nb@213.138.71.146) |
2020-09-30 14:41:42 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 14:45:05 +0200 | halogenandtoast | (~halogenan@072-176-116-031.res.spectrum.com) (Quit: WeeChat 2.9) |
2020-09-30 14:47:17 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 14:47:25 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:b4e9:399f:908f:6639) |
2020-09-30 14:50:07 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) (Ping timeout: 240 seconds) |
2020-09-30 14:51:55 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2020-09-30 14:53:46 +0200 | jgt | (~jgt@188.239.64.32) |
2020-09-30 14:53:52 +0200 | Lodle | (~Lodle@s91904426.blix.com) |
2020-09-30 14:57:22 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 14:57:58 +0200 | hackage | servant-serf 0.0.1 - Generates a servant API module https://hackage.haskell.org/package/servant-serf-0.0.1 (goolord) |
2020-09-30 15:00:46 +0200 | carlomagno | (~cararell@inet-hqmc02-o.oracle.com) |
2020-09-30 15:02:01 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 15:02:34 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 15:02:40 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds) |
2020-09-30 15:03:00 +0200 | chaosmasttter | (~chaosmast@p200300c4a70aba018412238bea948280.dip0.t-ipconnect.de) |
2020-09-30 15:03:30 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:988a:949a:6cb6:3522) |
2020-09-30 15:06:11 +0200 | st8less | (~st8less@ip72-204-59-82.fv.ks.cox.net) |
2020-09-30 15:07:11 +0200 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2020-09-30 15:07:32 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 15:11:35 +0200 | John20 | (~John@82.46.59.122) |
2020-09-30 15:11:46 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-09-30 15:12:23 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 15:17:29 +0200 | Alleria_ | (~AllahuAkb@2604:2000:1484:26:59c0:566a:2725:87ae) (Ping timeout: 244 seconds) |
2020-09-30 15:17:43 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 15:18:23 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-09-30 15:18:37 +0200 | Lowl3v3l | (~Lowl3v3l@dslb-090-186-188-115.090.186.pools.vodafone-ip.de) |
2020-09-30 15:21:27 +0200 | Alleria_ | (~AllahuAkb@2604:2000:1484:26:59c0:566a:2725:87ae) |
2020-09-30 15:22:36 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-09-30 15:22:57 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 15:25:54 +0200 | avdb | (~avdb@ip-81-11-153-13.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-09-30 15:26:16 +0200 | chaosmasttter | (~chaosmast@p200300c4a70aba018412238bea948280.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-09-30 15:27:49 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 15:29:47 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:1975:ad5b:4777:bf80) |
2020-09-30 15:30:57 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:1975:ad5b:4777:bf80) (Client Quit) |
2020-09-30 15:32:18 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 15:33:49 +0200 | tmciver | (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 264 seconds) |
2020-09-30 15:35:07 +0200 | acidjnk_new | (~acidjnk@p200300d0c72378337d49dd4f750ab9d4.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-09-30 15:36:41 +0200 | motte | (~weechat@unaffiliated/motte) |
2020-09-30 15:37:55 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 15:38:25 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:2975:3225:75da:b702) |
2020-09-30 15:41:16 +0200 | <motte> | hi, i'm new to haskell and i would like to create a simple web server with basic access authentication. which library would best suit my needs? |
2020-09-30 15:41:35 +0200 | <Uniaika> | not Servant, whatever you might be told |
2020-09-30 15:41:43 +0200 | <Uniaika> | try Scotty and/or Yesod |
2020-09-30 15:42:01 +0200 | <motte> | huh, that's what i was looking at currently. what's wrong with it? |
2020-09-30 15:42:05 +0200 | <Taneb> | For this case I'd go scotty |
2020-09-30 15:42:06 +0200 | <Uniaika> | ah, if you want to *create* a web *server*, you might have to go at a lower level with Warp/WAI |
2020-09-30 15:42:20 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-09-30 15:42:27 +0200 | <Taneb> | servant is great if you want to have a large REST API. On the small, it's kind of got a lot of wasted power |
2020-09-30 15:42:32 +0200 | <Uniaika> | motte: you don't have the level/understanding of type-level programming to understand what you'll need to do in order to use it |
2020-09-30 15:42:37 +0200 | <opqdonut> | for a simple web server / backend, I'd just go with WAI & Warp directly |
2020-09-30 15:42:42 +0200 | <Uniaika> | just don't hurt yourself with Servant yet |
2020-09-30 15:43:05 +0200 | <motte> | the library should be as simple/minimal as possible, scalability isn't important etc. |
2020-09-30 15:43:20 +0200 | <Uniaika> | go with WAI and Warp then |
2020-09-30 15:43:23 +0200 | <Uniaika> | Godspeed! |
2020-09-30 15:43:37 +0200 | <motte> | alright, will check it out, thankss |
2020-09-30 15:43:48 +0200 | <hc> | lol, you don't need to understand any more type theory for servant than you do for getting along with warp/wai |
2020-09-30 15:44:05 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
2020-09-30 15:44:21 +0200 | <hc> | I mean, servant is already implemented; there are good howtos on how to use it |
2020-09-30 15:44:51 +0200 | <motte> | oh, also, i plan to keep the credentials in a /etc/shadow -like text file. anything for that? |
2020-09-30 15:44:52 +0200 | glguy | (x@freenode/staff/haskell.developer.glguy) (Read error: Connection reset by peer) |
2020-09-30 15:45:01 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
2020-09-30 15:45:15 +0200 | <Uniaika> | hc: I did not mention type theory, I mentionned type-level programming - which is widely different |
2020-09-30 15:45:17 +0200 | glguy | (x@freenode/staff/haskell.developer.glguy) |
2020-09-30 15:45:29 +0200 | <Uniaika> | at least type theory doesn't bring type error messages that are scary as shit |
2020-09-30 15:45:53 +0200 | <Uniaika> | motte: why don't you hash+salt them in a SQL row? |
2020-09-30 15:46:51 +0200 | aveltras | (uid364989@gateway/web/irccloud.com/x-ituvpedwywfixetm) |
2020-09-30 15:47:11 +0200 | sword865 | (uid208942@gateway/web/irccloud.com/x-ifbndlqlczbvfcan) (Quit: Connection closed for inactivity) |
2020-09-30 15:48:24 +0200 | <motte> | Uniaika: it's a pretty simple application, i don't think i need a database. just 1 configuration file for authorization and something for authentication |
2020-09-30 15:48:47 +0200 | <Uniaika> | well you can use a SQLite database if you don't want to bother with a DBMS :) |
2020-09-30 15:49:03 +0200 | <Uniaika> | I don't know if the /etc/shadow algorithm has an implementation in Haskell |
2020-09-30 15:49:04 +0200 | <motte> | i pretty much already have the whole thing implemented using mqtt, but then i realized i sometimes need to send responses as well |
2020-09-30 15:49:11 +0200 | <Uniaika> | that being said, it can be a fantastic side-project :P |
2020-09-30 15:49:40 +0200 | <motte> | in mqtt's case i let the broker deal with authentication |
2020-09-30 15:53:32 +0200 | Lodle | (~Lodle@s91904426.blix.com) (Remote host closed the connection) |
2020-09-30 15:53:44 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2020-09-30 15:54:51 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2020-09-30 15:55:27 +0200 | Clough | (~Cain@190.121.220.203.dial.dynamic.acc01-fenw-glg.comindico.com.au) (Read error: Connection reset by peer) |
2020-09-30 15:55:34 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 15:58:15 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 15:59:21 +0200 | nkly | (~nkly@2a02:8109:9a80:a74:201:2eff:fe81:c6dd) |
2020-09-30 15:59:27 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:b4e9:399f:908f:6639) (Ping timeout: 240 seconds) |
2020-09-30 16:00:13 +0200 | jgt | (~jgt@188.239.64.32) (Ping timeout: 264 seconds) |
2020-09-30 16:00:34 +0200 | isovector1 | (~isovector@172.103.216.166) |
2020-09-30 16:01:01 +0200 | Amras | (~Amras@unaffiliated/amras0000) |
2020-09-30 16:01:07 +0200 | wonko7 | (~wonko7@2a01:e35:2ffb:36a0:8c5f:831a:4acc:45dd) (Ping timeout: 240 seconds) |
2020-09-30 16:03:08 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-09-30 16:03:58 +0200 | Wuzzy | (~Wuzzy@p5790e6f5.dip0.t-ipconnect.de) |
2020-09-30 16:04:36 +0200 | ph88 | (~ph88@213.23.78.154) (Ping timeout: 256 seconds) |
2020-09-30 16:05:23 +0200 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2020-09-30 16:05:37 +0200 | raehik | (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) |
2020-09-30 16:05:48 +0200 | <kuribas> | merijn: I was thinking to make a library to pre (post-) process aeson data before (after) parsing/generating. |
2020-09-30 16:05:57 +0200 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 260 seconds) |
2020-09-30 16:06:03 +0200 | <kuribas> | merijn: to move around fields. |
2020-09-30 16:06:26 +0200 | <kuribas> | merijn: in the best case in a typesafe way (using generics). |
2020-09-30 16:06:27 +0200 | <Uniaika> | kuribas: aren't there already hooks to do that? |
2020-09-30 16:06:49 +0200 | <kuribas> | Uniaika: you mean a handwritten parser? |
2020-09-30 16:07:00 +0200 | <Uniaika> | no, hooks in Aeson |
2020-09-30 16:07:02 +0200 | <Uniaika> | wait a sec |
2020-09-30 16:08:22 +0200 | ystael | (~ystael@209.6.50.55) |
2020-09-30 16:08:26 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 16:09:07 +0200 | <Uniaika> | kuribas: https://hackage.haskell.org/package/aeson-1.4.6.0/docs/Data-Aeson.html#g:16 |
2020-09-30 16:09:12 +0200 | <Uniaika> | option fields |
2020-09-30 16:09:33 +0200 | <kuribas> | Uniaika: they only change the strings |
2020-09-30 16:09:41 +0200 | <kuribas> | Uniaika: I want to reorder the JSON |
2020-09-30 16:09:51 +0200 | <Uniaika> | wait, re-order it? |
2020-09-30 16:10:49 +0200 | <Uniaika> | kuribas: that's tricky because objects are unordered while arrays are |
2020-09-30 16:10:59 +0200 | <kuribas> | yeah, like {"subfield": {"x": 1, "y": 2}} => {"subfield_x": 1, "subfield_y": 2} |
2020-09-30 16:11:19 +0200 | <Uniaika> | ah that's different |
2020-09-30 16:11:26 +0200 | <Uniaika> | p. sure you can operate on the AST |
2020-09-30 16:11:39 +0200 | <Uniaika> | although, to be fair, I would just use DTOs for that |
2020-09-30 16:11:58 +0200 | <kuribas> | Uniaika: of course I can do Value -> Value, but I want something more principled, composable, and bidirectional. |
2020-09-30 16:12:09 +0200 | <Uniaika> | and an explicit translation from the first (direct mapping of the object) to the second (better for my business logic) |
2020-09-30 16:12:25 +0200 | <lortabac> | kuribas: lens-aeson ? |
2020-09-30 16:12:29 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:df5:637e:fad1:ac7) |
2020-09-30 16:12:36 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-09-30 16:12:50 +0200 | <kuribas> | lortabac: hmm, maybe an isomorphism? |
2020-09-30 16:13:16 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-09-30 16:13:25 +0200 | <lortabac> | oh, if you don't want Value -> Value then lens-aeson is probably not the right tool |
2020-09-30 16:16:33 +0200 | <kuribas> | well, maybe just Endo Value |
2020-09-30 16:16:45 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-09-30 16:17:46 +0200 | random | (~random@185.219.70.106) (Read error: Connection reset by peer) |
2020-09-30 16:18:27 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 16:19:07 +0200 | Amras | (~Amras@unaffiliated/amras0000) |
2020-09-30 16:19:25 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds) |
2020-09-30 16:20:54 +0200 | Sanchayan | (~Sanchayan@223.226.111.203) (Quit: leaving) |
2020-09-30 16:21:14 +0200 | notzmv`` | (~user@177.45.26.174) |
2020-09-30 16:22:47 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 16:23:12 +0200 | kuribas | (~user@ptr-25vy0i8if8811202m3x.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2020-09-30 16:24:43 +0200 | notzmv` | (~user@177.45.26.174) (Ping timeout: 265 seconds) |
2020-09-30 16:24:55 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 246 seconds) |
2020-09-30 16:25:26 +0200 | obruT1 | (~obruT@84.39.117.57) |
2020-09-30 16:25:36 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 16:28:33 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 16:29:36 +0200 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
2020-09-30 16:30:33 +0200 | tbreslein | (~tbreslein@2a02:8108:140:44f8::901) (Remote host closed the connection) |
2020-09-30 16:30:50 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-09-30 16:31:49 +0200 | tbreslein | (~tbreslein@2a02:8108:140:44f8::901) |
2020-09-30 16:32:35 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 16:33:29 +0200 | darjeeling_ | (~darjeelin@122.245.121.113) (Ping timeout: 256 seconds) |
2020-09-30 16:34:20 +0200 | darjeeling_ | (~darjeelin@122.245.121.113) |
2020-09-30 16:38:39 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 16:40:35 +0200 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2020-09-30 16:41:30 +0200 | mirrorbird | (~psutcliff@2a00:801:3fb:53b9:b09b:cd4e:4e4a:44a9) |
2020-09-30 16:43:34 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2020-09-30 16:45:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 16:47:24 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 16:48:54 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 16:51:47 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-09-30 16:53:28 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 16:54:46 +0200 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) () |
2020-09-30 16:55:38 +0200 | raichoo | (~raichoo@213.240.178.58) (Quit: Lost terminal) |
2020-09-30 16:58:03 +0200 | ddellacosta | (~dd@86.106.121.168) |
2020-09-30 16:58:10 +0200 | glguy_ | (x@freenode/staff/haskell.developer.glguy) |
2020-09-30 16:58:10 +0200 | glguy | Guest34587 |
2020-09-30 16:58:10 +0200 | Guest34587 | (x@freenode/staff/haskell.developer.glguy) (Killed (moon.freenode.net (Nickname regained by services))) |
2020-09-30 16:58:10 +0200 | glguy_ | glguy |
2020-09-30 16:59:00 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 17:00:01 +0200 | obruT1 | (~obruT@84.39.117.57) () |
2020-09-30 17:00:49 +0200 | mac10688 | (~mac10688@c-76-115-116-76.hsd1.or.comcast.net) (Ping timeout: 264 seconds) |
2020-09-30 17:01:14 +0200 | mac10688 | (~mac10688@c-76-115-116-76.hsd1.or.comcast.net) |
2020-09-30 17:01:34 +0200 | aarvar | (~foewfoiew@50.35.43.33) |
2020-09-30 17:01:35 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-09-30 17:01:55 +0200 | coot | (~coot@37.30.51.172.nat.umts.dynamic.t-mobile.pl) |
2020-09-30 17:03:03 +0200 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2020-09-30 17:03:49 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-09-30 17:04:44 +0200 | <zincy_> | Is there a name for this? You have a N x N matrix and have a set of instructions to update elements in the grid |
2020-09-30 17:05:08 +0200 | <zincy_> | startCol, endCol, startRow, endRow |
2020-09-30 17:05:47 +0200 | <zincy_> | And a function to update each element |
2020-09-30 17:05:47 +0200 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds) |
2020-09-30 17:05:56 +0200 | Lord_of_Life_ | Lord_of_Life |
2020-09-30 17:06:20 +0200 | <zincy_> | So you can compose transformations on given coordinates in the grid by sequencing instructions |
2020-09-30 17:09:05 +0200 | borne | (~fritjof@200116b864837e00537d5cc8226f9d9f.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
2020-09-30 17:09:15 +0200 | <merijn> | zincy_: Array comprehensions? :p |
2020-09-30 17:10:08 +0200 | <zincy_> | hehe |
2020-09-30 17:10:58 +0200 | <merijn> | zincy_: Kinda serious |
2020-09-30 17:11:00 +0200 | <merijn> | zincy_: http://www.sac-home.org/lib/exe/fetch.php?media=docs:tutorial.pdf |
2020-09-30 17:11:20 +0200 | <merijn> | See chapter 4 on with loops |
2020-09-30 17:12:30 +0200 | <merijn> | "tensor comprehensions" are also somewhat related |
2020-09-30 17:13:03 +0200 | spew | (uid195861@gateway/web/irccloud.com/x-jsbpggyredzfkvod) |
2020-09-30 17:13:22 +0200 | <zincy_> | thanks! |
2020-09-30 17:14:09 +0200 | <merijn> | zincy_: The various SaC papers should also talk a bit about fusing stuff like that together |
2020-09-30 17:15:52 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 17:17:09 +0200 | <[exa]> | anyone on windows with working vscode integration? |
2020-09-30 17:19:18 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 17:19:29 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-09-30 17:19:49 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 17:19:55 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-09-30 17:21:20 +0200 | chx | (~chx@185.204.1.185) |
2020-09-30 17:22:16 +0200 | lordcirth_ | (~lordcirth@2607:f2c0:95a8:ef00:b128:6022:758c:dbc) |
2020-09-30 17:22:39 +0200 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-unnsmhewxbfoaung) |
2020-09-30 17:23:07 +0200 | <sm[m]> | I'm on mac with working vscode & haskell exts.. |
2020-09-30 17:25:53 +0200 | todda7 | (~torstein@athedsl-4367507.home.otenet.gr) |
2020-09-30 17:26:41 +0200 | jespada | (~jespada@90.254.241.6) (Ping timeout: 260 seconds) |
2020-09-30 17:27:29 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2020-09-30 17:28:15 +0200 | ClaudiusMaximus | (~claude@198.123.199.146.dyn.plus.net) |
2020-09-30 17:28:46 +0200 | ClaudiusMaximus | (~claude@198.123.199.146.dyn.plus.net) (Changing host) |
2020-09-30 17:28:46 +0200 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2020-09-30 17:29:04 +0200 | jespada | (~jespada@90.254.241.6) |
2020-09-30 17:31:02 +0200 | <[exa]> | well I'm searching for "something that works without much effort" for 3-4 windows students, and don't have any windows handy to play with it |
2020-09-30 17:32:33 +0200 | bloodstalker | (~bloodstal@46.166.187.188) |
2020-09-30 17:33:15 +0200 | <sm[m]> | Stack + Vscode + haskell extension seems very likely the winner there |
2020-09-30 17:33:54 +0200 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) |
2020-09-30 17:35:45 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 17:36:27 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
2020-09-30 17:37:17 +0200 | coot | (~coot@37.30.51.172.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2020-09-30 17:37:50 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-09-30 17:38:07 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
2020-09-30 17:39:11 +0200 | <maerwald> | stack? |
2020-09-30 17:39:14 +0200 | <maerwald> | on windows? |
2020-09-30 17:39:22 +0200 | <maerwald> | it has outdated msys2 |
2020-09-30 17:40:07 +0200 | <maerwald> | installing system dependencies requires dealing with pacman |
2020-09-30 17:40:27 +0200 | hackage | polysemy-video 0.1.0.0 - https://hackage.haskell.org/package/polysemy-video-0.1.0.0 (locallycompact) |
2020-09-30 17:41:00 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-09-30 17:41:17 +0200 | <zincy_> | merijn: SaC is cool, never heard of it before |
2020-09-30 17:41:40 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 17:42:36 +0200 | <sm[m]> | [exa] might let us know |
2020-09-30 17:42:43 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 17:42:52 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 17:43:20 +0200 | gtomas | (~gtomas@a89-153-131-85.cpe.netcabo.pt) |
2020-09-30 17:43:53 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:2975:3225:75da:b702) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 17:45:19 +0200 | notzmv`` | notzmv |
2020-09-30 17:45:27 +0200 | notzmv | (~user@177.45.26.174) (Changing host) |
2020-09-30 17:45:27 +0200 | notzmv | (~user@unaffiliated/zmv) |
2020-09-30 17:45:48 +0200 | <[exa]> | yeah that's why I'm asking, they gave up on stack |
2020-09-30 17:45:59 +0200 | <[exa]> | b/c installing it failed for like 3 times |
2020-09-30 17:46:04 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-09-30 17:46:05 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
2020-09-30 17:47:28 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:e5aa:7dfa:231a:59a4) |
2020-09-30 17:48:09 +0200 | <lordcirth_> | [exa], Win10? Wouldn't WSL be the best? |
2020-09-30 17:48:45 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 17:50:06 +0200 | <[exa]> | does that work with VS Code? |
2020-09-30 17:52:37 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 17:52:42 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 17:53:05 +0200 | <lordcirth_> | Probably? |
2020-09-30 17:54:32 +0200 | ubert | (~Thunderbi@91.141.2.105.wireless.dyn.drei.com) |
2020-09-30 17:56:10 +0200 | <[exa]> | hm okay :] |
2020-09-30 17:56:38 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 256 seconds) |
2020-09-30 17:57:28 +0200 | polyrain | (~polyrain@2001:8003:e501:6901:988a:949a:6cb6:3522) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 17:58:25 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds) |
2020-09-30 17:58:54 +0200 | gtomas | (~gtomas@a89-153-131-85.cpe.netcabo.pt) (Quit: gtomas) |
2020-09-30 17:59:04 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:e5aa:7dfa:231a:59a4) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 17:59:57 +0200 | hackage | aeson-value-parser 0.19.3 - API for parsing "aeson" JSON tree into Haskell types https://hackage.haskell.org/package/aeson-value-parser-0.19.3 (NikitaVolkov) |
2020-09-30 18:00:00 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-owzahvktatqyicxd) |
2020-09-30 18:02:11 +0200 | mu__ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 18:02:22 +0200 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
2020-09-30 18:02:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 18:06:30 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:19c6:af75:179d:46af) |
2020-09-30 18:06:35 +0200 | aveltras | (uid364989@gateway/web/irccloud.com/x-ituvpedwywfixetm) (Quit: Connection closed for inactivity) |
2020-09-30 18:06:37 +0200 | cpressey | (~cpressey@79-72-200-19.dynamic.dsl.as9105.com) (Quit: WeeChat 1.9.1) |
2020-09-30 18:08:28 +0200 | hackage | path-dhall-instance 0.1.0.1 - ToDhall and FromDhall instances for Path. https://hackage.haskell.org/package/path-dhall-instance-0.1.0.1 (locallycompact) |
2020-09-30 18:09:26 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 18:09:54 +0200 | lordcirth_ | (~lordcirth@2607:f2c0:95a8:ef00:b128:6022:758c:dbc) ("Leaving") |
2020-09-30 18:09:58 +0200 | hackage | polysemy-video 0.1.0.1 - https://hackage.haskell.org/package/polysemy-video-0.1.0.1 (locallycompact) |
2020-09-30 18:10:22 +0200 | xlei | (znc@unaffiliated/xlei) (Quit: ZNC - https://znc.in) |
2020-09-30 18:11:01 +0200 | troydm | (~troydm@unaffiliated/troydm) (Ping timeout: 264 seconds) |
2020-09-30 18:12:15 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 18:12:48 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 18:12:57 +0200 | hackage | path-dhall-instance 0.1.1.0 - ToDhall and FromDhall instances for Path. https://hackage.haskell.org/package/path-dhall-instance-0.1.1.0 (locallycompact) |
2020-09-30 18:16:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-09-30 18:16:57 +0200 | machinedgod | (~machinedg@d67-193-126-196.home3.cgocable.net) |
2020-09-30 18:17:12 +0200 | somek | (b55ebc21@181.94.188.33) |
2020-09-30 18:18:54 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-09-30 18:19:07 +0200 | nshepperd | (~nshepperd@pool-96-239-61-124.nycmny.fios.verizon.net) |
2020-09-30 18:22:27 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 18:22:47 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 18:23:57 +0200 | hackage | refinery 0.2.0.0 - Toolkit for building proof automation systems https://hackage.haskell.org/package/refinery-0.2.0.0 (ReedMullanix) |
2020-09-30 18:24:13 +0200 | blase | (~blase@4e69b241.skybroadband.com) |
2020-09-30 18:24:22 +0200 | troydm | (~troydm@unaffiliated/troydm) |
2020-09-30 18:25:27 +0200 | kish | (~oracle@unaffiliated/oracle) |
2020-09-30 18:25:28 +0200 | blase_ | (~blase@4e69b241.skybroadband.com) (Ping timeout: 256 seconds) |
2020-09-30 18:26:01 +0200 | ski | (~ski@m-1163-19.studat.chalmers.se) (Ping timeout: 264 seconds) |
2020-09-30 18:29:27 +0200 | dhil | (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 240 seconds) |
2020-09-30 18:29:55 +0200 | geekosaur | (42d52102@66.213.33.2) |
2020-09-30 18:32:37 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 18:32:43 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 18:33:01 +0200 | knupfer | (~Thunderbi@200116b82ca43f00a81888fffe30a4cb.dip.versatel-1u1.de) |
2020-09-30 18:33:01 +0200 | knupfer | (~Thunderbi@200116b82ca43f00a81888fffe30a4cb.dip.versatel-1u1.de) (Client Quit) |
2020-09-30 18:33:12 +0200 | knupfer | (~Thunderbi@mue-88-130-61-186.dsl.tropolys.de) |
2020-09-30 18:33:26 +0200 | lucid_0x80 | (~lucid_0x8@188.253.231.113) |
2020-09-30 18:33:40 +0200 | motherfsck | (~motherfsc@unaffiliated/motherfsck) (Quit: quit) |
2020-09-30 18:34:08 +0200 | lucid_0x80 | (~lucid_0x8@188.253.231.113) (Client Quit) |
2020-09-30 18:35:44 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-snlzgsknnstcsppe) |
2020-09-30 18:37:07 +0200 | tzh | (~tzh@2601:448:c500:5300::4b20) |
2020-09-30 18:37:43 +0200 | snakemasterflex | (~snakemast@213.100.206.23) |
2020-09-30 18:42:15 +0200 | mu__ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 18:42:41 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 18:45:07 +0200 | todda7 | (~torstein@athedsl-4367507.home.otenet.gr) (Ping timeout: 240 seconds) |
2020-09-30 18:46:04 +0200 | blackfield | (~blackfiel@unaffiliated/blackfield) ("Leaving") |
2020-09-30 18:47:31 +0200 | ski | (~ski@129.16.53.148) |
2020-09-30 18:49:12 +0200 | coot | (~coot@37.30.34.146.nat.umts.dynamic.t-mobile.pl) |
2020-09-30 18:49:18 +0200 | conal | (~conal@198.8.81.205) |
2020-09-30 18:49:32 +0200 | todda7 | (~torstein@athedsl-4367507.home.otenet.gr) |
2020-09-30 18:49:59 +0200 | <AWizzArd> | Is there a study/statistics about unqualified imports? Such as `import Data.Text` without explicitly listing the FNs or Types we want. |
2020-09-30 18:50:28 +0200 | <AWizzArd> | Maybe somebody has analyzed/counted this on Hackage. |
2020-09-30 18:51:31 +0200 | <AWizzArd> | Also, how to import all constructors? a) import Foo (Bar(..)) or b) import Foo (Bar (..)) b has a space after `Bar`. |
2020-09-30 18:52:11 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 18:52:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 18:52:47 +0200 | ski | 'd go for the space |
2020-09-30 18:53:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2020-09-30 18:53:42 +0200 | <AWizzArd> | ski: I also like b) with the space more. |
2020-09-30 18:55:03 +0200 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 258 seconds) |
2020-09-30 18:55:58 +0200 | machinedgod | (~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 260 seconds) |
2020-09-30 18:57:53 +0200 | Turmfalke | (~user@unaffiliated/siracusa) |
2020-09-30 18:59:25 +0200 | <monochrom> | I use (a) |
2020-09-30 18:59:43 +0200 | xlei | (znc@unaffiliated/xlei) |
2020-09-30 18:59:58 +0200 | <monochrom> | Thank you for having a space after Foo though :) |
2020-09-30 19:01:04 +0200 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
2020-09-30 19:01:13 +0200 | <monochrom> | It is not important at all but I like the consistently-having-a-space over both "import M (f)" and "import M hiding (f)", i.e., I wouldn't "import M hiding(f)". |
2020-09-30 19:01:57 +0200 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-09-30 19:02:13 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 19:02:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-09-30 19:02:31 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Quit: Lost terminal) |
2020-09-30 19:02:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 19:02:56 +0200 | nineonin_ | (~nineonine@50.216.62.2) (Ping timeout: 256 seconds) |
2020-09-30 19:03:51 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) |
2020-09-30 19:04:35 +0200 | voyons_calice | (~dan@162.246.216.28) |
2020-09-30 19:04:48 +0200 | fendor | (~fendor@77.119.131.134.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-09-30 19:05:46 +0200 | fendor | (~fendor@77.119.131.134.wireless.dyn.drei.com) |
2020-09-30 19:07:26 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) (Ping timeout: 272 seconds) |
2020-09-30 19:07:40 +0200 | nineonine | (~nineonine@50.216.62.2) |
2020-09-30 19:08:08 +0200 | vicfred_ | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2020-09-30 19:08:50 +0200 | Amras | (~Amras@unaffiliated/amras0000) |
2020-09-30 19:09:07 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-09-30 19:09:41 +0200 | fendor | (~fendor@77.119.131.134.wireless.dyn.drei.com) (Client Quit) |
2020-09-30 19:10:27 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds) |
2020-09-30 19:11:52 +0200 | <sm[m]> | [exa]: hard to say more without details, but stack was having some net failures recently |
2020-09-30 19:12:00 +0200 | voyons_calice | (~dan@162.246.216.28) (Ping timeout: 256 seconds) |
2020-09-30 19:12:12 +0200 | motersen | (~user@2001-4dd1-ce19-0-41b8-8f35-edf5-ff23.ipv6dyn.netcologne.de) |
2020-09-30 19:12:12 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 19:12:20 +0200 | isovector1 | (~isovector@172.103.216.166) (Read error: Connection reset by peer) |
2020-09-30 19:12:43 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 19:13:30 +0200 | hiroaki | (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) |
2020-09-30 19:17:28 +0200 | kish | (~oracle@unaffiliated/oracle) (Ping timeout: 246 seconds) |
2020-09-30 19:18:47 +0200 | kish | (~oracle@unaffiliated/oracle) |
2020-09-30 19:20:07 +0200 | coot | (~coot@37.30.34.146.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds) |
2020-09-30 19:22:11 +0200 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-09-30 19:22:11 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 19:22:30 +0200 | coot | (~coot@37.30.59.214.nat.umts.dynamic.t-mobile.pl) |
2020-09-30 19:22:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 19:23:19 +0200 | machinedgod | (~machinedg@45.78.189.122) |
2020-09-30 19:24:12 +0200 | gwiley | (~gwiley@2606:ae80:1c10:130::175) |
2020-09-30 19:24:15 +0200 | gwiley | (~gwiley@2606:ae80:1c10:130::175) (Client Quit) |
2020-09-30 19:26:29 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 19:26:56 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 19:30:22 +0200 | ADG1089 | (uid455466@gateway/web/irccloud.com/x-wfsqzgfoscwuqfvc) |
2020-09-30 19:30:47 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2020-09-30 19:30:48 +0200 | dhil | (~dhil@11.29.39.217.dyn.plus.net) |
2020-09-30 19:30:51 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 19:32:41 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 19:32:50 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 19:33:08 +0200 | rustisafungus | (~rustisafu@2602:306:cd3c:9350:210f:c391:77b9:29cb) |
2020-09-30 19:35:56 +0200 | nineonin_ | (~nineonine@216.81.48.202) |
2020-09-30 19:37:51 +0200 | rustisafungus | (~rustisafu@2602:306:cd3c:9350:210f:c391:77b9:29cb) (Quit: Leaving) |
2020-09-30 19:38:47 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 19:38:57 +0200 | hackage | base-compat 0.11.2 - A compatibility layer for base https://hackage.haskell.org/package/base-compat-0.11.2 (ryanglscott) |
2020-09-30 19:39:13 +0200 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 260 seconds) |
2020-09-30 19:39:50 +0200 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2020-09-30 19:39:57 +0200 | hackage | base-compat-batteries 0.11.2 - base-compat with extra batteries https://hackage.haskell.org/package/base-compat-batteries-0.11.2 (ryanglscott) |
2020-09-30 19:40:57 +0200 | hackage | wordn 0.1.0.0 - arbitrary bit size Words https://hackage.haskell.org/package/wordn-0.1.0.0 (goolord) |
2020-09-30 19:42:13 +0200 | mu__ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 19:42:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 19:43:26 +0200 | <maerwald> | sm[m]: haha |
2020-09-30 19:43:35 +0200 | <maerwald> | I had that too and gave up |
2020-09-30 19:43:47 +0200 | dyeplexer | (~lol@unaffiliated/terpin) (Remote host closed the connection) |
2020-09-30 19:43:57 +0200 | hackage | scotty-form 0.3.0.0 - Html form validation using `ditto` https://hackage.haskell.org/package/scotty-form-0.3.0.0 (goolord) |
2020-09-30 19:44:36 +0200 | <maerwald> | but that's rather an amazon problem I think |
2020-09-30 19:44:39 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-09-30 19:45:05 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-09-30 19:46:00 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) (Quit: WeeChat 2.9) |
2020-09-30 19:46:02 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 258 seconds) |
2020-09-30 19:46:28 +0200 | hackage | base-orphans 0.8.3 - Backwards-compatible orphan instances for base https://hackage.haskell.org/package/base-orphans-0.8.3 (ryanglscott) |
2020-09-30 19:47:22 +0200 | sw1nn | (~sw1nn@host86-173-104-87.range86-173.btcentralplus.com) |
2020-09-30 19:47:55 +0200 | <maerwald> | the only time when I was on windows and thought "stack might be better here" I was disappointed |
2020-09-30 19:48:58 +0200 | jchia_ | (~jchia@58.32.37.220) (Quit: Leaving.) |
2020-09-30 19:50:17 +0200 | JoelMcCracken[m] | (joelmccrac@gateway/shell/matrix.org/x-fkrjmkjfhjvsypdi) |
2020-09-30 19:50:39 +0200 | <glguy> | Because it was or wasn't? :) |
2020-09-30 19:51:02 +0200 | <maerwald> | it wasn't and I ended up using chocolatey, which was broken with 8.10.2 though or something |
2020-09-30 19:51:10 +0200 | somek | (b55ebc21@181.94.188.33) (Remote host closed the connection) |
2020-09-30 19:51:22 +0200 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 19:52:21 +0200 | chaosmasttter | (~chaosmast@p200300c4a70aba018412238bea948280.dip0.t-ipconnect.de) |
2020-09-30 19:52:21 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 19:52:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 19:54:58 +0200 | zacts | (~zacts@dragora/developer/zacts) (Quit: leaving) |
2020-09-30 19:54:59 +0200 | <sm[m]> | it was just a transient net failure, they fixed it both on the server and released a stack upgrade to make it less net dependent |
2020-09-30 19:55:27 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2020-09-30 19:55:55 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-09-30 19:57:10 +0200 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2020-09-30 19:58:28 +0200 | ransom | (~c4264035@2601:285:201:6720:4491:37d9:f3b2:caef) |
2020-09-30 19:58:55 +0200 | <sm[m]> | detail: https://github.com/commercialhaskell/stack/issues/5387#issuecomment-697159635 |
2020-09-30 20:00:02 +0200 | chx | (~chx@185.204.1.185) () |
2020-09-30 20:00:11 +0200 | <maerwald> | I'm still looking for the stack issue that explains why it re-clones the same repo multiple times if there are multiple subdirectories |
2020-09-30 20:00:13 +0200 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 258 seconds) |
2020-09-30 20:00:37 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:df5:637e:fad1:ac7) (Ping timeout: 244 seconds) |
2020-09-30 20:01:23 +0200 | <maerwald> | example: https://git.io/JUyU8 |
2020-09-30 20:01:40 +0200 | <maerwald> | this takes 30 minutes to clone, because it keeps cloning the same repos over and over again |
2020-09-30 20:01:45 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-09-30 20:02:33 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.) |
2020-09-30 20:02:33 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 20:02:42 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 20:05:00 +0200 | elliott_ | (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
2020-09-30 20:05:33 +0200 | conal | (~conal@198.8.81.205) (Quit: Computer has gone to sleep.) |
2020-09-30 20:05:47 +0200 | John20 | (~John@82.46.59.122) (Ping timeout: 240 seconds) |
2020-09-30 20:05:52 +0200 | ggole | (~ggole@2001:8003:8119:7200:f871:c0ad:b761:dbf4) (Quit: Leaving) |
2020-09-30 20:06:58 +0200 | conal | (~conal@198.8.81.205) |
2020-09-30 20:06:58 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-09-30 20:08:07 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 20:08:52 +0200 | alp | (~alp@2a01:e0a:58b:4920:bc07:244b:4df4:499a) (Ping timeout: 260 seconds) |
2020-09-30 20:09:14 +0200 | geekosaur | (42d52102@66.213.33.2) (Ping timeout: 245 seconds) |
2020-09-30 20:09:38 +0200 | delimax | (max@gateway/vpn/protonvpn/delimax) |
2020-09-30 20:11:39 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:19c6:af75:179d:46af) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 20:12:36 +0200 | mu__ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 20:12:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 20:12:57 +0200 | hackage | Z-Data 0.1.4.1 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.4.1 (winterland) |
2020-09-30 20:13:20 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:995e:484:bdc6:4ac4) |
2020-09-30 20:14:10 +0200 | avdb | (~avdb@ip-81-11-153-13.dsl.scarlet.be) |
2020-09-30 20:14:22 +0200 | <glguy> | I know this is oddly specific, but I'm wondering if it might ring any bells. I'm finding that if I run my IRC client on Ubuntu (rather than macOS), using GHC 8.6.5 (rather than 8.10.2), connecting to ZNC (rather than directly to freenode) that I stop being able to send messages out to the server (I still receive them). If I change any of those three variables things work fine. I'm happy to just not support old GHC, but I'm just wondering if |
2020-09-30 20:14:22 +0200 | <glguy> | anyone knows about a funny interaction with networking in older GHC that might be relevant |
2020-09-30 20:15:25 +0200 | xff0x | (~fox@2001:1a81:53e7:fb00:9052:62db:4246:c379) (Ping timeout: 240 seconds) |
2020-09-30 20:15:41 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 20:15:52 +0200 | <sm[m]> | maerwald: sounds annoying.. report it I guess |
2020-09-30 20:16:13 +0200 | ubert | (~Thunderbi@91.141.2.105.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-09-30 20:16:25 +0200 | xff0x | (~fox@2001:1a81:53e7:fb00:a420:19f5:c0d1:188d) |
2020-09-30 20:18:13 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:dc69:a6e0:d077:5b95) |
2020-09-30 20:21:17 +0200 | Tops21 | (~Tobias@dyndsl-095-033-025-123.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2020-09-30 20:21:55 +0200 | acidjnk_new | (~acidjnk@p200300d0c72378337d49dd4f750ab9d4.dip0.t-ipconnect.de) |
2020-09-30 20:21:58 +0200 | hackage | generic-deriving 1.14 - Generic programming library for generalised deriving. https://hackage.haskell.org/package/generic-deriving-1.14 (ryanglscott) |
2020-09-30 20:22:10 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 20:22:15 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) |
2020-09-30 20:22:39 +0200 | <koz_> | glguy: That has to be one of the most specific errors I have ever heard. |
2020-09-30 20:22:39 +0200 | dhouthoo | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.8) |
2020-09-30 20:22:41 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 20:23:32 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:dc69:a6e0:d077:5b95) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 20:23:58 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-09-30 20:26:20 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 20:26:40 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) |
2020-09-30 20:27:30 +0200 | ransom | (~c4264035@2601:285:201:6720:4491:37d9:f3b2:caef) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 20:28:54 +0200 | <sm[m]> | glguy: compare the versions and changelogs of likely libs (network, ...) ? |
2020-09-30 20:29:17 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 20:29:18 +0200 | nbloomf | (~nbloomf@2600:1700:83e0:1f40:51e3:d2:c653:ccbb) |
2020-09-30 20:30:44 +0200 | <maerwald> | yeah, you can compare plan.json |
2020-09-30 20:30:49 +0200 | nckx | (~nckx@tobias.gr) (Ping timeout: 264 seconds) |
2020-09-30 20:31:01 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-09-30 20:31:05 +0200 | aldum | (~vishera@aldum.pw) (Ping timeout: 240 seconds) |
2020-09-30 20:31:22 +0200 | geekosaur | (42d52102@66.213.33.2) |
2020-09-30 20:32:15 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 20:32:24 +0200 | <glguy> | In my case the library versions are all visible through the --full-version flag :) |
2020-09-30 20:32:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 20:33:43 +0200 | <glguy> | if I could only remember which VM I was using... |
2020-09-30 20:33:51 +0200 | <sm[m]> | of the executable ? nice one |
2020-09-30 20:34:22 +0200 | <glguy> | ?paste |
2020-09-30 20:34:22 +0200 | <lambdabot> | A pastebin: https://paste.debian.net/ |
2020-09-30 20:34:30 +0200 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-09-30 20:34:32 +0200 | mirrorbird | (~psutcliff@2a00:801:3fb:53b9:b09b:cd4e:4e4a:44a9) (Remote host closed the connection) |
2020-09-30 20:34:47 +0200 | <glguy> | https://paste.tomsmeding.com/4wA71uVU |
2020-09-30 20:34:51 +0200 | texasmynsted | (b9e53b1b@185.229.59.27) |
2020-09-30 20:34:52 +0200 | kish | (~oracle@unaffiliated/oracle) (Quit: Leaving) |
2020-09-30 20:36:22 +0200 | <texasmynsted> | I am trying to determine what hlint thinks I have done wrong with my code. I have tried the same code a few different ways but the result is the same. |
2020-09-30 20:36:41 +0200 | <[exa]> | texasmynsted: pls pastebin an example |
2020-09-30 20:36:43 +0200 | kritzefitz | (~kritzefit@212.86.56.80) |
2020-09-30 20:36:54 +0200 | <texasmynsted> | https://gist.github.com/mmynsted/0465fbc9f253231d7a04b1370b7e946f |
2020-09-30 20:37:19 +0200 | <texasmynsted> | [exa] There is the code in a gist |
2020-09-30 20:38:31 +0200 | <texasmynsted> | Says parse error. |
2020-09-30 20:38:51 +0200 | <glguy> | you forgot to put the error in the past |
2020-09-30 20:38:57 +0200 | <glguy> | paste* |
2020-09-30 20:39:17 +0200 | <texasmynsted> | overloaded strings is the only extension active OverloadedStrings |
2020-09-30 20:39:25 +0200 | <texasmynsted> | I updated |
2020-09-30 20:39:35 +0200 | <texasmynsted> | "parse error" |
2020-09-30 20:39:40 +0200 | <glguy> | did you truncate the rror? |
2020-09-30 20:39:53 +0200 | Cerise | (~jerry@unaffiliated/cerise) (Ping timeout: 260 seconds) |
2020-09-30 20:39:55 +0200 | <glguy> | (I truncated error on purpose there...) |
2020-09-30 20:40:01 +0200 | <geekosaur> | which line is 183? |
2020-09-30 20:40:08 +0200 | <tbreslein> | which line is that in your example? |
2020-09-30 20:40:16 +0200 | <glguy> | Because when I run hlint on that code I get a more useful error |
2020-09-30 20:40:46 +0200 | <texasmynsted> | oh. Hey. I would like to get more useful errors. |
2020-09-30 20:40:57 +0200 | <glguy> | The whole error is: /Users/emertens/Temp.hs:4:41-47: Error: Parse error: on input `pattern' |
2020-09-30 20:41:06 +0200 | <glguy> | It doesn't like you using the identifier pattern |
2020-09-30 20:41:21 +0200 | <glguy> | probably because of its role in PatternSynonyms |
2020-09-30 20:41:33 +0200 | <texasmynsted> | How do you get better error messages? |
2020-09-30 20:41:42 +0200 | <glguy> | upgrade your hlint I guess |
2020-09-30 20:41:47 +0200 | <texasmynsted> | verbose does not change the messages for me |
2020-09-30 20:42:04 +0200 | <glguy> | cabal install hlint |
2020-09-30 20:42:04 +0200 | <geekosaur> | which would be a bug in hlint, if that extension isn't present then it's not a reserved identifier AIUI |
2020-09-30 20:42:06 +0200 | <texasmynsted> | I am using HLint v2.2.3, (C) Neil Mitchell 2006-2019 |
2020-09-30 20:42:12 +0200 | <glguy> | texasmynsted: 3.2 is out |
2020-09-30 20:42:15 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 20:42:25 +0200 | <texasmynsted> | Hmm. |
2020-09-30 20:42:41 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 20:42:43 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 20:42:48 +0200 | <glguy> | hlint is pretty much "best effort" when it comes to parsing |
2020-09-30 20:42:50 +0200 | <texasmynsted> | I think I did cabal update and tried re-install yesterday. |
2020-09-30 20:42:56 +0200 | <texasmynsted> | How do I upgrade it correctly? |
2020-09-30 20:43:09 +0200 | <glguy> | you can try: cabal install hlint-3.2 # and see what complaints you get |
2020-09-30 20:43:18 +0200 | <texasmynsted> | Will do |
2020-09-30 20:43:31 +0200 | <geekosaur> | that said, it could be $PATH |
2020-09-30 20:43:56 +0200 | <geekosaur> | that is, it installed but the old one's earlier in $PATH so gets found first |
2020-09-30 20:43:58 +0200 | hackage | servant-serf 0.0.2 - Generates a servant API module https://hackage.haskell.org/package/servant-serf-0.0.2 (goolord) |
2020-09-30 20:44:13 +0200 | kori | (~kori@arrowheads/kori) (Ping timeout: 272 seconds) |
2020-09-30 20:44:13 +0200 | <glguy> | great point ^ |
2020-09-30 20:44:25 +0200 | <texasmynsted> | It is finding the one from $HOME/.cabal/bin/hlint |
2020-09-30 20:44:33 +0200 | aldessa | (~Hugh@host-2-103-12-241.as13285.net) |
2020-09-30 20:44:42 +0200 | <sm[m]> | number one cause of haskell trouble... |
2020-09-30 20:44:48 +0200 | <glguy> | hlint? :) |
2020-09-30 20:44:58 +0200 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 272 seconds) |
2020-09-30 20:44:59 +0200 | <sm[m]> | PATH :) |
2020-09-30 20:45:18 +0200 | <texasmynsted> | Well it seems it is finding the correct hlint |
2020-09-30 20:46:14 +0200 | avdb | (~avdb@ip-81-11-153-13.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-09-30 20:47:16 +0200 | <aldessa> | when you specify a license in package.yaml e.g. BSD3 does it automatically check if my license is compatible with all my dependencies |
2020-09-30 20:47:28 +0200 | <texasmynsted> | Attempting the upgrade. Maybe then I will get a different message. |
2020-09-30 20:47:47 +0200 | aldum | (~vishera@aldum.pw) |
2020-09-30 20:48:23 +0200 | <sm[m]> | aldessa: no |
2020-09-30 20:49:18 +0200 | <sm[m]> | That would be nice |
2020-09-30 20:49:37 +0200 | <glguy> | cabal-plan as a license report command that can help |
2020-09-30 20:49:55 +0200 | <Squarism> | Ouch. I've been out of the Nix loop long enough to forget easy things. I try to build my old project, that I remember was working last I checked. And get this error: |
2020-09-30 20:49:56 +0200 | <Squarism> | ghc: can't find a package database at /home/myuser/.cabal/store/ghc-8.6.5/package.db |
2020-09-30 20:50:01 +0200 | <texasmynsted> | I guess I need to add hlint comments to get it to avoid that section. |
2020-09-30 20:50:10 +0200 | <Squarism> | ...but there is a bunch of stuff there |
2020-09-30 20:50:31 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 20:50:38 +0200 | <glguy> | In my IRC client I have my Setup.hs abort if you attempt to build against something GPL, etc |
2020-09-30 20:51:35 +0200 | knupfer1 | (~Thunderbi@mue-88-130-61-186.dsl.tropolys.de) |
2020-09-30 20:51:35 +0200 | knupfer | (~Thunderbi@mue-88-130-61-186.dsl.tropolys.de) (Quit: knupfer) |
2020-09-30 20:51:35 +0200 | knupfer1 | knupfer |
2020-09-30 20:52:32 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 20:52:42 +0200 | <sm[m]> | glguy: slick.. any friction caused by having a custom Setup.hs ? |
2020-09-30 20:52:43 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 20:52:58 +0200 | <glguy> | Not that I've experienced |
2020-09-30 20:53:46 +0200 | <aldessa> | is gplV3 the most compatible license? am I right in guessing I can use MIT/BSD dependencies in GPL programs? |
2020-09-30 20:53:58 +0200 | <texasmynsted> | wow building the ghc-lib-parser and no messages for a while now |
2020-09-30 20:54:05 +0200 | fendor | (~fendor@77.119.131.134.wireless.dyn.drei.com) |
2020-09-30 20:54:22 +0200 | <glguy> | It's part of the process of assembling the full-version output |
2020-09-30 20:55:21 +0200 | patryk_ | (~patryk_@84.39.117.57) |
2020-09-30 20:55:53 +0200 | <texasmynsted> | okay back to progress |
2020-09-30 20:56:01 +0200 | <glguy> | aldessa: depends if you're making a library or executable |
2020-09-30 20:56:09 +0200 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2020-09-30 20:56:29 +0200 | <glguy> | If you're making a library most of the Haskell ecosystem won't be able to use your library if it's gpl |
2020-09-30 20:57:04 +0200 | <Clint> | "won't" |
2020-09-30 20:57:58 +0200 | ryantrinkle | (~ryan@cpe-68-173-35-198.nyc.res.rr.com) () |
2020-09-30 20:57:59 +0200 | <aldessa> | i'm making an executable but it would be nice if someone needed the code that they code reuse it |
2020-09-30 20:58:09 +0200 | <aldessa> | could* |
2020-09-30 20:58:47 +0200 | danvet_ | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 240 seconds) |
2020-09-30 20:58:55 +0200 | <texasmynsted> | Okay I get the better error message now about how there is: "Parse error: on input `pattern'" |
2020-09-30 20:59:42 +0200 | <texasmynsted> | I guess this is a bug? I do now see what would be wrong with that input. |
2020-09-30 21:00:07 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 240 seconds) |
2020-09-30 21:00:28 +0200 | p0a | (~user@unaffiliated/p0a) |
2020-09-30 21:00:30 +0200 | <solonarv> | perhaps you forgot to enable a language extension? (the relevant one would be PatternSynonyms) |
2020-09-30 21:00:58 +0200 | <p0a> | Hello how can I compile GHC from source? |
2020-09-30 21:00:59 +0200 | <geekosaur> | no, the point is it's disabled and "pattern" should not be a keyword, but hlint thinks it is |
2020-09-30 21:01:28 +0200 | hackage | servant-serf 0.0.3 - Generates a servant API module https://hackage.haskell.org/package/servant-serf-0.0.3 (goolord) |
2020-09-30 21:01:39 +0200 | <texasmynsted> | oh |
2020-09-30 21:01:56 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 256 seconds) |
2020-09-30 21:02:36 +0200 | mu__ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 21:02:39 +0200 | <fendor> | p0a, https://gitlab.haskell.org/ghc/ghc and https://gitlab.haskell.org/ghc/ghc/-/wikis/building |
2020-09-30 21:02:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 21:02:45 +0200 | <texasmynsted> | Okay yes. I change the name and it works |
2020-09-30 21:02:47 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 21:03:05 +0200 | <texasmynsted> | So how did you know that it thought that `pattern` was a reserved word? |
2020-09-30 21:03:13 +0200 | <texasmynsted> | I did not get that from the error message |
2020-09-30 21:03:56 +0200 | <geekosaur> | just from the fact that it errored on "pattern" and I know about the PatternSynonyms extension. same way glguy figured it out a couple pages of text back :) |
2020-09-30 21:04:01 +0200 | wanaks[m] | (wanaksmatr@gateway/shell/matrix.org/x-ypunfwqxglzxjffl) |
2020-09-30 21:04:37 +0200 | <glguy> | You just have to memorize all the ghc language extensions and have in mind where they overlap |
2020-09-30 21:04:45 +0200 | <glguy> | <_< easy |
2020-09-30 21:04:50 +0200 | <p0a> | fendor: thank you |
2020-09-30 21:05:05 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-09-30 21:05:06 +0200 | <geekosaur> | luckily few of them introduce new keywords |
2020-09-30 21:05:08 +0200 | <texasmynsted> | Pfffft. grrreat |
2020-09-30 21:05:13 +0200 | <texasmynsted> | lol. Thank you! |
2020-09-30 21:07:13 +0200 | alp | (~alp@2a01:e0a:58b:4920:7484:254:28d2:c14c) |
2020-09-30 21:07:51 +0200 | Cerise | (~jerry@natsumi.devzero.info) |
2020-09-30 21:07:51 +0200 | Cerise | (~jerry@natsumi.devzero.info) (Changing host) |
2020-09-30 21:07:51 +0200 | Cerise | (~jerry@unaffiliated/cerise) |
2020-09-30 21:07:53 +0200 | avdb | (~avdb@ip-81-11-153-13.dsl.scarlet.be) |
2020-09-30 21:08:28 +0200 | nckx | (~nckx@tobias.gr) |
2020-09-30 21:08:44 +0200 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-09-30 21:09:20 +0200 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-09-30 21:10:25 +0200 | machinedgod | (~machinedg@45.78.189.122) (Ping timeout: 264 seconds) |
2020-09-30 21:12:17 +0200 | mirrorbird | (~psutcliff@2a00:801:3fb:53b9:b09b:cd4e:4e4a:44a9) |
2020-09-30 21:12:17 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 21:12:36 +0200 | John20 | (~John@82.46.59.122) |
2020-09-30 21:12:43 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 21:13:27 +0200 | knupfer | (~Thunderbi@mue-88-130-61-186.dsl.tropolys.de) (Ping timeout: 240 seconds) |
2020-09-30 21:13:50 +0200 | cosimone | (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) |
2020-09-30 21:14:04 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 21:14:20 +0200 | avdb | (~avdb@ip-81-11-153-13.dsl.scarlet.be) (Ping timeout: 256 seconds) |
2020-09-30 21:15:02 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 21:17:33 +0200 | conal | (~conal@198.8.81.205) (Quit: Computer has gone to sleep.) |
2020-09-30 21:18:49 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2020-09-30 21:19:07 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-09-30 21:19:11 +0200 | tbreslein | (~tbreslein@2a02:8108:140:44f8::901) (Remote host closed the connection) |
2020-09-30 21:21:18 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) (Quit: WeeChat 2.3) |
2020-09-30 21:21:19 +0200 | texasmynsted | (b9e53b1b@185.229.59.27) (Ping timeout: 245 seconds) |
2020-09-30 21:22:24 +0200 | <p0a> | Hello, I have this code: https://paste.tomsmeding.com/Y6afnL1R |
2020-09-30 21:22:25 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 21:22:50 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 21:22:51 +0200 | <p0a> | The error is that you can't have Eq, Show, Read be derived for File', I believe due to HKD. What can I do? |
2020-09-30 21:23:27 +0200 | hackage | poly 0.5.0.0 - Polynomials https://hackage.haskell.org/package/poly-0.5.0.0 (Bodigrim) |
2020-09-30 21:24:35 +0200 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-09-30 21:25:15 +0200 | <p0a> | I think I have to somehow use `deriving' with specific instances but I don't know how to do that |
2020-09-30 21:25:31 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 21:25:35 +0200 | <tomsmeding> | p0a: the issue is that to derive e.g. Eq for File' f, it is required that Eq (KHD f FilePath), etc. also holds |
2020-09-30 21:26:04 +0200 | <tomsmeding> | for simple cases ghc can automatically generate the necessary contexts in the generated instance, but apparently in this case it can't |
2020-09-30 21:26:20 +0200 | <p0a> | How can I provide the instances for File? That's the one I want |
2020-09-30 21:27:11 +0200 | <p0a> | if I add `deriving' after `type File = File' Identity' I get a parsing error |
2020-09-30 21:27:33 +0200 | <tomsmeding> | indeed, adding 'deriving' after a tye synonym declaration is invalid syntax |
2020-09-30 21:27:39 +0200 | <tomsmeding> | however, you can do it like this: |
2020-09-30 21:27:55 +0200 | alp | (~alp@2a01:e0a:58b:4920:7484:254:28d2:c14c) (Ping timeout: 272 seconds) |
2020-09-30 21:28:15 +0200 | <tomsmeding> | https://paste.tomsmeding.com/okCA6gS4 |
2020-09-30 21:28:32 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
2020-09-30 21:28:32 +0200 | <tomsmeding> | StandaloneDeriving is to allow writing those, well, stand-alone 'deriving' statements |
2020-09-30 21:28:58 +0200 | <tomsmeding> | FlexibleInstances and TypeSynonymInstances is to be allowed to write an instance for a type synonym (i.e. File, as opposed to File') in the first place |
2020-09-30 21:29:18 +0200 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-09-30 21:29:21 +0200 | <p0a> | heh thank you |
2020-09-30 21:29:26 +0200 | tinga | (~tinga@5-168-208-80-pool.fiber.fcom.ch) |
2020-09-30 21:29:27 +0200 | <p0a> | that was tricky |
2020-09-30 21:29:48 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection) |
2020-09-30 21:29:49 +0200 | <tomsmeding> | (well really that's only TypeSynonymInstances; FlexibleInstances is then required because when expanding the File type synonym, the instance becomes Eq (File' Identity), and because that Identity is not a type variable, FlexibleInstances is needed) |
2020-09-30 21:29:53 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-09-30 21:30:10 +0200 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-09-30 21:30:22 +0200 | <tomsmeding> | generally when you want to derive instances that GHC doesn't do automatically, I try it as a standalone deriving statement |
2020-09-30 21:30:37 +0200 | <tomsmeding> | usually that will also not work (though sometimes it will), but then GHC tends to give better error messages |
2020-09-30 21:31:04 +0200 | <p0a> | hahah got it |
2020-09-30 21:31:06 +0200 | <tomsmeding> | in this case, if you just add StandaloneDeriving and write those stand-alone instances, it will correctly ask you to add the other two extensions |
2020-09-30 21:31:12 +0200 | <p0a> | you sort of have to squeeze it out of ghc |
2020-09-30 21:31:15 +0200 | <tomsmeding> | :p |
2020-09-30 21:31:54 +0200 | <p0a> | I am afraid I am not understanding the extensions very well but I will continue writing code for now |
2020-09-30 21:32:07 +0200 | <tomsmeding> | which one? |
2020-09-30 21:32:07 +0200 | <p0a> | that is, I do not understand their purpose |
2020-09-30 21:32:13 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 21:32:23 +0200 | <p0a> | well let's start with TypeSynonymInstances |
2020-09-30 21:32:35 +0200 | <tomsmeding> | without any extensions, haskell only allows you to write an instance for a type of the form T a b c d |
2020-09-30 21:32:40 +0200 | <p0a> | Oh wait, that one you explained |
2020-09-30 21:32:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 21:32:45 +0200 | <tomsmeding> | where T is a type name, and a b c d ... are type variables |
2020-09-30 21:32:47 +0200 | <p0a> | I think the cryptic one is FlexibleInstnaces |
2020-09-30 21:32:59 +0200 | <tomsmeding> | yeah |
2020-09-30 21:33:20 +0200 | <tomsmeding> | if T is a type synonym, it doesn't match the recipe so you need TypeSynonymInstances (which resolves the name first) |
2020-09-30 21:33:39 +0200 | <tomsmeding> | if a b c d, etc, are not type variables but explicitly instantiated to a particular type, then you need FlexibleInstances |
2020-09-30 21:33:58 +0200 | <tomsmeding> | for example, you can't write 'instance Show [MyCustomType]' directly |
2020-09-30 21:34:13 +0200 | <tomsmeding> | because that's, of course, really 'Show ([] MyCustomType)', and MyCustomType is not a type variable |
2020-09-30 21:34:23 +0200 | <p0a> | What is it instead? |
2020-09-30 21:34:28 +0200 | <tomsmeding> | well, a type :p |
2020-09-30 21:34:29 +0200 | <tomsmeding> | not a variable |
2020-09-30 21:34:31 +0200 | <p0a> | right, okay |
2020-09-30 21:34:39 +0200 | <tomsmeding> | you _can_ write 'instance Show [a]' because that is 'Show ([] a)' and 'a' _is_ a type variable |
2020-09-30 21:34:52 +0200 | <geekosaur> | except it'll overlap |
2020-09-30 21:34:58 +0200 | <tomsmeding> | basically, normally you can only create instances for _all_ polymorphic versions of a type |
2020-09-30 21:35:09 +0200 | <tomsmeding> | geekosaur: okay yes in this case for Show ([] ...) it will overlap |
2020-09-30 21:35:12 +0200 | <p0a> | I see, FlexibleInstances let's you exercise an incision |
2020-09-30 21:35:17 +0200 | <tomsmeding> | because there is already Show a => Show [a] |
2020-09-30 21:35:28 +0200 | <tomsmeding> | substitute some random other class for Show :p |
2020-09-30 21:35:35 +0200 | <tomsmeding> | p0a: kinda :) |
2020-09-30 21:36:01 +0200 | <tomsmeding> | once instance contexts start to get complex you might also need UndecidableInstances at some point |
2020-09-30 21:36:02 +0200 | <p0a> | Very nice, thank you :) that's an extension I commonly see |
2020-09-30 21:36:03 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) |
2020-09-30 21:36:20 +0200 | <tomsmeding> | though I don't know the precise rules for that one :) |
2020-09-30 21:36:29 +0200 | <p0a> | don't worry it's not on the menu right now |
2020-09-30 21:36:31 +0200 | <geekosaur> | "avoid" |
2020-09-30 21:36:35 +0200 | <p0a> | lol |
2020-09-30 21:36:52 +0200 | <tomsmeding> | well yeah, avoid most things that say "undecidable" |
2020-09-30 21:38:25 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 21:39:11 +0200 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-09-30 21:39:39 +0200 | borne | (~fritjof@200116b864837e00537d5cc8226f9d9f.dip.versatel-1u1.de) |
2020-09-30 21:40:44 +0200 | <p0a> | If I want (Just 3) == 3 and Nothing == 3 to be True, how can I implement this? Say I have a :: Maybe Int and b :: Int, and wish to have the above comparisons |
2020-09-30 21:41:09 +0200 | <p0a> | I'm going to look into Control.Monad.Maybe |
2020-09-30 21:41:11 +0200 | <tomsmeding> | :t (==) |
2020-09-30 21:41:13 +0200 | <lambdabot> | Eq a => a -> a -> Bool |
2020-09-30 21:41:15 +0200 | <p0a> | Or Maybe Data.Maybe |
2020-09-30 21:41:23 +0200 | <tomsmeding> | Maybe Int does not unify with Int |
2020-09-30 21:41:30 +0200 | Orbstheorem | (~roosember@hellendaal.orbstheorem.ch) |
2020-09-30 21:41:40 +0200 | kindaro | (1f08d381@h31-8-211-129.dyn.bashtel.ru) |
2020-09-30 21:41:42 +0200 | <p0a> | Sure, it doesn't have to be with == , I'm just curious of neat source code to do that |
2020-09-30 21:41:49 +0200 | <{abby}> | > maybe 3 id (Just 3) |
2020-09-30 21:41:50 +0200 | <p0a> | my code would have if elses |
2020-09-30 21:41:51 +0200 | <lambdabot> | 3 |
2020-09-30 21:41:57 +0200 | <{abby}> | > maybe 3 id Nothing |
2020-09-30 21:42:00 +0200 | <lambdabot> | 3 |
2020-09-30 21:42:12 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 21:42:18 +0200 | <tomsmeding> | > (fromMaybe 3 (Just 5), fromMaybe 3 Nothing) |
2020-09-30 21:42:20 +0200 | <lambdabot> | (5,3) |
2020-09-30 21:42:22 +0200 | <{abby}> | maybe default id = fromMaybe default, but I'm not sure if fromMaybe is in scope (import it from Data.Maybe) |
2020-09-30 21:42:27 +0200 | <tomsmeding> | that's what fromMaybe is for |
2020-09-30 21:42:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 21:42:44 +0200 | <tomsmeding> | ah yes |
2020-09-30 21:43:10 +0200 | <tomsmeding> | p0a: surely it would be a case expression on the Maybe value, though, not an actual if-then-else? |
2020-09-30 21:43:29 +0200 | <p0a> | Right tomsmeding , but you can also use isJust and isNothing |
2020-09-30 21:43:30 +0200 | <{abby}> | tomsmeding: better safe than sorry :p I'm never sure what's in lambdabot's scope |
2020-09-30 21:43:40 +0200 | <tomsmeding> | {abby}: fair :p |
2020-09-30 21:43:51 +0200 | <kindaro> | In Template Haskell, how can I convert an `Exp` to a `Pat`? I have a `Type` and I want to pattern match on its literal name as given by `Type.Reflection.tyConName`. |
2020-09-30 21:44:01 +0200 | <tomsmeding> | p0a: isJust and fromJust? while there are legitimate use cases for fromJust, think thrice when using it |
2020-09-30 21:44:12 +0200 | <p0a> | (x == \x -> fromMaybe x y) is then what I'd do I think |
2020-09-30 21:44:19 +0200 | <p0a> | thank you |
2020-09-30 21:44:21 +0200 | <tomsmeding> | because usually you're better off with a case expression or an existing combinator |
2020-09-30 21:44:23 +0200 | <kindaro> | So, I can construct an `Exp` with a quasi quote, but it seems I cannot construct a `Pat`. |
2020-09-30 21:44:32 +0200 | <tomsmeding> | less partiality more better |
2020-09-30 21:44:41 +0200 | <p0a> | right, that is true |
2020-09-30 21:45:12 +0200 | <kindaro> | For example, this would not work: `getTypeNameLiteral subject = (tyConName ∘ typeRepTyCon) (typeRep @ $(return subject))` |
2020-09-30 21:45:54 +0200 | <kindaro> | This compiles but gives me a `Q Exp`: `getTypeNameLiteral subject = [|(tyConName ∘ typeRepTyCon) (typeRep @ $(return subject))|]` |
2020-09-30 21:46:09 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-09-30 21:46:27 +0200 | <kindaro> | This does not compile: `getTypeNameLiteral subject = [p|(tyConName ∘ typeRepTyCon) (typeRep @ $(return subject))|]` |
2020-09-30 21:46:36 +0200 | <tomsmeding> | what kind of pattern would you want it to be |
2020-09-30 21:46:47 +0200 | <tomsmeding> | string? data constructor? |
2020-09-30 21:46:58 +0200 | <tomsmeding> | can't you create the Pat value yourself |
2020-09-30 21:47:01 +0200 | <tomsmeding> | https://hackage.haskell.org/package/template-haskell-2.16.0.0/docs/Language-Haskell-TH.html |
2020-09-30 21:47:43 +0200 | <kindaro> | For `Type` = `(ConT GHC.Types.Int)`, I would like `"Int"`, and so on. |
2020-09-30 21:48:19 +0200 | <kindaro> | I cannot create a `Pat` value because I have no idea what string `tyConName` would produce. |
2020-09-30 21:48:32 +0200 | <kindaro> | I have to first run `tyConName` somehow. |
2020-09-30 21:49:04 +0200 | <tomsmeding> | oh your problem is to get the TyCon to pass to tyConName? |
2020-09-30 21:49:10 +0200 | <tomsmeding> | from what do you want to get it |
2020-09-30 21:49:18 +0200 | <tomsmeding> | a value of that type? |
2020-09-30 21:49:19 +0200 | <kindaro> | From `Type`. |
2020-09-30 21:49:50 +0200 | <kindaro> | This `Type`: https://hackage.haskell.org/package/template-haskell-2.16.0.0/docs/Language-Haskell-TH.html#t:Type |
2020-09-30 21:50:01 +0200 | ADG1089 | (uid455466@gateway/web/irccloud.com/x-wfsqzgfoscwuqfvc) (Quit: Connection closed for inactivity) |
2020-09-30 21:50:05 +0200 | JoelMcCracken[m] | (joelmccrac@gateway/shell/matrix.org/x-fkrjmkjfhjvsypdi) (Quit: authenticating) |
2020-09-30 21:50:12 +0200 | JoelMcCracken[m] | (joelmccrac@gateway/shell/matrix.org/x-nmxpzgkyreszwsoo) |
2020-09-30 21:50:15 +0200 | <kindaro> | So, I first have to convert this `Type` to an actual expression, at which point it becomes incompatible with `Pat`. |
2020-09-30 21:50:25 +0200 | <tomsmeding> | but, a type can have many constructors, right? |
2020-09-30 21:50:32 +0200 | <tomsmeding> | data A = A | B |
2020-09-30 21:50:39 +0200 | <kindaro> | It has one type constructor. |
2020-09-30 21:50:42 +0200 | <tomsmeding> | if the Type is A, do you want the TyCon for A or for B? |
2020-09-30 21:50:43 +0200 | <tomsmeding> | ah |
2020-09-30 21:50:43 +0200 | <kindaro> | In your case `A`. |
2020-09-30 21:50:50 +0200 | nobody239419341 | (5e7be5a0@94.123.229.160) |
2020-09-30 21:51:01 +0200 | <tomsmeding> | can't you use generics |
2020-09-30 21:51:18 +0200 | <kindaro> | Like how? |
2020-09-30 21:51:54 +0200 | conal | (~conal@64.71.133.70) |
2020-09-30 21:51:57 +0200 | <kindaro> | As you may remember, my problem can be put as constructing a large case expression. |
2020-09-30 21:52:06 +0200 | <tomsmeding> | right |
2020-09-30 21:52:13 +0200 | <kindaro> | The way to do that is via Template Haskell. |
2020-09-30 21:52:13 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 21:52:16 +0200 | <aldessa> | by the way for my earlier problem, the solution was 'stack ls --dependencies --no-include-base --license' to see all the licenses |
2020-09-30 21:52:27 +0200 | hackage | deriving-compat 0.5.10 - Backports of GHC deriving extensions https://hackage.haskell.org/package/deriving-compat-0.5.10 (ryanglscott) |
2020-09-30 21:52:29 +0200 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 21:52:41 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 21:52:44 +0200 | mirrorbird | (~psutcliff@2a00:801:3fb:53b9:b09b:cd4e:4e4a:44a9) (Ping timeout: 244 seconds) |
2020-09-30 21:52:49 +0200 | <kindaro> | I made some progress, but it is unclear how I can associate a literal pattern with a `Type`. |
2020-09-30 21:52:51 +0200 | <nobody239419341> | hello can someone help me understand this function signrature `palindrome = reverse >>= (==)` I'm beginner to haskell |
2020-09-30 21:53:45 +0200 | <Cheery> | :t reverse >>= (==) |
2020-09-30 21:53:45 +0200 | <sm[m]> | aldessa: stack ls dependencies --no-include-base --license ... very cool, thanks |
2020-09-30 21:53:46 +0200 | <lambdabot> | Eq a => [a] -> Bool |
2020-09-30 21:53:50 +0200 | <tomsmeding> | kindaro: I know how to write a function 'magic :: Generic a => String' that produces the name of the first type constructor of 'a'; would that be sufficient for you? |
2020-09-30 21:53:53 +0200 | <monochrom> | It is not for beginners. Please don't worry about that one. Please learn and play with basic examples first. |
2020-09-30 21:54:09 +0200 | <p0a> | nobody239419341: I believe that is not a signature. I think signatures refer to the types after :: |
2020-09-30 21:54:12 +0200 | <monochrom> | Whoever showed you "reverse >>= (==)" did not respect that you are a beginner. |
2020-09-30 21:54:13 +0200 | <tomsmeding> | kindaro: I'm not familiar enough with TH to know whether generics play nicely with it |
2020-09-30 21:54:44 +0200 | <nobody239419341> | I was self learning from https://wiki.haskell.org/99_questions/Solutions/6 here and would like to understand that solution |
2020-09-30 21:54:46 +0200 | <kindaro> | I expect that they do not. |
2020-09-30 21:54:54 +0200 | <nobody239419341> | I wrote first solution myself without looking to the solutions page |
2020-09-30 21:56:04 +0200 | <nobody239419341> | I know how would I look to the function signatures by ` :t ` in ghci |
2020-09-30 21:56:06 +0200 | <Cheery> | :t (>>=) reverse |
2020-09-30 21:56:08 +0200 | <lambdabot> | ([a] -> [a] -> b) -> [a] -> b |
2020-09-30 21:56:14 +0200 | <Cheery> | :t (==) |
2020-09-30 21:56:16 +0200 | <lambdabot> | Eq a => a -> a -> Bool |
2020-09-30 21:56:58 +0200 | <tomsmeding> | kindaro: 'tyConName (typeRepTyCon (typeRep @T))' is of type String |
2020-09-30 21:57:01 +0200 | sm[m] | discovers a few weirdo packages using BSD-2 (megaparsec & text) |
2020-09-30 21:57:09 +0200 | <tomsmeding> | not sure where Exp comes into the discussion |
2020-09-30 21:57:32 +0200 | <tomsmeding> | also I now realise that you're talking about the _type_ constructor, not a _data_ constructor :p |
2020-09-30 21:58:16 +0200 | ddellacosta | (~dd@86.106.121.168) (Quit: WeeChat 2.8) |
2020-09-30 21:58:52 +0200 | tomsmeding | is surprised about the amount of reflection that ghc gives you with Type.Reflection, Data.Typeable and templatehaskell |
2020-09-30 21:59:14 +0200 | <kindaro> | nobody239419341 This is some advanced Haskell, I have been doing it for some years but it took me effort to understand how your function works. You may wish to consult the Monad instance for functions. https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Base.html#line-979 |
2020-09-30 21:59:16 +0200 | <Cheery> | tomsmeding: any short introduction to Type Reflection you'd recommend? |
2020-09-30 21:59:28 +0200 | <Cheery> | or data typeable, those sound interesting. |
2020-09-30 22:00:26 +0200 | Quarl | (~Quarl@94.191.138.174.mobile.tre.se) (Read error: Connection reset by peer) |
2020-09-30 22:00:30 +0200 | <tomsmeding> | Cheery: I learned about the existence of Type.Reflection when kindaro mentioned it |
2020-09-30 22:00:37 +0200 | <tomsmeding> | I'm afraid I'm not the right person to ask :p |
2020-09-30 22:00:39 +0200 | <Cheery> | nobody239419341: that implementation for checking palindrome is vicious. |
2020-09-30 22:00:41 +0200 | <nobody239419341> | kindaro thank you I will look to it |
2020-09-30 22:00:43 +0200 | <kindaro> | nobody239419341 As you may see, it does exactly what you need it to do. _«Why»_ is another question. It is fair to say that I never ever used the monad instance for functions. |
2020-09-30 22:01:01 +0200 | <p0a> | Oh so that's what it is using. Wow, tricky |
2020-09-30 22:01:37 +0200 | <Cheery> | functions make a valid monad with their last argument.. it's a bit difficult to understand but it's valid. |
2020-09-30 22:01:38 +0200 | <kindaro> | Seeing that `Reader` is really a function, this may give some intuition. |
2020-09-30 22:01:45 +0200 | <sm[m]> | ...and one weirdo using ISC (glguy :). Interesting, I didn't know about ISC |
2020-09-30 22:01:58 +0200 | hackage | linear 1.21.2 - Linear Algebra https://hackage.haskell.org/package/linear-1.21.2 (ryanglscott) |
2020-09-30 22:02:09 +0200 | <sm[m]> | https://www.gnu.org/licenses/license-list.en.html#ISC |
2020-09-30 22:02:10 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 22:02:19 +0200 | <Cheery> | nobody239419341: [a] -> [a] is the type signature for reverse. |
2020-09-30 22:02:31 +0200 | <p0a> | Cheery: I think this explains some of it? https://mjoldfield.com/atelier/2014/07/monads-fn.html |
2020-09-30 22:02:33 +0200 | <nobody239419341> | yes |
2020-09-30 22:02:34 +0200 | <p0a> | Or am I wrong? |
2020-09-30 22:02:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 22:02:52 +0200 | <tomsmeding> | sm[m]: what about https://hackage.haskell.org/package/dependent-map |
2020-09-30 22:02:58 +0200 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) (Quit: killed) |
2020-09-30 22:03:05 +0200 | xcmw | (~textual@dyn-72-33-0-89.uwnet.wisc.edu) |
2020-09-30 22:03:07 +0200 | <Cheery> | nobody239419341: now imagine that's something like F [a] where F x = [a] -> x |
2020-09-30 22:03:50 +0200 | <nobody239419341> | what does it mean to apply the infix operator `->` for function definition |
2020-09-30 22:04:04 +0200 | ddellacosta | (~dd@86.106.121.168) |
2020-09-30 22:04:26 +0200 | <kindaro> | tomsmeding, so the story goes: I get the list of `Type` values by examining `reifyInstances`. Now I must use `tyConName` on the corresponding types. But this correspondence is not trivial to establish. |
2020-09-30 22:04:28 +0200 | <nobody239419341> | This is new to me, only seen it on signatures and case expressions, and reverse form on do blocks |
2020-09-30 22:04:43 +0200 | <sm[m]> | tomsmeding: they seem to be on top of things.. nice precision |
2020-09-30 22:05:20 +0200 | <sm[m]> | oh, well "I have no idea which, if any, of the following licenses apply, so I've copied them all.", maybe precision is not the word :) |
2020-09-30 22:05:37 +0200 | <sm[m]> | nice transparency |
2020-09-30 22:06:06 +0200 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) |
2020-09-30 22:06:11 +0200 | kish | (~oracle@unaffiliated/oracle) |
2020-09-30 22:06:37 +0200 | <kindaro> | tomsmeding, so I may transform `Type` to an `Exp` that contains the corresponding type constructor, and then I can use it to obtain an expression for its `tyConName`. |
2020-09-30 22:06:55 +0200 | <kindaro> | tomsmeding Does this explanation make things clearer? |
2020-09-30 22:07:09 +0200 | <Cheery> | nobody239419341: Well I can tell you it's hard, and my explanation may go over, if that's the case, I'll try to elaborate so you understand it enough. |
2020-09-30 22:07:26 +0200 | <tomsmeding> | kindaro: if the type in question is data A = B | C, do you want, "A", "B" or "C"? |
2020-09-30 22:07:35 +0200 | <kindaro> | `A`. |
2020-09-30 22:07:39 +0200 | <tomsmeding> | okay |
2020-09-30 22:07:47 +0200 | <Cheery> | nobody239419341: but the important part now is, you need to look at the function type like that. |
2020-09-30 22:07:48 +0200 | <nobody239419341> | i can't even say if I know precisely what's a typeclass and type and data and whatever things in haskell |
2020-09-30 22:07:58 +0200 | <kindaro> | tomsmeding I cannot really obtain anything else from `reifyInstances°. |
2020-09-30 22:07:59 +0200 | <Cheery> | :t (>>=) |
2020-09-30 22:08:01 +0200 | <tomsmeding> | is it hard to give a piece of code that contains one `_` hole where you don't know what function to insert? |
2020-09-30 22:08:01 +0200 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2020-09-30 22:08:23 +0200 | <Cheery> | nobody239419341: you see how that type signature goes, now you can expand here.. You had.. |
2020-09-30 22:08:45 +0200 | <Cheery> | nobody239419341: m [a] -> ([a] -> m b) -> m b |
2020-09-30 22:08:54 +0200 | olliey | (5f92092d@95.146.9.45) |
2020-09-30 22:08:59 +0200 | <nobody239419341> | yeah It's just I think about an Num when I see Monad so I imagine like Its like Num m => Num a (a -> .... etc |
2020-09-30 22:09:19 +0200 | <Cheery> | so if you do (>>=) reverse, we got this.. |
2020-09-30 22:09:23 +0200 | <Cheery> | :t (>>=) reverse |
2020-09-30 22:09:24 +0200 | <lambdabot> | ([a] -> [a] -> b) -> [a] -> b |
2020-09-30 22:09:49 +0200 | <Cheery> | the next parameter is a function, and now it has expanded like that.. so the first parameter is the result of 'reverse', what else could it be? |
2020-09-30 22:10:01 +0200 | <nobody239419341> | okay go on, I have one question to ask at the end or now, if you like |
2020-09-30 22:10:04 +0200 | <Cheery> | the second parameter is the argument passed to reverse. |
2020-09-30 22:10:09 +0200 | <kindaro> | tomsmeding `getTypeNameLiteral subject = _ [|(tyConName ∘ typeRepTyCon) (typeRep @ $(return subject))|] ∷ Q Pat` |
2020-09-30 22:10:42 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
2020-09-30 22:10:57 +0200 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2020-09-30 22:10:59 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) |
2020-09-30 22:11:30 +0200 | geekosaur | (42d52102@66.213.33.2) (Remote host closed the connection) |
2020-09-30 22:11:34 +0200 | <Cheery> | nobody239419341: so if you take [1,2] == [2,1] it's bit like checking whether [1,2] is a palindrome? |
2020-09-30 22:11:45 +0200 | <nobody239419341> | yes |
2020-09-30 22:11:46 +0200 | mirrorbird | (~psutcliff@m83-187-182-226.cust.tele2.se) |
2020-09-30 22:12:00 +0200 | <nobody239419341> | :t (>>=) |
2020-09-30 22:12:02 +0200 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2020-09-30 22:12:05 +0200 | <Cheery> | nobody239419341: so if you put it there, like this: (>>=) reverse (==) |
2020-09-30 22:12:22 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 22:12:23 +0200 | <Cheery> | you get this kind of composition of reverse with that function of checking equality of two lists. |
2020-09-30 22:12:28 +0200 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) (Quit: killed) |
2020-09-30 22:12:45 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 22:12:52 +0200 | <Cheery> | :t (>>=) reverse (==) |
2020-09-30 22:12:54 +0200 | <lambdabot> | Eq a => [a] -> Bool |
2020-09-30 22:13:18 +0200 | <ski> | @type (>>=) `asTypeIn` \(>>=) -> (>>=) reverse (==) |
2020-09-30 22:13:20 +0200 | <lambdabot> | Eq a => ([a] -> [a]) -> ([a] -> [a] -> Bool) -> [a] -> Bool |
2020-09-30 22:14:01 +0200 | <Cheery> | cool. |
2020-09-30 22:15:02 +0200 | <ski> | > (>>=) f (g :: Expr -> Expr -> Expr) x |
2020-09-30 22:15:05 +0200 | <lambdabot> | g (f x) x |
2020-09-30 22:15:37 +0200 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) |
2020-09-30 22:16:03 +0200 | <nobody239419341> | thank you Cheery. It helped a bit |
2020-09-30 22:16:40 +0200 | tchouri | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-09-30 22:17:05 +0200 | <Cheery> | nobody239419341: Also check out ski's explanation, but the idea is that functions are valid monads and that thing kind of treats reverse as a monad, then binds the equality to it. |
2020-09-30 22:17:08 +0200 | tchouri | hekkaidekapus |
2020-09-30 22:17:14 +0200 | ashbreeze | (~mark@72-161-49-118.dyn.centurytel.net) |
2020-09-30 22:18:12 +0200 | <Cheery> | it probably helps if you consider how functions are valid functors, or then it doesn't. |
2020-09-30 22:19:28 +0200 | <Cheery> | @type fmap `asTypeIn` \fmap -> (fmap f g :: a -> b) |
2020-09-30 22:19:29 +0200 | <lambdabot> | error: |
2020-09-30 22:19:30 +0200 | <lambdabot> | • Couldn't match type ‘f’ with ‘(->) a1’ |
2020-09-30 22:19:30 +0200 | <lambdabot> | because type variable ‘a1’ would escape its scope |
2020-09-30 22:19:33 +0200 | _ashbreeze_ | (~mark@72-161-253-130.dyn.centurytel.net) (Ping timeout: 260 seconds) |
2020-09-30 22:19:44 +0200 | <ski> | (not functions. functions are values, monads are not values. you mean the (partially applied function) type `([a] ->)', being a monad. so e.g. `(>>=) :: Monad m => m b -> (b -> m c) -> m c' then becomes `([a] -> b) -> (b -> [a] -> c) -> [a] -> c') |
2020-09-30 22:20:12 +0200 | <nobody239419341> | wait this could be important information for me to understand |
2020-09-30 22:20:16 +0200 | <nobody239419341> | so is all functions are types? |
2020-09-30 22:20:46 +0200 | knupfer | (~Thunderbi@200116b82ca43f002c28ccfffeb57fee.dip.versatel-1u1.de) |
2020-09-30 22:20:47 +0200 | knupfer | (~Thunderbi@200116b82ca43f002c28ccfffeb57fee.dip.versatel-1u1.de) (Client Quit) |
2020-09-30 22:20:50 +0200 | <p0a> | yeah nobody239419341 |
2020-09-30 22:20:54 +0200 | edwtjo | (~edwtjo@fsf/member/edwtjo) (Ping timeout: 258 seconds) |
2020-09-30 22:20:58 +0200 | knupfer | (~Thunderbi@200116b82ca43f005c40053ed66b0b42.dip.versatel-1u1.de) |
2020-09-30 22:21:10 +0200 | <ski> | @type fmap `asTypeIn` \fmap -> fmap ?f ?g |
2020-09-30 22:21:12 +0200 | <lambdabot> | (Functor f, ?f::a -> b, ?g::f a) => (a -> b) -> f a -> f b |
2020-09-30 22:21:18 +0200 | snakemasterflex | (~snakemast@213.100.206.23) (Ping timeout: 260 seconds) |
2020-09-30 22:21:32 +0200 | <ski> | nobody239419341 : functions are not types |
2020-09-30 22:21:36 +0200 | mahene | (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) |
2020-09-30 22:21:43 +0200 | <Cheery> | (a -> b) -> (c -> a) -> (c -> b) |
2020-09-30 22:21:48 +0200 | <ski> | "function types" means the types of functions |
2020-09-30 22:22:02 +0200 | alp | (~alp@2a01:e0a:58b:4920:d4f2:e84:b07:a9f2) |
2020-09-30 22:22:37 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 22:22:41 +0200 | <nobody239419341> | so how do you pass the reverse function as an argument to the (>>=) ? |
2020-09-30 22:22:47 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 22:23:21 +0200 | <Cheery> | nobody239419341: There's an instance Monad (a ->) |
2020-09-30 22:23:31 +0200 | <Cheery> | it is matched when you do os. |
2020-09-30 22:23:40 +0200 | <p0a> | nobody239419341: what is happening is a bit different than that. There's a lot of stuff going on involving definitions you probably are not even aware of |
2020-09-30 22:23:57 +0200 | <p0a> | nobody239419341: to just compose two functions you do something like (f . g) |
2020-09-30 22:24:20 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-09-30 22:24:24 +0200 | <monochrom> | >>= is an infix operator, so just write "reverse >>= ..."? |
2020-09-30 22:25:05 +0200 | <Cheery> | https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Base.html#line-979 |
2020-09-30 22:25:07 +0200 | <p0a> | The trick with your palindrome implementation is that it uses a well-known feature of the language (monads), but also a less commonly used monad (the function monad). That's how I understand it. To understand the better known parts of monads, is already a task in itself nobody239419341 |
2020-09-30 22:25:31 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Client Quit) |
2020-09-30 22:26:18 +0200 | John20 | (~John@82.46.59.122) (Ping timeout: 272 seconds) |
2020-09-30 22:26:37 +0200 | mahene | (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) (Quit: Leaving) |
2020-09-30 22:27:13 +0200 | ashbreeze | (~mark@72-161-49-118.dyn.centurytel.net) (Ping timeout: 260 seconds) |
2020-09-30 22:27:17 +0200 | <nobody239419341> | uh why nobody can explain like just an example -> it takes the reverse function and puts it on the right side of the (==) and whenever a list is called on it, list will put on left side of the (==) and reverse will be applied and put it on the right side |
2020-09-30 22:27:20 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-09-30 22:27:58 +0200 | hackage | transformers-compat 0.6.6 - A small compatibility shim for the transformers library https://hackage.haskell.org/package/transformers-compat-0.6.6 (ryanglscott) |
2020-09-30 22:28:01 +0200 | <nobody239419341> | Damn monads |
2020-09-30 22:28:12 +0200 | <monochrom> | Huh? That explanation is BS. |
2020-09-30 22:28:15 +0200 | <Cheery> | nobody239419341: it's lot of details that go into it becoming (==) (reverse x) x |
2020-09-30 22:28:29 +0200 | <p0a> | monochrom: mine? Whoops, sorry |
2020-09-30 22:28:37 +0200 | <nobody239419341> | I can imagine |
2020-09-30 22:28:40 +0200 | _ashbreeze_ | (~mark@72-161-254-200.dyn.centurytel.net) |
2020-09-30 22:28:42 +0200 | <Cheery> | or reverse x == x |
2020-09-30 22:28:46 +0200 | <monochrom> | No, nobody239419341's explanation. |
2020-09-30 22:29:10 +0200 | <Cheery> | btw.. on functors of.. not functions but partially applied functions. |
2020-09-30 22:29:30 +0200 | <Cheery> | djinn finds a value for a type. |
2020-09-30 22:29:37 +0200 | <Cheery> | @djinn (a -> b) -> (c -> a) -> (c -> b) |
2020-09-30 22:29:37 +0200 | <lambdabot> | f a b c = a (b c) |
2020-09-30 22:30:04 +0200 | <monochrom> | See, in the first place, I am against tackling >>= at a beginner stage in the first stage, especially for a palindrome exercise that can be done in 10 different elementary ways already. |
2020-09-30 22:30:09 +0200 | mahene | (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) |
2020-09-30 22:30:23 +0200 | <Cheery> | yup. but he asked for it. :) |
2020-09-30 22:30:36 +0200 | <monochrom> | I have no idea why you people decided to entertain this request and get into such a rabbit hole. |
2020-09-30 22:30:38 +0200 | <Cheery> | and I guess this is helpful to see.. how this comes up together. |
2020-09-30 22:30:55 +0200 | <p0a> | I think it's a show-off really, to write a palindrome like that |
2020-09-30 22:31:10 +0200 | <nobody239419341> | I'm just stuck in a loop for creating recursive functions and exercises for two months |
2020-09-30 22:31:20 +0200 | <monochrom> | It takes like 2-4 weeks of preparations before >>= makes sense for this exercise. Not 2 hours. |
2020-09-30 22:31:23 +0200 | <nobody239419341> | I can't get progress without having eaten some parts of the FP |
2020-09-30 22:31:53 +0200 | <p0a> | nobody239419341: In my opinion it's better to start with `Maybe' and `IO' |
2020-09-30 22:31:59 +0200 | <Cheery> | :t (.) |
2020-09-30 22:32:00 +0200 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
2020-09-30 22:32:16 +0200 | <p0a> | Write programs that do simple tasks but require some checking of values. You'll have to be using Maybe and IO for that |
2020-09-30 22:32:16 +0200 | mu__ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 22:32:22 +0200 | <nobody239419341> | I see maybe as like a box |
2020-09-30 22:32:35 +0200 | <Cheery> | https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Base.html#line-969 |
2020-09-30 22:32:37 +0200 | kindaro | (1f08d381@h31-8-211-129.dyn.bashtel.ru) (Remote host closed the connection) |
2020-09-30 22:32:42 +0200 | <Cheery> | there reads.. fmap = (.) |
2020-09-30 22:32:43 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 22:32:57 +0200 | hackage | error-or 0.1.0.0 - Composable, hierarchical errors. https://hackage.haskell.org/package/error-or-0.1.0.0 (luntain) |
2020-09-30 22:33:08 +0200 | <xsperry> | cheers fmap is (.) for function functor |
2020-09-30 22:33:14 +0200 | <xsperry> | Cheery* |
2020-09-30 22:33:21 +0200 | <p0a> | nobody239419341: Write a program that keeps an address book and looks up a name in it, allows you to modify a record and save/load records from a file |
2020-09-30 22:33:27 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-09-30 22:33:32 +0200 | <monochrom> | Well, I stuck my students in a loop for creating recursive functions and exercises for two months. And only then they are ready for >>= |
2020-09-30 22:34:05 +0200 | <monochrom> | People really don't realize the effect and benefits of "repetitive" immersion. |
2020-09-30 22:34:28 +0200 | <xsperry> | Cheery, for list (for example), it is just map |
2020-09-30 22:35:56 +0200 | <tomsmeding> | @tell kindaro here is something: https://paste.tomsmeding.com/WWaRcppB |
2020-09-30 22:35:56 +0200 | <lambdabot> | Consider it noted. |
2020-09-30 22:36:35 +0200 | <nobody239419341> | okay guys thank you all for the suggestions. I'll keep doing exercises and try out that address book application |
2020-09-30 22:37:07 +0200 | <Cheery> | nobody239419341: np. I hope it helped. It's just a fancy trick and nothing wrong with those, but it involves understanding this kind of things. |
2020-09-30 22:37:42 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds) |
2020-09-30 22:37:58 +0200 | <Cheery> | at some context the idea of (->) a as a monad, does make sense. |
2020-09-30 22:38:09 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) |
2020-09-30 22:38:51 +0200 | mahene | (~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) (Ping timeout: 272 seconds) |
2020-09-30 22:39:21 +0200 | <monochrom> | Well first thing you have to embrace that "X->Y" is "((->) X) Y" and the shock that the "(->) X" part can be isolated out as a standalone thing. |
2020-09-30 22:39:38 +0200 | <monochrom> | That alone probably takes a week to absorb already. |
2020-09-30 22:39:50 +0200 | <p0a> | Why is X->Y parsed like that? |
2020-09-30 22:39:57 +0200 | <p0a> | is 1 + 2 also the same? |
2020-09-30 22:40:00 +0200 | <Cheery> | for instance, a program requires an additional parameter, but it's not used too often, you might supply it as last parameter and form a monad around it. |
2020-09-30 22:40:01 +0200 | <monochrom> | Yes. |
2020-09-30 22:40:04 +0200 | nobody239419341 | (5e7be5a0@94.123.229.160) (Remote host closed the connection) |
2020-09-30 22:40:15 +0200 | <monochrom> | See? So much prerequisites. |
2020-09-30 22:40:36 +0200 | <Rembane> | > (+) 1 2 |
2020-09-30 22:40:39 +0200 | <lambdabot> | 3 |
2020-09-30 22:40:40 +0200 | mirrorbird | (~psutcliff@m83-187-182-226.cust.tele2.se) (Quit: Leaving) |
2020-09-30 22:40:48 +0200 | <monochrom> | But you're confusing the term level and the type level. |
2020-09-30 22:41:01 +0200 | <p0a> | Right, okay. Because I was thinking of - now |
2020-09-30 22:41:26 +0200 | <p0a> | I'm just confused, ignore me |
2020-09-30 22:42:12 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 22:42:28 +0200 | <p0a> | I'm impressed at how quickly I was able to whip together a simple file database program that helps me keep track of my books and notes |
2020-09-30 22:42:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 22:42:42 +0200 | <p0a> | took me 2 days of maybe 30 minutes each (well thanks to this channel as well) |
2020-09-30 22:44:13 +0200 | <sm[m]> | p0a: nice! |
2020-09-30 22:45:06 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 265 seconds) |
2020-09-30 22:46:57 +0200 | Raito_Bezarius | (~Raito_Bez@unaffiliated/raito-bezarius/x-8764578) (Ping timeout: 260 seconds) |
2020-09-30 22:46:58 +0200 | coot | (~coot@37.30.59.214.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2020-09-30 22:47:12 +0200 | <Cheery> | about that.. I'm thinking of a little project.. I start looking what kind of html/tagsoup functionality my blog driver would require to be written in haskell |
2020-09-30 22:47:51 +0200 | <p0a> | sm[m]: thank you :) I agree |
2020-09-30 22:48:00 +0200 | <p0a> | I'll share it here once it's looking good |
2020-09-30 22:48:05 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-09-30 22:48:27 +0200 | motersen | (~user@2001-4dd1-ce19-0-41b8-8f35-edf5-ff23.ipv6dyn.netcologne.de) (Ping timeout: 240 seconds) |
2020-09-30 22:49:47 +0200 | mirrorbird | (~psutcliff@2a00:801:3fb:53b9:b09b:cd4e:4e4a:44a9) |
2020-09-30 22:51:32 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2020-09-30 22:52:16 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 22:52:46 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 22:54:29 +0200 | <Cheery> | aside just going to google each function, is there a page dedicated to giving haskell equivalents for os.walk, os.path.join, etc... ? |
2020-09-30 22:54:33 +0200 | <sm[m]> | I think there's a lot of speed-of-development and power in haskell & libs, just waiting for a bit more refinement/curation/tooling to come together |
2020-09-30 22:55:02 +0200 | <sm[m]> | not yet tapped, I mean |
2020-09-30 22:55:07 +0200 | <Rembane> | Cheery: System.Directory, System.Environment, hm... and more! :D |
2020-09-30 22:55:38 +0200 | <Rembane> | Cheery: If you happen to know the C stdlib, the functions are named almost the same in Haskell, but they are slightly more sane. |
2020-09-30 22:56:00 +0200 | <Cheery> | I'd also like about a function that gives current date, and some datetime handling. |
2020-09-30 22:56:01 +0200 | xcmw | (~textual@dyn-72-33-0-89.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 22:56:03 +0200 | artotrie | (~private@2604:2000:1540:4121:c018:ab87:8515:a83a) |
2020-09-30 22:56:14 +0200 | <aldessa> | I'd like to learn numerical methods. I hear Haskell is a bad language to do it in, is this true if I'm using unboxed mutable arrays in the ST monad? |
2020-09-30 22:56:31 +0200 | <Rembane> | Cheery: That's trickier |
2020-09-30 22:56:53 +0200 | <Rembane> | aldessa: It depends, if you can work with slow numerical methods it's alright |
2020-09-30 22:57:07 +0200 | _ashbreeze_ | (~mark@72-161-254-200.dyn.centurytel.net) (Ping timeout: 240 seconds) |
2020-09-30 22:57:47 +0200 | <aldessa> | why is it slow Rembane? i thought Haskell was slower because of garbage collection; does the ST monad not avoid that? |
2020-09-30 22:59:00 +0200 | <Rembane> | aldessa: Laziness has a tendency to bite if not properly contained and Haskell is slower than Fortran for such things. |
2020-09-30 22:59:01 +0200 | _ashbreeze_ | (~mark@72-161-254-200.dyn.centurytel.net) |
2020-09-30 22:59:02 +0200 | artotrie | (~private@2604:2000:1540:4121:c018:ab87:8515:a83a) ("Leaving") |
2020-09-30 22:59:20 +0200 | <Rembane> | Cheery: I used thyme for that, but I think it's needlessly complicated. |
2020-09-30 23:00:01 +0200 | patryk_ | (~patryk_@84.39.117.57) () |
2020-09-30 23:00:03 +0200 | Raito_Bezarius | (~Raito_Bez@unaffiliated/raito-bezarius/x-8764578) |
2020-09-30 23:00:11 +0200 | bitmagie | (~Thunderbi@200116b806af9800a5686823a67cc6e9.dip.versatel-1u1.de) |
2020-09-30 23:01:16 +0200 | <monochrom> | unboxed mutable array likely kills most of the laziness. |
2020-09-30 23:02:19 +0200 | <xsperry> | Cheery, also System.FilePath, and for dates there's time package |
2020-09-30 23:02:19 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 23:02:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 23:02:46 +0200 | <monochrom> | But it still stands to reason to re-use existing C-bound numerical libraries like LAPACK because they are both well-tuned and well-tested over the years. |
2020-09-30 23:02:47 +0200 | <Cale> | Slow is relative -- people do all kinds of numerical stuff in Python, so no doubt Haskell is an option for a lot of applications. |
2020-09-30 23:03:05 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 23:03:11 +0200 | <monochrom> | and well-understood |
2020-09-30 23:03:11 +0200 | <Cale> | and yeah, typically you're going to use bindings to stuff that was optimised at a lower level |
2020-09-30 23:03:54 +0200 | <monochrom> | It is possible to replicate the same expertise in Haskell if you prepare to spend the same amount of person-years. |
2020-09-30 23:04:09 +0200 | <monochrom> | But don't expect to take merely days. |
2020-09-30 23:04:56 +0200 | <aldessa> | i'd be writing my own numerical methods because i'm doing a course in them; |
2020-09-30 23:05:08 +0200 | <monochrom> | Ah OK then just cause. |
2020-09-30 23:05:27 +0200 | st8less | (~st8less@ip72-204-59-82.fv.ks.cox.net) (Ping timeout: 240 seconds) |
2020-09-30 23:06:05 +0200 | <monochrom> | If you aren't aware of how Haskell is compiled to machine code and how laziness is done this way, then expect to suffer inefficiency. |
2020-09-30 23:06:30 +0200 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
2020-09-30 23:06:43 +0200 | <monochrom> | In fact not only constant-multiplier inefficiency. You could be spending linear space where constant space should be enough. |
2020-09-30 23:06:54 +0200 | <dolio> | Blaming it all on laziness is naive. |
2020-09-30 23:07:06 +0200 | <monochrom> | I know. |
2020-09-30 23:07:19 +0200 | <dolio> | If you want efficiency, you need to understand many things about how the compiler works. |
2020-09-30 23:07:21 +0200 | <monochrom> | But for most numerical algorithms, eagerness is the better default. |
2020-09-30 23:07:27 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2020-09-30 23:07:28 +0200 | rprije | (~rprije@203.214.95.251) |
2020-09-30 23:07:29 +0200 | <aldessa> | i was mostly concerned about memory management |
2020-09-30 23:07:29 +0200 | <monochrom> | Yes that. |
2020-09-30 23:07:47 +0200 | <Cale> | Laziness will also be the thing that trips up beginners a bunch, even if there are cases where it can be put to excellent use |
2020-09-30 23:08:13 +0200 | <monochrom> | Especially if you're transcribing imperative numerical algorithms such as from most textbooks to Haskell. They were written for eager evaluation. |
2020-09-30 23:08:15 +0200 | <dolio> | monochrom: I know you know that. :) |
2020-09-30 23:08:18 +0200 | <p0a> | It suffices to say that if you do numerical optimizatio in Haskell you'll be learning two (at least) things at once |
2020-09-30 23:08:20 +0200 | <monochrom> | OK! |
2020-09-30 23:08:29 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1) |
2020-09-30 23:08:49 +0200 | <aldessa> | i don't know any languages other than Haskell so I'd like to avoid learning another one |
2020-09-30 23:08:54 +0200 | <aldessa> | anyhow |
2020-09-30 23:09:06 +0200 | <aldessa> | is foreign ptr meant to only be used for foreign bindings? it seems to be that way |
2020-09-30 23:09:07 +0200 | <sm[m]> | quite right |
2020-09-30 23:09:31 +0200 | <monochrom> | Of course if you follow John Hughes's paper and turn your Newton's method into a "generate infinite list of iterates" and a "consume until convergence" then laziness is required. |
2020-09-30 23:09:45 +0200 | <monochrom> | (But how many numerical method students are going to do that?) |
2020-09-30 23:09:56 +0200 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
2020-09-30 23:09:58 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-09-30 23:10:26 +0200 | <dolio> | I just wanted to make sure it's clear in this conversation. People automatically jump to blame laziness, but the truth is you need to know what you're doing in almost any language, and laziness is often used as a scapegoat. |
2020-09-30 23:10:31 +0200 | <p0a> | consume until convergence sounds scary |
2020-09-30 23:10:52 +0200 | <p0a> | You could get caught in infinite loops with Newton's method I think :P |
2020-09-30 23:11:05 +0200 | <monochrom> | p0a: Like this: http://www.cs.utoronto.ca/~trebla/CSCC24-2020-Summer/03-haskell-evaluation.html#lazygood |
2020-09-30 23:11:27 +0200 | <monochrom> | Oh, every textbook pseudocode for Newton's method has the same problem. |
2020-09-30 23:11:30 +0200 | <p0a> | ah with x^3 - b = 0 it won't happen |
2020-09-30 23:11:37 +0200 | olliey | (5f92092d@95.146.9.45) (Remote host closed the connection) |
2020-09-30 23:11:55 +0200 | <monochrom> | But I stole this idea from John Hughes's "why FP matters" |
2020-09-30 23:12:18 +0200 | <p0a> | very nice |
2020-09-30 23:12:18 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 23:12:33 +0200 | <monochrom> | In hindsight, a lot of us agree that it's really "why FP with laziness matters" |
2020-09-30 23:12:46 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 23:13:42 +0200 | <Cheery> | subprocess.call(['rsync', '-r', '--delete', src, dst]) |
2020-09-30 23:13:49 +0200 | <p0a> | I'm going to read your link soon. I have a few todo reads on my list, just ticked off higher-kinded data; I want to learn a bit about FFI next and also your link |
2020-09-30 23:14:00 +0200 | <Cheery> | google says System.Process gives equivalent. |
2020-09-30 23:14:20 +0200 | <monochrom> | dolio is right, the criterion for performance is "you understand the compiler". And this is true of Fortran and C, too. |
2020-09-30 23:14:55 +0200 | <monochrom> | And LAPACK is successful because the authors do understand Fortran compilers. |
2020-09-30 23:15:14 +0200 | <xsperry> | Cheery, there's also this (several examples on that page): https://hackage.haskell.org/package/typed-process |
2020-09-30 23:15:30 +0200 | <monochrom> | For example they know that "invariant code motion" is a thing. |
2020-09-30 23:16:33 +0200 | <motte> | anyone have experience with WAI? how can i access the basic auth username in my Application code? should i try to extract it from the request headers or use a middleware with Vault or something? |
2020-09-30 23:16:52 +0200 | <Cheery> | Is there monoid for html/xml? |
2020-09-30 23:16:57 +0200 | knupfer | (~Thunderbi@200116b82ca43f005c40053ed66b0b42.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
2020-09-30 23:18:05 +0200 | <Cheery> | well I miscommunicated, but some agreed upon way to construct html is what I'm looking for |
2020-09-30 23:18:07 +0200 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
2020-09-30 23:18:14 +0200 | ryansmccoy | (~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds) |
2020-09-30 23:18:29 +0200 | <Cheery> | eg. (Tag "item" attrs body) |
2020-09-30 23:18:32 +0200 | <aldessa> | monochrom, that's pretty true. I used SPJ's book to make a broken G machine implementation and you really see how hard it is to do strictness analysis and other stuff. |
2020-09-30 23:18:41 +0200 | <Cheery> | then forming <item ...>stuff</item> |
2020-09-30 23:18:52 +0200 | ryansmccoy | (~ryansmcco@193.37.254.27) |
2020-09-30 23:19:14 +0200 | <aldessa> | i read this paper http://www.leafpetersen.com/leaf/publications/ifl2013/haskell-gap.pdf a while ago; how does GHC compare to the intell haskell research compiler? |
2020-09-30 23:20:00 +0200 | <monochrom> | Hrm! I thought Intel only had a research C compiler. |
2020-09-30 23:20:20 +0200 | <phadej> | icc is not a research compiler |
2020-09-30 23:20:32 +0200 | <Rembane> | Cheery: I'm quite fond of lucid: https://hackage.haskell.org/package/lucid |
2020-09-30 23:20:40 +0200 | son0p | (~son0p@181.136.122.143) |
2020-09-30 23:20:52 +0200 | <motte> | nvm got it, there is a function just for that |
2020-09-30 23:20:55 +0200 | <aldessa> | they wrote a whole program optimising compiler for Haskell |
2020-09-30 23:21:25 +0200 | machinedgod | (~machinedg@d67-193-126-196.home3.cgocable.net) |
2020-09-30 23:22:03 +0200 | chaosmasttter | (~chaosmast@p200300c4a70aba018412238bea948280.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
2020-09-30 23:22:13 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 23:22:20 +0200 | p0a | (~user@unaffiliated/p0a) (Quit: bye) |
2020-09-30 23:22:28 +0200 | hackage | ordinal 0.1.2.0 - Convert numbers to words in different languages. https://hackage.haskell.org/package/ordinal-0.1.2.0 (wvanonsem90) |
2020-09-30 23:22:43 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 23:23:16 +0200 | <aldessa> | thanks everyone for the caution but because i'm a student the speed really doesn't matter that much |
2020-09-30 23:23:20 +0200 | <aldessa> | i'm going to go with GHC primitives if i can |
2020-09-30 23:24:14 +0200 | madjestic | (~madjestic@86-88-72-244.fixed.kpn.net) |
2020-09-30 23:27:48 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) |
2020-09-30 23:30:06 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
2020-09-30 23:30:35 +0200 | voyons_calisse | (~dan@107-190-41-58.cpe.teksavvy.com) |
2020-09-30 23:30:45 +0200 | Amras | (~Amras@unaffiliated/amras0000) |
2020-09-30 23:31:32 +0200 | falafel | (~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) |
2020-09-30 23:32:37 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 23:32:43 +0200 | mu__ | (~mu@unaffiliated/mu) |
2020-09-30 23:32:58 +0200 | thir | (~thir@p200300f27f0fc60094e773283d7bf825.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-09-30 23:35:21 +0200 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 260 seconds) |
2020-09-30 23:41:00 +0200 | heebo | (~user@cpc97956-croy24-2-0-cust20.19-2.cable.virginm.net) |
2020-09-30 23:41:59 +0200 | <justsomeguy> | (Sorry about the away messages; I was having keyboard problems.) |
2020-09-30 23:42:08 +0200 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 265 seconds) |
2020-09-30 23:42:09 +0200 | <heebo> | has haskell performance significantly improved in ghc 8? |
2020-09-30 23:42:12 +0200 | mu__ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 23:42:18 +0200 | <heebo> | ive been away from the scene for a while |
2020-09-30 23:42:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 23:43:08 +0200 | <heebo> | im also interested in finding out about hls , just installed it with ghcup , but unsure how to configure emacs to use it |
2020-09-30 23:43:31 +0200 | <maerwald> | heebo: https://github.com/haskell/haskell-language-server#using-haskell-language-server-with-emacs |
2020-09-30 23:44:08 +0200 | <heebo> | oh thanks!!! just what the doctor ordered! |
2020-09-30 23:45:56 +0200 | <sm[m]> | improved since when heebo ? |
2020-09-30 23:45:57 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
2020-09-30 23:46:11 +0200 | <maerwald> | since 8 |
2020-09-30 23:46:56 +0200 | Amras | (~Amras@unaffiliated/amras0000) |
2020-09-30 23:47:33 +0200 | <heebo> | yeah since early 8 |
2020-09-30 23:47:47 +0200 | <heebo> | ghc moves so fast , its really hard to keep up |
2020-09-30 23:48:09 +0200 | <sm[m]> | I would guess the answer is: not that you'd notice |
2020-09-30 23:48:14 +0200 | <maerwald> | if you mean compilation speed, code generation quality etc... I'm actually not sure |
2020-09-30 23:48:24 +0200 | <heebo> | spend a little time studying rust , cat theory or machine learning - and come back to a changed haskell world |
2020-09-30 23:48:26 +0200 | <maerwald> | But new GHC extensions for sure |
2020-09-30 23:48:33 +0200 | <heebo> | lol |
2020-09-30 23:48:48 +0200 | son0p | (~son0p@181.136.122.143) (Quit: leaving) |
2020-09-30 23:49:11 +0200 | <heebo> | i havent got my head around all of the extensions from 8 |
2020-09-30 23:49:16 +0200 | <sm[m]> | I believe some libs have had some significant speedups lately, like bytestring |
2020-09-30 23:49:35 +0200 | <maerwald> | heebo: debugging got a little better maybe |
2020-09-30 23:49:57 +0200 | <sm[m]> | some pathologically slow cases will have been fixed |
2020-09-30 23:50:25 +0200 | <heebo> | oh nice ill tuck in and find out whats clever , thanks all |
2020-09-30 23:51:20 +0200 | <maerwald> | you might also have noticed the exciting tool wars... I think all that hadn't begun yet prior to 8 |
2020-09-30 23:51:27 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds) |
2020-09-30 23:52:02 +0200 | <heebo> | as in hls vs hie? |
2020-09-30 23:52:20 +0200 | <maerwald> | that's not a war, just confusion and rebranding :p |
2020-09-30 23:52:20 +0200 | mu_ | (~mu@unaffiliated/mu) (Read error: Connection reset by peer) |
2020-09-30 23:52:30 +0200 | <maerwald> | rather cabal vs stack |
2020-09-30 23:52:35 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-09-30 23:52:42 +0200 | mu_ | (~mu@unaffiliated/mu) |
2020-09-30 23:52:43 +0200 | <maerwald> | and then nix came along too |
2020-09-30 23:53:02 +0200 | <heebo> | cabal fought back? |
2020-09-30 23:53:05 +0200 | <maerwald> | yeah |
2020-09-30 23:53:25 +0200 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
2020-09-30 23:53:27 +0200 | <heebo> | how? |
2020-09-30 23:53:28 +0200 | <maerwald> | went into training and increased its power level |
2020-09-30 23:53:30 +0200 | son0p | (~son0p@181.136.122.143) |
2020-09-30 23:53:31 +0200 | <heebo> | lol |
2020-09-30 23:53:38 +0200 | <heebo> | over 9k? |
2020-09-30 23:53:42 +0200 | <maerwald> | for sure |
2020-09-30 23:53:58 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2020-09-30 23:54:24 +0200 | <heebo> | i need to forgive cabal , i abandoned her a while ago |
2020-09-30 23:54:37 +0200 | <heebo> | actually me and stack just used her behind the scenes |
2020-09-30 23:54:41 +0200 | forcer1 | (~forcer@193.56.252.210) |
2020-09-30 23:54:47 +0200 | <Cheery> | Rembane: Why HTML builder should be a monad? |
2020-09-30 23:55:07 +0200 | <Rembane> | Cheery: Mostly to get a nice syntax to work with |
2020-09-30 23:55:36 +0200 | <maerwald> | heebo: also, sandboxes are gone |
2020-09-30 23:55:39 +0200 | <heebo> | so you can combine builders ? |
2020-09-30 23:56:02 +0200 | <heebo> | maerwald: what?! so.... do i need to buy and external harddrive? |
2020-09-30 23:56:27 +0200 | <sm[m]> | no they're not.. phadej is trying to get rid of them.. |
2020-09-30 23:56:43 +0200 | <maerwald> | sm[m]: they are |
2020-09-30 23:57:01 +0200 | <heebo> | Cheery: presumably so you can combine builders in an ordered way? |
2020-09-30 23:57:05 +0200 | <sm[m]> | are not! :-p |
2020-09-30 23:57:14 +0200 | <maerwald> | sm[m]: sandboxes are removed |
2020-09-30 23:57:19 +0200 | <maerwald> | try it |
2020-09-30 23:57:27 +0200 | <monochrom> | which version? |
2020-09-30 23:57:47 +0200 | <sm[m]> | ok, I must be confused. I guess we still have only non-sandbox v1 ? I forgot they were different |
2020-09-30 23:58:03 +0200 | <maerwald> | yes, that's different |
2020-09-30 23:58:05 +0200 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-09-30 23:58:21 +0200 | <sm[m]> | but I'm still right because users will still show up here with cabal 2.4 (thx monochrom !) |
2020-09-30 23:58:35 +0200 | kori | (~kori@arrowheads/kori) |
2020-09-30 23:58:35 +0200 | <maerwald> | 2.4 isn't recommended |
2020-09-30 23:58:42 +0200 | mav1 | (~mav@p5b02806a.dip0.t-ipconnect.de) |
2020-09-30 23:59:00 +0200 | <sm[m]> | ha ha they laugh at our non-recommendations |
2020-09-30 23:59:04 +0200 | <monochrom> | "cabal v1-sandbox init" still does things, 3.2.0.0 |
2020-09-30 23:59:15 +0200 | <sm[m]> | there you go |
2020-09-30 23:59:20 +0200 | <heebo> | ok so without sandboxes dont you just end up clobbering your workspace with irrellevant libraries? |
2020-09-30 23:59:23 +0200 | <monochrom> | If my test is a bad test, let me know. |
2020-09-30 23:59:37 +0200 | filwisher | (~filwisher@cpc76738-dals23-2-0-cust186.20-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2020-09-30 23:59:50 +0200 | <sm[m]> | heebo: cabal by default now uses "v2" commands which share libs nicely |
2020-09-30 23:59:52 +0200 | <maerwald> | monochrom: they are removed in 3.4.0.0-rc3 |
2020-09-30 23:59:53 +0200 | <monochrom> | No heebo, "nix-style", so like what stack does |