Ticket #199 (new defect)

Opened 1 year ago

Last modified 1 year ago

(Resolved) Builtins: Are there public classes describing types?

Reported by: lth Assigned to: lth
Type: defect Priority: trivial
Milestone: Component: Spec
Version: 4 Keywords:
Cc: brendan,jeffdyer,cormac,dherman,graydon,fcheng,chrispi

Description

spec/library/meta.html: Are there public classes that describe classes, interfaces, type definitions, record types, array types, union types, * types, null types, undefined types, function types?

Note the classes must exist at some level, it's only a question of whether they should be public.

I vote "no"; the meta-object interfaces should be the only public interface to these type objects.

Attachments

Change History

Changed 1 year ago by brendan

Agreed, and I think that was graydon's intention. I recall citing

http://bracha.org/mirrors.pdf

in the discussion page to buttress the argument for interfaces only, not metaclasses. Nothing too profound here, just the two good principles listed in the paper:

  • meta-level facilities must encapsulate their implementation.
  • meta-level facilities must be separated from base-level functionality

We don't need the "Mirror" name suffix given the intrinsic default namespace used in our proposal.

/be

Changed 1 year ago by lth

  • priority changed from major to trivial
  • summary changed from Builtins: Are there public classes describing types? to (Resolved) Builtins: Are there public classes describing types?
Note: See TracTickets for help on using tickets.