Logs on 2021-12-11 (liberachat/#haskell)
| 00:00:19 | → | jinsun joins (~quassel@user/jinsun) |
| 00:04:27 | → | mimmy joins (~mimmy@2607:fea8:6e0:7f90:2cc0:59c:7081:31f2) |
| 00:05:04 | × | DNH quits (~DNH@2a02:8108:1100:16d8:e582:2d42:b0b2:720b) (Quit: Textual IRC Client: www.textualapp.com) |
| 00:09:03 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 00:09:23 | × | mimmy quits (~mimmy@2607:fea8:6e0:7f90:2cc0:59c:7081:31f2) (Ping timeout: 252 seconds) |
| 00:09:40 | → | mimmy joins (~mimmy@2607:fea8:6e0:7f90:b4f0:1f02:af2:a840) |
| 00:10:37 | × | darchitect quits (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 240 seconds) |
| 00:10:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 00:13:47 | × | mimmy quits (~mimmy@2607:fea8:6e0:7f90:b4f0:1f02:af2:a840) (Ping timeout: 252 seconds) |
| 00:15:02 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 00:15:36 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 00:18:17 | × | namkeleser quits (~namkelese@101.179.128.103) (Quit: Client closed) |
| 00:25:15 | → | curiousgay joins (~curiousga@77-120-141-90.kha.volia.net) |
| 00:25:33 | → | namkeleser joins (~namkelese@101.179.128.103) |
| 00:25:43 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 00:28:29 | → | curiousgay_ joins (~AdminUser@77-120-141-90.kha.volia.net) |
| 00:28:39 | → | mimmy joins (~mimmy@cpef81d0f857c83-cmf81d0f857c80.cpe.net.cable.rogers.com) |
| 00:30:30 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 260 seconds) |
| 00:31:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:32:55 | × | nvmd quits (~nvmd@user/nvmd) (Quit: Later, nerds.) |
| 00:34:02 | × | namkeleser quits (~namkelese@101.179.128.103) (Quit: Client closed) |
| 00:35:03 | × | mimmy quits (~mimmy@cpef81d0f857c83-cmf81d0f857c80.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
| 00:37:02 | × | curiousgay quits (~curiousga@77-120-141-90.kha.volia.net) (Quit: Leaving) |
| 00:37:46 | × | curiousgay_ quits (~AdminUser@77-120-141-90.kha.volia.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 00:37:51 | × | doyougnu quits (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 250 seconds) |
| 00:38:07 | → | curiousgay joins (~AdminUser@77-120-141-90.kha.volia.net) |
| 00:44:08 | × | Jing quits (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
| 00:48:05 | → | Jing joins (~hedgehog@2604:a840:3::1001) |
| 00:54:19 | × | beka quits (~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Ping timeout: 250 seconds) |
| 00:54:39 | × | nf quits (~n@monade.li) (Quit: Fairfarren.) |
| 00:54:49 | → | nf joins (~n@monade.li) |
| 00:57:02 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 00:58:54 | × | emf quits (~emf@2620:10d:c091:480::1:a9a4) (Read error: Connection reset by peer) |
| 00:58:58 | <bitmapper> | why does `x ~ y => Member x (y : xs)` work where `Member x (x : xs)` doesnt |
| 00:59:47 | → | namkeleser joins (~namkelese@101.179.128.103) |
| 01:03:43 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:04:07 | → | emf joins (~emf@cpe-174-109-36-85.nc.res.rr.com) |
| 01:05:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 01:07:17 | → | mimmy joins (~mimmy@2607:fea8:6e0:7f90:2027:d60b:7498:6b04) |
| 01:07:41 | × | emf quits (~emf@cpe-174-109-36-85.nc.res.rr.com) (Client Quit) |
| 01:08:03 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 01:08:35 | → | emf joins (~emf@cpe-174-109-36-85.nc.res.rr.com) |
| 01:08:55 | × | jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 268 seconds) |
| 01:09:44 | × | emf quits (~emf@cpe-174-109-36-85.nc.res.rr.com) (Client Quit) |
| 01:10:31 | → | emf joins (~emf@cpe-174-109-36-85.nc.res.rr.com) |
| 01:12:05 | × | mimmy quits (~mimmy@2607:fea8:6e0:7f90:2027:d60b:7498:6b04) (Ping timeout: 252 seconds) |
| 01:13:07 | <EvanR> | I think in an instance head you can't repeat variables |
| 01:13:07 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 01:18:19 | × | mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 252 seconds) |
| 01:21:12 | → | Morrow joins (~quassel@bzq-110-168-31-106.red.bezeqint.net) |
| 01:21:14 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds) |
| 01:23:20 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:26:07 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:26:07 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 01:26:07 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:30:48 | <glguy> | bitmapper: They behave differently; you can do both , each with the right extensions enabled |
| 01:31:09 | × | InternetCitizen quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 252 seconds) |
| 01:31:20 | <glguy> | The first one ways if (y : xs) matches, then we know x must equal y |
| 01:31:41 | <glguy> | but the second instance won't be used unless GHC already knows that the first x equals the second x |
| 01:32:34 | <bitmapper> | so how do i do the second? |
| 01:35:38 | × | curiousgay quits (~AdminUser@77-120-141-90.kha.volia.net) (Ping timeout: 256 seconds) |
| 01:36:09 | × | xff0x quits (~xff0x@2001:1a81:537e:3f00:56c7:e8a2:3a14:4d05) (Ping timeout: 250 seconds) |
| 01:36:51 | → | xff0x joins (~xff0x@2001:1a81:537e:3f00:f824:6e83:7767:59ad) |
| 01:39:48 | × | wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 01:42:20 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:42:20 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 01:42:20 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:51:54 | → | beka joins (~beka@104-244-24-117.PUBLIC.monkeybrains.net) |
| 01:53:44 | <EvanR> | did I imagine this or was there a multiuser programming environment for haskell that produced graphics |
| 01:54:39 | <sm> | multiuser.. like code.world ? |
| 01:54:42 | <sm> | or a VR thing ? |
| 01:56:08 | <EvanR> | code.world |
| 01:57:22 | <EvanR> | wow that was real |
| 02:00:11 | <EvanR> | I smell AoC visualizations coming up |
| 02:05:38 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
| 02:07:40 | → | mimmy joins (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) |
| 02:08:30 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 02:08:43 | × | lbseale quits (~ep1ctetus@user/ep1ctetus) (Ping timeout: 268 seconds) |
| 02:09:17 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 02:10:01 | × | xff0x quits (~xff0x@2001:1a81:537e:3f00:f824:6e83:7767:59ad) (Ping timeout: 252 seconds) |
| 02:12:01 | → | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 02:12:03 | → | xff0x joins (~xff0x@2001:1a81:53c2:9a00:db12:87f1:cb29:dabf) |
| 02:12:42 | × | mimmy quits (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) (Ping timeout: 260 seconds) |
| 02:15:55 | <jeetelongname> | Oh yeah I have been meaning to do one of those |
| 02:16:07 | <jeetelongname> | (tho in racket so take that as you will) |
| 02:16:37 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:19:38 | <sm> | code.world/haskell is the real haskell variant |
| 02:21:32 | × | Techcable quits (~Techcable@168.235.93.147) (Ping timeout: 256 seconds) |
| 02:27:55 | → | pfurla joins (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
| 02:41:18 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 02:41:54 | → | mimmy joins (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) |
| 02:43:15 | × | namkeleser quits (~namkelese@101.179.128.103) (Quit: Client closed) |
| 02:45:35 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 02:46:07 | × | mmhat quits (~mmh@55d44db9.access.ecotel.net) (Ping timeout: 250 seconds) |
| 02:46:29 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 02:47:44 | × | bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:47:55 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 02:49:31 | → | doyougnu joins (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
| 02:59:41 | → | mmhat joins (~mmh@55d45c6c.access.ecotel.net) |
| 03:01:49 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:04:50 | × | mimmy quits (~mimmy@2607:fea8:6e0:7f90:6cde:a18f:2d26:aae0) (Ping timeout: 268 seconds) |
| 03:07:41 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
| 03:09:23 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 03:14:05 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
| 03:14:11 | × | zardoz quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
| 03:16:26 | × | wroathe quits (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
| 03:18:25 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 03:18:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 03:18:25 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:25:39 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 03:27:02 | × | teo quits (~teo@user/teo) (Ping timeout: 268 seconds) |
| 03:29:01 | × | td_ quits (~td@94.134.91.156) (Ping timeout: 250 seconds) |
| 03:30:45 | → | td_ joins (~td@94.134.91.156) |
| 03:33:16 | <dsal> | Does anyone know if it's possibly in tasty to have some tests disabled by default? |
| 03:33:26 | <dsal> | i.e., I want a commandline to add more expensive tests. |
| 03:36:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 03:41:58 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 03:46:23 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:50:37 | → | Akiva joins (~Akiva@user/Akiva) |
| 03:56:13 | × | jespada quits (~jespada@87.74.33.157) (Ping timeout: 240 seconds) |
| 03:58:22 | → | jespada joins (~jespada@87.74.33.157) |
| 04:00:02 | → | hughjfchen joins (~hughjfche@vmi556545.contaboserver.net) |
| 04:03:18 | × | Akiva quits (~Akiva@user/Akiva) (Ping timeout: 260 seconds) |
| 04:04:06 | × | doyougnu quits (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
| 04:05:44 | × | beka quits (~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Quit: Leaving) |
| 04:12:25 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 04:15:49 | × | jeetelongname quits (~jeet@eduroam-public-20.nat.port.ac.uk) (Ping timeout: 250 seconds) |
| 04:17:08 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
| 04:21:45 | × | kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:24:36 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 04:28:30 | <dsal> | I was trying to figure out how to resume on error with megaparsec, but it's not exactly happy with my attempts. Still learned more stuff. |
| 04:29:15 | × | slice quits (~slice@user/slice) (Quit: zzz) |
| 04:30:57 | → | Techcable joins (~Techcable@168.235.93.147) |
| 04:31:06 | → | Akiva joins (~Akiva@user/Akiva) |
| 04:34:16 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
| 04:34:52 | <earendel> | anyone programmed something using haskell? |
| 04:35:21 | <dsal> | Libraries are almost ready and then people can get started! |
| 04:36:54 | → | namkeleser joins (~namkelese@101.179.128.103) |
| 04:39:14 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 05:04:07 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 05:04:10 | × | deadmarshal quits (~deadmarsh@95.38.116.82) (Ping timeout: 256 seconds) |
| 05:07:02 | → | deadmarshal joins (~deadmarsh@95.38.118.223) |
| 05:09:02 | × | emf quits (~emf@cpe-174-109-36-85.nc.res.rr.com) (Quit: emf) |
| 05:15:01 | → | img joins (~img@user/img) |
| 05:16:50 | <DigitalKiwi> | i made a few things with those libraries |
| 05:19:53 | × | xff0x quits (~xff0x@2001:1a81:53c2:9a00:db12:87f1:cb29:dabf) (Ping timeout: 268 seconds) |
| 05:20:15 | → | xff0x joins (~xff0x@2001:1a81:53c2:9a00:4695:71bd:bd0a:6785) |
| 05:22:14 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 05:27:39 | × | kimjetwav quits (~user@2607:fea8:2363:8f00:b66e:c3b4:4ab3:f161) (Ping timeout: 252 seconds) |
| 05:31:23 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:31:38 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 05:32:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:32:59 | → | gawen joins (~gawen@user/gawen) |
| 05:35:19 | × | sprout quits (~quassel@2a02:a467:ccd6:1:2835:2428:a8d4:1d95) (Ping timeout: 268 seconds) |
| 05:35:56 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 05:37:50 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 05:43:13 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 05:48:07 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 05:51:29 | → | mvk joins (~mvk@2607:fea8:5cdd:f000::9788) |
| 05:51:51 | × | mmhat quits (~mmh@55d45c6c.access.ecotel.net) (Quit: WeeChat 3.3) |
| 05:52:26 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 05:57:13 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
| 05:58:00 | → | mbuf joins (~Shakthi@122.178.201.137) |
| 05:59:17 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 05:59:22 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 268 seconds) |
| 06:00:14 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 06:01:49 | <int-e> | > unwords $ map (\x -> printf "%.2f" (191 - x/22)) [4130,4121,4081,4080,4040,3975,3960,3949,3946,3917] -- new entrant at rank 3; sorry, xerox! |
| 06:01:51 | <lambdabot> | "3.27 3.68 5.50 5.55 7.36 10.32 11.00 11.50 11.64 12.95" |
| 06:05:34 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 260 seconds) |
| 06:06:31 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 06:11:31 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 250 seconds) |
| 06:15:18 | × | dsrt^ quits (~dsrt@wsip-98-188-240-142.mc.at.cox.net) (Remote host closed the connection) |
| 06:15:42 | → | bollu joins (uid233390@id-233390.helmsley.irccloud.com) |
| 06:17:24 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 06:22:10 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 268 seconds) |
| 06:27:34 | → | slice joins (~slice@user/slice) |
| 06:31:27 | × | nfd quits (~nfd@user/nfd) (Ping timeout: 252 seconds) |
| 06:32:42 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
| 06:32:58 | → | nfd joins (~nfd@user/nfd) |
| 06:33:22 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 06:36:22 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
| 06:37:41 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 252 seconds) |
| 06:54:22 | × | slice quits (~slice@user/slice) (Quit: zzz) |
| 06:58:04 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:59:08 | → | nrl^ joins (~nrl@wsip-98-188-240-142.mc.at.cox.net) |
| 07:04:24 | <xerox> | int-e: bad day Day11: <<loop>> |
| 07:06:37 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 07:11:45 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 250 seconds) |
| 07:14:35 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds) |
| 07:15:04 | × | nfd quits (~nfd@user/nfd) (Ping timeout: 256 seconds) |
| 07:16:02 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 07:16:14 | <int-e> | Hmm, I didn't <<loop>> |
| 07:16:28 | → | nfd joins (~nfd@user/nfd) |
| 07:16:30 | × | nrl^ quits (~nrl@wsip-98-188-240-142.mc.at.cox.net) (Remote host closed the connection) |
| 07:17:10 | <xerox> | I've convinced myself my implementation was wrong multiple times, one of those iterate frustrating moments |
| 07:17:16 | <xerox> | 🤷♂️ |
| 07:17:28 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 07:22:03 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:23:51 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 07:24:36 | → | img joins (~img@user/img) |
| 07:24:51 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 07:25:35 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 07:26:26 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 07:27:01 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 07:29:19 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 250 seconds) |
| 07:30:51 | × | iqubic quits (~user@c-67-171-37-233.hsd1.wa.comcast.net) (Ping timeout: 252 seconds) |
| 07:37:32 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 07:37:33 | → | iqubic joins (~user@2601:602:9502:c70:9c0:18f3:c190:ff75) |
| 07:38:01 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 07:38:09 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 07:38:25 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 07:39:38 | <int-e> | xerox: I did find the problem unpleasant though, I can't quite put my finger on why. On the plus side I got to use `unfoldr`. |
| 07:39:46 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 07:40:17 | <xerox> | my first impl was an unfoldr too |
| 07:40:50 | <int-e> | (if you have step :: State -> (Int, State) then that matches unfoldr quite nicely) |
| 07:41:39 | × | xff0x quits (~xff0x@2001:1a81:53c2:9a00:4695:71bd:bd0a:6785) (Ping timeout: 250 seconds) |
| 07:42:26 | → | xff0x joins (~xff0x@2001:1a81:53c2:9a00:19a5:15f2:3ceb:bc1f) |
| 07:43:58 | × | Codaraxis quits (~Codaraxis@user/codaraxis) (Quit: Leaving) |
| 07:44:22 | × | nek0 quits (~nek0@nek0.eu) (Quit: The Lounge - https://thelounge.chat) |
| 07:44:32 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
| 07:44:41 | <xerox> | yeah, I'll scrap iterate, not as nice |
| 07:45:00 | <opqdonut> | oh wow yeah unfoldr is perfect for this |
| 07:46:10 | <opqdonut> | my solution: https://github.com/opqdonut/adventofcode21/blob/master/Day11.hs |
| 07:47:11 | <xerox> | it does introduce the potential of an off-by-one with findIndex for part 2 |
| 07:47:49 | <opqdonut> | yeah well I had tail . iterate previously, so unfoldr was perfect in that sense too |
| 07:50:04 | <xerox> | what I ended up with https://github.com/mrtnpaolo/advent-of-code-2021/blob/master/execs/Day11.hs |
| 07:52:27 | → | acidjnk_new joins (~acidjnk@p200300d0c7271e2134fbc39073c29133.dip0.t-ipconnect.de) |
| 07:52:53 | <opqdonut> | xerox: you could just do `S.size seen` on line 27 and skip tracking the number of flashes separately, right? |
| 07:53:05 | <opqdonut> | your code is definitely neater than mine |
| 07:53:42 | → | nek0 joins (~nek0@nek0.eu) |
| 07:54:46 | × | Akiva quits (~Akiva@user/Akiva) (Ping timeout: 260 seconds) |
| 07:54:51 | <opqdonut> | also, if you use M.adjust you won't need the M.member check on line 36 |
| 07:55:44 | <xerox> | opqdonut: good point! I was tracking all the details because I was convinced I had it wrong |
| 07:56:11 | <opqdonut> | yeah, the minimal functional solution is rarely the most debuggable :P |
| 07:56:25 | → | max22- joins (~maxime@2a01cb0883359800efee173175359a41.ipv6.abo.wanadoo.fr) |
| 07:56:28 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f80d:43f5:ddf4:fb26) (Remote host closed the connection) |
| 07:56:47 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 07:58:02 | <xerox> | opqdonut: adjust is beatiful, appreciate it, alter came to mind but that is more explicit even |
| 07:59:02 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 08:00:34 | → | fr33domlover joins (~fr33@2.55.40.147) |
| 08:00:47 | → | dsrt^ joins (~dsrt@wsip-98-188-240-142.mc.at.cox.net) |
| 08:01:39 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 252 seconds) |
| 08:03:12 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:07:52 | <int-e> | xerox: Yes, I had an off-by-one in part 2 which I half expected and caught using the example. |
| 08:08:19 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 08:09:23 | → | darchitect joins (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) |
| 08:10:58 | <int-e> | https://paste.debian.net/1223009/ ...not pretty |
| 08:11:31 | <xerox> | interact is a cool idea |
| 08:12:16 | <int-e> | interact is part of my template (so are the imports, which is why there are superfluous ones)) |
| 08:12:55 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 08:13:38 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 08:15:21 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 08:15:48 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 08:16:20 | <int-e> | https://paste.debian.net/1223010/ looks a bit cleaner, maybe |
| 08:16:50 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 08:18:09 | <xerox> | I quite like the do |
| 08:18:44 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 268 seconds) |
| 08:18:45 | <xerox> | I think a couple helpers would make it very concise |
| 08:21:31 | × | FragByte quits (~christian@user/fragbyte) (Quit: Quit) |
| 08:23:20 | → | FragByte joins (~christian@user/fragbyte) |
| 08:26:35 | × | xff0x quits (~xff0x@2001:1a81:53c2:9a00:19a5:15f2:3ceb:bc1f) (Ping timeout: 252 seconds) |
| 08:27:39 | → | xff0x joins (~xff0x@2001:1a81:53c2:9a00:cbda:12ba:4c62:7635) |
| 08:29:12 | <int-e> | xerox: helpers might make things more readable... but at least in my case, trying to be fast leads to monolithic code |
| 08:30:13 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 08:30:49 | <int-e> | oh did anybody else implement the wrong neighbourhood (von Neumann instead of Moore) at first? |
| 08:34:08 | → | jinsun__ joins (~quassel@user/jinsun) |
| 08:34:31 | × | sprout quits (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) (Ping timeout: 250 seconds) |
| 08:34:54 | × | jinsun quits (~quassel@user/jinsun) (Ping timeout: 260 seconds) |
| 08:36:34 | <xerox> | I felt so fortunate to read "including octopuses that are diagonally adjacent" right in the moment |
| 08:41:53 | × | acidjnk_new quits (~acidjnk@p200300d0c7271e2134fbc39073c29133.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 08:46:40 | → | notzmv joins (~zmv@user/notzmv) |
| 08:52:26 | ← | iqubic parts (~user@2601:602:9502:c70:9c0:18f3:c190:ff75) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 08:53:33 | × | namkeleser quits (~namkelese@101.179.128.103) (Quit: Client closed) |
| 08:55:14 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:56:45 | → | boxscape_ joins (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) |
| 08:56:57 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 08:58:21 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 08:58:33 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:00:59 | → | slice joins (~slice@user/slice) |
| 09:01:02 | → | thevishy joins (~Nishant@2405:201:f005:c007:acb3:d7a7:c300:b2a1) |
| 09:01:25 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 09:18:18 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 09:19:01 | × | xff0x quits (~xff0x@2001:1a81:53c2:9a00:cbda:12ba:4c62:7635) (Ping timeout: 252 seconds) |
| 09:19:51 | → | xff0x joins (~xff0x@2001:1a81:53c2:9a00:4812:eab:46f1:9dc7) |
| 09:22:28 | → | curiousgay joins (~quassel@77-120-141-90.kha.volia.net) |
| 09:23:03 | × | ishutin quits (~ishutin@178-164-208-88.pool.digikabel.hu) (Ping timeout: 256 seconds) |
| 09:23:41 | jinsun__ | is now known as jinsun |
| 09:24:53 | → | ishutin joins (~ishutin@85-238-77-101.pool.digikabel.hu) |
| 09:25:18 | × | k60``` quits (~user@static.100.218.46.78.clients.your-server.de) (Ping timeout: 260 seconds) |
| 09:29:43 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 09:30:45 | × | fr33domlover quits (~fr33@2.55.40.147) (Ping timeout: 252 seconds) |
| 09:32:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:33:17 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 09:36:43 | → | sprout joins (~quassel@2a02:a467:ccd6:1:719f:b1db:e5b1:8e4a) |
| 09:37:02 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 09:37:04 | → | namkeleser joins (~namkelese@101.179.128.103) |
| 09:37:18 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 09:39:34 | × | nfd quits (~nfd@user/nfd) (Ping timeout: 256 seconds) |
| 09:39:42 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 09:53:17 | → | InternetCitizen joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 09:55:00 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 09:55:26 | × | bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:58:36 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 09:58:48 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 09:59:18 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 09:59:21 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 10:08:41 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 10:10:03 | → | img joins (~img@user/img) |
| 10:10:39 | → | smartin joins (~Thunderbi@88.135.18.171) |
| 10:11:54 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 10:12:41 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
| 10:13:17 | × | jespada quits (~jespada@87.74.33.157) (Ping timeout: 252 seconds) |
| 10:14:43 | Lord_of_Life_ | is now known as Lord_of_Life |
| 10:15:39 | → | jespada joins (~jespada@87.74.33.157) |
| 10:16:17 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 10:16:57 | × | curiousgay quits (~quassel@77-120-141-90.kha.volia.net) (Ping timeout: 252 seconds) |
| 10:17:44 | × | waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 268 seconds) |
| 10:28:34 | → | zer0bitz joins (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) |
| 10:30:47 | → | narendraj9 joins (~user@2a02:8109:b63f:ff7c::d8fb) |
| 10:33:16 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 10:34:39 | → | img joins (~img@user/img) |
| 10:40:24 | → | jgeerds joins (~jgeerds@55d4ac73.access.ecotel.net) |
| 10:49:16 | × | jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Remote host closed the connection) |
| 10:55:55 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:57:02 | × | xff0x quits (~xff0x@2001:1a81:53c2:9a00:4812:eab:46f1:9dc7) (Ping timeout: 240 seconds) |
| 10:58:03 | → | xff0x joins (~xff0x@2001:1a81:53c2:9a00:72ce:9c15:414e:55e3) |
| 11:00:48 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 11:00:48 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 11:00:48 | finn_elija | is now known as FinnElija |
| 11:01:00 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 11:06:44 | → | Successus joins (~Successus@gateway/tor-sasl/successus) |
| 11:07:28 | → | cosimone joins (~user@93-47-231-91.ip115.fastwebnet.it) |
| 11:11:11 | × | xff0x quits (~xff0x@2001:1a81:53c2:9a00:72ce:9c15:414e:55e3) (Ping timeout: 250 seconds) |
| 11:12:14 | → | xff0x joins (~xff0x@port-92-193-224-19.dynamic.as20676.net) |
| 11:17:07 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 11:18:17 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:18:18 | → | pfurla joins (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
| 11:22:42 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
| 11:37:43 | × | slice quits (~slice@user/slice) (Quit: zzz) |
| 11:56:01 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 11:58:53 | × | narendraj9 quits (~user@2a02:8109:b63f:ff7c::d8fb) (Remote host closed the connection) |
| 12:00:21 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 12:01:18 | → | narendraj9 joins (~user@2a02:8109:b63f:ff7c::62fc) |
| 12:03:02 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
| 12:03:25 | × | timCF quits (~timCF@m91-129-100-224.cust.tele2.ee) (Quit: leaving) |
| 12:04:29 | → | DNH joins (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) |
| 12:06:26 | → | curiousgay joins (~curiousga@77-120-141-90.kha.volia.net) |
| 12:06:35 | → | fr33domlover joins (~fr33@2.55.42.168) |
| 12:07:33 | → | chomwitt joins (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) |
| 12:09:35 | <opqdonut> | I'm seeing MulArrowT instead of ArrowT in some TH code after upgrading to GHC 9. The docs say it's just "FUN"... What is it? |
| 12:10:27 | <opqdonut> | what was previously: AppT (AppT ArrowT (ConT GHC.Types.Int)) x |
| 12:10:50 | <opqdonut> | is now: AppT (AppT (AppT MulArrowT (PromotedT GHC.Types.One)) (ConT GHC.Types.Int)) x |
| 12:11:07 | <opqdonut> | arrow with a multiplicity(??) of one? |
| 12:12:19 | <opqdonut> | ah is it a linear function type `a %1 -> b`? |
| 12:13:07 | <opqdonut> | right, so GHC 9 infers linear types for data constructors even if I haven't enabled -XLinearTypes |
| 12:13:26 | <opqdonut> | https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0111-linear-types.rst#linear-constructors |
| 12:14:05 | <merijn> | opqdonut: Does it? Or are regular arrows just a subset of linear arrows inside GHC? |
| 12:14:09 | <geekosaur> | yes, that looks like a multiplicity |
| 12:15:14 | <geekosaur> | merijn, but as a subset it should have Many instead of One as its multiplicity |
| 12:15:23 | <opqdonut> | merijn: for normal functions I seem to be getting ArrowTs |
| 12:15:27 | <geekosaur> | that being the default in most cases |
| 12:15:48 | → | tom__ joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) |
| 12:15:57 | × | tom_ quits (~tom@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
| 12:17:16 | → | retro_ joins (~retro@05412d78.skybroadband.com) |
| 12:19:50 | × | retroid_ quits (~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds) |
| 12:21:45 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 12:29:37 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 12:31:16 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:31:19 | × | shailangsa quits (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) () |
| 12:32:13 | × | son0p quits (~ff@2800:484:1d81:b700:d40b:900:b387:320) (Ping timeout: 250 seconds) |
| 12:34:06 | × | fr33domlover quits (~fr33@2.55.42.168) (Ping timeout: 256 seconds) |
| 12:34:35 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
| 12:35:25 | → | pfurla joins (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
| 12:35:35 | <opqdonut> | posted a documentation issue https://gitlab.haskell.org/ghc/ghc/-/issues/20812 |
| 12:35:38 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 12:35:48 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 256 seconds) |
| 12:35:57 | → | _ht_ joins (~quassel@37.120.218.158) |
| 12:35:57 | <opqdonut> | I wonder if I should've just done a PR... |
| 12:40:01 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Ping timeout: 250 seconds) |
| 12:40:38 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 12:41:04 | → | pfurla joins (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
| 12:41:33 | → | kuribas joins (~user@ptr-25vy0i8mmtix9f62pzs.18120a2.ip6.access.telenet.be) |
| 12:46:14 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 12:49:50 | × | narendraj9 quits (~user@2a02:8109:b63f:ff7c::62fc) (Remote host closed the connection) |
| 12:50:11 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 12:52:58 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 260 seconds) |
| 12:53:46 | × | max22- quits (~maxime@2a01cb0883359800efee173175359a41.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
| 12:55:45 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 12:57:49 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
| 12:58:01 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
| 12:58:09 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 12:58:25 | → | timCF joins (~timCF@m91-129-100-224.cust.tele2.ee) |
| 13:00:16 | <timCF> | Hello! Did anybody experienced problems with stock deriving of Eq instance over existentially quantified type (type which do have forall on the right-hand side of definition)? Not sure how to deal with it, GHC gives some strange error |
| 13:01:31 | <timCF> | Error is like `Couldn't match type a1 with a` where "a" is existentially quanitified type parameter. |
| 13:02:50 | <geekosaur> | I think that's guaranteed to happen because it can never retrieve the type of the existential? |
| 13:03:13 | <geekosaur> | unless it's a GADT but that I think also breaks deriving in a different way |
| 13:04:12 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 13:05:12 | <timCF> | geekosaur: so no deriving for existentially quantified types? |
| 13:05:38 | <kuribas> | yeah, it cannot compare existentially quantified types. |
| 13:06:40 | <geekosaur> | type information doesn't exist at runtime so it can't know what it is comparing |
| 13:07:00 | <kuribas> | You might make a manual instance using a Typeable constraint. |
| 13:08:17 | <kuribas> | But it sounds like the wrong design to me... |
| 13:11:17 | → | shailangsa joins (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) |
| 13:12:58 | <timCF> | kuribas: hmm, but what are the other options? |
| 13:13:20 | <kuribas> | timCF: what are you trying to do? |
| 13:13:33 | <kuribas> | For example, a sum type instead of existential. |
| 13:14:54 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 13:14:57 | <timCF> | I'm trying to learn singletons :) |
| 13:16:49 | <timCF> | Case is just using `SomeFoo` instead of `Foo (bar :: Bar)` in case where `bar` is known only in runtime |
| 13:17:15 | <timCF> | Coming from IO-like action |
| 13:18:09 | <merijn> | timCF: Can't derive existential types, no, you'll have to handroll the instance |
| 13:18:50 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 13:20:31 | <kuribas> | timCF: my deepest sympathy :) |
| 13:20:43 | <kuribas> | timCF: why not learn a proper dependently typed language instead? |
| 13:24:20 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 13:24:29 | <timCF> | kuribas: I'm just trying to evolve gradually) I've started Haskell only after I could say "I know Erlang, nothing to do here anymore". It took something around 5 years to be able to say so. Now I'm kinda invested already in learning Haskell :) |
| 13:24:58 | <kuribas> | timCF: I didn't say you should stop learning haskell :) |
| 13:25:09 | <geekosaur> | you're not really learning haskell any more |
| 13:25:13 | <kuribas> | Just that in that direction lies madness. |
| 13:25:23 | <geekosaur> | you're learning a misguided attempt to pretend to be idris in haskell |
| 13:25:24 | <merijn> | s/not really learning Haskell/really not learning Haskell |
| 13:25:48 | <merijn> | timCF: I'd second the idea of "maybe you should look at Idris instead" :p |
| 13:29:42 | <kuribas> | timCF: note that a lot of DT language build on haskell knowledge, so learning haskell isn't a waste of effort. |
| 13:29:50 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
| 13:31:53 | → | bollu joins (uid233390@id-233390.helmsley.irccloud.com) |
| 13:31:57 | <merijn> | More relevantly, Idris is *intentionally* positioned/designed to accommodate people coming from Haskell |
| 13:33:22 | <timCF> | - How and why you started programming in Idiris? - Well one day I tried to refactor my Haskell codebase to work with singletons. - Understandable. |
| 13:34:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 13:36:56 | → | hueso joins (~root@user/hueso) |
| 13:37:41 | <merijn> | timCF: tbh, if you say that in the idris channel I'm pretty sure *everyone* will understand that immediately :p |
| 13:39:16 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 13:41:11 | → | max22- joins (~maxime@2a01cb0883359800fed7895ae16757a7.ipv6.abo.wanadoo.fr) |
| 13:44:04 | <kuribas> | most idris activity is in discord, not freenode. |
| 13:44:36 | <kuribas> | or wathever this place is :) |
| 13:46:01 | <kuribas> | My current interest in haskell is more in how to write clean haskell without resorting to too much fancy type level stuff. |
| 13:46:05 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 13:46:26 | <kuribas> | Like leveraging abstractions and algebraic structures, like Monoid/Applicative/... |
| 13:46:33 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Ping timeout: 256 seconds) |
| 13:46:35 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 13:51:18 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 260 seconds) |
| 13:55:17 | → | neurocyte0132889 joins (~neurocyte@45.14.190.29) |
| 13:55:17 | × | neurocyte0132889 quits (~neurocyte@45.14.190.29) (Changing host) |
| 13:55:17 | → | neurocyte0132889 joins (~neurocyte@user/neurocyte) |
| 13:55:44 | → | xkuru joins (~xkuru@user/xkuru) |
| 13:57:58 | → | Digit joins (~user@user/digit) |
| 13:58:41 | <Digit> | hi. just had this idea.... ~ "if gimp were coded in haskell" |
| 14:01:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) |
| 14:06:07 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) (Ping timeout: 252 seconds) |
| 14:09:10 | × | Successus quits (~Successus@gateway/tor-sasl/successus) () |
| 14:09:52 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 14:12:42 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds) |
| 14:14:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 14:14:38 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 14:16:36 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 14:21:53 | × | kaction quits (~kaction@pool-71-191-91-40.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 14:24:31 | → | CiaoSen joins (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 14:32:24 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 14:32:35 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 14:32:55 | × | namkeleser quits (~namkelese@101.179.128.103) (Quit: Client closed) |
| 14:35:57 | <kuribas> | then? |
| 14:36:37 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 14:36:56 | <geekosaur> | we'd have a gui lib to write it in? |
| 14:36:58 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 14:37:48 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 14:39:22 | <geekosaur> | (come to think of it, that probably *is* the point: gtk started out as the toolkit developed for gimp) |
| 14:39:31 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Quit: Leaving) |
| 14:40:30 | <geekosaur> | kinda doubt it'd have had as much impact if it had been done in haskell though |
| 14:40:54 | <kuribas> | you can already use gtk from haskell. |
| 14:40:58 | <kuribas> | And there is wxHaskell. |
| 14:41:06 | <geekosaur> | but neither is native |
| 14:41:22 | <kuribas> | don't know what you mean by native... |
| 14:41:24 | <geekosaur> | and, do we still have wxHaskell? last I checked it was badly bitrotted |
| 14:41:29 | <kuribas> | wxHaskell uses native widgets. |
| 14:41:37 | <kuribas> | geekosaur: it did, because nobody uses it. |
| 14:42:23 | <geekosaur> | but more to the point, gtk fits C-think. what would we have gotten if it had been developed in Haskell in the first place? FRP? |
| 14:42:34 | <kuribas> | These days everyone makes their own UI toolkit in JS. |
| 14:42:46 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 14:42:54 | <kuribas> | geekosaur: you can already use FRP with gtk. |
| 14:43:00 | <kuribas> | You just need a bit more plumbing. |
| 14:44:07 | <timCF> | Let's say I do have a normal class `class C a` and a kind `data K = K0 | K1` and a type `newtype T (k :: Maybe K) = T String`. There are both instances `instance C (T ('Just 'K0))` and `instance C (T ('Just 'K1))` presented in a scope, but when I'm trying to apply C method to value of the type `T ('Just k)`, GHC refuses to resolve it. Should I help GHC somehow to perform inference? |
| 14:44:23 | <kuribas> | Maybe I am becoming an old fart, but I liked when UI toolkits came with the OS. |
| 14:45:44 | <timCF> | Error is something like "No instance for (C (T ('Just k))) |
| 14:45:48 | <geekosaur> | please. I shudder to think what linux devs would have come up with |
| 14:45:57 | <kuribas> | gtk? |
| 14:46:11 | <kuribas> | gtk is a standard linux toolkit. |
| 14:46:20 | <geekosaur> | they didn't come up with that, they adopted it |
| 14:46:25 | <kuribas> | by OS I didn't mean the kernel programmers. |
| 14:46:36 | <geekosaur> | as I said, it started out as a custom toolkit for the gimp |
| 14:47:10 | × | Digit quits (~user@user/digit) (Read error: Connection reset by peer) |
| 14:47:19 | <kuribas> | yes |
| 14:47:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 14:47:28 | <geekosaur> | "my job here is done"? :þ |
| 14:47:56 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 14:47:58 | <kuribas> | timCF: code? |
| 14:48:32 | <kuribas> | I just mean, so there is a unified look and feel for the OS. |
| 14:48:32 | × | opqdonut quits (opqdonut@pseudo.fixme.fi) (Ping timeout: 240 seconds) |
| 14:48:47 | → | Digit joins (~user@user/digit) |
| 14:49:25 | <geekosaur> | kuribas, so linux has blown it because gtk is not the only toolkit used. qt/kde is also widely used |
| 14:49:40 | <kuribas> | yeah, they did :) |
| 14:49:44 | <geekosaur> | and there are still aps based on awt (god alone knows why) |
| 14:50:02 | <kuribas> | But most distros managed to unify the look and feel. |
| 14:50:03 | <geekosaur> | uh, athena widgets |
| 14:50:46 | <kuribas> | I remember those :) |
| 14:50:59 | <kuribas> | there was also gnustep. |
| 14:51:13 | → | opqdonut joins (opqdonut@pseudo.fixme.fi) |
| 14:52:24 | <geekosaur> | moist distros picked one de and ran with it — but there are still apps available only for oe toolkit or the other. there are ways to try to unify theming but they have limits |
| 14:52:50 | <geekosaur> | *most |
| 14:55:32 | <kuribas> | I wouldn't claim linux is a good example :) |
| 14:56:26 | <kuribas> | I just think haskell UI libraries are poor because nobody takes the effort to maintain them. |
| 14:56:41 | <kuribas> | Not because haskell is inherently bad for UI programming. |
| 14:57:02 | <kuribas> | I tried a bit UI programming with FRP and reactive banana, and I found it did simplify a lot. |
| 14:57:22 | <kuribas> | Better than a global event loop and lots of mutable state. |
| 14:58:11 | × | Jing quits (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
| 14:58:46 | → | Jing joins (~hedgehog@125.106.89.1) |
| 15:03:26 | → | waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
| 15:03:53 | × | LambdaDuck quits (~anka@ksit.fixme.fi) (Ping timeout: 268 seconds) |
| 15:05:24 | × | _ht_ quits (~quassel@37.120.218.158) (Ping timeout: 256 seconds) |
| 15:05:34 | → | lavaman joins (~lavaman@98.38.249.169) |
| 15:05:42 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 15:06:04 | → | jeetelongname joins (~jeet@148.197.248.20) |
| 15:06:22 | → | mmhat joins (~mmh@55d45c6c.access.ecotel.net) |
| 15:08:51 | → | pfurla joins (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
| 15:10:02 | → | LambdaDuck joins (~anka@ksit.fixme.fi) |
| 15:10:39 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 15:11:20 | × | earendel quits (uid498179@user/earendel) (Quit: Connection closed for inactivity) |
| 15:13:18 | × | tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection) |
| 15:13:36 | → | tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
| 15:15:41 | → | __monty__ joins (~toonn@user/toonn) |
| 15:21:53 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 15:25:05 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:25:05 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 15:25:05 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:26:22 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
| 15:32:06 | × | CiaoSen quits (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:33:45 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 15:36:41 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 15:46:18 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:49:09 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
| 15:50:57 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 15:54:13 | <tdammers> | the haskell gui story is kind of a perfect storm |
| 15:54:56 | <tdammers> | one part is that the user base isn't overly dependent on gui's; most haskellers work on a) academic projects, b) web stuff, c) crypto stuff, d) compilers; neither of those need a gui |
| 15:55:26 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 260 seconds) |
| 15:55:32 | <tdammers> | another part is that we like sound abstractions and morally correct solutions; but the world hasn't quite figured out what the correct way of doing gui's is |
| 15:56:21 | <tdammers> | frp looks promising, but it's absolutely not there yet, as far as maturity and ergonomics go. OOP is what most of the rest of the world uses, but OOP is a bit of a red flag for a lot of haskellers. so then what? |
| 15:57:03 | <tdammers> | other languages just shrug, and implement a paradigm that is known to be mildly wrong, but you can make it good enough and just carry on about your day |
| 15:57:22 | <perro> | "wrong" |
| 15:58:21 | <tdammers> | "wrong" meaning that the actual semantics of the code don't match the "morally correct" semantics of the intended UI |
| 15:58:33 | <tdammers> | forcing the programmer to "fake it" |
| 15:58:38 | <perro> | reactish stuff gets pretty close |
| 15:58:43 | <perro> | can* |
| 15:58:49 | <tdammers> | yes. sometimes. |
| 15:58:57 | <aplainzetakind> | Is there a way to Proxy higher kinded types? |
| 15:59:05 | <tdammers> | but reactive stuff makes things like creating widgets dynamically awkward |
| 15:59:36 | <tdammers> | or keeping effects local to a single component, without bleeding knowledge of the effect out of the component |
| 16:00:11 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
| 16:02:27 | × | timCF quits (~timCF@m91-129-100-224.cust.tele2.ee) (Ping timeout: 268 seconds) |
| 16:04:09 | → | pfurla joins (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
| 16:04:29 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 16:05:45 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 16:06:02 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 16:06:19 | → | fr33domlover joins (~fr33@2.55.25.254) |
| 16:09:05 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 16:11:36 | <EvanR> | for any given concrete UI, you might be able to see some kind of pattern that could be explained post hoc with declarative methods |
| 16:12:17 | <EvanR> | but the concrete UIs vary wildly, I'm skeptical there's a silver bullet |
| 16:13:15 | <EvanR> | toolkits basically encourage you to be able to do anything |
| 16:14:02 | × | LambdaDuck quits (~anka@ksit.fixme.fi) (Ping timeout: 240 seconds) |
| 16:14:44 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 16:16:33 | <EvanR> | and what toolkits work with is some oddball reflection of human interaction forged over the decades, rather than a nice mathematical phenomenon |
| 16:17:08 | <EvanR> | and give you the tools to say screw that, I'm doing something else |
| 16:17:47 | <kuribas> | Isn't what the toolkit provides, and how you do event processing, orthogonal? |
| 16:18:02 | <EvanR> | web is good in that respect, designers we able to evolve a bit |
| 16:18:26 | <kuribas> | Just because most toolkits use an event loop, doesn't mean it's the only way of getting those features? |
| 16:18:48 | <EvanR> | event delegation has a lot of built in strategies that can override |
| 16:18:57 | <EvanR> | that you can override |
| 16:19:06 | × | ggVGc quits (~ggVGc@a.lowtech.earth) (Ping timeout: 268 seconds) |
| 16:19:34 | → | ggVGc joins (~ggVGc@a.lowtech.earth) |
| 16:20:02 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 16:21:10 | → | LambdaDuck joins (~anka@ksit.fixme.fi) |
| 16:21:46 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 16:22:06 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 16:23:31 | <kuribas> | you mean triggering events? |
| 16:23:50 | <kuribas> | I am sure you could model event delegation with FRP. |
| 16:24:22 | × | jeetelongname quits (~jeet@148.197.248.20) (Remote host closed the connection) |
| 16:25:44 | × | cosimone quits (~user@93-47-231-91.ip115.fastwebnet.it) (Remote host closed the connection) |
| 16:26:42 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 16:28:07 | <EvanR> | not sure why we are on the subject of event processing xD |
| 16:29:37 | → | zincy_ joins (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
| 16:31:22 | <EvanR> | is the idea that any UI is just a pile of event processing |
| 16:31:57 | <EvanR> | works for javascript I guess |
| 16:36:09 | → | x_kuru joins (~xkuru@user/xkuru) |
| 16:37:45 | × | zincy_ quits (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
| 16:38:22 | × | xkuru quits (~xkuru@user/xkuru) (Ping timeout: 260 seconds) |
| 16:43:26 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 16:44:12 | × | aeka quits (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
| 16:44:15 | → | zincy_ joins (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
| 16:45:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:45:31 | → | aeka joins (~aeka@2606:6080:1002:9:ffc4:b9c1:20ad:82f9) |
| 16:57:26 | × | spoofer quits (~spoofer@64.185.111.205) (Remote host closed the connection) |
| 16:58:48 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
| 17:02:00 | → | pfurla joins (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) |
| 17:04:27 | → | dcoutts joins (~duncan@71.78.6.51.dyn.plus.net) |
| 17:07:15 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
| 17:07:46 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds) |
| 17:10:14 | → | jeetelongname joins (~jeet@148.197.248.20) |
| 17:11:17 | × | zincy_ quits (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
| 17:11:58 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 17:14:30 | × | Jing quits (~hedgehog@125.106.89.1) (Read error: Connection reset by peer) |
| 17:15:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 17:15:24 | → | Guest75 joins (~Guest75@c-73-51-111-196.hsd1.il.comcast.net) |
| 17:17:07 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 17:18:38 | × | pfurla quits (~pfurla@2804:14d:5c81:4104:654d:199b:4253:3c19) (Quit: gone to sleep. ZZZzzz…) |
| 17:20:18 | → | Jing joins (~hedgehog@2604:a840:3::1001) |
| 17:20:36 | → | cosimone joins (~user@93-47-231-91.ip115.fastwebnet.it) |
| 17:21:16 | × | _xor quits (~xor@dsl-50-5-233-169.fuse.net) (Read error: Connection reset by peer) |
| 17:21:35 | → | earendel joins (uid498179@user/earendel) |
| 17:29:20 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 17:30:32 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 17:32:14 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 17:34:41 | × | InternetCitizen quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 250 seconds) |
| 17:41:12 | × | kuribas quits (~user@ptr-25vy0i8mmtix9f62pzs.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 17:46:12 | × | DNH quits (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:46:55 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 17:52:49 | → | zaquest joins (~notzaques@5.130.79.72) |
| 17:55:22 | × | Guest75 quits (~Guest75@c-73-51-111-196.hsd1.il.comcast.net) (Quit: Client closed) |
| 17:55:54 | × | mbuf quits (~Shakthi@122.178.201.137) (Quit: Leaving) |
| 17:56:27 | × | johnjay quits (~pi@154.6.152.74) (Ping timeout: 256 seconds) |
| 17:57:20 | → | johnjay joins (~pi@154.6.152.74) |
| 17:58:13 | → | zincy_ joins (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
| 17:58:58 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 17:59:22 | → | DNH joins (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) |
| 18:02:46 | × | zincy_ quits (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Ping timeout: 256 seconds) |
| 18:05:38 | × | mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 260 seconds) |
| 18:07:26 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 18:11:47 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 18:14:33 | → | cheater joins (~Username@user/cheater) |
| 18:14:36 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:15:24 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 18:18:02 | × | DNH quits (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:18:17 | → | InternetCitizen joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 18:18:27 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:18:27 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 18:18:27 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:20:19 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) |
| 18:24:34 | → | _xor joins (~xor@dsl-50-5-233-169.fuse.net) |
| 18:25:21 | → | vicfred joins (~vicfred@user/vicfred) |
| 18:25:23 | → | sluigi joins (~sluigi@18.31.14.245) |
| 18:29:41 | <awpr> | timCF "there is an instance for each constructor of T" is different from "GHC can find the right instance for a call site with universally quantified T" -- in that case the right instance changes per callsite, and GHC cannot pick one without it being passed in as a constraint |
| 18:30:47 | → | DNH joins (~DNH@2a02:8108:1100:16d8:11c1:36c3:fe48:2c6f) |
| 18:30:56 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:31:08 | <awpr> | it could also be a stuck type family like `Any`, in which case there actually isn't an instance |
| 18:34:32 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
| 18:34:53 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 18:35:46 | × | neurocyte0132889 quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 18:36:33 | → | econo joins (uid147250@user/econo) |
| 18:37:54 | × | johnjay quits (~pi@154.6.152.74) (Ping timeout: 256 seconds) |
| 18:38:23 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 18:38:57 | → | neurocyte0132889 joins (~neurocyte@45.14.190.29) |
| 18:38:57 | × | neurocyte0132889 quits (~neurocyte@45.14.190.29) (Changing host) |
| 18:38:57 | → | neurocyte0132889 joins (~neurocyte@user/neurocyte) |
| 18:39:09 | → | johnjay joins (~pi@154.6.152.74) |
| 18:42:01 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:44:30 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 18:48:10 | <glguy> | Is there a common name for a function: Ord a => [a] -> Map a Int whose behavior is to count the number of occurences of the elements in a list? Maybe somethin to do with cardinalities, frequencies, etc? |
| 18:48:57 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
| 18:49:33 | <geekosaur> | histogram? |
| 18:50:48 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 18:51:21 | <glguy> | that takes me to "In statistics, a frequency distribution is a list, table (i.e.: frequency table) or graph (i.e.: bar plot or histogram) that displays the frequency of various outcomes in a sample." |
| 18:52:00 | <glguy> | so maybe "frequency distribution" is closer to what I want with histogram being a particular rendering of that thing |
| 18:52:42 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 18:53:53 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 18:56:02 | <sluigi> | why is the concept of a functor so different in haskell compared to ocaml? |
| 18:56:41 | <dsal> | glguy: multiset seems to exist for that. |
| 18:57:43 | <glguy> | dsal: oh yeah, instead of figuring out the verb for the action of constructing a frequency table, I could focus on the name of the frequency table representation |
| 18:58:50 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
| 19:00:10 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 19:01:18 | × | max22- quits (~maxime@2a01cb0883359800fed7895ae16757a7.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
| 19:02:39 | <geekosaur> | sluigi, different languages seem to take their definition of "functor" from different places. Haskell uses one from mathematics, specifically category theory (although it cuts the name down, properly it should be "Endofunctor") |
| 19:02:47 | <awpr> | sluigi: they're kind of just unrelated things that happen to use the same name (along the same lines, C++ jargon uses "functor" to mean a callable object). is that a satisfying answer to "why", or are you hoping for a deeper reason about why ML functors are called that? (I don't have a good answer for that) |
| 19:03:02 | → | mvk joins (~mvk@2607:fea8:5cdd:f000::9788) |
| 19:03:13 | <geekosaur> | nor do I |
| 19:03:20 | <sluigi> | i guess i just don't understand how the two functors are related |
| 19:03:28 | <sluigi> | and would like to |
| 19:03:43 | <awpr> | my understanding is that they're not related in any meaningful way |
| 19:03:54 | <geekosaur> | I'm not sure they are |
| 19:04:23 | <geekosaur> | there may be some very abstract sense based on ML functors being "higher order modules" in some sense |
| 19:04:23 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:05:31 | × | mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Remote host closed the connection) |
| 19:06:29 | → | mvk joins (~mvk@2607:fea8:5cdd:f000::9788) |
| 19:06:35 | <awpr> | like, to guess at the etymology of the C++ situation, if you take "access" and objectify it, you get "accessor", so if you take "function" and objectify it, you get "functor". in that case, the same word seems to have come about from completely unrelated origins. it could be that the ML situation is similar, or that someone chose the category theory "functor" based on some distant metaphor |
| 19:06:42 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:06:42 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 19:06:42 | → | wroathe joins (~wroathe@user/wroathe) |
| 19:07:07 | <dsal> | sluigi: lots of languages call things functions that I wouldn't consider a function. |
| 19:07:17 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:08:53 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 19:09:13 | <awpr> | or ML functors could be CT functors in some way I don't know of -- functors are extremely diverse depending on the source and target categories, and the Haskell `Functor` is a very narrowly specialized case of them, so there are plenty of "functors" that look totally foreign compared to the `Functor` class |
| 19:09:42 | × | mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Client Quit) |
| 19:09:43 | × | johnjay quits (~pi@154.6.152.74) (Ping timeout: 252 seconds) |
| 19:09:58 | <EvanR> | C++: callable. Haskell: mappable. ML: instancable? |
| 19:11:26 | → | mvk joins (~mvk@2607:fea8:5cdd:f000::9788) |
| 19:11:32 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 19:11:46 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 19:12:06 | × | mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Client Quit) |
| 19:12:32 | → | mvk joins (~mvk@2607:fea8:5cdd:f000::9788) |
| 19:12:53 | → | johnjay joins (~pi@154.6.152.74) |
| 19:13:08 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:14:11 | × | mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Client Quit) |
| 19:14:34 | → | mvk joins (~mvk@2607:fea8:5cdd:f000::9788) |
| 19:17:32 | <EvanR> | you could ask where category theory got "functor" |
| 19:17:34 | × | deadmarshal quits (~deadmarsh@95.38.118.223) (Ping timeout: 256 seconds) |
| 19:18:01 | <glguy> | Where did category theory get functor? |
| 19:22:22 | → | yhsiveht joins (~Nishant@49.37.177.34) |
| 19:24:45 | × | thevishy quits (~Nishant@2405:201:f005:c007:acb3:d7a7:c300:b2a1) (Ping timeout: 252 seconds) |
| 19:27:52 | → | dudek joins (~dudek@185.150.236.103) |
| 19:28:59 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 19:29:52 | × | APic quits (apic@apic.name) (Quit: [TLS] Client upgrade) |
| 19:30:10 | → | APic joins (~apic@apic.name) |
| 19:30:54 | × | cosimone quits (~user@93-47-231-91.ip115.fastwebnet.it) (Remote host closed the connection) |
| 19:31:26 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 19:31:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:33:06 | → | max22- joins (~maxime@2a01cb08833598004fea75dc1e636bbe.ipv6.abo.wanadoo.fr) |
| 19:35:26 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:36:00 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 19:36:16 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
| 19:36:18 | → | cosimone joins (~user@93-47-231-91.ip115.fastwebnet.it) |
| 19:36:19 | → | hololeap joins (~hololeap@user/hololeap) |
| 19:37:30 | × | jeetelongname quits (~jeet@148.197.248.20) (Quit: off streaming) |
| 19:39:01 | × | kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 19:40:09 | × | sluigi quits (~sluigi@18.31.14.245) (Ping timeout: 256 seconds) |
| 19:40:23 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 19:40:49 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:42:11 | <hololeap> | newtype Grid x y a = Grid { getGrid :: Sized.Vector y (Sized.Vector x a) } |
| 19:42:25 | <hololeap> | withGrid :: forall a r. SomeGrid a -> (forall x y. (KnownNat x, KnownNat y) => Grid x y a -> r) -> Maybe r |
| 19:42:28 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 19:42:36 | <hololeap> | this is hard |
| 19:42:43 | <glguy> | hololeap: for 2-d arrays I like using Array |
| 19:42:57 | <glguy> | but I guess you're doing something typefancy here |
| 19:43:15 | <hololeap> | yeah, I'm playing around with it |
| 19:43:30 | <awpr> | hmm, why Maybe? can something in there fail? |
| 19:43:51 | × | fr33domlover quits (~fr33@2.55.25.254) (Ping timeout: 268 seconds) |
| 19:43:54 | <hololeap> | awpr: yeah the rows could be of different lengths |
| 19:44:25 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 19:44:31 | <awpr> | oh, hmm, is SomeGrid not an existential wrapper around Grid then? |
| 19:44:38 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 19:44:49 | <hololeap> | type SomeGrid a = Vector (Vector a) |
| 19:44:54 | <hololeap> | (regular vectors there) |
| 19:45:02 | <awpr> | ok that makes perfect sense then |
| 19:45:08 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 19:45:14 | → | kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
| 19:46:22 | <hololeap> | I need to branch depending on if (y :: Nat) is 0 or >=1, and I need to do it in a way that the type system can follow |
| 19:46:28 | <awpr> | https://hackage.haskell.org/package/orthotope is another option for shape-indexed multidimensional arrays, btw |
| 19:46:54 | <awpr> | oof, that's a problem that's way harder than it sounds like it should be |
| 19:47:32 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds) |
| 19:48:06 | <hololeap> | you could be right. my thinking was that if y is 0, then you just pass that rank-2 function (Grid 0 0 a) |
| 19:48:52 | <hololeap> | but if it has at least one row, then you need to start working with x, and you need to check every subsequent row to make sure they are the correct size |
| 19:49:42 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
| 19:49:54 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 19:50:03 | <hololeap> | I'm also trying to build it using: withSized :: forall a r. Vector a -> (forall n. KnownNat n => Sized.Vector n a -> r) -> r |
| 19:50:25 | <hololeap> | (from Data.Vector.Sized) |
| 19:51:28 | <awpr> | hmm, so it'd need to know that it's equal to 0 in order to "cast" it to the desired type and/or use an empty vector; and it'd need to know that it's >= 1 in order to access the 0th element to find the candidate inner vector length |
| 19:51:44 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 19:52:07 | <hololeap> | right. I suppose I could turn Grid into a GADT with an constructor for y==0 and y>=1 |
| 19:52:07 | <awpr> | actually you're free to pass a 0-length vector regardless of the input length, so that one shouldn't be an issue |
| 19:52:27 | <hololeap> | *two constructors |
| 19:53:27 | <monochrom> | Ah I missed the functor discussion. I would take it one step further "where did math get 'function'?". |
| 19:54:56 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:57:01 | <EvanR> | \o/ |
| 19:57:31 | × | phma quits (phma@2001:5b0:210f:6be8:16f7:aafd:70ba:5696) (Read error: Connection reset by peer) |
| 19:57:53 | × | waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
| 19:58:29 | <awpr> | how about something like `let mn = foldMap (First . Just . Vector.length) outerVec in case mn of Nothing -> k Sized.empty; Just n -> k <$> traverse (Sized.toSized n) outerVec`? |
| 19:58:36 | → | abrantesasf joins (~abrantesa@187.36.170.211) |
| 19:58:45 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:59:22 | <awpr> | (the main point being to use Foldable to Maybe find the inner length and then Traversable to check they're all the same) |
| 20:00:01 | <awpr> | er, it'll need lifting with TypeNats functions + TypeApplications |
| 20:03:18 | → | phma joins (~phma@host-67-44-209-24.hnremote.net) |
| 20:05:03 | × | juhp quits (~juhp@128.106.188.82) (Ping timeout: 250 seconds) |
| 20:05:50 | → | Guest81 joins (~Guest81@2a01cb0589202e00edc070a9acc1d4bb.ipv6.abo.wanadoo.fr) |
| 20:06:34 | <Guest81> | hello. could someone coup explain to me why in haskell when you do 3.1 + 0.1 it returns 3.3000000000000003 ? |
| 20:06:43 | <Guest81> | this is pretty disturbing. |
| 20:07:02 | → | juhp joins (~juhp@128.106.188.82) |
| 20:07:59 | <glguy> | Guest81: this is the nature of IEE floating point numbers |
| 20:08:02 | <monochrom> | It is floating point. It happens in all languages. Some languages show fewer digits by default, e.g., C. |
| 20:08:15 | <glguy> | IEEE754* |
| 20:08:29 | <hololeap> | it's because floating point numbers have limited precision due to how their modeled |
| 20:08:36 | <monochrom> | In C if you printf("%.18f") you will see the same disturbing thing again. |
| 20:08:57 | <monochrom> | Also I forgot to say that it is floating point and binary. |
| 20:09:30 | <glguy> | In floating point, 3.1 is represented as the fraction: |
| 20:09:30 | <glguy> | > 6980579422424269 * 2^^(-51) :: Rational |
| 20:09:32 | <lambdabot> | 6980579422424269 % 2251799813685248 |
| 20:09:44 | <glguy> | which is pretty close to 3.1 if you divide it out, but not quite |
| 20:09:47 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 20:10:13 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:10:13 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 20:10:13 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:10:20 | <monochrom> | https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html |
| 20:11:32 | <monochrom> | Also, Knuth proved that if you are to suffer truncation errors anyway, binary is the least worst. |
| 20:12:59 | <int-e> | Guest81: I don't think your example is correct... floating point is not *that* imprecise. |
| 20:13:20 | <monochrom> | Heh |
| 20:13:21 | <int-e> | > 3.1 + 0.2 |
| 20:13:22 | <lambdabot> | 3.3000000000000003 |
| 20:13:49 | <Guest81> | int-e you can try it by youself in ghci, 3,2 + 0.1 |
| 20:13:49 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:14:00 | <monochrom> | You said 3.1+0.1 |
| 20:14:11 | <Guest81> | y it was a mistake |
| 20:14:23 | <Guest81> | it was 3.2 + 0.1 |
| 20:14:40 | <Guest81> | that is pretty interesting btw, thanks for the answers |
| 20:15:46 | <hololeap> | % fromRational $ (32 % 10) + (1 % 10) |
| 20:15:46 | <yahb> | hololeap: 3.3 |
| 20:15:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:16:55 | <hololeap> | if you know how to represent your numbers as fractions, then that's the way to go |
| 20:19:59 | × | paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds) |
| 20:19:59 | × | Jing quits (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
| 20:20:37 | <Guest81> | so that's how you do when you need precise calculations ? writing int divisions instead of floats ? |
| 20:21:43 | → | deadmarshal joins (~deadmarsh@95.38.118.223) |
| 20:22:44 | <hololeap> | it's not int divisions, you can get arbitrary precision because it's modeled differently |
| 20:23:31 | <hololeap> | it's modeled as fractions of Integers, which have arbitrary precision, as opposed to Float which is limited to a fixed number of bits for its representation |
| 20:24:22 | → | Jing joins (~hedgehog@2604:a840:3::1001) |
| 20:25:10 | <hololeap> | and then you can convert it back to Float or whatever at the end of your calculation you won't have compounding rounding errors |
| 20:25:33 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 20:26:03 | × | deadmarshal quits (~deadmarsh@95.38.118.223) (Ping timeout: 250 seconds) |
| 20:26:55 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 20:30:15 | <Guest81> | hololeap ok i got it, i managed to fix my code thanks to your explanations |
| 20:31:27 | <hololeap> | :) |
| 20:31:36 | <awpr> | note you do get the compounding behavior showing up in a different way: the size of the representation. the more operations you pile up into a Rational, the more likely it is to have a massive denominator and correspondingly larger numerator. that shows up in memory usage as well as in computational cost |
| 20:32:12 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:32:12 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 20:32:12 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:32:31 | <awpr> | if you do need arbitrary precision, Rational is indeed the thing to reach for, but it's expensive and most cases in practice are perfectly content with the precision of Double or even Float |
| 20:35:01 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 20:35:09 | <awpr> | if this is just about aesthetically not liking things getting printed like "3.30000000000000000001", then there should be formatting functions with rounding to avoid that |
| 20:39:26 | <hololeap> | % fromRational $ 4074071952668972172536891376818756322102936787331872501272280898708762599526673412366793387 % 2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397223 |
| 20:39:26 | <yahb> | hololeap: 2.0 |
| 20:39:29 | × | tomku quits (~tomku@user/tomku) (Ping timeout: 250 seconds) |
| 20:40:42 | <int-e> | > showGFloat (Just 3) (3.2 + 0.1) "" |
| 20:40:43 | <lambdabot> | "3.300" |
| 20:46:23 | → | tomku joins (~tomku@user/tomku) |
| 20:47:58 | <EvanR> | Guest81, rationals and floats were discussed. Also note there are decimal types that can be useful for e.g. money |
| 20:48:14 | <EvanR> | > 3.1 + 0.1 :: Pico |
| 20:48:16 | <lambdabot> | 3.200000000000 |
| 20:48:30 | <EvanR> | > 3.1 + 0.1 :: Centi |
| 20:48:32 | <lambdabot> | 3.20 |
| 20:48:43 | × | yhsiveht quits (~Nishant@49.37.177.34) (Quit: Leaving) |
| 20:49:42 | × | curiousgay quits (~curiousga@77-120-141-90.kha.volia.net) (Quit: Leaving) |
| 20:49:57 | <EvanR> | > let x = 10 / 3 in (10 - x) + x :: Pico |
| 20:49:58 | <lambdabot> | 10.000000000000 |
| 20:50:27 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 20:51:18 | <int-e> | > let x = 10 / 3 in 3*x :: Pico |
| 20:51:19 | <lambdabot> | 9.999999999999 |
| 20:51:47 | <EvanR> | careful when dividing by 3 |
| 20:53:00 | <int-e> | > let x = 10 / 7 in 7*x :: Pico |
| 20:53:01 | <lambdabot> | 9.999999999997 |
| 20:53:13 | <int-e> | EvanR: I heeded your advice and see where it got me |
| 20:53:22 | <EvanR> | careful when dividing by 7 |
| 20:53:31 | <geekosaur> | careful with repeating fractions |
| 20:53:57 | <int-e> | now if we worked in base 60 we wouldn't have trouble with dividing by 3 |
| 20:54:01 | <int-e> | why did we stop :P |
| 20:54:08 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 20:54:12 | <int-e> | (or refuse to learn from the Babylonians) |
| 20:54:27 | <EvanR> | 60 sucks... you can't even divide by 7 |
| 20:54:45 | <EvanR> | clearly we need 420 |
| 20:54:48 | × | ephemient quits (uid407513@id-407513.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 20:54:48 | <awpr> | hmm, base 60 even has less waste than base 10 when clustered into digits |
| 20:55:08 | <awpr> | (60/64 used values in 6 bits vs. 10/16 used values in 4 bits) |
| 20:55:13 | <glguy> | Why stop at 60, work in base product[1..100] and it'll be divisible by most of the numbers you'll need on a daily basis |
| 20:55:18 | <int-e> | > foldl1 lcm [1..100] -- let's cover a bit more |
| 20:55:19 | <lambdabot> | 69720375229712477164533808935312303556800 |
| 20:55:39 | <EvanR> | there's some number like that used in video conversion |
| 20:56:02 | <int-e> | (okay that has duplicate prime factors) |
| 20:56:31 | <int-e> | 2305567963945518424753102147331756070 would be enough |
| 21:01:38 | → | curiousgay joins (~curiousga@77-120-141-90.kha.volia.net) |
| 21:01:52 | → | BrokenClutch joins (~pioneer@2804:d41:c2b2:be00:da32:623d:efa3:7121) |
| 21:02:46 | × | smartin quits (~Thunderbi@88.135.18.171) (Remote host closed the connection) |
| 21:02:48 | <BrokenClutch> | I'm almost giving up on haskell, too difficult D: |
| 21:03:04 | → | smartin joins (~Thunderbi@88.135.18.171) |
| 21:03:38 | <BrokenClutch> | I'm trying to find some book that's more theoretical, that i can understand the logic behind it |
| 21:04:13 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 21:04:29 | <BrokenClutch> | I already know the functions, I know what are the functions of a monad, I want to understand it, but i can't find any good source about it |
| 21:06:33 | <janus> | BrokenClutch: are you looking for a book recommendation? |
| 21:07:45 | <BrokenClutch> | or anything like that, please |
| 21:08:20 | × | Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 252 seconds) |
| 21:08:21 | <BrokenClutch> | I've was trying to read Haskell in Depth, pretty cool but too repetitive and sparse |
| 21:09:05 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:09:13 | <BrokenClutch> | I would be really happy if someone gave me some recommendations on more dense books. |
| 21:10:33 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:10:33 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 21:10:33 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:11:10 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
| 21:11:31 | <EvanR> | focusing on monads might be barking up the wrong tree, if you're trying to get into haskell generally |
| 21:11:32 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 21:11:49 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit) |
| 21:12:46 | <EvanR> | don't think that in haskell, "everything's a monad" or something xD |
| 21:13:47 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 21:15:06 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 21:15:38 | <janus> | BrokenClutch: the haskell report is very dense: https://www.haskell.org/onlinereport/haskell2010/ |
| 21:16:55 | × | jinsun quits (~quassel@user/jinsun) (Read error: Connection reset by peer) |
| 21:17:10 | → | jinsun joins (~quassel@user/jinsun) |
| 21:21:02 | <monochrom> | "more books" is also a wrong tree to bark up. |
| 21:21:49 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 21:22:15 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 21:22:37 | <BrokenClutch> | I want to understand why StateT exists, things like that |
| 21:22:55 | <BrokenClutch> | it's like I have to follow some strict line to learn the language |
| 21:23:24 | <BrokenClutch> | The documentation is shallow |
| 21:24:36 | → | son0p joins (~ff@2800:484:1d81:b700::4) |
| 21:25:33 | <EvanR> | probably some examples where a basic state pattern could help would be good |
| 21:26:45 | <dsal> | Haskell is super easy related to most languages I've worked in. |
| 21:27:03 | <EvanR> | i.e. want to solve an isolated problem, temporarily do a stateful algorithm to get the answer and final state |
| 21:27:08 | <dsal> | Except I am currently struggling with some existentials. I think I realized I can just do something a little different, though. |
| 21:27:31 | <BrokenClutch> | They help me understand where I need to apply them, but I still don't know what they are. |
| 21:27:32 | <BrokenClutch> | I can't just try to understand their type, it's like everything is ofuscated |
| 21:27:55 | <BrokenClutch> | obfuscated* |
| 21:28:02 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
| 21:28:10 | <EvanR> | State a is just a glorified function of type s -> (a,s) |
| 21:28:57 | <EvanR> | that's "what that is" |
| 21:29:00 | × | LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds) |
| 21:29:00 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
| 21:29:25 | <BrokenClutch> | But i can't understand their definition, like, the things inside |
| 21:29:41 | <Rembane> | BrokenClutch: Do you have some more concrete examples? |
| 21:29:42 | <BrokenClutch> | I've learned a lot of languages, but i have too much difficult with haskell |
| 21:29:44 | <EvanR> | implementation of transformers library is... probably not too illuminating |
| 21:30:18 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 276 seconds) |
| 21:30:18 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds) |
| 21:30:57 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 21:30:57 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 276 seconds) |
| 21:30:57 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds) |
| 21:30:57 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds) |
| 21:31:38 | <BrokenClutch> | Rembane: Any monad transformer and how it relates to some already defined types |
| 21:31:52 | <BrokenClutch> | StateT is an example of it |
| 21:32:07 | <EvanR> | try ReaderT |
| 21:33:04 | <BrokenClutch> | I think i will continue to bang my head against this wall, because I'm really confused, almost 2 weeks and i can't write a simple program |
| 21:33:25 | <EvanR> | @unmtl ReaderT r m a |
| 21:33:25 | <lambdabot> | r -> m a |
| 21:33:46 | → | namkeleser joins (~namkelese@101.179.128.103) |
| 21:33:47 | <EvanR> | it's simpler and probably more useful honestly than StateT xD |
| 21:33:49 | × | johnjay quits (~pi@154.6.152.74) (Ping timeout: 252 seconds) |
| 21:33:56 | <geekosaur> | I feel like trying to understand StateT to write a simple program is doing something wrong somewhere |
| 21:34:01 | <Rembane> | BrokenClutch: You can use equational reasoning to see how StateT or ReaderT works under the hood. |
| 21:34:09 | Rembane | agrees with geekosaur |
| 21:34:32 | → | johnjay joins (~pi@154.6.152.74) |
| 21:34:40 | <dsal> | BrokenClutch: It's a bit hard to understand if you start reading near the end of the story. haskellbook.com works you through it from the beginning. |
| 21:35:51 | <glguy> | BrokenClutch: you don't really need to use any monad transformers to write Haskell. It's completely optional and not a "best practice" that you need to figure out and rely on. It's certainly useful to know how they work, but it's not required |
| 21:35:56 | <BrokenClutch> | dsal: Those books are very boring and they never go deep enough |
| 21:36:00 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:36:29 | <BrokenClutch> | glguy: But that's the fun part |
| 21:37:37 | → | pfurla joins (~pfurla@2804:18:5857:ae14:19d8:3b1a:26c3:84d4) |
| 21:38:20 | <glguy> | yeah, learning stuff is fun, I just wanted to be clear you don't need to know that before you can productively write Haskell |
| 21:38:32 | <dsal> | BrokenClutch: you read it and didn't think it was deep enough? It explained the things you're claiming to not understand to me pretty clearly. |
| 21:38:41 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 21:39:39 | <BrokenClutch> | dsal: Takes to much time, it's boring. But it's a good book for a more linear reading |
| 21:40:25 | <dsal> | It takes way longer to just guess and be frustrated about things you don't fully understand. |
| 21:40:32 | <BrokenClutch> | I would like something more dense, something more focused on definitions with a couple examples. I don't want anything holding my hand, this stuff makes me anxious |
| 21:41:33 | → | pfurla_ joins (~pfurla@185.81.138.21) |
| 21:41:52 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 21:41:52 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 21:41:53 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 21:41:55 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 21:42:12 | → | LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao) |
| 21:42:32 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 21:42:34 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 21:42:36 | → | hololeap joins (~hololeap@user/hololeap) |
| 21:44:43 | × | pfurla quits (~pfurla@2804:18:5857:ae14:19d8:3b1a:26c3:84d4) (Ping timeout: 268 seconds) |
| 21:45:13 | <BrokenClutch> | Oh, i have a good example. The think with kinds, most books don't talk about this stuff on the beginning. |
| 21:45:14 | <BrokenClutch> | In math we take a little look on fields, sets and rings before calculus to explain what we are mapping, for then analyze it |
| 21:46:19 | <geekosaur> | kinds barely exist in standard Haskell |
| 21:48:22 | <BrokenClutch> | I'm starting to think that I've approached haskell wrongly |
| 21:48:38 | <geekosaur> | it kinda sounds like it, yes |
| 21:49:22 | <geekosaur> | also that you may be trying to jump into the deep end without learning to swim in the shallow end first? (kinds are generally fairly advanced Haskell) |
| 21:50:26 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 21:51:27 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 21:51:30 | × | pfurla_ quits (~pfurla@185.81.138.21) (Ping timeout: 268 seconds) |
| 21:52:09 | <monochrom> | "best practice" is such a red herring, especially for learning. |
| 21:52:25 | <BrokenClutch> | It's hard for me to learn something from top to bottom |
| 21:52:45 | <BrokenClutch> | I like to link everything together as fast as possible |
| 21:53:00 | <monochrom> | In day-to-day going-to-the-grocery, "best practice" is driving a car to get there. |
| 21:53:01 | <dsal> | It's hard for everyone to start from the top without understanding what stuff is built on. |
| 21:53:11 | <BrokenClutch> | I've learned most of what I know of C++ by following links on the documentations |
| 21:53:15 | <monochrom> | That still doesn't mean a baby learns to drive before learning to walk. |
| 21:53:51 | <BrokenClutch> | But they can know what the car is supposed to do |
| 21:54:52 | × | Jing quits (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
| 21:56:14 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 21:57:23 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 21:59:03 | → | Jing joins (~hedgehog@2604:a840:3::1001) |
| 22:02:00 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 22:06:02 | <dsal> | Knowing what the car is supposed to do is easy. Haskell is a programming language. You can write programs with it. I wouldn't expect a baby to diagnose the broken clutch, though. |
| 22:06:05 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 22:06:27 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
| 22:06:28 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 22:07:54 | <glguy> | metaphors are like a side quest |
| 22:08:29 | <BrokenClutch> | my 3yrld can only ride horses |
| 22:09:31 | → | jgeerds joins (~jgeerds@55d4ac73.access.ecotel.net) |
| 22:11:47 | <glguy> | wakling is a good next skill |
| 22:12:41 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 22:13:50 | <BrokenClutch> | still teaching anatomy to him, after that he can walk |
| 22:14:19 | <BrokenClutch> | I'm seeing how dumb is my to learn stuff. Gonna insist on it, it's how i study math and other shit |
| 22:17:04 | <BrokenClutch> | I will probably use more of the haskell's source code (This had help me on the past) and this online doc (i liked it, thanks) |
| 22:17:04 | <systemfault> | This may be seen as a troll question but I'll ask anyway.... Do you believe that there are as many Haskell languages as there are combination of language extensions and that it makes the language a lot more hostile to newcomers? |
| 22:17:35 | <dsal> | Not *really* |
| 22:18:02 | <dsal> | Some extensions alter the language in meaningful ways. Some extensions just do things that you'd expect for consistency and when you write the code that needs them, you're told to fix it up. |
| 22:18:13 | <glguy> | systemfault: Most living langauges add new features. Haskell just tends to like to give those features names and have you explicitly turn them on |
| 22:18:58 | <BrokenClutch> | The most used ones aren't that bad. Most have good documentation too. |
| 22:19:53 | <BrokenClutch> | For me, don't forget that I'm not a good example for those stuff, the extensions aren't a problem because they are very well contained and documented |
| 22:20:24 | <geekosaur> | also most extensions do just that, they extend existing features |
| 22:20:37 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:20:52 | <dsal> | It'd be nice to have a rating of extensions with how surprising they are. |
| 22:22:39 | <dsal> | TupleSections over on the left in like "I'm surprised that's not part of the core language" and, I don't know, DeriveAnyClass or NoMonomorphismRestriction or something on the right where things behave differently. |
| 22:22:55 | → | pfurla joins (~pfurla@177.79.127.186) |
| 22:23:00 | → | nfd joins (~nfd@user/nfd) |
| 22:23:27 | <geekosaur> | yeh, DeriveAnyClass feels to me like "that's a weird solution to the problem" |
| 22:23:39 | <BrokenClutch> | where FuncDeps would be on this rating? |
| 22:23:43 | <geekosaur> | especially given the knock-ons that then lead to more extensions as patch-ups |
| 22:23:55 | <dsal> | FuncDeps are on the left. |
| 22:24:03 | <BrokenClutch> | dsal: good |
| 22:24:04 | <dsal> | I need this and I have to turn on a thing to make it work.. |
| 22:24:17 | <dsal> | DeriveAnyClass as a strategy is nice. |
| 22:24:27 | <dsal> | I kind of wish I could use it in DerivingStrategies without having it be automatic. |
| 22:25:28 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) (Remote host closed the connection) |
| 22:26:09 | <monochrom> | I think of GHC2021 as the beginning of a crude rating. An extension that makes it into GHC2021 is rated unsurprising. |
| 22:26:29 | <systemfault> | What is GHC2021? |
| 22:26:45 | <dsal> | a set of extensions you get with a single name |
| 22:26:53 | <geekosaur> | new in ghc 9.2.1 |
| 22:26:56 | <dsal> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html |
| 22:27:20 | → | pfurla_ joins (~pfurla@177.79.120.224) |
| 22:27:23 | <systemfault> | Well, that solves my problem. |
| 22:27:41 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:27:45 | <systemfault> | That gives a "scope" to the language... a set of expectations, a defined featureset |
| 22:28:03 | <geekosaur> | basically, since the standards process is more or less dead in the water, the ghc proposals process has taken over the helm and does its own "standardization" |
| 22:28:10 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Read error: Connection reset by peer) |
| 22:28:22 | × | pfurla quits (~pfurla@177.79.127.186) (Ping timeout: 260 seconds) |
| 22:29:18 | <EvanR> | systemfault, well we already had that with "no extensions" |
| 22:29:33 | <EvanR> | just that you often want 1... or 4 for some purpose |
| 22:29:40 | <EvanR> | in a file |
| 22:30:19 | <EvanR> | GHC2021 adds 40 something |
| 22:30:19 | <dsal> | There are a few extensions you pretty much want on any time you're writing any actual code. |
| 22:30:28 | <dsal> | There are lots of people who'd fight me over that as well as which ones. |
| 22:30:48 | <EvanR> | so far I haven't added any in AoC xD |
| 22:30:48 | <geekosaur> | sure. that's why the standardization process is dead in the water |
| 22:31:16 | <glguy> | ImportQualifiedPost is pretty important |
| 22:31:19 | <Rembane> | LambdaCase is the best! |
| 22:31:21 | <geekosaur> | and for that matter there was a lot of argument over GHC2021, but at least it's somewhat transparent |
| 22:31:22 | <systemfault> | Is there any other new Haskell compiler that is relevant beside GHC? (There was hugs at one point.. but it died I believe) |
| 22:31:49 | <geekosaur> | hugs is actually kept barely alive (compiling, at least) because some university courses still use it |
| 22:31:49 | <systemfault> | I mean, at this point, whatever is the default in GHC is more or less what is the "Haskell Standard", no? |
| 22:31:57 | <geekosaur> | but de facto ghc is it |
| 22:31:58 | <EvanR> | BlockArguments didn't make it in? :( |
| 22:32:08 | <dsal> | I'd never heard of ImportQualifiedPost. That's pretty weird. |
| 22:32:16 | <geekosaur> | and the more extensions it gets, the harder it is for any competing compiler to appear |
| 22:32:22 | <dsal> | How many import extensions are there? Those are just strange. |
| 22:32:27 | <glguy> | dsal: without it you get that ugly trough of whitespace in the imports. it's pretty important :) |
| 22:33:14 | <dsal> | You could just use ormolu and give up on aesthetics altogether. |
| 22:33:40 | <glguy> | if you don't care what the code looks like you don't have to use a tool at all |
| 22:34:05 | <dsal> | I don't fully understand BlockArguments. I occasionally write code that wants it, but I don't turn it on often because I've not bothered to read about it. |
| 22:36:01 | <geekosaur> | not much to understand, it just elevates blocks to full arguments that don't require parentheses or $ |
| 22:36:02 | × | abrantesasf quits (~abrantesa@187.36.170.211) (Read error: Connection reset by peer) |
| 22:36:03 | <monochrom> | I can't strictly think of, say, C as "one language" either. (Casually, sure.) Even if you stick to just the standards, there are already multiple standards, chronologically ordered. By the time you also take into account how GNU C, Microsoft C, Turbo C, Aztec C... all adds their own things, there is no one single "C". |
| 22:36:18 | <perrierjouet> | key bind meta-h /buffer #haskell |
| 22:36:30 | <perrierjouet> | key bind meta-k /buffer #kotlin |
| 22:36:43 | <monochrom> | The Haskell people simply recognize that a linear order is too restrictive. |
| 22:36:48 | <geekosaur> | mm, you missing some command keys perrierjouet? |
| 22:37:10 | <perrierjouet> | geekosaur: ? am configuring my weechat |
| 22:37:25 | <geekosaur> | you sent a couple of them to the channel instead of to weechat |
| 22:37:50 | <monochrom> | Cf my whine yesterday about web forums pretending that a discussion is linear, until Reddit re-taught us that it is at least tree-structured. |
| 22:38:21 | × | mei quits (~mei@user/mei) (Ping timeout: 252 seconds) |
| 22:38:29 | <hololeap> | dsal: I've been using ImportQualifiedPost for a while and now it feels weird not to have it |
| 22:38:45 | → | abrantesasf joins (~abrantesa@187.36.170.211) |
| 22:40:12 | <geekosaur> | whereas I've gotten so used to the standard syntax that the new one looks weird to me |
| 22:40:35 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 22:40:52 | × | pfurla_ quits (~pfurla@177.79.120.224) (Quit: gone to sleep. ZZZzzz…) |
| 22:41:06 | <geekosaur> | of course this kind of argumentation is why there's no new standard :) |
| 22:41:22 | <monochrom> | Oh nice, best revision ever! |
| 22:41:57 | <monochrom> | "import Data.Char qualified as C" is very close to English. |
| 22:42:18 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
| 22:42:26 | → | pavonia joins (~user@user/siracusa) |
| 22:43:10 | <hololeap> | there's even a GHC warning that yells at you if you write it the old way, but that just seems excessive |
| 22:44:10 | <geekosaur> | if yu're going to be different, at least be consistent about it? using both styles seems like it'd be jarring |
| 22:44:38 | <hololeap> | that's true, but this seems like it's stepping into linter territory |
| 22:44:51 | <monochrom> | Or very close to COBOL >:) |
| 22:44:55 | <BrokenClutch> | Thanks for the help everyone, gonna try to use the docs from emacs and, as base, use the official online docs |
| 22:45:13 | <awpr> | `import qualified Data.Maybe qualified as Maybe as M` -- using both |
| 22:45:27 | <BrokenClutch> | Another thing, is lambdabot compiling? |
| 22:45:33 | × | madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Quit: Reconnecting) |
| 22:45:41 | <monochrom> | GHC currently doesn't let you use both. |
| 22:45:45 | → | madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net) |
| 22:46:16 | <monochrom> | But you can always split that into 4 lines. |
| 22:46:34 | × | Techcable quits (~Techcable@168.235.93.147) (Ping timeout: 260 seconds) |
| 22:46:43 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:46:45 | <hololeap> | the bikeshedding compromise |
| 22:47:08 | <monochrom> | Oh, you can still bikeshed on which line goes first >:) |
| 22:47:35 | <earendel> | lol bikeshedding |
| 22:47:54 | <geekosaur> | lambdabot compiles, yes, but to bytecode. also > / @run only accepts expressions, not definitions |
| 22:48:22 | <geekosaur> | yahb is a full ghci; use % prefix, or %% to send output to a pastebin (useful for something like :info) |
| 22:48:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3170:52ba:4037:d1) |
| 22:48:26 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 22:48:31 | <BrokenClutch> | I was talking about its source (english is not my main language) |
| 22:48:37 | <geekosaur> | also yahb is ghc 9.0 whereas lambdabot is 8.7 |
| 22:48:54 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 260 seconds) |
| 22:49:00 | <geekosaur> | oh |
| 22:49:12 | <monochrom> | Bikeshedding is in human nature. It is why every climate summit takes forever and produces nothing. You can bet they spend days on disputing enumeration order. |
| 22:49:30 | <geekosaur> | lambdabot itself should build, at least on ghc 8.10.7, but one of its dependencies needs a patch |
| 22:50:01 | <earendel> | they should just use fibonacci sequence |
| 22:50:21 | <BrokenClutch> | geekosaur: thanks :) |
| 22:50:25 | <geekosaur> | (@djinn uses an external program, which currently doesn't build because <> was added to the Prelude. the patch is minor) |
| 22:50:28 | <earendel> | i am sorry. i couldn't hold me. |
| 22:50:41 | × | cosimone quits (~user@93-47-231-91.ip115.fastwebnet.it) (Ping timeout: 268 seconds) |
| 22:51:04 | <earendel> | or halt. |
| 22:51:14 | <earendel> | english is difficult. |
| 22:51:18 | <monochrom> | Hey did you know of this fibonacci joke? https://twitter.com/sigfpe/status/776420034419658752 |
| 22:51:53 | <earendel> | im banned from twitter :( |
| 22:52:06 | <monochrom> | OK, "This Fibonacci joke is as bad as the last two you heard combined." |
| 22:52:18 | <earendel> | eheh. |
| 22:52:27 | <earendel> | well. |
| 22:52:42 | ← | BrokenClutch parts (~pioneer@2804:d41:c2b2:be00:da32:623d:efa3:7121) () |
| 22:53:02 | × | namkeleser quits (~namkelese@101.179.128.103) (Quit: Client closed) |
| 22:53:41 | × | themc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 22:54:23 | × | chomwitt quits (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
| 22:55:09 | → | namkeleser joins (~namkelese@101.179.128.103) |
| 22:56:08 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 23:01:27 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 23:05:42 | × | jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 260 seconds) |
| 23:05:51 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:06:25 | → | d34df00d joins (~d34df00d@2600:1700:8c60:3a10::48) |
| 23:06:44 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
| 23:07:07 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 23:14:02 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 23:14:12 | × | Guest81 quits (~Guest81@2a01cb0589202e00edc070a9acc1d4bb.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 23:14:43 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 23:15:00 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 23:15:32 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 23:15:52 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 23:16:56 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Read error: Connection reset by peer) |
| 23:17:05 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 23:18:26 | × | zer0bitz quits (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 23:21:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 23:22:18 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:22:18 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 23:22:18 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:22:24 | nf | is now known as nfir |
| 23:23:42 | → | snake joins (~snake@user/snake) |
| 23:24:14 | <snake> | is there an installer for the haskell platform with batteries included on windows without chocolatey? |
| 23:24:22 | nfir | is now known as sapinf |
| 23:24:50 | <snake> | pretty sure microsuck is gonna make their own package manager perhaps in the next few years so i dont want to install chocolatey |
| 23:26:23 | <snake> | OH, that is what haskell stack is huh? |
| 23:26:54 | <snake> | that was not 100% obvious to me, idk why LOL |
| 23:26:56 | <snake> | thanks |
| 23:28:43 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 23:28:59 | <geekosaur> | the platform is dead. stack and cabal both provide similar functionality but there is no such thing as "batteries included" any more |
| 23:29:16 | <geekosaur> | things not only change too quickly but depend on different versions of other things |
| 23:29:38 | → | AlexNoo_ joins (~AlexNoo@178.34.163.33) |
| 23:29:45 | <hpc> | and if you just want to install haskell in an easy way on windows, use ghcup |
| 23:30:17 | sapinf | is now known as nfir |
| 23:30:57 | × | wanko quits (~wanko@51.15.4.226) (Quit: leaving) |
| 23:32:57 | × | Alex_test quits (~al_test@94.233.241.193) (Ping timeout: 265 seconds) |
| 23:33:03 | × | AlexNoo quits (~AlexNoo@94.233.241.193) (Ping timeout: 256 seconds) |
| 23:33:08 | × | AlexZenon quits (~alzenon@94.233.241.193) (Ping timeout: 256 seconds) |
| 23:36:40 | × | dudek quits (~dudek@185.150.236.103) (Quit: Leaving) |
| 23:37:23 | <snake> | thanks |
| 23:37:25 | <earendel> | snake: nuget? |
| 23:37:25 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 23:37:27 | → | Alex_test joins (~al_test@178.34.163.33) |
| 23:37:33 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 23:37:35 | → | AlexZenon joins (~alzenon@178.34.163.33) |
| 23:37:42 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
| 23:38:02 | <snake> | earendel, nah not that |
| 23:38:16 | <earendel> | i thought they mainly used nuget..but you can click together whatever you want with the vs |
| 23:38:26 | <earendel> | k k. |
| 23:38:27 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 250 seconds) |
| 23:41:15 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:41:55 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 250 seconds) |
| 23:43:03 | <snake> | hpc, i wonder if i can run the ghcup install from inside cygwin |
| 23:45:40 | <snake> | windows is a sad mess lol |
| 23:47:02 | × | Jing quits (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
| 23:47:24 | <Square> | Not sure i *really* understand the currying(?) here. Check out https://hackage.haskell.org/package/schemas-0.3.0.2/docs/src/Schemas.Class.html#encode. It calls "schema". id be fine if : encode val = encodeWith (schema val) val ... but here it seems extra magic is going on |
| 23:47:25 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 23:47:39 | → | Jing joins (~hedgehog@2604:a840:3::1001) |
| 23:48:05 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 23:48:51 | × | neurocyte0132889 quits (~neurocyte@user/neurocyte) (Ping timeout: 250 seconds) |
| 23:50:58 | <Square> | Ah, shema doesnt take arguments. That settles it |
| 23:51:27 | <d34df00d> | I have a newtype MyType = MyType Word32. Can I make ghc derive instance A.Array A.UArray MyType based on Word32, where A is the usual Data.Array set of modules? |
| 23:52:02 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 23:52:19 | <d34df00d> | Looks like I can't (UArray has type roles explicitly set to nominal), but (1) I just wanted to confirm I actually have to write all the methods myself, and (2) I'm just curious why the type itself does not have representional role? |
| 23:52:51 | <d34df00d> | s/derive instance A.Array A.UArray MyType/derive instance A.IArray A.UArray MyType/ |
| 23:54:15 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 23:54:38 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 23:56:04 | → | Guest75 joins (~Guest75@c-73-51-111-196.hsd1.il.comcast.net) |
| 23:57:01 | <d34df00d> | There's a comment in the Array sources that says "There are class-based invariants on both parameters. See also #9220.", but my google-fu is too weak to give meaningful results on "data array bug 9220 haskell" |
All times are in UTC on 2021-12-11.