Re: (declare (pure ...))

2024-02-10 Thread siiky via
ive across calls. E.g.: (define foo (let ((x 0)) (lambda (y) (set! x (add1 x)) (* 2 y siiky

Re: (declare (pure ...))

2024-02-09 Thread siiky via
https://wiki.call-cc.org/man/5/Types#purity Good luck! siiky

Re: compiler types: records / collections interaction

2024-02-09 Thread siiky via
/5/Types#type-syntax [1] https://wiki.call-cc.org/eggref/5/srfi-69 [2] https://wiki.call-cc.org/eggref/5/typed-records#defstruct Good luck! siiky

Re: compile-time deserialization

2023-12-26 Thread siiky via
Oh I forgot to mention you need an extra compiler flag to use it (-extend). And I also just remembered that I wrote a post about this at the time. (: https://siiky.srht.site/scheme/reader-syntax.html

Re: compile-time deserialization

2023-12-26 Thread siiky via
Hi, You can use reader syntax[0]. Take a look at this SQL reader syntax[1,2] I wrote some time ago for inspiration (it should require very little changing). [0] https://api.call-cc.org/5/doc/chicken/read-syntax/set-read-syntax%21 [1] https://git.sr.ht/~siiky/save-for-later/tree

new egg: coin-change

2023-11-17 Thread siiky
cking version[ -- ] Testing.[ ok ] 10s Checking documentation..[ ok ] 0s [0]: https://en.wikipedia.org/wiki/Change-making_problem [1]: https://wiki.call-cc.org/eggref/5/coin-change [2]: https://git.sr.ht/~siiky/coin-change [3]: https://git

Re: How can I use arrows in csi?

2023-08-13 Thread siiky
Hi, csi doesn't doesn't use readline or similar by default. You need to install and configure one of the line-editing eggs (search for readline in the eggs list[0], there 3 eggs as of now). As an example to get you started, I use breadline with this config in ~/.csirc (adapted from the breadl

chicken-install bug

2023-07-03 Thread siiky
[0]: https://paste.call-cc.org/paste?id=8ad4220ef964af3976d87c142a248e60d2f52229 siikyFrom 612d1394bf2ba9c97e993148ac44cf44d28d1aa8 Mon Sep 17 00:00:00 2001 From: siiky Date: Sat, 1 Jul 2023 19:50:12 +0100 Subject: [PATCH] Avoid crashing on egg files with non-string `version` field `chicken-install` would crash wh

New egg: disjoint-set

2023-02-25 Thread siiky
joint-set_data_structure [1]: https://wiki.call-cc.org/eggref/5/disjoint-set [2]: https://git.sr.ht/~siiky/disjoint-set.git [3]: https://git.sr.ht/~siiky/disjoint-set.git/blob/main/disjoint-set.release-info Thanks, siiky

Re: openssl eggs: current-milliseconds -> current-process-milliseconds

2023-02-22 Thread siiky
Then my egg would be listed as a 5 egg, but would only be usable by a subset of the 5.X versions.  If that is accepted, then I wonder what information the major and minor versions of chicken-core convey. To me, a deprecation has a meaning when it provides a way forward, so I think I agree with

Re: openssl eggs: current-milliseconds -> current-process-milliseconds

2023-02-22 Thread siiky
It's not that simple, as using current-process-milliseconds would break things for people using CHICKEN 5.2 or earlier. Yeah, that's exactly the problem for me, I don't want stuff to break for people using 5.2. People using CHICKEN from Debian stable, for example, get CHICKEN 5.2. It was a

Re: openssl eggs: current-milliseconds -> current-process-milliseconds

2023-02-22 Thread siiky
However, personally, I don't see the advantage of using current-milliseconds over current-process-milliseconds in eggs. As of now, both calls work, the userbase is already small, and the amount of available libraries is also not huge (comparing to popular languages). Why should I artificially r

Re: openssl eggs: current-milliseconds -> current-process-milliseconds

2023-02-22 Thread siiky
3. Use some convoluted cond-expand clause to match against values of X (as in 5.X) as an attempt to prevent the deprecation warning and undefined variable errors. Don't want to pull anyone into an NPM here, but we could have a tiny egg to abstract that away ("we" = anyone willing): expo

Re: openssl eggs: current-milliseconds -> current-process-milliseconds

2023-02-22 Thread siiky
test is a concern, this means current-milliseconds must stay in 6.x and can only be removed in 7.x? Hm I don't see how that follows. Removing current-milliseconds in 6.x doesn't break anything 5.x. siiky

Re: openssl eggs: current-milliseconds -> current-process-milliseconds

2023-02-21 Thread siiky
an "alias" for current-process-milliseconds. So everything should work with current-milliseconds in 5.3 and 5.x before it. But if it was changed to current-proess-milliseconds the openssl egg would no longer work with 5.x before 5.3. Thanks, siiky

Re: New egg: CHICKEN Transducers

2023-01-09 Thread siiky
in Haskell and other lazy-by-default languages: they're actually streams! [^2]: I also experimented with a hand-written stream-like type. Maybe it's possible to do better than streams but I dropped it for now. [0]: https://git.sr.ht/~siiky/chicken-transducers/log/multiple-iterables

Re: New egg: CHICKEN Transducers

2023-01-06 Thread siiky
For one, that's not the same code. :p The SRFI 42 code I showed loops over all possible pairs, doesn't zip the inputs. Just occured to me that I could put one transducer inside the other, something like this: (transduce list-fold (map (lambda (x) (transduce vector

Re: New egg: CHICKEN Transducers

2023-01-06 Thread siiky
On 1/5/23 06:11, siiky wrote: I think the easiest way for this would be to just zip the list together: (transduce list-fold (compose (zip-list lst2) (filter (lambda (p) (even? (* (car p) (cdr p

Re: New egg: CHICKEN Transducers

2023-01-06 Thread siiky
(...) My reasoning is that (intuitively, without having looked at an impl of either) type-fold is easier to implement than type-transduce (...) Indeed, and this has been the reasoning in why I have left it for the most part. An egg like this is nothing if it cannot be extended easily. Noticing

Re: New egg: CHICKEN Transducers

2023-01-05 Thread siiky
How about SRFI 42? I wrote a little bit in #chicken but think it should be added here as well. Pros of SRFI 42: + It's short and clear. It feels very natural to me. Maybe just because I've used it for some time while I've just been introduced to transducers now, but I have the impression th

Re: New egg: CHICKEN Transducers

2023-01-05 Thread siiky
that, but the other is more natural and equally good IMO. Thanks, siiky

New egg: gmi

2022-10-27 Thread siiky
epo here[0], the docs in the wiki[1], and the release-info file here[2]. [0]: https://git.sr.ht/~siiky/gmi.scm [1]: https://wiki.call-cc.org/eggref/5/gmi [2]: https://git.sr.ht/~siiky/gmi.scm/tree/main/item/gmi.release-info $ test-new-egg gmi https://git.sr.ht/~siiky/gmi.scm/blob/main/gmi.re

Re: New egg: ipfs

2022-03-23 Thread siiky
Thanks and thanks! :) On the topic of documentation, is there a "standard" way to link directly to the docs of a specific procedure/parameter/&c (of another egg), such that it works both on the wiki and chickadee? I could use a specific URL, like https://api.call-cc.org/5/doc/http-client/with

New egg: ipfs

2022-03-22 Thread siiky
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 repla

New egg: daemon

2022-01-07 Thread siiky
..[ ok ] 2s Checking version[ -- ] Testing.[ -- ] Checking documentation..[ ok ] 0s The code repository: https://github.com/siiky/daemon The release file: https://raw.githubuserconten

Re: [ANN] CHICKEN 5.3.0 release candidate available

2021-08-14 Thread siiky
27;s worth something! siiky

Re: New egg: mdh

2021-05-25 Thread siiky
On 5/25/21 19:28, felix.winkelm...@bevuta.com wrote: Building, testing, and installing all worked out of the box, but I got these two warnings while compiling (in red even though they're warnings): [...] Hm, I have no idea, but I noticed a couple of suspicious warnings. In fact, the code doesn

Re: New egg: mdh

2021-05-25 Thread siiky
his, the talk got me interested too! Building, testing, and installing all worked out of the box, but I got these two warnings while compiling (in red even though they're warnings): /home/siiky/.local/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /

Re: Hard coded paths in csc and relocatable chicken

2021-05-21 Thread siiky
On 5/20/21 23:04, 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 tha

Re: New egg: transmission

2020-12-02 Thread siiky
On 12/1/20 11:04 PM, siiky wrote: Hello, I'd like to share the `transmision` egg with everyone. It implements an API for the Transmission RPC. `test-new-egg` says "Egg looks ok!". You can find the code here: https://github.com/siiky/transmission.scm The (almost complete) doc

New egg: transmission

2020-12-01 Thread siiky
Hello, I'd like to share the `transmision` egg with everyone. It implements an API for the Transmission RPC. `test-new-egg` says "Egg looks ok!". You can find the code here: https://github.com/siiky/transmission.scm The (almost complete) documentation here: https://wiki.call-

Re: type annotations

2020-08-17 Thread siiky
> Thank you, André, > > The examples help. I expect that procedure signatures are the most > common use of type annotations. They seem to provide the most benefit > for the level of effort and extra code. No problem, glad they were helpful to you. I think that procedure type annotations are the

Re: type annotations

2020-08-17 Thread siiky
7;s the same as using *, the "any" type), because usually the compiler doesn't complain too much and I forget to update them. [0]: https://github.com/SiIky/ssg/blob/81e863733fa6b3e34608adc1ca89065f0759c836/ssg.converters.lowdown.scm#L32-L42 [1]: https:/