Syntax 记录可以有大写字段吗?

Syntax 记录可以有大写字段吗?,syntax,record,capitalization,purescript,Syntax,Record,Capitalization,Purescript,在purescript中,{foo::foo}desugars到记录(“foo”::foo),据我所知。我可以制作类似于记录(“F”::Foo)的东西吗?在记录访问语法中会是什么样子?thing.F在语法上有效吗?引用字段正是这样做的,无论是在类型上: type MyRecord = { "Usually impossible field name" :: Boolean } 在访问器/模式中: make :: Boolean -> MyRecord make = { "Usually

在purescript中,
{foo::foo}
desugars到
记录(“foo”::foo)
,据我所知。我可以制作类似于
记录(“F”::Foo)
的东西吗?在记录访问语法中会是什么样子?
thing.F
在语法上有效吗?

引用字段正是这样做的,无论是在类型上:

type MyRecord = { "Usually impossible field name" :: Boolean }
在访问器/模式中:

make :: Boolean -> MyRecord
make = { "Usually impossible field name": _ }

get :: MyRecord -> Boolean
get = _."Usually impossible field name"

update :: MyRecord -> Boolean -> MyRecord
update = _ { "Usually impossible field name" = _ }
通过这种方式引用字段,您可以使用大写、符号、数字等对记录字段进行任意命名

这与JavaScript中的obj[“property”]有点类似,但只能对属性名使用字符串文字,而不能使用任意值