Chicken Scheme: make-table unbound variable
up vote
1
down vote
favorite
I am trying to declare a hash table. Based on this SRFI I believe that the form (define x (make-table))
ought to result in the correct behavior; however, I am getting the following error.
CHICKEN
(c) 2008-2017, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.12.0 (rev 6ea24b6)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2017-02-19 on yves.more-magic.net (Linux)
#;1> (make-table)
Error: unbound variable: make-table
Call history:
eval.scm:211: ##sys#get
eval.scm:218: values
eval.scm:255: ##sys#alias-global-hook
modules.scm:769: ##sys#qualified-symbol?
modules.scm:777: ##sys#active-eval-environment
modules.scm:777: g2354
modules.scm:784: mrename
modules.scm:762: ##sys#current-module
eval.scm:259: ##sys#symbol-has-toplevel-binding?
eval.scm:265: ##sys#symbol-has-toplevel-binding?
library.scm:1668: after
eval.scm:857: g1785
<eval> (make-table)
library.scm:4051: ##sys#get-call-chain
library.scm:3834: ##sys#make-vector
library.scm:1371: ##sys#allocate-vector <--
In addition, I am getting similar errors for other functions. Is it possible I have installed the interpreter incorrectly?
chicken-scheme
add a comment |
up vote
1
down vote
favorite
I am trying to declare a hash table. Based on this SRFI I believe that the form (define x (make-table))
ought to result in the correct behavior; however, I am getting the following error.
CHICKEN
(c) 2008-2017, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.12.0 (rev 6ea24b6)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2017-02-19 on yves.more-magic.net (Linux)
#;1> (make-table)
Error: unbound variable: make-table
Call history:
eval.scm:211: ##sys#get
eval.scm:218: values
eval.scm:255: ##sys#alias-global-hook
modules.scm:769: ##sys#qualified-symbol?
modules.scm:777: ##sys#active-eval-environment
modules.scm:777: g2354
modules.scm:784: mrename
modules.scm:762: ##sys#current-module
eval.scm:259: ##sys#symbol-has-toplevel-binding?
eval.scm:265: ##sys#symbol-has-toplevel-binding?
library.scm:1668: after
eval.scm:857: g1785
<eval> (make-table)
library.scm:4051: ##sys#get-call-chain
library.scm:3834: ##sys#make-vector
library.scm:1371: ##sys#allocate-vector <--
In addition, I am getting similar errors for other functions. Is it possible I have installed the interpreter incorrectly?
chicken-scheme
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am trying to declare a hash table. Based on this SRFI I believe that the form (define x (make-table))
ought to result in the correct behavior; however, I am getting the following error.
CHICKEN
(c) 2008-2017, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.12.0 (rev 6ea24b6)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2017-02-19 on yves.more-magic.net (Linux)
#;1> (make-table)
Error: unbound variable: make-table
Call history:
eval.scm:211: ##sys#get
eval.scm:218: values
eval.scm:255: ##sys#alias-global-hook
modules.scm:769: ##sys#qualified-symbol?
modules.scm:777: ##sys#active-eval-environment
modules.scm:777: g2354
modules.scm:784: mrename
modules.scm:762: ##sys#current-module
eval.scm:259: ##sys#symbol-has-toplevel-binding?
eval.scm:265: ##sys#symbol-has-toplevel-binding?
library.scm:1668: after
eval.scm:857: g1785
<eval> (make-table)
library.scm:4051: ##sys#get-call-chain
library.scm:3834: ##sys#make-vector
library.scm:1371: ##sys#allocate-vector <--
In addition, I am getting similar errors for other functions. Is it possible I have installed the interpreter incorrectly?
chicken-scheme
I am trying to declare a hash table. Based on this SRFI I believe that the form (define x (make-table))
ought to result in the correct behavior; however, I am getting the following error.
CHICKEN
(c) 2008-2017, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.12.0 (rev 6ea24b6)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2017-02-19 on yves.more-magic.net (Linux)
#;1> (make-table)
Error: unbound variable: make-table
Call history:
eval.scm:211: ##sys#get
eval.scm:218: values
eval.scm:255: ##sys#alias-global-hook
modules.scm:769: ##sys#qualified-symbol?
modules.scm:777: ##sys#active-eval-environment
modules.scm:777: g2354
modules.scm:784: mrename
modules.scm:762: ##sys#current-module
eval.scm:259: ##sys#symbol-has-toplevel-binding?
eval.scm:265: ##sys#symbol-has-toplevel-binding?
library.scm:1668: after
eval.scm:857: g1785
<eval> (make-table)
library.scm:4051: ##sys#get-call-chain
library.scm:3834: ##sys#make-vector
library.scm:1371: ##sys#allocate-vector <--
In addition, I am getting similar errors for other functions. Is it possible I have installed the interpreter incorrectly?
chicken-scheme
chicken-scheme
asked Nov 19 at 9:17
Banner
588618
588618
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
CHICKEN does not ship with SRFI 90, and as far as I can tell so far nobody has made an egg for it, either. An earlier and more commonly used hash table library, SRFI-69, is part of core, though. It is also not available by default, you'll need to use it like so:
(use srfi-69)
In CHICKEN 5 (which I highly recommend you install, as it has many many improvements and is the currently supported major version), SRFI-69 is no longer part of core but can be installed as an egg via chicken-install
. There, use
no longer exists. Instead, after installing the egg you can import it like so:
(import srfi-69)
As an aside, SRFIs are "requests for implementation", and not every Scheme system implements every single SRFI. Sometimes because people object to the SRFI (some are controversial), sometimes because nobody has gotten around to it, sometimes because the SRFI is unimplementable/does make sense for a particular Scheme (for example, a C FFI makes no sense in a Scheme running on the JVM).
You'd have to check your Scheme's features to see if the SRFI you'd like to use is included. Note that for CHICKEN, many SRFIs are implemented outside of the core via eggs. CHICKEN core includes only a handful of SRFIs, like 0, 1, 2, 4, 6, 8, 9, 11, 13, 14, 15, 16, 17, 23, 30, 39, 55, 69. In CHICKEN 5, the SRFIs 1, 13, 14 and 69 have been taken out of core as they can be implemented externally quite easily. Check the list of eggs for more SRFI implementations.
Edit: I forgot, there's a wiki page that strives to list all supported SRFIs exhaustively. It hasn't been updated for CHICKEN 5 yet, but the list should eventually be the same, as more and more eggs get ported from CHICKEN 4 to 5 (and even become longer, given that CHICKEN 5 sees much new development).
Thanks for your response. I got version 5 setup. I am having trouble installing srfi-69 (or any other egg) withchicken-install
I get an errorError: extension or version not found: "srfi-69"
. Is this a problem with not having the correct egg repository? I have tried with the sudo and verbose flag but the output is the same.
– Banner
Nov 23 at 5:14
Can you paste the full output ofchicken-install -verbose srfi-69
?
– sjamaan
Nov 24 at 10:22
Absolutelysrfi-69 not cached Error: extension or version not found: "srfi-69"
– Banner
Nov 24 at 11:15
It looks like you installed CHICKEN with a PREFIX that is wrong (or you haven't installed CHICKEN yet?). Please trychicken-install -u
, see if that gives an error.
– sjamaan
Nov 24 at 11:43
1
Good to hear you at least found out the cause. Certainly you can set$PREFIX
to whatever you want (can be/opt/chicken
or~/chicken
, whichever you prefer). However, when you invokemake
for the first time, it will write achicken-config.h
which contains these path settings (using the defaultPREFIX
if you did not supply one). If later you callmake
again with a differentPREFIX
, it will not regeneratechicken-config.h
, causing a mismatch between where it installs CHICKEN versus where it looks for data and config files; if you setPREFIX
, use he same on everymake
call.
– sjamaan
19 hours ago
|
show 2 more comments
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
CHICKEN does not ship with SRFI 90, and as far as I can tell so far nobody has made an egg for it, either. An earlier and more commonly used hash table library, SRFI-69, is part of core, though. It is also not available by default, you'll need to use it like so:
(use srfi-69)
In CHICKEN 5 (which I highly recommend you install, as it has many many improvements and is the currently supported major version), SRFI-69 is no longer part of core but can be installed as an egg via chicken-install
. There, use
no longer exists. Instead, after installing the egg you can import it like so:
(import srfi-69)
As an aside, SRFIs are "requests for implementation", and not every Scheme system implements every single SRFI. Sometimes because people object to the SRFI (some are controversial), sometimes because nobody has gotten around to it, sometimes because the SRFI is unimplementable/does make sense for a particular Scheme (for example, a C FFI makes no sense in a Scheme running on the JVM).
You'd have to check your Scheme's features to see if the SRFI you'd like to use is included. Note that for CHICKEN, many SRFIs are implemented outside of the core via eggs. CHICKEN core includes only a handful of SRFIs, like 0, 1, 2, 4, 6, 8, 9, 11, 13, 14, 15, 16, 17, 23, 30, 39, 55, 69. In CHICKEN 5, the SRFIs 1, 13, 14 and 69 have been taken out of core as they can be implemented externally quite easily. Check the list of eggs for more SRFI implementations.
Edit: I forgot, there's a wiki page that strives to list all supported SRFIs exhaustively. It hasn't been updated for CHICKEN 5 yet, but the list should eventually be the same, as more and more eggs get ported from CHICKEN 4 to 5 (and even become longer, given that CHICKEN 5 sees much new development).
Thanks for your response. I got version 5 setup. I am having trouble installing srfi-69 (or any other egg) withchicken-install
I get an errorError: extension or version not found: "srfi-69"
. Is this a problem with not having the correct egg repository? I have tried with the sudo and verbose flag but the output is the same.
– Banner
Nov 23 at 5:14
Can you paste the full output ofchicken-install -verbose srfi-69
?
– sjamaan
Nov 24 at 10:22
Absolutelysrfi-69 not cached Error: extension or version not found: "srfi-69"
– Banner
Nov 24 at 11:15
It looks like you installed CHICKEN with a PREFIX that is wrong (or you haven't installed CHICKEN yet?). Please trychicken-install -u
, see if that gives an error.
– sjamaan
Nov 24 at 11:43
1
Good to hear you at least found out the cause. Certainly you can set$PREFIX
to whatever you want (can be/opt/chicken
or~/chicken
, whichever you prefer). However, when you invokemake
for the first time, it will write achicken-config.h
which contains these path settings (using the defaultPREFIX
if you did not supply one). If later you callmake
again with a differentPREFIX
, it will not regeneratechicken-config.h
, causing a mismatch between where it installs CHICKEN versus where it looks for data and config files; if you setPREFIX
, use he same on everymake
call.
– sjamaan
19 hours ago
|
show 2 more comments
up vote
2
down vote
accepted
CHICKEN does not ship with SRFI 90, and as far as I can tell so far nobody has made an egg for it, either. An earlier and more commonly used hash table library, SRFI-69, is part of core, though. It is also not available by default, you'll need to use it like so:
(use srfi-69)
In CHICKEN 5 (which I highly recommend you install, as it has many many improvements and is the currently supported major version), SRFI-69 is no longer part of core but can be installed as an egg via chicken-install
. There, use
no longer exists. Instead, after installing the egg you can import it like so:
(import srfi-69)
As an aside, SRFIs are "requests for implementation", and not every Scheme system implements every single SRFI. Sometimes because people object to the SRFI (some are controversial), sometimes because nobody has gotten around to it, sometimes because the SRFI is unimplementable/does make sense for a particular Scheme (for example, a C FFI makes no sense in a Scheme running on the JVM).
You'd have to check your Scheme's features to see if the SRFI you'd like to use is included. Note that for CHICKEN, many SRFIs are implemented outside of the core via eggs. CHICKEN core includes only a handful of SRFIs, like 0, 1, 2, 4, 6, 8, 9, 11, 13, 14, 15, 16, 17, 23, 30, 39, 55, 69. In CHICKEN 5, the SRFIs 1, 13, 14 and 69 have been taken out of core as they can be implemented externally quite easily. Check the list of eggs for more SRFI implementations.
Edit: I forgot, there's a wiki page that strives to list all supported SRFIs exhaustively. It hasn't been updated for CHICKEN 5 yet, but the list should eventually be the same, as more and more eggs get ported from CHICKEN 4 to 5 (and even become longer, given that CHICKEN 5 sees much new development).
Thanks for your response. I got version 5 setup. I am having trouble installing srfi-69 (or any other egg) withchicken-install
I get an errorError: extension or version not found: "srfi-69"
. Is this a problem with not having the correct egg repository? I have tried with the sudo and verbose flag but the output is the same.
– Banner
Nov 23 at 5:14
Can you paste the full output ofchicken-install -verbose srfi-69
?
– sjamaan
Nov 24 at 10:22
Absolutelysrfi-69 not cached Error: extension or version not found: "srfi-69"
– Banner
Nov 24 at 11:15
It looks like you installed CHICKEN with a PREFIX that is wrong (or you haven't installed CHICKEN yet?). Please trychicken-install -u
, see if that gives an error.
– sjamaan
Nov 24 at 11:43
1
Good to hear you at least found out the cause. Certainly you can set$PREFIX
to whatever you want (can be/opt/chicken
or~/chicken
, whichever you prefer). However, when you invokemake
for the first time, it will write achicken-config.h
which contains these path settings (using the defaultPREFIX
if you did not supply one). If later you callmake
again with a differentPREFIX
, it will not regeneratechicken-config.h
, causing a mismatch between where it installs CHICKEN versus where it looks for data and config files; if you setPREFIX
, use he same on everymake
call.
– sjamaan
19 hours ago
|
show 2 more comments
up vote
2
down vote
accepted
up vote
2
down vote
accepted
CHICKEN does not ship with SRFI 90, and as far as I can tell so far nobody has made an egg for it, either. An earlier and more commonly used hash table library, SRFI-69, is part of core, though. It is also not available by default, you'll need to use it like so:
(use srfi-69)
In CHICKEN 5 (which I highly recommend you install, as it has many many improvements and is the currently supported major version), SRFI-69 is no longer part of core but can be installed as an egg via chicken-install
. There, use
no longer exists. Instead, after installing the egg you can import it like so:
(import srfi-69)
As an aside, SRFIs are "requests for implementation", and not every Scheme system implements every single SRFI. Sometimes because people object to the SRFI (some are controversial), sometimes because nobody has gotten around to it, sometimes because the SRFI is unimplementable/does make sense for a particular Scheme (for example, a C FFI makes no sense in a Scheme running on the JVM).
You'd have to check your Scheme's features to see if the SRFI you'd like to use is included. Note that for CHICKEN, many SRFIs are implemented outside of the core via eggs. CHICKEN core includes only a handful of SRFIs, like 0, 1, 2, 4, 6, 8, 9, 11, 13, 14, 15, 16, 17, 23, 30, 39, 55, 69. In CHICKEN 5, the SRFIs 1, 13, 14 and 69 have been taken out of core as they can be implemented externally quite easily. Check the list of eggs for more SRFI implementations.
Edit: I forgot, there's a wiki page that strives to list all supported SRFIs exhaustively. It hasn't been updated for CHICKEN 5 yet, but the list should eventually be the same, as more and more eggs get ported from CHICKEN 4 to 5 (and even become longer, given that CHICKEN 5 sees much new development).
CHICKEN does not ship with SRFI 90, and as far as I can tell so far nobody has made an egg for it, either. An earlier and more commonly used hash table library, SRFI-69, is part of core, though. It is also not available by default, you'll need to use it like so:
(use srfi-69)
In CHICKEN 5 (which I highly recommend you install, as it has many many improvements and is the currently supported major version), SRFI-69 is no longer part of core but can be installed as an egg via chicken-install
. There, use
no longer exists. Instead, after installing the egg you can import it like so:
(import srfi-69)
As an aside, SRFIs are "requests for implementation", and not every Scheme system implements every single SRFI. Sometimes because people object to the SRFI (some are controversial), sometimes because nobody has gotten around to it, sometimes because the SRFI is unimplementable/does make sense for a particular Scheme (for example, a C FFI makes no sense in a Scheme running on the JVM).
You'd have to check your Scheme's features to see if the SRFI you'd like to use is included. Note that for CHICKEN, many SRFIs are implemented outside of the core via eggs. CHICKEN core includes only a handful of SRFIs, like 0, 1, 2, 4, 6, 8, 9, 11, 13, 14, 15, 16, 17, 23, 30, 39, 55, 69. In CHICKEN 5, the SRFIs 1, 13, 14 and 69 have been taken out of core as they can be implemented externally quite easily. Check the list of eggs for more SRFI implementations.
Edit: I forgot, there's a wiki page that strives to list all supported SRFIs exhaustively. It hasn't been updated for CHICKEN 5 yet, but the list should eventually be the same, as more and more eggs get ported from CHICKEN 4 to 5 (and even become longer, given that CHICKEN 5 sees much new development).
edited Nov 19 at 10:58
answered Nov 19 at 10:41
sjamaan
1,536516
1,536516
Thanks for your response. I got version 5 setup. I am having trouble installing srfi-69 (or any other egg) withchicken-install
I get an errorError: extension or version not found: "srfi-69"
. Is this a problem with not having the correct egg repository? I have tried with the sudo and verbose flag but the output is the same.
– Banner
Nov 23 at 5:14
Can you paste the full output ofchicken-install -verbose srfi-69
?
– sjamaan
Nov 24 at 10:22
Absolutelysrfi-69 not cached Error: extension or version not found: "srfi-69"
– Banner
Nov 24 at 11:15
It looks like you installed CHICKEN with a PREFIX that is wrong (or you haven't installed CHICKEN yet?). Please trychicken-install -u
, see if that gives an error.
– sjamaan
Nov 24 at 11:43
1
Good to hear you at least found out the cause. Certainly you can set$PREFIX
to whatever you want (can be/opt/chicken
or~/chicken
, whichever you prefer). However, when you invokemake
for the first time, it will write achicken-config.h
which contains these path settings (using the defaultPREFIX
if you did not supply one). If later you callmake
again with a differentPREFIX
, it will not regeneratechicken-config.h
, causing a mismatch between where it installs CHICKEN versus where it looks for data and config files; if you setPREFIX
, use he same on everymake
call.
– sjamaan
19 hours ago
|
show 2 more comments
Thanks for your response. I got version 5 setup. I am having trouble installing srfi-69 (or any other egg) withchicken-install
I get an errorError: extension or version not found: "srfi-69"
. Is this a problem with not having the correct egg repository? I have tried with the sudo and verbose flag but the output is the same.
– Banner
Nov 23 at 5:14
Can you paste the full output ofchicken-install -verbose srfi-69
?
– sjamaan
Nov 24 at 10:22
Absolutelysrfi-69 not cached Error: extension or version not found: "srfi-69"
– Banner
Nov 24 at 11:15
It looks like you installed CHICKEN with a PREFIX that is wrong (or you haven't installed CHICKEN yet?). Please trychicken-install -u
, see if that gives an error.
– sjamaan
Nov 24 at 11:43
1
Good to hear you at least found out the cause. Certainly you can set$PREFIX
to whatever you want (can be/opt/chicken
or~/chicken
, whichever you prefer). However, when you invokemake
for the first time, it will write achicken-config.h
which contains these path settings (using the defaultPREFIX
if you did not supply one). If later you callmake
again with a differentPREFIX
, it will not regeneratechicken-config.h
, causing a mismatch between where it installs CHICKEN versus where it looks for data and config files; if you setPREFIX
, use he same on everymake
call.
– sjamaan
19 hours ago
Thanks for your response. I got version 5 setup. I am having trouble installing srfi-69 (or any other egg) with
chicken-install
I get an error Error: extension or version not found: "srfi-69"
. Is this a problem with not having the correct egg repository? I have tried with the sudo and verbose flag but the output is the same.– Banner
Nov 23 at 5:14
Thanks for your response. I got version 5 setup. I am having trouble installing srfi-69 (or any other egg) with
chicken-install
I get an error Error: extension or version not found: "srfi-69"
. Is this a problem with not having the correct egg repository? I have tried with the sudo and verbose flag but the output is the same.– Banner
Nov 23 at 5:14
Can you paste the full output of
chicken-install -verbose srfi-69
?– sjamaan
Nov 24 at 10:22
Can you paste the full output of
chicken-install -verbose srfi-69
?– sjamaan
Nov 24 at 10:22
Absolutely
srfi-69 not cached Error: extension or version not found: "srfi-69"
– Banner
Nov 24 at 11:15
Absolutely
srfi-69 not cached Error: extension or version not found: "srfi-69"
– Banner
Nov 24 at 11:15
It looks like you installed CHICKEN with a PREFIX that is wrong (or you haven't installed CHICKEN yet?). Please try
chicken-install -u
, see if that gives an error.– sjamaan
Nov 24 at 11:43
It looks like you installed CHICKEN with a PREFIX that is wrong (or you haven't installed CHICKEN yet?). Please try
chicken-install -u
, see if that gives an error.– sjamaan
Nov 24 at 11:43
1
1
Good to hear you at least found out the cause. Certainly you can set
$PREFIX
to whatever you want (can be /opt/chicken
or ~/chicken
, whichever you prefer). However, when you invoke make
for the first time, it will write a chicken-config.h
which contains these path settings (using the default PREFIX
if you did not supply one). If later you call make
again with a different PREFIX
, it will not regenerate chicken-config.h
, causing a mismatch between where it installs CHICKEN versus where it looks for data and config files; if you set PREFIX
, use he same on every make
call.– sjamaan
19 hours ago
Good to hear you at least found out the cause. Certainly you can set
$PREFIX
to whatever you want (can be /opt/chicken
or ~/chicken
, whichever you prefer). However, when you invoke make
for the first time, it will write a chicken-config.h
which contains these path settings (using the default PREFIX
if you did not supply one). If later you call make
again with a different PREFIX
, it will not regenerate chicken-config.h
, causing a mismatch between where it installs CHICKEN versus where it looks for data and config files; if you set PREFIX
, use he same on every make
call.– sjamaan
19 hours ago
|
show 2 more comments
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371487%2fchicken-scheme-make-table-unbound-variable%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown