Arc Forumnew | comments | leaders | submitlogin
Ensure-dir broken again on Windows
1 point by eds 5909 days ago | 6 comments
Ensure-dir seems to be broken again on Anarki (on Windows at least).

  arc> (ensure-dir "nonexistant")
  Error: "standard-module-name-resolver: collection not found: \"mzlib\" in any of
  : ()"
The problem seems to be in mkdir with the following line of code:

  arc> ($ (require (lib "file.ss")))
  Error: "standard-module-name-resolver: collection not found: \"mzlib\" in any of
  : ()"
Not exactly sure what the appropriate fix is so I'll leave it to more knowledgeable persons.

This is on master at Fri Feb 29 17:31:00 PST 2008.



4 points by nex3 5909 days ago | link

Okay, I just did a bunch more resolving, and everything should be fine now. Also, stable no longer uses $.

-----

1 point by eds 5909 days ago | link

Great. Now we just need those changes in arc-exe.scm. I can probably get around to it sometime today, but I have homework I need to do first....

-----

2 points by eds 5909 days ago | link

Ok, I've been working, and I've copied the atomic invoke, which-os, make-directory and make-directory* , and datetbl fixes from ac.scm.

That resolves the most recent issues, but I've been looking through the code in ac.scm and arc-exe.scm and there are still major differences. For example, while looking at the change from * call* to call*, I found that arc-exe.scm never got the defcall change in the first place. So keeping arc-exe.scm compatible with ac.scm is not just an issue of changes from now on, because the two files are already somewhat divergent.

On the other hand, if we got arc-exe.scm to just load ac.scm somehow, we wouldn't have to worry about all this. Unfornately this may not be easy; I threw myself at the problem for a couple of hours and didn't really come up with anything, except for a severe dislike for scheme's module system.

-----

2 points by almkglor 5909 days ago | link

This is what I suggested to sacado:

http://arclanguage.com/item?id=3857

Sorry I can't be more help, I'm at the office right now building devices^^.

-----

1 point by eds 5908 days ago | link

Fortunately, nothing that fancy is necessary:

http://arclanguage.org/item?id=4000

-----

1 point by eds 5909 days ago | link

I should also point out that in the definition of mkdir, the line including (null? ,parents) probably doesn't do what you want it to since t isn't true and nil isn't null in scheme:

  arc> (= parents t)
  t
  arc> ($ (null? ,parents))
  Error: "reference to undefined identifier: t"
the fix should be to use ar-false? and quote the value of parents

  ($ (ar-false? ',parents))

-----