smlsharp
Linq-in-Rust
Our great sponsors
smlsharp | Linq-in-Rust | |
---|---|---|
2 | 1 | |
211 | 122 | |
3.3% | - | |
3.7 | 2.5 | |
7 months ago | 5 months ago | |
Standard ML | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
smlsharp
- SML – a new language in the ML family
-
Table Oriented Programming (2002)
Another relevant software category is the statistical analysis languages, including SAS, Stata and SPSS.
Old-school SAS included only two data types (floats and character strings), but allowed for SQL and sequential data-steps to live together. Persistence was baked in. The floats could be used to represent dates, datetimes and other formats. I particularly appreciated being able to use macros to define a data-step view to split the follow-up for an individual from a table. Such a view could then be collapsed using SQL. SAS also allows for using variables. More recently, R tools such as dplyr have brought together data-frames and relational operations. However, I miss the sequential coding in SAS, using macros as higher-level tools to define the logic, including corner cases.
For strictly typed records, I have always wanted to spend more time with SML# [0] this allows for record updating, with close ties to SQL -- an under-appreciated version of SML.
[0] https://github.com/smlsharp/smlsharp
Linq-in-Rust
-
Table Oriented Programming (2002)
Rust has rather sophisticated macros, which let you do stuff like this outside the core language implementation, which is IMO very much where such things belong.
E.g. a linq clone in rust can look like this: https://github.com/StardustDL/Linq-in-Rust
linq!(from p in 1..100, where p <= &5, orderby -p, select p * 2).collect();
What are some alternatives?
empirical-lang - A language for time-series analysis
number_range - Parse human readable numbers list into an iterable and vice versa