|
|
|
|
|
by lobster_johnson
3691 days ago
|
|
The hard-coded string length is some test code. It's not an indicator of a weakness in the language. Oberon has Strings.Length(), which returns the length of a string. The OP's link points to a test directory. Go look at the actual source code: https://github.com/norayr/voc/tree/master/src
Oberon has all the features you describe: Range types, bounded arrays, and so on. It doesn't have the interface/implementation split (though it has a "DEFINITION" block you can use); modules contain both the interface and implementation, and you export symbols with "*" (or "-" for read only).Basically, Oberon-2 > Oberon > Modula-2 > Modula > Pascal. Oberon adds interfaces, open arrays, type-bound procedures (similar to Go's struct methods), etc. It's an evolutionary improvement/tweak over the previous languages. If you know any of them, Oberon-2 will be very familiar. |
|
https://github.com/norayr/voc/tree/master/src