From mc at media.mit.edu Mon May 9 18:17:08 2022 From: mc at media.mit.edu (Tim McNerney) Date: Mon, 9 May 2022 21:17:08 -0400 Subject: [Openmcl-devel] Running (Open)MCL on a "Pismo" PowerBook In-Reply-To: <7350a930-0d43-27fd-829b-a4f65b2bd093@media.mit.edu> References: <7350a930-0d43-27fd-829b-a4f65b2bd093@media.mit.edu> Message-ID: <4854A2E4-92D3-43A1-AF87-13481AAC83F7@media.mit.edu> I eventually bought a cheap refurbished G5 iMac and got CCL 1.6 working on it. So my (delayed) question is moot. --Tim > On May 9, 2022, at 21:08, Tim McNerney wrote: > > ?I need to study the PPC-target (Open)MCL compiler to help fix a bug in CCL. > I tried running OpenMCL 1.3 under MacOS 10.3 on a PowerBook "Pismo" > RME warned me it would need "Leopard" to run, and it seems he was right. > "Tiger" is the last MacOS version that can run on a "Pismo." > > Can anyone recommend a path to reach my goal? > I only need to compile short pieces of test code, and disassemble it, > (and maybe instrument the compiler with trace and print statements). > > Do I need to "dig" back to the DigiTool MCL days to run on MacOS 10.3? > > I don't need any FFI, OS interface, or external libraries to work. > I'm happy to do this work in emulation if need be. (but I'd need a PPC emulator). > I'm told cross-compilation is "ugly" but I'm willing to try that too. > > --Tim From ron at flownet.com Sat May 21 08:37:41 2022 From: ron at flownet.com (Ron Garret) Date: Sat, 21 May 2022 08:37:41 -0700 Subject: [Openmcl-devel] REQUIRE has gone rogue Message-ID: <8D1D3819-0930-4AC5-9BE1-91629B5828D4@flownet.com> WTF? Clozure Common Lisp Version 1.12.1 (v1.12.1-9-g14dd8939) DarwinX8664 ? (defun require () 'foo) REQUIRE ? (advisedp 'require) NIL ? (trace load ccl::%load) NIL ? (require) Loading NIL NIL FOO -------------- next part -------------- An HTML attachment was scrubbed... URL: From olopierpa at gmail.com Sat May 21 09:12:57 2022 From: olopierpa at gmail.com (Pierpaolo Bernardi) Date: Sat, 21 May 2022 18:12:57 +0200 Subject: [Openmcl-devel] REQUIRE has gone rogue Message-ID: Il giorno 21 maggio 2022, alle ore 17:47, Ron Garret ha scritto: >WTF? > >Clozure Common Lisp Version 1.12.1 (v1.12.1-9-g14dd8939) DarwinX8664 > >? (defun require () 'foo) > >REQUIRE It is an error to redefine standard functions. So, I suppose whatever you were expecting, is not guaranteed. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ron at flownet.com Sat May 21 10:32:05 2022 From: ron at flownet.com (Ron Garret) Date: Sat, 21 May 2022 10:32:05 -0700 Subject: [Openmcl-devel] REQUIRE has gone rogue In-Reply-To: References: Message-ID: <6DDFC631-A9E3-4212-BEB7-526CF9DC0A54@flownet.com> The reason I am encountering this issue is that I just built myself an IDE from the latest github sources and they added a new "feature" that it REQUREs easygui on startup. Because REQUIRE prints that LOADING... message, the altconsole always starts whenever the IDE starts, so I wanted to suppress that message. But I can't figure out where it is coming from. rg > On May 21, 2022, at 9:12 AM, Pierpaolo Bernardi wrote: > > > Il giorno 21 maggio 2022, alle ore 17:47, Ron Garret > ha scritto: > > >WTF? > > > >Clozure Common Lisp Version 1.12.1 (v1.12.1-9-g14dd8939) DarwinX8664 > > > >? (defun require () 'foo) > > > >REQUIRE > > It is an error to redefine standard functions. So, I suppose whatever you were expecting, is not guaranteed. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ron at flownet.com Sat May 21 11:37:58 2022 From: ron at flownet.com (Ron Garret) Date: Sat, 21 May 2022 11:37:58 -0700 Subject: [Openmcl-devel] REQUIRE has gone rogue In-Reply-To: <8D1D3819-0930-4AC5-9BE1-91629B5828D4@flownet.com> References: <8D1D3819-0930-4AC5-9BE1-91629B5828D4@flownet.com> Message-ID: Figured it out: ? (advisedp require) ((REQUIRE :BEFORE NIL)) > On May 21, 2022, at 8:37 AM, Ron Garret wrote: > > WTF? > > Clozure Common Lisp Version 1.12.1 (v1.12.1-9-g14dd8939) DarwinX8664 > ? (defun require () 'foo) > REQUIRE > ? (advisedp 'require) > NIL > ? (trace load ccl::%load) > NIL > ? (require) > Loading NIL NIL > FOO > -------------- next part -------------- An HTML attachment was scrubbed... URL: From plkrueger at comcast.net Tue May 24 07:22:48 2022 From: plkrueger at comcast.net (Paul Krueger) Date: Tue, 24 May 2022 09:22:48 -0500 Subject: [Openmcl-devel] Lisp Article Message-ID: Ok, I know this probably isn?t the right place place to post this, but a friend sent me a link to an interesting post about Lisp that stars Ron Garret: https://thenewstack.io/nasa-programmer-remembers-debugging-lisp-in-deep-space/ From info at joakimsandgren.com Tue May 24 08:20:37 2022 From: info at joakimsandgren.com (Joakim Sandgren) Date: Tue, 24 May 2022 17:20:37 +0200 Subject: [Openmcl-devel] Lisp Article In-Reply-To: References: Message-ID: <318C54C6-D50C-4E00-B797-F72CFD44BEE3@joakimsandgren.com> Wow, thank you for sharing this. I have already seen Ron?s phd impressive, Thank you Paul, /joakim Le 24 mai 2022 ? 16:36, Paul Krueger a ?crit : ?Ok, I know this probably isn?t the right place place to post this, but a friend sent me a link to an interesting post about Lisp that stars Ron Garret: https://thenewstack.io/nasa-programmer-remembers-debugging-lisp-in-deep-space/ From jetmonk at gmail.com Sat May 28 17:14:13 2022 From: jetmonk at gmail.com (JTK) Date: Sat, 28 May 2022 20:14:13 -0400 Subject: [Openmcl-devel] RPi arm failures in locking and threading Message-ID: <2848C0B2-62E5-48DF-878E-E5DBFAED9E56@gmail.com> Sorry to bring up this issue again, as it has been discussed before, and nobody has had any luck solving it. In short, it is known that ccl (ie, armcl) fails on the Raspberry PI when running threads. I've been examining with it a bit more, and have maybe narrowed it down a bit, but now I'm stuck. It seems to me that threads get their locks stolen from them. A test case is here: https://github.com/jetmonk/openmcl-thread-test Running (threadtest2) triggers a modified with-lock macro that grabs a lock, checks that the current process in fact owns it, runs body, and again checks for ownership before releasing. After many iterations, an error is thrown when the macro discovers that some other process stole the lock. I thought it might be a lack of ARM DMB instructions ("ensures that all memory accesses are completed before new memory access is committed.") in atomic routines , which have been discussed as necessary for ARM mutexes elsewhere online, like https://stackoverflow.com/questions/42698277/arm-cortex-m4-mutex-lock-dmb-instruction Apparently the issue is different cores not realizing another core has changed memory until (DMB) forces synchronization. But I tried stuffing (dmb) everywhere in ARM/arm-misc.lisp and it didn't fix the problem. Does anyone have any insights that might help? Also, this all happens because this is compiled with #-futex, yet the RPi seems to support futexes natively, if I understand it correctly. Would these issues happen for all CPUs where #-futex is used, or just ARM32? Does it happen for ARM64 as well? (which I don' have). Again, apologies if I'm beating a dead horse, but ccl is the only good lisp that can run on RPi. SBCL is heavy, and lacks 32 bit threading. ECL (imho) just isn't at the same quality as ccl and SBCL. -------------- next part -------------- An HTML attachment was scrubbed... URL: