Modularizing crosscuts in an e-commerce application in Lisp using HALO

Charlotte Herzeel, Kris Gybels, Pascal Costanza, Theo D'Hondt
2009 Proceedings of the 2007 International Lisp Conference on - ILC '07  
Some program concerns cannot be cleanly modularized, and their implementation leads to code that is both hard to understand and maintain. In this paper we consider extending an e-commerce application, written in CLOS, with two of such crosscutting concerns. Though most of the time Common Lisp's macro facilities and CLOS' method combinations can be used to modularize crosscuts, we discuss the use of a more declarative solution when crosscuts depend on the execution history. For this purpose we
more » ... ve an overview of HALO, a novel pointcut language based on logic meta programming and temporal logic, which allows one to reason about program execution and (past) program state.
doi:10.1145/1622123.1622136 dblp:conf/lfp/HerzeelGCD07 fatcat:cbmqx56cobb3jpvypyotrh4bi4