smurfrobot has joined #lisp
Cymew has joined #lisp
z3t0 has quit [Ping timeout: 256 seconds]
JuanDaugherty has joined #lisp
wxie has joined #lisp
fikka has quit [Quit: leaving]
pmetzger has quit []
fikka has joined #lisp
smasta has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
rumbler31 has joined #lisp
razzy has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
nopolitica has quit [Quit: WeeChat 1.9]
Cymew has quit [Ping timeout: 256 seconds]
nopolitica has joined #lisp
Kyo91 has quit [Ping timeout: 268 seconds]
smurfrobot has quit [Remote host closed the connection]
Cymew has joined #lisp
wxie has quit [Remote host closed the connection]
fluke` has joined #lisp
zazzerino has joined #lisp
smasta has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
schoppenhauer has quit [Ping timeout: 256 seconds]
nopolitica has quit [Quit: WeeChat 1.9]
fikka has quit [Ping timeout: 256 seconds]
z3t0 has joined #lisp
schoppenhauer has joined #lisp
z3t0 has quit [Remote host closed the connection]
zaquest has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
eivarv has quit [Ping timeout: 248 seconds]
Cymew has joined #lisp
karswell has joined #lisp
Chream has joined #lisp
fluke` has quit [Remote host closed the connection]
eivarv has joined #lisp
Cymew has quit [Ping timeout: 248 seconds]
Tobbi has quit [Ping timeout: 276 seconds]
damke has joined #lisp
emaczen has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
Chream has quit [Remote host closed the connection]
damke_ has quit [Ping timeout: 264 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
Cymew has joined #lisp
<drmeister> Does anyone use slimv? How do you connect to a running swank server?
* drmeister is a daily 5+year slime/emacs user who switched 5 years ago after 20 years as a vi/vim user.
Pixel_Outlaw has joined #lisp
Cymew has quit [Ping timeout: 248 seconds]
Cymew has joined #lisp
aindilis` has joined #lisp
fikka has joined #lisp
Cymew has quit [Ping timeout: 276 seconds]
Cymew has joined #lisp
z3t0 has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
red-dot has joined #lisp
Cymew has joined #lisp
Bike has joined #lisp
aindilis` has quit [Read error: Connection reset by peer]
z3t0 has quit [Ping timeout: 256 seconds]
Tobbi has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
fisxoj has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
markong has quit [Ping timeout: 268 seconds]
smasta has joined #lisp
<borei> drmeister: will your presentation be recorder/available somehow ?
jason_m has joined #lisp
eivarv has quit [Quit: Quit]
Cymew has joined #lisp
<drmeister> borei: Not this one.
Cymew has quit [Ping timeout: 256 seconds]
<drmeister> That's the Clasp source tree visualized using "gource" (gource.io)
<drmeister> blue (.cc files) red (.h files) green (lisp files) white (Dockerfiles/scripts)
Cymew has joined #lisp
_iviv_ has joined #lisp
varjag has joined #lisp
ckonstanski has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 256 seconds]
varjag has quit [Ping timeout: 248 seconds]
Cymew has joined #lisp
openthesky has joined #lisp
wxie has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 260 seconds]
smasta has quit [Ping timeout: 256 seconds]
wxie has quit [Remote host closed the connection]
Cymew has joined #lisp
wxie has joined #lisp
pierpa has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
shrdlu68 has joined #lisp
pyface has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
orivej has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
jstypo has quit [Read error: Connection reset by peer]
Cymew has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
jmercouris has quit [Ping timeout: 256 seconds]
eschatologist has quit [Ping timeout: 264 seconds]
eschatologist has joined #lisp
razzy has joined #lisp
razzy has quit [Client Quit]
anon_ has quit [Read error: Connection reset by peer]
<shrdlu68> How widely used are non-free implementations, and what is attractive about them over free implementations?
jstypo has joined #lisp
peterhil` has quit [Ping timeout: 240 seconds]
fisxoj has quit [Quit: fisxoj]
peterhil has joined #lisp
peterhil has quit [Excess Flood]
ghard` has joined #lisp
ghard has quit [Remote host closed the connection]
razzy has joined #lisp
peterhil has joined #lisp
<aeth> shrdlu68: Probably hard to tell because this is Freenode, and that gives us a skewed view.
shrdlu68 has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
<aeth> shrdlu68: The advantages of proprietary CLs are, afaik: (0) IDEs that aren't emacs, (1) graphics toolkits, (2) standalone binaries with tree shaking.
shrdlu68 has joined #lisp
<Pixel_Outlaw> tree shaking?
<aeth> shrdlu68: The advantages of proprietary CLs are, afaik: (0) IDEs that aren't emacs, (1) graphics toolkits, (2) standalone binaries with tree shaking.
razzy has quit [Quit: leaving]
<aeth> essentially, remove what you don't use and get lighter binaries/runtimes
<aeth> Not too surprising that the idea came from Lisp. You're probably not going to use the majority of the large language in any application.
smurfrobot has quit [Ping timeout: 268 seconds]
ebzzry has joined #lisp
dddddd has quit [Ping timeout: 252 seconds]
<Pixel_Outlaw> Seems like with functions being first class data types that would be difficult since they could be bound and executed at runtime.
ghard` has quit [Read error: Connection reset by peer]
Arcaelyx has joined #lisp
<Pixel_Outlaw> You may have a slot in a CLOS instance a user is allowed to assign but may not.
<shrdlu68> Tree-shaking sounds like a rather attractive feature. Is is particularly difficult to implement?
<aeth> Oh, I forgot. There are some other value-added things that a proprietary CL might have. They might embed a database or a Prolog, etc.
<sjl> drmeister: a few of us have switched to VLIME from SLIMV, so that's something to check out as well
* sjl goes afk
fikka has quit [Ping timeout: 248 seconds]
<aeth> shrdlu68: If no one can answer your question, you could try asking in the implementations' IRC channels about what it would take in a particular implementation.
<aeth> There probably isn't an answer that applies to every implementation.
<drmeister> sjl: How would you compare vlime to slimv to slime?
<drmeister> DUH
<shrdlu68> aeth: Ok.
fikka has joined #lisp
d4ryus1 has joined #lisp
mastrofrancesco has joined #lisp
nullniverse has joined #lisp
FreeBirdLjj has joined #lisp
damke has quit [Ping timeout: 264 seconds]
d4ryus has quit [Ping timeout: 256 seconds]
asarch has joined #lisp
nyef has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
damke has joined #lisp
karswell has quit [Read error: No route to host]
FreeBirdLjj has joined #lisp
impulse has joined #lisp
mastrofrancesco has quit [Read error: Connection reset by peer]
_iviv_ has quit [Ping timeout: 256 seconds]
FreeBirdLjj has quit [Ping timeout: 256 seconds]
jason_m has quit [Ping timeout: 248 seconds]
wxie has quit [Remote host closed the connection]
Karl_Dscc has quit [Remote host closed the connection]
krwq has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
damke has quit [Ping timeout: 264 seconds]
fikka has quit [Ping timeout: 240 seconds]
damke has joined #lisp
nowhereman_ has joined #lisp
fikka has joined #lisp
nowhere_man has quit [Ping timeout: 256 seconds]
zazzerino has quit [Remote host closed the connection]
ckonstanski has joined #lisp
pagnol has quit [Ping timeout: 264 seconds]
<pierpa> shrdlu68: commercial implementations all have free limited versions to try, so just try them
openthesky has quit [Quit: Leaving.]
Oladon has joined #lisp
pyface has quit [Quit: Leaving]
turkja has joined #lisp
_6pedrosa9_ has joined #lisp
dieggsy has quit [Remote host closed the connection]
dieggsy has joined #lisp
<pfdietz> The Lispworks on is 6 years old...
<pfdietz> one
Chream has joined #lisp
voidlily has quit [Ping timeout: 248 seconds]
Cymew has joined #lisp
_6pedrosa9_ has quit [Remote host closed the connection]
earl-ducaine has joined #lisp
_6pedrosa9_ has joined #lisp
Cymew has quit [Ping timeout: 252 seconds]
rumbler31 has quit [Remote host closed the connection]
<rme> Somehow, the LispWorks people are able to make a living selling a CL implementation. I think that's amazing (and admirable).
<rme> At least two.
_6pedrosa9_ has quit [Remote host closed the connection]
<pjb> Xcode or Visual Studio developers must be more like around 2000, each…
<rme> And Clozure's business has never been selling a CL implementation (namely Clozure CL) as a product.
<pjb> Indded, they cheated with consulting. (But Franz does consulting too AFAIK, and probably Lispworks also).
lnostdal has quit [Ping timeout: 255 seconds]
varjag has joined #lisp
<rme> Clozure's "cheating by consulting" paid the bills me for 7 or 8 years. :-)
voidlily has joined #lisp
xrash has joined #lisp
varjag has quit [Ping timeout: 256 seconds]
zaquest has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 248 seconds]
<pjb> rme: compute the number of license you would have to sell to have the same income!
<pjb> and imagine the improvement on the lisp ecosystem this would represent!
<aeth> pjb: There are a surprising number of commerical Lisps. At least Allegro, LispWorks, Scieneer, and mocl. Genera might also still count, since I think it's still being sold.
<aeth> And those are just the ones I could find.
<aeth> (mocl is a mobile commerical Lisp)
<JuanDaugherty> a new plot line for huis clos
<JuanDaugherty> and just as you found them they sold out to allegro
<pierpa> I think Lispworks thrives on their Xanalys partners?
dddddd has joined #lisp
fikka has joined #lisp
voidlily has quit [Ping timeout: 256 seconds]
_6pedrosa9_ has joined #lisp
<rme> If you can get $3000/yr/copy for 200 or 300 copies, you'd be doing OK. You won't be earning big money, but that would be enough for a sustainable little business.
_iviv_ has joined #lisp
shka has joined #lisp
<rme> But this isn't #lisp-business.
<pjb> rme: that said if the business sells free-software implementation, it remains in the charter AFAIK.
_6pedrosa9_ has quit [Read error: Connection reset by peer]
<JuanDaugherty> .6 - .9 million USD is big money to me
<JuanDaugherty> and there ain't no damn miss ann and mr charlie lisp channel
<rme> For one person, sure, but that'd be enough for three people to do fairly well.
<pierpa> it's big money for a single person business. Not for a company
<JuanDaugherty> that's why your class is currently lost, unreasonable expectations
<rme> My class?
quazimodo has quit [Ping timeout: 264 seconds]
<JuanDaugherty> presuming you are a worker and not a firm
_6pedrosa9_ has joined #lisp
<aeth> With that kind of yearly money, you'd get... what? 4 employees?
<JuanDaugherty> so a firm in aspiration, the usual thing
<JuanDaugherty> i wouldn't get no damn employees, ever. contractors at most
ahungry has joined #lisp
bkst has quit [Ping timeout: 264 seconds]
bkst has joined #lisp
_iviv_ has quit [Ping timeout: 256 seconds]
<JuanDaugherty> aka 'a class conscious peer worker'
fikka has quit [Ping timeout: 248 seconds]
nowhere_man has joined #lisp
atrus7 has joined #lisp
shrdlu68 has quit [Read error: Connection reset by peer]
voidlily has joined #lisp
nowhereman_ has quit [Ping timeout: 276 seconds]
schoppenhauer has quit [Ping timeout: 240 seconds]
schoppenhauer has joined #lisp
arescorpio has joined #lisp
fikka has joined #lisp
ckonstanski has quit [Remote host closed the connection]
atrus7 has quit [Ping timeout: 240 seconds]
<pjb> JuanDaugherty: 0.9 million USD is barely 4 engineer.year.
<pjb> JuanDaugherty: it's peanuts for a corporation.
<pjb> JuanDaugherty: remove taxes, overhead, shareholders' share, I'm not even sure you can pay 2 engineers with that…
<JuanDaugherty> ok
dieggsy has quit [Changing host]
dieggsy has joined #lisp
<pjb> And contractors are not cheaper than employeers. The advantage of contractor is that you don't have to pay them when you don't have work for them.
<pjb> s/eers/ees/
<JuanDaugherty> right, it's a clean tx
wxie has joined #lisp
<pjb> JuanDaugherty: this is why startup work on a noodle-basis at first…
<JuanDaugherty> which is why the major firms virtually all supplement their wage slaves with contractors
<pjb> Yes, to adapt the work load, (and also, to benefit from better and rarer competencies).
<wxie> Hi, are you self-employeed?
<pjb> Yes.
<wxie> From the very beginning?
<pjb> One could say that. Since a long time.
<wxie> Cool, do you hire anybody else?
<pjb> Nope. Never had a project big enough to warrant it.
<loke> pjb: WHat kind of buffer do you have? In the sense that if you stopped getting contracts tomorrow, how long would you last before having to look for wage-slavery?
<wxie> How did you get your first project?
<JuanDaugherty> however to directly deal with free labor would be like tolerating the striking of a white man, so they virtually all deal with front firms that actually hire the contractors
<pjb> loke: of course it's variable. From a few months to almost one year, depending on the previous project…
<loke> I see.
<pjb> wxie: well, it was so long ago, I don't know if it would still be meaningful. Basically, at that time, there were so few programmers, that just announcing you were one, you'd get calls.
<loke> That means I have enough buffer in cash (about a year or two on current burn-rate) to actually go ahead and do what you're doing.
<wxie> pjb: Thanks. Did they offer you a position?
<JuanDaugherty> and even in 2018 said firms, which uniformly add nothing to the labor they resell, in general, operate at unknown markups
<pjb> JuanDaugherty: And foremost, to deal with the details of the hiring process. Only programmers can hire programmers; customers rarely are in the programming business.
<pjb> wxie: it happens some times. But it's not worth it, since being employed is usually being paid less…
<pjb> JuanDaugherty: it's not the worst: you may be at the end of a long chain of subcontractors…
<JuanDaugherty> the firms that hire contract labor are almost always either as their main line of biz or defacto in IT
<JuanDaugherty> in this time virtually every firm is more or less
<JuanDaugherty> uh, that may be one thing that's changed somewhat, more parties than 3, 4 at most
<pjb> For example, a bank wouldn't care hiring programmers. Instead they contract with a company to furnish the programmers. This company may be lazy and hire head hunters to find them, and so on.
<wxie> pjb: ok.
<loke> pjb: Actually, many banks have their own programmers. Some banks have more than others.
<loke> pjb: Certain banks have more well-staffed development teams than major banking software makers.
<pjb> Also for the bank, if they need to change the work load, or need to replace a programmer, it's simplier for them to delegate the HR problems to the contracted company.
saki has quit [Quit: saki]
<aeth> pjb: Do you ever use Common Lisp professionally?
<JuanDaugherty> 4 or 5 party deals used to be fairly common
<pjb> Of course, a company that realize that software is the core of their know-how would want to have the development done in-house…
saki has joined #lisp
_iviv_ has joined #lisp
<pjb> But they're not often that smart.
<pjb> aeth: it occurs.
<wxie> pjb: Do you negotiate with your customer for using GNU GPL, etc.?
<JuanDaugherty> no they do realize it
<pjb> wxie: yes: it's excluded.
<JuanDaugherty> but wage slaves just don't perform that well
<JuanDaugherty> and of course they're gonna be burnt out for the next crop
<JuanDaugherty> in 5-10 y generations
<pjb> wxie: in general, you can use MIT or BSD -like license, but if you want to contribute back, you have to go thru their legal departments, and you never hear back from them.
<JuanDaugherty> there is in fact no #lisp-business but this ain't it either
<pjb> wxie: in any case, it's always case-by-case. It depends on a lot of factors.
<wxie> pjb: sure
<wxie> If you choose GNU GPL, will they pay less comparing to non-free license?
<beach> Good morning everyone!
<pjb> wxie: first, the software is usually owned by the customer.
<pjb> wxie: if you remain the owner of the software, then you can license it as you wish. Very few (ie. none) customers are aware enough of the licensing question to care.
<pjb> wxie: GPL is worth more to the user, since they could resell it if they wanted.
<wxie> pjb: Understand.
<wxie> pjb: Good luck in 2018 for you.
<pjb> wxie: basically, if you sell a proprietary license to your software, you can sell cheap a non-exclusive license, but then you can sell copies to their competition!
<pjb> wxie: Thanks
fikka has quit [Ping timeout: 248 seconds]
jdtcookie has joined #lisp
<wxie> pjb: I do not have any software to sell, and would never sell any under non-free license.
fikka has joined #lisp
_6pedrosa9_ has quit [Remote host closed the connection]
<wxie> pjb: Maybe we can think over a time-bounded free license: if the customer owns the software, she should agree that you can publish it under free license after a certain time.
Oladon has quit [Quit: Leaving.]
_6pedrosa9_ has joined #lisp
BitPuffin has joined #lisp
damke_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
wxie has quit [Ping timeout: 256 seconds]
nullman has quit [Ping timeout: 264 seconds]
nullman has joined #lisp
<borei> hi all
<beach> Hello borei.
<Xach> Shinmera: Thanks. I didn't realize that's how it works. The example in the readme didn't drive it home for me.
<borei> read some perfomance reports in regards to matrix multiplication and CPU performance. found that what i got now is 1% of possible performance
<borei> there is LINPACK tests that show >100GFlops on i7 type CPUs
<borei> so my question would be - is such performance not reachable using lisp ?
<beach> borei: I think you are working in a highly competitive domain. A lot of smart people with a lot of money have worked on this problem for a very long time.
<borei> unless you are using CFFI bindings to the library ?
nowhere_man has quit [Ping timeout: 240 seconds]
khisanth_ has quit [Ping timeout: 240 seconds]
<beach> borei: I don't think such performance is reachable using only the standardized features of any language, Common Lisp included.
<borei> how are they getting such numbers
<beach> I don't know.
<beach> But you would need both threads and SIMD instructions at least.
zaquest has joined #lisp
<beach> And you would need good algorithms. Not the naive one you are using.
<borei> with threads i can x4 (at least on mine computer)
<borei> you can't go better then O(n^2.8)
<beach> Like I said, you have chosen a very competitive domain. You have a lot of reading to do if you want to compete.
smurfrobot has joined #lisp
<borei> yeah, that is for sure
nowhere_man has joined #lisp
sjl has quit [Ping timeout: 276 seconds]
_6pedrosa9_ has quit [Remote host closed the connection]
_6pedrosa9_ has joined #lisp
<pierpa> btw, wikipedia says the best known algorithm for matrix multiplication is O(n^2.3728639)
<pjb> It's worth implementing it, it looks like. (/ (expt 1000 2.3728639) (expt 1000 3)) #| --> 0.013139899 |#
khisanth_ has joined #lisp
anon_ has joined #lisp
<beach> Bigger difference than I had expected.
<rme> IIRC, the magnitude of the constant factor is so high for the O(n^2.4) algorithm that it is totally impractical.
<pierpa> yes, true
<pjb> rme: it all depends on your N.
fikka has quit [Ping timeout: 256 seconds]
<pjb> Of course, if you're doing 4x4 it's probably not worth it. But for 1000 or 1000000, I'd bet any overhead is worth it.
<rme> Strassen's algorithm, which is O(n^2.8) IIRC, is actually worth it for relatively small matrices. But I'm remembering this from quite a while ago.
_6pedrosa9_ has quit [Remote host closed the connection]
<pierpa> I heard Prof Romani (whose algorithm was for a period of time, in the '80s the best known) talk about this topic.
nika has joined #lisp
<pierpa> his opinion was that algorithms asyntotically faster than Strassen are not usable in practice
<pierpa> *asymptotically
<beach> rme: You know moore33, right?
<rme> yes indeed
<rme> I've been in touch with him already.
<beach> Ah, OK.
<rme> We all had lunch at your place a couple of years ago.
<pjb> Well, "However, the constant coefficient hidden by the Big O notation is so large that these algorithms are only worthwhile for matrices that are too large to handle on present-day computers." so perhaps we'll have to wait a little ;-)
_6pedrosa9_ has joined #lisp
<beach> rme: Yes, I seem to remember something like that.
<rme> It was a very good lunch.
<beach> Heh, thanks!
Bike has quit [Quit: Lost terminal]
fikka has joined #lisp
damke has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
arescorpio has quit [Excess Flood]
pierpa has quit [Quit: Page closed]
smurfrobot has quit [Remote host closed the connection]
groovy2shoes has quit [Ping timeout: 252 seconds]
Kyo91 has joined #lisp
nowhereman_ has joined #lisp
nowhere_man has quit [Ping timeout: 260 seconds]
LocaMocha has joined #lisp
groovy2shoes has joined #lisp
ahungry has quit [Remote host closed the connection]
asarch has quit [Quit: Leaving]
fikka has quit [Ping timeout: 276 seconds]
dieggsy has quit [Ping timeout: 240 seconds]
LocaMocha is now known as Sauvin
fikka has joined #lisp
jstypo has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
damke has quit [Ping timeout: 264 seconds]
_6pedrosa9_ has quit [Remote host closed the connection]
smurfrobot has quit [Remote host closed the connection]
_6pedrosa9_ has joined #lisp
vlatkoB has joined #lisp
jstypo has joined #lisp
Chream has quit [Ping timeout: 268 seconds]
raynold has quit [Quit: Connection closed for inactivity]
Pixel_Outlaw has quit [Quit: Leaving]
fikka has quit [Ping timeout: 248 seconds]
<Shinmera> Xach: Yeah, I realise that should be clarified. I can also see a point to your attempted use-case, but I don't know if it would lead to more or less confusion in the long run.
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
red-dot has joined #lisp
_6pedrosa9_ has quit [Remote host closed the connection]
aindilis has joined #lisp
fikka has joined #lisp
_6pedrosa9_ has joined #lisp
borei has quit [Ping timeout: 240 seconds]
varjag has joined #lisp
_6pedrosa9_ has quit [Remote host closed the connection]
_6pedrosa9_ has joined #lisp
varjag has quit [Ping timeout: 276 seconds]
damke has joined #lisp
Murii has joined #lisp
_mjl has joined #lisp
JuanDaugherty has quit [Ping timeout: 248 seconds]
shka has quit [Ping timeout: 256 seconds]
krwq has quit [Remote host closed the connection]
smurfrobot has joined #lisp
dddddd has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
safe has joined #lisp
smurfrobot has quit [Remote host closed the connection]
_6pedrosa9_ has quit [Remote host closed the connection]
_6pedrosa9_ has joined #lisp
orivej has quit [Ping timeout: 264 seconds]
nowhereman_ has quit [Ping timeout: 240 seconds]
smurfrobot has joined #lisp
terpri has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
terpri has quit [Ping timeout: 256 seconds]
pvaneynd has joined #lisp
loginoob has joined #lisp
<loginoob> I don't know lisp and javascript and i heard someone in my office saying js is a lot like lisp. Is it true?if it is then how?
<Shinmera> It's not.
<Shinmera> But everyone wishes it was, so I can understand the indulgence in delusions.
<loginoob> Can you explain me in simple way how
<loginoob> By simple i mean not using any js or lisp terminology
Arcaelyx has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<loginoob> If it's possible
<Shinmera> Okey: JS is a horrible mess of a language that was born out of a mistake. Common Lisp is a carefully crafted language designed by a committee of experienced and intelligent people.
<beach> I don't know JavaScript, but I think I have heard that its object system is prototype based as opposed to that of Common Lisp that is class based.
<loginoob> Ok
<Shinmera> People like to think that JS is like Lisp because it has closures, but almost every language nowadays has closures, so really that's not an argument.
<beach> And I don't think JavaScript is homoiconic.
<Shinmera> It is not.
<beach> What about things like rational numbers? Does JavaScript have them?
<loginoob> Yes i have read that word before homoiconic. What does it mean
<Shinmera> JS only has floats.
<Shinmera> Not even integers.
<beach> Shinmera: I see.
<beach> loginoob: There appears to be quite a lot of differences.
<loginoob> Thank you for the explanation and time
<beach> Anytime.
<loginoob> I am new to programming and i trying to learn haskell first and then i will learn lisp
<beach> Good luck.
<loginoob> Ty
<beach> Ywlcm
jackdaniel has quit [Remote host closed the connection]
TeMPOraL has quit [Quit: WeeChat 1.9.1]
uint has quit [Remote host closed the connection]
<loginoob> Code can be treated as data. Is this ex correct of former?We can add a functionality to emacs by writing lisp macros.
<beach> loginoob: Emacs is written in Emacs Lisp. This channel is dedicated to Common Lisp.
alexmlw has joined #lisp
<beach> loginoob: Common Lisp macros provide a mechanism for syntactic abstractions that is absent in most other languages.
<loginoob> But is the above example correct for code can be treated as data
<beach> Common Lisp macros manipulate code as data, yes.
<loginoob> Nice
<beach> But most functionality is provided not by macros but by functions, classes, etc.
<loginoob> Ok
Karl_Dscc has joined #lisp
<beach> Macros are used when new syntax is desired. One can view macros as a way of programming the compiler to recognize new special forms.
nullman has quit [Ping timeout: 256 seconds]
nullman has joined #lisp
<beach> A "special form" is a form that is typically fixed in most languages, such as WHILE or FOR or IF. In other words, it has an evaluation rule that is different from that of a function call, so it can't be programmed as a function.
<beach> In Common Lisp, macros make it possible to create new operators that have a specific evaluation rule.
<beach> So in most languages, it would be impossible to create a new operator like for instance IFNOT that reverses the order of the THEN and ELSE branches. But in Common Lisp it is trivial to create such a thing.
<beach> loginoob: Also, some languages such as C claim to have macros, but those macros are text transformers, making it very hard to create robust and correct macros.
<beach> Common Lisp macros work on code as S-expressions which is how Common Lisp defines the internal representation of code.
damke_ has joined #lisp
<loginoob> Why does "one can view macros as" take me to google maps showing my location?
fikka has quit [Ping timeout: 256 seconds]
damke has quit [Ping timeout: 264 seconds]
<loginoob> Did i ask a stupid question
fikka has joined #lisp
mishoo has joined #lisp
eschatologist has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Remote host closed the connection]
jackdaniel has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
<beach> loginoob: It was off topic.
fikka has joined #lisp
<aeth> Lisp has syntax made from s-expressions (with lists made from conses; macros follow directly from this), symbols, a read-eval-print-loop, garbage collection, closures, the numeric tower, etc.
<aeth> Some things like REPLs, GC, and closures are in most languages now so they're not really notable features anymore.
fikka has quit [Ping timeout: 256 seconds]
<aeth> A lot of other things are still (afaik) rare outside of Lisp, e.g. the numerical tower. https://en.wikipedia.org/wiki/Numerical_tower
<aeth> That's what people were talking about when they said JS just has (double) floats and doesn't have rational numbers.
d4ryus1 is now known as d4ryus
<aeth> In CL (/ 4 3) is 4/3, compared with 4 / 3 producing 1 (e.g. Python 2) or 1.3333333333333333 (most scripting languages, including JavaScript)
fikka has joined #lisp
terpri has joined #lisp
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
JuanDaugherty has joined #lisp
<loginoob> only fractions with denominator which has power of 2 can be stored finitely in binary form ?
<beach> Any particular rational number can be stored finitely.
<aeth> loginoob: I think you're thinking about floating point.
<loginoob> Yes
<Shinmera> rational numbers require finite storage. irrational numbers require infinite storage.
<loginoob> Then why not every language says 0.1+0.2 /= 0.3
z3t0 has joined #lisp
<beach> loginoob: That's a very different question.
<loginoob> Ok
<beach> loginoob: Usually, languages store those numbers as floating point binary.
<beach> loginoob: That is true for Common Lisp as well.
<beach> Since 0.1 and 0.2 do not have exact representations in binary floating point, the sum will not be exactly 0.3.
<loginoob> Ok
<beach> loginoob: When we say "rational numbers" in relation to Common Lisp, we mean numbers that are stored as such, with exact values, so that 1/3 * 3 = 1 exactly as an integer.
<aeth> You can express any rational, as long as you're willing to store it as arbitrarily long data. e.g. (/ (expt 2 320) (1+ (expt 2 320))) produces a very long rational number in CL. Try to convert it to a double float and you'll just get 1.0d0 because it's too big for the finite representation of double float.
<aeth> Afaik, a rational is just two bignums.
<aeth> (Well, in this case.)
fikka has joined #lisp
<Shinmera> A rational is two integers, which may or may not be bignums.
<aeth> Yes.
z3t0 has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 260 seconds]
smurfrobot has quit [Remote host closed the connection]
fikka has joined #lisp
loginoob has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
pvaneynd_ has joined #lisp
fikka has joined #lisp
pvaneynd has quit [Ping timeout: 240 seconds]
loginoob has joined #lisp
jackdaniel has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 256 seconds]
jackdaniel has joined #lisp
groovy2shoes has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
raydeejay has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
shrdlu68 has joined #lisp
fikka has joined #lisp
loginoob has quit [Ping timeout: 276 seconds]
_6pedrosa9_ has quit [Remote host closed the connection]
random-nick has joined #lisp
damke has joined #lisp
_6pedrosa9_ has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
razzy has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
damke_ has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
damke has quit [Ping timeout: 264 seconds]
damke_ has quit [Ping timeout: 264 seconds]
safe has quit [Read error: Connection reset by peer]
fikka has joined #lisp
porky11 has joined #lisp
<porky11> hi
hhdave has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
_6pedrosa9_ has quit [Remote host closed the connection]
<JuanDaugherty> yello
_6pedrosa9_ has joined #lisp
hhdave has quit [Read error: Connection reset by peer]
fikka has joined #lisp
pagnol has joined #lisp
wxie has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
hhdave has joined #lisp
vyzo has quit [Quit: Leaving.]
vyzo has joined #lisp
fikka has joined #lisp
_6pedrosa9_ has quit [Remote host closed the connection]
_6pedrosa9_ has joined #lisp
damke_ has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
nullman has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
nullman has joined #lisp
msb has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 248 seconds]
_6pedrosa9_ has quit [Remote host closed the connection]
msb has joined #lisp
_6pedrosa9_ has joined #lisp
wxie has quit [Remote host closed the connection]
python476 has joined #lisp
<phoe> hey
orivej has quit [Ping timeout: 240 seconds]
<JuanDaugherty> ftr, there are a number of famous relations between two integers, so it's not just, it's them and that relation
markong has joined #lisp
fikka has joined #lisp
_6pedrosa9_1 has joined #lisp
_mjl has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 248 seconds]
_6pedrosa9_1 has quit [Read error: Connection reset by peer]
_6pedrosa9_ has quit [Ping timeout: 256 seconds]
_6pedrosa9_1 has joined #lisp
cuso4 has quit [Ping timeout: 256 seconds]
hiroaki has quit [Ping timeout: 248 seconds]
<Shinmera> Xach: I updated the readme with an additional note about it. Hopefully it's clearer now.
cuso4 has joined #lisp
fikka has joined #lisp
varjag has joined #lisp
shka has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
_6pedrosa9_1 has quit [Remote host closed the connection]
fikka has joined #lisp
damke has joined #lisp
_6pedrosa9_ has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
_6pedrosa9_ has quit [Remote host closed the connection]
_iviv_ has quit [Remote host closed the connection]
_6pedrosa9_ has joined #lisp
_6pedrosa9_ has quit [Remote host closed the connection]
scymtym has quit [Ping timeout: 256 seconds]
_6pedrosa9_ has joined #lisp
nirved has joined #lisp
_6pedrosa9_ has quit [Remote host closed the connection]
EvW1 has joined #lisp
nowhereman_ has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
shrdlu68 has quit [Ping timeout: 248 seconds]
pvaneynd has joined #lisp
fittestbits1 has left #lisp [#lisp]
pvaneynd_ has quit [Ping timeout: 276 seconds]
nowhere_man has joined #lisp
nowhereman_ has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 256 seconds]
scymtym has joined #lisp
shrdlu68 has joined #lisp
SAL9000_ is now known as SAL9000
fikka has joined #lisp
Murii has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 265 seconds]
<Xach> tusen tack
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
Bike has joined #lisp
pvaneynd_ has joined #lisp
pvaneynd has quit [Ping timeout: 240 seconds]
eschatologist has joined #lisp
red-dot has joined #lisp
fikka has joined #lisp
EvW1 has quit [Ping timeout: 252 seconds]
fikka has quit [Ping timeout: 240 seconds]
quotation_ has joined #lisp
_mjl has joined #lisp
<Shinmera> Thanks for the feedback :)
quotation_ has quit [Client Quit]
quotation has joined #lisp
<Xach> Shinmera: why is restore needed?
EvW has joined #lisp
<Xach> Shinmera: not mechanically, but theoretically
<Shinmera> Without it it won't know which identifier to use. If it used a default one, your application would clash with others.
hhdave has quit [Quit: hhdave]
<Xach> Oh. I was using keys as namespaces.
damke has quit [Ping timeout: 264 seconds]
<Shinmera> The idea is that you use (restore :awesome-xach-app) and someone else would use (restore :my-thingy). If you need separate configurations for separate parts of your project you can also use symbols like (restore 'awesome-xach-app:global) (restore 'awesome-xach-app:secrets) or what.
nullniverse has quit [Read error: Connection reset by peer]
<Shinmera> Colleen: look up ubiquitous designator-pathname
<Colleen> Generic ubiquitous:designator-pathname https://shinmera.github.io/ubiquitous#GENERIC%20UBIQUITOUS%3ADESIGNATOR-PATHNAME
damke has joined #lisp
<Xach> the designator package doesn't matter?
fittestbits has joined #lisp
<Shinmera> If it's a keyword it doesn't. If it's CL, it's an error. If it's anything else, the package is used as a directory name.
Karl_Dscc has quit [Remote host closed the connection]
<Shinmera> The above docstring should illustrate it quite clearly I think
<Xach> so restore sets some global state that affects value operations?
<Shinmera> Well, it sets the *storage* among other things, so yes.
<Shinmera> Colleen: look up ubiquitous restore
<Colleen> Generic ubiquitous:restore https://shinmera.github.io/ubiquitous#GENERIC%20UBIQUITOUS%3ARESTORE
<Xach> So it has to be called before every use of value to make sure you're in the right context?
hhdave has joined #lisp
<Shinmera> If, in your lisp image, you're the only one using ubiquitous, you can just call RESTORE at load and executable startup time. That's all.
fikka has joined #lisp
<Xach> Well, you mentioned separate parts of my project - those could live in the same image, right?
<Xach> the ...:global and ...:secrets part
<Shinmera> Yes. In that case you would use WITH-STORAGE (keeping different storage objects in separate variables for instance) or WITH-LOCAL-STORAGE around the value calls.
<Shinmera> Err, actually WITH-STORAGE is the wrong thing in this case
<Shinmera> But if you want to avoid excessive reloading you'd keep the storage in global variables and use that as the :storage argument to WITH-LOCAL-STORAGE
jdtcookie has quit [Ping timeout: 260 seconds]
marvin2 has joined #lisp
<Xach> And you wouldn't want to have it be part of a library without being careful
marvin3 has quit [Ping timeout: 256 seconds]
<Xach> documenting and guarding against messing with the library user's storage state
<Shinmera> If you use with-local-storage in a library you'll be fine unless someone else purposefully uses the same designator as you.
<Shinmera> Though I'm having a hard time imagining a library that uses ubiquitous...
fikka has quit [Ping timeout: 276 seconds]
phf has joined #lisp
Tobbi has joined #lisp
phf has left #lisp [#lisp]
dddddd has joined #lisp
jstypo has quit [Ping timeout: 240 seconds]
fisxoj has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
dieggsy has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
jstypo has joined #lisp
dieggsy has quit [Read error: Connection reset by peer]
random-nick has quit [Remote host closed the connection]
theBlackDragon has quit [Remote host closed the connection]
varjag has quit [Read error: Connection reset by peer]
varjag has joined #lisp
fikka has joined #lisp
random-nick has joined #lisp
orivej has joined #lisp
dieggsy has joined #lisp
porky11 has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
brendyn has quit [Ping timeout: 240 seconds]
varjag has quit [Ping timeout: 256 seconds]
pagnol has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
jmercouris has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
varjag has joined #lisp
terpri has quit [Ping timeout: 256 seconds]
xrash has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
angavrilov has joined #lisp
kajo has quit [Quit: WeeChat 2.0.1]
kajo has joined #lisp
jason_m has joined #lisp
dieggsy has quit [Remote host closed the connection]
razzy has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
hhdave has quit [Ping timeout: 256 seconds]
hhdave has joined #lisp
damke has quit [Ping timeout: 264 seconds]
damke has joined #lisp
fikka has joined #lisp
hhdave has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Remote host closed the connection]
hhdave has joined #lisp
damke has quit [Ping timeout: 264 seconds]
jfb4 has quit [Ping timeout: 260 seconds]
openthesky has joined #lisp
damke has joined #lisp
jfb4 has joined #lisp
hiroaki has joined #lisp
fisxoj has quit [Quit: fisxoj]
smurfrobot has joined #lisp
LiamH has joined #lisp
ebzzry has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #lisp
froggey has quit [Remote host closed the connection]
python476 has quit [Ping timeout: 268 seconds]
_mjl has quit [Ping timeout: 240 seconds]
froggey has joined #lisp
damke has quit [Ping timeout: 264 seconds]
attila_lendvai has quit [Read error: Connection reset by peer]
damke has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
nowhereman_ has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
nowhere_man has quit [Ping timeout: 248 seconds]
smurfrobot has quit [Remote host closed the connection]
pvaneynd has joined #lisp
fikka has joined #lisp
pvaneynd_ has quit [Ping timeout: 276 seconds]
Murii has joined #lisp
dieggsy has joined #lisp
pagnol has joined #lisp
openthesky has quit [Ping timeout: 265 seconds]
drewc_ has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
drewc has quit [Ping timeout: 240 seconds]
ft has joined #lisp
guaqua has quit [Remote host closed the connection]
JuanDaugherty has quit [Ping timeout: 264 seconds]
pagnol has quit [Ping timeout: 252 seconds]
zacts has quit [Quit: WeeChat 1.9.1]
fikka has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
zacts has joined #lisp
<Xach> Shinmera: https://gist.github.com/xach/5e623744fa4777159719619c9eabb4d5 - is that to be expected?
pagnol has joined #lisp
<Shinmera> Yes.
<Shinmera> That's the same snippet as yesterday though, isn't it?
<Xach> Sorry, the first comment
wallmonitorcable has joined #lisp
<Shinmera> Oh-- I missed that, my bad
<wallmonitorcable> Lisp is this popular?
<beach> wallmonitorcable: Yes.
<Shinmera> Xach: Yes.
<wallmonitorcable> I like what people have said about Lisp, but then when I looked at the actual syntax of some example programs, it just looks weird to me.
<beach> wallmonitorcable: Sorry to hear that.
<Shinmera> That's because you're not used to it.
groovy2shoes has joined #lisp
<jackdaniel> wallmonitorcable: look at non-latin based alphabet
<Shinmera> Xach: Though the pathname representation is unfortunate on SBCL.
<Shinmera> And perhaps it should be a note instead.
<jackdaniel> (given you use latin-based one) - it looks weird, no?
<beach> Vietnamese looks weird at first, but when you know it, you see that it is much simpler than most western languages.
<beach> wallmonitorcable: If you have any questions, feel free to ask them. But there is no point in trying to convince #lisp participants that it looks weird.
<pjb> wallmonitorcable: 1- there is no lisp (as a programming language) syntax. 2- what you see are S-exp = symbolic expression = data, not programs. 3- you can implement your own programming language syntax for lisp. Originally, M-expressions were defined for that. see: https://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/m-expression/index.html
<scymtym> Shinmera: UIOP:NATIVE-NAMESTRING may be more appropriate when presenting pathnames to users
<jackdaniel> usually in natural language you say: "add one and two" (not "one plus two"), so s-expressions are closer to natural language eiter
<jackdaniel> (+ 1 2) vs (1 + 2)
<Shinmera> scymtym: Yeah. I'll change it to just NAMESTRING though, as I don't want to depend on UIOP in Ubiquitous
<jackdaniel> either*
<Shinmera> Hrm
<scymtym> Shinmera: that may signal an error
<pjb> wallmonitorcable: but: 4- since we use lisp to manipulate programs, notably in macros, it is more useful to keep the programs represented as data than as code. Also, if you cover it with some program syntax, you will have more difficulty in macros to see the correspondance between source code and the data you manipulate and generate in macros.
<Shinmera> there's no standard condition subclass that is useful for "notes"
<Shinmera> right?
<pjb> wallmonitorcable: and this is the reason why lispers keep writing data, instead of writing code.
<Shinmera> What I'm signalling isn't severe enough for a warning, but isn't about style either, so style-warning seems inappropriate.
<Xach> Shinmera: why should I have to know about this situation at all?
<Xach> Shinmera: isn't it normal to create these all the time?
<Shinmera> You might want to know about it if you want to run something special for a fresh system.
<Shinmera> Where a configuration file does not yet exist.
<Xach> What would that tell me?
Karl_Dscc has joined #lisp
<Xach> How might I change my behavior?
<Shinmera> You might decide to, say, run a setup wizard.
<Xach> To do what?
<Shinmera> Gather the proper initial configuration for the system
<Xach> So the procedure would be to handle the warning and do initialization?
<Shinmera> For instance.
<wallmonitorcable> Hmm...
<Shinmera> Though, again, since it's not really a problem as you note, having the condition be a warning seems too severe
ckonstanski has joined #lisp
<Xach> Shinmera: one option would be to try to retrieve critical entries and initialize if absent...it seems like knowing the underlying storage system state is not something I want to mess with, much.
<pjb> wallmonitorcable: https://codeshare.io/5wO0Yp Notice how the first sexp represents data. Notice how the second sexp has exactly the same structure, but seems to represent code.
<Xach> Or maybe a configuration-exists-p? I'm not sure...
<wallmonitorcable> If it weren't for the fact that Lisp is one of the earliest programming languages, I would claim that I think it seems "different for the sake of being different", but PHP/C/JS/etc. seems much more "straight-forward" still, for somebody who never has programmed in their life. At least it seems that way to me.
<pjb> wallmonitorcable: notice also that you could define functions named person, name, surname and age, and the first sexp which was data, now can be interpred as code!
<pjb> wallmonitorcable: this is the magic of lisp.
<Shinmera> Xach: Sure, there's other ways to do the same thing. I just see it as a potentially useful piece of information.
<Xach> wallmonitorcable: what seems "natural" is generally a condition of what you learn first.
<wallmonitorcable> pjb: That URL seems to be empty?
<wallmonitorcable> Xach: I suppose.
<wallmonitorcable> Oh. It loaded afterwards.
<Shinmera> wallmonitorcable: I'm quite sure people from different countries have very different ideas about which natural languages are "straight forward"
<Xach> wallmonitorcable: if someone has never programmed in their life, lisp is probably as natural as anything else.
<beach> "natural" :)
<pjb> wallmonitorcable: ok.
<ckonstanski> Programmers must be adaptable. Any programmer who clings to what they learned first is a crappy programmer indeed. (:two-cents)
smurfrobot has joined #lisp
<Shinmera> Xach: I think for now I'll change it from being a warning to just being a condition. How does that sound?
<beach> ckonstanski: Unfortunately, crappy programmers are the norm in the software industry.
<pjb> wallmonitorcable: notice that the actual lisp source code, is not the textual representation, but the data structures, the cons cells and lisp atoms represented in those diagrams.
<pjb> wallmonitorcable: the actual lisp source text could be very different.
<wallmonitorcable> I guess what feels so frustrating to me is that if I were to become rich tomorrow, and I hired some Lisp expert and had a Lisp machine doing important work, I couldn't "glance at" or vet the code because it uses a completely different philosophy (from what I can gather) to what I'm used to. Many languages that I don't know still have some sort of obvious "structure" which seems to abstracted away in Lisp. I'm not saying that Lisp is bad -- I'm
<wallmonitorcable> merely fascinated with how different and "exotic" programming languages exist and are still in use after many decades.
<Xach> wallmonitorcable: I think that is just superificial unfamiliarity that goes away very quickly with study.
<pjb> wallmonitorcable: if you were rich, you'd get yourself a lisp teacher to know the language of the rich men (like, eg. Paul Graham).
terpri has joined #lisp
<wallmonitorcable> I suppose.
<Shinmera> Haskell, Caml & co. are also very different to C & co and both are in wide use today.
<beach> wallmonitorcable: A warning: if you decide to learn it, there is a big risk that you won't want to go back to your previous languages.
<ckonstanski> Ain't that the truth
<wallmonitorcable> :-)
<beach> wallmonitorcable: That said, if you DO decide you want to learn Common Lisp, then we can give you some advice about the programming tools and some books to read. We can also give you feedback on your code.
<ckonstanski> My first book was Practical Common Lisp. As a beginner I found it incredibly helpful. And it's free online.
<wallmonitorcable> Well, as much as I can find code beautiful, I've mostly ceased trying to find beauty in (practical) code because of the enormous difficulties of actually making the code in any language actually generate money in the end, so that takes up 99.99999% of my focus/time/energy. I'll admit I'm very familiar with PHP (or my little subset of it, anyway) and while it's almost universally hated, I find that I can theoretically do "anything" with it, but it
<wallmonitorcable> doesn't matter as the money issue by far overshadows my urge to achieve "perfect code beauty".
varjag has quit [Ping timeout: 276 seconds]
varjag has joined #lisp
<Shinmera> I write code that is both not something I hate to look at, and works.
<Shinmera> But hey. If you can stand PHP, and money is all you care for, good for you
pagnol has quit [Ping timeout: 260 seconds]
<wallmonitorcable> My point was that I don't even make any money with PHP. :/
thallia has quit [Ping timeout: 248 seconds]
<Shinmera> Fortunately business practises are outside of the scope of this channel.
damke_ has joined #lisp
<ckonstanski> Who knows if they even looked at any lisps (like clojure which is used a lot at Apple).
<jmercouris> wallmonitorcable: you won't make any money as a lisp developer, go learn a popular language
<ckonstanski> Be sure to choose something that is webscale.
damke has quit [Ping timeout: 264 seconds]
<jmercouris> ckonstanski: like mongodb?
<ckonstanski> (boom)
thallia has joined #lisp
<wallmonitorcable> I like the idea of a "Lisp machine"; dedicated hardware to run only Lisp programs; no bloated and insecure OS and stuff like that.
<wallmonitorcable> Not sure if any of those are used still, though.
<Shinmera> A lisp machine still has an os
<beach> wallmonitorcable: You can run Lisp on a bare metal PC. Much faster than dedicated hardware.
<Xach> the lisp machines that companies actually used had a pretty big and extensive OS that some people complained about.
<Xach> (because it was so big)
<ckonstanski> I have not made a study of lisp machines. In my uninformed mind I think that they existed because commodity pc hardware was not powerful enough to run lisp back in the day. Now that it is, there's no market for it.
varjag has quit [Remote host closed the connection]
<pjb> wallmonitorcable: That said, there are existance proofs, it's possible to make money with lisp, and even a lot of money.
<pjb> wallmonitorcable: http://franz.com/success
<jmercouris> Sure, that's true, but highly improbable
varjag has joined #lisp
<Bike> i don't think there were a lot of commodity PCs when lisp machines were big
<beach> ckonstanski: Correct, but that has changed. And nowadays any widely used processor can run Lisp very well.
<ckonstanski> Or you can get a job where you have a certain amount of freedom in language selection, like in a position where you mostly work alone and write smallish programs. I've snuck a lot of lisp into the workplace this way.
thallia has quit [Ping timeout: 240 seconds]
<ckonstanski> If you learn clojure (I feel dirty now) it's even easier to sneak in. The packaged runnable is indistinguishable from java (a JAR).
Karl_Dscc has quit [Ping timeout: 240 seconds]
thallia has joined #lisp
<wallmonitorcable> Well, it gives me some what of a cozy feeling just to know that Lisp is still being actively used by people. I like it when old technology and ideas are still in use. Especially if they are superior to some "modern replacement". I can't stand modern computers in general, likely due to being jaded from both Windows and FreeBSD/Linux and how bloated and insecure and inane they are, so I often like to look back to early computer systems where they
<wallmonitorcable> had no choice but to be smart about things.
<jmercouris> let's not romanticize the past
<jmercouris> I would not enjoy installing old versions of ubuntu for example
<jmercouris> nor did I enjoy the absolutely terrible hardware support, update issues, etc
varjag has quit [Ping timeout: 240 seconds]
shrdlu68 has quit [Ping timeout: 256 seconds]
<wallmonitorcable> jmercouris: Ubuntu is the Linux garbage I complain about? Not old?
<jmercouris> hardware of the past was not "better", it just did less things, anyways, this isn't really on topic
<wallmonitorcable> Alright...
wallmonitorcable has left #lisp [#lisp]
<pjb> Well, the problem is that if you're connected to the Internet, you better not run old systems, for security reasons.
<pjb> Otherwise, if you can isolate your computer, you may have all the fun you want.
<ckonstanski> Pivoting back to lisp: we value open-source because it is all about choices. If you choose to delve into lisp, there is help to be had, both here and in a growing body of excellent reading material.
theBlackDragon has joined #lisp
<jmercouris> ckonstanski: the user left
PinealGlandOptic has joined #lisp
sjl has joined #lisp
quotation has quit [Quit: Connection closed for inactivity]
shrdlu68 has joined #lisp
Oladon has joined #lisp
Rawriful has joined #lisp
guaqua has joined #lisp
kuneco has joined #lisp
smurfrobot has quit [Remote host closed the connection]
Rawriful has quit [Quit: WeeChat 1.4]
Rawriful has joined #lisp
azahi has quit [Changing host]
azahi has joined #lisp
Arcaelyx has joined #lisp
elazul has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
JuanDaugherty has joined #lisp
JuanDaugherty has quit [Client Quit]
damke_ has joined #lisp
smurfrobot has joined #lisp
pagnol has joined #lisp
damke_ has quit [Ping timeout: 252 seconds]
damke has joined #lisp
pagnol has quit [Ping timeout: 248 seconds]
khrbt has left #lisp [#lisp]
raynold has joined #lisp
ineiros has quit [Read error: Connection reset by peer]
openthesky has joined #lisp
makomo has quit [Ping timeout: 256 seconds]
pythosnek has joined #lisp
pythosnek has left #lisp [#lisp]
jason_m has quit [Ping timeout: 252 seconds]
smurfrobot has quit [Remote host closed the connection]
FreeBirdLjj has quit []
FreeBirdLjj has joined #lisp
jason_m has joined #lisp
pvaneynd_ has joined #lisp
pvaneynd has quit [Ping timeout: 240 seconds]
milanj has quit [Quit: This computer has gone to sleep]
scymtym has quit [Ping timeout: 265 seconds]
mishoo_ has joined #lisp
mishoo has quit [Ping timeout: 268 seconds]
smurfrobot has joined #lisp
orivej has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
PinealGlandOptic has quit [Quit: leaving]
pagnol has joined #lisp
pvaneynd_ has quit [Remote host closed the connection]
pvaneynd has joined #lisp
sabrac has joined #lisp
nika has quit [Quit: Leaving...]
BitPuffin has quit [Remote host closed the connection]
pvaneynd has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
Pixel_Outlaw has joined #lisp
smurfrobot has joined #lisp
trittweiler has joined #lisp
turkja has quit [Ping timeout: 248 seconds]
varjag has joined #lisp
scymtym has joined #lisp
pvaneynd has joined #lisp
pvaneynd has quit [Ping timeout: 265 seconds]
<sabrac> Is there a way to correctly conditionally compile methods depending on whether a library is loaded?
<_death> assuming your code is also in a system, you can have a system that depends on both, or use asdf-system-connections
Arcaelyx has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
whoman has joined #lisp
<oleo> (member "bla" (asdf:already-loaded-systems)) ?
<oleo> #+(member "bla" (asdf:already-loaded-systems)) ?
zotan has quit [Quit: ZNC 1.6.5+deb1 - http://znc.in]
zotan has joined #lisp
<oleo> no wait
<oleo> #+(member "bla" (asdf:already-loaded-systems) :test #'equal)
<oleo> and/or
<oleo> #+(find "bla" (asdf:already-loaded-systems) :test #'equal)
rk[ghost] has joined #lisp
<_death> this isn't how #+ works..
<rk[ghost]> i found 'postmodern', but before i play around.. i thought i would just ask.. any preferences on cl library for interfacing with postgresql?
<oleo> #+(asdf:require-system "bla")
shifty has joined #lisp
<sabrac> rk[ghost]: Hello. I am the new maintainer of postmodern, so possibly opinionated.
<Xach> rk[ghost]: postmodern is v. good
<rk[ghost]> sabrac: well, that is good enough for me. as i imagine if i have specific questions, you'll have reliable answers ;P
<rk[ghost]> Xach: aye aye.
<sabrac> I am in the process of updating postmodern to handle a lot of the newer postgresql features if you intend on using those
<rk[ghost]> i don't.
<rk[ghost]> to be honest, i am not really familiar with postgres
<rk[ghost]> i tend to keep a 5-ft pole away from sql
<rk[ghost]> however, a friend wants to learn databases, and i figure it is probably about time i learn postgres as it seems like the best open source SQL db
<phoe> "nobody ever got fired for choosing postgres"
<phoe> ~ old internet proverb
<rk[ghost]> phoe: wait, the internet is old? :P
<sabrac> I have some postmodern examples at https://sites.google.com/site/sabraonthehill/postmodern-examples, but it will not teach you sql.
<rk[ghost]> sabrac: thanks.
<rk[ghost]> i am familiar (although in my past) with MySQL and i have done SQLlite for a couple of toys.
trittweiler has quit [Ping timeout: 276 seconds]
<rk[ghost]> although, inner/outer joins and all that jazz completely escapes me, i recall how to do general queries (maybe) and how to design the tables themselves.
<rk[ghost]> i appreciate the linkage.
<rk[ghost]> that'll get me rolling along:)
<rk[ghost]> although, i have a feeling my friend with want to use C# or java... X)
Murii has quit [Quit: WeeChat 1.4]
Arcaelyx has joined #lisp
random-nick has quit [Remote host closed the connection]
<ckonstanski> I have only used clsql. I'm interested in postmodern, but I've written too many apps that had to connect to multiple databases of differing types (within the same app). That's where clsql shines because it supports many database engines.
<attila_lendvai> there's also hu.dwim.rdbms although it only has one thoroughly tested backend, which is for postgres. oracle has also been used in production by another team
warweasle has joined #lisp
damke has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Remote host closed the connection]
damke has joined #lisp
milanj has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
random-nick has joined #lisp
fikka has joined #lisp
<attila_lendvai> so, how do I touch a file? is there anything simpler than a with-open-file for writing?
<phoe> attila_lendvai: I don't think so
<phoe> with-open-file :if-does-not-exist :create
<phoe> and possibly :if-exists :error
<attila_lendvai> didn't you mean :direction :output :if-exists :append :if-does-not-exist :error (it assumes the file exists and needs to be touch'd)
fikka has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
warweasle has quit [Ping timeout: 248 seconds]
vlatkoB has quit [Remote host closed the connection]
knicklux has joined #lisp
emacsomancer has joined #lisp
<phoe> attila_lendvai: possibly
<phoe> I haven't used w-o-f in a while
<attila_lendvai> damn. w-o-f :direction :append doesn't update the file-write-date
<oleo> :supersede ?
<oleo> :overwrite ?
<attila_lendvai> I need the contents to remain intact. I only want to update the last modified time
<ckonstanski> (uffi:run-shell-command "touch /the/file")
<ckonstanski> Uses /bin/sh as the shell I think. Careful on systems that actually use /bin/sh as opposed to symlinking it to /bin/bash.
<attila_lendvai> I'd be ashamed if I put that code into CFFI
<attila_lendvai> ...or any other public code under my name
jack_rabbit has quit [Ping timeout: 252 seconds]
knicklux has quit [Quit: Leaving]
mlf has joined #lisp
openthesky has quit [Quit: Leaving.]
jack_rabbit has joined #lisp
<attila_lendvai> this is incredibly annoying... I can't even find a kludge to do it without leaving the standard. there's not even (setf file-length)...
jason_m has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 268 seconds]
random-nick has quit [Remote host closed the connection]
fdund has joined #lisp
<attila_lendvai> I ended up using UIOP's with-staging-pathname and copy the file contents to a new file. *shakes head*
pierpa has joined #lisp
cuso4 has quit [Ping timeout: 276 seconds]
random-nick has joined #lisp
dtornabene has joined #lisp
<ckonstanski> Maybe you hate the idea of (uffi:run-shell-command) but looking at its implementation might provide some ideas.
<Bike> does it not just run touch
fikka has joined #lisp
emacsomancer has quit [Remote host closed the connection]
<attila_lendvai> yes, I hate the idea of exec'ing a binary for something as simple as touch'ing a file. I hate it, and I also want it to be on record... :)
<pjb> If you have uffi, then you can implement anything using syscalls.
<Bike> so you'd want to call uhhhhh futimens(2)
<Bike> that's what touch is doing, anyway
<attila_lendvai> syscalls, except when you're on windows... I don't want to go down on that road. it's much more bumpy than a spurious copy-file
<Bike> probably
fikka has quit [Ping timeout: 248 seconds]
<pjb> attila_lendvai: you can also call MS-Windows functions. Just use #+windows #-windows ;-)
ryanwatkins has joined #lisp
<rme> ccl::%utimes for unix is a lot simpler than the one for Windows...
<attila_lendvai> sure. and if my leg hurts, I might as well just cut it off, right? :)
<pjb> attila_lendvai: not necessarily, your phatom leg might hurt as well…
* attila_lendvai groans :)
emacsomancer has joined #lisp
angavrilov has quit [Remote host closed the connection]
makomo has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
fisxoj has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
damke_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
shka has quit [Ping timeout: 264 seconds]
pvaneynd has joined #lisp
pvaneynd_ has joined #lisp
ryanwatkins has quit [Ping timeout: 264 seconds]
hhdave has quit [Quit: hhdave]
pvaneynd has quit [Ping timeout: 240 seconds]
asarch has joined #lisp
pvaneynd_ has quit [Ping timeout: 248 seconds]
zmt00 has quit [Ping timeout: 240 seconds]
AxelAlex has joined #lisp
zmt00 has joined #lisp
Karl_Dscc has joined #lisp
klltkr has joined #lisp
crsc has quit [Remote host closed the connection]
crsc has joined #lisp
smurfrobot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
milanj has quit [Quit: This computer has gone to sleep]
z3t0 has joined #lisp
EvW has joined #lisp
EvW has quit [Client Quit]
EvW1 has joined #lisp
fisxoj has quit [Quit: fisxoj]
mishoo_ has quit [Ping timeout: 248 seconds]
jason_m has joined #lisp
fdund has quit [Quit: .]
damke has joined #lisp
parjanya has quit [Read error: Connection reset by peer]
jmercouris has quit [Ping timeout: 256 seconds]
pvaneynd has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
random-nick has quit [Ping timeout: 248 seconds]
pvaneynd has quit [Ping timeout: 256 seconds]
klltkr has quit [Ping timeout: 264 seconds]
warweasle has joined #lisp
zooey has quit [Ping timeout: 255 seconds]
attila_lendvai has quit [Quit: Leaving.]
dtornabene has quit [Quit: Leaving]
zooey has joined #lisp
smurfrobot has joined #lisp
z3t0 has quit [Remote host closed the connection]
z3t0 has joined #lisp
z3t0 has quit [Remote host closed the connection]
z3t0 has joined #lisp
asarch has quit [Quit: Leaving]
manualcrank has joined #lisp
elazul has quit [Ping timeout: 256 seconds]
porky11 has joined #lisp
jason_m has quit [Ping timeout: 276 seconds]
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
Achylles has joined #lisp
smurfrobot has quit [Ping timeout: 240 seconds]
borei has joined #lisp
emaczen has joined #lisp
milanj has joined #lisp
Achylles has quit [Quit: Leaving]
nirved has quit [Quit: Leaving]