Considering Creating a DataFrame Package

Hello @AustinNar, exciting to see discussion of this topic!

On the join question, at some point I explored some different options and l personally like the path of using tuples to combine the records.

So joining { name = "tom", x = 3, y = 4 } and { name = "tom", age = 52 } on the name field would result in:

("tom", { name = "tom", x = 3, y = 4 }, { name = "tom", age = 52 })

Still pretty easy to work with, no sacrifice on type safety, and easy to access the join key for further joins. If you had a bunch of joins that resulted in a structure like ((a,b),(c,d)) I might do a map at the end to turn it into a nicer data structure. Maybe extracting the specific data that I want, or just flattening that outer layer into a single record.

Generally speaking, my feeling is that merging records is always equivalent to nesting records from a practical perspective, and luckily nesting is not such a hard type theory problem! :sweat_smile:

Anyway, does the tuple idea sound like a plausible route for you?