Week 12: Dedup & Documentation (& Examples)

This week focused on finishing up documentation, a little bit of cleanup and one final task of implementation that would be helpful. DISTINCT The SELECT DISTINCT clause currently uses a DEDUP(x,ALL), which is notoriously slow for large tasks. Instead an alternative clause was suggested TABLE(x,{<cols>},<cols>,MERGE); //eg. for a t1 table with c1 and c2 TABLE(t1,{t1},c1,c2,MERGE); …

Week 11: Machine Learning Methods and Final Presentation

This week, was adding some more Machine Learning Methods, and a final Presentation for the work I’ve done through this period! Adding More Machine Learning Support A set of other A set of other training methods were also added. GLM was decided to be split into some of its more commonly used components. This expands …

Week 10: Train and Predict

This week’s focus was more on getting train and predict working, the last two remaining statements. There were also some minor bugfixes. Declarations Declarations are used on the .dhsql files that we’ve worked on in the past. They’re a really nice candidate for adding in a way for bundles to indicate their train methods. However …

Week 7: WRITEs, DISTRIBUTE and Bugfixes

This week’s work was on getting the WRITE statement to work, and extending a DISTRIBUTE extension to SELECT. The rest, was getting some bugfixes and reading. Write The OUTPUT statement in HSQL is intended to be a way to output values to a workunit. In ECL however, OUTPUT can be used to write to a …

Week 6: Plots and TextMate Grammars

This week’s plans were to essentially work on and implement the PLOT statement, and then to see how to update the TextMate Grammar and add in the new syntax. Plots Continuing from last week, we have auto-imports and an AST for Plots. With some little code generation, we can have a functioning PLOT statement. Here’s …

Week 5: Imports, more imports and plots

This week’s plan is to work on imports, as a step leading to the implementation of the PLOT statement. The idea is to be able to locate ECL imports, and hint to the compiler what is contained in an ECL file. DHSQL An idea inspired by the relationship between javascript and TypeScript, the idea is …

Week 4: Working towards SELECT

This week’s work is planned exclusively around getting select to work; its a huge part of the language. The decision, was to use FUNCTIONS, to emulate a SELECT. Why? Because functions in ECL have their own scoping, and local variables declared there, will be usable outside the scope of the function. However, a function cannot …

Week 3: Extension, scopes, and planning Select

I started work on the extension first. Needing some changes, I needed two primary features: Syntax checking, and compiling to ECL as a primary featureset. So, I decided to go in order. For syntax checking, the basic process is: The language client keeps sending info about the text documents on the IDE, to the language …