I've been working on a port of PicoLisp 64 to Windows. The port is ready
for an early preview for anyone who wants to try it out

The goal of the initiative is to allow PicoLisp development on Windows.
This may improve efficiency and usage of resources as virtual boxes or
remote shells aren't necessary for those of us on Windows workstations. We
can run PicoLisp 64 natively. Cygwin or flinux[4] is still an option for
32-bit PicoLisp (src vs src64). PicoLisp 64 has more features and is
faster. It may also bring new users to PicoLisp.

The binaries are available at
https://github.com/joebo/picoLisp-win-x86-64/releases/tag/0.02

Please read the notes on the release page for invocation instructions.

There are a few known items that aren't working:

- file locking (fnctl not implemented in midipix yet)
- native (dlopen not implemented in midipix yet)
- instability observed with fork and sockets

Due to the file locking issue, I would not recommend using it in production
with fork. I expect to have a solution for file locking in the future.

The implementation is mostly in
https://github.com/joebo/picoLisp-win-x86-64/blob/master/src64/arch/win-x86-64.l
or view the commit history
https://github.com/joebo/picoLisp-win-x86-64/commits/master to see a list
of all the changes. Most of the work was in debugging.

It can be run from cmd.exe using a combination of ntctty and ptycon
(included) which sets up the terminal emulator. It can also be run from
mingw64 with ./picolisp.exe. See notes in win.l or the release notes.
Beware, long path names seem to cause a problem (thanks rick!).

It's fairly complicated to set up to build from source because it requires
a new toolchain. It requires midipix, http://www.midipix.org, which is
pre-alpha. I plan to document the build steps once midipix is released. The
steps currently require joining the irc channel and asking for private git
access.

If you clone the github repo, you should be able to generate the assembly
file with cd src64;make x86-64.win - current version here:
https://github.com/joebo/picoLisp-win-x86-64/releases/download/0.02/win-x86-64.windows.base.s

Credits:
Thanks to Alex for pil64 and his debugging assistance
Thanks to Rick for testing and encouragement
Thanks to midipix team for a solid cygwin alternative


Please reply to the mailing list if you try it out or find it useful!

Links:
[1] - https://github.com/joebo/picoLisp-win-x86-64/releases/tag/0.02
[2] - https://github.com/joebo/picoLisp-win-x86-64/
[3] - http://www.midipix.org/
[4] - http://picolisp.com/wiki/?flinuxpicolisp (32-bit)

Reply via email to