Nim 0.20 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг

рднрдпреЛ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд░рд┐рд▓реАрдЬ рдирд┐рдо реж.реиреж.режред рднрд╛рд╖рд╛рд▓реЗ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдЩ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рд░ Pascal, C++, Python рд░ Lisp рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдирд┐рдо рд╕реНрд░реЛрдд рдХреЛрдб C, C++, рд╡рд╛ JavaScript рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдЫред рддреНрдпрд╕рдкрдЫрд┐, рдирддрд┐рдЬрд╛ C/C++ рдХреЛрдб рдХреБрдиреИ рдкрдирд┐ рдЙрдкрд▓рдмреНрдз рдХрдореНрдкрд╛рдЗрд▓рд░ (clang, gcc, icc, рднрд┐рдЬреБрдЕрд▓ C++) рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ C рдирдЬрд┐рдХреИрдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рджреМрдбрдХреЛ рд▓рд╛рдЧрддрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрди рднрдиреЗред рдлреЛрд╣реЛрд░ рд╕рдВрдХрд▓рди рдЧрд░реНрдиреЗ ред рдкрд╛рдЗрдерди рдЬрд╕реНрддреИ, рдирд┐рдорд▓реЗ рдмреНрд▓рдХ рдбрд┐рд▓рд┐рдорд┐рдЯрд░рдХреЛ рд░реВрдкрдорд╛ рдЗрдиреНрдбреЗрдиреНрдЯреЗрд╕рди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВ рд░ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рд╣рд░реВ (DSLs) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╕рдорд░реНрдерд┐рдд рдЫрдиреНред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдпреЛ MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрддред

Nim 0.20 рд░рд┐рд▓реАрдЬрд▓рд╛рдИ рдкрд╣рд┐рд▓реЛ рд╕реНрдерд┐рд░ 1.0 рд░рд┐рд▓реАрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдореНрдореЗрджреНрд╡рд╛рд░ рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫ, рднрд╛рд╖рд╛рдХреЛ рд░рд╛рдЬреНрдп рдкреНрд░рддрд┐рдмрджреНрдз рдЧрд░реНрдиреЗ рдкрд╣рд┐рд▓реЛ рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ рдЧрдарди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдзреЗрд░реИ рдЕрдиреНрддрд░рд╕рдЮреНрдЪрд╛рд▓рди-рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИред рд╕рдВрд╕реНрдХрд░рдг 1.0 рд▓рд╛рдИ рд╕реНрдерд┐рд░, рджреАрд░реНрдШрдХрд╛рд▓реАрди рд╕рдорд░реНрдерди рд░рд┐рд▓реАрдЬрдХреЛ рд░реВрдкрдорд╛ рдЯрд╛рдЙрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬреБрди рднрд╛рд╖рд╛рдХреЛ рд╕реНрдерд┐рд░ рднрд╛рдЧрдорд╛ рдкрдЫрд╛рдбрд┐ рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЧрд░рд┐рдиреЗрдЫред рдЕрд▓рдЧ рд░реВрдкрдорд╛, рдХрдореНрдкрд╛рдЗрд▓рд░рд╕рдБрдЧ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдореЛрдб рдкрдирд┐ рдЙрдкрд▓рдмреНрдз рд╣реБрдиреЗрдЫ рдЬрд╕рдорд╛ рдкрдЫрд╛рдбрд┐ рдЕрдиреБрдХреВрд▓рддрд╛ рддреЛрдбреНрди рд╕рдХреНрдиреЗ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░рд┐рдиреЗрдЫред

рдирд┐рдо реж.реиреж рдорд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдордзреНрдпреЗ:

  • "рд╣реЛрдЗрди" рдЕрдм рд╕рдзреИрдВ рдПрдХрд▓ рдЕрдкрд░реЗрдЯрд░ рд╣реЛ, рдЕрд░реНрдерд╛рддреНред "Asert(not a)" рдЬрд╕реНрддрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд▓рд╛рдИ рдЕрдм рдЕрдиреБрдорддрд┐ рдЫреИрди рд░ рдХреЗрд╡рд▓ "Asert not a" рд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдиреНрдЫред
  • рд╕рдЩреНрдХрд▓рди рдЪрд░рдгрдорд╛ рдкреВрд░реНрдгрд╛рдВрдХ рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрдХреЛ рд░реВрдкрд╛рдиреНрддрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдХрдбрд╛ рдЬрд╛рдБрдЪрд╣рд░реВ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдпреЛ, рдЕрд░реНрдерд╛рддреНред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "const b = uint16(-1)" рдЕрдм рддреНрд░реБрдЯрд┐ рд╣реБрдиреЗрдЫ, рдХрд┐рдирдХрд┐ -1 рд▓рд╛рдИ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирдЧрд░рд┐рдПрдХреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди;
  • рд╕реНрдерд┐рд░рд╛рдВрдХ рд░ рд▓реВрдк рдЪрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЯреНрдпреБрдкрд▓реНрд╕рдХреЛ рдЕрдирдкреНрдпрд╛рдХрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред
    рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдЕрдм рддрдкрд╛рдИрд▓реЗ 'const (d, e) = (7, "eight")" рд░ "for (x, y) in f" рдЬрд╕реНрддрд╛ рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ;

  • рд╣реНрдпрд╛рд╕ рд░ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рд░рдореНрднрд┐рдХрддрд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдпреЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, "var s: HashSet[int]" рдШреЛрд╖рдгрд╛ рдЧрд░реЗрдкрдЫрд┐ рддрдкрд╛рдИрд▓реЗ рддреБрд░реБрдиреНрддреИ "s.incl(5)" рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬрд╕рд▓реЗ рдкрд╣рд┐рд▓реЗ рддреНрд░реБрдЯрд┐ рдирд┐рдореНрддреНрдпрд╛рдпреЛ;
  • "рдХреЗрд╕" рдЕрдкрд░реЗрдЯрд░ рд░ рд╕реАрдорд╛ рдмрд╛рд╣рд┐рд░ рдПрд░реЗ рд╕реВрдЪрдХрд╛рдВрдХ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА;
  • рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдХреЛ рд╕рдордпрдорд╛ рддрд╛рд▓рд┐рдХрд╛рдХреЛ рд▓рдореНрдмрд╛рдЗ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдирд┐рд╖реЗрдз рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди