Macro programming là một kỹ thuật meta programming cho phép tiền xử lí mã nguồn đầu vào trước khi qua trình biên dịch (hoặc thông dịch), nhờ đó mà có thể dể dàng tạo ra domain-specific language trên ngôn ngữ lập trình ban đầu. Không phải bất kì ngôn ngữ lập trình nào cũng hổ trợ Macro. Macro system “tạm” chia ra làm 2 loại chính:
Mỗi hướng tiếp cận có ưu điểm riêng. Tuy vậy hướng tiếp cận Lisp giúp dể dàng xây dựng các DSL. Julia Programming Language ngoài hiệu năng tính toán cao, một ưu điểm ít được nhắc đến là cú pháp gọn gàng & đẹp, nhiều DSL hữu ích (Lisp-like macro):
Scientific computing ngày nào công thức cồng kềnh rối ren, vậy mà giờ đây có thể ngắn ngọn xúc tích trong vài dòng ý nhị
Lê Quang Tiến - viết vào ngày 27 tháng 12 năm 2023