<asarch>
So the correct way would be through its accessors?
<no-defun-allowed>
Yeah, always use accessors (defined by :reader, :writer, :accessor).
<asarch>
Thank you
<asarch>
Thank you very much! :-)
<no-defun-allowed>
It is possible that some class that has specialised methods doesn't actually read a slot. Maybe you have objects with colours, and you can have a colour blending mixin, then the COLOUR of that mixin-having object is computed and can't just be a slot.
<asarch>
Ok
<Bike>
with mop you can also use standard-instance-access sometimes.
<dannyboy35>
I am trying to get syntax highlighting working in emacs slime mode does anyone know how to do that?
<no-defun-allowed>
`M-x common-lisp-mode` and you should be set
EvW1 has joined #lisp
<dannyboy35>
no-defun-allowed: I’m using slime mode though
<dannyboy35>
Does it not work there?
superkumasan has joined #lisp
<no-defun-allowed>
SLIME mode is a minor mode to Common Lisp mode, iirc
<no-defun-allowed>
so enable common-lisp-mode, and slime-mode should be enabled too
<moldybits>
think he's asking about slime repl
<no-defun-allowed>
ooooh, hm
<no-defun-allowed>
Seems people on duckduckgo suggest some variant of <https://stackoverflow.com/a/26050762> but I don't understand what is happening so I can't say for sure if it'd work.
<dannyboy35>
Yeah I’m in the repel
Oladon_work has quit [Ping timeout: 260 seconds]
dddddd has quit [Remote host closed the connection]
Guest35617 has quit [Ping timeout: 245 seconds]
dannyboy35 has quit [Remote host closed the connection]
dannyboy35 has joined #lisp
dannyboy35 has quit [Remote host closed the connection]
dannyboy35 has joined #lisp
dannyboy35 has quit [Remote host closed the connection]
dannyboy35 has joined #lisp
lemoinem is now known as Guest57905
Guest57905 has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
lemoinem has joined #lisp
Kundry_Wag has joined #lisp
EvW1 has quit [Ping timeout: 250 seconds]
Kundry_Wag has quit [Ping timeout: 268 seconds]
mb^ has quit []
<dannyboy35>
Does anyone here use slime? I need some help with it I’m I have no idea how to use it lol
dannyboy35 has quit [Remote host closed the connection]
ym555_ has quit [Read error: Connection reset by peer]
ym555 has joined #lisp
Fare has joined #lisp
dannyboy35 has joined #lisp
pfdietz has joined #lisp
<pfdietz>
About using slot-value instead of accessors: use of slot value enables one to bypass methods and method combinations on the accessor. This can sometimes be useful, although one can also define a "bare" accessor that doesn't have the extra methods.
<dannyboy35>
Any slime experts?
<Bike>
syntax highlighting is done in files, not so much the repl
<pfdietz>
One real use is for mostly read-only slots, where you don't want to provide a writer or accessor method, but might still want to update the slot. For example, if the slot caches a value computed from other slots. I wrote a method for slot-unbound that fills in the cache slot the first time it's read. and which saves the computed value by assigni
<pfdietz>
ng to slot-value.
<aeth>
no-defun-allowed: huh? with-accessors takes the accessor function and doesn't have to do with the slot afaik. It's usually implemented as symbol-macrolet
<LdBeth>
dannyboy35: elaborate your question
<no-defun-allowed>
oh okie, aeth, good point
<aeth>
pfdietz: another way to get "read-only" slots is to have ":accessor %foo :reader foo" and only
<aeth>
export foo
<aeth>
Someone who uses your-package::%foo anyway is probably someone who'd use slot-value anyway.
<dannyboy35>
LdBeth: trying to learn slime is there a good resource for beginners.
<pjb>
seok: it's understandable that you may want to have access to the current server running. But you should probably do it from a function rather than a variable. Define functions such as (start-server) (stop-server) (current-server).
<seok>
Oh yeah, just trying to figure out some in and outs
kdas_ has joined #lisp
<pjb>
seok: in particular, what should happen if you do (progn (start-server) (start-server))? Should you not rather have a (current-serverS) returning a list?
dannyboy35 has quit [Remote host closed the connection]
stepnem has quit [Ping timeout: 258 seconds]
stepnem has joined #lisp
fortitude has joined #lisp
Jeanne-Kamikaze has joined #lisp
Oladon has joined #lisp
Bike has quit [Quit: Lost terminal]
karayan has joined #lisp
dale has quit [Quit: dale]
steiner has quit [Remote host closed the connection]
notzmv has quit [Remote host closed the connection]
gravicappa has joined #lisp
Fare has quit [Quit: Leaving]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 258 seconds]
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
steiner has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
notzmv has joined #lisp
<seok>
Hello, anyone familiar with clack and websockets?
<seok>
Wondering how I can get list of clients connected on my server
<mfiano>
I just discovered that you can use a lambda form in the accessor-name position of WITH-ACCESSORS. Is this undefined behavior? (see Exceptional Situations)
fittestbits__ has left #lisp [#lisp]
Arcaelyx has quit [Quit: Arcaelyx]
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
fittestbits__ has joined #lisp
<pjb>
mfiano: function name n. 1. (in an environment) A symbol or a list (setf symbol) that is the name of a function in that environment. 2. A symbol or a list (setf symbol).
<pjb>
mfiano: so, this is not strictly conforming.
<pjb>
mfiano: however, I have argued that lambda-forms were function names for those anonymous functions.
<pjb>
it's logical that it works.
<pjb>
mfiano: there's however a problem with that: the lexical environment in which the expansion is produced, which may differ from one occurence to the other of the variable.
<mfiano>
This works, for example on SBCL: (with-accessors ((parent-transform (lambda (x) (fl:actor-component-by-type x 'fl.comp:transform)))) instance ...)
<no-defun-allowed>
or maybe jmercouris knows cause he works on next-browser which uses webkit
<afidegnum>
ok, i m trying to build an interface which will have a drag and drop html builder, the html elements will be at the left side, droped into the web browser and render an html page
<afidegnum>
Js can be rendered as well
<no-defun-allowed>
might just want to do that in-browser then using Parenscript or JSCL
<no-defun-allowed>
though JSCL doesn't really have good FFI, especially when DOM objects are involved for some reason
asarch has quit [Quit: Leaving]
<afidegnum>
looking at parenscript, the documentation is kind of limited
alexande` has joined #lisp
alexande` has quit [Remote host closed the connection]
alexande` has joined #lisp
alexande` has quit [Remote host closed the connection]
<scymtym>
probably SB-BSD-SOCKETS:SOCKET-NAME and SB-BSD-SOCKETS:SOCKET-PEERNAME
Inline has joined #lisp
oni-on-ion has joined #lisp
Kundry_Wag has quit [Ping timeout: 258 seconds]
rumbler31 has joined #lisp
EvW has quit [Remote host closed the connection]
EvW has joined #lisp
rumbler31 has quit [Ping timeout: 258 seconds]
kajo has joined #lisp
EvW has quit [Ping timeout: 264 seconds]
alexanderbarbosa has quit [Remote host closed the connection]
alexande` has quit [Remote host closed the connection]
mtreis86 has joined #lisp
alexanderbarbosa has joined #lisp
igemnace has joined #lisp
khisanth_ has quit [Ping timeout: 246 seconds]
nanoz has joined #lisp
khisanth_ has joined #lisp
shka_ has joined #lisp
Bike has quit [Quit: Lost terminal]
Oladon has joined #lisp
bendersteed has quit [Read error: Connection reset by peer]
bendersteed has joined #lisp
alexanderbarbosa has quit [Remote host closed the connection]
umgeher4 has joined #lisp
umgeher3 has quit [Ping timeout: 258 seconds]
mtreis86 has quit [Ping timeout: 246 seconds]
bendersteed has quit [Ping timeout: 245 seconds]
rumbler31 has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
Oladon has quit [Quit: Leaving.]
libertyprime has joined #lisp
rumbler31 has quit [Ping timeout: 258 seconds]
Posterdati has quit [Ping timeout: 245 seconds]
Posterdati has joined #lisp
oni-on-ion has quit [Ping timeout: 264 seconds]
milanj has joined #lisp
Lycurgus has joined #lisp
rumbler31 has joined #lisp
MCP_ has joined #lisp
lnostdal has joined #lisp
ioseph_42 has joined #lisp
liberiga has joined #lisp
ioseph_42 has left #lisp [#lisp]
ioseph has joined #lisp
littlelisper has joined #lisp
femi has quit [Ping timeout: 245 seconds]
EvW has joined #lisp
femi has joined #lisp
Lycurgus has quit [Quit: Exeunt]
asarch has joined #lisp
<littlelisper>
Hello
<jackdaniel>
hey
<littlelisper>
omg, are you the jackdaniel who made those clim videos on youtube?
<jackdaniel>
perhaps, answer depends on whenever you are going to kill me for bad quality?
manualcrank has joined #lisp
<littlelisper>
oh no, those really helped me actually
<jackdaniel>
but more seriously, I gather you've enjoyed them, I'm glad :)
<jackdaniel>
we have #clim channel if you have questions
Tristam has quit [Ping timeout: 272 seconds]
<jackdaniel>
it is very active (in IRC activity standards)
<littlelisper>
Oh sure, I ll be sure to hang out there if I came across anything i need help with
<jackdaniel>
I hope to make a new video soon showing how to write a simple toolkit based on dragonstone library (lower-level abstractions which make CLIM possible, something like silica)
<jackdaniel>
namely I have a working immediate gui mode prototype, so making from it a tutorial seems like a nice idea
<littlelisper>
sounds great
_Posterdati_ has joined #lisp
umgeher4 has quit [Read error: Connection reset by peer]
umgeher4 has joined #lisp
Posterdati has quit [Ping timeout: 245 seconds]
nanoz has quit [Ping timeout: 268 seconds]
alexanderbarbosa has joined #lisp
ioseph has left #lisp ["WeeChat 2.3"]
pjb has quit [Ping timeout: 252 seconds]
littlelisper has quit [Quit: East bound and down, loaded up and truckin']
asarch has quit [Quit: Leaving]
lnostdal has quit [Ping timeout: 272 seconds]
dale has joined #lisp
karayan has quit [Remote host closed the connection]
karayan has joined #lisp
pjb has joined #lisp
puchacz has joined #lisp
<puchacz>
hi, for javascript-like array/vector slice functionality, what library shall I use please?
umgeher4 has quit [Read error: Connection reset by peer]
<puchacz>
cl-slice?
umgeher4 has joined #lisp
ga has quit [Changing host]
ga has joined #lisp
EvW has quit [Ping timeout: 250 seconds]
<puchacz>
okay, if I want to destructively insert an element into existing array before index, can I do it without manually push-vector-extend first and then rewriting all elements to next index after my insertion?
<puchacz>
(cl-slice seems read only access)
ft has quit [Remote host closed the connection]
mathrick has quit [Ping timeout: 276 seconds]
ft has joined #lisp
Josh_2 has joined #lisp
umgeher4 has quit [Read error: Connection reset by peer]
umgeher4 has joined #lisp
<Josh_2>
Who is a good host for CL web projects?
Lord_of_Life_ has joined #lisp
<alexanderbarbosa>
github
ggole has quit [Quit: Leaving]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<Josh_2>
not gonna work
Oladon has joined #lisp
oni-on-ion has joined #lisp
liberiga has quit [Ping timeout: 260 seconds]
liberiga has joined #lisp
lavaflow has joined #lisp
varjag has joined #lisp
lnostdal has joined #lisp
lucasb has joined #lisp
ebrasca has quit [Remote host closed the connection]
<pfdietz>
gitlab
<jackdaniel>
gitlab.common-lisp.net
<puchacz>
can I shrink a vector (opposite of push-extend)?
Jeanne-Kamikaze has joined #lisp
<puchacz>
found it
umgeher has joined #lisp
umgeher4 has quit [Read error: Connection reset by peer]
moei has joined #lisp
mathrick has joined #lisp
ym555 has joined #lisp
ym555_ has joined #lisp
ym555_ has quit [Client Quit]
<puchacz>
is Lisp allowed to deallocate end of array if I vector-pop it?
<puchacz>
or will I cause memory leak?
<puchacz>
by having a vector that can grow but not shrink?
ym555 has quit [Ping timeout: 245 seconds]
EvW1 has joined #lisp
<aeth>
puchacz: I think vector-pop will just move the fill-pointer, sort of like how there's a vector-push and a vector-push-extend. If vector-pop could shrink, there would probably be a vector-pop-shrink or vector-pop-contract or something
<aeth>
puchacz: If you need a vector to shrink, you can do that manually, e.g. with subseq.
<puchacz>
aeth - but subseq returns a new pointer, so I would have to update all references to old vector....
<puchacz>
not exactly like modifying vector in place
<aeth>
puchacz: You can add a layer of abstraction, e.g. with defclass or defstruct. It's what you'd need to do with using a list (which might be more efficient if you need it to shrink), since the list would add/remove from the front.
<puchacz>
aeth: yeah, so the bottom line is that vectors are not shrinkable, isn't it?
<puchacz>
aeth: yes - and I could not find what it really does when you shrink dimension by 1.
<puchacz>
but it is not that relevant, it is meant to be used for return value, not modification in place
superkumasan has quit [Ping timeout: 245 seconds]
dannyboy35 has joined #lisp
dannyboy35 has quit [Remote host closed the connection]
<puchacz>
gigamonkey says "they abstract the actual storage, allowing the vector to grow and shrink as elements are added and removed"
<puchacz>
"shrink"
<aeth>
I think that's referring to the fill-pointer, though.
CloseToZero has quit [Quit: WeeChat 2.5]
<aeth>
I think an adjustable vector is something like this #(0 1 _ _) and then you vector-push-extend 3 times and get something like #(0 1 2 3 4 _ _ _) where vector-pop could make it #(0 1 _ _ _ _ _ _) eventually, where the exact details of e.g. if it doubles or does something else is afaik unspecified
<puchacz>
aeth: this is what I am afraid of
<puchacz>
it is a "memory leak" if you rely on extending and vector-popping
slyrus1 has joined #lisp
slyrus__ has joined #lisp
shka_ has quit [Ping timeout: 248 seconds]
slyrus_ has quit [Ping timeout: 245 seconds]
slyrus2 has quit [Ping timeout: 272 seconds]
Nomenclatura has joined #lisp
<Josh_2>
puchacz: you could wrap around vector-pop and just overwrite what is about to be removed before
<puchacz>
Josh_2: what good will it do?
<aeth>
You could also have a fixed-sized vector, but this will probably wind up on average taking more overall memory, just a predetermined amount of it
<puchacz>
Josh_2: placeholders in vector beyond fill-pointer can be empty, but the placeholders themselves take up memory
<Josh_2>
Well It's no longer a leak if you have overwritten the data that was previously is that slot
<puchacz>
Josh_2: it is, the placeholders may stay
<Josh_2>
rip
<aeth>
puchacz: If you want guaranteed shrinking, you need to wrap with defclass or defstruct and occasionally subseq (or whatever equivalent will work) afaik.
<aeth>
Most people won't want this because it'll be slower and create more garbage as vectors expand and contract
<puchacz>
aeth: yes, this is what I figured out :( unless I find a website that says that Lisp can and X, Y and Z implementations do it.
MCP_ has quit [Ping timeout: 245 seconds]
<puchacz>
wrap it then
<aeth>
If you're willing to be implementation-specific, you could ask in channels like #sbcl
<puchacz>
nah, that's fine
<puchacz>
thanks :)
puchacz has quit [Quit: Konversation terminated!]
ertewe has joined #lisp
werrwer has quit [Read error: Connection reset by peer]
Oladon has quit [Quit: Leaving.]
Arcaelyx has joined #lisp
<scymtym>
ADJUST-ARRAY can shrink
Aruseus has joined #lisp
ertewe has quit [Quit: Leaving]
umgeher has quit [Read error: Connection reset by peer]
ertewe has joined #lisp
umgeher has joined #lisp
beach has quit [Ping timeout: 252 seconds]
beach has joined #lisp
alexanderbarbosa has quit [Remote host closed the connection]
pjb has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 245 seconds]
pjb has joined #lisp
aru_ has joined #lisp
Aruseus has quit [Quit: leaving]
aru_ is now known as Aruseus
umgeher1 has joined #lisp
miklos1 has joined #lisp
umgeher has quit [Ping timeout: 248 seconds]
libertyprime has quit [Ping timeout: 246 seconds]
umgeher1 has quit [Read error: Connection reset by peer]
iovec has joined #lisp
umgeher1 has joined #lisp
umgeher2 has joined #lisp
umgeher1 has quit [Ping timeout: 248 seconds]
Jeanne-Kamikaze has quit [Remote host closed the connection]
spm_ has quit [Read error: Connection reset by peer]
spm_ has joined #lisp
Aruseus has quit [Remote host closed the connection]
liberiga has quit [Ping timeout: 260 seconds]
vlatkoB has quit [Remote host closed the connection]
Aruseus has joined #lisp
umgeher3 has joined #lisp
umgeher2 has quit [Ping timeout: 246 seconds]
gdsg has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
Ricchi has joined #lisp
Tristam has joined #lisp
miklos1 has quit [Remote host closed the connection]
superkumasan has joined #lisp
random-nick has quit [Read error: Connection reset by peer]
lucasb has quit [Quit: Connection closed for inactivity]
ertewe has quit [Quit: Leaving]
pjb has quit [Ping timeout: 252 seconds]
MCP_ has joined #lisp
Aruseus has quit [Remote host closed the connection]
clintm has joined #lisp
alexanderbarbosa has joined #lisp
asarch has joined #lisp
abhixec has joined #lisp
<asarch>
Can you setf over a defmethod function?
<asarch>
s/function/definition/
pjb has joined #lisp
_whitelogger has joined #lisp
Nomenclatura has quit [Quit: q]
<moldybits>
fmakunbound?
<moldybits>
or (setf (fdefinition 'foo) ...), i suppose?