<?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.steel-bank.general">
    <title>gmane.lisp.steel-bank.general</title>
    <link>http://blog.gmane.org/gmane.lisp.steel-bank.general</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.steel-bank.general/3532"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3527"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3522"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3517"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3511"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3501"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3499"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3498"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3496"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3494"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3492"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3489"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3482"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3479"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3478"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3472"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3466"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3460"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3457"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.steel-bank.general/3456"/>
      </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.steel-bank.general/3532">
    <title>traceback line numbers</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3532</link>
    <description>&lt;pre&gt;
Hi,

Maybe I'm missing something, but... why aren't line numbers of the source 
file given as part of the SBCL runtime traceback? I'm running SBCL inside 
SLIME, but the tracebacks look like they are output directly from SBCL, so 
I doubt SLIME is affecting something here. The tracebacks do mention the 
function that is causing the error, but in cases where that function is 
called several times, it would definitely be most helpful to have a line 
number.

I notice the line numbers *are* given for compilation errors, so perhaps 
this is a language or implementation limitation? I don't know much about 
CL's compilation model, except that it compiles stuff down to machine 
code. If possible, I would of course like to have the line numbers.

                                                          Regards, Faheem

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Faheem Mitha</dc:creator>
    <dc:date>2012-05-14T23:33:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3527">
    <title>Drawing a call graph of a block of lisp code (generallisp question)</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3527</link>
    <description>&lt;pre&gt;Hi,
I have a bunch of lisp code that I want to draw the call graph of (I'm
thinking of generating something with graphviz).

Has someone written something that will look for all of the function
calls in a defun? I imagine a recursive function called from a macro
could do this. I've had a go at writing it with loop, but I'm not sure
how to get it to recurse over subtrees of calls. Small confession, I'm
not real good at recursive functions. The recursive function I wrote
seemed to always end up working like flatten.

It would be nice to be able to do something like

(callgraph graph1
(defun caller (a b)
  (fun1 a)
  (fun2 b))

(defun fun1 (a)
  (print a))

(defun fun2 (a)
  (print a)))

Which would generate
digraph graph1 {
  caller -&amp;gt; fun1
  caller -&amp;gt; fun2 }

... I'm away from graphviz doco as I write this, so I may have got the
syntax slightly wrong, but hopefully this gives the idea.


Does anyone know of any modules that would do this for me?

Thanks
David

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>David Creelman</dc:creator>
    <dc:date>2012-05-13T08:58:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3522">
    <title>improving error messages for concatenate</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3522</link>
    <description>&lt;pre&gt;
Hi,

I don't know if the SBCL developers are interested in this sort of thing. 
It may be too trivial. But, consider...

CL-USER&amp;gt; (concatenate  "foo" "bar")
; Evaluation aborted on #&amp;lt;TYPE-ERROR expected-type: (OR CONS SYMBOL 
SB-KERNEL:INSTANCE) datum: "foo"&amp;gt;.

Traceback

The value "foo"
is not of type
   (OR CONS SYMBOL SB-KERNEL:INSTANCE).
    [Condition of type TYPE-ERROR]

Restarts:
  0: [RETRY] Retry SLIME REPL evaluation request.
  1: [*ABORT] Return to SLIME's top level.
  2: [TERMINATE-THREAD] Terminate this thread (#&amp;lt;THREAD "repl-thread" 
RUNNING {C208B11}&amp;gt;)

Backtrace:
   0: (CONCATENATE "foo" "bar")[:OPTIONAL]
   1: (CONCATENATE "foo")[:EXTERNAL]
   2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (CONCATENATE "foo" "bar") 
#&amp;lt;NULL-LEXENV&amp;gt;)
   3: (EVAL (CONCATENATE "foo" "bar"))
  --more--

This message gives no indication that the user has got it nearly correct, 
namely that is should have been

  (concatenate 'string "foo" "bar")

so, needs to include a type specifier. Also, this is not really consistent 
with the error for the list case, which actually is a much better error 
message.

CL-USER&amp;gt; (concatenate  (list 1 2) (list 3 4))
; Evaluation aborted on #&amp;lt;SIMPLE-ERROR "bad thing to be a type specifier: 
~S" {C15AE29}&amp;gt;.

bad thing to be a type specifier: (1 2)
    [Condition of type SIMPLE-ERROR]

Restarts:
  0: [RETRY] Retry SLIME REPL evaluation request.
  1: [*ABORT] Return to SLIME's top level.
  2: [TERMINATE-THREAD] Terminate this thread (#&amp;lt;THREAD "repl-thread" 
RUNNING {C208B11}&amp;gt;)

Backtrace:
   0: (SB-KERNEL:VALUES-SPECIFIER-TYPE (1 2))
   1: (SB-KERNEL:SPECIFIER-TYPE (1 2))
   2: (CONCATENATE (1 2) (3 4))
   3: (CONCATENATE (1 2))[:EXTERNAL]
   4: (SB-INT:SIMPLE-EVAL-IN-LEXENV (CONCATENATE (LIST 1 2) (LIST 3 4)) 
#&amp;lt;NULL-LEXENV&amp;gt;)
   5: (EVAL (CONCATENATE (LIST 1 2) (LIST 3 4)))

If anyone wants me to, I can report this as a bug.

                                                        Regards, Faheem

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Faheem Mitha</dc:creator>
    <dc:date>2012-05-12T19:15:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3517">
    <title>Loading external packages in Common Lisp with SLIME onDebian</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3517</link>
    <description>&lt;pre&gt;
Hi,

I just posted the following on Stack Overflow.

http://stackoverflow.com/questions/10543906/loading-external-packages-in-common-lisp-with-slime-on-debian

Short short version: I want an easy way to load external package 
dependencies into a lisp file I am writing. This is not as easy as one 
would like it to be.

After posting this, I found http://xach.livejournal.com/130040.html which 
goes into the issue in a little more detail. To quote the article,

"I need to make sure cl-ppcre is compiled loaded before my file is 
compiled and loaded. The easiest way is to make a simple ASDF system 
file.'"

So, it seems that one needs to have the external dependency loaded before 
one can compile the file, which is in line with what my experiments 
showed. If one attempts to add the external dependency as part of the file 
one is trying to compile, the compilation fails.

However, the article does not have a complete, self-contained example that 
I can use. I tried

(asdf:defsystem #:foo
   :depends-on (#:split-sequence)
   :components ((:file "foo")))

(split-sequence:SPLIT-SEQUENCE  #\, "foo,bar")

(everything in one file) but that doesn't work either.

I tried putting it in a separate asd file, but the system doesn't seem to 
find it - I'm guessing it doesn't look in the current directory by 
default. In any case, I don't want to have to create a separate file for 
every script I create.

Please CC me on any reply. Thanks.
                                                          Regards, Faheem.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Faheem Mitha</dc:creator>
    <dc:date>2012-05-11T05:51:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3511">
    <title>Timers becoming unscheduled</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3511</link>
    <description>&lt;pre&gt;We're using timers to get some loose real-time behavior in a couple of 
applications.  We've found that over the long term, our timers silently fail; 
they stop calling the function registered at timer creation.  This is happening 
both with timers that are scheduled to recur with a fixed repeat interval and 
with timers without a repeat interval--in the latter case, we are rescheduling 
the timer in the callback function itself.  In all cases, we're setting :thread 
t when calling sb-ext:make-timer, so as to have the callbacks execute in their 
own threads.

The failure we're seeing is happening when we're connecting to an SBCL instance 
using Emacs and SLIME.  We've run some tests in which we run SBCL directly from 
the shell, and we haven't seen a failure in that case.  The problem may be 
related to signal handling when SLIME/SWANK is running.

When we're just running a handful of timers that keep rescheduling themselves 
every few seconds, we can run our application for days or weeks before we see a 
failure.  When one timer fails, though, it seems to take all the rest of the 
timers in the image with it--also suggestive of a problem in signal handling. 
We've run test cases with hundreds or even thousands of timers turning over at 
once, and in those cases we can usually see a failure within minutes, or an 
hour to two hours.

Some sample code demonstrating the problem with recurring timers is available 
at http://www.deepsky.com/~tuxedo/exercise-timers.tar.gz.

Is this a known problem with the timer implementation in SBCL?  In order to be 
certain that our application won't stop executing timer-related callbacks, 
should we have a dedicated thread that sleeps and periodically wakes up to 
reschedule all the timers?  Or an external process that tickles our Lisp 
program for the same purpose?

Keith Browne


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Keith Browne</dc:creator>
    <dc:date>2012-05-04T04:00:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3501">
    <title>Callback from C</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3501</link>
    <description>&lt;pre&gt;Hi all,

Is it actually possible to callback from C with SBCL. According to the 
manual it's tricky but the CFFI manual claims that it's possible on some 
platforms with SBCL.

I am a musician and enjoy messing around with audio DSP. I currently use 
SBCL on a GNU/Linux platform and have written a C wrapper for the JACK 
audio server. I am getting pretty good real-time performance with the 
current blocking method I am using (about 10 -15 ms latency) but it 
should improve if I can get the server to callback into LISP.

I have written the FFI interface using SBCL's interface but if CFFI 
works I will recode to use it.

Another question I have is whether there could be some unpleasant side 
effects of having a real-time thread callback into LISP.

Thanks,

Robert.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Robert Bebop</dc:creator>
    <dc:date>2012-05-03T10:35:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3499">
    <title>Creating a sandbox</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3499</link>
    <description>&lt;pre&gt;Hi,

Although I've not yet learned Lisp and SBCL well, I'm curious about whether
preparing an eval sandbox so that it would be restricted in it's bindings,
file system access, memory usage, network access, and CPU time, something
like this

http://docs.racket-lang.org/reference/Sandboxed_Evaluation.html

would be possible?

Best wishes,

Grant

&lt;/pre&gt;</description>
    <dc:creator>Grant Rettke</dc:creator>
    <dc:date>2012-05-03T02:48:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3498">
    <title>Lisp Server Disconnect and Threading Issues</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3498</link>
    <description>&lt;pre&gt;Greetings,

I've been working on adapting existing Lisp code to communicate with a socket server with the end goal of allowing a couple of different web based clients (one using Flash, another in Processing) to communicate with the Lisp server.  I've run into a couple of specific roadblocks and was wondering if anyone could help.

The first issue is that the lisp server is crashing when a client disconnects.  I'm seeing an error similar to the following:

-------
debugger invoked on a END-OF-FILE in thread #&amp;lt;THREAD RUNNING {1003707001}&amp;gt;:
  end of file on #&amp;lt;SB-SYS:FD-STREAM for "a socket" {10037EFDE1}&amp;gt;

-------

If we could get past this one, we'd be able to move forward quite a bit.

The second issue is that the Lisp server currently blocks when one connection is made, preventing other clients from connecting simultaneously.  I've assumed that sbcl's threading might help here, but I didn't have any luck with it myself (most likely due to lack of experience).

I based the server on the following example:

http://jsnell.iki.fi/tmp/echo-server.lisp

I'd be happy to provide more info if it helps.

Thanks,

Brian 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________
Sbcl-help mailing list
Sbcl-help&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help
&lt;/pre&gt;</description>
    <dc:creator>Brian Perry</dc:creator>
    <dc:date>2012-05-02T18:39:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3496">
    <title>sbcl jfli</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3496</link>
    <description>&lt;pre&gt;I recently posted the following message on com.lang.lisp :

 And Elias Martenson posted the following answer :
some time ago. I gave up when I realised the
JVM into the same process as the SBCL image
JVM and SBCL attempt to install and take
Is there a sbcl developper who tried to fix it ?
Did someone successfully port jfli on sbcl ?
CHeers
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________
Sbcl-help mailing list
Sbcl-help&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help
&lt;/pre&gt;</description>
    <dc:creator>Kaïraba Cissé</dc:creator>
    <dc:date>2012-04-28T21:05:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3494">
    <title>single stepping in sbcl</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3494</link>
    <description>&lt;pre&gt;Hi there,

I thought that the issue was surely discussed before,
but I was unable to find something via google and
I couldn't find a way to do a full text search
on sbcl-help.

If I try to single step the following function

(defun build-batcher-sn (n)
  (declare (optimize (speed 0) (space 0) (compilation-speed 0) (debug 3)))
  (break)
  (let* (network
 (tee (ceiling (log n 2)))
 (p (ash 1 (- tee 1)))) ;;marked line
    (loop while (&amp;gt; p 0) do
 (let ((q (ash 1 (- tee 1)))
       (r 0)
       (d p))
   (loop while (&amp;gt; d 0) do 
(loop for i from 0 to (- n d 1) do 
     (if (= (logand i p) r )
 (push (list i (+ i d))
       network )))
(setf d (- q p)
      q (ash q -1)
      r p)))
 (setf p (ash p -1)))
    (nreverse network)))

on the expression (- tee 1) in "marked line" the debugger
tells me that the symbol tee is an unbound variable
and (sb-debug:var "TEE") doesn't find anything.

This is described in the manual. The availability of a
variable used as argument depends on the debug levels
of the called function, to which the variable serves
as a argument.

But If I load the following file

(defpackage :debug-test
  (:use :common-lisp)
  (:shadow - log ceiling ash &amp;gt; logand +))

(in-package :debug-test)

(defun - (&amp;amp;rest params)
  (apply #'cl:- params))

(defun log (&amp;amp;rest params)
  (apply #'cl:log params))

(defun ceiling (&amp;amp;rest params)
  (apply #'cl:ceiling params))

(defun ash (&amp;amp;rest params)
  (apply #'cl:ash params))

(defun &amp;gt; (&amp;amp;rest params)
  (apply #'cl:&amp;gt; params))

(defun logand (&amp;amp;rest params)
  (apply #'cl:logand params))

(defun + (&amp;amp;rest params)
  (apply #'cl:+ params))

(defun build-batcher-sn (n)
  (declare (optimize (speed 0) (space 0) (compilation-speed 0) (debug 3)))
  (break)
  (let* (network
 (tee (ceiling (log n 2)))
 (p (ash 1 (- tee 1)))) ;; marked line
    (loop while (&amp;gt; p 0) do
 (let ((q (ash 1 (- tee 1)))
       (r 0)
       (d p))
   (loop while (&amp;gt; d 0) do 
(loop for i from 0 to (- n d 1) do
     (if (= (logand i p) r )
 (push (list i (+ i d))
       network )))
(setf d (- q p)
      q (ash q -1)
      r p)))
 (setf p (ash p -1)))
    (nreverse network)))

the variable "tee" on marked line is suddenly available. 
(sb-debug:var "DEBUG-TEST::TEE") does find it.

I assume, this behavior is the result of some standard debug
level on the function "-" defined in the package debug-test.

Is that the only way to single step a function like that
with the comfort I am used to from for example C and gdb?

Separating it into a single package and mocking all functions
it calls, only to have the variable values available in the
single stepper?

As I would really like to use sbcl in some production level project
I need a way to single step functions with all local variables
available.

Is there anything available in that direction?

Yours sincerely,

Eric


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Eric Wolf</dc:creator>
    <dc:date>2012-04-28T16:10:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3492">
    <title>type of SB-EXT infinities</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3492</link>
    <description>&lt;pre&gt;Sorry if this is a stupid question, but why is

(typep sb-ext:double-float-positive-infinity 'double-float)

true?

DOUBLE-FLOAT is a subtype of FLOAT, and the spec says that

  "A float is a mathematical rational (but not a Common Lisp rational)
  of the form s*f*b^e-p, where s is +1 or -1, the sign"

Clearly infinity isn't.  This makes harmless-looking code like

(typecase f
  (float (decode-float f)))

when f is an IEEE infinity.  Don't get me wrong, I am happy that SBCL
has IEEE infinities, but if I read the standard correctly they can't be
a subtype of float.

(The issue came up because I am working on a compatibility library that
would allow portable treatment if infinities.)

Best,

Tamas

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
&lt;/pre&gt;</description>
    <dc:creator>Tamas K Papp</dc:creator>
    <dc:date>2012-04-17T14:51:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3489">
    <title>sbcl &amp; gdb</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3489</link>
    <description>&lt;pre&gt;Hello,

I'm working on some code which goes between a few different runtimes
of various languages, C, C++, Lisp, C#, etc.

What are some tricks I can do to get gdb and SBCL to play together nicely?
I often get the "continuing with fingers crossed" and whatnot even before
I get up to a prompt in SBCL. 

What signals should I ignore, is there a nice way to get a backtrace through
the lisp function calls as I unwind through them when starting from a C
stack frame, etc, etc, etc.

An example of something like this when debugging with C#'s runtime and
gdb is (in .gdbinit):

########################################
handle SIGXCPU SIG33 SIG35 SIGPWR nostop noprint

define mono_bt
 select-frame 0
 set $i = 0
 while ($i &amp;lt; $arg0)
   set $foo = (char*) mono_pmip ($pc)
   if ($foo)
     printf "#%d %p in %s\n", $i, $pc, $foo
   else
     frame
   end
   up-silently
   set $i = $i + 1
 end
end
########################################

Is there a similar thing for sbcl to poke around a map of text segment
addresses to internal SBCL calls?

Thank you.

-pete

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
&lt;/pre&gt;</description>
    <dc:creator>Peter Keller</dc:creator>
    <dc:date>2012-04-09T23:24:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3482">
    <title>--script question</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3482</link>
    <description>&lt;pre&gt;
Hi,

Is it possible to increase heap while using --script option?

Recently my SBCL scripts started getting "Heap exhausted, game over" errors.

Unfortunately, specifying --dynamic-space-size or --control-stack-size  
on the shebang line prevents the whole script from being executed.

This is using SBCL 1.0.55 on up-to-date Ubuntu 12.04 64-bit.

Thank you very much,

&lt;/pre&gt;</description>
    <dc:creator>Eugene Tyurin</dc:creator>
    <dc:date>2012-04-05T15:28:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3479">
    <title>Missing documentation in the 1.0.55 binary</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3479</link>
    <description>&lt;pre&gt;Hello,

I downloaded the binary distribution for AMD-64.  At the end of the
installation process I see following warnings.

cp: cannot stat `doc/manual/*.info': No such file or directory
cp: cannot stat `doc/manual/*.info-*': No such file or directory
cp: cannot stat `doc/manual/*.pdf': No such file or directory
cp: cannot stat `doc/manual/sbcl.html': No such file or directory
cp: cannot stat `doc/manual/asdf.html': No such file or directory

Indeed the `doc' directory has only the sbcl.1 file.

I can grab the html file from http://www.sbcl.org/manual/index.html.
But is there a cleaner solution?

Thanks,

Mirko

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
&lt;/pre&gt;</description>
    <dc:creator>Mirko Vukovic</dc:creator>
    <dc:date>2012-03-27T13:30:24</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3478">
    <title>A question about packages and visibility (general CLquestion)</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3478</link>
    <description>&lt;pre&gt;Hi,
My apologies, I think this is a general CL question, not really specific to
SBCL.

I am using the SB-RT testing framework and I have a package filofax of my own 
that holds all of the stuff that I'm wanting to test.

If I choose to make a testing package which uses my package filofax and
sb-rt, I still end up needing to prefix calls and returns with filofax::. 

My test jig is below:-

(load "~/learn/lisp/github/filofax/rt.lisp")
(asdf:operate 'asdf:load-op :filo)
(ql:quickload "cl-pdf")

(use-package :sb-rt)

(defpackage :test-filo
  (:use :filofax :sb-rt))


(in-package :test-filo)

(deftest "dummy test"
    1
  1)

(deftest "point"
    (filofax::make-point :x 1 :y 1)
  #S(point :X 1 :Y 1))

(deftest "convert"
    (filofax::synonyms-&amp;gt;coords 'filofax::n 'filofax::w)
  (list 'top 'left))

(do-tests)

When run I get the following errors. Even the result symbols need to be
prefixed with filofax::

(load "~/learn/lisp/github/filofax/tests.lisp")
To load "cl-pdf":
  Load 1 ASDF system:
    cl-pdf
; Loading "cl-pdf"

COMMON-LISP:WARNING: Redefining test "DUMMY TEST"
COMMON-LISP:WARNING: Redefining test "POINT"
COMMON-LISP:WARNING: Redefining test "CONVERT"
Doing 3 pending tests of 3 tests total.
 "DUMMY TEST"
Test "POINT" failed
Form: (FILOFAX::MAKE-POINT :X 1 :Y 1)
Expected value: #S(POINT :X 1 :Y 1)
Actual value: #S(POINT :X 1 :Y 1).
args are (N W)
Test "CONVERT" failed
Form: (SYNONYMS-&amp;gt;COORDS 'FILOFAX::N 'FILOFAX::W)
Expected value: (LIST 'TOP 'LEFT)
Actual value: (FILOFAX::TOP FILOFAX::LEFT).
2 out of 3 total tests failed: "POINT", "CONVERT".
T

Is there some way that I can reference both sb-rt and filofax without resorting
to :: notation ? The test "convert" shows how I need to prefix tests to get
them to work correctly. 
I'd also like to be able to get at the non-published filofax symbols if 
possible.

Any ideas?

Cheers
David

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
&lt;/pre&gt;</description>
    <dc:creator>David Creelman</dc:creator>
    <dc:date>2012-03-26T21:19:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3472">
    <title>unreadable characters in filenames</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3472</link>
    <description>&lt;pre&gt;Hi,

I recently restored from an old backup and some accented filenames got
mangled, eg in dired the letter í (latin small letter i with acute)
shows up as \355.

I thought I would write a small CL script that would traverse the
directories and replace these characters using a lookup table.  But when
I try

(fad:list-directory "~/restored-backup/")

I get errors like

c-string decoding error (:external-format :UTF-8):
  the octet sequence 3 cannot be decoded.
   [Condition of type SB-INT:C-STRING-DECODING-ERROR]

Restarts:
 0: [RETRY] Retry SLIME interactive evaluation request.
 1: [*ABORT] Return to SLIME's top level.
 2: [TERMINATE-THREAD] Terminate this thread (#&amp;lt;THREAD "worker" RUNNING {100493BDA3}&amp;gt;)

Backtrace:
  0: (SB-INT:C-STRING-DECODING-ERROR :UTF-8 3)
  1: (SB-IMPL::READ-FROM-C-STRING/UTF-8 #.(SB-SYS:INT-SAP #X0063EA6B) CHARACTER)
  2: ((FLET SB-IMPL::ONE-ITER :IN SB-IMPL::CALL-WITH-NATIVE-DIRECTORY-ITERATOR))
  3: ((FLET SB-IMPL::ITERATE :IN SB-IMPL::MAP-DIRECTORY) #&amp;lt;CLOSURE (FLET
  SB-IMPL::ONE-ITER :IN SB-IMPL::CALL-WITH-NATIVE-DIRECTORY-ITERATOR)
  {7FFFF65FDC5B}&amp;gt;)

I wonder if there is a workaround that would allow me to read and
represent these filenames in SBCL as a string, so that I could perform
the renaming.

Best,

Tamas

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Sbcl-help mailing list
Sbcl-help&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help
&lt;/pre&gt;</description>
    <dc:creator>Tamas K Papp</dc:creator>
    <dc:date>2012-03-17T09:33:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3466">
    <title>let*</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3466</link>
    <description>&lt;pre&gt;hello,
The function middadd works fine: (SBCL 1.0.40.0.debian)

(defun middadd (x) 
(setf (second x) (+ (second x) 1))x)

but this one :

(defun middaddlet (x)
  (let* ((second x) (+ (second x) 1))
    x))

gives when I do: (load "middadd1.lisp")

 in: LAMBDA NIL
;     (LET* ((SECOND X) (+ (SECOND X) 1))
;       X)
; 
; caught ERROR:
;   The LET* binding spec (+ (SECOND X) 1) is malformed.

;     (SB-INT:NAMED-LAMBDA MIDDADDLET
;         (X)
;       (BLOCK MIDDADDLET
;         (LET* ((SECOND X) (+ # 1))
;           X)))
; ==&amp;gt;
;   #'(SB-INT:NAMED-LAMBDA MIDDADDLET
;         (X)
;       (BLOCK MIDDADDLET
;         (LET* ((SECOND X) (+ # 1))
;           X)))
; 
; caught STYLE-WARNING:
;   The variable X is defined but never used.
; 
; compilation unit finished
;   caught 1 ERROR condition
;   caught 1 STYLE-WARNING condition

How can I make the function middaddlet work correctly with let ? 

Thanks in advance.

&lt;/pre&gt;</description>
    <dc:creator>Gerard ROBIN</dc:creator>
    <dc:date>2012-03-03T14:53:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3460">
    <title>Garbage collection, Huge arrays</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3460</link>
    <description>&lt;pre&gt;Hello,
    I was just fiddling around with SBCL and the garbage collection
behavior seemed rather odd to me.

Doing:
----------------------------------------------------------------------------------------------------------------------
* (defvar y (make-array 100000000 :element-type 'double-float
:initial-element pi))
y
* (setq y 0d0)
0d0
* (defvar x (make-array 100000000 :element-type 'double-float
:initial-element pi))
---------------------------------------------------------------------------------------------------
or
----------------------------------------------------------------------------------------------------------------------
* (defvar y (make-array 100000000 :element-type 'double-float
:initial-element pi))
y
* (setq y 0d0)
0d0
* (let ((x (make-array 100000000 :element-type 'double-float
:initial-element pi)))
        (aref x 10))
----------------------------------------------------------------------------------------------------
makes SBCL complain about stack-size limitation. Doing a (gc :full t)
before the second allocation
does not help either.  The memory usage does not come down after
allocating the big array the first time.

However this works (no memory complaints):
-----------------------------------------------------------------------------------------------
* (let ((y (make-array 100000000 :element-type 'double-float
:initial-element pi)))
        (aref y 10))
3.14156...
* (let ((x (make-array 100000000 :element-type 'double-float
:initial-element pi)))
        (aref x 10))
3.14156
-------------------------------------------------------------------------------------------------

but this one complains about memory:
-----------------------------------------------------------------------------------------------
* (let ((y (make-array 100000000 :element-type 'double-float
:initial-element pi)))
        (aref y 10))
3.14156...
* (defvar x (make-array 100000000 :element-type 'double-float
:initial-element pi))
-------------------------------------------------------------------------------------------------

(gc :full t) gets rid of all unused memory when called in cases where
the big array
was allocated with local scope (inside the let). I can't find
documentation about this on
google (other than an unsolved post on comp.lang.lisp).
Can someone help me as to what is going on ?

Thanks,
Akshay
------------------------------------------------------------------------------
Virtualization &amp;amp; Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/_______________________________________________
Sbcl-help mailing list
Sbcl-help&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help
&lt;/pre&gt;</description>
    <dc:creator>Akshay Srinivasan</dc:creator>
    <dc:date>2012-02-23T14:47:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3457">
    <title>MacOS install with threads</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3457</link>
    <description>&lt;pre&gt;Perhaps someone could clarify the INSTALL docs to reveal

(A) how to get thread-enabled SBCL on MacOS

(B) how and when to stop ~/.cache and ~/.sbcl
    and any other traps for the unwary
    from breaking the world

Peace
--Devon

PS: "What is this thread stuff, is it documented?"

$ cd sbcl-1.0.55
$ cat INSTALL
$ grep -Hinre '--with-'
$ sh make.sh --with-thread
$ sh run-sbcl.sh --no-sysinit --no-userinit # quicklisp bombs starting up
$ rm -r ~/.cache ~/.sbcl
$ sh run-sbcl.sh --no-sysinit --no-userinit # quicklisp works but no threads
$ sh make.sh --with-thread --with-threads --with-sb-thread --with-sb-threads --with-:sb-thread --with-:sb-threads --with-esp-based-build-docs
$ sh run-sbcl.sh --no-sysinit --no-userinit # quicklisp and threads both work but *features* has trash


------------------------------------------------------------------------------
Virtualization &amp;amp; Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
&lt;/pre&gt;</description>
    <dc:creator>Devon Sean McCullough</dc:creator>
    <dc:date>2012-02-23T06:53:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3456">
    <title>multi-threaded allocation appears to delay garbagecollection</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3456</link>
    <description>&lt;pre&gt;good evening, all;

it appears that memory which is allocated under "multi-threaded"  
circumstances is not reliably released.
once a thread which has allocated the memory has been destroyed and  
no reference to the thread remains, the memory is released.
the attached file contains code which demonstrates the problem in  
1.0.55.
the effect was observed whether the new thread performed the (fill-q)  
and the initial thread the (drain-q) or the roles reversed.
the effect was not observed if the initial thread performed both the  
(fill-q) and (drain-q)
similar behavior was observed in 1.0.45, and 1.0.50

best regards, from berlin

-------
;;; initialize the queue pointers
* (clear-q)

(NIL)
;;; start a thread which fills the queue. drain it in the initial thread
* (setq *thread* (run-q-from-new))

#&amp;lt;SB-THREAD:THREAD RUNNING {1005219943}&amp;gt;
* *thread*

#&amp;lt;SB-THREAD:THREAD RUNNING {1005219943}&amp;gt;
* (room)

Dynamic space usage is:   150,814,688 bytes.
Read-only space usage is:      6,736 bytes.
Static space usage is:         4,000 bytes.
Control stack usage is:        2,976 bytes.
Binding stack usage is:          800 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.

Breakdown for dynamic space:
   100,704,576 bytes for     4,116 simple-array-fixnum objects.
   13,707,568 bytes for    12,937 code objects.
    9,162,896 bytes for   105,311 instance objects.
    8,030,272 bytes for   501,892 cons objects.
    7,937,360 bytes for    69,755 simple-vector objects.
   11,278,800 bytes for   273,371 other objects.
   150,821,472 bytes for   967,382 dynamic objects (space total.)
* (dotimes (x 5) (sb-ext:gc :full t))

NIL

* *queue-header*

(NIL)
* *queue-pointer*

(NIL)
* (room)

Dynamic space usage is:   146,937,264 bytes.
Read-only space usage is:      6,736 bytes.
Static space usage is:         4,000 bytes.
Control stack usage is:        2,976 bytes.
Binding stack usage is:          800 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.

Breakdown for dynamic space:
   100,728,976 bytes for     4,105 simple-array-fixnum objects.
   13,707,808 bytes for    12,938 code objects.
    8,006,224 bytes for    92,816 instance objects.
    7,690,320 bytes for   480,645 cons objects.
    7,427,808 bytes for    63,064 simple-vector objects.
    9,376,128 bytes for   164,654 other objects.
   146,937,264 bytes for   818,222 dynamic objects (space total.)
*
;;; terminate, then release the thread instance. the array memory is  
not released until the thread instance has been
* (sb-thread:signal-semaphore *thread-semaphore*)

1
* *thread*

#&amp;lt;SB-THREAD:THREAD FINISHED values: T {1005219943}&amp;gt;
* (room)

Dynamic space usage is:   146,970,048 bytes.
Read-only space usage is:      6,736 bytes.
Static space usage is:         4,000 bytes.
Control stack usage is:        2,976 bytes.
Binding stack usage is:          800 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.

Breakdown for dynamic space:
   100,728,976 bytes for     4,105 simple-array-fixnum objects.
   13,707,808 bytes for    12,938 code objects.
    8,019,632 bytes for    92,950 instance objects.
    7,702,848 bytes for   481,428 cons objects.
    7,437,936 bytes for    63,070 simple-vector objects.
    9,405,280 bytes for   165,135 other objects.
   147,002,480 bytes for   819,626 dynamic objects (space total.)
* (sb-ext:gc :full t)

NIL
* (room)

Dynamic space usage is:   146,811,104 bytes.
Read-only space usage is:      6,736 bytes.
Static space usage is:         4,000 bytes.
Control stack usage is:        2,976 bytes.
Binding stack usage is:          800 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.

Breakdown for dynamic space:
   100,728,976 bytes for     4,105 simple-array-fixnum objects.
   13,707,568 bytes for    12,937 code objects.
    7,954,768 bytes for    92,274 instance objects.
    7,679,664 bytes for   479,979 cons objects.
    7,411,088 bytes for    62,904 simple-vector objects.
    9,329,040 bytes for   163,018 other objects.
   146,811,104 bytes for   815,217 dynamic objects (space total.)
* (setq *thread* nil)

NIL
* (sb-ext:gc :full t)

NIL
* (room)

Dynamic space usage is:   45,657,408 bytes.
Read-only space usage is:      6,736 bytes.
Static space usage is:         4,000 bytes.
Control stack usage is:        2,976 bytes.
Binding stack usage is:          800 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.

Breakdown for dynamic space:
   13,707,568 bytes for    12,937 code objects.
    7,952,960 bytes for    92,252 instance objects.
    7,606,944 bytes for   475,434 cons objects.
    7,411,344 bytes for    62,903 simple-vector objects.
    2,348,544 bytes for    36,696 symbol objects.
    6,630,048 bytes for   121,303 other objects.
   45,657,408 bytes for   801,525 dynamic objects (space total.)
*



---
james anderson | james&amp;lt; at &amp;gt;datagraph.org | james&amp;lt; at &amp;gt;dydra.com | http:// 
dydra.com




------------------------------------------------------------------------------
Virtualization &amp;amp; Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/_______________________________________________
Sbcl-help mailing list
Sbcl-help&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help
&lt;/pre&gt;</description>
    <dc:creator>james anderson</dc:creator>
    <dc:date>2012-02-23T05:12:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.steel-bank.general/3446">
    <title>Problem creating a swank server from my .sbclrc file</title>
    <link>http://comments.gmane.org/gmane.lisp.steel-bank.general/3446</link>
    <description>&lt;pre&gt;Hi all,

I want to define an easy way to start sbcl on a remote machine running SLIME's swank server as described in the SLIME manual [1]. Because I do not want to type all the commands over and over again, I thought of a solution similar to the way linedit is invoked [2], i.e. define some command line argument in my .sbclrc file which load swank-loader and creates the server, etc.

I started with this and its working fine. If I invoke sbcl with the option "--swank" the message is printed in the repl and I can invoke the command '(swank-loader:init)' in it. 

(when (member "--swank" sb-ext:*posix-argv* :test 'equal)
  (setf sb-ext:*posix-argv* 
(remove "--swank" sb-ext:*posix-argv* :test 'equal))
  (load "/path/to/swank-loader.lisp") ;; or (asdf:operate 'asdf:load-op 'swank) ; with same result
  (print "Loading Swank..."))

Of course, this is a bit pointless because I want to add '(swank-loader:init)', etc. also to my .sbclrc file. But when I try this I get the following error even if I do not add "--swank" to the invocation of sbcl.

 
I have no idea why the package swank-loader causes problems even if the body of the when macro shouldn't matter. Maybe I am missing something about macro evaluation here. Nevertheless, I would love to know how I can utilize my basic idea of saving typing while invoking sbcl on a remote machine with SLIME's swank-server already running.

I found similar solutions using Google, e.g. [3] but ended up with the same problem.

How can I include the actual creation of the swank server in my .sbclrc?

Best regards
  Martin

[1] http://common-lisp.net/project/slime/doc/html/Setting-up-the-lisp-image.html#fnd-1
[2] http://common-lisp.net/project/linedit/
[3] http://archgeek.wordpress.com/2009/02/07/setting-up-slime-emacs-and-sbcl/




------------------------------------------------------------------------------
Virtualization &amp;amp; Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
&lt;/pre&gt;</description>
    <dc:creator>Martin Buchmann</dc:creator>
    <dc:date>2012-02-12T21:02:32</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.lisp.steel-bank.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.lisp.steel-bank.general</link>
  </textinput>
</rdf:RDF>

