jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | offtopic --> #lispcafe
<phoe> I don't have anything better
gitgood has quit [Read error: Connection reset by peer]
<antonv> Ah, I understood your question little better now. You mean (return-from test), whould abandon (block foo ...), so (return-from foo) should not work...
MrVulcan has quit [Remote host closed the connection]
<antonv> Well, considering that "abandoned" should happen as the step 1, you may be right.
<antonv> The fact that it works on some exisging impls may be justified by "The consequences are undefined if an attempt is made to transfer control to an exit point whose dynamic extent has ended."
<antonv> So in this case the undefined consiquence is that it works as if not abandoned.
<antonv> But that's just my incompenent thoughts.
rgherdt has quit [Ping timeout: 246 seconds]
ex_nihilo has joined #lisp
choegusung has joined #lisp
<phoe> this sounds plausible
varjag has quit [Ping timeout: 260 seconds]
hiroaki__ has quit [Ping timeout: 272 seconds]
charles` has joined #lisp
VincentVega has quit [Quit: Connection closed]
random-nick has quit [Quit: quit]
notzmv has joined #lisp
rtypo has quit [Ping timeout: 245 seconds]
antonv has quit [Ping timeout: 245 seconds]
jonatack_ has quit [Read error: Connection reset by peer]
purpleLizard has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
dbotton has joined #lisp
choegusung has quit [Ping timeout: 264 seconds]
mindCrime has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
<Alfr> phoe, did you try that with safe code? That should be an error.
<Alfr> clhs 3.1.6
<phantomics> Hey cl-who users, is there a way to drop strings of HTML into a cl-who form?
<phantomics> Like this:
<phantomics> (defvar stuff "<div>stuff</div>") (with-html-output (stream) (:div stuff))
<phantomics> I want the contents of the stuff var to go inside the :div
pokes has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
galex-713 has joined #lisp
galex-713 has quit [Ping timeout: 246 seconds]
galex-713 has joined #lisp
kevingal has quit [Remote host closed the connection]
galex-713 has quit [Ping timeout: 272 seconds]
semz has quit [Ping timeout: 260 seconds]
dbotton has quit [Quit: This computer has gone to sleep]
semz has joined #lisp
semz has quit [Changing host]
semz has joined #lisp
skapata has quit [Remote host closed the connection]
gitgoood has quit [Read error: Connection reset by peer]
bitmapper has joined #lisp
Lord_of_Life_ has joined #lisp
<semz> phoe I'm pretty sure this was an explicit illegal example in the cleanup issue that made it illegal
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<semz> It was, Ctrl+F "returns 2 under MEDIUM, is error under MINIMAL": http://www.lispworks.com/documentation/HyperSpec/Issues/iss152_w.htm
pankajsg has joined #lisp
<ex_nihilo> phoe: isn't foo an intervening exit point since it lies between (return-from test 42) and the exit point; i.e., foo is no longer a valid exit point after (return-from test 42)? This would seem to make the behavior undefined
dbotton has joined #lisp
karlosz has joined #lisp
dorketch has joined #lisp
dbotton has quit [Quit: Leaving]
akoana has left #lisp ["Leaving"]
karlosz has quit [Quit: karlosz]
brandflake11 has quit [Ping timeout: 240 seconds]
dorketch has quit [Quit: WeeChat 2.9]
jeosol has joined #lisp
<beach> Good morning everyone!
Josh_2 has quit [Ping timeout: 260 seconds]
<phantomics> Morning beach
Alfr is now known as Guest1969
Alfr has joined #lisp
Guest1969 has quit [Ping timeout: 260 seconds]
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
<purpleLizard> does the size of the lisp language ever bother anyone?
<beach> Not really. I like that it's tiny compared to (say) C++.
<moon-child> that depends on how you measure. Fewer primitives, maybe, but overall I think the two are a similar size
<ex_nihilo> compared with, e.g., C++, Common Lisp is pretty consistent
<beach> Common Lisp is mostly standard library functions. Not a collection of special cases for syntax.
<beach> purpleLizard: Anyway, that's a pretty strange question. What if it did bother someone?
<purpleLizard> I guess you would adjust to it
<purpleLizard> but it irks me
<beach> So it wasn't really a question.
<ex_nihilo> purpleLizard: even using a smallish language like C, you end up using libraries to get things done, and that means learning a lot more than the base language, and dealing with a lot of api inconsistencies; you just learn what you need and get on with things
<beach> purpleLizard: The smaller the language is, the more you have to write yourself or rely on third-party contributions that people may not agree upon.
<edgar-rft> I think C plus it's standard library is bigger than Common Lisp.
<beach> ex_nihilo: Heh. Seems we agree.
<edgar-rft> *its not it's :-)
<purpleLizard> ok, it seems I was mistaken then
<purpleLizard> I care more about specs that say how the language works, not library functions, that's ok
<beach> purpleLizard: Common Lisp has a very simple core compared to most languages. It is much easier to learn because of that.
<ex_nihilo> beach: quite so! but I don't think that it is really a controversial position ;)
<beach> ex_nihilo: Right. That fact doesn't mean it can't be debated on #lisp.
<ex_nihilo> beach: so very true....
<beach> purpleLizard: It seems you are new here. If you are having problems learning Common Lisp, then just ask. We will show you how simple things are, given the semantics of Common Lisp.
<purpleLizard> I was looking for a language to write a compiler in, and also fit my peculiarites. No problems yet
<beach> Common Lisp is ideal for writing compilers.
<beach> CLOS is the only sane object system I know of.
<beach> ... and I wouldn't try to write a compiler without CLOS.
emma is now known as em
<purpleLizard> interesting, didn't think the object system would come up here, maybe for games :P
<beach> Maybe that's because you haven't looked into CLOS yet?
<purpleLizard> I know that it's an object system, that's about it
<beach> Also, except for very few other languages (like PL/I for instance), Common Lisp has the only sane condition system around. Exceptions in other languages just don't cut it, as phoe's book clearly explains.
<beach> And in a compiler, you would want to capture syntactic commonalities in the form of macros, and, again, Common Lisp has the only (possibly with a few exceptions) sane macro system around.
<beach> Because of the macro system, Common Lisp programmers don't have to wait for a new version of the standard in order to have some new desired feature. That also means that the standard is stable, so that your programs will mean the same in the future as they do now.
<beach> And for a compiler, things like exact rational arithmetic mean that you can make it behave in the same way no matter what platform it executes on.
<beach> As heisig pointed out yesterday, that's an important feature of a compiler.
<ex_nihilo> beach makes a lot of good points; I would add that, while I really like Scheme and Racket, too, I find that Common Lisp just feels better when working interactively in a decent environment (which is emacs/Slime for me)
<ex_nihilo> geiser works pretty well with Chez Scheme or MIT Scheme, and racket-mode works pretty well with Racket, but both feel clunky compared with CL and Slime
<beach> Interesting.
<beach> I think the most significant weakness of Common Lisp is our mediocre tools. But you are saying that Scheme tools are even worse?
<purpleLizard> I arrived at common lisp because I didn't really find what I liked in scheme ... for various reasons
<ex_nihilo> beach: I guess I am saying that ;)
<ex_nihilo> beach: with Scheme I have had a lot more problems with crashing the repl, for example
<beach> Hmm.
<ex_nihilo> beach: I have heard more than once that the state of CL tooling used to be much better; are there any particular grievances that you have wrt mediocre tools?
aartaka has joined #lisp
<beach> None of the free Common Lisp implementations provides a real debugger where you can set breakpoints, step, and inspect variables. Staring at a backtrace when things go wrong is not what I call a "debugger", as my paper explains: http://metamodular.com/SICL/sicl-debugging.pdf
<beach> And there are many situations where the output of the compiler is not clickable, so you end up looking at compiler messages and trying to match them to the source code manually.
<beach> But we are working on improving the situation. We just need a few more years. :)
<purpleLizard> neat project
<beach> Thanks.
_whitelogger has joined #lisp
pankajsg has quit [Ping timeout: 265 seconds]
ech_ has quit [Ping timeout: 268 seconds]
Nilby has joined #lisp
<White_Flame> ex_nihilo: the state of CL tooling when there were major commercial offerings of Lisp OSes is probably when they were better
<White_Flame> emacs is basically a pale imitation of a lisp os (and elisp is a pale imitation of CL)
<White_Flame> but, we're not yet back to full daily driver lisp OSes
<White_Flame> until then, emacs/slime is pretty much the premiere "IDE" for CL development
mindCrime has quit [Ping timeout: 240 seconds]
thmprover has quit [Quit: And Let's Away, to Part the Glories of This Happy Day]
<beach> And it won't have to be a bootable OS to be useful. An IDE with most of the good features would be a great step in the right direction.
_z_ has joined #lisp
_z_ has left #lisp [#lisp]
<moon-child> the next real lisp os will probably run under linux as pid 1, at least to start
mindCrime has joined #lisp
<moon-child> (maybe not probably. But I certainly think it's reasonably likely)
<purpleLizard> beach: what features do lisp programmers want in an IDE?
<purpleLizard> apart from the debugger ;)
toop has quit [Ping timeout: 260 seconds]
_z_ has joined #lisp
<_z_> is there a dialect of lisp that doesnt require the lisp virtual machine
<beach> purpleLizard: Most Lisp programmers seem to think that Emacs+SLIME is the best IDE every, no matter the language.
karlosz has joined #lisp
<beach> _z_: Not sure what that means, but this channel is specifically dedicated to Common Lisp, so other dialects are off topic. It is not even widely agreed upon what would qualify as a Lisp dialect.
<beach> _z_: Every language needs a "run time". For C, that run time is Unix. Languages that diverge a lot from C need their own. For instance, you would absolutely need a garbage collector.
<purpleLizard> I like the idea behind emacs, but I found it pretty meh
<purpleLizard> windows also has a C runtime
<_z_> C has the standard library yes
<beach> When I say "Unix" I include Windows. They are basically the same.
<_z_> but the standard library is not always unix specific
<_z_> k
<_z_> you can use C without the standard library too however
<beach> _z_: That's very doubtful. You would need to rely on unspecified features that are defined by the particular compiler you use.
<_z_> the standard library does not define the entire language
<_z_> the features are the keywords and syntax really
<moon-child> beach: the standard specifies a freestanding environment
<_z_> I ask this because I was wondering how genera and mezzano work
<beach> moon-child: Oh, OK. That's new since I last looked.
<beach> _z_: What do you mean?
<_z_> because how can it work when lisp requires the lisp VM
<beach> _z_: There is nothing special about the way they work, as far as I am concerned.
<_z_> common lisp*
<beach> _z_: What is this Lisp VM you are talking about? There is no such thing in the Common Lisp standard.
<beach> _z_: But both operating systems contain code for the garbage collector and other basic features needed by the language.
<_z_> C has no garbage colleciton
<beach> _z_: No, but a language like Common Lisp would be difficult to even imagine without one.
<purpleLizard> maybe he's talking about the implicit vm?
<_z_> Im not sure how mezzano and such run on bare metal
<beach> _z_: Fralley is misinformed.
<beach> _z_: What is it that you have problems with? I can't see any difficulties.
<_z_> oh
<beach> purpleLizard: Given that he spells it with all capital letters, I think he is just ignorant.
<Nilby> Here's a great version of Lisp that doesn't require a "VM": http://simh.trailing-edge.com/kits/lispswre.zip. But it does have a GC in 124 lines of assembly code.
<ex_nihilo> _z_: some CL implementations have a vm; some compile to native code: https://stackoverflow.com/questions/913671/are-there-lisp-native-code-compilers
karlosz has quit [Quit: karlosz]
<beach> _z_: Common Lisp runs fine on stock hardware these days. Most modern implementations compile to native code. For a bootable OS, you just need the code that the processor requires in order to start running.
<_z_> cool
xanderle_ has joined #lisp
<beach> It's amazing how people can be so simultaneously opinionated and ignorant as Fralley shows here.
xanderle has quit [Ping timeout: 260 seconds]
<Nilby> Some people have a habit/career of writing complete bullshit on quora.
<beach> Oh. I see. Never heard of Quora before. Thanks for letting me know I can safely ignore it.
<_z_> yeah im sick of quora spamming my gmail
<beach> _z_: So was that the trouble you had with understanding? You didn't know that Common Lisp compilers generate native code?
Oladon has quit [Quit: Leaving.]
<_z_> I knew lisp compiled to assembler
<_z_> yes
<_z_> but I thought you needed to run lisp in a VM and so an "Real" OS wouldnt be possible
karlosz has joined #lisp
<beach> Actually, a typical Common Lisp compiler doesn't generate traditional assembly code. They might have some internal representation of machine instructions instead.
<beach> I am not sure what such a "VM" would consist of and that couldn't also be written in Common Lisp.
phantomics has quit [Remote host closed the connection]
elflng has quit [Ping timeout: 245 seconds]
phantomics has joined #lisp
<_z_> I heard theres embedded lisp
<beach> Are you referring to ECL?
<beach> It was designed to be embeddable in applications written in C. But jackdaniel will know more.
marusich has joined #lisp
luni has joined #lisp
purpleLizard has quit [Quit: Konversation terminated!]
__jrjsmrtn__ has joined #lisp
karlosz has quit [Quit: karlosz]
_jrjsmrtn has quit [Ping timeout: 245 seconds]
flazh has quit [Read error: Connection reset by peer]
flazh has joined #lisp
orivej has joined #lisp
bitmapper has quit [Quit: Connection closed for inactivity]
waleee-cl has quit [Quit: Connection closed for inactivity]
elflng has joined #lisp
tiwEllien has joined #lisp
ex_nihilo has quit [Remote host closed the connection]
tiwEllien has quit [Ping timeout: 260 seconds]
tiwEllien has joined #lisp
karlosz has joined #lisp
charles` has quit [Ping timeout: 276 seconds]
mindCrime_ has joined #lisp
mindCrime has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 276 seconds]
mindCrime_ has quit [Ping timeout: 240 seconds]
epony has quit [Remote host closed the connection]
ex_nihilo has joined #lisp
JokerAscensionEx has quit [Read error: Connection reset by peer]
iskander has quit [Quit: bye]
JokerAscensionEx has joined #lisp
rgherdt has joined #lisp
epony has joined #lisp
<jackdaniel> _z_: this short paper may be a good reference: http://pages.di.unipi.it/attardi/Paper/LUV94.pdf -- ecl doesn't work exactly like that anymore, but this gives a good overview of some concepts
<jackdaniel> most notably blending different runtimes in a single common runtime (based on C)
tiwEllien has quit [Ping timeout: 240 seconds]
tiwEllien has joined #lisp
froggey has quit [Ping timeout: 265 seconds]
froggey has joined #lisp
surabax has joined #lisp
iskander has joined #lisp
karlosz has quit [Quit: karlosz]
luni has quit [Quit: Connection closed]
_whitelogger has joined #lisp
mindCrime_ has joined #lisp
anticrisis has quit [Read error: Connection reset by peer]
luni has joined #lisp
hendursa1 has joined #lisp
hendursaga has quit [Ping timeout: 268 seconds]
jprajzne has joined #lisp
rtypo has joined #lisp
ex_nihilo has quit [Quit: Leaving]
contrapunctus has quit [Ping timeout: 260 seconds]
zupss has joined #lisp
iskander has quit [Quit: bye]
aartaka has joined #lisp
aartaka_d has quit [Ping timeout: 265 seconds]
ewd has joined #lisp
kopiyka has quit [Remote host closed the connection]
iskander has joined #lisp
<_z_> jackdaniel take a look thx
galex-713 has joined #lisp
varjag has joined #lisp
cage_ has joined #lisp
johannes_ has joined #lisp
johannes_ is now known as kenran
retropikzel has joined #lisp
heisig has joined #lisp
vegansbane6963 has quit [Quit: The Lounge - https://thelounge.chat]
random-nick has joined #lisp
luni has quit [Quit: Connection closed]
tiwEllien has quit [Ping timeout: 240 seconds]
mindCrime_ has quit [Ping timeout: 240 seconds]
tiwEllien has joined #lisp
contrapunctus has joined #lisp
ljavorsk has joined #lisp
kenran has quit [Ping timeout: 256 seconds]
ljavorsk has quit [Ping timeout: 245 seconds]
ewd has quit [Ping timeout: 246 seconds]
vegansbane6963 has joined #lisp
gj has joined #lisp
gj has quit [Quit: Connection closed]
retropikzel has quit [Ping timeout: 260 seconds]
aindilis has quit [Ping timeout: 260 seconds]
skapata has joined #lisp
andrei-n has joined #lisp
aartaka has quit [Read error: Connection reset by peer]
aartaka has joined #lisp
Noisytoot has quit [Ping timeout: 260 seconds]
ewd has joined #lisp
aindilis has joined #lisp
Noisytoot has joined #lisp
heisig has quit [Quit: Leaving]
shka_ has joined #lisp
hiroaki__ has joined #lisp
nicktick has quit [Ping timeout: 260 seconds]
johannes_ has joined #lisp
nicktick has joined #lisp
Noisytoot has quit [Ping timeout: 245 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
Noisytoot has joined #lisp
gitgood has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
edgar-rft has quit [Quit: Leaving]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #lisp
ljavorsk has joined #lisp
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
rogersm has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
iskander has quit [Quit: bye]
contrapunctus has quit [Ping timeout: 260 seconds]
mrchampion has quit [Ping timeout: 264 seconds]
<mfiano> Ran my lines of code report script in the wrong directory. Wanted to check on my project, but ran it in the parent CL code directory. Wow, never knew I wrote 803kloc :)
bitmapper has joined #lisp
tiwEllien has quit [Ping timeout: 240 seconds]
tiwEllien has joined #lisp
supercoven has joined #lisp
ex_nihilo has joined #lisp
ex_nihilo has quit [Client Quit]
<Nilby> That's an awful lot of Lisp code. Did you really count that right?
orivej has quit [Ping timeout: 264 seconds]
rogersm has quit [Remote host closed the connection]
<mfiano> Yeah, I'm afraid to know what the count is after macro expansions for macros I have wrote. This is the effect of 12 hours a day of 15 years though.
<Nilby> That's nearly 1/6 of everything in quicklisp.
rogersm has joined #lisp
tiwEllien has quit [Ping timeout: 272 seconds]
Trieste has quit [Ping timeout: 264 seconds]
<_death> does it contain tables of data?
tiwEllien has joined #lisp
galex-713 has quit [Ping timeout: 246 seconds]
<mfiano> _death: For the most part, just that glsl-metadata project I showed you
<mfiano> My game math library is roughly 15kloc, which is included in Quicklisp, so subtract that and others from that 1/6 figure
<Nilby> Also, for most people the code checked out in the repo is only the code that survived. There's usually a lot of dead code in the git history.
<mfiano> 90% of my code was never published to Quicklisp or in any public repository
* Nilby is feeling the true weight of all the unpublished and gone code.
__jrjsmrtn__ has quit [Ping timeout: 276 seconds]
__jrjsmrtn__ has joined #lisp
long4mud has quit [Quit: WeeChat 3.0.1]
eoyath has quit [Quit: Connection closed for inactivity]
rogersm has quit [Remote host closed the connection]
galex-713 has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 260 seconds]
__jrjsmrtn__ has joined #lisp