<?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.scheme.gambit">
    <title>gmane.lisp.scheme.gambit</title>
    <link>http://blog.gmane.org/gmane.lisp.scheme.gambit</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.scheme.gambit/6730"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6725"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6724"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6720"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6718"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6715"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6710"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6709"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6706"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6701"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6697"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6696"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6684"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6682"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6667"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6664"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6661"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6658"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6645"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.lisp.scheme.gambit/6635"/>
      </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.scheme.gambit/6730">
    <title>gambit-objc v0.1.0 released</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6730</link>
    <description>&lt;pre&gt;Hi!

I've just released gambit-objc 0.1.0.  This is the "it has the basics, and
the implementation is complete enough for real projects" release.

* It gives you access to Objective-C class objects.  The easiest way is:

  (import-classes (NSString NSDictionary))

  after which, you can refer to them.

* It dynamically dispatches Objective-C methods:

  (: NSString stringWithUTF8String: "hello, world")

* It supports marshaling of native Scheme objects to C/Objective-C types
for parameter and return values, including structures, selectors, all
integral types, and UTF8 strings.  It wraps Objective-C objects with
foreign.

* It has a objc-repl, an extended version of gsi which supports
square-brace syntax, like so:

  [NSString stringWithUTF8String: "Hello, world!"]

You'll find a minimal sample Cocoa app in the distribution as well.

There are many cool things that can be added.  I'd love to collaborate,
help people use it, and otherwise enable its adoption.

I'm really happy with how elegant it ended up (after a couple partial
implementations were scrapped).  My next focus will be making it easy to
boot on iOS and bring into iOS projects.

-Jason
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Jason Felice</dc:creator>
    <dc:date>2013-05-18T17:12:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6725">
    <title>Garbage collection collusion?</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6725</link>
    <description>&lt;pre&gt;I've often thought that languages with garbage collectors should have 
some means for the garbage collectors to communicate with one another.

&lt;/pre&gt;</description>
    <dc:creator>Hendrik Boom</dc:creator>
    <dc:date>2013-05-11T02:17:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6724">
    <title>Gambit GUI</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6724</link>
    <description>&lt;pre&gt;Are any GUI toolkits a good fit with Gambit?

At the moment I only need a text interface, but the text would be change 
all over the screen (or window).  In the 80's I'd use cursor controls on 
a  VT100, but I suspect I can do better nowadays.

In the long run I'll probably want some menus and images.

Currently using Gambit on Linux. Portability to other platforms is not 
necessary, but would be nice.

&lt;/pre&gt;</description>
    <dc:creator>Hendrik Boom</dc:creator>
    <dc:date>2013-05-10T23:58:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6720">
    <title>Lisp in Summer Projects - welcome</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6720</link>
    <description>&lt;pre&gt;If you are doing a project in Gambit Scheme (or any other Lisp), then you might be interested in this contest, with many cash prizes:

http://lispinsummerprojects.org/welcome 

Marc
&lt;/pre&gt;</description>
    <dc:creator>Marc Feeley</dc:creator>
    <dc:date>2013-05-09T04:16:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6718">
    <title>Apps with GUI running on android</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6718</link>
    <description>&lt;pre&gt;Hi.

I've recently installed gambit on my android phone (
https://play.google.com/store/apps/details?id=org.keithflower.gambit )
and it seems to work fine. I would now like to know if it's possible
to create from this gambit an UI for the apps I want to develop?

I'm not looking at much, I'd just like to be able to print some text,
and then to print a keypad on which to feed data. Something as simple
as http://img.softpile.com/mobile/screenshots/38/2012042621504410.png

So, is it possible?

That webview thing seems to be available, and an old comment at
http://comments.gmane.org/gmane.lisp.scheme.gambit/5285 seems to say
that UIs could be written with it, but I don't really see how.
Assuming I have a form, where do I post to?

If there's another way to run apps written in Gambit and that use a
GUI, I'd be interested to hear about it.

Cheers,

P!

--
Français, English, 日本語, 한국어
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Adrien Piérard</dc:creator>
    <dc:date>2013-05-03T03:02:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6715">
    <title>Experiencing freeze error in |##thread-effective-priority-downgrade!| , a btq became self-referencing so all stops, any thoughts on how fix?</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6715</link>
    <description>&lt;pre&gt;Hi Marc!


Rarely I get an error that Gambit just stops, while eating up all the CPU
core.

It's so rare that I don't consider it a problem, though I'd be happy to see
it gone of course.

I believe 50% of the time it happens within 5 seconds after Gambit started
and thread-start! was invoked 1-5 times.

I ran into this error now, saw it something like four times in 6mo.

This is on Gambit gsc 4.6.6 on AMD64, compiled from source with
--enable-single-host and some more.

The Gambit session is running a couple of Gambit threads, absolutely
nothing exotic going on.

Had it in a GDB session so could reliably "profile" the error, output from
that GDB session below.

Saved the core file for later reference too.

It's in _thread.scm , and from what I can see it's in
|##thread-effective-priority-downgrade!|'s definition.

What it looks like to me is that by some reason we've got a
self-referencing btq-deq-next chain element, that
keeps it reiterating forever.

I base this on that ___r1 and ___r3 and ___r4 remain constant; I'd guess
that ___r1 is thread, ___r3 is btq and ___r4 is leftmost.



Do you have any thought on what the issue might be, or any on how I can
track this further?


Many thanks,
Mikael



_thread.scm, the rows where the freeze appears to be

;; (##thread-effective-priority-downgrade! thread) is called to
;; recompute the effective priority of a thread.  It is only called in
;; situations where the new effective priority is no more than the old
;; one.

(define-prim (##thread-effective-priority-downgrade! thread)

  (##declare (not interrupts-enabled))

  (let ((floats (macro-thread-floats thread)))

    ;; save old effective priority for later

    (macro-temp-set!
     (macro-thread-floats (macro-run-queue))
     (macro-effective-priority floats))

    ;; compute the maximum of the boosted priority and the
    ;; effective priority of all the threads in blocked thread
    ;; queues (i.e. mutexes, condvars, etc) owned by the thread

    (macro-effective-priority-set!
     floats
     (macro-boosted-priority floats))

    (let loop ((btq (macro-btq-deq-next thread)))
      (if (##not (##eq? btq thread))
       &amp;lt;-- Looks sth like _thread.c:10452
        (let ((leftmost (macro-btq-leftmost btq)))
       &amp;lt;--                         :10456
          (if (##not (##eq? leftmost btq))
       &amp;lt;--                         :10457
            (let ((leftmost-floats (macro-thread-floats leftmost)))
              (if (##flonum.&amp;lt; (macro-effective-priority floats)
                              (macro-effective-priority leftmost-floats))
                (macro-effective-priority-set!
                 floats
                 (macro-effective-priority leftmost-floats)))))
          (loop (macro-btq-deq-next btq)))))






Gdb log from "profiling" the frozen gsc session, as we see it's stuck in a
loop in _thread.c between rows 10451 and 10458 :


Program received signal SIGINT, Interrupt.
0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
10457      ___IF(___EQP(___R4,___R3))
(gdb) bt
#0  0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
#1  0x00000000005086fb in ___call (nargs=0, proc=13386241,
stack_marker=8829493553) at setup.c:1860
#2  0x000000000050a31d in ___setup (setup_params=0x7f7fffff0460) at
setup.c:3024
#3  0x000000000052d8ca in ___main (linker=0x505ddc
&amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;) at main.c:711
#4  0x000000000051a9fc in ___main_char (argc=5, argv=0x7f7fffff06a8,
linker=0x505ddc &amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;, script_line=0x0)
at os_base.c:413
#5  0x0000000000505e16 in main (argc=5, argv=0x7f7fffff06a8) at
_gsc_.c:13627
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x000000000075a8f2 in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10452
10452      ___IF(___EQP(___R3,___R1))
(gdb) bt
#0  0x000000000075a8f2 in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10452
#1  0x00000000005086fb in ___call (nargs=0, proc=13386241,
stack_marker=8829493553) at setup.c:1860
#2  0x000000000050a31d in ___setup (setup_params=0x7f7fffff0460) at
setup.c:3024
#3  0x000000000052d8ca in ___main (linker=0x505ddc
&amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;) at main.c:711
#4  0x000000000051a9fc in ___main_char (argc=5, argv=0x7f7fffff06a8,
linker=0x505ddc &amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;, script_line=0x0)
at os_base.c:413
#5  0x0000000000505e16 in main (argc=5, argv=0x7f7fffff06a8) at
_gsc_.c:13627
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
10457      ___IF(___EQP(___R4,___R3))
(gdb) bt
#0  0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
#1  0x00000000005086fb in ___call (nargs=0, proc=13386241,
stack_marker=8829493553) at setup.c:1860
#2  0x000000000050a31d in ___setup (setup_params=0x7f7fffff0460) at
setup.c:3024
#3  0x000000000052d8ca in ___main (linker=0x505ddc
&amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;) at main.c:711
#4  0x000000000051a9fc in ___main_char (argc=5, argv=0x7f7fffff06a8,
linker=0x505ddc &amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;, script_line=0x0)
at os_base.c:413
#5  0x0000000000505e16 in main (argc=5, argv=0x7f7fffff06a8) at
_gsc_.c:13627
(gdb) ^CQuit
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
___H__20___thread (_(short *)=0x11c47e0) at _thread.c:10451
10451      ___SET_R3(___VECTORREF(___R3,___FIX(1L)))
(gdb) bt
#0  ___H__20___thread (_(short *)=0x11c47e0) at _thread.c:10451
#1  0x00000000005086fb in ___call (nargs=0, proc=13386241,
stack_marker=8829493553) at setup.c:1860
#2  0x000000000050a31d in ___setup (setup_params=0x7f7fffff0460) at
setup.c:3024
#3  0x000000000052d8ca in ___main (linker=0x505ddc
&amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;) at main.c:711
#4  0x000000000051a9fc in ___main_char (argc=5, argv=0x7f7fffff06a8,
linker=0x505ddc &amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;, script_line=0x0)
at os_base.c:413
#5  0x0000000000505e16 in main (argc=5, argv=0x7f7fffff06a8) at
_gsc_.c:13627



Program received signal SIGINT, Interrupt.
___H__20___thread (_(short *)=0x11c47e0) at _thread.c:10456
10456      ___SET_R4(___VECTORREF(___R3,___FIX(6L)))
(gdb) bt
#0  ___H__20___thread (_(short *)=0x11c47e0) at _thread.c:10456
#1  0x00000000005086fb in ___call (nargs=0, proc=13386241,
stack_marker=8829493553) at setup.c:1860
#2  0x000000000050a31d in ___setup (setup_params=0x7f7fffff0460) at
setup.c:3024
#3  0x000000000052d8ca in ___main (linker=0x505ddc
&amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;) at main.c:711
#4  0x000000000051a9fc in ___main_char (argc=5, argv=0x7f7fffff06a8,
linker=0x505ddc &amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;, script_line=0x0)
at os_base.c:413
#5  0x0000000000505e16 in main (argc=5, argv=0x7f7fffff06a8) at
_gsc_.c:13627
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
10457      ___IF(___EQP(___R4,___R3))
(gdb) bt
#0  0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
#1  0x00000000005086fb in ___call (nargs=0, proc=13386241,
stack_marker=8829493553) at setup.c:1860
#2  0x000000000050a31d in ___setup (setup_params=0x7f7fffff0460) at
setup.c:3024
#3  0x000000000052d8ca in ___main (linker=0x505ddc
&amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;) at main.c:711
#4  0x000000000051a9fc in ___main_char (argc=5, argv=0x7f7fffff06a8,
linker=0x505ddc &amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;, script_line=0x0)
at os_base.c:413
#5  0x0000000000505e16 in main (argc=5, argv=0x7f7fffff06a8) at
_gsc_.c:13627
(gdb) cont
Continuing.

Program received signal SIGINT, Interrupt.
0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
10457      ___IF(___EQP(___R4,___R3))
(gdb) bt
#0  0x000000000075a90a in ___H__20___thread (_(short *)=0x11c47e0) at
_thread.c:10457
#1  0x00000000005086fb in ___call (nargs=0, proc=13386241,
stack_marker=8829493553) at setup.c:1860
#2  0x000000000050a31d in ___setup (setup_params=0x7f7fffff0460) at
setup.c:3024
#3  0x000000000052d8ca in ___main (linker=0x505ddc
&amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;) at main.c:711
#4  0x000000000051a9fc in ___main_char (argc=5, argv=0x7f7fffff06a8,
linker=0x505ddc &amp;lt;____20___gsc__(___global_state_struct*)&amp;gt;, script_line=0x0)
at os_base.c:413
#5  0x0000000000505e16 in main (argc=5, argv=0x7f7fffff06a8) at
_gsc_.c:13627




Well, since that was about a traversal over a structure, let's make some
profiling of what the ___r1/3/4 variable is, so we get a clue of how the
traversal goes!


(gdb) info locals
___r4 = 9052459177
___F64V1 = 9.9999999999999995e-07
___r1 = 9051204137
___F64V2 = 0
_(char *) = 14328769
___temp = 9052462209
___hp = 0x21b91bbc8
_(float,  *) = 0x208306628
_(long double, ) = 14327969
___r2 = 9051204361
___F64V3 = 0.02
___start = 14314721
___r3 = 9052459177
___F64V4 = 0.02

next:

___r4 = 9052459177
___F64V1 = 9.9999999999999995e-07
___r1 = 9051204137
___F64V2 = 0
_(char *) = 14328769
___temp = 9052462209
___hp = 0x21b91bbc8
_(float,  *) = 0x208306628
_(long double, ) = 14327969
___r2 = 9051204361
___F64V3 = 0.02
___start = 14314721
___r3 = 9052459177
___F64V4 = 0.02


next:

___r4 = 9052459177
___F64V1 = 9.9999999999999995e-07
___r1 = 9051204137
___F64V2 = 0
_(char *) = 14328769
___temp = 9052462209
___hp = 0x21b91bbc8
_(float,  *) = 0x208306628
_(long double, ) = 14327969
___r2 = 9051204361
___F64V3 = 0.02
___start = 14314721
___r3 = 9052459177
___F64V4 = 0.02


next:

___r4 = 9052459177
___F64V1 = 9.9999999999999995e-07
___r1 = 9051204137
___F64V2 = 0
_(char *) = 14328769
___temp = 9052462209
___hp = 0x21b91bbc8
_(float,  *) = 0x208306628
_(long double, ) = 14327969
___r2 = 9051204361
___F64V3 = 0.02
___start = 14314721
___r3 = 9052459177
___F64V4 = 0.02

next:

___r4 = 9052459177
___F64V1 = 9.9999999999999995e-07
___r1 = 9051204137
___F64V2 = 0
_(char *) = 14328769
___temp = 9052462209
___hp = 0x21b91bbc8
_(float,  *) = 0x208306628
_(long double, ) = 14327969
___r2 = 9051204361
___F64V3 = 0.02
___start = 14314721
___r3 = 9052459177
___F64V4 = 0.02












The rows it's stuck at, in _thread.c .




(the following was copied from _thread.c of Gambit 4.6.2,
it looks like it's equivalent with 4.6.6 at least on these locations, so
should be fine)


       #undef ___PH_PROC
       #define ___PH_PROC
___H__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_
       #undef ___PH_LBL0
       #define ___PH_LBL0 414
       #undef ___PD_ALL
       #define ___PD_ALL ___D_FP ___D_R0 ___D_R1 ___D_R2 ___D_R3 ___D_R4
___D_F64(___F64V1) ___D_F64(___F64V2) \

       #undef ___PR_ALL
       #define ___PR_ALL ___R_FP ___R_R0 ___R_R1 ___R_R2 ___R_R3 ___R_R4
       #undef ___PW_ALL
       #define ___PW_ALL ___W_FP ___W_R0 ___W_R1 ___W_R2 ___W_R3 ___W_R4
       ___BEGIN_P_COD
       ___BEGIN_P_HLBL
       ___DEF_P_HLBL_INTRO

 ___DEF_P_HLBL(___L0__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)

 ___DEF_P_HLBL(___L1__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
       ___END_P_HLBL
       ___BEGIN_P_SW

 ___DEF_SLBL(0,___L0__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
          ___IF_NARGS_EQ(1,___NOTHING)
          ___WRONG_NARGS(0,1,0,0)

 ___DEF_GLBL(___L__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)

___SET_R2(___UNCHECKEDSTRUCTUREREF(___R1,___FIX(14L),___SUB(22),___FAL))
          ___SET_F64(___F64V1,___F64VECTORREF(___R2,___FIX(6L)))
          ___SET_R4(___RUNQUEUE)

___SET_R4(___UNCHECKEDSTRUCTUREREF(___R4,___FIX(14L),___SUB(22),___FAL))
          ___F64VECTORSET(___R4,___FIX(2L),___F64V1)
          ___SET_F64(___F64V2,___F64VECTORREF(___R2,___FIX(5L)))
          ___F64VECTORSET(___R2,___FIX(6L),___F64V2)
          ___SET_STK(1,___R0)
          ___SET_STK(2,___R1)
          ___SET_STK(3,___R2)
          ___SET_R3(___VECTORREF(___R1,___FIX(1L)))
          ___SET_R0(___LBL(1))
          ___ADJFP(8)
          ___IF(___EQP(___R3,___R1))

___GOTO(___L6__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
          ___END_IF

___GOTO(___L4__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)

 ___DEF_GLBL(___L2__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)

___SET_R4(___UNCHECKEDSTRUCTUREREF(___R4,___FIX(14L),___SUB(22),___FAL))
          ___SET_F64(___F64V1,___F64VECTORREF(___R4,___FIX(6L)))
          ___SET_F64(___F64V2,___F64VECTORREF(___R2,___FIX(6L)))
          ___ADJFP(2)
          ___IF(___F64LT(___F64V2,___F64V1))

___GOTO(___L5__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
          ___END_IF
          ___ADJFP(-2)

 ___DEF_GLBL(___L3__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
10451:    ___SET_R3(___VECTORREF(___R3,___FIX(1L)))
10452:    ___IF(___EQP(___R3,___R1))

___GOTO(___L6__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
          ___END_IF

 ___DEF_GLBL(___L4__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
10456:    ___SET_R4(___VECTORREF(___R3,___FIX(6L)))
10457:    ___IF(___EQP(___R4,___R3))
10458:
 ___GOTO(___L3__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
          ___END_IF

___GOTO(___L2__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)

 ___DEF_GLBL(___L5__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
          ___SET_F64(___F64V1,___F64VECTORREF(___R4,___FIX(6L)))
          ___F64VECTORSET(___R2,___FIX(6L),___F64V1)
          ___ADJFP(-2)

___GOTO(___L3__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)

 ___DEF_GLBL(___L6__23__23_thread_2d_effective_2d_priority_2d_downgrade_21_)
          ___SET_R1(___VOID)
          ___JUMPPRM(___NOTHING,___R0)
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Mikael</dc:creator>
    <dc:date>2013-05-03T00:05:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6710">
    <title>[ANN] Gambit-C v4.6.9 released</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6710</link>
    <description>&lt;pre&gt;Gambit-C v4.6.9 is now available.

Changelog: https://github.com/feeley/gambit/commits

The sources and prebuilt distributions can be obtained from
the Gambit web site by visiting one of the following links.

sources:
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_9.tgz (for typical users)
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_9-devel.tgz (for developers)

prebuilt:
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_9-macosx-intel32.dmg
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_9-macosx-intel64.dmg
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_9-windows-mingw32.exe
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_9-windows-mingw64.exe
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_9-windows-visualc32.exe
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_9-windows-visualc64.exe
&lt;/pre&gt;</description>
    <dc:creator>Logiciel Gambit</dc:creator>
    <dc:date>2013-05-02T16:06:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6709">
    <title>Avoid v4.6.8 on OS X</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6709</link>
    <description>&lt;pre&gt;Gambit v4.6.8 was mistakenly compiled to use the "poll" system call instead of "select".  Unfortunately, on OS X the poll system call does not support ttys.  Reading a tty will never block.  This causes an idle gsi to use 100% CPU.

I'll be releasing v4.6.9 ASAP.

Marc
&lt;/pre&gt;</description>
    <dc:creator>Marc Feeley</dc:creator>
    <dc:date>2013-05-02T13:17:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6706">
    <title>How to give gsi an end-of-file</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6706</link>
    <description>&lt;pre&gt;I'm running a gambit program from a file using gsi, initiated from an 
interactive shell provided by my window manager on Debian wheezy..

The program uses read-char and peek-char to read characters from standard 
input, which appears to be the terminal.

but the test for end of file, (eof-object? c), seems never to return 
true,, even if I type a control-D, which is the usual Linux way to signal 
end of file from a terminal.

How should I enter an end-of-file on the terminal instead?

&lt;/pre&gt;</description>
    <dc:creator>Hendrik Boom</dc:creator>
    <dc:date>2013-05-02T12:35:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6701">
    <title>How convert 0.0001 to string so it becomes "0.0001" (and not "1e-4" or "1/10000")?</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6701</link>
    <description>&lt;pre&gt;"1e-4"
"1/10000"


The same with other similar values such as 0.00085 .
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Mikael More</dc:creator>
    <dc:date>2013-05-01T12:12:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6697">
    <title>Somehow missing force call</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6697</link>
    <description>&lt;pre&gt;I haven't been able to separate the code from my repo and make it still
break, but I found what I imagine is an inlining bug when
--enable-auto-force is enabled.

My repo: https://github.com/maitria/scheme-stuff.git

$ make
$ gsi
1 2&amp;gt;

Change lib/iteration.scm:14 and replace end-position? with null? and repeat:

*** ERROR IN iteration#for-each -- (Argument 1) PAIR expected
(car '())
1&amp;gt;

The definition of end-position? is:

(define end-position? null?)

Adding an extraneous force call -- (loop (force (cdr position))) -- will
prevent the problem.
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Jason Felice</dc:creator>
    <dc:date>2013-05-01T00:36:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6696">
    <title>Can't build 4.6.8 from src with c++ support</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6696</link>
    <description>&lt;pre&gt;Hi I'm not able to build Gambit with C++ support, having problem with 4.6.7 and 4.6.8.

Building on ubuntu 32bit.

Full log is attached but here are the relevant parts:

gcc 4.7.2

Both configure commands produce same error:

./configure --enable-single-host --enable-cplusplus --enable-c-opt

./configure --enable-single-host --enable-cplusplus


g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "os_io.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL os_io.c -D___LIBRARY
In file included from os_base.h:8:0,
                 from os_io.c:14:
os.h:1113:0: warning: "__USE_LARGEFILE64" redefined [enabled by default]
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:169,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:34,
                 from ../include/gambit.h:473,
                 from os_io.c:12:
/usr/include/features.h:281:0: note: this is the location of the previous definition
os_io.c: In function ‘int ___device_select(___device**, int, int, ___time)’:
os_io.c:1089:62: error: ‘___absolute_time_to_nonnegative_timeval’ was not declared in this scope
os_io.c: In function ‘int ___device_stream_setup_from_process(___device_stream**, ___device_group*, char**, char**, char*, int)’:
os_io.c:7201:77: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
make[1]: *** [os_io.o] Error 1

       Linux ubuntu 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:32:08 UTC 2012 i686 i686 i686 GNU/Linux
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.7/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) 
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of void*... 4
checking size of long... 4
checking for bool... yes
checking whether g++ defines __GNUC__... yes
checking whether g++ defines __clang__... 
checking whether g++ defines __llvm__... 
checking whether g++ defines _MSC_VER... 
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for unistd.h... (cached) yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking sys/dxe.h usability... no
checking sys/dxe.h presence... no
checking for sys/dxe.h... no
checking mach-o/dyld.h usability... no
checking mach-o/dyld.h presence... no
checking for mach-o/dyld.h... no
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking sys/timers.h usability... no
checking sys/timers.h presence... no
checking for sys/timers.h... no
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking for sys/stat.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking stat.h usability... no
checking stat.h presence... no
checking for stat.h... no
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking fpu_control.h usability... yes
checking fpu_control.h presence... yes
checking for fpu_control.h... yes
checking os2.h usability... no
checking os2.h presence... no
checking for os2.h... no
checking dos.h usability... no
checking dos.h presence... no
checking for dos.h... no
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking wdefwin.h usability... no
checking wdefwin.h presence... no
checking for wdefwin.h... no
checking tfork.h usability... no
checking tfork.h presence... no
checking for tfork.h... no
checking curses.h usability... no
checking curses.h presence... no
checking for curses.h... no
checking ncurses.h usability... no
checking ncurses.h presence... no
checking for ncurses.h... no
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking pty.h usability... yes
checking pty.h presence... yes
checking for pty.h... yes
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking sys/fpu.h usability... no
checking sys/fpu.h presence... no
checking for sys/fpu.h... no
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for strings.h... (cached) yes
checking for memory.h... (cached) yes
checking sys/sysctl.h usability... yes
checking sys/sysctl.h presence... yes
checking for sys/sysctl.h... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... no
checking for ws2tcpip.h... no
checking TargetConditionals.h usability... no
checking TargetConditionals.h presence... no
checking for TargetConditionals.h... no
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking for socklen_t... yes
checking for library containing asin... none required
checking for library containing dlopen... -ldl
checking for library containing shl_load... no
checking for library containing socket... none required
checking for library containing gethostbyname... none required
checking for library containing hstrerror... none required
checking for library containing openpty... -lutil
checking for library containing WSAStartup... no
checking for pipe... yes
checking for socketpair... yes
checking for chdir... yes
checking for execvp... yes
checking for getgrnam... yes
checking for getpid... yes
checking for getppid... yes
checking for getpwnam... yes
checking for ioctl... yes
checking for link... yes
checking for mkdir... yes
checking for mkfifo... yes
checking for opendir... yes
checking for rename... yes
checking for rmdir... yes
checking for socket... yes
checking for stat... yes
checking for stat64... yes
checking for strerror... yes
checking for symlink... yes
checking for sysconf... yes
checking for sysctl... yes
checking for unlink... yes
checking for waitpid... yes
checking for mmap... yes
checking for fcntl... yes
checking for tcgetsetattr... yes
checking for sigaction... yes
checking for sigemptyset/sigaddset... yes
checking for sigprocmask... yes
checking for signal... yes
checking for environ... yes
checking for _NSGetEnviron... no
checking for clock_gettime... no
checking for getclock... no
checking for gettimeofday... yes
checking for ftime... yes
checking for time... yes
checking for nanosleep... yes
checking for sleep... yes
checking for getrusage... yes
checking for times... yes
checking for clock... yes
checking for DosQuerySysInfo... no
checking for setitimer... yes
checking for dos_setvect... no
checking for DosStartTimer... no
checking for VInstall... no
checking for shl_load... no
checking for DosLoadModule... no
checking for dxe_load... no
checking for GetDiskFragment... no
checking for dlopen... yes
checking for NSLinkModule... no
checking for gethostname... yes
checking for inet_pton... yes
checking for getaddrinfo... yes
checking for gethostbyname... yes
checking for gethostbyaddr... yes
checking for getservbyname... yes
checking for getservbyport... yes
checking for getprotobyname... yes
checking for getprotobynumber... yes
checking for getnetbyname... yes
checking for select... yes
checking for poll... yes
checking for ppoll... yes
checking for openpty... yes
checking for getpt... yes
checking for ptsname... yes
checking for ctermid... yes
checking for isastream... yes
checking for hstrerror... yes
checking for get_fpc_csr... no
checking for struct stat64... yes
checking how g++'s preprocessor evaluates (__GNUC__*1000+__GNUC_MINOR__)&amp;gt;=4002&amp;amp;&amp;amp;(__GNUC__*1000+__GNUC_MINOR__)&amp;lt;=4003... 
checking how g++'s preprocessor evaluates __llvm__ &amp;amp;&amp;amp; !__clang__ &amp;amp;&amp;amp; (__GNUC__*1000+__GNUC_MINOR__)&amp;lt;4005... 
checking whether g++ accepts -no-cpp-precomp... 
checking whether g++ accepts -fschedule-insns2...  -fschedule-insns2
checking whether g++ accepts -fno-trapping-math...  -fno-trapping-math
checking whether g++ accepts -fno-move-loop-invariants...  -fno-move-loop-invariants
checking whether g++ accepts -fno-keep-inline-dllexport... 
checking whether g++ accepts -mieee... 
checking whether g++ accepts -mieee-with-inexact... 
checking whether g++ accepts -mieee-fp...  -mieee-fp
checking whether g++ accepts -Wall...  -Wall
checking whether g++ accepts -W...  -W
checking whether g++ accepts -Wno-unused...  -Wno-unused
checking whether g++ accepts -Wno-write-strings...  -Wno-write-strings
checking whether g++ accepts -g...  -g
checking whether g++ accepts -p...  -p
checking whether g++ accepts -pg...  -pg
checking whether g++ accepts -ftest-coverage...  -ftest-coverage
checking whether g++ accepts -fprofile-arcs...  -fprofile-arcs
checking whether g++ accepts -fbranch-probabilities...  -fbranch-probabilities
checking whether g++ accepts -O1...  -O1
checking whether g++ accepts -O2...  -O2
checking whether g++ accepts -fno-math-errno...  -fno-math-errno
checking whether g++ accepts -fno-strict-aliasing...  -fno-strict-aliasing
checking whether g++ accepts -fwrapv...  -fwrapv
checking whether g++ accepts -fomit-frame-pointer...  -fomit-frame-pointer
checking whether g++ accepts -fPIC...  -fPIC
checking whether g++ accepts -fpic...  -fpic
checking whether g++ accepts -fno-common...  -fno-common
checking whether g++ accepts -rdynamic...  -rdynamic
checking whether g++ accepts -shared...  -shared
checking for X... libraries , headers 
checking for gethostbyname... (cached) yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether ln -s works... yes
checking for ranlib... ranlib
checking for ar... ar
checking whether make sets $(MAKE)... yes
configure: creating ./config.status
config.status: creating makefile
config.status: creating include/makefile
config.status: creating include/gambit.h
config.status: creating lib/makefile
config.status: creating gsi/makefile
config.status: creating gsc/makefile
config.status: creating bin/makefile
config.status: creating bin/gambc-cc.unix
config.status: creating bin/gambc-cc.bat.windows
config.status: creating bin/gambc-doc.unix
config.status: creating bin/gambc-doc.bat.windows
config.status: creating misc/makefile
config.status: creating doc/makefile
config.status: creating tests/makefile
config.status: creating examples/makefile
config.status: creating examples/distr-comp/makefile
config.status: creating examples/pi/makefile
config.status: creating examples/ring/makefile
config.status: creating examples/web-repl/makefile
config.status: creating examples/web-server/makefile
config.status: creating examples/tcltk/makefile
config.status: creating examples/Xlib-simple/makefile
config.status: creating examples/pthread/makefile
config.status: creating examples/misc/makefile
config.status: creating contrib/makefile
config.status: creating contrib/GambitREPL/makefile
config.status: creating prebuilt/makefile
config.status: creating prebuilt/macosx/makefile
config.status: creating prebuilt/macosx/build-phase2
config.status: creating prebuilt/windows/makefile
config.status: creating prebuilt/windows/build-phase2
config.status: creating include/config.h
rm -f gsc-boot gsc-boot
cp gsc-boot.bat.windows gsc-boot
cp gsc-boot.unix gsc-boot
chmod +x gsc-boot
making all in include
make[1]: Entering directory `/home/victor/Downloads/gambc-v4_6_8/include'
major=`echo v4.6.8 | sed -e "s/v//g" -e "s/\.[^.]*\.[^.]*//g"`; \
minor=`echo v4.6.8 | sed -e "s/v[^.]*\.//g" -e "s/\.[^.]*//g"`; \
revision=`echo v4.6.8 | sed -e "s/v[^.]*\.[^.]*\.//g" -e "s///g"`; \
version_num=`eval expr "\( 100000 \\* $major \) + \( 1000 \\* $minor \) + $revision"`; \
echo "#error \"The version indicated in ___VERSION is not supported by gambit.h\"" &amp;gt; gambit-not$version_num.h; \
echo "#error \"You are probably compiling C code generated by a Gambit compiler earlier or later than v4.6.8\"" &amp;gt;&amp;gt; gambit-not$version_num.h; \
echo "#error \"___VERSION will be set to $version_num to reduce other errors\"" &amp;gt;&amp;gt; gambit-not$version_num.h; \
echo "#undef ___VERSION" &amp;gt;&amp;gt; gambit-not$version_num.h; \
echo "#define ___VERSION $version_num" &amp;gt;&amp;gt; gambit-not$version_num.h; \
echo "#include \"gambit.h\"" &amp;gt;&amp;gt; gambit-not$version_num.h
make[1]: Leaving directory `/home/victor/Downloads/gambc-v4_6_8/include'
making all in lib
make[1]: Entering directory `/home/victor/Downloads/gambc-v4_6_8/lib'
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_io.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _io.c -D___LIBRARY
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_num.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _num.c -D___LIBRARY
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_std.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _std.c -D___LIBRARY
In file included from _std.c:3793:0:
os.h:1113:0: warning: "__USE_LARGEFILE64" redefined [enabled by default]
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:169,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:34,
                 from ../include/gambit.h:473,
                 from _std.c:754:
/usr/include/features.h:281:0: note: this is the location of the previous definition
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_kernel.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _kernel.c -D___LIBRARY
In file included from _kernel.c:2884:0:
os.h:1113:0: warning: "__USE_LARGEFILE64" redefined [enabled by default]
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:169,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:34,
                 from ../include/gambit.h:473,
                 from _kernel.c:513:
/usr/include/features.h:281:0: note: this is the location of the previous definition
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_nonstd.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _nonstd.c -D___LIBRARY
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_repl.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _repl.c -D___LIBRARY
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_eval.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _eval.c -D___LIBRARY
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_thread.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _thread.c -D___LIBRARY
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "_system.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL _system.c -D___LIBRARY
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "main.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL main.c -D___LIBRARY
In file included from os_base.h:8:0,
                 from main.c:11:
os.h:1113:0: warning: "__USE_LARGEFILE64" redefined [enabled by default]
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:169,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:34,
                 from ../include/gambit.h:473,
                 from main.c:9:
/usr/include/features.h:281:0: note: this is the location of the previous definition
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "os_tty.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL os_tty.c -D___LIBRARY
In file included from os_base.h:8:0,
                 from os_tty.c:14:
os.h:1113:0: warning: "__USE_LARGEFILE64" redefined [enabled by default]
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:169,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:34,
                 from ../include/gambit.h:473,
                 from os_tty.c:12:
/usr/include/features.h:281:0: note: this is the location of the previous definition
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "c_intf.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL c_intf.c -D___LIBRARY
In file included from os_base.h:8:0,
                 from c_intf.c:14:
os.h:1113:0: warning: "__USE_LARGEFILE64" redefined [enabled by default]
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:169,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:34,
                 from ../include/gambit.h:473,
                 from c_intf.c:12:
/usr/include/features.h:281:0: note: this is the location of the previous definition
g++ -Wno-unused -Wno-write-strings -O2 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -mieee-fp   -I"../include" -c -o "os_io.o" -I. -DHAVE_CONFIG_H -D___GAMBCDIR="\"/usr/local/Gambit-C\"" -D___SYS_TYPE_CPU="\"i686\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host' '--enable-c-opt' '--enable-cplusplus'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL os_io.c -D___LIBRARY
In file included from os_base.h:8:0,
                 from os_io.c:14:
os.h:1113:0: warning: "__USE_LARGEFILE64" redefined [enabled by default]
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:169,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h:34,
                 from ../include/gambit.h:473,
                 from os_io.c:12:
/usr/include/features.h:281:0: note: this is the location of the previous definition
os_io.c: In function âint ___device_select(___device**, int, int, ___time)â:
os_io.c:1089:62: error: â___absolute_time_to_nonnegative_timevalâ was not declared in this scope
os_io.c: In function âint ___device_stream_setup_from_process(___device_stream**, ___device_group*, char**, char**, char*, int)â:
os_io.c:7201:77: warning: ignoring return value of âssize_t write(int, const void*, size_t)â, declared with attribute warn_unused_result [-Wunused-result]
make[1]: *** [os_io.o] Error 1
make[1]: Leaving directory `/home/victor/Downloads/gambc-v4_6_8/lib'
make: *** [all-recursive] Error 1
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Victor Boon</dc:creator>
    <dc:date>2013-04-30T17:52:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6684">
    <title>Is it possible to build only libgambc?</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6684</link>
    <description>&lt;pre&gt;Is it possible to build only certain parts of Gambit, eg. libgambc? The reason
I ask is that I'm following Sean Chapel's Android example project on GitHub [1]
and have to run `make' which breaks, but only after building libgambc, which is
all I need. Happy coincidence. If the build order ever changes this fragile
solution will stop working, so it would be nice to be able to specify libgambc
as the `make' target ie. `make libgambc' or similar.

Also, Sean's example doesn't first do a `make bootstrap' and `make bootclean'
to remove stale .c files. Not sure if this would be possible anyway since
`./configure' would have to be run again after `make bootclean' with
`--host=arm-linux-eabi'. Anyone?       
&lt;/pre&gt;</description>
    <dc:creator>Ralph Möritz</dc:creator>
    <dc:date>2013-04-30T14:04:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6682">
    <title>[ANN] Gambit-C v4.6.8 released</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6682</link>
    <description>&lt;pre&gt;Gambit-C v4.6.8 is now available.

Changelog: https://github.com/feeley/gambit/commits

The sources and prebuilt distributions can be obtained from
the Gambit web site by visiting one of the following links.

sources:
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_8.tgz (for typical users)
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_8-devel.tgz (for developers)

prebuilt:
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_8-macosx-intel32.dmg
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_8-macosx-intel64.dmg
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_8-windows-mingw32.exe
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_8-windows-mingw64.exe
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_8-windows-visualc32.exe
  http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/prebuilt/gambc-v4_6_8-windows-visualc64.exe
&lt;/pre&gt;</description>
    <dc:creator>Logiciel Gambit</dc:creator>
    <dc:date>2013-04-30T12:44:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6667">
    <title>Promises &amp; lazy thunks</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6667</link>
    <description>&lt;pre&gt;Promises as specified in the Scheme spec are not terribly useful... but I
was thinking that I could make a much cleaner implementation of lazy
sequences and other things given a Scheme runtime which automatically
forced promises when the promise is operated on as a value.

I was wondering if anyone's thought about doing this.  Also, if it's really
as hard as making every primitive (except, course, promise?,
promise-forced? and friends) check and force every parameter, or if there
are any neat implementation tricks, especially if there's something which
can be used in gambit (like error-handler, but that seems gross.  Also,
incomplete and messy).

-Jason
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Jason Felice</dc:creator>
    <dc:date>2013-04-29T17:48:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6664">
    <title>problem with binding to glfw</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6664</link>
    <description>&lt;pre&gt;hello,
I have a weird error message and I could not understand what's the source
of this error and how to fix it.

A simple example :

glfw-ffi.scm :
(c-declare "#include \"GL/glfw.h\"")
(define glfwInit (c-lambda () int "glfwInit"))

compilation :
$ export GAMBC_CC_VERBOSE=yes
$ gsc -ld-options "-L/usr/local/lib -lglfw" glfw-ffi.scm

gcc     -Wno-unused -Wno-write-strings -O1 -fno-math-errno
-fschedule-insns2 -fno-trapping-math -fno-strict-aliasing  -fwrapv
-fomit-frame-pointer -fno-move-loop-invariants -fPIC -fno-common -mieee-fp
  -rdynamic -shared  -D___SINGLE_HOST -D___DYNAMIC
-I"/usr/local/Gambit-C/include" -o "glfw-ffi.o2"   glfw-ffi.c
-L/usr/local/lib -lglfw

$ gsc
Gambit v4.6.7

Unable to find pthread_mutexattr_setkind_np versioned symbol. Aborting.
Abort(coredump)
$

Anyone see this problem with pthread ?

thanks a lot
cyrille
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Cyrille Duret</dc:creator>
    <dc:date>2013-04-28T18:01:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6661">
    <title>Two questions about GambitREPL &amp; iOS</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6661</link>
    <description>&lt;pre&gt;1. Is there a reason (something to be wary of) why gambit is set up in the
view controller rather than in main()?

2. Is the ___enable_interrupts()/___disable_interrupts() currently only
used for communicating events to gambit?

I guess what I'm wondering, in other words, is whether there would be some
kind of problem with running gambit on the main thread, invoking (c-define
...) functions, if gambit will never wait on a port?

-Jason
_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Jason Felice</dc:creator>
    <dc:date>2013-04-26T15:19:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6658">
    <title>Termite</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6658</link>
    <description>&lt;pre&gt;Hi,

I just skimmed through the Termite paper - it looks awesome. Looking at the commit log of the repo, however, reveals the code hasn't been touched since 2009. Yikes! What a pity, it seems like such an interesting project.

Sorry if this seems like a pointless e-mail.

Cheers,
Ralph       
&lt;/pre&gt;</description>
    <dc:creator>Ralph Möritz</dc:creator>
    <dc:date>2013-04-26T06:25:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6645">
    <title>Simple benchmark of |-&gt;integer| and |-&gt;flonum| on integer, flonum and rational input. For the further if you have any idea of a definition faster than (inexact-&gt;exact (floor n)) feel free to share :)</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6645</link>
    <description>&lt;pre&gt;Dear list,

I was keeping this question in the back of my mind for several years so
taking the occasion to reflect it now:

Here follows the result of a simple benchmark of (exact-&amp;gt;inexact n)
and (exact-&amp;gt;inexact
(floor n)) where n is a flonum, fixnum or bignum integer, or rational.

The code was executed in compiled form, with both safe and
interrupts-enabled set and without any consideration to C compiler flags
beyond -O1 , to reflect the environment of a typical application (not for
instance a specialized number crunching environment).

I remember a conversation on this topic like ~4y ago but don't remember any
conclusion from it.


Looking at these numbers, I think they're great and all you can ask for,
with two exceptions, being to-integer conversion of a flonum or integer
bignum.

To get a better idea I experimented with heap size and live percent setting
with those two, and got about the same results.


If you are aware of any definition of |-&amp;gt;integer| that would perform much
better, please feel free to share!




Result:

On a laptop CPU core, here's how many of the respective operation Gambit
performs per second

-&amp;gt;integer of an integer (fixnum) 13,804,449
-&amp;gt;integer of a flonum               260,932 (perhaps performs much better with
another definition?)
-&amp;gt;integer of a rational          10,130,272
-&amp;gt;integer of an integer (bignum)    598,228 (perhaps performs much better with
another definition?)


-&amp;gt;flonum of an integer (fixnum)  36,550,882
-&amp;gt;flonum of a flonum             47,756,845
-&amp;gt;flonum of a rational              334,976
-&amp;gt;flonum of an integer (bignum)  51,075,409




Test code:


(declare (block) (standard-bindings) (extended-bindings))

(define (noop) (void))

(define (-&amp;gt;integer n)
  (lambda ()
    (inexact-&amp;gt;exact (floor n))))

(define (-&amp;gt;flonum n)
  (lambda ()
    (exact-&amp;gt;inexact n)))

(define (test t #!optional (seconds 5))
  (let* ((at 0)
         (th (thread-start! (make-thread (lambda () (let loop ()
                                                      (t)
                                                      (set! at (fx+ at 1))
                                                      (loop)))))))
    (thread-sleep! seconds)
    (let ((r at))
      (thread-terminate! th)
      (exact-&amp;gt;inexact (/ r seconds)))))


(define (noop-test) (test noop))

(define (-&amp;gt;integer-test1) (test (-&amp;gt;integer 5   )))
(define (-&amp;gt;integer-test2) (test (-&amp;gt;integer 5.  )))
(define (-&amp;gt;integer-test3) (test (-&amp;gt;integer 10/7)))
(define (-&amp;gt;integer-test4) (test (-&amp;gt;integer 1e25)))

(define (-&amp;gt;flonum-test1) (test (-&amp;gt;flonum 5   )))
(define (-&amp;gt;flonum-test2) (test (-&amp;gt;flonum 5.  )))
(define (-&amp;gt;flonum-test3) (test (-&amp;gt;flonum 10/7)))
(define (-&amp;gt;flonum-test4) (test (-&amp;gt;flonum 1e25)))


Test output:

(time (noop-test))
    5040 ms real time
    4932 ms cpu time (4896 user, 36 system)
    no collections
    2112 bytes allocated
    6 minor faults
    no major faults
57985446.4
(time (-&amp;gt;integer-test1))
    5019 ms real time
    4884 ms cpu time (4872 user, 12 system)
    no collections
    1232 bytes allocated
    no minor faults
    no major faults
13804449.
(time (-&amp;gt;integer-test2))
    5000 ms real time
    4792 ms cpu time (4656 user, 136 system)
    81 collections accounting for 187 ms real time (120 user, 52 system)
    1607420656 bytes allocated
    5110 minor faults
    no major faults
260932.6
(time (-&amp;gt;integer-test3))
    5015 ms real time
    4888 ms cpu time (4872 user, 16 system)
    no collections
    2240 bytes allocated
    no minor faults
    no major faults
10130272.8
(time (-&amp;gt;integer-test4))
    5003 ms real time
    4680 ms cpu time (4536 user, 144 system)
    158 collections accounting for 401 ms real time (304 user, 60 system)
    3110877424 bytes allocated
    no minor faults
    no major faults
598228.8
(time (-&amp;gt;flonum-test1))
    5011 ms real time
    4740 ms cpu time (4460 user, 280 system)
    297 collections accounting for 736 ms real time (524 user, 124 system)
    5848140864 bytes allocated
    no minor faults
    no major faults
36550882.2
(time (-&amp;gt;flonum-test2))
    5001 ms real time
    4840 ms cpu time (4800 user, 40 system)
    no collections
    2088 bytes allocated
    no minor faults
    no major faults
47756845.8
(time (-&amp;gt;flonum-test3))
    5005 ms real time
    4972 ms cpu time (4920 user, 52 system)
    65 collections accounting for 147 ms real time (120 user, 16 system)
    1286350504 bytes allocated
    no minor faults
    no major faults
334976.6
(time (-&amp;gt;flonum-test4))
    5002 ms real time
    4876 ms cpu time (4848 user, 28 system)
    no collections
    2080 bytes allocated
    no minor faults
    no major faults
51075409.8



2013/4/24 Bradley Lucier &amp;lt;lucier&amp;lt; at &amp;gt;math.purdue.edu&amp;gt;

_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Mikael</dc:creator>
    <dc:date>2013-04-24T19:24:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6635">
    <title>iOS Embedding -- Don't see errors / exceptions</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6635</link>
    <description>&lt;pre&gt;Errors thrown from scheme code embedded in an iOS app don't get displayed anywhere. Instead, the the program just hangs.

I see the same behavior in the example GambitREPL app. If I add in an error (for example, calling (cons 1), wrong is the number of arguments) to the program.scm file, it will hang on launch, and the error message won't be displayed in stdout (which is ideally where I'd like it to go).

I'm using the following debug_settings:

   debug_settings =
   (debug_settings
    &amp;amp; ~___DEBUG_SETTINGS_UNCAUGHT_MASK)
   | (___DEBUG_SETTINGS_UNCAUGHT_ALL
      &amp;lt;&amp;lt; ___DEBUG_SETTINGS_UNCAUGHT_SHIFT);
   
   debug_settings =
   (debug_settings
    &amp;amp; ~___DEBUG_SETTINGS_ERROR_MASK)
   | (___DEBUG_SETTINGS_ERROR_REPL
      &amp;lt;&amp;lt; ___DEBUG_SETTINGS_ERROR_SHIFT);

but I've also tried 

   debug_settings =
   (debug_settings
    &amp;amp; ~___DEBUG_SETTINGS_REPL_MASK)
   | (___DEBUG_SETTINGS_REPL_STDIO
      &amp;lt;&amp;lt; ___DEBUG_SETTINGS_REPL_SHIFT);

and I've also tried wrapping my scheme calls in

___BEGIN_TRY
___END_TRY

I apologize for all the questions regarding setting up an iOS/Scheme development environment, but I'll be sure to document everything once I get it all working to help other folks in the future.

Thanks,
Axis_______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Axis Sivitz</dc:creator>
    <dc:date>2013-04-23T21:25:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.lisp.scheme.gambit/6632">
    <title>decreasing GC</title>
    <link>http://comments.gmane.org/gmane.lisp.scheme.gambit/6632</link>
    <description>&lt;pre&gt;Hi

I have this simple numerical algorithm that computes an integral. 
I compile it with 

-prelude "(declare (standard-bindings) (block) (not safe))" -cc-options "-O4".

All functions are tail-call optimized.

The very last line of generated by ##gc-report-set! is

*** GC: 0 ms, 18.7G alloc, 1.52M heap, 45.3K live (3% 22896+23496)

The live area is consistently 45K throughout the entire execution.


Timing report indicates that 18% is spent on GC:

   7904 ms real time
    7784 ms cpu time (3684 user, 4100 system)
    13048 collections accounting for 1404 ms real time (584 user, 724 system)
    20078526600 bytes allocated
    480 minor faults
    no major faults




Besides tail-calls, what else can i do to reduce GC?
       _______________________________________________
Gambit-list mailing list
Gambit-list&amp;lt; at &amp;gt;iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
&lt;/pre&gt;</description>
    <dc:creator>Zhen Shen</dc:creator>
    <dc:date>2013-04-23T13:50:42</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.lisp.scheme.gambit">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.lisp.scheme.gambit</link>
  </textinput>
</rdf:RDF>
