Re: [Chicken-users] performance of bignums

2015-06-25 Thread Stephen Eilert
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

2015-06-25 Thread Stephen Eilert
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

2015-05-29 Thread Stephen Eilert
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.

2015-05-20 Thread Stephen Eilert
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?

2015-05-14 Thread Stephen Eilert
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?

2015-02-04 Thread Stephen Eilert
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

2015-01-28 Thread Stephen Eilert
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

2015-01-07 Thread Stephen Eilert
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

2014-12-18 Thread Stephen Eilert
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

2014-10-02 Thread Stephen Eilert
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

2014-05-14 Thread Stephen Eilert
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

2014-04-16 Thread Stephen Eilert
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

2014-02-05 Thread Stephen Eilert
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

2014-02-03 Thread Stephen Eilert
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

2014-02-03 Thread Stephen Eilert
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

2013-07-23 Thread Stephen Eilert
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

2013-02-13 Thread Stephen Eilert
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

2013-02-13 Thread Stephen Eilert
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

2013-01-09 Thread Stephen Eilert
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

2012-11-15 Thread Stephen Eilert
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?

2012-11-14 Thread Stephen Eilert
 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

2012-11-14 Thread Stephen Eilert
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

2012-11-14 Thread Stephen Eilert
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

2012-11-13 Thread Stephen Eilert
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

2012-09-15 Thread Stephen Eilert
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

2012-08-31 Thread Stephen Eilert
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

2012-08-06 Thread Stephen Eilert
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

2012-08-06 Thread Stephen Eilert
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

2012-05-20 Thread Stephen Eilert
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

2012-05-08 Thread Stephen Eilert
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

2012-03-22 Thread Stephen Eilert
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 ....

2012-03-05 Thread Stephen Eilert
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)

2012-02-22 Thread Stephen Eilert
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

2012-02-14 Thread Stephen Eilert
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

2012-01-10 Thread Stephen Eilert
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

2011-09-25 Thread Stephen Eilert
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

2011-09-22 Thread Stephen Eilert
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

2011-06-27 Thread Stephen Eilert
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

2011-05-25 Thread Stephen Eilert
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

2011-05-24 Thread Stephen Eilert
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

2011-05-20 Thread Stephen Eilert
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?

2011-05-05 Thread Stephen Eilert
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

2011-04-04 Thread Stephen Eilert
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

2011-03-31 Thread Stephen Eilert
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

2011-03-31 Thread Stephen Eilert
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

2011-03-16 Thread Stephen Eilert
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

2011-03-16 Thread Stephen Eilert
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

2011-03-16 Thread Stephen Eilert
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

2011-03-14 Thread Stephen Eilert
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

2011-03-09 Thread Stephen Eilert

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-03-03 Thread Stephen Eilert
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

2011-02-02 Thread Stephen Eilert
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

2011-02-02 Thread Stephen Eilert
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)

2011-01-26 Thread Stephen Eilert
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-01-17 Thread Stephen Eilert
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

2010-12-01 Thread Stephen Eilert
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

2010-11-12 Thread Stephen Eilert
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

2010-10-08 Thread Stephen Eilert
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

2010-10-08 Thread Stephen Eilert
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

2010-08-18 Thread Stephen Eilert
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

2010-08-12 Thread Stephen Eilert
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-07-26 Thread Stephen Eilert
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?

2010-07-05 Thread Stephen Eilert
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

2010-06-10 Thread Stephen Eilert

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

2010-06-02 Thread Stephen Eilert
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

2010-05-26 Thread Stephen Eilert
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

2010-04-07 Thread Stephen Eilert
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))...

2009-12-10 Thread Stephen Eilert
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

2009-12-08 Thread Stephen Eilert
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

2009-12-08 Thread Stephen Eilert
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

2009-12-01 Thread Stephen Eilert
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-09-11 Thread Stephen Eilert
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

2009-04-22 Thread Stephen Eilert
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

2009-04-22 Thread Stephen Eilert
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

2009-03-26 Thread Stephen Eilert
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?

2009-02-17 Thread Stephen Eilert



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?

2009-02-06 Thread Stephen Eilert
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?

2008-06-15 Thread Stephen Eilert
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...

2008-02-14 Thread Stephen Eilert

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?

2007-12-21 Thread Stephen Eilert

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