Live data from Hacker News

The Lobster Programming Language

strlen.com

51–60 of 171 posts

Re: The Lobster Programming Language

#52
post #43

Earlier 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 ...

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.

Re: The Lobster Programming Language

#53

Earlier 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.

I suggest people might pick up on that pretty quick, maybe no need to rename given some random comment. That said, maybe you want to have a gander through the various languages and see what words are used for what, and if there's a 'standard' go with that :)

Cool language though. I love everything except for the name, sorry :)

Re: The Lobster Programming Language

#55
post #31

Earlier 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…

Holy cow, are you the Quake Aardappel? That is a name I haven't heard in a long, long time...

Re: The Lobster Programming Language

#56

Earlier 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…

That sounds more similar to Swift's approach, where the compiler does aggressive optimisation to elide reference counts were possible. Do you agree?

Re: The Lobster Programming Language

#57
post #39

Major 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…

My point is that having scripting VM that is explicitly designed for game logic allows you to serialize only the relevant state. And if the whole system is designed correctly you can also do checkpointing and streaming replication essentially of the game state for free. This buys you things like rendering thread that is decoupled from the simulation (just draw the snapshot of state that was current on the start of rendering iteration), non-synchronized joins of multiplayer players (send serialized checkpoint and do stream the changes until the client catches up) and so on.

Re: The Lobster Programming Language

#58
post #29

Earlier quoted context omitted.

Btw, you have a bunch of dead links to Google+ (readme, the linked page, etc).

On http://strlen.com/lobster/ I only see a dead link to Google+ (which I'll remove, thanks!), but no other dead links?

A very cool domain name, by the way.

Re: The Lobster Programming Language

#59

Hi, 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…

Do you have any plans to support building statically linked binaries like Go?

Re: The Lobster Programming Language

#60

Earlier 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...

Yup, the one and only :) Do I know you as well?
Post reply on HN