Remix.run Logo
▲ ch4s3 2 hours ago

This is an interesting question! I'm not an expert in Orleans but I have looked at it alongside koka. The user defined key vs pid distinction is important and using a user defined key like in Orleans has advantages for keeping track of their virtual actors(grains). Their automatic lifecycle management is nice, but you really have to trust the runtime to know when something is really idle. I think their failure handling with auto state restoration is a mistake, recreating an actor with bad state is a recipe for crashes.

What I have that Orleans is missing is compile time protocol checking, typesd and hash checked remote calls, capability management, cluster authentication, and no stop the world GC. Orleans doesn't have choreography per se, they have sagas as a convention.

Yeah, GO routines are meant to solve different problems than share nothing actors.

▲giancarlostoro an hour ago | parent [-]

Nice! I might have to check out yours sometime, I did think about converting a language I built up for .NET with a Python inspired syntax to treat Orleans as a first class citizen as an experiment to see if I could build a sort of DSL for Orleans.

https://github.com/Giancarlos/Culebral

I had to pause for now, been building other things I have wanted made for years with Claude, Culebral was my dive into seeing how 1 million tokens in Claude could accomplish, I think current state took under 1 or 2 million tokens from Claude total.

I know it sounds silly, but the only .NET Pythonesque language I saw available is basically abandonware iirc so I wanted something that was more .NET specific so I could write less code to do the same as I would in C#.

▲ch4s3 43 minutes ago | parent [-]

That's pretty neat. I love the things I see people doing like this where they build up some cool functionality behind a nice and straightforward syntax.

Yeah, claude can get pretty far into language projects on 1 million tokens.