| 2021-07-29 00:04:42 +0000 | retro_ | (~retro@5ec19a54.skybroadband.com) (Ping timeout: 245 seconds) |
| 2021-07-29 00:05:28 +0000 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 2021-07-29 00:07:57 +0000 | <Axman6> | I wonder how efficient the generated code for that is, given all the types are fixed |
| 2021-07-29 00:09:11 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 00:12:02 +0000 | Brianmancer | (~Neuromanc@user/briandamag) (Ping timeout: 255 seconds) |
| 2021-07-29 00:13:27 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
| 2021-07-29 00:19:13 +0000 | jess | (~jess@libera/staff/jess) () |
| 2021-07-29 00:23:21 +0000 | <Axman6> | % Foo 1 2 & partsOf template %~ (reverse @Int) |
| 2021-07-29 00:23:21 +0000 | <yahb> | Axman6: Foo {a = 2, b = 1} |
| 2021-07-29 00:24:37 +0000 | <Axman6> | % Foo 1 2 & partsOf template %~ (reverse @Int . map (*10)) |
| 2021-07-29 00:24:37 +0000 | <yahb> | Axman6: Foo {a = 20, b = 10} |
| 2021-07-29 00:28:12 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 2021-07-29 00:33:50 +0000 | MQ-17J | (~MQ-17J@8.6.144.192) (Ping timeout: 265 seconds) |
| 2021-07-29 00:34:18 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-29 00:35:55 +0000 | Deide1 | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 2021-07-29 00:36:02 +0000 | Deide1 | (~Deide@217.155.19.23) |
| 2021-07-29 00:36:38 +0000 | Deide2 | (~Deide@217.155.19.23) |
| 2021-07-29 00:40:10 +0000 | Deide1 | (~Deide@217.155.19.23) (Ping timeout: 240 seconds) |
| 2021-07-29 00:45:24 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2021-07-29 00:45:39 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2021-07-29 00:46:46 +0000 | renzhi | (~xp@142.184.90.63) (Ping timeout: 272 seconds) |
| 2021-07-29 00:48:13 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds) |
| 2021-07-29 00:51:00 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 00:52:26 +0000 | peterhil | (~peterhil@mobile-access-5d6aaf-196.dhcp.inet.fi) (Ping timeout: 258 seconds) |
| 2021-07-29 00:54:22 +0000 | cjb | (~cjb@user/cjb) |
| 2021-07-29 00:55:53 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 2021-07-29 00:56:06 +0000 | yilin | (~yilin@2601:400:c100:6330:6b23:fdc1:34d0:ae01) |
| 2021-07-29 00:58:27 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 01:03:14 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2) |
| 2021-07-29 01:03:33 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-07-29 01:04:15 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-29 01:09:04 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 01:12:18 +0000 | xff0x | (~xff0x@2001:1a81:52b7:d000:8a03:e207:89f6:6456) (Ping timeout: 240 seconds) |
| 2021-07-29 01:14:33 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:65e4:872c:1a09:47) |
| 2021-07-29 01:17:17 +0000 | jeslie0 | (~user@135-23-172-182.cpe.pppoe.ca) |
| 2021-07-29 01:17:51 +0000 | TranquilEcho | (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 2021-07-29 01:19:19 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 01:21:22 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 01:22:20 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 2021-07-29 01:23:16 +0000 | jeslie0 | (~user@135-23-172-182.cpe.pppoe.ca) (ERC (IRC client for Emacs 28.0.50)) |
| 2021-07-29 01:26:06 +0000 | davros | (~davros@host86-185-61-40.range86-185.btcentralplus.com) (Ping timeout: 276 seconds) |
| 2021-07-29 01:28:17 +0000 | sridonhiatus[m] | srid[m] |
| 2021-07-29 01:29:40 +0000 | neurocyte4 | (~neurocyte@212.232.80.209) |
| 2021-07-29 01:29:40 +0000 | neurocyte4 | (~neurocyte@212.232.80.209) (Changing host) |
| 2021-07-29 01:29:40 +0000 | neurocyte4 | (~neurocyte@user/neurocyte) |
| 2021-07-29 01:33:12 +0000 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 250 seconds) |
| 2021-07-29 01:33:13 +0000 | neurocyte4 | neurocyte |
| 2021-07-29 01:33:26 +0000 | euouae | (~euouae@user/euouae) |
| 2021-07-29 01:38:18 +0000 | davros | (~davros@host86-184-180-96.range86-184.btcentralplus.com) |
| 2021-07-29 01:50:35 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) (Remote host closed the connection) |
| 2021-07-29 01:50:57 +0000 | juhp | (~juhp@bb116-14-48-29.singnet.com.sg) |
| 2021-07-29 01:51:11 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) |
| 2021-07-29 01:52:56 +0000 | alx741 | (~alx741@181.196.69.4) (Quit: alx741) |
| 2021-07-29 01:53:46 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 2021-07-29 01:55:17 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-07-29 01:55:22 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) (Ping timeout: 240 seconds) |
| 2021-07-29 01:56:24 +0000 | Topsi | (~Tobias@dyndsl-037-138-065-120.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 2021-07-29 01:57:55 +0000 | trent | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 2021-07-29 02:05:18 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) |
| 2021-07-29 02:09:10 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 02:09:54 +0000 | goepsilongo | (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!) |
| 2021-07-29 02:12:10 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-29 02:19:22 +0000 | yilin | (~yilin@2601:400:c100:6330:6b23:fdc1:34d0:ae01) (Ping timeout: 240 seconds) |
| 2021-07-29 02:23:54 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 250 seconds) |
| 2021-07-29 02:26:59 +0000 | wei2912 | (~wei2912@112.199.250.21) |
| 2021-07-29 02:27:54 +0000 | boxscape_ | (~boxscape_@p4ff0b769.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 2021-07-29 02:28:44 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2021-07-29 02:28:44 +0000 | FinnElija | Guest8697 |
| 2021-07-29 02:28:44 +0000 | Guest8697 | (~finn_elij@user/finn-elija/x-0085643) (Killed (tungsten.libera.chat (Nickname regained by services))) |
| 2021-07-29 02:28:44 +0000 | finn_elija | FinnElija |
| 2021-07-29 02:33:20 +0000 | dmwit | (~dmwit@pool-108-18-198-142.washdc.fios.verizon.net) (Ping timeout: 255 seconds) |
| 2021-07-29 02:34:55 +0000 | dmwit | (~dmwit@pool-108-18-198-142.washdc.fios.verizon.net) |
| 2021-07-29 02:37:00 +0000 | Deide2 | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 2021-07-29 02:45:08 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 2021-07-29 02:46:38 +0000 | slycelote_ | (~slycelote@user/slycelote) (Quit: Leaving) |
| 2021-07-29 02:48:42 +0000 | derelict | (~derelict@user/derelict) (Ping timeout: 240 seconds) |
| 2021-07-29 02:59:48 +0000 | td_ | (~td@muedsl-82-207-238-200.citykom.de) (Ping timeout: 265 seconds) |
| 2021-07-29 03:00:05 +0000 | wei2912 | (~wei2912@112.199.250.21) (Ping timeout: 258 seconds) |
| 2021-07-29 03:00:41 +0000 | wei2912 | (~wei2912@112.199.250.21) |
| 2021-07-29 03:01:18 +0000 | td_ | (~td@94.134.91.37) |
| 2021-07-29 03:01:23 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 03:03:30 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds) |
| 2021-07-29 03:03:44 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 2021-07-29 03:04:03 +0000 | euouae | (~euouae@user/euouae) (Quit: Client closed) |
| 2021-07-29 03:05:05 +0000 | derelict | (~derelict@user/derelict) |
| 2021-07-29 03:05:47 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2021-07-29 03:06:10 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 2021-07-29 03:12:13 +0000 | obs\ | (~obscur1ty@user/obs/x-5924898) (Quit: Leaving) |
| 2021-07-29 03:13:15 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-07-29 03:13:16 +0000 | wrunt | (~ajc@vmx14030.hosting24.com.au) |
| 2021-07-29 03:18:57 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-07-29 03:20:24 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-07-29 03:29:53 +0000 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-29 03:30:57 +0000 | ishutin_ | (~ishutin@92-249-150-169.static.digikabel.hu) |
| 2021-07-29 03:34:36 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 03:34:43 +0000 | ishutin | (~ishutin@193-110-63-61.cable-modem.hdsnet.hu) (Ping timeout: 268 seconds) |
| 2021-07-29 03:36:06 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:65e4:872c:1a09:47) (Ping timeout: 276 seconds) |
| 2021-07-29 03:36:44 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:f86e:7128:132:6c84) |
| 2021-07-29 03:41:55 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) (Remote host closed the connection) |
| 2021-07-29 03:46:18 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 240 seconds) |
| 2021-07-29 03:46:26 +0000 | trent | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 268 seconds) |
| 2021-07-29 03:46:54 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) |
| 2021-07-29 03:46:58 +0000 | notzmv | (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
| 2021-07-29 03:47:18 +0000 | jmorris | (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-29 03:52:00 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 03:53:56 +0000 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 2021-07-29 04:01:05 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 04:02:32 +0000 | derelict | (~derelict@user/derelict) (Quit: WeeChat 3.2) |
| 2021-07-29 04:04:39 +0000 | anandprabhu | (~anandprab@45.83.220.218) |
| 2021-07-29 04:06:55 +0000 | pe200012 | (~pe200012@183.236.83.77) |
| 2021-07-29 04:08:47 +0000 | cjb | (~cjb@user/cjb) (Ping timeout: 256 seconds) |
| 2021-07-29 04:12:48 +0000 | notzmv | (~zmv@user/notzmv) |
| 2021-07-29 04:16:31 +0000 | cjb | (~cjb@user/cjb) |
| 2021-07-29 04:23:54 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) |
| 2021-07-29 04:25:00 +0000 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) (Quit: RIP Freenode lenge leve libera.katt) |
| 2021-07-29 04:25:41 +0000 | ccc | (~ccc@dynamic-acs-24-112-153-241.zoominternet.net) |
| 2021-07-29 04:26:19 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-07-29 04:26:32 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-29 04:28:11 +0000 | arkho | (~ccc@dynamic-acs-24-112-153-241.zoominternet.net) (Ping timeout: 252 seconds) |
| 2021-07-29 04:29:15 +0000 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) |
| 2021-07-29 04:29:49 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 04:33:21 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 2021-07-29 04:33:37 +0000 | nate3 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 2021-07-29 04:41:50 +0000 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50) |
| 2021-07-29 04:42:56 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-29 04:44:46 +0000 | cjb | (~cjb@user/cjb) |
| 2021-07-29 04:45:32 +0000 | KM4MBG | jackhill |
| 2021-07-29 04:46:22 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 04:48:04 +0000 | trufas | (~trufas@177.240.218.218) (Ping timeout: 265 seconds) |
| 2021-07-29 04:48:29 +0000 | trufas | (~trufas@177.240.218.218) |
| 2021-07-29 04:49:04 +0000 | jneira_ | (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Ping timeout: 250 seconds) |
| 2021-07-29 04:50:48 +0000 | bitmapper | (uid464869@id-464869.tooting.irccloud.com) |
| 2021-07-29 04:56:10 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-29 04:56:11 +0000 | jmorris | (uid433911@id-433911.stonehaven.irccloud.com) |
| 2021-07-29 04:57:17 +0000 | qbt | (~edun@user/edun) |
| 2021-07-29 04:57:20 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-29 04:58:01 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 05:00:36 +0000 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50) |
| 2021-07-29 05:03:08 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-07-29 05:05:23 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) (Remote host closed the connection) |
| 2021-07-29 05:06:43 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) |
| 2021-07-29 05:09:31 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 05:16:29 +0000 | Null_A | (~null_a@2601:645:8700:2290:2910:fbd1:f882:3730) (Remote host closed the connection) |
| 2021-07-29 05:20:58 +0000 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-07-29 05:21:02 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:f86e:7128:132:6c84) (Ping timeout: 256 seconds) |
| 2021-07-29 05:21:53 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:4116:e67f:3dc9:5c87) |
| 2021-07-29 05:24:38 +0000 | jneira | (~jneira@212.8.115.226) |
| 2021-07-29 05:29:18 +0000 | img | (~img@user/img) |
| 2021-07-29 05:30:46 +0000 | retroid_ | (~retro@5ec19a54.skybroadband.com) |
| 2021-07-29 05:33:01 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 2021-07-29 05:36:26 +0000 | trent | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 2021-07-29 05:36:49 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 268 seconds) |
| 2021-07-29 05:37:19 +0000 | cjb | (~cjb@user/cjb) |
| 2021-07-29 05:43:43 +0000 | dhil | (~dhil@195.213.192.47) |
| 2021-07-29 05:48:00 +0000 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 2021-07-29 05:52:40 +0000 | hyiltiz | (~quassel@31.220.5.250) |
| 2021-07-29 05:59:23 +0000 | tenniscp25 | (~textual@cm-171-101-115-139.revip11.asianet.co.th) |
| 2021-07-29 06:03:22 +0000 | tenniscp25 | (~textual@cm-171-101-115-139.revip11.asianet.co.th) (Client Quit) |
| 2021-07-29 06:06:19 +0000 | thiross | (~thiross@39.170.37.82) |
| 2021-07-29 06:12:09 +0000 | <Xnuk> | :t (%~) |
| 2021-07-29 06:12:10 +0000 | <lambdabot> | ASetter s t a b -> (a -> b) -> s -> t |
| 2021-07-29 06:12:17 +0000 | Erutuon_ | (~Erutuon@user/erutuon) |
| 2021-07-29 06:12:23 +0000 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 2021-07-29 06:14:15 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-07-29 06:14:21 +0000 | hendursaga | (~weechat@user/hendursaga) |
| 2021-07-29 06:16:17 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
| 2021-07-29 06:19:58 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
| 2021-07-29 06:20:34 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds) |
| 2021-07-29 06:21:12 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2021-07-29 06:25:53 +0000 | ridcully | (~ridcully@p508ac428.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 2021-07-29 06:26:10 +0000 | ridcully | (~ridcully@p508ac428.dip0.t-ipconnect.de) |
| 2021-07-29 06:26:34 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) |
| 2021-07-29 06:28:48 +0000 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) (Quit: bye bye) |
| 2021-07-29 06:37:36 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-29 06:37:51 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-29 06:37:59 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-29 06:43:02 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:4116:e67f:3dc9:5c87) (Ping timeout: 250 seconds) |
| 2021-07-29 06:44:04 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:318a:5cee:26ae:a4f9) |
| 2021-07-29 06:44:26 +0000 | chele | (~chele@user/chele) |
| 2021-07-29 06:47:13 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:388d:2d63:2508:1711) |
| 2021-07-29 06:47:26 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2021-07-29 06:48:50 +0000 | spruit11_ | (~quassel@2a02:a467:ccd6:1:91b8:870a:fb3:8344) |
| 2021-07-29 06:49:43 +0000 | spruit11_ | (~quassel@2a02:a467:ccd6:1:91b8:870a:fb3:8344) (Client Quit) |
| 2021-07-29 06:50:43 +0000 | spruit11_ | (~quassel@2a02:a467:ccd6:1:91b8:870a:fb3:8344) |
| 2021-07-29 06:51:10 +0000 | pe200012 | (~pe200012@183.236.83.77) (Remote host closed the connection) |
| 2021-07-29 06:51:11 +0000 | spruit11 | (~quassel@2a02:a467:ccd6:1:c892:977a:b4bf:318c) (Ping timeout: 252 seconds) |
| 2021-07-29 06:51:24 +0000 | spruit11_ | (~quassel@2a02:a467:ccd6:1:91b8:870a:fb3:8344) (Client Quit) |
| 2021-07-29 06:51:43 +0000 | spruit11 | (~quassel@2a02:a467:ccd6:1:91b8:870a:fb3:8344) |
| 2021-07-29 06:51:44 +0000 | pe200012 | (~pe200012@113.105.10.33) |
| 2021-07-29 06:51:51 +0000 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
| 2021-07-29 06:55:45 +0000 | pe200012 | (~pe200012@113.105.10.33) (Remote host closed the connection) |
| 2021-07-29 06:56:10 +0000 | pe200012 | (~pe200012@218.107.49.28) |
| 2021-07-29 06:58:18 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:318a:5cee:26ae:a4f9) (Ping timeout: 240 seconds) |
| 2021-07-29 06:58:20 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds) |
| 2021-07-29 06:58:52 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 06:59:15 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:5eb1:ed8e:7709:10d6) |
| 2021-07-29 06:59:33 +0000 | thiross | (~thiross@39.170.37.82) (Remote host closed the connection) |
| 2021-07-29 06:59:38 +0000 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) |
| 2021-07-29 07:00:47 +0000 | thiross | (~thiross@39.170.37.82) |
| 2021-07-29 07:05:54 +0000 | vysn | (~vysn@user/vysn) |
| 2021-07-29 07:08:17 +0000 | anandprabhu | (~anandprab@45.83.220.218) (Quit: Leaving) |
| 2021-07-29 07:11:05 +0000 | trent | (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 252 seconds) |
| 2021-07-29 07:17:36 +0000 | thiross | (~thiross@39.170.37.82) () |
| 2021-07-29 07:18:03 +0000 | shredder | (~user@user/shredder) (Quit: quitting) |
| 2021-07-29 07:18:35 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2021-07-29 07:19:35 +0000 | aegon | (~mike@174.127.249.180) |
| 2021-07-29 07:19:39 +0000 | aerona | (~aerona@2600:6c54:4600:f300:d46d:5152:c0fc:6ad9) (Read error: Connection reset by peer) |
| 2021-07-29 07:19:48 +0000 | <aegon> | how does one use a local dependency with stack :? |
| 2021-07-29 07:19:49 +0000 | shredder | (~user@user/shredder) |
| 2021-07-29 07:20:06 +0000 | <aegon> | i tried putting the folder in my stack project but it doesn't seem happy with that |
| 2021-07-29 07:20:17 +0000 | delYsid | (~user@84-115-55-45.cable.dynamic.surfer.at) |
| 2021-07-29 07:20:34 +0000 | <Axman6> | you need to add it to the stack.yaml... in the exra-deps I think? |
| 2021-07-29 07:20:40 +0000 | <Axman6> | extra-deps* |
| 2021-07-29 07:21:45 +0000 | <Axman6> | might njust need to add it to the packages clause |
| 2021-07-29 07:21:56 +0000 | <Axman6> | https://docs.haskellstack.org/en/stable/yaml_configuration/#packages |
| 2021-07-29 07:22:09 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c72b95049518cd6c04553bbc.dip0.t-ipconnect.de) |
| 2021-07-29 07:22:13 +0000 | fendor | (~fendor@178.165.161.179.wireless.dyn.drei.com) |
| 2021-07-29 07:24:47 +0000 | <aegon> | Axman6: thanks, i was confused by only seeing git options, totally glossed over just adding a relative path :X |
| 2021-07-29 07:25:12 +0000 | <Axman6> | all good, I agree it is confusing |
| 2021-07-29 07:29:41 +0000 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) |
| 2021-07-29 07:29:57 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-07-29 07:29:58 +0000 | peterhil | (~peterhil@mobile-access-5d6aaf-196.dhcp.inet.fi) |
| 2021-07-29 07:30:18 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 2021-07-29 07:30:21 +0000 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-07-29 07:31:08 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Ping timeout: 250 seconds) |
| 2021-07-29 07:32:02 +0000 | azeem | (~azeem@176.201.32.30) |
| 2021-07-29 07:32:04 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 2021-07-29 07:32:35 +0000 | zeenk | (~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38) |
| 2021-07-29 07:36:19 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 07:38:29 +0000 | azeem | (~azeem@176.201.32.30) (Ping timeout: 252 seconds) |
| 2021-07-29 07:39:23 +0000 | azeem | (~azeem@176.201.32.30) |
| 2021-07-29 07:39:52 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 07:42:24 +0000 | Obo | (~roberto@79.red-79-153-119.dynamicip.rima-tde.net) |
| 2021-07-29 07:43:46 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-07-29 07:45:38 +0000 | azeem | (~azeem@176.201.32.30) (Read error: Connection reset by peer) |
| 2021-07-29 07:46:37 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-07-29 07:54:42 +0000 | jippiedoe | (~david@84-84-122-154.fixed.kpn.net) |
| 2021-07-29 07:56:52 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) (Ping timeout: 246 seconds) |
| 2021-07-29 07:59:28 +0000 | jippiedoe | (~david@84-84-122-154.fixed.kpn.net) (Ping timeout: 258 seconds) |
| 2021-07-29 07:59:46 +0000 | Erutuon_ | (~Erutuon@user/erutuon) (Quit: WeeChat 2.8) |
| 2021-07-29 08:00:06 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2021-07-29 08:04:27 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2021-07-29 08:04:50 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 258 seconds) |
| 2021-07-29 08:05:24 +0000 | hendursa1 | (~weechat@user/hendursaga) |
| 2021-07-29 08:08:38 +0000 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 2021-07-29 08:10:38 +0000 | kayprish | (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
| 2021-07-29 08:10:55 +0000 | jumper149 | (~jumper149@80.240.31.34) |
| 2021-07-29 08:11:56 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-29 08:17:03 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 08:17:30 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 2021-07-29 08:17:31 +0000 | allbery_b | (~geekosaur@xmonad/geekosaur) |
| 2021-07-29 08:17:32 +0000 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-29 08:17:33 +0000 | allbery_b | geekosaur |
| 2021-07-29 08:18:02 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-07-29 08:19:05 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 2021-07-29 08:19:17 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 08:20:35 +0000 | bitmapper | (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-29 08:20:57 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Ping timeout: 245 seconds) |
| 2021-07-29 08:22:08 +0000 | azeem | (~azeem@176.201.32.30) |
| 2021-07-29 08:23:34 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
| 2021-07-29 08:28:52 +0000 | Obo | (~roberto@79.red-79-153-119.dynamicip.rima-tde.net) (Quit: WeeChat 2.8) |
| 2021-07-29 08:29:04 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2021-07-29 08:34:24 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
| 2021-07-29 08:34:50 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2021-07-29 08:37:29 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 08:40:45 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 08:44:25 +0000 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-29 08:45:22 +0000 | azeem | (~azeem@176.201.32.30) (Ping timeout: 240 seconds) |
| 2021-07-29 08:46:11 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 2021-07-29 08:46:41 +0000 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50) |
| 2021-07-29 08:47:48 +0000 | azeem | (~azeem@176.201.32.30) |
| 2021-07-29 08:53:52 +0000 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
| 2021-07-29 08:56:48 +0000 | pe200012 | (~pe200012@218.107.49.28) (Read error: Connection reset by peer) |
| 2021-07-29 08:56:54 +0000 | pe200012_ | (~pe200012@218.107.49.28) |
| 2021-07-29 08:59:12 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 09:04:03 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-29 09:05:41 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-07-29 09:06:19 +0000 | cfricke | (~cfricke@user/cfricke) (Client Quit) |
| 2021-07-29 09:07:03 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-07-29 09:07:10 +0000 | aegon | (~mike@174.127.249.180) (Quit: leaving) |
| 2021-07-29 09:08:05 +0000 | azeem | (~azeem@176.201.32.30) (Read error: Connection reset by peer) |
| 2021-07-29 09:08:22 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-07-29 09:08:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 09:09:33 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 09:09:35 +0000 | kuribas | (~user@ptr-25vy0i6v77tuc30f7h8.18120a2.ip6.access.telenet.be) |
| 2021-07-29 09:15:38 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 2021-07-29 09:17:15 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-07-29 09:17:51 +0000 | cfricke | (~cfricke@user/cfricke) (Client Quit) |
| 2021-07-29 09:18:01 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-07-29 09:18:14 +0000 | cfricke | (~cfricke@user/cfricke) (Client Quit) |
| 2021-07-29 09:18:57 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-07-29 09:23:29 +0000 | Obo | (~roberto@79.red-79-153-119.dynamicip.rima-tde.net) |
| 2021-07-29 09:24:04 +0000 | chomwitt | (~chomwitt@2a02:587:dc01:5c00:12c3:7bff:fe6d:d374) |
| 2021-07-29 09:37:18 +0000 | jmorris | (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-29 09:37:39 +0000 | michalz | (~michalz@185.246.204.57) |
| 2021-07-29 09:40:40 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:388d:2d63:2508:1711) (Ping timeout: 272 seconds) |
| 2021-07-29 09:41:28 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-07-29 09:43:51 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-07-29 09:44:57 +0000 | peterhil | (~peterhil@mobile-access-5d6aaf-196.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-07-29 09:45:19 +0000 | peterhil | (~peterhil@mobile-access-5d6aaf-196.dhcp.inet.fi) |
| 2021-07-29 09:46:48 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds) |
| 2021-07-29 09:49:09 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9f62:d831:3528:c2cf) |
| 2021-07-29 09:49:17 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-29 09:50:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 09:50:53 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 09:56:45 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2021-07-29 09:57:49 +0000 | __monty__ | (~toonn@user/toonn) |
| 2021-07-29 10:02:37 +0000 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-29 10:03:10 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 10:07:46 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 10:11:14 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-07-29 10:18:11 +0000 | turlando | (~turlando@user/turlando) (Ping timeout: 265 seconds) |
| 2021-07-29 10:21:01 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 10:21:56 +0000 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) |
| 2021-07-29 10:22:04 +0000 | Obo | (~roberto@79.red-79-153-119.dynamicip.rima-tde.net) (Ping timeout: 258 seconds) |
| 2021-07-29 10:22:18 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9f62:d831:3528:c2cf) (Ping timeout: 250 seconds) |
| 2021-07-29 10:22:49 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-07-29 10:25:30 +0000 | thonkpod | (~thonkpod@user/thonkpod) (Ping timeout: 240 seconds) |
| 2021-07-29 10:25:41 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2021-07-29 10:30:59 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:956a:ab48:7c29:9877) |
| 2021-07-29 10:31:06 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 10:36:40 +0000 | ormaaj | (~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | MatrixTravelerbo | (~voyagert2@2001:470:69fc:105::22) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | siraben | (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | kadoban | (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | peddie | (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | ServerStatsDisco | (~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | ac | (~aloiscoch@2001:470:69fc:105::65) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | sm | (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | rednaZ[m] | (~r3dnazmat@2001:470:69fc:105::ba70) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | maralorn | (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | hsiktas[m] | (~hsiktasma@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | ericson2314 | (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | bitonic | (~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | boxscape | (~boxscape@user/boxscape) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | inkbottle[m] | (~inkbottle@2001:470:69fc:105::2ff5) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | unrooted | (~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:40 +0000 | hjulle[m] | (~hjullemat@2001:470:69fc:105::1dd) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | bryan[m] | (~bchreekat@2001:470:69fc:105::16b5) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | fgaz | (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | smichel17[m] | (~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | Deewiant | (~deewiant@2001:470:69fc:105::2fd3) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | polykernel | (~polykerne@user/polykernel) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | cdsmith | (~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | Tisoxin | (~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | Las[m] | (~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | lwe[m] | (~dendrumat@2001:470:69fc:105::2f9b) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | ru0mad[m] | (~ru0madmat@2001:470:69fc:105::9b2) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | jaror[m] | (~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | ixlun | (~ixlun@2001:470:69fc:105::41b3) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | jophish | (~jophish@2001:470:69fc:105::670) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | unclechu | (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | marinelli[m] | (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:41 +0000 | alexfmpe[m] | (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:42 +0000 | srid[m] | (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:42 +0000 | Orbstheorem | (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:42 +0000 | fabfianda[m] | (~fabfianda@2001:470:69fc:105::6db) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:42 +0000 | hughjfchen[m] | (~hughjfche@2001:470:69fc:105::c29d) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:42 +0000 | bb010g | (~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:44 +0000 | amesgen[m] | (~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:44 +0000 | infinisil | (~infinisil@2001:470:69fc:105::ff8) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | dualinverter[m] | (~dualinver@2001:470:69fc:105::16a7) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | oak- | (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | RohitGoswami[m] | (~rgoswamim@2001:470:69fc:105::16cc) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | wallymathieu[m] | (~wallymath@2001:470:69fc:105::16ae) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | fakehacker[m] | (~fakehacke@2001:470:69fc:105::b5f0) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | Guest6263 | (~sylveonma@2001:470:69fc:105::2d95) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | adziahel[m] | (~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | kosmikus[m] | (~andresloe@2001:470:69fc:105::95d) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | octeep[m]1 | (~octeepmoc@2001:470:69fc:105::695e) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | justosophy[m] | (~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | autrim64[m] | (~autrim64m@2001:470:69fc:105::16a1) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | dminuoso[m] | (~dminuosom@2001:470:69fc:105::33bb) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:46 +0000 | jakefromstatefar | (~jakefroms@2001:470:69fc:105::15ef) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:47 +0000 | yin[m] | (~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:47 +0000 | jellz[m] | (~jellzmatr@2001:470:69fc:105::2daa) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:47 +0000 | CyrusT[m] | (~cyrustcru@2001:470:69fc:105::306e) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:47 +0000 | ecameron[m] | (~ecameronm@2001:470:69fc:105::35df) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | zfnmxt | (~zfnmxtzfn@user/zfnmxt) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | jchia[m] | (~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | deuslambda[m] | (~deuslambd@2001:470:69fc:105::c749) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | kar1[m] | (~kar1matri@2001:470:69fc:105::c308) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | Soft | (~soft-matr@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | Drezil | (~drezilkif@2001:470:69fc:105::7f8) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | PotatoHatsue | (~berberman@2001:470:69fc:105::b488) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | andreabedini[m] | (~andreabed@2001:470:69fc:105::c821) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | Deide | (~deide@user/deide) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:48 +0000 | carmysilna | (~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:49 +0000 | drewefenwick[m] | (~drewefenw@2001:470:69fc:105::c8c4) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:49 +0000 | maerwald[m] | (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:49 +0000 | afotgkmnzj7asv3r | (~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:49 +0000 | aveltras[m] | (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:49 +0000 | Ollie[m] | (~ollieocha@2001:470:69fc:105::41a5) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:49 +0000 | jkachmar | (~jkachmar@2001:470:69fc:105::c72d) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:49 +0000 | the-coot[m] | (~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:50 +0000 | reza[m] | (~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:50 +0000 | SimonWeiss[m] | (~weiss-dma@2001:470:69fc:105::bebd) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:50 +0000 | vbeatrice[m] | (~vbeatrice@2001:470:69fc:105::3ebf) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:50 +0000 | OndejSkup[m] | (~mimivxmat@2001:470:69fc:105::c300) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:36:50 +0000 | thomasjm[m] | (~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM) |
| 2021-07-29 10:37:11 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 10:37:40 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-07-29 10:38:13 +0000 | kayprish | (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection) |
| 2021-07-29 10:38:33 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 10:39:09 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 10:39:57 +0000 | maerwald[m] | (~maerwaldm@2001:470:69fc:105::1ee) |
| 2021-07-29 10:42:26 +0000 | agua | (~agua@2804:18:40:39f8:1:0:64c7:dff1) |
| 2021-07-29 10:42:29 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b95075c335839612ea8d0.dip0.t-ipconnect.de) |
| 2021-07-29 10:43:54 +0000 | berberman | (~berberman@user/berberman) (Ping timeout: 240 seconds) |
| 2021-07-29 10:44:41 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-07-29 10:44:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-07-29 10:45:03 +0000 | berberman | (~berberman@user/berberman) |
| 2021-07-29 10:45:13 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 10:45:22 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c72b95049518cd6c04553bbc.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2021-07-29 10:45:27 +0000 | peterhil | (~peterhil@mobile-access-5d6aaf-196.dhcp.inet.fi) (Ping timeout: 258 seconds) |
| 2021-07-29 10:45:54 +0000 | Obo | (~roberto@79.red-79-153-119.dynamicip.rima-tde.net) |
| 2021-07-29 10:46:25 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 2021-07-29 10:46:34 +0000 | michalz | (~michalz@185.246.204.57) (Ping timeout: 240 seconds) |
| 2021-07-29 10:47:59 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 2021-07-29 10:48:55 +0000 | ac | (~aloiscoch@2001:470:69fc:105::65) |
| 2021-07-29 10:48:55 +0000 | sm | (~sm@plaintextaccounting/sm) |
| 2021-07-29 10:48:55 +0000 | MatrixTravelerbo | (~voyagert2@2001:470:69fc:105::22) |
| 2021-07-29 10:48:55 +0000 | hjulle[m] | (~hjullemat@2001:470:69fc:105::1dd) |
| 2021-07-29 10:48:55 +0000 | jaror[m] | (~jaror@2001:470:69fc:105::265) |
| 2021-07-29 10:48:55 +0000 | fgaz | (~fgaz@2001:470:69fc:105::842) |
| 2021-07-29 10:48:55 +0000 | peddie | (~peddie@2001:470:69fc:105::25d) |
| 2021-07-29 10:48:55 +0000 | cdsmith | (~cdsmithma@2001:470:69fc:105::284) |
| 2021-07-29 10:48:56 +0000 | thomasjm[m] | (~thomasjmm@2001:470:69fc:105::c6d9) |
| 2021-07-29 10:48:56 +0000 | ru0mad[m] | (~ru0madmat@2001:470:69fc:105::9b2) |
| 2021-07-29 10:48:56 +0000 | jakefromstatefar | (~jakefroms@2001:470:69fc:105::15ef) |
| 2021-07-29 10:48:56 +0000 | fabfianda[m] | (~fabfianda@2001:470:69fc:105::6db) |
| 2021-07-29 10:48:56 +0000 | bb010g | (~bb010g@2001:470:69fc:105::9a5) |
| 2021-07-29 10:48:56 +0000 | Las[m] | (~lasmatrix@2001:470:69fc:105::74e) |
| 2021-07-29 10:48:56 +0000 | ServerStatsDisco | (~serversta@2001:470:69fc:105::1a) |
| 2021-07-29 10:48:56 +0000 | amesgen[m] | (~amesgenm]@2001:470:69fc:105::82b) |
| 2021-07-29 10:48:56 +0000 | the-coot[m] | (~the-cootm@2001:470:69fc:105::95f) |
| 2021-07-29 10:48:56 +0000 | vaibhavsagar[m] | (~vaibhavsa@2001:470:69fc:105::ffe) |
| 2021-07-29 10:48:56 +0000 | zfnmxt | (~zfnmxtzfn@2001:470:69fc:105::2b32) |
| 2021-07-29 10:48:56 +0000 | bitonic | (~bitonic@2001:470:69fc:105::1812) |
| 2021-07-29 10:48:56 +0000 | kadoban | (~kadoban@user/kadoban) |
| 2021-07-29 10:48:56 +0000 | carmysilna | (~brightly-@2001:470:69fc:105::2190) |
| 2021-07-29 10:48:56 +0000 | jophish | (~jophish@2001:470:69fc:105::670) |
| 2021-07-29 10:48:56 +0000 | ericson2314 | (~ericson23@2001:470:69fc:105::70c) |
| 2021-07-29 10:48:56 +0000 | ixlun | (~ixlun@2001:470:69fc:105::41b3) |
| 2021-07-29 10:48:56 +0000 | siraben | (~siraben@user/siraben) |
| 2021-07-29 10:48:56 +0000 | PotatoHatsue | (~berberman@2001:470:69fc:105::b488) |
| 2021-07-29 10:48:56 +0000 | unclechu | (~unclechu@2001:470:69fc:105::354) |
| 2021-07-29 10:48:56 +0000 | Deewiant | (~deewiant@2001:470:69fc:105::2fd3) |
| 2021-07-29 10:48:56 +0000 | bryan[m] | (~bchreekat@2001:470:69fc:105::16b5) |
| 2021-07-29 10:48:56 +0000 | unrooted | (~unrooted@2001:470:69fc:105::a4a) |
| 2021-07-29 10:48:56 +0000 | rednaZ[m] | (~r3dnazmat@2001:470:69fc:105::ba70) |
| 2021-07-29 10:48:56 +0000 | maralorn | (~maralorn@2001:470:69fc:105::251) |
| 2021-07-29 10:48:57 +0000 | lwe[m] | (~dendrumat@2001:470:69fc:105::2f9b) |
| 2021-07-29 10:48:57 +0000 | inkbottle[m] | (~inkbottle@2001:470:69fc:105::2ff5) |
| 2021-07-29 10:48:57 +0000 | reza[m] | (~rezaphone@2001:470:69fc:105::3eda) |
| 2021-07-29 10:48:57 +0000 | marinelli[m] | (~marinelli@2001:470:69fc:105::2d8) |
| 2021-07-29 10:48:57 +0000 | hsiktas[m] | (~hsiktasma@2001:470:69fc:105::30d4) |
| 2021-07-29 10:48:57 +0000 | boxscape | (~boxscape@user/boxscape) |
| 2021-07-29 10:48:57 +0000 | infinisil | (~infinisil@2001:470:69fc:105::ff8) |
| 2021-07-29 10:48:57 +0000 | Orbstheorem | (~orbstheor@2001:470:69fc:105::a56) |
| 2021-07-29 10:48:57 +0000 | jkachmar | (~jkachmar@2001:470:69fc:105::c72d) |
| 2021-07-29 10:48:57 +0000 | Tisoxin | (~ikosit@user/ikosit) |
| 2021-07-29 10:48:57 +0000 | Deide | (~deide@user/deide) |
| 2021-07-29 10:48:57 +0000 | smichel17[m] | (~smichel17@2001:470:69fc:105::2d32) |
| 2021-07-29 10:48:57 +0000 | polykernel | (~polykerne@user/polykernel) |
| 2021-07-29 10:48:57 +0000 | srid[m] | (~sridmatri@2001:470:69fc:105::1c2) |
| 2021-07-29 10:48:57 +0000 | hughjfchen[m] | (~hughjfche@2001:470:69fc:105::c29d) |
| 2021-07-29 10:48:57 +0000 | OndejSkup[m] | (~mimivxmat@2001:470:69fc:105::c300) |
| 2021-07-29 10:48:57 +0000 | kar1[m] | (~kar1matri@2001:470:69fc:105::c308) |
| 2021-07-29 10:48:57 +0000 | alexfmpe[m] | (~alexfmpem@2001:470:69fc:105::38ba) |
| 2021-07-29 10:48:57 +0000 | ormaaj | (~ormaaj@user/ormaaj) |
| 2021-07-29 10:48:57 +0000 | andreabedini[m] | (~andreabed@2001:470:69fc:105::c821) |
| 2021-07-29 10:49:07 +0000 | dualinverter[m] | (~dualinver@2001:470:69fc:105::16a7) |
| 2021-07-29 10:49:07 +0000 | jchia[m] | (~jchiamatr@2001:470:69fc:105::c50b) |
| 2021-07-29 10:49:07 +0000 | Morrow[m] | (~morrowmma@2001:470:69fc:105::1d0) |
| 2021-07-29 10:49:08 +0000 | dminuoso[m] | (~dminuosom@2001:470:69fc:105::33bb) |
| 2021-07-29 10:49:08 +0000 | Ollie[m] | (~ollieocha@2001:470:69fc:105::41a5) |
| 2021-07-29 10:49:08 +0000 | yin[m] | (~zwromatri@2001:470:69fc:105::1d4) |
| 2021-07-29 10:49:08 +0000 | SimonWeiss[m] | (~weiss-dma@2001:470:69fc:105::bebd) |
| 2021-07-29 10:49:08 +0000 | jellz[m] | (~jellzmatr@2001:470:69fc:105::2daa) |
| 2021-07-29 10:49:08 +0000 | RohitGoswami[m] | (~rgoswamim@2001:470:69fc:105::16cc) |
| 2021-07-29 10:49:08 +0000 | Drezil | (~drezilkif@2001:470:69fc:105::7f8) |
| 2021-07-29 10:49:08 +0000 | wallymathieu[m] | (~wallymath@2001:470:69fc:105::16ae) |
| 2021-07-29 10:49:08 +0000 | adziahel[m] | (~adziahelm@2001:470:69fc:105::b4d) |
| 2021-07-29 10:49:08 +0000 | Soft | (~soft-matr@2001:470:69fc:105::c75) |
| 2021-07-29 10:49:08 +0000 | kosmikus[m] | (~andresloe@2001:470:69fc:105::95d) |
| 2021-07-29 10:49:08 +0000 | autrim64[m] | (~autrim64m@2001:470:69fc:105::16a1) |
| 2021-07-29 10:49:09 +0000 | drewefenwick[m] | (~drewefenw@2001:470:69fc:105::c8c4) |
| 2021-07-29 10:49:09 +0000 | ecameron[m] | (~ecameronm@2001:470:69fc:105::35df) |
| 2021-07-29 10:49:09 +0000 | octeep[m] | (~octeepmoc@2001:470:69fc:105::695e) |
| 2021-07-29 10:49:09 +0000 | CyrusT[m] | (~cyrustcru@2001:470:69fc:105::306e) |
| 2021-07-29 10:49:09 +0000 | justosophy[m] | (~justosoph@2001:470:69fc:105::572f) |
| 2021-07-29 10:49:09 +0000 | aveltras[m] | (~aveltrasm@2001:470:69fc:105::3ef9) |
| 2021-07-29 10:49:09 +0000 | afotgkmnzj7asv3r | (~afotgkmnz@2001:470:69fc:105::c24b) |
| 2021-07-29 10:49:09 +0000 | deuslambda[m] | (~deuslambd@2001:470:69fc:105::c749) |
| 2021-07-29 10:49:09 +0000 | fakehacker[m] | (~fakehacke@2001:470:69fc:105::b5f0) |
| 2021-07-29 10:49:09 +0000 | vbeatrice[m] | (~vbeatrice@2001:470:69fc:105::3ebf) |
| 2021-07-29 10:49:10 +0000 | oak- | (~oakuniver@2001:470:69fc:105::fcd) |
| 2021-07-29 10:49:10 +0000 | Sylveon | (~sylveonma@2001:470:69fc:105::2d95) |
| 2021-07-29 10:49:32 +0000 | michalz | (~michalz@185.246.204.62) |
| 2021-07-29 10:49:33 +0000 | Sylveon | Guest2540 |
| 2021-07-29 10:49:48 +0000 | thonkpod | (~thonkpod@user/thonkpod) |
| 2021-07-29 10:50:07 +0000 | xkuru | (~xkuru@user/xkuru) |
| 2021-07-29 10:51:20 +0000 | Obo | (~roberto@79.red-79-153-119.dynamicip.rima-tde.net) (Ping timeout: 250 seconds) |
| 2021-07-29 10:51:26 +0000 | xkuru | (~xkuru@user/xkuru) (Client Quit) |
| 2021-07-29 10:52:32 +0000 | Deide1 | (~Deide@217.155.19.23) |
| 2021-07-29 10:52:39 +0000 | jmorris | (uid433911@id-433911.stonehaven.irccloud.com) |
| 2021-07-29 10:53:08 +0000 | Obo | (~roberto@94.191.137.235.mobile.tre.se) |
| 2021-07-29 10:54:48 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2021-07-29 10:56:11 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 10:56:40 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:956a:ab48:7c29:9877) (Ping timeout: 272 seconds) |
| 2021-07-29 11:01:14 +0000 | Deide1 | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 2021-07-29 11:01:35 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) (Quit: Client closed) |
| 2021-07-29 11:01:36 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2021-07-29 11:01:56 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) |
| 2021-07-29 11:01:58 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 11:02:08 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 11:04:21 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2021-07-29 11:07:16 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2021-07-29 11:07:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 11:07:32 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 11:07:50 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 11:13:30 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2021-07-29 11:13:45 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 11:15:48 +0000 | ubert | (~Thunderbi@178.165.190.122.wireless.dyn.drei.com) |
| 2021-07-29 11:18:02 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 258 seconds) |
| 2021-07-29 11:20:40 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 11:24:28 +0000 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 2021-07-29 11:24:28 +0000 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 2021-07-29 11:24:28 +0000 | turlando | (~turlando@user/turlando) |
| 2021-07-29 11:25:44 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 11:26:21 +0000 | <merijn> | hmm, any suggestions on how to best represent a case of "0, 1, or 2" args for a function? |
| 2021-07-29 11:27:08 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:d518:334f:85c4:8d2d) |
| 2021-07-29 11:27:47 +0000 | pesada | (~agua@2804:14c:8793:8e2f:3944:8017:7f63:8e28) |
| 2021-07-29 11:28:32 +0000 | <sshine> | merijn, data Args a b = Args { argsOne :: Maybe a, argsTwo :: Maybe b }? |
| 2021-07-29 11:29:23 +0000 | <sm> | maerwald: congrats on the ghcup release! |
| 2021-07-29 11:29:27 +0000 | <sshine> | merijn, i.e. Data.These |
| 2021-07-29 11:30:16 +0000 | ikex1 | (~ash@user/ikex) |
| 2021-07-29 11:30:21 +0000 | <maerwald> | sm: thanks |
| 2021-07-29 11:30:29 +0000 | <sshine> | oh, data These a b = This a | That b | These a b. I guess that's more canonical. :) |
| 2021-07-29 11:30:30 +0000 | agua | (~agua@2804:18:40:39f8:1:0:64c7:dff1) (Ping timeout: 256 seconds) |
| 2021-07-29 11:30:30 +0000 | ikex | (~ash@user/ikex) (Ping timeout: 256 seconds) |
| 2021-07-29 11:30:48 +0000 | <sm> | maerwald: I think a better answer needs to be found for that good question at https://www.reddit.com/r/haskell/comments/ottx21/ann_ghcup01161_released |
| 2021-07-29 11:30:56 +0000 | <merijn> | These doesn't cover 0 arguments case, though |
| 2021-07-29 11:30:56 +0000 | ikex1 | ikex |
| 2021-07-29 11:31:03 +0000 | <merijn> | At least, not nicely |
| 2021-07-29 11:31:41 +0000 | <sm> | (the current answer sounds like a bunch of negatives, it doesn't motivate) |
| 2021-07-29 11:31:42 +0000 | <sshine> | merijn, but another interpretation is Maybe (a, Maybe b) |
| 2021-07-29 11:31:46 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 11:32:14 +0000 | <maerwald> | sm: what do you propose? |
| 2021-07-29 11:32:15 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 11:32:28 +0000 | <merijn> | sshine: In my case it's just representing a commandline that takes 0, 1, or 2 paths and I'm trying to avoid adding separate constructors for each case |
| 2021-07-29 11:32:38 +0000 | <sm> | nothing unfortunately, I'd like to know the answer too |
| 2021-07-29 11:33:42 +0000 | <merijn> | sshine: Which question as you referring to? |
| 2021-07-29 11:33:44 +0000 | <merijn> | eh |
| 2021-07-29 11:33:47 +0000 | <merijn> | s/sshine/sm |
| 2021-07-29 11:34:42 +0000 | <maerwald> | sm: I think the answer is that stack shouldn't do an in-place upgrade by default, but install into e.g. ~/.local/bin or whatever is configured |
| 2021-07-29 11:35:34 +0000 | <maerwald> | ghcup by default does that too... you have to pass `--inplace` if you want that |
| 2021-07-29 11:36:28 +0000 | <sm> | merijn: "I'm new to this. Why should I choose it over stack?" at https://www.reddit.com/r/haskell/comments/ottx21/ann_ghcup01161_released/ |
| 2021-07-29 11:37:08 +0000 | <maerwald> | sm: ah, you mean that |
| 2021-07-29 11:37:20 +0000 | <maerwald> | I think my answer is pretty accurate. |
| 2021-07-29 11:37:50 +0000 | <merijn> | The answer is "because lots of people don't like stack and lots of linux distros fuck up the packaging of GHC/cabal" |
| 2021-07-29 11:38:01 +0000 | <sm> | merijn: "you should choose ghcup because it doesn't overwrite itself, unlike stack upgrade" ? |
| 2021-07-29 11:38:13 +0000 | <maerwald> | sm: what? |
| 2021-07-29 11:38:16 +0000 | <sshine> | merijn, if one or two paths are missing, will the program supply a default path or will a section of code not run? |
| 2021-07-29 11:38:25 +0000 | <drewefenwick[m]> | If you only want to use the Stack workflow with no system GHC then GHCup doesn't give you that much extra AFAIK at the moment. If you want straight GHC or a cabal workflow then GHCup is very handy. |
| 2021-07-29 11:38:45 +0000 | <merijn> | sshine: It's basically diffing configs, so either diff two specified configs or diff one specified config to the default |
| 2021-07-29 11:39:09 +0000 | <merijn> | sm: "you should choose ghcup because you think figuring out which GHC bindist to download is to complex" |
| 2021-07-29 11:39:16 +0000 | <sshine> | merijn, what does zero config paths mean then? |
| 2021-07-29 11:39:17 +0000 | <sm> | OP asks a very simple question and ghcup should have a simple and clear answer to this if it's to succeed with new folks |
| 2021-07-29 11:39:27 +0000 | <maerwald> | sm: there is a simple and clear answer |
| 2021-07-29 11:39:29 +0000 | <merijn> | sshine: Just dumping out the diff of the default |
| 2021-07-29 11:39:32 +0000 | <maerwald> | did you read my response? |
| 2021-07-29 11:39:46 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 11:39:48 +0000 | <sm> | maerwald: which response ? |
| 2021-07-29 11:39:52 +0000 | <maerwald> | sm: on reddit |
| 2021-07-29 11:40:17 +0000 | <sm> | maerwald: https://www.reddit.com/r/haskell/comments/ottx21/ann_ghcup01161_released/h6xsowf/ ? |
| 2021-07-29 11:40:50 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 11:40:50 +0000 | <sshine> | makes sense. |
| 2021-07-29 11:40:50 +0000 | <maerwald> | Yes |
| 2021-07-29 11:42:18 +0000 | chomwitt | (~chomwitt@2a02:587:dc01:5c00:12c3:7bff:fe6d:d374) (Ping timeout: 276 seconds) |
| 2021-07-29 11:43:27 +0000 | <sshine> | I understand this as a step on the way. the things snoyberg wrote about having a shared library for managing GHC installations seems like a nice future goal. I guess pushing GHC management responsibility out of Stack and into a library, only so that either Stack or GHCup can refer to this, is the way forward from having competing tools? kinda like having cabal as a format, and not just a tool. :) |
| 2021-07-29 11:43:38 +0000 | <sm> | maerwald: yes I read it, I just pinged you and gave you feedback about it. I think it's not very motivating and a better answer is needed for folks like the OP. Take it FWIW. |
| 2021-07-29 11:44:18 +0000 | <maerwald> | sm: I don't understand what other answer you expect |
| 2021-07-29 11:44:23 +0000 | <sshine> | whether 'stack upgrade' eventually runs a sub-command that triggers this code, or 'ghcup ...' does, should be a CLI preference. |
| 2021-07-29 11:45:21 +0000 | <maerwald> | sshine: there was never an attempt to write a shared library and the blog post you mentioned also didn't have this as a motivation |
| 2021-07-29 11:45:35 +0000 | <sshine> | maerwald, oh, okay. |
| 2021-07-29 11:46:06 +0000 | <merijn> | sm: tbh, I think the question there has a whole bunch of built in assumptions that run counter to the target audience of ghcup |
| 2021-07-29 11:46:18 +0000 | <merijn> | sm: You say "this person needs a better answer to be convinced to use ghcup" |
| 2021-07-29 11:46:30 +0000 | <maerwald> | then my answer is: don't :) |
| 2021-07-29 11:46:31 +0000 | <merijn> | sm: I say "this person sounds like they're not in the target audience of ghcup" |
| 2021-07-29 11:46:39 +0000 | <maerwald> | yep |
| 2021-07-29 11:46:58 +0000 | <sshine> | maerwald, yeah, https://www.snoyman.com/blog/2021/05/unified-haskell-installer/ -- the section called "The Goal": What I'd like to see is a well maintained Haskell library for installing Haskell toolchains, generally acknowledged as the de facto standard way to install GHC and other tools. It should be Haskell, so that it's easy for Haskellers to maintain. It should support as many operating systems as |
| 2021-07-29 11:47:04 +0000 | <sshine> | possible. It should provide an easy-to-use Haskell API that other tooling can leverage. |
| 2021-07-29 11:47:27 +0000 | <sshine> | maerwald, of course, I interpreted with some degree of freedom. :) |
| 2021-07-29 11:47:28 +0000 | <sm> | maerwald: you said "not a replacement for stack", "supports installing and managing stack versions", "does the same for cabal, GHC and HLS", "doesn't make a workflow choice for you" - I'm just pointing out that to a new haskeller, especially one already using stack, these sound obscure or like disadvantages. I hope that makes sense. I don't expect anything, I'm just trying to help. |
| 2021-07-29 11:47:37 +0000 | <merijn> | sm: The target audience of ghcup is "grumpy unix curmudgeons who dislike package manager induced breackage of haskell tooling" |
| 2021-07-29 11:47:41 +0000 | viluon | (uid453725@id-453725.brockwell.irccloud.com) |
| 2021-07-29 11:48:17 +0000 | <sshine> | merijn, grumpy unix curmudgeons don't like Stack? |
| 2021-07-29 11:48:37 +0000 | <merijn> | I don't and maerwald doesn't and I consider us prototypical grumpy unix curmudgeons :p |
| 2021-07-29 11:49:05 +0000 | <maerwald> | I was talked into supporting stack... so don't blame me |
| 2021-07-29 11:49:07 +0000 | sshine | wonders if prototype inheritance will solve this. |
| 2021-07-29 11:49:57 +0000 | <drewefenwick[m]> | IIRC Snoyman hasn't approached anyone to make GHCup this unified GHC installer that Stack uses to install GHC. |
| 2021-07-29 11:49:57 +0000 | <sm> | merijn, is that really true ? maerwald seems to push it as the haskell install tool |
| 2021-07-29 11:49:58 +0000 | <merijn> | sm: ghcup came from "people don't like stack, but installing the bindists from the website is guess work which version you need and package managers like Arch keep breaking tools" -> "ghcup reliably and predictably install correct bindist for you" |
| 2021-07-29 11:50:14 +0000 | <maerwald> | sm: no, the HF did |
| 2021-07-29 11:50:15 +0000 | <sshine> | maerwald, so, just to understand: if I install stack with ghcup, besides not running 'stack upgrade' to confuse ghcup, should I always use a system-ghc? |
| 2021-07-29 11:50:25 +0000 | <maerwald> | sm: HF wanted windows support, HF wanted stack support |
| 2021-07-29 11:50:29 +0000 | <maerwald> | I didn't want either of those |
| 2021-07-29 11:50:39 +0000 | <viluon> | can Hoogle search for types or typeclasses by kind signature? |
| 2021-07-29 11:51:12 +0000 | <maerwald> | sshine: doesn't matter, does it? You'll just have potentially multiple instances of one GHC version installed |
| 2021-07-29 11:51:34 +0000 | Obo | (~roberto@94.191.137.235.mobile.tre.se) (Ping timeout: 250 seconds) |
| 2021-07-29 11:51:36 +0000 | <merijn> | viluon: No clue, try it? :p |
| 2021-07-29 11:51:51 +0000 | <viluon> | merijn: tried on the online instance, didn't work |
| 2021-07-29 11:52:07 +0000 | <sm> | maerwald: I'm thinking of a proposal from snoyman about making stack more universal which you kind of shot down and pushed full speed ahead with ghcup |
| 2021-07-29 11:52:12 +0000 | <sshine> | maerwald, well, I suppose it mattered slightly if 1) ghcup installs system-ghc, 2) running stack the first time installs another ghc. -- seems kinda silly. but I guess just bundling stack with a system-ghc that isn't necessarily the stack ghc is still sort of useful. |
| 2021-07-29 11:52:21 +0000 | <viluon> | I'm wondering if the commandline tool can do it, if there's a flag or config option or something |
| 2021-07-29 11:52:24 +0000 | <maerwald> | sm: "shot down"? |
| 2021-07-29 11:52:26 +0000 | <viluon> | (I don't have Hoogle locally) |
| 2021-07-29 11:52:38 +0000 | <sm> | yes |
| 2021-07-29 11:52:45 +0000 | <maerwald> | sm: that's untrue |
| 2021-07-29 11:52:57 +0000 | <sm> | I am certainly be confused about ghcup's goals now, so others will be too |
| 2021-07-29 11:53:15 +0000 | <sshine> | maerwald, I'm just thinking, if two tools refer to the same GHC installation, doing so with a shared library would make a lot of sense. :-D that's why I assumed this was a step on the way to something similar to what Snoyman described. |
| 2021-07-29 11:53:17 +0000 | <merijn> | sm: ghcup's goals are: install GHC/cabal/hls |
| 2021-07-29 11:53:34 +0000 | <sshine> | merijn, /stack now? |
| 2021-07-29 11:53:36 +0000 | <merijn> | sm: Including managing installs of multiple versions |
| 2021-07-29 11:53:54 +0000 | <merijn> | sshine: Well, according to maerwald that's not a goal, merely something demanded from externally |
| 2021-07-29 11:54:07 +0000 | <sshine> | merijn, who's demanding? |
| 2021-07-29 11:54:24 +0000 | <merijn> | Haskell Foundation, per maerwald's words, like, 30 seconds ago :p |
| 2021-07-29 11:54:51 +0000 | <merijn> | "13:50 < maerwald> sm: HF wanted windows support, HF wanted stack support" |
| 2021-07-29 11:55:03 +0000 | <sm> | merijn: ok, I understand that as far as it goes. I'm still curious what's a good answer to "I'm new to this. Why should I choose it over stack?" |
| 2021-07-29 11:55:22 +0000 | <merijn> | sm: "Because you don't like stack's mandated workflow" |
| 2021-07-29 11:55:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 11:56:00 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 11:57:24 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 11:58:00 +0000 | <merijn> | Stack is very opinionated and many people strongly disagree with its opinions, but some people find installing cabal/GHC bindists to tricky/annoying, so ghcup takes care of that for you. Your question (and the original one) are predicated on "stack is a good default tool, therefore argumentation to use something else is required" |
| 2021-07-29 11:58:01 +0000 | <maerwald> | sm: 1. the proposal you mentioned was nothing but confusing and didn't represent the current state of the ecosystem correctly, 2. Stack team never collaborated with me and doesn't until today (despite multiple attempts to improve integration, including several patches), 3. I didn't "shoot" down anything. I was correcting the misrepresentation. |
| 2021-07-29 11:59:20 +0000 | <sm> | maerwald: that's how it read to me, again take it FWIW |
| 2021-07-29 11:59:21 +0000 | <merijn> | sm: There are many people (including myself) who do not think stack is a good tool. Therefore there is no reason for me to argue "why use this over stack?". I didn't ever consider stack an option to begin with |
| 2021-07-29 11:59:29 +0000 | <maerwald> | sm: well, you're incorrect |
| 2021-07-29 11:59:30 +0000 | <sm> | I'm just some crackpot on the internet |
| 2021-07-29 12:00:00 +0000 | <sshine> | oh, you're also a simon, sm. |
| 2021-07-29 12:00:13 +0000 | <merijn> | The value proposition of ghcup isn't "what does this provide over stack?", the value proposition is "what does ghcup provide over manually downloading bindists/using apt-get?" |
| 2021-07-29 12:00:37 +0000 | <sm> | merijn: isn't there a simpler, calmer answer ? a newbie friendly one, without the drama ? that's the one I'd like to read |
| 2021-07-29 12:00:46 +0000 | <merijn> | sm: What drama? |
| 2021-07-29 12:00:57 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2021-07-29 12:00:59 +0000 | <maerwald> | the only drama I read is from you right now :p |
| 2021-07-29 12:01:33 +0000 | <sm> | alright. Thanks for the chat, anyway |
| 2021-07-29 12:01:35 +0000 | <merijn> | sm: The value proposition of ghcup over downloading bindists is "no need to guess which bindist you need for your obscure distro" |
| 2021-07-29 12:02:11 +0000 | <merijn> | sm: The value proposition of ghcup over apt-get/Arch's package manager is: ability to manage multiple concurrent versions, get predictable tooling across distros (i.e. avoiding arch's broken packages) |
| 2021-07-29 12:02:12 +0000 | <sm> | night all |
| 2021-07-29 12:02:40 +0000 | <merijn> | Which seem perfectly clear goals/value propositions |
| 2021-07-29 12:02:49 +0000 | <maerwald> | I wonder when there'll be a release where I don't have to get into these kind of discussions. They happen *every* release. |
| 2021-07-29 12:03:12 +0000 | <merijn> | maerwald: Well, you don't *have* to get into these discussions :) |
| 2021-07-29 12:03:22 +0000 | <merijn> | You can just leave them unanswered/addressed :p |
| 2021-07-29 12:03:38 +0000 | <sshine> | or maybe refer back to previous discussion if it's the same? |
| 2021-07-29 12:03:42 +0000 | <yushyin> | btw. stack annoyingly does not support mixins in stack repl. it was the reason why i used cabal (and ghcup) again |
| 2021-07-29 12:03:46 +0000 | <dminuoso> | Im going to argue that the majority of stack users use stack for no reason other than they started out with stack and never bothered to consider their choices after the newbie phase. |
| 2021-07-29 12:04:05 +0000 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2021-07-29 12:04:08 +0000 | <dminuoso> | Not saying that there's people who genuinely prefer stack, but Im not sure that this is the majority |
| 2021-07-29 12:04:16 +0000 | <merijn> | dminuoso: And they mostly started with it due to FP Complete's beginner writings asserting it is good :p |
| 2021-07-29 12:04:23 +0000 | <dminuoso> | Sure |
| 2021-07-29 12:04:34 +0000 | <maerwald> | there are already some users who use ghcup in conjunction with stack and they prefer that over letting stack manage GHC versions |
| 2021-07-29 12:04:56 +0000 | <drewefenwick[m]> | dminuoso: And they read a tutorial written before Cabal 3 or even Cabal nix-style builds that said that Stack was better |
| 2021-07-29 12:04:57 +0000 | <merijn> | maerwald: That just strikes me as weird, tbh |
| 2021-07-29 12:05:08 +0000 | <maerwald> | merijn: well, you save disk space, sorta |
| 2021-07-29 12:05:16 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-07-29 12:05:17 +0000 | <maerwald> | merijn: e.g. HLS devs always need cabal and stack |
| 2021-07-29 12:05:21 +0000 | <maerwald> | they have to test with both |
| 2021-07-29 12:05:26 +0000 | <dminuoso> | As if disk spave is an issue in 2021. :-) |
| 2021-07-29 12:05:50 +0000 | <maerwald> | yah, no idea |
| 2021-07-29 12:05:51 +0000 | <dminuoso> | 1TiB in a laptop is a regular thing already |
| 2021-07-29 12:06:22 +0000 | <dminuoso> | If I was really short on disk space, I wouldn't be writing Haskell to begin with. |
| 2021-07-29 12:06:35 +0000 | <viluon> | dminuoso: I'm writing Haskell and have a 256 GB SSD |
| 2021-07-29 12:06:47 +0000 | drewefenwick[m] | Drew[m] |
| 2021-07-29 12:07:18 +0000 | <viluon> | it is a pain, esp. with multiple local installations of GHC *and* a couple local clones |
| 2021-07-29 12:07:25 +0000 | <dminuoso> | viluon: Let me guess. Macbook and no interest in throwing away money? :p |
| 2021-07-29 12:07:34 +0000 | <viluon> | ThinkPad |
| 2021-07-29 12:07:39 +0000 | <dminuoso> | Curious |
| 2021-07-29 12:07:54 +0000 | <dminuoso> | Why not buy a 1TiB SSD for a hundred bucks? |
| 2021-07-29 12:08:20 +0000 | <maerwald> | dminuoso: well, one GHC install is 2GB |
| 2021-07-29 12:08:24 +0000 | <viluon> | you were right about the "no interest in throwing away money." I also lack the tools for a DIY upgrade though. |
| 2021-07-29 12:08:41 +0000 | <dminuoso> | Im a thinkpad user.. you dont have a screwdriver? |
| 2021-07-29 12:08:47 +0000 | <viluon> | nope |
| 2021-07-29 12:09:32 +0000 | <viluon> | I'd require more than just a screwdriver though, I need a way to transfer my data |
| 2021-07-29 12:10:23 +0000 | <dminuoso> | Mmm, well you can just buy a USB SATA interface for 5 bucks alongside the SSD. :p |
| 2021-07-29 12:10:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 12:10:38 +0000 | <dminuoso> | But anyway, not trying to convince you |
| 2021-07-29 12:10:51 +0000 | <viluon> | I should definitely upgrade, hopefully next month |
| 2021-07-29 12:10:59 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 12:11:17 +0000 | <viluon> | I suppose I can't just `dd` a mounted partition and expect everything to work though |
| 2021-07-29 12:11:58 +0000 | <dminuoso> | Well, you can just reboot onto a usb stick, and then `dd` the internal disk to the new SSD connected via the USB SATA interface |
| 2021-07-29 12:12:04 +0000 | <dminuoso> | Or some such |
| 2021-07-29 12:12:29 +0000 | <viluon> | true |
| 2021-07-29 12:12:35 +0000 | <viluon> | maybe I even have a USB stick |
| 2021-07-29 12:13:13 +0000 | <viluon> | anyway: anecdotal evidence that drive space can still be an issue in 2021 |
| 2021-07-29 12:13:14 +0000 | <Drew[m]> | The whole moving drive procedure gives me data loss anxiety |
| 2021-07-29 12:13:24 +0000 | <viluon> | Drew[m]: smae |
| 2021-07-29 12:13:26 +0000 | <viluon> | same* |
| 2021-07-29 12:15:40 +0000 | pschorf | (~user@c-73-77-28-188.hsd1.tx.comcast.net) (Remote host closed the connection) |
| 2021-07-29 12:16:05 +0000 | <Drew[m]> | What if I lose all my loose markdown files containing barely started story ideas and incoherent ramblings about technical topics |
| 2021-07-29 12:16:20 +0000 | <sshine> | dminuoso, "the majority of stack users use stack for no reason other than they started out with stack and never bothered to consider their choices after the newbie phase." -- I suppose my newbie phase has been 9 years now, but I did set up cabal on CI, and every time I have to bump the version constraints, I'm reminded of why I'm apparently still a noob. :P |
| 2021-07-29 12:16:40 +0000 | <merijn> | sshine: How so? |
| 2021-07-29 12:17:05 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 265 seconds) |
| 2021-07-29 12:17:25 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 2021-07-29 12:18:18 +0000 | <sshine> | merijn, I'll ping you when it's time to do it again. ;-) I ended up in some weird dependency equation where I couldn't find packages that worked together. |
| 2021-07-29 12:18:42 +0000 | <yushyin> | viluon: it sure is. you wouldn't believe how often people complain in #latex that they are missing latex package xy and still refuse to just install texlive-full because they don't feel like sacrificing the 4-6GB for it. :D |
| 2021-07-29 12:19:51 +0000 | <sshine> | dminuoso, or rather: I'm a fan of stackage. and I'm a fan of having a file in my project directory that says which GHC to use, and that that GHC is located somewhere manageable by non-root. that's pretty much why I'm a stack user, I think... |
| 2021-07-29 12:20:35 +0000 | <viluon> | yushyin: I wish a day will come when package managers and build systems are things of the past and a compilation process only fetches and caches the objects it truly needs, garbage-collecting long unused "dependencies." |
| 2021-07-29 12:20:35 +0000 | pschorf | (~user@c-73-77-28-188.hsd1.tx.comcast.net) |
| 2021-07-29 12:20:36 +0000 | <sshine> | dminuoso, I *think* that the moment I put anything besides 'resolver: lts-...' in stack.yaml, I'm sort of screwing myself over. (I learned recently that extra-deps do not propagate.) |
| 2021-07-29 12:20:50 +0000 | <merijn> | sshine: You can have a file in your directory saying which GHC to use ;) |
| 2021-07-29 12:21:14 +0000 | <sshine> | merijn, such that 'ghc build' will infer the content of that file? |
| 2021-07-29 12:21:29 +0000 | <merijn> | sshine: When using ghc manually? |
| 2021-07-29 12:21:34 +0000 | <merijn> | Then no |
| 2021-07-29 12:21:41 +0000 | <sshine> | merijn, not necessarily. I'm not bent on calling my wrapper "stack". |
| 2021-07-29 12:22:03 +0000 | <merijn> | sshine: I mean in the sense that cabal.project already lets you specify arbitrary ghc to use |
| 2021-07-29 12:22:09 +0000 | <sshine> | merijn, I just think that having a prefix to my build tools is nicer than having something like python's virtualenv where I have to remember to type something before I enter a directory in order to fix PATH. |
| 2021-07-29 12:22:30 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 12:22:54 +0000 | <maerwald> | One of the reasons I switched from stack to cabal at one workplace was that bumping versions in stack is just incredibly difficult. And nix people might not like this, but: practical software security is mainly just "bump your deps as often as possible". |
| 2021-07-29 12:22:56 +0000 | <merijn> | sshine: Both cabal and GHC already support multiple parallel installs out-of-the-box (well, of different GHC versions, multiple installs of the same GHC version might give issues, but then you deserve it :p) |
| 2021-07-29 12:23:00 +0000 | <sshine> | merijn, ah. I don't think I've used cabal.project files. what command would I type to build a project with the GHC specified there? |
| 2021-07-29 12:23:19 +0000 | <maerwald> | migrating from one major solver to another is just too much work... better update regularly |
| 2021-07-29 12:23:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 12:23:41 +0000 | <maerwald> | you want to keep the impact low, not get a whole set of surprises when updating the solver |
| 2021-07-29 12:23:49 +0000 | <maerwald> | you can't do that with stack |
| 2021-07-29 12:23:51 +0000 | <merijn> | sshine: cabal has a -w flag to specify which compiler to use and the cabal.project file can persist that so you don't have to manually pass it |
| 2021-07-29 12:23:53 +0000 | <maerwald> | it doesn't support this workflow |
| 2021-07-29 12:24:15 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 12:24:38 +0000 | <maerwald> | if you don't care about software security, all these things might not matter |
| 2021-07-29 12:24:59 +0000 | <merijn> | sshine: You can use "cabal configure --with-compiler=path/to/ghc" to persist it |
| 2021-07-29 12:25:03 +0000 | <sshine> | maerwald, right. I'd rather bump rarely and deal with it then. but I guess there are drawbacks with that. I haven't had to maintain something big in Haskell over a long time. the projects that I've worked on commercially have had few unchanging dependencies and never propagated much back to the ecosystem. |
| 2021-07-29 12:25:24 +0000 | <merijn> | sshine: Personally I have 4-8 parallel installs of GHC in my user dir (most recent version first in path, so ghc default to that) |
| 2021-07-29 12:25:46 +0000 | <maerwald> | sshine: I mean... if you use npm and don't update for 6 months |
| 2021-07-29 12:25:46 +0000 | <merijn> | sshine: Since the bin dirs include version tagged executable for ghc (i.e. ghc-8.2, ghc-9.0, etc) |
| 2021-07-29 12:25:57 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 245 seconds) |
| 2021-07-29 12:26:00 +0000 | <maerwald> | you're gonna have a thousand high-risk vulnerabilities |
| 2021-07-29 12:26:02 +0000 | <merijn> | sshine: So I can just use "cabal -w ghc-8.2" to use a non-default GHC version |
| 2021-07-29 12:26:11 +0000 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 2021-07-29 12:26:14 +0000 | <maerwald> | *known* ones |
| 2021-07-29 12:26:23 +0000 | <merijn> | maerwald: Whether that matters depends on the security model |
| 2021-07-29 12:26:36 +0000 | <merijn> | maerwald: Like, a commandline tool its gonna matter less than a webserver :p |
| 2021-07-29 12:26:47 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
| 2021-07-29 12:26:55 +0000 | <maerwald> | what about a blockchain |
| 2021-07-29 12:26:57 +0000 | <sshine> | merijn, I'll give the cabal.project approach a go the next time I bump my CIs. |
| 2021-07-29 12:27:20 +0000 | <sshine> | blockchain that depends on arbitrary npm packages deserve whatever they have coming for them. |
| 2021-07-29 12:27:34 +0000 | <merijn> | sshine: Note that that doesn't install it, though. So that assumes you have all relevant versions of GHC installed on your system |
| 2021-07-29 12:27:48 +0000 | <sshine> | merijn, sure, okay. |
| 2021-07-29 12:27:50 +0000 | <merijn> | sshine: otoh, ghcup can fix that for you ;) |
| 2021-07-29 12:27:54 +0000 | <maerwald> | sshine: lol, no... I mean blockchain depending on haskell |
| 2021-07-29 12:29:36 +0000 | <sshine> | merijn, yeah, I mean, I understand that it's sliced-and-diced differently; I suppose the big difference is whether or not to maintain package sets, or not. but I've learned now that this evidently also relates to how frequently one maintains dependencies. |
| 2021-07-29 12:30:11 +0000 | <maerwald> | You'd think PVP was invented exactly for that purpose... so you can move forward freely without such stuff as a fixed package set and then bump major versions occasionally |
| 2021-07-29 12:30:16 +0000 | <maerwald> | but in practice, PVP failed |
| 2021-07-29 12:30:32 +0000 | <merijn> | sshine: I have an RSS feed that notifies me when my direct dependencies release out-of-bounds version, so I just bump and test when that happens |
| 2021-07-29 12:31:03 +0000 | <sshine> | merijn, ok. |
| 2021-07-29 12:31:59 +0000 | <sshine> | maerwald, because people don't follow the PVP? |
| 2021-07-29 12:32:02 +0000 | <merijn> | sshine: https://packdeps.haskellers.com/feed?needle=microlens for example |
| 2021-07-29 12:32:26 +0000 | <merijn> | you can just take that as RSS feed to keep track |
| 2021-07-29 12:32:29 +0000 | <maerwald> | sshine: hm... maybe. I'm not sure the idea is a good one to begin with. PVP assumes ppl backport bugfixes and security patches. But most don't. |
| 2021-07-29 12:33:20 +0000 | <maerwald> | In fact, I believe you can do fine without PVP. If you rewrite your entire API, go write a new package. That's what many ecosystem do. Even if it's called foo2 |
| 2021-07-29 12:33:50 +0000 | <maerwald> | But haskellers tend to constantly experiment with their API |
| 2021-07-29 12:34:06 +0000 | <sshine> | first-class modules! |
| 2021-07-29 12:34:15 +0000 | <sshine> | then version can be derived! |
| 2021-07-29 12:34:17 +0000 | <merijn> | People can get a stable API from me when they pay me >.< |
| 2021-07-29 12:38:09 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-07-29 12:38:26 +0000 | <Drew[m]> | I mean recently I encountered a package on Hackage that something appeared to require as a dependency (which actually didn't need it), and the package had no dependency bounds and it failed while building because of an ambiguous occurence error... |
| 2021-07-29 12:38:28 +0000 | <Drew[m]> | I presume there was a particular set of dependencies the package was originally built under. I have no idea how I discover what they are. |
| 2021-07-29 12:38:52 +0000 | <merijn> | Drew[m]: Brute force and guess work |
| 2021-07-29 12:38:57 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-07-29 12:39:36 +0000 | <merijn> | Drew[m]: There is a contigent of "never specify upperbounds" people on Hackage (with significant overlap with the "you should use stackage to ensure things work!" people) |
| 2021-07-29 12:39:49 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-29 12:40:00 +0000 | <Drew[m]> | I know |
| 2021-07-29 12:40:08 +0000 | <Drew[m]> | I've been thinking about it |
| 2021-07-29 12:40:28 +0000 | <Drew[m]> | I feel like different people are trying to communicate different things through the bounds |
| 2021-07-29 12:40:55 +0000 | <merijn> | Drew[m]: This is part of the reason cabal has the new ^>= bounds and allow-newer support |
| 2021-07-29 12:41:22 +0000 | <Drew[m]> | yeah |
| 2021-07-29 12:41:37 +0000 | <Drew[m]> | Has it fixed the contention though? |
| 2021-07-29 12:42:05 +0000 | <merijn> | Can't force people to do the right thing, sadly >.> |
| 2021-07-29 12:43:41 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:d518:334f:85c4:8d2d) (Quit: WeeChat 2.8) |
| 2021-07-29 12:43:59 +0000 | <yushyin> | cargo (rust) has done it right. If you specify "1.2.3" as the version, it is implicitly "^1.2.3" which is similar to our ^>=. |
| 2021-07-29 12:44:17 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 2021-07-29 12:44:55 +0000 | fendor_ | (~fendor@178.165.162.84.wireless.dyn.drei.com) |
| 2021-07-29 12:45:10 +0000 | <merijn> | yushyin: Yeah, but that's benefit of hindsight |
| 2021-07-29 12:45:15 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 2021-07-29 12:45:36 +0000 | <viluon> | merijn: it is, but it's still a way of forcing people to do the right thing |
| 2021-07-29 12:45:53 +0000 | <merijn> | viluon: Maybe in cabal-version 4.0 we can make that the new default :p |
| 2021-07-29 12:46:04 +0000 | <merijn> | And then 20 years from now we can rely on it :p |
| 2021-07-29 12:46:09 +0000 | <yushyin> | :D |
| 2021-07-29 12:46:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 12:46:43 +0000 | <merijn> | At least we have our forwards-compat story sorted in cabal files now |
| 2021-07-29 12:46:44 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 12:46:55 +0000 | <merijn> | That's more than many other tools can say :p |
| 2021-07-29 12:47:22 +0000 | fendor | (~fendor@178.165.161.179.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
| 2021-07-29 12:47:25 +0000 | <viluon> | the Unison language does it even better in my opinion, content-addressable code means that the issue of naming is essentially trivial. The issue of updating, i.e. replacing one definition with another, persists, but there's no ad-hoc versioning scheme / package manager / build system you have to rely on in order to specify what your code depends on. |
| 2021-07-29 12:53:55 +0000 | Obo | (~roberto@94.191.137.235.mobile.tre.se) |
| 2021-07-29 12:56:08 +0000 | oxide | (~lambda@user/oxide) |
| 2021-07-29 12:56:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 12:57:06 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 12:59:05 +0000 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-29 13:00:17 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 13:00:20 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2021-07-29 13:00:40 +0000 | fendor_ | fendor |
| 2021-07-29 13:01:05 +0000 | alx741 | (~alx741@181.196.69.4) |
| 2021-07-29 13:02:48 +0000 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
| 2021-07-29 13:03:04 +0000 | <maerwald> | what does "1.2.3" being implicitly "^1.2.3" get you when the dependency doesn't actually follow semver |
| 2021-07-29 13:03:33 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
| 2021-07-29 13:05:29 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2021-07-29 13:09:04 +0000 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 2021-07-29 13:09:35 +0000 | jolly | (~jolly@208.180.97.158) (Quit: Connection closed) |
| 2021-07-29 13:14:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 13:14:28 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 13:15:15 +0000 | Null_A | (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) |
| 2021-07-29 13:16:42 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 13:19:52 +0000 | Null_A | (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Ping timeout: 256 seconds) |
| 2021-07-29 13:20:13 +0000 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-07-29 13:21:18 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-07-29 13:21:22 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 2021-07-29 13:21:33 +0000 | img | (~img@user/img) |
| 2021-07-29 13:22:46 +0000 | <zzz> | i just found out there's a function called zipLazy which is the same as zip "but lazy on the second list". isn't zip lazy by default? |
| 2021-07-29 13:23:27 +0000 | <Lycurgus> | extra |
| 2021-07-29 13:24:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 13:24:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 13:25:35 +0000 | <zzz> | it seems to me that it'a not lazy, it's irrefutable on the pattern match for the second list, throwing an error if the first list's length is greater |
| 2021-07-29 13:25:59 +0000 | <zzz> | how is this useful? |
| 2021-07-29 13:26:50 +0000 | <boxscape> | zzz: FWIW base docs say `zip is right-lazy: zip [] _|_ = [] |
| 2021-07-29 13:26:51 +0000 | <boxscape> | which sounds very much like the description of zipLazy |
| 2021-07-29 13:27:01 +0000 | <boxscape> | I inserted the / accidentally |
| 2021-07-29 13:27:02 +0000 | <boxscape> | wait |
| 2021-07-29 13:27:11 +0000 | <boxscape> | I don't know if matrix is displaying this correctly |
| 2021-07-29 13:27:23 +0000 | <boxscape> | it's supposed to be `zip [] undefined = []`, basically |
| 2021-07-29 13:27:54 +0000 | <zzz> | so my question is, how is zipLazy different from zip in a useful way? |
| 2021-07-29 13:28:37 +0000 | <boxscape> | (Oh.. matrix displays | as a | in italic, not a slash, I see) |
| 2021-07-29 13:28:56 +0000 | <boxscape> | s/matrix/element |
| 2021-07-29 13:29:21 +0000 | <Drew[m]> | zzz: Say you have two lists and the second one is infinite. With zip you have to somewhat evaluate the second list to get the first element of the zipped list. I believe with this zipLazy you could access all the first elements without evaluating any of the second list |
| 2021-07-29 13:30:35 +0000 | <zzz> | > map fst $ zip [0..7] [9..] |
| 2021-07-29 13:30:37 +0000 | <lambdabot> | [0,1,2,3,4,5,6,7] |
| 2021-07-29 13:31:19 +0000 | <Drew[m]> | I "first element" but I meant "fst value of the first element" |
| 2021-07-29 13:31:33 +0000 | <Drew[m]> | I said* |
| 2021-07-29 13:31:36 +0000 | <zzz> | > map fst $ zip [0..7] (undefined : [9..]) |
| 2021-07-29 13:31:37 +0000 | <lambdabot> | [0,1,2,3,4,5,6,7] |
| 2021-07-29 13:31:57 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 13:32:14 +0000 | <Drew[m]> | That could save some work in some circumstances |
| 2021-07-29 13:32:37 +0000 | <zzz> | maybe i'm not understanding your point, but zip seems to work just fine for that |
| 2021-07-29 13:33:00 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
| 2021-07-29 13:33:16 +0000 | <Drew[m]> | Probably because I'm wrong |
| 2021-07-29 13:33:20 +0000 | Obo | (~roberto@94.191.137.235.mobile.tre.se) (Ping timeout: 252 seconds) |
| 2021-07-29 13:34:39 +0000 | <Drew[m]> | Oh wait |
| 2021-07-29 13:34:48 +0000 | <Drew[m]> | Your example still requires evaluating some of the second list |
| 2021-07-29 13:34:57 +0000 | <Drew[m]> | Namely the `:` constructor |
| 2021-07-29 13:35:20 +0000 | <zzz> | yes |
| 2021-07-29 13:35:31 +0000 | <zzz> | when would it be useful not to? |
| 2021-07-29 13:36:09 +0000 | <zzz> | > map fst $ zip [0..7] undefined |
| 2021-07-29 13:36:11 +0000 | <lambdabot> | *Exception: Prelude.undefined |
| 2021-07-29 13:36:13 +0000 | <zzz> | > map fst $ zipLazy [0..7] undefined |
| 2021-07-29 13:36:15 +0000 | <lambdabot> | error: |
| 2021-07-29 13:36:15 +0000 | <lambdabot> | Variable not in scope: zipLazy :: [a0] -> t0 -> [(b, b0)] |
| 2021-07-29 13:36:20 +0000 | <zzz> | > map fst $ Util.zipLazy [0..7] undefined |
| 2021-07-29 13:36:21 +0000 | <lambdabot> | error: |
| 2021-07-29 13:36:21 +0000 | <lambdabot> | Not in scope: ‘Util.zipLazy’ |
| 2021-07-29 13:36:22 +0000 | <lambdabot> | No module named ‘Util’ is imported. |
| 2021-07-29 13:36:30 +0000 | <zzz> | how do i do this? |
| 2021-07-29 13:37:04 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 13:37:26 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2021-07-29 13:38:11 +0000 | <zzz> | % map fst $ Util.zipLazy [0..7] undefined |
| 2021-07-29 13:38:11 +0000 | <yahb> | zzz: ; <interactive>:27:11: error:; Not in scope: `Util.zipLazy'; No module named `Util' is imported. |
| 2021-07-29 13:38:19 +0000 | <zzz> | oh well |
| 2021-07-29 13:38:43 +0000 | qbt | (~edun@user/edun) (Ping timeout: 258 seconds) |
| 2021-07-29 13:39:01 +0000 | <Drew[m]> | zzz: So I'm not sure I've ever encountered such a situation, but imagine a hypothetical situation where you have a list defined by a computation that must do a lot of work just to determine whether the list is empty or not, but for whatever reason you know ahead of time that not only will the list not be empty, it will be longer than the first list you give to `zipLazy`. Under this situation you could avoid having to do that work while still |
| 2021-07-29 13:39:02 +0000 | <Drew[m]> | being able to extract the fst values of the zipped list |
| 2021-07-29 13:39:54 +0000 | <zzz> | the point is zipLazy works here but I can't imagine a situation where that's useful |
| 2021-07-29 13:40:02 +0000 | <zzz> | Drew[m]: zip works fine for that |
| 2021-07-29 13:40:24 +0000 | Toast52 | (~Toast52@151.192.167.120) |
| 2021-07-29 13:40:57 +0000 | <zzz> | oh i see now |
| 2021-07-29 13:41:05 +0000 | <Drew[m]> | You can't access any values of the zipped list with `zip` without first case matching both lists to make sure neither is empty though, right? |
| 2021-07-29 13:41:20 +0000 | <zzz> | yes i see what you mean |
| 2021-07-29 13:41:22 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
| 2021-07-29 13:42:30 +0000 | <zzz> | that is a very weird hypothetical though. if the list is empty you'll end up with an error as soon as you try to evaluate it |
| 2021-07-29 13:43:00 +0000 | <zzz> | and why would you zip something you have no intention of evaluating? |
| 2021-07-29 13:43:24 +0000 | <zzz> | but i see now |
| 2021-07-29 13:43:30 +0000 | <Drew[m]> | I'd love to hear what the situation was that made someone put it in the `ghc` package |
| 2021-07-29 13:43:57 +0000 | <Drew[m]> | I guess that implies that it's used in GHC somewhere |
| 2021-07-29 13:44:46 +0000 | <zzz> | there's also a zipWithLazy |
| 2021-07-29 13:44:49 +0000 | <zzz> | which is scary |
| 2021-07-29 13:46:17 +0000 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
| 2021-07-29 13:46:48 +0000 | hendursaga | (~weechat@user/hendursaga) |
| 2021-07-29 13:48:39 +0000 | <Toast52> | actually i got a question |
| 2021-07-29 13:48:57 +0000 | <Toast52> | often theres some helper function that I realise is in the GHC library |
| 2021-07-29 13:49:34 +0000 | <Toast52> | e.g. IIRC theres applyN and some others |
| 2021-07-29 13:49:45 +0000 | Brianmancer | (~Neuromanc@user/briandamag) |
| 2021-07-29 13:50:24 +0000 | <Toast52> | if I import the GHC library does that inflate my binary with the entire size of GHC |
| 2021-07-29 13:50:30 +0000 | <geekosaur> | yes |
| 2021-07-29 13:55:42 +0000 | <Toast52> | right. I figured. thanks a lot! |
| 2021-07-29 13:56:18 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-07-29 13:57:16 +0000 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 2021-07-29 13:58:49 +0000 | zelmac | (~zelmac@host86-188-117-120.range86-188.btcentralplus.com) |
| 2021-07-29 14:00:33 +0000 | oni123 | (~oni123@cpe-70-121-244-14.neb.res.rr.com) |
| 2021-07-29 14:03:24 +0000 | Obo | (~roberto@94.191.137.235.mobile.tre.se) |
| 2021-07-29 14:03:38 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-07-29 14:05:55 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b95075c335839612ea8d0.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 2021-07-29 14:06:31 +0000 | kuribas | (~user@ptr-25vy0i6v77tuc30f7h8.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 2021-07-29 14:10:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 14:10:24 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 14:10:40 +0000 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-29 14:11:17 +0000 | chomwitt | (~chomwitt@athedsl-32041.home.otenet.gr) |
| 2021-07-29 14:11:52 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 14:12:33 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 14:13:49 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2021-07-29 14:14:01 +0000 | oni123 | (~oni123@cpe-70-121-244-14.neb.res.rr.com) (Quit: Client closed) |
| 2021-07-29 14:14:48 +0000 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-07-29 14:14:56 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 14:14:58 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 14:15:24 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 14:15:33 +0000 | zebrag | (~chris@user/zebrag) |
| 2021-07-29 14:15:50 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2021-07-29 14:20:32 +0000 | son0p | (~ff@181.136.122.143) |
| 2021-07-29 14:20:58 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 14:21:17 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 14:23:37 +0000 | jippiedoe | (~david@84-84-122-154.fixed.kpn.net) |
| 2021-07-29 14:24:08 +0000 | shriekingnoise | (~shrieking@186.137.144.80) |
| 2021-07-29 14:25:07 +0000 | favonia | (~favonia@user/favonia) |
| 2021-07-29 14:25:13 +0000 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-29 14:26:23 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 14:26:37 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2021-07-29 14:27:36 +0000 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-29 14:28:20 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2021-07-29 14:30:58 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 14:31:45 +0000 | motle | (~motle@cpc103048-sgyl39-2-0-cust506.18-2.cable.virginm.net) |
| 2021-07-29 14:31:53 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 14:32:07 +0000 | <motle> | hi, im trying to get some graphics applications running in windows |
| 2021-07-29 14:32:35 +0000 | <motle> | iv been trying to build gtk or opengl (inc freeglut) |
| 2021-07-29 14:32:42 +0000 | jippiedoe | (~david@84-84-122-154.fixed.kpn.net) (Remote host closed the connection) |
| 2021-07-29 14:32:49 +0000 | <motle> | using msys, or ubuntu on wsl |
| 2021-07-29 14:33:22 +0000 | <motle> | i found a common dependency with lesah, which wont build either for the same reason |
| 2021-07-29 14:33:40 +0000 | <motle> | it fails at; pacman -S mingw-w64-x86_64-webkitgtk3 |
| 2021-07-29 14:34:56 +0000 | <motle> | this apparently according to some thread i cant find anymore "no longer works, and has been depreciated" |
| 2021-07-29 14:35:13 +0000 | <motle> | this seems like it affects most of the haskell graphics ecosystem on windows |
| 2021-07-29 14:35:39 +0000 | <motle> | does anyone have a currently working windows setup for GUIs or graphics? |
| 2021-07-29 14:35:58 +0000 | <motle> | leksah* |
| 2021-07-29 14:36:45 +0000 | <motle> | anyway, that depreciated library is from msys - which was the windows way to build the graphics library dependencies like with unix |
| 2021-07-29 14:37:05 +0000 | <motle> | not sure whats up with wsl, couldnt fathom the x-forwarding i think... |
| 2021-07-29 14:37:32 +0000 | <motle> | i think this means cairo is broken on windows too, as well as gloss |
| 2021-07-29 14:37:40 +0000 | sedeki | (~textual@user/sedeki) |
| 2021-07-29 14:38:02 +0000 | <motle> | though mostly this problem is encountered when trying to build gtk |
| 2021-07-29 14:38:06 +0000 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 2021-07-29 14:38:06 +0000 | chris_ | (~chris@81.96.113.213) |
| 2021-07-29 14:38:16 +0000 | <motle> | which on windows i think is totally dead |
| 2021-07-29 14:39:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 14:39:30 +0000 | <motle> | cant get any of the solutions such as freeglut to work either - probably if anyone has up to date installation instructions for this it might work - considering building from source, but with just putting the dlls it seems to break |
| 2021-07-29 14:40:18 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 14:42:34 +0000 | chris_ | (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
| 2021-07-29 14:43:35 +0000 | <Toast52> | does msys link with window's opengl32.dll |
| 2021-07-29 14:43:53 +0000 | <Toast52> | or does it come with its own set of shared libs |
| 2021-07-29 14:49:03 +0000 | <Toast52> | I believe ghc on windows is able to locate shared libs on PATH which includes %systemroot%\system32 (where opengl32.dll is located) |
| 2021-07-29 14:50:24 +0000 | <kritzefitz> | motle, a few week ago I was able to build GTK3 applications based on gi-gtk after installing mingw-w64-x86_64-{pkgconf,gtk3,gobject-introspection}. |
| 2021-07-29 14:50:59 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 14:51:52 +0000 | sedeki | (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-07-29 14:52:03 +0000 | <motle> | yeah, gobject is what led me to leksah, i thought it would install that for me, since i couldnt get the install to supress the error |
| 2021-07-29 14:52:23 +0000 | jmorris | (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-29 14:54:24 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 14:55:07 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
| 2021-07-29 14:57:56 +0000 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) |
| 2021-07-29 14:58:40 +0000 | <zava> | writing me a haskell exam tmrw. fuckin monads and some of the types make me head hurt |
| 2021-07-29 14:58:41 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9d14:637c:254d:7940) |
| 2021-07-29 14:58:59 +0000 | <motle> | :t (>>) |
| 2021-07-29 14:59:00 +0000 | <lambdabot> | Monad m => m a -> m b -> m b |
| 2021-07-29 14:59:04 +0000 | <motle> | :t (>>=) |
| 2021-07-29 14:59:05 +0000 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 2021-07-29 14:59:14 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 2021-07-29 14:59:33 +0000 | <zava> | which is also used in parsing |
| 2021-07-29 14:59:50 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 268 seconds) |
| 2021-07-29 15:00:08 +0000 | <zava> | I really have no reason to complain. I'll pass |
| 2021-07-29 15:00:22 +0000 | <zava> | those are the only things that I struggle with |
| 2021-07-29 15:01:06 +0000 | <zava> | and when I write a function with where and 4 lines of nested helperfunctions and my mate achieves the same with a 2 liner :) |
| 2021-07-29 15:01:16 +0000 | michalz | (~michalz@185.246.204.62) (Remote host closed the connection) |
| 2021-07-29 15:02:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 15:02:51 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 15:02:55 +0000 | <kritzefitz> | motle, I don't think I understand your problem. Can you be more specific what GUI toolkit you were trying to build? You say you couldn't use GTK, because you couldn't install <mingw-prefix>-webkitgtk3, but GTK itself doesn't actually need webkit. |
| 2021-07-29 15:03:18 +0000 | <zava> | \o |
| 2021-07-29 15:03:21 +0000 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.0) |
| 2021-07-29 15:05:18 +0000 | sweater2 | (~sweater@206.81.18.26) (Quit: WeeChat 2.8) |
| 2021-07-29 15:05:38 +0000 | <dsal> | :t (*>) |
| 2021-07-29 15:05:39 +0000 | <lambdabot> | Applicative f => f a -> f b -> f b |
| 2021-07-29 15:06:04 +0000 | <dsal> | I should get in the habit of using that more. |
| 2021-07-29 15:06:35 +0000 | <dminuoso> | Also cute: |
| 2021-07-29 15:06:41 +0000 | <dminuoso> | % :t (<$) |
| 2021-07-29 15:06:41 +0000 | <yahb> | dminuoso: Functor f => a -> f b -> f a |
| 2021-07-29 15:06:51 +0000 | <dminuoso> | Really grown to like that one. |
| 2021-07-29 15:08:36 +0000 | <dsal> | Yeah. I use these things in parsers, but outside of parsers, I never think to use them. |
| 2021-07-29 15:09:24 +0000 | <dminuoso> | `() <$` I find more comfortable than `void` which needs an extra import |
| 2021-07-29 15:09:41 +0000 | <dminuoso> | Also in some custom monads it can be handy |
| 2021-07-29 15:10:29 +0000 | <dminuoso> | One of our projects has a large compilation monad with various failures (that get promoted to fatal at certain stages). So I regularly do something like: True <$ configErr "this and that failed" |
| 2021-07-29 15:10:46 +0000 | <dminuoso> | Allowing me to produce some temporary result while setting an eventually fatal error |
| 2021-07-29 15:11:04 +0000 | <motle> | krizefitz: i was trying to install gobject which leksah had a .bash file to do, but *it* failed because it needed webkitgtk3 |
| 2021-07-29 15:12:09 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 15:12:15 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 258 seconds) |
| 2021-07-29 15:12:23 +0000 | averell | (~averell@user/averell) (Quit: .) |
| 2021-07-29 15:13:26 +0000 | <dsal> | Oh, looks like I use `$>` a lot, but not `<$` hmm... |
| 2021-07-29 15:14:35 +0000 | <dminuoso> | Guess it depends a bit on the emphasis. |
| 2021-07-29 15:15:02 +0000 | <dminuoso> | <$ on longer lines immediately shows you the result ahead of the line, with $> I feel like I run out of mental stack space by the time I get to the other side |
| 2021-07-29 15:16:16 +0000 | <Drew[m]> | motle: From my not very clear understanding of what gobject is, I doubt it requires webkitgtk |
| 2021-07-29 15:16:28 +0000 | <lechner> | Hi, with JSON.eitherDecode on known JSON data I get: "Error in $: Failed reading: Cannot decode input: Data.Text.Internal.Encoding.decodeUtf8: Invalid UTF-8 stream. Expecting object value at ',' " What does that mean, please? Is that a JSON problem (missing object value) or a UTF-8 encoding problem? Thanks! |
| 2021-07-29 15:16:32 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
| 2021-07-29 15:16:57 +0000 | <lechner> | or decoding problem, to be more exact |
| 2021-07-29 15:17:49 +0000 | peterhil | (~peterhil@mobile-access-5d6aaf-196.dhcp.inet.fi) |
| 2021-07-29 15:17:51 +0000 | <dminuoso> | I suspect there's some escape character issue |
| 2021-07-29 15:18:02 +0000 | <lechner> | it happens on all files, though |
| 2021-07-29 15:18:13 +0000 | <geekosaur> | Drew[m],motle: leksah uses webkitgtk, so it installs it at the same time as gtk. that does not mean gtk itself requires webkit |
| 2021-07-29 15:18:54 +0000 | <motle> | sure |
| 2021-07-29 15:19:15 +0000 | <Drew[m]> | Right, and from my research trying to get reflex-dom to work, webkitgtk3 didn't seem like a thing that was available on windows |
| 2021-07-29 15:19:36 +0000 | <motle> | but i did pacman -S ... gobject-introspection, and it still throws an error |
| 2021-07-29 15:19:54 +0000 | <motle> | i was trying to get a leksah build to get that to work for me |
| 2021-07-29 15:19:58 +0000 | <kritzefitz> | motle, what error does it throw? |
| 2021-07-29 15:20:00 +0000 | Obo | (~roberto@94.191.137.235.mobile.tre.se) (Ping timeout: 256 seconds) |
| 2021-07-29 15:20:23 +0000 | <motle> | but your right, the depreciated dependency which kills leksah shouldnt actually stop the gtk build, i shall try again |
| 2021-07-29 15:21:34 +0000 | <motle> | the package gobject version something something required but not found |
| 2021-07-29 15:22:04 +0000 | <motle> | from stack run on a project with gi-gtk dependencies in the stack yaml |
| 2021-07-29 15:23:31 +0000 | <kritzefitz> | Stack does not install C dependencies for you. |
| 2021-07-29 15:23:46 +0000 | <kritzefitz> | You need to install the gobject C library before running stack |
| 2021-07-29 15:23:58 +0000 | <Drew[m]> | Yeah but it sounds like motle has tried installing that |
| 2021-07-29 15:24:16 +0000 | <kritzefitz> | Yes, but they never told us, why it didn't work. |
| 2021-07-29 15:24:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 15:25:06 +0000 | <Drew[m]> | Well I think what they said was ambiguous. Was pacman throwing an error when they tried to install gobject-introspection, or did it succeed and stack threw an error when they tried to use it |
| 2021-07-29 15:25:07 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 15:25:55 +0000 | <kritzefitz> | motle, maybe you can clarify? Did you run `pacman -S mingw-w64-x86_64-object-introspection`? Did that work? If not, what was the error message? |
| 2021-07-29 15:25:57 +0000 | <Drew[m]> | Clarification would be handy! |
| 2021-07-29 15:26:48 +0000 | peterhil | (~peterhil@mobile-access-5d6aaf-196.dhcp.inet.fi) (Ping timeout: 256 seconds) |
| 2021-07-29 15:27:53 +0000 | <motle> | i think the gobject-introspection install "succeded" but didnt make the lib available, maybe PATH |
| 2021-07-29 15:28:53 +0000 | <motle> | error: target not found: mingw-w64-x86_64-object-introspection |
| 2021-07-29 15:28:57 +0000 | LukeHoersten | (~LukeHoers@user/lukehoersten) |
| 2021-07-29 15:29:10 +0000 | <kritzefitz> | You're missing a `g` in front of `object`. |
| 2021-07-29 15:29:31 +0000 | <motle> | derp, just copy pasted it from the comment |
| 2021-07-29 15:29:50 +0000 | <kritzefitz> | OOps |
| 2021-07-29 15:30:22 +0000 | <motle> | hmm, might be building ok now, have to wait a sec |
| 2021-07-29 15:30:54 +0000 | pe200012_ | (~pe200012@218.107.49.28) (Ping timeout: 272 seconds) |
| 2021-07-29 15:32:42 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 15:32:52 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 15:33:57 +0000 | zelmac | (~zelmac@host86-188-117-120.range86-188.btcentralplus.com) (Remote host closed the connection) |
| 2021-07-29 15:35:44 +0000 | danielam | (~daniel@cpe-67-247-21-112.nyc.res.rr.com) |
| 2021-07-29 15:37:11 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 2021-07-29 15:38:07 +0000 | agua | (~agua@2804:18:40:39f8:1:0:64c7:dff1) |
| 2021-07-29 15:39:02 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 15:39:36 +0000 | danielam | (~daniel@cpe-67-247-21-112.nyc.res.rr.com) (Quit: leaving) |
| 2021-07-29 15:39:44 +0000 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds) |
| 2021-07-29 15:40:07 +0000 | pesada | (~agua@2804:14c:8793:8e2f:3944:8017:7f63:8e28) (Ping timeout: 245 seconds) |
| 2021-07-29 15:42:36 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 15:43:22 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 2021-07-29 15:43:49 +0000 | yilin1 | (~yilin@2601:400:c100:6330:6b23:fdc1:34d0:ae01) |
| 2021-07-29 15:44:12 +0000 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 272 seconds) |
| 2021-07-29 15:44:33 +0000 | yilin1 | (~yilin@2601:400:c100:6330:6b23:fdc1:34d0:ae01) (Client Quit) |
| 2021-07-29 15:46:21 +0000 | motle | (~motle@cpc103048-sgyl39-2-0-cust506.18-2.cable.virginm.net) (Quit: Connection closed) |
| 2021-07-29 15:46:43 +0000 | <Drew[m]> | if you're going through gi-gtk, I wouldn't trust the windows instructions there to be up to date and good practice |
| 2021-07-29 15:46:58 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2021-07-29 15:47:38 +0000 | pesada | (~agua@2804:14c:8793:8e2f:3944:8017:7f63:8e28) |
| 2021-07-29 15:50:47 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-07-29 15:51:23 +0000 | agua | (~agua@2804:18:40:39f8:1:0:64c7:dff1) (Ping timeout: 252 seconds) |
| 2021-07-29 15:51:33 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9d14:637c:254d:7940) (Quit: WeeChat 2.8) |
| 2021-07-29 15:53:07 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 244 seconds) |
| 2021-07-29 15:53:23 +0000 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-07-29 15:54:43 +0000 | motle | (~motle@cpc103048-sgyl39-2-0-cust506.18-2.cable.virginm.net) |
| 2021-07-29 15:54:53 +0000 | <motle> | now it complains about; libcairo-gobject2 |
| 2021-07-29 15:55:09 +0000 | rmoe | (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net) (Ping timeout: 276 seconds) |
| 2021-07-29 15:55:10 +0000 | <motle> | so i guess that fixed the original gobject issue |
| 2021-07-29 15:55:38 +0000 | <motle> | ie pacman -S mingw-w64-x86_64-gobject-introspection |
| 2021-07-29 15:55:39 +0000 | <motle> | worked |
| 2021-07-29 15:55:43 +0000 | <kritzefitz> | motle, did you also `pacman -S mingw-w32-x86_64-gtk3`? |
| 2021-07-29 15:56:04 +0000 | <kritzefitz> | That should pull in the rest of the dependencies you need for gi-gtk. |
| 2021-07-29 15:56:28 +0000 | <kritzefitz> | (assuming you're using gt-gtk version 3.x and not 4.x) |
| 2021-07-29 15:56:31 +0000 | <motle> | error: target not found: mingw-w32-x86_64-gtk3 |
| 2021-07-29 15:56:54 +0000 | <kritzefitz> | err, mingw-w64-x86_64-gtk3 |
| 2021-07-29 15:57:08 +0000 | rmoe | (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net) |
| 2021-07-29 15:57:27 +0000 | <motle> | yah, that works |
| 2021-07-29 15:58:32 +0000 | <motle> | ahh, iv just got to get used to putting that prefix on the dependencies normally listed because of msys |
| 2021-07-29 15:59:22 +0000 | <motle> | still complains about 'libcairo-gobject-2.dll though |
| 2021-07-29 15:59:32 +0000 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 2021-07-29 16:01:06 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
| 2021-07-29 16:01:10 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) |
| 2021-07-29 16:01:29 +0000 | <kritzefitz> | That sounds like an issue with PATH |
| 2021-07-29 16:03:30 +0000 | <kritzefitz> | IIRC libcairo-gobject-2.dll should be in you msys environment inside /mingw64/bin or similar. Can you find it there? |
| 2021-07-29 16:03:49 +0000 | <motle> | i thought that before when it couldnt resolve gobject after gobject-introspect installed |
| 2021-07-29 16:04:41 +0000 | <kritzefitz> | Yeah, but that was a different error message. When stack complains about not finding a library, its usually because pkg-config can't even find the definition for the file. |
| 2021-07-29 16:05:10 +0000 | <kritzefitz> | If you get complaints about a .dll, pkg-config probably found the definition, but now the linker can't find the .dll one the PATH. |
| 2021-07-29 16:06:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 16:06:12 +0000 | <motle> | the only dlls in the bin dir at ../.. in a msys prompt are prefixed by msys- |
| 2021-07-29 16:06:22 +0000 | <motle> | not the right ones |
| 2021-07-29 16:07:04 +0000 | <kritzefitz> | Are you sure ../.. is the same as /mingw64? |
| 2021-07-29 16:07:09 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-07-29 16:07:09 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 16:07:30 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds) |
| 2021-07-29 16:08:04 +0000 | <motle> | C:\msys64\mingw64\bin has the gtk dll |
| 2021-07-29 16:08:49 +0000 | <kritzefitz> | That sounds about right, but... |
| 2021-07-29 16:08:59 +0000 | <motle> | aha, and the libcairo-gobject-2.dll |
| 2021-07-29 16:09:00 +0000 | <kritzefitz> | you're using a system installation of msys? |
| 2021-07-29 16:09:18 +0000 | <motle> | yeah, i installed stack within it not the other way round |
| 2021-07-29 16:09:20 +0000 | <motle> | using curl |
| 2021-07-29 16:09:53 +0000 | <kritzefitz> | Are you sure stack didn't install its own msys environment? It's not exactly straightforward to keep it from doing that. |
| 2021-07-29 16:11:22 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Ping timeout: 268 seconds) |
| 2021-07-29 16:11:41 +0000 | <motle> | im not sure if its just the windows installer that does that? |
| 2021-07-29 16:11:56 +0000 | <motle> | the curl option being for the unix environemnt |
| 2021-07-29 16:12:02 +0000 | <kritzefitz> | Nah, `stack setup` does it much like it does with GHC. |
| 2021-07-29 16:12:32 +0000 | <motle> | oh yeah fair, probably it has some msys dir somewhere like ghc |
| 2021-07-29 16:12:49 +0000 | <motle> | but if those are like sandboxed things... |
| 2021-07-29 16:12:54 +0000 | azeem | (~azeem@176.201.11.200) |
| 2021-07-29 16:13:04 +0000 | <kritzefitz> | You can check the output of `stack path`. If the items of bin-path point to some obscure location, it's probably using the wrong msys environment. |
| 2021-07-29 16:13:18 +0000 | <maerwald[m]> | https://docs.haskellstack.org/en/stable/yaml_configuration/#skip-msys |
| 2021-07-29 16:13:34 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed) |
| 2021-07-29 16:13:59 +0000 | pavonia | (~user@user/siracusa) |
| 2021-07-29 16:14:10 +0000 | <motle> | idk i added that directory and started a new msys session and it seems like its building ok now |
| 2021-07-29 16:14:20 +0000 | <motle> | to the PATH |
| 2021-07-29 16:14:44 +0000 | <motle> | cant tell if its some intermittent thing like to do with starting the new session |
| 2021-07-29 16:14:48 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
| 2021-07-29 16:14:57 +0000 | <motle> | something like that could be quite confusing! |
| 2021-07-29 16:15:25 +0000 | <motle> | or running stack several times in a row changing something, idk |
| 2021-07-29 16:15:36 +0000 | <motle> | seems to be working now anyhow |
| 2021-07-29 16:15:38 +0000 | <kritzefitz> | If C:\msys64\mingw64\bin is on your path when you start stack, it will probably not remove it, so everything should still work. |
| 2021-07-29 16:16:04 +0000 | <Drew[m]> | What's fun is that installing msys yourself, installing it through chocolatey, installing it through chocolatey's haskell-dev package, installing it through GHCup and Stack installing it all put things in different locations and some of those methods don't clean up after themselves reliably in my experience. |
| 2021-07-29 16:16:59 +0000 | <kritzefitz> | But at least in the long run you should consider setting skip-msys and removing stack's installation of msys. Its great for your own sanity, as long as you remember to only call stack from the correct MSYS environment. |
| 2021-07-29 16:17:55 +0000 | <motle> | yeah, i keep refreshing windows too |
| 2021-07-29 16:18:14 +0000 | <kritzefitz> | Also: you have to remember to start it from the correct MSYS shell. Last time I installed MSYS, it installed three different “entry points“ (“MSYS2”, “MinGW32”, “MinGW64” IIRC) and each of them have different things on the PATH. |
| 2021-07-29 16:18:17 +0000 | <maerwald[m]> | Drew: GHCup should clean up properly after itself |
| 2021-07-29 16:18:42 +0000 | <maerwald[m]> | You don't need to start it from an msys2 shell |
| 2021-07-29 16:18:42 +0000 | <kritzefitz> | And by default all the mingw-w64 stuff is only on PATH if you start MinGW64. |
| 2021-07-29 16:19:09 +0000 | ikex1 | (~ash@user/ikex) |
| 2021-07-29 16:19:26 +0000 | ikex | (~ash@user/ikex) (Ping timeout: 252 seconds) |
| 2021-07-29 16:19:28 +0000 | <maerwald[m]> | You need these settings: skip-msys, extra-path, extra-include-dirs, extra-lib-dirs |
| 2021-07-29 16:19:46 +0000 | <kritzefitz> | Yeah, that should work too. |
| 2021-07-29 16:19:50 +0000 | ikex1 | ikex |
| 2021-07-29 16:20:01 +0000 | <maerwald[m]> | Then it works from powershell |
| 2021-07-29 16:20:08 +0000 | <maerwald[m]> | Adjusting PATH has odd side effects on windows |
| 2021-07-29 16:20:26 +0000 | <motle> | now it just dies without giving any reason |
| 2021-07-29 16:20:36 +0000 | <kritzefitz> | who dies? stack? |
| 2021-07-29 16:20:43 +0000 | <motle> | yeah |
| 2021-07-29 16:21:01 +0000 | dajoer | (~david@user/gvx) (Quit: leaving) |
| 2021-07-29 16:21:05 +0000 | <kritzefitz> | What's the exit code? Maybe it's just finished? |
| 2021-07-29 16:21:13 +0000 | <motle> | Process exited with code: ExitFailure (-1073741515) |
| 2021-07-29 16:21:21 +0000 | <kritzefitz> | Huh. |
| 2021-07-29 16:21:39 +0000 | <maerwald[m]> | Try cabal, it doesn't install its own msys2 |
| 2021-07-29 16:21:41 +0000 | <kritzefitz> | Maybe try re-running? Sometimes the actual error message is buried inside other messages. |
| 2021-07-29 16:21:50 +0000 | hexfive | (~eric@50.35.83.177) |
| 2021-07-29 16:21:56 +0000 | <motle> | idk how best to get cabal on a clean msys install |
| 2021-07-29 16:22:05 +0000 | hexfive | (~eric@50.35.83.177) (Client Quit) |
| 2021-07-29 16:22:08 +0000 | Toast52 | (~Toast52@151.192.167.120) (Quit: Leaving) |
| 2021-07-29 16:23:01 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 16:23:32 +0000 | <kritzefitz> | motle, you might need to set XDG_DATA_DIRS=/mingw64/share in the environment. But if that's the case there should be an error message hidden somewhere. |
| 2021-07-29 16:24:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 16:24:12 +0000 | <kritzefitz> | e.g. `XDG_DATA_DIRS=/mingw64/share stack ...` |
| 2021-07-29 16:24:59 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 16:25:08 +0000 | <maerwald[m]> | motle: can install cabal with ghcup |
| 2021-07-29 16:25:13 +0000 | <zzz> | wait, importing a module inflates the binary with the full module? seems trivial to statically check what's not used and strip it away, no? |
| 2021-07-29 16:25:32 +0000 | <maerwald[m]> | It asks for pre-existent msys2 |
| 2021-07-29 16:27:03 +0000 | <maerwald[m]> | Don't run stuff from within msys2 |
| 2021-07-29 16:27:52 +0000 | superstar64 | (~superstar@2600:1700:ed80:50a0:d250:99ff:fe2c:53c4) |
| 2021-07-29 16:28:25 +0000 | <lechner> | Hi, does a ! strictness indicator in a JSON data type definition make the parsing more strict or more relaxed, please? |
| 2021-07-29 16:28:26 +0000 | hgolden | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!) |
| 2021-07-29 16:28:32 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 2021-07-29 16:29:07 +0000 | <motle> | lechner: it ensures its parsed at all |
| 2021-07-29 16:29:26 +0000 | <lechner> | it is not without? |
| 2021-07-29 16:29:42 +0000 | <motle> | not if by lazyness its never called, thats what stricness is about |
| 2021-07-29 16:29:47 +0000 | <motle> | calls it there and then |
| 2021-07-29 16:29:53 +0000 | <motle> | instead of deffering it to call by use |
| 2021-07-29 16:30:44 +0000 | <lechner> | where does it go in an array please? [! Constituent] or ![ Constituent ] ? |
| 2021-07-29 16:30:44 +0000 | <kritzefitz> | motle, are you sure? Because if we're talking about parsing with aeson, it should parse everything strictly to be able to report failures. |
| 2021-07-29 16:30:50 +0000 | mattil | (~mattilinn@87-92-17-82.bb.dnainternet.fi) |
| 2021-07-29 16:31:03 +0000 | <motle> | lechner: maybe its only used in pattern bindings? |
| 2021-07-29 16:31:21 +0000 | <motle> | im not sure no |
| 2021-07-29 16:31:30 +0000 | <superstar64> | i'm trying to write a traversal for a higher kinded typed. is this possible? https://gist.github.com/Superstar64/d04cce9dd60f931a18868a648ff5b22a |
| 2021-07-29 16:31:32 +0000 | hgolden | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
| 2021-07-29 16:31:52 +0000 | <superstar64> | `g λ` doesn't work because e doesn't match with e' |
| 2021-07-29 16:31:57 +0000 | <kritzefitz> | lechner, ![Foo] works, but probably does not what you want, because it only evaluates until the first `:`. |
| 2021-07-29 16:32:09 +0000 | <kritzefitz> | lechner, [!Foo] is not valid syntax. |
| 2021-07-29 16:32:19 +0000 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 2021-07-29 16:32:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 16:32:48 +0000 | <kritzefitz> | If you want strict lists, you need a type that is explicitly designed to be a strict list or possibly define it yourself. |
| 2021-07-29 16:32:58 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 16:33:03 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-07-29 16:33:17 +0000 | <kritzefitz> | But I *don't* think strictness annotations should have any effect on JSON parsing. |
| 2021-07-29 16:33:27 +0000 | <kritzefitz> | So it probably doesn't matter. |
| 2021-07-29 16:33:39 +0000 | <lechner> | so i have known valid JSON. migrating to Haskell, my definitions are probably off but the error message is not great |
| 2021-07-29 16:33:41 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 16:33:50 +0000 | <motle> | yeah, idk was thinking lazy IO if it was escapable and needed prompt evaluation or something |
| 2021-07-29 16:34:14 +0000 | <lechner> | i saw a note one time in a haskell project asking all contributors to use ! |
| 2021-07-29 16:34:32 +0000 | <motle> | you should have a good reason |
| 2021-07-29 16:34:39 +0000 | <motle> | never normally needed |
| 2021-07-29 16:35:27 +0000 | <motle> | really rare times where otherwise something gets dropped in a monadic sequence needing ! cat remember |
| 2021-07-29 16:36:06 +0000 | <motle> | but like, only encountering actual use cases of ! rarely, so not really seeing why anyone would emphasize its importance |
| 2021-07-29 16:36:32 +0000 | <lechner> | unfortunately i cannot find it anymore |
| 2021-07-29 16:36:42 +0000 | <kritzefitz> | There is another case with libraries such as Data.Binary, where the decoding function doesn't check for errors in favour of more laziness. |
| 2021-07-29 16:36:56 +0000 | <motle> | saw some thing about performant parallel from some london bank in haskell, strict on the spine lazy on the branches i think |
| 2021-07-29 16:37:33 +0000 | <kritzefitz> | In that case strictness annotations actually make a big difference, because an all-strict structure will throw errors earlier. |
| 2021-07-29 16:37:42 +0000 | KUrare | (~KUrare@user/kurare) |
| 2021-07-29 16:38:10 +0000 | KUrare | (~KUrare@user/kurare) (Remote host closed the connection) |
| 2021-07-29 16:38:11 +0000 | <motle> | ah right, like if it does a bunch of work before calling the next lazy value |
| 2021-07-29 16:38:22 +0000 | <motle> | in a sequence that will eventually fail or something like that |
| 2021-07-29 16:38:30 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 2021-07-29 16:39:00 +0000 | <motle> | so you would want to get everything into a pure environemnt first for example to avoid that source of errors |
| 2021-07-29 16:39:19 +0000 | <motle> | like reading all the values in from files before starting the processing |
| 2021-07-29 16:39:45 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 2021-07-29 16:39:53 +0000 | <motle> | so you would want to basically just use ! on the let bound variable capturing it from reading in from IO |
| 2021-07-29 16:40:26 +0000 | <motle> | and then just have everything else be lazy |
| 2021-07-29 16:40:33 +0000 | <motle> | idk about this stric list |
| 2021-07-29 16:40:41 +0000 | <motle> | to bind the functionality into the datatype like that |
| 2021-07-29 16:41:17 +0000 | <motle> | seems like you would have to have a different reason - like what were you saying, some kind of mapped error check? |
| 2021-07-29 16:41:25 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-29 16:41:38 +0000 | <motle> | i guess you could have a safe-strict-constructor |
| 2021-07-29 16:41:55 +0000 | <motle> | so that it performs all the safety checks to construct it at the same time |
| 2021-07-29 16:42:24 +0000 | <c_wraith> | as far as I'm concerned, the only reason to put strictness annotations into a constructor is when you need to unpack something of a known type for performance reasons. |
| 2021-07-29 16:42:25 +0000 | <motle> | or like, a strict fold using the safe constructor? |
| 2021-07-29 16:43:07 +0000 | <c_wraith> | otherwise it should be a property of functions that use that data and can set their own strictness policies appropriately for that exact use. |
| 2021-07-29 16:43:14 +0000 | <motle> | but then i dont see why you wouldnt just have a strict traversal with the error checker directly |
| 2021-07-29 16:43:50 +0000 | <maerwald[m]> | I use StrictData by default and so do many others |
| 2021-07-29 16:44:05 +0000 | <c_wraith> | StrictData doesn't even solve any interesting problems |
| 2021-07-29 16:44:15 +0000 | <c_wraith> | All it does is prevent using Haskell |
| 2021-07-29 16:44:35 +0000 | <motle> | lol, well if your usecase is known finite and totally evaluated |
| 2021-07-29 16:45:17 +0000 | <maerwald[m]> | No |
| 2021-07-29 16:45:24 +0000 | <motle> | so thats just like an easy switch to ensure recursive datatypes have everything like map performed strictly/simultaniously? |
| 2021-07-29 16:45:47 +0000 | <maerwald[m]> | https://github.com/yesodweb/wai/pull/752#issuecomment-501531386 |
| 2021-07-29 16:46:00 +0000 | <c_wraith> | StrictData is the equivalent of sticking ! on every field in data types defined in modules where it's enabled |
| 2021-07-29 16:46:30 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 276 seconds) |
| 2021-07-29 16:46:42 +0000 | <motle> | idk, everything i do is state encoded anyway... |
| 2021-07-29 16:47:11 +0000 | <c_wraith> | I don't get it. I don't have problems like that comment is talking about, because I make things the correct strictness up-front. |
| 2021-07-29 16:47:20 +0000 | <motle> | so basically definitely lazy! |
| 2021-07-29 16:47:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 16:47:29 +0000 | <motle> | (as pottentially infinite as not yet unfolded) |
| 2021-07-29 16:47:48 +0000 | <c_wraith> | And I still get to do all the things that post ignores with knot-tying |
| 2021-07-29 16:47:50 +0000 | <motle> | just nyam everything up one at a time like pipes processing |
| 2021-07-29 16:47:51 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 16:48:06 +0000 | <motle> | + fusion. strictness seems to kill all of that! |
| 2021-07-29 16:48:19 +0000 | <motle> | no streams... |
| 2021-07-29 16:48:30 +0000 | <motle> | thats IO scanning out the window |
| 2021-07-29 16:48:49 +0000 | <motle> | strictly evaluate this stream of market data! |
| 2021-07-29 16:48:52 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
| 2021-07-29 16:49:19 +0000 | <motle> | i guess if you have a state encoded IO list though your gona be fine |
| 2021-07-29 16:49:36 +0000 | <motle> | i mean, the IO should allow stricness to be on by default? idk im confused |
| 2021-07-29 16:50:02 +0000 | <lechner> | it looks like aeson also offers strict parsers with json' and decode': http://winterland.me/2019/03/05/aeson%27s-mysterious-lazy-parsing/index.html |
| 2021-07-29 16:50:15 +0000 | <motle> | i still think i need it to be lazy because everythings these partially suspended traversals |
| 2021-07-29 16:50:21 +0000 | <motle> | yeah thats it |
| 2021-07-29 16:50:48 +0000 | <motle> | scanning is almost like a zipper, using lazyness at the front of evaluation by tail calls |
| 2021-07-29 16:51:08 +0000 | <motle> | so you need to "do the work" on a per value basis |
| 2021-07-29 16:51:31 +0000 | <motle> | and this will happen whenever your unfolding |
| 2021-07-29 16:51:41 +0000 | <motle> | er, if the unfolds may be infinite |
| 2021-07-29 16:51:52 +0000 | <motle> | so you cant be using streaming unfolds is basically all i can conclude |
| 2021-07-29 16:52:12 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) (Quit: Client closed) |
| 2021-07-29 16:52:50 +0000 | <motle> | id say thats enough to call stric by default unidiomatic to some extent |
| 2021-07-29 16:52:58 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) |
| 2021-07-29 16:53:32 +0000 | <motle> | assuming that folding/unfolding lazy lists is what we do |
| 2021-07-29 16:53:55 +0000 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 268 seconds) |
| 2021-07-29 16:54:03 +0000 | <motle> | i guess the division is between people with finite datatypes or not |
| 2021-07-29 16:54:28 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) |
| 2021-07-29 16:54:38 +0000 | <motle> | eg a fixed size fluid simulation compared to a live IO interface |
| 2021-07-29 16:55:17 +0000 | <motle> | its only because of the markets that i ended up with these damn scanners |
| 2021-07-29 16:55:19 +0000 | <motle> | damn |
| 2021-07-29 16:55:26 +0000 | <motle> | probably not going to make any money |
| 2021-07-29 16:55:34 +0000 | <motle> | hope you like scanners everybody!! |
| 2021-07-29 16:55:35 +0000 | motle | (~motle@cpc103048-sgyl39-2-0-cust506.18-2.cable.virginm.net) (Quit: Connection closed) |
| 2021-07-29 16:57:13 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 16:57:35 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 16:57:42 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 16:58:32 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 16:58:58 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 16:59:59 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-29 17:00:14 +0000 | deejaytee | (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 2021-07-29 17:00:21 +0000 | chomwitt | (~chomwitt@athedsl-32041.home.otenet.gr) (Ping timeout: 258 seconds) |
| 2021-07-29 17:01:01 +0000 | econo | (uid147250@user/econo) |
| 2021-07-29 17:02:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 17:03:25 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 17:03:42 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 265 seconds) |
| 2021-07-29 17:04:43 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) (Quit: Client closed) |
| 2021-07-29 17:04:52 +0000 | <lechner> | Hi, why does readCreateProcessWithExitCode returns stdout as a String, please? It is the same as [Char], which according to Data.Char are Unicode code points. What if the called program, like all programs, outputs a ByteString that may or may not be UTF-8? Does System.Process attempt to decode? Thanks! |
| 2021-07-29 17:05:05 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) |
| 2021-07-29 17:07:41 +0000 | motle | (~motle@cpc103048-sgyl39-2-0-cust506.18-2.cable.virginm.net) |
| 2021-07-29 17:08:48 +0000 | <motle> | i spent half of last year designing asyncronous scheduling on graph distrbuted computing for these trading robot things! like, years wasted if the only reason is scanners! |
| 2021-07-29 17:09:56 +0000 | <motle> | had restricted types flowing on the edges of a hierarchical tensor net, was mental |
| 2021-07-29 17:10:45 +0000 | <motle> | damn AWS sentinals killing the haskell apps |
| 2021-07-29 17:11:25 +0000 | <motle> | all that just for a persistent net of processes that could start each other up if the sentinal got one of 'em |
| 2021-07-29 17:12:33 +0000 | <motle> | so yeah - to make something of that, i kind of want to get a programming language at least |
| 2021-07-29 17:12:44 +0000 | <motle> | its got graphs too... |
| 2021-07-29 17:12:50 +0000 | <motle> | like how we have lists |
| 2021-07-29 17:12:58 +0000 | <motle> | and something convolutional |
| 2021-07-29 17:13:11 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 17:13:17 +0000 | <motle> | extends lenses to pointers? |
| 2021-07-29 17:13:44 +0000 | <motle> | anyway, the point is about call by use and lazy evaluation i guess |
| 2021-07-29 17:14:01 +0000 | <motle> | running the program starting information flowing over the edges |
| 2021-07-29 17:14:14 +0000 | <motle> | so the pointers setting about foraging for nearby data |
| 2021-07-29 17:14:39 +0000 | <motle> | i guess then you have an elaboration over everything being just tail calls |
| 2021-07-29 17:14:55 +0000 | <motle> | ie there is other stuff "nearby" in different ways in a graph |
| 2021-07-29 17:14:59 +0000 | <motle> | than just the tail |
| 2021-07-29 17:15:18 +0000 | <motle> | so instead of pattern matching cons being the bare currency of the language... |
| 2021-07-29 17:15:28 +0000 | <motle> | and basically traversals and folds being king |
| 2021-07-29 17:15:38 +0000 | <motle> | so by suspending traversals on graphs with pointer navigation |
| 2021-07-29 17:15:54 +0000 | <motle> | idk... something complicated |
| 2021-07-29 17:16:10 +0000 | <motle> | supposed to be the key part to the heart of the language, i cant get it |
| 2021-07-29 17:16:59 +0000 | <motle> | anyway, instead of records and complicated lenses via template haskell, everything is done by pointer indexing |
| 2021-07-29 17:17:09 +0000 | <motle> | some algebra on the index |
| 2021-07-29 17:17:27 +0000 | <motle> | cant quite get the class system, but anyway... |
| 2021-07-29 17:18:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 17:18:17 +0000 | Null_A | (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) |
| 2021-07-29 17:18:22 +0000 | Guest9 | (~Guest9@103.240.170.208) |
| 2021-07-29 17:18:23 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 17:18:26 +0000 | <motle> | i guess normally "positions" are infact let bound variables, probably enough for now |
| 2021-07-29 17:18:31 +0000 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 2021-07-29 17:19:23 +0000 | <motle> | i guess thats just an artefact of having put edges where there were function arguments |
| 2021-07-29 17:20:06 +0000 | <motle> | its anoying how it basically just allows recursive programs to be expressed and haskell just does that anyway... |
| 2021-07-29 17:20:22 +0000 | <motle> | i guess it would be nice to wield the IR directly as a nice graph though... |
| 2021-07-29 17:20:59 +0000 | <motle> | oh yeah, it was supposed to go in the compiler as like the lowest level after making lists... not sure if would even require a systemF extension |
| 2021-07-29 17:22:21 +0000 | <motle> | yeah i guess everythings just done with mad big records at the minute, could make it better? |
| 2021-07-29 17:22:25 +0000 | pgib | (~textual@173.38.117.81) |
| 2021-07-29 17:23:47 +0000 | <motle> | i dont actually know how term reduction or whatever it is actually happens |
| 2021-07-29 17:24:14 +0000 | <motle> | like if having a nice graph scafolding would help, instead of having to keep track of all the record name subsets |
| 2021-07-29 17:25:46 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 17:25:46 +0000 | <motle> | i guess its not quite the question "why use datatypes at all, just make a big hetrogenous free list", since this handles the added issues about navigation that are introduced |
| 2021-07-29 17:25:59 +0000 | <motle> | which is probably why we use names for that |
| 2021-07-29 17:26:18 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 17:26:54 +0000 | <motle> | idk, maybe by the time its some illegible IR it probably doesnt matter what record naming is used |
| 2021-07-29 17:27:23 +0000 | <motle> | the question is about the ability to make use of a coding approach that also dispensed of records at the top level, in the actual language |
| 2021-07-29 17:27:57 +0000 | <motle> | you dont need to use the names, you just have to specify the shape which is all done numerically |
| 2021-07-29 17:28:20 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds) |
| 2021-07-29 17:28:46 +0000 | <motle> | i mean, i use big 3d grids of numbers all the time, so it would be totally infeasable to have anything other than a numeric record |
| 2021-07-29 17:29:21 +0000 | <motle> | i guess normally programs are more "structured" in a sense where big datatypes with meaningful constructor names are used |
| 2021-07-29 17:29:54 +0000 | <Drew[m]> | I'm struggling to follow all this. Are you still talking about haskell or are you comparing something to haskell? |
| 2021-07-29 17:29:55 +0000 | <motle> | ie how we ended up with this tradition of not really supporting big grids as default datatypes |
| 2021-07-29 17:30:10 +0000 | <motle> | Drew[m]: its what i have made in haskell |
| 2021-07-29 17:30:21 +0000 | <motle> | just a bunch of work traversing free hetrogenous extensible things |
| 2021-07-29 17:30:37 +0000 | <motle> | the point is how close it is to a language fundamenta |
| 2021-07-29 17:30:41 +0000 | <Clint> | lechner: you might want something like https://hackage.haskell.org/package/process-extras-0.7.4/docs/System-Process-ByteString.html#v:rea… instead |
| 2021-07-29 17:30:44 +0000 | <motle> | to be comparable to the status of list |
| 2021-07-29 17:31:06 +0000 | <motle> | and im trying to work out how it would look more well made and built in |
| 2021-07-29 17:31:23 +0000 | <motle> | seems like cartesian convolutions is the standard example |
| 2021-07-29 17:31:40 +0000 | <motle> | (needs cycles for the cubes) |
| 2021-07-29 17:31:50 +0000 | <motle> | graphamagig |
| 2021-07-29 17:32:12 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 17:33:03 +0000 | <motle> | but yeah, i really want shapes more suited to recursive higher order functions, like map |
| 2021-07-29 17:33:28 +0000 | <motle> | just to express the program on the graph scafolding and have it evaluate properly with the states all interlocking |
| 2021-07-29 17:33:30 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-07-29 17:33:38 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 17:33:42 +0000 | <motle> | er yeah, we have modifiable programs now too, because the states |
| 2021-07-29 17:34:04 +0000 | <motle> | ie the program can store a magic number that can change between evaluation |
| 2021-07-29 17:34:57 +0000 | derelict | (~derelict@user/derelict) |
| 2021-07-29 17:35:08 +0000 | <motle> | so like, lazy lists state unfold, then states all interconected like pipes/conduit, then message passing doing the argument application to the modifiable functions held at the nodes, ie (state function,state value) pairs |
| 2021-07-29 17:35:22 +0000 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-29 17:35:27 +0000 | <motle> | because states all connected together in a graph like state encoding a list somehow |
| 2021-07-29 17:35:56 +0000 | <motle> | and scanning states like mapAcuumL traversal, somehow with the states ending up per node!/// |
| 2021-07-29 17:36:18 +0000 | <motle> | its about the connectivity of subsequent scans |
| 2021-07-29 17:36:40 +0000 | <motle> | theres an algebra of function composition with a rewrite rule similar to map . map |
| 2021-07-29 17:36:42 +0000 | azeem | (~azeem@176.201.11.200) (Read error: Connection reset by peer) |
| 2021-07-29 17:37:13 +0000 | <motle> | but then not just sequencing them one after the other, because having branching outputs like a scan doing something like unzip |
| 2021-07-29 17:37:13 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-07-29 17:37:32 +0000 | <motle> | the program sits still while notionally data is fed subsequent values as inputs |
| 2021-07-29 17:37:49 +0000 | <motle> | as opposed to the scanner kind of moving along over the list |
| 2021-07-29 17:38:00 +0000 | <motle> | during traversal with the carried accumulator |
| 2021-07-29 17:38:47 +0000 | <motle> | just to say something like fold unfold fusion rewrite rules composing on a big graph with zip/unzip style branching |
| 2021-07-29 17:39:06 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds) |
| 2021-07-29 17:39:34 +0000 | <motle> | and somehow thats programs on a graph, i guess intrinsically for straming which explains why there all states, and how they then end up modifiable, since they are collectively like a carry traversing over it like a scanner |
| 2021-07-29 17:39:53 +0000 | <motle> | it kind of scans over the list but demangles it through the branching program |
| 2021-07-29 17:40:17 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds) |
| 2021-07-29 17:40:20 +0000 | <motle> | just for streaming i think, but they can output back into themselves, so i think thats how it does recursion too |
| 2021-07-29 17:41:04 +0000 | <motle> | eg you could just provide initial data and have it unfold data streamingly |
| 2021-07-29 17:41:47 +0000 | <motle> | or you could also stream data into it while it runs, in sync with the clock of the internal programs evaluation scheduling as specified on the graph as a bunch of simultanious opperations per cycle |
| 2021-07-29 17:42:42 +0000 | <motle> | i mean, its all just streaming through graphs for recursive programs |
| 2021-07-29 17:43:03 +0000 | <motle> | (with hopfiled nets as a type restriction!) |
| 2021-07-29 17:43:58 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 17:44:15 +0000 | <motle> | not sure if its wrong (or realistic) to ask for help, but anyway... thats what it is |
| 2021-07-29 17:45:12 +0000 | <lechner> | Clint: thanks! i was already looking into Data.ByteString.Lazy.UTF8.fromString but your solution is much better! |
| 2021-07-29 17:45:22 +0000 | Atum_ | (~IRC@user/atum/x-2392232) |
| 2021-07-29 17:47:05 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-29 17:47:54 +0000 | <motle> | sorry i was confusing the state which does the unfold to the states on the nodes of the graph scanning over it |
| 2021-07-29 17:48:50 +0000 | <motle> | thats why theres the clock function which just streams a list of (), to have a small shaped state fo the unfolding state and the rest of the unfold as a graph program scanning over the stream of () |
| 2021-07-29 17:49:16 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) |
| 2021-07-29 17:49:28 +0000 | <Drew[m]> | <motle> "not sure if its wrong (or..." <- I feel like I wouldn't expect many people to be able to follow your thoughts to know how to help. Clearly you've been thinking about it a lot but I think you'd need to condense it down to a more concrete question or series of questions. |
| 2021-07-29 17:49:48 +0000 | <motle> | i mean n terms of getting something implemented |
| 2021-07-29 17:50:15 +0000 | <Drew[m]> | What do |
| 2021-07-29 17:50:17 +0000 | <Drew[m]> | oops |
| 2021-07-29 17:50:23 +0000 | <Drew[m]> | What do you want to implement? |
| 2021-07-29 17:50:34 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 17:50:58 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Ping timeout: 240 seconds) |
| 2021-07-29 17:51:15 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-29 17:51:22 +0000 | <motle> | i guess if i could implement a square grid as a cycle for the data in a covnet and express the net as a fold through layers that are graphs... something like that, it uses the convolutions to do both message parsing and data processing then |
| 2021-07-29 17:51:42 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 17:51:59 +0000 | <motle> | but that the same structure (the aim of the implementation) be used for both, the graph with the stencil api |
| 2021-07-29 17:52:29 +0000 | <motle> | the hetrogenaity and polymorphicity are difficult |
| 2021-07-29 17:53:08 +0000 | <motle> | ends up with type level programs specifying the shape and for the indexing etc |
| 2021-07-29 17:53:29 +0000 | azeem | (~azeem@176.201.11.200) |
| 2021-07-29 17:53:45 +0000 | <zzz> | do imported but not used modules contribute to binary size? and i can ask the same for functions inside and outside those modules |
| 2021-07-29 17:53:52 +0000 | <motle> | i guess the strange thing about passing types over the edges is thinking that they could modify the types at the nodes |
| 2021-07-29 17:54:21 +0000 | <lechner> | Hi, why does Haskell always assume that with f g x i mean f(g, x) instead of f(g( x )) ? |
| 2021-07-29 17:54:24 +0000 | <zzz> | s/those/any |
| 2021-07-29 17:54:28 +0000 | <motle> | ie the types of the functions held in the program, a wierd result of the thing being modifiable i guess |
| 2021-07-29 17:54:34 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 17:54:49 +0000 | <motle> | really wants to be used for genetic programming though |
| 2021-07-29 17:55:01 +0000 | <zzz> | lechner: f g x === (f g) x |
| 2021-07-29 17:55:17 +0000 | <motle> | have a pottential project there with elucidating slightly less common higher order programing patters |
| 2021-07-29 17:55:25 +0000 | <zzz> | prefix function notation is left associative by default |
| 2021-07-29 17:55:55 +0000 | <motle> | just cool to have a program that can be modifying itself while it runs i guess |
| 2021-07-29 17:56:03 +0000 | <lechner> | zzz: somehow that goes against my RPN pbrain |
| 2021-07-29 17:56:06 +0000 | <motle> | not sure how to handle runtime typechecking though... |
| 2021-07-29 17:56:35 +0000 | <zzz> | lechner: use `f $ g $ x` then |
| 2021-07-29 17:56:50 +0000 | <motle> | which would correspond to establishing or removing edges i guess, or changing types of arguments, such as the dimension of subgraph segment they were passing for insertion somewhere or something like that |
| 2021-07-29 17:57:20 +0000 | <lechner> | zzz: maybe the other way woudn't work. it just seems i need a lot of brackets |
| 2021-07-29 17:57:26 +0000 | <lechner> | or $ |
| 2021-07-29 17:57:27 +0000 | <roboguy_> | lechner: wouldn't RPN be x f g? |
| 2021-07-29 17:58:04 +0000 | <lechner> | roboguy_: you are right |
| 2021-07-29 17:58:17 +0000 | <lechner> | not sure what i am saying |
| 2021-07-29 17:58:20 +0000 | <zzz> | :t (&) |
| 2021-07-29 17:58:22 +0000 | <lambdabot> | a -> (a -> b) -> b |
| 2021-07-29 17:58:33 +0000 | <zzz> | & = flip ($) |
| 2021-07-29 17:59:40 +0000 | <motle> | i guess its more difficult than a regular machine learning problem. you cant just compare its outputing a stream of functions - you would want to "regularize" it directly, which would be complicated programs acting on the various types in the graph program, to try to get it to produce eg higher order functions in some order |
| 2021-07-29 17:59:59 +0000 | <lechner> | it just seems there are more functions with just one argument |
| 2021-07-29 18:00:03 +0000 | <roboguy_> | lechner: I don't think eta-reduction would work normally if "f g x" meant "f (g x)" |
| 2021-07-29 18:00:12 +0000 | <lechner> | i ynow |
| 2021-07-29 18:00:15 +0000 | <lechner> | know |
| 2021-07-29 18:00:29 +0000 | <lechner> | what is eta please? |
| 2021-07-29 18:00:37 +0000 | <motle> | like its not exactly straitforwards how to encourage a program to assemble itself in such a way |
| 2021-07-29 18:01:14 +0000 | <roboguy_> | lechner: for example, eta-reduction allows you to rewrite "f x = g 2 x" as "f = g 2" |
| 2021-07-29 18:01:56 +0000 | <roboguy_> | eta-expansion is the other direction, which is also fine |
| 2021-07-29 18:02:08 +0000 | <motle> | i guess if it had some really badass way of examining the functions it was supposed to be reproducing, it could kind of make a way to produce them properly |
| 2021-07-29 18:02:10 +0000 | <roboguy_> | (if the function takes enough arguments) |
| 2021-07-29 18:02:25 +0000 | <lechner> | motle: don't lose those thoughts; write them into a word processor instead |
| 2021-07-29 18:02:42 +0000 | <motle> | that wont make them real like you! |
| 2021-07-29 18:02:58 +0000 | <lechner> | paper is real |
| 2021-07-29 18:02:58 +0000 | azeem | (~azeem@176.201.11.200) (Read error: Connection reset by peer) |
| 2021-07-29 18:03:12 +0000 | <motle> | why you want to limit the audience so? |
| 2021-07-29 18:03:23 +0000 | <motle> | i mean really impactful i guess |
| 2021-07-29 18:03:28 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 18:03:31 +0000 | <motle> | more real |
| 2021-07-29 18:03:44 +0000 | <motle> | no pressure |
| 2021-07-29 18:04:02 +0000 | <lechner> | on the contrary, i want to make sure your thoughts (ultimately) get the attention they deserve |
| 2021-07-29 18:04:12 +0000 | azeem | (~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) |
| 2021-07-29 18:04:34 +0000 | <motle> | anyway dont we have tunes still here? |
| 2021-07-29 18:05:17 +0000 | <motle> | lechner: well i heard about the machine learning problem in my first hear classes so i guess similar projects have *some* attention? |
| 2021-07-29 18:05:26 +0000 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 2021-07-29 18:05:31 +0000 | <motle> | probably makes more sense now though... |
| 2021-07-29 18:05:44 +0000 | <motle> | not sure how much anyone exept me ever heard of those classes anyway |
| 2021-07-29 18:06:18 +0000 | <motle> | anyway, i feel like saying something |
| 2021-07-29 18:06:31 +0000 | <motle> | the point is im not sure i can write it! |
| 2021-07-29 18:06:42 +0000 | <motle> | this is the barrier, for the asking for help |
| 2021-07-29 18:06:45 +0000 | <lechner> | roboguy_: yeah i knew something would be off. maybe applying functions partially also breaks |
| 2021-07-29 18:07:06 +0000 | <lechner> | roboguy_: don't listen to me. i am new |
| 2021-07-29 18:07:15 +0000 | <motle> | anyway, machine learning problem asside, this graph at the language seems resounding |
| 2021-07-29 18:07:37 +0000 | <roboguy_> | lechner: no worries! We were all new at some point! |
| 2021-07-29 18:07:37 +0000 | <motle> | like enough to not just be a total waste of time for anyone to bother with |
| 2021-07-29 18:08:00 +0000 | <roboguy_> | motle: are you saying that you want to parse something using a neural network? |
| 2021-07-29 18:08:17 +0000 | <motle> | thats more of a use case for sake of example |
| 2021-07-29 18:08:30 +0000 | <motle> | the thing is like a net with type abstraction everywhere |
| 2021-07-29 18:08:42 +0000 | <motle> | ends up like a program representation |
| 2021-07-29 18:08:49 +0000 | <motle> | wierdly dynamic |
| 2021-07-29 18:08:52 +0000 | <lechner> | roboguy_: i love haskell though. where can i get my tattoo :) |
| 2021-07-29 18:09:12 +0000 | superstar64 | (~superstar@2600:1700:ed80:50a0:d250:99ff:fe2c:53c4) (Quit: Leaving) |
| 2021-07-29 18:09:28 +0000 | <motle> | just for the graph really, it uses the stencil convolution for data and program evaluation ordering |
| 2021-07-29 18:09:35 +0000 | <roboguy_> | lechner: haha, not sure! |
| 2021-07-29 18:10:10 +0000 | mikoto-chan | (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Ping timeout: 256 seconds) |
| 2021-07-29 18:10:21 +0000 | <lechner> | roboguy_: it would be a giant "λ" ! |
| 2021-07-29 18:10:24 +0000 | <roboguy_> | motle: hmm, how familiar are you with traditional ways to implement those things? |
| 2021-07-29 18:10:34 +0000 | <motle> | this is why that example |
| 2021-07-29 18:10:44 +0000 | <motle> | graph, pointer, stencil? (classes) |
| 2021-07-29 18:11:11 +0000 | <motle> | roboguy_: well, they dont use tails, its all index edge stuff adjacency matrix no good imo |
| 2021-07-29 18:11:26 +0000 | Null_A | (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection) |
| 2021-07-29 18:11:27 +0000 | <motle> | wants proper hetrogenous like |
| 2021-07-29 18:12:06 +0000 | <roboguy_> | I mean the stuff you want to replace with stencil convolution |
| 2021-07-29 18:12:10 +0000 | <motle> | you know what i mean, making it all isomorphic to grpahs with hetrogenous list branches with explicated cycles |
| 2021-07-29 18:12:27 +0000 | <motle> | roboguy: yeah, things like repa |
| 2021-07-29 18:12:37 +0000 | <motle> | parallel zips iirc |
| 2021-07-29 18:12:53 +0000 | <motle> | and the indexing on the fast random access containers |
| 2021-07-29 18:12:56 +0000 | <motle> | something about idiom |
| 2021-07-29 18:13:10 +0000 | <motle> | i want an actual extensible datatype |
| 2021-07-29 18:13:21 +0000 | <motle> | the HList cyclic tree |
| 2021-07-29 18:13:33 +0000 | <motle> | everythings just that anyway |
| 2021-07-29 18:13:33 +0000 | <lechner> | Hi, will 'show' convert a UTF-8 ByteString into a String with Unicode code points? |
| 2021-07-29 18:13:36 +0000 | <roboguy_> | hmm, ok then I think I really don't understand, hah. I haven't seen anyone use repa to implement program evaluation |
| 2021-07-29 18:14:00 +0000 | <[exa]> | lechner: utf will usually get shown as \u1234 or something |
| 2021-07-29 18:14:01 +0000 | <motle> | lol, stencil convolutions |
| 2021-07-29 18:14:10 +0000 | <motle> | matrix stuff, linear algebra |
| 2021-07-29 18:14:17 +0000 | <motle> | tensors like applicative |
| 2021-07-29 18:14:59 +0000 | <motle> | you would have a faster implementation if it was block diagonal with 0 elsewhere, typical convolution |
| 2021-07-29 18:15:01 +0000 | <[exa]> | motle: someone talked about implementing similar stuff here a while ago, actually I think he foudn some solution, you might search the logs |
| 2021-07-29 18:15:19 +0000 | <roboguy_> | motle: Have you seen Conal Elliott's papers on automatic differentiation and generalized convolution? |
| 2021-07-29 18:15:32 +0000 | Atum_ | (~IRC@user/atum/x-2392232) (Ping timeout: 245 seconds) |
| 2021-07-29 18:15:43 +0000 | <motle> | logs stop on 21.07.29 |
| 2021-07-29 18:16:05 +0000 | <motle> | roboguy_: i never got AD, but yeah i tried a bunch |
| 2021-07-29 18:16:24 +0000 | <[exa]> | yeah that's the migration date, there should be a repo linked with older ones |
| 2021-07-29 18:16:42 +0000 | <roboguy_> | did you see those papers? I think they'd probably help |
| 2021-07-29 18:17:17 +0000 | <motle> | anyway, its topological locality, so stencil "foraging" does |
| 2021-07-29 18:17:17 +0000 | <motle> | its more about the neighbour connectivity as per edges |
| 2021-07-29 18:17:17 +0000 | <motle> | i mean, in terms of "differentiable datatypes" (SPJ) |
| 2021-07-29 18:17:17 +0000 | <roboguy_> | they're all about implementing those things nicely in Haskell, leveraging the type system |
| 2021-07-29 18:17:27 +0000 | <motle> | you get multiple derivatives in cartesian grids |
| 2021-07-29 18:17:27 +0000 | curiousgay | (~curiousga@77-120-186-48.kha.volia.net) |
| 2021-07-29 18:17:29 +0000 | <roboguy_> | differentiable datatypes are something else entirely |
| 2021-07-29 18:17:33 +0000 | <motle> | and something messed up with graphs |
| 2021-07-29 18:17:45 +0000 | <motle> | but its like a helish topological calculus or something |
| 2021-07-29 18:17:56 +0000 | <motle> | best just stick with "navigating nearby" |
| 2021-07-29 18:18:02 +0000 | <motle> | pointers is fine |
| 2021-07-29 18:18:12 +0000 | <motle> | the comonad really |
| 2021-07-29 18:18:19 +0000 | <motle> | yeah its the navigable pointer comonad |
| 2021-07-29 18:18:39 +0000 | <motle> | easyer for us than any "differentiability" |
| 2021-07-29 18:18:45 +0000 | <motle> | just to get at "local" |
| 2021-07-29 18:18:58 +0000 | <motle> | topology helps but barely |
| 2021-07-29 18:19:18 +0000 | <motle> | "neighbourhood" |
| 2021-07-29 18:19:29 +0000 | <motle> | but we just say convolutional stencil |
| 2021-07-29 18:20:02 +0000 | <motle> | so its like the convolutional capability of graph pointer comonads? |
| 2021-07-29 18:21:27 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 18:21:27 +0000 | <motle> | roboguy_: yeah i said idk what AD at all |
| 2021-07-29 18:21:27 +0000 | <motle> | says it speeds up learning, never saw how, gibberish |
| 2021-07-29 18:21:36 +0000 | <lechner> | wow, that's like james joyce |
| 2021-07-29 18:21:38 +0000 | <motle> | was doing 0 derivative stochastic learning for ages too |
| 2021-07-29 18:21:47 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-29 18:21:53 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 18:22:13 +0000 | <motle> | some things are just genuinely incomprehensible to me for whatever reason and AD was one of those |
| 2021-07-29 18:22:16 +0000 | <roboguy_> | motle: automatic differentiation essentially allows you to take the derivative of a function written in a programming language |
| 2021-07-29 18:22:35 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-07-29 18:22:45 +0000 | <motle> | yeah, which makes also as much sense by tautology |
| 2021-07-29 18:22:47 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-29 18:22:52 +0000 | <roboguy_> | what |
| 2021-07-29 18:23:00 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-29 18:23:10 +0000 | <motle> | AD is program differentiation |
| 2021-07-29 18:23:16 +0000 | <motle> | ok.... so.... |
| 2021-07-29 18:23:24 +0000 | <motle> | monads are also burritos! |
| 2021-07-29 18:23:46 +0000 | <motle> | what does it mean to differentiate a program? |
| 2021-07-29 18:24:02 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 18:24:04 +0000 | <roboguy_> | I think you are mixing up two things. Like I said, it is unrelated to the datatype derivative thing |
| 2021-07-29 18:24:14 +0000 | <motle> | thats what its not so... |
| 2021-07-29 18:24:23 +0000 | <motle> | what is it!? |
| 2021-07-29 18:24:27 +0000 | <motle> | idk go read about it |
| 2021-07-29 18:24:31 +0000 | <motle> | i dont care! |
| 2021-07-29 18:24:33 +0000 | <janus> | motle: do you also use other social media? i wish to subscribe to your newsletter |
| 2021-07-29 18:24:54 +0000 | <motle> | really i think AD is just sillyness |
| 2021-07-29 18:25:09 +0000 | <roboguy_> | For example, if you have a function `f x = 2 * sin x`, then there is a function called `diff` that allows `diff f` to be \z -> 2*cos z |
| 2021-07-29 18:25:15 +0000 | <motle> | noooo |
| 2021-07-29 18:25:18 +0000 | <motle> | duh |
| 2021-07-29 18:25:26 +0000 | <motle> | i know how to differentiate after type restriction |
| 2021-07-29 18:25:33 +0000 | <motle> | absurd |
| 2021-07-29 18:25:34 +0000 | <roboguy_> | type restriction? |
| 2021-07-29 18:25:40 +0000 | <motle> | your doubles |
| 2021-07-29 18:25:51 +0000 | <juri_> | motle: please be a bit kinder. people are trying to be helpful. :) |
| 2021-07-29 18:25:52 +0000 | <motle> | i can differentiate that no problem |
| 2021-07-29 18:25:59 +0000 | <motle> | noo, its not a real concept! |
| 2021-07-29 18:26:05 +0000 | <motle> | they are skirting this! |
| 2021-07-29 18:26:21 +0000 | <motle> | its layer upon layer of misdirection *on all the layers* |
| 2021-07-29 18:26:25 +0000 | Atum_ | (~IRC@user/atum/x-2392232) |
| 2021-07-29 18:26:40 +0000 | <roboguy_> | I think I cannot help very much in this discussion, but I hope you can make progress on your project |
| 2021-07-29 18:26:48 +0000 | <motle> | "oh, you mean regular differentiation, what were you trying to get me to read about?" |
| 2021-07-29 18:27:10 +0000 | <motle> | a feux thing exists in the notion of AD and its not your fault and im sorry |
| 2021-07-29 18:27:18 +0000 | <motle> | but im pissed at AD nonetheless |
| 2021-07-29 18:27:22 +0000 | <roboguy_> | that's weird |
| 2021-07-29 18:27:26 +0000 | <motle> | yeah! |
| 2021-07-29 18:27:41 +0000 | Atum__ | (~IRC@user/atum/x-2392232) |
| 2021-07-29 18:28:05 +0000 | <motle> | if it wasnt a tautological mess i wouldnt be complaining so... |
| 2021-07-29 18:28:13 +0000 | <roboguy_> | define "tautology" |
| 2021-07-29 18:28:13 +0000 | spirit_ | (~spirit@171.61.156.55) |
| 2021-07-29 18:28:28 +0000 | <motle> | tautologies are like this... |
| 2021-07-29 18:28:47 +0000 | <motle> | er, wait thats actually a good definition, oh wait no its not... argh |
| 2021-07-29 18:29:08 +0000 | <motle> | idk what that is, seems badly broken |
| 2021-07-29 18:29:15 +0000 | echoone | (~echoone@188.74.32.13) |
| 2021-07-29 18:29:19 +0000 | <motle> | dont make theories like that plz! |
| 2021-07-29 18:29:27 +0000 | <roboguy_> | tautologies are logical propositions of the form "p implies p" |
| 2021-07-29 18:29:35 +0000 | <lechner> | tautological mess is a contradiction in terms. with a tautology, you have absolute certainty! |
| 2021-07-29 18:29:44 +0000 | <motle> | its the fundamental construction of a partially specified stylesheet |
| 2021-07-29 18:29:53 +0000 | <roboguy_> | hm |
| 2021-07-29 18:30:04 +0000 | <motle> | you just do model extension putting tautologies everywhere and closing things and then adding decoration |
| 2021-07-29 18:30:07 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
| 2021-07-29 18:30:17 +0000 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 2021-07-29 18:30:26 +0000 | <motle> | and out comes a half baked category theory!! |
| 2021-07-29 18:30:34 +0000 | burnsidesLlama | (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-07-29 18:30:40 +0000 | <motle> | its a madness, damn ncatlab |
| 2021-07-29 18:30:41 +0000 | <juri_> | i'm not convinced this is a conversation. |
| 2021-07-29 18:31:06 +0000 | Atum_ | (~IRC@user/atum/x-2392232) (Ping timeout: 250 seconds) |
| 2021-07-29 18:31:08 +0000 | <motle> | im just retorting to anyone mistakely trying to vex me with mention of AD |
| 2021-07-29 18:31:20 +0000 | <lechner> | maybe too much caffeine? |
| 2021-07-29 18:31:34 +0000 | <motle> | maybe too much prescision nudging! |
| 2021-07-29 18:32:04 +0000 | <Drew[m]> | <motle> "noo, its not a real concept!" <- I don't understand. Sure that example might be easy, but if you're combining a whole bunch of different differentiable functions it becomes not so easy pretty quickly surely. Why make the programmer do the work if we have the power to make machnes do it in at least some cases. |
| 2021-07-29 18:32:10 +0000 | <motle> | i was *trying* to talk about tolopogical differentiation of datatypes! |
| 2021-07-29 18:32:35 +0000 | <motle> | which as far as i can tell (.....) is all thats differentiationay about programs!! |
| 2021-07-29 18:32:54 +0000 | <motle> | i think AD is a misdirection in of itself, quit throwing things |
| 2021-07-29 18:33:29 +0000 | <motle> | nobody has demonstrated otherwise! the closest anyone can get is invoking the notion of normal differentiation |
| 2021-07-29 18:33:49 +0000 | <motle> | i have *actual* topological differention with these convolutional neighberhoods on pointer graph thing |
| 2021-07-29 18:34:01 +0000 | <motle> | none of your rubbish |
| 2021-07-29 18:34:16 +0000 | Atum__ | (~IRC@user/atum/x-2392232) (Ping timeout: 258 seconds) |
| 2021-07-29 18:34:51 +0000 | <motle> | even topology would struggle to get that, so programming really helps here |
| 2021-07-29 18:35:32 +0000 | <Drew[m]> | Whatever concept of differentiation you're talking about, as far as I can tell automatic differentiation is a thing with a community agreed upon meaning and it's a useful thing and I just don't get why you were speaking ill of a useful thing |
| 2021-07-29 18:35:38 +0000 | <motle> | i just keep trying to get the class hierarchy, think it was pointer, navigate, comonad |
| 2021-07-29 18:36:33 +0000 | <motle> | Drew[m]: because sometimes when i try to learn things its just to find out if they are enough of a thing to learn about, or if they do what i think they infer they mean they do |
| 2021-07-29 18:36:50 +0000 | <motle> | i assumed they meant some kind of differentiation *other* than regular differentiation |
| 2021-07-29 18:36:55 +0000 | <motle> | apparently not |
| 2021-07-29 18:36:56 +0000 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds) |
| 2021-07-29 18:36:57 +0000 | <roboguy_> | I will say that the combativeness makes it difficult to engage in a discussion. |
| 2021-07-29 18:37:14 +0000 | <motle> | mate, iv been battling this AD thing for ages |
| 2021-07-29 18:37:35 +0000 | <motle> | its like, a main avenue of not a thing getting at me |
| 2021-07-29 18:37:41 +0000 | <Drew[m]> | Why would differentiation mean anything other than the normal sense of differentiating a function |
| 2021-07-29 18:38:01 +0000 | <motle> | well topology! |
| 2021-07-29 18:38:05 +0000 | <motle> | position in datatype |
| 2021-07-29 18:38:05 +0000 | <roboguy_> | I have worked with AD a bit myself. I've worked through that paper I mentioned carefully, read some of the references, looked through other implementations, read the followup paper where some similar techniques are connected to a generalized form of convolution |
| 2021-07-29 18:38:18 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
| 2021-07-29 18:38:38 +0000 | <motle> | how so? |
| 2021-07-29 18:38:46 +0000 | <roboguy_> | but it feels as though you do not want to hear any more about it. so that is that |
| 2021-07-29 18:38:48 +0000 | <motle> | i thought they werent allowed to be like differentiable datatypes? |
| 2021-07-29 18:38:52 +0000 | <motle> | nono |
| 2021-07-29 18:38:55 +0000 | <roboguy_> | you have made up your mined |
| 2021-07-29 18:38:56 +0000 | <roboguy_> | *mind |
| 2021-07-29 18:39:06 +0000 | <motle> | its a contradition, now yours seem topological all of a sudden |
| 2021-07-29 18:39:07 +0000 | <motle> | wft!? |
| 2021-07-29 18:39:29 +0000 | <motle> | boomerang of some sort |
| 2021-07-29 18:39:41 +0000 | <motle> | ok cool, so weer talking about the same thing |
| 2021-07-29 18:39:45 +0000 | <motle> | so stencils! |
| 2021-07-29 18:39:50 +0000 | <Drew[m]> | What does differentiation of datatypes even mean |
| 2021-07-29 18:39:58 +0000 | <motle> | zipper for the nav |
| 2021-07-29 18:40:10 +0000 | <motle> | presented in the SPJ as a suspended traversal |
| 2021-07-29 18:40:14 +0000 | <motle> | see a primative pointer |
| 2021-07-29 18:40:21 +0000 | <motle> | now graphs |
| 2021-07-29 18:40:28 +0000 | <roboguy_> | Drew[m]: http://strictlypositive.org/diff.pdf |
| 2021-07-29 18:40:28 +0000 | <motle> | nav |
| 2021-07-29 18:40:55 +0000 | <motle> | yeah that |
| 2021-07-29 18:40:58 +0000 | <motle> | thats a zipper |
| 2021-07-29 18:41:04 +0000 | <EvanR> | e.g. derivative of T^2 is 2*T |
| 2021-07-29 18:41:07 +0000 | <motle> | its a pointer of some kind see? |
| 2021-07-29 18:41:17 +0000 | <motle> | comonad follows |
| 2021-07-29 18:41:34 +0000 | <motle> | right so and then we need a class for many such things |
| 2021-07-29 18:41:50 +0000 | <motle> | and the nav |
| 2021-07-29 18:42:19 +0000 | <motle> | fine i guess its called AD whatever |
| 2021-07-29 18:42:33 +0000 | <motle> | but i never got stencils at the go |
| 2021-07-29 18:42:39 +0000 | <motle> | this is the API |
| 2021-07-29 18:43:02 +0000 | <motle> | because finite difference gradient approximations of various orders as common stencil uses |
| 2021-07-29 18:43:15 +0000 | <motle> | its more like, "because thats how differentiation works" |
| 2021-07-29 18:43:31 +0000 | <motle> | and the topology stuff is because we have places to put data not continuums of it |
| 2021-07-29 18:44:03 +0000 | <motle> | easyer to explain in programing actually, maths arent coping with it well - its called sheafification over there |
| 2021-07-29 18:44:09 +0000 | <motle> | stacks |
| 2021-07-29 18:44:31 +0000 | <motle> | and the heart of the stack sheaf is the topological neigberhood and constructing sections |
| 2021-07-29 18:44:47 +0000 | <motle> | which i didnt think was called AD... |
| 2021-07-29 18:45:00 +0000 | <motle> | but yeah, not records for lenses is how it hits here |
| 2021-07-29 18:45:20 +0000 | <motle> | regular grids as simple type level specifications for demo |
| 2021-07-29 18:45:32 +0000 | <lechner> | Hi, why do many people dislike 'printf' in favor of 'putStrLn', please? |
| 2021-07-29 18:45:38 +0000 | <EvanR> | me |
| 2021-07-29 18:45:57 +0000 | <EvanR> | oh i thought you said who dislikes printf in favor of putStrLn |
| 2021-07-29 18:46:29 +0000 | <EvanR> | printf has some good options but building the string yourself gives full control |
| 2021-07-29 18:46:52 +0000 | <lechner> | do you use ++ or <> ? |
| 2021-07-29 18:47:13 +0000 | <boxscape> | printf also gives you full control, you just need to use %s :P |
| 2021-07-29 18:47:17 +0000 | <roboguy_> | lechner: I believe there is, in effect, dynamic typing involved with printf |
| 2021-07-29 18:47:26 +0000 | <roboguy_> | unless I'm misremembering how the format string works |
| 2021-07-29 18:47:28 +0000 | <EvanR> | ++ or <>... doesn't matter. But concatting a list is another option |
| 2021-07-29 18:48:37 +0000 | <EvanR> | > concat ["This time is ", format theTime, " sweetheart"] |
| 2021-07-29 18:48:38 +0000 | <lambdabot> | error: |
| 2021-07-29 18:48:38 +0000 | <lambdabot> | • Variable not in scope: format :: t0 -> [Char] |
| 2021-07-29 18:48:38 +0000 | <lambdabot> | • Perhaps you meant one of these: |
| 2021-07-29 18:48:48 +0000 | <EvanR> | didn't mean to put > |
| 2021-07-29 18:48:52 +0000 | <roboguy_> | > printf "%s" True |
| 2021-07-29 18:48:54 +0000 | <lambdabot> | error: |
| 2021-07-29 18:48:54 +0000 | <lambdabot> | • Could not deduce (PrintfArg Bool) arising from a use of ‘printf’ |
| 2021-07-29 18:48:54 +0000 | <lambdabot> | from the context: PrintfType t |
| 2021-07-29 18:49:03 +0000 | <roboguy_> | > printf "%s" (123 :: Int) |
| 2021-07-29 18:49:05 +0000 | <lambdabot> | error: |
| 2021-07-29 18:49:05 +0000 | <lambdabot> | • Ambiguous type variable ‘a0’ arising from a use of ‘show_M693588695403... |
| 2021-07-29 18:49:05 +0000 | <lambdabot> | prevents the constraint ‘(Show a0)’ from being solved. |
| 2021-07-29 18:49:22 +0000 | <roboguy_> | that's different than what I get in GHCi... |
| 2021-07-29 18:49:29 +0000 | <EvanR> | > printf "%s" (123 :: Int) :: String |
| 2021-07-29 18:49:29 +0000 | <roboguy_> | > printf "%s" (123 :: Int) :: IO () |
| 2021-07-29 18:49:31 +0000 | <lambdabot> | "*Exception: printf: bad formatting char 's' |
| 2021-07-29 18:49:31 +0000 | <lambdabot> | <IO ()> |
| 2021-07-29 18:49:37 +0000 | <roboguy_> | ah, you got it EvanR |
| 2021-07-29 18:49:51 +0000 | <roboguy_> | there are runtime type errors. that's one big reason you could dislike it |
| 2021-07-29 18:50:06 +0000 | <roboguy_> | also, you could probably improve the interface so that is impossible... |
| 2021-07-29 18:50:45 +0000 | <EvanR> | stringing together strings is much more conceptually simplee |
| 2021-07-29 18:50:47 +0000 | <lechner> | my big issue, as a beginner, is that with putStrLn lines get very long, and right now, my style has some serious problems |
| 2021-07-29 18:51:01 +0000 | <lechner> | i now use a code formatter |
| 2021-07-29 18:51:01 +0000 | <EvanR> | if printf works then use it |
| 2021-07-29 18:51:22 +0000 | <roboguy_> | I usually write putStrLn $ "some text " ++ show x ++ " .... " ++ show y ++ ... |
| 2021-07-29 18:51:23 +0000 | <lechner> | i will have multiple iterations of this program |
| 2021-07-29 18:51:49 +0000 | burnsidesLlama | (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 2021-07-29 18:51:54 +0000 | <Drew[m]> | roboguy_: I wouldn't be surprised if there's already a library with type-safe formatting template representation |
| 2021-07-29 18:52:14 +0000 | <roboguy_> | Drew[m]: same. I feel like I've actually seen one, but I don't quite remember |
| 2021-07-29 18:52:21 +0000 | burnsidesLlama | (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-07-29 18:52:53 +0000 | <lechner> | i also give imperative name to functions. does that condition have a name. is there a cure? |
| 2021-07-29 18:53:03 +0000 | <EvanR> | wait |
| 2021-07-29 18:53:03 +0000 | <lechner> | names |
| 2021-07-29 18:53:11 +0000 | <EvanR> | i didn't even get a runtime type error |
| 2021-07-29 18:53:16 +0000 | <EvanR> | > printf "%s" (123 :: Int) :: String |
| 2021-07-29 18:53:17 +0000 | <lambdabot> | "*Exception: printf: bad formatting char 's' |
| 2021-07-29 18:53:24 +0000 | <EvanR> | oh i see, no closing " |
| 2021-07-29 18:53:33 +0000 | tput | (~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 268 seconds) |
| 2021-07-29 18:53:39 +0000 | <Drew[m]> | lechner: Er what's an example of an imperative name? |
| 2021-07-29 18:53:40 +0000 | <roboguy_> | lechner: imperative names? |
| 2021-07-29 18:53:51 +0000 | <EvanR> | at first i thought it was a horribad way out of the error |
| 2021-07-29 18:54:25 +0000 | <lechner> | processTask sendProduct updateTool getTool getConfig |
| 2021-07-29 18:54:29 +0000 | <EvanR> | function names that happen to be a verb? |
| 2021-07-29 18:54:49 +0000 | tput | (~tim@S0106a84e3fe54613.ed.shawcable.net) |
| 2021-07-29 18:55:00 +0000 | <Drew[m]> | If `processTask` processes a task I wouldn't be bothered |
| 2021-07-29 18:55:10 +0000 | <EvanR> | at least it's not the kingdom of nouns |
| 2021-07-29 18:55:10 +0000 | <roboguy_> | lechner: those sound fine to me |
| 2021-07-29 18:55:30 +0000 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 2021-07-29 18:55:33 +0000 | <roboguy_> | in fact, probably what I would use (and often see used in other Haskell projects) |
| 2021-07-29 18:55:42 +0000 | <EvanR> | NounVerber |
| 2021-07-29 18:55:48 +0000 | mattil | (~mattilinn@87-92-17-82.bb.dnainternet.fi) (Quit: Leaving) |
| 2021-07-29 18:55:55 +0000 | <Drew[m]> | taskProcessor would upset me |
| 2021-07-29 18:56:00 +0000 | <lechner> | used as an imperative. i think English uses plain verb as the imperative |
| 2021-07-29 18:56:10 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 18:56:31 +0000 | <EvanR> | what language is your program in |
| 2021-07-29 18:56:39 +0000 | <roboguy_> | oh, "imperative" in the sense of natural languages like English, not the programming language notion? |
| 2021-07-29 18:56:41 +0000 | <lechner> | Haskell |
| 2021-07-29 18:56:49 +0000 | <EvanR> | like, not english? |
| 2021-07-29 18:56:51 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 18:56:51 +0000 | <lechner> | well, English |
| 2021-07-29 18:57:22 +0000 | burnsidesLlama | (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 272 seconds) |
| 2021-07-29 18:58:10 +0000 | <lechner> | sorry, like the AD thing with the other fellow earlier i am fighting the remnants of imperative programming in my mind, or so i think |
| 2021-07-29 18:58:12 +0000 | <EvanR> | haskell is cool for having a variety of grammatical types... nouns, verbs, prepositions |
| 2021-07-29 18:58:19 +0000 | <Drew[m]> | When you write `processTask task` what are you doing? Processing a task called `task` |
| 2021-07-29 18:58:19 +0000 | <Drew[m]> | When you write `taskProcessor task` are you task processoring a task? |
| 2021-07-29 18:58:27 +0000 | <lechner> | yes |
| 2021-07-29 18:58:42 +0000 | <lechner> | they are all monadic |
| 2021-07-29 18:58:48 +0000 | <lechner> | but still |
| 2021-07-29 18:58:49 +0000 | <EvanR> | send task taskProcessor |
| 2021-07-29 18:59:38 +0000 | qbt | (~edun@user/edun) |
| 2021-07-29 18:59:50 +0000 | <EvanR> | taskProcessor <- createThingDoer processTask |
| 2021-07-29 19:00:58 +0000 | <EvanR> | when you get into non IO monads I can see how not using verbs will confuse people |
| 2021-07-29 19:01:20 +0000 | <EvanR> | in pure code, non verbs seems more natural |
| 2021-07-29 19:01:25 +0000 | vicfred | (~vicfred@user/vicfred) |
| 2021-07-29 19:01:31 +0000 | <roboguy_> | lechner: that all seems fine to me. In general, I wouldn't worry as much about "avoiding doing it the imperative way" and focus more on "doing it the Haskell way" |
| 2021-07-29 19:01:33 +0000 | <roboguy_> | if that makes sense |
| 2021-07-29 19:02:00 +0000 | <roboguy_> | sometimes the Haskell way involves some imperative-style stuff. Sometimes it does not |
| 2021-07-29 19:02:34 +0000 | <Drew[m]> | Imo verbs are fine in pure code. I mean we `map` and `filter` and `sum` do we not? |
| 2021-07-29 19:02:47 +0000 | <lechner> | this is my second Haskell program. it works just like the Perl version, but my style is terrible. i think i use the wrong entry points to separate the parts https://dpaste.org/RGJQ |
| 2021-07-29 19:02:50 +0000 | <EvanR> | all three of those could be nouns xD |
| 2021-07-29 19:02:56 +0000 | <roboguy_> | yeah, without verbs in names it would be very confusing |
| 2021-07-29 19:02:58 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 19:03:05 +0000 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 265 seconds) |
| 2021-07-29 19:03:06 +0000 | <Drew[m]> | map, mapped, mapping, sum, summed, summing |
| 2021-07-29 19:03:11 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 19:03:15 +0000 | hyiltiz | (~quassel@31.220.5.250) |
| 2021-07-29 19:03:20 +0000 | <EvanR> | it's unclear if map, filter, or sum ought to be construed as verbs or not |
| 2021-07-29 19:03:22 +0000 | <EvanR> | to me |
| 2021-07-29 19:03:37 +0000 | <EvanR> | never even thought about it until now lol |
| 2021-07-29 19:03:55 +0000 | <Drew[m]> | I read `map x y` as "map x (over) y` |
| 2021-07-29 19:04:07 +0000 | <EvanR> | sure that's one way to think of it |
| 2021-07-29 19:04:12 +0000 | <Drew[m]> | What about compose |
| 2021-07-29 19:04:20 +0000 | <Drew[m]> | we don't call it the composer function |
| 2021-07-29 19:04:32 +0000 | <Drew[m]> | and we don't think of "a compose" |
| 2021-07-29 19:04:41 +0000 | <EvanR> | in purely math areas, the math really has nothing to do with grammar |
| 2021-07-29 19:04:51 +0000 | <EvanR> | compose could just be the name of an operator |
| 2021-07-29 19:05:03 +0000 | <EvanR> | it could have been known as composition |
| 2021-07-29 19:05:04 +0000 | <deejaytee> | we think of a composition, though |
| 2021-07-29 19:05:06 +0000 | ddb | (~ddb@2607:5300:61:c67::196) (Ping timeout: 240 seconds) |
| 2021-07-29 19:05:06 +0000 | <lechner> | haskell can flow well, though |
| 2021-07-29 19:06:09 +0000 | <lechner> | conditionals are my other problem. i am kind of Either'ed out |
| 2021-07-29 19:06:50 +0000 | <EvanR> | a functor for example could be seen as an action that sends things from C to D, or the act of lifting arrows so they can act between categories |
| 2021-07-29 19:07:06 +0000 | <lechner> | plus, i have poor vision and ten indent levels are too much. maybe i should write shorter functions |
| 2021-07-29 19:07:18 +0000 | <EvanR> | i rarely have more than 1 or 2 indent levels |
| 2021-07-29 19:07:25 +0000 | <EvanR> | where clauses can help there |
| 2021-07-29 19:07:28 +0000 | ddb | (~ddb@2607:5300:61:c67::196) |
| 2021-07-29 19:07:51 +0000 | <lechner> | that may be hint i needed |
| 2021-07-29 19:07:54 +0000 | <lechner> | the |
| 2021-07-29 19:08:46 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 19:09:16 +0000 | <Drew[m]> | Yes you can have a filter, a sum and a map but in the context of `map` wouldn't the correct noun be a mapper or mapping? "A map" as a noun makes me think of atlases more than well... a mapping from input to output |
| 2021-07-29 19:09:18 +0000 | <echoone> | You guys should check out APL. The take the grammar stuff seriously. |
| 2021-07-29 19:09:24 +0000 | <echoone> | You guys should check out APL. They take the grammar stuff seriously. |
| 2021-07-29 19:09:35 +0000 | <dsal> | :t get |
| 2021-07-29 19:09:36 +0000 | <lambdabot> | MonadState s m => m s |
| 2021-07-29 19:09:48 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 19:10:07 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 19:10:17 +0000 | <dsal> | You don't need `getX` when you have `gets` |
| 2021-07-29 19:10:19 +0000 | <dsal> | :t gets |
| 2021-07-29 19:10:20 +0000 | <lambdabot> | MonadState s m => (s -> a) -> m a |
| 2021-07-29 19:10:33 +0000 | <Drew[m]> | There's also `traverse`, rather than traversal. |
| 2021-07-29 19:10:35 +0000 | pfurla_ | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…) |
| 2021-07-29 19:10:58 +0000 | <dsal> | :t traversed |
| 2021-07-29 19:11:00 +0000 | <lambdabot> | (Indexable Int p, Traversable f1, Applicative f2) => p a (f2 b) -> f1 a -> f2 (f1 b) |
| 2021-07-29 19:11:43 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-07-29 19:11:45 +0000 | <deejaytee> | echoone: that's been a source of difficulty for me in learning J - while at first parts of speech are useful for remembering what does what, it starts to clash later on |
| 2021-07-29 19:12:14 +0000 | <EvanR> | map seems a bit ambiguous... probably because this is a purely mathematical idea to me |
| 2021-07-29 19:12:15 +0000 | <deejaytee> | but I suppose it's better than no terminology whatsoever |
| 2021-07-29 19:12:22 +0000 | <dsal> | I've seen people get hung up on "how do I read this in English?" Such a weird concept. If I could even express my problems in English, I'd probably do that in the first place. |
| 2021-07-29 19:12:28 +0000 | <EvanR> | math doesn't really verb anything |
| 2021-07-29 19:12:51 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2) |
| 2021-07-29 19:12:54 +0000 | <roboguy_> | EvanR: what about "acting on" |
| 2021-07-29 19:13:07 +0000 | <roboguy_> | or "pulling back along" |
| 2021-07-29 19:13:19 +0000 | <EvanR> | right, group action. Sounds like a case of math people trying to get inspiration from language, like us |
| 2021-07-29 19:13:29 +0000 | <EvanR> | pullback definitely |
| 2021-07-29 19:13:33 +0000 | <EvanR> | it's verby |
| 2021-07-29 19:13:40 +0000 | <EvanR> | 'a pullback' lol |
| 2021-07-29 19:14:04 +0000 | <EvanR> | a case of math terms becoming ambiuously part-of-speeched |
| 2021-07-29 19:14:37 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) (Quit: Client closed) |
| 2021-07-29 19:14:49 +0000 | <EvanR> | lens gets a lot of help from adjectives |
| 2021-07-29 19:15:13 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) |
| 2021-07-29 19:15:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 19:15:27 +0000 | <EvanR> | but group actions, pullbacks, and lenses still aren't "doing" more or less than anything else |
| 2021-07-29 19:15:43 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 19:15:44 +0000 | <lechner> | Hi, how do I best print each element of an array on a separate line, prepended by a space, please? |
| 2021-07-29 19:15:48 +0000 | <dsal> | `map` is also a little weird because you can also think of it as just sort of sticking a transformation on list accessors. It doesn't *actually* build a new list after applying your function to every element in the list. |
| 2021-07-29 19:15:58 +0000 | <dsal> | lechner: mapM_ print thing |
| 2021-07-29 19:16:17 +0000 | <dsal> | Oh, if you want to add a space, you can stick one in the action there. |
| 2021-07-29 19:16:35 +0000 | <EvanR> | yes lazy evaluation makes verbing even less applicable, if you wanted to think of verbs causing the compuer to heat up and do things |
| 2021-07-29 19:16:36 +0000 | <dsal> | mapM_ (\x -> putStr " " >> print x) thing |
| 2021-07-29 19:16:38 +0000 | <roboguy_> | :t unlines |
| 2021-07-29 19:16:39 +0000 | <lambdabot> | [String] -> String |
| 2021-07-29 19:17:26 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-07-29 19:17:32 +0000 | <EvanR> | verbs <-> do work |
| 2021-07-29 19:17:35 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 2021-07-29 19:17:45 +0000 | <dsal> | @undo do work |
| 2021-07-29 19:17:45 +0000 | <lambdabot> | work |
| 2021-07-29 19:17:50 +0000 | <dsal> | There's no way out! |
| 2021-07-29 19:17:52 +0000 | <EvanR> | fix error |
| 2021-07-29 19:18:38 +0000 | finsternis | (~X@23.226.237.192) (Remote host closed the connection) |
| 2021-07-29 19:19:04 +0000 | echoone | (~echoone@188.74.32.13) (Quit: Client closed) |
| 2021-07-29 19:19:12 +0000 | <EvanR> | actually this entire train of thought about programming = a bunch of verbs to make stuff 'happen' in a row might be the initial key thing to tell people to forget when starting haskell |
| 2021-07-29 19:19:22 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-29 19:20:31 +0000 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 2021-07-29 19:20:54 +0000 | <dsal> | The intuition starts to break down with infinite lists, but yeah, it's helpful. It's also helpful when you do stuff like `map f . map g`. If you think about the `map` doing something, it suddenly seems expensive. If you think about it just shoving filters on the thing, you won't spend hours trying to make your code more complicated to do what RULEs can do. |
| 2021-07-29 19:21:20 +0000 | <Drew[m]> | I'm fine with thinking that `map` "maps a function over a list", that it "does stuff" |
| 2021-07-29 19:21:20 +0000 | <Drew[m]> | It just only does stuff when the stuff is needed. |
| 2021-07-29 19:21:56 +0000 | <lechner> | that's another point |
| 2021-07-29 19:21:57 +0000 | <dsal> | Sure. It's not a bad mental model, but it's not the only mental model. :) |
| 2021-07-29 19:22:25 +0000 | <EvanR> | you can get pretty far in haskell imagining code running by rewriting expressions |
| 2021-07-29 19:24:16 +0000 | <EvanR> | which is both an act and an expression of 'what this function means' |
| 2021-07-29 19:24:51 +0000 | <lechner> | dsal: should your lambda above print the array element (which are of type String) in quotes? |
| 2021-07-29 19:24:59 +0000 | <lechner> | elements |
| 2021-07-29 19:25:14 +0000 | <dsal> | lechner: Yeah, that's what `print` does. I wasn't sure what the type was. You can use `putStrLn` |
| 2021-07-29 19:25:22 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds) |
| 2021-07-29 19:25:29 +0000 | <EvanR> | the second thing there makes it easy to see you could reverse it without causing problems |
| 2021-07-29 19:25:39 +0000 | <dsal> | lechner: It's good to understand what the parts were. :) |
| 2021-07-29 19:25:53 +0000 | fossdd | (~fossdd@sourcehut/user/fossdd) |
| 2021-07-29 19:25:54 +0000 | <EvanR> | imperative programming often involves doing things that can't be reversed |
| 2021-07-29 19:26:11 +0000 | <EvanR> | e.g. updating arrays |
| 2021-07-29 19:27:19 +0000 | <maerwald> | so what's the alternative to brick on windows? |
| 2021-07-29 19:27:44 +0000 | <lechner> | dsal: could i also write mapM_ (\x -> putStrLn $ " " <> x) ? |
| 2021-07-29 19:30:25 +0000 | shapr | hops |
| 2021-07-29 19:31:20 +0000 | <[exa]> | lechner: a complimentary bit of compression: `mapM_ (putStrLn . (' ':) )` |
| 2021-07-29 19:31:37 +0000 | <Drew[m]> | <EvanR> "you can get pretty far in..." <- Isn't that to a degree what STG does? |
| 2021-07-29 19:31:43 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) (Quit: Client closed) |
| 2021-07-29 19:32:04 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) |
| 2021-07-29 19:32:39 +0000 | <dsal> | lechner: I'll allow it. :) |
| 2021-07-29 19:32:58 +0000 | <EvanR> | you can think of it like that |
| 2021-07-29 19:33:16 +0000 | <maerwald> | so how do I use this from haskell https://github.com/migueldeicaza/gui.cs |
| 2021-07-29 19:33:24 +0000 | <dsal> | lechner: There's mapM_ and forM_ -- I think I've used the latter once. |
| 2021-07-29 19:33:26 +0000 | <dsal> | :t forM_ |
| 2021-07-29 19:33:27 +0000 | <lambdabot> | (Foldable t, Monad m) => t a -> (a -> m b) -> m () |
| 2021-07-29 19:33:33 +0000 | ubert | (~Thunderbi@178.165.190.122.wireless.dyn.drei.com) (Ping timeout: 276 seconds) |
| 2021-07-29 19:33:55 +0000 | bontaq` | (~user@ool-18e47f8d.dyn.optonline.net) |
| 2021-07-29 19:34:10 +0000 | jneira_ | (~jneira_@28.red-80-28-169.staticip.rima-tde.net) |
| 2021-07-29 19:34:28 +0000 | <lechner> | [exa]: so this would be my first point-free, but unfortunately I actually have to prepend muliple characters (" - "). Is that possible? |
| 2021-07-29 19:34:41 +0000 | <dsal> | lechner: Find out! :) |
| 2021-07-29 19:34:54 +0000 | <lechner> | with cons? |
| 2021-07-29 19:35:14 +0000 | <dsal> | Understand what it's doing. There's not much magic there. |
| 2021-07-29 19:35:23 +0000 | <dsal> | :t (' ':) |
| 2021-07-29 19:35:25 +0000 | <lambdabot> | [Char] -> [Char] |
| 2021-07-29 19:35:34 +0000 | <dsal> | :t putStrLn . (' ':) |
| 2021-07-29 19:35:36 +0000 | <lambdabot> | [Char] -> IO () |
| 2021-07-29 19:36:11 +0000 | <dsal> | Do you understand sections? |
| 2021-07-29 19:36:18 +0000 | <lechner> | i am doing it wrong |
| 2021-07-29 19:36:45 +0000 | <dsal> | You *can* use `:` but it'd be a little weird. |
| 2021-07-29 19:36:47 +0000 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds) |
| 2021-07-29 19:37:13 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2021-07-29 19:37:14 +0000 | <lechner> | mapM_ (putStrLn . (" - ":)) (Task.inputs task) gives me No instance for (Data.String.IsString Char) arising from literal |
| 2021-07-29 19:37:42 +0000 | bontaq` | bontaq |
| 2021-07-29 19:37:43 +0000 | <dsal> | So, taking a step back. |
| 2021-07-29 19:37:47 +0000 | <dsal> | :t (" - ":) |
| 2021-07-29 19:37:48 +0000 | <lambdabot> | [[Char]] -> [[Char]] |
| 2021-07-29 19:38:07 +0000 | <[exa]> | lechner: you confused "" and '', the second is only a single char that can be prepended with : |
| 2021-07-29 19:38:10 +0000 | <dsal> | I don't think that's what you want. |
| 2021-07-29 19:38:25 +0000 | <[exa]> | for strings, you need at least (" -" ++) |
| 2021-07-29 19:38:44 +0000 | <dsal> | @pl \x -> putStrLn $ " " <> x |
| 2021-07-29 19:38:44 +0000 | <lambdabot> | putStrLn . (" " <>) |
| 2021-07-29 19:38:54 +0000 | <lechner> | maybe putStr . (" - " ++) ? |
| 2021-07-29 19:39:06 +0000 | <dsal> | That's not the most egregious point freedom. |
| 2021-07-29 19:39:14 +0000 | <dsal> | But you need to understand what it's saying. |
| 2021-07-29 19:39:54 +0000 | <lechner> | i actually wrote that before seeing [exa]'s response |
| 2021-07-29 19:39:59 +0000 | <dsal> | > (" - " <>) "dash" |
| 2021-07-29 19:40:00 +0000 | <lambdabot> | " - dash" |
| 2021-07-29 19:40:24 +0000 | <[exa]> | lechner: np :] |
| 2021-07-29 19:40:40 +0000 | alx741 | (~alx741@181.196.69.4) (Ping timeout: 256 seconds) |
| 2021-07-29 19:42:18 +0000 | chomwitt | (~chomwitt@ppp-94-67-203-142.home.otenet.gr) |
| 2021-07-29 19:42:45 +0000 | <lechner> | so, perhaps to state the obvious: a lambda with one variable is a partially applied function with one degree of freedom remainig, right? (in beginner's parlance) |
| 2021-07-29 19:43:52 +0000 | <dsal> | I would say it doesn't make sense to call a function partially applied if it has one argument. |
| 2021-07-29 19:44:20 +0000 | <dsal> | If a function takes two arguments and you supply one, it's partially applied. |
| 2021-07-29 19:44:56 +0000 | <dsal> | Sections are a way of specifying that a function that takes two arguments is either partially applied in its first or second argument. |
| 2021-07-29 19:45:42 +0000 | <dsal> | > . ("¡¡¡" <>) . (<> "!!!") $ "It can do both. |
| 2021-07-29 19:45:44 +0000 | <lambdabot> | <hint>:1:1: error: parse error on input ‘.’ |
| 2021-07-29 19:45:45 +0000 | <dsal> | > . ("¡¡¡" <>) . (<> "!!!") $ "It can do both." |
| 2021-07-29 19:45:47 +0000 | <lambdabot> | <hint>:1:1: error: parse error on input ‘.’ |
| 2021-07-29 19:45:54 +0000 | <dsal> | > ("¡¡¡" <>) . (<> "!!!") $ "It can do both." |
| 2021-07-29 19:45:56 +0000 | <lambdabot> | "\161\161\161It can do both.!!!" |
| 2021-07-29 19:45:57 +0000 | <dsal> | Man, I'm not smart today. |
| 2021-07-29 19:46:00 +0000 | <dsal> | Also, boo. |
| 2021-07-29 19:46:06 +0000 | <Drew[m]> | <maerwald> "so how do I use this from..." <- I've never done this before so I'm just learning as I go and probably not telling you what you don't already know but according to stack overflow you can call Haskell from C# by just using Haskell's FFI as you would to make Haskell callable from C, and using C#'s FFI as you would to call a C function. I assume the same idea applies in reverse. |
| 2021-07-29 19:46:20 +0000 | vicfred | (~vicfred@user/vicfred) (Ping timeout: 258 seconds) |
| 2021-07-29 19:47:10 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 244 seconds) |
| 2021-07-29 19:47:33 +0000 | <lechner> | wow, my little program is 18 megabytes! is haskell statically lihked like golang? |
| 2021-07-29 19:47:53 +0000 | <dminuoso> | lechner: Yes and no. |
| 2021-07-29 19:48:09 +0000 | <dminuoso> | The haskell object files get statically linked in, but native libraries are dynamically linked |
| 2021-07-29 19:48:43 +0000 | <dminuoso> | lechner: Try setting `split-sections: True` in your ~/.cabal/config, and then also enable executable stripping in the cabal invocation. |
| 2021-07-29 19:48:50 +0000 | <dsal> | lechner: You just have room to grow! |
| 2021-07-29 19:48:55 +0000 | <dminuoso> | Note that this will rebuild all transitive dependencies |
| 2021-07-29 19:49:00 +0000 | <dsal> | If it's 18MB, you should do 18MB worth of stuff in it. |
| 2021-07-29 19:49:08 +0000 | <dminuoso> | This can easily get the size down to say 1MiB |
| 2021-07-29 19:49:21 +0000 | <dsal> | Is it rust that prioritized tiny binaries? |
| 2021-07-29 19:50:07 +0000 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 245 seconds) |
| 2021-07-29 19:52:28 +0000 | <delYsid> | Whats the "correct" way to use "at" from the Lens package with a Map where I know the key is present? at foo . to fromJust looks weird :-) |
| 2021-07-29 19:52:53 +0000 | finsternis | (~X@23.226.237.192) |
| 2021-07-29 19:52:56 +0000 | <dminuoso> | delYsid: Hard to say what "correct" means without knowing your usage pattern. |
| 2021-07-29 19:53:02 +0000 | <delYsid> | and ^?! doesnt work. |
| 2021-07-29 19:53:10 +0000 | <dminuoso> | delYsid: But you can use: at foo . _Just |
| 2021-07-29 19:53:19 +0000 | <dminuoso> | Consider preview to consume this |
| 2021-07-29 19:53:21 +0000 | alx741 | (~alx741@181.196.69.85) |
| 2021-07-29 19:53:43 +0000 | <dminuoso> | % import Data.Map qualified as M |
| 2021-07-29 19:53:43 +0000 | <yahb> | dminuoso: |
| 2021-07-29 19:54:49 +0000 | burnside_ | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 19:54:49 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 2021-07-29 19:54:52 +0000 | cjay | (cjay@nerdbox.nerd2nerd.org) |
| 2021-07-29 19:54:54 +0000 | <dminuoso> | % preview (at "foo" . _Just) (M.fromList [("foo", 1), ("bar", 2)]) |
| 2021-07-29 19:54:55 +0000 | <yahb> | dminuoso: Just 1 |
| 2021-07-29 19:55:01 +0000 | <dminuoso> | delYsid: If you can read what yahb just said. |
| 2021-07-29 19:55:35 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-07-29 19:55:35 +0000 | burnside_ | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 2021-07-29 19:57:27 +0000 | fendor | (~fendor@178.165.162.84.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-07-29 19:57:31 +0000 | <lechner> | dminuoso: stripping is not on by default? https://cabal.readthedocs.io/en/3.4/cabal-project.html#cfg-field-executable-stripping |
| 2021-07-29 19:58:49 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) |
| 2021-07-29 19:58:50 +0000 | <delYsid> | dminuosoBut now the result is a Just again :-) I was joping to get a pure result, since, I know the key must be present... |
| 2021-07-29 19:59:52 +0000 | <delYsid> | % view (at "foo" . to fromJust) (M.fromList [("foo", 1), ("bar", 2)]) |
| 2021-07-29 19:59:52 +0000 | <yahb> | delYsid: 1 |
| 2021-07-29 20:01:47 +0000 | qbt | (~edun@user/edun) (Ping timeout: 245 seconds) |
| 2021-07-29 20:02:42 +0000 | fendor | (~fendor@178.165.162.84.wireless.dyn.drei.com) |
| 2021-07-29 20:02:56 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 2021-07-29 20:03:09 +0000 | <amesgen[m]> | % M.fromList [("foo", 1), ("bar", 2)] ^?! ix "foo" |
| 2021-07-29 20:03:09 +0000 | <yahb> | amesgen[m]: 1 |
| 2021-07-29 20:03:28 +0000 | burnsidesLlama | (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-29 20:03:42 +0000 | <amesgen[m]> | delYsid: ^ this should be about as succinct as it gets |
| 2021-07-29 20:07:17 +0000 | <lechner> | dsal [exa] dminuoso roboguy_: thanks so much for your help today! |
| 2021-07-29 20:08:52 +0000 | <roboguy_> | lechner: you're welcome! |
| 2021-07-29 20:09:46 +0000 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 240 seconds) |
| 2021-07-29 20:10:04 +0000 | <delYsid> | amesgen[m]: Thanks! This is a bit surprising, as I thought ix only worked for arrays and such... So it actually does work for maps! |
| 2021-07-29 20:10:56 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 244 seconds) |
| 2021-07-29 20:11:16 +0000 | hyiltiz | (~quassel@31.220.5.250) |
| 2021-07-29 20:13:20 +0000 | <amesgen[m]> | delYsid: yeah, there are many instances, even for functions (by application): https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens-At.html#t:Ixed |
| 2021-07-29 20:17:53 +0000 | jeslie0 | (~user@135-23-172-182.cpe.pppoe.ca) |
| 2021-07-29 20:18:27 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) |
| 2021-07-29 20:18:28 +0000 | <delYsid> | k, tnx |
| 2021-07-29 20:21:25 +0000 | jeslie0 | (~user@135-23-172-182.cpe.pppoe.ca) (Remote host closed the connection) |
| 2021-07-29 20:24:26 +0000 | Guest90 | (~Guest90@ip98-163-211-112.no.no.cox.net) |
| 2021-07-29 20:24:40 +0000 | Guest90 | (~Guest90@ip98-163-211-112.no.no.cox.net) (Client Quit) |
| 2021-07-29 20:25:01 +0000 | Cajun | (~Cajun@ip98-163-211-112.no.no.cox.net) (Changing host) |
| 2021-07-29 20:25:01 +0000 | Cajun | (~Cajun@user/cajun) |
| 2021-07-29 20:25:21 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-07-29 20:26:34 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 2021-07-29 20:29:34 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2) |
| 2021-07-29 20:30:21 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-29 20:30:54 +0000 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 2021-07-29 20:31:57 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b9507354aa6404eb54f37.dip0.t-ipconnect.de) |
| 2021-07-29 20:34:04 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 20:40:30 +0000 | Null_A | (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) |
| 2021-07-29 20:41:20 +0000 | <maerwald> | sm: following your advice, I updated the FAQ section of the README, so next time I can just link there |
| 2021-07-29 20:41:36 +0000 | Guest9 | (~Guest9@103.240.170.208) (Quit: Connection closed) |
| 2021-07-29 20:42:55 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 2021-07-29 20:47:47 +0000 | __monty__ | (~toonn@user/toonn) |
| 2021-07-29 20:48:38 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-07-29 20:50:26 +0000 | vicfred | (~vicfred@user/vicfred) |
| 2021-07-29 20:50:27 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-07-29 20:56:45 +0000 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 276 seconds) |
| 2021-07-29 21:08:36 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-07-29 21:08:46 +0000 | <sm> | maerwald: +1, that's a time saver. https://gitlab.haskell.org/haskell/ghcup-hs#faq |
| 2021-07-29 21:08:47 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
| 2021-07-29 21:09:14 +0000 | <maerwald> | sm: also, earlier you asked about goals: https://gitlab.haskell.org/haskell/ghcup-hs#design-goals |
| 2021-07-29 21:09:23 +0000 | <sm> | sorry to leave abruptly last night, it was 2am here and we were not getting anywhere |
| 2021-07-29 21:09:46 +0000 | <sm> | As with the reddit answer, I think more work is needed to make this more compelling/clear. And I understand, it's not easy. |
| 2021-07-29 21:10:02 +0000 | <maerwald> | what needs to be more clear? |
| 2021-07-29 21:10:59 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 21:14:18 +0000 | <sm> | the answer to "Why should I use ghcup over stack?", eg. The answer doesn't quite answer the question, as in eg "because X" or "you shouldn't" or "it's a wrong question because Y". I feel we have a lot of docs like this in the haskell world which don't quite cut to the point, I have lots myself so I'm interested in this kind of writing. As always, just IMHO and you may disagree with any of it. |
| 2021-07-29 21:15:04 +0000 | <maerwald[m]> | The answer depends on your needs |
| 2021-07-29 21:15:12 +0000 | <sm> | yes, indeed |
| 2021-07-29 21:15:28 +0000 | <sm> | exactly so |
| 2021-07-29 21:15:42 +0000 | agua | (~agua@2804:18:4f:b157:1:0:6976:119) |
| 2021-07-29 21:16:33 +0000 | <maerwald[m]> | That's why I don't answer, but explain |
| 2021-07-29 21:17:11 +0000 | <sm> | I'm particularly interested in the needs of newcomers/folks not well versed in the history of haskell tools. Since they are a much bigger group and how we answer them affects haskell's future |
| 2021-07-29 21:17:47 +0000 | <sm> | I think our explanations are often not the kind they need |
| 2021-07-29 21:19:12 +0000 | <maerwald[m]> | They are a much bigger group? |
| 2021-07-29 21:19:39 +0000 | <sm> | and I think the effort of finding a simple clear answer pays off big time. If we can't provide one, that's valuable information |
| 2021-07-29 21:19:44 +0000 | pesada | (~agua@2804:14c:8793:8e2f:3944:8017:7f63:8e28) (Ping timeout: 252 seconds) |
| 2021-07-29 21:20:01 +0000 | <maerwald[m]> | I'd guess the question doesn't come from a newcomer, because it already contains misconceptions |
| 2021-07-29 21:20:11 +0000 | <sm> | "I'm new to this. Why should I choose it over stack?". I take it at face value. |
| 2021-07-29 21:21:05 +0000 | <maerwald[m]> | "New to ghcup" or "new to haskell"? |
| 2021-07-29 21:21:22 +0000 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 245 seconds) |
| 2021-07-29 21:21:29 +0000 | <sm> | either, both |
| 2021-07-29 21:21:42 +0000 | <maerwald[m]> | No idea |
| 2021-07-29 21:22:17 +0000 | <maerwald[m]> | Anyway, that seems more like a discussion for a download page |
| 2021-07-29 21:24:04 +0000 | sheepduck | (~sheepduck@user/sheepduck) |
| 2021-07-29 21:24:22 +0000 | <maerwald[m]> | I don't think "you should use my tool, because" is something I want in any of my readmes |
| 2021-07-29 21:24:40 +0000 | bruceleewees | (~bruceleew@83.24.236.64.ipv4.supernova.orange.pl) (Read error: Connection reset by peer) |
| 2021-07-29 21:25:19 +0000 | <sm> | you can answer the question without saying that, as in the examples I gave above |
| 2021-07-29 21:25:27 +0000 | bruceleewees | (~bruceleew@83.24.236.64.ipv4.supernova.orange.pl) |
| 2021-07-29 21:26:06 +0000 | <maerwald[m]> | I think the question is answered |
| 2021-07-29 21:26:24 +0000 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 2021-07-29 21:26:40 +0000 | <motle> | can you do my code for me? |
| 2021-07-29 21:27:24 +0000 | gentauro | (~gentauro@user/gentauro) |
| 2021-07-29 21:27:29 +0000 | <maerwald[m]> | motle: what do you pay? |
| 2021-07-29 21:27:38 +0000 | <motle> | salad? |
| 2021-07-29 21:28:01 +0000 | <maerwald[m]> | With mozzarella? |
| 2021-07-29 21:28:10 +0000 | <motle> | youd have to, you know, bring your own |
| 2021-07-29 21:28:38 +0000 | <motle> | dont try just salad, cheapskates |
| 2021-07-29 21:28:47 +0000 | <motle> | suplements people, |
| 2021-07-29 21:30:08 +0000 | <maerwald[m]> | Ok, you pay in supplements? |
| 2021-07-29 21:30:35 +0000 | <motle> | you can have salad, and you can go elsewhere for your suplements |
| 2021-07-29 21:31:09 +0000 | <maerwald[m]> | I think I'm out :) |
| 2021-07-29 21:31:10 +0000 | <motle> | idk if this counts as fair trade or what... |
| 2021-07-29 21:31:18 +0000 | <motle> | yeah me to! |
| 2021-07-29 21:31:30 +0000 | <motle> | fucking diet! |
| 2021-07-29 21:31:50 +0000 | <maerwald[m]> | This isn't Haskell Den :p |
| 2021-07-29 21:32:06 +0000 | <motle> | you were wanting paid |
| 2021-07-29 21:32:10 +0000 | retroid_ | (~retro@5ec19a54.skybroadband.com) (Quit: Connection error?!) |
| 2021-07-29 21:32:16 +0000 | <motle> | i just wanted codezzzz |
| 2021-07-29 21:32:27 +0000 | <motle> | all my code is defective |
| 2021-07-29 21:32:36 +0000 | <motle> | its all strewn |
| 2021-07-29 21:32:56 +0000 | <motle> | i cant unfurl it |
| 2021-07-29 21:33:30 +0000 | <motle> | its like trying to play a melting guitar |
| 2021-07-29 21:34:08 +0000 | pesada | (~agua@191.177.175.57) |
| 2021-07-29 21:34:32 +0000 | <motle> | idk, i think it might have been important for something, i cant tell |
| 2021-07-29 21:34:41 +0000 | <roboguy_> | motle: sometimes when that happens to me, I start over. Usually I have fresh insight and come up with a new way to structure the code |
| 2021-07-29 21:34:42 +0000 | neightchan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
| 2021-07-29 21:35:04 +0000 | <motle> | yeah, i do that, and i see the universe instantly |
| 2021-07-29 21:35:19 +0000 | <roboguy_> | hmm |
| 2021-07-29 21:35:33 +0000 | <motle> | and then all my code kind of evaporates |
| 2021-07-29 21:36:13 +0000 | <motle> | i mean im like, whatt was the oh the huge graph of everything with the polymorphic loopy bp oh god i cant do that |
| 2021-07-29 21:36:28 +0000 | <motle> | helpf |
| 2021-07-29 21:37:06 +0000 | jmorris | (uid433911@id-433911.stonehaven.irccloud.com) |
| 2021-07-29 21:37:10 +0000 | <motle> | *points to years of groundwork dashed about the place* |
| 2021-07-29 21:37:26 +0000 | <motle> | its the thing! |
| 2021-07-29 21:37:52 +0000 | <motle> | i had various parts of it working at times... |
| 2021-07-29 21:37:53 +0000 | agua | (~agua@2804:18:4f:b157:1:0:6976:119) (Ping timeout: 252 seconds) |
| 2021-07-29 21:38:03 +0000 | <motle> | im sure of it! |
| 2021-07-29 21:38:18 +0000 | dhil | (~dhil@195.213.192.47) (Ping timeout: 240 seconds) |
| 2021-07-29 21:38:28 +0000 | <motle> | at what point does it self assemble? |
| 2021-07-29 21:38:45 +0000 | <motle> | i try googling things and it just ends up more disparate! |
| 2021-07-29 21:39:38 +0000 | aegon | (~mike@174.127.249.180) |
| 2021-07-29 21:39:43 +0000 | <motle> | i guess left in this state long enough gona try hitting it with a hammer |
| 2021-07-29 21:39:50 +0000 | <motle> | at some point! |
| 2021-07-29 21:39:54 +0000 | <aegon> | is there an easy way to host the haddock generated by stack through a stack command, if not what web server do you use |
| 2021-07-29 21:40:02 +0000 | <aegon> | or what is your favorite method |
| 2021-07-29 21:40:14 +0000 | agua | (~agua@2804:18:4f:b157:1:0:6976:119) |
| 2021-07-29 21:40:57 +0000 | pesada | (~agua@191.177.175.57) (Ping timeout: 258 seconds) |
| 2021-07-29 21:41:09 +0000 | <arkanoid> | I've almost at the end of my "first week with haskell experiment" and it has been a great experience. But I've some high level question for more experienced users and are more on the production side of haskell |
| 2021-07-29 21:42:07 +0000 | <motle> | iv tried slopping the code back *into* the cup..... |
| 2021-07-29 21:42:20 +0000 | <motle> | but most of it isnt in the cup... |
| 2021-07-29 21:42:42 +0000 | <motle> | is this common? |
| 2021-07-29 21:42:49 +0000 | <Drew[m]> | aegon: You run your own hoogle server with --local to get a version of hoogle that only provides documentation for the actual version of dependencies you're currently compiling with |
| 2021-07-29 21:43:07 +0000 | son0p- | (~ff@181.136.122.143) (Remote host closed the connection) |
| 2021-07-29 21:43:07 +0000 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
| 2021-07-29 21:43:15 +0000 | <Drew[m]> | I'm a cabal user but there's probably a `stack hoogle` command, I can't remember |
| 2021-07-29 21:43:37 +0000 | <motle> | yeah, your right, there was a command for that |
| 2021-07-29 21:44:15 +0000 | <arkanoid> | one thing that scares me te most in picking up haskell for a serious project is the fragmentation of the haskell packages. I have no feeling of a center where "big and enstablished" libraries/framework revolves around. When do libraries get "blessed" by the community? When do library dies and gets deprecated? |
| 2021-07-29 21:44:16 +0000 | <Drew[m]> | So you'd want `stack hoogle --local` probably |
| 2021-07-29 21:44:48 +0000 | <motle> | arkanoid: the fragmentation does not happen in haskell, only at its boarder |
| 2021-07-29 21:44:59 +0000 | <motle> | siege! |
| 2021-07-29 21:45:11 +0000 | <deejaytee> | arkanoid: stackage could sort of be construed as a "big and established" ground, though some of the libraries still are on the small side |
| 2021-07-29 21:45:14 +0000 | <motle> | might complain to brussles |
| 2021-07-29 21:45:34 +0000 | <dsal> | arkanoid: That's an interesting concern. But for the most part, I grab things that work for me and use them or make my own. |
| 2021-07-29 21:45:40 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) (Quit: Client closed) |
| 2021-07-29 21:45:41 +0000 | <motle> | they say we should get on with the graph |
| 2021-07-29 21:45:45 +0000 | <maerwald[m]> | Lol |
| 2021-07-29 21:46:02 +0000 | <dsal> | But yeah, stackage ends up filtering out things that aren't maintained well because language changes end up breaking things and they fall out of stackage if people don't update their stuff. |
| 2021-07-29 21:46:25 +0000 | <dsal> | (I still end up using things that aren't in stackage for a few reasons, though) |
| 2021-07-29 21:46:25 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) |
| 2021-07-29 21:47:28 +0000 | <motle> | coffee?? |
| 2021-07-29 21:47:58 +0000 | spirit_ | (~spirit@171.61.156.55) (Quit: Konversation terminated!) |
| 2021-07-29 21:47:59 +0000 | <yushyin> | i usually just use libraries I need, ask here for opinions (lots of opinions here) and I (try to) avoid certain authors |
| 2021-07-29 21:48:16 +0000 | <aegon> | Drew[m]: hoogle --server :) |
| 2021-07-29 21:48:21 +0000 | <aegon> | thanks! |
| 2021-07-29 21:48:41 +0000 | <Drew[m]> | Remember the `--local`! |
| 2021-07-29 21:48:43 +0000 | <arkanoid> | I've just searched a library for testing in a stackage LTS distribution, I get more than 30 different libraries for just testing |
| 2021-07-29 21:49:04 +0000 | <dsal> | That's not a meaningful thing to do, though. What are you expecting to find? |
| 2021-07-29 21:49:14 +0000 | <dsal> | Something like tasty? |
| 2021-07-29 21:49:14 +0000 | <motle> | local hoogle server? |
| 2021-07-29 21:49:23 +0000 | <motle> | wait... |
| 2021-07-29 21:49:50 +0000 | <motle> | what about mercurial? |
| 2021-07-29 21:50:13 +0000 | <motle> | ih god my code! such a mess |
| 2021-07-29 21:50:18 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2021-07-29 21:50:54 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:5eb1:ed8e:7709:10d6) (Ping timeout: 272 seconds) |
| 2021-07-29 21:50:55 +0000 | deejaytee | (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Killed (tungsten.libera.chat (Nickname regained by services))) |
| 2021-07-29 21:51:00 +0000 | deejaytee | (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) |
| 2021-07-29 21:51:10 +0000 | <motle> | hang on ill just take its jacobian... |
| 2021-07-29 21:51:33 +0000 | <sm> | aegon: also `stack haddock --open` |
| 2021-07-29 21:51:36 +0000 | xff0x | (~xff0x@2001:1a81:52ef:f900:6be3:99e6:cbd0:482d) |
| 2021-07-29 21:52:42 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2021-07-29 21:53:10 +0000 | <motle> | harmonic driving version control is whats required. |
| 2021-07-29 21:53:19 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) |
| 2021-07-29 21:53:25 +0000 | <motle> | i think mine crashed... |
| 2021-07-29 21:53:55 +0000 | <arkanoid> | if I want to put haskell into my toolbelt as production language, it's required to put haskell on the time-to-write-a-program graph. I have a strong feeling that the fragmentation of the libraries is going to make up most of the problems here |
| 2021-07-29 21:53:56 +0000 | <motle> | i was hoping you might have seen a wheel rolling by... |
| 2021-07-29 21:54:22 +0000 | <motle> | dont "time to write a program graph" me sunny jim |
| 2021-07-29 21:54:27 +0000 | <sm> | arkanoid: hackage is a strong central package store, anything intended to be reused appears there. stackage is the rolling series of stable curated subsets of that. Like debian unstable, testing, stable, or similar |
| 2021-07-29 21:54:39 +0000 | <dsal> | arkanoid: That sounds good. I've had worse problems with library fragmentation in all the other languages I've used. :) |
| 2021-07-29 21:55:14 +0000 | <sm> | stackage was the answer to "how to I make this reproducible for production". In recent times, cabal.project is another answer |
| 2021-07-29 21:55:24 +0000 | <motle> | anyway its not representative, i wasnt even sure i was driving tbh |
| 2021-07-29 21:55:30 +0000 | <dsal> | My stack default template drops out a project with a lib, app, and test suite in tasty with an example quickcheck property I can run immediately. |
| 2021-07-29 21:56:20 +0000 | <arkanoid> | apart from new languages where the ecosystem is quite small, among the "big and mature" languages I find haskell the one out of a central control. I'm still talking about the ecosystem, not the implementation itself oviously |
| 2021-07-29 21:57:18 +0000 | <motle> | advice for people starting learning haskell would be something like "start simple, abstract, keep abstracting - ok enough abstracting!! stop already!! gigs of .hs files, no no no... |
| 2021-07-29 21:57:53 +0000 | <dsal> | arkanoid: I'm not sure what you mean. What makes something like go or java better in this regard? |
| 2021-07-29 21:58:09 +0000 | <motle> | its at the point where it goes all styrofoam expanding foam you want to put the cup down |
| 2021-07-29 21:58:31 +0000 | <motle> | if any of the surfaces are solid |
| 2021-07-29 21:59:00 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-07-29 21:59:04 +0000 | <dsal> | go ships with an implementation of quickcheck that's objectively bad and they froze the API over a decade ago. heh |
| 2021-07-29 21:59:34 +0000 | <arkanoid> | go has google that delivers basically what'ever needed to be productive |
| 2021-07-29 21:59:45 +0000 | deejaytee | Guest5510 |
| 2021-07-29 21:59:45 +0000 | Guest5510 | (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) (Killed (sodium.libera.chat (Nickname regained by services))) |
| 2021-07-29 21:59:49 +0000 | <dsal> | The quickcheck thing I just mentioned is a counter argument to that. |
| 2021-07-29 21:59:50 +0000 | <motle> | google is a huge productivity inhibitor |
| 2021-07-29 21:59:50 +0000 | deejaytee | (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
| 2021-07-29 21:59:55 +0000 | <sm> | go, rust etc. ship one blessed set of tools and everyone's on board with that (or so it appears from the outside). haskell isn't like that, in part because of less corporate support |
| 2021-07-29 22:00:01 +0000 | <Drew[m]> | As a language with a smaller user base one of the effects of that we have to live with is just generally less people around to make a library for every single concievable problem, and less businesses depending on code written in Haskell so less money sloshing about to pay for developer time. |
| 2021-07-29 22:00:03 +0000 | <motle> | its more of an experiment in futility |
| 2021-07-29 22:00:20 +0000 | <motle> | seriously, these code fragments... |
| 2021-07-29 22:00:26 +0000 | sheepduck | (~sheepduck@user/sheepduck) (Remote host closed the connection) |
| 2021-07-29 22:00:29 +0000 | <sm> | dsal, quickcheck isn't a core tool |
| 2021-07-29 22:00:35 +0000 | fendor | (~fendor@178.165.162.84.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 2021-07-29 22:00:58 +0000 | Null_A | (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection) |
| 2021-07-29 22:01:02 +0000 | <motle> | no ppls to make the libraries theory is lies |
| 2021-07-29 22:01:08 +0000 | <motle> | its because aliens i tels ya |
| 2021-07-29 22:01:16 +0000 | <dsal> | sm: it's a core test library that ships with base, but is bad and they will definitely never improve it |
| 2021-07-29 22:01:25 +0000 | <motle> | semi-literate aliens!! |
| 2021-07-29 22:02:01 +0000 | Null_A | (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) |
| 2021-07-29 22:02:03 +0000 | <sm> | dsal but you get my point I hope. install/build tools matter more. go/rust are more unified at this than haskell. Nothing controversial here |
| 2021-07-29 22:02:31 +0000 | <motle> | you have to reasemble the spacecraft with mechano - and anyone trying to subvert fissile materials will be hastily reoriented |
| 2021-07-29 22:02:56 +0000 | <dsal> | sm: Maybe? But `go build` isn't used inside of google, and the maybe that's not the right way to do stuff in general. |
| 2021-07-29 22:03:00 +0000 | <dsal> | I don't know rust, though. |
| 2021-07-29 22:03:00 +0000 | <motle> | talk about junk bonds, sheesh |
| 2021-07-29 22:03:04 +0000 | <sm> | arkanoid, it'll probably change eventually, since haskell is too good to die. But it might take another decade |
| 2021-07-29 22:03:49 +0000 | <motle> | you cant fly that its still linear! |
| 2021-07-29 22:03:58 +0000 | <Drew[m]> | We stubbornly avoiding success and failure |
| 2021-07-29 22:04:00 +0000 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) (Read error: Connection reset by peer) |
| 2021-07-29 22:04:33 +0000 | <motle> | "your lucky its even linear yet mate" |
| 2021-07-29 22:05:06 +0000 | <motle> | whacky races! |
| 2021-07-29 22:05:53 +0000 | <motle> | drat! |
| 2021-07-29 22:06:07 +0000 | <arkanoid> | writing haskell feels great and refactoring feels like putting the last piece of a puzzle every time. Now all my OO code seems fragile and my procedural code really want pure functions and algebraic data types, but on the other end I don't feel that the plus are over the cons when I think about writing a real service. Maybe for doing science, but I've also tried that and while being very nicely |
| 2021-07-29 22:06:09 +0000 | <arkanoid> | expressed my "transpiled to C" code from other languages I like is much faster at runtime |
| 2021-07-29 22:06:19 +0000 | <sm> | arkanoid: but you totally can get real production work done in haskell, don't get me wrong. Many companies have been doing it for a while now. We just have two pretty good tools instead of one. |
| 2021-07-29 22:06:54 +0000 | <sm> | like everything, it's not perfect and there are tradeoffs. |
| 2021-07-29 22:07:01 +0000 | <motle> | putting the algebraic in the algebraic datatypes |
| 2021-07-29 22:07:31 +0000 | <deejaytee> | Every time I try to explain ADTs to people I come up against blub |
| 2021-07-29 22:07:43 +0000 | <motle> | sm: like vinyl!? in terms of tradeoffs... |
| 2021-07-29 22:08:00 +0000 | <deejaytee> | Absolutely infuriating |
| 2021-07-29 22:08:17 +0000 | charukiewicz | (~quassel@irouteince04.i.subnet.rcn.com) |
| 2021-07-29 22:08:27 +0000 | <motle> | yeah but prabablys your just using records |
| 2021-07-29 22:08:56 +0000 | <justsomeguy> | deejaytee: Lately I've been toying with the idea that explaining things, rather than first exposing them to a direct experience, is an inherently flawed approach. It can definitely be frustrating. |
| 2021-07-29 22:08:57 +0000 | <arkanoid> | now I can count how many unique input combinations my functions have! Never though about these topic while dealing whith other programming paradigms |
| 2021-07-29 22:09:51 +0000 | <deejaytee> | justsomeguy: I exaggerate a bit - I've had some success recently, esp. when explaining how ADTs are useful for modelling state machines & valid bits in Clash circuits |
| 2021-07-29 22:10:03 +0000 | <motle> | impure languages..... |
| 2021-07-29 22:10:24 +0000 | <sm> | arkanoid: also, the strengths of haskell are most apparent with larger and long-lived software |
| 2021-07-29 22:10:37 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-07-29 22:10:52 +0000 | <arkanoid> | also I've learn that haskell is not really pure and I can do pure stuff everywhere else too, it's just a matter if the compiler can do something for me in this direction |
| 2021-07-29 22:11:06 +0000 | pesada | (~agua@2804:14c:8793:8e2f:98cd:a6bd:9d36:17f2) |
| 2021-07-29 22:11:13 +0000 | fluffyballoon | (~fluffybal@pat-verona-h.epic.com) (Ping timeout: 246 seconds) |
| 2021-07-29 22:11:14 +0000 | <motle> | IO we cant help you |
| 2021-07-29 22:11:55 +0000 | <motle> | anyone else get crank called by their fricking recruiter as they pushed the price? |
| 2021-07-29 22:12:11 +0000 | <sm> | arkanoid, well that compiler support is quite important. In practice if you can't enforce purity, you can't really achieve it |
| 2021-07-29 22:12:12 +0000 | <motle> | haha "job" ... "security" ... fun times! |
| 2021-07-29 22:12:17 +0000 | <sm> | enforce it and express it clearly |
| 2021-07-29 22:13:06 +0000 | agua | (~agua@2804:18:4f:b157:1:0:6976:119) (Ping timeout: 240 seconds) |
| 2021-07-29 22:13:09 +0000 | <deejaytee> | justsomeguy: in a way, it reminds me of the "when will I ever use mathematics" question in high school - the artificial need for "concrete examples" forces me to try to make (often untrue) assumptions about how someone programs |
| 2021-07-29 22:13:17 +0000 | <motle> | i was like, yeah, im still the only person and its still the only language, and im guessing that means your still not going to pay me |
| 2021-07-29 22:13:33 +0000 | <motle> | and he was like saluting as he hung up |
| 2021-07-29 22:13:33 +0000 | <arkanoid> | I've just reimplemented kinda typeclasses and monads by metaprogramming in my favorite procedural language, that also supports enforcing no side effects and zero exceptions (and other custom effects) |
| 2021-07-29 22:14:17 +0000 | <Drew[m]> | arkanoid: Well it's at least pure in the sense that if you break referential transparency then the programs the compiler produces end up doing very strange things |
| 2021-07-29 22:14:23 +0000 | <arkanoid> | sure no math rooted concepts like in haskell, but yeah It resembles same pattern |
| 2021-07-29 22:14:45 +0000 | agua | (~agua@2804:18:4f:b157:1:0:6976:119) |
| 2021-07-29 22:15:35 +0000 | <motle> | and they were like, in some convoluted way shouting "but you can read this ones wallet code right?" |
| 2021-07-29 22:15:59 +0000 | <arkanoid> | Drew[m]: you can wrap an unsafe function into a pure one and referential transparency is gone, just like in any other programming language. It is rare I think |
| 2021-07-29 22:16:04 +0000 | <motle> | me complaining about its heavy use of lenses |
| 2021-07-29 22:16:31 +0000 | <Drew[m]> | Sure there are backdoors to purity but if you actually use them to break referential transparency rather than just things like breaking calls to pure C code out of IO then the chances are it just doesn't do what you wanted it to do |
| 2021-07-29 22:16:57 +0000 | <motle> | "i can bore all your staff into writing graphs until they do and then humnity will buy your fricking coins" |
| 2021-07-29 22:17:11 +0000 | <Drew[m]> | Which is why in practice there isn't a great rush to use the backdoors to violate RT even if it's technically possible, I think |
| 2021-07-29 22:17:12 +0000 | <motle> | he didnt get back to me |
| 2021-07-29 22:17:30 +0000 | doyougnu | (~user@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-29 22:17:38 +0000 | <monochrom> | https://www.rea-group.com/blog/the-abject-failure-of-weak-typing/ has a motivation for ADT. (The "Primitives" section.) |
| 2021-07-29 22:17:44 +0000 | pesada | (~agua@2804:14c:8793:8e2f:98cd:a6bd:9d36:17f2) (Ping timeout: 250 seconds) |
| 2021-07-29 22:18:32 +0000 | <motle> | jokes on them though right if the values derived from, wait, what was it? |
| 2021-07-29 22:18:44 +0000 | <motle> | im sure theres some over here... |
| 2021-07-29 22:18:56 +0000 | <monochrom> | TLDR you want "compare :: X -> X -> Ordering" where "data Ordering = LT | EQ | GT". You don't want "compare :: X -> X -> Int". |
| 2021-07-29 22:19:32 +0000 | <monochrom> | The whole article is worth reading anyway. |
| 2021-07-29 22:19:50 +0000 | <monochrom> | Especially since this is a group of Scala people who are saying that Haskell does it right. |
| 2021-07-29 22:19:57 +0000 | <motle> | im sick of this "do your homework fully - conquer money" which is impossible, and the "lol, look he was actually trying" |
| 2021-07-29 22:20:16 +0000 | <motle> | like literally |
| 2021-07-29 22:20:34 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-07-29 22:20:46 +0000 | <motle> | god job i trashed it i reckon |
| 2021-07-29 22:20:53 +0000 | <monochrom> | motle, are you done? |
| 2021-07-29 22:21:00 +0000 | zeenk | (~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38) (Quit: Konversation terminated!) |
| 2021-07-29 22:21:21 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-07-29 22:21:26 +0000 | <motle> | what can i say? |
| 2021-07-29 22:21:47 +0000 | <monochrom> | You can stop. |
| 2021-07-29 22:21:47 +0000 | <arkanoid> | btw if you want to try a procedural language that can enforce kinda purity (does effect tracking), has kinda sum types (object variants), give lots of power (ast based metaprogramming) and is very speed at runtime (compiles to C), I suggesto you to try nim. Warning, quite small community, but it's enjoyable |
| 2021-07-29 22:22:15 +0000 | <motle> | thats what i was trying to say i was trying to do... thanks |
| 2021-07-29 22:23:01 +0000 | <motle> | unsure... |
| 2021-07-29 22:23:57 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-29 22:23:58 +0000 | <motle> | depends if it was ever possible i guess |
| 2021-07-29 22:24:10 +0000 | ChanServ | +o monochrom |
| 2021-07-29 22:24:13 +0000 | monochrom | +b *!*@cpc103048-sgyl39-2-0-cust506.18-2.cable.virginm.net |
| 2021-07-29 22:24:13 +0000 | motle | monochrommotle |
| 2021-07-29 22:24:18 +0000 | monochrom | -o monochrom |
| 2021-07-29 22:24:25 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 2021-07-29 22:24:34 +0000 | acidjnk_new | (~acidjnk@p200300d0c72b9507354aa6404eb54f37.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2021-07-29 22:25:23 +0000 | pesada | (~agua@2804:14c:8793:8e2f:98cd:a6bd:9d36:17f2) |
| 2021-07-29 22:25:33 +0000 | <justsomeguy> | arkanoid: It's interesting that Ada, which influenced Nim, has seperate constructs for pure expressions and effectul things (like procedures vs functions). |
| 2021-07-29 22:25:34 +0000 | chomwitt | (~chomwitt@ppp-94-67-203-142.home.otenet.gr) (Remote host closed the connection) |
| 2021-07-29 22:26:23 +0000 | <arkanoid> | justsomeguy: also nim have proc (that have side effect) and func (that has not, it's implicitly a proc with pragma {.noSideEffect.}) |
| 2021-07-29 22:26:59 +0000 | <Drew[m]> | Alas, I set motle to ignore so I didn't see what finally got them the boot... |
| 2021-07-29 22:27:02 +0000 | <arkanoid> | also there's let for immutable data, and var for mutable |
| 2021-07-29 22:28:34 +0000 | agua | (~agua@2804:18:4f:b157:1:0:6976:119) (Ping timeout: 250 seconds) |
| 2021-07-29 22:29:35 +0000 | <arkanoid> | I've a question for you experienced haskell programmers. When you write functions, you first write the body and then the declaration/signature, or the other way around? |
| 2021-07-29 22:30:05 +0000 | <monochrom> | I do both. And more. |
| 2021-07-29 22:30:21 +0000 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 276 seconds) |
| 2021-07-29 22:30:52 +0000 | <sm> | most often the name and type signature first for me, but it can be done either way |
| 2021-07-29 22:30:54 +0000 | <arkanoid> | I started writing the declaration first and body later, but then I realised that if I don't write the declaration vs code suggests me much more generic declaration that I didn't even realize it was possible |
| 2021-07-29 22:31:34 +0000 | <sm> | nailing down the types early clarifies your thinking cheaply and ensures the best error messages |
| 2021-07-29 22:31:55 +0000 | <Drew[m]> | You can always write the type annotation, write the code, then delete the type annotation and have the compiler hand you the most general one it can infer |
| 2021-07-29 22:31:55 +0000 | <sm> | but sometimes the types are too hard and it's easier to implement and then ask ghc what they are |
| 2021-07-29 22:32:12 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Remote host closed the connection) |
| 2021-07-29 22:32:20 +0000 | <monochrom> | Let's reduce this to the general question of top-down-waterfall vs bottom-up-evolve. |
| 2021-07-29 22:32:35 +0000 | dajoer | (~david@user/gvx) |
| 2021-07-29 22:32:43 +0000 | <monochrom> | For which we know of a very clear answer. |
| 2021-07-29 22:32:49 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) |
| 2021-07-29 22:33:12 +0000 | <monochrom> | If you're still exploring your options of course it's bottom-up-evolve don't-be-afraid-to-break-things-and-change-your-mind. |
| 2021-07-29 22:33:20 +0000 | <sm> | top down and bottom up are both perfectly valid tactics, i wouldn't tie them to waterfall or evolve |
| 2021-07-29 22:33:54 +0000 | <monochrom> | If you have already received a clear unchangable non-negotiatble specification, clearly it's top-down-waterfall. |
| 2021-07-29 22:34:11 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Remote host closed the connection) |
| 2021-07-29 22:34:23 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) |
| 2021-07-29 22:35:18 +0000 | <arkanoid> | sure but there's a big difference in thinking with types and thining with typeclasses. If I let ghc infer the types, I do realize more the properties required to the used types |
| 2021-07-29 22:35:26 +0000 | <hpc> | and if you have an unclear everchanging non-negotiable set of empty jira tickets, that's agile |
| 2021-07-29 22:35:38 +0000 | <monochrom> | :) |
| 2021-07-29 22:35:38 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 2021-07-29 22:36:19 +0000 | <sm> | arkanoid: it's a back and forth conversation with the compiler as your assistant, sometimes |
| 2021-07-29 22:36:38 +0000 | paravida | (~myChateau@user/paravida) |
| 2021-07-29 22:37:12 +0000 | <bryan[m]> | I also use both ways |
| 2021-07-29 22:38:02 +0000 | <Drew[m]> | arkanoid: That's why I'd say write the type annotations then delete and have the compiler generalize. If you know the shape of the function you are looking for then writing out the type allows the compiler to help you write it with typed holes. Once a function is written the compiler is probably the best thing for figuring out what the most general type the implementation can have is. |
| 2021-07-29 22:38:06 +0000 | <bryan[m]> | I tend to start with thinking about the types first, since they're also really good to look at first when working with existing code |
| 2021-07-29 22:38:22 +0000 | <arkanoid> | got it. Actually it's the first time I meet such a gentle, clear and intelligent compiler. It's always surprising to see how the typeclasses gets inferred. It's feels more like an old professor than a cold robot |
| 2021-07-29 22:39:09 +0000 | <monochrom> | But I aspire to be a cold old professor robot. |
| 2021-07-29 22:39:23 +0000 | <justsomeguy> | I get bitten by "cannot construct the infinite type ..." a lot, lately. |
| 2021-07-29 22:40:09 +0000 | <Drew[m]> | I always say, all those errors aren't you having a fight with the compiler, its having a gentle conversation with your friend the compiler who is asking you to clarify exactly what you meant |
| 2021-07-29 22:40:20 +0000 | <monochrom> | onoes ghcup new version |
| 2021-07-29 22:40:30 +0000 | <Drew[m]> | Ok sometimes it's a fight with the compiler |
| 2021-07-29 22:40:41 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 22:41:44 +0000 | <monochrom> | Haha new addition "ghcup nuke" |
| 2021-07-29 22:42:08 +0000 | <arkanoid> | thanks for the conversation, I need some sleep now. I hope to be able to pick up haskell again in the future to actually write something more than a week-long experiment |
| 2021-07-29 22:42:27 +0000 | <monochrom> | You know, "nuke" is the wrong metaphor because nuclear winter and fallouts and... |
| 2021-07-29 22:42:28 +0000 | <davean> | monochrom: That fuck with your drive's OPAL settings? |
| 2021-07-29 22:42:38 +0000 | <monochrom> | I don't know! I haven't tried. |
| 2021-07-29 22:42:46 +0000 | <davean> | Theres definately fallout if it does |
| 2021-07-29 22:43:29 +0000 | <monochrom> | But what are OPAL settings? |
| 2021-07-29 22:43:45 +0000 | <sm> | arkanoid: good luck. give it time, it takes more than other languages |
| 2021-07-29 22:44:09 +0000 | <monochrom> | https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/135 may state the exact feature. |
| 2021-07-29 22:44:57 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Remote host closed the connection) |
| 2021-07-29 22:45:19 +0000 | <arkanoid> | sm: I have strong feeling that I will search haskell features from now on with every other language |
| 2021-07-29 22:45:29 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) |
| 2021-07-29 22:45:41 +0000 | <sm> | yup! |
| 2021-07-29 22:45:46 +0000 | <Drew[m]> | monochrom well global thermonuclear war is dirty in terms of radioactive fallout, but very cleansing in terms of life |
| 2021-07-29 22:45:54 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 2021-07-29 22:46:10 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Read error: Connection reset by peer) |
| 2021-07-29 22:46:13 +0000 | agua | (~agua@2804:18:4f:b157:1:0:6976:119) |
| 2021-07-29 22:46:23 +0000 | roboguy_ | (~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) |
| 2021-07-29 22:46:25 +0000 | <sm> | Drew: lol way to see the silver lining |
| 2021-07-29 22:46:33 +0000 | <monochrom> | :) |
| 2021-07-29 22:46:41 +0000 | <monochrom> | Eveery silver lining has tarnish. |
| 2021-07-29 22:48:01 +0000 | dfg | (dfg@user/dfg) (Quit: I hate quit messages.) |
| 2021-07-29 22:48:42 +0000 | pesada | (~agua@2804:14c:8793:8e2f:98cd:a6bd:9d36:17f2) (Ping timeout: 240 seconds) |
| 2021-07-29 22:51:00 +0000 | Guest5719 | (~Guest57@125-63-24-117.ip4.superloop.com) |
| 2021-07-29 22:51:15 +0000 | <Guest5719> | @undo [ (x, ys) | x <- as, ys <- solutions (f (Con x))] |
| 2021-07-29 22:51:16 +0000 | <lambdabot> | concatMap (\ x -> concatMap (\ ys -> [(x, ys)]) (solutions (f (Con x)))) as |
| 2021-07-29 22:51:18 +0000 | dfg | (dfg@2600:3c00::f03c:92ff:feb4:be75) |
| 2021-07-29 22:51:18 +0000 | dfg | (dfg@2600:3c00::f03c:92ff:feb4:be75) (Changing host) |
| 2021-07-29 22:51:18 +0000 | dfg | (dfg@user/dfg) |
| 2021-07-29 22:51:29 +0000 | bruceleewees | (~bruceleew@83.24.236.64.ipv4.supernova.orange.pl) (Ping timeout: 258 seconds) |
| 2021-07-29 22:51:29 +0000 | stevenxl | (uid133530@id-133530.highgate.irccloud.com) |
| 2021-07-29 22:51:41 +0000 | stevenxl | Does this function exist? (a -> c) -> Either a b -> (b -> c) -> c |
| 2021-07-29 22:52:11 +0000 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
| 2021-07-29 22:52:16 +0000 | <deejaytee> | > :t either |
| 2021-07-29 22:52:18 +0000 | <lambdabot> | <hint>:1:1: error: parse error on input ‘:’ |
| 2021-07-29 22:52:27 +0000 | <geekosaur> | :t either |
| 2021-07-29 22:52:29 +0000 | <lambdabot> | (a -> c) -> (b -> c) -> Either a b -> c |
| 2021-07-29 22:52:32 +0000 | <deejaytee> | I still don't know how to use lambdabot xD |
| 2021-07-29 22:52:59 +0000 | <deejaytee> | :t fmap flip either |
| 2021-07-29 22:53:00 +0000 | <lambdabot> | (a -> c) -> Either a b -> (b -> c) -> c |
| 2021-07-29 22:53:06 +0000 | bruceleewees | (~bruceleew@83.24.236.64.ipv4.supernova.orange.pl) |
| 2021-07-29 22:53:17 +0000 | cjb | (~cjb@user/cjb) |
| 2021-07-29 22:53:19 +0000 | <Drew[m]> | :t flip . either |
| 2021-07-29 22:53:21 +0000 | <lambdabot> | (a -> c) -> Either a b -> (b -> c) -> c |
| 2021-07-29 22:53:22 +0000 | <fresheyeball> | I want to briefly announce a new Haskell consultancy, my company https://platonic.systems/ |
| 2021-07-29 22:53:30 +0000 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
| 2021-07-29 22:53:38 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2021-07-29 22:53:42 +0000 | Guest5719 | (~Guest57@125-63-24-117.ip4.superloop.com) (Client Quit) |
| 2021-07-29 22:53:45 +0000 | <fresheyeball> | If you ever need Haskell help, we are here for you |
| 2021-07-29 22:54:08 +0000 | <stevenxl> | :t fmap flip either |
| 2021-07-29 22:54:10 +0000 | <lambdabot> | (a -> c) -> Either a b -> (b -> c) -> c |
| 2021-07-29 22:55:01 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-29 22:55:24 +0000 | Guest84 | (~Guest84@125-63-24-117.ip4.superloop.com) |
| 2021-07-29 22:55:33 +0000 | <Guest84> | @undo [() | eval a] |
| 2021-07-29 22:55:33 +0000 | <lambdabot> | if eval a then [()] else [] |
| 2021-07-29 22:55:38 +0000 | Atum_ | (~IRC@user/atum/x-2392232) |
| 2021-07-29 22:56:26 +0000 | <deejaytee> | fresheyeball: nice logo :) |
| 2021-07-29 22:58:26 +0000 | <fresheyeball> | deejaytee: thanks! |
| 2021-07-29 23:00:11 +0000 | <monochrom> | What motivated you to name it Platonic? |
| 2021-07-29 23:01:16 +0000 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 2021-07-29 23:01:56 +0000 | <fresheyeball> | monochrom: it sort of expresses what I am going for |
| 2021-07-29 23:02:12 +0000 | <fresheyeball> | I want to find a way to plug mathmatical objects into buisness |
| 2021-07-29 23:02:55 +0000 | Guest84 | (~Guest84@125-63-24-117.ip4.superloop.com) (Quit: Client closed) |
| 2021-07-29 23:03:21 +0000 | son0p | (~ff@181.136.122.143) |
| 2021-07-29 23:04:30 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-29 23:04:43 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-29 23:15:45 +0000 | euandreh | (~euandreh@2804:14c:33:9fe5:9526:d20a:c7ef:dc9b) |
| 2021-07-29 23:18:27 +0000 | delYsid | (~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50)) |
| 2021-07-29 23:20:26 +0000 | <dsal> | I missed some of arkanoid's conversation of lack of purity. Is it just because you can do `unsafePerformIO`? |
| 2021-07-29 23:21:26 +0000 | <dsal> | But obviously we only write type signatures now that we have https://haskellwingman.dev |
| 2021-07-29 23:24:31 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-07-29 23:24:33 +0000 | <qrpnxz> | xD |
| 2021-07-29 23:25:39 +0000 | <qrpnxz> | hm, found a typo on that page |
| 2021-07-29 23:25:45 +0000 | <qrpnxz> | anybody got a contact for em |
| 2021-07-29 23:25:59 +0000 | deejaytee | (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 258 seconds) |
| 2021-07-29 23:26:50 +0000 | <sm> | congrats fresheyeball |
| 2021-07-29 23:27:42 +0000 | <sm> | trivia: what did you use to build the site ? |
| 2021-07-29 23:28:06 +0000 | <fresheyeball> | sm: it's written in Nix |
| 2021-07-29 23:28:12 +0000 | <qrpnxz> | wot |
| 2021-07-29 23:28:25 +0000 | <fresheyeball> | the html and css are written in nix |
| 2021-07-29 23:28:27 +0000 | <sm> | did not expect that answer :) |
| 2021-07-29 23:28:44 +0000 | <fresheyeball> | https://github.com/ursi/nix-css |
| 2021-07-29 23:28:46 +0000 | <qrpnxz> | that's completely wack, why did you do that |
| 2021-07-29 23:28:46 +0000 | <fresheyeball> | here is a taste |
| 2021-07-29 23:29:05 +0000 | <fresheyeball> | because Nix is a great language for code generation, and that's what a static site is, generated code |
| 2021-07-29 23:29:30 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 276 seconds) |
| 2021-07-29 23:29:40 +0000 | <qrpnxz> | hm, fairenough |
| 2021-07-29 23:30:02 +0000 | <qrpnxz> | guess it's probably like an xml stylesheet |
| 2021-07-29 23:30:47 +0000 | <qrpnxz> | how many people you got in your company btw |
| 2021-07-29 23:31:32 +0000 | <qrpnxz> | 5-10 it looks like |
| 2021-07-29 23:32:04 +0000 | <qrpnxz> | colorado, interesting |
| 2021-07-29 23:32:15 +0000 | <fresheyeball> | according to gitlab it's 97% Nix, 1.5% TypeScript, and 1.5% CSS |
| 2021-07-29 23:32:33 +0000 | <fresheyeball> | qrpnxz: we are small, like 8 people |
| 2021-07-29 23:32:55 +0000 | <qrpnxz> | It looks interesting. Reminds me of Jane Street |
| 2021-07-29 23:34:43 +0000 | <dsal> | Hey, I know some of those languages you have listed. |
| 2021-07-29 23:34:55 +0000 | <fresheyeball> | lol |
| 2021-07-29 23:35:28 +0000 | <qrpnxz> | i hope you make money |
| 2021-07-29 23:35:30 +0000 | <dsal> | I'm so close to liking elm. It's missing some major features as a language, but it's so much better than javascript that I forgive it. |
| 2021-07-29 23:35:53 +0000 | <fresheyeball> | dsal: Elm is great for the use-cases where it's great |
| 2021-07-29 23:36:05 +0000 | <dsal> | Ha, yeah. I've used it for a couple of those. |
| 2021-07-29 23:36:10 +0000 | <qrpnxz> | >dyalog apl |
| 2021-07-29 23:36:13 +0000 | <qrpnxz> | so spicy |
| 2021-07-29 23:36:36 +0000 | <dsal> | I tried to use it to explain a concept to my interns that they're implementing in typescript. I think they got my concept, but then looked back at typescript and got lost. |
| 2021-07-29 23:37:38 +0000 | <qrpnxz> | rip |
| 2021-07-29 23:38:46 +0000 | <qrpnxz> | i'm hearing pythong finally got types |
| 2021-07-29 23:38:51 +0000 | <qrpnxz> | i bet it's still slow tho |
| 2021-07-29 23:39:15 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
| 2021-07-29 23:39:51 +0000 | vysn | (~vysn@user/vysn) (Remote host closed the connection) |
| 2021-07-29 23:41:53 +0000 | <dsal> | adding types to python is like adding types to javascript. It seems to just make it generally worse. |
| 2021-07-29 23:50:11 +0000 | vysn | (~vysn@user/vysn) |
| 2021-07-29 23:53:45 +0000 | viluon | (uid453725@id-453725.brockwell.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-29 23:56:42 +0000 | vicfred_ | (~vicfred@user/vicfred) |
| 2021-07-29 23:59:08 +0000 | vicfred | (~vicfred@user/vicfred) (Ping timeout: 250 seconds) |