воскресенье, 15 ноября 2015 г.

Nim workshop

$ - nim toString
    Expl:  $a[0]



Data exchange with C

C typeNim type
intcint
unsigned longculong
floatcfloat
int x[4]array[4, cint]
int*ptr int
char*cstring
char**cstringArray = ptr array [0..ArrayDummySize, cstring]

addr x[0] -> to   ptr [type]

# - first argument
@ - other comma separated args

Emit pragma - used to javascript generation in nim, but it's also possible to generate C - but this is bad idea.




Heap - is always garbadge colected




Jester - web [micro]framework on Nim


/nimongo -- by Rostislav
/exort       -- by Rostislav

Vagrant


emerald - nim templating engine

http://www.buildout.org/

Nim компилируется быстрее С++ и Rust, но меделеннее Golang.

graced references


nake - сборка



SDL2


syngraph

Adobe After Effect - композиции для карты

opengl


python - для прототипирования, потом раньше переводили на C++
сейчас Юра для прототипирования использует Nim

jnim - гегерирует код java из nim для передачи в jvm - для работы в android

coveralls - для тест каверидж.

интерполирование

uho3D

NimScript - виртуальная машина для интерпретации, можно кодить в интепретации.

SDL - делает связку OpenGL c чем-то:)

Nim - Nimrod - король первый в истории человечества, но это слово матюк по английски, поэтому название укоротили, но корона в названии осталась.

Compile Function Evaluation
const vs let?
Яркий пример:
Задача получить список файлов в директории.
- При компайл тайме(const): мы не реагируем приложением в рантайме на добавление новых файлов в эту директорию.
- При рантайме(let): реагируем на добавление файлов без пересборки приложений.







Комментариев нет:

Отправить комментарий