The Lobster Programming Language
51–60 of 171 posts
Re: The Lobster Programming Language
#52Earlier quoted context omitted.
#include causes the preprocessor to replace it with the specified file. Why is that bad?
Because ostensibly we've moved on from that to the concept of actual modules. 'including' stuff entails a whole host of ugly things including multiple definitions, circular dependencies etc. etc.. Most languages use some kind of module resolution, which when specified clearly is usually better. Of course sometimes they forget to define things, and leave us in a lurch ... but hey ...
Re: The Lobster Programming Language
#53Earlier quoted context omitted.
Because ostensibly we've moved on from that to the concept of actual modules. 'including' stuff entails a whole host of ugly things including multiple definitions, circular dependencies etc. etc.. Most languages use some kind of module resolution, which when specified clearly is usually better. Of course sometimes they forget to define things, and leave us in a lurch ... but hey ...
You're reading too much into the keyword.. in Lobster, this does never include anything twice. Circular dependencies just work, without having to pre-declare anything. I should probably rename it.
Cool language though. I love everything except for the name, sorry :)
Re: The Lobster Programming Language
#54Re: The Lobster Programming Language
#55Earlier quoted context omitted.
Hi! I might be an embarrassingly gushing fanboy about everything you do, so I'm probably biased here. (I wrote the FlatBuffers Wikipedia page, for example.) Lobster is pretty inspiring (despite not being nearly as radical as, e.g., Aardappel) with its lightweight lambdas and (like most of your work) a very minimal core language. Is there a comparison of different versions of Lobster somewhere? I'd like to be able to…
Hah! Thanks a lot for the wikipedia article :) Yes, Lobster is meant to be a much more pragmatic language, for people like myself to actually get the job of making a game done :) Other languages of mine are much more research-y. Though I will say I think the type system and lifetime analysis are pretty novel actually. I'd like to think there's really only one Lobster, while older versions are still recoverable, they…
Re: The Lobster Programming Language
#56Earlier quoted context omitted.
Would you mind elaborating on the "compile time reference counting"? Is this new? How does it handle cycles?
It is so new I haven't even documented it yet.. hence why I said the timing for this HN post isn't great. So imagine the current implementation does a lifetime analysis somewhat similar to Rust, but then where Rust would error out, this implementation simply inserts a runtime refc increase. This gets rid of most runtime refc overhead without the programmer needing to be clever about it. Then, I intend to add an optio…
Re: The Lobster Programming Language
#57Major reason why many game engines used to have native core and then some kind of "scripting" language for game logic (think Unreal Engine before 3, but many engines are similar) is that then you can trivially serialize the simulation state (ie. save game) and even run the whole thing as either lock-step, forward predicted or fully distributed network game without much effort on the part of whoever is writing the "sc…
Agreed, those are nice benefits. But there are also huge downsides, in the sense that you're writing all the glue code in the wrong language :) The amount of speed of iteration you get from having your entire engine + game's structure in a friendlier language is impressive (in my experience). Also doing savegames by just serializing the entire scripting VM may work in some cases, but can also be problematic, since yo…
Re: The Lobster Programming Language
#58Re: The Lobster Programming Language
#59Hi, author of the language here. Not a great time for HN exposure, as I just added a lot of new functionality, but none of that is documented yet :) But hey, all publicity is good publicity? For those interested, some recent things that have been happening: - Compile time reference counting. This does an analysis similar to the Rust borrow checker to infer lifetimes, but unlike Rust doesn't make the programmer jump t…
Re: The Lobster Programming Language
#60Earlier quoted context omitted.
Hah! Thanks a lot for the wikipedia article :) Yes, Lobster is meant to be a much more pragmatic language, for people like myself to actually get the job of making a game done :) Other languages of mine are much more research-y. Though I will say I think the type system and lifetime analysis are pretty novel actually. I'd like to think there's really only one Lobster, while older versions are still recoverable, they…
Holy cow, are you the Quake Aardappel? That is a name I haven't heard in a long, long time...