Skip to content

Commit 8144127

Browse files
committed
Update Software page to explain DrRacket on WSL configuration
1 parent f0bf582 commit 8144127

1 file changed

Lines changed: 38 additions & 23 deletions

File tree

www/software.scrbl

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

6060
Instruction for using each system are below:
@@ -81,7 +81,7 @@ Linux, this is likely set up by default. On Mac, you will need to
8181
install @link["https://www.xquartz.org/"]{XQuartz}. On Windows, you
8282
can 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
8585
type:
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
177177
some 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
216231
subsystem 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
265280
to edit Racket files. We will also be running Racket and its
266281
associated 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.
327342
The 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

Comments
 (0)