If I want to make Rye example from the Emacs screenshot work (previous post), there is quite a list of boring stuff I need to do next. Things that weren't main language design questions so I was jumping over them so far, now have to be done.
One of them is concrete handling of JSON data. Rye is meant to be a practical language, and good at back-end / data exploration tasks. So handling of bigger JSON files should work and be efficient.
That is why we don't want to load, for example, a big JSON and convert it to all boxed Rye values until we really need to.
Rye has an associative datatype (like JavaScript's Object) in the form of Context. And the series datatype (like Array) in the form ob a Block. But rye also has 2 more native types, that are currently named Dict and List.
While context's keys are indexed words, Dict uses ordinary strings and not even Rye-s boxed strings, but unboxed Go-Lang strings. Same is for list, it's a Go slice of unboxed Go-Lang values.
But the API should be the same, as far as it makes sense, to their bulkier cousins.
Next I will need to upgrade the validation dialect to not only work on individual dicts but also lists of dicts. The exact handling of validation errors will also be interesting.
Komentarji
Objavite komentar