Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6773165
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T15:38:07+00:00 2026-05-26T15:38:07+00:00

What is the best route for an experienced imperative style programmer only familiar with

  • 0

What is the best route for an experienced imperative style programmer only familiar with C macros to learn the Racket macro system. Not just the mechanics of it (the how?) but also the where and why to use it and examples that illustrate this.

Should one learn Scheme (or Lisp) macros first? I’ve heard that the book “On Lisp” has a good explanation of Lisp macros with excellent examples of their use. Would this be useful or not?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T15:38:07+00:00Added an answer on May 26, 2026 at 3:38 pm

    Racket’s documentation has an excellent tutorial on using macros.

    I would definitely recommend Scheme macros over CL macros if you haven’t deal with any sort of Lisp macros before. That’s because Scheme macros use pattern matching, and it’s much easier to read.

    Example (using Racket’s define-syntax-rule):

    (define-syntax-rule (let ((var val) ...)
                          expr ...)
      ((lambda (var ...)
         expr ...)
       val ...))
    

    This is a very simple macro that defines let in terms of creating a corresponding lambda, then applying it. It’s easy to read, and easy to reason about what it does.

    Slightly more complicated macro:

    (define-syntax let*
      (syntax-rules ()
        ((let* ()
           expr ...)
         (let ()
           expr ...))
        ((let* ((var val) next ...)
           expr ...)
         (let ((var val))
           (let* (next ...)
             expr ...)))))
    

    This defines let* in terms of nested lets, so that the bindings are done sequentially. It includes a base case (with no bindings), as well as a recursive case.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

What's the best route for storing data in MySQL. With MySQL should I just
I want to create a route like //Widgets/PerformanceTable/['best' or 'worst' to sort by performance
Best explained with code I think, this is just a simple example: public class
I am curious what the best route is to go when dealing with reports
What would be the best way to set up my routes so different types
Best recommendations for accessing and manipulation of sqlite databases from JavaScript.
Best would be if it performs the highlighting exactly as it is in Visual
Best method to add/remove webcontrols or user controls in asp.net for dynamic forms without
Best to describe this in code... I have this public class A<T> { public
Best practice is to use unique ivs, but what is unique? Is it unique

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.