<drmeister>
Clasp now has a copying, compacting garbage collector. We got it to work with the Memory Pool System garbage collector.
damke_ has joined #lisp
neoncontrails has joined #lisp
sjl has quit [Ping timeout: 255 seconds]
<aeth>
drmeister: Does clasp have a way to profile allocations?
ahungry has quit [Remote host closed the connection]
damke has quit [Ping timeout: 240 seconds]
<drmeister>
aeth: I'm not sure what that is - do you mean what functions are doing lots of allocations?
<aeth>
yeah
ahungry has joined #lisp
<aeth>
SBCL seems to be the best at the moment at profiling allocations. With some implementations, it's hard to see where the heavy allocations are going on.
<aeth>
Useful e.g. in a gigantic loop
<drmeister>
I haven't really thought about it - how would you do something like that? I can get backtraces at any point.
<drmeister>
How does SBCL profile allocations?
<Bike>
backtrace sampling might not be reliable if allocations are fast enough to slip through
<drmeister>
I ask because we've recently made a lot of progress profiling Clasp. The neatest thing we've discovered is flame graphs.
<drmeister>
Well, I can get a backtrace with every allocation - or every Nth allocation. But is there a better way?
<Bike>
actually, doesn't mps have instrumentation?
<aeth>
Bike: One thing related to allocations that SBCL does that's nice is it comments the allocations in the disassembly, helps double check the profiling.
<drmeister>
Because flame graphs that profile allocations would be insanely useful.
<aeth>
Bike: i.e. if the profiler says 0 and the disassembly doesn't have commented allocations I feel more confident
fikka has joined #lisp
<drmeister>
Bike: It has some - I'll have to learn more about it now that it's working for us.
<Bike>
aeth: we don't inline many allocations at this point, so
<Bike>
ah, here we go, telemetry
<Bike>
"mpseventsql takes the output of mpseventcnv and loads it into a SQLite database for further analysis." how involved
<drmeister>
Bike: Actually - I discovered that we do inline a lot of allocations. When I put breakpoints in the allocation function in the last week - thousands of breakpoints get installed. That suggests inlining - doesn't it?
<Bike>
it would have to be llvm level then
<drmeister>
Yes
<Bike>
which is plausible i suppose
<aeth>
Bike: ah, true, not inlined allocations do not show up that way, e.g. a call to a not-inlined make-foo (which apparently includes make-string in SBCL). But I guess those are obvious in other ways, and technically not in that function.
<aeth>
actually, wait, make-string gets inlined, but only when it's not going to give a runtime error
fikka has quit [Ping timeout: 255 seconds]
<aeth>
fun, I typoed it
<drmeister>
Bike: And the allocations are "mostly lockless". Only when it hits the end of a page does MPS have to lock things.
<Bike>
what's actually in mps telemetry streams doesn't seem to be explained, but they go through a lot of effort to allow shitloads of output so i'm guessing a lot
<drmeister>
I only tried to gather telemetry once - it was a bit involved.
moei has joined #lisp
<Bike>
it seems like the obvious way to do allocation profiling, is all
<Bike>
though it might not record callers
<drmeister>
Well, we can - I just need to know how often and where to store the info.
<drmeister>
Because we can profile allocations from C++ and CL together (once we inline allocators in CL code).
<Bike>
the very-detailed room is nice in the meantime though (maybe we should put some arguments in it to allow shorter output, though)
<drmeister>
Sure.
<Bike>
though, does it only distinguish C++ classes? like, does it list conses and vectors separately?
<drmeister>
I don't think it lists conses at all - but I should add that. It distinguishes things by header stamps. I don't think it distinguishes CLOS classes. They are all Instance_O. We can add that though.
<Bike>
yeah, that would be good.
<drmeister>
Cons cells are stored in a separate pool from objects that derive from General_O
fikka has joined #lisp
<Bike>
huh...
<drmeister>
Cons_O objects don't have a header. They are two words each.
<Bike>
does having a pool with uniform object size help? i suppose it would.
<drmeister>
Maybe - I was looking for that today but didn't find it. I think the biggest benefit is no header and the pointer fixing is simpler.
<pfdietz>
"when Souper is used as a fully automated optimization pass it compiles a Clang compiler binary that is about 3 MB (4.4%) smaller than the one compiled by LLVM." https://arxiv.org/abs/1711.04422
<drmeister>
Bike: Yeah - that's up to MPS to decide how large the block of memory is that contains the Cons objects. It may choose a multiple of 16 bytes - or not.
<Bike>
inconvenient. oh well.
<drmeister>
I don't know - we could ask the Ravenbrook folks.
<Bike>
probably there are other fish to fry first
fikka has joined #lisp
Bike has quit [Quit: Lost terminal]
asarch has quit [Quit: Leaving]
<drmeister>
I'm really feeling good about things. With the optimizations you've made and that I've made... call me crazy... but I might even let someone use it again.
<drmeister>
I know, I know - you think I'm huffing screen cleaning fluid again.
* drmeister
is just kidding - he is fully aware that the only thing you should clean a screen with is water and a soft, lint-free towel.
damke has joined #lisp
Xal has quit [Ping timeout: 258 seconds]
damke_ has quit [Ping timeout: 240 seconds]
nsrahmad has joined #lisp
Xal has joined #lisp
<Lord_Nightmare>
drmeister: dropping the screen in a bucket of water and drying it with a lint free towel doesn't work well, especially if it is still plugged in
fikka has joined #lisp
ahungry has quit [Remote host closed the connection]
<Oladon>
Lord_Nightmare: What do you mean by "doesn't work well"? I'll bet your screen ends up pretty clean.
fikka has quit [Ping timeout: 255 seconds]
ahungry has joined #lisp
krwq has joined #lisp
<krwq>
does anyone know if closure-html converts tags local-name? I have a website which contains <article> tag but when I list all nodes with plexippus xpath and list unique local-name it does not show "article"
fikka has joined #lisp
<beach>
Good morning everyone!
<beach>
pjb: Yes, I like that idea.
<krwq>
Good morning beach
fikka has quit [Ping timeout: 255 seconds]
thebardian has quit [Remote host closed the connection]
pjb has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
dddddd has quit [Remote host closed the connection]
arrdem has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
fikka has quit [Ping timeout: 260 seconds]
manualcrank has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
jstoddard has quit [Ping timeout: 248 seconds]
damke has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 268 seconds]
manualcrank has joined #lisp
damke has joined #lisp
nsrahmad has quit [Quit: nsrahmad]
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
sjl has joined #lisp
engblom has quit [Ping timeout: 264 seconds]
engblom has joined #lisp
sjl has quit [Ping timeout: 248 seconds]
<drmeister>
aeth: It appears that for the deterministic sbcl profiler it takes a sample roughly every N bytes allocated. We can do that.
fikka has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
wheelsucker has quit [Quit: Client Quit]
fikka has joined #lisp
Oladon has quit [Read error: Connection reset by peer]
Oladon has joined #lisp
<aeth>
drmeister: great
vlatkoB has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
LocaMocha has joined #lisp
angavrilov has joined #lisp
ahungry has quit [Remote host closed the connection]
fikka has joined #lisp
shka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
jack_rabbit has quit [Ping timeout: 246 seconds]
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
safe has quit [Read error: Connection reset by peer]
alpert has joined #lisp
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
Karl_Dscc has joined #lisp
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
fikka has joined #lisp
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
jack_rabbit has joined #lisp
neoncontrails has joined #lisp
krwq has quit [Read error: Connection reset by peer]
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
zmt00 has quit [Quit: Leaving]
neoncontrails has joined #lisp
<flip214>
Can a nested ITERATE form collect data into a result of the outer ITERATE? I mean directly via (COLLECT), not via returning a result and APPENDING that on the outside.
<shka>
flip214: no
neoncontrails has quit [Remote host closed the connection]
<shka>
with result = nil in the outer and push into it
neoncontrails has joined #lisp
<shka>
well, this may be not true actually
fikka has quit [Ping timeout: 248 seconds]
<shka>
check if collect into works
neoncontrails has quit [Remote host closed the connection]
<shka>
it may (but i don't think it will)
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
oleo has quit [Quit: Leaving]
neoncontrails has quit [Remote host closed the connection]
neoncontrails has joined #lisp
neoncontrails has quit [Remote host closed the connection]
damke_ has joined #lisp
sysx1000 has quit [Quit: ы]
sz0 has quit [Quit: Connection closed for inactivity]
damke has quit [Ping timeout: 240 seconds]
<flip214>
shka: PUSH has the "wrong" order cmp. to COLLECT
<flip214>
and I'm not sure that I can do PUSH into a COLLECT var
<flip214>
thanks anyway
_cosmonaut_ has quit [Ping timeout: 240 seconds]
<Zhivago>
If it is a place ...
<shka>
flip214: you can
<shka>
you will have to reverse result
<shka>
which is btw what iterate is doing
yangby has quit [Quit: Go out for a walk and buy a drink.]
Murii has joined #lisp
fikka has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
dec0n has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
lisp_guest has joined #lisp
mishoo_ has joined #lisp
beach has quit [Remote host closed the connection]
beach has joined #lisp
sjl has joined #lisp
scymtym has quit [Ping timeout: 255 seconds]
manualcrank has quit [Ping timeout: 240 seconds]
yakuza has quit [Quit: leaving]
sjl has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
Xal has quit [Ping timeout: 255 seconds]
knobo has joined #lisp
Murii has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 248 seconds]
caseyowo has quit [Ping timeout: 255 seconds]
manualcrank has joined #lisp
knobo has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
Amplituhedron has joined #lisp
thebardian has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
White_Flame has quit [Remote host closed the connection]
mishoo_ has quit [Ping timeout: 248 seconds]
White_Flame has joined #lisp
pfdietz has quit []
orivej has quit [Ping timeout: 240 seconds]
varjag has joined #lisp
Cymew has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
fikka has joined #lisp
elimik31 has joined #lisp
mishoo has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
truename has quit [Ping timeout: 240 seconds]
scymtym has joined #lisp
knobo has joined #lisp
truename has joined #lisp
fikka has joined #lisp
eSVG has joined #lisp
fikka has quit [Ping timeout: 258 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
damke_ has quit [Read error: Connection reset by peer]
damke_ has joined #lisp
knobo has quit [Ping timeout: 268 seconds]
knobo has joined #lisp
fikka has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
sjl has joined #lisp
damke_ has joined #lisp
manualcrank has quit [Quit: WeeChat 1.9.1]
fikka has quit [Ping timeout: 250 seconds]
sjl has quit [Ping timeout: 240 seconds]
Devon has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
hhdave has joined #lisp
hhdave has quit [Client Quit]
neoncontrails has joined #lisp
fikka has joined #lisp
Murii has joined #lisp
MrBusiness has joined #lisp
MrBismuth has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
hhdave has joined #lisp
hhdave has quit [Ping timeout: 248 seconds]
Oladon has quit [Read error: Connection reset by peer]
fikka has joined #lisp
AndreasO has joined #lisp
hhdave has joined #lisp
AndreasO has quit [Client Quit]
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
ramus has quit [Ping timeout: 240 seconds]
_main_ has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
_cosmonaut_ has joined #lisp
fikka has joined #lisp
sjl has joined #lisp
__main__ has quit [Ping timeout: 248 seconds]
_main_ is now known as __main__
ramus has joined #lisp
sjl has quit [Ping timeout: 248 seconds]
mishoo_ has joined #lisp
__main__ has quit [Read error: Connection reset by peer]
mishoo has quit [Ping timeout: 258 seconds]
__main__ has joined #lisp
eSVG has quit [Ping timeout: 250 seconds]
fikka has quit [Quit: leaving]
neoncontrails has quit [Ping timeout: 246 seconds]
m00natic has joined #lisp
okflo has joined #lisp
brendyn has quit [Ping timeout: 240 seconds]
<Trasformatore>
hi
Tobbi has joined #lisp
<Trasformatore>
please how can I dispatch javascript code with hunchentoot? I'm using define-easy-handlers but I've got error 404
nika has quit []
<loke`>
Trasformatore: Create a minimal test case and paste it somewhere fopr us to see.
neoncontrails has joined #lisp
<Trasformatore>
loke`, solved! Thanks!
<loke`>
I didn't do anything, but sure.
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
neoncontrails has quit [Ping timeout: 255 seconds]
<beach>
Among other things, it contains an implementation of "prescript" which is a prefix version of PostScript.
<beach>
It is first implemented as an interpreter and then as a compiler.
<Shinmera>
PAIP also has a chapter on implementing prolog, no?
<Shinmera>
Or two, actually. Interpreter and compiler, if I remember correctly.
<beach>
Sounds right.
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
margeas has joined #lisp
hajovonta has joined #lisp
Bike has joined #lisp
<hajovonta>
hi
<hajovonta>
is there a solution for pretty printing code that has no formatting, e.g. is a one-liner and I want to make it look like it was formatted according to conventions ?
<hajovonta>
like when it's in the form (defun blah (a b) (+ a b)) and it would output (defun blah (a b)\n<indent>(+ a b))
<Shinmera>
The solution is to write a pretty printer that follows Slime's indentation rules.
<hajovonta>
yes, that was the thought of mine, too. But maybe you know of one that is readily available
<Shinmera>
I do not.
Bicyclidine has joined #lisp
* drmeister
thinks Programs are so sexy when written in French.
<Shinmera>
Even if you do follow Slime's rules, pretty printing code is a hard problem, as strict rules aren't always a good idea (eg, knowing when to wrap arguments to their own lines)
wxie has quit [Remote host closed the connection]
Bike has quit [Remote host closed the connection]
<otwieracz>
Hi.
Bicyclidine is now known as Bike
<otwieracz>
Reported heap usage by my SBCL image is 240MB - however, RES reported by htop is 2072MB and slowly growing.
<otwieracz>
Do you have any ideas how to debug what is consuming memory here?
<Shinmera>
I'm guessing foreign memory is not reported by ROOM
EvW has joined #lisp
<otwieracz>
Full GC run reduced usage to 1500MB
<otwieracz>
And it's quickly gowring now
<otwieracz>
Already 1.7GB
raynold has quit [Quit: Connection closed for inactivity]
<hajovonta>
Shinmera: thanks
<hajovonta>
I guess I'll just implement 1-2 simple rule to make it look somewhat good
neoncontrails has joined #lisp
stnutt has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
papachan has joined #lisp
<scymtym>
otwieracz: is your program using foreign code? in that case, could the foreign code be leaking memory?
fikka has quit [Ping timeout: 248 seconds]
<otwieracz>
hmm
<otwieracz>
yes
<otwieracz>
it's actually calling libcurl;
fikka has joined #lisp
<heisig>
beach: Thank you for the embedded language slides!
<heisig>
You know stuff is getting serious when you implement a COMPOSE function in your compiler :)
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
knobo has quit [Ping timeout: 248 seconds]
rumbler31 has quit [Remote host closed the connection]
knobo has joined #lisp
damke_ has joined #lisp
neoncontrails has quit [Ping timeout: 240 seconds]
damke has quit [Ping timeout: 240 seconds]
sysx1000 has joined #lisp
knobo has quit [Ping timeout: 250 seconds]
orivej has quit [Ping timeout: 250 seconds]
Bike has quit [Ping timeout: 255 seconds]
knobo has joined #lisp
orivej has joined #lisp
raynold has joined #lisp
Tobbi has joined #lisp
eudoxia has joined #lisp
eSVG has joined #lisp
neoncontrails has joined #lisp
eSVG has quit [Ping timeout: 246 seconds]
neoncontrails has quit [Ping timeout: 255 seconds]
Mon_Ouie has joined #lisp
kobain has joined #lisp
Ellenor is now known as Reinhilde
klltkr has joined #lisp
Achylles has joined #lisp
neoncontrails has joined #lisp
dddddd has joined #lisp
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<paule32>
i have a function, that init the application
<paule32>
an other function runs the application
jameser has joined #lisp
<paule32>
and between this steps, i need a user defined function, which holds informations like pushbuttons ...
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Bike has joined #lisp
neoncontrails has quit [Ping timeout: 255 seconds]
pjb has joined #lisp
mishoo__ has quit [Ping timeout: 255 seconds]
klltkr has joined #lisp
mson has joined #lisp
<hajovonta>
paule32: something like (setf *var* #'setup-controls) ?
<hajovonta>
it's funcall-able
<beach>
hajovonta: You are encouraging the anti-social behavior of paule32.
EvW has quit [Ping timeout: 255 seconds]
nullman has quit [Ping timeout: 260 seconds]
<hajovonta>
beach: sorry, I don't know him
<hajovonta>
didn't know he's a troll
nullman has joined #lisp
<beach>
I don't think he is a troll, but paule32 has a long history of asking questions and then not following the advice given. Instead, he posts code that does not respect widely agreed-upon conventions, making it very hard to read it. So it is very likely a waste of time to try to help.
<hajovonta>
I see
<hajovonta>
thanks for the explanation
<beach>
Sure.
<hajovonta>
maybe he doesn't understand English well in the first place
<beach>
That might be true.
EvW1 has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
dddddd has quit [Ping timeout: 240 seconds]
d4ryus1 is now known as d4ryus
Cymew has quit [Read error: Connection reset by peer]
mikecheck has joined #lisp
fikka has joined #lisp
Cymew has joined #lisp
dddddd has joined #lisp
lnostdal has quit [Ping timeout: 258 seconds]
alpert has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
alpert has joined #lisp
oleo has joined #lisp
himmAllRight has quit [Remote host closed the connection]
himmAllRight has joined #lisp
python476 has joined #lisp
fikka has joined #lisp
alpert has quit [Ping timeout: 248 seconds]
fikka has quit [Read error: Connection reset by peer]
nsrahmad has joined #lisp
nsrahmad has quit [Client Quit]
brendyn has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
cess11_ has joined #lisp
sjl has joined #lisp
cess11 has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 264 seconds]
lnostdal has joined #lisp
rumbler31 has joined #lisp
Cymew has quit [Remote host closed the connection]
fikka has joined #lisp
scymtym has quit [Ping timeout: 250 seconds]
rumbler31 has quit [Ping timeout: 240 seconds]
cromachina has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 264 seconds]
knobo has quit [Ping timeout: 248 seconds]
knobo has joined #lisp
Murii has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
rumbler31 has joined #lisp
serviteur has joined #lisp
fikka has quit [Client Quit]
_rumbler31 has joined #lisp
fikka has joined #lisp
jameser has joined #lisp
<serviteur>
Hie, I'm searching for a lib which generate html, what should I chose? PCL mention FOO, but I don't find it. I'm trying CL-WHO, but I have trouble making it works with allegro. Thanks!
<Bike>
paule32 has been doing this same shit for like a year. they either don't understand english well enough to get help from us or are communicating via some kind of malicious familiar spirit
<pjb>
Not any bullshit like (setf *var* #'setup-controls) (funcall *var*) ; this doesn't mean anything!
<hajovonta>
Bike :)
<python476>
who here works in lisp (CL or else)
<pjb>
I'm optimistic.
<pjb>
everybody!
<paule32>
pjb: yes, where show-main-window can be filled with instructions by user
<pjb>
and here in CL. If you want random lisps, try ##lisp
<Shinmera>
python476: You mean like professionally or what
<hajovonta>
my job doesn't require working in CL, but it's my personal choice, and I'm happy with it
<pjb>
paule32: indeed you would have to write the methods show-main-window and run yourself.
<python476>
Shinmera: yes, your paycheck depends on you typing CL code
<beach>
python476: This channel is dedicated to Common Lisp, so pretty much everybody.
<python476>
could have been side projects or hobbies too
<python476>
but thanks
<hajovonta>
all of my side projects are CL
<python476>
I'm having my little old lisp moment, reading AMOP and CLHS
<sjl>
beach: I'd be surprised if everybody in here did CL for paying work. I, for example, unfortunately don't.
<paule32>
pjb: right, and the package should call the user function
<hajovonta>
CL keeps the spirit in me nowadays
<python476>
so unsurprisingly I wonder about CL jobs
<beach>
sjl: Yes, the "paid work" came too late for me to react.
<Shinmera>
I've done some lisp work for money, but not currently.
<python476>
pjb: Im not pressed, just curious about people working in it so far (but thanks of course)
<hajovonta>
I feel CL will have a comeback, but not sure when
<varjag>
i have an ongoing project 100% in lisp
<python476>
hajovonta: wouldn't bet on this, too many languages have lisp bits in them nowadays, the difference would be insignificant for the market
<hajovonta>
oh, I don't mean the majority of programmers will be doing work in CL
<python476>
ok then
<hajovonta>
CL is too hard for the majority of programmers to learn
<python476>
it requires special desires
<python476>
but surely having sbcl performance and environment would please some
<eudoxia>
I wouldn't say CL is too hard for the average programmer to learn
<varjag>
doesn't have much to do with being hard to learn imo
<python476>
also, I realized recently that python can have some of CL metaprogramming abilities, so the people ready to go meta have something else to play
<varjag>
certainly not harder than rust or c++ or swit
<varjag>
swift
<hajovonta>
varjag: good point
<eudoxia>
certainly easier to learn than Rust
<pjb>
python is very bad, it distinguishes statements from expressions, and bends strongly toward statements.
<python476>
yeah rust is as peculiar if not more to the average programmer
<python476>
pjb: yes, but there are a lot of talks about using metaclasses to make programming sane
<python476>
this is rare enough to mention
<mrottenkolber>
you can get CL jobs! I don’t think many people choose jobs for the programming language though
<python476>
note that my nick is unrelated to my programming language preferences, it's an historical accident :D
Murii has joined #lisp
<jackdaniel>
I thought it is after CMUCL compiler ,p
<python476>
mrottenkolber: I assumed that shops using CL had a different view on things too
<hajovonta>
if given enough time, every programming language's community start to feel the need to incorporate metaprogramming, and start to incorporate features into the language that makes it look more like lisp
<python476>
I just tried to do some Java and I immediately went back to lisp / clojure
<beach>
python476: I suggest you come to ELS2018. It will be in a place that has a company that uses Common Lisp, and there will be other companies there as well that hire Common Lisp programmers.
<python476>
where is it ? spain ? canada ? I forgot
<python476>
berlin
<beach>
Marbella, Spain.
<mrottenkolber>
python476: not even that, I only meant that for instance I like to work with networking / distributed / p2p so I work at the company that does an interesting project in these fields, not necessarily a lisp company.
<python476>
ha, first time the charm
<python476>
mrottenkolber: good point
<python476>
it's possible I'd come to els2018
<mrottenkolber>
els is always fun!
<python476>
mrottenkolber: is the coding environment fun ?
<python476>
or is the problem so interesting to you that it becomes a sidenote
<mrottenkolber>
coding environment? I never wrote a line of code at els^^
<python476>
I meant at your job
<python476>
crossed-messages
lnostdal has quit [Ping timeout: 240 seconds]
<mrottenkolber>
python476: oh right, I think there are lots of fun languages out there (and I am currently not employed :D), you can make any environment heaven or hell, mostly depends on how much is invested into tooling. I strongly prefer good investments in tooling.^^
<mrottenkolber>
but i.e. I currently code mostly with LuaJIT and its really fun!
FreeBirdLjj has joined #lisp
<mrottenkolber>
I even went as far as implementing s-expressions and macros on top of Lua but I didn’t end up using it
<python476>
lol
<mrottenkolber>
because Lua is really a fine language, in itself
<python476>
when i did VBA/Excel, I started writing so sexp vba translation
<python476>
we just can't help it ..
<python476>
I have to say, only sml made me forget about sexps, syntax's so short
<paule32>
The function KALLUP::SETUP-CONTROLS is undefined
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
<hajovonta>
paule32: move the funcall line down under the function definition.
lrvy has joined #lisp
<hajovonta>
you are trying to call the function before it's defined.
<pjb>
paule32: your paste is incomplete. We cannot debug ... !!!!
lrvy has quit [Client Quit]
<_rumbler31>
my side projects are in cl, and small utilities at work are in cl. I have a body of code I wrote to work on work specific data files, but I don't think that counts towards the spirit of "getting paid to write cl"
lnostdal has joined #lisp
<python476>
_rumbler31: the core of your work is in what language ?
<_rumbler31>
c++
<_rumbler31>
which becomes more obnoxious to write the more lisp I use
sz0 has joined #lisp
alexmlw has joined #lisp
<python476>
c++ surely gets the title of the most dreaded language by far
dec0n has quit [Read error: Connection reset by peer]
scymtym has joined #lisp
rumbler31 has quit [Ping timeout: 248 seconds]
<pjb>
can't load, it's missing a asd file.
<paule32>
these are files, that install quicklisp?
<pjb>
(funcall #'setup-controls) is wrong it should be written (setup-controls)
_cosmonaut_1 has joined #lisp
_cosmonaut_ has quit [Ping timeout: 250 seconds]
<pjb>
paule32: it's ok, there's a start.lisp file but it doesn't compile the library, and the makefile is wrong, it uses absolute paths to qt4. If I had it installed it would be in /opt/local on this MacOSX system…
mikecheck has left #lisp ["part"]
<paule32>
i know, the makefile is created by qmake - a tool from the Qt5 framework
<pjb>
paule32: type: grep -niHR -e setup * # in your LispAppQt directory.
Jesin has joined #lisp
<hajovonta>
pjb: (funcall #'setup-controls) works, but you have to define your function first
jstoddard has joined #lisp
<pjb>
(setup-controls) works even better, and you still have to define your function!
<hajovonta>
he's trying to stuff a function into a variable and then change the function that is being called
<hajovonta>
but maybe not
<pjb>
paule32: but most importantly, when you write an application in lisp, you have to be careful not to things that are application related while loading or compiling your sources!
<pjb>
paule32: you want to create your window, or initialize your application when you LAUNCH the application, not when you compile or load your sources!
<pjb>
paule32: so read those grep lines, and tell me where is the definition of the function setup-controls!
<pjb>
We've told you already half a dozen time, that you need to define the functions you call!
<hajovonta>
in other words, the order of the lines you type into a program is important
<hajovonta>
:)
<python476>
paule32: are you a prolog developper by any chance ? :D
<paule32>
pjb: kallup.lisp is the package, i this is the code for a template application, or the core functions that could be call
<pjb>
hajovonta: the PRESENCE of the lines even more important!
<paule32>
pjb: setup-controls is in start.lisp
<pjb>
paule32: Nope. see grep output!
rocx has quit [Quit: classes]
<pjb>
Ha, yes, sorry, you got it.
<python476>
funny I just saw a video about visual studio code collaborative debugging sessions
_cosmonaut_1 has quit [Remote host closed the connection]
<python476>
irc debugging sessions will be a thing of teh past
_cosmonaut_ has joined #lisp
<hajovonta>
will it? :)
<pjb>
paule32: so just don't call it when you load the file kallup.lisp!
<python476>
hajovonta: ;)
<pjb>
paule32: do you understand those two sentences:
<pjb>
paule32: but most importantly, when you write an application in lisp, you have to be careful not to things that are application related while loading or compiling your sources!
<pjb>
paule32: you want to create your window, or initialize your application when you LAUNCH the application, not when you compile or load your sources!
<pjb>
<paule32>
python476: prolog? no, i know this fuzzi logic lang, but for me prolog is not a lang, more markup
<paule32>
pjb:
<paule32>
because setup-controls is a user funcall
<paule32>
yeah
<paule32>
you right
<python476>
paule32: I was joking because prolog is much less dependent on line order
<paule32>
but i think make-instance is the thing that brings the rock to roll
<pjb>
paule32: even (print (exec *myapp*)) (main) (sb-ext:quit) should not be in start.lisp, but in a function! (print (exec *myapp*)) should be in the function main. and quit should not be in files you load!
<paule32>
because make-instance calls the class and create an object
<paule32>
ah
<paule32>
sorry, yes
<pjb>
It would be better to rename start.lisp to loader.lisp
<pjb>
So you can (load "loader.lisp") and then debug (unit debugging), or call (main) to run the program.
_cosmonaut_ has quit [Ping timeout: 248 seconds]
<hajovonta>
python476: the problem is, this is a synchronous communication. They communicate it as an advantage, but it's only advantageous for those who are receiving support
<paule32>
start is a keyword?
<pjb>
Then you may have a script named generate.lisp that would be able to load the sources, and save an executable image, in which you would set up main as toplevel function.
<python476>
hajovonta: the guy said he was needing something synchronous
<pjb>
paule32: no, start is a verb that means that something is beginning.
<pjb>
But when you load lisp sources, you don't want to start anything!
<python476>
for async you can always file a bug, issue, question somewhere
<paule32>
ok
<pjb>
So don't name it start, name it loader since it's the script that will load your program.
<paule32>
i have to go for raport, came back in few minutes
<paule32>
sorry
<paule32>
i hold the line
<pjb>
bbl too
<hajovonta>
python476: not everybody likes synchronous communication. I personally don't like it
<pjb>
hajovonta: then use news:comp.lang.lisp
_cosmonaut_ has joined #lisp
<python476>
hajovonta: ok
<hajovonta>
IRC is a medium where I can answer a few minutes later or even a few hours later
<python476>
hajovonta: for a company it seems like a pretty big time saver though
kobain has quit [Ping timeout: 252 seconds]
<hajovonta>
python476: for those who are giving support, it is also a big stress.
<hajovonta>
but I'm not saying it's useless.
th3m1s has joined #lisp
rafadc has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
th3m1s has quit [Client Quit]
<python476>
hajovonta: oh I see, in case of support, you prefer having your time to think to find the issue rather than having someone waiting in "front" of you ?
quazimodo has joined #lisp
<hajovonta>
python476: or maybe I'm in something else, maybe I have 3 issues simultaneously, maybe I'm heading for lunch etc.
sysx1000 has quit [Ping timeout: 250 seconds]
thinkpad has quit [Ping timeout: 260 seconds]
<python476>
ok
<hajovonta>
also, I have to create a "context" in my head, and it needs time. (maybe I'm just too slow.) :)
<hajovonta>
but let's see how will people work with it
serviteur has quit [Remote host closed the connection]
neoncontrails has joined #lisp
<hajovonta>
the other problem is, it ties people to a particular IDE.
<python476>
no kidding
<python476>
feature not a bug there
<hajovonta>
I would hesitate to give up my Emacs for some Visual Studio thing. :)
<hajovonta>
I would just respond to the request with something like "sorry I don't know what to do with your link" :)
<python476>
hajovonta: "install gnu emacs, thanks"
<hajovonta>
maybe somebody will do this very same thing for Emacs
<hajovonta>
now THAT would be something.
EvW1 has quit [Ping timeout: 255 seconds]
<python476>
usually emacs can absorb it, but this would require a large amount of design to make something versatile
hydan has joined #lisp
edgar-rft has quit [Quit: edgar-rft]
<scymtym>
i did a vaguely similar, very limited thing for emacs a few years ago: https://github.com/scymtym/rudelhttp://rudel.sourceforge.net/ . my frustration with emacs lisp (as it was at the time) and the lack of interest in such a thing lead me to abandon it
Achylles has quit [Ping timeout: 240 seconds]
_cosmonaut_ has quit [Ping timeout: 248 seconds]
vzerda has joined #lisp
<hajovonta>
interesting
<hajovonta>
did it ever work?
hydan has quit [Ping timeout: 260 seconds]
orivej has quit [Remote host closed the connection]
rafadc has joined #lisp
orivej has joined #lisp
zmt00 has joined #lisp
rafadc has quit [Client Quit]
fortitude has joined #lisp
<scymtym>
yes
<scymtym>
but, as always, some emacs modes were not compatible
<python476>
scymtym: I think I saw people using it for ICFP
<turkja>
Can someone verify this thing: if you load a regular linedit package with SBCL, then try to move around with C-left-arrow and C-right-arrow. In emacs this moves back and forth full words, it's in my spine, but for some reason linedit locks up keyboard input.. very easy to test if someone has a second or two
<scymtym>
python476: interesting
<python476>
i watched them work a problem in emacs/slime on a youtube feed
<python476>
if that wasnt rudel then it was something similar with a similar name .. which would be strange :D
<turkja>
this is a linux box, i tested with gnome-terminal + xterm, same thing
<scymtym>
we should drop the topic nevertheless since it is only tangentially common lisp related if at all
<python476>
ok
caseyowo has quit [Ping timeout: 240 seconds]
orivej_ has joined #lisp
yeticry has quit [Ping timeout: 268 seconds]
yeticry has joined #lisp
orivej has quit [Ping timeout: 248 seconds]
varjag has joined #lisp
ksool has joined #lisp
Mon_Ouie has quit [Ping timeout: 268 seconds]
aoeu256 has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
<aoeu256>
does any body have any ideas what programming languages will look like 40 or 80 years from now? Like anybody have a system of Macros that simulates how LISP will look like when we have quantum computers to automatically code things for us, productivity beyond clojure. I remember there was a book OnLisp by Paul Graham where it was discussed.
Karl_Dscc has joined #lisp
<Shinmera>
I hope I'll be dead in 80 years so I don't have to worry about this kind of future prediction nonsense.
fikka has joined #lisp
caseyowo has joined #lisp
alpert has joined #lisp
<hajovonta>
hehehe lol
hajovonta has quit [Quit: hajovonta]
hhdave has quit [Ping timeout: 268 seconds]
alpert has quit [Ping timeout: 248 seconds]
<larsen>
aoeu256: you probably mean http://www.paulgraham.com/hundred.html. I'd rather not dwelve in such a broad topic, but maybe you're interested in knowing that Larry Wall spoke in a similar way about Perl 6: "Don’t design everything you will need in the next 100 years, but design the ability to create things we will need in 20 or 100 years." Which in turns reminds me of "Growing a language", and so on and so forth
<python476>
aoeu256: cyborg slack filled with rant about neural network being too verbose
<python476>
this or humanity back to celtic lifestyle with druids and banquets
raynold has quit [Quit: Connection closed for inactivity]
<Shinmera>
Can't wait to get my guts blown out by one of Mark Zuckerberg's super solidier androids.
<python476>
I never understand the idea of violent robots or aliens
<Shinmera>
Anyway, semi-serious answer: I don't even know what I'll be doing an hour from now. How people can hope to predict what the entire collective world will go through in 40 years is beyond me.
<python476>
why anything "superior" would pick violence
fikka has quit [Ping timeout: 255 seconds]
<python476>
Shinmera: also, every attempt at predicting above a decade ended up quite far from the truth
orivej_ has quit [Quit: orivej_]
<python476>
rare exception: some documentary about first portable TV long ago said one day we may have pocket tvs and real time information flow so we never need to worry
FreeBirdLjj has quit [Remote host closed the connection]
orivej has joined #lisp
<python476>
which is quite right on, except we never worried more than now
<eudoxia>
nearly every item in that list has not come to pass
<Shinmera>
Also, if you make enough predictions, some of them are bound to be almost right
SaganMan has joined #lisp
kobain has joined #lisp
fikka has joined #lisp
<pjb>
Shinmera: beware in 80 years you may be re-incarnated into a lowly programmer; you'd be rather happy if you had to program in lisp or better rather than java or worse.
<Shinmera>
Fortunately I don't believe in reincarnation, so I don't need to worry about that either.
caseyowo has quit [Ping timeout: 248 seconds]
<pjb>
Depends. There's one theory that says that you get what you believe in, and another that says you get reincarnation, or Jesus' paradise (or Satan's inferno).
<pjb>
Shinmera: think about the children!
<Shinmera>
The children can snuff it
<Shinmera>
Going back to Lisp, I wrote an article about Harmony today. If you're interested in sound processing in Lisp, it might be worth a look. https://reader.tymoon.eu/article/358
<pjb>
Thanks.
m00natic has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
alpert has joined #lisp
caseyowo has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
pillton has quit [Remote host closed the connection]
Reinhilde is now known as Ellenor
fikka has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #lisp
fikka has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
Karl_Dscc has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #lisp
caseyowo has quit [Ping timeout: 248 seconds]
<_rumbler31>
scymtym: my ICFP team used rudel once
<_rumbler31>
python476: that was probably my group
<python476>
_rumbler31: I remember a team of .. two
<python476>
it was something like a maze solver
<aoeu256>
hmm
<python476>
but my memories are very blurry
<python476>
as was the video
<_rumbler31>
we used it for the one where you were reverse engineering a small language and function set
<_rumbler31>
and i think we used it for one where the problem was "play hex tetris" with some extra gimmic
<python476>
oh !
<python476>
oh that may be it
<easye>
<?xml version="1.0" encoding="utf-8"?>
<easye>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<Devon>
paule32: NEVER write a line of only parentheses.
<GreaseMonkey>
the real problem is you need to quote what you are putting into menu
<GreaseMonkey>
a line of only parens is a style issue
<paule32>
ok
<Devon>
paule32: Use Emacs Meta-^ on those trash lines.
<GreaseMonkey>
on a side node, terpri looks like lojban to me... and apparently means "an object/tool/whatever used to make a print of something"
stnutt has left #lisp [#lisp]
<Devon>
You can say (fresh-line) ~& instead of (terpri) ~%
<paule32>
ok
<paule32>
(setq menu (('Datei ('Beenden nil))
<paule32>
('Bearbeiten ('Redo nil))))
<paule32>
is illegal
<GreaseMonkey>
you need the quote here: (setq menu '((Datei
<GreaseMonkey>
just the one quote
<paule32>
ok
<Devon>
(print '(("Datei" (("Beenden") (nil))) ("Bearbeiten" (nil)))) ; is this what you want?
<GreaseMonkey>
yeah, something like that
<GreaseMonkey>
...derp, i should have read a bit more closely... that's probably what's wanted
<Devon>
If MENU is a global, use (defvar *menu* '(("Datei" (("Beenden") (nil))) ("Bearbeiten" (nil))) "Here explain what the menu is for.")
<paule32>
yes, right
<paule32>
(setq menu '(("Datei" ("Beenden" nil))
<paule32>
("Bearbeiten" ("Redo" nil))))
<Devon>
SETQ is almost always a bad idea. Definitely in this case although I haven't seen the rest of the code.
rumbler31 has joined #lisp
threh has joined #lisp
<GreaseMonkey>
if it's not defined you'll want either defvar or defparameter, if it is defined you'll probably want setf (it's a macro which handles many more cases than setq)
damke has joined #lisp
_rumbler31 has quit [Ping timeout: 240 seconds]
<threh>
Basic question here: if I am writing a program that needs to use functions and methods from Drakma, Imago, and Vecto, what's the best way to import them? I did a (defpackage :my-package (:use :cl :drakma :imago)) but it's not recognizing one method from imago, while the others work, unless I set (in-package :imago) instead of (in-package :my-package)
<Devon>
Beginners tend to use SETQ & SETF by mistake when correct code would use DEFVAR for globals and LET for locals.
easiestE has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
<Devon>
threh: say imago:method-you-want
<Bike>
"not recognizing"?
<easiestE>
Gee, that paste was weird. My apologies again for the pseudo spam. Emacs somehow grabbed the macOS cut n' paste buffer. Maybe I should make that unidirectional the other way.
<easiestE>
(although that is not trivial without crimping my workflow)
kobain has quit [Ping timeout: 252 seconds]
<Devon>
easiestE: So you're our spammer. If Emacs M-x irc is your client, maybe you should file a bug report or feature request to protect against that.
<easiestE>
Devon: agreed. But not sure how to reproduce easily.
<paule32>
how can i iterate through a dynamic list like i post/you showed?
<easiestE>
I think I had CAPS LOCK on without noticing it, which made Emacs go into some funny mode.
<easiestE>
Still, it would be better for Emacs to somehow signal error conditions that I could just bail out the command loop. Does Elisp have restarts?
<Devon>
paule32: (dolist (item '(a b c)) (print item)) ; like this? No clue what a "dynamic" list might be.
<GreaseMonkey>
paule32: at the moment the list is looking pretty static...
<paule32>
Devon: dynamic = menu with numbers of entries, where entries are not know at design time
<threh>
Devon: that doesn't work either, because the function isn't external, but the example code says to use it that way
<Devon>
threh: for internal (not expoorted) methods, say imago::method-you-want
<threh>
omg sweet I'll try that
<threh>
Thanks!
<GreaseMonkey>
paule32: we don't have enough information to help you properly... look into dolist and mapcar
<paule32>
GreaseMonkey: i try me on creating gui program
<paule32>
gui programs have menues ... pushbuttons ...
<Shinmera>
Please just /ignore paule32
<GreaseMonkey>
try making a static menu first
nowhere_man has quit [Ping timeout: 268 seconds]
<GreaseMonkey>
with that said, i'm dropping off my IRC bouncer for now, got some stuff to do
<Devon>
paule32: We call those, um, lists. (dolist (item (read)) (print item)) ; then type (a b c d ...) for input?
alexmlw has quit [Quit: alexmlw]
mson has quit [Quit: Connection closed for inactivity]
<Devon>
paule32: Argh, my irc text is all red starting with "know at design time" how did you do that?
<paule32>
?
<Devon>
M-x font-lock-mode doesn't fix it, signing off and on maybe...
Devon has quit [Quit: rcirc on GNU Emacs 26.0.50]
Devon has joined #lisp
<Devon>
nope, still all red.
<python476>
Devon: emacs as irc client ? erc ?
Devon has left #lisp [#lisp]
Devon has joined #lisp
<Devon>
had to kill the buffer, another mystery rcirc bug.
<python476>
emacs.
<Devon>
python476: M-x irc Ret
<threh>
Alright that worked perfectly, thanks. Does anyone here have experience with Imago or composing two png files on top of each other using common lisp?
<Devon>
python476: Very handy, you can C-x C-e to eval emacs-lisp in the #lisp irc buffer.
<Devon>
threh: Maybe ask on #lispgames
<threh>
Cool thanks
<paule32>
so, (dolist (item menu) (print item))
<paule32>
then with nth i can get the toplevel menu
<Devon>
paule32: Only if enclosed in (let ((menu ...)) ...)
turkja has quit [Read error: Connection reset by peer]
LocaMocha has quit [Ping timeout: 248 seconds]
<pjb>
paule32: read a CL tutorial!
<pjb>
paule32: then learn how to use your GUI framework!
<pjb>
paule32: and only then, start to write applications!
<pjb>
paule32: and only once you've written two or tree applications at least, consider writing a skeletton for new applications!
<pjb>
paule32: you're trying to do what you are not able to do, and won't be able to do before one year of work at least!
<pjb>
paule32: if you continue like this, in one year you will still have the same problem.
<pjb>
paule32: there are other people like you, for example gavino. He's been at it for 20 years, still unable to do anything in lisp, just because he doesn't follow our advice!
thebardian has joined #lisp
<paule32>
pjb: i understand your team, only potential people can be helped
<paule32>
pjb: i don't work in computer industry
<pjb>
paule32: sorry, something's lost in translation.
<pjb>
paule32: it's not because you don't work in the computer industry that you cannot and should not learn programming properly!
<paule32>
pjb: right
<Devon>
paule32: Do you have a copy of _The Little Lisper_ with peanut butter and jelly stains yet?
<paule32>
i have the german version of the lisp book
<Devon>
paule32: Gut!
<jaccarmac>
Heh, I remember that rudel team
<jaccarmac>
Fun year, though Ive never been able to meaningfully contribute it's always been fun to watch the experts at work
neoncontrails has quit [Remote host closed the connection]
<paule32>
uih
<paule32>
thank you
edgar-rft has joined #lisp
<paule32>
btw. we discuss for few weeks about lisp... i have start a web project, that should be a central point for german lispers ... i buy me $100,00 server and the beginning is here: http://kallup.org
<paule32>
it is only a template
<paule32>
but i have to learn lisp, before i can make informations to others
jealousmonk has joined #lisp
thebardian has quit [Ping timeout: 240 seconds]
<Devon>
Is there a web REPL for confused beginners, which offers suggestions to guide their progress?
easiestE has quit [Remote host closed the connection]
easiestE has joined #lisp
<jaccarmac>
Devon: What kind of suggestions are we talking? Are there examples for other programming languages you have in mind?
<paule32>
haha. no
<jaccarmac>
Suggestions for beginners seem like a tricky problem because they tend to approach problems in unpredictable ways
<paule32>
he has pick on me
<Devon>
Suggestions as in very primitive excercises like the ones in the books PJB and I named.
<Devon>
If we keep a transcripts, we can identify and maybe even detect the most common bad syndromes.
python476 has quit [Remote host closed the connection]
<Devon>
/excercises/exercises/
<jaccarmac>
I see, as someone unfamiliar with said transcripts
Sovereign_Bleak has quit [Ping timeout: 276 seconds]
Guest34211 has quit [Ping timeout: 276 seconds]
<Devon>
jaccarmac: Surely you've glanced over someone's shoulder and been able to explain what they misunderstood.
BitPuffin|osx has joined #lisp
<jaccarmac>
Devon: Yes. Sorry, was referring to the specific case in point which I was taking perhaps more seriously than it was due :)
caseyowo has joined #lisp
ryanbw has quit [Remote host closed the connection]
nonlinear has quit [Remote host closed the connection]
<pjb>
Devon: well, we have a lot of natural intelligence around here that has been actively pattern matching and identifying and detecting the bad syndromes. We can tell you that paule32 is on the very bad path followed by gavino…
<pjb>
I mean, no programmer can be against a hands-on attitude, but you don't start writing the Shuttle software when you don't know your basic data structures..
<Devon>
Plenty of companies are happy to blow the customer's budget on degreed peons who can't hack their way out of a wet paper bag.
__main__ has quit [Read error: Connection reset by peer]
raynold has joined #lisp
<paule32>
it comes in my mind, that you talking about money? i will say: money is not all, i do programming/hacking for fun, i have a little non-profit firm .. more as a hobbit - no one can catch me for money ..
LiamH has joined #lisp
__main__ has joined #lisp
neoncontrails has joined #lisp
__main__ has quit [Read error: Connection reset by peer]
Oladon has quit [Read error: Connection reset by peer]
<emaczen>
pjb has informed me not to use optimize declarations in source files, and generally place an optimize form in your build application script.
<emaczen>
What is a good way to use optimizations though in development?
scymtym has quit [Ping timeout: 255 seconds]
knobo has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
<Bike>
local declarations should be fine
<emaczen>
Bike: what is the context of "local" here?
python476 has joined #lisp
<phoe>
(locally ...)
<pjb>
emaczen: while developping use (declaim (optimize (speed 0) (space 0) (debug 3) (safety 3)))
varjag has quit [Ping timeout: 248 seconds]
<phoe>
I guess
<phoe>
also what pjb said
<pjb>
emaczen: for production you can use (declaim (optimize (speed 3) (space 3) (debug 0) (safety 3))) ;<- but always keep safety 3!
<pjb>
otherwise you can as well program in C.
<emaczen>
pjb: I need some speed in my developping though
<Bike>
i meant any local declaration
<phoe>
emaczen: in development? nah
<phoe>
it will be fast enough for development in most cases
<Bike>
declarations other than pro/declaim
<phoe>
for production, you can optimize for speed.
Oladon has joined #lisp
<emaczen>
Where are you evaluating the (declaim (optimize ...)) form?
<pjb>
In the build or load script.
<phoe>
actually for SBCL you may want to restrict-compiler-policy, too, so other people's declarations that move safety/debug outside your defined values will have no effect
eudoxia has quit [Quit: Leaving]
<emaczen>
pjb: so in the init file for whichever implementation like .ccl-init.lisp? or .sbclrc?
<pjb>
in the rc file I put the development settings, since that's what I do 99% of the time.
<pjb>
In the build script for release, I put the production settings.
<phoe>
emaczen: for SBCL use sb-ext:restrict-compiler-policy
<phoe>
it's stronger than declaim
<pjb>
the build script for release use --norc or --no-userinit.
<pjb>
I mean, to build the release, I run the build script with --norc or --no-userinit.
__main__ has joined #lisp
<emaczen>
Ok, I'll try the safety settings in the buildrc
varjag has joined #lisp
orivej has joined #lisp
<raynold>
ahh it's a wonderful day
varjag has quit [Remote host closed the connection]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<shka>
hello
alpert has quit [Remote host closed the connection]
alpert has joined #lisp
alpert has quit [Ping timeout: 248 seconds]
vmonteco has joined #lisp
<vmonteco>
Hello! :)
okflo has quit [Remote host closed the connection]
__main__ has quit [Read error: Connection reset by peer]
<pjb>
paule32: you've been told to use emacs. There's a reason why.
<pjb>
paule32: emacs contains features such as auto-indent, that will indent you code "properly". Once it's properly indented, these kinds of errors will jump to your eyes.
<paule32>
i don't get slime work
<pjb>
Then do get it to work first.
<paule32>
ok
<pjb>
There are hundred of people here ready to help you having slime up and running.
angavrilov has quit [Remote host closed the connection]
<paule32>
so, i try to ask: where can i download the latest version of slime for sbcl ?
<pjb>
paule32: Click on the box in the matrix for the binary
<pjb>
paule32: or, since you already have a sbcl installed, you could as well download the source tarball, and compile it.
xaotuk has quit [Ping timeout: 268 seconds]
xaotuk1 is now known as xaotuk
Murii has quit [Ping timeout: 255 seconds]
<paule32>
ok
<paule32>
emacs seems to be install slime 2.19
xaotuk has quit [Quit: xaotuk]
<rk[ghost]>
before i go about moving things around so i can share to ask a question, i am trying to grasp using hunchentoot to post pictures. anyone have experience with this?