@@ -49,12 +49,12 @@ This course will make use of the following software:
4949
5050 @item{Racket @tt{langs} package: a package containing utilities
5151 for this course.}
52-
52+
5353 @item{NASM: the Netwide Assembler, which we will use to
5454 assemble x86 programs.}
5555
5656 @item{GCC: the GNU compiler collection or a GCC-compatible
57- system such as clang.}
57+ system such as clang.}
5858]
5959
6060Instruction for using each system are below:
@@ -81,7 +81,7 @@ Linux, this is likely set up by default. On Mac, you will need to
8181install @link["https://www.xquartz.org/ " ]{XQuartz}. On Windows, you
8282can use @link["https://mobaxterm.mobatek.net/ " ]{MobaXterm}.
8383
84- To use GRACE, open a terminal on your computer and
84+ To use GRACE, open a terminal on your computer and
8585type:
8686
8787@verbatim|{ ssh -Y <directoryID>@grace.umd.edu}|
@@ -169,11 +169,11 @@ Otherwise, follow the steps given above.
169169
170170@section[#:tag "Windows " ]{Using Windows}
171171
172- For Windows users, using WSL for testing is highly recommended. Beyond
173- the first few assignments, the projects will require generating and
174- executing assembly code using the nasm package. Students in the past
175- have had trouble trying to configure this in the Windows environment,
176- so an easier workaround is simply to enable WSL and run your tests through
172+ For Windows users, using WSL for testing is highly recommended. Beyond
173+ the first few assignments, the projects will require generating and
174+ executing assembly code using the nasm package. Students in the past
175+ have had trouble trying to configure this in the Windows environment,
176+ so an easier workaround is simply to enable WSL and run your tests through
177177some Linux Distribution. Here is a breakdown of the steps:
178178
179179@itemlist[
@@ -198,21 +198,36 @@ some Linux Distribution. Here is a breakdown of the steps:
198198 use.
199199
200200@itemlist[
201- @item{Using vim (or Emacs as mentioned in the previous section) is simple. Copy assignment files into WSL. Modify files.}
202- @item{Previous students preferred installing VSCode (outside of WSL) from @link["https://code.visualstudio.com/download " ]{this link }.
203- For each assignment, copy assignment files somewhere on your Linux distro. For some .rkt file , call 'code some-rkt-file.rkt' and
204- after some automatic set up, VSCode should load up the file. Install Racket extensions from the VSCode
205- Marketplace (a suggestion will also pop up once you open a .rkt file ) to have colorized syntax , bracket matching,
206- inteliSense, etc. }
207- @item{If you are intent on using DrRacket, you would also need to install Racket on your local machine
208- (outside WSL). For each assignment, copy assignment files into your normal file system and use DrRacket to edit files
209- accordingly. To access from your Linux subsystem, create a soft symbolic link in your Linux distro to the
210- project directory (or the parent directory so you do not need to make links with each new project).}
201+ @item{Using vim (or Emacs as mentioned in the previous section) is simple.
202+ Copy assignment files into WSL. Modify files. }
203+
204+ @item{Previous students preferred installing VSCode (outside of WSL) from
205+ @link["https://code.visualstudio.com/download " ]{this link }. For each
206+ assignment, copy assignment files somewhere on your Linux distro. If you
207+ would like to open @tt{some-file.rkt}, you can open it from the command line by
208+ calling @tt{code some-file.rkt} and , after some automatic set up, VSCode should
209+ load up the file. You can install Racket extensions from the VSCode
210+ Marketplace (a suggestion will also pop up once you open a .rkt file ) to
211+ have colorized syntax , bracket matching, autocomplete/IntelliSense, etc. }
212+
213+ @item{If you are intent on using DrRacket, you will want to set up an X
214+ Window System to run GUI programs from within WSL. A popular option is
215+ @link["https://mobaxterm.mobatek.net/ " ]{MobaXterm}. Once that is installed,
216+ you can launch DrRacket from within your WSL terminal by running the
217+ command @tt{drracket}.
218+
219+ You could also install DrRacket @emph{outside} WSL and copy your files back
220+ and forth or use a symbolic link to connect the two. However, DrRacket will
221+ not be able to see the @tt{langs} package you will install later by default,
222+ so you would either need to install it again within DrRacket or else find a
223+ way to connect your Windows-based DrRacket to your WSL-based Racket package
224+ configuration. This seems unnecessarily complicated, though, so we don't
225+ recommend this option. }
211226]}
212227
213228]
214229
215- Regardless of the IDE used, you can now run your tests from your Linux
230+ Regardless of the IDE used, you can now run your tests from your Linux
216231subsystem by entering the project directory and using the raco command.
217232
218233@section[#:tag "install-racket " ]{Installing Racket}
@@ -261,7 +276,7 @@ install updates, run:
261276
262277@section{IDE}
263278
264- Racket comes with it 's own IDE: DrRacket, which is the recommended way
279+ Racket comes with its own IDE: DrRacket, which is the recommended way
265280to edit Racket files. We will also be running Racket and its
266281associated tools from the command line.
267282
@@ -283,7 +298,7 @@ following:
283298 @item{Red Hat Enterprise Linux 7.7 }
284299 @item{macOS 11.0 (Big Sur)}
285300 @item{macOS 10.15 (Catalina)}]}
286-
301+
287302 @item{Racket:
288303 @itemlist[@item{Racket 8.1 [cs]}
289304 @item{Racket 8.1 [bc]}
@@ -327,7 +342,7 @@ A program is a sequence of definitions or expressions.
327342The grammar for the subset of Racket we will use is:
328343
329344@(with-unquote-rewriter
330- (lambda (lw)
345+ (lambda (lw)
331346 (build-lw (list (build-lw "( " (lw-line lw) (lw-line-span lw) (lw-column lw) 1 )
332347 (build-lw 'unquote (lw-line lw) (lw-line-span lw) (+ 1 (lw-column lw)) 7 )
333348 (build-lw " " (lw-line lw) (lw-line-span lw) (+ 2 (lw-column lw)) 1 )
@@ -338,7 +353,7 @@ The grammar for the subset of Racket we will use is:
338353 (lw-column lw)
339354 (+ 8 (lw-column-span lw))))
340355
341-
356+
342357 (render-grammar R0))
343358
344359@section{Built-In Datatypes}
0 commit comments