Hacker News new | past | comments | ask | show | jobs | submit login

Nim is not so simple language. A cheatsheet could be nice.




Thanks. Some of the syntax seems rather arbitrary, but maybe just to my layman eyes...

    var
      child: tuple[name: string, age: int]
but

    type
      Color = enum cRed, cBlue, cGreen
why not

    type
      Color = enum[cRed, cBlue, cGreen]


Because a type declaration is declaring multiple identifiers. Each of the enum variants is a legal name.

The tuple declaration is declaring one identifier with multiple fields. The names of the field are only legal as, well, fields of the outer object.


A tuple is a product type, an enum is a sum type.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: