Sindarin is an attempt to design a "universal transpiler". Primitives are imported so multiple transpilation targets can be used as "backends" for the language.
"Write once, run any how."
Sindarin has no keywords - only operators and punctuation.
Separators are good. They create "visual abstraction", and make code easier to read. Sindarin requires semicolons at the end of assignments, and uses curly braces for blocks.
Operators should visually imply their function as much as possible.
A language should be grammatically ordered such that autocomplete is possible. For example, the import / from ordering in JavaScript prevents useful autocomplete:
import { foo } from "bar;
Instead, imports in Sindarin are reversed:
bar { foo };
Sindarin is designed to make function oriented programming easy. Partial Application for example, makes currying much easier.
Sindarin is designed to be type safe, even when the underlying transpilation target is not.
The previous version of Sindarin was simply focused on syntax, rather than on transpilation. The llvm branch has a lot more code (including a proof-of-concept LLVM compiler written in TypeScript), but has a less developed syntax.