Re: scm2wiki egg release

2020-11-14 Thread Mario Domenech Goulart
Hi Utz,

On Sat, 14 Nov 2020 13:04:32 +0100 ipc...@arcor.de wrote:

> Think my little auto-documentation tool has matured enough for an
> official egg release. Wrote it mainly to generate API documentation
> for my Bintracker project
> (https://bintracker.org/documentation/index.html), but maybe some of
> you will find it useful, too.
>
> https://github.com/utz82/scm2wiki
> https://github.com/utz82/scm2wiki/raw/master/scm2wiki.release-info

Thanks!  Unfortunately, installation fails with

Syntax error (import): cannot import from undefined module

scm-semantics

You can reproduce this issue with the following command:

$ test-new-egg scm2wiki 
'https://github.com/utz82/scm2wiki/raw/master/scm2wiki.release-info'

To see the error, you can use salmonella-log-viewer:

$ salmonella-log-viewer /scm2wiki/0.3.1/salmonella.log

( is the temporary path printed by test-new-egg.)

test-new-egg is an egg and salmonella-log-viewer is part of salmonella
(which is a dependency of test-new-egg).  In case you don't have
test-new-egg-installed, you can install it with chicken-install.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI 178: Bitvector library

2020-11-20 Thread Mario Domenech Goulart
On Fri, 20 Nov 2020 11:56:05 -0500 Wolfgang Corcoran-Mathe  
wrote:

> Hi all,
>
> I'd like to add the following new egg, which provides the SRFI 178
> (https://srfi.schemers.org/srfi-178/srfi-178.html) bitvector library.
> test-new-egg says "Egg looks good!".
>
> The repository is here:
>
> https://github.com/Zipheir/srfi-178-chicken
>
> The wiki page:
>
> https://wiki.call-cc.org/eggref/5/srfi-178
>
> For convenience, the raw release-info URI:
>
> https://raw.githubusercontent.com/Zipheir/srfi-178-chicken/0.1/srfi-178.release-info
>
> Thanks!

Thank you!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Establishing Git repos for miscellaneous Chicken tools

2020-11-18 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 21:11:10 +0200 Lassi Kortela  wrote:

>> Sure.  What should it be called?
>
> Is "chicken-tools" ok? Or "chicken-integrations" or "chicken-contrib"?
> Or even more generically, "chicken-scheme" which doesn't exist yet.
>
> It could be "chicken-emacs" but Dan suggested:
>
>> an organization that focuses on Chicken tool integration would be good; not 
>> just for Emacs. I'd love to see LSP support, for instance

I like chicken-contrib.  Any objections against this name?  Or strong
preference for another one?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-141: Integer division

2020-11-18 Thread Mario Domenech Goulart
On Wed, 18 Nov 2020 21:02:15 -0800 noosph...@mailc.net wrote:

> I would like to submit a new egg for publication,
>
>   SRFI-141: Integer division
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> test-new-egg gave it a clean bill of health.
>
>  --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-141
>
> [2] - https://github.com/diamond-lizard/srfi-141/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-67: Compare Procedures

2020-11-17 Thread Mario Domenech Goulart
On Mon, 16 Nov 2020 21:42:00 -0800 noosph...@mailc.net wrote:

> I'd like to submit a new egg for publication:
>
>   SRFI-67: Compare Procedures
>
> This was packed from the reference implementation with permission from
> Kon Lovett, the author of the Chicken 3 SRFI-67 egg.
>
> Unfortunately, that egg could not itself be ported because it relied on
> syntax-case, which was available for Chicken 3, but is not for
> Chicken 5.  So this Chicken 5 implementation is done from scratch from
> the reference implementation.
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> test-new-egg gives the egg a clean bill of health.
>
>  --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-67
>
> [2] - https://github.com/diamond-lizard/srfi-67/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-74: Octet-Addressed Binary Blocks

2020-11-17 Thread Mario Domenech Goulart
On Mon, 16 Nov 2020 23:14:16 -0800 noosph...@mailc.net wrote:

> I would like to submit a new egg for publication:
>
>   SRFI-74: Octet-Addressed Binary Blocks
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> test-new-egg gives it a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-74
>
> [2] - https://github.com/diamond-lizard/srfi-74/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-51: Handling rest list

2020-11-17 Thread Mario Domenech Goulart
On Mon, 16 Nov 2020 16:31:39 -0800 noosph...@mailc.net wrote:

> I'd like to submit a new egg for publication:
>
>   SRFI-51: Handling rest list
>
> Its documenation is here: [1]
>
> Its release-info is here: [2]
>
> test-new-egg gave it a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-51
>
> [2] - https://github.com/diamond-lizard/srfi-51/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Establishing Git repos for miscellaneous Chicken tools

2020-11-17 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 18:36:24 +0200 Lassi Kortela  wrote:

>> Switching git hosting solutions should be just a matter of changing the git 
>> URL.
>
> AFAICT this can be achieved by turning off the issue tracker and wiki
> on GitHub repos. This would mean we use the mailing list, Chicken's
> issue tracker, or email/irc for coordination. Since it's just a few
> tools, maybe not worth overthinking this?

Please note that what I wrote was just a suggestion to prevent future
problems.  I don't mean to impose anything.  If you think using GitHub,
GitLab or whatever git host available would be a good solution, that's
absolutely fine by me.  I use GitHub myself.  It was just a small remark
to avoid falling in the trap of having a lot of dependencies on
vendor-specific features that might just vanish (like what happened with
Sourceforge, Google Code etc.).

And, sure, the CHICKEN bug tracker, mailing lists, wiki and IRC channel
can be used for CHICKEN-related stuff.

> Another option would be to put all the tools in one git repo on
> code.call-cc.org, and give write access to that repo to the few people
> who need it. Is there some way to have it send email notifications,
> similar to the GitHub "watch this repo" feature?

Currently we don't have e-mail notifications.  Our use-case is very
modest for today's standards of fanciness.  Our git traffic is very low.
We basically use the mailing lists to communicate.  It's a very simple
setup -- as it must be, otherwise we wouldn't be able to maintain it.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Establishing Git repos for miscellaneous Chicken tools

2020-11-17 Thread Mario Domenech Goulart
On Mon, 16 Nov 2020 23:14:03 +0200 Lassi Kortela  wrote:

> We spoke with Mario and Dan about gathering Git repos for all the
> Chicken Emacs packages under one roof, and Dan suggested adding other
> tools such as an LSP server into the mix.
>
> We thought it'd be convenient to start an organization on GitHub or
> GitLab to do this, but are not sure whether the community accepts
> this. Any suggestions to the contrary? We could use code.call-cc.org,
> but is it simple to create organizations and teams there and receive
> notifications about commits?

call-cc.org doesn't provide fancy collaborative tools on top of git.
The workflow for merging changes in the repositories hosted there is
based on sending patches to people who have write access to the
repositories.  As far as I can tell, we have no plan to change that in
the foreseeable future.

I have no objections against using other git hosting solutions.  I'd
suggest, though, that we strive to keep things as simple as possible and
don't get locked in by using features that might screw us in the future
if (actually more like a matter of "when") the host goes out of
business, becomes too unstable, changes its services in ways that we
don't like, changes its terms of use to something that would be
unacceptable for such a project or any other reason.  Switching git
hosting solutions should be just a matter of changing the git URL.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-78: Lightweight testing

2020-11-17 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 10:04:36 -0800 noosph...@mailc.net wrote:

> I would like to submit a new egg for publication:
>
>   SRFI-78: Lightweight testing
>
> The documentation is here: [1]
>
> The release-info is here: [2]
>
> test-new-egg gives the egg a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-78
>
> [2] - https://github.com/diamond-lizard/srfi-78/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Establishing Git repos for miscellaneous Chicken tools

2020-11-17 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 20:59:01 +0200 Lassi Kortela  wrote:

>> Sounds good to me.  Thanks for organizing this.
>
> Great. Mario, can you create the org since from our initial group of
> contributors you are the one most closely associated with Chicken?

Sure.  What should it be called?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-137: Minimal Unique Types

2020-11-17 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 11:15:32 -0800 noosph...@mailc.net wrote:

> I would like to submit a new egg for publication:
>
>   SRFI-137: Minimal Unique Types
>
> The documentation for it is here: [1]
>
> Its release-info is here: [2]
>
> test-new-egg gives it a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-137
>
> [2] - https://github.com/diamond-lizard/srfi-137/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Establishing Git repos for miscellaneous Chicken tools

2020-11-17 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 20:41:31 +0200 Lassi Kortela  wrote:

>> Please note that what I wrote was just a suggestion to prevent future
>> problems.  I don't mean to impose anything.  If you think using GitHub,
>> GitLab or whatever git host available would be a good solution, that's
>> absolutely fine by me.  I use GitHub myself.  It was just a small remark
>> to avoid falling in the trap of having a lot of dependencies on
>> vendor-specific features that might just vanish (like what happened with
>> Sourceforge, Google Code etc.).
>
> No problem, I agree that it's important to avoid vendor lock-in.
>
>> And, sure, the CHICKEN bug tracker, mailing lists, wiki and IRC channel
>> can be used for CHICKEN-related stuff.
>
> +1
>
>> Currently we don't have e-mail notifications.  Our use-case is very
>> modest for today's standards of fanciness.  Our git traffic is very low.
>> We basically use the mailing lists to communicate.  It's a very simple
>> setup -- as it must be, otherwise we wouldn't be able to maintain it.
>
> Given:
>
> - a GitHub organization would be preferred for ease of maintenance by
> Dan and Vasilij who have written some of the Chicken Emacs support so
> far
>
> - you and I don't object to GH
>
> - nobody else has said anything
>
> - a decision seems hard to make
>
> should we just make a `chicken-tools` org on GitHub? That would let us
> resolve the current stagnation in maintaining these packages, and if
> we disable the wikis and issue trackers we can move the repos to
> another host later on.

Sounds good to me.  Thanks for organizing this.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: SRFI-95: Sorting and Merging, ported to Chicken 5

2020-11-16 Thread Mario Domenech Goulart
On Mon, 16 Nov 2020 11:56:23 -0800 noosph...@mailc.net wrote:

> With Peter Danenberg's permission, I've ported his SRFI-95 egg to
> Chicken 5.
>
> Its documentation is here: [1]
>
> The release-info is here: [2]
>
> test-new-egg gives it a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-95
>
> [2] - https://github.com/diamond-lizard/srfi-95/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: SRFI-27 has been ported to Chicken 5

2020-11-16 Thread Mario Domenech Goulart
On Mon, 16 Nov 2020 10:12:54 -0800 noosph...@mailc.net wrote:

> SRFI-27 has been ported to Chicken 5, thanks to the enormous effort of
> Kon Lovett, who solved all the most difficult problems encountered
> during the port.
>
> The documentation for this egg can be found here: [1]
>
> The release-info can be found here: [2]
>
> test-new-egg has given it a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-27
>
> [2] - https://github.com/diamond-lizard/srfi-27/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-47: Array

2020-11-17 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 14:52:31 -0800 noosph...@mailc.net wrote:

> I would like to submit a new egg for publication:
>
>   SRFI-47: Array
>
> This is a Chicken 5 port, with permission, of Felix Winkelmann's Chicken
> 3 egg[1].
>
> The documentation for it can be found here: [2]
>
> The release-info is here: [3]
>
> test-new-egg gives it a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/3/srfi-47
>
> [2] - https://wiki.call-cc.org/eggref/5/srfi-47
>
> [3] - https://github.com/diamond-lizard/srfi-47/raw/main/release-info

Thanks!  Your egg has been added to the coop!

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-143: Fixnums

2020-11-17 Thread Mario Domenech Goulart
On Tue, 17 Nov 2020 17:56:33 -0800 noosph...@mailc.net wrote:

> I would like to submit for publication:
>
>   SRFI-143: Fixnums
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> test-new-egg gives the egg a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-143
>
> [2] - https://github.com/diamond-lizard/srfi-143/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: SRFI-38 ported from Chicken 4 to 5

2020-11-09 Thread Mario Domenech Goulart
On Fri, 06 Nov 2020 01:37:04 -0800 noosph...@mailc.net wrote:

> I just ported the SRFI-38 egg from Chicken 4 to 5, and would like to
> submit it for publication.
>
> The Chicken 5 documentation (copied verbatim from the Chicken 4 egg) is here: 
> [1]
>
> The release-info file is here: [2]
>
> A run of test-new-egg reported that the "Egg looks ok".
>
> --Sergey
>
> [1] - http://wiki.call-cc.org/eggref/5/srfi-38
>
> [2] - https://github.com/diamond-lizard/srfi-38/raw/main/release-info

Thanks!  You egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-45: Primitives for Expressing Iterative Lazy Algorithms

2020-11-09 Thread Mario Domenech Goulart
On Sat, 07 Nov 2020 18:42:14 -0800 noosph...@mailc.net wrote:

> With Kon Lovett's permission, I just finished porting his SRFI-45 egg to
> Chicken 5, and would like to submit it for publication.
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> and test-new-egg gave it a clean bill of health.
>
>   --Sergey
>
> [1] - http://wiki.call-cc.org/eggref/5/srfi-45
>
> [2] - https://github.com/diamond-lizard/srfi-45/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-130: Cursor-based string library

2020-11-07 Thread Mario Domenech Goulart
On Fri, 06 Nov 2020 18:03:05 -0800 noosph...@mailc.net wrote:

> I would like to submit a new egg for publication:
>
>   SRFI-130: Cursor-based string library
>
> The documentation is here: [1]
>
> The release-info is here: [2]
>
> and test-new-egg has given it a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-130
>
> [2] - https://github.com/diamond-lizard/srfi-130/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: SRFI-60 (Integers as Bits) ported from Chicken 4 to 5

2020-11-07 Thread Mario Domenech Goulart
On Fri, 06 Nov 2020 20:48:00 -0800 noosph...@mailc.net wrote:

> I just ported SRFI-60 (Integers as Bits) from Chicken 4 to 5 and would
> like to submit it for publication.
>
> Its documentation can be found here: [1]
>
> Its release-info is here: [2]
>
> and test-new-egg gives is a clean bill of health.
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-60
>
> [2] - https://github.com/diamond-lizard/srfi-60/raw/main/release-info

Thanks again!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-171: Transducers

2020-11-07 Thread Mario Domenech Goulart
On Sat, 07 Nov 2020 08:48:38 -0800 noosph...@mailc.net wrote:

> I would like to submit a new egg, SRFI-171: Transducers, for
> publication.
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> and test-new-egg gives it a clean bill of health.
>
> --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-171
>
> [2] - https://github.com/diamond-lizard/srfi-171/raw/main/release-info

Thanks a lot!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-87: => in case clauses

2020-11-21 Thread Mario Domenech Goulart
On Sat, 21 Nov 2020 08:18:54 -0800  wrote:

> On Sat 21 Nov 2020 12:14:29 PM +01, Mario Domenech Goulart wrote:
>>
>>
>> Thanks.  I'm afraid SRFI-87 is already supported by CHICKEN core, isn't
>> it?  Am I missing something?
>
> Hmm... it wasn't listed on the Supported Standards page[1]
>
> megane in #chicken alsays said:
>
> "yep, there's => support for case in core already"
>
> If I knew this SRFI was already supported, I wouldn't have bothered
> packaging it.
>
> Oh well, it was a quick and easy one.. so no big deal..  I guess you can
> just ignore my egg.
>
> However, is there somewhere on the wiki I could link to where it
> mentions that SRFI-87 support is in core?
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/supported-standards

The support for `=>' in cond clauses has been added [to CHICKEN 4.9.0]
to conform to R7RS, not exactly to support SRFI-87, as far as I can
tell.  It is documented in
http://wiki.call-cc.org/man/5/Module%20scheme#derived-expression-types
(look for the documentation of `case')

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New C5 egg: SRFI-145: Assumptions

2020-11-09 Thread Mario Domenech Goulart
On Mon, 9 Nov 2020 18:04:30 +0100 Vasilij Schneidermann  wrote:

> SRFI-158 (Generators) is ready as well:
> https://depp.brause.cc/srfi-158/srfi-158.release-info

Thanks again.  It's been added as well.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New C5 egg: SRFI-145: Assumptions

2020-11-09 Thread Mario Domenech Goulart
On Mon, 9 Nov 2020 12:58:37 +0100 Vasilij Schneidermann  wrote:

> I've implemented SRFI-145 in terms of the existing assert macro.
> `salmonella` and `test-new-egg` run fine with
> .  A wiki page is
> ready to be submitted after inclusion into the coop.
>
> This egg is part of an effort to get SRFI-168 (Generic Tuple Store
> Database) working.  I plan to port SRFI-158 (Generators), SRFI-146
> (Mappings), SRFI-167 (Ordered Key Value Store) and the
> persistent-hash-map egg (currently C4-only, with no customizable
> hash/equality procedures), then to create an egg for a suitable
> persistent ordered key-value store (for example the sophia database) and
> another one for a compatible interface for use by SRFI-168.

Thanks Vasilij!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New C5 egg: SRFI-145: Assumptions

2020-11-09 Thread Mario Domenech Goulart
Hi Jeremy,

On Mon, 09 Nov 2020 10:13:19 -0700 Jeremy Steward  wrote:

> Ooh boy, is SRFI 158 ready to go?
>
> If that's the case, should we deprecate / remove SRFI 121 from the coop?
>
> I am currently the maintainer, but am happy to focus efforts on 158 over 121. 

Thanks for following up on that.

Regardless of the decision on that, the srfi-121 egg will stay in the
coop.  It can be deprecated, but never removed (considering the CHICKEN
major version it is available for).

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-111: Boxes

2020-11-07 Thread Mario Domenech Goulart
On Sat, 07 Nov 2020 12:58:33 -0800 noosph...@mailc.net wrote:

> I've just ported SRFI-111: Boxes, and would like so submit it for publication.
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> test-new-egg has given it a clean bill of health.
>
> Although there was a "box" egg for Chicken 4, which was listed on the
> "Supported Standards" page as SRFI-111, I chose not to port it to
> Chicken 5 because it used different names for its procedures than were
> used in SRFI-111, and for compatibility reasons I wanted Chicken 5 to
> have completely compliant SRFI-111 support.
>
> So, this SRFI-111 egg is ported directly from the SRFI-111 standard,
> without using any code from the "box" egg, except for some tests.
>
> Also, I should note that the "box" egg is actually much more feature
> rich than SRFI-111, and is a worthy candidate for porting to Chicken 5
> anyway, to give Chicken 5 even more box-related capability.
>
> Finally, on #chicken I asked klovett, the author of the original Chicken
> 4 "box" egg, about porting SRFI-111 and he said it was ok.
>
> [1] - http://wiki.call-cc.org/eggref/5/srfi-111
>
> [2] - https://github.com/diamond-lizard/srfi-111/raw/main/release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: srfi-189

2020-11-13 Thread Mario Domenech Goulart
On Fri, 13 Nov 2020 02:48:06 -0500 Wolfgang Corcoran-Mathe  
wrote:

> I'd like to submit a new egg which provides SRFI 189: Maybe and Either
> for CHICKEN.  I've run it past test-new-egg, which found no issues.
>
> The egg source can be found at:
>
> https://github.com/Zipheir/srfi-189-chicken
>
> The documentation is at:
>
> https://wiki.call-cc.org/eggref/5/srfi-189
>
> And the release-info URI, for convenience:
>
> https://raw.githubusercontent.com/Zipheir/srfi-189-chicken/main/srfi-189.release-info
>
> Thanks!

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: srfi-173

2020-11-05 Thread Mario Domenech Goulart
Hi Sergey,

On Thu, 05 Nov 2020 13:03:10 -0800 noosph...@mailc.net wrote:

> I have just created my second egg (the first in many years), and would
> like to ask that it be published.
>
> It is a simple packaging up in Chicken egg format of the very small and
> simple SRFI-173: Hooks[1].
>
> I've put the documentation for the egg here: [2]
>
> And here is my release-info file: [3]
>
> I've run it through test-new-egg and it reported that the "Egg looks ok"
>
> Any and all suggestions and feedback welcome!
>
> Sincerely,
>
> Sergey Goldgaber
>
> [1] - https://srfi.schemers.org/srfi-173/
>
> [2] - https://wiki.call-cc.org/eggref/5/srfi-173
>
> [3] - https://github.com/diamond-lizard/srfi-173/raw/main/release-info

Thanks a lot!  Your egg has been added to the coop.

One hint regarding the documentation: our wiki supports semantic markup
that allows tools like chicken-doc and api.call-cc.org to extract API
documentation from egg documentation pages.  More info here:
https://wiki.call-cc.org/edit-help#extensions-for-chicken-documentation

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-35

2020-11-06 Thread Mario Domenech Goulart
On Fri, 06 Nov 2020 00:30:18 -0800 noosph...@mailc.net wrote:

> I just created a new egg for SRFI-35, and would like to submit it for 
> publication.
>
> Its documentation is here: [1]
>
> Its release-info is here: [2]
>
> I've ran test-new-egg on it, and it reported that the "Egg looks ok"
>
>   --Sergey
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-35
>
> [2] - https://github.com/diamond-lizard/srfi-35/raw/main/release-info

Thanks a lot!  Your egg has been added to the coop.

Also thanks a bunch for the excellent work done on the documentation.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: SRFI-152

2020-11-06 Thread Mario Domenech Goulart
On Fri, 06 Nov 2020 13:29:13 -0800 noosph...@mailc.net wrote:

> I'd like to submit for publication a new egg:  SRFI-152
>
> Its documentation is here: [1]
>
> The release-info is here:  [2]
>
> test-new-egg gives it a clean bill of health.
>
> Thanks to everyone on #chicken for helping me to solve some tricky
> issues during the porting process of this egg!
>
>   --Sergey
>
>
> [1] - https://wiki.call-cc.org/eggref/5/srfi-152
>
> [2] - https://github.com/diamond-lizard/srfi-152/raw/main/release-info

Thanks a lot (again)!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Updating yaml egg from Chicken 4 to Chicken 5?

2020-12-30 Thread Mario Domenech Goulart
Hi,

On Wed, 30 Dec 2020 15:17:33 -0500 "T. Kurt Bond"  wrote:

> There is a Chicken 4 egg yaml that wraps libyaml.  The source from its gihub 
> repo doesn't compile, because there is a missing  in a
> define-record-type form.  I submitted a issue about this at the github repo 
> with a patch that changes one line and adds one line, which seems to fix
> the problem.  There is a fork of that github repo that also fixes the 
> problem, but it hasn't been fixed in the original repo.
>
> I'd like to see this as a Chicken 5 egg.  What is the proper way, considering 
> the social and technical aspects of things, to getting this submitted as
> a Chicken 5 egg?

The proper way would be contacting the author of the egg to see how to
proceed.

It should be possible to have the code in the same repository/branch to
support both CHICKEN 4 and 5.  If the author wants to support that, it's
just a matter of applying patches to do so.

If the author is only interested in maintaining support for CHICKEN 4, a
fork with support for CHICKEN 5 can be created.

If the author does not want to maintain the egg any longer, the egg
repository can presumably be forked.

If the author decides to go with the approach of having the code to
support both CHICKEN 4 and 5 in the same repository, the egg should be
tested with both CHICKEN versions (see test-new-egg -- it's
available for both CHICKEN 4 [1] and 5 [2]).

[1] http://wiki.call-cc.org/eggref/4/test-new-egg
[2] http://wiki.call-cc.org/eggref/5/test-new-egg

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Chicken on Debian

2021-01-10 Thread Mario Domenech Goulart
Hi Duke,

On Sun, 10 Jan 2021 13:09:37 -0700 Duke Normandin  wrote:

> Debian shows only:
>
> dnormandin@ASUSLAP:~$ apt search chicken
> Sorting... Done
> Full Text Search... Done
> chicken-bin/oldstable 4.11.0-1 amd64
>  Practical and portable Scheme system - compiler
>
> dnormandin@ASUSLAP:~$ sudo apt install chicken-bin=5.2.0
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> E: Version '5.2.0' for 'chicken-bin' was not found

If you want to compile CHICKEN from sources, it's a piece of cake on
Linux, and doesn't depend on much more than what you'd need to install
eggs. You'll need a C toolchain and GNU make.

In case that's a viable alternative for you, below is a simple recipe
that will install CHICKEN in $HOME/local/chicken-5.2.0 (you can change
that, of course).

  $ wget http://code.call-cc.org/releases/5.2.0/chicken-5.2.0.tar.gz
  $ tar xzvf chicken-5.2.0.tar.gz
  $ cd chicken-5.2.0
  $ make PLATFORM=linux PREFIX=$HOME/local/chicken-5.2.0 install

You can add $HOME/local/chicken-5.2.0/bin to $PATH to execute the
CHICKEN tools without providing the path to them.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Noob needs current tutorial please

2021-01-10 Thread Mario Domenech Goulart
On Sun, 10 Jan 2021 03:16:36 + André Sá  wrote:

> On 1/10/21 2:51 AM, Duke Normandin wrote:
>> Hello & Happy New Year!
>>
>> I'm new to Chicken Scheme. I've got some exposure to newLISP and
>> Gambit-C. I'm continueing my test-drive of Chicken because it
>> produced the smallest executable for helloworld.scm.
>>
>> However, I'm having a bitch of a time finding a tutorial with
>> example code that is current to the most recent version of Chicken.
>> For example: at http://wiki.call-cc.org/friendly-chicken
>> one of the examples is:
>>
>> #;1> (use utf8)
>>
>> It barfs up:
>>
>> Error: unbound variable: use
>>
>>  Call history:
>>
>>(use utf8)
>>  (use utf8)<--
>>
>> and the list goes on!
>>
>> Any recent tutorials for Chicken out there? TIA ..
>> --
>> Duke
>>
>>
>
> Hey there!
>
> From a quick glance, it seems that page is for CHICKEN 4 (the current
> version is 5). I think the only differences from that page are that
> instead of `use` you should now use `import`, and that the `numbers`
> egg is no longer needed to have a full numeric tower support.

Indeed, that page was for CHICKEN 4.  I've adapted it to CHICKEN 5.
Thanks for spotting that.

> As far as a "full" tutorial goes, I'm not in on it, but someone else
> may give you some help on that front.

As mentioned by George Oliver in another message,
http://wiki.call-cc.org/man/5/Getting%20started can be a good intro.
Suggestions on how to improve it or suggestions on new documents with a
different approach are welcome.

> For differences between C4 and C5 you may want to take a look at
> this[0] page. Some other possibly useful links are The Manual[1] and
> the documentation[2] for the core language and all the eggs.
>
> Hope this helps!
>
> [0]: https://wiki.call-cc.org/porting-c4-to-c5
> [1]: https://wiki.call-cc.org/man/5/The%20User%27s%20Manual
> [2]: https://api.call-cc.org/5/doc/

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Chicken on Debian

2021-01-10 Thread Mario Domenech Goulart
On Sun, 10 Jan 2021 14:15:14 -0700 Duke Normandin  wrote:

> On Sun, 10 Jan 2021 22:05:21 +0100
> Mario Domenech Goulart wrote:
>
> Hey Mario ...
>
> Thanks for all the help!!

You're welcome!

> [snip]
>
>> If you want to compile CHICKEN from sources, it's a piece of cake
>> on Linux, and doesn't depend on much more than what you'd need to
>> install eggs. You'll need a C toolchain and GNU make.
>>
>> In case that's a viable alternative for you, below is a simple
>> recipe that will install CHICKEN in $HOME/local/chicken-5.2.0
>> (you can change that, of course).
>>
>>   $ wget
>> http://code.call-cc.org/releases/5.2.0/chicken-5.2.0.tar.gz $ tar
>> xzvf chicken-5.2.0.tar.gz $ cd chicken-5.2.0
>>   $ make PLATFORM=linux PREFIX=$HOME/local/chicken-5.2.0 install
>
> Is 5.2.0 "Bleeding Edge" where I'll be in trouble all the time? :)

5.2.0 is the most stable release so far.  It's the best CHICKEN can
offer at the moment. :-)

> And making a bunch of noise on this list?

No problem.

> I'll see what I do have for a toolchain and go from there. Much
> obliged!

You're welcome.  Good luck!

All the best.
Mario
-- 
http://parenteses.org/mario



Re: CHICKEN 5 port of bencode egg

2021-01-23 Thread Mario Domenech Goulart
Hi Caolan,

On Sat, 23 Jan 2021 10:13:40 + "Caolan McMahon"  wrote:

> I recently merged a pull request from fancycade to port the bencode
> egg from CHICKEN 4 to CHICKEN 5. I've updated the release-info file
> and tagged a new release.
>
> https://github.com/caolan/chicken-bencode/
>
> It's already been picked up by the CHICKEN 4 egg index, what else
> needs to happen for this to be included in the CHICKEN 5 egg index?

Thanks!  I've added it to the coop.  When you have a chance, it would be
nice to have the documentation ported as well.

Since code for both CHICKEN 4 and 5 are now in the same repository and
branch, special care is needed when releasing new egg versions to avoid
breaking the egg on one of the CHICKEN versions.

Unfortunately it seems that it what happened with the new release
(1.3.0), which works for CHICKEN 5 but breaks on CHICKEN 4 ([1]).

To prevent that you'll need to test the egg with both CHICKEN 4 and 5.

I haven't investigated the issue with CHICKEN 4, but my hunch is that
you need `(import scheme)' for `cond-expand'.

[1] 
https://salmonella-linux-x86-64.call-cc.org/chicken-4-debugbuild/gcc/linux/x86-64/2021/01/22/salmonella-report/install/bencode.html

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Web page with quick links to all C4 and C5 egg versions

2021-01-12 Thread Mario Domenech Goulart
Hi Lassi,

On Tue, 12 Jan 2021 15:55:04 +0200 Lassi Kortela  wrote:

>> Isn't that page similar to https://eggs.call-cc.org/4/ and
>> https://eggs.call-cc.org/5/ in terms of content?
>
> It collects both Chicken 4 and Chicken 5 versions of the information
> on the same page, which is its main point.
>
>> Regarding to the link to the eggs-[45]-latest repos, I think that can be
>> a bit misleading to people trying to find out the repository of eggs.
>> Those repositories are merely a representation of the egg caches in git
>> format -- they are NOT the canonical repositories of eggs.  The
>> canonical repositories should be linked from the egg documentation.
>
> Good point. Could link to the origin repos instead.
>
>> Regarding versions being up to date or not, the intent of that
>> information is not clear to me (it's very probable that I'm just missing
>> something).
>
> The page is geared toward egg authors and maintainers, not for people
> who just want to use an egg. That's why there's so much detail, and is
> probably the main cause of confusion.

I see.  Thanks for the clarification.

I wonder if I'm missing the actual meessage that page is trying to
convey.  Is it about showing CHICKEN 4 eggs that are "missing" in
CHICKEN 5 or vice-versa?

>> Some aspects that may be relevant when comparing egg
>> versions between CHICKEN 4 and 5:
>>
>> * Some egg authors have deliberately stopped updating eggs for CHICKEN 4
>>once they got ported to CHICKEN 5.
>>
>> * Some egg authors have deliberately decided not to port some eggs from
>>CHICKEN 4 to CHICKEN 5.
>>
>> * Most people who are creating new eggs are not making them available
>>for CHICKEN 4.
>
> Sure. FWIW, some C4-only eggs have been ported to C5 upon request.

Indeed.

>> * Some extensions that are eggs in CHICKEN 5 are core units in CHICKEN 4.
>
> This would be useful to indicate somehow.

Not sure if it does the trick, but those are documented here:
https://wiki.call-cc.org/porting-c4-to-c5#begin-with-the-easy-part-replacing-module-imports

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: edn: Reading and writing the EDN data format

2020-12-29 Thread Mario Domenech Goulart
On Tue, 29 Dec 2020 15:09:04 +0100 Daniel Ziltener  wrote:

> I ported the EDN egg I wrote for Chicken 4 to Chicken 5, it can be added to 
> the egg repository.
>
> The git repository can be found here: https://gitea.lyrion.ch/zilti/edn.git
> And the wiki page at: http://wiki.call-cc.org/eggref/5/edn

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Adding deprecation notices to CHICKEN 4 egg docs?

2021-01-26 Thread Mario Domenech Goulart
Hi,

On Tue, 26 Jan 2021 14:24:29 +0100 Peter Bex  wrote:

> I've noticed that the documentation for CHICKEN 3 eggs (and also for
> CHICKEN 2 eggs, where we have them) contain a "OUTDATED EGG" warning
> at the top, to warn people away from them.
>
> I'm thinking, maybe we should do something similar for CHICKEN 4
> documentation now.  CHICKEN 5 is now just over 2 years old[1] so it's
> about time, even though some eggs may not have been ported yet.
>
> Also I noticed we didn't do this for the manual itself.  I think it's
> a good idea to that now, too.
>
> Thoughts?  Comments?
>
> [1] https://lists.gnu.org/archive/html/chicken-announce/2018-11/msg1.html

I think those are good ideas (adding warnings to the old manuals and to
wiki pages of C4 eggs).

All the best.
Mario
-- 
http://parenteses.org/mario



Most call-cc.org services are currently down

2021-01-30 Thread Mario Domenech Goulart
Hi,

Unfortunately we are currently experiencing issues with most of the
call-cc.org services.  The following services are not available:

* www.call-cc.org
* bugs.call-cc.org
* code.call-cc.org
* paste.call-cc.org
* tests.call-cc.org
* wiki.call-cc.org

api.call-cc.org and the main egg server are *not* affected (i.e., it is
still possible to download eggs).

We're gonna notify you when things are back to normal.

Apologies for the inconvenience.

All the best.
Mario (on behalf of the CHICKEN team)
-- 
http://parenteses.org/mario



Re: Most call-cc.org services are currently down

2021-01-30 Thread Mario Domenech Goulart
Hi again,

All services are back to normal operation.

If you observe any problem, please contact us.

All the best.
Mario

On Sat, 30 Jan 2021 10:00:09 +0100 Mario Domenech Goulart 
 wrote:

> Hi,
>
> Unfortunately we are currently experiencing issues with most of the
> call-cc.org services.  The following services are not available:
>
> * www.call-cc.org
> * bugs.call-cc.org
> * code.call-cc.org
> * paste.call-cc.org
> * tests.call-cc.org
> * wiki.call-cc.org
>
> api.call-cc.org and the main egg server are *not* affected (i.e., it is
> still possible to download eggs).
>
> We're gonna notify you when things are back to normal.
>
> Apologies for the inconvenience.
>
> All the best.
> Mario (on behalf of the CHICKEN team)



Re: New egg: Expect

2021-06-09 Thread Mario Domenech Goulart
Hi,

On Mon, 7 Jun 2021 15:28:35 +0400 Aydar Zarifullin  wrote:

> I moved the documentation to
> https://wiki.call-cc.org/eggref/5/tcl-expect and now I can't figure
> out how to properly remove the old page

Thanks.  I've removed it.  The web interface doesn't provide a way to
remove pages, as far as I know.  I used the subversion command line tool
to remove the page (svn del expect; svn ci).

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: gtk-server

2021-05-12 Thread Mario Domenech Goulart
On Wed, 12 May 2021 18:53:42 +0200 Vasilij Schneidermann  
wrote:

> The coding jam inspired me to look into GUI eggs again. I found a
> GTK-server [1]_ demo by Felix from 2005 [2]_, turned it into a
> gtk-server egg and ported all bundled examples. It may very well be the
> most advanced (though not the most pleasant) option to use for building
> graphical user interfaces, as it exposes a "textual FFI" to GTK and
> related libraries (such as GDK, Cairo, Poppler, Webkit and more). The
> only prerequisite is a `gtk-server` binary on your system. It took me
> longer to package GTK-server for my system than writing the egg. I still
> plan to look into other libraries for simpler and more fun approaches
> (such as ezd and nuklear).
>
> The documentation and release-info file are at
>  and
> . Both
> `salmonella` and `test-new-egg` pass.
>
> Vasilij
>
> [1]: http://gtk-server.org/
> [2]: http://gtk-server.org/demo-stdin.scm.txt

Thanks, Vasilij.  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



#chicken has moved to Libera.Chat

2021-05-26 Thread Mario Domenech Goulart
Hi,

The CHICKEN Team has decided to move the #chicken IRC channel to the
Libera.Chat network.

Our main IRC representative (vandusen) is already there and our
documentation has been updated.

In case you use IRC, see you there!

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: Expect

2021-05-25 Thread Mario Domenech Goulart
On Mon, 24 May 2021 19:41:01 +0300 Aydar Zarifullin  wrote:

> Thank you for your notes. 
>
> - Would the body of `(unless interp ...)' in `tcl-create-interp` [0]
>   ever be executed?
>
> - Tcl_CreateInterp may return a null pointer (#f) for example if it fails to 
> allocate memory
>
> As for the rest, I'll try to fix it.

Thanks.  I was wondering if this egg should be called tcl-expect, just
in case someone comes up with a pure Scheme implementation of expect
(also to make clear that the current one is actually based on Tcl).
What do you think?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Hard coded paths in csc and relocatable chicken

2021-05-21 Thread Mario Domenech Goulart
Hi Matt,

On Thu, 20 May 2021 15:04:16 -0700 Matt Welland  wrote:

> As mentioned in the coding jam I put together a chicken bundle including the 
> iup egg ready to go outside the box. It turns out that my assertion that
> it worked was wrong. I tested by running csi and was able to load iup and 
> create a button and I assumed that if this worked then so would compilation
> with csc. Not so. While a little script hackery could swizzle the full paths 
> in the .info files for eggs I don't think there is any way to change the
> paths in compiled binaries such as csc. 
>
> I really would like to be able to make a relocatable build system to enable 
> us to use chicken in our ever more constrained compute environment. 
>
> The directories are all pointing to the original install directory. E.g. 
>> strings csc | less
> ...
> _edata
> __bss_start
> _end
> /home/matt/buildall/ck5.2/lib
> GLIBC_2.3
> GLIBC_2.2.5
>
> Any suggestions or ideas on how to work around this?

Would static linking be an acceptable solution in this case?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Hard coded paths in csc and relocatable chicken

2021-05-21 Thread Mario Domenech Goulart
On Fri, 21 May 2021 11:00:35 -0400 Marc Feeley  wrote:

>> On May 21, 2021, at 8:58 AM, Théo Cavignac  wrote:
>> 
>> I have been interested in this problem for other reasons, mainly
>> because I was interested in the possibility of installing eggs in
>> userspace while Chicken was installed through distro package manager
>> (thus in root).
>> 
>> Anyway, in the current states of the compiler it appears that the
>> whole build process of Chicken is built around the assumption of a
>> fixed install path.
>> 
>> The dust project (https://sr.ht/~evhan/dust/) solved this by putting
>> a placeholder 256 * "X" instead of the path in binaries, then
>> editing the binaries in place when installing in your location.
>> 
>> I don't know how it would fit in your use case and it is definitely
>> hacky but it works.
>
> A similar hack that is used by Gambit is to put a long sequence of
> ./././ etc in the paths embedded in the binary and patching the binary
> when it is installed.  The benefit of that approach is that the path
> in the unpatched binary can be the path where the binary is usually
> installed.

That's a clever hack.  Thanks for sharing, Marc.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: Expect

2021-05-24 Thread Mario Domenech Goulart
Hi,

On Mon, 24 May 2021 15:52:30 +0300 Aydar Zarifullin  wrote:

> Hello all, I wrote a very basic binding to libexpect, I haven't tested
> it thoroughly but in simple cases, it works as it should I hope it
> will be useful to someone.
>
> Repository
> https://github.com/iZarif/ckn-expect
> Documentation
> https://wiki.call-cc.org/eggref/5/expect

Thanks for your contribution.  I skimmed through the code and
documentation and made some notes:

- The documentation is missing a link to the source repository.

- It would be nice if the documentation mentioned the required
  dependencies (tcl and sh).  For what is worth, I could install the egg
  on Debian by installing the tcl-dev and tcl-expect-dev packages and
  setting `CSC_OPTIONS="-I/usr/include/tcl"'

- Commands given to `call-with-process-io' go through the shell.  I
  think the documentation should mention that, as it might be a security
  issue if callers don't properly quote the given arguments.

- `tcl-create-interp' gets executed at module import time.  Not sure if
  this is a good practice.

- In `call-with-process-io', files are not closed if `proc' raises an
  error.  Either the implementation should handle that or the
  documentation should mention that behavior.
  
- Would the body of `(unless interp ...)' in `tcl-create-interp` [0]
  ever be executed?

[0] 
https://github.com/iZarif/ckn-expect/blob/4ad76ea807131232d7acb3a7e9075b3014d639c8/expect.scm#L41

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Compiling Chicken app for Windows from linux with Docker

2021-07-03 Thread Mario Domenech Goulart
Hi Théo and all,

On Sun, 27 Jun 2021 12:34:24 +0200 Théo Cavignac  
wrote:

> After my previous mail concerning the static compilation in a Docker
> container I figured it would be nice to use the same idea to create a
> cross compilation environment for linux-to-windows dev.
>
>
> Using the cross development article on the wiki, digging through the
> build system a bit and fiddling a lot I created a MinGW-w64 based
> environment that let you build standalone apps from your chicken code
> and your favorite eggs that can be distributed as a single binary
> without needing dev oriented dependencies like cygwin or MSYS2.
>
> I have to say I am pretty happy with this achievement, even if it may
> not be much, because I learned a ton on the building system of
> Chicken, and on linking in general.

That looks cool!  Thanks for sharing it!

> I plan on contributing to the wiki some of the knowledge I gathered
> during the process. I already submitted a ticket to fix what seems to
> be a typo in the Makefile.cross-linux-mingw file in chicken sources.
>
> By the way, I don't think I have an account to edit the wiki. Can I
> have one with username lattay ?

Sure.  You should now be able to use your bug tracker credentials to
authenticate to the wiki too.

> Here is the Docker environment ready to be built:
> https://github.com/Lattay/chicken_docker/tree/main/mingw
>
> Here is an image ready to go (because compiling chicken twice is
> pretty long):
> https://hub.docker.com/repository/docker/lattay/chicken-mingw
>
> The script that automate the process of spinning the container and
> extracting the final binary has been updated accordingly and now
> support the option `--platform mingw`:
> https://github.com/Lattay/chicken-build-static
>
>
> Currently my testing of this environment is pretty limited. I did a
> test with the args egg but I don't know how well it would perform with
> more complex eggs like bind based one.
>
> I don't have a non trivial app that would work on windows to test with
> this process.
>
> Hence, I would be interested in some real world Windows ready app for this.
>
> I would also be interested in feedback from testing this with your own app.
>
> Also, I have yet to understand what is the difference between console
> and GUI app in windows and how this environment could be used to build
> graphical apps.
>
>
> As always, I am very open to critiques and suggestions so please feel free !

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Actor model implementation, seeking feedback

2021-07-03 Thread Mario Domenech Goulart
Hi,

On Sat, 26 Jun 2021 21:51:59 +0200 Vasilij Schneidermann  
wrote:

>> 2. You're right! I actually hadn't thought about that! Guess I had a hard 
>> time
>> not conflating "unique and non-repeatable" with random numbers... would a
>> timestamp be a better (but probably still not ideal) approach?
>
> No, timestamps may repeat if taken quickly enough. Another issue is that
> in a distributed system you must now guarantee that all participants
> have synchronized clocks...
>
> A particularly elegant approach is to generate random bytes once (much
> like a secret key is generated once), then increment them for each
> consecutive encryption operation (much like the CTR mode works). For
> example RFC7523 uses the following nonces in appendix A:
>
> BBAA99887766554433221100
> BBAA99887766554433221101
> BBAA99887766554433221102
> ...
> BBAA9988776655443322110F

Would http://wiki.call-cc.org/eggref/5/uuid be suitable for the casae in
question?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: zlib: 0.7.0 release

2021-06-29 Thread Mario Domenech Goulart
Hi Robert,

On Mon, 28 Jun 2021 21:22:02 -0400 Robert Jensen  
wrote:

> Announcing version 0.7.0 of the zlib egg.
>
> * Use deflateInit2 / inflateInit2 zlib APIs
> * [BREAKING] `port` is now a required argument
>
> Ref: https://github.com/r1b/zlib/releases/tag/0.7.0

Thanks for the update!

It would be great if you could update the version history in the
documentation of the egg.

I noticed that one test of the test suite still fails [0].  Is this a
known issue?  I believe it is the same issue as reported in [1], but I'm
not completely sure, as the old logs are no longer available.

[0] 
http://salmonella-linux-x86.call-cc.org/master/clang/linux/x86/2021/06/29/salmonella-report/test/zlib.html
[1] http://bugs.call-cc.org/ticket/1607

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Egg: chicken-rocksdb

2021-06-26 Thread Mario Domenech Goulart
On Sat, 26 Jun 2021 00:03:27 +0200 Kristian Lein-Mathisen 
 wrote:

> I've written some bindings for Facebook's RocksDB which I wish to publish. 
> Here's my release-info file:
> https://raw.githubusercontent.com/kristianlm/chicken-rocksdb/master/rocksdb.release-info

Thanks, Kristian!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: egg: ws-client 0.2.1

2021-07-09 Thread Mario Domenech Goulart
Hi,

On Fri, 9 Jul 2021 08:30:08 + Ka-tsùn Lo̍h  wrote:

> This is a minor update to the WebSocket client extension that was
> submitted a week ago:
>
> - replaced some foreign invocations with scheme code where the
> functionality has already been implemented by another egg.
> - updated meta files and documentation, including fixing some
> discrepancies in the .egg file.
> - added a tests/ folder, containing a single, very ad-hoc sanity check.
>
> with thanks to very helpful feedback from Vasilij Schneidermann.
>
> The URI for the release-info file has not changed from 0.2.0, but
> since it hasn't yet been added to `egg-locations`, here it is again:
> https://raw.githubusercontent.com/lohkatsun/ws-client-egg/main/ws-client.release-info

Thanks!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: srfi-217

2021-04-23 Thread Mario Domenech Goulart
On Fri, 23 Apr 2021 02:12:12 -0400 Wolfgang Corcoran-Mathe  
wrote:

> I'd like to announce (and add to the coop) a new egg, srfi-217,
> which provides an (alternate) implementation of integer sets based
> on big-endian radix trees.
>
> The documentation is at https://wiki.call-cc.org/eggref/5/srfi-217
>
> The raw release-info file is found at
> https://raw.githubusercontent.com/Zipheir/srfi-217-chicken/main/release-info
>
> test-new-egg says "Egg looks ok!".

Thanks, Wolfgang.  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Chicken 5, chicken-install goes silent for long time on installing long list of eggs

2021-04-27 Thread Mario Domenech Goulart
Hi Matt,

On Tue, 27 Apr 2021 21:23:21 -0700 Matt Welland  wrote:

> chicken install address-info ansi-escape-sequences apropos base64 crypt 
> csv-abnf
> directory-utils filepath fmt format http-client
> intarweb json linenoise matchable md5 message-digest moremacros
> pathname-expand postgresql queues regex-case rfc3339 s11n sha1
> slice sparse-vectors spiffy
> spiffy-directory-listing spiffy-request-vars sql-de-lite sqlite3
> srfi-19 srfi-69 stack sxml-modifications sxml-serializer
> sxml-transforms sxpath system-information tcp6 test uri-common z3
>
> ... long wait before there is any output ...
>
> A little visual feedback would give the user some confidence that things are 
> proceeding.

[0] will be available in 5.3.0 (to be released).  Meanwhile you can use
the -verbose (-v) flag to make chicken-install display more information.

[0] 
https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commit;h=6bca0f85756b240cb5038608761f68573ffa9241

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: r7rs-tools

2021-03-25 Thread Mario Domenech Goulart
On Wed, 24 Mar 2021 18:51:44 + Diego  wrote:

> I've made a new egg r7rs-tools that provides r7csc and r7csi, which
> are roughly r7rs-only-by-default versions of csc and csi (essentially,
> the initial environment is only (scheme base) by default, no scheme,
> (chicken base) or (chicken syntax)). The egg has passed test-new-egg,
> and the release-info url is here:
>
>   https://code.dieggsy.com/r7rs-tools/plain/r7rs-tools.release-info
>
> I've not tested this for very large or complicated projects, but it seems to 
> work so far for simple examples.
>
> Docs are available here:
>
>   https://wiki.call-cc.org/eggref/5/r7rs-tools

Thanks, Diego.  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



State of CHICKEN 2021

2021-03-09 Thread Mario Domenech Goulart
Dear CHICKENeers,

We've set up a "State of CHICKEN 2021" survey at
http://surveys.call-cc.org/state-of-chicken/2021/

It would be great to have your inputs and feedback.  Your opinion is
important to help us improve CHICKEN.

Hopefully the survey is not too boring and/or buggy.

If you encounter any problem with the survey form, please contact me.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: State of CHICKEN 2021

2021-03-21 Thread Mario Domenech Goulart
Hi,

On Tue, 09 Mar 2021 19:46:06 +0100 Mario Domenech Goulart 
 wrote:

> We've set up a "State of CHICKEN 2021" survey at
> http://surveys.call-cc.org/state-of-chicken/2021/
>
> It would be great to have your inputs and feedback.  Your opinion is
> important to help us improve CHICKEN.
>
> Hopefully the survey is not too boring and/or buggy.
>
> If you encounter any problem with the survey form, please contact me.

The survey will be closed on March 27.  After that we will collect
results and prepare them for a discussion panel that will take place in
the CHICKEN Coding Jam [0], where we will present the results, discuss
about them and hopefully start taking actions on the feedback that we
will get.

[0] http://wiki.call-cc.org/event/coding-jam-2021

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Orphan SRFI eggs and maintainership changes

2021-02-28 Thread Mario Domenech Goulart
On Thu, 25 Feb 2021 20:06:17 -0500 Wolfgang Corcoran-Mathe  
wrote:

> I've been in touch with Sergey Goldgaber, who created a number of
> eggs for various SRFIs late last year.  He's no longer maintaining
> these eggs:
>
>> Sorry, I have been pulled away from the chicken world for the foreseeable
>> future.  The maintainership of these eggs is open for the taking.  Feel
>> free to do what you think best.
>>
>>  --Sergey
>
> There are 25 eggs listed on Sergey's wiki page:
> https://wiki.call-cc.org/users/sergey-goldgaber
> I'm appealing to anyone who has the inclination and time to take over
> some of these.
>
> I'd like to take over maintainership for the following eggs.  Each
> egg name is followed by the updated release-info URL:
>
> * srfi-78
>   https://raw.githubusercontent.com/Zipheir/srfi-78/main/release-info
>
> * srfi-130
>   https://raw.githubusercontent.com/Zipheir/srfi-130/main/release-info
>
> * srfi-152
>   https://raw.githubusercontent.com/Zipheir/srfi-152/main/release-info
>
> * srfi-196
>   https://raw.githubusercontent.com/Zipheir/srfi-196-chicken/main/release-info
>
> * srfi-207
>   https://raw.githubusercontent.com/Zipheir/srfi-207-chicken/main/release-info

Thanks a lot, Wolfgang.  The location of the eggs above have been
updated to point to your repositories.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Orphan SRFI eggs and maintainership changes

2021-02-28 Thread Mario Domenech Goulart
On Fri, 26 Feb 2021 01:36:12 + Diego  wrote:

>> I'm appealing to anyone who has the inclination and time to take over some 
>> of these.
>
> I'd like to maintain the following (with new urls following egg names, passed 
> test-new-egg):
>
> * srfi-143: https://code.dieggsy.com/srfi-143/plain/srfi-143.release-info
>
> * srfi-160: https://code.dieggsy.com/srfi-160/plain/srfi-160.release-info
>
> * srfi-197: https://code.dieggsy.com/srfi-197/plain/srfi-197.release-info

Thanks a lot, Diego.  The location of the eggs above have been updated
to point to your repositories.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Orphan SRFI eggs and maintainership changes

2021-03-04 Thread Mario Domenech Goulart
On Thu, 4 Mar 2021 18:23:59 -0500 Wolfgang Corcoran-Mathe  
wrote:

> I'd also like to pick up maintenance of srfi-132, which is another
> orphan.
>
> The new release-info is at
>
> https://raw.githubusercontent.com/Zipheir/srfi-132/main/release-info

Thanks, Wofgang.  The location of srfi-132 has been updated.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: integer-map

2021-03-07 Thread Mario Domenech Goulart
On Sat, 6 Mar 2021 21:33:59 -0500 Wolfgang Corcoran-Mathe  
wrote:

> I'd like to announce (and add to the coop) a new egg, integer-map,
> which provides immutable mapping structures optimized for fixnum keys.
>
> The documentation is at https://wiki.call-cc.org/eggref/5/integer-map
> The interface is subject to change, and feedback is appreciated.
>
> The raw release-info file is found at
> https://raw.githubusercontent.com/Zipheir/integer-map/main/integer-map.release-info
>
> test-new-egg says "Egg looks ok!".

Thanks, Wolfgang.  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: port of xml-rpc to Chicken 5

2021-04-07 Thread Mario Domenech Goulart
Hi Chris,

On Tue, 06 Apr 2021 19:53:32 -0700 Chris Brannon  wrote:

> I'm taking over maintenance of the xml-rpc egg.
> I've ported it to Chicken 5.
> The .release-info file is here:
> https://the-brannons.com/cgit/cgit.cgi/chicken-xml-rpc/plain/xml-rpc.release-info

Just double-checking to avoid misunderstandings: have you contacted
Peter Bex (maintainer of the egg for CHICKEN 4) about taking over the
maintenance of xml-rpc?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: port of xml-rpc to Chicken 5

2021-04-07 Thread Mario Domenech Goulart
Hi,

On Thu, 8 Apr 2021 07:36:21 +0200 Peter Bex  wrote:

> On Wed, Apr 07, 2021 at 06:41:30PM -0700, Chris Brannon wrote:
>> Mario Domenech Goulart  writes:
>> 
>> > Just double-checking to avoid misunderstandings: have you contacted
>> > Peter Bex (maintainer of the egg for CHICKEN 4) about taking over the
>> > maintenance of xml-rpc?
>> 
>> Hi Mario,
>> I'm sorry; I should have been more explicit about that.  Peter was the
>> one who gave me the idea:
>> 
>> "I would of course accept a patch to port XML-RPC to C5,
>> but I'm not using it anymore, so if you'd like to take over maintainership 
>> that
>> would be even more excellent :)"
>
> Yeah, that was my idea :)

Ok, perfect!  I've added it to the coop.

Thanks Chris for taking over the development of the egg.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Nightly Chicken packages, and Chicken packaging

2021-04-15 Thread Mario Domenech Goulart
Hi Daniel,

On Thu, 15 Apr 2021 18:45:24 +0200 Daniel Ziltener  wrote:

> I started building Chicken from the git repository as a "Nightly Build". 
> Currently, there are only RPM packages, DEB might follow later. The packages 
> are in my personal Chicken repository on openSUSE's OBS service and are 
> available for openSUSE, CentOS, Fedora, Mageia, RHEL, and SLE:
>
> https://software.opensuse.org//download.html?
> project=home%3Azilti%3Achicken=chicken-git
>
> The packages are compiled with the respective distribution's default C 
> compiler.
>
> (The "normal" Chicken 5.2.0 builds are available for a wide range of RPM and 
> DEB distributions here: https://download.opensuse.org/repositories/home:/
> zilti:/chicken/ )

Nice!  Thanks for sharing that.

> That aside, since the upcoming release will likely support the Tiny C 
> Compiler, is there interest in packages of Chicken compiled with TCC? If so,  
> any package name suggestions - probably chicken-tcc? Also, at that point I'd 
> add support for the Alternatives tool on RPM distributions so the different 
> versions could be installed in parallel.

Please note that TCC has to be patched to compile some eggs.  We've been
using 0.9.27 with VSTACK_SIZE (see tcc.h) set to 1024 instead of the
default 256.

> I also think about renaming the packages from "chicken" to "chicken5" to 
> reflect the major versions.

Sounds like a good idea.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: State of CHICKEN 2021

2021-04-10 Thread Mario Domenech Goulart
Hi,

On Sun, 21 Mar 2021 09:44:51 +0100 Mario Domenech Goulart 
 wrote:

> On Tue, 09 Mar 2021 19:46:06 +0100 Mario Domenech Goulart 
>  wrote:
>
>> We've set up a "State of CHICKEN 2021" survey at
>> http://surveys.call-cc.org/state-of-chicken/2021/
>>
>> It would be great to have your inputs and feedback.  Your opinion is
>> important to help us improve CHICKEN.
>>
>> Hopefully the survey is not too boring and/or buggy.
>>
>> If you encounter any problem with the survey form, please contact me.
>
> The survey will be closed on March 27.  After that we will collect
> results and prepare them for a discussion panel that will take place in
> the CHICKEN Coding Jam [0], where we will present the results, discuss
> about them and hopefully start taking actions on the feedback that we
> will get.
>
> [0] http://wiki.call-cc.org/event/coding-jam-2021

Thanks for the feedback provided through the survey!

The results have been published at
https://surveys.call-cc.org/state-of-chicken/2021/

We discussed the results in a session at the CHICKEN Coding Jam
yesterday.

We are taking your feedback into account for the next development
activies in CHICKEN.  Some of them are already being addressed in the
Coding Jam event itself, which is happening during this weekend (join
#ChickenCodingJam on Freenode to participate!).

We found that some points could have some clarification, as some of the
feedback we received may be a consequence of deficiencies in our
documentation.  Clarifications have been annotated in the survey results
(look for "Clarification" in there).  Don't hesitate to continue
discussing on topics you are interested in.  Please use our discussion
channels (http://wiki.call-cc.org/discussion-groups) accordingly to do
so.

Any help to improve CHICKEN in the direction of addressing the feedback
received through the survey is very much appreciated!

All the best.
Mario
-- 
http://parenteses.org/mario



Re: SRFI-144 - initial port

2021-04-18 Thread Mario Domenech Goulart
Hi Diego,

On Sun, 18 Apr 2021 19:40:47 + Diego  wrote:

> I've created an initial port of SRFI-144 that passes test-new-egg with 
> release-info here:
>
> https://code.dieggsy.com/srfi-144/plain/srfi-144.release-info
>
> I'm thinking a next step might be to test the procedures with C
> equivalents in CHICKEN and see if it'd be best to switch to
> those. Currently, only the two procedures stated in the SRFI document
> are using the FFI, but I'm not sure if the claims made about Larceny
> hold for us as well.

Thanks.  Your egg has been added to the coop.

When you have a chance, please consider writing a wiki page for it.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg (json-rpc) and some words about LSP

2021-04-17 Thread Mario Domenech Goulart
On Sat, 17 Apr 2021 19:22:29 + "Ricardo G. Herdt"  wrote:

> I created a simple JSON-RPC implementation that I would like to
> share. @Mario, can you please add it to the coop?
>
> https://gitlab.com/rgherdt/scheme-json-rpc

Thanks, Ricardo.  Your egg has been added to the coop.

> It's my first library release, so any ideas regarding the API are
> welcome. The calling procedures are rather simple for now, for
> instance they are only synchronous and JSON-RPC's ID feature is
> completely ignored. I mainly focused on the server-side so far.
>
> The code structure is rather atypical, since I'm striving to keep it
> portable to other implementations. The reason is that I'm using this
> to develop a LSP server for scheme. As mentioned during the last
> Coding Jam, the LSP server currently focuses on CHICKEN 5 and Guile,
> and regarding C5 I already managed to implement support for
> auto-completion, find-signature and documentation fetching. There are
> still some problems, for instance I noticed that chicken-doc doesn't
> find some symbols like 'string-map under (scheme base). Any ideas why?
>
> The LSP server is mainly tcp socket base, although using it with
> standard input/output shouldn't be a problem. I'm still not sure what
> are the tradeoffs between both options though.
>
> I also started writing a LSP client for VSCode. Although I'm an emacs
> user, I think VSCode support could help atracting new users, so that's
> why I'm focusing on it first. It also helps that it's LSP support is
> obviously very mature. If someone wants to work on a different client,
> feel free to contact me (rgherdt on #chicken).
>
> LSP features might be not as rich as say the Swank protocol. But we
> can add custom commands to it (I did it to send 'load requests to the
> server). So it looks quite flexible.
>
> For those curious about the current state:
> https://gitlab.com/rgherdt/scheme-lsp-server
> https://gitlab.com/rgherdt/vscode-scheme-lsp

Nice work!  Thanks for sharing.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: [ANN] CHICKEN 5.3.0 release candidate available

2021-08-12 Thread Mario Domenech Goulart
Hi Ariela,

On Thu, 12 Aug 2021 21:44:11 -0300 Ariela Wenner  wrote:

> Hi all, I seem to be running into a weird issue with this rc when trying to
> install the pigeon-hole egg (might happen with other eggs too, I tested a 
> bunch
> and it only happened with pigeon-hole though).
>
> Link to log output:
> https://paste.call-cc.org/paste?id=96c654c6b97cd5268c6006e19c78739e19bbde42
>
> Operating system: Debian testing and Debian stable
> Hardware platform: x86-64
> C Compiler: GCC 10.2.1
> Installation works?: yes
> Tests work?: yes
> Installation of eggs works?: almost!
>
> Anyone else?

pigeon-hole broke with b175ce65 in the chicken-core repository:
http://salmonella-linux-x86.call-cc.org/master/clang/linux/x86/2021/04/12/yesterday-diff/

A patch has been submitted
(https://github.com/0-8-15/pigeon-hole/pull/3) but a new version has not
been released.

In summary: it's an issue with pigeon-hole.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: [Chicken-announce] [ANN] CHICKEN 5.3.0 release candidate available

2021-08-16 Thread Mario Domenech Goulart
Hi Christian,

On Fri, 13 Aug 2021 09:22:10 +0200 (CEST) Christian Himpe 
 wrote:

> all seems to work, yet installing "sendfile", "http-session", "srfi-18" gave:
>
> ```
> Warning: Deprecated identifier `current-milliseconds'
> ```
>
> Otherwise:
>
> Operating system: Ubuntu Mate 20.04
> Hardware platform: x86-64
> C Compiler: gcc 10.3.0
> Installation works?: yes
> Tests work?: yes
> Installation of eggs works?: yes

Thanks for the feedback.

Regarding the warnings, they are unfortunate, but expected.

`current-milliseconds' has been deprecated in favor of
`current-process-milliseconds', but the latter is not available in
previous versions of the 5.x series, so egg developers can't really just
use `current-process-milliseconds' instead of `current-milliseconds' in
5.x.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Windows vs Linux Performance, windows host 4-6x slower than linux guest vm

2021-09-06 Thread Mario Domenech Goulart
Hi Mark,

On Mon, 6 Sep 2021 13:26:26 +0100 Mark Fisher  wrote:

> I've got a windows and linux environment for Chicken on the same machine.
> linux is running in VMWare Workstation, the host is Windows 10.
>
> I'm seeing quite a difference in performance between the two; windows host is 
> running about ~4-6x slower than a VM that's running on the same machine.
>
> The code I'm running is some of the 2015 advent of code challenges I'm 
> writing to learn scheme.
> My codebase is: https://github.com/markjfisher/aoc-chicken
>
> All times below (last 3 columns) are in millis, they show Total time, then 
> times for the 2 parts that are run to make that total.
>
> building:
> $ cd build; RELEASE=1 make clean all
>
> On my linux VM
> $ ./advent2015
> Day: Part 1   Part 2   Time  P1   P2  
> 01 : 232  1783 1165
> 02 : 1606483  3842356  6234   28  
> 03 : 2565 2639 9727   70  
> 04 : 254575   1038736  2713  490  2223
>
> On my Windows Host
>> advent2015.exe
> Day: Part 1   Part 2   Time  P1   P2
> 01 : 232  1783 6332   31
> 02 : 1606483  3842356  375   187  188
> 03 : 2565 2639 656   187  469
> 04 : 254575   1038736  10735 2156 8579
>
> Both are using 5.3.0rc2, both using "-O3" flags for release mode. All eggs 
> (listed in the docs/setup.md) were installed with same version of chicken.
> gcc is 10.3.0 from chocolatey in windows, and same version in linux.
>
> Is windows performance a known thing? Is there anything else I can do to make 
> the windows build more performant?
>
> - - - 8< - - -
> The compilation output for linux:
> csc -I ../ -s -d3 -O3 ../advents/2015/aoc2015day01.scm -j aoc2015day01 
> -emit-types-file aoc2015day01.types -o aoc2015day01.so
> csc -I ../ -s -d0 aoc2015day01.import.scm
> csc -I ../ -s -d3 -O3 ../advents/2015/aoc2015day02.scm -j aoc2015day02 
> -emit-types-file aoc2015day02.types -o aoc2015day02.so
> csc -I ../ -s -d0 aoc2015day02.import.scm
> csc -I ../ -s -d3 -O3 ../advents/2015/aoc2015day03.scm -j aoc2015day03 
> -emit-types-file aoc2015day03.types -o aoc2015day03.so
> csc -I ../ -s -d0 aoc2015day03.import.scm
> csc -I ../ -s -d3 -O3 ../advents/2015/aoc2015day04.scm -j aoc2015day04 
> -emit-types-file aoc2015day04.types -o aoc2015day04.so
> csc -I ../ -s -d0 aoc2015day04.import.scm
> csc -I ../ ../advents/2015/advent2015.scm -d3 -O2 -compile-syntax -o 
> advent2015
>
> For windows:
> csc -I ..\\ -s -d3 -O3 ..\\advents\\2015\\aoc2015day01.scm -j aoc2015day01 
> -emit-types-file aoc2015day01.types -o aoc2015day01.so
> csc -I ..\\ -s -d0 aoc2015day01.import.scm
> csc -I ..\\ -s -d3 -O3 ..\\advents\\2015\\aoc2015day02.scm -j aoc2015day02 
> -emit-types-file aoc2015day02.types -o aoc2015day02.so
> csc -I ..\\ -s -d0 aoc2015day02.import.scm
> csc -I ..\\ -s -d3 -O3 ..\\advents\\2015\\aoc2015day03.scm -j aoc2015day03 
> -emit-types-file aoc2015day03.types -o aoc2015day03.so
> csc -I ..\\ -s -d0 aoc2015day03.import.scm
> csc -I ..\\ -s -d3 -O3 ..\\advents\\2015\\aoc2015day04.scm -j aoc2015day04 
> -emit-types-file aoc2015day04.types -o aoc2015day04.so
> csc -I ..\\ -s -d0 aoc2015day04.import.scm
> csc -I ..\\ ..\\advents\\2015\\advent2015.scm -d3 -O2 -compile-syntax -o 
> advent2015
> - - - -

Thanks for the detailed information.

That performance discrepancy is kinda surprising, specially considering
that Linux is running as a guest on a VM on Windows.

Maybe profiling can help spot what is causing the performance
difference?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Make the args egg stop truncating long options in args:usage

2021-09-13 Thread Mario Domenech Goulart
Hi,

On Thu, 09 Sep 2021 16:00:53 -0400 T. Kurt Bond  wrote:

> [Should I be asking this question on chicken-hackers instead of here?]

I think your best bet would be contacting the maintainer of the egg
directly.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Windows vs Linux Performance, windows host 4-6x slower than linux guest vm

2021-09-08 Thread Mario Domenech Goulart
On Mon, 6 Sep 2021 21:25:48 +0100 Mark Fisher  wrote:

>  The compilation options enable instrumentation-based profiling. There's
>  statistical profiling available when running executables with -:p which
>  might give you more useful data (see
>  https://www.more-magic.net/posts/statistical-profiling.html for more
>  infomation). Could you please try that one as well?
>
> I had found that article, didn't realise it was as easy as adding the switch 
> when running.
>
> Here's the output for windows:
> reading `PROFILE.15844' ...
>
> procedure 
>  calls  seconds  average  percent
> ---
> ../advents/2015/aoc2015day04.scm:35: 
> message-digest-byte-vector#message-digest-string1498.2690.055   
> 69.671
> ../advents/2015/aoc2015day04.scm:35: chicken.string#conc  
>1121.3200.011   11.120
> ##sys#substring=? 
> 721.0500.0148.845
> ../advents/aoc-files.scm:43: streams.primitive#$make-stream-eager$
> 100.1400.0141.179
> ##sys#profile-exit
> 110.1200.0101.010
> ../advents/2015/aoc2015day04.scm:35: loop240  
>  90.0900.0100.758
> comparators/default.scm:115: make-comparator  
>  90.0900.0100.758
> comparators/default.scm:111: object-type  
>  80.0900.0110.758
> ../advents/aoc-files.scm:47: streams.utils#stream-fold-right  
>  20.0600.0300.505
> ../advents/2015/aoc2015day03.scm:110: streams.primitive#stream-null?  
>  50.0500.0100.421
> ../advents/aoc-files.scm:44: streams.primitive#stream-cdr 
>  40.0400.0100.336
> ../advents/2015/aoc2015day03.scm:110: streams.primitive#$make-stream-eager$   
>  30.0400.0130.336
> comparators/comparators-impl.scm:235: acc 
>  30.0300.0100.252
> ../advents/2015/aoc2015day03.scm:113: streams.primitive#stream-null?  
>  30.0300.0100.252
> comparators/comparators-impl.scm:236: acc 
>  30.0300.0100.252
> ../advents/aoc-files.scm:43: streams.primitive#stream-car 
>  30.0300.0100.252
> ../advents/2015/aoc2015day01.scm:70: streams.derived#stream-fold  
>  10.0300.0300.252
> ../advents/2015/aoc2015day01.scm:95: streams.utils#stream-find
>  10.0300.0300.252
> ##sys#profile-entry   
>  20.0200.0100.168
> ../advents/aoc-files.scm:41: streams.derived#stream-append
>  20.0200.0100.168
> comparators/comparators-impl.scm:234: acc 
>  20.0200.0100.168
> ../advents/2015/aoc2015day03.scm:72: srfi-113#set-adjoin! 
>  20.0200.0100.168
> comparators/default.scm:87: object-type   
>  20.0200.0100.168
> comparators/default.scm:110: object-type  
>  20.0200.0100.168
> comparators/comparators-impl.scm:200: %salt%  
>  20.0200.0100.168
> ../advents/2015/aoc2015day03.scm:113: streams.primitive#$make-stream-eager$   
>  20.0200.0100.168
> ../advents/2015/aoc2015day03.scm:113: streams.primitive#stream-car
>  10.0200.0200.168
> ../advents/aoc-files.scm:40: streams.derived#stream-append
>  10.0100.0100.084
> comparators/comparators-impl.scm:166: exact   
>  10.0100.0100.084
> ../advents/2015/advent2015.scm:38: scheme#display 
>  10.0100.0100.084
> ../advents/2015/aoc2015day03.scm:110: streams.primitive#$make-stream-lazy$
>  10.0100.0100.084
> ../advents/2015/aoc2015day02.scm:86: g194 
>  10.0100.0100.084
> ../advents/2015/aoc2015day03.scm:71: streams.derived#stream-fold  
>  10.0100.0100.084
> comparators/comparators-impl.scm:95: g307 
> 

Re: [ANN] CHICKEN 5.3.0 release candidate 3 available

2021-09-23 Thread Mario Domenech Goulart
Hi,

On Mon, 20 Sep 2021 09:12:25 +0200 Peter Bex  wrote:

> The third release candidate for CHICKEN 5.3.0 is now available for
> download:
>
>   https://code.call-cc.org/dev-snapshots/2021/09/20/chicken-5.3.0rc3.tar.gz
>
> The sha256sum of that tarball is:
>
>   298ad5eab42ea56c3cc3fcc7343a510e0c41fc13d3b5bdd2f4b1a636458f8f67
>
> The list of changes since 5.2.0 and 5.3.0rc3 is available here:
>
>   https://code.call-cc.org/dev-snapshots/2021/09/20/NEWS
>
> This release candidate makes it possible to build with tcc again
> and fixes two issues on Windows: egg installation scripts were mixing
> uses of msys tools and Windows cmd directives and the test suite has
> some failures on Windows.
>
> Please give this new release candidate a try and report your findings
> to the mailing list.  Here's a suggested test procedure:
>
>   $ make PREFIX= install check
>   $ /bin/chicken-install pastiche
>
> If you can, please let us know the following information about the
> environment on which you test the RC:

Thanks for preparing the rc, Peter.  Here are my results:

Operating system: Debian 11.0
Hardware platform: x86-64
C compilers: GCC 10.2.1, clang 11.0.1-2, TCC 0.9.27
Installation works?: yes
Tests work?: yes
Installation of eggs works?: yes

I used parallel make to build CHICKEN:

   $ make PREFIX= C_COMPILER= -j4 all
   $ make PREFIX= C_COMPILER= install check
   $ /bin/chicken-install pastiche

All the best.
Mario
-- 
http://parenteses.org/mario



Re: new egg: opencl

2021-10-19 Thread Mario Domenech Goulart
On Tue, 19 Oct 2021 21:54:43 +0200 Kristian Lein-Mathisen 
 wrote:

> I've been experimenting with OpenCL these past few days. I think the
> code might be worthy of becoming an egg. I did learn OpenCL as I went
> along writing this, so problems are very possible. I still hope it can
> be useful to someone. I was surprised how easy this was to test,
> unlike code associated with OpenGL and other sibling projects.
>
> test-new-egg says "Egg looks ok!".
> release-info file is here: 
> https://raw.githubusercontent.com/kristianlm/chicken-opencl/master/opencl.release-info
> Wiki page is up here: http://wiki.call-cc.org/eggref/5/opencl

Thanks, Kristian.  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: [ANN] CHICKEN 5.3.0 release candidate 4 available

2021-10-06 Thread Mario Domenech Goulart
Hi,

On Wed, 6 Oct 2021 11:50:41 +0200 Peter Bex  wrote:

> The fourth release candidate for CHICKEN 5.3.0 is now available for
> download:
>
>   https://code.call-cc.org/dev-snapshots/2021/10/06/chicken-5.3.0rc4.tar.gz
>
> The sha256sum of that tarball is:
>
>   ba8da800e708c423c0e6e812fa2a93b947c731e52d115988b0c0f84406040e14
>
> The list of changes since 5.2.0 and 5.3.0rc4 is available here:
>
>   https://code.call-cc.org/dev-snapshots/2021/10/06/NEWS
>
> This release candidate fixes a regression that happened somewhere
> between 5.2.0 and 5.3.0 which meant static linking was broken for
> programs that used certain builtin modules (#1788).
>
> It also introduces a safety check in the setters for current-user-id,
> current-effective-user-id and current-group-id to ensure that only
> fixnums are passed in (#1787).
>
> Please give this new release candidate a try and report your findings
> to the mailing list.  Here's a suggested test procedure:
>
>   $ make PREFIX= install check
>   $ /bin/chicken-install pastiche

Thanks for the new rc, Peter.

Unfortunately we've found some issues while giving it a try some hours
ago (we had some discussions on IRC):

* chicken.foreign leaks into .link files.  This can be fixed with [0],
  by Felix.  I suppose Felix is going to submit a patch to
  chicken-hackers.

* chicken.csi leaks into .link files.  This issue is actually present in
  the current stable release (5.2.0), but nobody had noticed it.

[0] 
http://paste.call-cc.org/paste?id=d3ce820bd46cc8d8e7cb2b4605c01ccbd8c704ba#a1

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Help with egg definitions

2021-12-19 Thread Mario Domenech Goulart
Hi Robert,

On Sun, 19 Dec 2021 01:37:30 -0330 foggy  wrote:

> I'm trying to figure out how to create the egg definition for a
> program with multiple compilation units. Could someone link me to an
> example of such a definition, or somehow help me with this?
>
> I'm currently just using `csc -o PROGRAM src/*.scm` in a makefile, and
> would like to replace this with an egg definition.

One way to achieve that is having, say, the-program.scm including (with
`include') src/part1.scm, src/part2.scm (and so on).

That would be something like

  (program the-program
(source-dependencies "src/part1.scm" "src/part2.scm"))

in the .egg file.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: possible bug in the fmt egg?

2021-12-23 Thread Mario Domenech Goulart
Hi Kristian,

On Mon, 18 Oct 2021 23:27:25 +0200 Kristian Lein-Mathisen 
 wrote:

> I'm playing with the fmt egg and I think I've stumbled upon a problem:
>
> ~> csi -R fmt -P '(fmt #f (num/si 1024))'
> "1Ki"
> ~> csi -R fmt -P '(fmt #f (num/si 0))'
> Error: (log) log of exact 0 is undefined: 0
> klm@pisa ~ [70]> csi -R fmt -P '(fmt #f (num/si -1))'
> Error: (floor) bad argument type - not a real: 0.0+0.453236014182719i
>
> I couldn't find the upstream repo to report to, so I thought I'd try here.

The upstream repository is the CHICKEN Subversion repository.

You can get a copy of it with:

  $ svn co 
https://anonym...@code.call-cc.org/svn/chicken-eggs/release/5/fmt/trunk fmt

The author of fmt is Alex (Cc'ed).

All the best.
Mario
-- 
http://parenteses.org/mario



Re: [ANN] CHICKEN 5.3.0 has been released

2021-11-18 Thread Mario Domenech Goulart
On Thu, 18 Nov 2021 08:28:44 +0100 Peter Bex  wrote:

> Dear CHICKEN users,
>
> We are pleased to announce the immediate availability of CHICKEN 5.3.0
> at the following URL:
> https://code.call-cc.org/releases/5.3.0/chicken-5.3.0.tar.gz
>
> This tarball has the following SHA256 checksum:
> c3ad99d8f9e17ed810912ef981ac3b0c2e2f46fb0ecc033b5c3b6dca1bdb0d76
>
> This is a bugfix release which fixes several important issues, and
> it is highly recommended to update to this version.
>
> Irregex has been updated to the latest upstream (0.9.10), which fixes
> a few issues with bol handling and irregex-replace/all with positive
> lookbehind replaces all matches rather than just the first.
>
> A few bugs in the module system's handling of reexport have been fixed,
> as well as a few bugs in the optimization of using argvector directly
> in rest arguments, and a nasty issue where mutated parameters would be
> reset if the mutation happened in a signal handler.
>
> A nice improvement is that to build CHICKEN, on most platforms you no
> longer need to provide the PLATFORM variable to Make; we auto-detect
> the platform you're building on.  Of course, for cross-compilation
> you'll still have to set it.
>
> We tweaked the garbage collector to avoid thrashing when the heap was
> almost full.  This should drastically improve performance for certain
> usage patterns that trigger this pathological behaviour.
>
> Finally, we fixed a few issues on Windows.  There were some misbehaviours
> when using a different shell when building core versus during usage and
> the test suite now should pass again under Windows.
>
> Thanks to everyone who helped to test this release.
>
> For a full list of the changes since 5.2.0, see the NEWS file:
> https://code.call-cc.org/releases/5.3.0/NEWS

Thanks, Peter.

I'd like to also mention two other improvements that combined lead to
mind blowing results: TCC support and the fixes for parallel make.

With those two combined, it's possible to build CHICKEN from scratch in
less than one second on a relatively modern CPU.

Here's an example on my box (Intel i5-8259U):

$ time make PREFIX=$HOME/local/chicken-5.3.0-tcc C_COMPILER=tcc -j8
...
real0m0.741s
user0m3.782s
sys 0m0.615s

All the best.
Mario
-- 
http://parenteses.org/mario



Re: new egg: cmark

2021-11-04 Thread Mario Domenech Goulart
On Thu, 04 Nov 2021 12:52:50 + "Caolan McMahon"  wrote:

>> Caolan: would you be ok for you if cmark for CHICKEN 5 points to
>> Harley's implementation?
>
> Yes, please go ahead - and thanks to Harley for creating a CHICKEN 5 version 
> :)

Thanks, Caolan.

Harley: thanks again.  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: nng

2021-11-04 Thread Mario Domenech Goulart
Hi Ariela,

On Sun, 31 Oct 2021 17:18:45 -0300 Ariela Wenner  wrote:

> So, here's a followup
>
> I linked pthreads and added the things you suggested to the wiki.
>
> As for the hangs, I hate to say this but it seems like the test was the 
> problem.
> More precisely, it seems like the topic for the subscriber socket wasn't set
> fast enough, so when the publisher socket sent a message, the subscriber 
> wasn't
> ready for it. Hang.
>
> I added some coordination in the test itself and ran the tests over 100 times
> just to be sure. No hang. Maybe I'm just being extremely unlucky though, so as
> always feedback is appreciated.
>
> Just pushed a new tag with the changes, fingers crossed.

Thanks.

I'm sad to report, though, that tests of 0.2.1 still hang here.

I'm testing it with the following command:

  $ test-new-egg nng 
https://gitlab.com/ariSun/chicken-nng/-/raw/main/nng.release-info

I executed the command above three times and tests hanged consistently.

I'm using strace to verify that the test process is not actually doing
anything:

$ strace -p 14836
strace: Process 14836 attached
restart_syscall(<... resuming interrupted poll ...>

All the best.
Mario
-- 
http://parenteses.org/mario



Re: new egg: cmark

2021-11-03 Thread Mario Domenech Goulart
Hi Harley,

On Wed, 03 Nov 2021 20:44:31 + "Harley Swick"  
wrote:

> I'm announcing the first release of cmark and would like to add it to the 
> coop.
>
> cmark is a wrapper for the commonmark C library. It also includes a 
> cmark->sxml function
> that I have specifically implemented to be a drop-in replacement for lowdown.
>
> There is a different cmark egg for Chicken 4. Since my additions are 
> significantly larger than
> the total of the old egg, I didn't feel it was fair to drop a bunch of 
> strange code on someone
> who may not want to be stuck maintaining it. I have added aliases to make 
> this egg
> a compatible replacement for users upgrading from 4 to 5. I don't foresee any 
> issues with conflicts since
> this egg only works with Chicken 5.
>
> The wiki page has been made already.
>
> Thanks!
>
> Wiki:
> http://wiki.call-cc.org/eggref/5/cmark
> Source:
> https://git.sr.ht/~fancycade/chicken-cmark

Thanks!  Maybe I'm missing something, but I could not find a
release-info file in the repository.

In case you don't have one, please see
http://wiki.call-cc.org/releasing-your-egg#creating-a-release-info-file
for information on how to create one.

See also
http://wiki.call-cc.org/eggs%20tutorial#testing-your-extension
on how to use it to test your egg.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: new egg: cmark

2021-11-04 Thread Mario Domenech Goulart
On Thu, 04 Nov 2021 01:14:13 + "Harley Swick"  
wrote:

> Mario,
>
> Looks like I missed a step. I have added a release-info file and tested it 
> with test-new-egg.
>
> Jim,
>
> Thanks for the feedback. I have updated the wiki with your suggestions.

Thanks, Harley.

Let's just double-check with Caolan whether he has any objection
regarding reusing the egg name from CHICKEN 4, as he is the author of
that egg.

Caolan: would you be ok for you if cmark for CHICKEN 5 points to
Harley's implementation?

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: nng

2021-11-07 Thread Mario Domenech Goulart
Hi Ariela,

On Fri, 05 Nov 2021 09:31:54 -0300 Ariela Wenner  wrote:

> Welp... that's a bummer. I was sure it was a timing issue with the tests.
>
> I'll keep poking at it on different machines to see what I'm missing.
>
> Thanks for giving it a try! Cheers!

Thank you for your efforts and for investigating the issue!  It's nice
that you actually have tests and they seem to be catching issues
(assuming the problem is not in the tests themselves).

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: nng

2021-10-31 Thread Mario Domenech Goulart
Hi Ariela,

On Fri, 29 Oct 2021 13:35:52 -0300 Ariela Wenner  wrote:

> Hi all! I'd like to add my nng egg to the coop. Went through test-new-egg and 
> everything seems fine.
>
> Release info is at 
> https://gitlab.com/ariSun/chicken-nng/-/raw/main/nng.release-info
>
> Wiki page is http://wiki.call-cc.org/eggref/5/nng
>
> This is the first time I publish an egg so please let me know if something's 
> wrong.

Thanks!  That looks very interesting.

I've tried to test your egg as part of the setup procedure of our test
machines and stumbled upon a couple of issues.  I'm using the following
environment:

* Debian 10.11
* GCC 8.3.0
* x86 system (32bit)
* CHICKEN 5.2.0
* nng version 1.5.2

I'm able to compile and install the egg, but when I run tests I get

  csi: symbol lookup error: .../lib/chicken/11/nng.so: undefined symbol: 
pthread_mutexattr_init

I can work around that by using

diff --git a/nng.egg b/nng.egg
index 782ce6c..f5b4f9a 100644
--- a/nng.egg
+++ b/nng.egg
@@ -5,6 +5,6 @@
  (test-dependencies test uuid)
  (dependencies foreigners srfi-18 srfi-69)
  (components (extension nng
-(csc-options "-L" "-lnng")
+(csc-options "-L" "-lnng" "-L" "-lpthread")
 (source "src/nng.scm")))
  (version 0.2.0))


But then tests apparently hang in "tcp pub-sub":

-- testing nng ---
non-blocking . [ PASS]
tcp req-rep .. [ PASS]
inproc req-rep ... [ PASS]
tcp push-pull  [ PASS]
inproc push-pull . [ PASS]
tcp pair . [ PASS]
inproc pair .. [ PASS]
tcp pub-sub .. 

strace doesn't help much:

$ strace -p 19841
strace: Process 19841 attached
restart_syscall(<... resuming interrupted poll ...>

Would you know what can be wrong?

Regarding the documentation, a few notes:

* Please use the actual egg name as main heading (s/chicken-nng/nng/)

* It would be nice to mention which versions of nng the egg is supposed
  to be compatible with.  At least the versions it is known to work with.

* Please add the following sections to the documentation:
  * a "Repository" section with a link to the source repository
  * a "License" section mentioning the license of the egg (should match
what's specified in the .egg file

All the best.
Mario
-- 
http://parenteses.org/mario



Re: How to share knowledge about known bugs?

2021-12-01 Thread Mario Domenech Goulart
Hi Jörg and all,

On Wed, 1 Dec 2021 10:30:44 +0100 "Jörg F. Wittenberger" 
 wrote:

> one in a while I wonder how to handle a list of eggs not suitable for
> certain situations due to some undocumented internals.

I think a first step would be removing the "un" prefix from
"undocumented". :-)

> Examples like "egg used global variables" vs. "application uses egg
> from multiple threads" come to mind.
>
> Or the case with the "synch" egg, which, last time I checked, combined
> dynamic-wind and mutex use in a flawed way defeating the locking
> purpose.[1]
>
> So far I don't have a good idea how this could be dealt with.  Guess
> some kind of configurable/selectable blocklist would be in order.
> After all global variables are OK if you know there is only one thread
> or you know about them and ensure proper locking.
>
> Important I'd find that the lists and reason of listing should be
> shared somehow.  After all this is about learning undocumented
> things/facts/risks.

Usually we have sections in egg documentation about assumptions, known
bugs, limitations, caveats etc.  The documentation is in our wiki.
Everyone can make contributions to improve the quality of egg
documentation, including mentioning caveats.

Ideally bugs should be fixed, of course.  When they are discovered, they
should be at least reported (e.g., https://bugs.call-cc.org or whatever
issue tracker egg authors use).

I'm not completely sure I understand what you mean by "block list".  I
think the best we can do is document issues, really, and leave it up to
users to decide whether the issues are relevant for their use cases or
not.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Interpreter tutorial error

2021-07-18 Thread Mario Domenech Goulart
Hi,

On Sun, 18 Jul 2021 17:30:14 +0200 (CEST) ammkrn--- via 
 wrote:

> I'm reading the Chicken Scheme manual's section on using the
> interpreter. The first code example, under "Writing Sheme Scripts"
> doesn't seem to work with csi Version 5.2.0 (rev 317468e4)
> macosx-unix-clang-x86-64 [ 64bit dload ptables ].
>
> When I follow the instructions, I get the error below. If someone
> could let me know what I'm doing wrong, I would appreciate it:
>
> Error: unbound variable: with-input-from-string
>
> Call history:
>
>(##sys#load-library (##core#quote library))
>(##sys#load-library (##core#quote expand))
>(import (chicken process-context))
>(##core#begin (##core#require library chicken.process-context#))
>(##core#require library chicken.process-context#)
>(##sys#load-library (##core#quote library))
>(##core#quote library)
>(##sys#load-library (##core#quote library))
>(print (eval (with-input-from-string (car 
> (command-line-arguments)) read)))
>(eval (with-input-from-string (car (command-line-arguments)) read))
>(with-input-from-string (car (command-line-arguments)) read)
>(car (command-line-arguments))
>(command-line-arguments)
>(print (eval (with-input-from-string (car (command-line-arguments)) 
> read)))
>(eval (with-input-from-string (car (command-line-arguments)) read))
>(with-input-from-string (car (command-line-arguments)) read) <--

Thanks for reporting that.  The manual was missing `(import (chicken port))'
in those examples.  I've fixed them.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New eggs: srfi-203 and srfi-216 (SICP)

2021-07-28 Thread Mario Domenech Goulart
On Wed, 28 Jul 2021 01:06:58 +0200 Vasilij Schneidermann  
wrote:

> Someone on the IRC channel pointed out that there is no obvious egg to
> use for solving SICP exercises as the sicp egg is C4-only and no
> alternatives exist. I chose to port SRFI-203 and SRFI-216 which provide
> the picture language and other SICP prerequisites.
>
> Both eggs have been tested successfully with `test-new-egg`. I plan to
> set up a C5 page for the sicp egg pointing to the two SRFIs instead.
>
> https://depp.brause.cc/srfi-203/srfi-203.release-info
> https://depp.brause.cc/srfi-216/srfi-216.release-info

Thanks, Vasilij.  Your eggs have been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New Egg: posix-regex

2022-03-16 Thread Mario Domenech Goulart
Hi Sören,

On Wed, 16 Mar 2022 16:55:29 +0100 Sören Tempel  
wrote:

> I have written a small library to wrap the regcomp(3), regexec(3), and
> regerror(3) POSIX functions. This allows using strict POSIX Basic
> Regular Expressions (BREs) and Extended Regular Expressions (EREs) from
> CHICKEN code. My understanding is that irregex only supports EREs with
> PCRE extensions (hence the need for this egg).
>
> I would like to see it added to the egg repository. The source code is
> hosted at https://github.com/nmeum/posix-regex. The release info file is
> available at:
>
>   
> https://raw.githubusercontent.com/nmeum/posix-regex/main/posix-regex.release-info
>
> I have performed tests with test-new-egg and only the documentation step
> fails. I assume this is due to the fact that I haven't created a Wiki
> page yet, I will do so after the egg is added to the repository (it
> wasn't clear to me whether Documentation should be created beforehand).
>
> Let me know if there is anything that needs to be adjusted.
>
> Please CC me, I am not subscribed to the list.

Many thanks.  Your egg has been added to the coop.

Regarding documentation: all fine.  Some people create it in advance,
some after the egg gets added.  Both are good as long as we eventually
have some documentation. :-)

Some nitpicking: is the dependency on r7rs really necessary, assuming
your egg uses the FFI, which is CHICKEN-specific?

All the best.
Mario
-- 
http://parenteses.org/mario



[SECURITY] awful-salmonella-tar: path traversal vulnerability

2022-02-19 Thread Mario Domenech Goulart
Hi,

A ..%2F path traversal vulnerability exists in the path handler of
awful-salmonella-tar before version 0.0.4.  Attackers can only list
directories (not read files). This occurs because the `safe-path?'
predicate is not used for directories.

This vulnerability would allow attackers to navigate through the
filesystem of the server (provided execute access to directories for the
user running the web server).  Attackers could only list the contents of
directories -- not download files.

The vulnerability was caused by the lack of a check for the validity
requested paths when handling directories, notably when `..%2F' (`../'
URL-encoded) was present in requested paths.

Background:

awful-samonella-tar [3] is implemented using awful [0].  Awful is
implemented on top of spiffy [1], and overrides the `(handle-not-found)'
parameter to map URL paths to procedures.  Spiffy takes some precautions
regarding dealing with malicious paths when it handles static files.
Code that uses spiffy to implement generation of dynamic content (like
awful does), must take their own precautions.

awful-salmonella-tar uses a procedure (`safe-path?') with a relatively
strict policy to allow access to files, but it was not being used to
validate access to directories, and that was causing the vulnerability.

The fix [2] consists of applying the `safe-path?' procedure to all
requested paths.

Thanks to Chris Brannon for responsibly reporting this issue.

This issue has been assigned CVE-2022-25358.

[0] https://wiki.call-cc.org/eggref/5/awful
[1] https://wiki.call-cc.org/eggref/5/spiffy
[2] 
https://github.com/mario-goulart/awful-salmonella-tar/commit/f705c881769b7610745cd4b4d8ae8b41b3f4f845
[3] https://wiki.call-cc.org/eggref/5/awful-salmonella-tar

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New Egg: SRFI-180

2022-02-28 Thread Mario Domenech Goulart
Hi Daniel,

On Mon, 28 Feb 2022 23:56:20 +0100 Daniel Ziltener  wrote:

> I ported the SRFI-180 reference implementation to Chicken 5. The repository 
> is 
> hosted at https://gitea.lyrion.ch/zilti/srfi-180. I added the SRFI-180 
> description as Wiki text at https://wiki.call-cc.org/eggref/5/srfi-180.

The egg tarball cannot be fetched.

  $ test-new-egg srfi-180 
'https://gitea.lyrion.ch/zilti/srfi-180/raw/branch/master/srfi.180.release-info'
  Writing egg-locations for srfi-180 to /tmp/tempdd53.2770909/egg-locations...
  Running /home/mario/local/chicken-5.3.0//bin/henrietta-cache...
  Caching egg 'srfi-180'
  Downloading egg version 1.0.0 from 
https://gitea.lyrion.ch/zilti/awful-sse/archive/1.0.0.tar.gz (CHICKEN release 5)
  Error downloading or extracting egg 'srfi-180' release 1.0.0 (CHICKEN release 
5): 
  Error: Could not fetch targz-file 
https://gitea.lyrion.ch/zilti/awful-sse/archive/1.0.0.tar.gz -- Server error: 
500 Internal Server Error
  Finding out the latest version for srfi-180...
  Leaving /tmp/tempdd53.2770909 for you to manually remove, as you probably 
want to debug something, since something went wrong while installing/testing 
the egg.

I tried multiple times in the last hour or so.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New Egg: SRFI-180

2022-03-01 Thread Mario Domenech Goulart
Hi Daniel,

On Tue, 01 Mar 2022 14:19:13 +0100 Daniel Ziltener  wrote:

> well that's embarassing... I didn't commit the correct release-info file. I 
> corrected that now and the repo now contains the correct .release-info file.

Thanks.

Apparently you named your egg srfi.180, which would be quite unusual,
considering that:

  $ grep srfi- egg-locations  | wc -l
  70

  $ grep 'srfi\.' egg-locations  | wc -l
  0

Not sure if that was intentional, but I'd highly recommend following the
current practice of naming SRFI eggs after the srfi- pattern.

Also, please consider
https://wiki.call-cc.org/eggs%20tutorial#testing-your-extension

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: ipfs

2022-03-23 Thread Mario Domenech Goulart
Hi,

On Tue, 22 Mar 2022 20:49:47 + siiky  wrote:

> I'm happy to announce and ask to publish a new egg to the coop, this
> time to interface with an IPFS[0] node (go-ipfs[1]) through its HTTP
> API[2].
>
> You can find the user documentation on the wiki[3]. For
> technical/implementation details I would encourage you to just read
> the code (and maybe the README) available on siiky/ipfs.scm[4].
>
>
> Special thanks to sjamaan for taking some of his own time to help me
> iron out some quirks! And to the always helpful people on IRC, who
> found `open-input-string` for me, and helped me with some macro stuff
> (that I eventually replaced with a simpler interface using just
> `syntax-rules`, thus dropping 2 dependencies).
>
> -
>
> test-new-egg report:
>
>   Fetching[ ok ] 0s
>   Reading .egg[ ok ] 0s
>   Checking dependencies...[ ok ] 0s
>   Checking category...[ ok ] 0s
>   Checking license[ ok ] 0s
>   Checking author.[ ok ] 0s
>   Installing..[ ok ] 3m14s
>   Checking version[ -- ]
>   Testing.[ -- ]
>   Checking documentation..[ ok ] 0s
>
>
> And here's the release-info[5].
>
>
> [0]: https://ipfs.io
> [1]: https://github.com/ipfs/go-ipfs
> [2]: https://docs.ipfs.io/reference/http/api
> [3]: https://wiki.call-cc.org/eggref/5/ipfs
> [4]: https://github.com/siiky/ipfs.scm
> [5]: https://raw.githubusercontent.com/siiky/ipfs.scm/main/ipfs.release-info

Many thanks.  Your egg has been added to the coop.

Great egg announcement and documentation, by the way.  Thanks for that.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: port-position return value

2022-01-06 Thread Mario Domenech Goulart
Hi Vincent,

On Thu, 6 Jan 2022 10:12:37 +0100 Vincent Aguiléra 
 wrote:

> I'm a new (and so far happy ;-) Chicken Scheme user.

Welcome!

> I'm facing a problem with port-position. The doc states that
> port-position "returns the current position of PORT as two values: row
> and column number".
>
> So this function should return a pair of values (whatever column
> number means). But in the tests I've made so far only the row number
> seems to be returned (tested on the default input port, on file ports
> and on string ports).

Not really a pair, but actually two values (as produced by the `values'
procedure).  CHICKEN provides some binding forms to support multiple
values (e.g., define-values, let-values, receive etc).  In CHICKEN they
are in the chicken.base module [0].  See also SRFIs 8 [1] and 11 [2],
for more detailed information.

[0] http://wiki.call-cc.org/man/5/Module%20(chicken%20base)#other-binding-forms
[1] https://srfi.schemers.org/srfi-8/srfi-8.html
[2] https://srfi.schemers.org/srfi-11/srfi-11.html

> Below are a code snippet and the corresponding csi output.
>
> Hope this list is appropriate for this kind of message!

Definitely!

> Thanks in advance for your help
>
> Vince
>
> =
> (with-input-from-string "ab\ncd\nef"
>   (lambda ()
>   (port-for-each
>   (lambda (c)
>   (print c ': (port-position)))
>   read-char))) 
> ==
> CHICKEN
> (c) 2008-2021, The CHICKEN Team
> (c) 2000-2007, Felix L. Winkelmann
> Version 5.3.0 (rev e31bbee5)
> linux-unix-gnu-x86-64 [ 64bit dload ptables ]
>
> Type ,? for help.
> ; loading test.scm ...
> ; loading /usr/local/lib/chicken/11/chicken.port.import.so ...
> a:1
> b:1
>
> :2
> c:2
> d:2
>
> :3
> e:3
> f:3

That happens because `print' is not aware of multiple values and only
prints the first one.

You can try the following on csi:

  #;1> (port-position)
  2
  0
  ; 2 values
  #;2> (print (values 1 2))
  1
  #;3> (print (let-values (((x y) (values 1 2))) (cons x y)))
  (1 . 2)

I hope this helps.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: New egg: daemon

2022-01-08 Thread Mario Domenech Goulart
Hi,

On Sat, 8 Jan 2022 03:07:39 + siiky  wrote:

> I'd like to share a new egg: daemon.
>
> It's a simple way (I think) to create background processes running any
> Scheme thunk. The interface is supposed to be really high-level and
> easy to use, you don't have to touch any `chicken.process` & friends. 
> However, as with all things OS, implementation is tricky, and very
> easy to screw up. As such, I would very much appreciate more eyes on
> it! :) Suggestions, ideas, bug reports, ... any feedback, really, are
> of course just as welcome!
>
> The documentation page has a simple example (also available on the
> repo). For a couple more examples you can check my trmote repo: 
> transmission-verify[0] & transmission-update-seed-priority[1].
>
> Hope you enjoy!
>
>
> The verdict of test-new-egg:
>
>  daemon (1 of 1) 
>   Fetching[ ok ] 0s
>   Reading .egg[ ok ] 0s
>   Checking dependencies...[ ok ] 0s
>   Checking category...[ ok ] 0s
>   Checking license[ ok ] 0s
>   Checking author.[ ok ] 0s
>   Installing..[ ok ] 2s
>   Checking version[ -- ]
>   Testing.[ -- ]
>   Checking documentation..[ ok ] 0s
>
> The code repository: https://github.com/siiky/daemon
> The release file:
> https://raw.githubusercontent.com/siiky/daemon/main/daemon.release-info
> The documentation on the wiki: https://wiki.call-cc.org/eggref/5/daemon
>
>
> [0]: https://github.com/siiky/trmote/blob/main/transmission-verify.scm
> [1]:
> https://github.com/siiky/trmote/blob/main/transmission-update-seed-priority.scm

Thanks you!  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: new egg: pkg-config

2022-04-08 Thread Mario Domenech Goulart
Hi Chris,

On Fri, 08 Apr 2022 03:18:14 -0700 Chris Brannon  wrote:

> I had a need for this.  It's kind of trivial; I hope others find it
> useful.
>
> The release-info file is here:
> https://the-brannons.com/cgit/cgit.cgi/chicken-pkg-config/plain/pkg-config.release-info

Thanks!

Tests fail here.  Maybe a bug in tests?

pkg-config static libs happy path  [ FAIL]
expected ("-L/usr/local/lib" "-lcurl" "-lnghttp2" "-lssl" "-lcrypto" 
"-L/usr/lib" "-lgssapi" "-lgssapi_krb5" "-lheimntlm" "-lkrb5" "-lhx509" 
"-lcom_err" "-lcrypto" "-l
asn1" "-lwind" "-lheimbase" "-lroken" "-lcrypt" "-pthread" "-lz" "-lkrb5" 
"-lgssapi" "-lgssapi_krb5" "-lkrb5" "-lgssapi" "-lgssapi_krb5" 
"-L/usr/local/lib" "-pthread") but
 got ("-L/usr/local/lib" "-lcurl" "-lnghttp2" "-lssl" "-lcrypto" "-lgssapi" 
"-lgssapi_krb5" "-lheimntlm" "-lkrb5" "-lhx509" "-lcom_err" "-lcrypto" "-lasn1" 
"-lwind" "-lhei
mbase" "-lroken" "-lcrypt" "-pthread" "-lz" "-lkrb5" "-lgssapi" "-lgssapi_krb5" 
"-lkrb5" "-lgssapi" "-lgssapi_krb5" "-pthread")
(pkg-config:libs "libcurl" #:static #t)

All the best.
Mario
-- 
http://parenteses.org/mario



Re: new egg: pkg-config

2022-04-09 Thread Mario Domenech Goulart
On Fri, 08 Apr 2022 16:45:06 -0700 Chris Brannon  wrote:

> Mario Domenech Goulart  writes:
>
>> Tests fail here.  Maybe a bug in tests?
>
> It is an environment difference I overlooked.  There are at least two
> implementations of pkg-config: the reference one and pkgconf.  The
> reference implementation appears to implicitly insert -L/usr/lib in
> --static --libs output, but pkgconf does not.  Locally I use pkgconf, so
> I didn't catch this.
>
> I tagged 0.1.1 with fixed tests.

Many thanks.  Your egg has been added to the coop.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: [PATCH] Re: Eggs not installing on msys-mingw32

2023-10-30 Thread Mario Domenech Goulart
Hi Matt,

On Mon, 30 Oct 2023 09:43:00 -0400 Matt Welland  wrote:

> On Mon, Oct 30, 2023 at 9:37 AM  wrote:
>
>  > How about
>  > "empty egg-info file, possibly due to an aborted egg-install - please 
> remove the file and reinstall the corresponding egg"?
>  > 
>  > Rationale: Matt's case.  check-errors.egg-info was empty, but the
>  > installation of base64 was failing.  If Matt had removed
>  > check-errors.egg-info and retried installing base64, the installation of
>  > base64 would work, but check-errors would still be broken
>  > (chicken-status and chicken-uninstall would ignore it, for example).
>
>  Sure, whatever - feel free to change the message, if you think that makes it 
> clearer.
>
> My reporting on this was incorrect. Sorry for creating the churn. I believe 
> there is something going genuinely wrong with check-errors. One hypothesis
> I have is that Windows is seeing the file name containing "errors" and doing 
> something stupid and annoying. I am not experienced with Windows and have
> no clue what that thing might be but I'll keep digging.

Nothing to be sorry about.  I'm afraid this issue might not related to
Windows, exclusively.  I took a look at IRC logs and and saw that we had
at least four cases like that, two on Windows and two on Linux.  We have
traces of three of those issues in paste.call-cc.org and in pastebin.com:

* http://paste.call-cc.org/paste?id=476adbc8ef7b47d8a7ce9ccd7dc201d4737de7b7
* http://paste.call-cc.org/paste?id=a7c9d3bd2dbc8837b02b418a33f6d7c5ca9d9455
* https://pastebin.com/e2BdgGGC

I think we have a bug somewhere.

The eggs that triggered the problem (i.e., the ones that had their
.egg-info file empty), according to the records we have, are:

* apropos
* check-errors
* math
* srfi-45

I've have pushed the patch submitted by Felix, as I think it improves
the situation for users.  With it, users get a better error message and
have at least a chance to work around the issue.

I've created https://bugs.call-cc.org/ticket/1827 for that issue.

All the best.
Mario
-- 
http://parenteses.org/mario



Re: Eggs not installing on msys-mingw32

2023-10-30 Thread Mario Domenech Goulart
On Mon, 30 Oct 2023 06:53:05 +0100 Mario Domenech Goulart 
 wrote:

> On Sun, 29 Oct 2023 20:22:53 -0700 Matt Welland  
> wrote:
>
>> I'm guessing I've done something wrong in my setup but some eggs did install 
>> and some do not and I'm not sure what
>> I'm missing.
>>
>>  MINGW32 ~
>> $ chicken-install base64
>> fetching base64
>> C:\msys64\tmp\tempa4ea.8676\base64.egg
>> C:\msys64\tmp\tempa4ea.8676\base64.scm
>> C:\msys64\tmp\tempa4ea.8676\tests\run.scm
>> 3 File(s) copied
>> building base64
>>c:/msys64/software/bin/csc -host -D compiling-extension -J -s 
>> -regenerate-import-libraries -setup
>> -mode -I C:\Users\Owner\AppData\Local\chicken-install\base64 -C 
>> -IC:\Users\Owner\AppData\Local\chick
>> en-install\base64 -O2 -d1 base64.scm -o 
>> C:\Users\Owner\AppData\Local\chicken-install\base64\base64.s
>> o
>>c:/msys64/software/bin/csc -regenerate-import-libraries -M -setup-mode 
>> -static -I C:\Users\Owner\
>> AppData\Local\chicken-install\base64 -emit-link-file 
>> C:\Users\Owner\AppData\Local\chicken-install\ba
>> se64\base64.link -host -D compiling-extension -c -unit base64 -D 
>> compiling-static-extension -C -IC:\
>> Users\Owner\AppData\Local\chicken-install\base64 -O2 -d1 base64.scm -o 
>> C:\Users\Owner\AppData\Local\
>> chicken-install\base64\base64.static.obj
>>c:/msys64/software/bin/csc -setup-mode -s -host -I 
>> C:\Users\Owner\AppData\Local\chicken-install\b
>> ase64 -C -IC:\Users\Owner\AppData\Local\chicken-install\base64 -O2 -d0 
>> base64.import.scm -o C:\Users
>> \Owner\AppData\Local\chicken-install\base64\base64.import.so
>>
>> Error: (assq) bad argument type: #!eof
>
> I seem to remember seing such errors when .egg-info files get corrupted.
> I'd start by checking for abnormally small (or even empty) .egg-info
> files in the directories printed by
>
>   $ csi -p '(begin (import (chicken platform)) (repository-path))'
>
> If you find a corrupted file, say for egg foo, just copy any other good
> .egg-info file over foo.egg-info and reinstall foo with `chicken-install foo'.

Actually simply removing the corrupted .egg-info file and installing its
corresponding egg again should do the trick.

> Once the corrupted files have been fixed, you should be able to install
> eggs again.
>
All the best.
Mario
-- 
http://parenteses.org/mario



Re: Eggs not installing on msys-mingw32

2023-10-29 Thread Mario Domenech Goulart
Hi Matt,

On Sun, 29 Oct 2023 20:22:53 -0700 Matt Welland  wrote:

> I'm guessing I've done something wrong in my setup but some eggs did install 
> and some do not and I'm not sure what
> I'm missing.
>
>  MINGW32 ~
> $ chicken-install base64
> fetching base64
> C:\msys64\tmp\tempa4ea.8676\base64.egg
> C:\msys64\tmp\tempa4ea.8676\base64.scm
> C:\msys64\tmp\tempa4ea.8676\tests\run.scm
> 3 File(s) copied
> building base64
>c:/msys64/software/bin/csc -host -D compiling-extension -J -s 
> -regenerate-import-libraries -setup
> -mode -I C:\Users\Owner\AppData\Local\chicken-install\base64 -C 
> -IC:\Users\Owner\AppData\Local\chick
> en-install\base64 -O2 -d1 base64.scm -o 
> C:\Users\Owner\AppData\Local\chicken-install\base64\base64.s
> o
>c:/msys64/software/bin/csc -regenerate-import-libraries -M -setup-mode 
> -static -I C:\Users\Owner\
> AppData\Local\chicken-install\base64 -emit-link-file 
> C:\Users\Owner\AppData\Local\chicken-install\ba
> se64\base64.link -host -D compiling-extension -c -unit base64 -D 
> compiling-static-extension -C -IC:\
> Users\Owner\AppData\Local\chicken-install\base64 -O2 -d1 base64.scm -o 
> C:\Users\Owner\AppData\Local\
> chicken-install\base64\base64.static.obj
>c:/msys64/software/bin/csc -setup-mode -s -host -I 
> C:\Users\Owner\AppData\Local\chicken-install\b
> ase64 -C -IC:\Users\Owner\AppData\Local\chicken-install\base64 -O2 -d0 
> base64.import.scm -o C:\Users
> \Owner\AppData\Local\chicken-install\base64\base64.import.so
>
> Error: (assq) bad argument type: #!eof

I seem to remember seing such errors when .egg-info files get corrupted.
I'd start by checking for abnormally small (or even empty) .egg-info
files in the directories printed by

  $ csi -p '(begin (import (chicken platform)) (repository-path))'

If you find a corrupted file, say for egg foo, just copy any other good
.egg-info file over foo.egg-info and reinstall foo with `chicken-install foo'.

Once the corrupted files have been fixed, you should be able to install
eggs again.

All the best.
Mario
-- 
http://parenteses.org/mario



<    3   4   5   6   7   8   9   >