Hacker News new | ask | show | jobs
by mamcx 3806 days ago
I'm working in a relational language like http://www.try-alf.org/blog/2013-10-21-relations-as-first-cl....

However a noob in building a language ;)

I have learn a lot of stuff. For example, columnar-stores provide some nice oportunities to manage data in-memory + compress values in columns.

Sorting, joining & selecting on multiple-arrays that are a necessity for OLAP queries translate well to the need of normal programming.

SQL is a overcomplication and a bad "programming" language. Unfortunately, the only practical way to interface with most databases.

If my plan work, this could be good to build a relational store, that with let your to say: The name is a string, and I need to search on it. A normal engine will need to store it again in a index. I will say instead, the name column is the index and the values are stored once.

Or something like that.

BTW: A relation have some simmetry with inmutable functions, but I still don't know how exploit this fact

1 comments

Also check out datalog.

Datomic is a database that uses it as its query language -- it is really nice to work with.

Datalog not "click" to me. Is weird to understand and another uncommon programming model, and think that the ideao of build a relational language exhaust the limit of paradigm switch for my potential users. However I wonder if can be used as a internal engine and will provide efficient/easier backend for all the relational stuff?
It's almost 'free' if you know even just basic Prolog.

I learnt it before Prolog, and personally really like it, much more than I do SQL. It's a slightly different mindset - "what is a result" rather than "how do I go about finding a result" - but one that I found more intuitive in an Intro to DB course.