Hello Stefan, ..
Your below code for calculating the "Maxium out degree" basically re-implements in MAL (and interpreted language) what does already exist a= s ((hopefully higly optimized) MAL primitive that is implemented in C (and hence compiled code: a histogram.
In other words, to get the most out of MonetDB, one should not see and us= e MAL as an imperative programming language to iteratively process data ite= ms one at a time, but rather as a declarative query language to process larg= e amount of data in one go (you may also think of it as something like "SIMD"). ..
Well, it looks like you just got me interested in diving deeper into MAL :) However, to get more out of this than mere researching curiosity, I am viewing it in context of a long-term deployment strategy, where I have to care about standardization. So I have a couple of questions: I get the impression that MAL is currently a unique tool in the global software landscape, so once an application is developed using MAL, migrating to another database engine would be rather expensive. Has it been considered to get MAL more standardized? Or are there other, standardized languages serving a related purpose, for which it is considered to evolve MAL in the direction of that language of a (sub|super)-set thereof? A possibly easier approach to dive into MAL and still be able to build upon it in a standardized environment would be to stay with SQL for interfacing, and to use MAL for developing application-specific optimizations on the intermediate MAL code. What is the best way to get started on that? Do you have any design documents specific to the SQL-MAL compilation layer? Many thanks. Best regards, Isidor