3 ms·
Two examples come to mind: [FooType] and: Slice<FooType> If you think you must, apply sigils. The position of the brackets in the Go version is atyp
by smosher 14y ago
Two examples come to mind:
[FooType]
and:
Slice<FooType>
If you think you must, apply sigils. The position of the brackets in the Go version is atypically bad for readability.
- Jabbles 14y agoI don't understand. Where do your examples say they're pointers? How would you express this using your first syntax? *[4]*FooType
- svachalek 14y agoThe first is or could be Haskell. The length of a list is not part of its type. The second looks like Java, ditto there (although built-in arrays have a different syntax). Haskell does not have mutability at all and thus no "pointers". In Java the insides of containers are mutable so you'd have to add an outer array or list. In either case though you don't need pointers to simply pass things around as you do in C (I don't know about Go).
- smosher 14y agoWhere do your examples say they're pointers? They don't, it's inferred in my examples. Like I said, if you need them, you can use whatever sigils you want. They can go in front of the types as usual. How would you express this using your first syntax? I wouldn't. That syntax is decidedly inappropriate for vectors that incorporate length into the type.
- kevinnk 14y agoYou could have something like * [* FooType#4]