p_l 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/> | ASDF 3.3.4
kinope has joined #lisp
gekkou has joined #lisp
entel has joined #lisp
rgherdt has quit [Ping timeout: 272 seconds]
gaqwas has joined #lisp
rumbler31 has joined #lisp
nicktick has quit [Ping timeout: 256 seconds]
wxie has joined #lisp
nicktick has joined #lisp
akoana has left #lisp ["Leaving"]
rumbler31 has quit [Ping timeout: 264 seconds]
<kinope> In reference to my previous question about logand or mod being performant. I think I get it now, It's not a question of if they are as performant as C/C++. But of how much flexibility I want to trade for the performance. I sometimes forget that a C compiler and a Lisp compiler (some implementations) both generate native code. So in the end it's possible for computation written in CL to be just as performant, given a
<kinope> sufficiently capable compiler AND the required declarations so that it may produce the intended result. Am I off the mark?
stux|RC has quit [Quit: Aloha!]
wxie has quit [Ping timeout: 256 seconds]
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 256 seconds]
X-Scale` is now known as X-Scale
rascal has joined #lisp
gekkou has quit [Quit: WeeChat 2.9-dev]
Codaraxis__ has joined #lisp
<White_Flame> kinope: if the CL compiler knows that the operands fit in a machine word, you can expect it to be as fast as C
<White_Flame> (well, is a fixnum specifically, which also implies integer)
<White_Flame> (and some can do untagged full-width machine words, too)
Codaraxis_ has quit [Ping timeout: 256 seconds]
rumbler31 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rascal has quit [Read error: Connection reset by peer]
wxie has joined #lisp
<pjb> kinope: you're correct if you are thinking in terms of generated code. (Note that even in the case of C, it's really not obvious what the generated code will be. It is said that C was designed so that it may compile to simple (PDP-7/PDP-11) instructions, but this was in 1969. C17 is quite different, but foremost, the processors used today are very different.
<pjb> kinope: so the mapping of the semantics of operators to current processors is not obvious, even for C.
iAmDecim has quit [Quit: WeeChat 2.8]
<pjb> kinope: and if you compare directly CL to C, the semantics are very different, even if in apparence, there may be direct translations between C and lisp (à-la rosetta stone).
stux|RC has joined #lisp
jprajzne has quit [Remote host closed the connection]
jprajzne has joined #lisp
amerigo has quit [Quit: Connection closed for inactivity]
terpri has joined #lisp
<kinope> Ah okay thanks pjb White_Flame
<Pixel_Outlaw> pjb Any insight on the cost of trashing and reassignment in CL vs mutation? I bet it's a bit more anticipated in Schemes.
<pjb> Pixel_Outlaw: you would have to write CL compiler writers.
LY has joined #lisp
terpri_ has joined #lisp
terpri has quit [Ping timeout: 265 seconds]
PuercoPop has joined #lisp
<mrcom> kinope: Here's what SBCL generates: (disassemble (locally (declare (optimize (safety 0) (speed 3))) (defun foo (a b) (declare (type fixnum a b)) (logand a b))))
<mrcom> ; disassembly for FOO
<mrcom> ; Size: 9 bytes. Origin: #x22C6D0D6 ; FOO
<mrcom> ; 6: 4821FA AND RDX, RDI
<mrcom> ; 9: 488BE5 MOV RSP, RBP
<mrcom> ; C: F8 CLC
<mrcom> ; D: 5D POP RBP
<mrcom> ; E: C3 RET
<White_Flame> and of course the last 4 lines are function epilogue
<White_Flame> Pixel_Outlaw: conses tend to be the cheapest things to allocate, as it's just the 2 cells and no other storage overhead
terpri_ is now known as terpri
bitmapper has quit [Ping timeout: 264 seconds]
mange has joined #lisp
wxie has quit [Ping timeout: 256 seconds]
lottaquestions has joined #lisp
<White_Flame> Pixel_Outlaw: I think in every language, mutation will always be faster to execute for the mainline case. There's simply less related work to do
<lottaquestions> how does one know if the original element obtained by rest from a list was an atom or a list?
<White_Flame> LISTP, ATOM, NULL etc
<lottaquestions> rest always returns a list
<White_Flame> not for a dotted list
<White_Flame> REST is just an alias for CDR
<White_Flame> a direct slot accessor, doesn't do any funny business, except maybe with NIL
<kinope> pjb: Do semantics differ between CL implementations also? I'm thinking of ecl and how it compiles to C, must one then think in terms of C's semantics when writting optimised code for ecl.
<White_Flame> certainly byte-coded implementations will have significantly different performance characteristics than native compiled ones
<White_Flame> and some compilers are smarter than others
<White_Flame> DISASSEMBLE is your friend
<pjb> kinope: the CL standard indeed let some things undefined, up to the CL implementation. But conforming programs run in conforming implementation have a very specific semantic.
EvW has quit [Ping timeout: 260 seconds]
<lottaquestions> @White_Flame: checkout this function and the results I get, it explains my conundrum: https://pastebin.com/BrekMZWu
<White_Flame> kinope: basically, if something claims to be "Common Lisp", then it should follow the exact same specified semantics. But other non-CL Lisps can do whatever they want to mold to their environment to make them a lighter layer
<lottaquestions> it is my attempt at solving exercise 1.4 in paip
<lottaquestions> because I use rest, an atom is transformed into a list, and I get a match against the second a
Jeanne-Kamikaze has joined #lisp
<White_Flame> (rest '(1 . 2)) => 2
EvW has joined #lisp
<pjb> On the other hand: (rest '(1 2)) #| --> (2) |#
<White_Flame> right, but any atom in a cdr place will not be transformed into a list
<pjb> lottaquestions: so what will it be? Do you consider cons cells or proper-lists? What about dotted-lists?
<lottaquestions> I didn't think that far, I was considering only proper-lists.
<White_Flame> but surely, no transformation is taking place
<kinope> Okay, so the semantics should stay constant, but the performance characteristics will change depending on where the implementation sits on the stack of abstractions (on a virtual machine, or on top of C runtime)
<White_Flame> given plain lists, REST is returning the rest of the list, which is a list
<pjb> lottaquestions: in this kind of functions, you could also want to specify what occurs for vectors and arrays, and perhaps other structures.
<pjb> (hash-tables, structures, objects, etc).
<White_Flame> kinope: the CL spec is considered quite well specified as far as ensuring semantics goes. Decades-old code still runs
<pjb> (count-anywhere '(a) '(a #((a) b) a))
shka_ has joined #lisp
<pjb> kinope: exactly.
<lottaquestions> pjb: got it
<pjb> lottaquestions: you're using first/rest which is ok for a proper-list, but then you're comparing search-expr with the whole-list-of-expr that you have named whole-expr.
<pjb> lottaquestions: you should only compare with (first whole-list-of-expr).
<White_Flame> lottaquestions: btw, (let ((func (lambda ...)) (funcall func ...)) should be replaced with:
<White_Flame> (labels ((func (params) body)) ... (func ...))
<lottaquestions> pjb: Got it
<White_Flame> it's a much more natural representation for local functions
<lottaquestions> White_Flame: Thanks. I struggled with that one. Especially since I didn't fully understand the difference between a lisp-1 and a lisp-2
<lottaquestions> I'm still learning :-)
<White_Flame> yep, and #clschool might be more appropriate then, as here you'll usually get "very complete" answers with minutia that isn't the best for beginner learning
<lottaquestions> I don't mind the minutae
<lottaquestions> but thanks for letting me know there is clschool
<kinope> Got to run, but thanks for the information. mrcom pjb White_Flame
<White_Flame> lottaquestions: your count-adder should be recursive itself, with a single RESULT binding outside that function. A simple incf result inside count-adder will make things easy
<White_Flame> and LABELS exposes the function name in a way that allows that recursion
terpri has quit [Quit: Leaving]
ralt has quit [Quit: Connection closed for inactivity]
terpri has joined #lisp
<seok> how do I get the current working directory?
<pjb> seok: this is a POSIX notion. This is out of the scope of the CL specification.
<pjb> seok: CL has a *default-pathname-defaults* which is bound to a pathname designator, which may contain some directory component (but also other components).
<pjb> seok: and of course, there are extensions in CL implementations running on POSIX systems…
<fe[nl]ix> pjb: stop with this nonsense
<fe[nl]ix> seok: on SBCL there's (sb-posix:getcwd)
<pjb> fe[nl]ix: this is fucking not fucking #sbcl !
<pjb> seok: you may try: (uiop/os:getcwd) but only on CL implementation running on POSIX systems that have some posix extension
pjb was kicked from #lisp by fe[nl]ix [pjb]
entel has quit [Quit: Connection closed for inactivity]
jesse1010 has quit [Ping timeout: 260 seconds]
<xristos> fe[nl]ix: why did you ban?
<xristos> i try not to waste time with irc drama, but pjb has given me good advice in the past, and i don't see why a ban is merited here?
<no-defun-allowed> He is quite aggressive.
gaqwas has quit [Ping timeout: 258 seconds]
gaqwas has joined #lisp
EvW has quit [Ping timeout: 256 seconds]
<seok> answer for sbcl is reasonable since most new lispers use sbcl anyway
<seok> pjb is helpful a lot of the times tho
fowlduck has quit [Read error: Connection reset by peer]
jlpeters has quit [Read error: Connection reset by peer]
nicktick has quit [Ping timeout: 260 seconds]
bytesighs has quit [Ping timeout: 265 seconds]
CEnnis91 has quit [Ping timeout: 240 seconds]
<xristos> for the record i don't agree with this ban, he's spending his personal time here to help others, i've gotten useful advice from pjb, him mentioning POSIX is informative, i don't see why he should be banned
<xristos> if this is what #lisp has devolved to, then it's time for me to go elsewhere
physpi has quit [Ping timeout: 256 seconds]
avicenna has quit [Ping timeout: 256 seconds]
drmeister has quit [Ping timeout: 272 seconds]
<no-defun-allowed> In #clschool he accused me of only talking "degenerate" stuff and not about Common Lisp, and we generally haven't gotten along well.
LY has quit [Remote host closed the connection]
nicktick has joined #lisp
<seok> The aggression was unacceptable, perhaps a warning is more suffice?
<PuercoPop> banining someone for a period of time _is_ a warning
teej has quit [Ping timeout: 272 seconds]
<seok> Ah it's not permanent?
<PuercoPop> we don't know
drmeister has joined #lisp
<PuercoPop> But I would think not. pjb has been giving unhelpful answers here for more than a decade
Kaisyu has quit [Ping timeout: 246 seconds]
<xristos> PuercoPop: i see plenty of folks thanking pjb
mono has joined #lisp
jlpeters has joined #lisp
jprajzne has quit [Remote host closed the connection]
monokrom has quit [Ping timeout: 246 seconds]
shifty has joined #lisp
drmeister has quit [Ping timeout: 272 seconds]
Kaisyu has joined #lisp
Pixel_Outlaw has quit [Quit: Leaving]
jprajzne has joined #lisp
efm has quit [Quit: Konversation terminated!]
jprajzne has quit [Remote host closed the connection]
Kaisyu has quit [Ping timeout: 264 seconds]
jlpeters has quit [Ping timeout: 260 seconds]
Kaisyu has joined #lisp
jlpeters has joined #lisp
physpi has joined #lisp
drmeister has joined #lisp
<beach> Good morning everyone!
fowlduck has joined #lisp
CEnnis91 has joined #lisp
avicenna has joined #lisp
shangul has joined #lisp
bytesighs has joined #lisp
potta_coffee has joined #lisp
teej has joined #lisp
<potta_coffee> Hello
<potta_coffee> question, anyone here use an editor other than Emacs?
<beach> Some people appear to use VIM.
<potta_coffee> I've been using Dr Racket to write Scheme for a while, and I use Sublime at work, I want to write Common Lisp now but nothing really seems to be satisfactory. It looks like Emacs is supposed to be the answer but
<potta_coffee> I'm not going to spend time learning Emacs just to dabble with Lisp
<beach> Sorry to hear that. Emacs is great for many other things as well.
<potta_coffee> It seems like it's really powerful, lots of features. Just a lot of time investment for me when I really just want to bang out some code
<beach> Emacs with SLIME is currently the best development environment we can propose for using FLOSS Common Lisp implementations.
<potta_coffee> Just thought I'd ask here and see if anyone is successfully using any alternatives
<beach> So you don't really plan to learn Common Lisp? Just "bang out some code" and be done with it?
<White_Flame> emacs is just an editor, and only a few keystrokes to do the lisp integration is required to learn
<White_Flame> there are 1-page cheatsheets with everything you need
<White_Flame> I'm no fan of emacs and use it because it's the best lisp environment; you don' thave to go deep with emacs at all
<potta_coffee> beach, quick iteration and trying things out is an effective way for me to learn, the Emacs shortcuts are foreign to me and get in the way when all I want to do is experiment with a language
<beach> I see.
<potta_coffee> Anyway...just wanted to see if anyone uses an alternative that I haven't heard of before I decide if I'm just going to invest in messing with Emacs
<beach> potta_coffee: Here is one piece of information that may help you decide: If you choose an editor that is not able to indent your code properly, then you are going to waste more of your time than it takes to learn Emacs.
<beach> Worse, you are going to have strange bugs and when you show the code here in order to get help, you are going to waste the time of others as well, because you are going to force them to count parentheses in badly indented code.
<White_Flame> beyond emacs, there is VI integration. There's some level of integration with eclipse and atom, I think
<potta_coffee> White_Flame: Thanks
<White_Flame> by "some level" expect the level of "an attempt to port was made"
<potta_coffee> haha thank you
<White_Flame> obviously, you could just use any text editor and manually load from the REPL if you want :-P
<Oladon> potta_coffee: Another thing for you to consider is that there is no such thing as a language in isolation.
<White_Flame> but the immediate interactivity is one fo the best features
<potta_coffee> Yeah
<potta_coffee> interactivity is the appeal
<White_Flame> and that interactivity requires support
<White_Flame> so, you go where the support is :shrug:
<potta_coffee> I have a heck of a hard time remembering keyboard shortcuts
<Oladon> potta_coffee: A language in use (as opposed to in theory) inherits much, good (and bad for languages other than Lisp) from its community, and the community is made up of users with conventions
teej has quit [Ping timeout: 256 seconds]
<potta_coffee> Oladon: and Emacs is a convention of the community?
<Oladon> I don't know that I'd call it a convention, but it's certainly a... tradition? Expectation? It's become the most common editor for real reasons.
<White_Flame> alt-p to get the previous line of the repl, and ^c ^k to reload a .lisp file into the REPL. Those are the only 2 shortcuts you need
<Oladon> My challenge to you is not to dismiss those reasons, but rather to ask yourself what they are.
<White_Flame> and not even alt-p because you can just cursor back and hit enter, too
<potta_coffee> White_Flame: Thanks
<White_Flame> and recompilation is all available from the emacs menus, if you're averse to keystrokes in general
<potta_coffee> ^ ->> what key does this denote
<White_Flame> ctrl
<potta_coffee> Thank you
<White_Flame> C-c C-k in emacs-speak, ^C ^K elsewhere
<potta_coffee> Ah
drmeister has quit [Ping timeout: 260 seconds]
<potta_coffee> There look to be several flavors of Emcas
physpi has quit [Ping timeout: 260 seconds]
<beach> GNU Emacs is preferable.
<potta_coffee> Is there a one that stands out?
<White_Flame> xemacs is an older fork that iirc got reintegrated into mainline
<White_Flame> just "emacs" works
<White_Flame> but, if you're a new user to the ecosystem, get portacle
<White_Flame> that's a "lisp in a box" so you don't have to config anything
<potta_coffee> I have that
<White_Flame> ah, k
fowlduck has quit [Ping timeout: 256 seconds]
jlpeters has quit [Read error: Connection reset by peer]
avicenna has quit [Ping timeout: 272 seconds]
<potta_coffee> Ok well, thanks for conversing with me
<White_Flame> and here's a cheatsheet of commands, both general emacs & slime-specific: http://pchristensen.com/wp-content/uploads/2008/02/slimecommands.pdf
<White_Flame> but, most of the major things should be discoverable from the menus, too
<potta_coffee> Ok
<potta_coffee> Thank you
jprajzne has joined #lisp
<potta_coffee> Question, Portacle is not a flavor of Emacs
<Oladon> Correct
<potta_coffee> It contains an Emacs?
<White_Flame> portacle is a bundling of emacs, slime, sbcl, and quicklisp
<potta_coffee> Ok
<White_Flame> (editor, IDE stuff, CL implementation, package downloader)
<potta_coffee> So if I want all that outside of Portacle, I'd need to configure it
<Oladon> It's pretty easy, but yes
<White_Flame> beyond that, some people have extra emacs utilities, but nothing critical
<potta_coffee> Part of what was scaring me away from Emacs, I started looking into it and was just stumbling into endless information about configuration and customization
<White_Flame> "Emacs is a great OS, but its editor sucks" ;)
<Oladon> potta_coffee: Hehe. Emacs is an excellent editor out of the box, so no need to worry about that yet.
<potta_coffee> hahaa
<Oladon> Also see above ;)
<potta_coffee> Ok thanks for the info, I appreciate it
<Oladon> The thing about Emacs, which you'll hopefully stick around long enough to discover, is that it's _fully_ customizable.
<White_Flame> np
<potta_coffee> Sorry for coming here and asking noob questions
<seok> potta_coffe I'm on the same boat moving from portacle today
CEnnis91 has quit [Ping timeout: 256 seconds]
<seok> guys at #emacs have been very helpful
<Oladon> potta_coffee: No apology necessary.
<White_Flame> also #clschool is good for intro questions especially about the language
<potta_coffee> Oladon: I have another editor, I customized heavily with lots of packages and settings, put my laptop away for a month and now I can't remember how to use it
<Oladon> potta_coffee: Heh
<Oladon> Emacs has an amazing built-in help system for that too ;)
<potta_coffee> I'm decent at programming but I forget incidental stuff
<Oladon> For example, there's a "what does this keyboard shortcut do?" feature
<potta_coffee> Cool, ok
<potta_coffee> I'll give it another go
<Oladon> Have fun!
<potta_coffee> TY
<White_Flame> sometimes youtube videos can help, as they're more displaying the actual interactions
<potta_coffee> I'll check that out
<potta_coffee> So with Emacs
bytesighs has quit [Ping timeout: 260 seconds]
<potta_coffee> The REPL and the editor and integrated in a way
<potta_coffee> Is it trivial to configure Emacs for several different languages and switch between those environments?
<White_Flame> each buffer has its own language mode
<seok> emacs detects the file
<seok> automatically
<potta_coffee> Say I want to write Scheme and Common Lisp
<White_Flame> generally done via filename, but you can command it, too
<seok> lisp-mode supports both scheme and CL I believe?
<White_Flame> you can have multiple independent instances of SLIME going as well
<White_Flame> in a singular emacs
<potta_coffee> SLIME isn't language specific then?
<White_Flame> slime is CL-specific
<potta_coffee> Ok that's what I thought
<White_Flame> it's what lets you jump to definitions of things, compile files/forms/etc into a running lisp session, etc
<seok> SLIME is just a bridge for emacs to communicate with your CL implementation
<potta_coffee> So I'd have to have something other than SLIME that lets me use other languages
<seok> yes,
<White_Flame> well, if by "use" you mean just syntax highlighting and such, many of those are built-in
<White_Flame> if you mean live interaction with a running process, then yeah that's more the realm of SLIME
<potta_coffee> Right
<potta_coffee> ok
<potta_coffee> Thank you
bytesighs has joined #lisp
Kaisyu has quit [Ping timeout: 260 seconds]
<terpri> well, mostly cl-specific; there was at one point slime support for scheme48, though it might be bitrotten by now
bytesighs has quit [Ping timeout: 260 seconds]
fowlduck has joined #lisp
physpi has joined #lisp
<potta_coffee> terpri: Thanks
<terpri> it would be neat to have slime support for more lisp dialects. scheme has geiser which is pretty good, but slime is a lot more sophisticated
LY has joined #lisp
<potta_coffee> Ah geiser
<potta_coffee> That's what it's called
<terpri> for racket and guile, maybe other schemes
<potta_coffee> I was looking for it and couldn't find
fowlduck has quit [Max SendQ exceeded]
Kaisyu has joined #lisp
<potta_coffee> I saw that there's an integration for clojure
<terpri> (someday there may be guile-cl, which would probably simplify slime integration considerably :))
<potta_coffee> Cool, I've been using Chicken and guile supports it. I'll try it out later
<potta_coffee> Sorry not guile, geiser
<potta_coffee> doh
Kaisyu has quit [Client Quit]
fowlduck has joined #lisp
bytesighs has joined #lisp
drmeister has joined #lisp
avicenna has joined #lisp
jlpeters has joined #lisp
Guest23015 has joined #lisp
CEnnis91 has joined #lisp
Guest23015 has quit [Excess Flood]
Guest23015 has joined #lisp
wxie has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
LY has quit [Remote host closed the connection]
Bourne has joined #lisp
wxie has quit [Remote host closed the connection]
wxie has joined #lisp
Bike has quit [Quit: leaving]
slyrus_ has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
slyrus__ has quit [Ping timeout: 264 seconds]
Bourne has quit [Ping timeout: 264 seconds]
potta_coffee has quit [Remote host closed the connection]
ldb has joined #lisp
sauvin has joined #lisp
Jeanne-Kamikaze has quit [Ping timeout: 260 seconds]
nicktick has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
nicktick has joined #lisp
froggey has quit [Ping timeout: 258 seconds]
potta_coffee has joined #lisp
froggey has joined #lisp
_whitelogger has joined #lisp
kmeow has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
slyrus__ has joined #lisp
slyrus_ has quit [Ping timeout: 246 seconds]
Lycurgus has joined #lisp
heisig has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
gravicappa has joined #lisp
terpri_ has joined #lisp
ldb has quit [Ping timeout: 258 seconds]
Lycurgus has quit [Remote host closed the connection]
mathrick has quit [Ping timeout: 264 seconds]
terpri has quit [Ping timeout: 260 seconds]
jprajzne has quit [Remote host closed the connection]
LY has joined #lisp
<bhartrihari> Hello, how do we address the problem of somebody pushing malware in an update to a package published on quicklisp (mainly Xach's dist)? It seems to me that currently the onus is on the user to check the various systems for potential malwares. Which could turn into a nightmare if the number of packages scale (and so could any code review to verify them). It seems that being able to depend strictly upon a
<bhartrihari> particular version of a library, (which may be marked as reviewed or verified) might be of slight help in this regard.
ldb has joined #lisp
amerigo has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
<bhartrihari> s/package/system
orivej has joined #lisp
ldb has quit [Ping timeout: 258 seconds]
<bhartrihari> By which I mean, the ability to pin a version of some library.
<heisig> bhartrihari: Do other software ecosystems have a solution for that problem? Thorough code reviews are hard, so I'd consider that impractical.
<heisig> Pinning also means you pin bugs.
<heisig> My approach is that I mostly use software from people that I trust. (Where trust means 'I know where they live' :D)
<bhartrihari> One could choose to apply patches over pinned repos for bugfix.
ldb has joined #lisp
<bhartrihari> Or choose the commits to apply.
<heisig> Quicklisp allows you to run your own dist, so that should be doable.
<heisig> The more lightweight approach would be to place the project in question in ~/quicklisp/local-projects.
<ldb> .
ldb has quit [Client Quit]
LY has quit [Remote host closed the connection]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
<bhartrihari> heisig: I understand that you are trying to give solutions for individual programmers, but I think we need some support for this in quicklisp. I can put certain versions in local-projects, but I need a way to share that information with the users of my libraries, having to setup a dist for that (I don't want to push this too far but there's very less documentation on how to do that) is too burdensome.
<fe[nl]ix> bhartrihari: that's not how quicklisp works
<fe[nl]ix> quicklisp works with distributions, which are package sets
<fe[nl]ix> when you update a distribution, you update all the packages contained therein
<fe[nl]ix> it's a curated publishing channel, so only the maintainer (Xach) can push there
<fe[nl]ix> the model of npm, maven, etc... is that 1) each package has its own channel, and 2) the package author can push independently
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
<fe[nl]ix> in this model, the client that fetches packages has to resolve dependencies, and it's inevitable to end up with a 3-SAT problem a.k.a. dependency hell
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #lisp
<fe[nl]ix> bhartrihari: was that clear ?
LY has joined #lisp
vap1 has joined #lisp
EvW has joined #lisp
vaporatorius__ has quit [Ping timeout: 240 seconds]
<bhartrihari> I see. I should've been more precise about "pushing". I meant somebody pushing malicious code in their repo, and Xach pulling it in his dist, or ultralisp for that matter. So one is constrained to use the version of a library that was included in a certain distribution of Xach's dist? Can one choose which distribution to use?
<fe[nl]ix> ultralisp is more like the "continuous stream" model, which is why I don't like it
<bhartrihari> I would like it if there was some option to pin the version of a library. Then the continuous stream would make new versions available quickly.
<fe[nl]ix> if you don't trust Xach, I suggest you simply fetch the sources, bundle them in your repository and review the code
<bhartrihari> Qlot works to solve that afaik, though I haven't tried that.
rgherdt has joined #lisp
heisig has quit [Quit: Leaving]
<bhartrihari> It's not my personal problem fe[nl]ix. Everybody who uses any quicklisp dist is affected by it. I was merely trying to start a discussion on evaluating what can be done on the quicklisp side of things.
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
jprajzne has joined #lisp
<bhartrihari> > Qlot works to solve that afaik, though I haven't tried that.
<bhartrihari> Qlot works to solve the pinning of library versions I mean.
<fe[nl]ix> I used to run QA and the CI env for a startup, and npm was a nightmare
<fe[nl]ix> I first switched to pinning and flat dependencies, and just checked-in the pin file
<fe[nl]ix> then people kept updating the pinned version every other day and causing more breakage, so I just checked-in the sources
<fe[nl]ix> so basically I was the only one to use npm, maybe one a month
<fe[nl]ix> problem solved
ldb has joined #lisp
<ldb> sup
LY has quit [Ping timeout: 256 seconds]
<bhartrihari> Maybe it works for bugs which break code in a more obvious manner. There's only so much one person can do.
<Shinmera> bhartrihari: you can run your own dist that only publishes audited updates. That's the best anyone can do to secure against malicious injection.
dddddd has quit [Ping timeout: 246 seconds]
ralt has joined #lisp
<bhartrihari> We can do that. I was wondering if being able to pin audited versions of libraries from the same dist could work better, in that it is less burdensome and doesn't fragment the efforts of the community.
<bhartrihari> Shinmera: ^^
<Shinmera> that fundamentally breaks quicklisp's model.
<Shinmera> the point of the dist is to provide a snapshot of the world that has some guarantees about stability. as soon as you pin only some libraries, that model breaks.
<Shinmera> you can do that yourself, by cloning the library into local-projects at whatever you want, but you also bear the consequences of doing so.
jprajzne has quit [Read error: Connection reset by peer]
<phoe> bhartrihari: you can e.g. pin NAMED-READTABLES to the current, reviewed version and enjoy it working
<phoe> until SBCL updates itself to a new version and NAMED-READTABLES breaks
<bhartrihari> Okay, how about using a package from a previous publication of a world? Can one do that currently?
<bhartrihari> I see it now, thanks.
<ldb> just ship dependencies with application
jprajzne has joined #lisp
<bhartrihari> ldb: I'm talking about shipments which take place through quicklisp dists.
<phoe> scymtym: anyway, has there been any issue created about this SBCL-related breakage you mentioned?
ldb` has joined #lisp
sdumi has quit [Ping timeout: 246 seconds]
ldb` has quit [Client Quit]
zaquest has quit [Quit: Leaving]
ldb has quit [Ping timeout: 256 seconds]
zaquest has joined #lisp
orivej_ has quit [Ping timeout: 256 seconds]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
jprajzne has quit [Remote host closed the connection]
bhartrihari has joined #lisp
EvW has quit [Ping timeout: 256 seconds]
ncakerlist has joined #lisp
sdumi has joined #lisp
SGASAU has joined #lisp
<phoe> scymtym: I've made an issue on n-r and linked the contents of your message there.
bhartrihari has left #lisp ["Disconnected: closed"]
bhartrihari has joined #lisp
pikajew has quit [Ping timeout: 246 seconds]
pikajew has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
orivej has joined #lisp
ncakerlist has quit [Ping timeout: 240 seconds]
sdumi has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 256 seconds]
<fe[nl]ix> bhartrihari: you have to keep up-to-date with the rest of the ecosystem
<fe[nl]ix> and if stuff doesn't compile, packages will be removed from the dist
sdumi has joined #lisp
freshpassport has joined #lisp
libertyprime has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
shangul has quit [Ping timeout: 265 seconds]
andrei-n has joined #lisp
orivej has joined #lisp
epony has quit [Quit: upgrades]
__jrjsmrtn__ has joined #lisp
vaporatorius__ has joined #lisp
vap1 has quit [Ping timeout: 260 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
epony has joined #lisp
LY has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
sendai_ has quit [Quit: Leaving]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
orivej_ has joined #lisp
sdumi has quit [Ping timeout: 264 seconds]
sdumi has joined #lisp
marusich has quit [Quit: Leaving]
ralt has quit [Quit: Connection closed for inactivity]
nika has joined #lisp
jonatack has joined #lisp
jprajzne has joined #lisp
kinope has quit [Quit: Connection closed for inactivity]
bhartrihari has left #lisp ["Disconnected: closed"]
bhartrihari has joined #lisp
shangul has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
orivej_ has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
ralt has joined #lisp
jprajzne has quit [Ping timeout: 246 seconds]
SGASAU` has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
jprajzne has joined #lisp
orivej has joined #lisp
SGASAU has quit [Ping timeout: 256 seconds]
pve has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
jprajzne has quit [Client Quit]
random-nick has joined #lisp
ArthurStrong has joined #lisp
cosimone has joined #lisp
sdumi has quit [Read error: Connection reset by peer]
adip has quit [Ping timeout: 246 seconds]
sdumi has joined #lisp
dyelar has joined #lisp
SGASAU` has quit [Remote host closed the connection]
SGASAU` has joined #lisp
LY has quit [Remote host closed the connection]
shifty has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
SGASAU` has quit [Remote host closed the connection]
SGASAU` has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
dale has quit [Quit: My computer has gone to sleep]
SGASAU`` has joined #lisp
SGASAU` has quit [Ping timeout: 240 seconds]
arbv has quit [Ping timeout: 264 seconds]
shangul has quit [Remote host closed the connection]
shangul has joined #lisp
Kaisyu7 has quit [Ping timeout: 246 seconds]
Kaisyu7 has joined #lisp
mrcom has quit [Quit: This computer has gone to sleep]
mrcom has joined #lisp
doofie has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
doofie has left #lisp [#lisp]
orivej_ has joined #lisp
arbv has joined #lisp
karayan has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 246 seconds]
Bike has joined #lisp
kmeow has quit [Remote host closed the connection]
LY has joined #lisp
Kaisyu72 has joined #lisp
Kaisyu7 has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
mange has quit [Ping timeout: 258 seconds]
orivej_ has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
wxie has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #lisp
Cymew has quit [Ping timeout: 265 seconds]
shifty has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
FreeBirdLjj has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
SGASAU`` has quit [Remote host closed the connection]
rumbler31 has joined #lisp
orivej has joined #lisp
SGASAU`` has joined #lisp
funnel has joined #lisp
rumbler31 has quit [Ping timeout: 264 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
bsd4me has joined #lisp
ncakerlist has joined #lisp
SGASAU`` has quit [Quit: ERC (IRC client for Emacs 26.3)]
SGASAU has joined #lisp
dddddd has joined #lisp
wxie has quit [Ping timeout: 264 seconds]
heisig has joined #lisp
jonatack has quit [Ping timeout: 256 seconds]
Harag has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
gko has joined #lisp
orivej has joined #lisp
<Harag> is it just me or is hash tables in sbcl 2.0.5 a lot faster than 2.0.0!!! My db test is loading 1mil records with hash-table indexes in 17 seconds where it was taking 100 seconds previously!!!
loli has quit [Ping timeout: 260 seconds]
KingRiver has joined #lisp
<phoe> Harag: http://www.sbcl.org/all-news.html mentions a few hash table modifications, but mostly for EQUALP
<phoe> that is, between 2.0.5 and 2.0.0
jesse1010 has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
KingRiverLee has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
KingRiver has quit [Ping timeout: 256 seconds]
Inline has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #lisp
freshpassport has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jonatack has joined #lisp
<Harag> phoe: I use equalp ... so that would explain it I suppose
<Harag> if I run the tests over and over sbcl eventually gets its nickers in a not and performance goes out the window again. (event with restarts)...trying a reboot now to see if that helps
orivej_ has quit [Ping timeout: 260 seconds]
Harag has quit [Quit: Harag]
orivej has joined #lisp
Harag has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
ncakerlist has quit [Ping timeout: 260 seconds]
KingRiverLee has quit [Ping timeout: 264 seconds]
<_death> you could profile your code and see if the hash-table code is relevant
Va has joined #lisp
KingRiverLee has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
LY has quit [Remote host closed the connection]
SGASAU has quit [Remote host closed the connection]
orivej has joined #lisp
SGASAU has joined #lisp
KingRiverLee has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
SGASAU has quit [Remote host closed the connection]
<Harag> _death: been doing it
SGASAU has joined #lisp
<Harag> but cant profile gethash itself ... well in 2.0.0 I could not...
<Harag> I tried a naive avl-tree instead of the hash-tables but it was horrible... at least the populating it was
Va has quit [Quit: Vision[0.10.3]: i've been blurred!]
orivej has quit [Quit: No Ping reply in 180 seconds.]
SGASAU has quit [Remote host closed the connection]
orivej has joined #lisp
amerigo has quit [Quit: Connection closed for inactivity]
SGASAU has joined #lisp
jw4 has quit [Read error: Connection reset by peer]
jw4 has joined #lisp
EvW has joined #lisp
rumbler31 has joined #lisp
entel has joined #lisp
bsd4me has quit [Remote host closed the connection]
EvW has quit [Remote host closed the connection]
<Harag> pffft sbcl 2.0.5 went backward in gc ... running my test twice in a row now crashes sbcl... last night on sbcl 2.0.0 I ran the tests over and over for hours without one crash while I was trying to tweak the code
EvW has joined #lisp
zulu-inuoe has joined #lisp
<Harag> An mprotect call failed with ENOMEM. This probably means that the maximum amount of separate memory mappings was exceeded
<beach> I have seen that one.
<Harag> I run sbcl --dynamic-space-size 16000
<Harag> and the first run gets to about 5.6 gigs according the system monitor
<beach> As I recall, it does not have to do with the total amount of space.
<Harag> repeating the run immediately crashes
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
<beach> Again, as I recall, it is the number of memory mappings made by the memory manager.
<Harag> To fix the problem, either increase the maximum with e.g. 'echo 262144 > /proc/sys/vm/max_map_count' or recompile SBCL with a larger value for GENCGC-CARD-BYTES in
<Harag> 'src/compiler/target/backend-parms.lisp'.
rumbler31 has quit [Remote host closed the connection]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
<Harag> cant find backend-parms.lisp ..grepped for GENCGC-CARD-BYTES and can only find notes about it nothing to set it
<phoe> Harag: grep for it lowercase
<phoe> `git grep -i gencgc-card` gives me lots of hits
EvW1 has joined #lisp
EvW has quit [Ping timeout: 256 seconds]
EvW1 has quit [Ping timeout: 265 seconds]
bitmapper has joined #lisp
<Harag> (defconstant gencgc-card-bytes +backend-page-bytes+)
<Harag> (defconstant +backend-page-bytes+ #+win32 65536 #-win32 32768)
axion has quit [Quit: Lost terminal]
<Harag> wrong file
<Harag> (defconstant +backend-page-bytes+ 65536)
axion has joined #lisp
<Harag> so what should it be set to?
EvW has joined #lisp
ArthurStrong has quit [Read error: Connection reset by peer]
ArthurStrong has joined #lisp
<phoe> obviously, more than that
<phoe> maybe #sbcl will be able to help more
<Harag> according to https://docs.actian.com/vector/5.0/index.html#page/User/Increase_max_map_count_Kernel_Parameter_(Linux).htm it should be 65536 if my math is right (/ 2097152 32)
<Harag> k
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
EvW has quit [Ping timeout: 256 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
jtecca has joined #lisp
jtecca has left #lisp [#lisp]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
rgherdt has quit [Ping timeout: 265 seconds]
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #lisp
loli has joined #lisp
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 256 seconds]
sdumi has quit [Ping timeout: 260 seconds]
karayan has joined #lisp
sdumi has joined #lisp
hhdave has joined #lisp
rgherdt has joined #lisp
rogersm has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
karayan has quit [Read error: Connection reset by peer]
karayan has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
rumbler31 has joined #lisp
frgo has joined #lisp
<jmercouris> How do you guys automatically restart your lisp web servers when they crash?
<jmercouris> there is some strange bug I can’t figure out that keeps causing our sever to crash, leading to downtime if i am not paying attention
<jmercouris> wondering if I can just wrap everything in a condition handler and restart or something
epony has quit [Ping timeout: 258 seconds]
<jmercouris> I know that is not a true solution, but I don’t have time right now...
rumbler31 has quit [Ping timeout: 260 seconds]
frgo_ has quit [Ping timeout: 260 seconds]
<shymega> jmercouris: systemd maybe? I don't know what OS you're on. Or supervisord..
epony has joined #lisp
<shinohai> ewwww systemd
<jmercouris> i’m on BSD
orivej has quit [Ping timeout: 246 seconds]
<jmercouris> so no point in handler case?
<jmercouris> it would seem logical to me...
orivej has joined #lisp
<phoe> jmercouris: run with --disable-debugger or an equivalent, use your BSD's init system to restart it on crash
terpri__ has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
<phoe> it's not really a Lisp question at this point, it's a question about BSD services and their restart strategies
<phoe> your Lisp image is just Yet Another Unix Daemon™ at this point; treat it like one
terpri_ has quit [Ping timeout: 256 seconds]
EvW has joined #lisp
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #lisp
entel has quit [Quit: Connection closed for inactivity]
Inline has quit [Ping timeout: 258 seconds]
gko has quit [Ping timeout: 258 seconds]
orivej_ has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
nicktick has quit [Ping timeout: 240 seconds]
orivej has quit [Read error: Connection reset by peer]
orivej has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
EvW has quit [Read error: Connection reset by peer]
EvW1 has joined #lisp
shangul has quit [Ping timeout: 264 seconds]
<Harag> FYI - setting vm.max_map_count works but changing GENCGC-CARD-BYTES in lisp does not
nicktick has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
mathrick has joined #lisp
EvW1 has quit [Ping timeout: 264 seconds]
grayling_ has joined #lisp
sdumi has quit [Read error: Connection reset by peer]
<grayling_> I have a question about lexical closures if anyone is up for it.
sdumi has joined #lisp
rumbler31 has joined #lisp
<Josh_2> Is there a recursive version of jonathan:parse ?
cosimone_ has joined #lisp
EvW has joined #lisp
<phoe> grayling_: sure
orivej has quit [Quit: No Ping reply in 180 seconds.]
hopeful_gnosis has joined #lisp
hopeful_gnosis has quit [Remote host closed the connection]
hopeful_gnosis has joined #lisp
orivej has joined #lisp
<grayling_> (let ((db (make-hash-table :test #'equal)))
<grayling_> (defun get-db (key) (gethash key db))
<grayling_> (defun put-db (key val) (setf (gethash key db) val))
<grayling_> (defun return-db () db)
<grayling_> (defun peek-db ()
<grayling_> (loop for k being the hash-keys in db using (hash-value v)
<grayling_> do (print k)))
rumbler31 has quit [Ping timeout: 264 seconds]
<grayling_> (defun clear-db () (clrhash db)))
<grayling_>
grayling_ was kicked from #lisp by phoe [grayling_]
cosimone has quit [Ping timeout: 256 seconds]
<Josh_2> rip
cosimone_ is now known as cosimone
grayling_ has joined #lisp
EvW has quit [Ping timeout: 256 seconds]
<grayling_> Sorry. My question about lexical closure is this: https://pastebin.com/yzvnCnnm
karayan has quit [Ping timeout: 256 seconds]
bhartrihari has left #lisp ["Disconnected: closed"]
<phoe> OK, I can understand that code - that's five functions closed over a hash table
<beach> Wow, that's the third person in a short time using closures instead of standard objects.
bhartrihari has joined #lisp
<grayling_> For some reason (peek-db) only works after a recompile.
karayan has joined #lisp
<phoe> grayling_: recompile? what do you mean?
rumbler31 has joined #lisp
rogersm has quit [Quit: Leaving...]
cosimone has quit [Remote host closed the connection]
<grayling_> Ah. Sorry. I load the project using quicklisp. But only after working on it and using slime is peek-db returning a value.
<phoe> no idea, this works for me outside QL
cosimone has joined #lisp
<grayling_> I can get-db and put-db just fine.
<grayling_> Ah. Then it must be my project setup somehow.
<phoe> could you put up your code on GitHub so I can try loading the system and reproducing it?
<grayling_> Sure.
<phoe> (also, why don't you use a global variable?)
<Josh_2> don't worry about my previous question, I was making a mistake with my json encoding. Fixed it now
EvW has joined #lisp
<grayling_> Yes, I could use a global variable - and that works just fine. I just wondered.
rumbler31 has quit [Ping timeout: 260 seconds]
<grayling_> The project itself is under /pattern
<phoe> grayling_: also, what do you mean, "works"?
<phoe> what do you mean by it not working?
hopeful_gnosis has left #lisp ["Leave."]
karayan has quit [Ping timeout: 260 seconds]
karayan has joined #lisp
<grayling_> If I just (asdf:load-system :aeai-pattern) I cannot use (peek-db). It returns nothing even after (get-db) being used.
Guest21 has joined #lisp
<phoe> oh. yes, I can reproduce that.
<grayling_> Isn't that strange?
ogamita has joined #lisp
<grayling_> Yes. That's the issue.
gko has joined #lisp
<phoe> !
<phoe> for whatever reason, these functions are closed over *different* hash tables.
<phoe> why?
<phoe> is that expected?
<grayling_> That is the question.
<phoe> I'd say no, that smells like a bug of some sort
<grayling_> No. db should be the same hash-table
ogamita has quit [Ping timeout: 246 seconds]
<grayling_> Okay. Then it isn't me going mad. :-)
bhartrihari has left #lisp ["Disconnected: Broken pipe"]
<phoe> grayling_: actually
<phoe> PUT-DB is redefined elsewhere and it closes over a different hash table.
Guest21 has quit [Quit: Leaving]
bhartrihari has joined #lisp
Guest16270 has joined #lisp
<phoe> case solved, I think
EvW has quit [Ping timeout: 260 seconds]
gko has quit [Ping timeout: 256 seconds]
<grayling_> Thank you. I totally missed that.
<phoe> <3
efm has joined #lisp
Guest16270 has quit [Quit: Guest16270]
orivej has quit [Quit: No Ping reply in 180 seconds.]
EvW1 has joined #lisp
orivej has joined #lisp
terpri_ has joined #lisp
terpri__ has quit [Ping timeout: 256 seconds]
momozor has joined #lisp
<momozor> Hi
Bit_MCP has joined #lisp
<momozor> Is there something like (:require :cl-ppcre :as :something-short) for ASDF?
SGASAU has quit [Remote host closed the connection]
<momozor> so I can do, (something-short:scan ...)
<momozor> for example
SGASAU has joined #lisp
potta_coffee has joined #lisp
<momozor> I checked the ASDF documentations, but I can't find anything that do something like that.
<momozor> *or maybe I just missed it somewhere*
<phoe> momozor: it's not for ASDF
<phoe> it's called package-local nicknames
<phoe> (defpackage #:my-package (:use :cl) (:local-nicknames (:p :cl-ppcre))) (in-package #:my-package)
<phoe> then, (p:scan ...)
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #lisp
<momozor> ohhh
<momozor> thanks..now I know what to find
<momozor> oh
<momozor> phoe: thanks again!
momozor has quit [Quit: leaving]
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
entel has joined #lisp
<jmercouris> phoe: OK, will do
karayan has quit [Ping timeout: 256 seconds]
orivej_ has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #lisp
cosimone has quit [Quit: Quit.]
Krystof has quit [Ping timeout: 240 seconds]
thmprover has joined #lisp
grayling_ has left #lisp ["ERC (IRC client for Emacs 26.3)"]
grayling_ has joined #lisp
shka_ has quit [Ping timeout: 260 seconds]
doomlist3 has joined #lisp
gaqwas has quit [Remote host closed the connection]
arpunk has quit [Read error: Connection reset by peer]
bhartrihari has left #lisp ["Disconnected: closed"]
bhartrihari has joined #lisp
grayling_ has quit [Quit: Textual IRC Client: www.textualapp.com]
grayling_ has joined #lisp
grayling_ has left #lisp [#lisp]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
grewal has joined #lisp
doomlist3 has quit [Quit: not part but quit]
doomlist3 has joined #lisp
doomlist3 has quit [Client Quit]
thecoffemaker has quit [Ping timeout: 260 seconds]
doomlist3 has joined #lisp
EvW1 has quit [Read error: Connection reset by peer]
doomlist3 has quit [Client Quit]
doomlist3 has joined #lisp
heisig has quit [Ping timeout: 265 seconds]
thecoffemaker has joined #lisp
cosimone has joined #lisp
Jesin has quit [Quit: Leaving]
terpri_ is now known as terpri
eta has quit [Ping timeout: 256 seconds]
Jesin has joined #lisp
eta has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
Adamclisi has joined #lisp
potta_coffee has quit [Remote host closed the connection]
heisig has joined #lisp
heisig has quit [Remote host closed the connection]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
eta has quit [Read error: Connection reset by peer]
eta has joined #lisp
nika has quit []
cosimone has quit [Read error: Connection reset by peer]
doomlist3 has quit [Ping timeout: 256 seconds]
cosimone has joined #lisp
doomlist3 has joined #lisp
terpri_ has joined #lisp
potta_coffee has joined #lisp
sdumi has quit [Ping timeout: 264 seconds]
shifty has joined #lisp
terpri has quit [Ping timeout: 256 seconds]
potta_coffee has quit [Ping timeout: 258 seconds]
ralt has joined #lisp
sdumi has joined #lisp
terpri_ has quit [Remote host closed the connection]
terpri_ has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
bhartrihari has left #lisp ["Disconnected: Replaced by new connection"]
bhartrihari has joined #lisp
rogersm has joined #lisp
hhdave has quit [Quit: hhdave]
<Josh_2> Made a leaky bucket rate limiter in CL, pretty sweet
<Josh_2> going straight onto the backend for my website
EvW has joined #lisp
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #lisp
gaqwas has joined #lisp
cyraxjoe has joined #lisp
MightyJoe has quit [Ping timeout: 264 seconds]
nikkal has joined #lisp
Bourne has joined #lisp
Inline has joined #lisp
cosimone has quit [Quit: Quit.]
orivej_ has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
marusich has joined #lisp
nikkal has quit [Ping timeout: 246 seconds]
<seok> Anyone use emacs to remote connect to aws or another server?
orivej has quit [Quit: No Ping reply in 180 seconds.]
matzy_ has joined #lisp
orivej has joined #lisp
<drmeister> Does anyone know how the precedence works when you have additional dists in quicklisp?
<drmeister> In cando we install a quicklisp distribution called "quickclasp".
<Shinmera> if I remember correctly whichever has a higher priority number takes precedence
<drmeister> I believe that quickclasp systems shadow quicklisp.
<Shinmera> yes
<Shinmera> new dists have a higher precedence than the default dist by default.
<drmeister> What is the priority number? Where is that stored?
<drmeister> I'm asking because some of us think that they are getting a different precedence than others.
<Shinmera> quicklisp/dists/<dist>/preference.txt
<drmeister> It was a big deal a couple of days ago when quickclasp was serving clasp specific systems for bordeaux-threads, trivial-garbage and trivial-backtrace.
<drmeister> Since the new quicklisp update a few days ago quickclasp stopped serving those.
<Shinmera> you can always check where something is coming from with ql:where-is-system
andrei-n has quit [Quit: Leaving]
<drmeister> But in the future if we shadow quicklisp systems we may run into this again.
<drmeister> This is interesting... Here are my preference.txt values...
shifty has quit [Ping timeout: 256 seconds]
<drmeister> Martin is saying that his numbers are the same.
<drmeister> What determines the preference.txt value?
<Shinmera> it's set on dist install
shifty has joined #lisp
<drmeister> Why would mine be different and quickclasp has a higher value (3800557960) while quicklisp has a lower one (3800557960).
<drmeister> On Martin's system they both have the value 3801058370
<Shinmera> no idea.
<Shinmera> gotta ask Xach for that
<drmeister> Hmmm. Xach - are you online>?
cracauer has joined #lisp
gurmble has joined #lisp
grumble has quit [Killed (tepper.freenode.net (Nickname regained by services))]
gurmble is now known as grumble
dale has joined #lisp
potta_coffee has joined #lisp
Jesin has quit [Quit: Leaving]
ncakerlist has joined #lisp
potta_coffee has quit [Ping timeout: 260 seconds]
doomlist3 has quit [Ping timeout: 264 seconds]
Jesin has joined #lisp
ncakerlist has quit [Ping timeout: 240 seconds]
<Josh_2> seok: yes with Tramp mode
orivej has quit [Quit: No Ping reply in 180 seconds.]
<seok> Yeah I've been trying for 3 hours
<seok> How do I give ppk/pem file for ssh?
<Josh_2> Using the normal unix SSH tools
<seok> I am on windows
<Josh_2> well I don't know then
<Josh_2> when you have setup passwordless login for SSH Tramp should connect without a pass
orivej has joined #lisp
<seok> if I do /ssh: I get error :unknown option "-e"
<seok> if I do /plink: it cannot find the ppk file
nicktick has quit [Ping timeout: 256 seconds]
nicktick has joined #lisp
rogersm has quit [Remote host closed the connection]
pve has quit [Quit: leaving]
libertyprime has quit [Ping timeout: 246 seconds]
MightyJoe has joined #lisp
cyraxjoe has quit [Ping timeout: 256 seconds]
EvW has quit [Ping timeout: 256 seconds]
Bourne has quit [Ping timeout: 256 seconds]
<Shinmera> this is off-topic. try #emacs
gravicappa has quit [Ping timeout: 258 seconds]
orivej has quit [Ping timeout: 256 seconds]
EvW1 has joined #lisp
EvW1 has quit [Ping timeout: 256 seconds]
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
SGASAU has quit [Ping timeout: 258 seconds]
ralt has quit [Quit: Connection closed for inactivity]
akoana has joined #lisp
<Josh_2> Lisp images so tough despite my error-error being 3 levels deep It's still serving my site just fine
<Josh_2> oof
<Josh_2> oops
mathrick has quit [Ping timeout: 256 seconds]
_paul0 has quit [Read error: Connection reset by peer]
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
Codaraxis_ has joined #lisp
<Xach> drmeister: it's the universal-time of installation
<Xach> drmeister: the theory being that newer systems are preferred by default
Codaraxis__ has quit [Ping timeout: 256 seconds]
<Josh_2> https://plaster.tymoon.eu/view/1912#1912 can someone help me with this error? It's clearly to do with my macro, I'm guessing if I put the (defparameter .. ) into (eval-when ..) It would fix the error
<Josh_2> but why am I getting this error? I had two others about how two of the functions used in my macro were not available at compile-time
<drmeister> Xach: Thanks - then we are installing quicklisp and adding quickclasp too quickly after that.
<drmeister> We are doing this in a script that sets up a lot of software.
carloshgv has joined #lisp
Telior has joined #lisp
Telior has quit [Remote host closed the connection]
<Josh_2> I think I understand, the macroexpansion is attempting to call a function that doesn't exist when it needs it
shifty has quit [Ping timeout: 260 seconds]
Inline has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
arpunk has joined #lisp
gekkou has joined #lisp
Lord_of_Life_ has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
efm has quit [Ping timeout: 264 seconds]
EvW has joined #lisp
shifty has joined #lisp
carloshgv has left #lisp ["WeeChat 2.8"]
<matzy_> could anyone help me understand why my super, super simple webserver project refuses to be compiled by asdf? I've been searching for hours and hours and can't figure out what i i did wrong
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<matzy_> once sec i'll post the github code
<matzy_> my remote is being annoying
efm has joined #lisp
<Xach> drmeister: the value can be set manually also
<Xach> if the automatic default isn't doing what you need
<drmeister> Xach: That's what I think we will do, rather than playing Russian Roulette with installation timing.
<matzy_> ugh github is being super annoying, but here's the link - https://github.com/cmatzenbach/conway-ff -- the only difference is i moved everything from the /api folder to the top level and deleted the folder to hopefully make asdf happy, but no
<drmeister> Funny thing though - I swore to Martin up and down that quickclasp shadowed quicklisp while he said that he was seeing it the other way. In my case I was installing quickclasp by hand and he was using a script that we are developing where the two are installed in rapid succession.
gaqwas has quit [Remote host closed the connection]
shifty has quit [Ping timeout: 256 seconds]
<drmeister> In his case they both had the same value so it was a coin toss which one shadowed the other. It's kind of fortunate that we hit this - because now we can take control.
random-nick has quit [Ping timeout: 260 seconds]
<matzy_> the thing is, i got it to compile once, and then i made a couple menial changes and it has never worked since then
<drmeister> quickclasp isn't currently shadowing any quicklisp systems - but it may in the future. So it was a logic bomb waiting to happen.
<matzy_> i've even restored back to the initial commit and it still wouldn't compile from that
gekkou has quit [Quit: WeeChat 2.9-dev]
<matzy_> it keeps error out after the (defvar *acceptor*) and saying "Package HUNCHENTOOT doesn't exist)
<matzy_> line 21 in server.lisp
rgherdt has quit [Ping timeout: 265 seconds]
<matzy_> All I do is make a package for server.lisp, :use cl, and export the start-server and stop-server functions. in main.lisp all I do is call (in-package :server) and then call (server:server-start)
<no-defun-allowed> You shouldn't QUICKLOAD the packages from inside the source files.
<no-defun-allowed> What will happen is, that when ASDF goes to compile your file, it'll read it without running the QUICKLOAD forms, and will get confused when Hunchentoot isn't present.
<matzy_> oh yeah i also install the four dependencies i need in quicklisp after my (defpackage :server) and (in-package :server) which was loding fine at one point
<matzy_> ahhhhhh
<no-defun-allowed> Instead, add a :depends-on argument to your DEFSYSTEM in the asd file, like :depends-on (:hunchentoot :easy-routes :jonathan)
<no-defun-allowed> (I don't think you need hunchentoot-test to write programs using Hunchentoot.)
potta_coffee has joined #lisp
<matzy_> see, i was thinking about that, but i read a blog post on asdf 3 and he says that was dumb for some reason
<matzy_> but i was kinda suspecious
<matzy_> thank you SO MUCH
<matzy_> i'm gonna try it now
<no-defun-allowed> That's what I always do, and I don't think trying to QUICKLOAD from the source file would be the non-dumb solution though.
potta_coffee has quit [Ping timeout: 240 seconds]
<matzy_> no-defun-allowed
<matzy_> that fixed it!!!!
<no-defun-allowed> Great!
<matzy_> THAKN YOU SO MUCH
<matzy_> really appreciate you taking the time to look at my code
<seok> I am getting an error loading slime on emacs
<seok> File is missing: Cannot open load file, No such file or directory, slime-autoloads
<seok> where should this file be?
<matzy_> i have one other general question if you have a second - when i run (asdf:load-system "my-system") is it 1. generating a binary and 2. re-compiling every time? What if I have a stable compiled version and want to run that one? Would I still use (asdf:load-system "my-system")?
<matzy_> seok what OS are you using?
<seok> I am trying to setup slime remotely
<seok> on aws from windows
<seok> ubuntu
<matzy_> wait windows or ubuntu?
<matzy_> big difference
<seok> ubuntu on aws
<seok> windows locally
<matzy_> ok, that makes things a bit easier
<no-defun-allowed> ASDF will always load the version of a system as it exists in the source code, which may involve recompiling changed files.
<seok> what do I have to load?
<matzy_> unfortunately i've just started using aws this past week :( but let me think, cause i just had to do a bunch of configuring as i've been learning docker
<matzy_> no-defun-allowed so it's re-compiled every time, but only compiles files that have changes made to them? is this a binary you can run outside of that asdf function?
<no-defun-allowed> No, it will generate one FASL file per Lisp source file. You could load those with LOAD, but you would need to ensure everything each file depends on is loaded before loading it; which is basically just doing what ASDF would do for you.
<matzy_> seok did you (require 'slime-autoloads)?
<seok> in .emacs?
<matzy_> yes
<seok> after load or before?
<matzy_> seok check out this github issue: https://github.com/slime/slime/issues/258
<matzy_> similar problem. but let me check my personal slime setup in emacs
<seok> I added it between (load.. and (setq inferior-lisp-program)
<seok> and get this error File is missing: Cannot open load file, No such file or directory, slime-autoloads