IMO the README is not Claudish, this project is in an area that is more "computer science" than "coding" and there is simply a high bar on whats needed for prior knowledge. I think you could say ELI5 "Explain Like I'm 5" and it probably is possible to do so, but I don't think its correct to say "claudish".
It essentially lets you define a communication protocol where things have to happen in a certain order. At compile-time, your ordering is checked against certain rules, and certain classes of deadlocks and hangs can be avoided. The order of actions is then enforced at runtime.
"There are few who can. The language is that of Opus 5, which I will not utter here... In the common tongue it says... err.. actually I don't know what it says."
This seems to be a popular idea recently. After reading this paper[1] I ended up building this into my actor based language[2]. It makes a lot of sense in actor based concurrency, I'd be curious to know what rust devs think of this since it's a bit different from how they often do concurrency.
I had Claude implement a similar one for me in Rust which I'm pausing for now, I'm prototyping a simpler version of Orleans in Go that I eventually want to port over to Rust as my v2 from scratch. The ideas in Virtual Actors reminded me a lot of Erlang, but simple to use in a language like C# I'm still surprised it didn't take off in other languages.
Honestly, if Go supported message passing between processes and over the network out of the box, it would make for a slightly more interesting language, I still love Go though.
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.
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.
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#.
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.
The problem with Claudish and this README is that the whole thing is vapid text adding up to nothing in particular. When AI takes over a project like this it really has no goal.
> Repeated regions add no iteration field to endpoint types, descriptor rows
So what? Is this a goal or an admission? Is this something you implemented or what was done before?
Abstractions should be earned.
Not because executing them is expensive but because understanding them is.
And human-readable code, for that matter.
"There are few who can. The language is that of Opus 5, which I will not utter here... In the common tongue it says... err.. actually I don't know what it says."
[1] https://simonjf.com/writing/eventactors.pdf
[2] https://march-lang.org/docs/choreography/
https://www.microsoft.com/en-us/research/project/orleans-vir...
I had Claude implement a similar one for me in Rust which I'm pausing for now, I'm prototyping a simpler version of Orleans in Go that I eventually want to port over to Rust as my v2 from scratch. The ideas in Virtual Actors reminded me a lot of Erlang, but simple to use in a language like C# I'm still surprised it didn't take off in other languages.
Honestly, if Go supported message passing between processes and over the network out of the box, it would make for a slightly more interesting language, I still love Go though.
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.
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#.
Yeah, claude can get pretty far into language projects on 1 million tokens.
How are you doing endpoint projection?
What is your KoC strategy?
What existing research systems (Choral, MultiChor, Chorex, etc.) did you take as inspiration?
What benefits does your system have over ChorRus?
> Repeated regions add no iteration field to endpoint types, descriptor rows
So what? Is this a goal or an admission? Is this something you implemented or what was done before?