freenode/#lisp - IRC Chatlog
Search
21:10:17
makomo
MichaelRaskin: even with that fix the example doesn't evaluate to a list of 2 elements. does macroexpanding something that looks like '<form> make sense? sorry if i'm missing something obvious. the transcribed code is here: https://plaster.tymoon.eu/view/1203#1203
21:16:29
makomo
true, but isn't the macroexpand-all in this case recieving the result of `',form, i.e. the result of (list quote form), so that it ends up macroexpanding a quoted form (which iiuc doesn't do anything)?
0:14:07
reepca
eh, I guess it wouldn't be too hard to just use an explicit with-clause and a 'do (incf ...)'
0:16:07
reepca
I was thinking more along the lines of, suppose that I'm iterating over a sublist (tail of some other list), but I'm given the starting index of said sublist in the list it's part of, and I want to keep track of what the index is in the larget list.
0:17:38
verisimilitude
You could always embed a LOOP inside of another LOOP, if that simplifies things, reepca.
0:18:06
reepca
well, the way I would usually go about keeping track of an index in a loop would be 'sum 1 into k' or something like that.
0:21:10
reepca
I guess I hadn't really thought about using multiple FOR clauses. So it would end up looking something like (loop for k from initial-index for x in (nthcdr initial-index list) ...)
0:29:27
reepca
https://paste.debian.net/1068504/ here's what I've got so far (automating some operating systems homework).
0:36:07
verisimilitude
Rather, I'll tell you to look at POSITION, FIND, POSITION-IF, and FIND-IF; these solve half your problem, giving the position or the element, and I've not looked at how you're using FIRST-FIT to see which you actually need; I leave that to you, reepca.
0:39:32
reepca
well, the issue there is that while using FIND followed by POSITION would work for FIRST-FIT, it would involve traversing twice.
0:44:20
verisimilitude
You're just using this to see if a list contains a number or the closest number larger than it, right?
0:46:06
reepca
and to get the position of it in the list. The idea is to then write some code to simulate certain sequences of allocations being made with the various selection methods and generate a nice table.
0:51:31
verisimilitude
Oh, that MAXIMIZE doesn't work, actually, because I unconditionally store the index; in any case, you get the gist of how to approach this.
1:01:19
reepca
well, if the MAXIMIZE clause is never executed, then M is unspecified (I want it to be NIL if no appropriate value is found)
3:57:11
reepca
hm, now I'm trying to replace a (dotimes (i n) (format t "+--")) with (format t "~v@{+--~}" n), but then there needs to be a dummy argument, otherwise it doesn't enter the loop at all. Is there a way to change the format string to make this dummy argument unnecessary?
4:26:35
verisimilitude
You could use ~0* in the main loop of the FORMAT statement, but chances are that would result in suboptimal code.
5:51:16
emaczen
For some reason my keyword arguments to make-instance aren't being passed along to an after method I defined on initialize-instance -- I've never had this happen before.
5:51:16
minion
emaczen, memo from stassats: don't leave the main thread, execute it there from the beginning
5:52:25
emaczen
the metaclass only overrides validate-superclass and adds an after method on ensure-class-using-class
6:00:14
emaczen
Lycurgus: stassats memo doesn't bring to memory my exact question. When you execute code from the repl, you have already left the main thread?
9:01:36
beach
Spaceman77: Sure. However, CLOS is even more powerful because you can distribute methods physically across modules and you can have auxiliary methods, alternative method combinations, and more.