3 ms·
I'm working in a relational language like http://www.try-alf.org/blog/2013-10-21-relations-as-first-class-citizen http://www.try-alf.org/blog/2013-10-21-relatio
by mamcx 11y ago
I'm working in a relational language like http://www.try-alf.org/blog/2013-10-21-relations-as-first-class-citizen 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
- mej10 11y agoAlso check out datalog. Datomic is a database that uses it as its query language -- it is really nice to work with.
- mamcx 11y agoDatalog 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?
- OJFord 11y agoIt'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.