earl-ducaine has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 256 seconds]
<holycow>
thanks
holycow has quit [Quit: leaving]
Kevslinger has joined #lisp
lemo has joined #lisp
fikka has joined #lisp
lemo has quit [Changing host]
lemo has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
holycow has joined #lisp
X-Scale has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
vultyre has quit [Read error: Connection reset by peer]
vultyre has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
Arcaelyx_ has quit [Read error: Connection reset by peer]
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
smurfrobot has joined #lisp
troydm has joined #lisp
smurfrobot has quit [Ping timeout: 260 seconds]
BitPuffin has quit [Remote host closed the connection]
CrazyEddy has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
j0ni has quit [Ping timeout: 264 seconds]
ebrasca has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
mejja has quit [Quit: mejja]
meepdeew has quit [Remote host closed the connection]
biopandemic has quit [Quit: Quit.]
biopandemic has joined #lisp
CrazyEddy has joined #lisp
Kundry_Wag has joined #lisp
karlosz has quit [Quit: karlosz]
X-Scale has joined #lisp
fikka has joined #lisp
pierpal has joined #lisp
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
karlosz has joined #lisp
Ven`` has quit [Ping timeout: 256 seconds]
karlosz has quit [Client Quit]
fikka has quit [Ping timeout: 256 seconds]
karlosz has joined #lisp
pierpal has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
vultyre has quit [Quit: Leaving]
meepdeew has joined #lisp
vultyre has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
Ven`` has joined #lisp
holycow has quit [Quit: Lost terminal]
WhoTookMyName has joined #lisp
dddddd has quit [Remote host closed the connection]
equwal has quit [Ping timeout: 265 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
meepdeew has quit [Remote host closed the connection]
skapata has quit [Remote host closed the connection]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
pierpal has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
papachan has quit [Quit: Leaving]
Kundry_Wag has joined #lisp
dtornabene has quit [Quit: Leaving]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
Patternmaster has quit [Quit: leaving]
EvW has joined #lisp
loli has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
EvW has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 248 seconds]
Ven`` has quit [Ping timeout: 268 seconds]
Ven`` has joined #lisp
nymphet is now known as loli
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
meepdeew has joined #lisp
Neil__ has quit [Quit: Page closed]
fikka has joined #lisp
EvW1 has joined #lisp
paul0 has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
meepdeew has quit [Remote host closed the connection]
fikka has joined #lisp
smurfrobot has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 268 seconds]
<drmeister>
Is there any issue with ambiguous situations like (defun foo (x x x) (declare (ignore x)) ...)?
<drmeister>
When compiling things like this, if the lambda-list has a variable multiple times - the declare can't uniquely specify which bindings have declarations attached to them.
<mfiano>
That is not allowed anyway
edgar-rft has quit [Quit: Leaving]
meepdeew has joined #lisp
meepdeew has quit [Client Quit]
<pfdietz_>
I'm looking in the CLHS and I'm not seeing where it prohibits lambda list vars from have the same names.
<mfiano>
pfdietz_: Section 3.1.1 states, "A single name can simultaneously have more than one associated binding per environment, but can have only one associated binding per namespace.". So, (defun foo (x x ...) ...) should be an error.
fikka has joined #lisp
smurfrobot has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
anewuser has joined #lisp
fikka has joined #lisp
eminhi has joined #lisp
EvW1 has quit [Ping timeout: 260 seconds]
fikka has quit [Ping timeout: 264 seconds]
eschatologist has quit [Quit: ZNC 1.6.6+deb1 - http://znc.in]
eschatologist has joined #lisp
shka1 has joined #lisp
fikka has joined #lisp
sabrac has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
thinking has joined #lisp
loli1 has joined #lisp
renzhi has joined #lisp
pierpa has quit [Quit: Page closed]
Khisanth has quit [Ping timeout: 240 seconds]
<thinking>
Hey everyone. I have been thinking about the various polymorphisms, from parametric to ad-hoc to subtyping the ad-hoc and other mixtures, etc. and it's rather trippy for my brain at this point. How would you describe clos if you had to categorize it under a polymorphism wiki page with CL as one example lang?
light2yellow has joined #lisp
fikka has joined #lisp
<mfiano>
CLOS generic functions are a form of parametric polymorphism with some restrictions. All methods must have the same function signature, and you cannot dispatch on types, only classes and anything comparable with EQL. But it makes up for these shortcomings in many ways. CLOS is incredibly powerful.
light2yellow has quit [Quit: light2yellow]
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
edgar-rft has joined #lisp
vultyre has quit [Quit: Leaving]
<shka1>
good morning
Khisanth has joined #lisp
smurfrobot has quit [Ping timeout: 264 seconds]
Kevslinger has quit [Quit: Connection closed for inactivity]
<thinking>
Thanks mfiano
holycow has joined #lisp
dented42 has joined #lisp
fikka has joined #lisp
smasta has quit [Ping timeout: 260 seconds]
charh has quit [Quit: quit]
lemo_ has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
lemo has quit [Ping timeout: 240 seconds]
lemo_ is now known as lemo
pierpal has quit [Quit: Poof]
thinking has quit []
pierpal has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
karlosz has quit [Ping timeout: 240 seconds]
anewuser has quit [Quit: anewuser]
fikka has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
holycow has quit [Quit: Lost terminal]
logicmoo has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
<beach>
Good morning everyone!
jack_rabbit has joined #lisp
skapata has joined #lisp
<kenster>
Hey how do I define a generic for a method that will then be defined as an accessor in defclass?
<kenster>
(defgeneric ptr (self))
<kenster>
(ptr :accessor ptr :initarg :ptr)
<kenster>
attempt to add the method
<beach>
kenster: (defgeneric name (x)) (defgeneric (setf name) (new-value x))
<beach>
kenster: You could use Emacs abbrevs to have thx expand to "thank you very much"for instance.
<kenster>
I don't use irc in emacs
<kenster>
but that'd be funny, yeah
<beach>
So you are using the wrong IRC client if it doesn't let you do abbrevs.
loli1 has joined #lisp
<kenster>
I'm pretty sure weechat does, yeah. I use konversation for freenode because it's inconveinent to jumpnetwork on znc all the time, though I guess I could connect to znc/freenode, znc/rizon, etc.
jack_rabbit has quit [Ping timeout: 264 seconds]
JuanDaugherty has joined #lisp
jack_rabbit has joined #lisp
fikka has joined #lisp
<shka1>
this tutorial seems to eventually call CLIM:INVOKE-UPDATING-OUTPUT but there is no method available for arguments passed
* shka1
is confused
<beach>
shka1: Try asking in #clim. Maybe jackdaniel or loke could help you.
<beach>
shka1: I could help you, but I am dealing with some other emergencies right now.
pierpal has quit [Read error: Connection reset by peer]
<shka1>
i need to go to work in 30 minutes, i will ask in the evening
<beach>
Good plan.
<shka1>
beach: hopefully everything will turn good for you!
<beach>
Yeah, well, my day had a bad start. But it will get better. Thanks.
fikka has quit [Ping timeout: 265 seconds]
<shka1>
btw, i like how code is highlighted at common-lisp.net
<shka1>
it looks cool
Inline has quit [Read error: Connection reset by peer]
fikka has joined #lisp
pierpal has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
ofi has joined #lisp
flamebeard has joined #lisp
fikka has joined #lisp
<loke>
shkaIs ther code on common-lisp.net?
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
itruslove has quit [Remote host closed the connection]
giraffe has quit [Remote host closed the connection]
dmiles has joined #lisp
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
jinkies has quit [Ping timeout: 256 seconds]
shka1 has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
itruslove has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
giraffe has joined #lisp
eminhi has joined #lisp
skapata has quit [Remote host closed the connection]
ofi has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
ofi has joined #lisp
DonVlad has joined #lisp
eminhi has quit [Quit: leaving]
fikka has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
smurfrobot has joined #lisp
fikka has joined #lisp
smurfrobot has quit [Ping timeout: 260 seconds]
igemnace has joined #lisp
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 245 seconds]
loli1 has quit [Ping timeout: 265 seconds]
newbie has quit [Read error: Connection reset by peer]
dddddd has joined #lisp
mange has quit [Ping timeout: 256 seconds]
WhoTookMyName has quit [Ping timeout: 268 seconds]
raynold has quit [Quit: Connection closed for inactivity]
JuanDaugherty has quit [Quit: Exeunt]
nirved has joined #lisp
angavrilov has joined #lisp
fikka has joined #lisp
<beach>
Talk to me about the advantage of allocating object with dynamic extent on the stack, please. I wrote this to clear my thoughts: http://metamodular.com/dynamic-extent.pdf The real discussion starts around the middle of the second page (page 64) with "It is entirely possible..." and ends after the first line of the fourth page, so the entire thing is really only 1.5 pages.
daniel-s has joined #lisp
smurfrobot has quit [Remote host closed the connection]
<lieven>
on the basic issue, I suspect that with "modern" GC techniques, simply ignoring the declaration is fine
fikka has quit [Ping timeout: 260 seconds]
<beach>
That would be my guess. But I am open to arguments either way.
<lieven>
as a nitpick, I'm not convinced by your footnote on p. 64 that if the two functions are in the same compilation unit, it is guaranteed that the two will be redefined at the same time
<lieven>
somewhere the program can always call COMPILE to redefine stuff
smurfrobot has joined #lisp
<beach>
lieven: Yes, I totally agree. The Common Lisp HyperSpec allows for this assumption, but it prevents things like C-c C-c in SLIME from working, so I don't intend to take advantage of it.
<lieven>
well, I'm also not sure if you do this, barring any not-inline declarations, you're not obliged to honour your previous assertions
<beach>
Too many negations in that phrase for me. Can you give an example instead?
<lieven>
if you have declared NOT-INLINE, the compiler shouldn't assume too much
<beach>
Correct. The Common Lisp HyperSpec is clear about it I think.
hph^ has quit [Read error: No route to host]
<lieven>
if the compiler is allowed to inline, it could reasonably expect that any redefinition keeps the previous semantics wrt declarations
<beach>
I still don't intend to take advantage of it. At least not by default.
hph^ has joined #lisp
hph^ has quit [Max SendQ exceeded]
<lieven>
but I'm not sure all this is explicitly spelled out
hph^ has joined #lisp
hph^ has quit [Max SendQ exceeded]
<beach>
It is allowed to expect that but it may not be true.
hph^ has joined #lisp
hph^ has quit [Max SendQ exceeded]
<lieven>
well yeah, if you lie to the compiler, it may get its revenge
hph^ has joined #lisp
hph^ has quit [Max SendQ exceeded]
<beach>
Exactly.
hph^ has joined #lisp
<lieven>
there is a weird phrase in the DYNAMIC-EXTENT entry of the hyperspec: Most compilers would probably not stack allocate the argument to g in f because it would be a modularity violation for the compiler to assume facts about g from within f. Only an implementation that was willing to be responsible for recompiling f if the definition of g changed incompatibly could legitimately stack allocate the list argument
<lieven>
to g in f.
BitPuffin has joined #lisp
<beach>
Yes, I remember it.
random-nick has joined #lisp
<lieven>
this seems to give a compiler the right to track depencencies and recompile more stuff whenever it feels like it
<beach>
Let me look at the example again...
<beach>
Yes, I see.
fikka has joined #lisp
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
<beach>
I just did something very interesting...
<beach>
I created a function in SBCL that allocates a list that is declare DYNAMIC-EXTENT.
<beach>
It then calls another function with this list and then another. The last one just calls FIND passing this list. Not important exactly what they do.
<beach>
They are in the same compilation unit, so the compiler can assume that no individual function is redefinde.
<beach>
Now I do (trace <innermost-function> :break t) and I call the outermost function.
<beach>
In the debugger, I evaluate (defparameter *l* list) where list is the list with dynamic extent.
<beach>
I know have a list as the value of the special variable *l* that is allocated in a stack frame that no longer exists.
<beach>
Yes, if safety is a requirement, the debugger can not be allowed to inspect an object with dynamic extent.
<beach>
Er, an object that, as a result of having been determined to have dynamic extent, has been allocated on the stack.
theemacsshibe has joined #lisp
<beach>
As it turns out, I will have a similar problem with the SICL garbage collector. If an object that is allocated in a nursery is being inspected by a debugger running in a different thread, that object must be promoted first. Or else there will be a reference from one thread to the nursery of a different thread which would be a violation of an invariant I defined.
nckx has quit [Ping timeout: 265 seconds]
fikka has joined #lisp
nckx has joined #lisp
<theemacsshibe>
hi from mezzano
<beach>
Hello theemacsshibe! Nice!
<no-defun-allowed>
shut up, IRC alt of me
<theemacsshibe>
hi beach
<theemacsshibe>
either virtualbox graphics suck, i have configured something wrong or there are hurge GC pauses
theemacsshibe has quit [Remote host closed the connection]
<antoszka>
looks much better than last time i looked :)
<no-defun-allowed>
indeed it does
<no-defun-allowed>
i had demo 2, and demo 4 is amazing
<shka>
and you can play doom
<shka>
which is cool
<shka>
mezzano amazes me
<no-defun-allowed>
also quake
<beach>
Now we "just" need more applications. :)
<no-defun-allowed>
the clim benchmark is faster than on xquartz too
<no-defun-allowed>
let's test out quicklisp
<no-defun-allowed>
optima says `Not a parseable integer "asd"`.
<no-defun-allowed>
weird
routermater has joined #lisp
<no-defun-allowed>
seems to be an issue in mezzano.file-system:parse-namestring-using-host
fikka has joined #lisp
lumm has joined #lisp
<froggey>
quicklisp was a last-minute addition, I didn't test it too thoroughly
<froggey>
anaphora was the system I used for testing
<beach>
froggey: Impressive work.
<beach>
froggey: Did you start your crowdfunding for financing your ELS trip yet?
<beach>
froggey: In fact, you should write a paper for ELS about Mezzano.
<froggey>
thanks
<froggey>
I haven't, you think I should start now?
<beach>
Might as well.
<beach>
Now is a good time, given the excitement about the new release. :)
fikka has quit [Ping timeout: 240 seconds]
<froggey>
true
gigetoo has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
saki has joined #lisp
<no-defun-allowed>
very well done froggey, mezzano is amazing
<no-defun-allowed>
in my opinion SMP would be the next big step to make
saki has quit [Client Quit]
<froggey>
beach: I'm not sure what I'd write about, and I've never been good at that kind of thing...
saki has joined #lisp
<froggey>
no-defun-allowed: thanks. some SMP support exists, but is very buggy at the moment
m00natic has joined #lisp
<beach>
froggey: I could help you out. After all, a paper is max 8 pages, so you could have a summary of the elements of Mezzano: the compiler, the garbage collector, device drivers, graphics.
<beach>
You have 8 pages right there.
<beach>
froggey: There would be a "previous work" section, where you would mention Genera (of course) and Movitz.
orivej has quit [Ping timeout: 264 seconds]
<beach>
froggey: A "conclusions and future work" section where you state your plans.
<beach>
froggey: Oh, and you wrote a C compiler that generates Common Lisp or something like that?
<beach>
That's worth an entire section.
MrSleepy has joined #lisp
terpri has quit [Ping timeout: 240 seconds]
<MrSleepy>
Hello, do you guys know any good tools/methods that would work well in vim for formatting lisp source code? Lately I've been using astyle but the default option on my install doesn't play nicely with lisp comments.
fikka has quit [Ping timeout: 260 seconds]
<beach>
Doesn't SLIMV do that kind of stuff?
<shka>
it kinda amazes me
<shka>
froggey: you do this just casually? :D
wildbartty has quit [Remote host closed the connection]
wildbartty has joined #lisp
<jackdaniel>
beach: I'll let myself answer your question: froggey has written llvm->cl transpiler: https://github.com/froggey/Iota
<beach>
OK. See, that's publishable.
<pjb>
beach: the only case where dynamic-extend could make a significant difference IMO, is in presence of threads. But if you have an allocator that uses separate zones for the different threads, probably even not in this case.
<beach>
pjb: Good point.
<pjb>
In any case, I trust the compiler more than the programmer, so I never use those declarations.
<pjb>
(and tend to remove them when I find them).
<beach>
I tend to agree.
<pjb>
It's a maintaince headache, because the proof that those objects don't leak is never present, so if you touch the code, you have to reestablish them. Simpler to kill the declaration.
<beach>
Another very good point.
<froggey>
ok. I'll think about it. I have over half a year to get it done, right?
<beach>
Probably so. February is the typical deadline.
makomo has joined #lisp
<beach>
froggey: But if you finish a few weeks before that, I can read and help you fix it.
kajo has quit [Ping timeout: 248 seconds]
<MrSleepy>
beach, that would make sense if it does I played around with a couple plugins for vim like right now I have vim-slime. The usual setup I have is just vim running in tmux and a separate pane running sbcl or bash or whatever.
<froggey>
ok
<MrSleepy>
I will experiment more with them :]
<beach>
MrSleepy: I am not sure what that means. I guess you would have to talk with someone here who actually uses vim for Common Lisp programming.
kajo has joined #lisp
<beach>
froggey: The way I typically work is that I post early versions of articles here for comments. Then I get a ton of remarks from the nice and knowledgeable people here in #lisp. I then make several iterations until we have a good compromise. Finally, the nice people who commented get to be cited in the acknowledgments section.
<beach>
froggey: Even very early drafts usually get read and commented on.
fikka has joined #lisp
<froggey>
I see
<beach>
I don't want to nag you, but here is another reason: When hanging out here in #lisp, it is easy to think that the entire Common Lisp community is here. That is not the case. At ELS, you will find people who never use IRC, or perhaps just occasionally.
<beach>
Those people should be aware of Mezzano, in my opinion.
xantoz has quit [Read error: Connection reset by peer]
xantoz has joined #lisp
<MrSleepy>
beach, slimv and vim-slime are both plugins for vim. tmux is a terminal multiplexer, You can use it for features like tabs and panes and what not if your terminal doesn't provide those kinds of things.
brendyn has joined #lisp
<MrSleepy>
it works pretty well if you're stuck with no xserver or whatever which is neat
orivej has joined #lisp
<beach>
I see.
<froggey>
sure. I've noticed it gets a bunch of word-of-mouth coverage outside #lisp, but it's unlikely to reach everyone that way
fikka has quit [Ping timeout: 240 seconds]
<beach>
froggey: Yeah, the people who attend ELS are surprisingly ignorant of what is going on. :)
<beach>
I exaggerate of course. There are quite a few people who both come to ELS and hand out here.
<beach>
hang
<beach>
Time for a break it seems.
nsrahmad has joined #lisp
<froggey>
on a different topic: I use DYNAMIC-EXTENT declarations a bunch in the lower levels of mezzano, in the parts that support the GC & can't safely allocate
<froggey>
the main users are debug logging functions that take a &rest list of messages and with-mutex-locked which passes a dynamic-extent local function to call-with-mutex-locked (and some other similar macros)
trittweiler has quit [Ping timeout: 248 seconds]
<froggey>
I try to avoid it elsewhere because of the safety issue
nsrahmad has quit [Quit: Leaving]
xificurC has joined #lisp
<beach>
That's fine in my opinion.
<beach>
For SICL I plan to allow many things in "system code" that would not be allowed by default.
<beach>
Anyway, time for a break.
orivej has quit [Ping timeout: 244 seconds]
<schjetne>
beach: I was reminded of your programming language talk. My current job wants to give me full choice of tech, now I have to see if I dare suggest Common Lisp
Kundry_Wag has joined #lisp
ebrasca has quit [Remote host closed the connection]
<Spaceman77>
Hello. I am a backend web dev with an education in robotics. Currently i am planning to advance my proficiency in c++, however, time and time again I come across LISP and some sort of enlightenment that comes with "getting it".
<Spaceman77>
Is it worth learning it (by reading SICP), even if i will likely never use it in production?
<shka>
Spaceman77: what is more important, lisp has long history with robots
lumm has quit [Remote host closed the connection]
<jackdaniel>
Spaceman77: LISP is an old language. Common Lisp is one of its descendants (this channel is dedicated to this language)
<Spaceman77>
Wait a sec, roombas are programmed in Lisp?
<jackdaniel>
Spaceman77: it is worth learning this language, definetely. SICP learns scheme (yet another lisp dialect), and is an excellent book.
<shka>
honda's 90s android is programmed in lisp as well
<jackdaniel>
if you want to learn common lisp from really good author, read PAIP (paradigms of artificial intelligence) which was recently released to read for free
<jackdaniel>
there is also PCL (which is another great resource)
<jackdaniel>
minion: tell Spaceman77 about pcl
<minion>
Spaceman77: please see pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005).
al-damiri has joined #lisp
<LdBeth>
shka (IRC): it would be nice to have a dog sitting on that
<shka>
software for space shuttle manipulator is written in lisp as well
<Spaceman77>
My main focus in robotics has been computer vision. Not in object recognition as much as in localisation and navigation
<shka>
Spaceman77: as i said, lisp has long history with robotics
<Spaceman77>
I have also heard of unique metaprogramming capabilities in Lisp
<shka>
those exist
<Spaceman77>
jackdaniel: thank you for the resources!
<jackdaniel>
this comes as a natural consequence of language homoiconity: you may output code as data and use it in form of macros (for instance)
Kundry_Wag has quit [Remote host closed the connection]
<jackdaniel>
also Lisp is built in layers from a very simple concepts, that's why code generators are common among more proficient programmers
<jackdaniel>
full reflection of the system image is another great capability which allows metaprogramming (i.e via Meta-Object Protocol)
<Spaceman77>
What are some things you have made using CL?
<jackdaniel>
I rarely start projects from scratch (I'm more a contributor-kind of a person than reinvent-this-to-my-liking one)
<Spaceman77>
jackdaniel: hah, I am the complete opposite :)
<jackdaniel>
I'm sure you'll find many alike spirits in CL community (and I'm saying it with a tiny bit of sarcasm ;)
<jackdaniel>
one common misconception I'm going to debunk before you ask: Common Lisp is *not* functional programming language, it is a multi-paradigm one
<shka>
Spaceman77: froggey here made OS in lisp, and you can play doom on it :P, shinmera wrote drawning application in lisp called parasol...
<jackdaniel>
and OOP is the most commonly used paradigm (with a twist - functions are specialized on objects, not being part of them)
<Spaceman77>
jackdaniel: i knew about the paradigms, yeah
<jackdaniel>
interesting, this list has numerous applications written in CLIM but no CLIM implementation listed
<shka>
well, perhaps CLIM implementation is not considered to be application
<shka>
though it does include things that are clearly libraries
<shka>
anyway, you are perhaps unlikely to work for money in cl
<shka>
but chances are not 0%
<jackdaniel>
this is a fad; working for many in language of your choice is a matter of determination, not taking chances
<jackdaniel>
money
<shka>
well, ok
<shka>
anyway
<Spaceman77>
Yeah, the money and employability is another one. I could, as I said, spend time learning c++, and there are places where c++ is in demand still, but i have no clue about CL.
<shka>
Spaceman77: common lisp is fun, is portable, standard is stable, there is quicklisp so we have package manager that makes life easier
<Spaceman77>
Heck, in my country i barely see any job ads that are not JS/PHP/Java/C# or some ruby and python
<shka>
certainly worth playing with
orivej has joined #lisp
<schjetne>
shka: I will consider it. I need a nice DSL, and of course CL is known to excel at that.
<jackdaniel>
Spaceman77: https://lispjobs.wordpress.com/ this is a common resource. there is a few companies hiring CL programmers (some hire remotely too)
gector has quit [Read error: Connection reset by peer]
<shka>
at the very least it does not makes you angry enough to throw your computer screen out of the window :-)
<jackdaniel>
but indeed, if you have your own business, client rarely asks about language
<schjetne>
I'm living in deep Haskell and Erlang territory, those are interesting too.
gector has joined #lisp
<hjudt>
i want to serialize out objects. the way i currently do this is to create alists with printable representations, then pass that to cl-json:encode-json-alist-to-string. is there a more general way to generate the alist from the object? e.g. specifying a serialization function when defining an object slot?
<jackdaniel>
schjetne: do you use LFE by chance? [http://lfe.io/]
<schjetne>
No, but I've heard a lot of good about it
<jackdaniel>
hjudt: cl-store is a very good library for that
<jackdaniel>
hjudt: and has very fine coverage across implementations and object types
<jackdaniel>
(also, it is recommended in Common Lisp Recipes)
<shka>
it is great
<jackdaniel>
I'm getting back to my (paid, mundane, CL) task ;-) later
<hjudt>
thanks for the recommendation. my problem is this: i want to export to json because i can then also use these code paths for providing objects for the web (javascript).
<shka>
hjudt: maybe you can extend cl-store to handle json
<shka>
that's what i would try anyway
<hjudt>
ok, but sounds more complicated than writing methods for three or four classes to convert them to alists...
<shka>
hmm
<hjudt>
does anyone do direct conversion of obj->json instead of using alists?
<shka>
probabbly it is not more complicated to be honest
<hjudt>
i simply found alists an easy way to write and read back in
<jackdaniel>
if you are interested in serializing strictly to json, then yason is a good library with fine api and jsown is a *fast* library with not-so-fine syntax
chens has quit [Remote host closed the connection]
<shka>
wooha cl-store has example for handling python pickle format
<shka>
niiiiiiiiiice
<shka>
hjudt: cl-store seems to be designed around binary formats though
<hjudt>
looks like i could achieve what i need with yason could also do it with encode-object-slots and encode-object-element.
<hjudt>
but i will also want to read it back in, so still have to look that up
<hjudt>
anyway, thanks for the suggestion, i used to use base64 to encode/decode binary data. cl-store might prove to be a more convenient solution for this.
Kundry_Wag has joined #lisp
MoziM has quit [Quit: WeeChat 2.2]
groovy2shoes has quit [Excess Flood]
FreeBirdLjj has joined #lisp
groovy2shoes has joined #lisp
<d4ryus>
bw
<d4ryus>
urgh, wrong channel :/
<pjb>
ok
<pjb>
There's a fee for wrong channel messages here…
lumm has quit [Ping timeout: 256 seconds]
Ven`` has joined #lisp
FreeBirdLjj has quit [Ping timeout: 244 seconds]
on_ion has joined #lisp
Ven` has joined #lisp
<flip214>
pjb: did you trigger that one as well right now?
Ven`` has quit [Ping timeout: 256 seconds]
<beach>
schjetne: Good luck. It is pretty risky to suggest Common Lisp. You will be held responsible if anything goes wrong.
kajo has quit [Ping timeout: 240 seconds]
<schjetne>
beach: if I do I will certainly make sure there's a big benefit to choosing it in this particular case
<on_ion>
=)
orivej has quit [Ping timeout: 260 seconds]
lumm has joined #lisp
<beach>
schjetne: Yes, as long as you know what you are doing. :)
<beach>
schjetne: I am available as a consultant, should your project need it. :)
<schjetne>
Your talk certainly gave me some pointers. And I will consider accepting your consulting services.
jasmith has joined #lisp
<beach>
Great!
Spaceman77 has quit [Quit: Page closed]
<schjetne>
It's a big complicated distributed system, so it's probably wise to get some outside advice
<beach>
Hmm, yes I see.
<schjetne>
Control systems and sensors and stuff.
<beach>
Oh, nice.
<pjb>
The main risk is in the FFI part. The CL part won't pose any problem.
<beach>
I used to work for a division of what is now ABB with control systems as its main product.
Kevslinger has joined #lisp
<schjetne>
I'll take a 2 week vacation to hopefully get my PPL back on track and not think about control systems, but after that I might get in touch with you about that stuff.
<beach>
Good plan.
terpri has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
eli_oat has joined #lisp
varjag has joined #lisp
mindCrime has joined #lisp
LiamH has joined #lisp
eschulte has quit [Ping timeout: 240 seconds]
Ven` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mindCrime has quit [Ping timeout: 240 seconds]
krrrcks has quit [Ping timeout: 255 seconds]
jkordani has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
krrrcks has joined #lisp
fikka has joined #lisp
dwrngr has quit [Ping timeout: 264 seconds]
Bike has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
fourier has joined #lisp
v0|d has quit [Remote host closed the connection]
HeyFlash has joined #lisp
SenasOzys has joined #lisp
SenasOzys has quit [Remote host closed the connection]
fikka has joined #lisp
daniel-s has quit [Remote host closed the connection]
routermater has quit [Ping timeout: 240 seconds]
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
karlosz has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
nowhere_man has quit [Remote host closed the connection]
hellcode has quit [Remote host closed the connection]
bjorkintosh has quit [Read error: Connection reset by peer]
bjorkintosh has joined #lisp
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven`` has joined #lisp
adulteratedjedi has quit [Read error: Connection reset by peer]
adulteratedjedi has joined #lisp
fluke` has quit [Ping timeout: 240 seconds]
fluke` has joined #lisp
King-Calf has joined #lisp
lbeckman314 has joined #lisp
lbeckman314[m] has joined #lisp
EvW1 has quit [Ping timeout: 248 seconds]
lbeckman314 has quit [Client Quit]
kajo has joined #lisp
smasta has quit [Ping timeout: 265 seconds]
LiamH has quit [Quit: Leaving.]
nowhere_man has quit [Quit: Konversation terminated!]
nowhere_man has joined #lisp
Bike has quit [Ping timeout: 252 seconds]
vultyre has quit [Quit: Leaving]
cods has quit [Changing host]
cods has joined #lisp
DonVlad has quit [Remote host closed the connection]
hiroaki has joined #lisp
optikalmouse has quit [Quit: optikalmouse]
Jesin has joined #lisp
igemnace has quit [Remote host closed the connection]
nowhere_man is now known as nowhereman
nowhereman is now known as nowhere_man
nowhere_man has quit [Quit: Konversation terminated!]
nowhere_man has joined #lisp
mindCrime has quit [Ping timeout: 240 seconds]
nowhere_man has quit [Quit: Konversation terminated!]
nowhere_man has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
random-nick has quit [Read error: Connection reset by peer]
JuanDaugherty has joined #lisp
BitPuffin has quit [Remote host closed the connection]
gigetoo has joined #lisp
Kundry_Wag has joined #lisp
abeaumont has joined #lisp
pjb has quit [Read error: Connection reset by peer]
pjb has joined #lisp
<Copenhagen_Bram>
that lisp operating system, it can play doom but can it play freedoom?
* Copenhagen_Bram
realizes he was scrolled way up and spoke too late
Bike has joined #lisp
on_ion has joined #lisp
rumbler31 has joined #lisp
Ven`` has quit [Ping timeout: 260 seconds]
rumbler31 has quit [Ping timeout: 248 seconds]
Aetherda3n has joined #lisp
pierpal has quit [Ping timeout: 256 seconds]
<JuanDaugherty>
the dreaded necroscroll
<Aetherda3n>
I just joined. What are you referring to, Juan?
Ven`` has joined #lisp
<JuanDaugherty>
lol
<JuanDaugherty>
if it wasn't a joke, it's a publicly logged channel
fikka has quit [Ping timeout: 268 seconds]
<Aetherda3n>
So...was it a joke?
<JuanDaugherty>
Aetherda3n, if it wasn't a joke, it's a publicly logged channel
<Copenhagen_Bram>
Aetherda3n: JuanDaugherty is informing you that this channel has a public log so that you can read what was said before you joined, in case your message wasn't a joke
<Aetherda3n>
Oh, thank you
<Copenhagen_Bram>
You're welcome lol
hiroaki has quit [Ping timeout: 260 seconds]
zotan has quit [Quit: ZNC 1.6.5+deb1 - http://znc.in]
zotan has joined #lisp
smasta has joined #lisp
pagnol has quit [Ping timeout: 264 seconds]
figurelisp has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
dented42 has joined #lisp
stnutt has quit [Ping timeout: 260 seconds]
Kevslinger has quit [Quit: Connection closed for inactivity]
light2yellow has joined #lisp
stnutt has joined #lisp
Aetherda3n has left #lisp [#lisp]
dented42 has quit [Ping timeout: 260 seconds]
Ven`` has quit [Ping timeout: 248 seconds]
Ven` has joined #lisp
nanoz has joined #lisp
stnutt has quit [Ping timeout: 260 seconds]
stnutt has joined #lisp
sjl_ has quit [Ping timeout: 244 seconds]
figurelisp has quit [Ping timeout: 240 seconds]
Ven` has quit [Ping timeout: 248 seconds]
Denommus has quit [Remote host closed the connection]
figurelisp has joined #lisp
Jesin has quit [Quit: Leaving]
pagnol has joined #lisp
hhdave_ has quit [Quit: hhdave_]
cmatei has quit [Ping timeout: 265 seconds]
cmatei has joined #lisp
terpri has quit [Quit: Leaving]
hellcode has joined #lisp
<no-defun-allowed>
Copenhagen_Bram: you can probably replace DOOM.WAD in it
fikka has joined #lisp
pagnol has quit [Ping timeout: 244 seconds]
hh47 has joined #lisp
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 25.3.2)]
fikka has quit [Ping timeout: 268 seconds]
<Copenhagen_Bram>
no-defun-allowed: how does DOOM.WAD come with the doom engine, anyway? Isn't DOOM.WAD copyrighted?
dented42 has joined #lisp
hellcode has left #lisp [#lisp]
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Kundry_Wag has joined #lisp
EvW has joined #lisp
rozenglass has joined #lisp
jack_rabbit has joined #lisp
ozzloy has joined #lisp
ozzloy has quit [Changing host]
ozzloy has joined #lisp
smasta has quit [Ping timeout: 260 seconds]
SaganMan has quit [Quit: WeeChat 1.6]
hh47 has quit [Ping timeout: 265 seconds]
<aeth>
All outdated id Tech (Quake) engines before the acquisition by ZeniMax were GPLed, as were engines specific to certain key games (like Doom), but not the assets for those games. So generally you would have to provide your own assets from purchased or shareware copies (except for Wolfenstein: Enemy Territory, which is freeware, so you just download the assets from the official site)