<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-14003</id>
	<title>Nabble - Clean</title>
	<updated>2009-12-01T03:23:31Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Clean-f14003.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Clean-f14003.html" />
	<subtitle type="html">Discussions about the functional programming language &lt;a href=&quot;http://www.cs.ru.nl/~clean/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Clean&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26590281</id>
	<title>Re: observers in your plans?</title>
	<published>2009-12-01T03:23:31Z</published>
	<updated>2009-12-01T03:23:31Z</updated>
	<author>
		<name>Edsko de Vries-4</name>
	</author>
	<content type="html">Hi Carlos,
&lt;br&gt;&lt;br&gt;As John showed, Clean's implementation of #! gives you what you need for this example, but is not as powerful as observer types. To make things work, Clean severely restricts the types of the variables that you can assign to (basically, they must be primitive types). Observer types are a lot more general, but whether or not this extra generality is worth the additional complexity of the type system I'm not sure.
&lt;br&gt;&lt;br&gt;Edsko
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26590281&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/observers-in-your-plans--tp26540089p26590281.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26592502</id>
	<title>FLoC 2010: Call for Papers</title>
	<published>2009-11-30T09:19:07Z</published>
	<updated>2009-11-30T09:19:07Z</updated>
	<author>
		<name>Nicole Schweikardt</name>
	</author>
	<content type="html">2010 FEDERATED LOGIC CONFERENCE (FLoC'10)
&lt;br&gt;&lt;br&gt; Edinburgh, Scotland, U.K.
&lt;br&gt; July 9-21, 2010
&lt;br&gt; &lt;a href=&quot;http://www.floc-conference.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.floc-conference.org&lt;/a&gt;&lt;br&gt;&lt;br&gt; CALL FOR PAPERS
&lt;br&gt;&lt;br&gt;* The fifth Federated Logic Conference (FLoC'10) will be held in
&lt;br&gt; Edinburgh, Scotland, U.K. (www.edinburgh.org), in July 2010, at the
&lt;br&gt; School of Informatics at University of Edinburgh (www.inf.ed.ac.uk).
&lt;br&gt;&lt;br&gt;* The following conferences will participate in FLoC:
&lt;br&gt; - CAV 2010:   Int'l Conference on Computer-Aided Verification
&lt;br&gt; - CSF 2010:   IEEE Computer Security Foundations Symposium
&lt;br&gt; - ICLP 2010:  Int'l Conference on Logic Programming
&lt;br&gt; - IJCAR 2010: Int'l Joint Conference on Automated Reasoning
&lt;br&gt; - ITP 2010:   Int'l Conference on Interactive Theorem Proving
&lt;br&gt; - LICS 2010:  IEEE Symposium on Logic in Computer Science
&lt;br&gt; - RTA 2010:   Int'l Conference on Rewriting Techniques and Applications
&lt;br&gt; - SAT 2010:   Int'l Conference on Theory and Applications of
&lt;br&gt;               Satisfiability Testing
&lt;br&gt;&lt;br&gt;* Plenary events involving all the conferences are planned. In addition
&lt;br&gt; to the participating conferences, FLoC'10 will host a number of
&lt;br&gt; pre- and post-conference workshops. There will be receptions in the
&lt;br&gt; Edinburgh Castle and at the National Galleries of Scotland.
&lt;br&gt;&lt;br&gt;* Travel support for US student participants is expected.
&lt;br&gt;&lt;br&gt;* Detailed calls for papers (as well as submission instructions) for each
&lt;br&gt; of the participating conferences can be found at the FLoC'10 website at
&lt;br&gt; &lt;a href=&quot;http://www.floc-conference.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.floc-conference.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;* Important dates:
&lt;br&gt; - CAV 2010:
&lt;br&gt;      PC chairs: Byron Cook, Paul Jackson, Tayssir Touili
&lt;br&gt;      Jan 11: abstract submission deadline
&lt;br&gt;      Jan 15: paper submission deadline
&lt;br&gt; - CSF 2010:
&lt;br&gt;      PC chairs: Michael Backes, Andrew Myers
&lt;br&gt;      Feb 04: abstract submission deadline
&lt;br&gt;      Feb 08: paper submission deadline
&lt;br&gt; - ICLP 2010:
&lt;br&gt;      PC chairs: Manuel Hermenegildo, Torsten Schaub
&lt;br&gt;      Jan 26: paper registration deadline
&lt;br&gt;      Feb 02: paper submission deadline
&lt;br&gt; - IJCAR 2010:
&lt;br&gt;      PC chairs: Jürgen Giesl, Reiner Hähnle
&lt;br&gt;      Jan 15: abstract submission deadline
&lt;br&gt;      Jan 22: paper submission deadline
&lt;br&gt; - ITP 2010:
&lt;br&gt;      PC chairs: Matt Kaufmann, Lawrence C. Paulson
&lt;br&gt;      Jan 15: abstract submission deadline
&lt;br&gt;      Jan 22: paper submission deadline
&lt;br&gt; - LICS 2010:
&lt;br&gt;      PC chair: Jean-Pierre Jouannaud
&lt;br&gt;      Jan 10: abstract submission deadline
&lt;br&gt;      Jan 17: paper submission deadline
&lt;br&gt; - RTA 2010:
&lt;br&gt;      PC chair: Christopher Lynch
&lt;br&gt;      Jan 15: abstract submission deadline
&lt;br&gt;      Jan 22: paper submission deadline
&lt;br&gt; - SAT 2010:
&lt;br&gt;      PC chairs: Ofer Strichman, Stefan Szeider
&lt;br&gt;      Feb 01: abstract submission deadline
&lt;br&gt;      Feb 08: paper submission deadline
&lt;br&gt;&lt;br&gt;* FLoC'10 Steering Committee:
&lt;br&gt;  - General Chair: Moshe Y. Vardi
&lt;br&gt;  - Conference Co-chairs: Leonid Libkin, Gordon Plotkin
&lt;br&gt;  - CAV Representative: Edmund Clarke
&lt;br&gt;  - ICLP Representative: Manuel Hermenegildo
&lt;br&gt;  - IJCAR Representative: Alan Bundy
&lt;br&gt;  - ITP Representative: Tobias Nipkow
&lt;br&gt;  - LICS Representative: Martin Abadi
&lt;br&gt;  - RTA Representative: Juergen Giesl
&lt;br&gt;  - SAT Representative: Enrico Giunchiglia
&lt;br&gt;  - EasyChair Representative: Andrei Voronkov
&lt;br&gt;&lt;br&gt;----------------------
&lt;br&gt;You are subscribed to the FLoC 2010 mailing list.
&lt;br&gt;To unsubscribe please send an email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26592502&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;with the keywords unsubscribe floc2010 in the message body.
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26592502&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FLoC-2010%3A-Call-for-Papers-tp26592502p26592502.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26563216</id>
	<title>Re: stuck with uniqueness in records</title>
	<published>2009-11-29T07:56:41Z</published>
	<updated>2009-11-29T07:56:41Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Thanks John,
&lt;br&gt;&lt;br&gt;With the change you suggested it works.
&lt;br&gt;&lt;br&gt;This is how it looks now...
&lt;br&gt;&lt;br&gt;----------------- UMatrix.icl --------------------------------
&lt;br&gt;implementation module UMatrix
&lt;br&gt;&lt;br&gt;import StdArray, StdInt, StdBool, StdMisc, StdList, StdEnum
&lt;br&gt;&lt;br&gt;::UMatrix elemType = { rows :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals :: .({#} elemType)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;make :: .Int .Int elemType -&amp;gt; .(UMatrix elemType) | Array {#} elemType
&lt;br&gt;make n m v
&lt;br&gt;| n &amp;gt; 0 &amp;&amp; m &amp;gt; 0 = { rows = n
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols = m
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals = createArray (n*m) v
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;= abort &amp;quot;invalid matrix dimension&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;// creates a matrix given an array of values
&lt;br&gt;makeFrom :: .Int .Int u:{#a} -&amp;gt; v:(UMatrix a) | Array {#} a, &amp;nbsp;[u &amp;lt;= v]
&lt;br&gt;makeFrom n m arr
&lt;br&gt;| n * m == size arr = { rows = n
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , cols = m
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , vals = arr
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;= abort &amp;quot;invalid UMatrix creation&amp;quot;
&lt;br&gt;&lt;br&gt;// exports values from a matrix as array
&lt;br&gt;extract :: u:(UMatrix elemType) -&amp;gt; v:({#} elemType) | Array {#} elemType, [u &amp;lt;= v]
&lt;br&gt;extract m = m.vals
&lt;br&gt;&lt;br&gt;// adds two matrices and produces a new one
&lt;br&gt;add :: .(UMatrix elemType) (UMatrix elemType) -&amp;gt; .(UMatrix elemType) | Array {#} elemType &amp; Arith elemType
&lt;br&gt;add m1 m2
&lt;br&gt;| sameSize m1 m2 = { rows = m1.rows
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols = m1.cols
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals = resp
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;= abort &amp;quot;Invalid matrix add&amp;quot;
&lt;br&gt;where
&lt;br&gt;&amp;nbsp; &amp;nbsp; l = (size (m2.vals)) - 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; base = createArray l m2.vals.[0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; resp = {base &amp; [i] = m1.vals.[i] + m2.vals.[i] \\ i &amp;lt;- [0 .. l] }
&lt;br&gt;&lt;br&gt;// adds one matrix onto another (in place add)
&lt;br&gt;fAdd :: *(UMatrix elemType) (UMatrix elemType) -&amp;gt; *(UMatrix elemType) | Array {#} elemType &amp; Arith elemType
&lt;br&gt;fAdd m1 m2
&lt;br&gt;| sameSize m1 m2 = {m1 &amp; vals = updateInPlace m1.vals f (size m2.vals)}
&lt;br&gt;= abort &amp;quot;Invalid matrix add&amp;quot;
&lt;br&gt;where
&lt;br&gt;&amp;nbsp; &amp;nbsp; f v p = v + m2.vals.[p]
&lt;br&gt;&lt;br&gt;// --- internal
&lt;br&gt;&lt;br&gt;// true if same size
&lt;br&gt;sameSize :: .(UMatrix e) .(UMatrix e) -&amp;gt; Bool
&lt;br&gt;sameSize m1 m2
&lt;br&gt;| not (m1.rows == m2.rows) &amp;nbsp;= False
&lt;br&gt;| not (m1.cols == m2.cols) &amp;nbsp;= False
&lt;br&gt;= True
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;// updates array first parameter with a function taking its value at p and p itself
&lt;br&gt;updateInPlace :: *(a e) (e Int -&amp;gt; e) Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;updateInPlace arr1 f maxPos = updateLoop_ arr1 f 0 maxPos
&lt;br&gt;where
&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ :: *(a e) (e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ arr1 f pos maxPos
&lt;br&gt;&amp;nbsp; &amp;nbsp; | pos == maxPos &amp;nbsp;= arr1
&lt;br&gt;&amp;nbsp; &amp;nbsp; # (v, arr1) = arr1![pos]
&lt;br&gt;&amp;nbsp; &amp;nbsp; = {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;The type of &amp;quot;extract&amp;quot; (*) - which I think should be a reasonable function to have in the API of such a module - now explains to me why the m1.vals works as first parameter in updateInPlace within fAdd : if m1.vals is used in a unique parameter (as in there), then m1 must be unique, which it is.
&lt;br&gt;(*) more precisely, the coercion, the term used in Clean to refer to [u&amp;lt;=v]
&lt;br&gt;&lt;br&gt;Thanks a lot, kind of getting there.
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;Carlos
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----
&lt;br&gt;From: John van Groningen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26563216&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;johnvg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: Carlos Aya &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26563216&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;carlosayam@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26563216&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;Sent: Sat, 28 November, 2009 12:49:14 AM
&lt;br&gt;Subject: Re: [clean-list] stuck with uniqueness in records
&lt;br&gt;&lt;br&gt;&lt;br&gt;Carlos Aya wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;::UMatrix elemType = { rows :: !Int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , cols :: !Int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , vals :: ({#} elemType)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;The problem I am facing is update in place of the array vals, I want to have the following function (from implementation)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;...........................
&lt;br&gt;&amp;gt;// adds one matrix onto another (in place add)
&lt;br&gt;&amp;gt;fAdd :: *(UMatrix elemType) (UMatrix elemType) -&amp;gt; *(UMatrix elemType) | Array {#} elemType &amp; Arith elemType
&lt;br&gt;&amp;gt;fAdd m1 m2
&lt;br&gt;&amp;gt;| sameSize m1 m2
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;# (arr, m1) = m1!vals &amp;nbsp; // &amp;lt;--- PROBLEM HERE
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;= {m1 &amp; vals = updateInPlace arr f (size m2.vals)}
&lt;br&gt;&amp;gt;= abort &amp;quot;Invalid matrix add&amp;quot;
&lt;br&gt;&amp;gt;where
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;f v p = v + m2.vals.[p]
&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;The problem is that updateInPlace expects a unique array, but the signature I am getting in PROBLEM HERE is
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;m1!vals :: ({#a}, u:(UMatrix v:a))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;i.e., the array inside the record is not unique (at least, this is how I understand it).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;I have tried to define UMatrix with . and attribute variables in the hope that it will change the signature of the record &amp;quot;!&amp;quot; operator, but with no luck. And read the manual and the clean book but nothing said in b&amp;w about the &amp;quot;!&amp;quot; operator, at least for me as I couldn't link the whole concept of uniqueness propagation for records.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;How can I extract the array from the unique parameter in fAdd and expect it to be unique?
&lt;/div&gt;&lt;br&gt;Add a . before the array type in the declaration of type UMatrix:
&lt;br&gt;&lt;br&gt;::UMatrix elemType = { rows :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals :: . {#elemType}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;this makes the array unique if the record is unique,
&lt;br&gt;&lt;br&gt;and do not try to use ! to extract unique elements. This doesn't work
&lt;br&gt;because of a limitation in the reference analysis. Instead extract
&lt;br&gt;the element using a pattern match or a selection with .
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Last chance to win a Sony entertainment pack thanks to Yahoo!7. Hurry, ends Nov 30. Enter now: &lt;a href=&quot;http://au.docs.yahoo.com/homepageset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.docs.yahoo.com/homepageset/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26563216&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/stuck-with-uniqueness-in-records-tp26539912p26563216.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26562710</id>
	<title>Re: observers in your plans?</title>
	<published>2009-11-29T06:51:22Z</published>
	<updated>2009-11-29T06:51:22Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Thanks John for pointing this.
&lt;br&gt;&lt;br&gt;I read that section but seemed too obscure to me initially... 
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;Carlos
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----
&lt;br&gt;From: John van Groningen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26562710&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;johnvg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: Carlos Aya &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26562710&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;carlosayam@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26562710&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;Sent: Sat, 28 November, 2009 12:59:16 AM
&lt;br&gt;Subject: Re: [clean-list] observers in your plans?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Carlos Aya &amp;nbsp;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;Just curious if you have among the plans, implementation of so-called observer types, i.e. variables that do not add as counting occurences.
&lt;br&gt;&lt;br&gt;Clean already observer references, see section 9.4 of the reference manual.
&lt;br&gt;&lt;br&gt;For example, size can be used in a guard or in a #! as an observer.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;The problem with the following function ...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;doIt :: *(a e) (Int -&amp;gt; e) -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;gt;doIt arr f = {arr &amp; [i] = f i \\ i &amp;lt;- [0.. (size arr)]}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;... is that (size arr) counts as occurrence in the body of doIt, so arr cannot be unique. But as seen in the _SystemArray implementation, size only reads the size of the array which we know is fixed. So, truly its signature should be
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;size :: 0:arr -&amp;gt; Int
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;(I put 0: to indicate an &amp;quot;observed&amp;quot; parameter, out of my ignorance.. and based on Odersky paper...)
&lt;/div&gt;&lt;br&gt;This should work:
&lt;br&gt;&lt;br&gt;doIt arr f
&lt;br&gt;&amp;nbsp; &amp;nbsp; #! s = size arr
&lt;br&gt;&amp;nbsp; &amp;nbsp; = {arr &amp; [i] = f i \\ i &amp;lt;- [0.. s-1]}
&lt;br&gt;&lt;br&gt;or you could use usize instead:
&lt;br&gt;&lt;br&gt;doIt arr f
&lt;br&gt;&amp;nbsp; &amp;nbsp; # (s,arr) = usize arr
&lt;br&gt;&amp;nbsp; &amp;nbsp; = {arr &amp; [i] = f i \\ i &amp;lt;- [0.. s-1]}
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Win 1 of 4 Sony home entertainment packs thanks to Yahoo!7.
&lt;br&gt;Enter now: &lt;a href=&quot;http://au.docs.yahoo.com/homepageset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.docs.yahoo.com/homepageset/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26562710&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/observers-in-your-plans--tp26540089p26562710.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26564368</id>
	<title>POPL 2010 - Call for participation</title>
	<published>2009-11-28T07:37:02Z</published>
	<updated>2009-11-28T07:37:02Z</updated>
	<author>
		<name>Swarat Chaudhuri</name>
	</author>
	<content type="html">&lt;br&gt;*********************************************************************
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ACM SIGPLAN-SIGACT Symposium &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; on &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Principles of Programming Languages &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;January 20-22, 2010 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Madrid, Spain &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Call for Participation &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.cse.psu.edu/popl/10/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cse.psu.edu/popl/10/&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;*********************************************************************
&lt;br&gt;&lt;br&gt;&lt;br&gt;Important dates
&lt;br&gt;&lt;br&gt;&amp;nbsp; * Early registration deadline: December 22, 2009 
&lt;br&gt;&amp;nbsp; * Hotel reservation deadline: &amp;nbsp;December 28, 2009
&lt;br&gt;&amp;nbsp; * Conference: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;January 20-22, 2010
&lt;br&gt;&lt;br&gt;Hotel
&lt;br&gt;&lt;br&gt;&amp;nbsp; All &amp;nbsp;the conference &amp;nbsp;events will &amp;nbsp;take place &amp;nbsp;at the &amp;nbsp;Melia Castilla
&lt;br&gt;&amp;nbsp; Hotel, &amp;nbsp;Madrid. &amp;nbsp;We encourage &amp;nbsp;attendees to &amp;nbsp;stay at &amp;nbsp;the conference
&lt;br&gt;&amp;nbsp; hotel. &amp;nbsp;Information about the &amp;nbsp;hotel can &amp;nbsp;be found &amp;nbsp;on the &amp;nbsp;POPL web
&lt;br&gt;&amp;nbsp; page: &lt;a href=&quot;http://www.cse.psu.edu/popl/10/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cse.psu.edu/popl/10/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Scope
&lt;br&gt;&lt;br&gt;&amp;nbsp; The &amp;nbsp;annual Symposium on &amp;nbsp;Principles of &amp;nbsp;Programming Languages &amp;nbsp;is a
&lt;br&gt;&amp;nbsp; forum &amp;nbsp;for the &amp;nbsp;discussion of &amp;nbsp;fundamental principles &amp;nbsp;and important
&lt;br&gt;&amp;nbsp; innovations &amp;nbsp;in the &amp;nbsp;design, &amp;nbsp;definition, analysis, &amp;nbsp;transformation,
&lt;br&gt;&amp;nbsp; implementation &amp;nbsp; and &amp;nbsp; &amp;nbsp;verification &amp;nbsp; of &amp;nbsp; programming &amp;nbsp; languages,
&lt;br&gt;&amp;nbsp; programming &amp;nbsp; &amp;nbsp;systems, &amp;nbsp; and &amp;nbsp; programming &amp;nbsp; &amp;nbsp;abstractions. &amp;nbsp; &amp;nbsp;Both
&lt;br&gt;&amp;nbsp; experimental and theoretical papers are welcome.
&lt;br&gt;&lt;br&gt;Preliminary program
&lt;br&gt;&lt;br&gt;&amp;nbsp; A preliminary program can be found &amp;nbsp;at the end of this email in text
&lt;br&gt;&amp;nbsp; format, or it can be found here:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.cse.psu.edu/popl/10/program.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cse.psu.edu/popl/10/program.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Invited speakers 
&lt;br&gt;&lt;br&gt;&amp;nbsp; * Neil Gershenfeld (MIT, USA) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; * Thomas A. Henzinger (IST, Austria)
&lt;br&gt;&lt;br&gt;Student Attendees
&lt;br&gt;&lt;br&gt;&amp;nbsp; Students with accepted papers or posters are encouraged to apply for
&lt;br&gt;&amp;nbsp; a SIGPLAN PAC grant that will help to cover travel expenses to POPL.
&lt;br&gt;&amp;nbsp; Details on the &amp;nbsp;PAC program and the application can &amp;nbsp;be found in the
&lt;br&gt;&amp;nbsp; conference web site. PAC also offers support for companion travel.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;General Chair:
&lt;br&gt;&amp;nbsp; Manuel Hermenegildo
&lt;br&gt;&amp;nbsp; Director, IMDEA Software Institute
&lt;br&gt;&amp;nbsp; Professor, C.S. Department, T.U. of Madrid (UPM), Spain
&lt;br&gt;&lt;br&gt;Program Chair:
&lt;br&gt;&amp;nbsp; Jens Palsberg
&lt;br&gt;&amp;nbsp; Professor, UCLA Computer Science Department
&lt;br&gt;&lt;br&gt;Program Committee: 
&lt;br&gt;&amp;nbsp; Alex Aiken &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanford University
&lt;br&gt;&amp;nbsp; Rajeev Alur &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; University of Pennsylvania
&lt;br&gt;&amp;nbsp; Cristiano Calcagno &amp;nbsp; &amp;nbsp; &amp;nbsp;Imperial College, London
&lt;br&gt;&amp;nbsp; Juan Chen &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Microsoft Research
&lt;br&gt;&amp;nbsp; Wei-Ngan Chin &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; National University of Singapore
&lt;br&gt;&amp;nbsp; Mads Dam &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Royal Institute of Technology, Stockholm
&lt;br&gt;&amp;nbsp; Erik Ernst &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Aarhus University
&lt;br&gt;&amp;nbsp; John Field &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IBM T. J. Watson Research Center
&lt;br&gt;&amp;nbsp; Cormac Flanagan &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UC Santa Cruz
&lt;br&gt;&amp;nbsp; Roberto Giacobazzi &amp;nbsp; &amp;nbsp; &amp;nbsp;Universita' degli Studi di Verona
&lt;br&gt;&amp;nbsp; Rachid Guerraoui &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EPFL
&lt;br&gt;&amp;nbsp; Sorin Lerner &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UC San Diego
&lt;br&gt;&amp;nbsp; Calvin Lin &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;University of Texas, Austin
&lt;br&gt;&amp;nbsp; Atsushi Ohori &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Tohoku University
&lt;br&gt;&amp;nbsp; Jens Palsberg &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UCLA
&lt;br&gt;&amp;nbsp; Andrey Rybalchenko &amp;nbsp; &amp;nbsp; &amp;nbsp;Max Planck Institute for Software Systems
&lt;br&gt;&amp;nbsp; Amr Sabry &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Indiana University
&lt;br&gt;&amp;nbsp; Mooly Sagiv &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Tel-Aviv University
&lt;br&gt;&amp;nbsp; Peter Sewell &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;University of Cambridge
&lt;br&gt;&amp;nbsp; Tayssir Touili &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CNRS-LIAFA
&lt;br&gt;&lt;br&gt;Affiliated Events
&lt;br&gt;&lt;br&gt;* WFLP: Functional and (Constraint) Logic Programming
&lt;br&gt;&amp;nbsp; &amp;nbsp; * January 17, 2010
&lt;br&gt;&lt;br&gt;* VMCAI: Verification Model Checking and Abstract Interpretation
&lt;br&gt;&amp;nbsp; &amp;nbsp; * January 17-19, 2010 
&lt;br&gt;&lt;br&gt;* PADL: Practical Applications of Declarative Languages
&lt;br&gt;&amp;nbsp; &amp;nbsp; * January 18-19, 2010 
&lt;br&gt;&lt;br&gt;* DAMP: Declarative Aspects of Multicore Programming
&lt;br&gt;&amp;nbsp; &amp;nbsp; * January 19, 2010 
&lt;br&gt;&lt;br&gt;* PLPV: Programming Languages meets Program Verification
&lt;br&gt;&amp;nbsp; &amp;nbsp; * January 19, 2010 
&lt;br&gt;&lt;br&gt;* PEPM: Partial Evaluation and Semantics-Based Program Manipulation
&lt;br&gt;&amp;nbsp; &amp;nbsp; * January 18-19, 2010 
&lt;br&gt;&lt;br&gt;* TLDI:Types in Language Design and Implementation
&lt;br&gt;&amp;nbsp; &amp;nbsp; * January 23, 2010 
&lt;br&gt;&lt;br&gt;&lt;br&gt;POPL 2010 Preliminary Program
&lt;br&gt;-----------------------------
&lt;br&gt;&lt;br&gt;Wednesday, January 20, 2009
&lt;br&gt;===========================
&lt;br&gt;&lt;br&gt;* Invited talk, 9:00-10:00
&lt;br&gt;* Session Chair: Jens Palsberg (UCLA)
&lt;br&gt;- Reconfigurable Asynchronous Logic Automata
&lt;br&gt;&amp;nbsp; Neil Gershenfeld (MIT, USA)
&lt;br&gt;&lt;br&gt;* Session: Concurrency, 10:30-11:30 
&lt;br&gt;* Session Chair: John Field (IBM T. J. Watson Research Center)
&lt;br&gt;- On the Verification Problem for Weak Memory Models &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Mohamed Faouzi Atig (LIAFA, University Paris Diderot), 
&lt;br&gt;&amp;nbsp; Ahmed Bouajjani (LIAFA, University Paris Diderot), 
&lt;br&gt;&amp;nbsp; Sebastian Burckhardt (Microsoft Research), 
&lt;br&gt;&amp;nbsp; Madan Musuvathi (Microsoft Research)
&lt;br&gt;- Coarse-Grained Transactions &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Eric Koskinen (University of Cambridge), Matthew Parkinson 
&lt;br&gt;&amp;nbsp; (University of Cambridge), Maurice Herlihy (Brown University)
&lt;br&gt;- Sequential Verification of Serializability &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; H. Attiya (Technion), G. Ramalingam (Microsoft Research India), 
&lt;br&gt;&amp;nbsp; N. Rinetzky (Queen Mary University of London)
&lt;br&gt;&lt;br&gt;* Session: Static Analysis I, 12:00-1:00
&lt;br&gt;* Session Chair: Tayssir Touili (CNRS-LIAFA)
&lt;br&gt;- Compositional May-Must Program Analysis: Unleashing the Power of
&lt;br&gt;&amp;nbsp; Alternation 
&lt;br&gt;&amp;nbsp; Patrice Godefroid (Microsoft Research Redmond), 
&lt;br&gt;&amp;nbsp; Aditya V. Nori (Microsoft Research India), 
&lt;br&gt;&amp;nbsp; Sriram K. Rajamani (Microsoft Research India), 
&lt;br&gt;&amp;nbsp; Sai Deep Tetali (Microsoft Research India)
&lt;br&gt;- Continuity Analysis of Programs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Authors: Swarat Chaudhuri (Pennsylvania State University), 
&lt;br&gt;&amp;nbsp; Sumit Gulwani (Microsoft Research), 
&lt;br&gt;&amp;nbsp; Roberto Lublinerman (Pennsylvania State University)
&lt;br&gt;- Program Analysis via Satisfiability Modulo Path Programs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; William R. Harris (University of Wisconsin, Madison, WI), 
&lt;br&gt;&amp;nbsp; Sriram Sankaranarayanan (NEC Laboratories America, Princeton, NJ), 
&lt;br&gt;&amp;nbsp; Franjo Ivancic (NEC Laboratories America, Princeton, NJ), 
&lt;br&gt;&amp;nbsp; Aarti Gupta (NEC Laboratories America, Princeton, NJ)
&lt;br&gt;&lt;br&gt;* Session: Verified Compilers, 2:30-3:30
&lt;br&gt;* Session Chair: Sorin Lerner (UC San Diego)
&lt;br&gt;- A simple, verified validator for software pipelining &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Jean-Baptiste Tristan (INRIA Paris-Rocquencourt), 
&lt;br&gt;&amp;nbsp; Xavier Leroy (INRIA Paris-Rocquencourt)
&lt;br&gt;- A Verified Compiler for an Impure Functional Language &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Adam Chlipala (Harvard University)
&lt;br&gt;- Verified just-in-time compiler on x86 &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Magnus O. Myreen (University of Cambridge)
&lt;br&gt;&lt;br&gt;* Session: Type Inference, 4:00-5:00
&lt;br&gt;* Session Chair: Benjamin Pierce (University of Pennsylvania)
&lt;br&gt;- Dependent Types from Counterexamples &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Tachio Terauchi (Tohoku University)
&lt;br&gt;- Low-Level Liquid Types &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Patrick Rondon (UC San Diego), Ranjit Jhala (UC San Diego), 
&lt;br&gt;&amp;nbsp; Ming Kawaguchi (UC San Diego)
&lt;br&gt;- Type Inference for Datalog with Complex Type Hierarchies &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Max Schaefer (Semmle Ltd., Oxford), Oege de Moor (Semmle Ltd., Oxford)
&lt;br&gt;&lt;br&gt;Thursday, January 21, 2009
&lt;br&gt;==========================
&lt;br&gt;&lt;br&gt;* Invited talk, 9:00-10:00
&lt;br&gt;* Session Chair: Jens Palsberg (UCLA)
&lt;br&gt;- From Boolean to Quantitative Notions of Correctness
&lt;br&gt;&amp;nbsp; Thomas A. Henzinger (IST, Austria) 
&lt;br&gt;&lt;br&gt;* Session: Reasoning about Programs, 10:30-11:30
&lt;br&gt;* Session Chair: Roberto Giacobazzi (Universita' degli Studi di Verona)
&lt;br&gt;- Nominal System T &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Andrew M. Pitts (University of Cambridge)
&lt;br&gt;- A Theory of Indirection via Approximation &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Aquinas Hobor (National University of Singapore), 
&lt;br&gt;&amp;nbsp; Robert Dockins (Princeton University), Andrew W. Appel (Princeton University)
&lt;br&gt;- A Relational Modal Logic for Higher-Order Stateful ADTs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Derek Dreyer (MPI-SWS), Georg Neis (MPI-SWS), Andreas Rossberg (MPI-SWS), 
&lt;br&gt;&amp;nbsp; Lars Birkedal (ITU-Copenhagen)
&lt;br&gt;&lt;br&gt;* Session: Static Analysis II, 12:00-1:00 
&lt;br&gt;* Session Chair: Andrey Rybalchenko (Max Planck Institute for Software Systems)
&lt;br&gt;- Decision Procedures for Algebraic Data Types with Abstractions &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Philippe Suter (EPFL), Mirco Dotta (EPFL), Viktor Kuncak (EPFL)
&lt;br&gt;- Automatic Numeric Abstractions for Heap-Manipulating Programs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Stephen Magill (Carnegie Mellon University), 
&lt;br&gt;&amp;nbsp; Ming-Hsien Tsai (National Taiwan University), 
&lt;br&gt;&amp;nbsp; Peter Lee (Carnegie Mellon University), 
&lt;br&gt;&amp;nbsp; Yih-Kuen Tsay (National Taiwan University)
&lt;br&gt;- Static Determination of Quantitative Resource Usage for Higher-Order 
&lt;br&gt;&amp;nbsp; Programs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Steffen Jost (University of St Andrews), 
&lt;br&gt;&amp;nbsp; Hans-Wolfgang Loidl (University of St Andrews), 
&lt;br&gt;&amp;nbsp; Kevin Hammond (University of St Andrews), 
&lt;br&gt;&amp;nbsp; Martin Hofmann (Ludwig-Maximilians University, Munich)
&lt;br&gt;&lt;br&gt;* Session: Verification, 2:30-3:30
&lt;br&gt;* Session Chair: Xavier Leroy (INRIA Rocquencourt)
&lt;br&gt;- Toward a Verified Relational Database Management System &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Ryan Wisnesky (Harvard University), Gregory Malecha (Harvard University), 
&lt;br&gt;&amp;nbsp; Avraham Shinnar (Harvard University), Greg Morrisett (Harvard University)
&lt;br&gt;- Counterexample-Guided Focus &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Andreas Podelski (University of Freiburg), Thomas Wies (EPFL)
&lt;br&gt;- Structuring the verification of heap-manipulating programs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Aleksandar Nanevski (Microsoft Research, Cambridge / IMDEA Software, Spain), 
&lt;br&gt;&amp;nbsp; Viktor Vefeiadis (Microsoft Research, Cambridge), 
&lt;br&gt;&amp;nbsp; Josh Berdine (Microsoft Research, Cambridge)
&lt;br&gt;&lt;br&gt;* Session: Types, 4:00-5:00 
&lt;br&gt;* Session Chair: Erik Ernst (Aarhus University)
&lt;br&gt;- Dependent types and program equivalence &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Limin Jia (University of Pennsylvania), 
&lt;br&gt;&amp;nbsp; Jianzhou Zhao (University of Pennsylvania), 
&lt;br&gt;&amp;nbsp; Vilhelm Sjoberg (University of Pennsylvania), 
&lt;br&gt;&amp;nbsp; Stephanie Weirich (University of Pennsylvania)
&lt;br&gt;- Pure Subtype Systems &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; DeLesley Hutchins (MZA Associates Corporation)
&lt;br&gt;- Modular Session Types for Distributed Object-Oriented Programming &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Simon J Gay (University of Glasgow, UK), 
&lt;br&gt;&amp;nbsp; Vasco T Vasconcelos (University of Lisbon, Portugal), 
&lt;br&gt;&amp;nbsp; Antonio Ravara (Instituto de Telecomunicacoes and Technical
&lt;br&gt;&amp;nbsp; University of Lisbon, Portugal), &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Nils Gesbert (University of Glasgow, UK), 
&lt;br&gt;&amp;nbsp; Alexandre Z Caldeira (University of Lisbon, Portugal)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Friday, January 22, 2009
&lt;br&gt;=========================
&lt;br&gt;&lt;br&gt;* Session: Program Synthesis, 9:00-10:00
&lt;br&gt;* Session Chair: Cristiano Calcagno (Imperial College, London)
&lt;br&gt;- From Program Verification to Program Synthesis &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; Saurabh Srivastava (University of Maryland, College Park), 
&lt;br&gt;&amp;nbsp; Sumit Gulwani (Microsoft Research, Redmond), 
&lt;br&gt;&amp;nbsp; Jeffrey S. Foster (University of Maryland, College Park)
&lt;br&gt;- Abstraction-Guided Synthesis of Synchronization
&lt;br&gt;&amp;nbsp; Martin Vechev (IBM Research), Eran Yahav (IBM Research), 
&lt;br&gt;&amp;nbsp; Greta Yorsh (IBM Research)
&lt;br&gt;- Programming with Angelic Non-determinism &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Shaon Barman (UC Berkeley), Rastislav Bodik (UC Berkeley), 
&lt;br&gt;&amp;nbsp; Satish Chandra (IBM TJ Watson Research), Joel Galenson (UC Berkeley),
&lt;br&gt;&amp;nbsp; Doug Kimelman (IBM TJ Watson Research), Casey Rodarmor (UC Berkeley), 
&lt;br&gt;&amp;nbsp; Nicholas Tung (UC Berkeley)
&lt;br&gt;&lt;br&gt;* Session: Relating and Integrating Static and Dynamic Checks, 10:30-11:30
&lt;br&gt;* Session Chair: Matthias Felleisen (Northeastern University)
&lt;br&gt;- Contracts Made Manifest &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Michael Greenberg (University of Pennsylvania), 
&lt;br&gt;&amp;nbsp; Benjamin Pierce (University of Pennsylvania), 
&lt;br&gt;&amp;nbsp; Stephanie Weirich (University of Pennsylvania)
&lt;br&gt;- Threesomes, With and Without Blame &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Jeremy G. Siek (University of Colorado at Boulder), 
&lt;br&gt;&amp;nbsp; Philip Wadler (University of Edinburgh)
&lt;br&gt;- Integrating Typed and Untyped Code in a Scripting Language &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Tobias Wrigstad (Purdue University), Francesco Zappa Nardelli (INRIA), 
&lt;br&gt;&amp;nbsp; Sylvain Lebresne (Purdue University), Johan Ostlund (Purdue University), 
&lt;br&gt;&amp;nbsp; Jan Vitek (Purdue University)
&lt;br&gt;&lt;br&gt;* Session: Compilers, 12:00-1:00 
&lt;br&gt;* Session Chair: Peter Sewell (University of Cambridge)
&lt;br&gt;- Generating Compiler Optimizations from Proofs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Ross Tate (UC San Diego), Michael Stepp (UC San Diego), 
&lt;br&gt;&amp;nbsp; Sorin Lerner (UC San Diego)
&lt;br&gt;- Automatically Generating Instruction Selectors Using Declarative
&lt;br&gt;&amp;nbsp; Machine Descriptions &amp;nbsp;
&lt;br&gt;&amp;nbsp; Joao Dias (Tufts University), Norman Ramsey (Tufts University)
&lt;br&gt;- Semantics and Algorithms for Data-dependent Grammars &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Yitzhak Mandelbaum (AT&amp;T Labs - Research), Trevor Jim (AT&amp;T Labs - Research), 
&lt;br&gt;&amp;nbsp; David Walker (Princeton University)
&lt;br&gt;&lt;br&gt;* Session: Security and Ownership, 2:30-3:30
&lt;br&gt;* Session Chair: Mads Dam (Royal Institute of Technology, Stockholm)
&lt;br&gt;- Paralocks - Role-Based Information Flow Control and Beyond &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Niklas Broberg (Gothenburg University), 
&lt;br&gt;&amp;nbsp; David Sands (Chalmers University of Technology) 
&lt;br&gt;- Modular Verification of Security Protocol Code by Typing &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Karthikeyan Bhargavan (Microsoft Research), 
&lt;br&gt;&amp;nbsp; Cedric Fournet (Microsoft Research), 
&lt;br&gt;&amp;nbsp; Andrew D. Gordon (Microsoft Research)
&lt;br&gt;- Dynamically Checking Ownership Policies in Concurrent C/C++ Programs &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Jean-Phillipe Martin (Microsoft Research Cambridge), 
&lt;br&gt;&amp;nbsp; Michael Hicks (University of Maryland, College Park), 
&lt;br&gt;&amp;nbsp; Manuel Costa (Microsoft Research Cambridge), 
&lt;br&gt;&amp;nbsp; Periklis Akritidis (University of Cambridge), 
&lt;br&gt;&amp;nbsp; Miguel Castro (Microsoft Research Cambridge)
&lt;br&gt;&lt;br&gt;* Session: Medley, 4:00-5:00 
&lt;br&gt;* Session Chair: Mooly Sagiv (Tel-Aviv University)
&lt;br&gt;- Nested Interpolants &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Matthias Heizmann (University of Freiburg, Germany), 
&lt;br&gt;&amp;nbsp; Jochen Hoenicke (University of Freiburg, Germany), 
&lt;br&gt;&amp;nbsp; Andreas Podelski (University of Freiburg, Germany)
&lt;br&gt;- Monads in Action &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; Andrzej Filinski (University of Copenhagen)
&lt;br&gt;- Higher-Order Multi-Parameter Tree Transducers and Recursion Schemes
&lt;br&gt;&amp;nbsp; for Program Verification 
&lt;br&gt;&amp;nbsp; Naoki Kobayashi (Tohoku University), Naoshi Tabuchi (Tohoku University), 
&lt;br&gt;&amp;nbsp; Hiroshi Unno (Tohoku University)
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26564368&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/POPL-2010---CALL-FOR-CO-LOCATED-EVENT-PROPOSALS-tp21825501p26564368.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26542751</id>
	<title>Re: observers in your plans?</title>
	<published>2009-11-27T05:59:16Z</published>
	<updated>2009-11-27T05:59:16Z</updated>
	<author>
		<name>John van Groningen</name>
	</author>
	<content type="html">&lt;br&gt;Carlos Aya &amp;nbsp;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;Just curious if you have among the plans, implementation of so-called observer types, i.e. variables that do not add as counting occurences.
&lt;br&gt;&lt;br&gt;Clean already observer references, see section 9.4 of the reference manual.
&lt;br&gt;&lt;br&gt;For example, size can be used in a guard or in a #! as an observer.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;The problem with the following function ...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;doIt :: *(a e) (Int -&amp;gt; e) -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;gt;doIt arr f = {arr &amp; [i] = f i \\ i &amp;lt;- [0.. (size arr)]}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;... is that (size arr) counts as occurrence in the body of doIt, so arr cannot be unique. But as seen in the _SystemArray implementation, size only reads the size of the array which we know is fixed. So, truly its signature should be
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;size :: 0:arr -&amp;gt; Int
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;(I put 0: to indicate an &amp;quot;observed&amp;quot; parameter, out of my ignorance.. and based on Odersky paper...)
&lt;/div&gt;&lt;br&gt;This should work:
&lt;br&gt;&lt;br&gt;doIt arr f
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #! s = size arr
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = {arr &amp; [i] = f i \\ i &amp;lt;- [0.. s-1]}
&lt;br&gt;&lt;br&gt;or you could use usize instead:
&lt;br&gt;&lt;br&gt;doIt arr f
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # (s,arr) = usize arr
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = {arr &amp; [i] = f i \\ i &amp;lt;- [0.. s-1]}
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26542751&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/observers-in-your-plans--tp26540089p26542751.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26542626</id>
	<title>Re: stuck with uniqueness in records</title>
	<published>2009-11-27T05:49:14Z</published>
	<updated>2009-11-27T05:49:14Z</updated>
	<author>
		<name>John van Groningen</name>
	</author>
	<content type="html">&lt;br&gt;Carlos Aya wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;::UMatrix elemType = { rows :: !Int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , cols :: !Int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , vals :: ({#} elemType)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;The problem I am facing is update in place of the array vals, I want to have the following function (from implementation)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;...........................
&lt;br&gt;&amp;gt;// adds one matrix onto another (in place add)
&lt;br&gt;&amp;gt;fAdd :: *(UMatrix elemType) (UMatrix elemType) -&amp;gt; *(UMatrix elemType) | Array {#} elemType &amp; Arith elemType
&lt;br&gt;&amp;gt;fAdd m1 m2
&lt;br&gt;&amp;gt;| sameSize m1 m2
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;# (arr, m1) = m1!vals &amp;nbsp; // &amp;lt;--- PROBLEM HERE
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;= {m1 &amp; vals = updateInPlace arr f (size m2.vals)}
&lt;br&gt;&amp;gt;= abort &amp;quot;Invalid matrix add&amp;quot;
&lt;br&gt;&amp;gt;where
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;f v p = v + m2.vals.[p]
&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;The problem is that updateInPlace expects a unique array, but the signature I am getting in PROBLEM HERE is
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;m1!vals :: ({#a}, u:(UMatrix v:a))
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;i.e., the array inside the record is not unique (at least, this is how I understand it).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;I have tried to define UMatrix with . and attribute variables in the hope that it will change the signature of the record &amp;quot;!&amp;quot; operator, but with no luck. And read the manual and the clean book but nothing said in b&amp;w about the &amp;quot;!&amp;quot; operator, at least for me as I couldn't link the whole concept of uniqueness propagation for records.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;How can I extract the array from the unique parameter in fAdd and expect it to be unique?
&lt;/div&gt;&lt;br&gt;Add a . before the array type in the declaration of type UMatrix:
&lt;br&gt;&lt;br&gt;::UMatrix elemType = { rows :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals :: . {#elemType}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;this makes the array unique if the record is unique,
&lt;br&gt;&lt;br&gt;and do not try to use ! to extract unique elements. This doesn't work
&lt;br&gt;because of a limitation in the reference analysis. Instead extract
&lt;br&gt;the element using a pattern match or a selection with .
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26542626&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/stuck-with-uniqueness-in-records-tp26539912p26542626.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26540089</id>
	<title>observers in your plans?</title>
	<published>2009-11-27T01:53:42Z</published>
	<updated>2009-11-27T01:53:42Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Dear Clean Team,
&lt;br&gt;&lt;br&gt;Just curious if you have among the plans, implementation of so-called observer types, i.e. variables that do not add as counting occurences.
&lt;br&gt;&lt;br&gt;The problem with the following function ...
&lt;br&gt;&lt;br&gt;doIt :: *(a e) (Int -&amp;gt; e) -&amp;gt; *(a e) | Array a e
&lt;br&gt;doIt arr f = {arr &amp; [i] = f i \\ i &amp;lt;- [0.. (size arr)]}
&lt;br&gt;&lt;br&gt;... is that (size arr) counts as occurrence in the body of doIt, so arr cannot be unique. But as seen in the _SystemArray implementation, size only reads the size of the array which we know is fixed. So, truly its signature should be
&lt;br&gt;&lt;br&gt;size :: 0:arr -&amp;gt; Int
&lt;br&gt;&lt;br&gt;(I put 0: to indicate an &amp;quot;observed&amp;quot; parameter, out of my ignorance.. and based on Odersky paper...)
&lt;br&gt;&lt;br&gt;So, although doIt as idea doesn't conflict with update-in-place, it cannot be implemented in Clean.
&lt;br&gt;&lt;br&gt;What do you think?
&lt;br&gt;&lt;br&gt;Kind regards
&lt;br&gt;Carlos
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Win 1 of 4 Sony home entertainment packs thanks to Yahoo!7.
&lt;br&gt;Enter now: &lt;a href=&quot;http://au.docs.yahoo.com/homepageset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.docs.yahoo.com/homepageset/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26540089&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/observers-in-your-plans--tp26540089p26540089.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26539912</id>
	<title>stuck with uniqueness in records</title>
	<published>2009-11-27T01:35:39Z</published>
	<updated>2009-11-27T01:35:39Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Dear All,
&lt;br&gt;&lt;br&gt;Continuing with array update, now I want to wrap the array into a record. Basically to convert it into a 2D matrix. I want to put it into an abstract type, like
&lt;br&gt;&lt;br&gt;---- UMatrix.dcl ------
&lt;br&gt;definition module UMatrix
&lt;br&gt;&lt;br&gt;import StdArray, StdClass
&lt;br&gt;&lt;br&gt;// UMatrix : Unboxed matrix, elemType must be one of the available unboxed types
&lt;br&gt;::UMatrix elemType | Array {#} elemType
&lt;br&gt;&lt;br&gt;// ... more stuff ...
&lt;br&gt;&lt;br&gt;---------------------------
&lt;br&gt;&lt;br&gt;with the following implementation module:
&lt;br&gt;&lt;br&gt;---- UMatrix.icl ------
&lt;br&gt;implementation module UMatrix
&lt;br&gt;&lt;br&gt;import StdArray, StdInt, StdBool, StdMisc, StdList, StdEnum
&lt;br&gt;&lt;br&gt;::UMatrix elemType = { rows :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols :: !Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals :: ({#} elemType)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;// &amp;nbsp;... more stuff ...
&lt;br&gt;&lt;br&gt;---------------------------
&lt;br&gt;&lt;br&gt;The problem I am facing is update in place of the array vals, I want to have the following function (from implementation)
&lt;br&gt;&lt;br&gt;...........................
&lt;br&gt;// adds one matrix onto another (in place add)
&lt;br&gt;fAdd :: *(UMatrix elemType) (UMatrix elemType) -&amp;gt; *(UMatrix elemType) | Array {#} elemType &amp; Arith elemType
&lt;br&gt;fAdd m1 m2
&lt;br&gt;| sameSize m1 m2
&lt;br&gt;&amp;nbsp; &amp;nbsp; # (arr, m1) = m1!vals &amp;nbsp; // &amp;lt;--- PROBLEM HERE
&lt;br&gt;&amp;nbsp; &amp;nbsp; = {m1 &amp; vals = updateInPlace arr f (size m2.vals)}
&lt;br&gt;= abort &amp;quot;Invalid matrix add&amp;quot;
&lt;br&gt;where
&lt;br&gt;&amp;nbsp; &amp;nbsp; f v p = v + m2.vals.[p]
&lt;br&gt;&lt;br&gt;// ...
&lt;br&gt;// .. where updateInPlace is the array update in-place which I put together with your help before. ...
&lt;br&gt;// ...
&lt;br&gt;&lt;br&gt;// updates array first parameter with a function taking its value at p and p itself
&lt;br&gt;updateInPlace :: *(a e) (e Int -&amp;gt; e) Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;updateInPlace arr1 f maxPos = updateLoop_ arr1 f 0 maxPos
&lt;br&gt;where
&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ :: *(a e) (e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ arr1 f pos maxPos
&lt;br&gt;&amp;nbsp; &amp;nbsp; | pos == maxPos &amp;nbsp;= arr1
&lt;br&gt;&amp;nbsp; &amp;nbsp; # (v, arr1) = arr1![pos]
&lt;br&gt;&amp;nbsp; &amp;nbsp; = {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;............................
&lt;br&gt;&lt;br&gt;&lt;br&gt;The problem is that updateInPlace expects a unique array, but the signature I am getting in PROBLEM HERE is
&lt;br&gt;&lt;br&gt;m1!vals :: ({#a}, u:(UMatrix v:a))
&lt;br&gt;&lt;br&gt;i.e., the array inside the record is not unique (at least, this is how I understand it).
&lt;br&gt;&lt;br&gt;I have tried to define UMatrix with . and attribute variables in the hope that it will change the signature of the record &amp;quot;!&amp;quot; operator, but with no luck. And read the manual and the clean book but nothing said in b&amp;w about the &amp;quot;!&amp;quot; operator, at least for me as I couldn't link the whole concept of uniqueness propagation for records.
&lt;br&gt;&lt;br&gt;How can I extract the array from the unique parameter in fAdd and expect it to be unique?
&lt;br&gt;&lt;br&gt;Thanks in advance
&lt;br&gt;&lt;br&gt;Carlos
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Last chance to win a Sony entertainment pack thanks to Yahoo!7. Hurry, ends Nov 30. Enter now: &lt;a href=&quot;http://au.docs.yahoo.com/homepageset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.docs.yahoo.com/homepageset/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26539912&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/stuck-with-uniqueness-in-records-tp26539912p26539912.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26532572</id>
	<title>IJCAR 2010 - first call for papers</title>
	<published>2009-11-25T15:05:57Z</published>
	<updated>2009-11-25T15:05:57Z</updated>
	<author>
		<name>Viorica Sofronie-Stokkermans</name>
	</author>
	<content type="html">&amp;nbsp;IJCAR 2010 - The 5th International Joint Conference on Automated Reasoning
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Edinburgh, UK, July 16-19, 2010
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;as part of FLoC 2010 - Federated Logic Conference
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.floc-conference.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.floc-conference.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Call for Papers
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ---------------
&lt;br&gt;&lt;br&gt;IJCAR is the premier international joint conference on all topics
&lt;br&gt;in automated reasoning. The IJCAR technical program will consist
&lt;br&gt;of presentations of high-quality original research papers,
&lt;br&gt;system descriptions, and invited talks.
&lt;br&gt;&lt;br&gt;IJCAR 2010 is a merger of leading events in automated reasoning:
&lt;br&gt;&lt;br&gt;&amp;nbsp; CADE (Conference on Automated Deduction),
&lt;br&gt;&amp;nbsp; FroCoS (Workshop on Frontiers of Combining Systems),
&lt;br&gt;&amp;nbsp; FTP (Workshop on First-order Theorem Proving), and
&lt;br&gt;&amp;nbsp; TABLEAUX (Conference on Analytic Tableaux and Related Methods)
&lt;br&gt;&lt;br&gt;IJCAR 2010 invites submissions related to all aspects of automated
&lt;br&gt;reasoning, including foundations, implementations, and applications.
&lt;br&gt;Original research papers and descriptions of working automated deduction
&lt;br&gt;systems are solicited.
&lt;br&gt;&lt;br&gt;The proceedings of IJCAR 2010 will be published by Springer-Verlag in
&lt;br&gt;the LNAI/LNCS series.
&lt;br&gt;&lt;br&gt;Submission details: Submission is electronic, through
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;https://www.easychair.org/login.cgi?conf=ijcar2010&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www.easychair.org/login.cgi?conf=ijcar2010&lt;/a&gt;&lt;br&gt;&lt;br&gt;Authors are strongly encouraged to use LaTeX and the Springer &amp;quot;llncs&amp;quot;
&lt;br&gt;format, which can be obtained from
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.springer.de/comp/lncs/authors.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springer.de/comp/lncs/authors.html&lt;/a&gt;.
&lt;br&gt;The page limit is 15 pages for full papers, and 7 pages for system
&lt;br&gt;descriptions.
&lt;br&gt;&lt;br&gt;Program co-chairs:
&lt;br&gt;&amp;nbsp; Juergen Giesl (RWTH Aachen University, Germany)
&lt;br&gt;&amp;nbsp; Reiner Haehnle (Chalmers University of Technology, Sweden)
&lt;br&gt;&lt;br&gt;Conference chair:
&lt;br&gt;&amp;nbsp; Alan Bundy (University of Edinburgh, UK)
&lt;br&gt;&lt;br&gt;Workshop chair:
&lt;br&gt;&amp;nbsp; Aaron Stump (University of Iowa, USA)
&lt;br&gt;&lt;br&gt;Publicity chair:
&lt;br&gt;&amp;nbsp; Viorica Sofronie-Stokkermans (MPI-INF Saarbruecken, Germany)
&lt;br&gt;&lt;br&gt;Important dates:
&lt;br&gt;&amp;nbsp; Abstract submission deadline: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; January 15, 2010
&lt;br&gt;&amp;nbsp; Paper submission deadline: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;January 22, 2010
&lt;br&gt;&amp;nbsp; Notification of paper decisions: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;March 15, 2010
&lt;br&gt;&amp;nbsp; Final version of papers due: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;April 19, 2010
&lt;br&gt;&amp;nbsp; Conference dates: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; July 16-19, 2010
&lt;br&gt;&lt;br&gt;Student Travel Awards:
&lt;br&gt;Travel awards will be available to enable selected students to attend the
&lt;br&gt;conference. Details will be published in March 2010.
&lt;br&gt;&lt;br&gt;Program Committee:
&lt;br&gt;&amp;nbsp; Carlos Areces (INRIA Nancy Grand Est, France)
&lt;br&gt;&amp;nbsp; Alessandro Armando (University of Genova, Italy)
&lt;br&gt;&amp;nbsp; Franz Baader (Technical University of Dresden, Germany)
&lt;br&gt;&amp;nbsp; Peter Baumgartner (NICTA Canberra, Australia)
&lt;br&gt;&amp;nbsp; Bernhard Beckert (University of Koblenz, Germany)
&lt;br&gt;&amp;nbsp; Christoph Benzmueller (International University Bruchsal, Germany)
&lt;br&gt;&amp;nbsp; Nikolaj Bjorner (Microsoft Research, USA)
&lt;br&gt;&amp;nbsp; Maria Paola Bonacina (Universita` degli Studi di Verona, Italy)
&lt;br&gt;&amp;nbsp; Alan Bundy (University of Edinburgh, UK)
&lt;br&gt;&amp;nbsp; Gilles Dowek (Ecole Polytechnique, France)
&lt;br&gt;&amp;nbsp; Christian Fermueller (Vienna University of Technology, Austria)
&lt;br&gt;&amp;nbsp; Ulrich Furbach (University of Koblenz, Germany)
&lt;br&gt;&amp;nbsp; Didier Galmiche (LORIA Nancy, France)
&lt;br&gt;&amp;nbsp; Silvio Ghilardi (University of Milano, Italy)
&lt;br&gt;&amp;nbsp; Martin Giese (University of Oslo, Norway)
&lt;br&gt;&amp;nbsp; Juergen Giesl (RWTH Aachen University, Germany)
&lt;br&gt;&amp;nbsp; Rajeev Gore (The Australian National University, Australia)
&lt;br&gt;&amp;nbsp; Bernhard Gramlich (Vienna University of Technology, Austria)
&lt;br&gt;&amp;nbsp; Reiner Haehnle (Chalmers University of Technology, Sweden)
&lt;br&gt;&amp;nbsp; Ullrich Hustadt (University of Liverpool, UK)
&lt;br&gt;&amp;nbsp; Deepak Kapur (University of New Mexico, USA)
&lt;br&gt;&amp;nbsp; Viktor Kuncak (EPFL Lausanne, Switzerland)
&lt;br&gt;&amp;nbsp; Rustan Leino (Microsoft Research, USA)
&lt;br&gt;&amp;nbsp; Carsten Lutz (University of Bremen, Germany)
&lt;br&gt;&amp;nbsp; George Metcalfe (University of Bern, Switzerland)
&lt;br&gt;&amp;nbsp; Aart Middeldorp (University of Innsbruck, Austria)
&lt;br&gt;&amp;nbsp; Neil Murray (University at Albany - SUNY, USA)
&lt;br&gt;&amp;nbsp; Tobias Nipkow (Technical University of Munich, Germany)
&lt;br&gt;&amp;nbsp; Nicola Olivetti (LSIS, University of Aix-Marseille, France)
&lt;br&gt;&amp;nbsp; Nicolas Peltier (LIG Grenoble, France)
&lt;br&gt;&amp;nbsp; Frank Pfenning (Carnegie Mellon University, USA)
&lt;br&gt;&amp;nbsp; Brigitte Pientka (McGill University, Canada)
&lt;br&gt;&amp;nbsp; Andre Platzer (Carnegie Mellon University, USA)
&lt;br&gt;&amp;nbsp; Christophe Ringeissen (LORIA Nancy, France)
&lt;br&gt;&amp;nbsp; Albert Rubio (UPC Barcelona, Spain)
&lt;br&gt;&amp;nbsp; Renate Schmidt (The University of Manchester, UK)
&lt;br&gt;&amp;nbsp; Carsten Schuermann (IT University of Copenhagen, Denmark)
&lt;br&gt;&amp;nbsp; Roberto Sebastiani (University of Trento, Italy)
&lt;br&gt;&amp;nbsp; Viorica Sofronie-Stokkermans (MPI-INF Saarbruecken, Germany)
&lt;br&gt;&amp;nbsp; Aaron Stump (University of Iowa, USA)
&lt;br&gt;&amp;nbsp; Geoff Sutcliffe (University of Miami, USA)
&lt;br&gt;&amp;nbsp; Cesare Tinelli (University of Iowa, USA)
&lt;br&gt;&amp;nbsp; Ashish Tiwari (SRI International, USA)
&lt;br&gt;&amp;nbsp; Andrei Voronkov (The University of Manchester, UK)
&lt;br&gt;&amp;nbsp; Christoph Weidenbach (MPI-INF Saarbruecken, Germany)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26532572&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/IJCAR-2010---first-call-for-papers-tp26532572p26532572.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26532573</id>
	<title>Memocode 2010 First Call for Papers</title>
	<published>2009-11-25T07:53:31Z</published>
	<updated>2009-11-25T07:53:31Z</updated>
	<author>
		<name>Barbara Jobstmann</name>
	</author>
	<content type="html">MEMOCODE 2010 First Call for Papers
&lt;br&gt;&lt;br&gt;The eighth ACM-IEEE International Conference on Formal Methods and 
&lt;br&gt;Models for Codesign (MEMOCODE 2010) will be held 
&lt;br&gt;on July 26-28, 2010 in Grenoble, France.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.memocode-conference.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.memocode-conference.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------------------
&lt;br&gt;&lt;br&gt;IMPORTANT DATES:
&lt;br&gt;&lt;br&gt;Abstract submission deadline: &amp;nbsp; &amp;nbsp; &amp;nbsp;February 26, 2010
&lt;br&gt;Paper submission deadline: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; March 5, 2010
&lt;br&gt;Notification of acceptance: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;April 30, 2010
&lt;br&gt;Poster submission deadline: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;May 14, 2010
&lt;br&gt;Notification for Posters: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;May 28, 2010
&lt;br&gt;Final Version for Papers: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;May 28, 2010
&lt;br&gt;&lt;br&gt;----------------------------------------------------
&lt;br&gt;&lt;br&gt;The eighth MEMOCODE conference will attract researchers and 
&lt;br&gt;practitioners who create methods, tools, and architectures for the 
&lt;br&gt;design of hardware/software systems. These systems face increasing 
&lt;br&gt;design complexity including tighter constraints on timing, power, costs, 
&lt;br&gt;and reliability. MEMOCODE seeks submissions that present novel formal 
&lt;br&gt;methods and design techniques addressing these issues to create, refine, 
&lt;br&gt;and verify hardware/software systems. We also invite 
&lt;br&gt;application-oriented papers, and especially encourage submissions that 
&lt;br&gt;highlight the design perspective of formal methods and models, including 
&lt;br&gt;success stories and demonstrations of hardware/software codesign. 
&lt;br&gt;Furthermore, we invite poster presentations describing ongoing work with 
&lt;br&gt;promising preliminary results.
&lt;br&gt;&lt;br&gt;Topics of interest for regular submissions include but are not limited to
&lt;br&gt;- system- and transaction-level modeling and verification, abstraction 
&lt;br&gt;and refinement between different modeling levels, formal, semi-formal, 
&lt;br&gt;and specification-driven verification,
&lt;br&gt;- design and verification methods for composition of concurrent systems: 
&lt;br&gt;multi-core platform architectures, systems-on-chip, networks-on-chip,
&lt;br&gt;- non-traditional and domain-specific design languages for hardware and 
&lt;br&gt;software, novel models of computation, and new design paradigms that 
&lt;br&gt;unify hardware and software design,
&lt;br&gt;- system-level estimation of performance and power in heterogeneous 
&lt;br&gt;hardware/software architectures,
&lt;br&gt;- applications and demonstrators of formal design methodologies and case 
&lt;br&gt;studies of innovative system-level design flows, and
&lt;br&gt;- modeling and reuse of intellectual property at system-level.
&lt;br&gt;&lt;br&gt;PROCEEDINGS:
&lt;br&gt;&lt;br&gt;Conference proceedings will be published by the IEEE Computer Society.
&lt;br&gt;&lt;br&gt;SUBMISSION:
&lt;br&gt;&lt;br&gt;Submissions of research and experience papers will only be accepted 
&lt;br&gt;through the conference web site. Papers must not exceed 10 pages and 
&lt;br&gt;must be formatted following IEEE Computer Society guidelines. 
&lt;br&gt;Submissions must be written in English, describe original work, and not 
&lt;br&gt;substantially overlap papers that have been published or are being 
&lt;br&gt;submitted to a journal or another conference with published proceedings. 
&lt;br&gt;Poster submissions should consist of an abstract of at most 250 words. 
&lt;br&gt;The abstract will be distributed to the conference attendants but will 
&lt;br&gt;not be published. Note that the poster deadline is different from the 
&lt;br&gt;paper deadline.
&lt;br&gt;&lt;br&gt;DESIGN CONTEST:
&lt;br&gt;&lt;br&gt;MEMOCODE will again have a design contest. The contest will start March 
&lt;br&gt;1, 2010. The deadline for submission is 31 March 2010 and the 
&lt;br&gt;notification of the results is on May 14, 2010. The conference will 
&lt;br&gt;sponsor at least two prize categories, each with a significant cash 
&lt;br&gt;award. We awarded a $1000 prize in each of the two categories in 2009. 
&lt;br&gt;Each team that submits a complete and working entry will be invited to 
&lt;br&gt;submit for review a 2-page abstract for the formal conference 
&lt;br&gt;proceedings; winning teams will be invited to contribute a 4-page short 
&lt;br&gt;paper. Each team submitting a completed and working entry will also 
&lt;br&gt;receive a commemorative plaque with their name and results. Please refer 
&lt;br&gt;to the conference website for more information and updates.
&lt;br&gt;&lt;br&gt;TUTORIALS:
&lt;br&gt;&lt;br&gt;MEMOCODE will feature tutorials related to hardware/software codesign. 
&lt;br&gt;Please send your tutorial proposals to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26532573&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alain.girault@...&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;----------------------------------------------------
&lt;br&gt;&lt;br&gt;General Chair: &amp;nbsp;Klaus Schneider (Kaiserslauten)
&lt;br&gt;Finance Chair: &amp;nbsp;James Hoe (CMU)
&lt;br&gt;Program Chairs: Barbara Jobstmann (CNRS) and Luca Carloni (Columbia)
&lt;br&gt;Design Contest: Joel Emer (Intel) and &amp;nbsp;Forrest Brewer (UCSB)
&lt;br&gt;Local Chairs: &amp;nbsp; Saddek Bensalem (UJF/CEA) and Christian Fabre (CEA)
&lt;br&gt;Tutorial Chair: Alain Girault (INRIA)
&lt;br&gt;&lt;br&gt;Program Committee
&lt;br&gt;&lt;br&gt;David Atienza (EPFL)
&lt;br&gt;Twan Basten (Eindhoven)
&lt;br&gt;Tevfik Bultan (UCSB)
&lt;br&gt;Robert de Simone (INRIA)
&lt;br&gt;Rainer Doemer (UCI)
&lt;br&gt;Rolf Drechsler (Bremen)
&lt;br&gt;Stephen Edwards (Columbia)
&lt;br&gt;Franco Fummi (Verona)
&lt;br&gt;Thierry Gautier (INRIA)
&lt;br&gt;Ganesh Gopalakrishnan (Utah)
&lt;br&gt;Josef Haid (Infineon)
&lt;br&gt;Franjo Ivancic (NEC)
&lt;br&gt;Christoph Kirsch (Salzburg)
&lt;br&gt;Daniel Kroening (Oxford)
&lt;br&gt;Yassine Lakhnech (UJF)
&lt;br&gt;Luciano Lavagno (Torino)
&lt;br&gt;Elizabeth Leonard (NRL)
&lt;br&gt;Rishiyur Nikhil (Bluespec, Inc.)
&lt;br&gt;John O'Leary (Intel)
&lt;br&gt;Roberto Passerone (Trento)
&lt;br&gt;Diego Puschini (CEA)
&lt;br&gt;Jan Reineke (UC Berkeley)
&lt;br&gt;Patrick Schaumont (VirginiaTech)
&lt;br&gt;Klaus Schneider (Kaiserslautern)
&lt;br&gt;Sanjit Seshia (UC Berkeley)
&lt;br&gt;Natasha Sharygina (Lugano)
&lt;br&gt;Satnam Singh (Microsoft)
&lt;br&gt;Michael Theobald (DE Shaw)
&lt;br&gt;Lothar Thiele (ETHZ)
&lt;br&gt;Fei Xie (Portland State)
&lt;br&gt;&lt;br&gt;Steering Committee
&lt;br&gt;&lt;br&gt;Arvind (MIT)
&lt;br&gt;Masahiro Fujita (University Tokyo)
&lt;br&gt;Rajesh Gupta (UC San Diego)
&lt;br&gt;Connie Heitmeyer (NRL)
&lt;br&gt;James Hoe (CMU)
&lt;br&gt;Sandeep Shukla (Virginia Tech)
&lt;br&gt;Jean-Pierre Talpin (INRIA)
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26532573&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Memocode-2010-First-Call-for-Papers-tp26532573p26532573.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26466005</id>
	<title>WGT 2010 Submission Deadline Extension and Final Call for Papers</title>
	<published>2009-11-22T02:48:02Z</published>
	<updated>2009-11-22T02:48:02Z</updated>
	<author>
		<name>Workshop on Generative Technologies</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ Apologies for multiple copies of this announcement ]
&lt;br&gt;&lt;br&gt;****************************************************************
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FINAL CALL FOR PAPERS
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Second Workshop on Generative Technologies
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WGT 2010
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://wgt2010.elte.hu/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wgt2010.elte.hu/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a satellite event of the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;13th European Joint Conferences on
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Theory and Practice of Software
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (ETAPS 2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Paphos - Cyprus
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;March 27, 2010
&lt;br&gt;&lt;br&gt;****************************************************************
&lt;br&gt;&lt;br&gt;&lt;br&gt;IMPORTANT DATES
&lt;br&gt;&lt;br&gt;- Submission of full paper: November 30, 2009
&lt;br&gt;- Submission of tool demo paper: November 30, 2009
&lt;br&gt;- Author notification: January 11, 2010
&lt;br&gt;- Final version due: January 25, 2010
&lt;br&gt;&lt;br&gt;****************************************************************
&lt;br&gt;&lt;br&gt;SCOPE
&lt;br&gt;&lt;br&gt;Generative programming is an emerging paradigm aimed
&lt;br&gt;at automating important tasks in software development,
&lt;br&gt;compile-time and run-time code transformation, and the creation of
&lt;br&gt;domain-specific languages and flexible libraries. The purpose of the
&lt;br&gt;workshop is to provide a forum for researchers and practitioners working in
&lt;br&gt;this area to discuss
&lt;br&gt;state-of-the-art generative technologies and tools, and
&lt;br&gt;exchange ideas about the future of generative programming.
&lt;br&gt;Papers describing practical applications of generative styles,
&lt;br&gt;and new research directions are expected. Suggested areas of
&lt;br&gt;interest in the workshop include, but are not limited to:
&lt;br&gt;&lt;br&gt;- Generative programming, metaprogramming
&lt;br&gt;- Separation of concerns
&lt;br&gt;- Intentional programming
&lt;br&gt;- Domain engineering and domain analysis
&lt;br&gt;- Product-line architectures
&lt;br&gt;- Feature-based techniques
&lt;br&gt;- Compile-time and run-time code transformation
&lt;br&gt;- Multi-stage languages
&lt;br&gt;- Generic and Active library-development
&lt;br&gt;- Analysis of language support for generative programming
&lt;br&gt;- Semantics, type-systems of generative programs
&lt;br&gt;- Case Studies and Demonstration Cases
&lt;br&gt;&lt;br&gt;****************************************************************
&lt;br&gt;&lt;br&gt;PAPER SUBMISSION
&lt;br&gt;&lt;br&gt;RESEARCH PAPERS &amp;nbsp;(full papers, 8-10 pages) as well as TOOL DEMO PAPERS (up
&lt;br&gt;to 2 pages) should be submitted to the WGT 2010 organizers in ENTCS format 
&lt;br&gt;(&lt;a href=&quot;http://www.entcs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.entcs.org&lt;/a&gt;). Submissions should be sent by e-mail to 
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26466005&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wgt@...&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;Accepted workshop papers are published in the local proceedings. After 
&lt;br&gt;the workshop the participants are invited for submission to journal ENTCS 
&lt;br&gt;(only research papers). The workshop organizers have intention to set the 
&lt;br&gt;deadline of this second submission being later then the notification on 
&lt;br&gt;GPCE papers. Hence authors have opportunity to send their paper to GPCE 
&lt;br&gt;and if rejected, send to ENTCS without violating usual resubmission policy.
&lt;br&gt;&lt;br&gt;Further information will be available at the WGT 2010 home page.
&lt;br&gt;At least one author of each accepted submission must register
&lt;br&gt;and present the paper at the workshop.
&lt;br&gt;&lt;br&gt;****************************************************************
&lt;br&gt;&lt;br&gt;PROCEEDINGS
&lt;br&gt;&lt;br&gt;After revision, final copies of the accepted papers will be
&lt;br&gt;published in Electronic Notes in Theoretical Computer Science
&lt;br&gt;(ENTCS), Elsevier Science (&lt;a href=&quot;http://www.entcs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.entcs.org&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;****************************************************************
&lt;br&gt;&lt;br&gt;PROGRAM COMMITTEE
&lt;br&gt;&lt;br&gt;- Don Batory &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; University of Texas at Austin (USA)
&lt;br&gt;- Jaakko Järvi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Texas A&amp;M University (USA)
&lt;br&gt;- Julia Lawall &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; University of Copenhagen (DK)
&lt;br&gt;- Hanspeter Mössenböck &amp;nbsp; Johannes Kepler University Linz (AT)
&lt;br&gt;- Zoltán Porkoláb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Eotvos Lorand University (HUN)
&lt;br&gt;- Awais Rashid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Lancaster University (UK)
&lt;br&gt;- Joao Saraiva &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; University of Minho (POR)
&lt;br&gt;- Bran Selic &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Malina Software Corp (CAN)
&lt;br&gt;- Yannis Smaragdakis &amp;nbsp; &amp;nbsp; University of Massachusetts, Amherst (USA)
&lt;br&gt;&lt;br&gt;****************************************************************
&lt;br&gt;&lt;br&gt;ORGANIZING COMMITTEE
&lt;br&gt;&lt;br&gt;- Zoltan Porkolab &amp;nbsp; &amp;nbsp; &amp;nbsp; Eotvos Lorand University (HUN)
&lt;br&gt;- Norbert Pataki &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Eotvos Lorand University (HUN)
&lt;br&gt;- Zalan Szugyi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Eotvos Lorand University (HUN)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26466005&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wgt@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;****************************************************************&lt;br /&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26466005&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/WGT-2010-Submission-Deadline-Extension-and-Final-Call-for-Papers-tp26466005p26466005.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26446616</id>
	<title>Re: definition and propagation of class constraints</title>
	<published>2009-11-20T08:52:13Z</published>
	<updated>2009-11-20T08:52:13Z</updated>
	<author>
		<name>John van Groningen</name>
	</author>
	<content type="html">&lt;br&gt;Carlos Aya wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;I want to to this:
&lt;br&gt;&amp;gt;------------------ umatrix.dcl ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;definition module UMatrix
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;import StdArray
&lt;br&gt;&amp;gt;// UMatrix : Unboxed matrix, elemType must be one of the available unboxed types
&lt;br&gt;&amp;gt;::UMatrix elemType | Array {#} elemType
&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;but I don't know (couldn't find) how to define the abstract type UMatrix in the definition module, annotated with corresponding class constraint.
&lt;/div&gt;&lt;br&gt;Class constraints cannot be used in type definitions (synonym, algebraic,
&lt;br&gt;record or abstract).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;::UMatrix elemType = { rows :: Int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , cols :: Int
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , vals :: {#} elemType
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;make :: .Int .Int elemType -&amp;gt; .(UMatrix elemType)
&lt;br&gt;&amp;gt;make n m v
&lt;br&gt;&amp;gt;| n &amp;gt; 0 &amp;&amp; m &amp;gt; 0 = { rows = n
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , cols = m
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , vals = createArray (n*m) v
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;..
&lt;br&gt;&amp;gt;therefore the compiler complains that &amp;quot;internal overloading of createArray&amp;quot; cannot be solved.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;My questions
&lt;br&gt;&amp;gt;- if UMatrix e is annotated with Array {#} e, why do I need to especify that in make if e appears in the return type? Isn't this inferred?
&lt;/div&gt;&lt;br&gt;You cannot annotate UMatrix e with Array {#} e, therefore you have to
&lt;br&gt;add the context Array {#} e at the end of the type of make.
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26446616&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/definition-and-propagation-of-class-constraints-tp26418140p26446616.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26443395</id>
	<title>Re: [Haskell] ANNOUNCE: Haskell Communities and Activities Report (17th ed., November 2009)</title>
	<published>2009-11-20T05:39:36Z</published>
	<updated>2009-11-20T05:39:36Z</updated>
	<author>
		<name>Simon Peyton-Jones</name>
	</author>
	<content type="html">Brilliant. &amp;nbsp;Thank you Janis!
&lt;br&gt;&lt;br&gt;| 
&lt;br&gt;| On behalf of the many, many contributors, I am pleased to announce
&lt;br&gt;| that the
&lt;br&gt;| 
&lt;br&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Haskell Communities and Activities Report
&lt;br&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(17th edition, November 2009)
&lt;br&gt;| 
&lt;br&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.haskell.org/communities/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.haskell.org/communities/&lt;/a&gt;&lt;br&gt;| 
&lt;br&gt;| is now available from the Haskell Communities home page in PDF and
&lt;br&gt;| HTML formats.
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443395&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ANNOUNCE%3A-Haskell-Communities-and-Activities-Report-%2817th-ed.%2C-November-2009%29-tp26443153p26443395.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26443153</id>
	<title>ANNOUNCE: Haskell Communities and Activities Report (17th ed., November 2009)</title>
	<published>2009-11-20T04:17:59Z</published>
	<updated>2009-11-20T04:17:59Z</updated>
	<author>
		<name>Janis Voigtlaender</name>
	</author>
	<content type="html">On behalf of the many, many contributors, I am pleased to announce
&lt;br&gt;that the
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Haskell Communities and Activities Report
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(17th edition, November 2009)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.haskell.org/communities/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.haskell.org/communities/&lt;/a&gt;&lt;br&gt;&lt;br&gt;is now available from the Haskell Communities home page in PDF and
&lt;br&gt;HTML formats.
&lt;br&gt;&lt;br&gt;Many thanks go to all the people that contributed to this report,
&lt;br&gt;both directly, by sending in descriptions, and indirectly, by doing
&lt;br&gt;all the interesting things that are reported. I hope you will find
&lt;br&gt;it as interesting a read as I did.
&lt;br&gt;&lt;br&gt;If you have not encountered the Haskell Communities and Activities
&lt;br&gt;Reports before, you may like to know that the first of these reports
&lt;br&gt;was published in November 2001. Their goal is to improve the
&lt;br&gt;communication between the increasingly diverse groups, projects, and
&lt;br&gt;individuals working on, with, or inspired by Haskell. The idea behind
&lt;br&gt;these reports is simple:
&lt;br&gt;&lt;br&gt;&amp;nbsp; Every six months, a call goes out to all of you enjoying Haskell to
&lt;br&gt;&amp;nbsp; contribute brief summaries of your own area of work. Many of you
&lt;br&gt;&amp;nbsp; respond (eagerly, unprompted, and sometimes in time for the actual
&lt;br&gt;&amp;nbsp; deadline ;-) to the call. The editor collects all the contributions
&lt;br&gt;&amp;nbsp; into a single report and feeds that back to the community.
&lt;br&gt;&lt;br&gt;When I try for the next update, six months from now, you might want
&lt;br&gt;to report on your own work, project, research area or group as well.
&lt;br&gt;So, please put the following into your diaries now:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;----------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End of April 2010:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;target deadline for contributions to the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;May 2010 edition of the HC&amp;A Report
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;----------------------------------------
&lt;br&gt;&lt;br&gt;Unfortunately, many Haskellers working on interesting projects are so
&lt;br&gt;busy with their work that they seem to have lost the time to follow
&lt;br&gt;the Haskell related mailing lists and newsgroups, and have trouble even
&lt;br&gt;finding time to report on their work. If you are a member, user or
&lt;br&gt;friend of a project so burdened, please find someone willing to make
&lt;br&gt;time to report and ask them to &amp;quot;register&amp;quot; with the editor for a simple
&lt;br&gt;e-mail reminder in October (you could point me to them as well, and I
&lt;br&gt;can then politely ask if they want to contribute, but it might work
&lt;br&gt;better if you do the initial asking). Of course, they will still have to
&lt;br&gt;find the ten to fifteen minutes to draw up their report, but maybe we
&lt;br&gt;can increase our coverage of all that is going on in the community.
&lt;br&gt;&lt;br&gt;Feel free to circulate this announcement further in order to
&lt;br&gt;reach people who might otherwise not see it. Enjoy!
&lt;br&gt;&lt;br&gt;Janis Voigtlaender
&lt;br&gt;&amp;lt;hcar at haskell.org&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26443153&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ANNOUNCE%3A-Haskell-Communities-and-Activities-Report-%2817th-ed.%2C-November-2009%29-tp26443153p26443153.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26418140</id>
	<title>definition and propagation of class constraints</title>
	<published>2009-11-18T15:59:31Z</published>
	<updated>2009-11-18T15:59:31Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I want to to this:
&lt;br&gt;------------------ umatrix.dcl ---------------------------------------------------------------------
&lt;br&gt;definition module UMatrix
&lt;br&gt;&lt;br&gt;import StdArray
&lt;br&gt;// UMatrix : Unboxed matrix, elemType must be one of the available unboxed types
&lt;br&gt;::UMatrix elemType | Array {#} elemType
&lt;br&gt;&lt;br&gt;// creates a new 2d matrix with given initial value
&lt;br&gt;make :: .Int .Int elemType -&amp;gt; .(UMatrix elemType)
&lt;br&gt;... more stuff ...
&lt;br&gt;----------------------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;but I don't know (couldn't find) how to define the abstract type UMatrix in the definition module, annotated with corresponding class constraint.
&lt;br&gt;&lt;br&gt;------------------- umatrix.icl ----------------------------------------------------------------------
&lt;br&gt;implementation module UMatrix
&lt;br&gt;&lt;br&gt;import StdArray, StdInt, StdBool, StdMisc, StdList, StdEnum
&lt;br&gt;&lt;br&gt;&lt;br&gt;::UMatrix elemType = { rows :: Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols :: Int
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals :: {#} elemType
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;make :: .Int .Int elemType -&amp;gt; .(UMatrix elemType)
&lt;br&gt;make n m v
&lt;br&gt;| n &amp;gt; 0 &amp;&amp; m &amp;gt; 0 = { rows = n
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, cols = m
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, vals = createArray (n*m) v
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;= abort &amp;quot;invalid matrix dimension&amp;quot;
&lt;br&gt;... more stuff ...
&lt;br&gt;---------------------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;therefore the compiler complains that &amp;quot;internal overloading of createArray&amp;quot; cannot be solved.
&lt;br&gt;&lt;br&gt;My questions
&lt;br&gt;- if UMatrix e is annotated with Array {#} e, why do I need to especify that in make if e appears in the return type? Isn't this inferred?
&lt;br&gt;- Is that solved if I manage to annotate UMatrix in the implementation file?
&lt;br&gt;&lt;br&gt;kind regards
&lt;br&gt;Carlos
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Get more done like never before with Yahoo!7 Mail.
&lt;br&gt;Learn more: &lt;a href=&quot;http://au.overview.mail.yahoo.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.overview.mail.yahoo.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26418140&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/definition-and-propagation-of-class-constraints-tp26418140p26418140.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26412108</id>
	<title>Call for Participation - PEPM'10 (co-located with POPL'10)</title>
	<published>2009-11-18T09:29:37Z</published>
	<updated>2009-11-18T09:29:37Z</updated>
	<author>
		<name>Janis Voigtlaender</name>
	</author>
	<content type="html">===============================================================
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CALL FOR PARTICIPATION
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ACM SIGPLAN 2010 Workshop on
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Partial Evaluation and Program Manipulation (PEPM'10)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Madrid, January 18-19, 2010
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(Affiliated with POPL'10)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.program-transformation.org/PEPM10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.program-transformation.org/PEPM10&lt;/a&gt;&lt;br&gt;===============================================================
&lt;br&gt;&lt;br&gt;Abstracts of all papers and presentations are available from the
&lt;br&gt;above web site.
&lt;br&gt;&lt;br&gt;&lt;br&gt;INVITED TALKS:
&lt;br&gt;&lt;br&gt;* Lennart Augustsson (Standard Chartered Bank, UK)
&lt;br&gt;&amp;nbsp; Title: O, Partial Evaluator, Where Art Thou?
&lt;br&gt;&lt;br&gt;* Jeremy Siek (University of Colorado at Boulder, USA)
&lt;br&gt;&amp;nbsp; Title: General Purpose Languages Should be Metalanguages.
&lt;br&gt;&lt;br&gt;&lt;br&gt;CONTRIBUTED TALKS:
&lt;br&gt;&lt;br&gt;* Nabil el Boustani and Jurriaan Hage.
&lt;br&gt;&amp;nbsp; Corrective Hints for Type Incorrect Generic Java Programs.
&lt;br&gt;&lt;br&gt;* Johannes Rudolph and Peter Thiemann.
&lt;br&gt;&amp;nbsp; Mnemonics: Type-safe Bytecode Generation at Run Time.
&lt;br&gt;&lt;br&gt;* Elvira Albert, Miguel Gomez-Zamalloa and German Puebla.
&lt;br&gt;&amp;nbsp; PET: A Partial Evaluation-based Test Case Generation Tool for Java
&lt;br&gt;Bytecode.
&lt;br&gt;&lt;br&gt;* Martin Hofmann.
&lt;br&gt;&amp;nbsp; Igor2 - an Analytical Inductive Functional Programming System.
&lt;br&gt;&lt;br&gt;* José Pedro Magalhães, Stefan Holdermans, Johan Jeuring and Andres Löh.
&lt;br&gt;&amp;nbsp; Optimizing Generics Is Easy!
&lt;br&gt;&lt;br&gt;* Michele Baggi, María Alpuente, Demis Ballis and Moreno Falaschi.
&lt;br&gt;&amp;nbsp; A Fold/Unfold Transformation Framework for Rewrite Theories extended to
&lt;br&gt;CCT.
&lt;br&gt;&lt;br&gt;* Hugh Anderson and Siau-Cheng KHOO.
&lt;br&gt;&amp;nbsp; Regular Approximation and Bounded Domains for Size-Change Termination.
&lt;br&gt;&lt;br&gt;* Évelyne Contejean, Pierre Courtieu, Julien Forest, Andrei Paskevich,
&lt;br&gt;Olivier Pons and Xavier Urbain.
&lt;br&gt;&amp;nbsp; A3PAT, an Approach for Certified Automated Termination Proofs.
&lt;br&gt;&lt;br&gt;* Fritz Henglein.
&lt;br&gt;&amp;nbsp; Optimizing Relational Algebra Operations Using Generic Equivalence
&lt;br&gt;Discriminators and Lazy Products.
&lt;br&gt;&lt;br&gt;* Adrian Riesco and Juan Rodriguez-Hortala.
&lt;br&gt;&amp;nbsp; Programming with Singular and Plural Non-deterministic Functions.
&lt;br&gt;&lt;br&gt;* Martin Hofmann and Emanuel Kitzelmann.
&lt;br&gt;&amp;nbsp; I/O Guided Detection of List Catamorphisms.
&lt;br&gt;&lt;br&gt;* Andrew Moss and Dan Page.
&lt;br&gt;&amp;nbsp; Bridging the Gap Between Symbolic and Efficient AES Implementations.
&lt;br&gt;&lt;br&gt;* Christopher Brown and Simon Thompson.
&lt;br&gt;&amp;nbsp; Clone Detection and Elimination for Haskell.
&lt;br&gt;&lt;br&gt;* Stefan Holdermans and Jurriaan Hage.
&lt;br&gt;&amp;nbsp; Making Stricterness More Relevant.
&lt;br&gt;&lt;br&gt;* Arun Lakhotia, Davidson Boccardo, Anshuman Singh and Aleardo Manacero
&lt;br&gt;Júnior.
&lt;br&gt;&amp;nbsp; Context-Sensitive Analysis of Obfuscated x86 Executables.
&lt;br&gt;&lt;br&gt;* Xin Li and Mizuhito Ogawa.
&lt;br&gt;&amp;nbsp; Conditional Weighted Pushdown Systems and Applications.
&lt;br&gt;&lt;br&gt;* Ivan Lazar Miljenovic.
&lt;br&gt;&amp;nbsp; The SourceGraph Program.
&lt;br&gt;&lt;br&gt;* Florian Haftmann.
&lt;br&gt;&amp;nbsp; From Higher-Order Logic to Haskell: There and Back Again.
&lt;br&gt;&lt;br&gt;&lt;br&gt;SPECIAL FEATURE:
&lt;br&gt;&lt;br&gt;* Andy Gill, Garrin Kimmell and Kevin Matlage.
&lt;br&gt;&amp;nbsp; Capturing Functions and Catching Satellites.
&lt;br&gt;&lt;br&gt;&lt;br&gt;IMPORTANT DATES:
&lt;br&gt;&lt;br&gt;* Early registration deadline: December 22, 2009
&lt;br&gt;* Hotel registration deadline: December 28, 2009
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26412108&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Call-for-Participation---PEPM%2710-%28co-located-with-POPL%2710%29-tp26412108p26412108.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26406044</id>
	<title>ICFP '10: Second call for workshop proposals</title>
	<published>2009-11-18T03:13:38Z</published>
	<updated>2009-11-18T03:13:38Z</updated>
	<author>
		<name>Wouter Swierstra-2</name>
	</author>
	<content type="html">&amp;nbsp; &amp;nbsp; &amp;nbsp; CALL FOR WORKSHOP AND CO-LOCATED EVENT PROPOSALS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ICFP 2010
&lt;br&gt;&amp;nbsp;15th ACM SIGPLAN International Conference on Functional Programming
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; September 27 - 29, 2010
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Baltimore, Maryland
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.icfpconference.org/icfp2010&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.icfpconference.org/icfp2010&lt;/a&gt;&lt;br&gt;&lt;br&gt;The 15th ACM SIGPLAN International Conference on Functional
&lt;br&gt;Programming will be held in Baltimore, Maryland on September 27-29,
&lt;br&gt;2010. &amp;nbsp;ICFP provides a forum for researchers and developers to hear
&lt;br&gt;about the latest work on the design, implementations, principles, and
&lt;br&gt;uses of functional programming.
&lt;br&gt;&lt;br&gt;Proposals are invited for workshops (and other co-located events, such
&lt;br&gt;as tutorials) to be affiliated with ICFP 2010 and sponsored by
&lt;br&gt;SIGPLAN. &amp;nbsp;These events should be more informal and focused than ICFP
&lt;br&gt;itself, include sessions that enable interaction among the attendees,
&lt;br&gt;and be fairly low-cost. &amp;nbsp;The preference is for one-day events, but
&lt;br&gt;other schedules can also be considered.
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;Submission details
&lt;br&gt;&amp;nbsp;Deadline for submission: &amp;nbsp; &amp;nbsp; November 20, 2009
&lt;br&gt;&amp;nbsp;Notification of acceptance: &amp;nbsp;December 18, 2009
&lt;br&gt;&lt;br&gt;Prospective organizers of workshops or other co-located events are
&lt;br&gt;invited to submit a completed workshop proposal form in plain text
&lt;br&gt;format to the ICFP 2010 workshop co-chairs (Derek Dreyer and Chris
&lt;br&gt;Stone), via email to icfp10-workshops at mpi-sws.org by November 20,
&lt;br&gt;2009. &amp;nbsp;(For proposals of co-located events other than workshops,
&lt;br&gt;please fill in the workshop proposal form and just leave blank any
&lt;br&gt;sections that do not apply.) &amp;nbsp;Please note that this is a firm
&lt;br&gt;deadline.
&lt;br&gt;&lt;br&gt;Organizers will be notified if their event proposal is accepted by
&lt;br&gt;December 18, 2009, and if successful, depending on the event, they
&lt;br&gt;will be asked to produce a final report after the event has taken
&lt;br&gt;place that is suitable for publication in SIGPLAN Notices.
&lt;br&gt;&lt;br&gt;The proposal form is available at:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.icfpconference.org/icfp2010/icfp10-workshops-form.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.icfpconference.org/icfp2010/icfp10-workshops-form.txt&lt;/a&gt;&lt;br&gt;&lt;br&gt;Further information about SIGPLAN sponsorship is available at:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://acm.org/sigplan/sigplan_workshop_proposal.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://acm.org/sigplan/sigplan_workshop_proposal.htm&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;Selection committee
&lt;br&gt;&lt;br&gt;The proposals will be evaluated by a committee comprising the
&lt;br&gt;following members of the ICFP 2010 organizing committee, together with
&lt;br&gt;the members of the SIGPLAN executive committee.
&lt;br&gt;&lt;br&gt;&amp;nbsp;Workshop Co-Chair: Derek Dreyer (MPI-SWS)
&lt;br&gt;&amp;nbsp;Workshop Co-Chair: Chris Stone (Harvey Mudd College)
&lt;br&gt;&amp;nbsp;General Chair: &amp;nbsp; &amp;nbsp; Paul Hudak (Yale University)
&lt;br&gt;&amp;nbsp;Program Chair: &amp;nbsp; &amp;nbsp; Stephanie Weirich (University of Pennsylvania)
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;Further information
&lt;br&gt;&lt;br&gt;Any queries should be addressed to the workshop co-chairs (Derek
&lt;br&gt;Dreyer and Chris Stone), via email to icfp10-workshops at mpi-sws.org.
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26406044&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ICFP-%2710%3A-Second-call-for-workshop-proposals-tp26406044p26406044.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26399991</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-17T15:48:12Z</published>
	<updated>2009-11-17T15:48:12Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Thanks Edsko and John for your explanations.
&lt;br&gt;&lt;br&gt;Certainly I had a big misunderstanding in regards to unification and uniqueness. In a signature like
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ :: *(a e) .(e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ arr1 f pos maxPos
&lt;br&gt;&amp;nbsp; &amp;nbsp; | pos == maxPos &amp;nbsp;= arr1
&lt;br&gt;&amp;nbsp; &amp;nbsp; # (v, arr1) = arr1![pos]
&lt;br&gt;&amp;nbsp; &amp;nbsp; = {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos}
&lt;br&gt;&lt;br&gt;Although f certainly appears twice, I thought that the don't care attribute in .(e Int -&amp;gt; e) was going to be resolved by the compiler saying &amp;quot;well, s/he doesn't care, but I know is not unique, so let's _instantiate_ that unknown variable with non-unique&amp;quot;. I was wrong.
&lt;br&gt;&lt;br&gt;For completeness, let me c&amp;p the working solution,
&lt;br&gt;****************************************************
&lt;br&gt;module test1
&lt;br&gt;&lt;br&gt;import StdArray, StdInt, StdReal, StdClass
&lt;br&gt;&lt;br&gt;Start :: {#Real}
&lt;br&gt;Start = addInPlace v1 v2
&lt;br&gt;where
&lt;br&gt;&amp;nbsp; &amp;nbsp; v1 :: .{#Real}
&lt;br&gt;&amp;nbsp; &amp;nbsp; v1 = {1.0, 2.0, 3.0}
&lt;br&gt;&amp;nbsp; &amp;nbsp; v2 :: .{#Real}
&lt;br&gt;&amp;nbsp; &amp;nbsp; v2 = {0.0, 2.0, 4.5}
&lt;br&gt;&lt;br&gt;addInPlace :: *(a e) .(b e) -&amp;gt; *(a e) | Array a e &amp; Array b e &amp; Arith e
&lt;br&gt;addInPlace arr1 arr2 = updateInPlace arr1 f (size arr2)
&lt;br&gt;where 
&lt;br&gt;&amp;nbsp; &amp;nbsp; f v p = v + arr2.[p]
&lt;br&gt;&lt;br&gt;updateInPlace :: *(a e) (e Int -&amp;gt; e) Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;updateInPlace arr1 f maxPos = updateLoop_ arr1 f 0 maxPos
&lt;br&gt;where
&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ :: *(a e) (e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;nbsp; &amp;nbsp; updateLoop_ arr1 f pos maxPos
&lt;br&gt;&amp;nbsp; &amp;nbsp; | pos == maxPos &amp;nbsp;= arr1
&lt;br&gt;&amp;nbsp; &amp;nbsp; # (v, arr1) = arr1![pos]
&lt;br&gt;&amp;nbsp; &amp;nbsp; = {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos} 
&lt;br&gt;****************************************************
&lt;br&gt;&lt;br&gt;I think I am ready to understake my challenge, a simple in-place matrix library.
&lt;br&gt;&lt;br&gt;Kind regards
&lt;br&gt;Carlos
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----
&lt;br&gt;From: Edsko de Vries &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399991&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;edskodevries@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: Carlos Aya &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399991&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;carlosayam@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: John van Groningen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399991&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;johnvg@...&lt;/a&gt;&amp;gt;; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399991&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;Sent: Tue, 17 November, 2009 9:10:56 PM
&lt;br&gt;Subject: Re: [clean-list] uniqueness question
&lt;br&gt;&lt;br&gt;Hi Carlos,
&lt;br&gt;&lt;br&gt;On 17 Nov 2009, at 01:13, Carlos Aya wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well, what I want to achieve is a more generic 'update in place' for arrays. For example, to implement something like &amp;quot;v1 += v2&amp;quot; for arrays.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My current attempt goes like this
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----------------------------------------------------------
&lt;br&gt;&amp;gt; . . .
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; addInPlace :: *(a e) .(b e) -&amp;gt; *(a e) | Array a e &amp; Array b e
&lt;br&gt;&amp;gt; addInPlace arr1 arr2 = updateInPlace arr1 (\v p = v + arr2.[p]) (size arr2)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; updateInPlace :: *(a e) .(e Int -&amp;gt; e) Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;gt; updateInPlace arr1 f maxPos = updateLoop_ arr1 f 0 maxPos
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; updateLoop_ :: *(a e) .(e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;gt; updateLoop_ arr1 f pos maxPos
&lt;br&gt;&amp;gt; | pos == maxPos &amp;nbsp;= arr1
&lt;br&gt;&amp;gt; # (v, arr1) = arr1![pos]
&lt;br&gt;&amp;gt; = {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos} 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----------------------------------------------------------
&lt;/div&gt;&lt;br&gt;Right, so this is an example of what John was talking about. Functions are treated special in Clean (little tongue in cheek: some might argue too special [1]). A unique function cannot be coerced to a non-unique function. Suppose that in the lambda expression you create in addInPlace, you don't just read from arr2 but you write to it. Then we have a closure (a partially applied function) with a unique element (arr2) in its closure. Clearly, this function should only be executed once if we want to have referential transparency - if we execute it twice, then the first execution modifies the array, and then the second execution starts with a *different* array.
&lt;br&gt;&lt;br&gt;Since updateLoop executes f more than once, f must be non-unique (hence the type that Clean has inferred).
&lt;br&gt;&lt;br&gt;Since f must be non-unique, the function that you pass it in addInPlace must also be non-unique. As a consequence, arr2 must be non-unique in addInPlace -- even though you only read from it. I think you won't be able to get around that even with a strict-let-before (but I'm not 100% sure) -- I'm guessing you need a more powerful type system (such as observer types) to be able to do that. (You might however be able to provide a wrapper function that accepts a unique arr2, and then calls addInPlace, since unique arrays are coercible to non-unique arrays).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John, I read the paper and still don't get it.
&lt;br&gt;&amp;gt; Could you please provide an example? Also, it seems to suggest that the
&lt;br&gt;&amp;gt; types of
&lt;br&gt;&amp;gt; f :: *a .b -&amp;gt; *a
&lt;br&gt;&amp;gt; and
&lt;br&gt;&amp;gt; g :: .b *a -&amp;gt; *a
&lt;br&gt;&amp;gt; could be treated differently as in the last one only the last parameter
&lt;br&gt;&amp;gt; is unique and therefore there is no risk in creating a partial
&lt;br&gt;&amp;gt; application that violates single threaded semantics. Am I right? Is it
&lt;br&gt;&amp;gt; like that in Clean?
&lt;/div&gt;&lt;br&gt;Note that the &amp;quot;dot&amp;quot; does not mean non-unique, but rather means &amp;quot;there is a uniqueness variable here that I don't care to name&amp;quot;. Your types of f and g expand to
&lt;br&gt;&lt;br&gt;f :: *a u:b -&amp;gt; *a
&lt;br&gt;g :: u:b *a -&amp;gt; *a
&lt;br&gt;&lt;br&gt;To indicate non-unique, you use no annotation at all:
&lt;br&gt;&lt;br&gt;f :: *a b -&amp;gt; *a
&lt;br&gt;g :: b *a -&amp;gt; *a
&lt;br&gt;&lt;br&gt;If we assume the latter definition, then yes, there is a difference. An application (f x) must be applied to a unique x, and threfore will be a partially applied function with a unique element in its closure -- that is, it will be a unique function that can only be applied once. Conversely, (g x) will be applied to a non-unique x and is therefore not subject to such a contraint.
&lt;br&gt;&lt;br&gt;Hope that helps. You can find much more information about uniqueness typing (and more examples) in Section 3.2 of [1]. It also discusses the above problem in great depth.
&lt;br&gt;&lt;br&gt;Edsko
&lt;br&gt;&lt;br&gt;[1]. Making Uniqueness Typing Less Unique, Edsko de Vries, PhD Thesis, Trinity College Dublin, Ireland
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Get more done like never before with Yahoo!7 Mail.
&lt;br&gt;Learn more: &lt;a href=&quot;http://au.overview.mail.yahoo.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.overview.mail.yahoo.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399991&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26399991.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26391476</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-17T07:05:08Z</published>
	<updated>2009-11-17T07:05:08Z</updated>
	<author>
		<name>John van Groningen</name>
	</author>
	<content type="html">&lt;br&gt;Carlos Aya wrote:
&lt;br&gt;&amp;gt;Well, what I want to achieve is a more generic 'update in place' for arrays. For example, to implement something like &amp;quot;v1 += v2&amp;quot; for arrays. My current attempt goes like this ----------------------------------------------------------- . . . addInPlace :: *(a e) .(b e) -&amp;gt; *(a e) | Array a e &amp; Array b e addInPlace arr1 arr2 = updateInPlace arr1 (\v p = v + arr2.[p]) (size arr2) updateInPlace :: *(a e) .(e Int -&amp;gt; e) Int -&amp;gt; *(a e) | Array a e updateInPlace arr1 f maxPos = updateLoop_ arr1 f 0 maxPos updateLoop_ :: *(a e) .(e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e updateLoop_ arr1 f pos maxPos | pos == maxPos &amp;nbsp;= arr1 # (v, arr1) = arr1![pos] = {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos} ----------------------------------------------------------- I am getting this error... Overloading error [test1.icl,7,addInPlace]: internal overloading of &amp;quot;lambda [line 8]&amp;quot; could not be solved.
&lt;br&gt;&lt;br&gt;Because + is also overloaded. Adding &amp;quot;| + e&amp;quot; to the type of addInPlace
&lt;br&gt;should fix this.
&lt;br&gt;&lt;br&gt;&amp;gt;which probably displays my ignorance. [You get the idea, this should be a closure with arr2 inside, v comes from the actual value in arr1 at p. See functions below.] But the funny thing is the error with updateLoop_, have a look... Type error [test1.icl,13,updateLoop_]:derived type conflicts with specified type: *(a b) (b -&amp;gt; Int -&amp;gt; b) Int Int -&amp;gt; *(a b) | Array a b *(a b) .(b -&amp;gt; Int -&amp;gt; b) Int Int -&amp;gt; *(a b) | Array a b The two types are identical BUT the function parameter (e Int -&amp;gt; e) has attribute any &amp;quot;.&amp;quot; in my signature and _no_ attribute in the inferred type. If I change my signature and remove the uniqueness attribute for f [in updateLoop_ and updateInPlace], it passes. What's wrong here?
&lt;br&gt;&lt;br&gt;Edsko has already explained this.
&lt;br&gt;&lt;br&gt;&amp;gt;John, I read the paper and still don't get it. Could you please provide an example?
&lt;br&gt;&lt;br&gt;f :: *{#Int} Int -&amp;gt; Int
&lt;br&gt;f a i
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # (a0,a) = a![0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a = {a &amp; [0]=a0+1}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = a.[i]
&lt;br&gt;&lt;br&gt;g1 a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # h = f a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = h 0
&lt;br&gt;&lt;br&gt;g2 a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # h = f a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = h 0 + h 0
&lt;br&gt;&lt;br&gt;The function h in g1 contains a unique array, and may therefore
&lt;br&gt;only be used once. g1 uses h just once, so is accepted by the typechecker.
&lt;br&gt;&lt;br&gt;g2 tries to use h twice, this is not allowed, because the first call
&lt;br&gt;of f would change the array, then the second call of f gets this updated
&lt;br&gt;array instead of the original array, and the result of the function would
&lt;br&gt;be incorrect.
&lt;br&gt;&lt;br&gt;&amp;gt;..
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26391476&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26391476.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26391175</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-17T06:43:51Z</published>
	<updated>2009-11-17T06:43:51Z</updated>
	<author>
		<name>John van Groningen</name>
	</author>
	<content type="html">&lt;br&gt;Vag Vagoff wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;It is very convenient to use
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;class (+) infixl 6 a :: !*a !a -&amp;gt; .a
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Unfortunately if the compiler would permit this type and if 'a' cannot be
&lt;br&gt;coerced the following functions would be rejected by the typechecker:
&lt;br&gt;&lt;br&gt;f a b = a+(b+a) // because a cannot have type *a and a
&lt;br&gt;&lt;br&gt;g a b c
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # x = a+b
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | True
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = x+c
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = c+x
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // x cannot have type *a and a in different alternatives
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26391175&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26391175.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26387359</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-17T02:10:56Z</published>
	<updated>2009-11-17T02:10:56Z</updated>
	<author>
		<name>Edsko de Vries-4</name>
	</author>
	<content type="html">Hi Carlos,
&lt;br&gt;&lt;br&gt;On 17 Nov 2009, at 01:13, Carlos Aya wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well, what I want to achieve is a more generic 'update in place' for arrays. For example, to implement something like &amp;quot;v1 += v2&amp;quot; for arrays.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My current attempt goes like this
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----------------------------------------------------------
&lt;br&gt;&amp;gt; . . .
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; addInPlace :: *(a e) .(b e) -&amp;gt; *(a e) | Array a e &amp; Array b e
&lt;br&gt;&amp;gt; addInPlace arr1 arr2 = updateInPlace arr1 (\v p = v + arr2.[p]) (size arr2)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; updateInPlace :: *(a e) .(e Int -&amp;gt; e) Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;gt; updateInPlace arr1 f maxPos = updateLoop_ arr1 f 0 maxPos
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; updateLoop_ :: *(a e) .(e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;&amp;gt; updateLoop_ arr1 f pos maxPos
&lt;br&gt;&amp;gt; | pos == maxPos &amp;nbsp;= arr1
&lt;br&gt;&amp;gt; # (v, arr1) = arr1![pos]
&lt;br&gt;&amp;gt; = {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos} 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -----------------------------------------------------------
&lt;/div&gt;&lt;br&gt;Right, so this is an example of what John was talking about. Functions are treated special in Clean (little tongue in cheek: some might argue too special [1]). A unique function cannot be coerced to a non-unique function. Suppose that in the lambda expression you create in addInPlace, you don't just read from arr2 but you write to it. Then we have a closure (a partially applied function) with a unique element (arr2) in its closure. Clearly, this function should only be executed once if we want to have referential transparency - if we execute it twice, then the first execution modifies the array, and then the second execution starts with a *different* array.
&lt;br&gt;&lt;br&gt;Since updateLoop executes f more than once, f must be non-unique (hence the type that Clean has inferred).
&lt;br&gt;&lt;br&gt;Since f must be non-unique, the function that you pass it in addInPlace must also be non-unique. As a consequence, arr2 must be non-unique in addInPlace -- even though you only read from it. I think you won't be able to get around that even with a strict-let-before (but I'm not 100% sure) -- I'm guessing you need a more powerful type system (such as observer types) to be able to do that. (You might however be able to provide a wrapper function that accepts a unique arr2, and then calls addInPlace, since unique arrays are coercible to non-unique arrays).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John, I read the paper and still don't get it.
&lt;br&gt;&amp;gt; Could you please provide an example? Also, it seems to suggest that the
&lt;br&gt;&amp;gt; types of
&lt;br&gt;&amp;gt; f :: *a .b -&amp;gt; *a
&lt;br&gt;&amp;gt; and
&lt;br&gt;&amp;gt; g :: .b *a -&amp;gt; *a
&lt;br&gt;&amp;gt; could be treated differently as in the last one only the last parameter
&lt;br&gt;&amp;gt; is unique and therefore there is no risk in creating a partial
&lt;br&gt;&amp;gt; application that violates single threaded semantics. Am I right? Is it
&lt;br&gt;&amp;gt; like that in Clean?
&lt;/div&gt;&lt;br&gt;Note that the &amp;quot;dot&amp;quot; does not mean non-unique, but rather means &amp;quot;there is a uniqueness variable here that I don't care to name&amp;quot;. Your types of f and g expand to
&lt;br&gt;&lt;br&gt;f :: *a u:b -&amp;gt; *a
&lt;br&gt;g :: u:b *a -&amp;gt; *a
&lt;br&gt;&lt;br&gt;To indicate non-unique, you use no annotation at all:
&lt;br&gt;&lt;br&gt;f :: *a b -&amp;gt; *a
&lt;br&gt;g :: b *a -&amp;gt; *a
&lt;br&gt;&lt;br&gt;If we assume the latter definition, then yes, there is a difference. An application (f x) must be applied to a unique x, and threfore will be a partially applied function with a unique element in its closure -- that is, it will be a unique function that can only be applied once. Conversely, (g x) will be applied to a non-unique x and is therefore not subject to such a contraint.
&lt;br&gt;&lt;br&gt;Hope that helps. You can find much more information about uniqueness typing (and more examples) in Section 3.2 of [1]. It also discusses the above problem in great depth.
&lt;br&gt;&lt;br&gt;Edsko
&lt;br&gt;&lt;br&gt;[1]. Making Uniqueness Typing Less Unique, Edsko de Vries, PhD Thesis, Trinity College Dublin, Ireland
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26387359&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26387359.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26385894</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-17T00:09:12Z</published>
	<updated>2009-11-17T00:09:12Z</updated>
	<author>
		<name>Vag Vagoff</name>
	</author>
	<content type="html">I've collected papers about uniqueness typing at
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://sites.google.com/site/vagvagoff/UniquenessAndLinearTypes.tar.bz2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sites.google.com/site/vagvagoff/UniquenessAndLinearTypes.tar.bz2&lt;/a&gt;&lt;br&gt;&lt;br&gt;(download it by browser, not wget -- there are some weird redirections)
&lt;br&gt;&lt;br&gt;file|year|title|authors
&lt;br&gt;10.1.1.36.5927 (Conventional and UT in GRS).pdf|1993|Conventional and Uniqueness Typing in Graph Rewrite Systems|Erik Barendsen,Sjaak Smetsers
&lt;br&gt;barendsen93conventional.pdf|1993|Conventional and Uniqueness Typing in Graph Rewrite Systems|Erik Barendsen,Sjaak Smetsers
&lt;br&gt;smes94-guaranteeing.pdf|1994|Guaranteeing Safe Destructive Updates through a Type System with Uniqueness Information for Graphs|Sjaak Smetsers,Erik Barendsen,Marko van Eekelen,Rinus Plasmeijer
&lt;br&gt;10.1.1.36.3125 (Guaranteeing Safe Destructive Updates).pdf|1994|Guaranteeing Safe Destructive Updates through a Type System with Uniqueness Information for Graphs|Sjaak Smetsers,Erik Barendsen,Marko van Eekelen,Rinus Plasmeijer
&lt;br&gt;10.1.1.36.5837 (In Theory and Practice).pdf|1994|Uniqueness Types in Theory and Practice|Erik Barendsen,Sjaak Smetsers
&lt;br&gt;10.1.1.53.4191 (Derivation System).pdf|1995|A Derivation System for Uniqueness Typing|Erik Barendsen,Sjaak Smetsers
&lt;br&gt;bare96-uniclosed.pdf|1996|Uniquness Typing for Functional Languages with Graph Rewriting Semantics|Erik Barendsen,Sjaak Smetsers
&lt;br&gt;groj97-Arrays.pdf|1997|The Implementation and Efficiency of Arrays in Clean 1.1|John H. G. van Groningen
&lt;br&gt;28-Deviansky-UniqueIdentifiersInPureFunctionalLanguages.pdf|2006|Unique Identifiers in Pure Functional Languages|Peter Devianszky
&lt;br&gt;vrie2007-IFL06-UniquenessTypingRedefinedRev.pdf|2006|Uniqueness Typing Redefined|Edsko de Vries,Rinus Plasmeijer,David Abrahamson
&lt;br&gt;vrie2007-IFL06-UniquenessTypingRedefinedRev-.pdf|2006|Uniqueness Typing Redefined|Edsko de Vries,Rinus Plasmeijer,David Abrahamson
&lt;br&gt;vrie08-IFL07-UniquenessTypingSimplified-.pdf|2007|Uniqueness Typing Simplified|Edsko de Vries,Rinus Plasmeijer,David Abrahamson
&lt;br&gt;vrie2007-TFP07-EqualityBasedUniquenessTyping.pdf|2007|Equality Based Uniqueness Typing|Edsko de Vries,Rinus Plasmeijer,David Abrahamson
&lt;br&gt;vrie2007-TFP07-EqualityBasedUniquenessTyping-.pdf|2007|Equality Based Uniqueness Typing|Edsko de Vries,Rinus Plasmeijer,David Abrahamson
&lt;br&gt;vrie08-IFL07-UniquenessTypingSimplified.pdf|2007|Uniqueness Typing Simplified|Edsko de Vries,Rinus Plasmeijer,David Abrahamson
&lt;br&gt;fpottier-2007-05-linear-bestiary.pdf|2007|Wandering through linear types, capabilities, and regions|Francois Pottier
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385894&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26385894.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26384799</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-16T21:53:20Z</published>
	<updated>2009-11-16T21:53:20Z</updated>
	<author>
		<name>Vag Vagoff</name>
	</author>
	<content type="html">It is very convenient to use
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;class (+) infixl 6 a :: !*a !a -&amp;gt; .a
&lt;br&gt;&lt;br&gt;for example,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;instance + BigInt where (+) a b = add_inplace_UB_B a b
&lt;br&gt;&lt;br&gt;thus,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fn1 :: *a .a -&amp;gt; *a | + a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fn2 :: v:a u:a -&amp;gt; v:a | SomeClass a , [v &amp;lt;= u]
&lt;br&gt;&lt;br&gt;are quite possible in real programs.
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26384799&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26384799.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26382865</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-16T17:13:40Z</published>
	<updated>2009-11-16T17:13:40Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Well, what I want to achieve is a more generic 'update in place' for arrays. For example, to implement something like &amp;quot;v1 += v2&amp;quot; for arrays.
&lt;br&gt;&lt;br&gt;My current attempt goes like this
&lt;br&gt;&lt;br&gt;-----------------------------------------------------------
&lt;br&gt;. . .
&lt;br&gt;&lt;br&gt;addInPlace :: *(a e) .(b e) -&amp;gt; *(a e) | Array a e &amp; Array b e
&lt;br&gt;addInPlace arr1 arr2 = updateInPlace arr1 (\v p = v + arr2.[p]) (size arr2)
&lt;br&gt;&lt;br&gt;updateInPlace :: *(a e) .(e Int -&amp;gt; e) Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;updateInPlace arr1 f maxPos = updateLoop_ arr1 f 0 maxPos
&lt;br&gt;&lt;br&gt;updateLoop_ :: *(a e) .(e Int -&amp;gt; e) Int Int -&amp;gt; *(a e) | Array a e
&lt;br&gt;updateLoop_ arr1 f pos maxPos
&lt;br&gt;| pos == maxPos &amp;nbsp;= arr1
&lt;br&gt;# (v, arr1) = arr1![pos]
&lt;br&gt;= {(updateLoop_ arr1 f (pos+1) maxPos) &amp; [pos] = f v pos} 
&lt;br&gt;&lt;br&gt;-----------------------------------------------------------
&lt;br&gt;&lt;br&gt;I am getting this error...
&lt;br&gt;&lt;br&gt;Overloading error [test1.icl,7,addInPlace]: internal overloading of &amp;quot;lambda [line 8]&amp;quot; could not be solved.
&lt;br&gt;&lt;br&gt;which probably displays my ignorance. [You get the idea, this should be a closure with arr2 inside, v comes from the actual value in arr1 at p. See functions below.]
&lt;br&gt;&lt;br&gt;But the funny thing is the error with updateLoop_, have a look...
&lt;br&gt;&lt;br&gt;Type error [test1.icl,13,updateLoop_]:derived type conflicts with specified type:
&lt;br&gt;&amp;nbsp;*(a b) (b -&amp;gt; Int -&amp;gt; b) Int Int -&amp;gt; *(a b) | Array a b
&lt;br&gt;&amp;nbsp;*(a b) .(b -&amp;gt; Int -&amp;gt; b) Int Int -&amp;gt; *(a b) | Array a b
&lt;br&gt;&lt;br&gt;The two types are identical BUT the function parameter (e Int -&amp;gt; e) has attribute any &amp;quot;.&amp;quot; in my signature and _no_ attribute in the inferred type. If I change my signature and remove the uniqueness attribute for f [in updateLoop_ and updateInPlace], it passes. What's wrong here?
&lt;br&gt;&lt;br&gt;John, I read the paper and still don't get it.
&lt;br&gt;Could you please provide an example? Also, it seems to suggest that the
&lt;br&gt;types of
&lt;br&gt;f :: *a .b -&amp;gt; *a
&lt;br&gt;and
&lt;br&gt;g :: .b *a -&amp;gt; *a
&lt;br&gt;could be treated differently as in the last one only the last parameter
&lt;br&gt;is unique and therefore there is no risk in creating a partial
&lt;br&gt;application that violates single threaded semantics. Am I right? Is it
&lt;br&gt;like that in Clean?
&lt;br&gt;&lt;br&gt;Kind regards
&lt;br&gt;Carlos
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--- Original Message ----
&lt;br&gt;From: Edsko de Vries &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26382865&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;edskodevries@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: John van Groningen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26382865&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;johnvg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: Carlos Aya &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26382865&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;carlosayam@...&lt;/a&gt;&amp;gt;; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26382865&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;Sent: Tue, 17 November, 2009 3:05:34 AM
&lt;br&gt;Subject: Re: [clean-list] uniqueness question
&lt;br&gt;&lt;br&gt;Hey,
&lt;br&gt;&lt;br&gt;On 16 Nov 2009, at 15:57, John van Groningen wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Carlos Aya wrote:
&lt;br&gt;&amp;gt;&amp;gt; Does anyone know why the following type signature is invalid?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; second :: *a .a -&amp;gt; *a
&lt;br&gt;&amp;gt;&amp;gt; second x y = x
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I am getting this message
&lt;br&gt;&amp;gt;&amp;gt; Error [matrices.icl,12,second]: a inconsistently attributed (4)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The same uniqueness attribute must be used for all occurrences of
&lt;br&gt;&amp;gt; a type variable in a function type.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I came across this trying to type a more complex function with arrays, but it boils down to signature above.
&lt;br&gt;&amp;gt;&amp;gt; Why the uniqueness attribute has to be the same for two independent parameters that just happen to have the same type?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A type '*a' cannot be coerced to 'a', because 'a' could be a partial
&lt;br&gt;&amp;gt; application with a unique argument. It this were allowed the unique
&lt;br&gt;&amp;gt; argument could be used more than once. Because the opposite coercion
&lt;br&gt;&amp;gt; (from 'a' to '*a') is also not possible, the compiler requires that
&lt;br&gt;&amp;gt; all occurences of a type variable have the same uniqueness attribute
&lt;br&gt;&amp;gt; (as mentioned above).
&lt;/div&gt;&lt;br&gt;While all of that is true, it still does not explain why all occurrences of a type variable need the same attribute. For instance, there is absolutely no problem with 
&lt;br&gt;&lt;br&gt;second :: *a .a -&amp;gt; *a
&lt;br&gt;second x y = x
&lt;br&gt;&lt;br&gt;Edsko
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Get more done like never before with Yahoo!7 Mail.
&lt;br&gt;Learn more: &lt;a href=&quot;http://au.overview.mail.yahoo.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.overview.mail.yahoo.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26382865&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26382865.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26385702</id>
	<title>TFP 2010 - Call for Papers</title>
	<published>2009-11-16T16:58:29Z</published>
	<updated>2009-11-16T16:58:29Z</updated>
	<author>
		<name>TFP 2010</name>
	</author>
	<content type="html">TFP 2010: 11th SYMPOSIUM ON TRENDS IN FUNCTIONAL PROGRAMMING
&lt;br&gt;&amp;nbsp; &amp;nbsp;May 17-19, 2010
&lt;br&gt;&amp;nbsp; &amp;nbsp;University of Oklahoma
&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.cs.ou.edu/tfp2010/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.ou.edu/tfp2010/&lt;/a&gt;&lt;br&gt;&lt;br&gt;The Program Committee for TFP 2010 seeks papers on trends in functional 
&lt;br&gt;programming. The symposium is an international forum for researchers with 
&lt;br&gt;interests in all aspects of functional programming. It embraces a broad 
&lt;br&gt;view of current and future trends in functional programming and aspires to 
&lt;br&gt;be a lively environment for presenting the latest research results. TFP 
&lt;br&gt;considers both full papers and extended abstracts for presentation at the 
&lt;br&gt;symposium. A formal refereeing process after the symposium selects the 
&lt;br&gt;best presentations for publication in a high-profile volume.
&lt;br&gt;&lt;br&gt;IMPORTANT DATES
&lt;br&gt;&amp;nbsp; * Apr 2: &amp;nbsp;Submission of papers and abstracts
&lt;br&gt;&amp;nbsp; * Apr 14: Notification of acceptance
&lt;br&gt;&amp;nbsp; * May 7: &amp;nbsp;Camera-ready, full papers for draft proceedings
&lt;br&gt;&amp;nbsp; * May 17-19: TFP Symposium
&lt;br&gt;&lt;br&gt;SCOPE OF THE SYMPOSIUM
&lt;br&gt;Articles must be original and not submitted to any other forum for 
&lt;br&gt;publication. They may consider any aspect of functional programming. 
&lt;br&gt;Theory, implementation, experience, applications, and the use of 
&lt;br&gt;functional programming methods in other languages all lie within the scope 
&lt;br&gt;of the symposium.
&lt;br&gt;&lt;br&gt;Articles may fall in any of the following categories:
&lt;br&gt;&amp;nbsp; * Research: leading-edge, previously unpublished research
&lt;br&gt;&amp;nbsp; * Position: advocating or critiquing new trends
&lt;br&gt;&amp;nbsp; * Project: descriptions of new or recently initiated projects
&lt;br&gt;&amp;nbsp; * Evaluation: lessons drawn from completed projects
&lt;br&gt;&amp;nbsp; * Overview: summaries of trendy work
&lt;br&gt;&lt;br&gt;A list of suggested topics and other details concerning submissions can be 
&lt;br&gt;found on the symposium website:
&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.cs.ou.edu/tfp2010/call.html#topics&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.ou.edu/tfp2010/call.html#topics&lt;/a&gt;&lt;br&gt;The suggested topics are extensive but by no means exhaustive. Please 
&lt;br&gt;contact the program chair, Rex Page, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385702&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tfp2010@...&lt;/a&gt;, if you are in 
&lt;br&gt;doubt about whether your topic is within the TFP scope.
&lt;br&gt;&lt;br&gt;BEST STUDENT PAPER AWARD
&lt;br&gt;TFP traditionally pays special attention to research conducted by 
&lt;br&gt;students, acknowledging that students commonly develop new subject trends. 
&lt;br&gt;A prize for the best student paper is awarded each year.
&lt;br&gt;&lt;br&gt;SUBMISSION AND DRAFT PROCEEDINGS
&lt;br&gt;Full papers (up to 15 pages) and extended abstracts (3 to 6 pages, to be 
&lt;br&gt;expanded to full papers if accepted) submitted for presentation at the 
&lt;br&gt;symposium are screened by the program committee. A draft proceedings 
&lt;br&gt;available at the conference will contain all accepted papers and all 
&lt;br&gt;accepted abstracts that have been expanded to full papers. Each submission 
&lt;br&gt;must declare its category (research, position, project, evaluation, or 
&lt;br&gt;overview).
&lt;br&gt;&lt;br&gt;Authors who are students should so indicate when they submit their 
&lt;br&gt;article. The Program Committee will provide extra feedback for student 
&lt;br&gt;papers to help compensate for differences between students and other 
&lt;br&gt;researchers in experience with the publication process.
&lt;br&gt;&lt;br&gt;POST-SYMPOSIUM REFEREEING AND PUBLICATION
&lt;br&gt;In addition to the draft symposium proceedings, we intend to continue the 
&lt;br&gt;TFP tradition of publishing a high-quality volume containing the best 
&lt;br&gt;papers from the symposium. All TFP authors will be invited to submit 
&lt;br&gt;revised papers after the symposium. These will be refereed using normal 
&lt;br&gt;conference standards, and the best papers will be selected for 
&lt;br&gt;publication. Papers will be judged on their contributions with appropriate 
&lt;br&gt;criteria applied to each category of paper.
&lt;br&gt;&lt;br&gt;Rex Page, University of Oklahoma, Program Chair
&lt;br&gt;Viktia Zs and Zolt Horvath, Ev Lord University, Symposium Co-Chairs
&lt;br&gt;Program Committee
&lt;br&gt;&amp;nbsp; &amp;nbsp;Peter Achten, Radboud University Nijmegen, NL
&lt;br&gt;&amp;nbsp; &amp;nbsp;Emil Axelsson, Chalmers University of Technology, SE
&lt;br&gt;&amp;nbsp; &amp;nbsp;Francesco Cesarini, Erlang Training and Consulting Ltd, UK
&lt;br&gt;&amp;nbsp; &amp;nbsp;John Clements, California Polytechnic State University, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Daniel Cooke, Texas Tech University, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Nils Anders Danielsson, University of Nottingham, UK
&lt;br&gt;&amp;nbsp; &amp;nbsp;Jared Davis, Centaur Technology, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Martin Erwig, Oregon State University, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Ruben Gamboa, University of Wyoming, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Jurriaan Hage, Utrecht University, NL
&lt;br&gt;&amp;nbsp; &amp;nbsp;Kevin Hammond, University of St Andrews, UK
&lt;br&gt;&amp;nbsp; &amp;nbsp;Michael Hanus, Christian Albrechts University zu Kiel, DE
&lt;br&gt;&amp;nbsp; &amp;nbsp;Zolt Horvath, Ev Lord University, HU
&lt;br&gt;&amp;nbsp; &amp;nbsp;Garrin Kimmell, University of Kansas, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Pieter Koopman, Radboud University Nijmegen, NL
&lt;br&gt;&amp;nbsp; &amp;nbsp;Hans-Wolfgang Loidl, Ludwig Maximilians University Mchen, DE
&lt;br&gt;&amp;nbsp; &amp;nbsp;Rita Loogen, Philipps University Marburg, DE
&lt;br&gt;&amp;nbsp; &amp;nbsp;Jay McCarthy, Brigham Young University, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Greg Michaelson, Heriot-Watt University, UK
&lt;br&gt;&amp;nbsp; &amp;nbsp;Marco T. Moraz, Seton Hall University, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Rodney Oldehoeft, Krell Institute, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Walid Taha, Rice University, &amp;nbsp;USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Sam Tobin-Hochstadt, Northeastern University, USA
&lt;br&gt;&amp;nbsp; &amp;nbsp;Simon Thompson, University of Kent, UK
&lt;br&gt;&amp;nbsp; &amp;nbsp;Phil Trinder, Heriot-Watt University, UK
&lt;br&gt;&amp;nbsp; &amp;nbsp;Marko van Eekelen, Radboud University Nijmegen, NL
&lt;br&gt;&amp;nbsp; &amp;nbsp;Viktia Zs, Ev Lord University, HU
&lt;br&gt;&lt;br&gt;SPONSORS
&lt;br&gt;&amp;nbsp; &amp;nbsp;The University of Oklahoma
&lt;br&gt;&amp;nbsp; &amp;nbsp;Erlang Training and Consulting
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385702&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/TFP-2010---Call-for-Papers-tp26385702p26385702.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26381360</id>
	<title>CICE-2010: Call for Papers</title>
	<published>2009-11-16T10:31:34Z</published>
	<updated>2009-11-16T10:31:34Z</updated>
	<author>
		<name>Galyna Akmayeva</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
  &lt;head&gt;
    &lt;meta content=&quot;text/html; charset=UTF-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
    &lt;title&gt;&lt;/title&gt;
  &lt;/head&gt;

  &lt;body&gt;
    Kindly email this call for papers to your colleagues, &lt;br /&gt;
    faculty members and postgraduate students.&lt;br /&gt;
    &lt;br /&gt;
    Apologies for cross-postings.&lt;br /&gt;
    &lt;br /&gt;
    CALL FOR PAPERS&lt;br /&gt;
    &lt;br /&gt;
    Canada International Conference on Education (CICE-2010), &lt;br /&gt;
    April 26-28, 2010, Toronto, Canada (www.ciceducation.org)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    The CICE is an international refereed conference dedicated &lt;br /&gt;
    to the advancement of the theory and practices in education. &lt;br /&gt;
    The CICE promotes collaborative excellence between academicians &lt;br /&gt;
    and professionals from Education. &lt;br /&gt;
    &lt;br /&gt;
    The aim of CICE is to provide an opportunity for academicians &lt;br /&gt;
    and professionals from various educational fields with &lt;br /&gt;
    cross-disciplinary interests to bridge the knowledge gap, promote &lt;br /&gt;
    research esteem and the evolution of pedagogy. The CICE 2010 invites &lt;br /&gt;
    research papers that encompass conceptual analysis, design &lt;br /&gt;
    implementation and performance evaluation. All the accepted papers &lt;br /&gt;
    will appear in the proceedings and modified version of selected &lt;br /&gt;
    papers willbe published in special issues peer reviewed journals.&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    The topics in CICE-2009 include but are not confined to the &lt;br /&gt;
    following areas:&lt;br /&gt;
    &lt;br /&gt;
    *Academic Advising and Counselling &lt;br /&gt;
    *Art Education &lt;br /&gt;
    *Adult Education &lt;br /&gt;
    *APD/Listening and Acoustics in Education Environment &lt;br /&gt;
    *Business Education &lt;br /&gt;
    *Counsellor Education &lt;br /&gt;
    *Curriculum, Research and Development &lt;br /&gt;
    *Competitive Skills &lt;br /&gt;
    *Continuing Education &lt;br /&gt;
    *Distance Education &lt;br /&gt;
    *Early Childhood Education &lt;br /&gt;
    *Educational Administration &lt;br /&gt;
    *Educational Foundations &lt;br /&gt;
    *Educational Psychology &lt;br /&gt;
    *Educational Technology &lt;br /&gt;
    *Education Policy and Leadership &lt;br /&gt;
    *Elementary Education &lt;br /&gt;
    *E-Learning &lt;br /&gt;
    *E-Manufacturing &lt;br /&gt;
    *ESL/TESL &lt;br /&gt;
    *E-Society &lt;br /&gt;
    *Geographical Education &lt;br /&gt;
    *Geographic information systems &lt;br /&gt;
    *Health Education &lt;br /&gt;
    *Higher Education &lt;br /&gt;
    *History &lt;br /&gt;
    *Home Education &lt;br /&gt;
    *Human Computer Interaction &lt;br /&gt;
    *Human Resource Development &lt;br /&gt;
    *Indigenous Education &lt;br /&gt;
    *ICT Education &lt;br /&gt;
    *Internet technologies &lt;br /&gt;
    *Imaginative Education &lt;br /&gt;
    *Kinesiology &amp;amp; Leisure Science &lt;br /&gt;
    *K12 &lt;br /&gt;
    *Language Education &lt;br /&gt;
    *Mathematics Education &lt;br /&gt;
    *Mobile Applications &lt;br /&gt;
    *Multi-Virtual Environment &lt;br /&gt;
    *Music Education &lt;br /&gt;
    *Pedagogy &lt;br /&gt;
    *Physical Education (PE) &lt;br /&gt;
    *Reading Education &lt;br /&gt;
    *Writing Education &lt;br /&gt;
    *Religion and Education Studies &lt;br /&gt;
    *Research Assessment Exercise (RAE) &lt;br /&gt;
    *Rural Education &lt;br /&gt;
    *Science Education &lt;br /&gt;
    *Secondary Education &lt;br /&gt;
    *Second life Educators &lt;br /&gt;
    *Social Studies Education &lt;br /&gt;
    *Special Education &lt;br /&gt;
    *Student Affairs &lt;br /&gt;
    *Teacher Education &lt;br /&gt;
    *Cross-disciplinary areas of Education &lt;br /&gt;
    *Ubiquitous Computing &lt;br /&gt;
    *Virtual Reality &lt;br /&gt;
    *Wireless applications &lt;br /&gt;
    *Other Areas of Education&amp;#160; &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    For further information please visit CICE-2010 &lt;br /&gt;
    at www.ciceducation.org&lt;br /&gt;
  &lt;/body&gt;
&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26381360&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CICE-2010%3A-Call-for-Papers-tp26381360p26381360.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26375415</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-16T08:55:53Z</published>
	<updated>2009-11-16T08:55:53Z</updated>
	<author>
		<name>John van Groningen</name>
	</author>
	<content type="html">&lt;br&gt;Edsko de Vries wrote:
&lt;br&gt;&amp;gt;While all of that is true, it still does not explain why all occurrences of a type variable need the same attribute. For instance, there is absolutely no problem with
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;second :: *a .a -&amp;gt; *a
&lt;br&gt;&amp;gt;second x y = x
&lt;br&gt;&lt;br&gt;I think you are right, but I am not expert in type systems. I also
&lt;br&gt;don't like this restriction.
&lt;br&gt;&lt;br&gt;However, I doubt that removing the same attribute restriction will
&lt;br&gt;improve the type system much. For example, if someone would
&lt;br&gt;define a function 'f' with type
&lt;br&gt;&lt;br&gt;f :: a -&amp;gt; *a | Eq a
&lt;br&gt;&lt;br&gt;he would probably expect that the typechecker will accept:
&lt;br&gt;&lt;br&gt;g x = f (f x)
&lt;br&gt;&lt;br&gt;but because '*a' cannot be coerce to 'a' this is not allowed.
&lt;br&gt;&lt;br&gt;This might be more confusing for a programmer than a simple attribute
&lt;br&gt;restriction.
&lt;br&gt;&lt;br&gt;The main problem with this restriction seems to occur in combination
&lt;br&gt;with overloading. For example, it prevents class definitions like:
&lt;br&gt;&lt;br&gt;class T a where
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g :: a -&amp;gt; *a
&lt;br&gt;&lt;br&gt;Maybe this can be fixed by allowing only instances of types that
&lt;br&gt;can be coerced (something similar is implemented for the Array class).
&lt;br&gt;&lt;br&gt;Kind regards,
&lt;br&gt;&lt;br&gt;John van Groningen
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26375415&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26375415.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26374542</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-16T08:05:34Z</published>
	<updated>2009-11-16T08:05:34Z</updated>
	<author>
		<name>Edsko de Vries-4</name>
	</author>
	<content type="html">Hey,
&lt;br&gt;&lt;br&gt;On 16 Nov 2009, at 15:57, John van Groningen wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Carlos Aya wrote:
&lt;br&gt;&amp;gt;&amp;gt; Does anyone know why the following type signature is invalid?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; second :: *a .a -&amp;gt; *a
&lt;br&gt;&amp;gt;&amp;gt; second x y = x
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I am getting this message
&lt;br&gt;&amp;gt;&amp;gt; Error [matrices.icl,12,second]: a inconsistently attributed (4)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The same uniqueness attribute must be used for all occurrences of
&lt;br&gt;&amp;gt; a type variable in a function type.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I came across this trying to type a more complex function with arrays, but it boils down to signature above.
&lt;br&gt;&amp;gt;&amp;gt; Why the uniqueness attribute has to be the same for two independent parameters that just happen to have the same type?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A type '*a' cannot be coerced to 'a', because 'a' could be a partial
&lt;br&gt;&amp;gt; application with a unique argument. It this were allowed the unique
&lt;br&gt;&amp;gt; argument could be used more than once. Because the opposite coercion
&lt;br&gt;&amp;gt; (from 'a' to '*a') is also not possible, the compiler requires that
&lt;br&gt;&amp;gt; all occurences of a type variable have the same uniqueness attribute
&lt;br&gt;&amp;gt; (as mentioned above).
&lt;/div&gt;&lt;br&gt;While all of that is true, it still does not explain why all occurrences of a type variable need the same attribute. For instance, there is absolutely no problem with 
&lt;br&gt;&lt;br&gt;second :: *a .a -&amp;gt; *a
&lt;br&gt;second x y = x
&lt;br&gt;&lt;br&gt;Edsko
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26374542&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26374542.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26374374</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-16T07:57:02Z</published>
	<updated>2009-11-16T07:57:02Z</updated>
	<author>
		<name>John van Groningen</name>
	</author>
	<content type="html">&lt;!doctype html public &quot;-//W3C//DTD W3 HTML//EN&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;title&gt;Re: [clean-list] uniqueness
question&lt;/title&gt;&lt;/head&gt;&lt;body&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;Carlos Aya wrote:&lt;/div&gt;
&lt;blockquote type=&quot;cite&quot; cite&gt;Does anyone know why the following type
signature is invalid?&lt;br&gt;
&lt;br&gt;
second :: *a .a -&amp;gt; *a&lt;br&gt;
second x y = x&lt;br&gt;
&lt;br&gt;
I am getting this message&lt;/blockquote&gt;
&lt;blockquote type=&quot;cite&quot; cite&gt;Error [matrices.icl,12,second]: a
inconsistently attributed (4)&lt;/blockquote&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;The same uniqueness attribute must be used for all occurrences
of&lt;/div&gt;
&lt;div&gt;a type variable in a function type.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;blockquote type=&quot;cite&quot; cite&gt;I came across this trying to type a more
complex function with arrays, but it boils down to signature
above.&lt;br&gt;
&lt;/blockquote&gt;
&lt;blockquote type=&quot;cite&quot; cite&gt;Why the uniqueness attribute has to be
the same for two independent parameters that just happen to have the
same type?&lt;/blockquote&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;A type '*a' cannot be coerced to 'a', because 'a' could be a
partial&lt;/div&gt;
&lt;div&gt;application with a unique argument. It this were allowed the
unique&lt;/div&gt;
&lt;div&gt;argument could be used more than once. Because the opposite
coercion&lt;/div&gt;
&lt;div&gt;(from 'a' to '*a') is also not possible, the compiler requires
that&lt;/div&gt;
&lt;div&gt;all occurences of a type variable have the same uniqueness
attribute&lt;/div&gt;
&lt;div&gt;(as mentioned above).&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;This is explained in section &amp;quot;Higher-Order Uniqueness Types&amp;quot;
(page 18) of:&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Trebuchet MS&quot; size=&quot;+2&quot; color=&quot;#000000&quot;&gt;Barendsen,
Erik and Smetsers, Sjaak.&amp;nbsp;&lt;/font&gt;&lt;font face=&quot;Trebuchet MS&quot; size=&quot;+2&quot; color=&quot;#CC9900&quot;&gt; Uniqueness&amp;nbsp; typing for functional
languages&amp;nbsp; with graph rewriting semantics&lt;/font&gt;&lt;font face=&quot;Trebuchet MS&quot; size=&quot;+2&quot; color=&quot;#000000&quot;&gt;, In Mathematical&amp;nbsp;
Structures in Computer Science 6, pp. 579-612. (&lt;/font&gt;&lt;font face=&quot;Trebuchet MS&quot; size=&quot;+2&quot; color=&quot;#CC9900&quot;&gt;abstract&lt;/font&gt;&lt;font face=&quot;Trebuchet MS&quot; size=&quot;+2&quot; color=&quot;#000000&quot;&gt;,&amp;nbsp;&lt;/font&gt;&lt;font face=&quot;Trebuchet MS&quot; size=&quot;+2&quot; color=&quot;#CC9900&quot;&gt; pdf
version&lt;/font&gt;&lt;font face=&quot;Trebuchet MS&quot; size=&quot;+2&quot; color=&quot;#000000&quot;&gt;)&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;http://www.st.cs.ru.nl/papers/1996/bare96-uniclosed.pdf&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;Kind regards,&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;John van Groningen&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26374374&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26374374.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26369855</id>
	<title>Re: uniqueness question</title>
	<published>2009-11-16T02:38:54Z</published>
	<updated>2009-11-16T02:38:54Z</updated>
	<author>
		<name>Edsko de Vries-4</name>
	</author>
	<content type="html">All occurrences of the same type variable must have the same uniqueness attribute. I've never been able to figure out the why.
&lt;br&gt;&lt;br&gt;Edsko
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26369855&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26369855.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26366258</id>
	<title>uniqueness question</title>
	<published>2009-11-15T19:04:00Z</published>
	<updated>2009-11-15T19:04:00Z</updated>
	<author>
		<name>Carlos Aya</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Does anyone know why the following type signature is invalid?
&lt;br&gt;&lt;br&gt;second :: *a .a -&amp;gt; *a
&lt;br&gt;second x y = x
&lt;br&gt;&lt;br&gt;I am getting this message
&lt;br&gt;Error [matrices.icl,12,second]: a inconsistently attributed (4)
&lt;br&gt;&lt;br&gt;I came across this trying to type a more complex function with arrays, but it boils down to signature above.
&lt;br&gt;&lt;br&gt;Why the uniqueness attribute has to be the same for two independent parameters that just happen to have the same type?
&lt;br&gt;&lt;br&gt;A workaround I found was to use two different type variables, like
&lt;br&gt;second :: *a .b -&amp;gt; *a
&lt;br&gt;which will work properly on usage site by unification, but still I was wondering what the problem was with the first one.
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;Carlos
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; __________________________________________________________________________________
&lt;br&gt;Win 1 of 4 Sony home entertainment packs thanks to Yahoo!7.
&lt;br&gt;Enter now: &lt;a href=&quot;http://au.docs.yahoo.com/homepageset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://au.docs.yahoo.com/homepageset/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26366258&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/uniqueness-question-tp26366258p26366258.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26358256</id>
	<title>Second call for papers: Mathematics of Program Construction</title>
	<published>2009-11-14T08:29:22Z</published>
	<updated>2009-11-14T08:29:22Z</updated>
	<author>
		<name>Jules Desharnais</name>
	</author>
	<content type="html">&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SECOND CALL FOR PAPERS
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10th International Conference on
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mathematics of Program Construction
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MPC 2010
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Québec City, Canada, 21-23 June 2010
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://mpc-amast2010.fsg.ulaval.ca/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mpc-amast2010.fsg.ulaval.ca/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Colocated with AMAST 2010 (23-26 June 2010)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;BACKGROUND
&lt;br&gt;&lt;br&gt;The biennial MPC conferences aim to promote the development of
&lt;br&gt;mathematical principles and techniques that are demonstrably practical
&lt;br&gt;and effective in the process of constructing computer programs. Topics
&lt;br&gt;of interest range from algorithmics to support for program
&lt;br&gt;construction in programming languages and systems.
&lt;br&gt;&lt;br&gt;The previous conferences were held in Twente, The Netherlands (1989),
&lt;br&gt;Oxford, UK (1992), Kloster Irsee, Germany (1995), Marstrand, Sweden
&lt;br&gt;(1998), Ponte de Lima, Portugal (2000), Dagstuhl, Germany (2002),
&lt;br&gt;Stirling, UK (2004, colocated with AMAST '04), Kuressaare, Estonia
&lt;br&gt;(2006, colocated with AMAST '06) and Marseille, France (2008).
&lt;br&gt;The 2010 conference will be held in Lac-Beauport, a suburb of Québec
&lt;br&gt;City, Canada, and will be colocated with AMAST '10 (23-26 June 2010).
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;INVITED SPEAKERS
&lt;br&gt;&lt;br&gt;Roland Backhouse, University of Nottingham, UK.
&lt;br&gt;Others to be announced later.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;IMPORTANT DATES
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Submission of abstracts: 7 December 2009
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Submission of full papers: 14 December 2009
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Notification of authors: 20 February 2010
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Camera-ready version: 20 March 2010
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;TOPICS
&lt;br&gt;&lt;br&gt;Papers are solicited on mathematical methods and tools put to use in
&lt;br&gt;program construction. Topics of interest range from algorithmics to
&lt;br&gt;support for program construction in programming languages and
&lt;br&gt;systems. Some typical areas are type systems, program analysis and
&lt;br&gt;transformation, programming-language semantics, security and program
&lt;br&gt;logics. Theoretical contributions are welcome provided their relevance
&lt;br&gt;for program construction is clear. Reports on applications are welcome
&lt;br&gt;provided their mathematical basis is evident.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;SUBMISSION
&lt;br&gt;&lt;br&gt;Submission is in two stages. Abstracts (plain text, 10 to 20 lines)
&lt;br&gt;must be submitted by 7 December 2009. Full papers (pdf) adhering to
&lt;br&gt;the LaTeX llncs style must be submitted by 14 December 2009. There
&lt;br&gt;is no official page limit, but authors should strive for brevity.
&lt;br&gt;The web-based system EasyChair will be used for submission
&lt;br&gt;(&lt;a href=&quot;https://www.easychair.org/login.cgi?conf=mpc2010&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://www.easychair.org/login.cgi?conf=mpc2010&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;Papers must report previously unpublished work and not be submitted
&lt;br&gt;concurrently to another conference with refereed proceedings. In
&lt;br&gt;particular, they must not be submitted to AMAST 2010. Accepted
&lt;br&gt;papers must be presented at the conference by one of the authors.
&lt;br&gt;&lt;br&gt;The proceedings of MPC'10 will be published in the Lecture Notes in
&lt;br&gt;Computer Science series of Springer-Verlag.
&lt;br&gt;&lt;br&gt;After the conference, the authors of the best papers will be invited
&lt;br&gt;to submit revised versions to a special issue of the Science of
&lt;br&gt;Computer Programming journal of Elsevier.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;PROGRAMME COMMITTEE
&lt;br&gt;&lt;br&gt;Jules Desharnais &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Université Laval, Québec, Canada (chair)
&lt;br&gt;&lt;br&gt;Philippe Audebaud &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Ecole Normale Supérieure Lyon, France
&lt;br&gt;Ralph-Johan Back &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Abo Akademi University, Finland
&lt;br&gt;Eerke Boiten &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; University of Kent, UK
&lt;br&gt;Sharon Curtis &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Oxford Brookes University, UK
&lt;br&gt;Jeremy Gibbons &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; University of Oxford, UK
&lt;br&gt;Lindsay Groves &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Victoria University of Wellington, New Zealand
&lt;br&gt;Ian Hayes &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;University of Queensland, Australia
&lt;br&gt;Eric Hehner &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;University of Toronto, Canada
&lt;br&gt;Zhenjiang Hu &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; National Institute of Informatics, Japan
&lt;br&gt;Johan Jeuring &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Utrecht University, Netherlands
&lt;br&gt;Christian Lengauer &amp;nbsp; &amp;nbsp; &amp;nbsp; Universität Passau, Germany
&lt;br&gt;Bernhard Möller &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Universität Augsburg, Germany
&lt;br&gt;Shin-Cheng Mu &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Academia Sinica, Taiwan
&lt;br&gt;David Naumann &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stevens Institute of Technology, USA
&lt;br&gt;José Nuno Oliveira &amp;nbsp; &amp;nbsp; &amp;nbsp; Universidade do Minho, Portugal
&lt;br&gt;Alberto Pardo &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Universidad de la República, Uruguay
&lt;br&gt;Christine Paulin-Mohring INRIA-Université Paris-Sud, France
&lt;br&gt;Steve Reeves &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; University of Waikato, New Zealand
&lt;br&gt;Tim Sheard &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Portland State University, USA
&lt;br&gt;Georg Struth &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sheffield University, UK
&lt;br&gt;Tarmo Uustalu &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Institute of Cybernetics, Estonia
&lt;br&gt;&lt;br&gt;&lt;br&gt;VENUE
&lt;br&gt;&lt;br&gt;The conference will be held in the Manoir St-Castin
&lt;br&gt;(&lt;a href=&quot;http://www.hotelsvillegia.com/villegia_stcastin/pages-eg/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hotelsvillegia.com/villegia_stcastin/pages-eg/&lt;/a&gt;).
&lt;br&gt;This resort is located on the shore of Beauport lake,
&lt;br&gt;15 minutes from downtown Québec City (&lt;a href=&quot;http://www.quebecregion.com/e/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.quebecregion.com/e/&lt;/a&gt;)
&lt;br&gt;and 15 minutes from the Jean-Lesage International Airport.
&lt;br&gt;&lt;br&gt;&lt;br&gt;LOCAL ORGANIZERS
&lt;br&gt;&lt;br&gt;The local organizers are Claude Bolduc, Jules Desharnais and Béchir Ktari.
&lt;br&gt;&lt;br&gt;Enquiries regarding the programme (submission, etc.) should be addressed
&lt;br&gt;to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26358256&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jules.Desharnais@...&lt;/a&gt;.
&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26358256&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Second-call-for-papers%3A-Mathematics-of-Program-Construction-tp26358256p26358256.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26335516</id>
	<title>Description Logics 2010: 1st call for papers</title>
	<published>2009-11-12T07:58:53Z</published>
	<updated>2009-11-12T07:58:53Z</updated>
	<author>
		<name>David Toman-2</name>
	</author>
	<content type="html">----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; 23rd International Workshop on Description Logics (DL 2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FIRST CALL FOR PAPERS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Waterloo, Ontario, Canada
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.cs.uwaterloo.ca/conferences/dl2010/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.uwaterloo.ca/conferences/dl2010/&lt;/a&gt;&lt;br&gt;&lt;br&gt;The DL workshop is the major annual event of the description logic
&lt;br&gt;research community. The workshop is the premier forum to meet, discuss
&lt;br&gt;and exchange experiences among all those, both in the academia and
&lt;br&gt;industry, who are interested in description logics and their
&lt;br&gt;applications.
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;IMPORTANT DATES
&lt;br&gt;&lt;br&gt;Paper submission deadline: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; January 26th, 2010
&lt;br&gt;Acceptance notification:	 &amp;nbsp; &amp;nbsp; &amp;nbsp; March 9th, 2010
&lt;br&gt;Camera ready copies:		 &amp;nbsp; &amp;nbsp; &amp;nbsp; March 30th, 2010
&lt;br&gt;Early registration:		 &amp;nbsp; &amp;nbsp; &amp;nbsp; March 30th, 2010
&lt;br&gt;Workshop:			 &amp;nbsp; &amp;nbsp; &amp;nbsp; May 4 to May 7th
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;WORKSHOP SCOPE
&lt;br&gt;&lt;br&gt;We invite contributions on all aspects of description logics,
&lt;br&gt;such as
&lt;br&gt;&lt;br&gt;* foundations of description logics, including expressive power,
&lt;br&gt;&amp;nbsp; decidability and complexity of reasoning, novel inference problems,
&lt;br&gt;&amp;nbsp; and reasoning techniques for solving these problems;
&lt;br&gt;&lt;br&gt;* extensions of description logics, including, but not limited to,
&lt;br&gt;&amp;nbsp; closed-world and nonmonotonic reasoning, defaults, epistemic
&lt;br&gt;&amp;nbsp; reasoning, temporal and spatial reasoning, procedural knowledge, and
&lt;br&gt;&amp;nbsp; query languages;
&lt;br&gt;&lt;br&gt;* integration of description logics with other formalisms, such as
&lt;br&gt;&amp;nbsp; object-oriented representation languages, database query languages,
&lt;br&gt;&amp;nbsp; constraint-based programming, logic programming, and rule-based
&lt;br&gt;&amp;nbsp; systems;
&lt;br&gt;&lt;br&gt;* use of description logics in applications or areas such as ontology
&lt;br&gt;&amp;nbsp; engineering, ontology languages, databases, semi-structured data,
&lt;br&gt;&amp;nbsp; document management, natural language, learning, planning, semantic
&lt;br&gt;&amp;nbsp; web, and grid computing;
&lt;br&gt;&lt;br&gt;* building systems based on description logics, with special emphasis
&lt;br&gt;&amp;nbsp; on optimization and implementation techniques; and
&lt;br&gt;&lt;br&gt;* tools that exploit description logic reasoning, such as ontology
&lt;br&gt;&amp;nbsp; editors, database schema design, query optimization, and data
&lt;br&gt;&amp;nbsp; integration tools.
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;SUBMISSION DETAILS
&lt;br&gt;&lt;br&gt;We invite submissions of papers in Springer LNCS style, see
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.springer.com/comp/lncs/Authors.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springer.com/comp/lncs/Authors.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;to arrive no later than January 26th, 2010.
&lt;br&gt;&lt;br&gt;The length of submissions is limited to 11 pages, including title and
&lt;br&gt;abstract (can be omitted if necessary), and list of references.
&lt;br&gt;Papers must be submitted in PDF format via EasyChair; see
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.easychair.org/conferences/?conf=dl2010&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.easychair.org/conferences/?conf=dl2010&lt;/a&gt;&lt;br&gt;&lt;br&gt;The workshop proceedings will be made available electronically in the
&lt;br&gt;CEUR Workshop Proceedings series; see
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.CEUR-ws.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.CEUR-ws.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Accepted submissions will be selected for either oral or poster
&lt;br&gt;presentation; however, no distinction will be made in the workshop
&lt;br&gt;proceedings: all accepted papers can be 11 pages long.
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;WORKSHOP CHAIRS
&lt;br&gt;&lt;br&gt;* Grant Weddell, Waterloo (Workshop Chair)
&lt;br&gt;* Volker Haarslev, Concordia (PC Chair)
&lt;br&gt;* David Toman, Waterloo (PC Chair)
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;RESOURCES
&lt;br&gt;&lt;br&gt;* Information about registration, travel information, accommodation,
&lt;br&gt;&amp;nbsp; and so on will be made available on the DL 2009 homepage:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.cs.uwaterloo.ca/conferences/dl2010/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.uwaterloo.ca/conferences/dl2010/&lt;/a&gt;&lt;br&gt;&lt;br&gt;* Enquiries about the DL 2009 workshop can be made by contacting
&lt;br&gt;&amp;nbsp; the organizing committee:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26335516&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dl2010@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;* The official Description Logic home page is at
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://dl.kr.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dl.kr.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dr. David Toman, Associate Professor
&lt;br&gt;D.R.Cheriton School of Computer Science &amp;nbsp;tel: (519) 888-4567 ext 34447
&lt;br&gt;University of Waterloo &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fax: (519) 885-1208
&lt;br&gt;200 University Avenue West &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26335516&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;david@...&lt;/a&gt;
&lt;br&gt;Waterloo, Ontario, Canada N2L 3G1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://db.uwaterloo.ca/~david&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://db.uwaterloo.ca/~david&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26335516&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Description-Logics-2010%3A-1st-call-for-papers-tp26335516p26335516.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26291971</id>
	<title>SETP-10 Call for papers</title>
	<published>2009-11-10T13:54:03Z</published>
	<updated>2009-11-10T13:54:03Z</updated>
	<author>
		<name>Edw1</name>
	</author>
	<content type="html">&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot;&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;font: inherit;&quot;&gt;&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;SETP-10 Call for papers&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=3 face=&quot;Times New Roman&quot;&gt;The 2010 International Conference on Software Engineering Theory and Practice (SETP-10) (website: &lt;/FONT&gt;&lt;A href=&quot;http://www.promoteresearch.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;FONT size=3 face=&quot;Times New Roman&quot;&gt;http://www.PromoteResearch.org&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=&quot;Times New Roman&quot;&gt;) &lt;SPAN class=style6&gt;will be held during 12-14 of July 2010 in Orlando, FL, USA. &lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;SETP is an important event in the areas of Software development, maintenance, and other areas of software engineering and related topics.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;o:p&gt;&lt;FONT size=3 face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=3 face=&quot;Times New Roman&quot;&gt;The conference will be held at the same time and location where several other major international conferences will be taking place. The conference will be held as part of 2010 multi-conference (MULTICONF-10). MULTICONF-10 will be held during July 12-14, 2010 in Orlando, Florida, USA. The primary goal of MULTICONF is to promote research and developmental activities in computer science, information technology, control engineering, and related fields. Another goal is to promote the dissemination of research to a multidisciplinary audience and to facilitate communication among researchers, developers, practitioners in different fields.&lt;SPAN class=style2&gt; &lt;/SPAN&gt;The following conferences are planned to be organized as part of MULTICONF-10.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;UL style=&quot;MARGIN-TOP: 0in&quot; type=disc&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Artificial Intelligence and Pattern Recognition (AIPR-10)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;International Conference on Automation, Robotics and Control Systems (ARCS-10)&lt;A href=&quot;http://www.promoteresearch.org/2009/2009/arcs/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Bioinformatics, Computational Biology, Genomics and Chemoinformatics (BCBGC-10)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Computer Networks (CN-10)&lt;A href=&quot;http://www.promoteresearch.org/2009/eiswt/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Enterprise Information Systems and Web Technologies (EISWT-10)&lt;A href=&quot;http://www.promoteresearch.org/2009/eiswt/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on High Performance Computing Systems (HPCS-10)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Information Security and Privacy (ISP-10) &lt;A href=&quot;http://www.promoteresearch.org/2009/isp/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Image and Video Processing and Computer Vision (IVPCV-10)&lt;A href=&quot;http://www.promoteresearch.org/2010/cvivp/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Software Engineering Theory and Practice (SETP-10) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;International Conference on Theoretical and Mathematical Foundations of Computer Science (TMFCS-10) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;We invite draft paper submissions. Please see the website &lt;A href=&quot;http://www.promoteresearch.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.PromoteResearch.org&lt;/A&gt; for more details.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;Sincerely&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;John Edward&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P style=&quot;LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt&quot;&gt;Publicity committee&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;



    &lt;br /&gt;_______________________________________________
&lt;br&gt;clean-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26291971&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;clean-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://mailman.science.ru.nl/mailman/listinfo/clean-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mailman.science.ru.nl/mailman/listinfo/clean-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SETP-10-Call-for-papers-tp26291971p26291971.html" />
</entry>

</feed>
