āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻāĻ āĻŦāĻāĻ° āĻĒāĻ°ā§, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž āĻ¨āĻŋāĻŽ 1.6 āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻž āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻāĻžāĻāĻĒāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ¯āĻžāĻ¸āĻā§āĻ˛, āĻ¸āĻŋ++, āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻŦāĻ āĻ˛āĻŋāĻ¸ā§āĻĒā§āĻ° āĻāĻĒāĻ° āĻ¨āĻāĻ° āĻ°ā§āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¨āĻŋāĻŽ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻāĻāĻāĻŋ C, C++ āĻŦāĻž āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ¯āĻŧ āĻ¸āĻāĻāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻāĻžāĻ˛ā§, āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒāĻžāĻāĻ¯āĻŧāĻž C/C++ āĻā§āĻĄ āĻ¯ā§āĻā§āĻ¨ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° (clang, gcc, icc, Visual C++) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ C-āĻāĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ°āĻ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻ¨āĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§āĨ¤ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ, āĻ¨āĻŋāĻŽ āĻŦā§āĻ˛āĻ āĻĄāĻŋāĻ˛āĻŋāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻ¨ā§āĻĄā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻŽā§āĻāĻžāĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻā§āĻ˛ āĻāĻŦāĻ āĻĄā§āĻŽā§āĻāĻ¨-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻžāĻˇāĻž (āĻĄāĻŋāĻāĻ¸āĻāĻ˛) āĻ¤ā§āĻ°āĻŋāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻā§āĻĄ MIT āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻļā§āĻ° āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻš āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯ [T] āĻā§āĻ˛āĻžāĻ¸ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻ¯ā§āĻāĻĢāĻ˛[T](a: āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¯ā§āĻā§āĻ¯[T]): T = var āĻĢāĻ˛āĻžāĻĢāĻ˛: A-āĻ¤ā§ ai-āĻāĻ° āĻāĻ¨ā§āĻ¯ T: āĻĢāĻ˛āĻžāĻĢāĻ˛ += ai āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¯ā§āĻāĻĢāĻ˛ (iota(3)) == 0 + 1 + 2 # āĻŦāĻž 'iota( 3) āĻ¯ā§āĻāĻĢāĻ˛
- āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ā§āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻāĻžāĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ ".effectOf" āĻā§āĻāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ āĻ¯āĻāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ(nimHasEffectsOf): {.āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ: "āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻĢā§āĻā§āĻāĻ¸"āĨ¤} else: {.pragma: effectsOf.} proc mysort(s: seq; cmp: proc(a, b: T): int) {.effectOf: cmp. }
- āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻŽā§āĻĒā§āĻ°ā§āĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ "import foo {.all.}" āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻ¨āĻ¯āĻŧ, āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻĒā§āĻ°āĻ¤ā§āĻāĻā§āĻ˛āĻŋāĻ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧā§ˇ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§, std/importutils āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻāĻā§āĻāĻ ā§āĻ¯āĻžāĻāĻ¸ā§āĻ¸ API āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ {.all.} āĻĨā§āĻā§ system2 import nil echo system2.ThisIsSystem import os {.all.} echo weirdTarget
- āĻĄāĻ āĻ āĻĒāĻžāĻ°ā§āĻāĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ std/json āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨ '.?'(a: JsonNode, b: untyped{ident}): JsonNode = a[astToStr(b)] āĻ¯āĻžāĻ j = %*{âa1â: {âa2â: 10}} assert j.?a1.?a2.getInt == 10
- āĻŦā§āĻ˛āĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ fn(a = 1, b = 2, body1, body2) = āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°ā§āĻ¨ fn(a = 1): bar1 do: bar2
- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§-āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ˛āĻŋāĻāĻžāĻ°āĻžāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, "-128'bignum'")āĨ¤ func `'big`*(num: cstring): JsBigInt {.importjs: "BigInt(#)āĨ¤"} assert 0xffffffffffffffff'big == (1'big shl 64'big) - 1'big
- āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¨āĻŋāĻŽ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ ââeval:cmdâ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ ânim âeval:âecho 1âŗâāĨ¤
- āĻ¨āĻŋāĻŽāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻĻā§āĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻā§ āĻŦā§āĻ¯āĻžāĻĒāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ āĻāĻžāĻ¸ā§āĻāĻŽ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤āĨ¤
- "--gc:arc" āĻāĻŦāĻ "--gc:orc" āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŦāĻ āĻĢā§āĻ˛ā§āĻāĻŋāĻ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄā§āĻ° āĻ¨āĻŋāĻ°ā§āĻā§āĻ˛āĻ¤āĻž āĻāĻŦāĻ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°ā§āĻā§āĨ¤
- āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ JS, VM āĻāĻŦāĻ nimscript āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¨āĻ¤ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻ¯āĻž āĻāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° C āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, std/prelude āĻŽāĻĄāĻŋāĻāĻ˛)āĨ¤ C, JS āĻāĻŦāĻ VM āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ¸āĻš stdlib āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- Apple Silicon/M1 āĻāĻŋāĻĒ, 32-āĻŦāĻŋāĻ RISC-V, armv8l āĻāĻŦāĻ CROSSOS āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻŽāĻĄāĻŋāĻāĻ˛ std/jsbigints, std/tempfiles āĻāĻŦāĻ std/sysrand āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ, āĻāĻŖāĻŋāĻ¤, āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ, json, jsonutils, os, typetraits, wrapnils, āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŦāĻ āĻšā§āĻ¯āĻžāĻļ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru