Logs: liberachat/#haskell
| 2021-07-10 14:38:18 | × | Vajb quits (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer) |
| 2021-07-10 14:39:03 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 2021-07-10 14:39:29 | → | jushur joins (~human@user/jushur) |
| 2021-07-10 14:47:54 | → | notzmv joins (~zmv@user/notzmv) |
| 2021-07-10 14:53:30 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2021-07-10 14:55:48 | → | oxide joins (~lambda@user/oxide) |
| 2021-07-10 14:56:28 | → | yauhsien joins (~yauhsien@118-167-64-241.dynamic-ip.hinet.net) |
| 2021-07-10 14:56:46 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:39f3:da:7ab8:bc1e) |
| 2021-07-10 15:01:29 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:39f3:da:7ab8:bc1e) (Ping timeout: 252 seconds) |
| 2021-07-10 15:06:22 | <janus> | "Virtual Haskell Cohack" organized by Chris Smith is starting in 24 min |
| 2021-07-10 15:07:06 | → | __monty__ joins (~toonn@user/toonn) |
| 2021-07-10 15:16:14 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 252 seconds) |
| 2021-07-10 15:16:41 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-10 15:18:24 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:39f3:da:7ab8:bc1e) |
| 2021-07-10 15:18:28 | <ahdyt> | janus where can I join that? |
| 2021-07-10 15:19:15 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 2021-07-10 15:19:18 | <geekosaur> | https://www.meetup.com/NY-Haskell/events/279067287/ |
| 2021-07-10 15:25:54 | <ahdyt> | thank you |
| 2021-07-10 15:27:24 | × | pgib quits (~textual@173.38.117.69) (Remote host closed the connection) |
| 2021-07-10 15:31:20 | × | mikail quits (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Remote host closed the connection) |
| 2021-07-10 15:33:56 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds) |
| 2021-07-10 15:35:12 | → | marinelli joins (~marinelli@gateway/tor-sasl/marinelli) |
| 2021-07-10 15:35:58 | → | mikail joins (~mikail@90.212.77.3) |
| 2021-07-10 15:37:54 | × | waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
| 2021-07-10 15:40:06 | <ahdyt> | oh my can't join |
| 2021-07-10 15:40:26 | <ahdyt> | meetup is horribly slow |
| 2021-07-10 15:43:44 | <sshine> | what are people working on during this cohack? |
| 2021-07-10 15:44:52 | <janus> | sshine: projects are being discussed now in breakout rooms |
| 2021-07-10 15:45:07 | <janus> | sshine: after that rooms will be created |
| 2021-07-10 15:45:30 | <janus> | sounds like there will be at least be a Traversible documentation room with vduchovni |
| 2021-07-10 15:45:33 | <sshine> | cool :) I'm at https://nwwc.dk/ this weekend, so not participating in the cohack rooms. |
| 2021-07-10 15:46:03 | <ahdyt> | wow yeah there's breakout room |
| 2021-07-10 15:46:12 | <ahdyt> | what are they talking about there? |
| 2021-07-10 15:46:39 | <janus> | there are 4 breakout rooms, there are 4-5 people in each |
| 2021-07-10 15:46:45 | <janus> | i dunno what they are talking about in the other ones |
| 2021-07-10 15:47:00 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 2021-07-10 15:47:08 | <ahdyt> | what about the one in your breakout room? |
| 2021-07-10 15:48:42 | → | econo joins (uid147250@user/econo) |
| 2021-07-10 15:54:26 | <Profpatsch> | lep: might actually be a cool effort to patch aeson to use less than 1GB for compilation |
| 2021-07-10 15:54:33 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 2021-07-10 15:54:40 | <Profpatsch> | And to track which modules take how much to compile under each GHC version |
| 2021-07-10 15:54:57 | <Profpatsch> | It might be silly stuff like deriving clauses taking lots of time/space |
| 2021-07-10 15:55:09 | <lep> | i think there actually was a ghc ticket about aeson through different ghc versions |
| 2021-07-10 15:55:10 | <Profpatsch> | so even adding a cabal flag to make things optional might help |
| 2021-07-10 15:55:43 | <janus> | ahdyt: there's gonna be a room on a stripe-haskell PR |
| 2021-07-10 15:55:50 | <Profpatsch> | imo aeson should be split into a non-fancy base package and a second one which implements the fancier interfaces |
| 2021-07-10 15:56:08 | <Profpatsch> | and maybe get a documentation overhaul |
| 2021-07-10 15:56:18 | <lep> | what do you consider fancy? |
| 2021-07-10 15:56:41 | <Profpatsch> | there’s so much crap in that module that nobody uses |
| 2021-07-10 15:56:48 | <Profpatsch> | like the whole ToJSON/FromJSON antipattern |
| 2021-07-10 15:57:03 | <Profpatsch> | (which everybody uses even though they shouldn’t) |
| 2021-07-10 15:57:04 | <ahdyt> | nice janus, are you join libby horacek? |
| 2021-07-10 15:57:33 | <Profpatsch> | lep: so a base module would just provide simple combinators, an efficient encoder and decoder |
| 2021-07-10 15:57:45 | <Profpatsch> | Probably not even many types apart from Value |
| 2021-07-10 15:57:49 | <lep> | dunno, i just want to have my json string to become a value with least amount of me typing stuff |
| 2021-07-10 15:57:53 | <Profpatsch> | And ToJSON/FromJSON would move to an optional package |
| 2021-07-10 15:59:54 | × | yauhsien quits (~yauhsien@118-167-64-241.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-10 16:02:20 | × | chomwitt quits (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Remote host closed the connection) |
| 2021-07-10 16:09:49 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-07-10 16:10:37 | × | azeem quits (~azeem@176.201.17.130) (Ping timeout: 246 seconds) |
| 2021-07-10 16:11:28 | → | azeem joins (~azeem@176.201.17.130) |
| 2021-07-10 16:22:20 | × | azeem quits (~azeem@176.201.17.130) (Ping timeout: 252 seconds) |
| 2021-07-10 16:23:00 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
| 2021-07-10 16:25:20 | → | azeem joins (~azeem@176.201.17.130) |
| 2021-07-10 16:31:26 | × | haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
| 2021-07-10 16:31:38 | → | haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de) |
| 2021-07-10 16:31:57 | <lbseale> | Profpatsch: why shouldn't one use ToJSON/FromJSON? |
| 2021-07-10 16:32:25 | × | azeem quits (~azeem@176.201.17.130) (Ping timeout: 268 seconds) |
| 2021-07-10 16:32:52 | <Profpatsch> | lbseale: because it binds your API to your types |
| 2021-07-10 16:33:02 | → | azeem joins (~azeem@176.201.17.130) |
| 2021-07-10 16:33:32 | <Profpatsch> | it is okay if you consume it with the same code (e.g. you have a client/server that both use the same ToJSON/FromJSON instance?) |
| 2021-07-10 16:33:41 | <Profpatsch> | *instances |
| 2021-07-10 16:33:59 | <Profpatsch> | But if you don’t either have a test for every single field or explicitely encode/decode |
| 2021-07-10 16:34:28 | <Profpatsch> | And e.g. it’s a dark pattern to bind the encoding of a thing to its type |
| 2021-07-10 16:34:42 | <Profpatsch> | for example you might not always want to encode integers the same way |
| 2021-07-10 16:34:53 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 2021-07-10 16:34:55 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-07-10 16:35:17 | → | Atum_ joins (~IRC@user/atum/x-2392232) |
| 2021-07-10 16:35:38 | <ahdyt> | how's encoding integers the different way? |
| 2021-07-10 16:35:51 | <dsal> | But I would always want to encode `SomeRequestType` the same way. |
| 2021-07-10 16:35:56 | <Profpatsch> | No |
| 2021-07-10 16:36:11 | <Profpatsch> | not if you API changes, you need backwards compat etc pp |
| 2021-07-10 16:36:40 | <Profpatsch> | Unless you have a Haskell type that you consider exactly your public API and never change in a backwards-incompatible way |
| 2021-07-10 16:36:58 | <lbseale> | right, that makes sense |
| 2021-07-10 16:36:59 | <Profpatsch> | And that doesn’t depend on any types that might change in a backwards-incompatible way |
| 2021-07-10 16:37:09 | <Profpatsch> | which is a really easy trap to fall into |
| 2021-07-10 16:37:15 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-07-10 16:37:22 | <lbseale> | I was thinking yesterday about how using FromJSON makes it impossible to handle fields that may or may be present |
| 2021-07-10 16:37:31 | <dsal> | How does it make it impossible? |
| 2021-07-10 16:37:31 | <hpc> | ahdyt: better example, sometimes you want your timestamps to be formatted strings, sometimes you want them to be epoch integers |
| 2021-07-10 16:37:36 | <lbseale> | and you really have to write you own instance if you want to handle that gracefully |
| 2021-07-10 16:37:44 | <hpc> | and sometimes the thing on the other end of the json is VERY picky about what format the timestamp is in |
| 2021-07-10 16:37:56 | <ahdyt> | ah so be it |
| 2021-07-10 16:37:58 | <hpc> | so you want the full power of formatting strings behind your encoding |
| 2021-07-10 16:38:05 | <Profpatsch> | lbseale: even worse, for some apis it might make a difference *per field* what happens if the field is missing or null or "" or … |
| 2021-07-10 16:38:09 | <ahdyt> | and what's the good solution that Profpatsch guided to? |
| 2021-07-10 16:38:12 | <ahdyt> | I didn't follow. |
| 2021-07-10 16:38:44 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2021-07-10 16:38:50 | <ahdyt> | Either or Maybe doesn't solve that Profpatsch? |
| 2021-07-10 16:38:52 | <Profpatsch> | ahdyt: plain old functions |
All times are in UTC.