I'm currently working my way through SICP, but I'm not quite used to the style of writing Scheme code yet. Is there any sort of style guide that is a companion for the book? So far, I have only found the comments on "pretty-printing" that are found in section 1.1.1.
Is there a style guide for SICP exercises?
202 Views Asked by J. Mini At
1
There are 1 best solutions below
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 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 SICP
- Is my solution to sicp exercise 2.54 right?
- Value returned by a define expression in Scheme
- error function in lang sicp in DrRacket does not bound
- Why is my cubic root algorithm wrong? Exercise 1.8 in SICP
- count-leaves in Clojure from SICP
- Scheme: Accelerated Stream
- How do you find where an error has occurred in MIT scheme?
- Simple library mechanism for scheme - import implementation
- Executing LISP programs in GNU Emacs
- Meaning of 'quote in Lisp
- Error: (/) bad argument type: #<unspecified> Chicken Scheme Square root approximation
- Help understanding this implementation of cons and car in scheme using lambdas
- Scheme: The purpose of procedure arguments in SICP: 1.3 (Higher Order Procedures)
- When does a program "intertwine definition and use"?
- What is the name of the "=>" keyword in Scheme?
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?
Gerald Jay Sussman, one of the authors of SICP, is also one of the authors of Scheme. Their really cool 1986 video lecture at HP they don't expect Scheme to be that well known so they call it the more general name Lisp. Don't get confused since SICP is 100% Scheme and thus scheme coding style would be the correct path.
The Scheme wiki has a style guide together with common variable naming conventions and comment style.
Scheme was a new dialect of Lisp with lexical closures and one namespace as core features. It uses
defineinstead ofdefun,defparameter, anddefvar. DrRacket IDE actually treats lists with the operator starting with "de" asdefine. eg.In Common Lisp most of the coding style is the same:
The standard reference for Common Lisp style, including commenting conventions, is Peter Norvig and Kent Pitman's Tutorial on Good Lisp Programming Style. This you can use as a supplement for the Scheme resources.
PS: Coding style is opinionated. The language don't care much for any of this so this is just to make the code easier to read for humans.