====Integração com R====
Se R tiver uma API C ou C++ será moleza integra-lo á LUA. A melhor referência
que disponho é o binder "luna.h", que implementar um wrapper C++ para LUA. Tanto
o código C++ do binder quanto um artigo explicando seu uso podem ser obtidos no
site www.lua.org. As referências para esses recursos são:
http://lua-users.org/files/wiki_insecure/users/lpalozzi/luna.tar.gz
http://www.lua.org/notes/ltn005.html
Estou terminando um texto que descreve como integrei o framewok C++ de TerraME
com a linguagem LUA. Talvez esse documento seja util para vc! Termino em 2 dias
e te mando...
Se R tiver realmente uma API Cpp , vc ainda poderá optar pelo uso do binder
"toLua" que automaticamente vaz toda tarefa para vc. Alguns alunos meus
preferiram essa opção. Eu preferi a anterior por ter o controle total do codigo
em minhas mãos.
Se R não tiver uma API Cpp, então vc terá que que escrever um wrapper C++ para
Java (supondo que R possua API java), e então usar os dois caminhos anteriores
para ligar o wraper criado à linguagem LUA. Será trabalhoso, mas fácil.
Em LUA é possível criar módulos (bibliotecas) e inclui-las em outros módulos.
Desta maneira, qualquer modelo TerraME pode incluir novo modulo e se beneficiar
das funções por ele oferecidas. Acho que o comando é "import nome_do_modelo". E,
não tenho certeza, o modulo é declarado usando a palavra reservada "package".
Acho que vc já utilizou isso não foi? Quando criou um modulo com os serviços
para implementação de agentes!
====Manipulação de agentes no TerraMe====
* armazenamento de agentes
* ForEachAgent
* AddPlayer
* RemovePlayer
====Funções adicionais====
* NumberOfCells/NumberOfNeighbours
* GetRandomCell/GetRandomneighbour/GetRandomAgent
* Implementar um gerador de numeros aleatorios decente em lua
* ApplyNeighbourhoodConstraint
* Possibilidade de escrever dados em tabela externa (não ligada a geometria)
* Protocolo send/receive?
====Docs====
* {{:pessoais:pedro:doutorado:gentle_introduction.pdf|Gentle Introduction}}