Logs on 2024-07-12 (liberachat/#haskell)
| 00:01:00 | <probie> | LambdaCase and TupleSections are not really extensions I care about in this context. They don't leak out of libraries |
| 00:03:08 | <probie> | If use LambdaCase or TupleSections, no-one but those actually touching my code care. If I use multi-param type classes or rank-n types, perhaps I'm scaring someone off? |
| 00:03:59 | → | xff0x joins (~xff0x@2405:6580:b080:900:9f96:9dea:14c6:fcb5) |
| 00:04:17 | × | glguy quits (g@libera/staff/glguy) (*.net *.split) |
| 00:04:17 | × | mikess quits (~mikess@user/mikess) (*.net *.split) |
| 00:04:17 | × | sroso quits (~sroso@user/SrOso) (*.net *.split) |
| 00:04:17 | × | pavonia quits (~user@user/siracusa) (*.net *.split) |
| 00:04:17 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (*.net *.split) |
| 00:04:17 | × | swistak quits (~swistak@185.21.216.141) (*.net *.split) |
| 00:04:17 | × | segfaultfizzbuzz quits (~segfaultf@23-93-79-84.fiber.dynamic.sonic.net) (*.net *.split) |
| 00:04:17 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (*.net *.split) |
| 00:04:17 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (*.net *.split) |
| 00:04:17 | × | fun-safe-math quits (~fun-safe-@24.21.106.247) (*.net *.split) |
| 00:04:17 | × | Luj9 quits (~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5) (*.net *.split) |
| 00:04:17 | × | mud quits (~mud@user/kadoban) (*.net *.split) |
| 00:04:17 | × | _0xa quits (~user@user/0xa/x-3134607) (*.net *.split) |
| 00:04:17 | × | sus quits (1b7af6299f@user/zeromomentum) (*.net *.split) |
| 00:04:18 | × | jmcantrell quits (644f1bed9a@user/jmcantrell) (*.net *.split) |
| 00:04:18 | × | sm quits (~znc@plaintextaccounting/sm) (*.net *.split) |
| 00:04:18 | × | tinwood quits (~tinwood@canonical/tinwood) (*.net *.split) |
| 00:04:18 | × | xerox quits (~edi@user/edi) (*.net *.split) |
| 00:04:18 | × | tjbc quits (~tjbc@user/fliife) (*.net *.split) |
| 00:04:18 | × | flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (*.net *.split) |
| 00:04:18 | × | catties quits (~catties@user/meow/catties) (*.net *.split) |
| 00:04:18 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (*.net *.split) |
| 00:04:18 | × | dumptruckman quits (~dumptruck@69-164-210-35.ip.linodeusercontent.com) (*.net *.split) |
| 00:04:18 | × | ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (*.net *.split) |
| 00:04:18 | × | titibandit quits (e33ffbab65@user/titibandit) (*.net *.split) |
| 00:04:18 | × | jakzale quits (6291399afa@user/jakzale) (*.net *.split) |
| 00:04:18 | × | pmk_ quits (6afe4476a1@2a03:6000:1812:100::26d) (*.net *.split) |
| 00:04:18 | × | dagi78319 quits (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (*.net *.split) |
| 00:04:18 | × | mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (*.net *.split) |
| 00:04:18 | × | TMA quits (tma@twin.jikos.cz) (*.net *.split) |
| 00:04:18 | × | tomboy64 quits (~tomboy64@user/tomboy64) (*.net *.split) |
| 00:04:18 | × | She quits (haveident@libera/staff/she/her) (*.net *.split) |
| 00:04:19 | × | jrm quits (~jrm@user/jrm) (*.net *.split) |
| 00:04:19 | × | mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split) |
| 00:04:19 | × | Teacup quits (~teacup@user/teacup) (*.net *.split) |
| 00:04:19 | × | jackdk quits (sid373013@cssa/jackdk) (*.net *.split) |
| 00:04:19 | × | systemfault quits (sid267009@about/typescript/member/systemfault) (*.net *.split) |
| 00:04:19 | × | taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (*.net *.split) |
| 00:04:19 | × | chessai quits (sid225296@id-225296.lymington.irccloud.com) (*.net *.split) |
| 00:04:19 | × | caasih quits (sid13241@id-13241.ilkley.irccloud.com) (*.net *.split) |
| 00:04:19 | × | lexi-lambda quits (sid92601@id-92601.hampstead.irccloud.com) (*.net *.split) |
| 00:04:19 | × | mankyKitty quits (sid31287@id-31287.helmsley.irccloud.com) (*.net *.split) |
| 00:04:19 | × | haasn quits (sid579015@id-579015.hampstead.irccloud.com) (*.net *.split) |
| 00:04:19 | × | aspen quits (sid449115@id-449115.helmsley.irccloud.com) (*.net *.split) |
| 00:04:19 | × | piele quits (~piele@tbonesteak.creativeserver.net) (*.net *.split) |
| 00:04:19 | × | lbseale quits (~quassel@user/ep1ctetus) (*.net *.split) |
| 00:04:19 | × | rembo10 quits (~rembo10@main.remulis.com) (*.net *.split) |
| 00:04:19 | × | ell quits (~ellie@user/ellie) (*.net *.split) |
| 00:04:19 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (*.net *.split) |
| 00:04:19 | × | vulpine quits (xfnw@user/meow/xfnw) (*.net *.split) |
| 00:04:19 | × | Hafydd quits (~Hafydd@user/hafydd) (*.net *.split) |
| 00:04:19 | × | apache2 quits (apache2@anubis.0x90.dk) (*.net *.split) |
| 00:04:19 | × | carbolymer quits (~carbolyme@dropacid.net) (*.net *.split) |
| 00:04:19 | × | auri quits (~auri@fsf/member/auri) (*.net *.split) |
| 00:04:19 | × | Philonous quits (~Philonous@user/philonous) (*.net *.split) |
| 00:04:19 | × | dfordvm quits (~dfordivam@160.16.87.223.v6.sakura.ne.jp) (*.net *.split) |
| 00:04:19 | × | phma quits (~phma@host-67-44-208-89.hnremote.net) (*.net *.split) |
| 00:04:20 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (*.net *.split) |
| 00:04:20 | × | sam113101 quits (~sam@24.157.253.231) (*.net *.split) |
| 00:04:20 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (*.net *.split) |
| 00:04:20 | × | yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (*.net *.split) |
| 00:04:20 | × | bliminse quits (~bliminse@user/bliminse) (*.net *.split) |
| 00:04:20 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (*.net *.split) |
| 00:04:20 | × | mauke quits (~mauke@user/mauke) (*.net *.split) |
| 00:04:20 | × | Batzy quits (~quassel@user/batzy) (*.net *.split) |
| 00:04:20 | × | peutri quits (~peutri@bobo.desast.re) (*.net *.split) |
| 00:04:20 | × | myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (*.net *.split) |
| 00:04:20 | × | krei-se quits (~krei-se@p5085d24b.dip0.t-ipconnect.de) (*.net *.split) |
| 00:04:20 | × | migas97 quits (~migas@static.140.65.63.178.clients.your-server.de) (*.net *.split) |
| 00:04:20 | × | leah2 quits (~leah@vuxu.org) (*.net *.split) |
| 00:04:20 | × | mrmr155334346 quits (~mrmr@user/mrmr) (*.net *.split) |
| 00:04:20 | × | _xor quits (~xor@ip-208-102-243-175.dynamic.fuse.net) (*.net *.split) |
| 00:04:20 | × | lewisje quits (~lewisje@74.215.19.22) (*.net *.split) |
| 00:04:20 | × | xsarnik quits (xsarnik@lounge.fi.muni.cz) (*.net *.split) |
| 00:04:20 | × | raym quits (~ray@user/raym) (*.net *.split) |
| 00:04:21 | × | tolt quits (~weechat-h@li219-154.members.linode.com) (*.net *.split) |
| 00:04:21 | × | kimiamania quits (~65804703@user/kimiamania) (*.net *.split) |
| 00:04:21 | × | mzg quits (mzg@abusers.hu) (*.net *.split) |
| 00:04:21 | × | dunj3 quits (~dunj3@kingdread.de) (*.net *.split) |
| 00:04:21 | × | gabriel_sevecek quits (~gabriel@188-167-229-200.dynamic.chello.sk) (*.net *.split) |
| 00:04:21 | × | gawen quits (~gawen@user/gawen) (*.net *.split) |
| 00:04:21 | × | it_ quits (~quassel@v2202212189510211193.supersrv.de) (*.net *.split) |
| 00:04:21 | × | koz quits (~koz@121.99.240.58) (*.net *.split) |
| 00:04:21 | × | wagle quits (~wagle@quassel.wagle.io) (*.net *.split) |
| 00:04:21 | × | mjacob quits (~mjacob@adrastea.uberspace.de) (*.net *.split) |
| 00:04:21 | × | xelxebar quits (~xelxebar@wilsonb.com) (*.net *.split) |
| 00:04:21 | × | paotsaq quits (~paotsaq@127.209.37.188.rev.vodafone.pt) (*.net *.split) |
| 00:04:21 | × | stefan-_ quits (~cri@42dots.de) (*.net *.split) |
| 00:04:21 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split) |
| 00:04:21 | × | quintasan quits (~quassel@quintasan.pl) (*.net *.split) |
| 00:04:21 | × | tdammers_ quits (~tdammers@41-138-178-143.ftth.glasoperator.nl) (*.net *.split) |
| 00:04:21 | × | lockna_ quits (~lockna@static.139.16.130.94.clients.your-server.de) (*.net *.split) |
| 00:04:21 | × | joeyh_ quits (~joeyh@kitenet.net) (*.net *.split) |
| 00:04:21 | × | Dykam quits (Dykam@dykam.nl) (*.net *.split) |
| 00:04:21 | × | vgtw quits (~vgtw@user/vgtw) (*.net *.split) |
| 00:04:21 | × | spider quits (spider@tilde.cafe) (*.net *.split) |
| 00:04:21 | × | Axman6 quits (~Axman6@user/axman6) (*.net *.split) |
| 00:04:21 | × | Square2 quits (~Square4@user/square) (*.net *.split) |
| 00:04:21 | × | sp1ff` quits (~user@c-73-11-70-111.hsd1.wa.comcast.net) (*.net *.split) |
| 00:04:22 | × | oo_miguel quits (~Thunderbi@78.10.207.46) (*.net *.split) |
| 00:04:22 | × | cheater quits (~Username@user/cheater) (*.net *.split) |
| 00:04:22 | × | JamesMowery quits (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (*.net *.split) |
| 00:04:22 | × | smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (*.net *.split) |
| 00:04:22 | × | leeb quits (~leeb@tk2-243-31079.vs.sakura.ne.jp) (*.net *.split) |
| 00:04:22 | × | erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (*.net *.split) |
| 00:04:22 | × | duncan quits (c6181279e3@user/meow/duncan) (*.net *.split) |
| 00:04:22 | × | Xe quits (~cadey@perl/impostor/xe) (*.net *.split) |
| 00:04:22 | × | opqdonut quits (opqdonut@pseudo.fixme.fi) (*.net *.split) |
| 00:04:22 | × | kronicmage quits (~kronicmag@neotame.csclub.uwaterloo.ca) (*.net *.split) |
| 00:04:22 | × | landonf quits (landonf@mac68k.info) (*.net *.split) |
| 00:04:22 | × | hiredman quits (~hiredman@frontier1.downey.family) (*.net *.split) |
| 00:04:22 | × | turlando quits (~turlando@user/turlando) (*.net *.split) |
| 00:04:22 | × | xacktm quits (xacktm@user/xacktm) (*.net *.split) |
| 00:04:22 | × | hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (*.net *.split) |
| 00:04:22 | × | pierrot quits (~pi@user/pierrot) (*.net *.split) |
| 00:04:22 | × | tt123109783 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (*.net *.split) |
| 00:04:22 | × | tabemann__ quits (~tabemann@2600:1700:7990:24e0:bdf5:2044:ddb4:b631) (*.net *.split) |
| 00:04:22 | × | drdo quits (~drdo@bl5-29-74.dsl.telepac.pt) (*.net *.split) |
| 00:04:22 | × | petrichor quits (~znc-user@user/petrichor) (*.net *.split) |
| 00:04:23 | × | dy quits (sid3438@user/dy) (*.net *.split) |
| 00:04:23 | × | snek quits (sid280155@id-280155.lymington.irccloud.com) (*.net *.split) |
| 00:04:23 | × | rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (*.net *.split) |
| 00:04:23 | × | PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (*.net *.split) |
| 00:04:23 | × | Fangs quits (sid141280@id-141280.hampstead.irccloud.com) (*.net *.split) |
| 00:04:23 | × | aristid quits (sid1599@id-1599.uxbridge.irccloud.com) (*.net *.split) |
| 00:04:23 | × | SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (*.net *.split) |
| 00:04:23 | × | sa quits (sid1055@id-1055.tinside.irccloud.com) (*.net *.split) |
| 00:04:23 | × | tok quits (da65c7b04b@user/tok) (*.net *.split) |
| 00:04:23 | × | davean quits (~davean@davean.sciesnet.net) (*.net *.split) |
| 00:04:23 | × | dostoyevsky2 quits (~sck@user/dostoyevsky2) (*.net *.split) |
| 00:04:23 | × | earthy quits (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (*.net *.split) |
| 00:04:23 | × | Vq quits (~vq@81-231-76-8-no600.tbcn.telia.com) (*.net *.split) |
| 00:04:23 | × | df quits (~ben@justworks.xyz) (*.net *.split) |
| 00:04:23 | × | Aleksejs quits (~Aleksejs@107.170.21.106) (*.net *.split) |
| 00:04:23 | × | xnyhps quits (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split) |
| 00:04:23 | × | adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split) |
| 00:04:23 | × | koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (*.net *.split) |
| 00:04:23 | × | siers quits (~ij@user/ij) (*.net *.split) |
| 00:04:23 | × | wryish quits (~wryish@2605:4c40:119:efa3:0:727d:19eb:1) (*.net *.split) |
| 00:04:23 | × | motherfsck quits (~motherfsc@user/motherfsck) (*.net *.split) |
| 00:04:23 | × | hueso quits (~root@user/hueso) (*.net *.split) |
| 00:04:23 | × | juri_ quits (~juri@implicitcad.org) (*.net *.split) |
| 00:04:23 | × | ethantwardy quits (user@user/ethantwardy) (*.net *.split) |
| 00:04:23 | × | lockywolf quits (~lockywolf@public.lockywolf.net) (*.net *.split) |
| 00:04:23 | × | YuutaW quits (~YuutaW@mail.yuuta.moe) (*.net *.split) |
| 00:04:24 | × | arcadewise quits (52968ed80d@2a03:6000:1812:100::3df) (*.net *.split) |
| 00:04:24 | × | jleightcap quits (7bc4014b62@user/jleightcap) (*.net *.split) |
| 00:04:24 | × | whereiseveryone quits (206ba86c98@2a03:6000:1812:100::2e4) (*.net *.split) |
| 00:04:24 | × | zmt01 quits (~zmt00@user/zmt00) (*.net *.split) |
| 00:04:24 | × | filwisher quits (2e6936c793@2a03:6000:1812:100::170) (*.net *.split) |
| 00:04:24 | × | YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (*.net *.split) |
| 00:04:24 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (*.net *.split) |
| 00:04:24 | × | remmie quits (~ian@tilde.team) (*.net *.split) |
| 00:04:24 | × | m5zs7k quits (aquares@web10.mydevil.net) (*.net *.split) |
| 00:04:24 | × | tureba quits (~tureba@tureba.org) (*.net *.split) |
| 00:04:24 | × | mrvdb quits (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) (*.net *.split) |
| 00:04:24 | × | Ekho quits (~Ekho@user/ekho) (*.net *.split) |
| 00:04:24 | × | nullie quits (~nullie@2a01:4f8:c2c:6177::1) (*.net *.split) |
| 00:04:24 | × | pie_ quits (~pie_bnc@user/pie/x-2818909) (*.net *.split) |
| 00:04:24 | × | EvanR quits (~EvanR@user/evanr) (*.net *.split) |
| 00:04:24 | × | nitrix quits (~nitrix@user/meow/nitrix) (*.net *.split) |
| 00:04:24 | × | benjaminl quits (~benjaminl@user/benjaminl) (*.net *.split) |
| 00:04:24 | × | incertia quits (~incertia@209.122.137.252) (*.net *.split) |
| 00:04:24 | × | remexre quits (~remexre@user/remexre) (*.net *.split) |
| 00:04:24 | × | tv quits (~tv@user/tv) (*.net *.split) |
| 00:04:24 | × | cptaffe quits (~cptaffe@user/cptaffe) (*.net *.split) |
| 00:04:24 | × | bionade24 quits (~quassel@2a03:4000:33:45b::1) (*.net *.split) |
| 00:04:24 | × | eL_Bart0 quits (eL_Bart0@dietunichtguten.org) (*.net *.split) |
| 00:04:24 | × | hamishmack quits (sid389057@id-389057.hampstead.irccloud.com) (*.net *.split) |
| 00:04:24 | × | geekosaur quits (sid609282@xmonad/geekosaur) (*.net *.split) |
| 00:04:25 | × | xal quits (~xal@mx1.xal.systems) (*.net *.split) |
| 00:04:25 | × | c_wraith quits (~c_wraith@adjoint.us) (*.net *.split) |
| 00:04:25 | × | mmaruseacph2 quits (~mihai@mihai.page) (*.net *.split) |
| 00:04:25 | × | Angelz quits (Angelz@user/angelz) (*.net *.split) |
| 00:04:25 | × | doyougnu quits (~doyougnu@syn-045-046-170-068.res.spectrum.com) (*.net *.split) |
| 00:04:25 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split) |
| 00:04:25 | × | deriamis_ quits (deriamis@ec2-54-187-167-69.us-west-2.compute.amazonaws.com) (*.net *.split) |
| 00:04:25 | × | emergence quits (emergence@2607:5300:60:5910:dcad:beff:feef:5bc) (*.net *.split) |
| 00:04:25 | × | enikar quits (~enikar@user/enikar) (*.net *.split) |
| 00:04:25 | × | bryanv quits (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (*.net *.split) |
| 00:04:25 | × | meejah quits (~meejah@104.236.166.239) (*.net *.split) |
| 00:04:25 | × | ario quits (~ario@159.65.220.102) (*.net *.split) |
| 00:04:25 | × | sweater quits (~sweater@206.81.18.26) (*.net *.split) |
| 00:04:25 | × | aws quits (~alews@user/aws) (*.net *.split) |
| 00:04:46 | <haskellbridge> | <geekosaur> rank-n types, possibly yes. MPTC/fundeps are pretty much unavoidable and have been for at least 20 years |
| 00:06:11 | → | Pixi joins (~Pixi@user/pixi) |
| 00:06:25 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 00:06:37 | → | sam113101 joins (~sam@24.157.253.231) |
| 00:07:05 | → | Square2 joins (~Square4@user/square) |
| 00:07:05 | → | mikess joins (~mikess@user/mikess) |
| 00:07:05 | → | sroso joins (~sroso@user/SrOso) |
| 00:07:05 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 00:07:05 | → | hueso joins (~root@user/hueso) |
| 00:07:05 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:07:05 | → | swistak joins (~swistak@185.21.216.141) |
| 00:07:05 | → | sp1ff` joins (~user@c-73-11-70-111.hsd1.wa.comcast.net) |
| 00:07:05 | → | oo_miguel joins (~Thunderbi@78.10.207.46) |
| 00:07:05 | → | juri_ joins (~juri@implicitcad.org) |
| 00:07:05 | → | segfaultfizzbuzz joins (~segfaultf@23-93-79-84.fiber.dynamic.sonic.net) |
| 00:07:05 | → | cheater joins (~Username@user/cheater) |
| 00:07:05 | → | ethantwardy joins (user@user/ethantwardy) |
| 00:07:05 | → | lockywolf joins (~lockywolf@public.lockywolf.net) |
| 00:07:05 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 00:07:05 | → | JamesMowery joins (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) |
| 00:07:05 | → | smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com) |
| 00:07:05 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 00:07:05 | → | leeb joins (~leeb@tk2-243-31079.vs.sakura.ne.jp) |
| 00:07:05 | → | fun-safe-math joins (~fun-safe-@24.21.106.247) |
| 00:07:05 | → | Luj9 joins (~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5) |
| 00:07:05 | → | mud joins (~mud@user/kadoban) |
| 00:07:05 | → | YuutaW joins (~YuutaW@mail.yuuta.moe) |
| 00:07:05 | → | erisco joins (~erisco@d24-141-66-165.home.cgocable.net) |
| 00:07:05 | → | duncan joins (c6181279e3@user/meow/duncan) |
| 00:07:05 | → | _0xa joins (~user@user/0xa/x-3134607) |
| 00:07:05 | → | arcadewise joins (52968ed80d@2a03:6000:1812:100::3df) |
| 00:07:05 | → | jleightcap joins (7bc4014b62@user/jleightcap) |
| 00:07:05 | → | sus joins (1b7af6299f@user/zeromomentum) |
| 00:07:05 | → | jmcantrell joins (644f1bed9a@user/jmcantrell) |
| 00:07:05 | → | whereiseveryone joins (206ba86c98@2a03:6000:1812:100::2e4) |
| 00:07:05 | → | Xe joins (~cadey@perl/impostor/xe) |
| 00:07:05 | → | zmt01 joins (~zmt00@user/zmt00) |
| 00:07:05 | → | filwisher joins (2e6936c793@2a03:6000:1812:100::170) |
| 00:07:05 | → | opqdonut joins (opqdonut@pseudo.fixme.fi) |
| 00:07:05 | → | YoungFrog joins (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
| 00:07:05 | → | kronicmage joins (~kronicmag@neotame.csclub.uwaterloo.ca) |
| 00:07:05 | → | landonf joins (landonf@mac68k.info) |
| 00:07:05 | → | hiredman joins (~hiredman@frontier1.downey.family) |
| 00:07:05 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 00:07:05 | → | remmie joins (~ian@tilde.team) |
| 00:07:05 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 00:07:05 | → | sm joins (~znc@plaintextaccounting/sm) |
| 00:07:05 | → | turlando joins (~turlando@user/turlando) |
| 00:07:05 | → | tinwood joins (~tinwood@canonical/tinwood) |
| 00:07:05 | → | tureba joins (~tureba@tureba.org) |
| 00:07:05 | → | mrvdb joins (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) |
| 00:07:05 | → | xacktm joins (xacktm@user/xacktm) |
| 00:07:05 | → | hughjfchen joins (~hughjfche@vmi556545.contaboserver.net) |
| 00:07:05 | → | pierrot joins (~pi@user/pierrot) |
| 00:07:05 | → | tt123109783 joins (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) |
| 00:07:05 | → | Ekho joins (~Ekho@user/ekho) |
| 00:07:05 | → | nullie joins (~nullie@2a01:4f8:c2c:6177::1) |
| 00:07:05 | → | xerox joins (~edi@user/edi) |
| 00:07:05 | → | tjbc joins (~tjbc@user/fliife) |
| 00:07:05 | → | flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
| 00:07:05 | → | catties joins (~catties@user/meow/catties) |
| 00:07:05 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 00:07:05 | → | dumptruckman joins (~dumptruck@69-164-210-35.ip.linodeusercontent.com) |
| 00:07:05 | → | ursa-major joins (114efe6c39@2a03:6000:1812:100::11f3) |
| 00:07:05 | → | jakzale joins (6291399afa@user/jakzale) |
| 00:07:05 | → | titibandit joins (e33ffbab65@user/titibandit) |
| 00:07:05 | → | pmk_ joins (6afe4476a1@2a03:6000:1812:100::26d) |
| 00:07:05 | → | dagi78319 joins (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) |
| 00:07:05 | → | mhatta joins (~mhatta@www21123ui.sakura.ne.jp) |
| 00:07:05 | → | TMA joins (tma@twin.jikos.cz) |
| 00:07:05 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 00:07:05 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 00:07:05 | → | EvanR joins (~EvanR@user/evanr) |
| 00:07:05 | → | nitrix joins (~nitrix@user/meow/nitrix) |
| 00:07:05 | → | benjaminl joins (~benjaminl@user/benjaminl) |
| 00:07:05 | → | tabemann__ joins (~tabemann@2600:1700:7990:24e0:bdf5:2044:ddb4:b631) |
| 00:07:05 | → | incertia joins (~incertia@209.122.137.252) |
| 00:07:05 | → | remexre joins (~remexre@user/remexre) |
| 00:07:05 | → | glguy joins (g@libera/staff/glguy) |
| 00:07:05 | → | tv joins (~tv@user/tv) |
| 00:07:05 | → | drdo joins (~drdo@bl5-29-74.dsl.telepac.pt) |
| 00:07:05 | → | She joins (haveident@libera/staff/she/her) |
| 00:07:05 | → | petrichor joins (~znc-user@user/petrichor) |
| 00:07:05 | → | cptaffe joins (~cptaffe@user/cptaffe) |
| 00:07:05 | → | jrm joins (~jrm@user/jrm) |
| 00:07:05 | → | bionade24 joins (~quassel@2a03:4000:33:45b::1) |
| 00:07:05 | → | mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es) |
| 00:07:05 | → | Teacup joins (~teacup@user/teacup) |
| 00:07:05 | → | eL_Bart0 joins (eL_Bart0@dietunichtguten.org) |
| 00:07:05 | → | geekosaur joins (sid609282@xmonad/geekosaur) |
| 00:07:05 | → | hamishmack joins (sid389057@id-389057.hampstead.irccloud.com) |
| 00:07:05 | → | jackdk joins (sid373013@cssa/jackdk) |
| 00:07:05 | → | systemfault joins (sid267009@about/typescript/member/systemfault) |
| 00:07:05 | → | taktoa[c] joins (sid282096@id-282096.tinside.irccloud.com) |
| 00:07:05 | → | chessai joins (sid225296@id-225296.lymington.irccloud.com) |
| 00:07:05 | → | SrPx joins (sid108780@id-108780.uxbridge.irccloud.com) |
| 00:07:05 | → | caasih joins (sid13241@id-13241.ilkley.irccloud.com) |
| 00:07:05 | → | lexi-lambda joins (sid92601@id-92601.hampstead.irccloud.com) |
| 00:07:05 | → | PotatoGim joins (sid99505@id-99505.lymington.irccloud.com) |
| 00:07:05 | → | dy joins (sid3438@user/dy) |
| 00:07:05 | → | snek joins (sid280155@id-280155.lymington.irccloud.com) |
| 00:07:05 | → | mankyKitty joins (sid31287@id-31287.helmsley.irccloud.com) |
| 00:07:05 | → | rubin55 joins (sid175221@id-175221.hampstead.irccloud.com) |
| 00:07:05 | → | sa joins (sid1055@id-1055.tinside.irccloud.com) |
| 00:07:05 | → | Fangs joins (sid141280@id-141280.hampstead.irccloud.com) |
| 00:07:05 | → | aristid joins (sid1599@id-1599.uxbridge.irccloud.com) |
| 00:07:05 | → | haasn joins (sid579015@id-579015.hampstead.irccloud.com) |
| 00:07:05 | → | aspen joins (sid449115@id-449115.helmsley.irccloud.com) |
| 00:07:05 | → | xal joins (~xal@mx1.xal.systems) |
| 00:07:05 | → | piele joins (~piele@tbonesteak.creativeserver.net) |
| 00:07:05 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 00:07:05 | → | tok joins (da65c7b04b@user/tok) |
| 00:07:05 | → | davean joins (~davean@davean.sciesnet.net) |
| 00:07:05 | → | c_wraith joins (~c_wraith@adjoint.us) |
| 00:07:05 | → | mmaruseacph2 joins (~mihai@mihai.page) |
| 00:07:05 | → | Angelz joins (Angelz@user/angelz) |
| 00:07:05 | → | doyougnu joins (~doyougnu@syn-045-046-170-068.res.spectrum.com) |
| 00:07:05 | → | Axman6 joins (~Axman6@user/axman6) |
| 00:07:05 | → | dostoyevsky2 joins (~sck@user/dostoyevsky2) |
| 00:07:05 | → | rembo10 joins (~rembo10@main.remulis.com) |
| 00:07:05 | → | ell joins (~ellie@user/ellie) |
| 00:07:05 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 00:07:05 | → | vulpine joins (xfnw@user/meow/xfnw) |
| 00:07:05 | → | earthy joins (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) |
| 00:07:05 | → | Hafydd joins (~Hafydd@user/hafydd) |
| 00:07:05 | → | apache2 joins (apache2@anubis.0x90.dk) |
| 00:07:05 | → | carbolymer joins (~carbolyme@dropacid.net) |
| 00:07:05 | → | Vq joins (~vq@81-231-76-8-no600.tbcn.telia.com) |
| 00:07:05 | → | auri joins (~auri@fsf/member/auri) |
| 00:07:05 | → | Philonous joins (~Philonous@user/philonous) |
| 00:07:05 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 00:07:05 | → | dfordvm joins (~dfordivam@160.16.87.223.v6.sakura.ne.jp) |
| 00:07:05 | → | df joins (~ben@justworks.xyz) |
| 00:07:05 | → | Aleksejs joins (~Aleksejs@107.170.21.106) |
| 00:07:05 | → | deriamis_ joins (deriamis@ec2-54-187-167-69.us-west-2.compute.amazonaws.com) |
| 00:07:05 | → | xnyhps joins (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) |
| 00:07:05 | → | emergence joins (emergence@2607:5300:60:5910:dcad:beff:feef:5bc) |
| 00:07:05 | → | wryish joins (~wryish@2605:4c40:119:efa3:0:727d:19eb:1) |
| 00:07:05 | → | siers joins (~ij@user/ij) |
| 00:07:05 | → | koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com) |
| 00:07:05 | → | adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
| 00:07:05 | → | enikar joins (~enikar@user/enikar) |
| 00:07:05 | → | bryanv joins (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) |
| 00:07:05 | → | aws joins (~alews@user/aws) |
| 00:07:05 | → | sweater joins (~sweater@206.81.18.26) |
| 00:07:05 | → | ario joins (~ario@159.65.220.102) |
| 00:07:05 | → | meejah joins (~meejah@104.236.166.239) |
| 00:07:07 | × | haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
| 00:07:48 | → | pavonia joins (~user@user/siracusa) |
| 00:07:50 | → | haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com) |
| 00:07:50 | ChanServ | sets mode +v haskellbridge |
| 00:07:55 | × | Ekho quits (~Ekho@user/ekho) (Max SendQ exceeded) |
| 00:07:55 | × | m5zs7k quits (aquares@web10.mydevil.net) (Max SendQ exceeded) |
| 00:08:13 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 00:09:03 | → | phma joins (~phma@host-67-44-208-89.hnremote.net) |
| 00:09:49 | → | 029ABLN24 joins (~phma@host-67-44-208-89.hnremote.net) |
| 00:09:49 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 00:09:49 | → | yahb2 joins (~yahb2@user/tomsmeding/bot/yahb2) |
| 00:09:49 | → | bliminse joins (~bliminse@user/bliminse) |
| 00:09:49 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 00:09:49 | → | mauke joins (~mauke@user/mauke) |
| 00:09:49 | → | Batzy joins (~quassel@user/batzy) |
| 00:09:49 | → | peutri joins (~peutri@bobo.desast.re) |
| 00:09:49 | → | myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com) |
| 00:09:49 | → | krei-se joins (~krei-se@p5085d24b.dip0.t-ipconnect.de) |
| 00:09:49 | → | migas97 joins (~migas@static.140.65.63.178.clients.your-server.de) |
| 00:09:49 | → | leah2 joins (~leah@vuxu.org) |
| 00:09:49 | → | mrmr155334346 joins (~mrmr@user/mrmr) |
| 00:09:49 | → | _xor joins (~xor@ip-208-102-243-175.dynamic.fuse.net) |
| 00:09:49 | → | lewisje joins (~lewisje@74.215.19.22) |
| 00:09:49 | → | xsarnik joins (xsarnik@lounge.fi.muni.cz) |
| 00:09:49 | → | raym joins (~ray@user/raym) |
| 00:09:49 | → | tolt joins (~weechat-h@li219-154.members.linode.com) |
| 00:09:49 | → | kimiamania joins (~65804703@user/kimiamania) |
| 00:09:49 | → | mzg joins (mzg@abusers.hu) |
| 00:09:49 | → | dunj3 joins (~dunj3@kingdread.de) |
| 00:09:49 | → | gabriel_sevecek joins (~gabriel@188-167-229-200.dynamic.chello.sk) |
| 00:09:49 | → | gawen joins (~gawen@user/gawen) |
| 00:09:49 | → | it_ joins (~quassel@v2202212189510211193.supersrv.de) |
| 00:09:49 | → | koz joins (~koz@121.99.240.58) |
| 00:09:49 | → | wagle joins (~wagle@quassel.wagle.io) |
| 00:09:49 | → | mjacob joins (~mjacob@adrastea.uberspace.de) |
| 00:09:49 | → | xelxebar joins (~xelxebar@wilsonb.com) |
| 00:09:49 | → | paotsaq joins (~paotsaq@127.209.37.188.rev.vodafone.pt) |
| 00:09:49 | → | stefan-_ joins (~cri@42dots.de) |
| 00:09:49 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 00:09:49 | → | quintasan joins (~quassel@quintasan.pl) |
| 00:09:49 | → | tdammers_ joins (~tdammers@41-138-178-143.ftth.glasoperator.nl) |
| 00:09:49 | → | lockna_ joins (~lockna@static.139.16.130.94.clients.your-server.de) |
| 00:09:49 | → | joeyh_ joins (~joeyh@kitenet.net) |
| 00:09:49 | → | Dykam joins (Dykam@dykam.nl) |
| 00:09:49 | → | vgtw joins (~vgtw@user/vgtw) |
| 00:09:49 | → | spider joins (spider@tilde.cafe) |
| 00:09:49 | iridium.libera.chat | sets mode +v yahb2 |
| 00:09:52 | → | eviltwin_b joins (~eviltwin_@xmonad/geekosaur) |
| 00:10:32 | × | eviltwin_b quits (~eviltwin_@xmonad/geekosaur) (Client Quit) |
| 00:11:11 | × | sa quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 262 seconds) |
| 00:11:15 | <geekosaur> | (dunn if this survived the netsplit) rank-n types, possibly yes. MPTC/fundeps are pretty much unavoidable and have been for at least 20 years |
| 00:12:50 | → | sa joins (sid1055@id-1055.tinside.irccloud.com) |
| 00:15:35 | × | 029ABLN24 quits (~phma@host-67-44-208-89.hnremote.net) (Ping timeout: 250 seconds) |
| 00:18:59 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:20:45 | → | Ekho joins (~Ekho@user/ekho) |
| 00:23:21 | → | zhuberty joins (~zhuberty@user/zhuberty) |
| 00:27:01 | × | foul_owl quits (~kerry@185.219.141.162) (Ping timeout: 256 seconds) |
| 00:41:16 | → | foul_owl joins (~kerry@174-21-147-232.tukw.qwest.net) |
| 00:44:27 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 00:45:26 | <davean> | I like lambdacase but its DEFINATELY an extension, not fixing a problem. |
| 00:48:17 | → | poscat0x04 joins (~poscat@user/poscat) |
| 00:48:22 | × | poscat quits (~poscat@user/poscat) (Ping timeout: 268 seconds) |
| 00:55:58 | → | ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com) |
| 01:00:30 | × | xff0x quits (~xff0x@2405:6580:b080:900:9f96:9dea:14c6:fcb5) (Ping timeout: 256 seconds) |
| 01:06:46 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 01:07:07 | → | xff0x joins (~xff0x@2405:6580:b080:900:cb48:b50f:16dd:ff64) |
| 01:15:49 | × | Pozyomka quits (~pyon@user/pyon) (Quit: brb) |
| 01:23:57 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 01:32:28 | → | jpyamamoto joins (~jpyamamot@user/jpyamamoto) |
| 01:43:58 | × | Inst quits (~Inst@user/Inst) (Remote host closed the connection) |
| 01:44:23 | → | Inst joins (~Inst@user/Inst) |
| 01:50:06 | → | aforemny joins (~aforemny@2001:9e8:6ce2:b100:2ae8:9df1:3efc:f7d5) |
| 01:51:37 | × | aforemny_ quits (~aforemny@i59F516D8.versanet.de) (Ping timeout: 272 seconds) |
| 01:55:16 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 02:10:55 | <monochrom> | I don't have my idea of "modern haskell", but I have my idea of "not-annoying haskell", and it includes LambdaCase, BlockArguments, ScopedTypeVariables. :) |
| 02:11:25 | <bsima> | +1 |
| 02:14:05 | × | xff0x quits (~xff0x@2405:6580:b080:900:cb48:b50f:16dd:ff64) (Ping timeout: 240 seconds) |
| 02:16:08 | → | Pozyomka joins (~pyon@user/pyon) |
| 02:22:36 | × | jpyamamoto quits (~jpyamamot@user/jpyamamoto) (Remote host closed the connection) |
| 02:29:53 | × | td_ quits (~td@i5387092C.versanet.de) (Ping timeout: 252 seconds) |
| 02:31:28 | → | td_ joins (~td@i53870910.versanet.de) |
| 02:31:58 | <yin> | fyi TupleSections and ScopedTypeVariables are part of GHC2021+ and LambdaCase is part of GHC2024 |
| 02:32:13 | <yin> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/control.html#extension-GHC2024 |
| 02:48:59 | → | troydm joins (~troydm@user/troydm) |
| 02:54:59 | <davean> | ScopedTypeVariables is part of non-broken Haskell. |
| 02:55:22 | <davean> | I'd argue TupleSections is too, because it removes the one special case. That said, I'm less sure of that one. |
| 03:01:04 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 03:19:56 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds) |
| 03:21:39 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 03:26:51 | → | aforemny_ joins (~aforemny@2001:9e8:6ceb:9800:f0b2:9010:cc:b689) |
| 03:28:07 | × | aforemny quits (~aforemny@2001:9e8:6ce2:b100:2ae8:9df1:3efc:f7d5) (Ping timeout: 260 seconds) |
| 03:33:20 | × | dfg quits (~dfg@user/dfg) (Server closed connection) |
| 03:33:35 | → | dfg joins (~dfg@user/dfg) |
| 03:33:55 | <mauke> | :t (, "f", ,) |
| 03:33:56 | <lambdabot> | t1 -> t2 -> t3 -> (t1, [Char], t2, t3) |
| 03:36:58 | yin | gasps |
| 03:38:09 | × | segfaultfizzbuzz quits (~segfaultf@23-93-79-84.fiber.dynamic.sonic.net) (Remote host closed the connection) |
| 03:40:43 | × | troydm quits (~troydm@user/troydm) (Ping timeout: 268 seconds) |
| 03:41:41 | <jle`> | i have been rethinking tuple sections a bit lately. a lot of modern languages allow trailing commas in these sort of things, but tuplesections make this impossible |
| 03:42:05 | <jle`> | after programming in different languages for a while it seems like trailing commas is sort of a modern given |
| 03:42:39 | <mauke> | :t [, "f", ,] |
| 03:42:40 | <lambdabot> | error: parse error on input ‘,’ |
| 03:44:04 | <dibblego> | @type \p -> over p . cons |
| 03:44:05 | <lambdabot> | Cons b b a a => ASetter s t b b -> a -> s -> t |
| 03:44:51 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:49:35 | <dolio> | It sounds very modern to cache in a nice feature to instead have a mediocre solution to non-problems created by bad tools. :þ |
| 03:49:45 | <dolio> | Cash in, I guess. |
| 03:50:56 | × | ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:53:19 | × | poscat0x04 quits (~poscat@user/poscat) (Ping timeout: 260 seconds) |
| 03:55:39 | → | poscat joins (~poscat@user/poscat) |
| 03:57:25 | <monochrom> | I am more extreme. I want both leading commas and trailing commas! [, 1, 2, 3,]. But I get your point, my desire is only driven by bad tools. |
| 03:58:45 | <yin> | i want no commas |
| 03:58:49 | <yin> | lisp <3 |
| 03:59:33 | <monochrom> | :( |
| 03:59:35 | <monochrom> | :D |
| 04:06:41 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 04:07:30 | <haskellbridge> | <maerwald> Get out |
| 04:08:59 | × | Fijxu quits (~Fijxu@user/fijxu) (Server closed connection) |
| 04:09:38 | → | Fijxu joins (~Fijxu@user/fijxu) |
| 04:10:11 | <probie> | monochrom: Clojure has leading and trailing commas and commas wherever else you want them because they're just treated as whitespace characters. It's also the same for GraphQL (albeit it's not a programming language) |
| 04:13:11 | <haskellbridge> | <maerwald> Clojure is trash |
| 04:14:36 | → | rosco joins (~rosco@175.136.155.137) |
| 04:17:58 | <probie> | I'm not exactly going to go out of my way to write Clojure, but it's certainly not at the bottom of my hierarchy of tolerable languages. All other things being equal, I'd take it over JavaScript (although probably not TypeScript) |
| 04:27:34 | × | YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
| 04:27:55 | → | YoungFrog joins (~youngfrog@2a02:a03f:c9db:fc00:e986:8b08:7baa:1e2a) |
| 04:30:52 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out) |
| 04:31:46 | × | yin quits (~yin@user/zero) (Ping timeout: 246 seconds) |
| 04:33:38 | → | meritamen joins (~user@user/meritamen) |
| 04:34:20 | × | meritamen quits (~user@user/meritamen) (Remote host closed the connection) |
| 04:52:34 | × | rosco quits (~rosco@175.136.155.137) (Quit: Lost terminal) |
| 04:55:02 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 04:55:57 | × | foul_owl quits (~kerry@174-21-147-232.tukw.qwest.net) (Ping timeout: 268 seconds) |
| 04:58:57 | × | euleritian quits (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
| 04:59:09 | → | euleritian joins (~euleritia@77.22.252.56) |
| 05:08:09 | × | euleritian quits (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
| 05:08:29 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 05:09:09 | → | foul_owl joins (~kerry@185.216.231.179) |
| 05:09:09 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 05:10:01 | → | euleritian joins (~euleritia@77.22.252.56) |
| 05:18:44 | × | img quits (~img@user/img) (Server closed connection) |
| 05:19:02 | → | img joins (~img@user/img) |
| 05:25:44 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb32118c9e6089f03830.dip0.t-ipconnect.de) |
| 05:26:16 | <jackdk> | Nixlang has space-separated lists and space-separated function application, which is a perennial source of entertainment^Wbugs. Lisp can get away with no commas because it has parens for function application. I wish more languages used sexps as syntax, they're delightful to edit and lay out |
| 05:26:29 | × | Hobbyboy quits (Hobbyboy@hobbyboy.co.uk) (Server closed connection) |
| 05:28:15 | → | Hobbyboy joins (Hobbyboy@hobbyboy.co.uk) |
| 05:30:24 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:32:13 | → | danse-nr3 joins (~danse-nr3@151.57.171.215) |
| 05:41:41 | × | danse-nr3 quits (~danse-nr3@151.57.171.215) (Remote host closed the connection) |
| 05:42:03 | → | danse-nr3 joins (~danse-nr3@151.57.171.215) |
| 05:46:56 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 05:52:47 | × | Square2 quits (~Square4@user/square) (Ping timeout: 260 seconds) |
| 05:59:23 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 06:03:41 | × | nek0 quits (~nek0@user/nek0) (Server closed connection) |
| 06:03:57 | → | nek0 joins (~nek0@2a01:4f8:222:2b41::12) |
| 06:03:57 | × | nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Changing host) |
| 06:03:57 | → | nek0 joins (~nek0@user/nek0) |
| 06:05:17 | → | Square joins (~Square@user/square) |
| 06:08:16 | <haskellbridge> | <sm> https://discourse.haskell.org/t/information-about-my-programming-language-project-lemma/9937 is interesting. Commas or newlines are equivalent |
| 06:19:58 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds) |
| 06:21:58 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 06:27:21 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 06:29:11 | → | czy joins (~user@fortigate.wolfson.cam.ac.uk) |
| 06:35:29 | × | ft quits (~ft@p4fc2ab80.dip0.t-ipconnect.de) (Quit: leaving) |
| 06:38:05 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:39:01 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:39:33 | → | echoreply joins (~echoreply@45.32.163.16) |
| 06:40:30 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
| 06:40:53 | × | noctuks quits (IEHAXjvqp6@user/noctux) (Server closed connection) |
| 06:41:11 | → | noctuks joins (jNrZ4rwLcI@user/noctux) |
| 06:42:57 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 06:58:11 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 07:07:39 | × | euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 256 seconds) |
| 07:07:55 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 07:08:25 | → | rvalue joins (~rvalue@user/rvalue) |
| 07:12:00 | → | euleritian joins (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) |
| 07:12:48 | × | euleritian quits (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 07:16:43 | → | euleritian joins (~euleritia@77.22.252.56) |
| 07:17:28 | → | barodo joins (~barodo@149.50.189.151) |
| 07:18:25 | × | barodo quits (~barodo@149.50.189.151) (Client Quit) |
| 07:26:46 | → | kenran joins (~user@user/kenran) |
| 07:40:34 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 07:47:32 | → | dhil joins (~dhil@2001:8e0:2014:3100:a85b:6416:b5a0:a3a6) |
| 07:49:26 | × | euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 252 seconds) |
| 07:49:53 | → | euleritian joins (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) |
| 07:52:16 | → | mreh joins (~matthew@host86-160-168-12.range86-160.btcentralplus.com) |
| 07:53:44 | × | dminuoso quits (~weechat@user/dminuoso) (Server closed connection) |
| 07:54:10 | → | weechat2 joins (~weechat@user/dminuoso) |
| 07:55:02 | → | simendsjo joins (~user@31-209-41-23.cust.bredband2.com) |
| 07:58:23 | × | Typedfern quits (~Typedfern@182.red-83-37-43.dynamicip.rima-tde.net) (Server closed connection) |
| 07:58:46 | → | Typedfern joins (~Typedfern@182.red-83-37-43.dynamicip.rima-tde.net) |
| 08:00:52 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:00:52 | → | kenran joins (~user@user/kenran) |
| 08:05:35 | × | Franciman quits (~Franciman@mx1.fracta.dev) (Ping timeout: 256 seconds) |
| 08:07:34 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:07:43 | × | poscat quits (~poscat@user/poscat) (Ping timeout: 256 seconds) |
| 08:09:50 | × | euleritian quits (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:10:07 | → | poscat joins (~poscat@user/poscat) |
| 08:10:09 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 08:17:58 | × | czy quits (~user@fortigate.wolfson.cam.ac.uk) (Remote host closed the connection) |
| 08:19:37 | × | Square quits (~Square@user/square) (Ping timeout: 256 seconds) |
| 08:24:29 | → | michalz joins (~michalz@185.246.207.218) |
| 08:25:51 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 08:26:09 | × | danse-nr3 quits (~danse-nr3@151.57.171.215) (Quit: Leaving) |
| 08:26:46 | → | euleritian joins (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) |
| 08:27:41 | × | euleritian quits (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:27:59 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 08:33:06 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 08:33:54 | → | acidjnk_new3 joins (~acidjnk@p200300d6e72cfb326c97883dc2703faf.dip0.t-ipconnect.de) |
| 08:36:35 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 08:36:57 | × | infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 272 seconds) |
| 08:37:41 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb32118c9e6089f03830.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 08:39:13 | × | TactfulCitrus quits (~al@2a02:8012:87a6:0:bee8:7ef6:2b1b:f311) (Ping timeout: 246 seconds) |
| 08:41:43 | → | euleritian joins (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) |
| 08:49:47 | × | raym quits (~ray@user/raym) (Ping timeout: 264 seconds) |
| 08:51:26 | × | ghodawalaaman quits (~thelounge@user/thelounge8234) (Quit: Ping timeout (120 seconds)) |
| 08:51:34 | → | raym joins (~ray@user/raym) |
| 08:51:51 | → | ghodawalaaman joins (~thelounge@194-195-113-248.ip.linodeusercontent.com) |
| 08:52:09 | ghodawalaaman | is now known as Guest857 |
| 08:57:44 | → | danse-nr3 joins (~danse-nr3@151.57.150.40) |
| 08:59:27 | × | Guest857 quits (~thelounge@194-195-113-248.ip.linodeusercontent.com) (Changing host) |
| 08:59:27 | → | Guest857 joins (~thelounge@user/thelounge8234) |
| 09:00:54 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 09:01:16 | × | euleritian quits (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 09:01:35 | → | euleritian joins (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) |
| 09:05:18 | Guest857 | is now known as ghodawalaaman |
| 09:05:30 | → | CiaoSen joins (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) |
| 09:08:53 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
| 09:12:18 | → | cfricke joins (~cfricke@user/cfricke) |
| 09:13:29 | × | simendsjo quits (~user@31-209-41-23.cust.bredband2.com) (Remote host closed the connection) |
| 09:14:29 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 09:17:36 | → | chele joins (~chele@user/chele) |
| 09:22:41 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:25:01 | → | misterfish joins (~misterfis@87.215.131.102) |
| 09:28:05 | × | driib3 quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
| 09:28:18 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:28:43 | → | driib3 joins (~driib@vmi931078.contaboserver.net) |
| 09:31:29 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:35:01 | → | simendsjo joins (~user@31-209-41-68.cust.bredband2.com) |
| 09:36:04 | × | michalz quits (~michalz@185.246.207.218) (Quit: ZNC 1.9.0 - https://znc.in) |
| 09:37:15 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 09:41:56 | → | killer joins (~killer@2603:c021:8004:5ddd:9f39:b2ed:a098:162f) |
| 09:42:53 | × | killer quits (~killer@2603:c021:8004:5ddd:9f39:b2ed:a098:162f) (Client Quit) |
| 09:44:27 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 09:46:33 | → | gmg joins (~user@user/gehmehgeh) |
| 09:47:26 | → | infinity0 joins (~infinity0@pwned.gg) |
| 09:51:45 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:55:36 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:00:05 | × | mikess quits (~mikess@user/mikess) (Ping timeout: 240 seconds) |
| 10:01:09 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 10:02:21 | → | califax joins (~califax@user/califx) |
| 10:07:11 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds) |
| 10:17:27 | <danse-nr3> | i like this dev's style cs-syd.eu/posts/2024-07-08_announcing-opt-env-conf |
| 10:17:51 | × | euleritian quits (~euleritia@dynamic-176-006-187-089.176.6.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 10:19:15 | × | CiaoSen quits (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds) |
| 10:19:15 | → | euleritian joins (~euleritia@dynamic-176-006-192-149.176.6.pool.telefonica.de) |
| 10:19:43 | → | alexherbo2 joins (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) |
| 10:23:26 | × | euleritian quits (~euleritia@dynamic-176-006-192-149.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 10:29:29 | × | alexherbo2 quits (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) (Remote host closed the connection) |
| 10:29:50 | → | alexherbo2 joins (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) |
| 10:36:14 | → | czy joins (~user@fortigate.wolfson.cam.ac.uk) |
| 10:36:35 | × | simendsjo quits (~user@31-209-41-68.cust.bredband2.com) (Ping timeout: 264 seconds) |
| 10:38:15 | → | cheater joins (~Username@user/cheater) |
| 10:39:24 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 10:40:10 | → | cheater joins (~Username@user/cheater) |
| 10:41:56 | × | ridcully quits (~ridcully@p508ac2b4.dip0.t-ipconnect.de) (Quit: WeeChat 4.3.2) |
| 10:42:14 | → | ridcully joins (~ridcully@p508ac2b4.dip0.t-ipconnect.de) |
| 11:01:35 | → | xff0x joins (~xff0x@2405:6580:b080:900:bf0c:5535:de21:7813) |
| 11:05:02 | × | dhil quits (~dhil@2001:8e0:2014:3100:a85b:6416:b5a0:a3a6) (Ping timeout: 268 seconds) |
| 11:05:33 | → | yin joins (~yin@user/zero) |
| 11:08:05 | × | sroso quits (~sroso@user/SrOso) (Quit: Leaving :)) |
| 11:08:05 | → | kenran joins (~user@user/kenran) |
| 11:10:36 | → | nullobject joins (~josh@user/nullobject) |
| 11:11:10 | → | __monty__ joins (~toonn@user/toonn) |
| 11:14:34 | × | nullobject quits (~josh@user/nullobject) (Client Quit) |
| 11:18:01 | → | nullobject joins (~josh@user/nullobject) |
| 11:22:39 | × | mreh quits (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 256 seconds) |
| 11:24:15 | × | nullobject quits (~josh@user/nullobject) (Quit: WeeChat 3.5) |
| 11:26:26 | weechat2 | is now known as dminuoso |
| 11:31:04 | → | nullobject joins (~nullobjec@user/nullobject) |
| 11:32:10 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds) |
| 11:34:34 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 11:35:15 | × | haritz quits (~hrtz@user/haritz) (Remote host closed the connection) |
| 11:35:46 | → | haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
| 11:37:34 | × | haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
| 11:37:34 | → | haritz joins (~hrtz@user/haritz) |
| 11:48:13 | × | nullobject quits (~nullobjec@user/nullobject) (Ping timeout: 246 seconds) |
| 11:54:37 | × | alexherbo2 quits (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) (Remote host closed the connection) |
| 11:54:57 | → | alexherbo2 joins (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) |
| 12:07:56 | × | tomku quits (~tomku@user/tomku) (Ping timeout: 252 seconds) |
| 12:08:10 | → | tomku joins (~tomku@user/tomku) |
| 12:11:11 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 12:13:55 | → | CiaoSen joins (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) |
| 12:16:01 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:17:08 | → | califax joins (~califax@user/califx) |
| 12:22:23 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 12:25:11 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:25:39 | × | danse-nr3 quits (~danse-nr3@151.57.150.40) (Quit: Leaving) |
| 12:25:50 | → | rvalue- joins (~rvalue@user/rvalue) |
| 12:26:22 | → | califax joins (~califax@user/califx) |
| 12:26:44 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 268 seconds) |
| 12:27:23 | × | tomku quits (~tomku@user/tomku) (Remote host closed the connection) |
| 12:27:37 | → | tomku joins (~tomku@user/tomku) |
| 12:29:55 | → | ph88 joins (~ph88@2a02:8109:9e26:c800:d825:8718:98d7:1cb9) |
| 12:30:03 | <ph88> | hi all ! |
| 12:30:27 | <ph88> | How can i define that k must be a type in this type signature? https://bpa.st/PA7Q |
| 12:32:28 | <mauke> | :t 1 :: (Int :: *) |
| 12:32:29 | <lambdabot> | Int |
| 12:33:26 | <mauke> | I wonder if you could just say ... (response :: Type) in that type signature |
| 12:33:42 | rvalue- | is now known as rvalue |
| 12:35:27 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:36:58 | → | califax joins (~califax@user/califx) |
| 12:38:43 | × | tomku quits (~tomku@user/tomku) (Remote host closed the connection) |
| 12:38:57 | → | tomku joins (~tomku@user/tomku) |
| 12:39:11 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:39:44 | <ph88> | Not in scope: type constructor or class ‘Type’ |
| 12:40:16 | → | califax joins (~califax@user/califx) |
| 12:40:37 | <mauke> | Data.Kind? or where was it defined |
| 12:41:16 | <ph88> | mauke, i tried with star, not sure where i should put the signature https://bpa.st/3TNA |
| 12:42:58 | → | ubert joins (~Thunderbi@p200300ecdf24f18b8c1e05593c61bd0b.dip0.t-ipconnect.de) |
| 12:43:05 | <mauke> | (response :: *) |
| 12:44:04 | <mauke> | wait, that still doesn't make sense |
| 12:46:24 | <mauke> | if "k must be a type", then response would be a value, so what is it doing in a type signature? |
| 12:47:21 | → | euleritian joins (~euleritia@dynamic-176-006-193-058.176.6.pool.telefonica.de) |
| 12:50:27 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 12:54:38 | <ph88> | hmm let me think about this for a bit |
| 12:56:30 | → | mreh joins (~matthew@host86-160-168-12.range86-160.btcentralplus.com) |
| 13:01:52 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 13:02:22 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 13:19:37 | → | danse-nr3 joins (~danse-nr3@151.43.98.142) |
| 13:19:52 | × | danse-nr3 quits (~danse-nr3@151.43.98.142) (Remote host closed the connection) |
| 13:20:17 | → | danse-nr3 joins (~danse-nr3@151.43.98.142) |
| 13:20:53 | × | euleritian quits (~euleritia@dynamic-176-006-193-058.176.6.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 13:21:42 | → | euleritian joins (~euleritia@dynamic-176-001-218-022.176.1.pool.telefonica.de) |
| 13:26:23 | → | xdminsy joins (~xdminsy@117.147.70.227) |
| 13:32:52 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 13:35:28 | → | ystael joins (~ystael@user/ystael) |
| 13:36:01 | × | euleritian quits (~euleritia@dynamic-176-001-218-022.176.1.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 13:54:28 | × | tomku quits (~tomku@user/tomku) (Remote host closed the connection) |
| 13:54:42 | → | tomku joins (~tomku@user/tomku) |
| 13:58:20 | × | alexherbo2 quits (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) (Remote host closed the connection) |
| 13:58:39 | → | alexherbo2 joins (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) |
| 14:08:23 | <yin> | > (7 :: (Num k => k :: (Type :: Type))) |
| 14:08:24 | <lambdabot> | error: |
| 14:08:25 | <lambdabot> | Not in scope: type constructor or class ‘Type’error: |
| 14:08:25 | <lambdabot> | Not in scope: type constructor or class ‘Type’ |
| 14:08:40 | <yin> | > (7 :: (Num k => k :: (Data.Kind.Type :: Data.Kind.Type))) |
| 14:08:41 | <lambdabot> | error: |
| 14:08:42 | <lambdabot> | Not in scope: type constructor or class ‘Data.Kind.Type’ |
| 14:08:42 | <lambdabot> | No module named ‘Data.Kind’ is imported.error: |
| 14:08:47 | <yin> | damn it |
| 14:08:47 | <danse-nr3> | hoogle Type |
| 14:08:52 | <danse-nr3> | @hoogle Type |
| 14:08:52 | <lambdabot> | Data.Kind type Type = Type |
| 14:08:52 | <lambdabot> | module GHC.Exception.Type |
| 14:08:52 | <lambdabot> | GHC.Exts data TYPE (a :: RuntimeRep) |
| 14:09:01 | <yin> | > (7 :: (Num k => k :: (* :: *))) |
| 14:09:02 | <lambdabot> | 7 |
| 14:09:02 | <danse-nr3> | > import Data.Kind |
| 14:09:04 | <lambdabot> | <hint>:1:1: error: parse error on input ‘import’ |
| 14:09:27 | <yin> | > (7 :: (Num k => k :: (* :: (* :: *)))) -- this is my point |
| 14:09:27 | <danse-nr3> | % import Data.Kind |
| 14:09:27 | <yahb2> | <no output> |
| 14:09:28 | <lambdabot> | 7 |
| 14:10:01 | <danse-nr3> | % (7 :: (Num k => k :: (Type :: Type))) |
| 14:10:01 | <yahb2> | 7 |
| 14:10:10 | <yin> | mauke: ph88: this^ |
| 14:10:26 | × | alexherbo2 quits (~alexherbo@2a02-8440-311a-ab9d-102a-b36a-de33-8b22.rev.sfr.net) (Remote host closed the connection) |
| 14:11:05 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:11:19 | <haskellbridge> | <mauke> @let import Data.Kind |
| 14:11:51 | <danse-nr3> | @let import Data.Kind |
| 14:11:52 | <lambdabot> | Defined. |
| 14:12:05 | <danse-nr3> | hmm... not sure that's what you wanted |
| 14:13:55 | <yin> | kinds have metakinds which in turn have metametakinds ad infinitum (actually i think there's a limit in haskell but whatever) |
| 14:14:36 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 14:14:46 | <haskellbridge> | <mauke> Now Type should exist in lambdabot |
| 14:15:23 | <yin> | > (7 :: (Num k => k :: (Type :: (Type :: Type)))) |
| 14:15:24 | <lambdabot> | 7 |
| 14:15:28 | → | alexherbo2 joins (~alexherbo@30.151.22.93.rev.sfr.net) |
| 14:15:29 | <danse-nr3> | i thought you wanted that, but the `Defined` reply confused me |
| 14:15:37 | <yin> | > (7 :: (Num k => k :: (Type :: (Type :: (Type :: Type))))) |
| 14:15:38 | <lambdabot> | 7 |
| 14:15:47 | <yin> | > (7 :: (Num k => k :: (Type :: (Type :: (Type :: (Type :: Type)))))) |
| 14:15:48 | <lambdabot> | 7 |
| 14:15:50 | <yin> | etc... |
| 14:18:28 | <yin> | not that related, but this reminded me of something i learned not long ago about how the derivation hierarchy goes in physics: position, velocity, acceleration, jerk, snap/jounce, crackle and pop |
| 14:20:36 | <Leary> | The original error was "Expected a type, but ‘response’ has kind ‘k’". That means /response/ should be a Type, not k---TypeInType is moot. |
| 14:22:51 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 260 seconds) |
| 14:25:11 | → | pavonia joins (~user@user/siracusa) |
| 14:27:02 | <kuribas> | I guess the confusing is between "k is a type" and "k is Type" |
| 14:27:14 | <kuribas> | One is (k :: *), the other (k ~ *) |
| 14:28:39 | <yin> | exactly |
| 14:29:07 | <kuribas> | It's something that can be confusing at first when dealing with dependent types. |
| 14:29:55 | <yin> | imo haskell should do something about this, but i'm happy enough that we moved away from * |
| 14:29:59 | × | misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 264 seconds) |
| 14:30:12 | → | dhil joins (~dhil@2001:8e0:2014:3100:6d7c:ff84:7411:4b4e) |
| 14:30:16 | × | CiaoSen quits (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) (Ping timeout: 246 seconds) |
| 14:30:58 | <yin> | our type system needs a type system goddammit |
| 14:31:13 | <kuribas> | -XDependentTypes :) |
| 14:31:43 | × | CrunchyFlakes quits (~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer) |
| 14:32:32 | × | czy quits (~user@fortigate.wolfson.cam.ac.uk) (Ping timeout: 268 seconds) |
| 14:34:09 | → | euleritian joins (~euleritia@dynamic-176-003-089-142.176.3.pool.telefonica.de) |
| 14:34:12 | → | CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
| 14:34:45 | <kuribas> | Our type system has a type system, it's called Kinds. |
| 14:35:05 | <kuribas> | it used to be simple: kind = * | kind -> kind |
| 14:35:13 | <srk> | yin: it also goes the other way around https://en.wikipedia.org/wiki/Absement#Higher_integrals :D |
| 14:35:28 | <kuribas> | But then we allowed lifting values in types, "constraint kinds", etc... |
| 14:36:23 | <kuribas> | All of this to hide the fact that haskell isn't really dependently typed, and type level programming is not what makes haskell great. |
| 14:39:54 | <yin> | srk: "abserk" |
| 14:41:05 | <EvanR> | abasement |
| 14:41:16 | <EvanR> | apenthouse |
| 14:42:00 | <yin> | what's abs+pop ? |
| 14:42:50 | × | m1dnight quits (~christoph@82.146.125.185) (Quit: WeeChat 4.2.2) |
| 14:43:06 | <yin> | kuribas: :) |
| 14:43:16 | → | m1dnight joins (~christoph@82.146.125.185) |
| 14:44:26 | → | CiaoSen joins (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) |
| 14:47:34 | <srk> | yin: seems to only go up to absounce :( |
| 14:47:36 | → | cpressey joins (~weechat@176.254.71.203) |
| 14:48:14 | <yin> | srk: absounce sounds like something you're low in on mondays |
| 14:49:53 | <yin> | my absounce is constant on mondays |
| 14:50:33 | <yin> | need to angle it up |
| 14:50:52 | <yin> | and then you feel the weight of all its derivatives |
| 14:51:38 | <yin> | until you get a litte movement |
| 14:51:55 | <srk> | :)) |
| 15:00:05 | × | TMA quits (tma@twin.jikos.cz) (Ping timeout: 240 seconds) |
| 15:04:12 | → | TMA joins (tma@twin.jikos.cz) |
| 15:06:22 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:07:54 | → | ubert1 joins (~Thunderbi@p200300ecdf24f17cdfae8dfb94d1c609.dip0.t-ipconnect.de) |
| 15:08:53 | × | TMA quits (tma@twin.jikos.cz) (Ping timeout: 240 seconds) |
| 15:08:53 | × | ubert quits (~Thunderbi@p200300ecdf24f18b8c1e05593c61bd0b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 15:08:53 | ubert1 | is now known as ubert |
| 15:15:35 | × | yin quits (~yin@user/zero) (Ping timeout: 260 seconds) |
| 15:16:38 | → | cfricke joins (~cfricke@user/cfricke) |
| 15:21:22 | → | TMA joins (tma@twin.jikos.cz) |
| 15:21:51 | → | forell joins (~forell@user/forell) |
| 15:34:40 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 246 seconds) |
| 15:37:45 | → | ft joins (~ft@p4fc2ab80.dip0.t-ipconnect.de) |
| 15:41:37 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 15:44:18 | → | mikess joins (~mikess@user/mikess) |
| 15:48:59 | → | cfricke joins (~cfricke@user/cfricke) |
| 16:00:46 | <Leary> | Is there a nice way to convince haddock to break up long types line by line? Putting a one-space comment ("-- ^ ") on one argument works, but looking at it is giving me rabies. |
| 16:02:12 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 16:05:41 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
| 16:09:58 | × | tomku quits (~tomku@user/tomku) (Ping timeout: 268 seconds) |
| 16:10:00 | × | CiaoSen quits (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) (Ping timeout: 256 seconds) |
| 16:10:13 | → | tomku joins (~tomku@user/tomku) |
| 16:12:47 | × | danse-nr3 quits (~danse-nr3@151.43.98.142) (Quit: Leaving) |
| 16:24:03 | × | CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 16:25:36 | <Leary> | Marginal improvement: use {- | -} or {- ^ -}. At least they're symmetric, and absent of trailing spaces? It's enough to keep rabies at bay, but I might still get a flu. |
| 16:26:35 | → | CrunchyFlakes joins (~CrunchyFl@146.52.130.128) |
| 16:30:19 | × | dhil quits (~dhil@2001:8e0:2014:3100:6d7c:ff84:7411:4b4e) (Ping timeout: 246 seconds) |
| 16:39:34 | × | cpressey quits (~weechat@176.254.71.203) (Ping timeout: 268 seconds) |
| 16:44:23 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
| 16:44:49 | × | srk quits (~sorki@user/srk) (Ping timeout: 268 seconds) |
| 16:45:05 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 256 seconds) |
| 16:45:34 | → | srk joins (~sorki@user/srk) |
| 16:47:03 | → | ystael joins (~ystael@user/ystael) |
| 16:51:25 | × | alexherbo2 quits (~alexherbo@30.151.22.93.rev.sfr.net) (Remote host closed the connection) |
| 17:03:10 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 17:08:42 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:15:08 | → | Jackneill joins (~Jackneill@217-197-184-151.pool.digikabel.hu) |
| 17:20:58 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:21:35 | × | hueso quits (~root@user/hueso) (Quit: No Ping reply in 180 seconds.) |
| 17:22:46 | → | hueso joins (~root@user/hueso) |
| 17:25:52 | → | yin joins (~yin@user/zero) |
| 17:28:01 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 17:35:47 | → | ash3en joins (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) |
| 17:41:32 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:45:21 | ash3en | is now known as ultima12 |
| 17:48:28 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 17:53:38 | × | Pixi quits (~Pixi@user/pixi) (Quit: Leaving) |
| 17:56:48 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:14:16 | × | _________ quits (~nobody@user/noodly) (Ping timeout: 246 seconds) |
| 18:15:32 | → | _________ joins (~nobody@user/noodly) |
| 18:22:22 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 18:23:17 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 18:23:43 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:26:05 | → | cheater_ joins (~Username@user/cheater) |
| 18:27:36 | → | Pixi joins (~Pixi@user/pixi) |
| 18:28:47 | × | cheater quits (~Username@user/cheater) (Ping timeout: 264 seconds) |
| 18:28:51 | cheater_ | is now known as cheater |
| 18:34:47 | × | CrunchyFlakes quits (~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer) |
| 18:37:21 | → | CrunchyFlakes joins (~CrunchyFl@146.52.130.128) |
| 18:41:07 | × | mreh quits (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Remote host closed the connection) |
| 18:44:05 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 18:50:01 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 18:58:54 | × | tomku quits (~tomku@user/tomku) (Remote host closed the connection) |
| 18:59:08 | → | tomku joins (~tomku@user/tomku) |
| 19:00:40 | → | misterfish joins (~misterfis@84.53.85.146) |
| 19:01:28 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 19:03:19 | × | ultima12 quits (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) (Ping timeout: 250 seconds) |
| 19:04:57 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 19:06:36 | → | machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 19:09:14 | × | xdminsy quits (~xdminsy@117.147.70.227) (Quit: Konversation terminated!) |
| 19:09:14 | → | christiaanb joins (uid84827@id-84827.lymington.irccloud.com) |
| 19:11:00 | → | alexherbo2 joins (~alexherbo@2a02-8440-311a-ab9d-bd9d-bb5a-6bfa-4981.rev.sfr.net) |
| 19:16:20 | → | euphores joins (~SASL_euph@user/euphores) |
| 19:16:44 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:16:49 | × | incertia quits (~incertia@209.122.137.252) (Ping timeout: 268 seconds) |
| 19:18:31 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:23:06 | → | cpressey joins (~weechat@176.254.71.203) |
| 19:33:42 | → | incertia joins (~incertia@209.122.137.252) |
| 19:33:57 | × | superbil quits (~superbil@114-32-231-70.hinet-ip.hinet.net) (*.net *.split) |
| 19:34:18 | → | superbil joins (~superbil@114-32-231-70.hinet-ip.hinet.net) |
| 19:35:23 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 19:35:38 | × | tomku quits (~tomku@user/tomku) (Remote host closed the connection) |
| 19:35:53 | → | tomku joins (~tomku@user/tomku) |
| 19:36:35 | × | cpressey quits (~weechat@176.254.71.203) (Ping timeout: 264 seconds) |
| 19:42:25 | → | ash3en joins (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) |
| 19:45:31 | → | destituion joins (~destituio@ti0185q160-0175.bb.online.no) |
| 19:50:07 | catties | is now known as Catty |
| 19:50:07 | × | ash3en quits (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) (Ping timeout: 250 seconds) |
| 19:50:31 | → | cpressey joins (~weechat@176.254.71.203) |
| 19:51:25 | → | hugo- joins (hugo@quicksilver.lysator.liu.se) |
| 19:52:29 | × | hgolden_ quits (~hgolden@2603:8000:9d00:3ed1:2678:8497:aa5c:7fa9) (Remote host closed the connection) |
| 19:52:47 | → | ash3en joins (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) |
| 19:53:15 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:2678:8497:aa5c:7fa9) |
| 19:54:26 | → | Square joins (~Square@user/square) |
| 19:56:46 | × | mniip_ quits (mniip@libera/staff/mniip) (*.net *.split) |
| 19:56:53 | → | mniip joins (mniip@libera/staff/mniip) |
| 20:03:51 | <ph88> | i tried to make a piece of code abstract while working with typeclasses, after that code is done i want to get back the concrete type, i can do it with unsafeCoerce. Is there another way? Perhaps i can match case on all the possible instances of the typeclass? |
| 20:04:10 | <ph88> | or is there perhaps a better design pattern ? |
| 20:06:35 | × | ash3en quits (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) (Ping timeout: 250 seconds) |
| 20:07:59 | <tomsmeding> | ph88: type classes are open (anyone can add an additional instance), so you cannot case match on the types of a type class |
| 20:08:08 | <tomsmeding> | what would that even mean for MultiParamTypeClasses? |
| 20:09:03 | <tomsmeding> | at the place where you passed the value (of concrete type) to a function that expects some abstracted type, you remember that it's actually the concrete type |
| 20:09:07 | <tomsmeding> | so there you can "convert back", i.e. do nothing |
| 20:14:34 | → | ash3en joins (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) |
| 20:16:36 | <Leary> | I rather suspect we're dealing with an existential, not a universal. ph88? If it's so, you need to wrap up something like a `Typeable` constraint with the value and use `cast`. |
| 20:17:01 | <tomsmeding> | possibly, but in that case I would suggest not using an existential if possible |
| 20:17:06 | <ph88> | i have put all of those types that implement the type class into a single list wrapped in this type https://bpa.st/7ZYQ they need to be in a single list because the abstract code works like that. The abstract code will change the values through the typeclass. Afterwards i need to put them back together in their original shape. |
| 20:17:12 | <ph88> | yes existential |
| 20:17:34 | <tomsmeding> | as in, if you currently have a function that takes an (exists a. C a => a), rewrite it to take an 'a' and give it a 'C a' constraint |
| 20:18:17 | × | cpressey quits (~weechat@176.254.71.203) (Ping timeout: 256 seconds) |
| 20:18:24 | <tomsmeding> | what about a HList with the All constraint on its type-level list? |
| 20:18:31 | <tomsmeding> | then the type of the HList reflects what's inside |
| 20:18:44 | <tomsmeding> | so if you know what that type-level list is, you can get them back out in a type-safe manner |
| 20:19:21 | → | cpressey joins (~weechat@176.254.71.203) |
| 20:19:30 | <ph88> | the abstract code can not know what the types are inside the existential .. otherwise my code won't be modular (i want to split that part out into a library later) |
| 20:19:52 | <tomsmeding> | if a function takes any 'a', then it certainly doesn't know what that 'a' is |
| 20:21:08 | <ph88> | true, just at the moment it can operate on it through the typeclass |
| 20:21:14 | <tomsmeding> | indeed |
| 20:21:22 | <tomsmeding> | no need for an existential to achieve modularity ;) |
| 20:22:07 | <ph88> | existential was needed to put all of the types into some kind of key-value data structure where i get the key through the typeclass and is further agnostic about the relation between the different values |
| 20:22:49 | <tomsmeding> | can the key-value data structure be a DMap instead? https://hackage.haskell.org/package/dependent-map-0.4.0.0/docs/Data-Dependent-Map.html |
| 20:23:15 | <tomsmeding> | (the type of its 'lookup' method is instructive as to what it does) |
| 20:23:39 | <ph88> | basically i'm going from an object graph (as in database objects) .. to key-value .. then query to add second keys to objects, then i want to ask on the old object what it's relations where with first key, and then look for that object with the first key and get the refreshed second key |
| 20:23:46 | <tomsmeding> | (click through to GCompare and GOrdering to see _how_ it does that) |
| 20:25:00 | <tomsmeding> | I'm having trouble following that without more specifics :) |
| 20:25:27 | <tomsmeding> | as I understand it, you have a bunch of objects with associated keys, and the objects are different types |
| 20:25:35 | <tomsmeding> | but the key and the object are related somehow |
| 20:26:00 | <tomsmeding> | you want to put the objects in a Map-like thing where you can retrieve them given their key, and operate on them knowing that the objects implement a certain type class |
| 20:26:23 | <tomsmeding> | and yet you somehow want to not lose the type information of those objects |
| 20:26:46 | <tomsmeding> | can the keys be of type 'Key a' for an object of type 'Object a'? |
| 20:26:57 | <tomsmeding> | (could be 'newtype Object a = Object a', for example, if you so desire) |
| 20:27:03 | <ph88> | so what's the difference between Map and DMap ? With DMap you can use a GADT for key and with Map you can't ? |
| 20:27:25 | <tomsmeding> | yes, with DMap you can have a _type-indexed_ key, and you type-safely get a type-indexed object back |
| 20:27:40 | <tomsmeding> | so with my Key and Object, if you find a value for a 'Key Int', you'll get an 'Object Int' back |
| 20:27:57 | <tomsmeding> | you can put the typeclass info in Object if you want |
| 20:28:28 | <ph88> | that's nice |
| 20:29:01 | <tomsmeding> | then the code that works with the DMap needs to know about Object enough that it can get the typeclass info out of it |
| 20:29:22 | <ph88> | i will put this in my notes for a to look at once i want to shell this out to a library, i think practically to make progress Typeable + cast will get me there a bit faster |
| 20:29:35 | <tomsmeding> | that may well be true :) |
| 20:29:58 | <tomsmeding> | but moooooore type safety |
| 20:30:13 | <ph88> | ye i like that :) |
| 20:31:52 | <tomsmeding> | the thing with DMap, though, is that from comparison of the keys you should be able to get equality info on the _types_ |
| 20:32:12 | <tomsmeding> | i.e. if you get a 'Key a' and a 'Key b', and you want them to compare equal, you should be able to conjure up evidence that 'a ~ b' |
| 20:32:35 | <tomsmeding> | this typically means that Key contains, or looks like, a singleton for 'a' |
| 20:32:49 | <tomsmeding> | or it doesn't and you unsafeCoerce up that evidence |
| 20:33:07 | <tomsmeding> | which, if you encapsulate things well enough, could be a not-too-bad way to go about things |
| 20:33:26 | <tomsmeding> | (i.e. if you can manage that no-one who is not yourself can create a Key with bad values inside) |
| 20:35:31 | <ph88> | Well i imagine when i have Key Int and Key String than both types can give me back a bunch of values, like a filter ? |
| 20:36:07 | <tomsmeding> | a Key Int and a Key String should never be able to compare equal |
| 20:36:15 | <tomsmeding> | because surely they're keys for different objects! |
| 20:36:21 | <tomsmeding> | (the objects are even different types!) |
| 20:37:03 | <tomsmeding> | so if you have stored an object o1 :: Object Int under key k1 :: Key Int, then you'll definitely never retrieve o1 when you do a lookup for key k2 :: Key String |
| 20:37:22 | <Leary> | You can have them map to a list or set of targets, however. |
| 20:37:30 | <tomsmeding> | (well, unless you unsafeCoerce'd your GCompare instance of Key and you messed it up :D) |
| 20:37:46 | <tomsmeding> | of course, it's just a Map, you can put lists in there |
| 20:37:57 | <tomsmeding> | it will have to be a list that takes an additional type variable though |
| 20:38:14 | <tomsmeding> | data List1 a t = List1 [a t] |
| 20:38:36 | <ph88> | i meant to ask can i get all the keys and objects back if i specific a type Key Int ... and do the same again for Key String ... then i expect to have two results of different objects |
| 20:38:56 | <tomsmeding> | DMap is just a Map with stronger typing |
| 20:38:59 | <tomsmeding> | think of it as a Map |
| 20:39:53 | × | alexherbo2 quits (~alexherbo@2a02-8440-311a-ab9d-bd9d-bb5a-6bfa-4981.rev.sfr.net) (Remote host closed the connection) |
| 20:40:13 | → | alexherbo2 joins (~alexherbo@2a02-8440-311a-ab9d-bd9d-bb5a-6bfa-4981.rev.sfr.net) |
| 20:40:15 | <tomsmeding> | it's really mundane, in a way |
| 20:40:34 | <ph88> | ok |
| 20:41:30 | <tomsmeding> | Map.insert :: k -> v -> Map k v -> Map k v |
| 20:41:32 | <tomsmeding> | DMap.insert :: k a -> v a -> DMap k v -> DMap k v |
| 20:41:54 | <tomsmeding> | Map.lookup :: k -> Map k v -> Maybe v |
| 20:41:56 | <tomsmeding> | DMap.lookup :: k a -> DMap k v -> Maybe (v a) |
| 20:43:08 | × | cpressey quits (~weechat@176.254.71.203) (Ping timeout: 256 seconds) |
| 20:43:21 | <tomsmeding> | the point of this all is that 1. you can put objects with different types in the same container, and 2. they retain their types |
| 20:43:57 | <tomsmeding> | it may take a little bit of thinking to shape it all in a way that it fits this particular API |
| 20:44:36 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 20:49:58 | → | cpressey joins (~weechat@176.254.71.203) |
| 20:58:11 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 264 seconds) |
| 20:59:43 | × | ash3en quits (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) (Remote host closed the connection) |
| 21:01:23 | × | kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux) |
| 21:01:44 | → | kimiamania joins (~65804703@user/kimiamania) |
| 21:07:46 | × | cpressey quits (~weechat@176.254.71.203) (Ping timeout: 264 seconds) |
| 21:12:59 | × | AlexZenon quits (~alzenon@5.139.233.228) (Ping timeout: 252 seconds) |
| 21:14:58 | → | ultima12 joins (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) |
| 21:26:24 | → | AlexZenon joins (~alzenon@5.139.233.228) |
| 21:26:54 | × | CrunchyFlakes quits (~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer) |
| 21:26:59 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 21:28:20 | × | ultima12 quits (~ash3en@2a01:c22:8c1d:e900:34c:3f3:8550:afd8) (Remote host closed the connection) |
| 21:29:30 | → | CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
| 21:33:32 | → | pavonia joins (~user@user/siracusa) |
| 21:37:17 | <EvanR> | those types are an example where the logic is infallible but haskell's type system can actually do it |
| 21:37:20 | <EvanR> | can't* |
| 21:37:46 | <EvanR> | behind the scenes there is a cornerstone "believe-me" undefined or something |
| 21:38:02 | <EvanR> | or unsafeCoerce |
| 21:38:28 | <EvanR> | haskell is unsound and incomplete! |
| 21:38:32 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:41:22 | × | AlexZenon quits (~alzenon@5.139.233.228) (Ping timeout: 264 seconds) |
| 21:42:18 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 21:43:30 | <geekosaur> | unsafeCoerce is the "believe me!" |
| 21:46:06 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 21:47:21 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:47:42 | <tomsmeding> | EvanR: there isn't |
| 21:47:50 | <tomsmeding> | the magic is in the GCompare instance for the key |
| 21:48:09 | <tomsmeding> | I lied, Map.lookup has an additional Ord k constraint, and DMap.lookup has a GCompare k constraint |
| 21:48:23 | <EvanR> | GCompare... |
| 21:48:29 | <tomsmeding> | https://hackage.haskell.org/package/some-1.0.1/docs/Data-GADT-Compare.html#t:GCompare |
| 21:48:36 | <tomsmeding> | see the typing of GEQ |
| 21:48:53 | <tomsmeding> | you'll need to create type equality information from an equality comparison on the keys |
| 21:49:02 | × | motherfsck quits (~motherfsc@user/motherfsck) (Client Quit) |
| 21:49:03 | <tomsmeding> | which then allows DMap to do things safely |
| 21:49:38 | <EvanR> | I see gcompare, but how is that implemented for the keys |
| 21:49:40 | <tomsmeding> | now how _you_ are going to create that type equality is up to you; you could compare singletons, which is safe, or you could believe that whatever ID system you cooked up is sound and 'unsafeCoerce Refl' your way out of it |
| 21:49:47 | <tomsmeding> | EvanR: you implement it |
| 21:49:52 | <tomsmeding> | GCompare is to DMap as Ord is to Map |
| 21:49:52 | <EvanR> | with unsafeCoerce |
| 21:49:55 | <tomsmeding> | no |
| 21:49:59 | <tomsmeding> | you put a proper singleton in your keys |
| 21:50:09 | <tomsmeding> | so that you can compare the singletons and get a type equality out |
| 21:50:27 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 21:50:43 | <EvanR> | one singleton type for every `a' in the usage of DMap ? |
| 21:51:00 | <tomsmeding> | what do you mean with a "singleton type"? |
| 21:51:07 | <tomsmeding> | every _key_ has a singleton in it |
| 21:51:09 | <c_wraith> | Or just have your key type be a GADT where comparing the constructors is sufficient to prove type equality |
| 21:51:21 | <tomsmeding> | which is essentially a DIY singleton |
| 21:51:36 | <c_wraith> | Except without all the machinery which isn't needed for this case :) |
| 21:52:20 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:52:22 | <c_wraith> | in general, DMap seems optimized to work with GADTs |
| 21:53:05 | <tomsmeding> | yeah, I have never actually used the 'singletons' library |
| 21:53:07 | <tomsmeding> | I roll my own GADTs |
| 21:53:17 | <EvanR> | ok if you only are planning to work with specific a, you can implement a GADT k which has correct GCompare powers by construction |
| 21:53:43 | <EvanR> | DMap got more sophisticated since last I checked |
| 21:53:49 | <tomsmeding> | you'll need to describe the family of a's that you're going to use |
| 21:54:03 | <tomsmeding> | remember that GADTs are data types and hence can be recursive :) |
| 21:54:11 | <tomsmeding> | so you can describe a whole recursive family of types just with a few constructors |
| 21:54:34 | <EvanR> | sounds like a blast |
| 21:57:22 | <EvanR> | this is all a lot of machinery to basically pull off what elixir people do, use the "map" structure to implement records |
| 21:58:53 | → | AlexZenon joins (~alzenon@5.139.233.228) |
| 21:59:41 | <tomsmeding> | the record can be dynamic, though |
| 21:59:56 | <EvanR> | dynamic? |
| 21:59:59 | <tomsmeding> | I once used a DMap to store metadata about every AST node in a compiler |
| 22:00:18 | <tomsmeding> | there were many AST nodes, but the family of types that they could represent was nicely describable |
| 22:00:30 | <tomsmeding> | (the AST was well-typed with well-typed well-scoped De Bruijn indices) |
| 22:03:24 | × | turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.) |
| 22:03:25 | <tomsmeding> | EvanR: and the point is that "a map from every AST node to some metadata" is certainly not a record |
| 22:04:21 | <EvanR> | no because the keys aren't fields |
| 22:04:48 | → | turlando joins (~turlando@user/turlando) |
| 22:05:38 | <tomsmeding> | (it's bed time over here, see y'al) |
| 22:07:00 | × | raym quits (~ray@user/raym) (Ping timeout: 256 seconds) |
| 22:08:49 | → | raym joins (~ray@user/raym) |
| 22:17:54 | <ph88> | good night ! |
| 22:20:37 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 22:20:40 | × | ph88 quits (~ph88@2a02:8109:9e26:c800:d825:8718:98d7:1cb9) (Remote host closed the connection) |
| 22:21:22 | × | alexherbo2 quits (~alexherbo@2a02-8440-311a-ab9d-bd9d-bb5a-6bfa-4981.rev.sfr.net) (Remote host closed the connection) |
| 22:24:50 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:25:31 | → | CiaoSen joins (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) |
| 22:25:59 | → | gentauro joins (~gentauro@user/gentauro) |
| 22:38:14 | × | destituion quits (~destituio@ti0185q160-0175.bb.online.no) (Ping timeout: 252 seconds) |
| 22:43:50 | × | acidjnk_new3 quits (~acidjnk@p200300d6e72cfb326c97883dc2703faf.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 22:47:03 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 22:51:08 | → | destituion joins (~destituio@2a02:2121:6bd:3eb7:9c85:17:84a5:7a89) |
| 23:12:49 | tabemann__ | is now known as tabemann |
| 23:18:35 | × | christiaanb quits (uid84827@id-84827.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:25:13 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:36:37 | × | machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 23:39:25 | → | acidjnk_new3 joins (~acidjnk@p200300d6e72cfb326c97883dc2703faf.dip0.t-ipconnect.de) |
| 23:42:35 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 23:43:15 | → | tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 23:46:15 | × | tcard quits (~tcard@p5361199-ipxg23901hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 256 seconds) |
| 23:51:47 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:52:10 | × | CiaoSen quits (~Jura@2a05:5800:2b4:7a00:e6b9:7aff:fe80:3d03) (Ping timeout: 268 seconds) |
| 23:54:48 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 23:57:05 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 23:57:50 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:59:30 | × | dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
All times are in UTC on 2024-07-12.