00:06:47 -!- alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms_] 00:07:13 -!- bfulgham_ [~brent@wsip-72-215-191-226.sb.sd.cox.net] has quit [Quit: bfulgham_] 01:44:57 -!- PECCU is now known as peccu 01:59:21 alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 02:25:54 -!- rme [rme@BB760301.26A3C078.699BA7A6.IP] has quit [Quit: rme] 02:25:54 -!- rme [~rme@50.43.164.56] has quit [Quit: rme] 02:52:28 rme [~rme@50.43.164.56] has joined #ccl 03:00:03 bfulgham_ [~brent@cpe-76-173-170-144.socal.res.rr.com] has joined #ccl 03:25:49 -!- sankho [75fc4517@gateway/web/freenode/ip.117.252.69.23] has quit [Quit: Page closed] 04:27:59 -!- peccu is now known as PECCU 05:05:11 consolers [grandparen@59.92.62.133] has joined #ccl 05:31:27 -!- bzzbzz [~franco@modemcable151.155-57-74.mc.videotron.ca] has quit [Quit: leaving] 05:56:00 -!- PECCU is now known as peccu 05:56:56 -!- consolers [grandparen@59.92.62.133] has quit [Ping timeout: 250 seconds] 06:44:06 -!- rme [~rme@50.43.164.56] has quit [Quit: rme] 11:16:00 cfy [~cfy@unaffiliated/chenfengyuan] has joined #ccl 11:16:36 how can i change the encoding of args in run-program? 11:16:41 when i try (ccl:run-program "touch" '("/tmp/test-dir/")) 11:16:53 the touched file name is not correct 11:17:02 thanks 11:31:53 implementation dependant. 11:31:53 11:32:17 pjb: so,i can't change it? 11:32:41 In clisp, you'd set CUSTOM:*PATHNAME-ENCODING* or CUSTOM:*FOREIGN-ENCODING* or perhaps CUSTOM:*MISC-ENCODING*. 11:33:26 pjb: the argument encoding seems not correct? 11:33:38 yean, it's not a pathname, so not *pathname-encoding*, but it's passed to execv so it should be *foreign-encoding*, unless it's *misc-encoding*. 11:34:39 But in other implementations, it would be other settings, often more global (they don't distinguish as many different uses as in clisp). 11:35:11 pjb: oh,do you know the way in clozure cl? 11:35:23 In ccl, you only have ccl:*default-external-format* and ccl:*default-file-character-encoding* 11:35:55 But I don't see how that would apply to run-program arguments, or the ffi involved with it. have a look at the sources of ccl:run-program 11:36:10 pjb: oh,thanks 11:36:17 Couldn't you just call it /tmp/test-dir/some-name ? 11:36:57 In ccl, there's also a ccl:*default-socket-character-encoding* 11:37:10 pjb: do you mean just use ascii name?but the file name is controled by user 11:37:19 Perhaps the later is used. 11:37:29 pjb: oh,let me try it 11:37:49 cfy: well you can do (open user-pathname :direction :probe :if-does-not-exist :create) 11:37:56 touch only works on unix 11:38:25 pjb: oh,i use touch to test 11:38:53 pjb: i will change to wget later 11:39:05 Alternatively, you can write a script file. There you'd control the encoding. You could ensure that the file is written in an encoding matching the right unix locale. and the use run-program to execute that script. 11:39:27 cfy: you can also implement wget in lisp. It is already done eg. in quicklisp. 11:40:49 pjb: good idea,but i write it by fun,so i try to solve this problem first :) 11:40:51 Using external commands (or ffi) have all sorts of problems. You cannot easily provide a progress bar, you cannot fine control their termination (eg. upon user request), you have those encoding difficulties, it's hard to correctly control correct termination, etc. 11:42:13 pjb: ccl:*default-socket-character-encoding* seems don't affect arguments encoding 11:42:32 yes, it was a wild guess. 11:42:38 Check the sources to see what encoding is used. 11:42:44 pjb: okay 11:43:39 The right thing to do in absence of a configuration variable, would be to use the unix locale, but ccl doesn't do that on its arguments, so I doubt it'd do that on run-program arguments. 11:44:21 I put this in my ccl-init.lisp: http://paste.lisp.org/display/130855 11:45:36 pjb: oh 11:58:37 sankho [75fed73d@gateway/web/freenode/ip.117.254.215.61] has joined #ccl 11:59:30 how do i change the fasl save directory in ccl ? 12:32:02 ccl:*.fasl-pathname* 12:32:16 sankho: but if you're using asdf, you should rather configure asdf! 12:32:26 quicklisp does it for you too. 12:47:35 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Remote host closed the connection] 14:08:55 -!- alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms_] 14:40:48 rme [~rme@50.43.164.56] has joined #ccl 15:18:47 alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 15:21:22 rme_ [~rme@50.43.174.184] has joined #ccl 15:21:45 -!- rme [rme@BB760301.26A3C078.699BA7A6.IP] has quit [Ping timeout] 15:21:45 -!- rme_ is now known as rme 15:22:46 -!- rme [~rme@50.43.164.56] has quit [Ping timeout: 246 seconds] 15:22:47 -!- rme_ is now known as rme 16:31:12 What's a "fasl save directory" ? 16:40:16 So, what about macros for special operators? 16:43:10 I mean, non standard special operators, of course. 16:51:43 I read your reply and it makes no sense at all. That's more time than I want to spend on it; if someone somewhere thinks that it makes sense, they may want to discuss it with you. I don't. 16:52:31 gbyers: have you tried to implement a generic code walker? 16:55:07 I know that it that it's hard, and that people who try to do so understand why it's hard. That doesn't mean that I want to spend time talking to someone who doesn't understand why it's hard and thinks that it's meaningful to define special operators as macros. 16:56:24 Well, as one who's trying to write a code walker, the only impossible part for me is non-standard special operators that haven't a macro definition. 16:58:56 <|3b|> gbyers: spec requires it 16:59:07 |3b|: no. 16:59:13 <|3b|> special operators that aren't defined in the spec are required to have a macro expansion 16:59:17 |3b|: it doesn't say anything about non standard things. 16:59:37 |3b|: it's CL macros that are defined as special operators that still must have a macro definition. 16:59:44 an equivalent macro definition even. 17:00:19 But the standard doesn't say anything for non standard special operators, and unfortunately, doesn't say that standard macros must expand only to CL stuff. 17:00:42 So it's not a conformity problem. 17:01:15 It's more to respect the spirit than the letter. 17:01:31 <|3b|> hmm, don't suppose you remember where it is in the spec? 17:01:48 Because indeed, other wise you could define all the CL macros as special operators, and provide a macro definition that expands to use of those special operators, and it would nullify that requirement. 17:02:01 3.1.2.1.2.2 Macro Forms 17:02:01 17:03:00 <|3b|> ok, i retract my spec complaint, but still agree it would be nice to at least have macro versions of non-standard special operators that appear in expansions of standard macros 17:03:39 Special forms/special operators include things that can't meaningfully be defined as macros; that's why they're defind as special operators. 17:04:30 And even if you take a very strick reading of "An implementation is free to implement any macro operator as a special operator, but only if an equivalent definition of the macro is also provided.", it concerns only macros from the CL package, who would then be forbidden to expand to a non standard special operator. But macros from other system packages could still use non standard special operators. 17:05:25 That's true of CL:IF, and of CCL::GODAWFUL-INTERNAL-THING. That makes code-walkers slightly harder to write, but the fact that code walkers are hard to write doesn't somehow make that not true. 17:05:27 gbyers: but when they are unexported and undocumented only the implementors can write a corresponding function call in a macro expansion. 17:06:19 We could always wrap a special operator in a function call: (defun if* (test then else) (cl:if test then else)) (defmacro if (test then &rest else) `(if* ,test (lambda () ,then) (lambda () ,else))) 17:06:37 But the problem is that it's the implementers who's in the best position to do that for non standard special operators. 17:06:54 I could do it for cl:if only because there's a spec, and cl:if is exported. 17:07:59 If you say "I'd like to know enough about the syntax of implementation-dependent special operators to write a code-walker", that's a reasonable request. If you say "special operators should have macro definitions", that isn't. 17:08:26 No the former, yes the later. Because code cannot (yet) read the documentations when they exist. 17:09:21 The problem is that if I read the doc of non standard special operator and write those functions myself, my code walker will still break in the other implementations that don't have the same non stanadard special operators. 17:12:03 Yes, so the idea of a portable code walker has to be abandoned in favor of a largely portable conditionalized one. The latter is useful and some examples exist. The former isn't possible and most people figure out why quickly. 17:12:34 Quicker than this ... 17:14:31 Well, I said that I didn't really want to listen to this but that didn't work, so I'll try the other way. 17:14:36 -!- gbyers [~gb@c-68-84-152-249.hsd1.nm.comcast.net] has left #ccl 17:18:19 *|3b|* would have just said 'file a bug but don't expect it fixed any time soon' 17:22:08 I filed a bug and it has been rejected. 17:22:15 http://trac.clozure.com/ccl/ticket/1001 17:22:30 I filed the same on other implementations, we'll see what happens. 17:22:45 <|3b|> yeah, not surprising given the context 17:22:58 what context? 17:23:36 <|3b|> the discussion above 17:23:51 I don't understand what you mean. 17:24:09 <|3b|> specifically a dev saying it is invalid and getting annoyed by continuing discussion on the topic 17:24:44 The bug was filed before this discussion. 17:25:00 <|3b|> ah, right 17:25:02 and rejected as invalide before too. 17:25:38 Otherwise this dicussion wouldn't have occured, since then understanding would have been assumed. 17:28:36 -!- alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Quit: alms_] 18:12:53 alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 18:16:14 -!- alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Client Quit] 18:18:53 alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 18:19:47 -!- alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Client Quit] 19:16:47 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Read error: Operation timed out] 19:19:38 billstclair [~billstcla@unaffiliated/billstclair] has joined #ccl 20:08:11 alms_ [~alms_@209-6-130-32.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 22:59:10 -!- rme [~rme@50.43.174.184] has quit [Quit: rme] 23:46:41 rme [~rme@50.43.174.184] has joined #ccl