<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.lisp.common-lisp.implementation-hackers">
    <title>gmane.lisp.common-lisp.implementation-hackers</title>
    <link>http://blog.gmane.org/gmane.lisp.common-lisp.implementation-hackers</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/24"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/17"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/15"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/11"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/10"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/9"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/24">
    <title>LOOP non-compliance</title>
    <link>http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/24</link>
    <description>&lt;pre&gt;This is probably a silent cry in the woods and nobody will listen, but
could other implementations please warn users that there is a precise order
of statements in LOOP?

http://www.lispworks.com/documentation/HyperSpec/Body/m_loop.htm

There are a lot of libraries out there which are being developed by
implementations that do not care whether (LOOP WHILE ... FOR I = ...) is a
valid or not, and this is at least affecting users of one implementation
that does (ECL).

You might say that it is up to the users to learn the Standard, but in
practice implementations may create a false impression that certain things
are ok, specially when those deviations are not explicit by the
implementation.

Juanjo

&lt;/pre&gt;</description>
    <dc:creator>Juan Jose Garcia-Ripoll</dc:creator>
    <dc:date>2012-04-08T08:35:11</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/17">
    <title>Declarations in compilers (feedback welcome)</title>
    <link>http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/17</link>
    <description>&lt;pre&gt;After struggling mentally with this for a few weeks, I would like to have
some consultation before I introduce some changes in ECL -- not that I
expect many users here, but at least some implementor-fellows and power
users of other implementations.

My concerns right now relate to how declarations should be used by a
compiler, and in particular how declarations interact with SAFETY levels.
Please correct me if I am wrong, but I have seen more or less the following
approaches

[a]- Most implementations blindly believe declarations below a certain
safety level. Above it, they seem more or less useless.

[b]- SBCL takes declarations (and THE) as type assertions. For instance, in
(LET ((Y (FOO X))) (DECLARE (FIXNUM Y))) ...) the assignment to Y would be
checked to be a FIXNUM. This means the type declaration is actually
enforced and believed and only at SAFETY 0 the checks are dropped (*)

In both cases one ends up with a model in which in order to truly believe a
declaration and have no extra burden (assertions&lt;/pre&gt;</description>
    <dc:creator>Juan Jose Garcia-Ripoll</dc:creator>
    <dc:date>2011-12-29T10:24:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/15">
    <title>problems with *DEFAULT-SPECIAL-BINDINGS*</title>
    <link>http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/15</link>
    <description>&lt;pre&gt;
Most implementations that provide multi-threading also provide a
variable which contains an association lists for variable bindings to be
established in new threads.

I wanted to introduce the same to SBCL.

However, Gábor Melis made me aware of the following issue:


One use of *DEFAULT-SPECIAL-BINDINGS* is for libraries to establish
thread-local variable bindings to new threads by pushing onto
*DEFAULT-SPECIAL-BINDINGS*.

Howsoever, that will only affect new threads, not already running
threads.

That's a big problem for the following scenario:

Let's say your Lisp development environment is multi-threaded and allows
you to run multiple listeners at the same time. Each listener is run in
its own thread.

Now, you opened a few listeners, then loaded in this library which
pushes onto *DEFAULT-SPECIAL-BINDINGS*. Now all running listeners, when
the user uses them to call into that library, will operate on the _same_
global binding. 

Hilarity ensues.


Do you have ideas on how to provide a mechanism that han&lt;/pre&gt;</description>
    <dc:creator>Tobias C. Rittweiler</dc:creator>
    <dc:date>2010-04-03T11:01:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/11">
    <title>question about fresh-line.5</title>
    <link>http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/11</link>
    <description>&lt;pre&gt;The test doesn't expect a space, abcl outputs a space. Is that test
correct? Why does it not expect
a space?
&lt;/pre&gt;</description>
    <dc:creator>Ville Voutilainen</dc:creator>
    <dc:date>2010-03-01T17:42:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/10">
    <title>He has a point...</title>
    <link>http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/10</link>
    <description>&lt;pre&gt;_______________________________________________
Implementation-hackers mailing list
Implementation-hackers-F1HGIaG5STRyXAeb93iumQ&amp;lt; at &amp;gt;public.gmane.org
http://common-lisp.net/cgi-bin/mailman/listinfo/implementation-hackers
&lt;/pre&gt;</description>
    <dc:creator>Juan Jose Garcia-Ripoll</dc:creator>
    <dc:date>2009-11-20T23:38:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/9">
    <title>locally special and symbol macros</title>
    <link>http://comments.gmane.org/gmane.lisp.common-lisp.implementation-hackers/9</link>
    <description>&lt;pre&gt;
[ I just sent the following posting to the OpenMCL development mailing
  list. But it's also very apropos here. ]


I think the following

  (let ((x :special))
    (declare (special x))
    (symbol-macrolet ((x :symbol-macro))
      (values x (locally (declare (special x)) x))))

should return

  :SYMBOL-MACRO, :SPECIAL

It currently returns

  :SYMBOL-MACRO, :SYMBOL-MACRO

SBCL and CLISP return :SYMBOL-MACRO, :SPECIAL, while others signal an
error. I think, signalling an error is a mistake, and I'll mention this
issue to those implementations.

The reasoning why I think :SYMBOL-MACRO, :SPECIAL is the correct
implementation (and erroring is not) is mostly because

  http://www.lispworks.com/documentation/HyperSpec/Issues/iss228_w.htm

says so. I couldn't find it spelled out as explicitly in the spec
itself. Perhaps you're more lucky than me.


There's some inconsistency at place here, though, because
the definition of DEFINE-SYMBOL-MACRO explicitly forbids declaring a
global symbol macro to be special.

So&lt;/pre&gt;</description>
    <dc:creator>Tobias C. Rittweiler</dc:creator>
    <dc:date>2009-10-19T11:01:14</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.lisp.common-lisp.implementation-hackers">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.lisp.common-lisp.implementation-hackers</link>
  </textinput>
</rdf:RDF>

