[CM] Question for writing tutorials about S7 environments

Christos Vagias chris.actondev at gmail.com
Thu Jan 14 14:14:30 PST 2021


Hey Iain, Bil, and happy new year! (kind of late heh)

(sorry for the duplicate mail Iaian, I realized I replied only to you)

An in-house module system in s7 would help to build an ecosystem/share
modular code and so on.
My 2cents though here, if the module system is not repl-friendly (ie
redefining functions in some module A
and have its changes reflected on another submodule B that
imported/required module A).

I stumbled upon this in chez and was a bummer. I recall reading that Guile
enables this reload feature.

I found s7's environments quite amazing, they enabled me to build my own
module system on top! Powerful stuff.
A usecase that I recently found the need for and it was a breeze to
implement:

(ns foo-app-whatever
  :require ((secrets :fallback secrets-example)))

Here the idea is that I store sensitive info (an api token for example)
under secrets.scm, but I'd also ship
a secrets-example.scm file that gets loaded instead of the secrets.scm is
not there. And in there you'd normally
define things and you'd use them like secrets/some-site-token.
Having the underlying language provide such powerful features is really
something! :)

Iain keep in mind that (with-let ..) is the same (? Bil could correct me)
with (eval '(begin ...) (rootlet))
(or eval.. in any other environment in that sense). There was an
interesting discussion recently about texmacs
and their usage of such features here in the mailing list.

As for the tutorials you mentioned Iaian, why not create some with s7 in
web/wasm?

Speaking of, Bil I noticed that there's a typo in my last name in the s7
repo readme :)

On Thu, 14 Jan 2021 at 18:56, Iain Duncan <iainduncanlists at gmail.com> wrote:

> Thanks Bill, I'm glad you liked the video. There will be a lot more
> tutorial content coming this semester. :-)
>
> FWIW, I've also heard people speak highly of Chicken's module system, in
> case you haven't looked at it.
>
> iain
>
> On Thu, Jan 14, 2021 at 9:49 AM <bil at ccrma.stanford.edu> wrote:
>
>> Yes, (with-let (rootlet)...) is unique to s7.  I haven't
>> given any thought to a formal module definition -- I'll
>> check out Gerbil's.
>>
>> I enjoyed your video!
>>
>> _______________________________________________
> Cmdist mailing list
> Cmdist at ccrma.stanford.edu
> https://cm-mail.stanford.edu/mailman/listinfo/cmdist
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cm-mail.stanford.edu/pipermail/cmdist/attachments/20210114/8982743a/attachment.html>


More information about the Cmdist mailing list