Member for 12 years, 2 months
Last seen more than a month ago
I've been using LaTeX more and more in the past nine years, initially typesetting solutions to maths problems, later taking notes in class for more than a year.
A few months back I had some ideas about writing a package. I was (un?)fortunate enough to find a copy of the TeXbook in my school's library. Since then, I have been hooked by the strange style of programming that TeX macros provide.
This has led me to become a member of the LaTeX3 team in May 2011. This was an exciting time to join the project: the team improved consistency of the
expl3 language provided by
l3kernel considerably, and we have seen people starting to code in the language. I have focussed in making the
l3kernel code as fast and bullet-proof as possible (two often conflicting aims).
Current LaTeX projects:
l3fpto reach full
IEEE-754 (2008)compliance. This module, which I am quite proud of, lets us parse expandably floating point expressions, in a way similar to eTeX's
\the\numexpr...\relaxfor integers. The main missing parts are signalling
NaNs and subnormal numbers, as well as providing functions to control the rounding mode.
l3fpwith more functions, such as
l3regex, the LaTeX3 regular expression engine, marking it as stable. In particular, add functions to act on a file, sed-like.
Write a PEG parser operating on strings. This could in principle be done expandably, but I am not yet sure whether it is necessarily useful.
Write a C compiler (this is not for LaTeX3, mostly to learn how compilers work). Having a full C-to-TeX compiler would immediately provide access to many other languages from TeX, since many compilers are written in C. Of course, the code would run rather slowly, and much slower than using LuaTeX.
Enable TeX to produce text output instead of pdf. This could be done either by using LuaTeX, or by modifying an engine, or by emulating TeX within TeX (which I have partly done).
Help with debugging macros either by providing a graphical interface to visualize expansion, or (easier, and partly done) by performing steps of expansion or assignments one by one and showing partial results with
Understand how to best generalize LaTeX3's
\tl_expandable_lowercase:nto do more general token-list transformations expandably. This might combine with the idea of a parser.
Perform partial macro expansion in a file, which would distinguish between user-defined macros and macros defined in a package.
Write an os-independent Makefile-like Lua program.
A few dormant packages, including the one that brought me to the TeX path two years ago.