calculon/README.md

1.9 KiB

Calculon : My try to build a library Distributable with Luarocks using Teal

Calculon

Logbook

e18f54c977 init

Init a teal project with cyan init, then write the calculon.tl lua.

Note : I also added .gitignore and .gitkeep files to not commit generated files from cyan build.

d24e69a41e add(consumer) init

Add a Lua consumer script to try the calculon lib. It can be run with

lua consumer.lua

Notes :

  • We need to first build the lib with cyan build
  • The consumer needs to require calculon from the build directory

a433eb2fe4 add(luarocks) init

Init a Luarocks module in the current directory.

I need to add the module calculon = "build/calculon/init.lua" to make the rock not empty.

b4d00c05ae add(build) force commit lua

Because the rock needs the generated lua, I force commit it :'(

acb833e8e1 add(consumer) load calculon as module

The consumer can now load calculon as a "normal" module!

5eb06ccafb chore(consumer) move it to a project

Move the consumer to its own project with Luarocks.

Notes : We need to install calculon manually from the rockspec with ./luarocks install ../calculon-0.1-1.rockspec

dac8260ea9 add(consumer) teal

Move the consumer to teal!

It can be build with tl build. Then run with ./lua build/consumer.lua.

Note :

  • To prevent the missing types definition error, I need to use the trick from tabular module
  • We can't run the teal file directly tl run src/consumer.tl :'(

TODO

  • The consumer works only because the generated file can "find" the module thanks to ./lua
  • Distribute teal files in the rock

References

Image from https://futurama.fandom.com/wiki/Calculon