add(doc) README
This commit is contained in:
parent
dac8260ea9
commit
25fe206aa2
|
@ -0,0 +1,72 @@
|
||||||
|
# Calculon : My try to build a library Distributable with Luarocks using Teal
|
||||||
|
|
||||||
|
![Calculon](doc/Calculon.webp "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
|
||||||
|
|
||||||
|
```sh
|
||||||
|
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
|
||||||
|
|
||||||
|
* https://github.com/teal-language/tl/blob/master/docs/tutorial.md
|
||||||
|
* https://github.com/teal-language/cyan
|
||||||
|
* https://github.com/teal-language/teal-types
|
||||||
|
* https://github.com/hishamhm/tabular
|
||||||
|
|
||||||
|
Image from https://futurama.fandom.com/wiki/Calculon
|
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
Loading…
Reference in New Issue