[clean-list] Question

Diederik van Arkel diederik@cs.kun.nl
Sat, 04 May 2002 17:16:47 +0200


op 5/4/02 3:46 PM schreef Serguey Zefirov op thesz@mail.ru:

> Hello clean-list,
> 
> 1) IDE has unusual key bindings.

Assuming you're referring to the Windows version there is an
alternative set of key bindings available as 'windows.km' If
I remember correctly it should be in the Config subdirectory
of the Clean directory. If you rename this to 'default.km' it
should be used to set the key bindings for future launches of
the ide. See the Ide manual for the exact details.

> 2) What's wrong with program:
> ------------------------------------------------------------
> withinX :: *X (*World -> *World) -> *X
> withinX (XX w) f
> # w1 = f w
> = XX w1
> ------------------------------------------------------------
> Uniquenness error [test.icl, ,withinX] attribute atindicated position
> could not be coerced ^ World

This looks like you used the following datatype declaration:

:: X = XX World

Here you are indicating that the XX constructor receives a possibly
shared World.

There are two working options available:

a) :: *X = XX *World

XX always receives a unique world and thus type X always must be used
in a unique context,

and

b) :: X = XX .World

X and XX's World are both unique or both potentially shared.

> Also, is it possible to enclose unique types into algebraic types or
> so?
> I just try to understand applicability of linear logic.

You might also want to study the language manual available in the help
directory or from the help menu.

Regards,

Diederik van Arkel