back
user profile
lerno
1,422karma·409submissions·April 1, 2014
recent activity (409 total)
comment
Thank you!
comment
Vector types are built in, which you can do operations on, e.g. float[<4>] y = { 1, 2, 3, 4 };
float[<4>] z = { 2, 2, 2, -100 };
float[<4>] w = y + z;
It's not …
comment
Do you wonder about how type promotion rules work in C3? If so then I can explain them as they differ somewhat from C. The reason for not using bitsize numbered types is readability e.g. `for (i8 i = …
comment
BetterC is very nice. I'd like to imagine BetterC lifted out of the D compiler with its own spec and separate evolution... That would have been ideal for me. But with BetterC as part of the D com…
comment
C++ compile times would like to have a word with you ;) The biggest drawback of C++ are the atrocious compile times.
comment
I actually tried to look for substdio but I failed to get anything good by googling (just that qmail uses it)
comment
There isn't much of a reason to use anything beyond UTF8 today except for interfacing with code and documents that use UTF16.
comment
C is a great language. Actually it's not that small, it's just that modern languages often are very big (easy if you compare yourself to C++). The feature bloat is a fairly recent trend.…
comment
D's betterC is very nice. Very much worth looking at.
comment
Variants... that's a bug in the documentation. Thanks for finding it! I agree about strings. There are basically two strings we use: the string builder and the "string data" which is an…
comment
It simplifies the parser somewhat, but C3 restricts the grammar somewhat from C, so it's possible to unambiguously parse it. However, for people writing tools using `fn` is much easier to parse f…
comment
You shouldn't use C3 on any larger project, but it could be an option for doing gamejams (with raylib or something else with a C API). For vkDoom it's not a port to C3. What it demonstrates …
comment
C3 doesn't have declaration of structs/unions in variable declarations. So both are equivalent and are syntax errors.
comment
You can't name the inner struct. So here are the options: Say that you want this from C: struct Foo
{
struct Bar {
int x;
int y;
} bar;
};
struct Foo…
comment
No, you misunderstand. There is no `struct Foo foo`. Unlike C `struct Foo` would only ever be valid at the top level.
Neither `struct Foo foo` nor `struct bar Bar` works. The reason why `Bar` is a typ…
comment
Interestingly removing `fn` was something I've considered more than once, but I had people ask me to keep it. Even though you can get searchability in C by adhering to certain conventions, that…
comment
The first part about the name is just like C++: you use the name without `struct` unlike C where structs has its own namespace. That's what it's meant to illustrate. The second question is m…
comment
Getting productive easily is the pretty much the definition of not having a steep learning curve. So I have difficulties making sense of your argument.
comment
How does a short learning curve necessarily correlate to a "nearly empty" toolbox? That seems like a fallacy to me. Ruby is fairly easy to learn. Does that mean it has a nearly empty toolbox…
comment
I don't mind a sane defer in C, that is something which follows scope in the same way stack allocated destructors are invoked. This follows the behaviour in other languages like Swift. Why "…
comment
I believe the kernel design is inspired by the original NT design.
comment
I feel quite the opposite - this is would be like a mistake like VLA * 100000.