<div dir="ltr">I think that's a good approach.  You can do a lot with multiple instances!<div><br></div><div>The chuck~ object is really ancient now, I doubt it runs.  And the sc3~ object (also really ancient) was a test to see if I could 'embed' it inside max/msp without violating the copyright restrictions.</div><div><br></div><div>I have updated the rtcmix~ object recently, both max/msp and pd versions; OSX and WIndows 10.  We're using rtcmix a lot in our unity work.  Fun!</div><div><br></div><div>brad</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 22, 2020 at 10:59 AM Iain Duncan <<a href="mailto:iainduncanlists@gmail.com">iainduncanlists@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Brad, what I have working in Max is that each object is one isolated interpreter so that users can have multiple instances, including the ability to run one in the scheduler thread and one in the low priority gui thread. I have thought about enabling a global one as well, but it's pretty easy to use send and receive objects to simulate that with the current system, while the reverse was not true. This was one of the reasons I chose S7 actually, I looked at Chicken but it's not re-entrant so multiple instances was not going to be simple to do. I've been meaning to check out your code for the the sc and chuck objects too!<div><br></div><div>iain</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 22, 2020 at 10:38 AM Brad Garton <<a href="mailto:garton@columbia.edu" target="_blank">garton@columbia.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">One question occurs to me:  do you plan for multiple object instantiations?  For my lisp interpreter, you can do that BUT all of the instantiated objects in the patcher communicate with a single interpreter (i.e. they can share data, symbols, etc.).  In some of the other objects I did (rtcmix~, sc3~, chuck~) I allowed multiple patcher objects and each one was a separate instance of the language.  There are costs and benefits both ways, of course.<div><br></div><div>brad</div><div> </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 22, 2020 at 8:51 AM Iain Duncan <<a href="mailto:iainduncanlists@gmail.com" target="_blank">iainduncanlists@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks Brad and Joe. Brad, yes I found your work when I was doing research, and it was good validation that such a thing could work! I wound up going with S7 over Common Lisp as the embedding story is really simple, and I like the way S7 has CL macros but one simple namespace (similar to Clojure and Janet) which works nicely in Max. <div><br></div><div>iain</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 22, 2020 at 8:35 AM Brad Garton <<a href="mailto:garton@columbia.edu" target="_blank">garton@columbia.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">This sounds like a terrific project!<div><br></div><div>I don't know if this is of interest, but I wrote a Common Lisp interpreter object for Max/MSP awhile ago.  The interpreter was implemented in java, so I'm not sure if it runs with contemporary Max/MSP-s (they dropped explicit java support, but I've heard from some that it still works).</div><div><br></div><div><a href="http://sites.music.columbia.edu/brad/maxlispj/" target="_blank">http://sites.music.columbia.edu/brad/maxlispj/</a><br></div><div><br></div><div>brad</div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 22, 2020 at 7:32 AM Joe Deken <<a href="mailto:newblankets@newblankets.org" target="_blank">newblankets@newblankets.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hello Ian,<br>
(Allowing for time-zones and the dateline) I would eagerly like to be the<br>
<br>
        -- FIFTH IMMEDIATE HEARTY "YES" VOTE!? --<br>
<br>
>From my own viewpoint, the introduction of LISP structures and capability<br>
into<br>
Pd would be seminal to new visions and vistas for Pd itself.  (I am warped<br>
by having conversations<br>
with Chris McCormick and other aficionados of Clojure, incorrigible years<br>
myself with emacs-LISP, and even -- when dinosaurs roamed the earth, with<br>
giants such as John McCarthy -- some small bit of tme of my own in his<br>
shop and among his disciples at CSAIL.<br>
<br>
Lest my mind wander (further), I'll say this more concretely: New Blankets<br>
is happy to offer resources<br>
for your efforts if such resources would turn out to be useful. (Not the<br>
dreaded "bounty" avenue -- I'm thinking more of something like a<br>
*Pd-Weekend* at my place here in San Diego (or at yours) --  Such PdW<br>
would be a "round workbench" session as Katja dubs  --  you could present<br>
your PdScheme work (when you're ready) to a hands-on group who would riff<br>
on your schemes  and move them forward.  At first attempt, this Pd-Weekend<br>
could even be virtual and open to all via round-workbench sessions at say:<br>
   --  <a href="https://meet.jit.si/duncan_pd_scheme/" rel="noreferrer" target="_blank">https://meet.jit.si/duncan_pd_scheme/</a> --<br>
<br>
A personal plea ... hope you will include in your vision the wonderful<br>
ideas of Brian Harvey and his SNAP! visual-interfacing achievements. (Some<br>
antidote is needed with real LISP to counter the bogus infestation of<br>
Scratch! which seems to have taken pernicious hold world wide ...)<br>
<br>
<br>
On Thu, October 22, 2020 1:34 am, <a href="mailto:pd-list-request@lists.iem.at" target="_blank">pd-list-request@lists.iem.at</a> wrote:<br>
<br>
<br>
    1. Checking for interest: Scheme interpreter external for PD (Iain<br>
Duncan)<br>
<br>
> ----------------------------------------------------------------------<br>
> > Message: 1<br>
> Date: Wed, 21 Oct 2020 20:14:26 -0700<br>
> From: Iain Duncan <<a href="mailto:iainduncanlists@gmail.com" target="_blank">iainduncanlists@gmail.com</a>><br>
> To: <a href="mailto:pd-list@lists.iem.at" target="_blank">pd-list@lists.iem.at</a><br>
> Subject: [PD] Checking for interest: Scheme interpreter external for<br>
>       PD<br>
> Hello, I'm the author of Scheme for Max, a relatively new open source<br>
external for Max/MSP that hosts an embedded Scheme Lisp interpreter<br>
using<br>
> S7, the Scheme implementation from Bill at CCRMA, also used in Snd and<br>
Common Music. The external allows one to do things like script and live<br>
code Max in scheme, including evaluating lisp code on the fly from files<br>
or<br>
> message boxes, sending messages to other objects, writing to and from<br>
common data structures, and interacting with the scheduler. I'm pretty<br>
excited about how well it's working for my purposes, and will be doing a<br>
new release this fall as part of my MMus at UVic, as well as turning it<br>
into a thesis project. I also intend to include full support for the<br>
Common<br>
> Music algorithmic composition toolkit (which also is programmed in S7<br>
scheme or SAL)<br>
><br>
> I have been kicking around the idea of trying a PD port, and wanted to<br>
check whether this sounded interesting to folks in PD land. I like the<br>
idea<br>
> of port because it's always good to be have one's work usable on more<br>
than<br>
> one platform, and linux support would be good for low latency use cases and<br>
> things like running on small machines. I expect this would be a<br>
> significant<br>
> amount of work though, so figured I'd see if it sounded interesting to<br>
folks first.<br>
><br>
> You can get the idea of how it works from the v1 demo video if you want<br>
to<br>
> see what I'm getting at. <a href="https://www.youtube.com/watch?v=ErirIFCTdjg" rel="noreferrer" target="_blank">https://www.youtube.com/watch?v=ErirIFCTdjg</a><br>
><br>
> Comments, questions, feedback welcome.<br>
><br>
> Iain<br>
<br>
<br>
 ----------------------------------------------------------------------<br>
> Message: 2<br>
> Date: Thu, 22 Oct 2020 08:35:01 +0200<br>
> From: IOhannes m zmoelnig <<a href="mailto:zmoelnig@iem.at" target="_blank">zmoelnig@iem.at</a>><br>
...<br>
> so now that you ask: i think it would be great.<br>
><br>
> gfadmsr<br>
> IOhannes<br>
<br>
<br>
 ----------------------------------------------------------------------<br>
> Message: 3<br>
> Date: Thu, 22 Oct 2020 09:56:16 +0200<br>
> From: "Peter P." <<a href="mailto:peterparker@fastmail.com" target="_blank">peterparker@fastmail.com</a>><br>
<br>
...<br>
> It would be great to have esp common list available in Pd as part of an<br>
open-source licensed external indeed.<br>
> ------------------------------<br>
<br>
 ----------------------------------------------------------------------<br>
> Message: 4<br>
> Date: Thu, 22 Oct 2020 08:49:59 +0100<br>
> From: Andy Farnell <<a href="mailto:padawan12@obiwannabe.co.uk" target="_blank">padawan12@obiwannabe.co.uk</a>><br>
....<br>
><br>
> Would love to see Scheme come to Pd.<br>
> Thanks for that Iain.<br>
><br>
> Andy<br>
<br>
 ----------------------------------------------------------------------<br>
> Message: 5<br>
> Date: Thu, 22 Oct 2020 10:27:10 +0200<br>
> From: ub <<a href="mailto:ub@xdv.org" target="_blank">ub@xdv.org</a>><br>
....<br>
> i first met functional programming with fluxus and it turned my head<br>
inside out. %-)<br>
><br>
> would be absolutely great to have that in pd!<br>
><br>
> cheers,<br>
><br>
> ub<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>
</blockquote></div>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>
</blockquote></div>