Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't understand.

Where do your examples say they're pointers?

How would you express this using your first syntax?

    *[4]*FooType


The 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).


Where 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.


You could have something like * [* FooType#4]




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: