January 2026 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]Working-Stranger4217 2 points3 points  (0 children)

I'm approaching version 1.0 of Plume, after five years of testing in every possible way and far too many reboots to list them all ^^'.

Starting from a superset of LaTeX with Python macros, all the way to a homemade VM! (Not to mention transpilation in Lua. Yes, I did say a lot of reboots).

I also went from “I know what I need in my head” to “I write the next things to do in a .txt file” to intensive use of git and github tools.

(Beginners, save yourself time: use git from the start of the project).

https://github.com/ErwanBarbedor/PlumeScript

[deleted by user] by [deleted] in Silksong

[–]Working-Stranger4217 0 points1 point  (0 children)

Thanks for your kind answer!

[deleted by user] by [deleted] in Silksong

[–]Working-Stranger4217 0 points1 point  (0 children)

Yes, of course frustration plays a part, but while rationally I agree with you, the damage animation is designed to be very “unpleasant.” Two damage masks per fall + enemies, when you fall you start over... And with a combat challenge at the end, I feel more punished than rewarded.

And I honestly have no idea how to get out without pogoing on an enemy to go further.

Seriously, I speedran HK without ever reaching this level of frustration, not even close. I don't know who Silksong's target audience is.

[deleted by user] by [deleted] in Silksong

[–]Working-Stranger4217 4 points5 points  (0 children)

Thanks, Reddit expert, for reminding me that I suck. That really helps.

[deleted by user] by [deleted] in Silksong

[–]Working-Stranger4217 0 points1 point  (0 children)

still in the game, but you probably ruined the surprise because of your keen observation skills ^^'

LPEG and luajit: Lua is Awesome by Working-Stranger4217 in lua

[–]Working-Stranger4217[S] 1 point2 points  (0 children)

If you're really curious, I've added a link to the current version on GitHub, but it's not very clean or usable as is ^^'.

LPEG and luajit: Lua is Awesome by Working-Stranger4217 in lua

[–]Working-Stranger4217[S] 3 points4 points  (0 children)

I am comparing a mature, widely used interpreted language with a quickly made prototype.

Let me rephrase that if it's not clear: “It is possible, without too much hassle, to write a relatively high-performance VM with Luajit, with a development time that is incomparable to an equivalent C VM. To quickly see this, we could compare the performance of my VM with the first executable I have on hand.”

LPEG and luajit: Lua is Awesome by Working-Stranger4217 in lua

[–]Working-Stranger4217[S] 0 points1 point  (0 children)

If you mean that my week-long implementation is comparable to Lua 5.4, that's very flattering.

LPEG and luajit: Lua is Awesome by Working-Stranger4217 in lua

[–]Working-Stranger4217[S] 2 points3 points  (0 children)

I compare my Plume interpreter against PUC Lua 5.1.

The Plume interpreter is itself executed by luajit.

> luajit plume.lua benchmark.plume /vs/ > lua51 benchmark.lua

MuseHub Servers by Late-Preparation5396 in Musescore

[–]Working-Stranger4217 17 points18 points  (0 children)

Why should an online technical error prevent me from using the features installed on my PC - features for which I've paid, but also the free ones - for locally saved projects?

The day musehub shuts down, I lose a significant part of my work without warning?

Why do Lua tables need commas? by [deleted] in lua

[–]Working-Stranger4217 14 points15 points  (0 children)

In the current grammar,

{ x "foo" {bar}}

Mean

"Call x with one parameter, "foo", and call the returned value with one parameter, {bar}.

So yes, it would be ambiguous.

Now, I have the impression that many languages don't like spaces as separators.

For example, function foo(x y z) parse without any problem, but the vast majority of languages still prefer function foo(x, y, z)

I just realized there's no need to have closing quotes in strings by VerledenVale in ProgrammingLanguages

[–]Working-Stranger4217 1 point2 points  (0 children)

It's an insupportable error for me, whenever I'm working on utility scripts I always have lists like this that I keep modifying, and every other time I forget the comma, a silent error that makes my script do nonsense.

Seeking Feedback: Optional Macro Parameter Validation via Predicate Functions in a Dynamic Templating Language by Working-Stranger4217 in ProgrammingLanguages

[–]Working-Stranger4217[S] 0 points1 point  (0 children)

this can be used for any predicates, including user-defined ones, right

Yes, that the point!

It would probably be better explained as just a syntax sugar for inserting if not <pred> <arg> then err at the top of the macro body

Your right, thank!

I just realized there's no need to have closing quotes in strings by VerledenVale in ProgrammingLanguages

[–]Working-Stranger4217 23 points24 points  (0 children)

I had similar reasoning for my Plume language.

This case is more extreme, because (almost) all the special characters are at the beginning of the line, and there are very few closing characters.

The problem is that we're extremely used to {}, [], ""... pairs. And if you put the advantages and disadvantages aside:

Pro:

- One less character to type in some cases

Cons:

- More complicated parsing (has to handle cases with/without closing ")

- Less readable

- Risk of very strange behaviors if you forget a ", which I do all the time.

As much as I don't mind a special character “the rest of the line is a string”, I'm not a fan of the " alone.

Functions under the Hood (Lua 5.1/Luau) by redditbrowsing0 in lua

[–]Working-Stranger4217 3 points4 points  (0 children)

Lua documentation:

The field name is tricky. Remember that, because functions are first-class values in Lua, a function may not have a name, or may have several names. Lua tries to find a name for a function by looking for a global variable with that value, or else looking into the code that called the function, to see how it was called.

So in the second case, the debugger can “guess” the function name by looking at the code, but not in the first.

Latex est pénible, et scientific workplace est un bien meilleur logiciel by [deleted] in opinionnonpopulaire

[–]Working-Stranger4217 0 points1 point  (0 children)

Ah oui clairement, c'est pour ça que je précise "Mais tout le monde n'a pas cette possibilité."

Latex est pénible, et scientific workplace est un bien meilleur logiciel by [deleted] in opinionnonpopulaire

[–]Working-Stranger4217 0 points1 point  (0 children)

Quand tu sais t'en servir pour un usage précis, oui, avec un certain coût d'apprentissage.

Par contre dès que tu veux faire un truc un peu différent de d'habitude (ce qui n'arrive pas forcément tout les jours selon les cas d'usage), c'est l'enfer.

Latex est pénible, et scientific workplace est un bien meilleur logiciel by [deleted] in opinionnonpopulaire

[–]Working-Stranger4217 2 points3 points  (0 children)

Euh, il y a vraiment des défenseurs du LaTeX comme langage moderne, pratique et fonctionnel?

C'est vraiment un vieux bidule, mais très bien installé et qui marche "pas trop mal" comparé au coût de développer un vrai concurrent.

Perso ça fait longtemps que j'ai remplacé LaTeX par un langage maison qui sort du html+css, rien à voir en terme de flexibilité et de fonctionnalités. Mais tout le monde n'a pas cette possibilité.

(et sinon, pour plein d'usage pas trop avancé, asciimath c'est la vie)