Mutex7 has quit [Remote host closed the connection]
dtornabene has joined #lisp
EvW has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
Bike has quit [Quit: Lost terminal]
smurfrobot has quit [Ping timeout: 265 seconds]
Phoque is now known as bitch
fikka has joined #lisp
Bike has joined #lisp
smokeink has joined #lisp
pdemier has quit [Ping timeout: 240 seconds]
ikki has quit [Ping timeout: 240 seconds]
smurfrobot has joined #lisp
Kundry_Wag has joined #lisp
shmup has joined #lisp
<shmup>
which lisp has the best vim support? so slimv is a thing ok. i think with tpope's interest in clojure has developed a nicer thing for lisp/vim, though. are there other lisps which have had better attention/specific focus in vim?
smurfrobot has quit [Ping timeout: 240 seconds]
sysfault has joined #lisp
<stacksmith>
Which CPU has better vim support?
smurfrobot has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
<shmup>
heh. ok, i'll try again. which dialect of lisp has a nice vim community providing out of the box repl connection/spawning, mappings to eval an s-expression on current line, whole buffer, mappings defined for definition lookups, etc. tpope's clojure stuff is one example
fisxoj has quit [Quit: fisxoj]
<stylewarning>
Why could this happen? Symbol "NIL" not found in the COMMON-LISP package.
<smokeink>
shmup: common lisp dialect, with slime + evil (vim) mode
<Bike>
do you have any context, stylewarning?
<smokeink>
shmup: inside emacs
<stylewarning>
Bike: I'm just using prin1-to-string (with print readably, *package* :keyword, and print pretty nil) and read-from-string
<Bike>
what are you printing?
smurfrobot has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
<stylewarning>
simple-vectors containing lists of complex numbers, possibly empty
<stylewarning>
(lists possibly empty, that is)
<Bike>
hm. sounds buggy. have you tried it in multiple implementations?
<stylewarning>
It's very hard to debug unfortunately. I can't replicate it locally, only in a SLAD binary.
<stylewarning>
with MPI, of all the god awful things to ruin debugability
fikka has quit [Ping timeout: 245 seconds]
gabiruh has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
FreeBirdLjj has joined #lisp
<stylewarning>
the string it is attempting to READ-FROM-STRING is "COMMON-LISP:NIL"
pdemier has joined #lisp
Oladon has quit [Quit: Leaving.]
dmiles has quit [Ping timeout: 248 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
parjanya has joined #lisp
gabiruh has joined #lisp
FreeBirdLjj has joined #lisp
parjanya has quit [Read error: Connection reset by peer]
<pillton>
What is a SLAD binary?
<Bike>
save lisp and die
<pillton>
Really? Are we saying that now?
FreeBirdLjj has quit [Ping timeout: 256 seconds]
<Bike>
It's hip.
* pillton
goes to find the cool kids.
<aeth>
s-l-a-d is its proper name
dmiles has joined #lisp
arescorpio has quit [Quit: Leaving.]
<aeth>
I think that the cool kids are busy doing post-functional declarative programming.
<aeth>
Feel free to steal the buzzword, by the way.
<k-hos>
all my programming is unfunctional
<k-hos>
It's the newest trend
<k-hos>
you write a lot of code and then none of it works
<aeth>
"post-functional declarative programming" I guess would be declarative programming that's informed by recent trends in functional programming, but that's not functional.
<aeth>
(It also is post-functional because it used to run before it was rewritten to use that paradigm)
FreeBirdLjj has joined #lisp
neoncontrails has quit [Ping timeout: 265 seconds]
sysfault has left #lisp ["Leaving"]
rumbler31 has joined #lisp
EvW has quit [Ping timeout: 265 seconds]
FreeBirdLjj has quit [Ping timeout: 252 seconds]
rumbler31 has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 240 seconds]
Oladon has joined #lisp
<stylewarning>
pillton: is there a better way to say it
<stylewarning>
the baffling thing about this issue is that it works sometimes
fikka has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
figurehe4d has joined #lisp
rumbler3_ has quit [Remote host closed the connection]
damke_ has joined #lisp
<pillton>
stylewarning: SLAD is fine I guess. Bike says it is hip and I am in no position to question Bike's wisdom on current street talk. I thought we said "a dumped image".
damke has quit [Ping timeout: 264 seconds]
smurfrobot has joined #lisp
FreeBirdLjj has joined #lisp
<pierpa>
stylewarning: no idea about this problem, but, just to exclude some hypothesis, can you see if changing the string to "COMMON-LISP::NIL" changes the result?
<|3b|>
might also see what (symbol-name (list)) and (symbol-package (list)) return
smurfrobot has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<|3b|>
but generally, the cause would be uninterning NIL from CL
gabiruh has quit [Ping timeout: 265 seconds]
<|3b|>
(which is not a particularly conformant thing to do, so could cause any other random problems too)
ja-barr_ has quit [Ping timeout: 256 seconds]
<fouric>
yes, that sounds like a *terrible* idea
<|3b|>
possibly something tried to unintern something else, without realizing it didn't have any something else (and so it had a NIL instead)
<|3b|>
either that or something trying to be a tree-shaker and going a bit too far
<pierpa>
since the problem appears to be pretty weird, we must test pretty weird hypotheses!
* |3b|
tried, and it does have that effect, surprisingly without any package lock problems
schoppenhauer has quit [Ping timeout: 240 seconds]
<|3b|>
trying to READ cl::nil does get a package lock error afterwards though :p
Pixel_Outlaw has quit [Quit: Leaving]
ja-barr has joined #lisp
schoppenhauer has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
shka_ has joined #lisp
gabiruh has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
nsrahmad has joined #lisp
fikka has joined #lisp
stacksmith has quit [Ping timeout: 256 seconds]
Bike has quit [Quit: Lost terminal]
FreeBirdLjj has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
FreeBirdLjj has quit [Ping timeout: 276 seconds]
rippa has joined #lisp
lnostdal has quit [Ping timeout: 255 seconds]
karswell_ has quit [Read error: No route to host]
kotrcka has quit [Quit: leaving]
nyangawa has joined #lisp
nyangawa has quit [Client Quit]
nyangawa has joined #lisp
nyangawa has quit [Client Quit]
fikka has quit [Ping timeout: 260 seconds]
nyangawa has joined #lisp
pdemier has quit [Quit: Leaving]
fikka has joined #lisp
vtomole has joined #lisp
kotrcka has joined #lisp
parjanya has joined #lisp
parjanya has quit [Read error: Connection reset by peer]
Oladon has quit [Quit: Leaving.]
dtornabene_ has joined #lisp
dtornabene has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 265 seconds]
dieggsy has joined #lisp
parjanya has joined #lisp
smokeink has quit [Remote host closed the connection]
smasta has joined #lisp
asarch has quit [Quit: Leaving]
parjanya has quit [Read error: Connection reset by peer]
smokeink has joined #lisp
dtornabene_ has quit [Remote host closed the connection]
dtornabene_ has joined #lisp
dtornabene_ has quit [Read error: Connection reset by peer]
paul0 has joined #lisp
dtornabene has joined #lisp
FreeBirdLjj has joined #lisp
goodoldays has joined #lisp
rumbler31 has joined #lisp
damke has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
dtornabene has quit [Remote host closed the connection]
damke_ has quit [Ping timeout: 264 seconds]
figurehe4d has quit [Ping timeout: 260 seconds]
dtornabene has joined #lisp
smurfrobot has joined #lisp
Mon_Ouie has quit [Quit: WeeChat 1.9.1]
rumbler31 has quit [Ping timeout: 265 seconds]
dieggsy has quit [Ping timeout: 245 seconds]
Mon_Ouie has joined #lisp
Mon_Ouie has quit [Client Quit]
<beach>
Good morning everyone!
smurfrobot has quit [Ping timeout: 248 seconds]
Mon_Ouie has joined #lisp
fikka has joined #lisp
axg` has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
goodoldays has quit [Quit: Page closed]
smasta has quit [Ping timeout: 240 seconds]
wigust has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
dddddd has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
Karl_Dscc has joined #lisp
vlatkoB has joined #lisp
<shka_>
beach: hello
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<phoe>
Morning!
oleo has quit [Quit: Leaving]
fittestbits has quit [Ping timeout: 256 seconds]
fittestbits has joined #lisp
mishoo has joined #lisp
nsrahmad has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
<beach>
knobo1: How accurate do you need for it to be?
<beach>
knobo1: Or, more generally, what is the reason for your question?
FreeBirdLjj has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
<knobo1>
I'm going to aproximate required memory usage for my application.
<beach>
knobo1: For each standard object, the number of slots plus a few words overhead. For an array, the size times the element size. For a CONS cell, 2 words. For a symbol maybe 6 words or so.
<Shinmera>
knobo1: Run the application and just use ROOM to see how much memory it uses total?
<Shinmera>
GC is going to falsify any kind of precise memory estimation you might want to make anyway. It could keep garbage around for a long time, or freak out during GC even if potentially there's enough garbage around to recover.
cleanslate has joined #lisp
smurfrobot has quit [Remote host closed the connection]
raynold has quit [Quit: Connection closed for inactivity]
<schweers>
huh. doesn’t exist on my sbcl. Is your sbcl version very new or very old?
<knobo1>
1.4.4 has it, 1.4.2 does not.
<schweers>
uh. I just realized I have a fairly old sbcl installation myself. so nevermind my question ;)
<knobo1>
When I inspect the hash table it reports Size: 128, object-size say 144
quazimodo has quit [Ping timeout: 260 seconds]
<beach>
knobo1: That's a small difference. Probably some header or other data that is not counted in the first number.
<beach>
knobo1: Because of how the heaps are managed, you will never be able to get that kind of accuracy anyway.
EvW has joined #lisp
<shka>
but isn't that hash table size, not actually byte size?
<shka>
i always thought so!
<beach>
shka: What is the definition of "hash table size"? The number of buckets? The number of elements? The number of buckets plus the data structure to store the elements in a bucket? Something else?
cleanslate has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kajo has quit [Ping timeout: 245 seconds]
paul0 has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
kajo has joined #lisp
_paul0 has quit [Ping timeout: 256 seconds]
paul0 has quit [Ping timeout: 240 seconds]
dilated_dinosaur has joined #lisp
FreeBirdLjj has joined #lisp
smurfrobot has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 256 seconds]
python476 has joined #lisp
varjag has joined #lisp
cleanslate has joined #lisp
theBlackDragon has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
cleanslate has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
milanj has quit [Quit: This computer has gone to sleep]
theBlackDragon has joined #lisp
orivej has joined #lisp
rumbler31 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
EvW has joined #lisp
FreeBirdLjj has joined #lisp
fikka has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #lisp
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
kajo has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
kajo has joined #lisp
sveit has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #lisp
sveit has joined #lisp
yxabc has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
smurfrobot has quit [Remote host closed the connection]
milanj has joined #lisp
loginoob has joined #lisp
<loginoob>
Is it ok to ask if someone here could become my mentor
deng_cn has quit [Ping timeout: 260 seconds]
deng_cn has joined #lisp
Sauvin has quit [Ping timeout: 265 seconds]
FreeBirdLjj has joined #lisp
xorox90 has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
rumbler31 has joined #lisp
pierpa has quit [Ping timeout: 260 seconds]
<thodg>
what seems to be the right way of using CFFI enums ?
Kundry_Wag has quit [Remote host closed the connection]
<thodg>
can't get it right from the docs
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
<Shinmera>
thodg: What do you mean by "the right way"?
Sauvin has joined #lisp
<Shinmera>
enum foo { A, B, C } <=> (cffi:defcenum foo :a :b :c), and for functions that take or return an enum, just specify the type foo
<thodg>
i find having ctype and constants more useful
<thodg>
i mean compatible
<thodg>
i want same size as c library
Kundry_Wag has joined #lisp
<Shinmera>
?
<thodg>
not a new enum definition
<thodg>
but compatibility with .h enum
<Shinmera>
I have no idea what you're going on about.
<thodg>
i want a cffi wrapper for a C lib with same enum type sizes
<Shinmera>
enums are typically ints, which is what cffi:defcenum will declare the type as.
<thodg>
i feel safer with ctype than with enum which does not seem to take into account the existing definition
<Shinmera>
What "existing definition"?
smurfrobot has joined #lisp
<thodg>
I thought so, but they can be bytes to
<Shinmera>
There is no existing definition. Enums are not emitted into the shared library.
<thodg>
so it's abi-dependant ?
fikka has quit [Ping timeout: 240 seconds]
<Shinmera>
You can adjust the base type of the enum with (defcenum (foo :base-type :whatever) ..)
<thodg>
the c enum size is compiler dependant, it need to be grovelled
<thodg>
and i dont see cffi grovel the enum size
<thodg>
with cenum
Patternmaster has quit [Ping timeout: 245 seconds]
smurfrobot has quit [Ping timeout: 260 seconds]
attila_lendvai has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Remote host closed the connection]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<loginoob>
please someone be my mentor
kajo has quit [Quit: WeeChat 2.0.1]
smurfrobot has joined #lisp
Kundry_Wag has joined #lisp
<Xach>
loginoob: what's up?
<beach>
loginoob: Why not. What do you expect from one?
<loginoob>
I am expecting guidance as in what languages to learn and correct path of learning. I sometime have stupid questions like is learning javascript hindering my programing abilities, so i can ask these questions or better not to have these kinds of questions. Do i make sense?
<beach>
loginoob: I am afraid that's too general for #lisp. This channel is dedicated to Common Lisp.
<loginoob>
oh
Kundry_Wag has quit [Remote host closed the connection]
<loginoob>
ok no problem
<jmercouris>
loginoob: feel free to PM me with any questions you have, I am not an "expert" lisp developer, but I am a professional developer
smurfrobot has quit [Remote host closed the connection]
<loginoob>
jmercouris: Ok, thank you sir
Bike has joined #lisp
Kundry_Wag has joined #lisp
wheelsucker has quit [Quit: Client Quit]
shrdlu68 has left #lisp [#lisp]
<jdz>
I'll use a this quiet moment to ask a question: I bet somebody has travelled to Japan, I guess one would get appropriate amount of Yen along? Another option would be to bring
<jdz>
€ along, but then one would have to know an exchange that's not charging two skins.
<beach>
jdz: These days I just bring my card(s).
<jdz>
Also, have not seen any Japanese folk here, would be nice to meet up...
<beach>
jdz: Not been to Japan. Just meant in general.
<jdz>
beach: somehow I have an impression that they're not very keen on cards over there.
<Bike>
They seem to have their own community.
<jdz>
Oh, right.
<Bike>
Japanese lisp i mean.
<beach>
We have a steady ELS visitor from Japan. Can't remember his name right now though.
<jdz>
beach: I know him, met him in Paris.
<beach>
OK.
<jdz>
The author of roswell, right?
yxabc has quit [Quit: AtomicIRC: The nuclear option.]
<jdz>
I guess I'll use twitter for this.
le4fy has quit [Ping timeout: 256 seconds]
<beach>
I don't know about the author of roswell, sorry.
<jdz>
beach: no worries, thanks for the input.
<beach>
jdz: Maybe you are thinking of Fukamachi. That is not who I am referring to.
Kundry_Wag has quit [Remote host closed the connection]
smurfrobot has joined #lisp
<beach>
Ah, sorry. Sano Masatoshi. That might be him.
Kundry_Wag has joined #lisp
smurfrobot has quit [Ping timeout: 265 seconds]
<flip214>
on SBCL, a call to (SB-BSD-SOCKETS:GET-HOST-BY-NAME x) with x being (VECTOR CHARACTER 20) gives an error: #<SB-KERNEL:CASE-FAILURE expected-type: (OR NULL (ALIEN (* CHAR)) SIMPLE-BASE-STRING SIMPLE-STRING)
asarch has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
hhdave has joined #lisp
attila_lendvai has joined #lisp
smurfrobot has joined #lisp
<Shinmera>
jdz: I'll be in Japan around September, though I expect that'll be too far off for you to have a little lisp meet?
<flip214>
can somebody tell me in short, easy words the effective difference between SIMPLE-STRING and (VECTOR CHARACTER)? Apart from being "different" types, that is.
smurfrobot has quit [Ping timeout: 240 seconds]
<Bike>
a (vector character) could be non-simple, for example being displaced or having a fill pointer
<Bike>
on sbcl simple arrays do not have such things
<Shinmera>
also they're not adjustable
<Shinmera>
which usually saves an indirection
spoonn has joined #lisp
<flip214>
hmmm, I guess that's the reason -- the VECTOR might be displaced to the original file data
<flip214>
thanks
spoonn has quit [Client Quit]
yxabc has joined #lisp
FreeBirdLjj has quit [Ping timeout: 248 seconds]
yxabc has quit [Client Quit]
yxabc has joined #lisp
yxabc has quit [Client Quit]
yxabc has joined #lisp
yxabc has quit [Client Quit]
spoonn has joined #lisp
<flip214>
so, perhaps SBCLs check-type should be changed?
<flip214>
_this_ invocation of check-type, that is
<Bike>
Why?
<Bike>
Simple arrays and displaced arrays are totally different sorts of objects on SBCL. The underlying code to access them is distinct. So code can be written that works on only simple arrays.
whyNOP has quit [Quit: brb]
whyNOP has joined #lisp
ikki has quit [Ping timeout: 248 seconds]
dmiles has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
loginoob has quit [Quit: leaving]
<flip214>
Bike: but does this distinction make _any_ sense for (SB-BSD-SOCKETS:GET-HOST-BY-NAME x)?
<flip214>
I guess that's fairly seldom performance-critical.
smurfrobot has joined #lisp
<Bike>
Beats me. But it wouldn't be a change to check-type or how it's invoked, it would be a change to get-host-by-name.
<flip214>
well, what I'm trying to say is that some CHECK-TYPEs should include other possible STRING-related types.
<Bike>
Since it's an OS interface it might pass the string as bytes.
<flip214>
Bike: yeah, that's what I wanted to say with "_this_ invocation" of check-type
<Shinmera>
The suggestion should be more that the function should automatically coerce to simple-string.
<Bike>
Yeah.
<Shinmera>
I'm quite sure the implementors didn't specify simple-string just for fun.
<Bike>
And I mean, maybe. I really don't know.
<Bike>
let's see, specifically g-h-b-n calls sockint::gethostbyname, which is ffi.
<Shinmera>
simple-strings have a nice property in that they can be shared directly with C in a lexical context by pinning.
comborico1611 has joined #lisp
spoonn has quit [Quit: AtomicIRC: The nuclear option.]
smurfrobot has quit [Ping timeout: 240 seconds]
dmiles has joined #lisp
__rumbler31 has joined #lisp
smurfrobot has joined #lisp
flamebeard has quit [Quit: Leaving]
<scymtym>
coercing automatically at the high-level interface instead of forcing the user to do it sounds good to me
smurfrobot has quit [Ping timeout: 248 seconds]
borodust has quit [Quit: Leavin']
damke has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
ikki has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #lisp
<comborico1611>
Can't figure out what's wrong.
<comborico1611>
(defun rock-paper (a b)
<comborico1611>
(if (and (equal a 'rock)
<comborico1611>
(equal b 'rock))
<comborico1611>
'tie)
<comborico1611>
(if (and (equal a 'paper)
<comborico1611>
(equal b 'paper))
<comborico1611>
'tie)
<comborico1611>
(if (and (equal a 'scissors)
<comborico1611>
(equal b 'scissors))
<comborico1611>
'tie)
<comborico1611>
(if (and (equal a 'rock)
<comborico1611>
(equal b 'paper))
<comborico1611>
(eval '('paper 'beats 'rock)))
PlasmaStar has joined #lisp
<comborico1611>
(if (and (equal a 'rock)
<comborico1611>
(equal b 'scissors))
<comborico1611>
'(rock beats scissors))
<comborico1611>
(if (and (equal a 'paper)
<comborico1611>
(equal b 'rock))
<comborico1611>
'(paper beats rock))
<comborico1611>
(if (and (equal a 'paper)
<comborico1611>
(equal b 'scissors))
<comborico1611>
'(scissors beats paper)))
<comborico1611>
If I redo a small section of such as
<Bike>
paste! pastebin!
<Bike>
don't dump twenty lines in the channel
<comborico1611>
Oh, okay.
<comborico1611>
Sorry.
<Bike>
and don't use eval. that's probably related to the problem.
<comborico1611>
Yeah, that was just a test. Trying to learn how to print a string of symbols without being contained in braces.
<dlowe>
comborico1611: in the body of the defun, the function returns the last expression
parjanya has quit [Read error: Connection reset by peer]
ja-barr has quit [Ping timeout: 240 seconds]
pierpa has quit [Ping timeout: 260 seconds]
python476 has joined #lisp
ckonstanski has joined #lisp
lugh has joined #lisp
lugh has quit [Client Quit]
vlatkoB has quit [Remote host closed the connection]
kajo has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
lugh has joined #lisp
lugh has quit [Remote host closed the connection]
lugh has joined #lisp
Kyo91 has joined #lisp
Sauvin has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Remote host closed the connection]
fikka has joined #lisp
smasta has joined #lisp
Kundry_Wag has joined #lisp
shmup has left #lisp [#lisp]
fikka has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
kajo has quit [Read error: Connection reset by peer]
fikka has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
kajo has joined #lisp
<comborico1611>
pjb: You wrote that rock paper scissors game?
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
fikka has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
p_l has quit [Ping timeout: 240 seconds]
p_l has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
fikka has joined #lisp
Kundry_Wag has joined #lisp
<pjb>
comborico1611: yes, I did.
fikka has quit [Ping timeout: 256 seconds]
Kundry_Wag has quit [Remote host closed the connection]
terpri has quit [Ping timeout: 245 seconds]
Cymew has joined #lisp
fiveop has joined #lisp
smasta has quit [Read error: Connection reset by peer]
smasta has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
Kundry_Wag has joined #lisp
fafff has joined #lisp
pagnol has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
<fafff>
hi
<fafff>
I want to write a macro
<fafff>
I have (map 'list (lambda (x y) (+ x y)) '(1 2 3) '(1 1 1))
<fafff>
and I want (map 'list (lambda (x y) (+ x y)) (k1)) , where k1 is my macro
<fafff>
how can I do that?
damke_ has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 268 seconds]
igemnace has joined #lisp
Karl_Dscc has joined #lisp
<Bike>
you mean k1 expands into two lists?
<fafff>
yes
<Bike>
you can't do that
<Bike>
why do you want to do that, and why do you want to do it with a macro? Could you provide context?
energizer has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<fafff>
I have to do some operations on sets of lists
<fafff>
there are more lists
<fafff>
and I want to write this faster
<fafff>
in C for example I could do stuff like like this, replacing a keyword with blocks of code
<Bike>
that's because C macros are textual. Lisp macros are more involved in the actual syntax.
<Bike>
You can put a macro form where you'd put any other expression, but a macro form ccan't be multiple expressions.
<Bike>
It's likely there's a way to avoid repetition like you want, but it's hard to say how with so little information.
<k-hos>
you can have a macro result in multiple expressions
Bike_ has joined #lisp
<fafff>
k-hos: how?
<Bike_>
if you try to explain progn to me i'm going to be mad
attila_lendvai has quit [Read error: Connection reset by peer]
Bike has quit [Ping timeout: 260 seconds]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<__rumbler31>
I wouldn't explain progn to you.. but thats what you'd use
<Bike_>
no!
<Bike_>
look! at the context! in which the question was asked!
<Bike_>
does progn make any damned sense there?
<__rumbler31>
to be fair, I don't fully understand what he's trying to do, but I should have qualified, if you need a macro to return multiple forms, you use progn
<Bike_>
ahdfshn
<Bike_>
they don't want multiple side effects
Arcaelyx has joined #lisp
<Bike_>
they want a macro that expands into multiple arguments to map
<Bike_>
this is nothing something that macros do
<Bike_>
you could use a function that returns multiple values, or a macro replacing map, or any number of things
<Bike_>
which is why i asked what they're doing more specifically so i could maybe pick which direction seemed best
<__rumbler31>
ok, i'm speaking in general, and not at all about the op's problem
<Bike_>
why
<stylewarning>
"Man shouts at the clouds"
<__rumbler31>
nevermind
smasta has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
<__rumbler31>
I was confused about the context of the discussion at hand, so "at the time I was speaking about what I thought was a more general discussion"
Kundry_Wag has quit [Ping timeout: 240 seconds]
Rawriful has joined #lisp
smasta has joined #lisp
Bike_ is now known as Bike
krasnal has quit [Ping timeout: 256 seconds]
asarch has quit [Quit: Leaving]
fikka has quit [Ping timeout: 268 seconds]
smasta has quit [Ping timeout: 256 seconds]
<pjb>
fafff: you can write (map 'list (lambda (x y) (+ x y)) (k1)) on the condition of wrapping it into a normal (operator argument) form.
<pjb>
then you write the with-k1 macro, to analyse the sexp (map 'list (lambda (x y) (+ x y)) (k1)) and replace it with (map 'list (lambda (x y) (+ x y)) l1 l2)
Mutex7 has joined #lisp
<pjb>
but k1 won't be a macro. It will be something that the with-k1 macro will process.
<pjb>
fafff: now, if you have a list of list, for example returned by a function f1, you can write (apply (function map) 'list (function +) (f1))
attila_lendvai has quit [Read error: Connection reset by peer]
<pjb>
But it may be a little violent. You may want to use a code walker to interpret (k1) correctly: (with-k1 (list (k1) (labels ((k1 () 'foo)) (k1)) (k1))) only the first and last (k1) must be substituted, the (k1) in the middle refers to the function k1 defined by labels.
milanj has joined #lisp
Bike has quit [Ping timeout: 260 seconds]
fittestbits has joined #lisp
angavrilov has quit [Remote host closed the connection]
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
scymtym has joined #lisp
heurist has quit [Quit: heurist]
quazimodo has joined #lisp
<stylewarning>
"you may want to use a code walker" ;; people always suggest this, but is there actually a usable code walker out therE?
<Shinmera>
Not a portable one as far as I know because that's hard
terpri has joined #lisp
shka_ has quit [Ping timeout: 248 seconds]
Jesin has joined #lisp
Chream_ has quit [Remote host closed the connection]
<attila_lendvai>
hu.dwim.walker is ours, and it was used in non-trivial applications (uses contextl for fine grained customability)
TMA has quit [Ping timeout: 256 seconds]
TMA has joined #lisp
Kundry_Wag has joined #lisp
<emaczen>
How do you define a pointer type with CFFI? With the C code being: type *name;
<phoe>
you specify the type only when you dereference a pointer.
<Shinmera>
You can say (:pointer type), but it's equivalent to :pointer as it doesn't do anything with it.
<Shinmera>
pointers are just pointers after all
<pjb>
stylewarning: AFAIK, the only implementation that has an implementation specific special operator is sbcl. This is the only #+ you need in a code walker.
<phoe>
pjb: what is that operator?
<pjb>
Now, of course, a good portable code walker would have to provide its own CL macros…
<pjb>
Ah, there's also: (ccl:nfunction) and in clisp, cl:function is used with an extension (a second parameter).
<pjb>
But as I said, it's no problem if the code walker provides its own set of standard CL macros.
Cymew has joined #lisp
<pjb>
Implementation specific special operators (without a corresponding macro) would be particularly problematic if used in implementation specific macros (in extension packages).
Cymew has quit [Ping timeout: 265 seconds]
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
varjagg has quit [Ping timeout: 240 seconds]
__rumbler31 has quit [Ping timeout: 240 seconds]
smurfrobot has joined #lisp
kajo has quit [Quit: WeeChat 2.0.1]
kajo has joined #lisp
smasta has joined #lisp
asarch has joined #lisp
smurfrobot has quit [Ping timeout: 260 seconds]
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
fikka has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
<emaczen>
phoe: when a type is declared in C isn't it also allocated?
<Shinmera>
A pointer is a pointer and has one size, no matter which type it points to.
<emaczen>
Shinmera: I'm having trouble arefing a foreign pointer/array the type of the array is an opaque type just defined like: struct name;
Kundry_Wag has joined #lisp
mishoo has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 264 seconds]
asarch has quit [Quit: Leaving]
<axg`>
maybe you can define it as an alias to *void? types aren't "allocated" when defined beyond as data within cffi/the c compiler
<emaczen>
Or, maybe my issue is setting this pointer...
<emaczen>
the C code initializes the pointer like: type **name; and then passes it in the function call via func(&name)
<Bicyclidine>
you have no addressof in lisp. if you want to pass a pointer you have to allocate a pointer
<Bicyclidine>
in other words, probs add a * to the type
<Bicyclidine>
cffi doesn't really care about the type beyond knowing that it's a pointer, though
sjl__ has joined #lisp
sjl has quit [Ping timeout: 240 seconds]
Kaisyu has joined #lisp
comborico1611 has quit [Quit: Konversation terminated!]
Kundry_Wag has joined #lisp
axg` has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 240 seconds]
wigust has quit [Ping timeout: 268 seconds]
Kyo91 has quit [Ping timeout: 260 seconds]
sjl has joined #lisp
sjl__ has quit [Ping timeout: 260 seconds]
fafff has quit [Remote host closed the connection]