I need to choose a Scheme standard for an academic compiler implementation. It has to be simple enough, but should still be a powerful language. There are several (RRS–R7RS) standards of Scheme. Is there a public comparison of these reports for choosing? If no, which one would you recommend for a first compiler?
Is there a digest for different "RnRS" Scheme standards?
1.6k Views Asked by Necto At
2
There are 2 best solutions below
0
Sylwester
On
The easies to start with is a R5RS subset and it would be not too hard to make it a R7RS-small later. The R5RS is not very big so it's almost a digest on it's own.
You can compare them by their language changes part of the different reports. R7RS-small even have a list both against R5RS and R6RS.
Related Questions in COMPILER-CONSTRUCTION
- Is the compiler Xcode uses to produce Assembly code a bad compiler?
- How do compilers store hundreds of variables in only a few registers?
- Where to patch back the information gathered during program analysis
- Assignment Insertion in ROSE compiler after AssignOp
- memory layout of a multiple-inherited object in C++
- How to use my written compiler to read files on web?
- a LEX program to identify keywords and convert it into uppercase
- Identifier terminal except certain keywords
- Calling Scala compiler's AST from Java
- Computing the FOLLOW() set of a grammar
- JavaCC and Unicode issue. Why \u696d cannot be managed in JavaCC although it belong to the range "\u4e00"-"\u9fff"
- Three-address code and symbol tables
- Delegate caching behavior changes in Roslyn
- Get delimiter in Irony
- Compiler Errors including initializer before '<' token
Related Questions in LISP
- Intercept and modify user input in Common Lisp
- Read next line when loading file in Common Lisp
- Calling CCL + Quicklisp script as executable with command line arguments and achieving the desired output
- Avoiding echos in Clozure lisp (noob)
- Backquote String Interpolation
- Structuring large Lisp applications
- If strings are vectors, why are they immutable?
- Invalid specialized parameter in method lambda list
- Emacs init.el and Elisp and equivalent of common lisp every-p function
- EVAL/APPLY: too many arguments given to F
- Insertion into a list doesn't reflect outside function whereas deletion does?
- How to traverse a tree in Clojure while collecting the value from each node node?
- in clojure, function argument type mismatch
- In Lisp is the function `1+` just syntactic sugar?
- Search function in lisp
Related Questions in SCHEME
- How to get IronScheme function return in C# (Visual Studio)
- How is it possible to filter a list of directories via "directory-exists?"?
- create a new list in the same format as taken from text file
- remove file name if it is already in the list
- Is there a way to see the body of a lambda in Racket?
- Transpose a matrix in racket (list of lists
- Racket\Scheme compare and delete unwanted items in a list
- Extracting the number of members inside a structure
- How to get the file name and line number where an error occurred in MIT/GNU Scheme?
- Using .ico files as icons when creating executables in DrRacket IDE
- Accessing call stack depth in Scheme
- Product of squares of odd elements in list in Scheme
- Is it possible to bootstrap MIT scheme from portable C to native?
- Using MIT/GNU Scheme
- What are 'if ,define, lambda' in scheme?
Related Questions in R5RS
- Recursive call from Condition Branch
- Concise scheme R5RS define struct or class with multiple fields
- Schema Count number of element in the list
- Scheme - "inexact" concept in R5RS numerical tower
- Scheme - standard way in R5RS to execute an external command?
- Is there a digest for different "RnRS" Scheme standards?
- How to program this in R5RS?
- Assigning variables in Scheme without using set
- How to keep track of current position in a list while doing deep recursion
- When would a cons return a cascaded list?
- Need assistance with a scheme(R5RS) coding project (I feel like I'm missing something simple)
- Differences between Guile Scheme and Standard Scheme (in Racket IDE)?
- How to map a macro over a list - or - How to use macros to define data types
- How to convert String to Binary in Scheme
- How would I Implement a repeat function that would make a stream full of a repeating int?
Related Questions in R6RS
- What's the difference between R6RS's `letrec`, `letrec*` and Racket's `letrec`?
- Order of evaluation in scheme
- How do I return a copy of an object?
- Is there a digest for different "RnRS" Scheme standards?
- Platform (OS) detection in scheme
- Encode "ä", "ö", "ü" and "ß" in scheme (get german text from file)
- Differences between Guile Scheme and Standard Scheme (in Racket IDE)?
- How to get the list of all the symbols exported by a library?
- Print the name of a variable
- shorthand for ((lambda () ))
- Is it possible to load an entire file from disk efficiently in Scheme R6RS?
- Hygienic macro r7rs : Return second expression value
- Selectors in Scheme R6RS
- Is it possible to "extend" a function / lambda / macro in Scheme?
- How to delay an image swap in DrRacket?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You can use the "Language changes" sections in the standard documents themselves to compare them. Here are links to these sections in public HTML versions: