ive
across calls. E.g.:
(define foo
(let ((x 0))
(lambda (y)
(set! x (add1 x))
(* 2 y
siiky
https://wiki.call-cc.org/man/5/Types#purity
Good luck!
siiky
/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
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
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
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
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
[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
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
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
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
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
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
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
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
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
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
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
(...) 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
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
that, but the
other is more natural and equally good IMO.
Thanks,
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
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
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
..[ ok ] 2s
Checking version[ -- ]
Testing.[ -- ]
Checking documentation..[ ok ] 0s
The code repository: https://github.com/siiky/daemon
The release file:
https://raw.githubuserconten
27;s worth something!
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
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
/
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
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
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-
> 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
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:/
33 matches
Mail list logo