Via Christophe
Rhodes, Alistair
Bridgewater's progress on porting SBCL to Windows. Impressive stuff, but
still a fair way to go. Brian Mastenbrook has some
interesting comments, referring to the projects on the CL-Gardeners list:
If there were one Common Lisp which I could run on every platform — one which provided portability for applications using threads and doodads and whatsits without requiring me to GPL my code because I use some internal interface of that implementation — I would probably use it, even if it provided less performance than my current lisp of choice. When it comes down to it, I rarely need performance. No such flower or weed exists yet. If I were to plant it, I would not plant it in the garden of Common Lisp. For as much as I love working in this language I would not take the opportunity to implement any of the obvious advances in language design in the past twenty years and pass it by just to implement ANSI Common Lisp.
And then I think: why don't I just buy a couple of LispWorks licenses for my application development needs, and then use Factor as the FOSS, cross-platform, natively-compiled, metaprogramming-capable, embeddable language for Ngake? At least until Arc is ready, although that could be many years away...
Meanwhile, the CL-Gardeners list continues to throw up links to useful Lisp projects, like Chris Riesbeck's Lisp Critic.
Updated 21/12/05: Alistair has posted more information to the CL-Gardeners list.
Although I've been very busy with work, I have been thinking about the
home studio I plan to put together next year (while trying to resist
buying more old synths off TradeMe). It occurred to me that, as a guitar
player with minimal keyboard chops, I should controlling my (six voice) synthesiser with one
of my guitars, not trying to learn to play keyboards particularly. So
I've collected a few links while reading about the current state of
guitar-to-MIDI technology. On the way, I've met a few interesting people
around Wellington, which has been nice; I'll say more about them in a
later post.
I bought an electric hedge
trimmer yesterday. Marvellous machine. I was able to rip through our
hedge in no time (well, much less time than doing it by hand), and I
also managed to get down the back of the hedge and deal a savage blow to
the blackberry that has been trying to invade from the reserve next
door.
Feeling inspired, I took my evil pruning saw and had a go at topping some of the trees that were impeding our view. With some success; the view is now much improved.
We (Bethany, Bernadette and I) also went to see The World's Fastest Indian at the Lighthouse Cinema in Petone. Bethany was very good, and made much less noise than some other members of the audience. I thoroughly enjoyed the film; in fact, I found it very moving. But then I'm a bit of a sucker for that sort of thing; I went a bit teary while watching the climactic death scene in Finding Neverland, for example. But anyway, it was great to go and see a movie again (and at such a pleasant theatre). And I'll definitely be buying it on DVD, which will hopefully include some decent biographical documentary (like those found on The Hours DVD).
I would like to knock up a simple but customised timekeeping app to run
on my semi-ancient Clié PDA (running PalmOS 4.1). Ideally I
would've liked to use Python or Ruby or Tcl/Tk, that is, something that
might've had a decent UI layer. But none of those seemed to be currently
supported, so I went for LispMe, an
R4RS Scheme compiler and runtime for PalmOS written by Fred
Bayer. It looks quite nice, although I don't know whether editing source
code via Graffiti is going to be much fun. Fred suggests pedit, so I've
installed that as well. And TealMaster, and DateBk. Now I can
have a go at working through The Little Schemer
and The Seasoned
Schemer, before one day tackling The Wizard Book (with the aid
of the
videos I've been downloading).
I'm a bit late with this (apparently it's been out since September), but
the Standalone
Digidesign CoreAudio Driver 6.9.2cs2 for Mac OS 10.4 (phew!) is now
available. This means that I can use Chris's Mbox on my Power Mac
without having to shell out to upgrade Pro Tools, when I already have GarageBand.
Come January, I plan to stake out a corner of the upstairs room here to assemble my various bits of music gear into something I can use to actually start recording some music.
I've added myself to the waiting lists for the x0xb0x (a clone of the Roland TB-303) and the AvrX, a sort of Evolver-like
synth from some guys in Sweden. When they arrive (some time early next
year with any luck, by which time I might have some cash with which to
pay for them) they can sit next to my FatMan kit, unless I've
somehow managed to find time to construct that in the meantime. Which
will in turn be after I've debugged my D-110. I could also start with something
smaller (via Matrixsynth), or more
traditional.
I've tagged some good FatMan links on del.icio.us.
This is the new Xpander Geek
category of my weblog. Rather than
try to maintain another blog on the XG site, or cunningly alias/symlink
one to the other, I'll just redirect people from the "blog/news" page on
XG to this page. That way, when I link to other blog articles, the
relative links should still work. The RSS feed for this category is http://johnp.net/blog/xg/index.rss.
And the first piece of news is, I've cemented my claim to the "Xpander Geek" title by identifying the font used for the "Xpander" logo text, as you can see to the right. It is Friz Quadrata Bold, apparently created by a Swiss dude called Ernst Friz in 1965. I started with the creativepro.com font searches page, then tried IdentiFont, which correctly picked that I wanted ITC Friz Quadrata, but didn't show me the bold variant, so I couldn't confirm that it was correct. Then I fed my scanned & Photoshopped image into WhatTheFont, which got it bang on. I was very impressed. But MyFonts was "not yet authorized to sell this font directly", so I had to go to fonts.com to actually buy it. USD29 for Mac & Windows OpenType, and they tossed in another font for free. They almost blew it when their store's Javascript didn't work in Opera, but I gave them a second chance and completed the sale using Firefox. Hooray for Firefox! Hooray for Opera! Long live the Web! etc.
Coming up: my plans for the site. Some interesting ideas are presenting themselves, given that the Xpander seems to be 100% programmable and controllable via MIDI. And there's all sorts of fascinating bits of Xpander information out there waiting to be collected and collated, much of it dating from before the dawn of the Web. And one man's name keeps cropping up: Mr. Mike Metlay, editor of the Xpander Users Group Newsletter and keeper of the Xpander/Matrix-12 MIDI System Exclusive Xpander Patch Editors Specification. But more about him later.
Well, work has kept me pretty busy lately, but I'm always thinking
about Ngake. And I'm trying to converge some work stuff with Ngake (or
at least Lisp) in order to make some progress.
In the meantime, my latest would-be hobby has me looking at electronic/computer-based music systems. I think that sound design, synthesiser programming, composition and performance could all be fruitful domains for Ngake. And I think that applications targetting those domains might be better received than some of my software tools ideas, since musicians seem to be much more open to novelty in their tools. For example, this guy has video of him using a Lemur control surface, Continuum fingerboard and Kyma sound design software to good effect.
Today's roundup of interesting links:
Interesting sites I've come across lately:
There's an Oberheim Xpander up for auction on TradeMe. The guy wants
$3500 for because he paid well over the odds for it himself, but I find
myself craving it rather badly. Unfortunately we're having a few
cashflow issues at the moment. We'll see what happens. It's certainly a
more worthy and massively more practical lust object than last time.
Links:
Curve, one of my
favourite bands (currently disbanded) have a page on their website that offers the chance
to remix the original
tracks from the song Unreadable Communication. You can then
send in your mix on a CD, and they'll list it on the site.
Very cool.
Further to the D-110 post below, I checked the schematic and the path of the MIDI input signal is very short, so hopefully if I take it apart and trace the track from the socket through the optocoupler (a Toshiba TLP552, apparently equivalent to an NEC PS9601) and into the CPU, I might be able to debug the problem. Or not. Who knows.
After the MKS-70, Roland moved away from the parameter-change format used by other manufacturers and towards a memory-map scheme, where everything (patch store, edit buffers, even the characters in the front-panel display) sits somewhere in a virtual memory space. (It's probably also the physical memory space.) There is one unified scheme for SysEx. if you want to load a bank, you rewrite a large part of the address space. (Not in one go, alas: you can only read/write 256 bytes at a time, for some reason explained in the small print which leaves me unconvinced. Hence, a bulk dump is several SysEx's.) If you want to change a parameter, you write a 1-byte chunk of memory somewhere in the edit buffer space. It's really nice. They didn't quite get it working properly on the D-50, but on the D-110 and D-70 it works fine. The D-110 implementation was good enough that I never touched the D-110 front panel for years. The D-70 is a slow machine, but this SysEx scheme seems to work fine, and it's a great help for a machine with twenty-seven edit buffers.
I watched Herb Sutter's talk "C++:
Future Directions in Language Innovation" (well, I listened to the
last third or so; the web presentation tech wasn't quite up to the
task). Very interesting. Lambda is coming to C++! Who would've thunk it?
I think C++ might be worth sticking with, after all. Although apparently
we won't see all these groovy features until "the end of the decade".
Herb's points about concurrency are well made, also. And will make something like the VR IDE I've been imagining all these years even more compelling.
On an unrelated but still relevant note, this Gamasutra article "How to Prototype a Game in Under 7 Days" was also very interesting. If I could successfully apply game development priorities and techniques such as "juice" to VR UI design, then nobody would be able to resist, and world domination would be assured.
It's a bit annoying that New Zealand (well, Gisborne/Hawkes Bay) hangs off the edge of the map, though.
svn: bdb: Program version 4.2 doesn't match environment
version
The solution (via the
Subversion Users mailing list):
$ svnadmin create --fs-type bdb newrepos $ cd newrepos/db $ rm *s __db.* log.* $ cd ../.. $ cd oldrepos/db $ for dbf in *s ; do db4.1_dump $dbf | db4.2_load -h ../../newrepos/db $dbf ; done $ cd ../.. $ svnadmin verify newrepos $ svnadmin create --fs-type fsfs fsfsrepos $ svnadmin dump newrepos | svnadmin load fsfsrepos
I think that many of Mr. Nielsen's guidelines are worth reading. I should probably look at updating my homepage designs, also.
Anyway, here is my current list of "cool things I'd like to do with Corman Lisp."
For their CLI, Microsoft are clearly going to the other extreme: the C++/CLI bridge will be an ECMA standard.
Meanwhile, MinGW/GCC 3.4.2 gives me
include/c++/3.4.2/cxxabi.h, which looks like the clincher.
Another nugget from Raymond Chen's archives: the
32-bit x86 calling conventions, with immediate practical
applications, such as optimising
callback member functions and using
GetProcAddress.
He also describes the layout of a COM object, and pointers to member functions. Although of course he has to use some proprietary vector markup language instead of SVG. But someone in the comments links to a "C++ Under the Hood" MSDN article from 1996, which actually describes the Microsoft C++ Object Model! It dates from 1996, a.k.a. "Visual C++ 4.2".
Reading the Fetter/VZN mailing list archives was interesting. It sounds like its at a pretty workable state. They don't seem to have found GCCXML to be a limiting factor, and their handling of overloaded names is, er, maximally straightforward.
So, since GCC implements a published ABI and Microsoft (and by implication Intel) doesn't (although you can unmangle the names via dbghelp.dll), it would seem that I'll be targetting GCC. Fortunately the Torque Game Engine builds under GCC (via both MinGW and Cygwin, apparently).
I found a couple of articles by one Danny Kalev, who mentions the book Inside the C++ Object Model, which I've ordered.
According to this article, Microsoft's C++ vtables have the same layout as a COM interface vtable (also discussed here/here and here). This 1994 comp.compilers post describes the object layout algorithm for the "so-called Microsoft Object Mapping". I've found a mention of this, but no details (yet).
But the archives of The Old New Thing looks like a pretty interesting source of "inside information" on the Visual C++ compiler and Win32 programming in general.
I've installed MinGW/GCC 3.4.2 now, so I'll have to try compiling Corman Lisp with it.
And Gary King has finally posted about Lisp, and actually links to several libraries he's preparing for release. I often think that I should study people's Lisp utility libraries, as I'm sure that would be educational.
On the SLIME mailing list, someone linked to this new evaluator for SBCL.
Elkhound isn't scannerless, but I liked the "C++ Entities and Relationships" document that Scott McPeak is writing.
But I think I'll start with META, since it seems like a Lispy place to start, and you have to start somewhere.
Still, it looks like they don't have all the really cool XML-RPC stuff up and running yet, anyway. Although there's enough to start playing with, I suspect.
ConfigParser
module
It started here,
wherein it is revealed that Dave Smith
still uses a twenty-two-year-old hybrid digital/analog synth as his main
keyboard controller. I'd already been eyeing up an Evolver
as a Chrissie prezzie for myself; now for some reason I fancy one of
these. I think it'd be a great alternative to a piano, and way cooler.
(Although almost as heavy, apparently.) They can be had,
all refurbished and lovely, but they're very expensive. Also,
getting it serviced would be tricky, although parts are mostly available.
Perhaps I should just buy a Poly
Evolver instead. Yes, I think that would be much more sensible.
Shit, I could buy two for the same money...
There is still no standalone installer for the Digidesign CoreAudio
drivers on Tiger. Eventually it will appear here. Then I
can start using Chris's Mbox with GarageBand on my Power Mac G4.
After reading some good
reviews, I bought C++
Template Metaprogramming and C++ Templates - The Complete
Guide. They turned up yesterday, and look like they'll be an
enjoyable read.
I was flicking through the Climacs syntax analysis paper when my printout of Ed Willink's thesis caught my eye. I would still like to produce a C++ parser and code analysis tool, for two main reasons: my 'day job' involves working on large-ish C++ projects, so a decent analysis & refactoring tool would be very handy (and marketable); and Corman Lisp is written in C++, so for my Ngake project to be thoroughly reflective, it will need to be able to understand the language (and x86 assembly language, for that matter). So I went for a quick Googletrip...
The author of the 'Parsing C++' page that first lead me to Willink's work has since decided that life's to short to waste trying to parse a language as ugly as C++. And you can see his point. But he's added even more useful links:
On balance, it would seem that Elkhound/Elsa is currently the best way to go. It doesn't do template template parameters (which are almost never used), but otherwise seems pretty complete. At least it is being actively maintained. Currently it seems to be GCC only; there's a Cygwin version, but no sign of Visual C++ support. I can start with the technical report.
After reading the first
part of Chris
Randall's short series on scoring oneself a decent microphone preamp
and equaliser setup, I've been looking on German eBay (thank goodness for the fish) and UK eBay. sonicworld.de do used stuff, as well
as Vintage City that Chris
mentions. So many ways to spend the money I haven't made yet...
So there you go. I was thinking that a Java program using Java 3D and the Gumbo libraries would be useful, since I need to get a feel for how the Gumbo stuff works anyway. Apparently there are Java bindings for the Cocoa Core Audio APIs. Don't know how you'd do MIDI in Java on Windows or Linux, though. Time to read the FAQ...
I have downloaded and installed the drivers for my MIDISPORT 2x2, which helped things along immeasurably. I've even made little custom icons for my devices in the Audio MIDI Setup program. Now I just have to figure out how to get the SysEx file transferred into the D-110, using some sort of SysEx librarian program. And then it will hopefully start triggering properly...
Andrew Choi has written a program to display SysEx information. I was thinking that it would be a very cool exercise to try and produce some MIDI 'bindings' for, say, OpenMCL, and then write Lisp to explore linear arithmetic synthesis. This would probably mean learning Objective-C and Cocoa programming.
Here is a short description of L/A synthesis:
A sound synthesis method developed by Roland that creates new sounds by attaching the attack portion of a sampled waveform to a simpler waveform. Human sound recognition is heavily influenced by hearing the attack transient part of a sound, but simple waveforms require less storage than samples. By combining the two, L/A synthesis is capable of relatively sophisticated sounds with modest data storage requirements.
Here's another:
This type of synthesis takes short attack sampled waveforms called PCM, or Pulse Code Modulation and combines them with synthesized sounds that form the body and tail of the new sound. By layering these and combining them with the synthesized portion of the sound you arrive at the new sound. The final sound is processed by using filters, envelope generators etc. This is one of the most common forms of synthesis used in the 90s and even today. Roland were the most famous for adopting this type of synthesis and the D50 was one of the most common of the synthesizers that used LA synthesis. By the way, a great synthesizer and still used today.
But wait, there's more:
The basic building block of LA synthesis is the Partial. This can either be a synthesizer waveform or a PCM sample sound. Each Partial can behave like an individual synthesizer, with its own pitch and time variant amplifier plus, in the case of synthesizer waveforms, cut-off frequency, resonance and time variant filter. Two Partials grouped together (using one of seven structures -see diagram) create a Tone. Each Tone can utilise up to three LFOs, a pitch envelope, a programmable chorus and programmable EQ.
I think I'll see what could be achieved by integrating Corman Lisp into Visual Studio 2005.
At some point, I'll want to buy this VST to RTAS adapter. Not just yet, though. Some other free Pro Tools goodies are described here.
In other news, the RNC1173 compressor looks like being a good next piece of kit to buy. When I have money again... Although apparently my FatMan synth has shipped. Yay! Right, now I must get back to work.
I wonder whether a Lisp-to-Flash, Lisp-to-WAP, and/or Lisp-to-Ajax program would be useful/productive/popular/within my capabilities. Who knows.
A better idea I had was to write something that automatically
converts printf-style format strings into the long-winded
STL style that modern C++ style seems to prefer, i.e. from
sprintf(result, "\\x%02x", ch);
into
{
ostringstream os;
os << "\\x";
os.fill('0');
os << setbase(16) << setw(2);
os << static_cast<int>(ch);
result=os.str();
}
In the meantime, SMARTReporter looks useful, given that I don't trust the second hard drive. (Via this article on Mac maintenance.) TechTool Pro is apparently very good, also.
Oh, and I've managed to install a Dvorak keyboard layout from this page.
After spring-cleaning the disk of my trusty laptop (800MHz Pentium III & 512MB RAM), I put on a minimal installation of Visual Studio 2005 Beta 2. I was pleasantly surprised that it seemed to run acceptably, and my template problems went away. So I guess I'll be saying goodbye to VS6 after all these years. There is certainly an impressive array of bells, whistles and snazzy new features available. Massively more attractive than the previous version.
While I'm at it, the ACE multithreading library comes recommended by Andrei Alexandrescu himself. I'll have to look into that also.
I'm entertaining the idea of buying a new laptop. I'd like to buy one from Alienware. I didn't even know you could get laptops with RAID0 and a PCI-Express GeForce 6800 Ultra. Five and a half grand (or fifty bucks a week) would be a little hard to justify, until I've brought a bit more money in for the year. But a machine like that would keep me going for some time.
Other interesting things I've come across lately:
Benjamin Dove is building a new form of music controller called a String Thing. It is an interesting project itself, and he links to pages for some of the tools he is using:
Ben Nolan, with whom I worked earlier this year, was mentioned on Lambda the Ultimate, "the programming languages weblog," for his Behaviour Javascript library. I'm impressed!
There are some good-looking lectures available, via Flash
7 running on Internet Explorer. Which means I have to watch them at
home, on my puny low-bandwidth connection. But the real problem is
finding the time...
Other cool things I've come across today:
I'm reading Charlie Stross's Accelerando, and coming across things like this Venter/Kurzweil/Brooks update makes the Singularity seem a little less implausible.
While looking for alternatives to Jam Hair in Cuba Street, I found a
nice site put together by some
woman in Auckland. Looks like I should be washing my dreads more often
than I do...
Also, on the P5 glove mailing list, someone linked to this page of books on Kalman filtering and integration. If I had the time, I'd really like to look at producing a decent driver for the P5 glove, including sensor fusion with a webcam or something.
Other links I've bookmarked on del.icio.us lately:
After much sweat and cursing, I now have SLIME working on Corman Lisp (only tested on 2.51). I've attached the necessary swank-corman.lisp as well as a patch against CVS HEAD. I actually had this working back in December, but due to a lack of round tuits I haven't made it official before. Scissored from swank-corman.lisp: ;;; Notes ;;; ===== ;;; You will need CCL 2.51, and you will *definitely* need to patch ;;; CCL with the patches at ;;; http://www.grumblesmurf.org/lisp/corman-patches, otherwise SLIME ;;; will blow up in your face. You should also follow the ;;; instructions on http://www.grumblesmurf.org/lisp/corman-slime. ;;; ;;; The only communication style currently supported is NIL. ;;; ;;; Starting CCL inside emacs (with M-x slime) seems to work for me ;;; with Corman Lisp 2.51, but I have seen random failures with 2.5 ;;; (sometimes it works, other times it hangs on start or hangs when ;;; initializing WinSock) - starting CCL externally and using M-x ;;; slime-connect always works fine. ;;; ;;; Sometimes CCL gets confused and starts giving you random memory ;;; access violation errors on startup; if this happens, try dumping a ;;; new image. ;;;
This is great news. Hopefully I'll get a chance to try it out soon...
Bethany Zoë Pallister was born at 0156 on Sunday May 29. Truly amazing. She is now a month old and somewhat larger, but still wonderfully healthy and happy.
Dad's skin is looking much better these days, also. This, too, is cause for celebration.
On a completely unrelated note, JavaScript Object Notation (JSON) is 'yet another' lightweight data-interchange format. Might be useful at some point.
And Backpack is 'yet another' web application, this one aiming to be a complete personal information manager. These things are getting pretty sophisticated.
In other Mac news, I replaced the Power Card in Chris's PowerBook, and now the battery charges up, but nothing continues to happen when I press the power button. So I need to find out who does hardware servicing for Massey, and send it to them.
In other news, the new Shihad album was released yesterday. I think I'll grab a copy from Smoke CDs. It is New Zealand music month, after all.
Some initial useful-looking links I've found:
Apparently the OS X Tiger upgrade is only available on DVD, so I'd need to upgrade my CD-RW drive, or possibly try an external FireWire drive (e.g. one of my spare DVD drives in one of these). So we might put that off for a while.
I've come across a page describing a workaround for the "F-Lock" key on newer Microsoft keyboards (such as the one I won).
Er, false alarm: the problem seems to be with the PS2/USB adapter I'm using. Apparently it doesn't like the fact that I've swapped the Caps Lock and Control keys...
The other link I need to note is this one, which I have already used to disassemble Chris's Pismo PowerBook. I've bought a new Power Card on eBay, which will hopefully revivify it.
I want to run Corman Lisp under Wine (and eventually winelib). It looks like
the packages
in testing are the same as those mentioned in the WineHQ docs.
There is also WineTools. And XWine (a GNOME app).
Argh. I installed the Apple QuickTime 6 player, which played a movie,
pretty much. But installing Corman Lisp is proving more annoying. I've
installed DCOM98.EXE and InstMsiA.exe for a
start, but that's as far as I've got. Everyone wants you to use their
.wine/config.
On a more positive note, I seem to be able to print! Under Linux! I just installed all the CUPS stuff listed here, and then noticed that there was a web interface, and pointed it at the (network) printer, and wham! instant PostScript Level 3 test page. Unbelievable.
CFDG is "very simple programming language ... for generating pictures." Could be fun to do in 3D.
After an apt-get -t testing upgrade, I was faced with
xdm again. Fixed via cd /etc/X11 ; rm
default-display-manager ; touch default-display-manager. The rest
of the automatic login process I took from here.
Also, Firefox SessionSaver is great.
Just for future reference...
orinoco_cs driver)wireless-tools,
acx100-source, xfce4-wavelan-plugin,
waproamd, hotplugwpa_supplicant
supersedes waproamd, but I don't know that it supports my
cards.<MAC ADDRESS>.wep instead of
essid:<ESSID>.wep in /etc/waproamd/keys.
The format for hex WEP keys is
xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx.For my own reference, I will be posting notes here regarding people's attempts to add Corman Lisp support to SLIME. So far, all I have is a few posts to the Corman Lisp discussion groups; there's never been any mention of Corman Lisp on the SLIME mailing list, AFAICT.
The earliest attempt seems to be by Carlos Ungil in March 2004:
I tried to make Slime work with Corman Lisp. I got to the point where lisp waits for a connection from Emacs, but when the connection is made I get an error because make-two-way-stream is not implemented (the only references to this function are in sys/cl-symbols.lisp and sys/hyperspec.lisp).Is there any (public) documentation about standard compliancy issues?
There is another problem with with-standard-io-syntax. It's defined (as a macro) in sys/misc-utility.lisp, but the get-standard-pprint-dispatch-table and get-standard-readtable functions used are not defined. I defined them to be nil and (copy-read-table), but I don't know if this makes sense.
Next up is Matthew Danish, who had a go in November 2004:
I am trying to create a Corman backend for SLIME. I have currently written much of the basic backend for Corman, but there is a problem before I even reach this. When I load swank-backend.lisp, which defines the backend interface API, Corman CL console crashes and exits with code 128. There is no other information printed out. How can I debug this?I am using SLIME out of CVS, with these patches and files:
http://www.mapcar.org/~mrd/corman-slime/
To which Carlos replied:
I tried to port corman lisp some time ago[*], and swank.lisp calls the ANSI function make-two-way-stream, which is not defined in CCL.(I don't know if this might be the cause of this problem, though)
Cheers,
Carlos
So there's a list of issues to get me started, and even some sample code... But not tonight. I could ask Carlos whether he'll let me look at his code, also.
The question is, is VRML still 'alive', and/or has it been superceded by X3D (yet)? (OK, that's two questions.) I've managed to find a few current links:
So there's still life out there yet. Whether my initial idea is actually worth investigating is another question.
So I asked the nearest Apple owner (Ben), and he suggested these links:
And I'm sure there are many more alternatives to the locals.There have been questions asked on the Corman Lisp forums about whether Corman Lisp is still "alive". I pointed out that new patches have been posted within the last fortnight, which is a good sign. I've emailed Roger to ask him about the status of the product, so we'll see what he says.
Anyway, browsing the forums I discovered that other people have tried this before, with fairly limited results.
(Also, this post by Chris Double could come in handy for that Torque-CL wrapper.)
Hmmm, what else?
That's 421MB, plus the service pack. And if you want to do any .NET development, you need Visual Studio .NET 2003.
I was hoping that I could install Ruby (or something) and start playing around. But simply downloading & installing all that lot is a significant investment of time & effort, so I don't think I'll be playing with it for a while.
.CAT files I found.
Python Paste