ID:2337130
 
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Format:
  newpop(pop,Args)

Returns:
  A reference to a new atom or datum as defined in pop.

Args:
  pop: A JSON string defining the type and properties of the pop, or an associative list.
  Args: optional arguments for the New() proc.

If a JSON string is passed as the pop argument, it is parsed via json_decode(). This step is skipped if the pop argument is already an associative list.

The associative list form of the pop argument is then checked for the existence of a "type" key. If the type supplied does not exist, a runtime error will be returned indicating an invalid type path. Next, all other properties in the pop argument will be set to the supplied values. Any undeclared variables in the supplied type will return a runtime error indicating an invalid variable. Finally, the type's New() proc will be called, passing the remaining args to the proc.


The developer would have to manage references to icons and other files themselves.