Re: Patch for CHICKEN 6 uri-generic

2024-05-22 Thread Ivan Raikov
Hello Peter,

Thanks a lot for the patch! Overall it looks ok, but it has been quite
a while since I have had to deal with UTF-8 at this level of detail,
so I don't really understand all the bitwise operations and range
comparisons. I am wondering if it is possible to factor out the
UTF-8-specific logic into a separate module and let it be invoked by
the uri-generic parsing routines. Also, I think it would be
tremendously helpful to use named constants, as I don't quite know the
significance of #x800 or #x1. Perhaps CHICKEN 6 already offers the
definitions and routines to make this code more readable? I will try
to install CHICKEN 6 and actually run the code with your patch soon.

Thanks,
Ivan

On Thu, May 16, 2024 at 2:52 AM Peter Bex  wrote:
>
> On Wed, May 15, 2024 at 02:44:07PM +0200, Peter Bex wrote:
> > Unfortunately, it also means we must now choose to reject certain URIs
> > (at least in uri-common) by raising an exception instead of allowing them
> > to be decoded.  These are for invalid UTF-8 encoded characters, either
> > because they're a truncated byte sequence or because they encode a
> > character in too many bytes.
>
> I realised that there was a bug in this code, since "eat-rest-chars"
> would consume the percent-encoded bytes and then they'd get discarded
> in case the set of characters to decode doesn't contain the decoded
> character in question.
>
> After trying this out, I noticed that the code actually worked, to my
> astonishment.  Then I realised that this was because the code would
> still cons the UTF-8 *leading byte* back onto the result, and then
> traverse the cdr of the UTF-8 tail bytes as the rest list, which would
> pass through unprocessed.
>
> I added test cases for both situations and changed the code to detect
> UTF-8 continuation bytes without a leading byte and bail out in such
> cases, or other unforeseen and unhandled cases (the "else" in the main
> decoder).  And of course tweaked the eat-rest-chars code and callers to
> always restore all of the undecoded bytes.
>
> Still not super happy with using "values" here and the way we're passing
> in somewhat redundant information about the first consumed byte.  I realise
> an alternative would be to pass the success continuation as an argument
> but I don't think that makes the code much clearer.
>
> Cheers,
> Peter



Re: [Chicken-hackers] [PATCH] Improve srfi-13 performance quite a bit by inlining optarg handling

2019-09-29 Thread Ivan Raikov
The csv egg in Chicken 4 has been superseded by tabular in Chicken 5,
which offers a generalized interface for parsing tabular text data,
including fixed-width columns.

-Ivan

On Sat, Sep 28, 2019 at 11:28 AM Matt Welland  wrote:
>
> On Sat, 2019-09-28 at 19:18 +0200, Jörg F. Wittenberger wrote:
> > Am Fri, 27 Sep 2019 23:27:23 +0200
> > schrieb felix.winkelm...@bevuta.com:
> >
> > > > Hi all,
> > > >
> > > > Attached is a relatively straightforward patch for SRFI-13.  It
> > > > changes the let-string-start+end macro (and also
> > > > let-string-start+end2 but that isn't exported) so that it uses
> > > > let-optionals* and the entire picking apart of the rest arg list
> > > > into start/end can be completely inlined, as well as checking the
> > > > values against the string length(s).
> > >
> > > Wonderful! Applied and tagged (0.3).
> >
> > Would it make sense to apply this also on Chicken 4?
> >
> > I see the latter living for quite a while.
> >
> > If nothing else than if it just was for me.  :-/
>
> It will be a while before I can migrate away from Chicken 4 so count me
> among those who would be appreciative of any porting of
> fixes/improvements from chicken 5 to 4. I'm keen on getting to Chicken
> 5 as soon as possible but it is a large task and is likely to take six
> months to a year.
>
> NOTE: Aside from the effort in porting the code there are still a few
> dependencies on eggs that have not been ported. Triming dependencies
> may eliminate some of these. A quick crude scan of use statements gave
> me this:
>
> call-with-environment-variables
> csv
> csv-xml
> dot-locking
> foof-loop
> hostinfo
> pathname-expand
> ports
> regex-case
> rpc
> s11n
> sparse-vectors
> srfi-12
> srfi-19
> tcp
>
>
> >
> > ___
> > Chicken-hackers mailing list
> > Chicken-hackers@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/chicken-hackers
>
>
> ___
> Chicken-hackers mailing list
> Chicken-hackers@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/chicken-hackers

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] [CR] Make keywords distinct from symbols

2019-05-17 Thread Ivan Raikov
I think the historical precedent has been to make  the big sweeping
change and then frantically rush to fix all broken eggs :-)
But in this case it really sounds like it is better to make all
changes to keyword semantics at once, rather  than piecemeal.

-Ivan

On Fri, May 17, 2019 at 12:44 PM Peter Bex  wrote:
>
> On Mon, May 06, 2019 at 10:30:14PM +0200, Peter Bex wrote:
> > Some of the defining forms reject keywords now, but there may be some
> > we missed, and by making them completely distinct we fix these problems
> > for good. For the vast majority of the code out there this is an
> > unimportant change. Code which relies on symbol? returning #t for keywords
> > will run into trouble (but is usually easy to fix by adding another cond
> > clause for keyword?, which will happily be backwards compatible to older
> > CHICKENs). There may be other obscure uses of keywords that will fail, but
> > I can't really think of many.
>
> So far nobody has bothered to reply here or on the ticket at all.
> It will be two weeks after next Monday (the 20th).
>
> As our process document at https://wiki.call-cc.org/change-requests
> says that if two weeks pass without comments, it should be assumed nobody
> cares enough or has a problem with the change.
>
> I've heard from Felix on IRC, he said he's worried we're changing too
> much at once in 5.1.  Personally, I think if we make this change in a
> later version it'll be more frustrating for users, because we're already
> changing how keywords behave (no plists, cannot be used as identifiers
> anymore).  Making keywords and symbols distinct types later means we'll
> have two such changes.
>
> To sum up, we could:
>
> 1) Not make this change at all
> 2) Do it anyway in 5.1
> 3) Do it in some later version (but how long do we wait?)
>
> What do the other hackers think?  Please, speak up!
>
> Cheers,
> Peter
> ___
> Chicken-hackers mailing list
> Chicken-hackers@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/chicken-hackers

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] Some questions about CHICKEN 5 eggs and modules

2018-08-31 Thread Ivan Raikov
Thanks for making a patch for this issue!

-Ivan
On Thu, Aug 30, 2018 at 4:14 AM  wrote:
>
> > > So the basic problem is to install multiple sets of files, in separate
> > > steps? I think for "scheme-include" components this should be possible,
> > > but (as far as I can see) this is not currently possible for "c-include"
> > > components (but could be added).
> >
> > It's for more than that.  SPOCK for instance installs its Scheme *and*
> > JS runtime into PREFIX/lib/chicken/8/spock/.  The latter is neither a
> > scheme-include nor a c-include.  Feathers installs itself into
> > PREFIX/share/chicken/feathers.tcl.  I'm not sure what I'd categorize
> > these as, but I suspect these eggs cannot be ported until you can
> > specify a PREFIX-relative destination directory (as opposed to
> > specifying the type of file to be installed).
>
> Feathers is part of the core system and ths spock stuff could in theory
> simply be treated as data and installed/accessed from a diffent location,
> so it is already possible, even if not ideal. But a patch is pending, as you
> probably know, so no need to panic.
>
>
> felix
>

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] Some questions about CHICKEN 5 eggs and modules

2018-08-28 Thread Ivan Raikov
Yes, exactly, the issue is installing multiple sets of files in
different subdirectories of PREFIX/{include,share}. It would be very
useful for "c-include" as well as "data" components.
Thanks,

-Ivan
On Tue, Aug 28, 2018 at 1:07 PM  wrote:
>
> > I have a couple of eggs that generate and compile code similar to the
> > way chicken-crunch works. These eggs would install header or source
> > files that are required for the compilation process. Some of these
> > source files belong to distinct functional modules that are organized
> > in subdirectories. In CHICKEN 4, it was possible to install these
> > files to corresponding subdirectories of CHICKEN_PREFIX/share/chicken,
> > thus preserving the logical structure. In CHICKEN 5, this is currently
> > not possible, but I think it would be a very convenient feature. We
> > can of course define our own conventions and install the additional
> > files into subdirectories of $HOME, but it makes more sense to me to
> > keep them in the CHICKEN directory hierarchy. I hope this makes sense.
>
> So the basic problem is to install multiple sets of files, in separate
> steps? I think for "scheme-include" components this should be possible,
> but (as far as I can see) this is not currently possible for "c-include"
> components (but could be added).
>
>
> felix
>

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] Some questions about CHICKEN 5 eggs and modules

2018-08-28 Thread Ivan Raikov
Hi  Felix,

I think this last question about installing include files is closely
related to my question, so let me try to clarify.

I have a couple of eggs that generate and compile code similar to the
way chicken-crunch works. These eggs would install header or source
files that are required for the compilation process. Some of these
source files belong to distinct functional modules that are organized
in subdirectories. In CHICKEN 4, it was possible to install these
files to corresponding subdirectories of CHICKEN_PREFIX/share/chicken,
thus preserving the logical structure. In CHICKEN 5, this is currently
not possible, but I think it would be a very convenient feature. We
can of course define our own conventions and install the additional
files into subdirectories of $HOME, but it makes more sense to me to
keep them in the CHICKEN directory hierarchy. I hope this makes sense.

Best regards,
-Ivan

On Tue, Aug 28, 2018 at 11:40 AM  wrote:
>
> 
> > - Is there a clean way to install C and Scheme include files somewhere else
> > than the default place from an .egg file? It seems to be possible to specify
> > absolute target paths, but that is pretty much useless since the prefix of 
> > the
> > CHICKEN installation is not known at the time the .egg file is written. 
> > Also,
> > specifying relative *source* paths for include files doesn't even work, if 
> > they
> > have subdirectory components, because the files get installed in the top 
> > level
> > target directories but their full relative paths get entered into the 
> > .egg-info
> > files. An equivalent to custom build scripts doesn't seem to exist for file
> > deployment either.
>
> Installation into system paths seems to me somewhat questionable -
> files installed for CHICKEN should end in a location specific to that
> CHICKEN installation. If you can give a specific example where this
> is useful, I'd appreciate it.
>
> A final note: don't expect too much of chicken-install: it is neither a
> package system, nor it is a general build system. It addresses the basic
> need of installing Scheme libraries. These may use foreign code and
> we will try to work on supporting the most common cases.
> But not all scenarios can be convered, as you will surely understand,
> the different OS- and toolchain-idiosynchrasies are already making
> this a serious piece of work. If you have very specialized build- and/or
> usage-cases, consider distributing the code not as an egg but as a
> normal library using whatever build system you prefer.

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] [Chicken-janitors] #1218: chicken-install may fail if TMPDIR is mounted noexec (depending on setup-file details)

2017-04-22 Thread Ivan Raikov
Ubuntu-derived distributions now ship with /tmp mounted as noexec by
default. This results in a chicken-install error that is difficult to
diagnose by non-expert users. The remedy can be as simple as setting
TMPDIR (but perhaps that should be prominently documented), an option
that forces chicken-install to use a temporary subdir HOME as the
build location, or a test that compiles a program in TMPDIR and tries
to execute it. Does anyone else have opinions or suggestions about the
best way to solve this?

-Ivan

On Sat, Apr 22, 2017 at 7:30 AM, Peter Bex <pe...@more-magic.net> wrote:
> On Sat, Apr 22, 2017 at 07:17:09AM -0700, Ivan Raikov wrote:
>> It considerably limits the effectiveness of distributing software
>> written in Chicken, because now users who are not familiar with its
>> peculiarities cannot simply run chicken-install. Could at least some
>> option be added so that the user home directory is used instead of
>> TMPDIR?
>
> I fail to see the usefulness of adding yet another option, when
> overriding TMPDIR does exactly the same thing.  Let's take this to
> chicken-hackers; chicken-janitors isn't really intended as a
> discussion mailing list.
>
> Cheers,
> Peter

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] merging the argvector changes

2015-08-28 Thread Ivan Raikov
  I agree that the argvector patch should be merged, as it is a change
that allows Real Work to be done with CHICKEN.
It would be nice to have performance comparisons of course, and I
would be particularly curious to benchmark CPS-style tree traversal
and combinator parsing code. I  think having the patch merged would
make it easier to test and identify potential performance problems.

  -Ivan

On Fri, Aug 28, 2015 at 3:32 AM,  felix.winkelm...@bevuta.com wrote:
 Hello!

 Peter asked me to write a few words about the status of the argvector 
 related
 changes (passing arguments to CPS-procedures in a stack-allocated vector
 instead of doing it directly).

 As I already wrote, the initial reason for this change was the new ARM64 iOS
 ABI, which rigorously punishes the undefined behaviour we exploit in the way
 CHICKEN translates Scheme to C. At bevuta, we have a large mobile App that
 needed to be ported to arm64 (Apple requires this now for all updates in the
 App Store and of course for all newly submitted apps). The changes in the
 argvector branch of the core repo have been used for the new (universal)
 32/64-bit build and seem to work flawlessly. We are not sure about any
 performance differences yet - one tester say it actually got faster, but that
 is likely to be caused by the 64-bit environment and not by the
 argvector-related differences in the generated code, I guess.

 Mario was so kind to run Salmonella on the argvector branch and the results 
 are
 actually quite good: 50 or so eggs break vs. 16 previously, and nearly all of
 the breakages are caused by the new signature of C_apply (was C_do_apply)
 and C_values, but these are very easy to fix.

 So we think this should be merged. Peter already has prepared patches for the
 numbers egg and the chicken-5 core.

 Opinions and comments are welcome.


 felix


 ___
 Chicken-hackers mailing list
 Chicken-hackers@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-hackers

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-23 Thread Ivan Raikov
I think these are lofty goals, but it is way too much work for a single
release.
Perhaps modularising the compiler and refactoring the core modules should
be the goals for 5.0 release,
and points 1.3-1.8 would be done as 5.x releases leading up to 6.0.

As for library names, I favor fully spelled out names instead of
abbreviations, i.e. chicken.fixnum, chicken.flonum, etc.
Also, shouldn't it be CHICKEN.fixnum now that we are using the FORTRAN
convention? ;-)

   -Ivan



On Sun, Aug 24, 2014 at 12:35 AM, Peter Bex peter@xs4all.nl wrote:

 Hello hackers!

 I've made a start on the wiki, at what we'd like CHICKEN 5 to be about.
 Please, do not make this into another pony page, only add things that
 we really need to look at which require a rework in core which may be
 backwards-incompatible.

 http://wiki.call-cc.org/chicken-5-roadmap

 I already fear I may have gone a bit overboard with adding too many
 things I'd really like to see myself :)

 I'd especially appreciate feedback on the core library names and
 the things to kill from core.  I will be expanding this page over the
 next few days/weeks.

 Cheers,
 Peter
 --
 http://www.more-magic.net

 ___
 Chicken-hackers mailing list
 Chicken-hackers@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-hackers

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] CR #1142 and upcoming changes

2014-08-19 Thread Ivan Raikov
The Chicken wiki still has an index of Chicken 3 eggs, although I do think
chicken-setup is no longer operational.
Perhaps now would be a good time to clean the wiki of vestigial references
to 2  3.
I also like the idea of adopting the r7rs library names.

   -Ivan


On Wed, Aug 20, 2014 at 1:13 AM, Peter Bex peter@xs4all.nl wrote:


 I didn't know we still supported CHICKEN 2 and 3.  In what way is that
 done?  AFAIK the server-side component for chicken-setup is no longer
 active.  Is it?


 Works for me.  I do think, however, that we should take a good look
 at the r7rs library names, and probably adopt them wholesale, for the
 parts that we implement.  This would make CHICKEN easier to use for
 people using multiple Schemes, and for newbies coming from other Schemes.
 It would also ease our burden at figuring out good names: half of the
 stuff will suddenly *have* a good name.


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] CR #1142 and upcoming changes

2014-08-18 Thread Ivan Raikov
I do think it is time for an overhaul, and creating a  new major version
branch is the right way to go about it.
Obviously it would take some time to port everything, but it seems that the
changes will be simpler than during the hygienic macros transition.

  Ivan
 On Aug 19, 2014 12:09 AM, Peter Bex peter@xs4all.nl wrote:

 On Mon, Aug 18, 2014 at 04:53:22PM +0200, Felix Winkelmann wrote:
  - I don't know how this is handled with henrietta - do we need a
separate CGI script running for this? It seems so, so the
core-branch will need to have different download URLs in
setup.defaults.

 Perhaps, I'm not sure about that.  The release-info files don't have
 a way to indicate CHICKEN version either.  This needs some extra
 attention, so that repositories can support multiple CHICKEN versions.

  All this is mainly to safe time - keeping up backward-compatibility
  hacks (wrapper-eggs, hacks in setup.defaults, etc.) just needs more
  work and time and we haven't much of that, considering that we are
  just a handful of part-time maintainers.

 Yeah, we're pretty thinly spread right now.

 I think calling this CHICKEN 5 may be a good idea.  I don't know for
 sure though: adding backwards compatibility may actually be easier
 in this situation.  Ripping out the SRFIs from core should be pretty
 simple, but it does require updating all the eggs.  And of course
 there's shitloads of eggs that are unmaintained, which will break
 and never get fixed.  So all in all, starting over might be easiest.

 I'd love to hear from some of the people using CHICKEN in their business
 or for other Serious Projects (Kristian? Ivan? Andy?) how painful this
 would be for them.

 Cheers,
 Peter
 --
 http://www.more-magic.net

 ___
 Chicken-hackers mailing list
 Chicken-hackers@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-hackers

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] CR #1142 and upcoming changes

2014-08-18 Thread Ivan Raikov
 I would think that support for Chicken 2  3 should be dropped after a
Chicken 5 branch is made.
If anyone desperately needs Chicken 3, would it not be better to migrate
the Chicken 3 stuff to another server?
I had also implicitly assumed that the modularisation changes would help
bring full R7RS support to core.
Is this not the case? What are the goals for a Chicken 5 release?

On Tue, Aug 19, 2014 at 9:03 AM, Mario Domenech Goulart 
mario.goul...@gmail.com wrote:

 Sorry for the sudden jump to those topics. :-)

 In fact, as a user, I was just trying to bring some topics that are
 practical issues and that we could piggyback with the breaking changes
 to make a major release.

 I'm not sure reorganizing the core and making it smaller justifies a
 major release.  I understand some changes caused by the core
 reorganization may break code, but I'm looking at major releases from a
 user standpoint.  What immediate benefit do those changes bring for
 users?  Maybe R7RS support?  Are those changes worth the breakage?

 Please, note that I'm not against those changes.  Not at all,
 absolutely.  I'm totally for them.  I just wonder if they justify a
 major release and and all the burden to maintain another major version.

 I mentioned Unicode and bignums because, in my opinion, they are quite
 important for practical applications, and the support CHICKEN provides
 for them at the moment is not very appealing.  Since you mentioned a new
 major release, why not making them part of it?  Of course the obvious,
 realistic and straight-to-the-point answers are lack of manpower and
 lack of consensus on those topics, I know.

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] will we have a release this year?

2012-09-23 Thread Ivan Raikov
Hi Andy,

   The environments egg will not work under Chicken 4.7.4 and later, due to
changes in the internal representation (also noted in the documentation).
The rewrite branch is meant to fix this issue.

   Ivan
 On Sep 23, 2012 10:09 PM, Andy Bennett andy...@ashurst.eu.org wrote:

 Hi,

   I have been testing 4.8.0rc4 quite a bit this week, and everything
  seems to work fine, so if there are no objections, I will make the
  release next Monday.

 Did people see my bug report on chicken-users regarding the environments
 egg and eval? I posted in the Re: [Chicken-users] Chicken 4.8.0 release
 candidate 4 now available thread on 2012/09/18.

 --
 Another was segfaulting and continued to segfault on 'load'. I narrowed
 it down to this repro case in the interpreter:

 -
 #;1 (use environments)
 #;2 (define widget-eval-env (make-parameter (environment-copy
 (scheme-report-environment 5) #t)))
 -

 Using Mortiz's rewrite branch of the environments egg:

 https://anonymous:@code.call-cc.org/svn/chicken-eggs/release/4/environments/branches/rewrite/
 ... stops the segfault.

 I can get a binary out but it throws an exception somewhere it didn't
 used to:

 -
 unbound variable
 ##sys#list
 -

 ...and my debugging efforts so far point to a problem with eval and an
 environment from the environments egg.
 --




 Regards,
 @ndy

 --
 andy...@ashurst.eu.org
 http://www.ashurst.eu.org/
 0x7EBA75FF


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] On Hash Collisions (28C3)

2012-01-01 Thread Ivan Raikov
I also do not understand why using different data structures is not
under consideration. There are many algorithms and data structures for
handling collisions so that hash table access remains efficient even with a
high rate of collisions. Why not have the option to choose the data
structure for buckets -- if you don't like alists, there are balanced
trees, dynamic arrays, and others.
On Jan 1, 2012 11:57 PM, John Cowan co...@mercury.ccil.org wrote:

 Peter Bex scripsit:

  Agreed.  Changing datastructures is not an option.

 Why not?  It's a matter of replacing a datastructure whose worst-case
 cost is quadratic with one whose worst-case cost is linear.  Do we even
 know what the break-even point is between a-lists with their higher
 algorithmic complexity vs. hash tables with their higher constant
 factors?  I tried writing a little benchmark to determine this, but so
 far without success.

  The patch ensures no two hash tables use the same offset, so even
  if the hash value of a given table were to leak out (which the user
  still should take every precaution to avoid!), it won't compromise the
  randomization of other hash tables.

 What you are doing is imposing an additional cost on *all* users of hash
 tables so as to make them more resistant to malicious attack.  The vast
 majority of hash tables do not need to deal with malicious data.

   Once I know, I'll estimate the cost to fix it to save my brain
   from remebering that I'm not supposed to use hash tables where
   appropriate because they could degenerate into an issue.
 
  Indeed.  If other languages have fixed it transparently, so can we.

 We aren't Perl or Python, where hash tables are deeply embedded in
 the implementation.  Using a hash table in Scheme should always be an
 informed choice, not a default one.  Right now the information is lacking.

 --
 John Cowan   co...@ccil.orghttp://ccil.org/~cowan
 I am he that buries his friends alive and drowns them and draws them
 alive again from the water. I came from the end of a bag, but no bag
 went over me.  I am the friend of bears and the guest of eagles. I am
 Ringwinner and Luckwearer; and I am Barrel-rider.  --Bilbo to Smaug

 ___
 Chicken-hackers mailing list
 Chicken-hackers@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/chicken-hackers

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] [Chicken-meisters] Let's have a roadmap, just like the grown-ups

2011-09-09 Thread Ivan Raikov

  I think that setting up and maintaining a ratings site might be a bit
too much overhead, and more importantly, it will take effort to
convince people to vote (if the Chicken survey is any indication).

  How about we set up a system similar to the Debian popularity contest,
where the Debian package system maintains a record of how many times a
package was installed (which may be some indicator of its maturity and
stability).

  I think it would not be too hard to modify the henrietta script to
update a flat database each time a package is installed. Is anybody else
interested in this, or should I look at it?

  -Ivan


John Gabriele jmg3...@gmail.com writes:

 On Fri, Sep 9, 2011 at 4:41 AM, Alaric Snell-Pym
 ala...@snell-pym.org.uk wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 09/09/2011 02:58 AM, John Gabriele wrote:

 4) Just plain user rankings with a little vote button

 Python did this with their central module repository. They added the
 feature, but then later removed it. The reasons, as I recall, were
 mostly:

 1. It was hardly getting any use, and
 2. There were arguments over what the ratings actually meant, their
 usefulness, and their validity.

 Perl 5 has a separate ratings site http://cpanratings.perl.org/ ,
 which is quite valuable to the community -- not so much for the rating
 numbers themselves, IMO, but for the thoughtful comments people add
 about a given module. It's often useful to use when choosing between
 multiple similar modules.

 Interesting. A common theme here is that comments matter more than
 ratings. Shall we explore how that might be done?


 I think that a simple http://egg-ratings.call-cc.org site would be an
 excellent project for someone with web development skills who would
 like to contribute to Chicken (but not necessarily by writing core
 code). Once the site starts getting some content, add to each egg's
 doc page a link to that egg's ratings page (containing zero or more
 ratings/comments) at the ratings site.

 (BTW, having comments right in a wiki page such as
 http://wiki.call-cc.org/eggref/4/egg-name/comments might be quite
 convenient, but probably futile since editing such a comments page
 would allow any editor to change any previous comments on the given
 egg.)

 I'd suggest adding a request for the small ratings site to
 http://wiki.call-cc.org/wish-list and see if anyone comes forward with
 a working prototype site. I bet it won't take long for someone to whip
 something up.

 Also, I'm not sure what pages link to the wish-list page, but maybe
 someone could add a link to it at http://wiki.call-cc.org/ ?

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] single egg documentation format

2009-08-04 Thread Ivan Raikov

  Alex Shinn has contributed some code to parse wiki content, and I have
modified it to parse svnwiki syntax and placed in the Chicken SVN
repository (in directory release/4/wiki-parse). Peter Bex and I will
work on a suitable replacement for stream-wiki, which will most likely
be an SXML-based system. Others are also welcome to help.

   -Ivan

Ivan Raikov ivan.g.rai...@gmail.com writes:

   Ok, I can do some research and see if there is some existing wiki
 parser that can be adapted to read the svnwiki dialect and produce
 s-expressions. If there are some reasonable solutions out there, then I
 will propose an s-expression-based substitute for stream-wiki, and
 some way to automatically merge eggdoc in such a wiki.

-Ivan

 felix winkelmann bunny...@gmail.com writes:

 On Fri, Jul 31, 2009 at 9:02 AM, Ivan Raikovivan.g.rai...@gmail.com wrote:

 Please do not get rid of eggdoc and seriously consider either finding 
 someone
 to maintain the wiki software, or using a better source format for the
 manual.

 I doubt that someone will be willing to maintain stream-wiki - it really is
 rather complex and has loads of dependencies. That wiki2html is a hack
 is also true, but I'm quite unhappy with the current situation. Having all
 documentation in a wiki on the other hand is quite convenient and allows
 more people to help maintain it.

 Having multiple documentation formats is not acceptable, IMHO, and I
 hope you agree with that. I personally don't care what format we use,
 and the easier it is to manipulate in Scheme, the better.

 So do we need an eggdoc wiki? What are we going to do?


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] R6RS

2009-08-03 Thread Ivan Raikov

There are many good reasons not to support R6RS. You might want to read
them here:

http://www.r6rs.org/ratification/results.html


Thomas Bushnell BSG t...@becket.net writes:

 So the extraordinary compiler Stalin is sliding into obscurity, because
 it remains stuck at r4rs, with nobody having done anything to bring it
 up-to-date.

 Chicken Scheme can be talked into being r5rs, which is great, though
 it's not obvious sometimes what needs to be done.

 But r6rs has been out a while.  I think we should create a punchlist
 of to-do items, with the goal being to get r6rs compliance in the
 not-too-distant future.  With the version 4 macro system in place, this
 shouldn't be too far off.  

 And yet, we have a quote from Felix Winkelmann from a couple years ago
 saying it will never happen, and R6RS must die.  

 Is this still the rule?


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] R6RS

2009-08-03 Thread Ivan Raikov

   Chicken Scheme, along with its extension libraries, supports a large
superset of R6RS. Given what you have written below, I do not understand
why you think R6RS should be a guideline for a punchlist of features
to implement in Chicken. It is not a particularly good specification,
and equivalent or better functionality is already provided in Chicken
anyway.

   -Ivan
  
Thomas Bushnell BSG t...@becket.net writes:

 I'm sorry; those are reasons not to approve r6rs.  There are many
 things, it seems to me, which don't belong in the standard, but which
 should be in any good Scheme system.

 Are you saying that if X should not be in the standard, then it is wrong
 for Chicken Scheme to implement X?  Suppose r6rs had mandated the
 Chicken Scheme FFI; would you begin lobbying for its removal from
 Chicken Scheme?



___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] single egg documentation format

2009-07-31 Thread Ivan Raikov

  Ok, I can do some research and see if there is some existing wiki
parser that can be adapted to read the svnwiki dialect and produce
s-expressions. If there are some reasonable solutions out there, then I
will propose an s-expression-based substitute for stream-wiki, and
some way to automatically merge eggdoc in such a wiki.

   -Ivan

felix winkelmann bunny...@gmail.com writes:

 On Fri, Jul 31, 2009 at 9:02 AM, Ivan Raikovivan.g.rai...@gmail.com wrote:

 Please do not get rid of eggdoc and seriously consider either finding someone
 to maintain the wiki software, or using a better source format for the
 manual.

 I doubt that someone will be willing to maintain stream-wiki - it really is
 rather complex and has loads of dependencies. That wiki2html is a hack
 is also true, but I'm quite unhappy with the current situation. Having all
 documentation in a wiki on the other hand is quite convenient and allows
 more people to help maintain it.

 Having multiple documentation formats is not acceptable, IMHO, and I
 hope you agree with that. I personally don't care what format we use,
 and the easier it is to manipulate in Scheme, the better.

 So do we need an eggdoc wiki? What are we going to do?




___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


[Chicken-hackers] Chicken 4 development snapshots

2009-06-25 Thread Ivan Raikov

Dear all,

 The Chicken development snapshot script has been adapted to Chicken
4. From now on, Chicken 4 snapshots will be built and linked to on the
development snapshots page:

   http://chicken.wiki.br/dev-snapshots/

New snapshots will be built when the Chicken version is increased in the
repository. In the next few days, I will be updating the salmonella
script for Chicken 4, so some breakage is possible in the
salmonella-report page.

   -Ivan



___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] manual and chicken4 infrastructure

2009-04-06 Thread Ivan Raikov

Hello,

  As Elf pointed out, the 3.5.0 release was botched because too many
untested modifications were made to it. The current development
snapshot, 3.5.5 includes bug fixes for some of those issues, although
I am not convinced of the stability of srfi-18, and someone reported a
segmentation fault while building Chicken 3.4+ on x86_64
architecture. So 3.4.0 should be considered the last stable release
of the 3.x series, and the 3.5.x development snapshots will be used
for backporting features from 4.x until enough eggs are ported so that
we can retire the 3 branch altogether.

  As for why the 4.0.0 release was not on the releases page, the
excuse is that some infrastructure has to be updated on the Chicken
wiki server before 4.x tarballs can be generated automatically. The
main Chicken page does have a link to the 4.0.0 release tarball. I
have also added a link to it on the releases page, and I will post an
announcement on Freshmeat shortly.

   -Ivan


Shawn Rutledge shawn.t.rutle...@gmail.com writes:

 The main page points to

 http://chicken.wiki.br/releases/

 3.4.0 is there.  So it gives the impression that's the newest stable
 version.  Now I wonder if that's actually true?  There are more dev
 releases in the 3.4.x series; which one should Linux distros be using?

 4.0.0 is NOT there.

 Why can't the releases page actually be in sync with the releases that
 are available?  Because it's a manual process and somebody always
 forgets to update it?  Maybe make it more automated then?  or just
 point to a web directory which has listings turned on and does not
 have an index file, so we can see what tarballs are there.

 On gentoo I managed to build 3.4.0 by just copying the 3.3.0 ebuild.

 I haven't seen a link anywhere to

 http://www.call-with-current-continuation.org/chicken-4.0.0.tar.gz

 other than Felix's email.  Why isn't that in the usual releases
 directory instead?



___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] changes in trunk

2008-09-24 Thread Ivan Raikov

Hi Felix,

   Can you copy the current trunk into an old-stable branch (or maybe
in the release/3 branch)? I would like to make one or two more
releases of the 3.x Chicken by the end of the year. Thanks,

   -Ivan


felix winkelmann [EMAIL PROTECTED] writes:

 Hi!


 If possible, new features should only be added to the hygienic branch.
 The current trunk should only receive bugfixes from now on.

 I'd like to move the hygienic branch into trunk in the next days. If there
 are any reasons to delay this, please speak up.


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] install-extension: locations for docs, examples etc.

2008-04-15 Thread Ivan Raikov

  The (compile... and (install... forms are actual shell commands,
while the rest is metadata. I am not saying they must be in separate
files, but they are semantically different, so you can't just mash
them together like that. 

 -Ivan

Shawn Rutledge [EMAIL PROTECTED] writes:

 On Mon, Apr 14, 2008 at 4:05 AM, felix winkelmann [EMAIL PROTECTED] wrote:
  If you allow me to say so: chicken-setup needs a rewrite.

 In that case I have a couple more ideas:

 Take the version number from the svn tag so I don't have to keep
 changing the setup file every time.

 Maybe the rest of the setup information can come from the meta file:

 ((egg dbus.egg)
 (compile -s -O2 -d1
 -ldbus-1 -I/usr/include/dbus-1.0/ -I/usr/lib/dbus-1.0/include
 dbus.scm)
 (install
   (implementation dbus.so dbus.o)
   (exports dbus.exports)
   (documentation extra-doc.html yet-more-doc.html from-wiki)
   (examples (list-files examples/*)) )
 (license MIT)
 (category os)
 (author Shawn Rutledge)
 (synopsis A binding for libdbus, the IPC mechanism))

 Documentation from-wiki would imply installing the docs from the wiki
 in addition to the others in the list (in the right place), and
 (exports ...) would imply adding the compile flags to generate the
 exports.


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] install-extension: locations for docs, examples etc.

2008-04-14 Thread Ivan Raikov


  You don't actually need to list the documentation files twice in the
arguments to install-extension. It is only necessary to list them in
the `documentation' property. This is just legacy from older versions
of chicken-setup. It would be pretty easy to add an -examples-path
option to chicken-setup, but I want to think about this a little bit
and figure out what is the best way to specify a base path for
installing documentation and examples.

   -Ivan


Shawn Rutledge [EMAIL PROTECTED] writes:


 with as many files as the egg would like to install there, rather than
 being restricted to just the typical everything-on-one-page.

 (/usr/share/doc/package-version/xxx is the Gentoo convention, at
 least.  It could be configurable in case other distros are different.)

 It's also inconsistent that examples only need to be mentioned in the
 property list, whereas documentation has to be mentioned both there
 and in the list of files to install.  I think it should be enough to
 have it in the property list.


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] required-extension-version (possible version-numbers issue)

2008-04-14 Thread Ivan Raikov

Hi Mario,

   How do you propose this is handled? The situation below occurs
because 501  6 (obviously), so chicken-setup thinks that 1.501 is
newer than 1.6.x. My solution would be to remove releases and
prerequisites of the form x.xxx because such a versioning scheme is
idiotic. But I am open to reasonable suggestions.

   -Ivan


Mario Domenech Goulart [EMAIL PROTECTED] writes:

 Hi folks,

 Here's what I get when trying to install http:

 $ /usr/local/chicken-3.1.3/bin/chicken-setup http

 (many messages ommited)

 downloading uri.egg from (www.call-with-current-continuation.org eggs/3 80) 
 ...
   gzip -d -c /tmp/chicken-setup-3-mario/downloads/uri.egg | tar xf -

 Error: the required extension `lookup-table' is older than 1.501,
 which is what this extension requires - please run

   chicken-setup lookup-table

 and repeat the current installation operation.



___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] required-extension-version (possible version-numbers issue)

2008-04-14 Thread Ivan Raikov


  I don't understand what you mean by that. As long as a version is
defined as a dotted list of integers in decimal representation, 1.501
 1.6.0. If you want your release versions to be ordered correctly,
then those version numbers have to be a well-ordered sequence in
increasing order and consistent representation. You can't go from
release 1.16 to Aleph.XVII and expect that chicken-setup would know
what to do.

  -Ivan


Leonardo Valeri Manera [EMAIL PROTECTED] writes:

 On 15/04/2008, Ivan Raikov [EMAIL PROTECTED] wrote:

  The versions egg uses the same (sane) principle of version comparison:

   (version? (string-version 1.501) (string-version 1.6.0)) = #t

  I agree that it is time to sanitize the egg versions, but 501  6 and
  there is nothing I can do about that.

 That's what I mean - version numbers have to make sense to that egg,
 in the sense that it ill will say (version? new old) = #t

 Leo


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] Symbols and immutability

2008-04-14 Thread Ivan Raikov

Hello,

  I have changed the symbol-string procedure to copy the string
associated with its argument. There should be a new development
snapshot available tomorrow, or you can check it out from SVN.

  -Ivan


Peter Bex [EMAIL PROTECTED] writes:

 Hi all,

 According to Elf the main Chicken hackers (Felix and Kon) do not
 read the janitors list and few others do.

 I just submitted a ticket for a nasty bug, #433
 http://trac.callcc.org/ticket/433

 What are your thoughts on how to solve this issue?


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] required-extension-version (possible version-numbers issue)

2008-04-14 Thread Ivan Raikov

  Yes, that's exactly what I have been trying to say. If you use the
same consistent versioning format, then chicken-setup will work
correctly, regardless of whether the format is x.x.x or x.xxx, or
whatever. But if you switch from one format to another, then you risk
messing up the version order. So the moral of the story is, do use
consistent versioning format.

  -Ivan


Mario Domenech Goulart [EMAIL PROTECTED] writes:

 Actually I think the real problem is that lookup-table uses two
 different and incompatible versioning schemes.

 Maybe egg authors should stick to either xx.xx or xx.xx.xx forms, and
 should not combine them for the same egg.

 That would solve the problem, wouldn't it?

 Best wishes,
 Mario


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] regex speedup

2008-03-11 Thread Ivan Raikov

  I saw it was updated, and I assumed it was you, but the svn log
shows otherwise. Praise withdrawn :-) 

   -Ivan

Elf [EMAIL PROTECTED] writes:

 i did?  i didnt

 -elf

 On Tue, 11 Mar 2008, Ivan Raikov wrote:


  You remembered to update NEWS, also. Good developer! :-)

-Ivan

 Elf [EMAIL PROTECTED] writes:

 patch applied!  thanks!

 -elf




___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] TinyCLOS 'examples' install path?

2008-03-08 Thread Ivan Raikov

  Okay, I see what you mean now. I think it might be possible to
introduce separate actions or stages in chicken-setup, but I do not
want to make any more changes right now, because I need to deal with
the side-effects of introducing the -install-prefix option.

  I believe it would be easy to separate the installation of libraries
and documentation. The more difficult part would have to do with eggs
that use copy-file/move-file to install additional files, and eggs
that run make or some other external commands as part of the
compilation. One possible scheme would be to introduce the following
stages in chicken-setup:

  1. Compilation (via the compile macro, or make)
  2. Installation of extensions
  3. Installation of programs
  4. Installation of scripts
  5. Installation of documentation
  6. Files installed with copy-file/move-file

I think that it would not be very difficult to add options to
chicken-setup that only execute a part of the above sequence. But some
eggs do things like this:

  (run (csi -qbs atlas-lapack-eggdoc.scm  atlas-lapack.html))

Logically, this should be part of the compilation process, but of
course chicken-setup has no way of telling that. One possible solution
would be to prohibit the direct use of the run macro in setup scripts,
and instead use a variant of the macro that specifies the stage when
it should be executed, e.g.:

  (post-compile (run (csi -qbs atlas-lapack-eggdoc.scm  atlas-lapack.html)))

post-compile here tells chicken-setup that this command should be
considered part of the compilation stage, and it should be executed
after all invocations of compile or make. So I think what you are
proposing is feasible, it just takes a little bit of careful thought,
and unfortunately it will require modifying existing setup scripts.

   -Ivan

Leonardo Valeri Manera [EMAIL PROTECTED] writes:


 What I mean is that the egg build system does not support separate
 compilation/installation actions, or at least not consistently.

 With 3.0.0 chicken-setup it was (sometimes) possible to do this, with
 the chicken-setup in trunk (which is much better, btw) this isnt
 possible at all, from what I can tell.

 Not that we at gentoo could make a use of such a feature if it
 existed because:

 It also has no support for separate documentation installation paths.

 I've reworked my eclass functions around trunk. Its working very
 nicely, and you don't have to really bother with anything else on my
 account:
 I compile and install in a temp dir in one action, where it would
 normally be 2, then perform 'make install' equivalent actions to the
 real sandbox install tree myself since I need to move the
 documentation to /usr/share/doc.

 Of course it would be better if I could make chicken-setup do that for
 me, but that would probably be not worth the bother for you guys :)

 Leo


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] TinyCLOS 'examples' install path?

2008-03-06 Thread Ivan Raikov


  I will look at the tinyclos egg, but I think you should use
-install-prefix for what you are trying to do. I have started using
that for my Debian scripts and so far it seems to work well. I haven't
tried anything with tinyclos yet, though.  The idea is that you should
_not_ have to add any workarounds: the express purpose of the
-install-prefix option is for sandbox-type installation.

-Ivan

Leonardo Valeri Manera [EMAIL PROTECTED] writes:

 On 02/03/2008, Ivan Raikov [EMAIL PROTECTED] wrote:

   What you are referring to is the _Chicken_ install prefix,
  i.e. where the Chicken executables are installed. What I am referring
  to, is the user _install_ prefix, for situations where you would like
  have the eggs in  a separate directory hierarchy (e.g. when building
  binary packages). It is a bit confusing, but take a look and the
  updated chicken-setup documentation and let me know what you think. I
  have already made the changes, but of course I can make further
  changes.

 I still have the same issue when installing tinyclos (release) with
 trunk chicken.

 I need to know whether I need to add functions to take care of eggs
 that do not respect -R, or what :)

 Cheers,
 Leo


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] TinyCLOS 'examples' install path?

2008-02-27 Thread Ivan Raikov

  I was wrong about that, the value of CHICKEN_REPOSITORY is accessed
through the parameter repository-path, and the -R option works as
expected. But if -destdir is specified, then the repository becomes
{destdir}/lib/chicken. -destdir always overrides the repository path,
hence the confusion. I propose eliminating -destdir, and introducing
option -install-prefix, which is prepended to the repository path and
any data files being installed with copy-file. Something along the
lines of this:

$ chicken-setup -R
/var/lib/chicken/3

$ chicken-setup tinyclos = 
files installed in /var/lib/chicken/3

$ chicken-setup -R /usr/lib/chicken tinyclos = 
files installed in /usr/lib/chicken/3. 

$ chicken-setup -install-prefix $HOME/gentoo/tinyclos = 
files installed in $HOME/gentoo/tinyclos/var/lib/chicken/3

$ chicken-setup -R /usr/lib/chicken \
  -install-prefix $HOME/gentoo/tinyclos = 
files installed in $HOME/gentoo/tinyclos/usr/lib/chicken/3



   Right now, CHICKEN_REPOSITORY is not checked in chicken-setup,
 although the man page claims otherwise. I am going to put this back,
 so we are consistent with the documentation.


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] call for repository/chicken-setup organization plans

2008-02-27 Thread Ivan Raikov

  You can use the svn lock command, but I suppose there isn't so much
danger of modifications to the release/2 branch.

   -Ivan


felix winkelmann [EMAIL PROTECTED] writes:


 I've created the link. I don't know how to lock release/2 with svn
 and would rather avoid that to make it possible to quickly fix bugs
 should the need arise.


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] sudo-install

2008-02-26 Thread Ivan Raikov

  I have added checks for TMPDIR and TEMPDIR. I do have TMP set in my
environment, but it turned out this is something I have added, not
part of the standard user environment. If anyone has suggestions about
other environment variables that specify temporary directory, I can
add those, too.

  If none of the T.* variables is set, then if /tmp is writeable, the
default build directory becomes
/tmp/chicken-setup-{MAJOR-VERSION}-{USER}, 
otherwise {HOME}/tmp/chicken-setup-{MAJOR-VERSION}-{USER}. If
{HOME}/tmp does not exist, then the current directory is used.

   -Ivan


felix winkelmann [EMAIL PROTECTED] writes:

 On Mon, Feb 25, 2008 at 2:48 PM, Ivan Raikov [EMAIL PROTECTED] wrote:

I have added two options to chicken-setup: -build-prefix and
  -download-dir. build-prefix is where chicken-setup creates a temporary
  directory, unpacks the egg and then compiles it. download-dir is the
  directory where downloaded egg files are saved. build-prefix defaults
  to the value of the environment variable TMP, if set, otherwise
  $HOME/chicken-build. If some other behavior is desired, I can easily
  make changes.

 I would propose the following changes:

 - also check TMPDIR and TEMPDIR (I have none of those T... variables
   set in my env, BTW)
 - use /tmp/chicken-setup-$USER (or similar) instead of $HOME/chicken-build
   (the latter is too generic and might conflict with existing directories)


 cheers,
 felix


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] sudo-install

2008-02-25 Thread Ivan Raikov

   I have added two options to chicken-setup: -build-prefix and
-download-dir. build-prefix is where chicken-setup creates a temporary
directory, unpacks the egg and then compiles it. download-dir is the
directory where downloaded egg files are saved. build-prefix defaults
to the value of the environment variable TMP, if set, otherwise
$HOME/chicken-build. If some other behavior is desired, I can easily
make changes. 

   The issue with sudo is a bit more complicated than I thought,
because the real user id also gets set to zero when chicken-setup is
running under sudo or su. sudo sets environment variable SUDO_USER,
which shows the id of the user that invoked sudo, so that might be one
way to detect if chicken-setup is being run under sudo. I will look
some more into this before hacking chicken-setup to change its euid. 

  -Ivan


felix winkelmann [EMAIL PROTECTED] writes:


 Cool! I have to warn you, though: chicken-setup.scm is a real mess!


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] procedure/etiquette for submitting changes?

2008-02-24 Thread Ivan Raikov

Hello,

  If you want, post your patch to this mailing list before committing,
and I can make sure it doesn't break the Unix builds. I don't have
Windows or MSVC, so I cannot test the MSVC build, but at least I can
make sure there are no accidental breakages of something else.


   -Ivan


Ashley Bone [EMAIL PROTECTED] writes:

 What is the general process for submitting changes?  I have write
 access to the subversion repository and I'd like to submit some
 minor changes to rules.make, Makefile.msvc, and a one-line change
 to library.scm, all to fix the MSVC build.  Should I just
 commit the changes?  I saw a previous post about submitting
 svn diffs via chicken-bug but I'm not sure that's for everything
 or just major revisions.



___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


[Chicken-hackers] trac.callcc.org

2008-02-24 Thread Ivan Raikov

Hi all,

  It seems that trac.callcc.org is down most of the time I try to
access it. Either I get a 500 error, or the HTTP request times out
after a very long time. Is this instability inherent in Trac, or is
there something peculiar about this particular installation? In either
case, we need to do something about that.

   -Ivan


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


[Chicken-hackers] Re: trac roadmap

2008-02-15 Thread Ivan Raikov

Hi Felix,

   I don't believe I have access rights for milestones, so if anyone
can grant me those, I can start working on a tentative roadmap for the
next release. I have also created a wiki page for roadmap proposals
and discussions:

http://chicken.wiki.br/roadmap

The idea is to use the wiki to hammer out proposals for new features
or major changes, and create tickets that have fairly specific todo
items. So I would appreciate if people start including their ideas
about future modifications to Chicken on that page.

   -Ivan


felix winkelmann [EMAIL PROTECTED] writes:

 Hi, Ivan!


 Since you asked for keeping up a more disciplined release process,
 have you access rights for creating milestones on trac? (I shortsightedly
 removed my admin permissions the other day, so perhaps mario or
 arto have to help out). If you would like to do some release planning
 and keeping a list of feature requests and such, using the trac
 milestone/roadmap stuff may be quite helpful.



___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] .egg - .deb packaging issues

2007-11-24 Thread Ivan Raikov

   I am also still interested in packaging Chicken eggs for Debian. But,
to add to your list of issues, the current version of Chicken in Debian
testing is 2.5. There is a wishlist item filed to upgrade Chicken to
2.7, but so far no response on part of the package maintainer. So we
will either have to use unofficial Debian packages with more recent
Chicken, or find a way to get in touch with the maintainer:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418747

And I have some responses to the other issues below:

* package naming convention -- I actually prefer the naming convention
  for Common Lisp packages, which is cl-PACKAGE (in our case,
  chicken-PACKAGE). The libPACKAGE-LANGUAGE seems overly verbose.

* more extension repository locations -- good idea, I could use
  CHICKEN_LIBRARY_PATH to direct Chicken to look into my home
  directory  for extensions first. By the way, the current Debian
  location for Chicken extensions is /var/lib/chicken/binary-version.

* default repository for chicken-setup -- perhaps an even more
  sensible default would be to check if the current user is root, and
  if so, install the extension in the system-wide /var/lib/chicken,
  otherwise install into $HOME/var/lib/chicken, or something along
  those lines. What do people think?


   With an APT-repository of Debian packages available, deploying
   a feature-rich version of Chicken-based Scheme programming
   environment could be made lightning-fast.  I believe this will
   make Chicken a viable alternative to other languages (such as
   Perl or Python), at least in Debian-based GNU systems.


  Preach on, brother ;-)

 
  -Ivan


Ivan Shmakov [EMAIL PROTECTED] writes:

   I'm still interested in packaging pre-built binary extensions
   for Chicken with `dpkg'.  There're a few issues still
   unresolved, IIRC:

   * Debian packages for other languages' extensions usually follow
 libEXTENSION-LANGUAGE convention (e. g., libocamlnet-ocaml);
 could this convention be adopted for Chicken's extensions?

   * currently, Chicken seems to search for extensions in, roughly,
   $CHICKEN_REPOSITORY and $CHICKEN_HOME; it's not enough, since
   there's to be a distribution-wide repository of 
pre-compiled
   packages (/usr/lib/chicken/binary-version), a system-local
   one (/usr/local/...) and a user's own one (e. g.,
   ~/lib/chicken/binary-version); a facility for selecting any
   number of directories to search for the packages needs to be
   added (perhaps, a CHICKEN_LIBRARY_PATH environment variable);

   * on the other hand, `chicken-setup' needs exactly one directory
 to install the packages into; thus, CHICKEN_REPOSITORY
 variable is to be preserved in its current meaning; BTW, as a
 convenience, a default repository for `chicken-setup' could be
 changed to point to a directory below $HOME; thus,
 `chicken-setup' will behave sensibly even for non-privileged
 accounts on system-wide Chicken installations;


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] RFC : How to make a Debian package for a chicken egg?

2007-09-12 Thread Ivan Raikov


  Okay, definitely let me know if there is anything I can do help with
this effort. I am not able maintain a lot of packages on my own, but I
am very interested in helping to get Chicken eggs packages in the
official Debian distribution.

   -Ivan


Nelson Castillo [EMAIL PROTECTED] writes:

 On 9/11/07, Ivan Raikov [EMAIL PROTECTED] wrote:

 Hello, Nelson,

You can look at the Debian packaging scripts I wrote for some eggs
 here:

 http://www.irp.oist.jp/raikov/chicken-eggs-debian.tar.gz

 Let me know if you have any questions about those scripts.

 Thanks!

 Well, there was a request for Debian packages for Svnwiki in a list about
 Debian in Colombia[1]. I would like to try to create the packages
 (basically because nobody else seems to be willing to do it :) ).
 The Debian developer said he would sponsor the packages so that they
 can get in Debian.

 The packages you created will be very useful in this task. I will let
 you know if
 we make any progress.

 Regards,
 N.-



___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] anybody good with cmake?

2007-08-14 Thread Ivan Raikov

  Famous last words. ;-)

Peter Bex [EMAIL PROTECTED] writes:

 It can never be worse than autohell.


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] Debian package

2006-12-11 Thread Ivan Raikov

  Okay, wow, I didn't know there was so much drama involved in this
:-) I assumed that Chicken used Automake/Autoconf, the way God
intended, and since I have extensive experience with those, I didn't
think there would be a problem adding the Debian files to the dist
target. But I'll learn CMake, if you say so. Unfortunately, it's hard
to deduce when the Debian scripts get broken, except for actually
running the package builder. But I'll definitely keep an eye on those.

 -Ivan

Brandon J. Van Every [EMAIL PROTECTED] writes:

 The only change?  :-)  And in one breath, you point out the problem.
 You see, Makefile.am is *not* the way anybody's supposed to be
 building distros.  People are supposed to be using CMake and typing
 make dist.  It's supposed to be the One True Way To Build Distros.
 But Felix had some difficulty with CMake on Linux a month or so ago,
 and I think he was hacking his way around it for a time.  Rather than
 learning how to deal with CMake's bugs.  Don't know what the
 circumstances are now, as I've been preoccupied.  I do know that CMake
 2.4.5 has fewer bugs, and Felix said some Linux problems went away.

 My point is, we all need to be on the SAME PAGE about how distros are
 built.  I'm not pointing fingers; I've been as stressed out as anyone
 else, actually moreso.  But under pressure, people tend to stick with
 what they know.  That damages the reliability of the build.  Code
 diverges, specific items stop working, and then people don't fix them
 because it's a PITA.

 So what I believe needs to happen is:

 - you need to be given proper Darcs access
 - I need to provide you with the CMake stubs to fire up make dist
 correctly for Debian.  Sounds trivial enough.
 - you need to implement your Debian packaging, test it, and maintain
 it, i.e. take ownership.
 - you need to use CMake to do make dist
 - I need to provide whatever system deduction checks and error
 messages are useful for this, so that when (inevitably), someone
 breaks the Debian distro, we know it has happened.
 - Felix shouldn't have to do anything, unless there's some lurking
 horror about texi that we've forgotten about.

 Do you agree?


 Cheers,
 Brandon Van Every


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] CMake vs. Autoconf

2006-12-11 Thread Ivan Raikov
  
  No, I never tested the library in Windows command prompt or
MSVC. I like my POSIX conveniences too much. But of course, Chicken is
a vastly more complex program, so I am sure yours are perfectly
legitimate grievances. I was just curious to hear what problems people
have encountered, since I don't use Windows, and most likely never
will. 

  -Ivan


Brandon J. Van Every [EMAIL PROTECTED] writes:

 I ported a fairly
 complex distributed computing toolkit to MinGW last month, and the
 only GNU-related problem I saw was that libtool somehow gets confused
 when the source directory includes spaces (like Documents and
 Settings). In fact, I was pleasantly surprised how painless things
 were.


 The only?  That kind of whitespace problem consumed a few months of
 our time, and I'm still not certain the beast is slain.  Handling
 different pathname conventions on different shells is a nightmare.
 I'm curious, did your project also handle straight Windows Command
 Prompt?  or MSVC builds?  If you stay in a Unix-insulated universe
 where pathnames are always forward slash, your job is a helluva lot
 easier.

 I've also had problems with MSYS's support of Autoconf.  At times,
 that has sucked as well.  Enough that I dumped the standard MSYS
 package and went with mingw-install.
 http://sourceforge.net/projects/mingw-install


 Cheers,
 Brandon Van Every


___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers