I'm not sure I'm a fan of the 'Enhance' concept[0]. It seems to be similar to prototype Pollution in JavaScript[1] which is generally considered bad practice. I can't tell, is `Enhance` scoped to the current context? Or does it affect all of that type throughout the rest of the program? [0] https://lang-senegal.web.app/docs/enhance [1] https://portswigger.net/daily-swig/prototype-pollution-the-d...
The "enhance" seem to be monkey patching, which is a common practice in dynamic languages. Prototype pollution is when malicious people use monkey patching to introduce vulnerabilities.
The Senegal Programming Language
11–20 of 80 posts
Re: The Senegal Programming Language
#12Re: The Senegal Programming Language
#13so many new programming languages come out that are almost identical to existing ones. Where's the crazy ideas (aside from the esoteric languages, which are different because they're intentionally difficult). I'd love to see more entries in the areas other than OO or procedural languages (or even just a variation on those, like an actor-model language). There's so many ideas in the programming language theory space t…
Re: The Senegal Programming Language
#14Earlier quoted context omitted.
I have the same question. The documentation does a good job presenting the language, but not the motive or sweet spot use case.
There's a Discord where you can probably get the answer to your question: https://discord.gg/9dq6YB2
It's as if the new generation of developers doesn't realize the difference between transient conversations (which is what happens on Discord/Slack) and creating knowledge (which needs to be persistent and searchable, neither of which is afforded by aforementioned chat services).
Re: The Senegal Programming Language
#15Re: The Senegal Programming Language
#16Earlier quoted context omitted.
There's a Discord where you can probably get the answer to your question: https://discord.gg/9dq6YB2
Official Discords/Slacks for programming languages should be considered an antipattern - especially if they end up replacing documentation or a discussion group. It's as if the new generation of developers doesn't realize the difference between transient conversations (which is what happens on Discord/Slack) and creating knowledge (which needs to be persistent and searchable, neither of which is afforded by aforement…
Re: The Senegal Programming Language
#17Earlier quoted context omitted.
Official Discords/Slacks for programming languages should be considered an antipattern - especially if they end up replacing documentation or a discussion group. It's as if the new generation of developers doesn't realize the difference between transient conversations (which is what happens on Discord/Slack) and creating knowledge (which needs to be persistent and searchable, neither of which is afforded by aforement…
Did programming language projects utilize IRC channels in the past?
This applies to communities in general (on-line and off-line). Knowledge needs to be captured outside of the minds of select participants. It's e.g. why, in our local Hackerspace, I always insisted on the rule that anything said on IRC (or later, Telegram) is non-binding - the only things that matter are ones decided on the mailing group or documented on the wiki. To do otherwise is to force out everyone who can't keep pace with the common chat.
Re: The Senegal Programming Language
#18Earlier quoted context omitted.
There's a Discord where you can probably get the answer to your question: https://discord.gg/9dq6YB2
Official Discords/Slacks for programming languages should be considered an antipattern - especially if they end up replacing documentation or a discussion group. It's as if the new generation of developers doesn't realize the difference between transient conversations (which is what happens on Discord/Slack) and creating knowledge (which needs to be persistent and searchable, neither of which is afforded by aforement…
But regardless, my experience is that once languages reach a critical mass they do get real documentation in a more browsable format. And I think Discord is a totally valid temporary solution for documentation, and a totally valid replacement for discussion groups.
Re: The Senegal Programming Language
#19What is a "modern" syntax?
Re: The Senegal Programming Language
#20Reading through the docs I was wondering 'why' as mentioned in another comment. I hoped to find it in the concurrency section and was disappointed to see that it's only single-thread async:
> Coroutines are light-weight thread-like objects allowing you to write asynchronous non-blocking code as well as handle errors in Senegal. The key difference between threads and coroutines is that a program with threads runs several threads concurrently, whereas coroutines run a single coroutine and cooperatively. A coroutine is not paused so that control can be given to another unless and until you tell it to.
There still was a section about C interfacing, but many languages do that. In the end, it seems to be about syntax which is the least interesting thing about a language. What can a new language do that an existing one doesn't do well? If it's a hobby project that's well and good. Only wasn't clear what the intentions/target is from the too brief README.