[ clisp-Bugs-3601310 ] find-symbol in LINUX is wrong.
SourceForge.net <[email protected]>
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #3601310, was opened at 2013-01-17 13:14
Message generated for change (Settings changed) made by haible
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=101355&aid=3601310&group_id=1355
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: clisp
Group: ANSI compliance issue
Status: Closed
>Resolution: Invalid
Priority: 5
Private: No
Submitted By: Pascal J. Bourguignon (informatimago)
Assigned to: Bruno Haible (haible)
Summary: find-symbol in LINUX is wrong.
Initial Comment:
C/Break 1 USER[8]> (find-symbol "SIN" "LINUX")
LINUX:sin ;
:EXTERNAL
C/Break 1 USER[8]> (find-symbol "sin" "LINUX")
NIL ;
NIL
The consequence is that:
C/USER[15]> (defpackage :example (:use :cl :linux))
*** - (use-package (#<package linux> #<package common-lisp>) #<package example>): 27 name conflicts remain
Which symbol with name "SIN" should be accessible in #<package example>?
The following restarts are available:
COMMON-LISP :R1 #<package common-lisp>
LINUX :R2 #<package linux>
ABORT :R3 Abort main loop
C/Break 1 USER[16]> :q
C/USER[17]>
----------------------------------------------------------------------
Comment By: Bruno Haible (haible)
Date: 2013-01-17 14:06
Message:
Package LINUX is case-sensitive and case-inverted:
$ clisp -K full
[1]> (setq p (find-package "LINUX"))
#<PACKAGE LINUX>
[2]> (package-case-sensitive-p p)
T
[3]> (package-case-inverted-p p)
T
Please read about these concepts in http://www.clisp.org/impnotes.html
section 11.5 "Package Case-Sensitivity"
http://www.clisp.org/impnotes.html#package-case
There is no ANSI compliance issue because case-sensitive packages, and in
particular the LINUX package, are outside the scope of ANSI CL.
The name conflicts between the COMMON-LISP package and the LINUX package
are real: the two SIN functions behave differently.
[9]> (cl:sin 1000000000.0d0)
0.5458434494091139d0
[10]> (linux:sin 1000000000.0d0)
0.5458434494486996d0
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=101355&aid=3601310&group_id=1355
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel