Show HN: The Blots Programming Language
paulrusso | 52 points
From the readme:
[1, 2, 3] * 10 // [10, 20, 30] (because [1 * 10 = 10, 2 * 10 = 20, 3 * 10 = 30])
[4, 5, 6] > 3 // true (because [4 > 3 = true, 5 > 3 = true, 6 > 3 = true], so the condition is true for all elements)
I guess most people would have expected that second expression to return [true, true, true]
Is this really more practical to single out booleans like that, compared to having a separate step for ANDing?rixed | 18 hours ago
What would you say is a benefit of using this over using jq?
abatilo | 5 days ago
Super cool! I’ve always wanted to make my own lil language and I’ve always been too intimidated to try.
markchristian | 5 days ago
I’m curious, what was the hardest part about making Blots? And what was the most fun part?
japprovato | 3 days ago
Blot on the landscape was a brilliant subversive comedy British TV series from the 80s.
mrlonglong | a day ago
For contrast, here's how I'd handle the example given on the front page in Lil[0]:
Lil doesn't have implicit parsing of .json arguments like Blots- certainly a nice feature for the niche Blots is aimed at. Lil also doesn't have an arithmetic average as a builtin like Blots, but in this case it's easy enough to do without.The biggest difference here is how Lil handles indexing: The ".." in that second line can be read as "for every index"; a wildcard. I can follow the mapping that occurs in Blots' "via" expression, but I find it less clear in this example.
It can also be nice to treat lists-of-objects as proper SQL-like tables:
I hope you continue to tinker and evolve Blots; a personal scripting language guided by the use-cases you encounter naturally can be very rewarding and useful.[0] http://beyondloom.com/tools/trylil.html