Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine: hierarchical symbols (aka symbols as packages aka symbol/package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it, ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
Thanks for any input!
Cheers Alessio
On Nov 27, 2015, at 14:34 , Alessio Stalla alessiostalla@gmail.com wrote:
Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine: hierarchical symbols (aka symbols as packages aka symbol/package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it, ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
There is no CDR on the topic (want to write one?). But ACL has had something like that for some time (cfr., http://franz.com/support/documentation/10.0/doc/packages.htm) and, if my neuron is not failing me also SBCL/CMUCL.
I should be able to make it to ELS.
Marco
Thanks for any input!
Cheers Alessio
-- Marco Antoniotti
On Fri, Nov 27, 2015 at 2:58 PM, Marco Antoniotti marcoxa@cs.nyu.edu wrote:
On Nov 27, 2015, at 14:34 , Alessio Stalla alessiostalla@gmail.com
wrote:
Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine:
hierarchical symbols (aka symbols as packages aka symbol/package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it,
ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
There is no CDR on the topic (want to write one?). But ACL has had something like that for some time (cfr., http://franz.com/support/documentation/10.0/doc/packages.htm) and, if my neuron is not failing me also SBCL/CMUCL.
I should be able to make it to ELS.
Thanks, I was not aware of the ACL feature and it seems related to what I'm experimenting with. I'll read it carefully and ponder about it and whether it makes my work less relevant, but let's keep that off this list as it's off-topic ;) ABCL seems to provide something simpler - package nicknames depending on the current package, but no hierarchy. That's, however, from glimpsing at ABCL's source and skimming the ACL docs, so I might be totally wrong.
Alessio
Alessio Stalla alessiostalla@gmail.com writes:
Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine: hierarchical symbols (aka symbols as packages aka symbol/ package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it, ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
I implemented recently allegro's hierarchical package in conforming CL cf. https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-li...
and this week, phoe_krk implemented his own version of package local pseudonyms (like package nicknames, but separate): https://github.com/phoe-krk/pseudonyms
Perhaps it'd really be time to write a CDR and implement something good and common on all implementations?
On Nov 27, 2015, at 15:42 , Pascal J. Bourguignon pjb@informatimago.com wrote:
Alessio Stalla alessiostalla@gmail.com writes:
Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine: hierarchical symbols (aka symbols as packages aka symbol/ package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it, ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
I implemented recently allegro's hierarchical package in conforming CL cf. https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-li...
and this week, phoe_krk implemented his own version of package local pseudonyms (like package nicknames, but separate): https://github.com/phoe-krk/pseudonyms
Perhaps it'd really be time to write a CDR and implement something good and common on all implementations?
I am game. How do you guys want to proceed?
Cheers — MA
On Nov 27, 2015, at 15:46, Marco Antoniotti marcoxa@cs.nyu.edu wrote:
On Nov 27, 2015, at 15:42 , Pascal J. Bourguignon pjb@informatimago.com wrote:
Alessio Stalla alessiostalla@gmail.com writes:
Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine: hierarchical symbols (aka symbols as packages aka symbol/ package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it, ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
I implemented recently allegro's hierarchical package in conforming CL cf. https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-li...
and this week, phoe_krk implemented his own version of package local pseudonyms (like package nicknames, but separate): https://github.com/phoe-krk/pseudonyms
Perhaps it'd really be time to write a CDR and implement something good and common on all implementations?
I am game. How do you guys want to proceed?
Ages ago, Nikodemus and me started writing a cdr, but somehow got stuck along the way. I attach what we came up with, this could be a good starting point.
(Hi from another lisper-in-exile :) )
Rudi
I'm all for picking the CDR again -- but I probably don't have the cycles to hack on the SBCL implementation very much.
The conceptual origin of SBCL/ABCL -style package local nicknames is Lisp Machine. I mostly tried to bring the ideas there in line with modern sensibilities and address things like read/write consistency.
If you want to look at all the things it would be cool to support (conceptually), the Scheme module system pretty much does it all -- but obviously details and implementations would be quite different for CL.
Nice to see people thinking about this stuff. :)
Cheers,
-- nikodemus
On Fri, Nov 27, 2015 at 5:39 PM, Rudi Schlatte rudi@constantly.at wrote:
On Nov 27, 2015, at 15:46, Marco Antoniotti marcoxa@cs.nyu.edu wrote:
On Nov 27, 2015, at 15:42 , Pascal J. Bourguignon <
pjb@informatimago.com> wrote:
Alessio Stalla alessiostalla@gmail.com writes:
Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine: hierarchical symbols (aka symbols as packages aka symbol/ package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it, ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
I implemented recently allegro's hierarchical package in conforming CL cf.
https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-li...
and this week, phoe_krk implemented his own version of package local pseudonyms (like package nicknames, but separate): https://github.com/phoe-krk/pseudonyms
Perhaps it'd really be time to write a CDR and implement something good and common on all implementations?
I am game. How do you guys want to proceed?
Ages ago, Nikodemus and me started writing a cdr, but somehow got stuck along the way. I attach what we came up with, this could be a good starting point.
(Hi from another lisper-in-exile :) )
Rudi
Hi,
on one hand I'm happy to have stirred this discussion, on the other hand I don't want to abuse the ABCL mailing list, so if anyone is annoyed by this, please speak up!
I'm glad to see so much interest in the topic. I don't think time is ripe for a CDR, though. There are already two overlapping/competing features: hierarchical packages (in ACL and Pascal's implementation) and package-local nicknames (in SBCL, ABCL and...?) or pseudonyms, which are not hierarchical. I'm exploring yet another route, that is, to conflate packages and symbols so that a symbol can serve as a namespace for other symbols; that naturally creates nice hierarchical structures, and the addition of a symbol alias operator in this context (which is necessary anyway to support global package nicknames) produces the availability of a limited sort of package-local nicknames. That route appears to be possible, at least in ABCL; a further research topic is to try in other Lisp implementations. In addition to hierarchy and nicknames, this has the nice properties of: 1) making symbol/packages first class (packages are not in CL today, and I think they're the only data type with that property, am I mistaken?) 2) making packages naturally printable and readable with no special syntax (since they are really symbols) 3) reducing the number of types/concepts (although this is very debatable as packages won't disappear, since they're needed for backwards compatibility and compliance with the ANSI standard; their properties are simply transferred to symbols, making packages just a thin facade). Recently, while I was in the middle of writing this, I discovered symbol-as-packages has drawbacks too - it doesn't play completely nice with existing Common Lisp as I hoped. But hey, exploration is good! :) That's why I've waited before sending this. Anyway, I think package-local nicknames or anything that builds upon packages and complicates them will most probably make the drawbacks of my approach bigger, and that's something I must take into account.
So, to make a long story short, I don't think the matter is settled yet. There's still space for exploration. From your answers, or rather from the absence of other answers, it seems like nobody is using these advanced package features at least on ABCL, which admittedly has a small user base. I'll try asking on the SBCL and ACL mailing lists.
On Fri, Nov 27, 2015 at 7:23 PM, Nikodemus Siivola < nikodemus@random-state.net> wrote:
I'm all for picking the CDR again -- but I probably don't have the cycles to hack on the SBCL implementation very much.
The conceptual origin of SBCL/ABCL -style package local nicknames is Lisp Machine. I mostly tried to bring the ideas there in line with modern sensibilities and address things like read/write consistency.
If you want to look at all the things it would be cool to support (conceptually), the Scheme module system pretty much does it all -- but obviously details and implementations would be quite different for CL.
Nice to see people thinking about this stuff. :)
Cheers,
-- nikodemus
On Fri, Nov 27, 2015 at 5:39 PM, Rudi Schlatte rudi@constantly.at wrote:
On Nov 27, 2015, at 15:46, Marco Antoniotti marcoxa@cs.nyu.edu wrote:
On Nov 27, 2015, at 15:42 , Pascal J. Bourguignon <
pjb@informatimago.com> wrote:
Alessio Stalla alessiostalla@gmail.com writes:
Hello list,
long time no see :)
I'm once again experimenting on ABCL with a sort of a pet peeve of mine: hierarchical symbols (aka symbols as packages aka symbol/ package conflation). If I get good results I'll submit an article to the next ELS. Btw, is anyone going?
I've seen that, since the time when I was actively contributing to it, ABCL has gained package-local nicknames (or, they were already there and I never noticed or I forgot about them). Since my experiment is, I suppose, a superset of what said nicknames have to offer, I'm curious: is anybody using them? How? Are they a novel idea of ABCL's, or were they inspired by other implementations? Do they implement some specification (e.g., a CDR)?
I implemented recently allegro's hierarchical package in conforming CL cf.
https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-li...
and this week, phoe_krk implemented his own version of package local pseudonyms (like package nicknames, but separate): https://github.com/phoe-krk/pseudonyms
Perhaps it'd really be time to write a CDR and implement something good and common on all implementations?
I am game. How do you guys want to proceed?
Ages ago, Nikodemus and me started writing a cdr, but somehow got stuck along the way. I attach what we came up with, this could be a good starting point.
(Hi from another lisper-in-exile :) )
Rudi
armedbear-devel@common-lisp.net