Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inclusion of maxpc #185

Closed
quicklisp opened this issue Jun 20, 2021 · 10 comments
Closed

Inclusion of maxpc #185

quicklisp opened this issue Jun 20, 2021 · 10 comments

Comments

@quicklisp
Copy link

Why does this project include maxpc instead of just referencing it?

@phantomics
Copy link
Owner

MaxPC is AGPL-licensed, but Max created an Apache-licensed snapshot for me to use within April. April now includes that snapshot so there are no problems with conflicting licenses.

@quicklisp
Copy link
Author

This causes problems with conflicting systems in Quicklisp. I can't include April if it includes the system named "maxpc."

@phantomics
Copy link
Owner

As far as I know I changed the name of the system to maxpc-apache in its .asd file and the .asd files that depend on it. I found that there was a maxpc.asd file remaining in the folder and removed it, I also changed the name of the test system to maxpc-apache-test. I just pushed a commit with those changes, do they affect the problem you're seeing? Thanks.

@justin2004
Copy link
Contributor

i just pulled master and when i

(ql:quickload 'april)

i get

To load "april":
  Load 1 ASDF system:
    april
; Loading "april"

debugger invoked on a QUICKLISP-CLIENT:SYSTEM-NOT-FOUND in thread
#<THREAD "main thread" RUNNING {1001890213}>:
  System "maxpc-apache" not found

@phantomics
Copy link
Owner

That's not good. By any chance do you have April linked from your ~/quicklisp/local-projects directory? I've found that sometimes adding new systems in subfolders of April's repo will result in them not being recognized until you delete the link and add it again. Otherwise I'll need to check into this, the maxpc-apache system shouldn't be handled any differently than aplesque or vex.

@justin2004
Copy link
Contributor

justin2004 commented Jun 25, 2021

i don't have any symlinks involved. the april git repo lives here:
/home/justin/quicklisp/local-projects/april

ok, i got it to load by doing:

(push #p"/mnt/maxpc-apache/" asdf:*central-registry*)

i always run sbcl in a docker container so /mnt in the container is really /home/justin/quicklisp/local-projects/april in the host.

does emacs put your pwd in asdf:*central-registry* ?

@justin2004
Copy link
Contributor

justin2004 commented Jun 25, 2021

oh, this could be related...

for me:

CL-USER> asdf:*central-registry*
(#P"/home/containeruser/quicklisp/quicklisp/")

but i think it maybe should be:
/home/containeruser/quicklisp/

because local-projects is not in /home/containeruser/quicklisp/quicklisp/
it is in
/home/containeruser/quicklisp/

what is your asdf:*central-registry* ?

@phantomics
Copy link
Owner

phantomics commented Jun 26, 2021

My asdf:*central-registry* is /home/phantomics/quicklisp/quicklisp. I have my April directory symlinked from local-projects. I find that sometimes when I add directories containing new ASDF systems, they aren't recognized by asdf until I erase that symlink and recreate it.

Could you try setting up another April in an unused location and see how that works? That's always worked fine for me.

By the way, there's a surprise for you in the array function demo. Give it a try.

@justin2004
Copy link
Contributor

wow, did you port display!?
i remember thinking that would be tricky!

@phantomics
Copy link
Owner

Yes, there were a couple changes I had to make. I removed the error guard (the line with 16::) because April doesn't handle errors that way and because that line is meant to catch instances of objects and other unprintable things that can't be created within April as opposed to Dyalog. I changed the line that's used to make an underline on characters because my type-checking is different from Dyalog's. The other difference you may notice is that I reordered the utility functions within the display function. That's because April needs each function to be defined before another function is defined that uses it, otherwise it doesn't know that the function's symbol represents a function.

In other news, I heard from Zach that April is now building correctly so I'll be closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants