In "The Road Towards A Minimal Forth Architecture"(1990), Mikael Patel builds toward a forth from only a handful of arithmetic and stack primitives. Here is an implementation of some of these primitives in Uxntal macros:
https://wiki.xxiivv.com/site/forth#minforth
Leah's blog post: https://leahneukirchen.org/blog/archive/2020/04/brute-forthing-minimal-programs-for-stack-arrangements.html
Patel's paper: https://github.com/larsbrinkhoff/forth-documents/blob/master/V%C3%A4gen%20mot%20en%20minimal%20Forth%20arkitektur.pdf
@neauoire i see he uses bruteforce to find his little programs : maybe you have already heard of relational programming, with this you can synthesize programs, run them backwards (you give the output, it gives the input), make a quine generator (you have write a uxn interpreter in a relational language, then you query for a program that evaluates to itself). There is a very nice paper about microkanren ( http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf ), a (minimal) relational language you can implement yourself.
@neauoire i see he uses bruteforce to find his little programs : maybe you have already heard of relational programming, with this you can synthesize programs, run them backwards (you give the output, it gives the input), make a quine generator (you have write a uxn interpreter in a relational language, then you query for a program that evaluates to itself). There is a very nice paper about microkanren ( http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf ), a (minimal) relational language...