Skip to content

Support Hashtable JSO Objects #1

Description

@jl2

Right now most of the convenience functions (fj:getjso, fj:at, fj:jsoλ, etc.) only work with jso objects with association lists. Consider making jso objects with hashtables.

I'm not completely sold on this idea yet.

First, there are already utilities for working with hashtables, so why re-implement them here?

The implementation could also add some overhead. My first thought is to make a few low level functions into generic functions and methods (notably getjso, at, and maybe a few others), but there would be some overhead from that. Admittedly it's probably not a lot, but it may be enough to affect performance.

Another alternative would be typecases in those same functions, but that probably adds a similar amount of overhead.

The best thing to do would be benchmark, but if I do enough of the work to benchmark and compare, then I'd be well on the way of supporting hashtables.

The biggest argument against hashtables is that I haven't run into any situations where the alist implementation has caused performance problems.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions