Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,513 events total
2021-08-26 15:41:28 hannessteffenhag joins (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-26 15:42:54 <c_wraith> *sigh*. I went looking on hackage to see if a function I want exists someplace. It's stuffed in a half-dozen packages as a throw-away utility.
2021-08-26 15:43:28 <maerwald> create a package per function
2021-08-26 15:43:42 <c_wraith> this one should probably just be in base
2021-08-26 15:45:49 <c_wraith> ... or part of the language. I kind of wish every data type definition also created a non-recursive eliminator for the type
2021-08-26 15:45:55 × hannessteffenhag quits (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
2021-08-26 15:46:34 × Hydrazer quits (~Hydrazer@S010684c9b26eee6d.cg.shawcable.net) (Ping timeout: 246 seconds)
2021-08-26 15:49:58 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-08-26 15:55:53 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c68:9e4d:912c:4792)
2021-08-26 15:56:13 elf_fortrez joins (~elf_fortr@adsl-72-50-5-235.prtc.net)
2021-08-26 15:57:52 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2)
2021-08-26 15:58:06 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
2021-08-26 15:58:10 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number)
2021-08-26 15:58:33 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-26 15:58:36 <tomsmeding> as in, the recursive place is instead a call to an argument of this eliminator?
2021-08-26 15:58:54 × dajoer quits (~david@user/gvx) (Quit: leaving)
2021-08-26 15:59:06 × azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer)
2021-08-26 16:00:18 azeem joins (~azeem@dynamic-adsl-78-13-253-103.clienti.tiscali.it)
2021-08-26 16:00:33 lbseale joins (~lbseale@user/ep1ctetus)
2021-08-26 16:01:12 <tomsmeding> kuribas: get the full dependency tree of your project using 'stack dot', download all the .cabal files for those packages from stackage and grep for 0.10.4; if not found, download all the .cabal files of _all the versions_ of those packages :p
2021-08-26 16:01:30 <c_wraith> I think eliminator is the wrong term - it doesn't eliminate the type entirely, if the type is recursive. just one level of it
2021-08-26 16:02:27 <kuribas> ugh stack is worse than cabal hell.
2021-08-26 16:02:33 <tomsmeding> c_wraith: if I understand what you refer to correctly, I've wanted this multiple times with GADTs
2021-08-26 16:02:40 <kuribas> unless it happens to have all your version perfectly in the snapshot.
2021-08-26 16:02:48 <tomsmeding> making something like that generically using GHC generics should be doable, but gadts don't do generics :p
2021-08-26 16:03:51 <c_wraith> Basically, I want cata : church encoding :: ??? : scott encoding
2021-08-26 16:04:28 <kuribas> Or I guess stack forces you to use old versions...
2021-08-26 16:10:36 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-08-26 16:10:51 <maerwald> stack is worse than both nix and cabal... doesn't have the expressivity of nix and doesn't have the constraint solver of cabal
2021-08-26 16:11:30 <maerwald> but it managed to provide a better user interface
2021-08-26 16:11:35 lbseale parts (~lbseale@user/ep1ctetus) (Leaving)
2021-08-26 16:11:41 <janus> why does stack need a constraint solver if you have stackage?
2021-08-26 16:12:03 <c_wraith> it needs *something* to specify versions the instant you step outside stackage
2021-08-26 16:12:08 <c_wraith> it just punts to the user
2021-08-26 16:12:12 <maerwald> janus: are you asking why you'd want to install packages outside of stackage?
2021-08-26 16:12:17 lbseale joins (~lbseale@user/ep1ctetus)
2021-08-26 16:12:31 <sm> Hydrazer: it's difficult because it doesn't make sense - how would you display a count of days as Y-m-d
2021-08-26 16:12:39 <maerwald> or why dependency resolution is a thing?
2021-08-26 16:12:57 <janus> no, not really asking that. i just thought it was weird to make that the deciding factor acting like stackage doesn't exist
2021-08-26 16:13:07 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 240 seconds)
2021-08-26 16:13:14 <janus> i understand you may need one once you leave stackage
2021-08-26 16:13:32 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 250 seconds)
2021-08-26 16:13:46 <janus> thought it didn't seem super complicated the problems i had stepping outside of stackage. it remains the exception
2021-08-26 16:13:58 <maerwald> cabal would allow us to define package range sets that work with each other... stack can't
2021-08-26 16:14:24 <maerwald> you could add security overlays as constraints etc etc
2021-08-26 16:14:32 <maerwald> all things stack can't do, because it doesn't have a solver
2021-08-26 16:15:52 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-08-26 16:16:15 <janus> that would be so cool
2021-08-26 16:17:02 <kuribas> janus: because stackage doesn't have all libraries, or you need a newer version.
2021-08-26 16:17:19 <maerwald> janus: https://mail.haskell.org/pipermail/cabal-devel/2015-July/010214.html
2021-08-26 16:17:52 <janus> kuribas: yes i know, occasionally i need to put an 'extra dep'. i acknowledged that already in my previous comment stating that it is the exception
2021-08-26 16:18:15 <kuribas> janus: not for me
2021-08-26 16:19:03 <janus> i acknowledge that it depends what you're trying to do, how bleeding edge you need to be
2021-08-26 16:19:14 <maerwald> sometimes you add extra-dep and then in the next step it tells you to add a different version of the same dep you just added :D
2021-08-26 16:19:23 <maerwald> which, of course, doesn't work
2021-08-26 16:20:30 <janus> maerwald: what happened to that proposal by dcoutts go?
2021-08-26 16:20:49 <maerwald> he got busy with blockchain xD
2021-08-26 16:21:46 <maerwald> but it seems we'll likely get something along those lines
2021-08-26 16:21:48 <maerwald> https://github.com/haskell/cabal/issues/7556
2021-08-26 16:21:54 <janus> hmm, given the choice between undermining nation states (causing anarchy) and having cabal support package sets.... difficult choice
2021-08-26 16:22:25 <janus> if you go for impact, you may choose the first
2021-08-26 16:22:37 <siers> I hope it's the anarchist communist kind
2021-08-26 16:23:04 <maerwald> I believe includes are the way to go: 1. generic includes and 2. constraint includes. As a 3rd step, named constraint sets can be introduced at a later stage and then as the last step provide an algebra to combine named constraint sets the way you like
2021-08-26 16:25:18 markpythonicbtc joins (~textual@50.228.44.6)
2021-08-26 16:26:39 × shredder quits (~user@user/shredder) (Quit: quitting)
2021-08-26 16:28:36 hannessteffenhag joins (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-26 16:28:49 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
2021-08-26 16:29:33 vysn joins (~vysn@user/vysn)
2021-08-26 16:29:56 hyiltiz joins (~quassel@31.220.5.250)
2021-08-26 16:33:02 × hannessteffenhag quits (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
2021-08-26 16:35:48 son0p joins (~ff@181.136.122.143)
2021-08-26 16:39:01 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-08-26 16:39:20 <maerwald> do we have a good story for versioned json parsing to maintain backwards compat?
2021-08-26 16:41:32 <maerwald> https://github.com/Vlix/safe-json
2021-08-26 16:42:06 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
2021-08-26 16:42:24 kmein joins (~weechat@user/kmein)
2021-08-26 16:42:49 hexfive joins (~eric@50.35.83.177)
2021-08-26 16:43:56 <janus> if you know the support lifetime once each migration begins, add the new field next to the old one, and put a comment on the old one stating it's removal date, and make calendar event for that date
2021-08-26 16:44:58 <janus> if the schema changes too much, do the same for endpoints
2021-08-26 16:45:16 neo1 joins (~neo3@cpe-292712.ip.primehome.com)
2021-08-26 16:45:52 <janus> an Aeson parser will ignore unknown keys of an object, so never have an endpoint return anything that is not an object, otherwise, you will not be able to change the schema without a new endpoint
2021-08-26 16:46:07 × d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds)
2021-08-26 16:48:05 <janus> one thing that sucks about Aeson is that AFAIK it is not verify convenient to omit a key. so if you have a key that is supposed to be omitted when its value is Nothing, it is hard to test for that with e.g. a property test that uses your serializer
2021-08-26 16:49:24 <janus> but that is not strictly related to version migrations i guess
2021-08-26 16:49:37 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2021-08-26 16:50:19 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-08-26 16:50:29 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-26 16:51:04 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
2021-08-26 16:52:28 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
2021-08-26 16:52:46 kmein joins (~weechat@user/kmein)
2021-08-26 16:55:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-26 16:55:55 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-26 16:55:55 wroathe joins (~wroathe@user/wroathe)
2021-08-26 16:57:18 <siers> I'm learning about GADTs and I noticed when I have a GADT, say Nats, – SNat ('Succ ('Succ Zero)) – the type parameter inside of it seems to be a value
2021-08-26 16:57:27 hannessteffenhag joins (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-26 16:58:51 <siers> or, well, the constructor names
2021-08-26 16:59:23 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-08-26 16:59:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-26 17:00:16 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
2021-08-26 17:00:27 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)

All times are in UTC.