Re: [Chicken-users] performance of bignums
On Thu, Jun 25, 2015 at 4:50 PM, Peter Bex pe...@more-magic.net wrote: On Thu, Jun 25, 2015 at 11:39:50AM -0700, Martin DeMello wrote: Post to /r/scheme about chicken's bignum performance. (Not my post, just figured it could use some eyeballs.) http://www.reddit.com/r/scheme/comments/3b1ujw/performance_of_chicken_scheme_numbers_bignums/ Hello Martin, Thanks for posting this. We had already been discussing it earlier today in #chicken. I had another look at the code but I can't really find any obvious inefficiencies. It is indeed a bit faster with CHICKEN 5, but not by much. Of course, Guile is cheating by using GMP. If I compare it to another Scheme which has its own bignum implementation like Gauche, we perform about the same. It's interesting that sbcl is doing so well. Maybe I'm overlooking something seemingly minor but important? Cheers, Peter Not sure about the status of this particular GSOC, but SBCL could also be cheating. http://www.sbcl.org/gsoc2013/ideas/#sec-1.2 Now, I thought GMP were GPL'd and SBCL not, so I'm unsure about the legal implications, if it does bundle GMP now. — Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] performance of bignums
On Thu, Jun 25, 2015 at 5:53 PM, Peter Bex pe...@more-magic.net wrote: On Thu, Jun 25, 2015 at 10:26:53PM +0200, Peter Bex wrote: On Thu, Jun 25, 2015 at 05:04:17PM -0300, Stephen Eilert wrote: Not sure about the status of this particular GSOC, but SBCL could also be cheating. http://www.sbcl.org/gsoc2013/ideas/#sec-1.2 Now, I thought GMP were GPL'd and SBCL not, so I'm unsure about the legal implications, if it does bundle GMP now. Thanks for posting that; I hadn't looked at the sbcl implementation of the pi-digits benchmark, but indeed that page says Pi digits on the benchmarks game is currently a bunch of calls to GMP. This would *really* be cheating in my opinion, as it's not testing the language implementation but using nonstandard extensions that replace stuff that's already part of the core. I had just assumed it would be using the sbcl native implementation (which indeed is pretty damn good and almost 100% pure Lisp code). In fact, there are two implementations, one of which uses native operations. It is still faster than CHICKEN and very close to Guile/GMP: http://benchmarksgame.alioth.debian.org/u32/program.php?test=pidigitslang=sbclid=2#log It does use some type annotations, though. Adding some to the CHICKEN version makes it go a tiny bit faster, but not by much. Cheers, Peter That compilation output is amazing! ; note: forced to do GENERIC-* (cost 30) ; unable to do inline fixnum arithmetic (cost 4) because: ; The first argument is a INTEGER, not a FIXNUM. ; The result is a (VALUES INTEGER OPTIONAL), not a (VALUES FIXNUM REST T). ; unable to do inline (signed-byte 32) arithmetic (cost 5) because: ; The first argument is a INTEGER, not a (SIGNED-BYTE 32). ; The result is a (VALUES INTEGER OPTIONAL), not a (VALUES ; (SIGNED-BYTE 32) REST ; T). From the benchmark page ( http://benchmarksgame.alioth.debian.org/u32/performance.php?test=pidigits#about ): In addition to language specific multiprecision arithmetic, we will accept programs that use GMP http://gmplib.org/. So, the cheating is official. Let's cheat too! *I fail to see the point though. If it's a programming language shootout, does it make sense to offload the meat of the processing to GMP?* *Do they intend to measure the FFI performance?* — Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] u8vector to numbers bignum
On Thu, May 28, 2015 at 9:09 PM, John Cowan co...@mercury.ccil.org wrote: Peter Bex scripsit: If this is such an important feature it may make more sense to include a proper PRNG. Different applications will want fast crude random-ish numbers, PRNGs, cryptographic PRNGs, or full quantum randomness, with tradeoffs for speed and quality. Since that's so, I'd rather require programmers to make the choice up front rather than fall back on some dubious OS version that does who-knows-what. Not all applications require cryptographically secure real random number generators. In fact, I'd argue that most random usage is not for that sort of thing. It will be used in tutorials, or in games for a purpose such as selecting between several available sounds. Or procedural generation if it doesn't totally suck. If you *are* writing something that really requires a better quality pseudorandom generator, odds are that you will have to import one anyway. I have no idea of what rand() uses internally, and much less what is Chicken is actually calling on Win32. So one thing that could be of value is not relying on the OS implementation and instead providing our own (Mersenne Twister?). This would remove a core dependency and guarantee consistency when running on all operating systems. Even if it is consistently crappy(which MT doesn't appear to be, even if it should not be used for crypto). That would be preferable, so you'd deal with it in the beginning, instead of when porting to another OS, when you've already forgotten all about the random generator. For reference: (random N) http://api.call-cc.org/doc/extras#def:random procedure Returns a pseudo-random integer in [0, N-1]. N is an integer. On Windows, N and the random value are exact integer. *Warning*: This procedure uses *rand(3)* internally and exhibits its deficiencies, including low quality pseudo-randomness: - On Windows and Solaris, only 32768 unique random values can be generated in the range [0, N-1]. If N = 32768, there will be gaps in the result set. - On Mac OS X, Windows and some other platforms, little variance in output is seen with nearby seeds. Since the random generator is seeded with current-seconds at startup, new processes may see similar or identical random sequences for up to a minute. - On Linux, *rand(3)* is an alias to *random(3)*, which provides output of reasonable quality. — Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] ANN: new chicken-iup Windows installer with IUP gui, canvas-draw, scintilla etc. released.
Just a heads up: chicken won't be able to import anything as soon as it is installed, due to the fact that new system environment variables get added. Logging out (or restarting) is enough to fix it. Thanks for the work. I never had the time to get Chicken working properly on Win32. Now, it seems that chicken-install's proxy handling code is not working correctly. I fixed a minor issue with it years ago, but it needs to get smarter. — Stephen On Mon, May 18, 2015 at 10:23 AM, Matt Welland mattrwell...@gmail.com wrote: Oops! Thanks Mario. WHERE: http://www.kiatoa.com/fossils/chicken-iup On May 18, 2015 4:45 AM, Mario Domenech Goulart mario.goul...@gmail.com wrote: Hi, On Sun, 17 May 2015 23:03:12 -0700 Matt Welland mattrwell...@gmail.com wrote: WHAT: The chicken-iup installer has been updated with Chicken 4.9.01, and recent versions of many eggs, the IUP gui including canvas-draw, and the iup scintilla editor support. STATUS: chicken-iup appears to work just fine on WinXP and Windows 8. To install eggs not bundled with the installer you will need to install mingw (http://www.mingw.org/). WHO: Thanks to Matt Gushee for his help in making this happen. WHY: I find Chicken scheme to be a pragmatic and productive development tool. The chicken-iup package makes it very easy to develop on Linux and then deploy to both Linux and Windows. Download and run the chicken-iup installer and you can start creating scripts with an IUP gui in minutes. Add mingw and you can compile your scripts to executables. Get the very easy to use Inno setup (http://www.jrsoftware.org/isinfo.php) and generate installable packages. All with almost zero integration effort. If only it was this easy on Linux Nice work, Matts. :-) Isn't a WHERE section missing? Best wishes. Mario -- http://parenteses.org/mario ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Basic abnf usage?
Very good points. Let me add more inline noise. On Wed, May 13, 2015 at 11:25 PM, Matt Gushee m...@gushee.net wrote: Hi, Moritz-- On Thu, Apr 16, 2015 at 2:35 PM, Moritz Heidkamp mor...@twoticketsplease.de wrote: sorry for the late reply, got busy :-) And I'm sorry for the even later reply, got scared :-) No, really! It's stupid, but I am often scared of people's reactions when I make even mildly critical remarks (I hasten to point out that that feeling has nothing to do with any behavior I've observed on this mailing list - just my own neurosis, I guess). I have the same issue, but only when I myself make overly critical remarks. Afraid of the retorts, perhaps. On Sat, Mar 28, 2015 at 5:33 AM, Moritz Heidkamp mor...@twoticketsplease.de wrote: Maybe in that case it would be good if the API doc said something like: comparse is compatible with UTF-8, but many of the built-in combinators do not work with UTF-8 characters, so you may need to construct your own. For example: ... Sure, we can do that! I didn't mention it so far as this property is implicit with how CHICKEN core strings work. I think you are assuming too much background knowledge. Maybe in a perfect world, everybody would get a CS degree, then learn all the fundamentals of Scheme, then master the Chicken core, then start working with extensions and building practical software ... but of course that's often not how it works in reality. And in my opinion - as someone with no formal education in the field, but who came to Scheme with a few years of practical experience in other languages - I think Scheme in general, and any given implementation, has a really steep learning curve. The documentation is good in that almost everything you need to know is covered somewhere, but it can also be really hard to find the information due to the extreme modularity and very bazaar-like culture of Scheme - docs are split up between r*rs and an implementation manual and extension docs written by different people following very different conventions. Additionally - and this is not anyone's fault in particular, more a side-effect of the small community working on Chicken - since the documentation as a whole is not rigorously maintained, contradictions inevitably creep in, and there are often several ways to do the same or similar things, with no indication of which is best or recommended. Sorry to rant ... I'm rather passionate about documentation. Must be my Python background ;-) I believe I complained about this once. But I've since stopped complaining, because I had no useful ideas on how to improve things. If you already know what you need, things like Chickadee are awesome. If you are trying to figure out a strange behavior, I've since learned to go back to the R5RS docs and, if not there, look up 'deviations from the standard'. If not there, I'll stumble through the documentation like a cockroach on meth. Sometimes I manage to find useful information, sometimes I don't. I'd never find out about CHICKEN core string behavior, for instance. One idea I came up, but never implemented, was to record a list of 'documentation cache misses'. Would go like this: every time I failed to find something in the documentation, I'd record what it was. If I really couldn't find it, I'd ask around here or on #chicken. If noone could find it, then I'd mark it to be inserted somewhere (or updated). It's not quite that simple: Characters may be encoded in many ways, UTF-8 is far from the only widely used one and not ideal in all cases, e.g. the algorithmic complexity of some operations on UTF-8 encoded strings is objectively worse than those on UTF-32 encoded strings. And it will remain so even till the year 2050. Not guarantees on what happens after that, though! I'm certainly aware of different encodings - I started programming when I lived in Japan in the 90s, before Unicode 1.0 was finalized, and there were 3 major encodings in common use just for Japanese. But there is such a thing as 'reasonable defaults' - if you can't support all the encodings, what is more interoperable than UTF-8? Nothing that I'm aware of. Making it the default can hurt some japanese users, I'm told, because encoding conversion between ( - forgot what the encoding was) and UTF-8 can be lossy. Many implementations use UTF-16 internally(Win32 API, Java). Maybe the are up to something, performance-wise. I'm of the opinion (shared by many I18n experts, if I'm not mistaken) that a high-level language in the 21st century should have in its core a rock-solid character abstraction that is never, ever conflated with a byte. The character abstraction actually is rock-solid even in CHICKEN 4 already: A character object represents a Unicode codepoint in an encoding independent way. Okay, but that isn't reflected very well in the core API. Here's what bugs me about the laissez-faire approach to strings
Re: [Chicken-users] How to bootstrap developing a CHICKEN application?
On Sun, Feb 1, 2015 at 12:25 PM, Bahman Movaqar bah...@bahmanm.com wrote: On 02/01/2015 03:57 AM, Bahman Movaqar wrote: A naive question but suppose I want to write an application (not an egg); an application in the sense that it will not be installed in CHICKEN repository. What is the recommended directory structure? How can I run the tests (like 'chicken-install -test')? How can I express dependencies? Or is it just *my* conception of application and in CHICKEN there is no difference between this and an egg? I'd appreciate any help or a pointer to a relevant documentation. Thank you very much Peter and Mario for the detailed answers. Considering what you said, I believe I'll go with the egg approach. There's also the 'system' egg, if you don't need all the goodies that an egg can provide. — Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Homepage design proposal - part 2
On Sat, Jan 24, 2015 at 1:37 PM, Daniel Ziltener dzilte...@lyrion.ch wrote: Maybe three or four (or more!) samples depicting typical features of CHICKEN. These samples could be easily flipped through with a few navigation buttons, they would carry a clear title per sample and a few comments inline of what this code is about. Programmers love to see beautiful code...right? Right! I haven't seen this on pretty much any other language page yet! Most have a meaningless Hello World-code at most that doesn't say much. Except for Python. The page is clean, pretty (IMHO) and does the job fine. The samples are pretty small and not full programs. But all do link to the relevant documentation section, so I guess that's useful. See: https://www.python.org/ Which also has an interactive shell. Scala sort of does this too (click on the boxes) below the distracting over-the-top background imagery, section called Scala in a Nutshell which often goes below the fold: http://www.scala-lang.org/ Elixir doesn't have samples that you can flip, but you can just scroll the page: http://elixir-lang.org/ Go mixes the code sample and the interactive shell, has a few samples you can load using the combobox. Page looks horrible but is works(*). https://golang.org/ Julia´s page looks like a blog post. However, it has some pretty convincing screenshots and code samples: http://julialang.org/ Rust also has a pretty big code sample on its front page, that you can edit and run. http://www.rust-lang.org/ I was going to include Dart, but it has a screenshot of what seems to be an Eclipse-based editor, so I'll spare you all. Also, in case people have forgotten about it, there's Racket's homepage: http://racket-lang.org/ With code examples that you can flip, with an explain! link explaining each of them. No Daleks tho. — Stephen (*) Interestingly, these pages seem to reflect some of the underlying language traits. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken Scheme's license
On Tue, Jan 6, 2015 at 3:51 AM, Alexej Magura agm2...@gmail.com wrote: Thanks, Matt. Keep in mind that each egg is licensed separately, if that's important to you. — Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Installing combinatorics - cock missing
On Mon, Dec 15, 2014 at 9:01 PM, Alex Shinn alexsh...@gmail.com wrote: On Tue, Dec 16, 2014 at 2:51 AM, Bahman Movaqar bah...@bahmanm.com wrote: Hah! Great guess on #chicken Mario! It was my ISP...it installed smoothly after bypassing that stupid filter. Thanks for the help. There was a porn filter applied to all internet traffic which removed the cock egg? Wow. I've had the same problem with apt-get once, but that was even worse: it was trying to download libsexy. Talk about an agressive filter! — Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [Chicken-hackers] CHICKEN in production
On Mon, Sep 29, 2014 at 6:07 PM, r d...@bk.ru wrote: Hello happy to announce that we are in production with CHICKEN! Professional karaoke system AST-50 with CHICKEN driven firmware. http://www.art-system.ru/professionalnoe-karaoke/ast-50.html Feel free to ask Oleg Kolosov, Yaroslav Tsarko and me about wonderful and dangerous trip to the parentheses land. Wow, that's even cooler than what I was expecting when I saw the email. Not only it is 'in production', but it is a firmware too, not the average website. Congrats :) Now, could you pretty please with cherry on top share some details? For instance, I saw some of the GUI in the advertisement. Is that done in Chicken too? Is Chicken just used as a 'glue' between modules written in (insert whatever language here) or does it drive the whole system with occasional C libs thrown in? How did you manage to convince management to use Chicken? :D Oh man, so many questions, so little time. — Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [ANN] New egg: glls
On Wed, May 14, 2014 at 5:41 PM, Alex Charlton alex.n.charl...@gmail.comwrote: I'm pleased to announce glls: a (pseudo-)Scheme to GLSL (OpenGL Shader Language) compiler. Embedding GLSL shaders into your programs is now as easy as writing S-expressions in a Scheme file. The compilation from a glls definition to a GLSL shader happens at compile-time, so using glls has no run-time cost (aside from having it loaded into memory). Using glls gives your Scheme program knowledge about your shaders, so shader and program compilation as well as attribute and uniform location retrieval is provided automatically. If you're familiar with Varjo (a Common Lisp project), glls performs a similar task but with a more limited scope. While Varjo performs type-checking to validate its shaders, glls is a very literal compiler: you get what you write – even if you write something wrong. Errors at the GLSL level are therefore caught during GLSL compilation rather than during glls-GLSL compilation. If I may be so bold: The best has yet to come for glls. While defining your shaders in Scheme is convenient, the true power of this comes from taking advantage of what your Scheme program then knows about the shaders. Future work on glls will see automatic compilation of rendering functions for each pipeline, as well as tools for dynamic re-loading of pipelines for all your REPL-based shader hacking sessions. If you’re interested, check out the source: https://github.com/AlexCharlton/glls And the docs: https://wiki.call-cc.org/eggref/4/glls And if someone could add this to the egg list, I would be most appreciative. https://raw.githubusercontent.com/AlexCharlton/glls/master/glls.release-info Thanks! Oh my! The documentation is huge! And with examples! Very, very nice. -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [ANN] New egg: opengl-glew
On Sun, Apr 13, 2014 at 5:12 PM, Alex Charlton alex.n.charl...@gmail.comwrote: opengl-glew provides bindings to OpenGL’s core profile while handling extension loading with GLEW: https://github.com/AlexCharlton/chicken-opengl-glew There are two existing eggs that have some degree of overlap with this one. The opengl egg provides only the older fixed function pipeline API. OpenGL has changed the majority of its API since then, so it’s not useful for writing modern graphics programs. The allegro egg provides some more recent OpenGL bindings (they seem to have been last updated in 2012), but relies on Allegro which not everyone wants as a dependency. opengl-glew uses the widely used GLEW to handle its extension loading, making this egg immediately useful to most programmers who work with modern OpenGL. Further, it is guaranteed to always be up-to-date with the latest OpenGL core profile, because it downloads the glcorearb header file from opengl.org and uses it to generate its bindings. Some high-level convenience functions are also provided. Mario, could you please add this to the egg list: https://raw.githubusercontent.com/AlexCharlton/chicken-opengl-glew/master/opengl-glew.release-info Thanks! This is awesome! Thank you :) -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] chicken-iup - progressing nicely but have problem with canvas-draw
On Tue, Feb 4, 2014 at 12:13 PM, John Cowan co...@mercury.ccil.org wrote: What do you think of my idea of dropping even GNU make for MSVC support and just compiling everything with a batch file? One thing I note is that MSVC's C compiler is C89 only; do we have dependencies on post-C89 syntax either in Chicken itself (which presumably could be worked around) or in the generated code? Oh! That's true, I had forgotten all about it. Microsoft's recommendation is to compile C code with the C++ compiler. This may or may not work, depending on what Chicken is using. GNU Make is an annoying dependency on Windows, but batch files are way too ugly. If and only if we take that route, may I suggest Powershell? It is found on all 'modern' (= XP) windows installs and is much more powerful (it can even load and call .net assemblies, for instance). That would make it less insane. CMake is also annoying, but it works. -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] chicken-iup - progressing nicely but have problem with canvas-draw
On Sat, Feb 1, 2014 at 11:32 PM, Matt Welland estifo...@gmail.com wrote: Ok, no takers on my lame attempt at a financial bribe for making the next chicken-iup so I took a stab at it myself. I've made pretty good progress, no doubt thanks to all the great work done by the Chicken devs, so far chicken 4.8.0.5 and iup have compiled and seem to run fine. I'm stuck at getting the canvas-draw egg installed. Does the error below mean anything to anyone? Thanks. Note: one thing I did different is apply a patch to ffcall that claims to fix the trampoline conflict with windows executable protection. ffcall compiled fine and I doubt it is related to this issue but I thought I'd mention it. I think the 'bribe' did not have anything to do with it. Some of us will gladly improve Chicken without any financial reward - but having a 'bounty' for open issues doesn't seem like a bad idea. Heck, I'd do it in exchange for booze! :) I think the issue is that Chicken for the moment does not seem to enjoy much popularity on Windows. Having an installer could help mitigate some of that, but I am not sure it's the only requirement. Perhaps being able to compile with Microsoft's C compile would be better to ensure compatibility with existing libraries? I took a stab at it some time ago and found the build system to be a major pain, so I dropped the project. That said, do you mind if I ask you what is it that you are working on which requires Windows? :) -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] chicken-iup - progressing nicely but have problem with canvas-draw
On Mon, Feb 3, 2014 at 1:02 PM, Peter Bex peter@xs4all.nl wrote: On Mon, Feb 03, 2014 at 01:58:31PM -0200, Stephen Eilert wrote: I think the issue is that Chicken for the moment does not seem to enjoy much popularity on Windows. Having an installer could help mitigate some of that, but I am not sure it's the only requirement. Perhaps being able to compile with Microsoft's C compile would be better to ensure compatibility with existing libraries? I took a stab at it some time ago and found the build system to be a major pain, so I dropped the project. Are you referring to our build system or the MSVC tools? If the former, I wouldn't mind answering some questions about it. I know it has some complicated Make macrology, but it's better than spelling out each rule in full. Oh, don't get me wrong, I have no issues with it as an user (or even doing minor changes on *nix). However, understanding and translating those rules to Microsoft's tools required more sanity than I had available (or less sanity, I can't tell!). -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] replacement for rlwrap on MS Windows, MinGW
On Fri, Jul 19, 2013 at 3:42 PM, Claude Marinier claudem...@gmail.comwrote: Bonjour, Console2 (see URL below) is a reasonable replacement for 'rlwrap' or 'rlfe' when using csi on MS Windows, MinGW. Go to Edit / Settings and change the shell to csi. http://sourceforge.net/projects/console/ Actually, it's not that good. Does anyone have a good replacement for 'rlwrap' ? or something like Console2 but better suited? I heard emacs and slime can do this but that is intimidating for an old vi user. Merci. P.S. I know I could use Cygwin. I thought that Console2's development had been stopped. In any case, if you are looking for a better shell replacement, try ConEmu. It has everything that you could possibly want, even a quake-like console, text progress bar detection, tabs, copy and paste (with the right mouse button!) etc. Also, install Clink for the shell itself. https://code.google.com/p/conemu-maximus5/ I have yet to try running CSI under it, but will probably do it later. -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Wish list
On Sun, Feb 10, 2013 at 3:36 PM, Aleksej Saushev a...@inbox.ru wrote: Hello, I have talked to a user, and he reminded me of my past experience of using Chicken in production environment around four years ago. While many things improved since then, there're still some I'd like to have. 1. Distribute eggs by HTTP(S) and/or FTP(S). Today I have chicken-install -r, but it still is a specialized client. I don't quite understand what I can do if I'm in mildly hostile network where automatically configured proxy requires authentication mechanism chicken-install doesn't support. I have added some support for http proxies to chicken-install a long time ago. It does not support HTTP authentication, but it shouldn't be more than a couple of hours of work to add the required support. It would be trivial to add, except that chicken-install cannot itself rely on eggs to perform the work. I am no longer inside a proxy, so the motivation for doing that evaporated. How many people are using Chicken behind corporate proxies? 4. Support installation of eggs into directory other than $(chicken-install -repository). It would be nice to be able to install eggs into private area (for testing purposes, for migration purposes, just as developer convenience, whatever). This is supported already as others have pointed out, it's just not the default. My opinion is that the default repository should live under the current user's home directory (.chicken ?), so that no super-user permissions are necessary for installing eggs on development machines. Deployment setups could use a system-wide repo, as desired, or even bundle eggs with the deployed application. This would even allow multiple chicken versions to co-exist in the same machine (which is already possible, but requires some environment variable magic). -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Wish list
On Wed, Feb 13, 2013 at 4:27 PM, Mario Domenech Goulart mario.goul...@gmail.com wrote: On Wed, 13 Feb 2013 16:18:31 -0300 Stephen Eilert spedr...@gmail.com wrote: My opinion is that the default repository should live under the current user's home directory (.chicken ?), so that no super-user permissions are necessary for installing eggs on development machines. Deployment setups could use a system-wide repo, as desired, or even bundle eggs with the deployed application. This would even allow multiple chicken versions to co-exist in the same machine (which is already possible, but requires some environment variable magic). Maybe http://wiki.call-cc.org/eggref/4/chicken-belt#chicken-select ? I'll have a look. -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] How Lisp is going to save the world
Just saw this on Hacker News and found it awesome. The Scheme Guild is in there too! http://landoflisp.com/#guilds HN thread: http://news.ycombinator.com/item?id=5030803 -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] CSC -embedded
I'll try to create a simple test case to demonstrate the problem. It will take a few days, as there's a holiday here and I won't be touching computers much. -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools On Thu, Nov 15, 2012 at 6:50 AM, Christian Kellermann ck...@pestilenz.orgwrote: * Stephen Eilert spedr...@gmail.com [121115 04:19]: Hello again, I have tried compiling a scheme program, using both csc -e and csc -embedded in order to tell it not to generate a main() function, but it does it anyway. I was trying to generated a mainless .c file to embed inside another app. -DC_EMBEDDED does the trick, though. Was the option removed from csc? As I understand it, csc will invoke the linker with your scheme code *and* your c files. So you would have to provide the main() function there: csc -embedded t.scm main.c -- t executable. To help you further there I would need to know more about your problem. HTH, Christian -- In the world, there is nothing more submissive and weak than water. Yet for attacking that which is hard and strong, nothing can surpass it. --- Lao Tzu ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken Scheme for mobile devices?
Yes, please. I've been toying with this idea for quite a while now. Chicken already works without modification on iOS. However, since you cannot link to third party libraries dynamically, you'd have to compile two versions (x86 one for the simulator, ARM version for the device) and statically link to the correct version. What I have done previously (successfully), was to grab the generated C Chicken (runtime.c, srfi-1.c, ports.c, etc) and added to the XCode project. Then, I compiled my program and asked csc to just dump the .c files. I then added it to the project as well. Also added a Makefile so that they would get recompiled as necessary. That worked, I was even able to open a remote REPL and make changes and have them displayed in the device (the OpenGLES drawing code was written in Scheme). The advantage of this approach was that one doesn't need to care what the target device is. However, it is too 'hackish' for my tastes. Not to mention that it would be a pain to add eggs. But it proved that Chicken works fine on iOS. Since one can call Scheme functions from C, it is trivial to do so using Objective-C. The other way around should be possible too, but I haven't poked too much into Objective-C's internals yet. If all else fails, we could always write 'foreign code'. Building a cross compiler (and using the correct one in the iOS build system) is rather tedious, as is statically linking the correct eggs. If we had a tool to generate a 'template' project and maintain it, we'd have a winner. Actually building it could be accomplished by xcodebuild, as long as we add a build step that calls csc. I'm talking about iOS since that's what I am used to, but this could be even better under, say, Android. Anyone knows what the state of the NDK nowadays? Would we be able to create apps in mostly Scheme? -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools On Tue, Nov 13, 2012 at 4:09 PM, Andrew Pennebaker andrew.penneba...@gmail.com wrote: I see the beginnings of a Chicken Scheme port for Android: https://github.com/kristianlm/chicken-android I'd like to see ports for other mobile platforms (iOS, Windows Phone, Windows Surface). I'd prefer to write my mobile apps all in one FPL, and Chicken Scheme would be a fantastic choice. I'd also like to see more effort put into simplifying the build-to-mobile-app process. csi/csc are incredibly easy and intuitive, and I'd like to see a similar tool for one-step building runnable mobile apps from Chicken Scheme code. Maybe call it csm (Chicken Scheme Mobile)? Anyone interested? -- Cheers, Andrew Pennebaker www.yellosoft.us ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Installing the SDL Egg on OSX Montain Lion
On Wed, Nov 14, 2012 at 11:40 AM, Christian Kellermann ck...@pestilenz.orgwrote: * Stephen Eilert spedr...@gmail.com [121114 02:30]: Hello guys, Before I don the full diving suit, I'd like to know if any of you have pointers regarding building the SDL egg on OSX. I am doing some experiments which depend on SDL and Cairo which are both easy to install under Linux. But this is my main dev machine and I'd really like to get it working properly. Cairo was complaining about xcb-shm or something, which I fixed by setting PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig No such luck with SDL. I have tried installing and linking SDL with homebrew (actually, all packages with SDL on their names, to be sure: brew install sdl sdl_gfx sdl_image sdl_mixer sdl_net sdl_rtf sdl_sound sdl_ttf), then compiling the SDL egg. It gives me the linker errors below. I wondered if it was an arch problem, but it seems that both chicken and the library are x86-64. For instance: ??? file /usr/local/Cellar/sdl_net/1.2.8/lib/* /usr/local/Cellar/sdl_net/1.2.8/lib/libSDL_net-1.2.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64 /usr/local/Cellar/sdl_net/1.2.8/lib/libSDL_net.a: current ar archive random library /usr/local/Cellar/sdl_net/1.2.8/lib/libSDL_net.dylib: Mach-O 64-bit dynamically linked shared library x86_64 So I am not sure what the problem is. Any ideas? Just a small note: The sdl egg is also available as sdl-base, sdl-ttf, sdl-net, etc. so if you don't need everything you can concentrate on the parts you actually need. The sdl egg has been left as is for backwards compatibility. Thanks for the help guys. I only need sdl-base for now (later on, sdl-ttf will be required) and installing just sdl-base worked (compiled and linked). I am getting a NSInternalConsistencyException now but I recall reading something about it in the documentation. sdl_net was already linked to /usr/local/lib, so I am not sure what went wrong, I will investigate when I get more free time. My feeling is that there are some missing functions (maybe due to the version I have?), I'll dump the symbols to check. Also, pkg-config output: $ pkg-config --libs sdl -Wl,-framework,Cocoa -L/usr/local/lib -lSDLmain -lSDL -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] CSC -embedded
Hello again, I have tried compiling a scheme program, using both csc -e and csc -embedded in order to tell it not to generate a main() function, but it does it anyway. I was trying to generated a mainless .c file to embed inside another app. -DC_EMBEDDED does the trick, though. Was the option removed from csc? -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Installing the SDL Egg on OSX Montain Lion
Hello guys, Before I don the full diving suit, I'd like to know if any of you have pointers regarding building the SDL egg on OSX. I am doing some experiments which depend on SDL and Cairo which are both easy to install under Linux. But this is my main dev machine and I'd really like to get it working properly. Cairo was complaining about xcb-shm or something, which I fixed by setting PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig No such luck with SDL. I have tried installing and linking SDL with homebrew (actually, all packages with SDL on their names, to be sure: brew install sdl sdl_gfx sdl_image sdl_mixer sdl_net sdl_rtf sdl_sound sdl_ttf), then compiling the SDL egg. It gives me the linker errors below. I wondered if it was an arch problem, but it seems that both chicken and the library are x86-64. For instance: ⌘ file /usr/local/Cellar/sdl_net/1.2.8/lib/* /usr/local/Cellar/sdl_net/1.2.8/lib/libSDL_net-1.2.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64 /usr/local/Cellar/sdl_net/1.2.8/lib/libSDL_net.a: current ar archive random library /usr/local/Cellar/sdl_net/1.2.8/lib/libSDL_net.dylib: Mach-O 64-bit dynamically linked shared library x86_64 So I am not sure what the problem is. Any ideas? -- ⌘ chicken-install sdl retrieving ... connecting to host chicken.kitten-technologies.co.uk, port 80 ... requesting /henrietta.cgi?name=sdlmode=default ... reading response ... HTTP/1.1 200 OK Date: Wed, 14 Nov 2012 01:27:33 GMT Server: Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.9-dev DAV/2 SVN/1.6.17 PHP/5.2.17 mod_fastcgi/2.4.6 Connection: close Transfer-Encoding: chunked Content-Type: text/plain reading chunks reading files ... ./Makefile ./COPYING ./test-heap.scm ./heap.scm ./keysym.scm ./sdl-csi.scm ./sdl.meta ./sdl.scm ./sdl.setup ./test-sdl-body.scm ./test-net.scm ./unknown2-scale8.jpg ./test-sdl.scm ./timer.scm sdl located at /var/folders/bj/zgyqckpd3pscphz33fc9sny0gn/T/tempaf86.28431/sdl checking platform for `sdl' ... checking dependencies for `sdl' ... install order: (sdl) installing sdl:0.5.5 ... changing current directory to /var/folders/bj/zgyqckpd3pscphz33fc9sny0gn/T/tempaf86.28431/sdl /usr/local/Cellar/chicken/4.8.0/bin/csi -bnq -setup-mode -e (require-library setup-api) -e (import setup-api) -e (setup-error-handling) -e (extension-name-and-version '(\sdl\ \0.5.5\)) /var/folders/bj/zgyqckpd3pscphz33fc9sny0gn/T/tempaf86.28431/sdl/sdl.setup /usr/local/Cellar/chicken/4.8.0/bin/csc -feature compiling-extension -setup-mode-s -O3 -d1 sdl.scm -j sdl -lSDL -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -L/usr/local/lib -lSDLmain -lSDL -C -Wl,-framework,Cocoa clang: warning: -Wl,-framework,Cocoa: 'linker' input unused when '-c' is present sdl.c:1315:35: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] C_r=C_mk_bool(SDL_VideoDriverName(t0,t1)); ~~^~~ /usr/local/Cellar/chicken/4.8.0/include/chicken/chicken.h:972:38: note: expanded from macro 'C_mk_bool' #define C_mk_bool(x) ((x) ? C_SCHEME_TRUE : C_SCHEME_FALSE) ^ /usr/local/include/SDL/SDL_video.h:284:58: note: passing argument to parameter 'namebuf' here extern DECLSPEC char * SDLCALL SDL_VideoDriverName(char *namebuf, int maxlen); ^ 1 warning generated. Undefined symbols for architecture x86_64: _IMG_Load, referenced from: _f_9949 in sdl.o _f_9959 in sdl.o _SDLNet_AddSocket, referenced from: _f_10561 in sdl.o _SDLNet_CheckSockets, referenced from: _stub4005 in sdl.o _SDLNet_DelSocket, referenced from: _f_10583 in sdl.o _SDLNet_Init, referenced from: _f_10220 in sdl.o _SDLNet_Quit, referenced from: _f_10224 in sdl.o _SDLNet_ResolveHost, referenced from: _f_10233 in sdl.o _f_10240 in sdl.o _SDLNet_ResolveIP, referenced from: _f_10263 in sdl.o _SDLNet_TCP_Accept, referenced from: _f_10333 in sdl.o _SDLNet_TCP_Close, referenced from: _f_10442 in sdl.o _SDLNet_TCP_GetPeerAddress, referenced from: _f_10362 in sdl.o _SDLNet_TCP_Open, referenced from: _f_10308 in sdl.o _SDLNet_TCP_Recv, referenced from: _f_10412 in sdl.o _SDLNet_TCP_Send, referenced from: _f_10383 in sdl.o _TTF_CloseFont, referenced from: _f_9498 in sdl.o _TTF_FontAscent, referenced from: _f_9557 in sdl.o _TTF_FontDescent, referenced from: _f_9570 in sdl.o _TTF_FontFaceFamilyName, referenced from: _f_9626 in sdl.o _TTF_FontFaceIsFixedWidth, referenced from: _f_9609 in sdl.o _TTF_FontFaceStyleName, referenced from: _f_9643 in sdl.o _TTF_FontFaces, referenced from: _f_9596 in sdl.o _TTF_FontHeight, referenced from:
[Chicken-users] OCD Egg
Hello guys, I know it's been a while, I've been quite busy the last few months. Unfortunatly, that's not Chicken-related :( However, I want to redeem myself. Therefore, I am requesting comments on a simple egg I've made. It is not yet what you would consider stable, but I am already using it for some time now to develop my projects. For those who know them, it is similar to 'autotest' or 'guard'. That is, it scans the filesystem and runs a command whenever the files it is interested in have changed. This is useful specially for those who like to code using tests. Its default behaviour is to scan for .scm files in the current directory and, whenever any files have changed their timestamps, it tries to run a Makefile. You can customize it somewhat with a .ocdrc file, in order to filter a different file set, or run a different command when they have changed. You can force a run by hitting Control+C, or abort it hitting Control+C twice. It is currently missing support for inotify (or fsevent under OSX), so it needs to poll the filesystem (by default, every two seconds). This might be a problem for large projects, but so far this has not bothered me much. So, what do you guys think? I intend to improve it some more if at least one more person finds it useful :) This is the repository: https://github.com/outworlder/OCD -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Building Chicken on OS X Lion
Have you got homebrew? It just works for me. == Downloading http://code.call-cc.org/releases/4.7.0/chicken-4.7.0.6.tar.gz 100.0% == make PREFIX=/usr/local/Cellar/chicken/4.7.0.6 PLATFORM=macosx C_COMPILER=cc ARCH=x86-64 == make install PREFIX=/usr/local/Cellar/chicken/4.7.0.6 PLATFORM=macosx C_COMPILER=cc ARCH=x86-64 /usr/local/Cellar/chicken/4.7.0.6: 106 files, 16M, built in 2.8 minutes -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools On Fri, Aug 31, 2012 at 9:31 AM, Hans Nowak zephyrfal...@gmail.com wrote: Hi, I am still having problems building/installing Chicken on OS X Lion, even with the new version 4.7.0.6 and 4.8rc2. Here is a paste of the output when I do make install; it hangs at loading import libraries. http://paste.call-cc.org/**paste?id=**a7fd2260fb3540a24db2fbd703607a** 0555446589http://paste.call-cc.org/paste?id=a7fd2260fb3540a24db2fbd703607a0555446589 I am probably doing something wrong, or have the wrong version of something or another, but what? Any tips welcome. Thanks, -- Hans Nowak __**_ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/**mailman/listinfo/chicken-usershttps://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] ANN: Lowdown, a pure Chicken Markdown parser
On Sun, Aug 5, 2012 at 2:27 PM, Moritz Heidkamp mor...@twoticketsplease.dewrote: Fellow Chickeneers, yesterday I released the first version of Lowdown, a Markdown parser written in pure Chicken Scheme. The only other Markdown parser egg we had so far, discount, requires the corresponding C library and can only read and emit strings. Lowdown doesn't have any foreign dependencies, can read from strings or input ports (well, any lazy-seq of chars, really) and emits SXML. It passes all 22 tests of MarkdownTest version 1.0.3. I also started implementing a very basic extension API but that's not ready for public consumption, yet. For more information, check the documentation at the usual place: http://wiki.call-cc.org/eggref/4/lowdown Hope it's useful to anyone! Cool! I must apologize, btw. I was written something that required a Markdown parser and I didn't feel like going on this huge detour to write a Markdown parser in Scheme, so I just used the Discount library and that's it. And reading and emitting strings is actually a nicer interface than what you'd normally write with Discount - took me a while to backtrack and redo it, it was going to be something much more complex to begin with. In any case, I am not to sad to see the Discount egg die. Give it an horrible death. -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] ANN: Lowdown, a pure Chicken Markdown parser
On Mon, Aug 6, 2012 at 4:49 PM, Peter Bex peter@xs4all.nl wrote: On Mon, Aug 06, 2012 at 04:40:44PM -0300, Stephen Eilert wrote: Cool! I must apologize, btw. I was written something that required a Markdown parser and I didn't feel like going on this huge detour to write a Markdown parser in Scheme, so I just used the Discount library and that's it. That's perfectly fine. Writing a parser yourself is a lot of work, and you probably had bigger fish to fry at the time. Remember, Chicken is *practical* Scheme system. We get shit done around here! And reading and emitting strings is actually a nicer interface than what you'd normally write with Discount - took me a while to backtrack and redo it, it was going to be something much more complex to begin with. In any case, I am not to sad to see the Discount egg die. Give it an horrible death. If this is how you feel about the egg, I think it's probably a good idea to change its category to deprecated, and put a note on the wiki page pointing people to the lowdown egg. This provides some transparency about the egg's status, and guides people's expectations. I don't hate it. However, since we have a pure Chicken version, I see no reason to have it around. Unless it turns out there are people besides me using it. In that case, I could give it some love. -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [ANN] chicken-belt 0.0.6: Introducing chicken-hatch
On Sun, May 20, 2012 at 5:42 PM, Moritz Heidkamp mor...@twoticketsplease.de wrote: Fellow Chickeneers, I would like to announce version 0.0.6 of the chicken-belt egg. The main novelty is the chicken-hatch program which should come in handy when creating new eggs. It interactively asks for a few things such as egg category (by presenting a list to choose from - this should hopefully reduce the use of invalid egg categories) and generates a skeleton egg directory from that. Its feature set is currently very minimal but I hope it's already somewhat useful! Fantastic :)I've had this idea before, but ideas are worth nothing unless implemented. Can we run it under an existing directory? If, for instance, we have a program we'd like to eggfy. -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Building a web store in Chicken scheme
On Tue, May 8, 2012 at 9:30 AM, yuval ylan...@gmail.com wrote: First question If I will use the chicken scheme fastcgi Is it possible to find a cheap deployment host on the Internet. Nowadays, this is not much of a problem. There are many options, such as Heroku or Amazon EC2 instances (*almost* free under the free tier). -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken on Heroku
On Thursday, March 22, 2012, Evan Hanson wrote: A few days ago I put together a buildpack that allows one to run Chicken apps on Heroku; figured I'd share it here in case someone else finds it useful. Awesome! Thanks. -- Stephen -- -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] case vs. eq? - just curious ....
On Sat, Mar 3, 2012 at 3:31 PM, Peter Bex peter@xs4all.nl wrote: But the disadvantage is of course that it also means you can't use the power of these facilities when they are called for (see also the lack of general SLIME integration for Scheme). Precisely! Being able to introspect and patch code at runtime could lead to nifty development tools indeed, even if they were only available on 'csi'. -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] llvm patches integrated (was: Installing on Mac OS 10.7.3)
On Sat, Feb 18, 2012 at 8:21 PM, Jim Ursetto zbignie...@gmail.com wrote: All LLVM patches are now integrated into stability 4.7.0.5-st and the stability tarball (http://wiki.call-cc.org/stability), as well as master. So the dance below is no longer necessary. Additionally, these patches fix llvm-gcc and clang builds on Linux as well. Users are encouraged to test this out if interested. At the least, it seems to speed up the build process, along with the chicken compiler. Works beautifully! *Does happy Chicken dance* I changed the homebrew formula and it worked right away. I could always submit a pull request and point the formula to the stability branches, instead of the latest release. -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Installing on Mac OS 10.7.3
On Tue, Feb 14, 2012 at 12:28 PM, Jim Ursetto zbignie...@gmail.com wrote: On Feb 14, 2012, at 9:26 AM, Jim Ursetto wrote: This works with XCode 4.2 on Lion. If this works without hanging, you're done. If you have already upgraded to XCode 4.3... Oops. I meant it works until XCode 4.2, and if you upgraded to XCode 4.2 already (which you probably have) then you have to follow the other alternate instructions. Even I am confused. Jim So, in case one has upgraded to XCode 4.3 already and doesn't have a chicken binary anymore... -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken objc egg on OSX Lion
On Sat, Nov 19, 2011 at 5:55 PM, Jim Ursetto zbignie...@gmail.com wrote: On Nov 19, 2011, at 11:01 AM, Achint Sandhu wrote: The cleanest option I have found so far is the objective-C extension for Chicken Scheme (http://wiki.call-cc.org/eggref/4/objc), which I'm having trouble installing on 10.7. A quick google search reveals http://lists.gnu.org/archive/html/chicken-users/2010-12/msg00041.html and http://comments.gmane.org/gmane.lisp.scheme.chicken/12638 which seem to indicate that the objc extension isn't being actively developed and/or maintained. Correct, objc is not supported on 10.6 or higher, due to significant internal changes from Objective C 1.0 to 2.0 in that version. Sorry for digging up an old thread but, what would those significant internal changes be? Where would one have to begin in order to understand the code? -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [ANN] Web and GUI related libraries
On Fri, Sep 23, 2011 at 11:55 PM, Thomas Chust ch...@web.de wrote: Hello, I've been playing around with two small library projects related to web and GUI development: * http://www.chust.org/fossils/webkit A CHICKEN binding to WebKitGTK+ and JavaScriptCore. Runs a GTK+ event loop in a CHICKEN thread, allows you to display HTML as a GUI and to interact with the DOM and other JavaScript objects as if they were Scheme values. YEH! Thanks for that! It could lead to awesome stuff. -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Coops print-object, error handling and flaming koalas
Today I hit a problem with some trivial code I wrote using Coops that I just couldn't figure out. The relevant code is here: http://paste.call-cc.org/paste?id=d09b2c1438a7f063c07cd089fb3e74c68d0b2804 Yeah, I forgot to add the port argument. In any case, Coops' error message is misleading: #no print-method defined for: #coops instance of `color' There is a method alright, it's just crashing :) Now, This is how coops handles the situation: (define-record-printer (coops-instance obj out) (handle-exceptions ex (begin (display #no print-method defined for: out) (default-print-method obj out) (display out)) (print-object obj out) ) ) It will display the same error message regardless of the condition. So let's modify it to see what it was: (define-record-printer (coops-instance obj out) (handle-exceptions ex (begin (display ((condition-property-accessor 'exn 'message))) ; (display #no print-method defined for: out) (default-print-method obj out) (display out)) (print-object obj out) ) ) The actual error is thus: #Error in printer of record type `coops-instance': bad argument count - received 0 but expected 1 which is an (exn arity), in my code. As pointed out by sjaaman, it should only catch the dispatch error. I could create a patch to do that, but I am not confortable enough with coops' code at this point and I am sure the error handling could be improved in ways I can't even see yet.. Also, there are no flaming koalas. -- Stephen *Kids these days.* *Whatever happened to hard work?* -- Joel Spolsky, The perils of javaschools ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] ANN: The `str#' macro
On Sat, Jun 25, 2011 at 2:59 PM, Kon Lovett konlov...@gmail.com wrote: Hi, Just added `str#' to the moremacros egg. It behaves like ## but for regular strings. Might be useful. (str# (+ 1 2) = #{(+ 1 2)}) = (+ 1 2) = 3 = (conc (+ 1 2) = (+ 1 2)) (str# (+ 1 2) = #(+ 1 2)) = (+ 1 2) = 3 = (conc (+ 1 2) = (+ 1 2)) (str# #{23}###{45}) = 23#45 = (conc 23 # 45) (Does not require data-structures to be imported even though conc is used.) Best Wishes, Kon Fi fa fo fum... I smell the blood of Ruby... --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Chicken-IUP installer is down
As the title says, http://www.kiatoa.com/cgi-bin/chicken-iup/home is down. It says The database schema on the server is out-of-date. Please ask the administrator to run fossil rebuild. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] IUP Web
On Sat, May 21, 2011 at 3:15 PM, Thomas Chust ch...@web.de wrote: 2011/5/20 Stephen Eilert spedr...@gmail.com: [...] The following link seems to indicate that there should be an IUP-WEB egg. Henrietta doesn't know about it though. [...] Hello Stephen, the iup-web library is part of the iup egg distribution. It is compiled and installed automatically together with the rest of the IUP bindings if the necessary backend libraries are available. Alright. I should be missing libraries then, because iup-web doesn't seem to get built. How do I troubleshoot it? I can't find a single mention of the word web in the sources. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] IUP Web
Guys, The following link seems to indicate that there should be an IUP-WEB egg. Henrietta doesn't know about it though. http://www.chust.org/fossils/iup/doc/trunk/api/web.wiki --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [wish list] chicken-install: show available eggs, upgrade all installed eggs?
On Thu, May 5, 2011 at 7:06 AM, Felix fe...@call-with-current-continuation.org wrote: Hello! It would be good to be able to show available eggs when installing an egg, such that user can grep and find wanted eggs quickly without having to browse at http://wiki.call-cc.org/chicken-projects/egg- index-4.html. Simply a text dump of that html page would help much. That is possible, but would require a regularly updated master document somewhere on our server. Henrietta already provides a list of eggs to chicken-install. I suppose that could be used, if we don't care about showing egg descriptions in such a list. The other feature is being able to upgrade all installed eggs after, for instance, upgrading chicken. Then i don't have to reinstall each missing one by one, desperately. That has been requested repeatedly in the past, but I'm sceptical. Bulk updates like that make it extremely easy to break everything, unless you have a very rigid control over the stability of the currently available extensions. The egg repository is actually pretty good in that regard, but still, broken eggs and broken dependencies slip in from time to time. We are quick to fix those, but something like a bulk update could easily result in broken installations. For example, I may have several applications that use one or the other installed egg. Those eggs may be out of date, but I'm more interested in having my system running, so when I install new extensions, chicken-install will warn me when an egg requires higher versions and I have the choice to think twice about whether I want to do that or not. But only if you already know which versions you are supposed to be using. For deployed code, I guess you could take the list from a running server, manually. For code sitting in a repository, it doesn't work like that. Even when you do know the versions, it could get tedious. However, you've already provided the solution for that, your 'overrides' :) --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Difficulty installing Hyde egg
On Sun, Apr 3, 2011 at 3:06 PM, John Magolske listm...@b79.net wrote: Hi all, I'd like to to install the Hyde egg into a location in my home directory: % chicken-install -v 4.6.0 % echo $CHICKEN_REPOSITORY /home/john/.chicken/lib/chicken/5 % echo $CHICKEN_INCLUDE_PATH /home/john/.chicken/lib/chicken/5 % chicken-install -p ~/.chicken/lib/chicken/5 hyde But the install gets stuck here: [...] Warning: extension `defstruct' is currently not installed Syntax error (import): cannot import from undefined module defstruct Expansion history: syntax (import matchable) syntax (import scheme chicken) syntax (##core#undefined) syntax (##core#undefined) syntax (##core#begin (##core#begin (##sys#require (quote defstruct)) (import defstruct)) (##core#begin (##c.. syntax (##core#begin (##sys#require (quote defstruct)) (import defstruct)) syntax (##sys#require (quote defstruct)) syntax (quote defstruct) syntax (##core#quote defstruct) syntax (import defstruct) -- Error: shell command terminated with non-zero exit status 17920: /usr/bin/chicken uri-generic.scm -output-file uri-generic.c - dynamic -feature chicken-compile-shared -feature compiling-extension -setup-mode -optimize-level 2 -emit-import-library uri- generic Error: shell command failed with nonzero exit status 256: /usr/bin/csc -feature compiling-extension -setup-mode -s -O2 uri-generic.scm -j uri-generic Error: shell command terminated with nonzero exit code 17920 /usr/bin/csi -bnq -setup-mode -e \(require-library setup-api)\ -e \(import s... I tried installing defstruct first: % chicken-install -p ~/.chicken/lib/chicken/5 defstruct Which installed without error. But I still get the above `defstruct' is currently not installed error when trying to install Hyde again. Am I overlooking something? I'm using Debian Sid, and have installed Chicken using aptitude. Are you able to install it without using the custom prefix? --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] ANN: Test version of new egg release system available
On Thu, Mar 31, 2011 at 11:34 AM, John Cowan co...@mercury.ccil.org wrote: Peter Bex scripsit: We're actually still looking for a good way to handle this. Currently egg authors must contact one of the usual suspects to have them update or add a location. I think it's a Good Thing to have some human gatekeeping here. We really don't want the egg repository filled with random eggs with misleading, obscene, or spammy names. Perhaps, even though I find that very unlikely. Human interaction shouldn't be more complicated than pushing a button somewhere to 'approve' said egg, tho. Everything else should be automated. -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Creating Windows GUI App
On Thu, Mar 31, 2011 at 1:46 PM, Thomas Chust ch...@web.de wrote: 2011/3/31 Steve Graham jsgraha...@yahoo.com Can someone point me to some info on this? Hello Steve, there is compiler support for executables marked as GUI applications through the -gui command line option. But to actually create a GUI, you will have to use one of the eggs providing bindings for user interface toolkits [1]. All the Tk and Qt based ones should, in principle, work under Windows. The IUP binding is also known to work under Windows. Also does Chicken Scheme have a method for accessing databases? Yes, check the eggs providing database functionality [2]. However, there is currently no database-independent layer like Perl's DBI module that provides a uniform API for all other relational database drivers. Oh, that's been one of my pet peeves for a long time now. The closest we have is awful's $db procedure. I've toyed with the idea, but I am afraid I'm not knowledgeable enough about all RDBMS to come up with a decent API. Any suggestions? -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: dbus:send bug
On Wed, Mar 16, 2011 at 2:03 PM, Mario Domenech Goulart mario.goul...@gmail.com wrote: Hi John, On Wed, 16 Mar 2011 12:55:54 -0400 John J Foerch jjfoe...@earthlink.net wrote: Christian Kellermann ck...@pestilenz.org writes: This is misleading. It should say send a signal instead of message. The second clause is also misleading, because there is simply no response to wait for. Then the examples just need to be fixed up to use dbus:call instead of dbus:send. The second example uses dbus:send-and-await-reply, which isn't even part of the api. It seems to have a different call form from dbus:call, so we would have to examine that more closely and figure out what the intent was. First of all, thanks for your detailed report! As you are the first user of this egg after a long time I would suspect some bitrot. Please feel free to change the wiki page as you see fit and maybe send patches for the egg to the author, maybe cc'ed to this list. I hope you are not put off by all the dust that has set on this extension. Let's make it better! Okay, great. For some reason I hadn't noticed that I could edit that page. I thought the egg pages were auto-generated from inline comments in the eggs themselves (or something). So I will work on cleaning that up and contact the author about the couple of bugs I've found in the code itself. Excellent. Documentation for eggs is usually manually written. As far as I know, nobody uses automatic extraction of comments from code. And that's a shame. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: dbus:send bug
On Wed, Mar 16, 2011 at 3:34 PM, Peter Bex peter@xs4all.nl wrote: On Wed, Mar 16, 2011 at 02:58:59PM -0300, Stephen Eilert wrote: Documentation for eggs is usually manually written. As far as I know, nobody uses automatic extraction of comments from code. And that's a shame. Why? Almost all the extracted documentation I've seen is of shitty quality; people tend to use automatic extraction of docs as an excuse not to write proper documentation. As opposed to not writing it at all, or having it get out of sync with the code, as they live in different places. Also, it is trivial to extract documentation for, say, an older egg version. Which is in sync with the code, by default. When you have documentation in the code, it goes wherever that code goes. Also, writing documentation by hand forces one to think about writing it in a way that it can be read from beginning to end and have it make sense. But that's usually done after the code has been written, as an afterthought. Having documentation on a wiki means people can add notes about and rewrite sections they found difficult or hard to understand, thereby increasing overall quality. Notes can be added no matter how the documentation is generated. As for rewriting sections, I agree with you - it is easier in a wiki. It would be helpful to know how often that happens in practice, though. One can make the argument that it would be *easier* to document the code because you are looking at it, it is sitting right next to the docs. If you are reading it in the source you can even spot the fact that, say, a function's arguments are documented wrong, because you can see it right there. Finally, when the inline documentation *is* done really well, you end up with a lot of documentation getting in the way when you're trying to read the code. That is also true. See, for instance, ActiveRecord. It has benefits too - you can see the documentation right next to the section you are editing or trying to understand and breaks up code sections visually (when done well). I have stopped complaining about the lack of docstrings when chicken-doc (and chickadee) was created. It is not an ideal solution (from my point of view), but it mostly solves the problem of retrieving the documentation for chicken and eggs in the repository. However, I still think that it could be useful. If not for Core and Eggs, then perhaps for our own Scheme projects. Maybe some hack using Hyde? --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: dbus:send bug
On Wed, Mar 16, 2011 at 5:46 PM, Peter Bex peter@xs4all.nl wrote: On Wed, Mar 16, 2011 at 04:39:46PM -0400, John Cowan wrote: Egg documentation should not be documentation of the code (implementation) of the egg, but of its interface. Thank you for that. You made my point more concisely than I could ever hope to. Very well. I'll stop the bikeshedding. For now. Mwahahahah. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Fwd: [lisp-game-dev] industry journal article on lisp in games
Not related to Chicken specifically, but I found it to be an interesting read. --Stephen Sent from my Emacs -- Forwarded message -- From: David O'Toole dto1...@gmail.com Date: Mon, Mar 14, 2011 at 1:55 AM Subject: [lisp-game-dev] industry journal article on lisp in games To: lisp-game-dev lisp-game-...@common-lisp.net I found this really interesting industry article on Lisp in game development (link below) Apparently this is being republished from a print journal, so I'm not sure if anyone here has read it before. I've read a chunk of the article and it's fascinating to finally see more details on the legendary GOOL (predecessor of GOAL) used in some very popular Playstation 2 games. http://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/ Let's put more of our knowledge on the mailing list so that Google (and people who don't use IRC) can see it :) I'll post thoughts after I finish reading. ___ lisp-game-dev mailing list lisp-game-...@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/lisp-game-dev ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] raw packet interface
On Mar 9, 2011, at 10:29 PM, Nicolas Pelletier wrote: Hello Chickenistas, As part of testing a network appliance (router/firewall etc...), I'd like to be able to read and write arbitrary data to the network. So I'm wondering if somebody has already some tools to interface to low-level networking services, such as BPF, libpcap... I am trying to find error cases in the handling of incoming packets in the appliance; I do not need throughput performance nor very precise timings. I am running under FreeBSD 8.1. I'd be grateful for any advice. I am not aware anyone doing raw packet access in Scheme. Do you think that bindings for libpcap would be enough for your purposes? -- Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Mac OS X Installation
2011/3/3 Andrew Pennebaker andrew.penneba...@gmail.com: At http://wiki.call-cc.org/platforms#macports, users are instructed to install Chicken using MacPorts, then a caveat about a missing dylib file, then instructions for installing Chicken using Homebrew. Since MacPorts Chicken is broken, why not list the Homebrew option first. New schemers (myself included) will do the first option listed, nevermind that it's the more problematic one. Probably just because Homebrew is newer and not many people use it (compared to MacPorts). But the homebrew install works fine at the moment (it installs 4.6.0). I have even added an option to install Chicken from Git head - not sure it made upstream. It will require a previous Chicken install, as it is not aware of any bootstrapping requirements. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] coops
On Wed, Feb 2, 2011 at 2:24 PM, sch...@uni-potsdam.de wrote: Sometimes the simplest solution are the hardest to see. I do not have to use coops-primitive-objects, I can define my own hierarchie of primitive objects. That is my experience as well. Every time I import coops-primitive-objects, I end up removing it some time later. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] coops
On Wed, Feb 2, 2011 at 5:29 PM, Felix fe...@call-with-current-continuation.org wrote: From: Stephen Eilert spedr...@gmail.com Subject: Re: [Chicken-users] coops Date: Wed, 2 Feb 2011 15:32:33 -0300 On Wed, Feb 2, 2011 at 2:24 PM, sch...@uni-potsdam.de wrote: Sometimes the simplest solution are the hardest to see. I do not have to use coops-primitive-objects, I can define my own hierarchie of primitive objects. That is my experience as well. Every time I import coops-primitive-objects, I end up removing it some time later. After all the work I put into it? My heart bleeds ... I've yet to define generic methods on, say, continuations or threads. I assume coops-primitive-objects will be much more useful for those. The issue is not with coops-primitive-objects. Instead, as a program progresses it is sometimes useful to redefine old functions and have them accept more 'specialized' objects. Maybe that's just me. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] readline egg (OS X 10.6.6 / Chicken 4.6.0)
On Wed, Jan 26, 2011 at 8:59 AM, David Dreisigmeyer dwdreisigme...@gmail.com wrote: This version of Chicken is not from Macports, but readline is. I had tried various CSC_OPTIONS in my .profile, e.g.: export CSC_OPTIONS=-L/opt/local/lib -I/opt/local/include export CSC_OPTIONS=-L/opt/local/lib -I/opt/local/include/readline and also using the -rpath flag after your suggestion. None of these worked though, and I always received the error: What about setting LIBRARY_PATH: export LIBRARY_PATH=/opt/local/lib I'm using Homebrew instead of macports nowadays, but I had to install readline yesterday and setting LIBRARY_PATH and CSC_OPTIONS did the trick (after symlinking to usr/local with 'brew link readline'). --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] The following code causes a segfault in the chicken interpreter (forwarded)
2011/1/17 Mario Domenech Goulart mario.goul...@gmail.com: -- http://parenteses.org/mario -- Forwarded message -- From: Tom Ostojich tostoj...@gmail.com To: mario.goul...@gmail.com Date: Mon, 17 Jan 2011 13:13:38 -0600 Subject: The following code causes a segfault in the chicken interpreter Hey, Using csi version 4.2.0 on GNU/Linux (Ubuntu 10.04) built for x86 causes a segfault when the following code is evaluated: (define-syntax ∫ (syntax rules () ((∫ x ...) '(x ... (∫ x ^2 + x + 1 dx) Considering that segfaults are fairly serious, I figured that it I should let you know. Thanks for reading, Tom ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users Can't reproduce that here. Chicken 4.6.0, ubuntu 10.04 --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: seg fault
On Tue, Nov 30, 2010 at 11:51 AM, David Dreisigmeyer dwdreisigme...@gmail.com wrote: You can do this to default to 64-bit, versus 32-bit: http://www.overclock.net/mac/564147-how-enable-64-bit-default-os.html Does it help with this specific issue? Even with a 32-bit kernel (and extensions), OSX will run 64bit applications just fine. Furthermore, some machines cannot enable the 64-bit kernel (my White Macbook doesn't seem to be able to, for instance). --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] upgrading to 4.6.0 in Arch
On Fri, Nov 12, 2010 at 6:09 AM, Felix fe...@call-with-current-continuation.org wrote: From: Hugo Arregui hugo.arre...@gmail.com Subject: [Chicken-users] upgrading to 4.6.0 in Arch Date: Thu, 11 Nov 2010 11:14:10 -0300 Hi everyone, I have a few doubts after the upgrade: - Which is the right procedure to upgrade eggs? There is no standard procedure for this. Just upgrade eggs as you need them, keep the old ones in case they are working or simply uninstall and reinstall everything you need. Automatic upgrading has turned out to be too fragile and complex and fresh installation usually works smoothly enough. On that note, perhaps something to show 'outdated' eggs could be helpful. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Trouble with FFI and 64 bit machines
Hi guys, As some of you might be aware, I am creating bindings for the Discount (http://www.pell.portland.or.us/~orc/Code/discount/) library. However, I have run into a problem. When testing on my OSX (Snow Leopard) machine with a 64 bit chicken, I get a segfault. After some debugging (and Ventonegro's help), I've narrowed it down to the following definition: (define mkd_in (foreign-lambda c-pointer mkd_in c-pointer int)) The function being bound is MMIOT* mkd_in(FILE *f, int flags) (where MMIOT is defined as void by the header file), which returns a pointer that is fed to the 'markdown' function for processing and blows up the first time it is dereferenced. I get the following compilation warning, which is likely the source of the corrupt pointer: csc -c testcase.scm testcase.c: In function 'stub3': testcase.c:31: warning: cast to pointer from integer of different size Even though I get the same warnings under Ubuntu 64, it runs fine. To reproduce the warning: Just create a file containing the above foreign-lambda and compile it with csc -c. The full code is in github: git://github.com/spedrosa/Discount.git (requires libmarkdown) I'll do more OSX tests later today, but assistance would be helpful :) --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Trouble with FFI and 64 bit machines
On Fri, Oct 8, 2010 at 3:58 PM, Peter Bex peter@xs4all.nl wrote: I'm not sure if that's the problem with your egg, but this results in a compiler warning because there's no prototype for that function, so C assumes the return value's type is 'int', which is indeed a different size than void * on x86_64. Adding (foreign-declare void *mkd_in(void *, int);) in front of that code causes it to compile without warnings. Perhaps you should figure out whether the header file is being included properly. Maybe you can temporarily put a #error hi just before the function's prototype in the header file, so you can see if it's not skipping the prototype due to a #ifdef or something equally silly. The reason was something even more silly: I was not including the header file at all. Turning on -Wall reveals that yes, the prototype was missing. GCC is appeased now. I'll test it on OSX later, but it is likely that this will fix the problem. Thanks, --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Scheme code to be read
On Wed, Aug 18, 2010 at 12:02 PM, Christiano F. Haesbaert haesba...@haesbaert.org wrote: Hi there, I'm in the point that I can code most stuff in scheme, but I do it poorly mainly cause I'm not familiar with the basic SRFIs, the language itself and good scheme practices, read: I do not know the scheme coding *culture*. Far too many times I ended up coding something which already existed, or doing something really stupid (that worked). Can you guys point me to some good scheme code ? I believe this is the only way to learn. Thanks. From time to time I download egg sources and study them. It has proven very instructive. --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] sql-de-lite integrated SQLite3 library
On Thu, Aug 12, 2010 at 2:21 AM, Jim Ursetto zbignie...@gmail.com wrote: Hi there. SQLite3 is a great, lightweight database, but I have hesitated to use it in Chicken applications because it's not guaranteed to be installed or recent enough on a user's machine -- especially if they're on Windows or OS X. Installing it can be an annoying extra step for your users. To that end, I've updated the sql-de-lite egg to include an integrated SQLite3 library, currently 3.7.0.1. At installation time, the egg will auto-detect whether your system library is present and recent enough. If so, it links against your system library; if not, it links against the built-in library. It's also possible to override the auto-detection if desired. The goal is to allow you to just depend on sql-de-lite in your application and not worry about whether the library is installed or too old. SQLite3 is a great replacement for ad-hoc file formats and, even if you are not a fan of SQL, the underlying database tech is top-notch. Integrated build has been tested on OS X 10.5, mingw32, and Ubuntu 10.04. Just run `chicken-install -test sql-de-lite` if you would like to test it out, and please report back any bugs or successes. For more details, see http://3e8.org/chickadee/sql-de-lite#sec:Installation. Hey, that's awesome :) --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] (apparently) solved; patch attached -- was: clueless about memory consumption.
2010/7/26 Jörg F. Wittenberger joerg.wittenber...@softeyes.net: Struggling with git I apparently and unintentionally committed some changes locally. No idea how to undo that. git reset last 'good' commit --hard should undo the changes. In any case, how are you generating the diffs? with git diff or git format-patch? --Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Exporting proc and macro that references it?
Try (define-for-syntax (register) #f) --Stephen Sent from my Emacs On Mon, Jul 5, 2010 at 10:45 AM, Alejandro Forero Cuervo a...@freaks-unidos.net wrote: Oh, BTW, the meta file has a needs entry that you'll probably want to remove while testing this. Alejo. http://azul.freaks-unidos.net/ ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Chicken-install and http_proxy
Hi guys, It is standard for Linux to configure HTTP proxies using the http_proxy environment variable, as I had to discover painfully at work. Graphical tools (like Gnome's proxy settings) will even set it automatically. The -proxy option in chicken-install is handy. However, by recognizing the env variable, chicken-install is able to use the system proxy automatically. So, attached is a proposed patch. Some possible improvements: * Add support for proxy authentication. The proxy at work actually requires this, but I have setup a local proxy to forward the requests, so that apps that don't support it will work. Or, at least, it should complain if a username/password combination is detected (like http://user:passw...@host:port;). Comments? -- Stephen Sent from my Emacs 0001-Added-code-to-recognize-the-http_proxy-environment-v.patch Description: Binary data ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] On eggs and their licensing
On Wed, Jun 2, 2010 at 11:56 AM, Peter Bex peter@xs4all.nl wrote: On Wed, Jun 02, 2010 at 11:43:43AM -0300, Stephen Eilert wrote: SRFI I have no idea. Ditto about the TK egg and the Bremer License, the page didn't load for me here at work. The TK eggs and Bremer license were topic of a discussion a couple years back: http://lists.nongnu.org/archive/html/chicken-users/2008-02/msg00565.html Turned out that Bremer license is equivalent to BSD, but without the disclaimer which apparently makes the license void under German law. I find it hard to believe that one clause can void an entire license but apparently that's how it is. Unfortunately, I was never able to contact Wolf-Dieter Busch to ask him about this and a possible license switch to BSD. You're welcome to give it another try, though! If this makes the license void under the German law I can understand the reasoning. I'll give it another try in any case. Did anyone contact the FSF about that license? I can't find it in the thread. -- Stephen Sent from my Emacs ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Implementing a remote REPL, can't see definitions
Took me a few days to figure out this one. Turns out that my program had (declare (block)) somewhere in it. -- Stephen Sent from my Emacs On Mon, May 24, 2010 at 1:37 AM, Nicolas Pelletier sxatrxtfxcrwamvjk...@gmail.com wrote: Hello, On Sun, May 23, 2010 at 5:12 AM, Stephen Eilert spedr...@gmail.com wrote: However, I cannot evaluate any definitions from the rest of the program. It seems that I can create new ones, though. Are you saying that the bindings established by the rest of the program are not seen by eval ? If so, are you aware of the following construct (taken from http://community.schemewiki.org/?scheme-faq-misc#sicp) ? ((eval `(begin (define ,name #f) (lambda (val) (set! ,name val))) (interaction-environment)) value) Piping the needed values through lambda as in the above will let you control which definitions can be used, and might be enough for what you are trying to achieve. I am not passing any other arguments to eval, so I suppose it is using (interaction-environment). Correct. This means that a new interaction environment will be generated each time eval is called. Hope this helps, -- Nicolas ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Interfacing to Non-C Languages
On Wed, Apr 7, 2010 at 5:47 PM, Karl Winterling kwinterl...@gmail.com wrote: Hi, I sort of wanted to know if anyone uses Chicken with systems languages other than C and C++, like, say, FreeBasic. It might be neat to have an egg for gfxlib. ---Karl How would this interface be accomplished? --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] There are (module)s and there are (declare (unit s))...
Now all that's missing are recipes on how to use these more effectively :) Do not forget that you can (include) other files as well. So far, I am using a combination of modules and includes. --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. On Thu, Dec 10, 2009 at 3:04 PM, Will M. Farr wmf...@gmail.com wrote: Christian, On Dec 10, 2009, at 11:33 AM, Christian Kellermann wrote: one thing that keeps bugging me repeatedly is the concept of a unit as opposed to a module in chicken scheme. Could someone of the fine people on this list point me to some hints in the docs or explain here why there are those two separate things and what the differences are? I was once puzzled by this, too, but I think I have figured it out now. The other experts on this list can correct me if I make a mistake. The short summary: modules work on syntax, controlling the mapping between symbols and bindings at top-level. Units work at runtime, ensuring that code is initialized and top-level statements are executed in the correct order. Here's the long explanation: * modules: a syntactic construct that associates names (symbols) with bindings. In Chicken, all bindings are top-level; a module lets you access those top-level bindings with different names (or even hide---effectively---some bindings because there is no name existing inside the module that refers to them). Purely syntax. Modules are very important for macros, because free symbols in the output of a hygenic macro should refer to bindings according to the mapping in place *when the macro was defined*, not the binding in place when the macro is used. * units: a way to designate some code as intended to be included in a larger library or program. The issue that units try to solve is that, in general, top-level forms in Scheme have side-effects. Consider: (define (foo x) (+ x 1)) When this is executed, the global namespace is extended with a binding for 'foo that refers to a function of a single argument that adds one to the argument. This behind-the-scenes stuff must happen before any code runs that uses foo, or things break. Units help ensure this. The (declare (unit foo)) declaration states that the code in this file is designated by the name foo. The (declare (uses foo)) declaration says the following code uses definitions from foo, and ensures that all the behind-the-scenes stuff that needs to happen in the foo unit happens before executing any statements in the current file. In other words, units are a way of managing separate compilation of code. Put some code into a unit and compile it. Then using it in another bit of code will make sure that the code in the unit runs before any code in the using file (including all the behind-the-scenes stuff that needs to happen to initialize the bindings in the unit, etc). Does this help explain the difference? Will ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] POST and GET request parameters from spiffy
On Tue, Dec 8, 2009 at 8:57 AM, Mario Domenech Goulart mario.goul...@gmail.com wrote: Hi On Sat, 14 Nov 2009 13:01:59 +0100 Christian Kellermann ck...@pestilenz.org wrote: * Michael Maul mike.m...@gmail.com [091113 22:38]: Could someone describe how to access POS and GET parameters from inside spiffy? (uri-query (request-uri (current-request will get you the GET parameters as alist. I am not sure about POST. In chicken3 there used to be a convenience function in spiffy-utils. Beware that you should use uri-common's `uri-query' (not uri-generic's), since intarweb's `request-uri' returns an uri-common object. Best wishes. Mario A few days ago I had a difficult bug to diagnose, which happened because I was trying to use uri-generic with uri-dispatch, instead of uri-common. What is the purpose of uri-generic anyway? --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] POST and GET request parameters from spiffy
On Tue, Dec 8, 2009 at 1:17 PM, Peter Bex peter@xs4all.nl wrote: On Tue, Dec 08, 2009 at 12:52:00PM -0300, Stephen Eilert wrote: A few days ago I had a difficult bug to diagnose, which happened because I was trying to use uri-generic with uri-dispatch, instead of uri-common. What is the purpose of uri-generic anyway? It is an implementation of RFC 3986, which is much more broadly applicable than just in web URIs. For example, URNs like urn:ietf:rfc:3986 are also URIs, but not URI-commons. They have no authority (user/pass/hostname/port combination), and no query string either, only a path. Some other schemes *do* have query strings, but not x-www-form-urlencoded ones. The uri-generic egg is intended for handling the full generality of all these types of URIs, whereas uri-common is intended for the specific common subset of URIs which are usually used on the web, to indicate a host, port and path indicating a resource on that host, with optionally an x-www-form-urlencoded query to pass to that resource for further processing. uri-common adds a few extra conveniences like more complete path decoding (all percent-encoded bits are fully decoded) because it knows this is allowed since the path's components are separated by slashes but have no additional separators with special meaning inside. Other schemes can't be handled this way. For example, the URN scheme mentioned above has a colon (:) which has special meaning, so %3A could not be decoded into : until after the parts are separated; urn:foo%3Abar:qux would be decoded to foo:bar:qux, and hence it would be indistinguishable from urn:foo:bar:qux. So, to summarize: you would never need or use uri-generic unless you're writing a more specific URI parser for other schemes than the common ones. Thanks for the explanation. --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] chicken-doc
This is awesome! :) I can already envision Emacs integration... --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. On Tue, Dec 1, 2009 at 5:03 AM, Jim Ursetto zbignie...@gmail.com wrote: Hi there, I've uploaded two new eggs, chicken-doc and chicken-doc-admin, into the Chicken 4 egg repository. chicken-doc allows you to explore Chicken manual and egg documentation from the command-line and the REPL. Documentation is generated from a checkout of the wiki, and is stored locally. To try it out, you will need to install the chicken-doc and chicken-doc-admin eggs. Then generate a new database by following the Quick start in http://chicken.wiki.br/eggref/4/chicken-doc-admin. Finally, read http://chicken.wiki.br/eggref/4/chicken-doc to learn how to use chicken-doc. Jim ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Proposed procedure movement in Chicken 4
2009/9/10 Matthew Welland m...@kiatoa.com Seconded. I gave some code of mine to someone with instructions to install chicken to compile it. He said it doesn't work. Oops. Yeah, You gotta use 3.3. Ok, how do I get it. Uh, dunno. He now thinks chicken is a POS. My fault for not testing my directions but annoying none the less. I know you guys are stretched thin but please consider making going *back* to 3.3 or similar easy and obvious from the chicken home page. 4.X should be marked as experimental until 80 or 90% of the eggs work IMHO. In other words 4.X is exciting and all but some of us are using chicken to get things done and can't afford exciting ... Many eggs are not necessary anymore (like the myriad of html-generation ones, with sxml-transforms). Where did you get your 80% figure? You could also provide a list of eggs that are missing for *your usage*. Or even try porting some. --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Problems installing intarweb
Hi peeps, I'm trying to install intarweb on my machine (uname -a: Darwin Typhoon-2.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386) and I'm hitting some problems with uri-generic. uri-generic installs fine, however: chicken-status defstruct ... version: 1.2 matchable . version: 2.4.2 uri-generic version: 1.12 It installs version 1.12 and intarweb requires 2.0. I've been told on IRC that I should use the latest svn trunk and this issue should be fixed. Just to confirm: Typhoon-2:~ stephen$ csi CHICKEN (c)2008-2009 The Chicken Team (c)2000-2007 Felix L. Winkelmann Version 4.0.2 - SVN rev. 14347 macosx-unix-gnu-x86 [ manyargs dload ptables applyhook ] compiled 2009-04-22 on Typhoon-2.local (Darwin) So it is SVN trunk and chicken-install still installs the older version. The behavior is slightly different and it seems that I'm hitting another bug: The following installed extensions are outdated, because `intarweb' requires later versions: uri-common (??? - 0.2) (uri-common is currently not installed). If I say yes, then: removing previously installed extension `uri-common' ... Error: (open-input-file) cannot open file - No such file or directory: /usr/local/lib/chicken/4/uri-common.setup-info As expected, it is not installed. Let's try installing by hand: The following installed extensions are outdated, because `uri-common' requires later versions: uri-generic (1.12 - 2.1) YAY! So I say I wish to replace... Error: the required extension `uri-generic' is older than 2.0, which is what this extension requires - please run chicken-install uri-generic So it seems that it still wants to install the old one. I have run out of ideas, sort of downloading the egg myself and running chicken-install locally. Any other ideas? --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Problems installing intarweb
On Wed, Apr 22, 2009 at 4:00 PM, Jim Ursetto zbignie...@gmail.com wrote: 2009/4/22 Stephen Eilert spedr...@gmail.com: Hi peeps, I'm trying to install intarweb on my machine uri-generic installs fine, however: uri-generic version: 1.12 It installs version 1.12 and intarweb requires 2.0. I've been told on IRC that I should use the latest svn trunk and this issue should be fixed. Stephen, I will guess the upstream servers (galinha and kitten-technologies) also need to be updated. For now, you can either run chicken-install inside a copy of the SVN repository for that egg, or direct chicken-install to use a particular version: I'll have to run against the repository. Passing the version seems to work - for the specific egg. It breaks again when dependent eggs are installed. --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Chicken 3.4 Ubuntu packages
Well, if it is Ubuntu-only, you could try a PPA as well. --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. On Thu, Mar 26, 2009 at 8:11 AM, underspecified underspecif...@gmail.comwrote: Greetings, I noticed that the Chicken packages in Ubuntu are horribly out of date, so I have built the Chicken 3.4 debs hosted on chicken.wiki.br and am hosting them on my repository Ubuntu-NLP [http://cl.naist.jp/~eric-n/ubuntu-nlp/http://cl.naist.jp/%7Eeric-n/ubuntu-nlp/ ]. You can install them as follows: 1) Add Ubuntu NLP to your /etc/apt/sources.list file: # Ubuntu-NLP http://cl.naist.jp/~eric-n/ubuntu-nlp/http://cl.naist.jp/%7Eeric-n/ubuntu-nlp/ deb http://cl.naist.jp/~eric-n/ubuntu-nlphttp://cl.naist.jp/%7Eeric-n/ubuntu-nlp distro scheme deb-src http://cl.naist.jp/~eric-n/ubuntu-nlphttp://cl.naist.jp/%7Eeric-n/ubuntu-nlp distro scheme where distro is one of the following: gutsy, hardy, intrepid 2) Add my public key to your keyring for package verication: wget http://cl.naist.jp/~eric-n/ubuntu-nlp/8ABD1965.gpghttp://cl.naist.jp/%7Eeric-n/ubuntu-nlp/8ABD1965.gpg -O- | sudo apt-key add - 3) Refresh the apt sources: $ sudo apt-get update 4) Install chicken-bin; $ sudo apt-get install chicken-bin Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libchicken-dev libchicken3 libpcre3-dev libpcrecpp0 The following NEW packages will be installed: chicken-bin libchicken-dev libchicken3 libpcre3-dev libpcrecpp0 0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded. Need to get 5691kB/6046kB of archives. After this operation, 22.3MB of additional disk space will be used. Do you want to continue [Y/n]? y ... 5) Enjoy the latest chicken under Ubuntu $ csi CHICKEN (c)2008 The Chicken Team (c)2000-2007 Felix L. Winkelmann Version 3.4.0 - linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables applyhook ] SVN rev. 11987 compiled 2009-02-27 on thyme (Linux) #;1 Let me know if you have any questions or comments. Eric Nichols Computational Linguistics Laboratory Graduate School of Information Science Nara Institute of Science and Technology eri...@is.naist.jp http://cl.naist.jp/~eric-n/http://cl.naist.jp/%7Eeric-n/ ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] SDL egg: SDL_GL_SwapBuffers() not implemented?
On Feb 15, 2009, at 11:51 PM, Koen Weddepohl wrote: I managed to download the changes through chicken-setup now. sdl-gl-swap-buffers works fine, the graphics are displaying. The functions sdl-gl-set-attribute and sdl-gl-get-attribute are recognized, but when I call sdl-gl-get-attribute it doesn't seem to return the value I've set with sdl-set-attribute. I'm not sure if I'm doing something wrong, I haven't used these two functions before. Cheers, Koen Weddepohl Did you actually have to use the sdl-get-attribute and sdl-set- attribute for the graphics to display? Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] SDL egg: SDL_GL_SwapBuffers() not implemented?
On Tue, Feb 3, 2009 at 2:40 PM, felix winkelmann bunny...@gmail.com wrote: On Tue, Feb 3, 2009 at 2:08 PM, Koen Weddepohl kweddep...@gmail.com wrote: Greetings, I'm interested in using Chicken for homebrew game development. Anyway, I've been trying to get the SDL egg to work with the OpenGL egg. However, I can't get any OpenGL graphics to display. I think this is because I can't find an equivalent for SDL_GL_SwapBuffers() in the SDL bindings. Am I correct in thinking this is function is not implemented in the SDL egg? Hi, Koen! This may very well be the case. I'll try to add this, ASAP. Note that you can get access to this function quickly using # #include SDL/SDL.h # (define sdl:gl-swap-buffers (foreign-lambda void SDL_GL_SwapBuffers)) It's been a while since I've last tried using SDL with OpenGL, but that's not the only function that's missing. I had to set a few more things to get the program to display anything. Too bad I lost my modified SDL egg. Here's the initalization code I was using: (define (open-viewport width height) (initialize-video-mode width height 0 (+ SDL_OPENGL))) (define (initialize-video-mode width height bpp flags) (sdl-wm-set-caption OpenGL Window OpenGL Window) (sdl-set-video-mode width height bpp flags) (sdl-gl-set-attribute SDL_GL_DOUBLEBUFFER 1) (sdl-gl-set-attribute SDL_GL_RED_SIZE 5) (sdl-gl-set-attribute SDL_GL_GREEN_SIZE 5) (sdl-gl-set-attribute SDL_GL_BLUE_SIZE 5) (sdl-gl-set-attribute SDL_GL_DEPTH_SIZE 16)) For some reason I still cannot understand, the program didn't work without setting those flags first. --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Is the GTK+ egg still alive?
Sorry for the late reply, didn't see the message before. I'm also willing to contribute, if necessary. --Stephen programmer, n: A red eyed, mumbling mammal capable of conversing with inanimate monsters. On Sat, May 31, 2008 at 9:29 PM, Elf [EMAIL PROTECTED] wrote: I was working on it, but I've been sidetracked into some build system fixes. Apologies. If you want to take over, feel free! -elf On Sun, 1 Jun 2008, felix winkelmann wrote: On Tue, May 27, 2008 at 4:28 AM, John Maxwell [EMAIL PROTECTED] wrote: Gentlefolk- Uh oh - late reply. Sorry. Is the GTK+ egg still a live project? I poked around a bit, and it looks like the project started off OK, but I couldn't find any signs of recent activity. AFAIK, nobody is really taking care of in the moment. This is a thing which would make my life much more pleasant; enough so that I'd be willing to spend some time and effort on it, if the basic problem is a lack of people working on it. I think that would be great - I'm not aware of any serious problems with it, just that it has no maintainer. Please, feel free to dig into it. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] documentation issues...
a r wrote: I don't want any API docs automatically generated from source code comments - when separated from the code these comments are just a pile of useless random notes. Documentation _must_ be written in separation from the code. Yes, it is an additional effort, bu if you can't afford it simply don't bother writing any documentation. I think what is meant by source code comments is parseable comments in the source code, intended for tools to generate and update documentation automatically, possibly with their own tags to add semantics. Look up Doxygen (http://en.wikipedia.org/wiki/Doxygen) and check out the example source code and generated docs. Granted, that's not Scheme, but hopefully that's enough to understand the idea. ** It not as if such a tool is going to detect each and every comment everywhere and create a useless pile of random comments. That would, indeed, be useless. Usually, this type of documentation is brief, just giving a general idea of what the function does, which arguments are required (and what they mean) and the expected output. How's that different from what's being done, for instance, in the sqlite3 egg? (http://www.call-with-current-continuation.org/eggs/sqlite3.html) If you need more than that, then a manual is called for. Or even a tutorial. And that can and should be kept in some other location, provided it is easily accessible. If you keep them apart, you cannot see at a glance (let's say, while adding features or fixing bugs) if the docs are out-of-date or if someone forgot to comment something. Furthermore, the authors have no need to look up documentation at all, so the documentation *will* become outdated. It's the users that need it, and those aren't always familiar with the code to spot the inconsistencies. Of course, you can keep the docs wherever you want, provided you have enough minions you can slap to bring all of them up-to-date :) Stephen Statistics are like humans. Torture them enough and you can make them admit anything you want ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Re: Debian slander?
felix winkelmann escreveu: On Dec 20, 2007 11:50 AM, Tobia Conforto [EMAIL PROTECTED] wrote: Robin Lee Powell wrote: http://packages.debian.org/sid/chicken-bin It certainly seems production quality and decently performant to me; does the Chicken community still agree with the statements there? I find them biased and misleading. Those statements, coupled with the maintainer's laziness in updating the packages, are probably turning quite a few people away from Chicken. Either he is acting in bad faith, or he's lost interest in it. In any case I would welcome a change. I actually contacted the maintainer a while ago asking for a change of the description - AFAIK he wanted to do that but perhaps he forgot. Perhaps it would be best for us to brainstorm what the new description is going to be and then submit it once it is complete, for them to review and include in the new packages. In addition, the description should say something about Chicken itself. As it stands, anyone who has read Cheney's paper probably already knows about Chicken, so it should be more of a footnote. There's no mention about eggs either, and that (along with the C generation) should be one of the major selling points. Stephen ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users