[m-dev.] fix for bytecode generator

Bert Thompson aet at cs.mu.oz.au
Thu Mar 20 11:27:29 AEDT 1997


|Bert Thompson, you wrote:
|> 
|> Is it possible to avoid the test "FunctorList = [Char]"  by changing
|> the declaration of sym_name prog_data.m to:
|> 
|> :- type sym_name 	---->	unqualified(string)	% Can remove?
|> 			;	qualified(module_specifier, string)
|> 			;	char_const(char).	% Added
|
|The answer to your question "Can remove?" is no.
|
|You'd have to have two different types, `sym_name' and
|`fully_qualified_sym_name'.  But this would cause severe difficulty,
|because the same data structure may be unqualified or fully qualified
|depending on what stage of compilation you're up to.

Simon suggested a more reasonable change, which is to add char_const as
a case of cons_id. From his previous mail...

"If we were to add a specialised representation of characters, it would go
into the cons_id data type, as was done for byte_cons_id."

Bert



More information about the developers mailing list