Should index.scheme.org be changed to be a static site? Arvydas Silanskas (01 Jun 2024 15:25 UTC)
Re: Should index.scheme.org be changed to be a static site? Arthur A. Gleckler (01 Jun 2024 15:30 UTC)
Re: Should index.scheme.org be changed to be a static site? Arvydas Silanskas (01 Jun 2024 16:44 UTC)
Re: Should index.scheme.org be changed to be a static site? Arthur A. Gleckler (01 Jun 2024 17:14 UTC)
Re: Should index.scheme.org be changed to be a static site? Arthur A. Gleckler (01 Jun 2024 17:39 UTC)
Re: Should index.scheme.org be changed to be a static site? Lassi Kortela (02 Jun 2024 17:15 UTC)
(missing)
Types and documentation Lassi Kortela (02 Jun 2024 18:15 UTC)
Re: Types and documentation Arvydas Silanskas (03 Jun 2024 06:30 UTC)
Re: Types and documentation Lassi Kortela (03 Jun 2024 08:00 UTC)
Re: Types and documentation Lassi Kortela (12 Jun 2024 09:22 UTC)
Re: Types and documentation Arvydas Silanskas (12 Jun 2024 19:36 UTC)
Re: Should index.scheme.org be changed to be a static site? Arvydas Silanskas (15 Jul 2024 19:17 UTC)

Re: Types and documentation Lassi Kortela 03 Jun 2024 08:00 UTC

> I had a lot of headache thinking about lists and list-like structures.
> The root of problems seems the fact that cons is both a list prepend and
> a mutable tuple constructor in scheme, and an uncontrolled mixing that
> entails. A dotted list isn't a proper list, but you might be OK to use
> certain list procedures (eg `list-set!`). Forbidding such operations on
> type level is the most sound approach but it's unclear if it's not too
> limiting.

Yes. IMHO this is a good example of why Scheme should not be pinned down
to one type system.

Racket has explored the interaction between statically and dynamically
typed code. It tends to be difficult and/or expensive to stop
idiosyncratic data crossing the boundary from dynamic to static. E.g.
detecting an improper list is O(n), and it gets worse with nesting.

https://srfi.schemers.org/srfi-1/srfi-1.html#TheProcedures gives the
types used by SRFI 1. list-ref is specified to take a clist ("A proper
or circular list"). This is unnecessarily restrictive, and not all
Scheme implementations adhere to this.

>  > But would it burden your work to have two sets of source files?
>
> It's hard to judge without having a sense of what the format would be,
> but probably not.

OK. I'll create two quick proof-of-concept repos under
https://github.com/schemedoc -- one for the types and one for the
documentation -- based on your current S-expression files. Let me know
whether you find the layout reasonable. If not, we can change it. Let's
try to find an approach where we can minimize duplication of effort.

I'll notify in this thread when I'm done. Should take a couple of days.