Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Want ANSI Common Lisp conformance #572

Open
masinter opened this issue Nov 18, 2021 · 10 comments
Open

Want ANSI Common Lisp conformance #572

masinter opened this issue Nov 18, 2021 · 10 comments

Comments

@masinter
Copy link
Member

Current Lisp systems do not support the development and debugging capabilities of Medley. With full ANSI support, it would be possible to develop Common Lisp applications in Medley and deploy them on SBCL, ECL, or another fast Common Lisp implementation.

Complete conformance may be elusive, but we could fix things that would get in the way of using Medley as a development tool.

@orcmid
Copy link

orcmid commented Nov 18, 2021

It was startling to observe that the ANSI Standard for Common Lisp has evidently not been maintained by INCITS (it appearing to have been "stabilized") and it never made it to ISO/IEC SC22 despite the variety of programming languages that did so. I see there is a current ISO/IEC ISLISP though, https://www.iso.org/standard/44338.html although I am unwilling to cough-up the CFR to see what this is.

I don't question the goal of this issue. I do wonder how wide the relevant community is these days, considering the variants such as ACL2. I know there still are LISP conferences as well as the ICFP ones. Do those communities shed any light on LISP standards?

@olopierpa
Copy link

olopierpa commented Nov 18, 2021 via email

@nbriggs
Copy link
Contributor

nbriggs commented Nov 18, 2021

One might look at the ISLisp website, http://www.islisp.info

@olopierpa
Copy link

olopierpa commented Nov 18, 2021 via email

@orcmid
Copy link

orcmid commented Nov 18, 2021

@olopierpa @nbriggs molto grazi, and nice to learn about nenbutsu/kiss.

Now my question is whether ISLISP is a better grounding than ANSI Common Lisp, or can one end up conformant with both?

@masinter
Copy link
Member Author

Medley already implements Common Lisp. Somewhere between CLtL1 and CLTL2. We have code that purports to implement CLtL2 but haven't tried to merge it in. It's likely there were few really incompatible changes; I chaired the "cleanup committee" in X3J13 and don't remember any red flag). And a lot of work went into making Medley a decent environment for Common Lisp -- the file package and Masterscope and Break and Advise etc.
The question is: how will incompatibilities affect the ability to use Medley as a development environment for some categories of uses.

@olopierpa
Copy link

olopierpa commented Nov 19, 2021 via email

@pfdietz
Copy link

pfdietz commented Dec 6, 2021

It was startling to observe that the ANSI Standard for Common Lisp has evidently not been maintained by INCITS (it appearing to have been "stabilized") and it never made it to ISO/IEC SC22 despite the variety of programming languages that did so. I see there is a current ISO/IEC ISLISP though, https://www.iso.org/standard/44338.html although I am unwilling to cough-up the CFR to see what this is.

I don't question the goal of this issue. I do wonder how wide the relevant community is these days, considering the variants such as ACL2. I know there still are LISP conferences as well as the ICFP ones. Do those communities shed any light on LISP standards?

The Common Lisp standard itself may not be widely used, but the "Common Lisp Hyperspec", which is derived from the last draft version of the standard, is extensively used in the Common Lisp community. Public Common Lisp implementations are expected by the community to conform to it, and there's a conformance test suite available. The random compiler tester (which does differential testing on randomly generated integer-valued lambda forms) in the test suite is part of the Steel Bank Common Lisp development flow. I do wonder how Medley's compiler would fare when confronted with it; it's found bugs in every CL implementation it's ever been tried on.

https://en.wikipedia.org/wiki/Common_Lisp_HyperSpec

https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.5188&rep=rep1&type=pdf

https://github.com/pfdietz/ansi-test

Tests derived from failures discovered by random testing on various CL implementations:
https://github.com/pfdietz/ansi-test/blob/master/misc/misc.lsp

I believe ACL2 is built on top of SBCL these days, isn't it? It used to use GCL.

@orcmid
Copy link

orcmid commented Dec 6, 2021

Thank you @pfdietz, that is fascinating.

The TL;DR: I do wish software folk would stop believing in "relicensing" of derivative works. That people claim otherwise does not make it so. One has copyright automatically only of one's own original contribution of that content in which copyright adheres. (The exception is works for hire, where the born-copyright portions belong to the hirer and also when copyright itself is transferred in its entirety, something ANSI and ISO do not do.) Permission to make a derivative work does not lessen the original copyright. The previous form and its survival in the derivative remains under whatever license has been provided for it and whatever copyrights applied. I have no idea what constitutes the copyright claimed by ANSI and ISO over technical specifications contributed by committees (and other standards bodies). Of course, IANAL.

@masinter
Copy link
Member Author

masinter commented Dec 7, 2021

maybe we can leave the "ANSI" behind and focus on practical considerations. #609 might rank more attention than #608

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

5 participants