[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
opaque data types (was: plist-based package.el (was Re: cl-defstruct-bas
From: |
Ted Zlatanov |
Subject: |
opaque data types (was: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!)) |
Date: |
Fri, 07 Jun 2013 09:03:49 -0400 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (gnu/linux) |
On Fri, 07 Jun 2013 12:07:44 +0900 "Stephen J. Turnbull" <address@hidden>
wrote:
SJT> Aaahhhh, *hash* *tables*. Now I like where you're headed! An opaque
SJT> type, the modern programmer's heartthrob. I have to agree with you
SJT> there. "Opaque types are one honkin' great idea! We should do more
SJT> of those."[1]
SJT> Footnotes:
SJT> [1] With apologies to Tim Peters.
I'd really like an opaque "password" type that doesn't print unless
retrieved with a special function, and is stored encrypted in memory.
Currently auth-source.el uses a closure for that, which is not ideal.
It's on my TODO list for some rainy day.
Generally, I love how Lisp balances readability, accessibility, and
power by limiting itself to data structures that are not opaque. The
exceptions to that rule are the interesting edge cases :)
(By contrast, Java makes data structures and objects impenetrable by
default and requires nasty tricks to get introspection. And on top of
that we have Guava, Scala, and Clojure... amazing!)
Ted
- plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Daniel Hackney, 2013/06/04
- Re: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Dmitry Gutov, 2013/06/04
- Re: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Ted Zlatanov, 2013/06/05
- Re: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Stefan Monnier, 2013/06/05
- RE: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Drew Adams, 2013/06/05
- Re: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Ted Zlatanov, 2013/06/05
- Re: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Stephen J. Turnbull, 2013/06/06
- Re: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Ted Zlatanov, 2013/06/06
- Re: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!), Stephen J. Turnbull, 2013/06/06
- opaque data types (was: plist-based package.el (was Re: cl-defstruct-based package.el, now with ert tests and no external tar!)),
Ted Zlatanov <=
- Re: opaque data types, Christopher Schmidt, 2013/06/07
- Re: opaque data types, Ted Zlatanov, 2013/06/07
- Re: opaque data types, Christopher Schmidt, 2013/06/07
- Re: opaque data types, Ted Zlatanov, 2013/06/07
- Re: opaque data types, Christopher Schmidt, 2013/06/08
- Re: opaque data types, Ted Zlatanov, 2013/06/09
- Re: opaque data types, Stefan Monnier, 2013/06/07
- Re: opaque data types, Ted Zlatanov, 2013/06/07
- opaque data types, Stephen J. Turnbull, 2013/06/08
- opaque data types [revise and resend], Stephen J. Turnbull, 2013/06/08