[Info-vax] Python for x86?

Arne Vajhøj arne at vajhoej.dk
Sun Apr 23 09:37:12 EDT 2023


On 4/21/2023 7:24 PM, Scott Dorsey wrote:
> In article <u1ugra$2r211$2 at dont-email.me>,
> =?UTF-8?Q?Arne_Vajh=c3=b8j?=  <arne at vajhoej.dk> wrote:
>> On 4/21/2023 1:00 PM, Scott Dorsey wrote:
>>> =?UTF-8?Q?Arne_Vajh=c3=b8j?=  <arne at vajhoej.dk> wrote:
>>>> On 4/21/2023 10:51 AM, Chris Townley wrote:
>>>>> On 21/04/2023 14:31, Arne Vajhøj wrote:
>>>>>> Getting abcl (lisp) working was really random luck.
>>>>>>
>>>>>> :-)
>>>>>
>>>>> Is Lisp still used these days?
>>>>
>>>> ABCL (Common Lisp on JVM and actually able to run on VMS)
>>>> is actively maintained.
>>>>
>>>> And I believe there are several other Lisp implementations
>>>> that are not EOL.
>>>
>>> I think most folks using lisp under VMS are using xlisp.  Which builds nicely
>>> under VMS and a whole lot of other operating systems, and is pleasantly
>>> common-lisp compatible if you like that sort of thing.
>>
>> https://github.com/dbetz/xlisp
>>
>> ?
> 
> Yes.  Builds on just about anything.  Pretty well supported.  Suited for
> embedded systems if you're into that kind of thing.

I had to try build.

Something like:

$ cre/dir [.bin]
$ cre/dir [.lib]
$ cflags="/include=[-.include]/names=as_is"
$ set def [.src]
$ cc'cflags' unstuff
$ cc'cflags' xlansi
$ cc'cflags' xlapi
$ cc'cflags' xlcobj
$ cc'cflags' xlcom
$ cc'cflags' xldbg
$ cc'cflags' xldmem
$ cc'cflags' xlfasl
$ cc'cflags' xlftab
$ cc'cflags' xlfun1
$ cc'cflags' xlfun2
$ cc'cflags' xlfun3
$ cc'cflags' xlimage
$ cc'cflags' xlinit
$ cc'cflags' xlint
$ cc'cflags' xlio
$ cc'cflags' xlmain
$ cc'cflags' xlitersq
$ cc'cflags' xlmath
$ cc'cflags' xlobj
$ cc'cflags' xlosint
$ cc'cflags' xlprint
$ cc'cflags' xlread
$ cc'cflags' xlsym
$ libr/obj/crea [-.lib]xlisp *.obj
$ set def [-]
$ set def [.xlisp]
$ cc'cflags' xlisp
$ link/exe=[-.bin]xlisp.exe xlisp + [-.lib]xlisp/lib
$ exit

?

And I get a bunch of %CC-I-RIGHTSHIFTOVR due to:

/* xwrlonghf - built-in function 'write-long-high-first' */
xlValue xwrlonghf(void)
{
     short int val;
     xlValue fptr,v;
     v = xlGetArgFixnum(); val = (short int)xlGetFixnum(v);
     fptr = xlMoreArgsP() ? xlGetOutputPort() : xlCurOutput();
     xlLastArg();
     xlPutC(fptr,(val >> 24) & 0xff);
     xlPutC(fptr,(val >> 16) & 0xff);
     xlPutC(fptr,(val >> 8) & 0xff);
     xlPutC(fptr,val & 0xff);
     return xlTrue;
}

/* xwrlonglf - built-in function 'write-long-low-first' */
xlValue xwrlonglf(void)
{
     short int val;
     xlValue fptr,v;
     v = xlGetArgFixnum(); val = (short int)xlGetFixnum(v);
     fptr = xlMoreArgsP() ? xlGetOutputPort() : xlCurOutput();
     xlLastArg();
     xlPutC(fptr,val & 0xff);
     xlPutC(fptr,(val >> 8) & 0xff);
     xlPutC(fptr,(val >> 16) & 0xff);
     xlPutC(fptr,(val >> 24) & 0xff);
     return xlTrue;
}

which seems to assume that short int is 32 bit.

Arne






More information about the Info-vax mailing list