libera/#commonlisp - IRC Chatlog
Search
11:10:18
paulapatience
jackdaniel: So, it only transits data through its own streams in some cases. On SBCL and CMUCL on Unix, stream arguments are passed directly to the underlying implementation. On other implementations it passes them through UIOP's stream functions.
11:10:54
paulapatience
I think the reason for the streams is that not all implementations support that.
11:11:57
paulapatience
E.g., I think passing octet streams to some implementations is unsupported, but theoretically with vomit and slurp it would be, because they get converted to files that are then ok.
11:23:20
jackdaniel
in any case I've always been sceptical regarding uiop's run-program/launch-program design; I've studied it a little, but that was a few years ago
11:32:46
jackdaniel
I wish there was a portable way of specifying by the programmer what is executed under certain optimization levels
11:40:41
paulapatience
The optimization level used by run-program? Or were those two disjoint ideas?
11:50:08
edgar-rft
but it would be cool to optimize programs just by running them from Common Lisp :-)
11:52:18
jackdaniel
I've meant something like (optimize-case ((and (< safety 1) (> speed 3)) nil) ((> safety 2) (check-type x float)) (otherwise (float x))) ; lousy example, I know
11:53:04
jackdaniel
technially something what compilers already do have for their own inner workings (in ecl it is called compilation policies)
12:13:43
paulapatience
I've been keeping an eye on that for when I need to do linear algebra, but the necessity has not arisen
20:41:14
paulapatience
I mean, I could submit a PR for both of those if that would help. Is there anything specific to do beyond submitting the PR? Like tests and such?