pjb has quit [Read error: Connection reset by peer]
Bike has quit [Quit: Lost terminal]
<mrcom>
Find my error. Wasn't nested enough; had "&key (bar bar)" instead of "&key ((bar bar))"
random-nick has quit [Ping timeout: 272 seconds]
taiju has quit [Ping timeout: 272 seconds]
taiju has joined #commonlisp
waleee has quit [Ping timeout: 245 seconds]
taiju has quit [Ping timeout: 268 seconds]
taiju has joined #commonlisp
yewscion has quit [Ping timeout: 264 seconds]
yitzi has quit [Quit: Leaving]
tyson2 has quit [Remote host closed the connection]
dsk has joined #commonlisp
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
srhm has quit [Ping timeout: 264 seconds]
srhm has joined #commonlisp
Oladon has quit [Quit: Leaving.]
taiju has quit [Ping timeout: 268 seconds]
karlosz has quit [Quit: karlosz]
taiju has joined #commonlisp
jealousmonk has quit [Ping timeout: 272 seconds]
jealousmonk has joined #commonlisp
bilegeek has quit [Quit: Leaving]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
derelict has quit [Ping timeout: 272 seconds]
selwyn has joined #commonlisp
cond has joined #commonlisp
<aeth>
I just wanted everyone to know that I have the nick cond (secondary nick cons) for my bot on this network now. I haven't actually connected it from Common Lisp yet, I'm working through usocket atm :-)
<aeth>
I won't actually put it in here because unauthorized bot stuff in large channels is rude
<cond>
I just wanted to brag about the nick that's all
cond has left #commonlisp [#commonlisp]
<aeth>
I guess I could give it a passive mode where it only logs
mindCrime has quit [Ping timeout: 268 seconds]
taiju has quit [Ping timeout: 245 seconds]
taiju has joined #commonlisp
derelict has joined #commonlisp
<beach>
Good morning everyone!
srhm has quit [Quit: Konversation terminated!]
selwyn has quit [Read error: Connection reset by peer]
taiju has quit [Ping timeout: 244 seconds]
taiju has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life_ is now known as Lord_of_Life
akoana has quit [Quit: leaving]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
mindCrime has joined #commonlisp
nsrahmad has joined #commonlisp
Inline has quit [Read error: Connection reset by peer]
bilegeek has joined #commonlisp
Inline has joined #commonlisp
Inline has quit [Client Quit]
Inline has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
contrapunctus has joined #commonlisp
<fiddlerwoaroof>
Hello, #commonlisp
<beach>
Hey fiddlerwoaroof.
<Inline>
morning
bilegeek has quit [Quit: Leaving]
<beach>
Hello Inline.
<Inline>
heya beach
<Inline>
:) how is it going ?
<beach>
Fine, thank you. This past week we made great progress on SICL. What about yoU?
<beach>
*you
hirez has joined #commonlisp
<Inline>
not much
<Inline>
i'm just meditating
<beach>
Aww! You should take on some project!
<hirez>
I seem to be having a ton of trouble with asdf/quicklisp. When I :use #:cl I get a ton of name collisions for things like `defun` and `format` in the package.
<Inline>
hmm
<beach>
hirez: Can you show your code?
<beach>
Try plaster.tymoon.eu
dsk has quit [Ping timeout: 264 seconds]
<hirez>
let me copy it into a pastebin, or that yeah
<hirez>
give me 2s
<hirez>
aww what the hell it works from a terminal. Let me ask a more targeted question
<hirez>
does slime/sbcl cache the code from a previous attempt at quickloading?
<hirez>
Its the only way it could be different from the terminal and emacs I think...
<beach>
ASDF does, yes.
<hirez>
Ah, I see. Yeah so thats the source of my problems at the moment. I removed a bunch of code and it loads. Allow me to break it again for fun.
<hirez>
Yeah thats the only explanation. Somehow my compilation order got messed up. Now its loading. Its even allowing me to load LTK and it was complaining about that too.
<hirez>
Rubber duck debugging is the best.
<beach>
Great!
<hirez>
thanks beach
<beach>
Pleasure. :)
<hirez>
One more thing - why is lispworks so dang expensive?
<hirez>
seems like a sweet lisp
<easye>
hirez: it ain't as expensive as Franz...
<hirez>
thats fair, but even HobbyDV is $1500 for a single seat/single OS
<beach>
Probably because they can get away with it.
* easye
agrees with beach.
<hirez>
yeah I guess its rhetorical
<hirez>
its like ada
<hirez>
If you pay enough you can get someone to support anything forever.
<beach>
Their GUI stuff is apparently quite good.
<hirez>
Yeah that was my main interest. That and the IDE is incredible.
<hirez>
Playing with it in their personal version is sweet.
<beach>
So to a corporate customer, the price is probably affordable if production gain is taken into account.
<moon-child>
commercial languages are no longer really used by hobbyists. So it doesn't really make sense for them to have an cheap/affordable product tier
<hirez>
yeah like I had mentioned before ada. The commercial versions are absurdly expensive because like you guys said its probably only 0.5% of companies that need it
<hirez>
and those that do need it - NEED it
<moon-child>
I don't think they need it. The companies that are expending tonnes of effort to verify software written in ada don't necessarily need the support--you need quite a bit of technical expertise on-hand anyway--they pay for the support partly because it can be convenient, and mostly because it's a way to sponsor compiler development. There is oss ada
<moon-child>
but the same principle applies to the other proprietary languages. Pascal, ibm stuff...
dsk has joined #commonlisp
<hirez>
CAD comes to mind as well
<hirez>
makes sense, really
<moon-child>
(well, I guess the ibm things are tied to their mainframe offerings--there you're paying for the hardware, and the software is just along for the ride)
<hirez>
Hah, I kid you not 10 years ago I was sysadmin'ing an AIX box for an ecommerce company
<hirez>
that was a trip
<moon-child>
ooh wow, cool
<blihp>
it also doesn't help that the free Lisp implementations are more numerous and *much* better than they used to be... that was pretty much the nail in the coffin for the low end Lisp market
<beach>
hirez: Great progress is being made on McCLIM though, and some components of an IDE already exist, in case you want to create FLOSS GUI applications.
<hirez>
I actually tried mcclim! It's _incredible_.
<beach>
Oh, OK. Good!
<hirez>
It actually reminds me a lot of the way the lispworks gui stuff works
<hirez>
at least from the two demos I ran
<hirez>
(lispworks however is winning on the pretty factor :P)
<beach>
That aspect of McCLIM is also being worked on.
<hirez>
you see call me fuddy duddy but I love that command interface
<hirez>
I dont know why but it makes me happy
domovod has joined #commonlisp
<moon-child>
beach: semi-related, I wanted to get your thoughts on something. How should an auto-indenter handle quoted (not quasi-quoted) forms? Something like '(if x \n y z). Should the y be indented past the if or not? This is obviously a decision that a human will ultimately have to make, depending on the intended meaning of the form, but what should the auto-indenter's default/assumption be?
<White_Flame>
I have never been able to figure out slime's indentation rules for quoted lists, and they're always wrong to my intent :-P
<beach>
moon-child: My immediate reaction is that, since it is literal data, it should not be indented as if it were code.
<moon-child>
(I guess the same problem applies to quasi-quotations, actually)
<beach>
But now that I think about it, that rule is different in a macro body, right?
<moon-child>
and there it's murkier. Sometimes quasiquotations are used to construct data. But how can you infer that? Macro/function is the easiest distinction, but frequently a macro will call into a function to construct some chunk of code, and the latter will use quasiquotation
<beach>
Yes, I don't think there is a general solution to that problem.
mindCrime has quit [Ping timeout: 245 seconds]
<hirez>
beach: is there a better place to learn mcclim than the guide. It is very...terse.
<White_Flame>
and sometimes code & data are interspersed in a single quoted term, especially with DSL-ish specification data
<White_Flame>
I think that for quoted data, either the human-provided indentation needs to be retained, or some small meta-spec on indentation would be useful. Neither is an ultimate solution, but then again so is the provided indentation
<White_Flame>
(by meta-spec, I mean data before or intermixed in, commenting to the system how you want the following data indented)
<moon-child>
I think if the meta-spec--or even a reference to it--has to accompany every instance of the data, I would rather simply indent by hand
yewscion has joined #commonlisp
<White_Flame>
right, it would be better for large blocks, or for macros to specify deeper indentation info about its body
shka has joined #commonlisp
<White_Flame>
for manual indentation, keystrokes for increasing & decreasing indentation would be handy, and would snap to align to peer terms in the line above, as well as the +2 spaces indentation from the current open paren
<moon-child>
agree
<beach>
hirez: The McCLIM manual is being worked on.
<beach>
hirez: The specification is the ultimate document, but it is not great to learn from for a user.
<blihp>
beach: it's not terrible, but it is a slog (I'm going through it right now)
<blihp>
it would be nice if there was at least a section that rapidly walked through the basics of just *using* some common functionality and then break down how it works afterwards... nearly two pages for essentially a 3-liner hello world was tedious and I didn't find it terribly clear the first time through
frgo has quit [Quit: Leaving...]
<blihp>
(made more annoying by not being able to copy/paste the code... it was faster just to re-type than correct all of the problems in the paste)
Inline has quit [Remote host closed the connection]
<beach>
blihp: Are you talking about the manual or the specification?
<blihp>
guided-tour.pdf
<beach>
Oh!
<blihp>
is that not what you were referring to?
<beach>
No.
<blihp>
what's the manual you are referring to? (I have seen the spec which I've set aside until I'm further along)
<beach>
Go to Documentation/Manual/Texinfo and type make
<blihp>
ah, OK. The guided tour looked like the closest thing to a quick start I found so I've been running with it for now.
Inline has joined #commonlisp
frgo has joined #commonlisp
yewscion has quit [Ping timeout: 264 seconds]
rgherdt has joined #commonlisp
<blihp>
beach: thanks... ironically at first glance, the flow of the manual seems a bit better match than the guided tour for what I'm looking for to get started.
<beach>
Great!
v88m has joined #commonlisp
v88m has quit [Client Quit]
v88m has joined #commonlisp
v88m has quit [Client Quit]
v88m has joined #commonlisp
taiju has quit [Ping timeout: 244 seconds]
taiju has joined #commonlisp
srji has joined #commonlisp
dickbar__ has joined #commonlisp
hendursa1 has joined #commonlisp
hendursaga has quit [Ping timeout: 252 seconds]
ivche has joined #commonlisp
cage has joined #commonlisp
domovod has quit [Quit: WeeChat 3.1]
blihp has quit [Ping timeout: 250 seconds]
cage has quit [Remote host closed the connection]
taiju has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
silasfox has joined #commonlisp
amb007 has joined #commonlisp
selwyn has joined #commonlisp
amb007 has left #commonlisp [Leaving]
amb007 has joined #commonlisp
amb007 has left #commonlisp [Leaving]
amb007 has joined #commonlisp
amb007 has left #commonlisp [Leaving]
amb007 has joined #commonlisp
srji has quit [Remote host closed the connection]
pjb has joined #commonlisp
contrapunctus has quit [Remote host closed the connection]
cage has joined #commonlisp
Oladon has quit [Quit: Leaving.]
dickbar__ has quit []
tyson2 has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
sixtyfour has joined #commonlisp
<sixtyfour>
Hello, I'd like to study good Common Lisp source code. Are there any good projects that are recommended?
<gigo>
how does a CL implementation typically implement (format t "~&")? does it keep track of whether a newline was printed by format or any other I/O function previously at all times?
susam is now known as sp
sp is now known as spal
spal is now known as susam
nsrahmad has quit [Quit: Connection closed for inactivity]
<shka>
sixtyfour: any particular interest?
<sixtyfour>
shka: Anything suitable for a novice, but if possible I'd like to see code that makes good use of macros
<shka>
but since i use macro from the serapeum it is (~> a b c) instead
<sixtyfour>
I see, thanks
<shka>
anyway, i don't even write my own macros all that much
<shka>
my hot take: macros are overrated! :P
<shka>
don't get me wrong, macros are cool and useful, but some people considers this to be all end all feature of CL
<selwyn>
i agree and would also say that most of the very good libraries i have seen tend to favour ´clos-style´ over macros
gaqwas has joined #commonlisp
sixtyfour has quit [Ping timeout: 252 seconds]
<selwyn>
would imagine that optima/trivia have a lot of macros in their codebases
amb007 has quit [Ping timeout: 245 seconds]
random-nick has joined #commonlisp
nature has joined #commonlisp
<shka>
the thing with macros is that it makes other aspects of CL better
tyson2 has quit [Remote host closed the connection]
mindCrime has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
yitzi has joined #commonlisp
tyson2 has joined #commonlisp
mindCrime has quit [Ping timeout: 268 seconds]
mindCrime has joined #commonlisp
derelict has joined #commonlisp
<jcowan>
Macros are Lisp's pattern language and DSL creator
mindCrime has quit [Ping timeout: 268 seconds]
<jcowan>
phoe: "What part of the standard forbids it?" is not really a sensible question. The standard does not forbid an implementation from having a function LISP-USERS:SCRITCHIFCHISTED that when called makes demons out of your nose, but it's unlikely.
<jcowan>
A standard is a contract that tells users what they can rely on and what implementers, consequently, must provide.
<jcowan>
s/LISP-USERS/COMMON-LISP-USER
<MichaelRaskin>
Well, having a lisp-users packages with such a symbol inside is also not forbidden!
<jcowan>
That too.
srji has joined #commonlisp
derelict has quit [Ping timeout: 252 seconds]
<MichaelRaskin>
On the other hand, UNINTERN as defined seems indeed to be obligated to allow uninterning keywords
<MichaelRaskin>
But also not obligated to handle pathological cases usefully
<jcowan>
Per contra, it is not forbidden to allow only two packages, or saying that the largest fixnum is 0, or many other stupid things.
<jcowan>
A better example might be a system in which the only flonum is 0.0
selwyn has joined #commonlisp
<gigo>
how does a CL implementation typically implement (format t "~&")? does it keep track of whether a newline was printed by format or any other I/O function previously at all times?
<pjb>
Yes.
<mrcom>
MichaelRaskin: On #sbcl Krystof pointed out that the standard says "The consequences are undefined if an attempt is made to alter the home package of a symbol external in the COMMON-LISP package or the KEYWORD package."
<pjb>
gigo: it even keeps track of the column, to implement ~T
<pjb>
(format nil "hello~20Tworld~40T!") #| --> "hello world !" |#
<MichaelRaskin>
mrcom: ah, good point, thanks
<MichaelRaskin>
phoe: so the standard indeed forbids uninterning keywords
<mrcom>
Well, technically it says that if you do, demons are allowed to come out of your nose.
<loke>
Grey Streams has a method STREAM-LINE-COLUMN that allows you to access this.
<pjb>
Gray Streams, for M. Gray was not grey.
<MichaelRaskin>
It forbids this in conforming programs
<MichaelRaskin>
It has no power outside those anyway
<mrcom>
Nope, says its undefined.
nmg has joined #commonlisp
<MichaelRaskin>
> depends for its correctness only upon documented aspects of Common Lisp, and can therefore be expected to run correctly in any conforming implementation
<mrcom>
I stand corrected.
<mrcom>
Our noses are safe.
<dieggsy>
is there a good offline documentation alternative to CLHS that's easily readable in emacs ?
<beach>
You can read the Common Lisp HyperSpec in Emacs, and you are allowed to download a copy of it.
nmg has quit [Remote host closed the connection]
<dieggsy>
beach: huh, where can i find this download
<dieggsy>
beach: i mean, it serves as a language reference, no?
<dieggsy>
common lisp programmers use it as such
<beach>
dieggsy: It's a particularly bad one in terms of pedagogy.
<loke>
beach: Where is the work on the spec conversion being done?
<beach>
dieggsy: At least two people I know are working on parsing the dpANS in order to create a machine-readable form of it.
<dieggsy>
loke: ah, thanks. what's the license on that text though?
<beach>
dieggsy: Free to use.
<beach>
Public domain.
<beach>
loke: I am not sure I have the right to mention one of them. But the other one was in #lisp on freenode and discussed it openly.
<beach>
loke: My memory is not good enough to remember the nick. Do you want me to search the logs?
<loke>
Never mind. :-)
<loke>
I'm a bit surprised that there would be a reason to keep such a project secret though.
<dieggsy>
Ah. and it's compliant or equivalent to the 1994 standard?
Josh_2 has joined #commonlisp
<beach>
loke: I think it was a question about license and such.
<loke>
dieggsy: It's equivalent, minus some style changes, I belive.
<Josh_2>
Good afternoon
<beach>
Hello Josh_2.
<beach>
loke: I believe you are right.
<loke>
beach: I see. So they are processing LW's HTML pages and not the TeX ones then I guess?
<beach>
No, no. That's illegal.
<phoe>
LW CLHS is copyrighted, dpANS is not
<beach>
loke: That would be a derived work. The Common Lisp HyperSpec is copyright for the markup.
<loke>
phoe: right. I'm just trying to think of reasons why such would would be considered sensitive in any way?
<beach>
"such"?
<beach>
loke: The work was started before we had confirmation from Pitman that we can use it.
<phoe>
deriving stuff from copyrighted works can get you sued by the copyright owner
<phoe>
in this case, LispWorks and/or ANSI
<phoe>
that's the sensitive part
<edgar-rft>
dieggsy: dpANS3 (from Xach's Github account) was the text where the official ANSI Spec was made from, according to Kent Pitman it differs only in a few grammar mistake corrections
<beach>
loke: "it" being dpANS.
<phoe>
edgar-rft: AFAIK it does not differ even in these mistake corrections, but that's insignificant
<dieggsy>
edgar-rft: wonderful, i'll take a look
<loke>
I was working on an automatic conversion of the document into a sexp form. The problem is that the TeX is really sloppy and doesn't even follow its own conventions, so there is a lot of hacking needed to get it to parse. I got bored and gave up quite early (it only reliably parsed one or two of the sub-documents)
<dieggsy>
wonder how successful just running it through pandoc would be
<dieggsy>
probably not much, but let's try it
<phoe>
not very much because of lots of custom macros
<phoe>
I don't know if pandoc expands tex macros
<pjb>
loke: an alternative would be to patch tex to dump the internal structure document, _if it exists_.
<phoe>
or work on AsTeR a little bit
<pjb>
or pandoc.
<loke>
pjb: I don't believe it does.
<loke>
pjb: If I recall correctly, the internal structure of a TeX document is constructed line-by-line, and each line is a set of vector drawing instructions.
<phoe>
that's postscript I think
<loke>
DVI is similar, no?
<phoe>
I think so, yes
<loke>
Also, even if you were to do that, you'd lose a lot of context that is needed. For example, you have special tags to indicate variable names, function names, etc. Most of of these gets converted by TeX macros to "bold".
<loke>
So you really want to analyse the high level TeX code.
<phoe>
yes, that is what AsTeR does
<phoe>
it both preserves the logical structure of the macros *and* expands them to get to the nitty gritty contents that they define
<loke>
phoe: OK, that sounds really useful.
<phoe>
so basically "remember that this is a \Foo{4} macro that expands into the following TeX forms"
<phoe>
loke: take a look at the original AsTeR paper
<phoe>
the story of its creation is also an amazing thing
<phoe>
tvraman is incapable of seeing but he's a mathematician, so he wrote Lisp code that parses TeX sources into text-to-speech commands
<phoe>
so he can listen to math papers in all their symbolic mathematic glory
<phoe>
a component that might be interesting to us is the TeX parser
<loke>
Oh yeah, that's the guy who works on emacsspeak no?
<phoe>
I think so, yes
<loke>
I see him post on emacs-devel quite a bit.
<phoe>
to me, it's stuff from the "oh holy cow, is such a thing even possible? wow" category
<beach>
loke: theothornhill discussed his parsing work in #lisp on freenode.
<phoe>
the logs should be there in Shinmera's irclogs - the old freenode #lisp logs were ported to libera #commonlisp
<beach>
Yes, look for dpans starting in May this year.
<phoe>
the main parser is in one directory, and other dirs are basically collections of macros found within some classes of papers
<phoe>
so, actual descriptions of math stuff that one can expect in papers, along with descriptions of how to translate them into TTS commands
<phoe>
there's this lexer thing that uses the C "lex" program that could be rewritten into Lisp, maybe via esrap or some other parser
<SAL9000>
ah, so the goal of the project is TTS'ing of TeX?
<dieggsy>
a bit of CSS would make CLHS way more readable IMO heh
<phoe>
SAL9000: yes, with an intermediate step of creating Lisp structure of all the TeX stuff
<phoe>
and I assume that is what we are interested in the most
<SAL9000>
that is really interesting, I'll have to take a closer look :)
<phoe>
please do
<SAL9000>
also hoping to learn from their approach to "expand macros but keep context"
<phoe>
I wanted to use this to parse me some dpANS, but again, other priorities froze the project
<phoe>
SAL9000: their approach is basically "we know the definition of macro \Foo{4} because we read it and we can understand it"
<SAL9000>
$dayjob has an insane custom C++ pre-preprocessor which has been begging for a nuke-and-pave for years
<SAL9000>
I'd love to use Lisp for that :)
<phoe>
"so when we encounter \Foo then we make an object of type FOO that remembers all of the metadata that it has, but *also* refers to the contents after macroexpansion"
<phoe>
so basically, it refers to the original data, but also refers to its macroexpanded version
<SAL9000>
hm
<SAL9000>
character-level, or sexpish-level?
<phoe>
so it remembers both the high-level logical structure of the macros and the low-level stuff that needs to get printed to the TTS device
<phoe>
and then the two are combined to make a better logical structure that gets TTSed
<phoe>
made-up example: when it gets something like \Integral{3,5}{x²+x+2} that expands into some fancy math symbol stuff then it is capable of understanding this and sending "an integral from 3 to 5 of x squared plus x plus 2"
<SAL9000>
sounds awesome
<phoe>
it is
<SAL9000>
so the idea is to apply this infra to TeX -> HTML?
<phoe>
more like grab the existing parser TeX → Lisp objects
<phoe>
and then figure out a way to turn these Lisp objects into whatever format we want, e.g. HTML
<phoe>
basically render them to whatever format is required
<SAL9000>
right
<phoe>
but I don't want to interrupt theothornhill's work at the moment
<SAL9000>
maybe DocBook or similar would be a more interesting target -- that can then be rendered to HTML/TexInfo/???
<phoe>
sure, whatever works
<phoe>
but
<phoe>
this is just an idea for now and I have no possibility to turn it into concrete work
<phoe>
other priorities take up my time
<SAL9000>
right
<SAL9000>
cool idea, though :)
<phoe>
and if someone else wants to do it, then there's duplicate work
<phoe>
theothornhill's approach
<phoe>
and one more effort that is supposed to stay private for now that does a very similar thing to what AsTeR does
<SAL9000>
ah
<phoe>
so I'm staying back for the time being, since there's little that I can contribute that wouldn't end up as a half-assed reimplementation of one of these two approaches
<SAL9000>
tbh I mostly want to see LaTeX -- or a similar system -- becoming a viable means of publishing "to the web", not just books/articles
<yitzi>
phoe: I had kind of half-assed dpANS parser (I assume that is what you are talking about).
<phoe>
yitzi: nope
<phoe>
I was talking about my hypothetical half-assed TeX parser
<phoe>
that does not exist yet
<yitzi>
Ah, ok. My parser is actually a TeX parser/interpretor.
selwyn has quit [Read error: Connection reset by peer]
<yitzi>
Handles catcodes properly and allows macros to be defined in TeX or CL. Also has a kind of "protect" that prevents macros defined in CL from being redefined in TeX so you can scan something like dpANS.
derelict has joined #commonlisp
<loke>
yitzi: is it worth using a base for an attempt to do the full parsing?
<yitzi>
On TeX or dpANS?
<loke[m]>
dpans.
<yitzi>
I think it has potential. It's been a while since I worked on so there could be bugs and I don't really remember where I left off. I wanted to get it include the comments in the output, which I think it can do.
<loke[m]>
Just downloaded it and loaded it.
<loke[m]>
What's the entry point?
<yitzi>
Let me go look... (been like 9 months)
<yitzi>
loke[m]: Look the file test.lisp
<yitzi>
As I recall there is some stuff that it can't handle yet in setup.tex, so that is why it just starts on chap-01
<loke[m]>
yitzi: thanks.
mindCrime has joined #commonlisp
blihp has joined #commonlisp
silasfox has quit [Quit: WeeChat 3.1]
mindCrime has quit [Ping timeout: 264 seconds]
gaqwas has quit [Ping timeout: 265 seconds]
<nick3000>
Is there any way to go to a source location in SLDB?
<nick3000>
Okay apparently there is 'v' but it's telling me that isn't implemented.
<beach>
What Common Lisp implementation are you using?
<nick3000>
CLISP
<nick3000>
Does it work in sbcl?
<beach>
Yes.
<nick3000>
Okay.
v88m has quit [Ping timeout: 268 seconds]
<yitzi>
::notify loke Pushed a small change to dpANS3-parser that cleans up the italic text groups...if you are still playing around with it.
<Colleen>
yitzi: Got it. I'll let loke know as soon as possible.
hendursa1 has quit [Quit: hendursa1]
gaqwas has joined #commonlisp
hendursaga has joined #commonlisp
<loke>
yitzi: thanks. I am.
<Colleen>
loke: yitzi said 14 minutes, 6 seconds ago: Pushed a small change to dpANS3-parser that cleans up the italic text groups...if you are still playing around with it.
<MichaelRaskin>
To be fair, I do not like NIL handling in Common Lisp too much…
<MichaelRaskin>
(acceptable, and an outcome of a sequence of justifiable decisions, but not one of the parts I like)
mindCrime has joined #commonlisp
mindCrime has quit [Ping timeout: 264 seconds]
mindCrime has joined #commonlisp
neirac has joined #commonlisp
akoana has joined #commonlisp
<jmercouris>
Wow, a real CLISP user
<jmercouris>
That’s something
hirez has joined #commonlisp
<hirez>
afternoon everyone
<jmercouris>
is there are a feature I can test to see if I am in SLIME session?
<jmercouris>
does slime push anything to *features*?
<jmercouris>
I can't seem to see anything
<jmercouris>
I guess SWANK is it
<jmercouris>
but that just means a swank server is running
<jmercouris>
perhaps that is enough...
<phoe>
in a slime session? as in, not in a terminal?
<phoe>
you could possibly check the values of standard streams, if they are slime/swank gray streams
shka has quit [Ping timeout: 245 seconds]
<mfiano>
Check the value of swank:*emacs-connection* if the swank package exists
<phoe>
oh! that'll be the best
<mfiano>
It's actually un-exported, and probably want to OR that with (swank::default-connection)
yitzi has quit [Quit: Leaving]
MichaelRaskin has quit [Ping timeout: 268 seconds]
nature has quit [Quit: Lost terminal]
Krystof has quit [Ping timeout: 264 seconds]
cage has quit [Remote host closed the connection]
cage has joined #commonlisp
jeosol has quit [Ping timeout: 244 seconds]
casual_friday_ has quit [Quit: %bye%]
Bike has joined #commonlisp
casual_friday has joined #commonlisp
MichaelRaskin has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
Krystof has joined #commonlisp
pieguy128 has quit [Ping timeout: 272 seconds]
pieguy128 has joined #commonlisp
<SAL9000>
eta: that code can be simplified to (or val (make-hash-table)) :-)
<eta>
SAL9000: I realised that about a minute after posting :)
<SAL9000>
:)
pieguy128_ has joined #commonlisp
pieguy128 has quit [Ping timeout: 264 seconds]
yewscion has joined #commonlisp
mindCrime has quit [Ping timeout: 264 seconds]
ivche has quit [Quit: Adios! - sent from ERC]
derelict has quit [Quit: WeeChat 3.1]
yewscion_ has joined #commonlisp
blizzard has joined #commonlisp
yewscion has quit [Ping timeout: 268 seconds]
gaqwas has quit [Ping timeout: 245 seconds]
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
yewscion_ is now known as yewscion
mindCrime has joined #commonlisp
waleee has quit [Ping timeout: 244 seconds]
<fiddlerwoaroof>
jmercouris: I think it's better to test on SWANK rather than whether SLIME specifically is being used
<fiddlerwoaroof>
One could also try to see whether *standard-output* is a swank stream, which might be useful in some situations
Nilby has joined #commonlisp
Oladon has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
montxero has joined #commonlisp
<montxero>
Is it possible to match on multiple expressions in a typecase? I am thinking along the lines of (typecase (exp1 exp2) ((list integer) ...) ((integer integer) ...))
<phoe>
the hack I can think of is
<mfiano>
No. Each clause is a type specifier for the singular key form
<mfiano>
You could write a macro though to expand into a hierarchy of type cases
random-nick has quit [Ping timeout: 245 seconds]
<montxero>
I see... Thanks
<montxero>
phoe: trying your hack now
<mfiano>
With a macro, you wouldn't need to evaluate exp2 when not needed
<montxero>
I am still a macro baby but I'll give it a shot.
<Nilby>
or just use methods, which are basically a replacement for the old lisp style of typecase of arguments in most functions
<phoe>
^
mindCrime has quit [Ping timeout: 264 seconds]
<montxero>
phoe: It works! but I see this method cannot scale.
<montxero>
Nilby: Great idea!
rgherdt has quit [Ping timeout: 268 seconds]
<phoe>
montxero: if you want it to scale, use methods as Nilby said
<mfiano>
montxero: Bear in mind, standard CL methods cannot dispatch on arbitrary types, only classes and EQL comparisons Every class has a type of the same name, but the inverse is not true.