[xcvb-devel] run-program/process-output-stream

Faré fahree at gmail.com
Fri Apr 15 04:24:11 UTC 2011


>> As I realize it has to deal with portability, I'm considering having
>> master either depend on driver, or be merged into driver so that it
>> remains a single file. What do you think?
>
> IMHO, I personally would make a subdirectory called xcvb/vendor and break
> up both driver.lisp and master.lisp into individual files representing
> their little areas.
>
Yes and no. Once again, for the driver as well as the master or asdf,
the ability to load the whole shebang in one command is appreciable;
and since they are the kind of things you load before anything else,
that command must be load (or require, once it becomes standard),
and not some fancy thing. OR, you could assume that ASDF will always
be present (a somewhat depressing thought, since the xcvb master
is meant to replace ASDF, but possibly realistic),
and indeed define a system that you may subdivide as you want.

> Yeah. In dealing with the newline issue, I did this:
>
> ;; add a "newline" to a string
> (defmacro nl (str) `(format nil "~A~%" ,str))
>
Sounds good.

> And then here the skeleton of how I'd use it:
>
> Suppose there is a file containing the single string 'test\n':
>
> ;; a basic test, minus the deftest stuff.
> (let ((the-string <read-file-into-string-with-slurp-stream-string>))
>  (is (string= the-string (nl "test")))
>
> Because then if a lisp implementation uses \n\r versus \n or some other
> horrible thing, it should "just work" in the string= comparison.
>
> Am I doing the correct thing in the above?
>
Sounds right.

> Also, is #+unix and #+win32 available as conditional compilation features for
> all implementations we'd like to support?
>
As of late, ASDF does magic to achieve features
:asdf-windows and :asdf-unix. We could do similarly in say xcvb-driver.

>> Having to deal with PATHs under Windows is the promise of HELL.
> Maybe you can lift this interface:
>
> http://perldoc.perl.org/File/Spec.html
>
I don't think it's relevant for xcvb-master.
No, the problem would rather beto either detect
some essential programs and use their full name.

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
"Democracy is two wolves and a lamb voting on what to have for lunch.
Liberty is a well-armed lamb contesting the vote."




More information about the xcvb-devel mailing list