On this page:
dir
file
create-dir

1.12 Working with Files and Directories: "dir.rkt"

 (require htdp/dir) package: htdp-lib

The teachpack provides structures and functions for working with files and directories:

struct

(struct dir (name dirs files)
  #:extra-constructor-name make-dir)
  name : symbol?
  dirs : (listof dir?)
  files : (listof file?)

struct

(struct file (name size content)
  #:extra-constructor-name make-file)
  name : symbol?
  size : integer?
  content : (listof char?)

procedure

(create-dir path)  dir?

  path : symbol?
Turns the directory found at path on your computer into an instance of dir?.

Sample: Set teachpack to "dir.rkt" and click Run:
> (create-dir ".")
(make-dir
  '|.|
  empty
  (cons (make-file 'ball1.gif 1289 empty)
        (cons (make-file 'blueball.gif 205 empty)
              (cons (make-file 'greenbal.gif 204 empty)
                    (cons (make-file 'redball.gif 203 empty)
                          (cons (make-file 'ufo.gif 1044 empty)
                                (cons (make-file 'gif-test.rkt 5811 empty)
                                      empty)))))))
Using “.” usually means the directory in which your program is located. In this case, the directory contains no sub-directories and six files.

Note: Soft links are always treated as if they were empty files.