[m-dev.] Partially instantiated data structures

Julien Fischer jfischer at opturion.com
Fri Oct 5 11:54:25 AEST 2018


Hi Matthew,

On Wed, 3 Oct 2018, Matthew Ewer wrote:

> I'm trying to learn Mercury, and I ran into some problems that I
> believe are because of partially instantiated data structures, which
> are currently unimplemented:
> http://mercurylang.org/information/doc-release/mercury_faq/Unimplemented.html#Unimplemented
>
> Is this functionality being worked on? 

Not at the moment.  It has been in the past, but those efforts are
either too incomplete or do not perform well enough to be useful.

> If not, why not?  

It would be a large undertaking (see below).  Also, the Mercury
developers are currently working on other things.

> (Would it require extensive changes to existing systems? 

Yes, it would require implementing a new mode analyser.  Since mode
analysis is by far the most complicated part of the Mercury compiler
*and* the part which affects almost every other part of thee copmiler,
doing this will be a substantial undertaking.

> Is it considered unimportant? 

In my opinion, partial instantiation (in Mercury) is unimportant.   On
the list of language features that I would like to see implemented
it's pretty far down.  Other opinions may differ of course ;-)

> Is it intrinsically difficult?)  
> How much effort would it likely be to implement?

Lots :-(

Cheers,
Julien.


More information about the developers mailing list