(Edit: this comes across a bit aggressive, not meant so).<p>What benefits does copper bring over other langs?<p>Also loose is a bad move. Loose semantics proved a mistake (PL1), loose syntax brings nothing to the party. Semicolons were used in pascal because wirth understood parsing, and they are there to help the parser resync after a syntax error is detected.<p>From experience if you make semicolons optional as in sql, it helps not at all, AND they are (said by microsoft to) become mandatory in future releases of TSQL, AND I and at least some other users of SQL want them mandatory.<p>I also don't understand why a non-typical syntax is used. Not at all saying it's wrong but it seems to differ from other syntactic conventions only to be different rather than better (I may be wrong!). Why "gte(a: 100)"? Syntax matters to a degree, why diverge?
I wonder what "loose syntax" is supposed to mean here. No semicolons at the ends of lines? OK. Optional commas between function arguments? Hum. But at the same time this seems to require colons after... what exactly? Variable read accesses in argument lists? Unintuitive and not exactly "loose".
Might have been better to link to the docs (<a href="https://chronologicaldot.github.io/CopperLang/" rel="nofollow">https://chronologicaldot.github.io/CopperLang/</a>), where the "simplicity" part of the pitch is made clearer, as well as the inspiration from JS and Lisp.<p>Reading through them, it seems like an interesting language concept/experiment.
GitHub doesn't recognize this enough to summarize it, and that last paragraph seems weird to me; is this a customized license of one that I might recognize? <a href="https://github.com/chronologicaldot/CopperLang/blob/master/license.txt" rel="nofollow">https://github.com/chronologicaldot/CopperLang/blob/master/l...</a>