[https://github.com/unicredit/csvtools](https://github.com/unicredit/csvtools) 
relies on type definitions to automatically generate a CSV parser

[https://github.com/andreaferretti/memo](https://github.com/andreaferretti/memo)
 defines a `memoized` macro that performs memoization of a function. 
Memoization is easy to do for non recursive functions, but doing it for 
recursive functions requires changing all self calls to calls to the generated 
memoized version, hence a macro

[This 
macro](https://github.com/unicredit/neo/blob/master/neo/private/neocommon.nim#L64)
 allows to perform FFI calls using the Fortran ABI instead of the C one, as 
used [here](https://github.com/unicredit/neo/blob/master/neo/dense.nim#L1086) 
for example. Admittedly this example does not require a macro, but using a 
macro can automate an otherwise tedious and repetitive pattern.

Reply via email to