vvvv / VL-Language

The official repo for the design of the VL programming language
31 stars 0 forks source link

[Explanation] State In & Out, Pads, Execution Order, Classes & Records #18

Closed gregsn closed 3 years ago

gregsn commented 4 years ago

Let me write this down as it is not always intuitive.

One of the first language design decisions was that we want to make it easy to define immutable data types. And we wanted to make sure that switching between immutable and mutable datatype definitions would be very easy.

In order to make that work we focused on the constraints that are inherent to the immutable data type definition:

This is quite different from what you know of imperative languages like C# where you can write into a field whenever you like.

We didn't want different ways of expression. As a result Records and Classes both come with the idea that per operation a field can only be written once. And for now, classes only differ in one regard:

gregsn commented 3 years ago

This has changed a bit: you now CAN write fields on the fly. See #19

Closing as it is OUTDATED