Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Differences between #lang scheme and #lang racket

Tags:

I'm guessing that #lang racket is a dialect of scheme with much more out of the box structures and common functions and perhaps would be more pedagogic. What are the perks a #lang racket against #lang scheme?

Is it best (or even possible) to use #lang scheme in racket to follow all the content of 'Structure and Interpretation of Computer Programs' or even 'How to Design Programs'. HtDP is #lang racket specific?

Whatever code written in #lang scheme, as long as libraries are not being included, can be used in chicken scheme or any main interpreter?

Thanks in advance.

like image 554
orlybg Avatar asked Aug 22 '11 19:08

orlybg


People also ask

When are you no longer contagious with Covid?

When do you stop being contagious if you have COVID-19? It depends. If you have a mild illness and your symptoms are getting better, you're probably not contagious after 10 days. If you have a severe illness or a weakened immune system, you can be contagious for up to 3 weeks.

What's the difference between a cold and flu?

The symptoms of flu can include fever or feeling feverish/chills, cough, sore throat, runny or stuffy nose, muscle or body aches, headaches, and fatigue (tiredness). Cold symptoms are usually milder than the symptoms of flu. People with colds are more likely to have a runny or stuffy nose.

How long do Omicron symptoms last?

How long do omicron symptoms last? Most people who test positive with any variant of COVID-19 typically experience some symptoms for a couple weeks.

What is the fastest way to cure the flu?

The best thing you can do to recover from the flu is allow yourself to sleep, rest, and drink lots of fluids. If you catch your flu symptoms early, and you're at risk of serious complications, you can try an antiviral medication to help reduce the duration of your symptoms.


1 Answers

  1. Yes, #lang racket is the racket default dialect, with lots of extensions.

  2. Two places where it is not an extension: if must have an else branch, and pairs are immutable (no set-car! and set-cdr!).

  3. #lang scheme was used for a while before the name change, and now #lang racket is used consistently. But we kept #lang scheme around for compatibility (as well as various scheme/--- libraries that are kept and can sometime be different than racket/--- counterparts). There's no reason to use #lang scheme in new code.

  4. To follow SICP, don't use any of these -- there's a SICP language available (usable with #lang sicp), originally written by Neil Van Dyke, but now maintained within the Racket community.

  5. To follow HtDP, don't use any of these, use the student languages. There are also new #lang-based variants like #lang htdp/bsl but they're not in a complete shape, yet. (And HtDP is not #lang racket specific.)

  6. No, Racket is very different from Chicken Scheme. You might be able to run some code in both, but those would probably be only tiny toy examples.

like image 199
Eli Barzilay Avatar answered Sep 29 '22 19:09

Eli Barzilay