Is this the right place to ask about snow-fort.org and package description?

11 views
Skip to first unread message

Duy Nguyen

unread,
Jun 2, 2020, 8:18:44 AM6/2/20
to chibi-...@googlegroups.com
Hi,

I can't seem to find a contact point on snow-fort.org and from chibi
code, it looks like snow-fort.org is actually hosted by (chibi snow
fort). I suppose this is the right place?
--
Duy

Alex Shinn

unread,
Jun 2, 2020, 8:27:05 AM6/2/20
to chibi-...@googlegroups.com
Yes. 

2020年6月2日(火) 21:18 Duy Nguyen <pcl...@gmail.com>:
--
You received this message because you are subscribed to the Google Groups "chibi-scheme" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chibi-scheme...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chibi-scheme/CACsJy8AjVPW3Mw8DAppm7pY-S%3DDWyKEc__qwhKK6gBf7y5jxnQ%40mail.gmail.com.

Duy Nguyen

unread,
Jun 3, 2020, 6:25:15 AM6/3/20
to chibi-...@googlegroups.com
Thanks! The reason I asked was because there was a discussion
elsewhere and the idea of a common package format came up again. And
snow is probably in the best position to become one. So I'm trying to
see if we can improve it a bit here and there and make it one (or
closer to one).

First suggestion, snow format currently has 'depends for libs and
'foreign-depends for ffi, should we have 'features-depends to help
filter packages? Most ffi packages will only run on a specific scheme,
some packages may require full numeric tower or something...

I see something related to 'cond-expand in package.scm so perhaps it's
already there. I haven't fully understood that code yet.

Which brings up another suggestion, perhaps we can update the snow
spec a bit. It's currently quite vague. Especially if one wants to
implement a client, I think digging in chibi code may be the only way.
--
Duy

Alex Shinn

unread,
Jun 3, 2020, 10:28:16 PM6/3/20
to chibi-...@googlegroups.com
There are already a few Chibi-specific packages on snow-fort, like sqlite3 and xgboost.
They both depend on the library (chibi), which no other Scheme implements.
(Although in theory Chicken has a "friendship" library binding Chibi and might be able to support this with some work.)
For other implementation-specific libraries, just depend on the impl, e.g. (chicken) or
(gauche) or whatever they use.

I'm happy to accept suggestions for clarification of the Snow format.
Patches directly to github are also accepted.

--
Alex

--
You received this message because you are subscribed to the Google Groups "chibi-scheme" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chibi-scheme...@googlegroups.com.

Duy Nguyen

unread,
Jun 4, 2020, 6:32:53 AM6/4/20
to chibi-...@googlegroups.com
Hi,

Some scheme may actually have extended read syntax that's not really
in any library to depend on. Pulling a random (and harmless)
implementation-specific library could work around that, but it feels
hacky.

Also something like depending on common features such as exact-complex
(I'm making it up, I don't have a package in mind) wouldn't work. Sure
the package could cond-expand and throw the error, but that only
happens after the package is installed.

Is the snow format spec in chibi repo? I mean this one
http://snow-fort.org/doc/spec/, couldn't find it in the repo.

One thing that would be good to document somewhere (not necessarily in
the spec) is how the builder works for each scheme.
> To view this discussion on the web visit https://groups.google.com/d/msgid/chibi-scheme/CAMMPzYM-HVK_tW8ai-GCbghM63dA8w-Rn%3DXXmVxq%2BtR0yEY_GQ%40mail.gmail.com.



--
Duy

Duy Nguyen

unread,
Jun 4, 2020, 6:57:21 AM6/4/20
to chibi-...@googlegroups.com
On Thu, Jun 4, 2020 at 5:32 PM Duy Nguyen <pcl...@gmail.com> wrote:
> Is the snow format spec in chibi repo? I mean this one
> http://snow-fort.org/doc/spec/, couldn't find it in the repo.

Never mind. I found the snow-fort repository (was looking at chibi only)
--
Duy

Duy Nguyen

unread,
Jun 4, 2020, 7:50:15 AM6/4/20
to chibi-...@googlegroups.com
On Thu, Jun 4, 2020 at 5:32 PM Duy Nguyen <pcl...@gmail.com> wrote:
> Some scheme may actually have extended read syntax that's not really
> in any library to depend on. Pulling a random (and harmless)
> implementation-specific library could work around that, but it feels
> hacky.
>
> Also something like depending on common features such as exact-complex
> (I'm making it up, I don't have a package in mind) wouldn't work. Sure
> the package could cond-expand and throw the error, but that only
> happens after the package is installed.

It looks like cond-expand is supported (or at least written) in quite
many packages listed at http://snow-fort.org/s/repo.scm For example

(library
(name
(shell-quote))
(path "shell-quote.sld")
(cond-expand
((library (srfi 175))
(depends
(srfi 175)))
(else
(depends
(scheme char))))

I guess it's a solved problem then.
--
Duy

Alex Shinn

unread,
Jun 4, 2020, 7:59:21 AM6/4/20
to chibi-...@googlegroups.com
This is not R7RS cond-expand - library and implementation checks work, general features don't.
(You _can_ register features by hand, but in general we don't know what features the target impl supports).

--
Alex

--
You received this message because you are subscribed to the Google Groups "chibi-scheme" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chibi-scheme...@googlegroups.com.

Duy Nguyen

unread,
Jun 4, 2020, 9:13:33 AM6/4/20
to chibi-...@googlegroups.com
At least for Gauche, you already evaluate expressions like this

gosh -E "print (gauche-version)"

can we just do the same and write (features) out?

This is going to tie the package system to r7rs though. Which is
another point I was going to make, would it be (in theory) possible to
support r6rs too? I don't know much about r6rs to judge if we can just
parse their "sld" like r7rs. And r5rs is probably completely out of
question.
> To view this discussion on the web visit https://groups.google.com/d/msgid/chibi-scheme/CAMMPzYOhoAj4uFjEBpL_ZXfYutnrW%3DXHQxd6s8p79G8JbnHQHg%40mail.gmail.com.



--
Duy

Alex Shinn

unread,
Jun 4, 2020, 9:16:42 AM6/4/20
to chibi-...@googlegroups.com
R5RS doesn't have a library system, so it's not possible in any meaningful way.
R7RS small is _mostly_ just R5RS plus a library system, so that's good enough.

I'd welcome support for R6RS, this should be easy but I don't have time to work on it.

--
Alex

Duy Nguyen

unread,
Jun 4, 2020, 9:25:58 AM6/4/20
to chibi-...@googlegroups.com
I do want to make snow a candidate for the common package format, so I
might try adding r6rs just to see if there's anything wrong with the
format.

I take it you're not opposed to evaluating some expressions in each
scheme find out supported features for package cond-expand?
> To view this discussion on the web visit https://groups.google.com/d/msgid/chibi-scheme/CAMMPzYPAXZAewDBNpSQxw_ZDrnCTnrTj8i1PFa6Hhzj1t%2BOMZg%40mail.gmail.com.



--
Duy

Vladimir Nikishkin

unread,
Jun 4, 2020, 10:38:59 AM6/4/20
to chibi-scheme
Just in case.

Akku-scm does some work to support both r6rs and r7rs. They even automatically fetch packages from show-fort.

Maybe they do r7rs->r6rs conversion, or something.

Reply all
Reply to author
Forward
0 new messages