Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Go can decode numbers losslessly as strings: https://pkg.go.dev/encoding/json#Number

json.Number is (almost) my “favorite” arbitrary decimal: https://github.com/ncruces/decimal?tab=readme-ov-file#decima...

I'm half joking, but I'm not sure why S-expressions would be better here. There are LISPs that don't do arbitrary precision math.



> Go can decode numbers losslessly as strings: https://pkg.go.dev/encoding/json#Number

Yup, and if you’re using JSON in Go you really do need to be using Number exclusively. Anything else will lead to pain.

> I'm half joking, but I'm not sure why S-expressions would be better here. There are LISPs that don't do arbitrary precision math.

Sure, but I’m referring specifically to https://www.ietf.org/archive/id/draft-rivest-sexp-13.html, which only has lists and bytes, and so number are always just strings and it’s up to the program to interpret them.


For actual SERDES, JSON becomes very brittle. It's better to use something like protobuf or cap'n'proto for such cases.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: