174 votes

Comment diffère raquette de régime ?

Raquette est un descendant du régime. Comment la raquette est différente de celle R6RS ? Ce qu’elle ajouter, ou à emporter, ou est tout simplement différent ?

Je comprends que la raquette est plus qu’une langue, c’est une plate-forme pour les langues. Mais je parle le dialecte principal de la raquette.

125voto

Zorf Points 2931

La raquette, c'est finalement basé sur R5RS, et pas R6RS et pas un sur-ensemble strict de soit. Je ne pense pas qu'il peut être appelé "Plan" parce que c'est pas compatible avec un Régime standard.

La plupart des implémentations de vous proposer des extensions, mais ne sont pas rétro-compatible, bien sûr, le compilateur qui vient avec la Raquette peut également exécuter dans R5RS ou R6RS mode. Valide R5/6RS Régime qui s'exécute dans la raquette mode peut être rejetée, à cause des erreurs d'exécution, ou de se comporter différemment de ce qu'il devrait. Cela dit, les principaux points où il n'est pas rétro-compatibles sont:

  • La raquette n'a pas d' set-cdr! et set-car!plutôt set-mcar! qui ne fonctionne que sur les paires créées spécifiquement comme mutables.
  • Quelle Raquette appels letrec est appelé letrec* dans R6RS et n'existe pas dans R5RS, ce R5RS et R6RS appel letrec n'existe pas dans la Raquette.
  • Dans la Raquette, beaucoup de choses sont auto-évaluation qui permettrait de relever une erreur dans R5RS, le plus important de la liste vide.
  • La raquette est sensible à la casse, même si R6RS est également sensible à la casse
  • Raquette de friandises ( ... ) et [ ... ] comme l'équivalent, R5RS n'est pas, mais R6RS.

Il y a probablement plus, mais sur la plupart des autres pièces de la raquette, c'est un sur-ensemble du Schéma.

35voto

deinst Points 8706

Il contient immuable listes, comme mentionné ci-dessus. Il contient également un système de structure qui est un peu plus propre que le R6RS système d'enregistrement. Il a un objet de classe orientée objet et du système. Il a un support natif pour la conception par contrat. Il dispose d'un système d'unités qui rappelle le ML module de système, ainsi que d'un module de système un peu comme le R6RS système de module. Je suis sûr que j'ai oublié que beaucoup de choses que j'ai mentionnées.

Je ne suis pas sûr que le changement de nom a été utile comme autre chose qu'un gadget marketing, mais la raquette, c'est certainement un dialecte distinct du régime.

21voto

Norman Gray Points 4337

La raison d’être pour le changement de nom du PLT Scheme à raquette est discuté sur le site de la raquette.

16voto

Gautam Points 395

Raquette comprend un grand nombre de constructions de langage vraiment sympa non inclus dans le régime de R6RS, comme « match ».

10voto

Chuck Points 138930

Pour un grand exemple, listes de raquette sont immuables par défaut alors que le régime est mutable. Raquette comprend également un grand nombre de bibliothèques standard (par exemple le serveur Web) que les autres régimes ne sont pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X