| |
| |
| |
|
Page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Comments:
<0> rog_: Right. The CMUCL internals manual has a very detailed section on optimization of "local calls." <0> nyef: Because most programs don't redefine things after they've started runnning. I'm sure you could create a system that allowed redefinition, but it'd be much more complex. <1> adeht: interface checking holds the possibility of doing the same kinds of optimisations across modules that are now done within a module. to a degree. <2> quotemstr:you can simply add a check for redefinition before the thing you'd normally do w/o redefinition. <3> nyef: perhaps you could add asimple test to inhibit the "redefinition" warning when it comes from the same file. <4> pjb: Hasn't most of the groundwork for that in SBCL been laid by now? <0> pkhuong: And take a hit on every invokation of that thing, all to support functionality that isn't used in a deployed program. <2> quotemstr: there is next to no cost on modern arhcitectures. <0> nyef: Yes, much to my annoyance in SLIME. :-) <1> apart from anything (and this is where the thread started) an explicit interface makes a very useful adjunct to the documentation. <0> pkhuong: If you have the compiler inline a function, you have to keep track of where it's been inlined so those functions can be recompiled after the original function has been changed. <2> quotemstr: the 90s want their non superscalar architectures back. <5> hm how do i undefine method that i created with defmethod? <0> pkhuong: CMUCL keeps track of that automatically, according to the manual, but it's still extra complexity. <4> stefan-: Pop the slime inspector on the generic function. <6> stefan-: the easiest way when using slime is to inspect the generic function
<6> C-c I #'my-generic-fun RET <7> rog: How is that? Proper documentation already mentions the parameters. <5> cool! i had not seen the inspector! <0> Woah, that is cool. <1> adeht: but proper documentation doesn't always exist. which was where this thread came from... <4> rog_: That's not really a deficiency which should be corrected in the language. <0> Speaking of slime -- does a GDB-style debugger for lisp exist? <4> quotemstr: What, one that ****s horribly? <7> rog: Then the usefulness of the library is doubtable. <1> adeht: and i've seen a great deal of lisp documentation that doesn't mention the return type or default parameter values. <5> i'm getting Attempt to add the method #<STANDARD-METHOD MARKUP (T T) @ #x10857e7a> to the generic function #<STANDARD-GENERIC-FUNCTION MARKUP> but the method has more required arguments than the generic function. <7> rog: Well, "default parameter values" are there for when you don't _care_ what they should be. <6> stefan-: if you would like to redefine the gf entirely, use (makunbound 'markup) <6> oops, (fmakunbound 'markup) <4> adeht: Not necesarily. <1> adeht: perhaps. but people use (for instance) sb-introspect but it has no documentation (AFAIK) <7> nyef: I know. There is another use, but I picked one for consistency. <4> adeht: You usually care about :direction :input when you use with-open-file, but since it's the default you don't have to specify it. <5> #<STANDARD-GENERIC-FUNCTION MARKUP> is not a valid function spec <5> the problem is that i defined that method as (defmethod markup ((c component)) ...) <5> which is wrong of course, but now i can't seem to get rid of it :) <7> nyef: I always specify :direction :input if I need it. <6> stefan-: (fmakunbound 'markup) <5> Xach, i tried, i get that last error i posted <6> stefan-: Hmm, are you sure you typed what I typed? <4> stefan-: No you didn't. fmakunbound doesn't do that. <5> CL-USER> (fmakunbound #'markup) <5> oh **** <7> nyef: And this situation is a bit more "blurry" here because the CL standard is quite stable, in opposition to a non-standardized library. <6> stefan-: you son-of-a-goat! <5> grrrr! <5> beeehhh <4> adeht: And the CL standard is fairly well documented, which is rather the point. <5> is this a common pattern: (defmethod markup ((c component)) (error "Must override markup")) <4> stefan-: That, or just letting it throw a "not-implemented" error. <4> Err... No applicable method, rather. <8> You guys wanna see what I've coded since yesterday? It's a blog system, my first "real" Lisp application that does something. <5> nyef, by not defining markup at all? <9> write a function that replaces "some" atoms of a list with other atoms.Does this mean using rplaca or returning a new list? <6> hedos: yes! <6> stefan-: define it as a generic function without methods. <4> stefan-: Yeah, just use defgeneric for it. <8> Great! The page runs on my laptop / modem cable: http://70.81.253.46:1450/blog <5> ah right. then i can still add some documentation to it. <6> hedos: i can't access odd ports :~( <4> Using defgeneric before defmethod has some semantic differences anyway, and keeps SBCL from complaining. <10> Xach: but it's even! <8> Aye, my ISP won't let me serve web page on the standard port :( <11> stefan-: in fact it's the way to specify documentation to a generic function. the docstring you p*** to defmethod is local to the method and not to the function and is not as easily retrieved. <4> hedos: Can we interest you in some virtual hosting with a proxy that will do the port mapping for you? <2> hedos: 8080? <8> 8080 isn't allowed either. <6> michaelw: not even enough <8> But a proxy might very well interest me. <12> better. <7> hedos: Looks pretty cool :) <13> worse. <4> Worse is better? <10> Xach: that's odd... <8> nyef: Do you know where could I find such available proxies?
<0> hedos: Get some shared hosting. It can be very cheap. <4> hedos: I believe tech.coop provides such a thing... And they'll also let you run the Lisp code on their machines! <7> hedos: I just hate the artifical width narrowing. <8> adeht: thanks! the comments system is still very crude and unfortunatly there's no web interface to add comments yet. <8> adeht: Ok, that's a good comment, I should have a look at what full width feels like. <14> amazon's EC2 seems like an interesting hosting possibility. <6> rainer joswig won't use it if you do. <14> sometimes a lemonodor's got to do what a lemonodor <14> er, lemonodor's got to do. <14> we all have to make our own decisions. rainer has seemed to be a pretty reasonable person, i'm sure he has good reasons for his actions. <15> Ah, a person-mutual-exclusive library <0> It'd be nice with paredit-mode to somehow highlight the last ***p before point after paredit-close-parenthesis-and-newline so that you can tell when to stop hitting ')' <16> m-x paren-mode? <16> m-x show-paren-mode i mean <17> quotemstr, can you elaborate? It does blink the matching parenthesis. <0> _3b: Yeah, that's fine, but it doesn't highlight after ) <10> jlouis: hmm? <17> (Either that or you don't have the most recent version of paredit.) <0> Okay. Say we have (let ((function-name (or ***oc function-name +rename-funcs+) function-name|))), with | denoting the point. <1> so many map functions, but... what's the most elegant way of doing the equivalent of mapcar on the values of a plist? <0> Say I want to add another let binding after the first one --- I hit ) <0> rog_: I was actually wondering that myself the other day; I looked for a while in the CHLS, then switched to an list. :-P <6> rog_: (loop for value on plist by #'cddr do (something-with value)) <0> Xach: That works too. <6> oops, i err. <1> Xach: not quite <6> but that's the general idea. <1> you mean (cdr plist), i presume <6> (value) <3> (loop for (key value . rest) on plist by #'cddr do (something-with value)) <16> quotemstr: hmm, guess not...make sure you have paredit 20 then? :) <0> _3b: Does it highlight the ***p when you do that? <1> i'd forgotten about on, by. i had had (loop for x = (cdr pl) then (cddr x) while x ...) <18> what actions does R.J. have reasons for? <19> hello, did anyone experienced that sbcl goes 100% after slime-disconnect? <17> quotemstr, I fixed a bug in paredit 20 that kept it from blinking the matching parenthesis in certain obscure circumstances, or perhaps in a certain version of Emacs. <0> rog_: Indeed. Xach's solution is elegant. <0> Riastradh: Patch? <6> elegance is in the eye of the brucio <17> Patch? No, it's just up at <http://mumble.net/~campbell/emacs/paredit-20.el>. <17> (That file periodically changes -- indeed, it changed twice earlier today -- because it is not the finally released paredit 20, but rather still a beta.) <18> is there a secret lispm v. lemonodor contest I failed to notice? <0> Riastradh: Ah, I see. So should I update it daily? <17> No, update it when I say so in #paredit. <0> Riastradh: Why are paredit commands bound to M-up, M-down, but C-left and C-right? <0> Ah, I see. :-) <17> They do very different things. (-> #paredit) <14> lichtblau: rainer doesn't like my postings about military robots. <20> Not liking military robots sounds understandable. <18> I see. <18> (but that's what we're all reading planet lisp for!) <6> there was also an ultimatum to me <15> the lisp robots made an ultimatum to you or threatened to use military force? <8> Is there a quick way to save to disk the content of a variable (which is a list of objects)? <21> I think that depends on what information you really want to preserve. <22> yes, if if you are willing to save the rest of the lisp state too <0> hedos: Is WRITE sufficient for your purposes? <20> hedos: you can use WRITE, or perhaps one of the serialization libraries <8> Saving the whole state would be just good. <23> hedos: i believe you're looking for cl-store (lisp's equivalent to python's pickel (more or less)) <4> Heh. "Stack-overflow detection on the value stack is transparent, automatic, and incredibly hairy." -- The OpenMCL documentation. <8> cmm-, I'd be interested by your solution. How is it done? <22> hedos: implementation-dependent. in sbcl, it's SAVE-LISP-AND-DIE <8> Ok. Is there such a facility for CMUCL? <0> hedos: Yes. <24> hedos: (describe 'ext:save-lisp) <0> hedos: It can't make an executable though. <24> hedos: looking for cl-launch ? <8> oh, great, thanks
Return to
#lisp or Go to some related
logs:
#linux #suse #sql Buffalo terastation and smb4k #linux #perl #bash Reason -2 firmware udev debian #lisp #gentoo
|
|