dylan-hackers / mindy

Mindy - minimal compiler-interpreter for Dylan
Other
21 stars 9 forks source link

Windows Build - can't run scripts #81

Open rosswmerrifield opened 1 year ago

rosswmerrifield commented 1 year ago

Hello, not sure if this is still maintained, but I am trying to build Mindy on Windows. I can build the project, but I can't run any scripts with the 'mindy' executable. Any program I try to run throws the error:

f is not of type {class \<c-function>}

thread [0] D #"main" 0x6fffffea0268: invoke-debugger ({ 0x6fffffcd4f91}) mindy>

The compiler appears to create .dbc from source fine (I haven't tried copying a .dbc made on windows to linux where the interpreter works fine though).

I have built it under MinGW and Cygwin, and get the same result in both cases. I don't get any errors during the build

cgay commented 1 year ago

@promovicz has been working on Mindy recently, but I suspect on a flavor of Unix. @promovicz Have you tried Mindy on Windows recently?

promovicz commented 1 year ago

I haven't tried it on Windows in a very long time. This looks like an issue with platform support code. If anyone knows it would probably be @waywardmonkeys - since he did the last cleanup, which looked very good.

promovicz commented 1 year ago

And I see that @waywardmonkeys has been patching on Windows a few weeks ago - so right on cue I guess?

kaveman- commented 1 year ago

Hello, not sure if this is still maintained, but I am trying to build Mindy on Windows. I can build the project, but I can't run any scripts with the 'mindy' executable. Any program I try to run throws the error:

f is not of type {class }

thread [0] D #"main" 0x6fffffea0268: invoke-debugger ({ 0x6fffffcd4f91}) mindy>

The compiler appears to create .dbc from source fine (I haven't tried copying a .dbc made on windows to linux where the interpreter works fine though).

I have built it under MinGW and Cygwin, and get the same result in both cases. I don't get any errors during the build

how are you running it? you'll need to link in library.dbc as well. You can use -f to load additional bytecode files or copy /b library.dbc + hello-world.dbc hw-combined.dbc and then run the combined bytecode. There is also dbclink for Windows.

rosswmerrifield commented 1 year ago

how are you running it? you'll need to link in library.dbc as well. You can use -f to load additional bytecode files or copy /b library.dbc + hello-world.dbc hw-combined.dbc and then run the combined bytecode. There is also dbclink for Windows.

I get same result when running mindy -f library.dbc -f hello-world.dbc or running mindy -x hw-combined.dbc. The same command line invocations worķ on my Linux machine

kaveman- commented 1 year ago

you could set DYLANPATH to build\lib\dylan\2.7.0\-windows and see if that works. When built with VS2022, I'm getting a corrupt message "in library Dylandule Dylan" instead of "Hello, World." so something is broken.

rosswmerrifield commented 1 year ago

you could set DYLANPATH to build\lib\dylan\2.7.0-windows and see if that works. When built with VS2022, I'm getting a corrupt message "in library Dylandule Dylan" instead of "Hello, World." so something is broken.

Setting DYLANPATH didn't help either.

waywardmonkeys commented 1 year ago

Hello.

I did my Windows changes blind as I don't yet have a Windows build environment locally.

Sounds like someone needs to run this under a debugger!