From: Glenn Vanderburg Date: 2003-11-13T07:38:51+09:00 Subject: Re: Duck Typing and Object Hashish --------------ms010605010407000602030409 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit > I was just musing about strong simularitaries > between a couple of different data structures > which we tend not to think of as same things. I like your thinking on this, and there are (not surprisingly) other languages that take it farther. In JavaScript and especially Self, objects are composed entirely of named "slots" or properties, and they are frequently used as hashes, with no other specialized hash support in the language or libraries. ---Glenn --------------ms010605010407000602030409 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 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIII7TCC AtEwggI6oAMCAQICAwsUQTANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UE ChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwHhcNMDMxMTA0MjIwODA3WhcNMDQxMTAzMjIwODA3 WjBEMR8wHQYDVQQDExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSEwHwYJKoZIhvcNAQkBFhJn bHZAdmFuZGVyYnVyZy5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDzNfK 4t51kt9rgoJCtKHkOs7kIVavtufTWWH1mE4CqtwpX2vhlTNg3CsyzcMnTCX5N4UjB+tZWXmc rhDoLsMwGxfaUAKI1EcjxRezmt7dzCjKSTnyDUZlkFSl+Bu/ncN/VbkxzTIjNq115xRaUxhs 3/nO+zNRGtBgSc/wd2t3aSl/ro3FKVDkcUb0crB5OHBtH6XU2OLSXYhDxWcx0F0ctzFhEySh rntnQHTXXB1SJ55oTdB7rlVF2BcYVJQdxc9RJQRxaIQdPGkVlaqcThkjOd3SaJTqWSE0xYwA LRBXPDZAoxZTOBr/KFhBarfOp6ZrteS3Q0c0cctNm0EV909lAgMBAAGjLzAtMB0GA1UdEQQW MBSBEmdsdkB2YW5kZXJidXJnLm9yZzAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GB ACIJKWZsXM+vK1PIfVFv/ECz7AV/Z2HQQx+9q5ZulssgB+NCGxozEEjGOIPHAbdSanTKNqmG OeUKqmfgmz5BOwHVQs+NlDjLfj4ylhKUs/JjpQP3tqVDPvu6hGA5rAd0i/BVP3WDd3JX41DI MvfoDK0qN/TjiiaIJxUKAhElFb+LMIIC0TCCAjqgAwIBAgIDCxRBMA0GCSqGSIb3DQEBBAUA MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQu MSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTAeFw0wMzEx MDQyMjA4MDdaFw0wNDExMDMyMjA4MDdaMEQxHzAdBgNVBAMTFlRoYXd0ZSBGcmVlbWFpbCBN ZW1iZXIxITAfBgkqhkiG9w0BCQEWEmdsdkB2YW5kZXJidXJnLm9yZzCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAMPM18ri3nWS32uCgkK0oeQ6zuQhVq+259NZYfWYTgKq3Clf a+GVM2DcKzLNwydMJfk3hSMH61lZeZyuEOguwzAbF9pQAojURyPFF7Oa3t3MKMpJOfINRmWQ VKX4G7+dw39VuTHNMiM2rXXnFFpTGGzf+c77M1Ea0GBJz/B3a3dpKX+ujcUpUORxRvRysHk4 cG0fpdTY4tJdiEPFZzHQXRy3MWETJKGue2dAdNdcHVInnmhN0HuuVUXYFxhUlB3Fz1ElBHFo hB08aRWVqpxOGSM53dJolOpZITTFjAAtEFc8NkCjFlM4Gv8oWEFqt86npmu15LdDRzRxy02b QRX3T2UCAwEAAaMvMC0wHQYDVR0RBBYwFIESZ2x2QHZhbmRlcmJ1cmcub3JnMAwGA1UdEwEB /wQCMAAwDQYJKoZIhvcNAQEEBQADgYEAIgkpZmxcz68rU8h9UW/8QLPsBX9nYdBDH72rlm6W yyAH40IbGjMQSMY4g8cBt1JqdMo2qYY55QqqZ+CbPkE7AdVCz42UOMt+PjKWEpSz8mOlA/e2 pUM++7qEYDmsB3SL8FU/dYN3clfjUMgy9+gMrSo39OOKJognFQoCESUVv4swggM/MIICqKAD AgECAgENMA0GCSqGSIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVy biBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5n MSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtU aGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZy ZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQsw CQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoG A1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHy v1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsY Pge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0T AQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0ZS5jb20v VGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0RBCIwIKQe MBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD 6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZ GwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDOzCCAzcCAQEwaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMc VGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFs IEZyZWVtYWlsIElzc3VpbmcgQ0ECAwsUQTAJBgUrDgMCGgUAoIIBpzAYBgkqhkiG9w0BCQMx CwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wMzExMTIyMjM4MjFaMCMGCSqGSIb3DQEJ BDEWBBSd+EoBBb3BkeQJBGrgGvVH+qLgFjBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMH MA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIB KDB4BgkrBgEEAYI3EAQxazBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29u c3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwg SXNzdWluZyBDQQIDCxRBMHoGCyqGSIb3DQEJEAILMWugaTBiMQswCQYDVQQGEwJaQTElMCMG A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl cnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAwsUQTANBgkqhkiG9w0BAQEFAASCAQC9Mrbl 8ycGt5whNyY+ERDg/z0LQt0mJX+1/+zRgBF7D6DiRX1otpvXgUsrBn6D3AKvOriIQkyCo4TX /lY1roGFF3T5QBYlr/I812muKj9Q/WVvsF5NzXjW9H2jwq5EEDVZnxqF2VqrA4OST2L2CrTD 2PodOAlu3wHhSFivPYY693bZoDPZOTgbTN4rnI45EfR6JG83yFBG9sM2MiXRbNPWCr5TJ9aC x+cN0Ego/aY8hA2DPkZAVbNZymddptDfTMbUMkIOZITgXUoA10xo30fIpC4gNLuFt5wCIN/f Sm5nOc6/mb7eF4tQ9o4LOcOFo05BbxoC9UYd+FQhvc0G29NRAAAAAAAA --------------ms010605010407000602030409--