Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

New language

Name: Anonymous 2012-10-06 17:20

Runtime optional.
GC optional.
Static typing.
Binary compatibility with C.
Algebraic types.
Lambdas.
Traits.
Safe shared mutable state.

Name: Anonymous 2012-10-09 20:34

>>80
The claim was that C++ had ADTs. boost::variant sort of provides one aspect of ADTs in a very clumsy fashion, but it doesn't bring it home.

With a lot of support code particular to each ADT you can use it get the same functionality, which you could do with classes (or just a collection of functions) in the same amount of space. Externally it would be just as typesafe too.

Name: Anonymous 2012-10-09 21:12

>>75
I'm not seeing anything on the memory safety angle
It's a garbage collected language with the option to turn the GC off, and the option to use pointer arithmetic, unsafe casts, etc. There is a language feature that allows you to mark memory-safe functions as @safe, which the compiler can statically verify.

Also, what does it do shared mutable state?
All data is thread-local by default, and must be specifically declared to be shared across threads. See the shared and _gshared qualifiers. There is also an immutable keyword that guarantees there are no mutable references to a given piece of data, which is amazingly better than C++'s const, which still allows you to alter the data through a mutable reference.

Name: Anonymous 2012-10-09 21:48

>>82
That's alright. How does the shared state work? Does it prevent races?

Name: Anonymous 2012-10-09 23:36

>>83
There is no shared state, other than what you explicitly declare. As long as you declare everything that's shared to be immutable, there are no data-races because your shared data can't be altered. D has a small concurrency library built for message passing (which is the preferred means of communication between threads), and there is also the core.sync.* set of modules that provide an implementation of the mutexe, semaphore, etc. if you really want to maintain a global shared state.

Name: Anonymous 2012-10-09 23:36

>>83
There is only one race: human.

Name: Anonymous 2012-10-09 23:42

>>83
It prevents niggers and Jews, if that's what you mean.

Name: Anonymous 2012-10-10 1:25

>>85
goyim are not human.

Name: Anonymous 2012-10-10 1:45

>>1
So, Rust?

Name: Anonymous 2012-10-10 17:02

>>88
Yeah.

It was mostly an experiment to see how long it would take for someone to assume it was Go. I got a lot more useful information out of it than that though.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List