Każdy wie, co jest zawarte w języku racket/base
. Szukam porównania definicji przestrzeni nazw racket/base
z wersją roboczą R7RS, aby uzyskać pogląd z pierwszej ręki na temat tego, jak rozbieżna rakieta pochodzi ze Schematu.Przestrzeń nazw rakiety/bazy
Odpowiedz
Różnica będzie ogromny, podobnie jak we wszystkich innych praktycznych realizacji Schematu. Aby dać ci zgrubny pomysł, widzę ponad 1300 identyfikatorów od racket/base
, a racket
przechodzi do ponad 2000. Należy również pamiętać, że porównywanie nazw nie będzie całą historią - istnieją dodatkowe różnice, takie jak fakt, że Rakieta domyślnie używa niezmiennych par, podobnie jak fakt, że masz zagwarantowaną kolejność oceny od lewej do prawej.
Szybkim sposobem na uzyskanie listy siebie za byłego byłoby, aby upewnić się, że XREPL jest zainstalowany (posiada plik ~/.racketrc
zawierać (require xrepl)
), a następnie uruchomić Rakieta z racket/base
jako języka REPL i użyć ,ap
(Apropos) polecenie bez argumentów więc to pokazuje wszystkich związanych nazwami:
$ racket -I racket/base
Welcome to Racket v5.2.1.
-> ,ap
Aby przeczytać o nazwach, można użyć komendy ,doc
, lub po prostu użyć search box w docs.
Według The Racket Reference:
O ile nie zaznaczono inaczej, Wiązania zdefiniowane w niniejszym podręczniku są wywożone przez rakietę/zasady i języków rakiety.
Niestety, to nie jest strasznie pomocne, ponieważ jest to obszerny podręcznik. Ale ponieważ porównujesz R7RS do Racket, może być użyteczne po prostu przejrzeć cały odnośnik, aby zorientować się, co jest dostępne.
Prosto do punktu odpowiedź, a przy okazji, projekt r7rs wygląda jak praktyczny język. – cobie
"Practical" to termin względny ... Jest bardziej praktyczny niż r5rs, ale nie będzie miał nici, podprocesów, sieci, nie blokujących IO i gazillion innych rzeczy, więc różnica jest ogromna. Nawet wielki język nie będzie ich wszystkich. –