- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Wed, 06 May 2009 17:48:21 +0200
- To: Sandro Hawke <sandro@w3.org>
- CC: Chris Welty <cawelty@gmail.com>, public-rif-wg@w3.org
- Message-ID: <4A01B145.6000908@inf.unibz.it>
Too late :) Anyway, if anyone doesn't like what I wrote, they can complain. I have no problems throwing away binding patterns. :) Best, Jos Sandro Hawke wrote: >> I can do this. Please assign me an action. > > It seems to me like this needs WG discussion, or at least PRD input. > > (The question here is how PRD systems iterate over items in a list.) > > -- Sandro > >> Jos >> >> Chris Welty wrote: >>> So who will take up the issue of binding patterns for lists in Core? >>> Axel? Jos? >>> >>> -Chris >>> >>> Sandro Hawke wrote: >>>> I think the DTB section on RIF lists [1] is now ready for review for >>>> Last Call. A few notes and questions: >>>> >>>> * I removed the func:delete function, because (a) it's >>>> not in xpath, >>>> (b) it's confusingly similar to func:remove, and >>>> (c) it's trivial emulated: func:delete(L, >>>> I) = func:except(L, func:make-list(I)) >>>> >>>> Some other functions are trivial emulated, but they're in xpath. I >>>> think the bar is higher for us adding functions. This way, the >>>> only ones we're adding are is-list, list-contains, make-list, and >>>> get. list-contains is that only the can be emulated: >>>> list-contains(L, I) iff count(index-of(L, I)) > 0 >>>> but I think we specifically discussed that and agreed it was >>>> worthwhile to have list-contains. >>>> >>>> Obviously, if someone actually wants it, I'm okay with putting >>>> func:delete back in. >>>> >>>> * This section has examples. I could trivially suppress them for now >>>> (this wiki-text is generated by a program [2]), if they bother >>>> people. I like them. They have all been checked by my demo code >>>> [3]. I'm willing to make similar examples for the rest of DTB for >>>> a later edition. >>>> >>>> * I don't know the right binding pattern for list-contains. Above, I >>>> was assuming it was (b,b), but I can imagine some utility to all >>>> binding patterns, and at least (b,u) seems pretty reasonable. It's >>>> not clear to me whether PR systems would do what I'm imagining with >>>> that, but it'd be nice to write rules like: >>>> >>>> forall M ( if >>>> list-contains(eg:list_of_friends, M) >>>> then eg:is_friend(M) >>>> ) >>>> >>>> Without it, I guess you'd need some much more cumbersome >>>> tail-recursive rules like this: >>>> >>>> friend_list(eg:list_of_friends) forall L M ( >>>> if friend_list(L) and >>>> get(L, 0) = M >>>> then eg:is_friend(M) >>>> ) >>>> forall L ( >>>> if friend_list(L) and >>>> count(L) > 0 >>>> then friend_list(sublist(L, 1)) >>>> ) >>>> >>>> PR folks, what do you want, there? >>>> >>>> I think that it. This complete ACTION-760. >>>> -- Sandro >>>> >>>> >>>> [1] >>>> http://www.w3.org/2005/rules/wiki/DTB#Functions_and_Predicates_on_RIF_List >> s >>>> [2] http://dev.w3.org/cvsweb/2009/rif/list_builtins.py >>>> >>>> >> -- >> +43 1 58801 18470 debruijn@inf.unibz.it >> >> Jos de Bruijn, http://www.debruijn.net/ >> ---------------------------------------------- >> Many would be cowards if they had courage >> enough. >> - Thomas Fuller >> >> --------------ms050400010200050207050103 >> Content-Type: application/x-pkcs7-signature; name="smime.p7s" >> Content-Transfer-Encoding: base64 >> Content-Disposition: attachment; filename="smime.p7s" >> Content-Description: S/MIME Cryptographic Signature >> >> MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJEzCC >> AuQwggJNoAMCAQICEFQWJg3375t1YRYi6x5QpKcwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE >> BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT >> I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA5MDEyODE5NTcxNVoX >> DTEwMDEyODE5NTcxNVowRzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEkMCIG >> CSqGSIb3DQEJARYVZGVicnVpam5AaW5mLnVuaWJ6Lml0MIIBIjANBgkqhkiG9w0BAQEFAAOC >> AQ8AMIIBCgKCAQEAsENUfWYEG8PFApSgNPgfPDmMihwtSHvsq1+yVeKKGel+k/nresDU343R >> Nz4QCrLeIVhzjUoSUvpbIViBzPw5T+3i0SGmwAoKvYLlw/5Al8JBlKxipf6ZkXLwa9+3agZZ >> /TzH6FLcJeoYak7ryUFtJOipYiI2ClPlx8porLrOmikAiPmAbxx0rq0Edq4cAxaMDk9lqni4 >> ZaQWgR00MX81+nq1FqIB3KavPeJaJjnB9njHhan64PxUzFKaRgg1d2u1Pi8NfDqElzua0tu+ >> xoXe/alvLVGtTjitRyCsYrTcTt+hZDCcAg65nwlcs1/oaFz/BP2dSYZAk4LEya4kFj+UqQID >> AQABozIwMDAgBgNVHREEGTAXgRVkZWJydWlqbkBpbmYudW5pYnouaXQwDAYDVR0TAQH/BAIw >> ADANBgkqhkiG9w0BAQUFAAOBgQBHGdK4P2l67dEm6SvMfklpDPPE5b0hClBw6XOO9XahEYmQ >> oeq5jxeBp3EdZxbeZtSUjllvJi7wsOKhCqaipe44GzuW5QDziWiAGg3aMrtRBaJXIR9F6MED >> IWSLksjq5SAEU7uX4HT/sAe6P2F0oe/QzItO/qgrh6NI4vGxw4yt2zCCAuQwggJNoAMCAQIC >> EFQWJg3375t1YRYi6x5QpKcwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkExJTAjBgNV >> BAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJz >> b25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA5MDEyODE5NTcxNVoXDTEwMDEyODE5NTcx >> NVowRzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEkMCIGCSqGSIb3DQEJARYV >> ZGVicnVpam5AaW5mLnVuaWJ6Lml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA >> sENUfWYEG8PFApSgNPgfPDmMihwtSHvsq1+yVeKKGel+k/nresDU343RNz4QCrLeIVhzjUoS >> UvpbIViBzPw5T+3i0SGmwAoKvYLlw/5Al8JBlKxipf6ZkXLwa9+3agZZ/TzH6FLcJeoYak7r >> yUFtJOipYiI2ClPlx8porLrOmikAiPmAbxx0rq0Edq4cAxaMDk9lqni4ZaQWgR00MX81+nq1 >> FqIB3KavPeJaJjnB9njHhan64PxUzFKaRgg1d2u1Pi8NfDqElzua0tu+xoXe/alvLVGtTjit >> RyCsYrTcTt+hZDCcAg65nwlcs1/oaFz/BP2dSYZAk4LEya4kFj+UqQIDAQABozIwMDAgBgNV >> HREEGTAXgRVkZWJydWlqbkBpbmYudW5pYnouaXQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0B >> AQUFAAOBgQBHGdK4P2l67dEm6SvMfklpDPPE5b0hClBw6XOO9XahEYmQoeq5jxeBp3EdZxbe >> ZtSUjllvJi7wsOKhCqaipe44GzuW5QDziWiAGg3aMrtRBaJXIR9F6MEDIWSLksjq5SAEU7uX >> 4HT/sAe6P2F0oe/QzItO/qgrh6NI4vGxw4yt2zCCAz8wggKooAMCAQICAQ0wDQYJKoZIhvcN >> AQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcT >> CUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRp >> ZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG >> cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNv >> bTAeFw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYD >> VQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVy >> c29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA >> xKY8VXNV+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkV >> cI7dyfArhVqqP3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUq >> VIUPSAR/p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMG >> A1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZy >> ZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJp >> dmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIX >> oUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydx >> VyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11fZU8x >> ggNkMIIDYAIBATB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGlu >> ZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWlu >> ZyBDQQIQVBYmDffvm3VhFiLrHlCkpzAJBgUrDgMCGgUAoIIBwzAYBgkqhkiG9w0BCQMxCwYJ >> KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wOTA1MDYxNTA3MjlaMCMGCSqGSIb3DQEJBDEW >> BBQBRftTn2tgyfhc3nfibgU/WpQ4hTBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4G >> CCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCB >> hQYJKwYBBAGCNxAEMXgwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1 >> bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElz >> c3VpbmcgQ0ECEFQWJg3375t1YRYi6x5QpKcwgYcGCyqGSIb3DQEJEAILMXigdjBiMQswCQYD >> VQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UE >> AxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEFQWJg3375t1YRYi6x5Q >> pKcwDQYJKoZIhvcNAQEBBQAEggEAnmvO6IkRFatmFVM3yYdtghR3ENcr1NoxXwL7nU3w3M/C >> wgKWlwi55e7OtJaL7QzmjrzJH+xk+NXRAEGlR7wnFl0QRhiQirInBzB6GCF+k/z5eEsd2dS3 >> OzVQ4dNinFAwfEXSITbK46Bf1P4LaJ1xZ9YSvTTZdJuoMRGkbgp01F8ZuKr84zPntePrXoiv >> /fMprZ3qdsr/+Xs/x3dXhi9HB6hjF2wX9xTtQNsDhgwgTKMFGDhnJdUoQelGhNCpzKoCjUZR >> 6Jarq5HBkAWC4OKqPZwEJcJIu8ufo3z6qZCY6E6VvvQ9XYlUp2GMQDbDhtsATZdFZUcbN5kR >> c6WkCFCr2AAAAAAAAA== >> --------------ms050400010200050207050103-- > -- +43 1 58801 18470 debruijn@inf.unibz.it Jos de Bruijn, http://www.debruijn.net/ ---------------------------------------------- Many would be cowards if they had courage enough. - Thomas Fuller
Received on Wednesday, 6 May 2009 15:49:22 UTC