# How to require a submodule made with module\*?

**URL:** <https://racket.discourse.group/t/how-to-require-a-submodule-made-with-module/4380>\
**Category:** Questions & Answers\
**Tags:** question, drracket\
**Created:** [September 13, 2026, 1:45pm UTC](https://racket.discourse.group/t/how-to-require-a-submodule-made-with-module/4380 "2026-09-13T13:45:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![joskoot](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joskoot/32/1964_2.png) [@joskoot](https://racket.discourse.group/u/joskoot)\
**Post date:** [September 13, 2026, 1:45pm UTC](https://racket.discourse.group/t/how-to-require-a-submodule-made-with-module/4380/1 "2026-09-13T13:45:45Z")

</div>

trying to require a submodule made with module\* I get the following error:

require: unknown module  
module name: (submod 'anonymous-module[2096977] aap)

I have tried some variations on the line marked with \<---, but none of them passed. How do I refer to submodule aap?

```scheme
#lang racket/base

(define x 1)

(module* aap #f
  (define a x)
  (provide a))

(module noot (submod ".." aap) ; <---
  (provide a))

(require 'noot)
a

```

---

<div class="post-metadata">

**Author:** ![samth](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/samth/32/3_2.png) [@samth](https://racket.discourse.group/u/samth)\
**Post date:** [September 13, 2026, 7:41pm UTC](https://racket.discourse.group/t/how-to-require-a-submodule-made-with-module/4380/2 "2026-09-13T19:41:19Z")

</div>

Submodules created with `module*` are conceptually "after" their enclosing module; submodules created with `module` are conceptually "before" their enclosing module. So what you're literally attempting is not possible. You could do this:

```scheme
#lang racket/base

(define x 1)

(module* aap #f
  (define a x)
  (provide a))

(module* noot racket
  (require (submod ".." aap)) ; <---
  (provide a))

```

However, you cannot then `require` that into the enclosing module.

Additionally, your use of `submod` is in the language position, which is probably not what you want.

---

<div class="post-metadata">

**Author:** ![soegaard](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/soegaard/32/19_2.png) [@soegaard](https://racket.discourse.group/u/soegaard)\
**Post date:** [September 13, 2026, 7:54pm UTC](https://racket.discourse.group/t/how-to-require-a-submodule-made-with-module/4380/3 "2026-09-13T19:54:26Z")

</div>

From the Guide on submodules:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/8/81aed270998dc7695a3fcbab36948d9360fc4a53.png)

---

<div class="post-metadata">

**Author:** ![joskoot](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joskoot/32/1964_2.png) [@joskoot](https://racket.discourse.group/u/joskoot)\
**Post date:** [September 13, 2026, 8:09pm UTC](https://racket.discourse.group/t/how-to-require-a-submodule-made-with-module/4380/4 "2026-09-13T20:09:24Z")

</div>

Ok, clear, thanks.
