Earlier quoted context omitted.
Saying safe will be too early, but design philosophy is no compromise with security and speed with easy syntax. It passed with 550+ test cases including unit test, memory stress, integration, circular dep, regresssion, valgrind memory leak, fuzz testing, also i added conservative limits max depth for recursion and data length for stability. Find here https://github.com/nynrathod/doolang/blob/main/src/limits.rs Doolan…
When I say safety I mean inability of the programmer to trigger UB using normal language features, like it's impossible in Rust and several other (less known) languages. Does Doo support it? Or I just can shoot the leg and compiler lets me do this? About references: am I correct, that any value is reference-counted and one can pass it to a function and mutate it (the original, not a copy).
Doo: A Simple, Fast Programming Language Built on Rust and LLVM
11–20 of 28 posts
Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#12Earlier quoted context omitted.
When I say safety I mean inability of the programmer to trigger UB using normal language features, like it's impossible in Rust and several other (less known) languages. Does Doo support it? Or I just can shoot the leg and compiler lets me do this? About references: am I correct, that any value is reference-counted and one can pass it to a function and mutate it (the original, not a copy).
Doolang aims for memory safety with static typing and automatic reference counting, so you won't see classic C/C++ bugs. But it does not claim Rust's level of safety there’s no formal guarantee that safe code can't cause undefined behavior. It's quite safe in practice, just not as strict as Rust. For complex types (strings, arrays, maps), values are reference-counted and passed by reference. If you pass such a value…
void Foo( int& x )
{
x= 123;
}
void Bar()
{
int x= 0;
Foo(x);
}Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#13Earlier quoted context omitted.
Doolang aims for memory safety with static typing and automatic reference counting, so you won't see classic C/C++ bugs. But it does not claim Rust's level of safety there’s no formal guarantee that safe code can't cause undefined behavior. It's quite safe in practice, just not as strict as Rust. For complex types (strings, arrays, maps), values are reference-counted and passed by reference. If you pass such a value…
So, what if I want to pass a value of a primitive type by-reference? How the equivalent code for the following C++ example looks like? void Foo( int& x ) { x= 123; } void Bar() { int x= 0; Foo(x); }
Only support this as of now
fn Foo(x: Int) { x = 123; // Only modifies Foo's local copy print("inside Foo", x); // Print 123 } fn main() { let x: Int = 0; Foo(x); // x is still 0 here after Foo returns print("out x", x); // Print 0 }
Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#14Is it safe? Does it require using traits everywhere, like Rust does? Does it have proper references (C++ style)?
Saying safe will be too early, but design philosophy is no compromise with security and speed with easy syntax. It passed with 550+ test cases including unit test, memory stress, integration, circular dep, regresssion, valgrind memory leak, fuzz testing, also i added conservative limits max depth for recursion and data length for stability. Find here https://github.com/nynrathod/doolang/blob/main/src/limits.rs Doolan…
Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#15Earlier quoted context omitted.
Saying safe will be too early, but design philosophy is no compromise with security and speed with easy syntax. It passed with 550+ test cases including unit test, memory stress, integration, circular dep, regresssion, valgrind memory leak, fuzz testing, also i added conservative limits max depth for recursion and data length for stability. Find here https://github.com/nynrathod/doolang/blob/main/src/limits.rs Doolan…
Nooooo! "valgrind memory leak". Aaargh. Valgrind (memcheck) is not just a leak detection tool. Leak detection is so unimportant that it isn't even turned on by default.
Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#16Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#17Have you given any thought to supporting Wasm Components as a build target?
Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#18Just want to say, you did all the right things: Simple instructions, to the point and, and I can't stress this enough - examples. Like 9/10 when someone shares their language, they have little to no examples and it's the first thing people ask for.
I do think you could probably have a few more examples that are like the calculator and less of what's basically a one liner.
On the language: I like what's there so far. It's clean minimalist, and familiar.
The problem is that there's not really a USP that I can see. I get the rust but with reference counting, but I don't think that's even close to enough. There has to be a really really good reason for people to try and use a new programming language. And I don't really see the overall vision beyond a small hobby project (which is fine if that's what you were aiming for)
> Missing a killer feature?
Yes, very much so.
Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#19Earlier quoted context omitted.
I think there is a bit of a additional value here. It's very good as a learning project, like "how to make you own programming language and compile it into executable". Due to the simplicity and minimalism, it could be very useful.
Hi, Yeah make sense, but I don't have any buzzing goal right now, doolang is not any dsl, just to ensure high level syntax for developer writing backend servers apis. And not started as learning project. Will move forward as per feedback of community and requirement but not such specific target im aiming. so again simple concept is keep it simple to write with speed and security
Re: Doo: A Simple, Fast Programming Language Built on Rust and LLVM
#20Great start! Just want to say, you did all the right things: Simple instructions, to the point and, and I can't stress this enough - examples. Like 9/10 when someone shares their language, they have little to no examples and it's the first thing people ask for. I do think you could probably have a few more examples that are like the calculator and less of what's basically a one liner. On the language: I like what's t…
And really make sense your point to have usp or any unique or good feature doolang should have. As this is just starting point of doolang, and honestly i never started this as hobby project I want this to be mature over years not to replace any languge but to have simplicity for writing servers and apis. after few months I will definitely integrate this with my own production note taking app once i improve this language.
Reference counting i Introduce for auto memroy mgmt only, as rust ownership and borrow method will be extreme complex to implement as solo dev i feel.
But now im clear now language should have any special feature or target which is lacking, idk what to find for this, but it will be valuable if you can suggest, im also thinking to have new post to ask feedback from community what they want in such language. Any suggestion?