Tag Archives: macros

Empowered With Macros

via: bison.software

In the C, C++, and Objective-C communities, many people will rant about how bad macros are, but macros are just misunderstood. In some cases (I will show you one in the end) macros can save you lots and lots of time!

Macros in Python: quasiquotes, case classes, LINQ and more!

via lihaoyi/macropy · GitHub.

MacroPy is an implementation of Syntactic Macros in the Python Programming Language. MacroPy provides a mechanism for user-defined functions (macros) to perform transformations on the abstract syntax tree (AST) of a Python program at import time. This is an easy way to enhance the semantics of a Python program in ways which are otherwise impossible, for example providing an extremely concise way of declaring classes:

Macros for Visual Studio 2013

Click to Read

An extension for Visual Studio 2013 that enables the use of macros in the IDE. The extension can record most of the features in Visual Studio including text editing operations.

S-Expression Syntax for JavaScript

JSGEN is an extension to AllegroServe that allows one to write JavaScript programs in an s-expression syntax. The primary advantage of this approach is that the user has the ability to extend the language using macros, resulting in shorter more manageable programs. A disadvantage is that the debugging of programming errors within a web browser will require working with the generated JavaScript code. Errors raised in the browser will have to be manually traced to their source within corresponding s-expression code. JSGEN is a good choice if you believe the benefits of syntactic abstraction (shorter programs, fewer bugs) outweighs the cost added to the debugging process. Read more>>


  1. AllegroServe Extensions
    1. publish-sjs
    2. sjs-directory-entity-publisher
    3. *print-pretty*
  2. S-Expression to JavaScript Mapping
    1. aref
    2. array
    3. cond
    4. dot operator
    5. for
    6. function
    7. label, continue, break
    8. new
    9. object
    10. Operators, infix
    11. Operators, unary
    12. switch
    13. try, catch finally
    14. var
    15. while, do…while
    16. with
  3. Extension Macros
    1. and
    2. begin
    3. bq, uq
    4. doarray
    5. dotimes
    6. esc_str
    7. get
    8. html
    9. mfunction
    10. not
    11. or
    12. when
  4. Puser Interface
    1. #%
    2. jsgen::def-macro-form
    3. jsgen::genvar
    4. js
    5. js-compile-file
    6. js-string
    7. pop-readtable
    8. push-readtable
  5. Acknowledgements
  6. Contact

Download:  http://www.kantz.com/jason/programs/jsgen/jsgen_v0_4.tar.gz

License:  BSD