From repleffect at gmail.com Sun Aug 1 03:24:30 2010 From: repleffect at gmail.com (REPLeffect) Date: Sun, 1 Aug 2010 02:24:30 -0500 Subject: [gambit-list] Macros and standard In-Reply-To: References: Message-ID: On Fri, Jul 30, 2010 at 4:21 PM, Yves Par?s wrote: > Okay, so I had not understood the sense of "non hygienic". > >> Once compiled all your scheme code can play together nicely. > But what if I run all the code with the interpreter? > One solution would be to compile all of your code that uses define-syntax into a loadable module, then you can load that into the interpreter. But I suspect that you will not be satisfied with that, so run "gsi -:s" to run the interpreter with syntax-case support. Just be aware of the limitations -- as it says on page 51 of the 4.6.0 manual: "Note that this implementation of syntax-case does not support special forms that are speci?c to Gambit." See Marc (if you're listening/reading) some people actually *do* read the documentation :-D > And why is define-syntax deactivated by default? > > The idea is that I think it is a good habit when programming to learn the > standard, and then use extensions to carry out the things which can't be > done (or can't easily be done) with the standard. > Standards often don't line up with the way some folks want to do development. Just because something is a standard doesn't mean it is the best way to do things (in fact, the opposite can be true -- design-by-committee can lead to bloated, unmanageable code). I for one am glad that Gambit leans toward non-hygenic macros. I was trying to decide whether to get comfortable using Common Lisp or Scheme first. I liked Common Lisp's non-hygenic macros, but I also really liked the consistency and simplicity of Scheme. Gambit allows me to have both. Also, the ability to compile to C is a big plus also IMHO. REPLeffect [snip] From per.eckerdal at gmail.com Sun Aug 1 17:49:08 2010 From: per.eckerdal at gmail.com (Per Eckerdal) Date: Sun, 1 Aug 2010 23:49:08 +0200 Subject: [gambit-list] {Spam?} Re: {Spam?} Spork issue (kCFErrorDomainCFNetwork error 303.) In-Reply-To: <7D8D8C08-A3DE-446D-902D-0C945F7DC54C@digitalchile.net> References: <7D8D8C08-A3DE-446D-902D-0C945F7DC54C@digitalchile.net> Message-ID: <8F85CEB9-A7EB-4D52-B085-D52DA0A633E7@gmail.com> 28 jul 2010 kl. 10.32 skrev Valeriya Alex: > Hello List, > > I am using the gambic v4.6.0, and latest blackhole + blackhole-libs and spork from the git > > When i run the next code in the bsc repl > > (import (std spork/core)) > > (define c (spork-serve root: "/spork" )) > > (add-spork c ("one") > `(html > (head > (title "Hello, world!")) > (body > "This is my first web application using Spork :)"))) > > The browser does not get any response from the localhost:8080/one > > Safari can?t open the page ?http://localhost:8080/one?. The error is: ?The operation couldn?t be completed. (kCFErrorDomainCFNetwork error 303.)? (kCFErrorDomainCFNetwork:303) Please choose Safari > Report Bugs to Apple, note the error number, and describe what you did before you saw this message. > > That what happen if i use the telnet > > imc:~ valery$ telnet localhost 8080 > Trying ::1... > telnet: connect to address ::1: Connection refused > Trying fe80::1... > telnet: connect to address fe80::1: Connection refused > Trying 127.0.0.1... > Connected to localhost. > Escape character is '^]'. > GET /one > > > Hello, world!This is my first web application using Spork :)Connection closed by foreign host. > imc:~ valery$ > > We did this test on several computers by different people and browsers. The result is the same. > > Any ideas? Hmm.. I don't remember seeing the problem that you're mentioning. Two things: Are you using the code from http://github.com/pereckerdal/sack ? That's the "up-to-date" version, although it really isn't very well maintained either. The telnet example that you give doesn't provide any insight, because you don't provide a valid HTTP request. The server assumes that the client is a pre-HTTP 1.0 client and provides a response without headers. So the response that you see from telnet isn't what the browsers get. You could try GET /one HTTP/1.1 Host: localhost instead, which is the minimal valid HTTP request in this case. best, Per -------------- next part -------------- An HTML attachment was scrubbed... URL: From per.eckerdal at gmail.com Sun Aug 1 17:41:09 2010 From: per.eckerdal at gmail.com (Per Eckerdal) Date: Sun, 1 Aug 2010 23:41:09 +0200 Subject: [gambit-list] blackhole question In-Reply-To: <20100728085235.GE30670@googlemail.com> References: <20100728085235.GE30670@googlemail.com> Message-ID: 28 jul 2010 kl. 10.52 skrev Milos Negovanovic: > I am new to scheme, gambit and blackhole! Have a look at the fallowing > example: > > > milosn at box gambit $ cat a.scm > (define (test) > (println "A!")) > milosn at box gambit $ cat b.scm > (define (test) > (println "B!")) > milosn at box gambit $ cat mod.scm > (import a > b) > (test) > milosn at box gambit $ bsc -i mod.scm > Loaded Black Hole. > A! > > > My question is: why is it printing "A!" when test procedure was redefined in > b.scm and b.scm is imported after a.scm? Hi Milos, What you are describing is one of the very core reasons to why Black Hole is needed. Black Hole makes sure that the two different procedures with the same name do not interfere with each other. Take this example: a.scm: (define (test) "A!") b.scm: (define (test) "B!") c.scm: (import a) (define (c) (test)) d.scm: (import b) (define (d) (test)) mod.scm (import c d) (println (c) (d)) I didn't test it, but it ought to print "A!B!". This is very important in Black Hole, as it enables people to write code without having to worry about whether the name is already used by someone else. It might help to know that this is done internally by naming the two procedures a#test and b#test, respectively (unless there are already modules with that name, in which case a unique name before the hash mark is chosen automatically.) In your example, Black Hole probably ought to give a warning message that the name test is imported twice. Instead, it arbitrarily chooses to import test from a.scm Another thing that might help to know is that you can choose to import only some of the things that a module exports like these examples: (import (except: (std srfi/1) reverse!)) (import (only: (std srfi/1) reverse!)) You can also add a prefix to the names like this: (import (prefix: (std srfi/1) 1-)) 1-xcons There's also a function to rename exports but I guess that's off topic. /Per From valery at digitalchile.net Mon Aug 2 07:34:08 2010 From: valery at digitalchile.net (Valeriya Alex) Date: Mon, 2 Aug 2010 15:34:08 +0400 Subject: [gambit-list] {Spam?} Spork issue (kCFErrorDomainCFNetwork error 303.) In-Reply-To: <8F85CEB9-A7EB-4D52-B085-D52DA0A633E7@gmail.com> References: <7D8D8C08-A3DE-446D-902D-0C945F7DC54C@digitalchile.net> <8F85CEB9-A7EB-4D52-B085-D52DA0A633E7@gmail.com> Message-ID: <421C2C77-E587-4139-8F83-63920FE34044@digitalchile.net> Thanks Per, I had followed by the Mikael's recommendation to use Sack instead. My question is: How stable and complete the Sack is? - best wishes Val On Aug 2, 2010, at 1:49 AM, Per Eckerdal wrote: > > Hmm.. I don't remember seeing the problem that you're mentioning. Two things: > > Are you using the code from http://github.com/pereckerdal/sack ? That's the "up-to-date" version, although it really isn't very well maintained either. > > The telnet example that you give doesn't provide any insight, because you don't provide a valid HTTP request. The server assumes that the client is a pre-HTTP 1.0 client and provides a response without headers. So the response that you see from telnet isn't what the browsers get. You could try > > GET /one HTTP/1.1 > Host: localhost > > instead, which is the minimal valid HTTP request in this case. > > best, > Per > -------------- next part -------------- An HTML attachment was scrubbed... URL: From valery at digitalchile.net Tue Aug 3 15:05:19 2010 From: valery at digitalchile.net (Valeriya Alex) Date: Tue, 03 Aug 2010 23:05:19 +0400 Subject: [gambit-list] {Spam?} Spork issue (kCFErrorDomainCFNetwork error 303.) In-Reply-To: <9239BD5F-708D-4820-A39B-E4626A5281C0@gmail.com> References: <7D8D8C08-A3DE-446D-902D-0C945F7DC54C@digitalchile.net> <8F85CEB9-A7EB-4D52-B085-D52DA0A633E7@gmail.com> <421C2C77-E587-4139-8F83-63920FE34044@digitalchile.net> <9239BD5F-708D-4820-A39B-E4626A5281C0@gmail.com> Message-ID: <4C58686F.7080102@digitalchile.net> Thanks allot Per, Maybe you want publish this info to the your git's readme? Then what the Spork state is? I mean. Is it abandoned? On 8/3/10 10:36 PM, Per Eckerdal wrote: > Well... I'd say that the Sack specification is rather complete. It is more or less a Schemification of Ruby's Rack, which must be considered both complete and stable. The specification is not finished, and if it would be > > ... > > I do not have time to maintain it myself, but I will gladly accept patches and API improvements (but talk to me first to make sure that it goes in line with the rest of Sack). I'd love if anyone was interested to maintain it and move it forward, but I don't really expect that to happen. I put all my time I have on Gambit related things on Black Hole. > > /Per > From valery at digitalchile.net Tue Aug 3 15:17:00 2010 From: valery at digitalchile.net (Valeriya Alex) Date: Tue, 03 Aug 2010 23:17:00 +0400 Subject: [gambit-list] {Spam?} Spork issue (kCFErrorDomainCFNetwork error 303.) In-Reply-To: <9239BD5F-708D-4820-A39B-E4626A5281C0@gmail.com> References: <7D8D8C08-A3DE-446D-902D-0C945F7DC54C@digitalchile.net> <8F85CEB9-A7EB-4D52-B085-D52DA0A633E7@gmail.com> <421C2C77-E587-4139-8F83-63920FE34044@digitalchile.net> <9239BD5F-708D-4820-A39B-E4626A5281C0@gmail.com> Message-ID: <4C586B2C.6030804@digitalchile.net> One more question Does anybody has the copy of this page http://mwaza.dyndns.org/apps/files/bh-tutorial.html ? Or maybe there are some examples of the site with the Spork ( I am interested to see any code which uses continuation web programming style ) From feeley at iro.umontreal.ca Wed Aug 4 13:28:18 2010 From: feeley at iro.umontreal.ca (Marc Feeley) Date: Wed, 4 Aug 2010 10:28:18 -0700 Subject: [gambit-list] [ANN] Call for Participation for 2010 Workshop on Scheme and Functional Programming Message-ID: <3BC1E295-C33E-4A43-BF15-ABB7EC918965@iro.umontreal.ca> Here is the final program for the 2010 Workshop on Scheme and Functional Programming. For the abstracts please check the website (http://www.iro.umontreal.ca/~sfp2010). To take advantage of the early registration price, please register by ***AUGUST 9***. Marc Feeley Saturday, August 21 8:15 On-site registration and breakfast 9:00 Invited Talk; To be announced Olin Shivers; Northeastern University 10:00 Break Session 1 10:30 Functional Data Structures for Typed Racket Hari Prashanth K R and Sam Tobin-Hochstadt; Northeastern University 11:00 Implementing User-level Value-weak Hashtables Aaron W. Hsu; Indiana University 11:30 Break Session 2 12:00 Pushdown Control-Flow Analysis of Higher-Order Programs Christopher Earl (1), Matthew Might (1), and David Van Horn (2); (1)University of Utah, (2)Northeastern University 12:30 Lightning talks Speakers to be announced at the workshop 12:45 Lunch break Session 3 14:00 Measuring the Effectiveness of Error Messages Designed for Novice Programmers Guillaume Marceau (1), Kathi Fisler (1), and Shriram Krishnamurthi (2); (1)Worcester Polytechnic Institute, (2)Brown University 14:30 JazzScheme: Evolution of a Lisp-Based Development System Guillaume Cartier and Louis-Julien Guillemette; Auphelia Technologies Inc. 15:00 Break Session 4 15:30 The Design of a Functional Image Library Ian Barland (1), Robert Findler (2), and Matthew Flatt (3); (1)Radford University, (2)Northwestern University, (3)University of Utah 16:00 Enabling cross-library optimization and compile-time error checking in the presence of procedural macros Andrew Keep and R. Kent Dybvig; Indiana University 16:30 Break Session 5 17:00 Guiding Requirements for the Ongoing Scheme Standardization Process Mario Latendresse; SRI International 17:20 Lightning talks; Speakers to be announced at the workshop Sunday, August 22 8:15 Breakfast 9:00 Invited Talk; Contracts in Racket Robert Findler; Northwestern University 10:00 Break Session 6 10:30 Report by the Scheme Language Steering Committee and report by the Scheme Language Working Groups 12:00 Closing From zivotinja at gmail.com Wed Aug 4 13:38:12 2010 From: zivotinja at gmail.com (Milan Markovic) Date: Wed, 4 Aug 2010 19:38:12 +0200 Subject: [gambit-list] {Spam?} Spork issue Message-ID: I think Racket (formerly PLT Scheme) uses continuations in their web apps. Here's a link to their doc page: http://docs.racket-lang.org/web-server/index.html > Message: 2 > Date: Tue, 03 Aug 2010 23:17:00 +0400 > From: Valeriya Alex > Subject: Re: [gambit-list] {Spam?} Spork issue > (kCFErrorDomainCFNetwork error 303.) > To: Per Eckerdal , > gambit-list at iro.umontreal.ca > Message-ID: <4C586B2C.6030804 at digitalchile.net> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > One more question > > Does anybody has the copy of this page > http://mwaza.dyndns.org/apps/files/bh-tutorial.html ? > > Or maybe there are some examples of the site with the Spork ( I am > interested to see any code which uses continuation web programming style ) > > > ------------------------------ > > _______________________________________________ > Gambit-list mailing list > Gambit-list at iro.umontreal.ca > https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list > > > End of Gambit-list Digest, Vol 71, Issue 3 > ****************************************** > -------------- next part -------------- An HTML attachment was scrubbed... URL: From limestrael at gmail.com Fri Aug 6 12:26:10 2010 From: limestrael at gmail.com (=?ISO-8859-1?Q?Yves_Par=E8s?=) Date: Fri, 6 Aug 2010 18:26:10 +0200 Subject: [gambit-list] Bug (?) with BlackHole and append! Message-ID: Hello, I have a file "test.scm" containing the following lines: (import (std srfi/1)) (define a '(3 2 4 2)) (append! a '(8 8 8)) (display a) (newline) When I lauch: gsc -e '(load "~~/lib/modules/build")' - and then (import test) it displays '(3 2 4 2 8 8 8)', which is fine. But if 'test' has been compiled first with (module-compile! 'test), then when importing I got the error: *** ERROR IN ##main -- (Argument 1) MUTABLE object expected (set-cdr! '(2) '(8 8 8)) (I use the last git version of BH) -------------- next part -------------- An HTML attachment was scrubbed... URL: From feeley at iro.umontreal.ca Fri Aug 6 13:09:28 2010 From: feeley at iro.umontreal.ca (Marc Feeley) Date: Fri, 6 Aug 2010 10:09:28 -0700 Subject: [gambit-list] Bug (?) with BlackHole and append! In-Reply-To: References: Message-ID: <989E3F1D-82E2-4828-9BF0-C8D27E6FABB5@iro.umontreal.ca> This is not a problem with blackhole. Your program contains an error because it is trying to mutate a constant. In Scheme, quoted objects are not mutable and it is an error to mutate them. The interpreter does not enforce this error because it implements constants using mutable objects. The compiler implements constants using "permanent objects" which cannot be mutated (they are not scanned by the garbage collector). You could fix your program by doing (define a (list 3 2 4 2)) instead of (define a '(3 2 4 2)) Marc On 2010-08-06, at 9:26 AM, Yves Par?s wrote: > Hello, > > I have a file "test.scm" containing the following lines: > > (import (std srfi/1)) > > (define a '(3 2 4 2)) > (append! a '(8 8 8)) > > (display a) > (newline) > > > When I lauch: gsc -e '(load "~~/lib/modules/build")' - > and then (import test) it displays '(3 2 4 2 8 8 8)', which is fine. > But if 'test' has been compiled first with (module-compile! 'test), then when importing I got the error: > > *** ERROR IN ##main -- (Argument 1) MUTABLE object expected > (set-cdr! '(2) '(8 8 8)) > > > (I use the last git version of BH) > _______________________________________________ > Gambit-list mailing list > Gambit-list at iro.umontreal.ca > https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list From limestrael at gmail.com Fri Aug 6 13:21:54 2010 From: limestrael at gmail.com (=?ISO-8859-1?Q?Yves_Par=E8s?=) Date: Fri, 6 Aug 2010 19:21:54 +0200 Subject: [gambit-list] Bug (?) with BlackHole and append! In-Reply-To: <989E3F1D-82E2-4828-9BF0-C8D27E6FABB5@iro.umontreal.ca> References: <989E3F1D-82E2-4828-9BF0-C8D27E6FABB5@iro.umontreal.ca> Message-ID: Okay, thanks. I didn't knew that. Speaking about BlackHole, I was wondering: how could one define his own module resolver? For instance I saw that termite has a BH version. But I don't know how I could import it if I install it system-wide. 2010/8/6 Marc Feeley > This is not a problem with blackhole. Your program contains an error > because it is trying to mutate a constant. In Scheme, quoted objects are > not mutable and it is an error to mutate them. The interpreter does not > enforce this error because it implements constants using mutable objects. > The compiler implements constants using "permanent objects" which cannot be > mutated (they are not scanned by the garbage collector). > > You could fix your program by doing > > (define a (list 3 2 4 2)) > > instead of > > (define a '(3 2 4 2)) > > Marc > > On 2010-08-06, at 9:26 AM, Yves Par?s wrote: > > > Hello, > > > > I have a file "test.scm" containing the following lines: > > > > (import (std srfi/1)) > > > > (define a '(3 2 4 2)) > > (append! a '(8 8 8)) > > > > (display a) > > (newline) > > > > > > When I lauch: gsc -e '(load "~~/lib/modules/build")' - > > and then (import test) it displays '(3 2 4 2 8 8 8)', which is fine. > > But if 'test' has been compiled first with (module-compile! 'test), then > when importing I got the error: > > > > *** ERROR IN ##main -- (Argument 1) MUTABLE object expected > > (set-cdr! '(2) '(8 8 8)) > > > > > > (I use the last git version of BH) > > _______________________________________________ > > Gambit-list mailing list > > Gambit-list at iro.umontreal.ca > > https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From limestrael at gmail.com Fri Aug 6 14:10:10 2010 From: limestrael at gmail.com (=?ISO-8859-1?Q?Yves_Par=E8s?=) Date: Fri, 6 Aug 2010 20:10:10 +0200 Subject: [gambit-list] Bug (?) with BlackHole and append! In-Reply-To: References: <989E3F1D-82E2-4828-9BF0-C8D27E6FABB5@iro.umontreal.ca> Message-ID: Still with append!, I have another problem. If my list is initially empty, append! does not alter it: (define a (list)) (append! a (list 1 2 3)) And a remains empty... I don't know if it is normal 2010/8/6 Yves Par?s > Okay, thanks. I didn't knew that. > > Speaking about BlackHole, I was wondering: how could one define his own > module resolver? > For instance I saw that termite has a BH version. But I don't know how I > could import it if I install it system-wide. > > > 2010/8/6 Marc Feeley > > This is not a problem with blackhole. Your program contains an error >> because it is trying to mutate a constant. In Scheme, quoted objects are >> not mutable and it is an error to mutate them. The interpreter does not >> enforce this error because it implements constants using mutable objects. >> The compiler implements constants using "permanent objects" which cannot be >> mutated (they are not scanned by the garbage collector). >> >> You could fix your program by doing >> >> (define a (list 3 2 4 2)) >> >> instead of >> >> (define a '(3 2 4 2)) >> >> Marc >> >> On 2010-08-06, at 9:26 AM, Yves Par?s wrote: >> >> > Hello, >> > >> > I have a file "test.scm" containing the following lines: >> > >> > (import (std srfi/1)) >> > >> > (define a '(3 2 4 2)) >> > (append! a '(8 8 8)) >> > >> > (display a) >> > (newline) >> > >> > >> > When I lauch: gsc -e '(load "~~/lib/modules/build")' - >> > and then (import test) it displays '(3 2 4 2 8 8 8)', which is fine. >> > But if 'test' has been compiled first with (module-compile! 'test), then >> when importing I got the error: >> > >> > *** ERROR IN ##main -- (Argument 1) MUTABLE object expected >> > (set-cdr! '(2) '(8 8 8)) >> > >> > >> > (I use the last git version of BH) >> > _______________________________________________ >> > Gambit-list mailing list >> > Gambit-list at iro.umontreal.ca >> > https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chrjae at gmail.com Fri Aug 6 14:45:30 2010 From: chrjae at gmail.com (Christian Jaeger) Date: Fri, 6 Aug 2010 14:45:30 -0400 Subject: [gambit-list] Bug (?) with BlackHole and append! In-Reply-To: References: <989E3F1D-82E2-4828-9BF0-C8D27E6FABB5@iro.umontreal.ca> Message-ID: 2010/8/6 Yves Par?s : > Still with append!, I have another problem. > If my list is initially empty, append! does not alter it: > > (define a (list)) > (append! a (list 1 2 3)) > > And a remains empty... I don't know if it is normal |append!| doesn't mutate the binding for |a|, it mutates the list which is stored at |a| and returns the mutated list. Unlike a vector, a list is not an object all by itself, instead it is a term used to describe chains of pair objects pairing some other object and the rest of the list, with the null object as the end marker, thus the null object all by itself to represent the empty list case. A pair object can be mutated, which is what (append! (list 'a 'b) (list 1 2 3)) does for the pair containing 'b, but a null object cannot be made to contain anything. So (append! (list) (list 1 2 3)) just returns its second argument. Since you don't mutate the |a| binding, you're not seeing any effect (since there has in fact been none). What you seem to want to do is: (set! a (append! a (list 1 2 3))) Or maybe you want an object containing a (possibly empty) list that can be extended through mutation, in which case you could use a box containing the list: (define a (box (list))) (define (boxedlist-append! boxedlist list) (set-box! boxedlist (append! (unbox boxedlist) list))) (boxedlist-append! a (list 1 2 3)) But you don't see that done often, because the spirit of Scheme is using functional updates, i.e. passing the extended list to the next function call, so no mutation is necessary. Christian. From feeley at iro.umontreal.ca Sat Aug 7 22:15:46 2010 From: feeley at iro.umontreal.ca (Marc Feeley) Date: Sat, 7 Aug 2010 19:15:46 -0700 Subject: [gambit-list] [ANN] Call for Participation for 2010 Workshop on Scheme and Functional Programming Message-ID: <3C80A86E-E962-455E-8A8E-EB3E43BFB674@iro.umontreal.ca> [The early registration deadline is only 2 days from now. Please register ASAP!] CALL FOR PARTICIPATION 2010 Workshop on Scheme and Functional Programming Montreal, Quebec, Canada Saturday and Sunday August 21-22, 2010 http://www.iro.umontreal.ca/~sfp2010 *** ONLINE REGISTRATION IS NOW OPEN FOR THE WORKSHOP *** *** REGISTER BEFORE AUGUST 10 TO AVOID LATE REGISTRATION FEES *** PURPOSE The 2010 Workshop on Scheme and Functional Programming provides a forum for discussing experience with and future development of the Scheme programming language. The scope of the workshop includes all aspects of the design, implementation, theory, and application of Scheme. We encourage everyone interested in Scheme to participate. FORMAT The workshop will be held on the Universit? de Montr?al campus Saturday and Sunday August 21-22, 2010. The workshop will start at 8 AM August 21 and end around noon on August 22. This year's departure from the traditional one day format will leave room for special events (lightning talks, social outing, etc). *** IF YOU ARE INTERESTED IN GIVING A LIGHTNING TALK, PLEASE CONTACT THE WORKSHOP CHAIR FOR DETAILS ASAP EVEN IF YOU ARE NOT 100% SURE *** Other information is available on the workshop web site: - Workshop program (http://www.iro.umontreal.ca/~sfp2010/program.html) - Travel, accommodation and tourism information (http://www.iro.umontreal.ca/~sfp2010/travel.html) - Online registration (http://www.iro.umontreal.ca/~sfp2010/registration.html) Marc Feeley Scheme Workshop Chair feeley at iro.umontreal.ca From feeley at iro.umontreal.ca Tue Aug 17 20:15:20 2010 From: feeley at iro.umontreal.ca (Marc Feeley) Date: Tue, 17 Aug 2010 20:15:20 -0400 Subject: [gambit-list] [ANN] LAST CHANCE TO REGISTER ONLINE for 2010 Workshop on Scheme and Functional Programming Message-ID: <8CDDDEF0-5445-4B70-A72C-01BAC1014A4B@iro.umontreal.ca> The 2010 Scheme Workshop will be held in Montreal in less than 4 days from now. If you are planning to attend the workshop ***PLEASE REGISTER ONLINE ASAP***. By going through the online registration process we will get vital information for the workshop (badge data, dietary restrictions, T-shirt size, and proceedings preference). You can register on-site saturday morning but in that case we will not be able to take your information into consideration and planning the food for lunch will be difficult (i.e. we may not be able to provide lunch for you and a complimentary T-shirt). Please register online by ***THURSDAY AUGUST 18 AT 8 AM EDT*** To register online visit: http://www.iro.umontreal.ca/~sfp2010/registration.html Marc Feeley 2010 Scheme Workshop chair From hendrik at topoi.pooq.com Sat Aug 28 23:14:39 2010 From: hendrik at topoi.pooq.com (hendrik at topoi.pooq.com) Date: Sat, 28 Aug 2010 23:14:39 -0400 Subject: [gambit-list] problems with development release Message-ID: <20100829031439.GC14099@topoi.pooq.com> I just downloaded, untarred, compiled, installed gambc-v4_6_0.tgz But when I tried to use it Space-invaders-src-v1.0.tgz I got errors that look like C/C++ compatibility problems. I compiled and installed gambit using C++; specifically, the g++ compiler. I had to modify the space invaders makefile to recognise that gambit was installed at /usr/local/gambit, and to tell it that my C compiler was g++. ## compilers GSC=$(PATH_TO_GAMBIT)/bin/gsc -:=$(PATH_TO_GAMBIT) CC=g++ ## Gambit-c # PATH_TO_GAMBIT=/usr/local/Gambit-C/current PATH_TO_GAMBIT=/usr/local/Gambit-C I then performed a make clean in the space-invaders directory to clear out the effects of mismaking with the wrong PATH_TO_GAMBIT and the wrong CC. hendrik at lovesong:~/dv/lang/gambit/expand/space-invaders$ make clean make: Warning: File `makefile' has modification time 93 s in the future rm -f coroutine.c engine.c event-simulation-macro.c event-simulation.c font-macro.c font.c glu-header.c glu.c glut-header.c glut.c opengl-header.c opengl.c ppm-reader.c rbtree.c scm-lib-macro.c scm-lib.c sdl-interface.c sdl-user-interface.c sprite-macro.c sprite.c texture-macro.c texture.c user-interface-images.c user-interface.c *_.c *.o* space-invaders.exe *.tar.gz *.tgz *.~*~ *.zip make clean -C doc make: *** doc: No such file or directory. Stop. make: *** [clean] Error 2 Upon doing make OS=linux UI=glut The errors I got were hendrik at lovesong:~/dv/lang/gambit/expand/space-invaders$ make OS=linux UI=glut make: Warning: File `makefile' has modification time 81 s in the future *** Global Variables *** OS=linux UI=glut *** Currently using following paths *** PATH_TO_GAMBIT=/usr/local/Gambit-C PATH_TO_GL=/usr *** Beginning compilation *** /usr/local/Gambit-C/bin/gsc -:=/usr/local/Gambit-C -c opengl.scm g++ -I/usr/local/Gambit-C/include -I/usr/include/GL -I/usr/include/GL -c opengl.c opengl.c:60019: warning: deprecated conversion from string constant to ?char*? /usr/local/Gambit-C/bin/gsc -:=/usr/local/Gambit-C -c glu.scm g++ -I/usr/local/Gambit-C/include -I/usr/include/GL -I/usr/include/GL -c glu.c glu.c: In function ?int ___H__20_glu_23_641(___processor_state_struct*)?: glu.c:39781: warning: overflow in implicit constant conversion glu.c: In function ?int ___H__20_glu_23_657(___processor_state_struct*)?: glu.c:40759: error: invalid conversion from ?const void*? to ?void*? glu.c: In function ?int ___H__20_glu_23_659(___processor_state_struct*)?: glu.c:40883: error: invalid conversion from ?const void*? to ?void*? glu.c: At global scope: glu.c:46535: warning: deprecated conversion from string constant to ?char*? make: *** [glu.o] Error 1 hendrik at lovesong:~/dv/lang/gambit/expand/space-invaders$ My guess is that one crucial macro within the gambit include files fails to deal with 'const' properly. Or is there some obscure way I'm getting C code instead of C++? -- hendrik