phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.16, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
jcowan has left #lisp [#lisp]
anamorphic has joined #lisp
makomo has quit [Ping timeout: 244 seconds]
keep_learning_M has joined #lisp
ltriant has joined #lisp
vms14 has quit [Quit: WeeChat 2.3]
<pjb> liambrown[m]1: quicklisp keeps mutating state. So, no, not a good idea to make it system-wide.
<pjb> liambrown[m]1: what would be a good idea would be to make an immutable quicklisp, or a system-wide quicklisp service.
<pjb> liambrown[m]1: also, consider that on a system, you may have systems depending on different versions of a same system, but quicklisp doesn't deal with versions.
mindCrime has quit [Ping timeout: 246 seconds]
<grewal> Or you can throw caution to the wind, chmod -R 777 that directory and pray that nothing bad happens
<liambrown[m]1> pjb: So it's not the precise analog of NPM or PIP? That makes sense. I wonder what it would take to tweak it so that there could be a single install for all users.
<liambrown[m]1> Then again, on a shared system that may not even be wanted; I'm bringing my JS habits to Lisp, which could be limiting.
<pjb> liambrown[m]1: you could download and compile all the systems in the distribution, for all the CL implementation available to the users, and make that read-only to all users.
<grewal> One problem is that you use the same command for loading and installing.
anamorphic has quit [Quit: anamorphic]
nowhere_man has quit [Ping timeout: 258 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
<aeth> or you could just do the messy don't-do-this hackish route and chmod 777 all of it
<aeth> wow
<aeth> I didn't think someone would make the same suggestion so I wrote that while reading the backlog, but grewal already said that, my bad
<aeth> liambrown[m]1: For one, you'd want to have it use HTTPS
<aeth> Absolutely the #1 feature you'd need first.
orivej has quit [Ping timeout: 255 seconds]
ebrasca has joined #lisp
Oladon has joined #lisp
<liambrown[m]1> That's right, it's pulling everything via HTTP, isn't it.
caltelt has quit [Remote host closed the connection]
zotan has quit [Ping timeout: 258 seconds]
zotan has joined #lisp
_ark_ has joined #lisp
<_ark_> Hello lispers. I have a question on SO about hunchentoot redirection. I'd appreciate if anyone could help. https://stackoverflow.com/questions/55960088/redirect-to-https-with-hunchentoot
dpg has joined #lisp
mindCrime has joined #lisp
X-Scale has quit [Ping timeout: 255 seconds]
libertyprime has quit [Ping timeout: 250 seconds]
_ark_ has quit [Ping timeout: 276 seconds]
libre-man has quit [Ping timeout: 245 seconds]
quazimodo has quit [Ping timeout: 245 seconds]
<luis> _ark_: surely you need to launch something on port 80 as well
quazimodo has joined #lisp
clothespin has joined #lisp
mooch has joined #lisp
quazimodo has quit [Ping timeout: 250 seconds]
<mooch> hey, is anybody in here interested in developing emulators as well? i'm working on a project that i think you might be interested imn
<mooch> *in
libre-man has joined #lisp
zmt01 has quit [Quit: Leaving]
X-Scale has joined #lisp
<PuercoPop> Has anyone succeeded in loading OP5 in SBCL or migrate its build system to ASDF?
libertyprime has joined #lisp
dpg has quit [Remote host closed the connection]
kilimanjaro_ is now known as kilimanjaro
beach has joined #lisp
libertyprime has quit [Ping timeout: 246 seconds]
libertyprime has joined #lisp
<aeth> mooch: If no one here answers, maybe someone in #lispgames would
libertyprime has quit [Ping timeout: 244 seconds]
zmt00 has joined #lisp
libertyprime has joined #lisp
libertyprime has quit [Ping timeout: 246 seconds]
idlus_ has quit [Ping timeout: 256 seconds]
libertyprime has joined #lisp
<mooch> aeth, ah thanks!
libertyprime has quit [Ping timeout: 245 seconds]
idlus_ has joined #lisp
cosimone has quit [Quit: WeeChat 2.3]
<beach> Good morning everyone!
<mooch> good morning!
<mooch> beach, would you be interested in helping with an emulation project of mine? i basically want to write emulation cores for a bunch of different components and make emulators based around them, in common lisp of course
<asarch> How exactly do you get an executable binary file? I mean, I would like a binary for the (gtk-demo:main) function from the cl-cffi-gtk-demo-demo package
<asarch> So, I evaluate (ql:quickload :cl-cffi-gtk-demo-demo package) and then (gtk-demo:main) and finally (sb-ext:save-lisp-and-die "tigger" :executable t)?
<beach> mooch: I am sorry, but I am way too busy with other stuff. Plus, you really put me off when you told us that you disagree with basic principles of software engineering. There is no way I could collaborate with someone who writes that kind of code.
<asarch> If yes, however, why the binary doesn't have permissions?: ksh: ./tigger: Permission denied
<mooch> :c
<asarch> In spite of it actually has them: -rwxr-xr-x 1 asarch 1000 76300824 May 2 22:04 tigger
Oladon has quit [Quit: Leaving.]
keep_learning_M has quit [Quit: Leaving]
keep_learning_M has joined #lisp
keep_learning_M has quit [Client Quit]
keep_learning_M has joined #lisp
<aeth> beach: What are the basic principles of software engineering according to you? Do you have a blog or article somewhere?
<mooch> aeth, the one he was referring to was encapsulation, which i honestly find pointless
<mooch> i make everything public in my c++ code :/
<aeth> mooch: Encapsulation is like CS 101 (or 102), that's going to be tricky to argue against.
<mooch> i mean, i've never gone to college so lol
<mooch> i'm self-taught
<mooch> and i honestly don't see the point. if someone could explain it to me, then maybe it'd make sense
<aeth> Well... There are many approaches. Here's one. Excluding debugging, you have to (within reason) anticipate every change that can be made if you want robust software. The more you expose, the more checks you have to add in.
<LdBeth> PuercoPop: do you mean OPS5
<aeth> Privacy can be, to some degree, a convention, though. For instance, in CL, if you start messing with unexported symbols that's kind of on you if the software breaks.
<mooch> aeth, i mean, i only write emulators, so in my cpu cores, for example, i don't need to make anything private because the cpu core should already handle all edge cases
<LdBeth> The programs don’t have to know they’re on emulator
<LdBeth> That’s the point of encapsulation
<PuercoPop> LdBeth: yeah!
<aeth> mooch: sounds like your style probably has a few giant functions that does a bunch of de facto encapsulation
<LdBeth> PuercoPop: then I don’t think you have to change it to make it work
<mooch> LdBeth, no, that would just be accurate emulation lol
<aeth> mooch: If you have a helper function for foo, bar doesn't need to know that it exists. Even if you're just doing things internally to one program.
<mooch> yeah but why do you need that helper function?
<mooch> what's the point of getters and setters?
<PuercoPop> LdBeth: Apparently I meant ap5 U_U' http://ap5.com/
<aeth> getters and setters in e.g. Java are mostly boiler plate.
<LdBeth> PuercoPop: interesting so I’d never know that thing, I’ll look up that later
<PuercoPop> LdBeth: It is a cool concept. You define your models and the application figures out how to best store them
orivej has joined #lisp
<aeth> mooch: I'm more talking about, if you have a function that's 80 lines long with comments that serve as headings splitting it into 4 parts, why not turn those into four functions? And in CL it's pretty easy to split off functions because everything's an expression and almost everything returns a useful value
idlus_ has quit [Ping timeout: 256 seconds]
<aeth> And once you have a dozen functions instead of one, it's pretty clear that you want a public interface, and most of the functions won't make the cut, at least not initially.
<LdBeth> Let me bookmark the pages. Last time I thought I’ve seen a library introduces a meta class called cube which is for syncing database across languages
<LdBeth> But I forgot the exact name
X-Scale has quit [Ping timeout: 246 seconds]
X-Scale` has joined #lisp
X-Scale` is now known as X-Scale
<mooch> aeth, i mean, yeah, that makes sense :/
notzmv has quit [Ping timeout: 250 seconds]
femi has quit [Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in]
femi has joined #lisp
idlus_ has joined #lisp
<aeth> I mean, of course, there's the completely opposite approach, too. http://number-none.com/blow/blog/programming/2014/09/26/carmack-on-inlined-code.html
<beach> aeth: One such principle is "information hiding" which is the one that mooch publicly disagreed with when saying that everything should be public.
<aeth> mooch: Note that that contrarian article has the author's semi-retraction at the top, though.
notzmv has joined #lisp
<beach> aeth: I can't quote a single source for those principles to you, because I learned them as a result of life-long reading of books on the subject, but I am pretty sure that this one principle is cited in almost all books with "software engineering" in the title, and also in many other books on programming.
<mooch> beach, i'm entirely self-taught, mostly through simple practice
<beach> mooch: "I don't see the point" is different from "I disagree". The first one can be explained by ignorance and inexperience (both of which are fixable), whereas the second one reflects some conviction based on careful study.
<mooch> i've never read a book on the subject, nor have i gone to classes for it
<aeth> beach: I wasn't aware that the principles in question were so basic.
<beach> mooch: It is time then to go read some books. I recommend reading one book per month or so.
<mooch> i hate reading books ;-;
<mooch> also i can't afford books
<mooch> i only make like, $20 every two weeks
femi has quit [Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in]
<beach> mooch: There are plenty of books available for free as PDFs online.
<beach> mooch: Now, if you hate reading, there is little that can be done to fix your ignorance and inexperience.
femi has joined #lisp
<aeth> mooch: This is introductory material, so there should be plenty of $0 videos, websites, book PDFs, etc.
<mooch> beach i've been programming for 10 years, which btw is half my life
<aeth> (Of course, there are also plenty of $300 college textbooks on the subject, too.)
asarch has quit [Quit: Leaving]
<mooch> i don't think "inexperienced" is the right word to describe me
<beach> mooch: It is said that in software development, most people don't have 10 years of experience, but 1 year of experience 10 times.
<mooch> ?
<mooch> da heck does that mean?
<beach> mooch: That most programmers, you included, appear to learn nothing from the experience.
<aeth> mooch: This is a different skill than just programming. Sort of one level more abstract than programming.
femi has quit [Client Quit]
<mooch> beach, i mean, my code has gotten cleaner and cleaner over the years, so :/
<mooch> please stop making assumptions about me
<aeth> mooch: The skill in question is about building large applications that you can make changes to 10 years from now, or that other people can make changes to even if they're not too familiar with your code.
<beach> mooch: Yes, I will stop now.
<mooch> thank you
rwlisp has quit [Quit: rwlisp]
<aeth> mooch: I don't doubt that you probably can program, but I would try programming a very large project just so you can see the necessity of some techniques you might not otherwise see the point of. Or program with a team of several people, if you haven't already.
<LdBeth> PuercoPop: so at least I get ap5 build with CLISP, although there’s some issue with CLISP itself on save executable
<mooch> i mean, i have worked on mame, so :/
<aeth> mooch: that's pretty large
<mooch> yeah
<mooch> i've mostly just contributed two things though, one of which hasn't gotten merged yet
<mooch> one of them is support for the i386 debug registers, and another one is a driver for the original iphone
Bike has quit [Quit: Lost terminal]
femi has joined #lisp
<aeth> mooch: What kind of emulator project do you want to do in CL?
pankajgodbole has joined #lisp
<mooch> okay, so basically, there would be libraries that emulate various components, and standalone emulators that use those libraries, but the libraries are shared between the various emulators!
idlus_ has quit [Ping timeout: 256 seconds]
chrpape has quit [Quit: ERC (IRC client for Emacs 26.1)]
<aeth> mooch: what are you going to start with?
cpape has joined #lisp
<mooch> aeth, the 6502 and the nes
<LdBeth> Apple ][
<LdBeth> Great
<aeth> sounds practical to go for something popular
<aeth> I probably would start with a simple RISC, though
<LdBeth> COSMAC ELF
<aeth> I've been using some emulators on Archive.org, e.g. https://archive.org/details/mac_MacOS_7.0.1_compilation
<aeth> it's amazing that they can run in browsers now
<aeth> Of course, I need to find some old Lisp implementations for these old platforms
<no-defun-allowed> aeth: For some constraints on the definition of magic, emscripten is magic.
_whitelogger has joined #lisp
<beach> I am reading the freely available PDF online. Not the printed version.
vlatkoB has joined #lisp
Inline has quit [Quit: Leaving]
deng_cn has quit [Ping timeout: 255 seconds]
quazimodo has joined #lisp
mindCrime has quit [Ping timeout: 246 seconds]
makomo has joined #lisp
idlus_ has joined #lisp
dale has quit [Quit: dale]
deng_cn has joined #lisp
orivej has quit [Ping timeout: 258 seconds]
v88m has quit [Remote host closed the connection]
v88m has joined #lisp
v88m has quit [Ping timeout: 245 seconds]
<dmiles> so i see SHRDLU runs in old CLISP http://maf.directory/misc/shrdlu.html ( http://hci.stanford.edu/~winograd/shrdlu/download/consoleshrdlu.zip ) anyone know if i cna find it that owuld run in SBCL?
fivo has joined #lisp
idlus_ has quit [Ping timeout: 256 seconds]
<dmiles> i sort of started trying to port to SBCL but i know others would be better at it than me
manualcrank has quit [Quit: WeeChat 1.9.1]
sauvin has joined #lisp
sauvin has quit [Max SendQ exceeded]
jprajzne_ has joined #lisp
sauvin has joined #lisp
<pjb> dmiles: IIRC, someone ported it to Common Lisp, on github.
<dmiles> that version does at least run in an old CLISP just not a recent CLISP
<dmiles> (I compared it to the one i gave a link to.. infact almos tthe same code)
<dmiles> oh it at least starts etc.. just runtime errors when parsing certain sentences
<dmiles> here is the one from Github's output https://pastebin.com/Wanj0mJP
ricekrispie has joined #lisp
<dmiles> what would be nice is if i know how to get the old CLISP and new CLISP to dumpo their canonical versions in order to see where the new misunderstanding is
ricekrispie2 has quit [Ping timeout: 258 seconds]
<dmiles> btw to get as far as i have in a port to SBCL it has involved running macroexpand and then using the macroexpanded code
<dmiles> but i have a feeling somethihng that does those 40 hours a week instal of 40 hours a year would do better than me
<dmiles> someone*
ltriant has quit [Quit: leaving]
JohnMS_WORK has joined #lisp
ltriant has joined #lisp
<dmiles> is hsould probably take my ports and #+CLISP #+SBCL #+ABCL so that someone can continue the work
<dmiles> see my foolishnesses and do it sanely
ltriant has quit [Client Quit]
techquila has quit [Ping timeout: 276 seconds]
ltriant has joined #lisp
makomo has quit [Ping timeout: 252 seconds]
<dmiles> the poutput of the pastebin is the https://github.com/tsgouros/www-shrdlu/src
<dmiles> thx because i missed that repo :)
<dmiles> hehe.. i know actualyl i just thought i had found happiness with some of the others (not) and then not looked at that one
<dmiles> nice, that new one did some of the macroexpands that i had but went much deeper
karlosz has joined #lisp
techquila has joined #lisp
techquila has quit [Remote host closed the connection]
<dmiles> um oops nope.. basically they jsut renamed the non-common-lisp versions to to .lisp files
techquila has joined #lisp
gxt has joined #lisp
idlus_ has joined #lisp
reverse_light has quit [Ping timeout: 250 seconds]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life has joined #lisp
Folkol has joined #lisp
idlus has joined #lisp
lavaflow has quit [Read error: Connection reset by peer]
idlus_ has quit [Remote host closed the connection]
<dmiles> putting in the things that made SBCL happier: https://github.com/TeamSPoon/CYC_JRTL_with_CommonLisp/commits/larkc
<dmiles> problem is mainly about what are local varts and what are lexical
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life has joined #lisp
catalinbostan has joined #lisp
ltriant has quit [Quit: leaving]
andrei-n has joined #lisp
orivej has joined #lisp
scymtym has joined #lisp
varjag has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
lavaflow has joined #lisp
Arcaelyx has quit [Ping timeout: 250 seconds]
heisig has joined #lisp
_whitelogger has joined #lisp
ggole has joined #lisp
shka_ has joined #lisp
deng_cn has quit [Remote host closed the connection]
deng_cn has joined #lisp
<dmiles> well looked arorund some more evidently there isnt any that run past a 1999 CLISP
ludston has joined #lisp
<dmiles> this is very hard to belive.. i know
hhdave has joined #lisp
anewuser has joined #lisp
hhdave_ has joined #lisp
hhdave has quit [Ping timeout: 255 seconds]
hhdave_ is now known as hhdave
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
ludston has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
lumm has joined #lisp
<aindilis> dmiles: where could I get the shrdlu code you are using?
<dmiles> this turns out to be teh version all the github repos use
<aindilis> ty!
<dmiles> which runs with Shrldu.bat on windows
<dmiles> but there is no knonw version that can run on linux
lumm has quit [Quit: lumm]
<dmiles> not at github.. etc
<aindilis> hrm
lumm has joined #lisp
TheWild has joined #lisp
<aindilis> I see it uses an older clisp
<dmiles> the www-version at github uses a windows nt server
<gjvc> /usr/lib64/clisp-2.49.93+/base/lisp.run: initialization file `LISPINIT.MEM' was not created by this version of CLISP runtime
<gjvc> booo
<dmiles> it might be 2.27
<dmiles> clisp-2.27*
<aindilis> reading the www-shrdlu repo
<dmiles> oh you can run it without the -M option
<dmiles> "clisp loader.lisp
<dmiles> "
<dmiles> but when you type "Pick up a big red block." it get an error
<dmiles> you can type: "Grasp the pyramid." and get no error
lumm has quit [Client Quit]
<dmiles> (the error only happens when the code tries to update the postioning of items in the world)
JohnMS_WORK has quit [Read error: Connection reset by peer]
<dmiles> "Grasp the pyramid." give no error due to it replying it donet know as to which pyramid you menat
<aindilis> so you type in the english at the >>> prompt?
<dmiles> at the >>> prompt you type "go"
lumm has joined #lisp
<aindilis> I don't know which pyramid you mean.
<aindilis> CLISP 2.49 too recent?
<dmiles> if it does that it may take you back to >>>
<dmiles> (if it takes you back to >>> go and it will resume
<dmiles> CLISP 2.49 is too recent
<aindilis> I just set up a new debian testing machine to run all experimental new code
<aindilis> looks like I'll have to set up some VMs of older versions to run older code too
<dmiles> the main problem is it is using REST as a special variable.. its hard ot just blanket rename that throuought the files
<aindilis> brb
<dmiles> since i think that there are a couple occurences (not the &rest) that it is not supposed to be spcial *yet*
<dmiles> well heres a question (defun foo (bar) (declare (special bar) ) ... just how special is bar here?
<dmiles> i mean (foo 1) is bar now set to 1 ?
<dmiles> (set to 1 for sub functions)
<dmiles> next if those sub functions (setq bar 2) .. should the bar back in #'foo be 2 now?
<dmiles> i am assuming this is supposed to be undefined behaviour
<dmiles> and possiblly what has changed beween old CLISP and now
<dmiles> really there are two differnt undefined behavouirs in this case
<aindilis> b
<dmiles> (defun set-bar (x) (setq bar x))
<dmiles> (defun foo (bar) (print `(foo ,bar)) (declare (special bar) ) (set-bar 2) (print `(foo ,bar)) )
JohnMS_WORK has joined #lisp
<dmiles> (foo 1) should print 1 2 ?
<dmiles> ok that was right.. and what it does
<dmiles> (defun foo (bar) (declare (special bar) ) (print `(foo ,bar))(set-bar 2) (print `(foo ,bar)) )
<dmiles> (in case someone tried it at home)
<dmiles> the question i have next is if there was a new call to (foo 3) if that changes it again?
<aindilis> which loc
<aindilis> srry I'm slow I just upgraded emacs and it's behaving oddly
<dmiles> progmr.lisp ~arround line 270
<dmiles> (DEFUN PARSE2 (REST P)
<dmiles> see after comment.. " (DECLARE (SPECIAL REST))"
<dmiles> than seems to be one possible issue
<dmiles> but then again " (DECLARE (SPECIAL PARENT RE SPECIAL))" makes SBCL unhappy :)
<aindilis> how did you install clisp 2.27?
<dmiles> it may not be available
<dmiles> well at least from ubuntu/debian
<dmiles> will need to build from sources
<aindilis> 2.27 is like from 2002 if I'm not mistaken, which would be debian woody 3.0
<aindilis> also won't the sources not compile due to bitrot?
<aindilis> probably better would be to get a VM going
<dmiles> it might actually posisbly before that
<dmiles> G:\opt\CYC_JRTL_with_CommonLisp\platform\e2c\shrdlu\src>clisp -M lispinit.mem --version
<dmiles> CLISP 1999-07-22 (July 1999)
<dmiles> it wont give a version number!
<aindilis> lol
<aindilis> somewhere someone should be interested in keeping old software running, I find I need this quite a lot
<aindilis> couldn't find any debian 3.0 VMs
<aindilis> I could install from the discs if I can find them
<dmiles> searching clisps bug database i see that 2.27 has some of the same bugs as the windows version..l that was why i assumed it was 2.27
<aindilis> k
<dmiles> but that guess is very unmlikely
<dmiles> i also tryied the code with a modern clisp.exe on windows.. still no luck
<dmiles> > also won't the sources not compile due to bitrot? (I think you have to use a differnt version of GCC)
<dmiles> ok it's 2.23
jmercouris has joined #lisp
<jmercouris> how to sort a list of strings alphabetically? which predicate would I use?
<shka_> string<
<shka_> and string>
<jmercouris> shka_: thank you
<shka_> you are welcome
<dmiles> damn CLISP's first tag is clisp_2_25_1-2001-04-06
<jmercouris> git commit tag?
idlus_ has joined #lisp
<dmiles> sorry they jsut changed how they tagedd its tag for 2.23 is "release-1999-07-22"
<aindilis> I just did this for a different piece of software, I'm going to look for my VMs
idlus has quit [Remote host closed the connection]
<dmiles> i think the tag "release-1999-07-22" made it into git
<aindilis> I have some live GNU/Linux cds from 2003
<aindilis> but I doubt clisp is installed
<aindilis> I also have Debian 4.0r1 on cd
<aindilis> I can't seem to find old images on the net
<aindilis> isos
<dmiles> of source what we *should* be doing is modernizing the lisp code :)
<dmiles> source/coures
<aindilis> well I thought if we could inspect it
<dmiles> *nod* .. i do want to at least be able to run it once on linux before digging in
FreeBirdLjj has joined #lisp
lumm has quit [Read error: Connection reset by peer]
<aindilis> dmiles: yeah
lumm has joined #lisp
<dmiles> well the build startd here https://pastebin.com/uSgKLU0J
<dmiles> been hanging there for 5 minutes but that might be normal
<aindilis> hrm
gareppa has joined #lisp
maxxcan has joined #lisp
TheWild has quit [Ping timeout: 250 seconds]
dmiles has quit [Ping timeout: 246 seconds]
jmercouris has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
dmiles has joined #lisp
gareppa has quit [Quit: Leaving]
maxxcan has quit [Quit: maxxcan]
random-nick has joined #lisp
anewuser has quit [Ping timeout: 268 seconds]
Zaab1t has joined #lisp
pillton has quit [Remote host closed the connection]
Zaab1t has quit [Client Quit]
skeuomorf has joined #lisp
Achylles has joined #lisp
Achylles has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 246 seconds]
cosimone has joined #lisp
makomo has joined #lisp
xkapastel has joined #lisp
TheWild has joined #lisp
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
Achylles has joined #lisp
<xkapastel> http://okmij.org/ftp/continuations/undelimited.html argues that delimited continuations are "more expressive" but that seems misleading, it's precisely because undelimited continuations are like `goto` that you can do weirder stuff with them
<xkapastel> oops, wrong channel
lavaflow has quit [Ping timeout: 246 seconds]
Achylles has quit [Remote host closed the connection]
_whitelogger has joined #lisp
Achylles has joined #lisp
Achylles has quit [Read error: Connection reset by peer]
catalinbostan has quit [Ping timeout: 250 seconds]
ealfonso has quit [Ping timeout: 276 seconds]
ealfonso has joined #lisp
remexre has quit [Ping timeout: 255 seconds]
catalinbostan has joined #lisp
catalinbostan has quit [Read error: Connection reset by peer]
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lumm has quit [Quit: lumm]
lumm has joined #lisp
Achylles has joined #lisp
ealfonso has quit [Ping timeout: 276 seconds]
Folkol has joined #lisp
cosimone has quit [Quit: WeeChat 2.3]
ealfonso has joined #lisp
skeuomorf has quit [Remote host closed the connection]
makomo has quit [Ping timeout: 250 seconds]
catalinbostan has joined #lisp
ealfonso has quit [Ping timeout: 276 seconds]
jsjolen has joined #lisp
ealfonso has joined #lisp
Achylles has quit [Read error: Connection reset by peer]
jessup has joined #lisp
Josh_2 has joined #lisp
Achylles has joined #lisp
Achylles has quit [Read error: Connection reset by peer]
Achylles has joined #lisp
wxie has joined #lisp
FreeBirdLjj has joined #lisp
clothespin has quit [Ping timeout: 276 seconds]
vms14 has joined #lisp
lumm has quit [Quit: lumm]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Bike has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
cosimone has joined #lisp
Folkol has joined #lisp
FreeBirdLjj has quit [Ping timeout: 255 seconds]
Folkol has quit [Client Quit]
LiamH has joined #lisp
vaporatorius has quit [Read error: Connection reset by peer]
t58 has joined #lisp
Inline has joined #lisp
wxie has quit [Quit: Bye.]
wxie has joined #lisp
Folkol has joined #lisp
ludston has joined #lisp
rwlisp has joined #lisp
nimiux has joined #lisp
nimiux has left #lisp [#lisp]
orivej has joined #lisp
angavrilov has joined #lisp
wxie has quit [Quit: Bye.]
<phoe> sjl: your keyboard-binding trick doesn't really work for me. There is a very short delay between pressing l-shift and it typing a paren. I can't really stand it.
TheWild has quit [Ping timeout: 246 seconds]
cage_ has joined #lisp
nullman` has joined #lisp
andrei-n has quit [Remote host closed the connection]
<phoe> Also, I come back to a question - is it an error to call (find 1 '(1 2 3) :test nil) ?
<Bike> yes, nil is not a function designator (or #'nil is undefined, whichever)
<phoe> so I assume that (split-sequence 2 '(1 2 3) :test #'eql :test-not nil) should similarly blow up
<phoe> however, (find 1 '(1 2 3) :test nil) doesn't fail on SBCL
<phoe> so I am puzzled whether I should go "let's pretend the user didn't pass NIL in there" like SBCL does or signal an error which is the formal approach
<Bike> okay, it's not an error, but it is UB
<jsjolen> phoe: No. "The consequences are unspecified if both a :test and a :test-not argument are supplied in the same call to F. "
<phoe> oh wait, correct
<phoe> yes, that's a case of UB
<phoe> so I can do whatever then
<Bike> i mean just passing :test nil is undefined, i think.
mindCrime has joined #lisp
orivej has quit [Ping timeout: 250 seconds]
aeth has quit [Ping timeout: 246 seconds]
<jsjolen> Bike: That was more difficult to find out. Typically a function can know if it actually was supplied with an argument in &key-position or not
<phoe> that too
<Bike> i recently ran into the confusing point that :key nil is actually fine.
<Bike> i get why, but it's mildly annoying
<phoe> Bike: wait, where, why, how
<phoe> NIL isn't a function designator though
<Bike> check e.g. clhs find-if
<Bike> "key---a designator for a function of one argument, or nil."
<phoe> clhs find-if
<phoe> wtf
aeth has joined #lisp
<jsjolen> Bike: I don't get it, why?
<phoe> exactly, why
<Bike> so you can pass it through, i guess
<Bike> it's confusig though
<phoe> #'identity
<phoe> or rather (or my-key #'identity)
<phoe> it's inconsistent
<Bike> it is inconsistent.
elderK has quit [Quit: Connection closed for inactivity]
xkapastel has quit [Quit: Connection closed for inactivity]
saravia has joined #lisp
FreeBirdLjj has joined #lisp
lucasb has joined #lisp
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jsjolen has quit [Remote host closed the connection]
catalinbostan has quit [Quit: Textual IRC Client: www.textualapp.com]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
dale_ has joined #lisp
dale_ is now known as dale
sjl_ has joined #lisp
Folkol has joined #lisp
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Achylles has quit [Remote host closed the connection]
Folkol has joined #lisp
heisig has quit [Quit: Leaving]
ebrasca has quit [Remote host closed the connection]
saravia has quit [Remote host closed the connection]
saravia has joined #lisp
jessup has quit [Read error: Connection reset by peer]
saravia_ has joined #lisp
saravia has quit [Ping timeout: 246 seconds]
wxie has joined #lisp
TheWild has joined #lisp
z3t0 has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
psqueak has joined #lisp
wxie has quit [Quit: Bye.]
Josh_2 has quit [Remote host closed the connection]
psqueak` has joined #lisp
t58_ has joined #lisp
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
psqueak has quit [Quit: Page closed]
stux|RC has quit [Quit: Aloha!]
t58 has quit [Ping timeout: 258 seconds]
stux|RC has joined #lisp
ludston has quit [Ping timeout: 268 seconds]
makomo has joined #lisp
mgsk__ is now known as mgsk
<vms14> I've made my first recursive function that does something
<koenig> Good job!
<vms14> it is the "render" function
<vms14> I try to make some sort of html generator, but I've ended realizing the best I could do is to create a dom
<vms14> in the annotations there is the output it gives
<koenig> Here's a thought question: could you pass in the nesting-value as an argument to the render function and change how some of the recursion works?
<vms14> yes, would be better?
<vms14> and change how the function works, what do you mean?
<pjb> vms14: you could add an indent parameter.
<koenig> Hmm, I'd hesitate to use the word "better".
<vms14> I know is a bad implementation
<vms14> so I'll hear xD
<vms14> koenig: cleaner*?
<koenig> Any implementation that you've done is good. I rarely or never discourage people from writing code and trying. :)
<pjb> vms14: oh, you used the nesting-value in the closure…
<koenig> It might be more of how a computer scientist would think to write the recursion.
<vms14> koenig: not really, I was very disappointed with the other versions until I've moved to oop
<vms14> I'm not used to recursion yet
<pjb> vms14: really, using a global (special variable) or a value in the closure are bad solutions, because they break with threads.
<koenig> What I'd suggest is that you keep the current implementation and try to make a new implementation of the same functionality and see how the two compare.
<pjb> vms14: using an explicit parameter is a little more work but it works better.
<koenig> Part of learning anything is doing the exercises to become proficient.
<vms14> pjb: ok I'll remember and change that
<koenig> Yes, so the direct reasons pjb is describing would be why I'd do it. That's right.
<vms14> koenig: yeah, that's just an exercise
<pjb> vms14: ~T is implementation dependent, so it's better to use (format nil "~VAfoo" 4 "") #| --> " foo" |#
dyelar has quit [Quit: Leaving.]
<vms14> what does ~va ?
<vms14> oh
<vms14> you don't need to put ~t before ~a?
<vms14> you can just put ~3a
<pjb> ~A prints "" ~VA prints "" filling up to 4 with spaces.
<pjb> vms14: but your indent is variable. hence the V
<pjb> (format nil "~VAfoo" indent "")
<vms14> but how it indents without t?
<pjb> With the spaces.
<pjb> (let ((indent 4)) (format nil "~V,,,'*A<>" indent "")) #| --> "****<>" |#
<vms14> oh now I get it
<pjb> or with stars.
<vms14> you're multiplying the spaces?
<vms14> so better if I forget about ~t then
<vms14> I don't know what is doing, I'll look better at the format function
<vms14> I'm missing a lot of stuff about format
<pjb> (dotimes (i 10 (format t "~9A||~%" "")) (format t "~VA~V,,,'*A~%" (- 10 i) "" (* 2 i) ""))
<vms14> lol
asarch has joined #lisp
<asarch> I have: (sb-ext:save-lisp-and-die "tigger" :compression t :toplevel (lambda () (gtk-demo:main)) :executable t)
<asarch> But the "binary" still has the "ksh: ./tigger: Permission denied" problem
<asarch> Why is it so?
<antoszka> Maybe it's missing the executable bit on the inode?
<antoszka> :executable t <- that deals with the binary blob format, afair
<antoszka> try chmod +x tigger; ./tigger
<vms14> asarch: chmod + x tigger
<vms14> this is not lisp/sbcl related, but unix related
cosimone has quit [Quit: WeeChat 2.3]
<asarch> Well, it has the Unix permissions: -rwxr-xr-x 1 asarch 1000 18235904 May 3 10:45 tigger
<vms14> gcc and other compilers seem to chmod the file
<sjl_> sbcl always sets the executable bit for me automatically every time I've done that. Does it work if you turn off compression?
deng_cn has quit [Remote host closed the connection]
deng_cn has joined #lisp
<asarch> Let's see..
<vms14> strange then
fivo has quit [Quit: WeeChat 1.9.1]
<asarch> Nop, the same problem: ksh: ./tigger: Permission denied
<vms14> try with a hello world first
<asarch> Ok
t58_ is now known as t58
<asarch> :-( ksh: ./tigger: Permission denied
<vms14> even after using chmod +x ?
<sjl_> paste the hello world and exactly what you're doing to produce it somewhere
<asarch> -rwxr-xr-x 1 asarch 1000 76235264 May 3 10:56 tigger
manualcrank has joined #lisp
<sjl_> And you're doing something like `sbcl --load foo.lisp` and then `./tigger`? Doing that runs the hello, world for me.
<sjl_> Oh, I wonder if it's something in the CFFI/GTK that's causing problems. Does it work if you comment out the quickload line?
<asarch> Then my SBCL is somehow broken
<asarch> No, it doesn't work: ksh: ./tigger: Permission denied
<sjl_> That's very strange. It's not something silly like you're running the thing in a separate terminal window that's cd'ed to a different directory or something, right?
FreeBirdLjj has quit [Remote host closed the connection]
<vms14> asarch: sure you applied chmod or just looked with ls?
<asarch> chmod +x tigger && ./tigger
<pjb> :compression nil
<vms14> if there is a problem should fail by executing it
<sjl_> pjb: read scrollback
<vms14> but not for permission stuff
<pjb> ok.
<katco> is there a better way to do this? `(let ((v (or (gethash 'foo bar) 0))) (setf (gethash 'foo bar) (+ v 1)))`. i.e. i can't use `incf` because the value in the hashtable is `nil` at first
<sjl_> katco: gethash takes a third argument
<asarch> I built this SBCL (the newest release) using the binary package from the OpenBSD 6.5 for AMD64 binary ports, and this was the compilation log if it helps: http://paste.scsys.co.uk/584312
<sjl_> (incf (gethash 'foo bar 0))
<pjb> Yes, since there's no comma, `(let ((v (or (gethash 'foo bar) 0))) (setf (gethash 'foo bar) (+ v 1))) is better written '(let ((v (or (gethash 'foo bar) 0))) (setf (gethash 'foo bar) (+ v 1)))
* katco facepalm
<katco> i totally forgot about that
<asarch> I used ./make.sh --fancy
<asarch> You mean, wxallowed?
<katco> ty sjl_
<sjl_> asarch: I mean, if just the basic (sb-ext:save-lisp-and-die "tigger" :toplevel (lambda () (format t "Hello, wold!~%"))) doesn't work something seems pretty wrong. Maybe #sbcl would know more.
<sjl_> katco: np
karlosz has joined #lisp
<vms14> asarch: if I run sbcl and type your pasted line (sb-ext:save-lisp-and-die "tigger" :toplevel (lambda () (format t "Hello, wold!~%")) :executable t)
<vms14> It works in netbsd
<vms14> vms$ ./tigger
<vms14> Hello, wold!
<asarch> Bingo!
mathrick has quit [Ping timeout: 276 seconds]
<asarch> In OpenBSD you need to enable the wxallowed flag to the partition in order to run SBCL
<sjl_> worked for me on ubuntu 18.04 as well.
<vms14> asarch: what is wx?
<loke`> write-exec
<vms14> ah in make options then
<vms14> while building sbcl
maxxcan has joined #lisp
<asarch> Take a look at the wxallowed flag description: https://man.openbsd.org/mount
<sjl_> Oh yeah, a lisp image almost certainly needs to be able to write and execute memory, to compile and evaluate functions.
maxxcan has quit [Client Quit]
<vms14> Processes that ask for memory to be made writeable plus executable using the mmap(2) and mprotect(2) system calls are killed by default. This option allows those processes to continue operation. It is typically used on the /usr/local filesystem
<asarch> katco's facepalm reminds me that problem when I was trying to compile it two releases ago
<asarch> ./tigger
<asarch> Hello, wold!
<vms14> there is no such thing in netbsd
<asarch> On a wxallowed-enabled partition
gjvc has quit [Remote host closed the connection]
<asarch> Ok. Problem fixed. Next one: using (ql:quickload 'cl-cffi-gtk) (sb-ext:save-lisp-and-die :topleve (lambda () (gtk-demo:main)) :executable t) I get this: http://paste.scsys.co.uk/584313
<asarch> Is it because of "Declared GType name 'BloatPad' for class 'BLOAT-PAD' is invalid (g_type_name returned 0)"?
<asarch> That is just a warning, isn't it?
<sjl_> that one seems like the CL GTK thing you're loading is maybe not playing well with whatever version of GTK it's finding from your system
<asarch> Oh :-(
<sjl_> I don't know for sure though. I've never used lisp+gtk before, and definitely not on a BSD
<sjl_> so, someone else might know more
<asarch> :-(
<asarch> Thank you anyway
<asarch> Thank you very much guys :-)
mathrick has joined #lisp
<vms14> asarch: you can load that library without problems in openbsd + sbcl by using quicklisp?
<vms14> I've tried to test your paste but quicklisp failed to load this library
<vms14> Unable to load any of the alternatives:
<vms14> ("libglib-2.0.so.0" "libglib-2.0.so")
<vms14> vms$ uname -a
<vms14> NetBSD vms 8.0 NetBSD 8.0 (GENERIC) #0: Tue Jul 17 14:59:51 UTC 2018 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
<vms14> maybe if you install the "appropiate" version of gtk will work
deng_cn has quit [Remote host closed the connection]
deng_cn has joined #lisp
karlosz has quit [Quit: karlosz]
<vms14> now nesting-value is an argument, I just need to change ~vt for ~va "" if I want to make it "portable"
<vms14> thanks for the hints
karlosz has joined #lisp
<nirved> vms14: why not use (defun render (element &optional (nesting-value 0)) ... (render current (1+ nesting-value)) ...)
<vms14> nirved: that's what they recommended to do
<vms14> and what I did, but without being optional
deng_cn has quit [Ping timeout: 244 seconds]
karlosz has quit [Ping timeout: 250 seconds]
<pjb> I prefer to use (defun render (element &optional (indent "")) ... (render current (concatenate 'string " " indent)) …)
<pjb> The numerical value of indent doesn't matter… (format t "~&~Afoo~%" indent)
_ark_ has joined #lisp
deng_cn has joined #lisp
<liambrown[m]1> Hey peeps. Trying to install cl-rabbit via quicklisp using the following command:
<liambrown[m]1> `(ql:quickload :cl-rabbit)`
<pjb> Don't use backquote! This prevents evaluation!
<pjb> So no wonder you have problems then…
Folkol has joined #lisp
<liambrown[m]1> No, I only used that to mark the code.
<pjb> No need.
<liambrown[m]1> Ok, I'll drop it.
Folkol has quit [Client Quit]
<liambrown[m]1> So it runs until SBCL tries to find a version of libffi. Then I get this:
<liambrown[m]1> Unable to load any of the alternatives:
<liambrown[m]1> ("libffi.so.6" "libffi32.so.6" "libffi.so.5" "libffi32.so.5")
<liambrown[m]1> And it drops to the debugger.
<liambrown[m]1> I have libffi.so.7.1.0 on my machine, and I want it to use that.
<pjb> On Darwin 18.5.0 cc -o /Users/pjb/.cache/common-lisp/ccl-1.12-f98-macosx-x64/Users/pjb/quicklisp/dists/ultralisp/software/lokedhs-cl-rabbit-20190319101258/src/grovel__grovel-tmpB5GEVTOQ.o -c -m64 -I /opt/local/include/ -fPIC -I/Users/pjb/quicklisp/dists/quicklisp/software/cffi_0.20.0/ /Users/pjb/.cache/common-lisp/ccl-1.12-f98-macosx-x64/Users/pjb/quicklisp/dists/ultralisp/software/lokedhs-cl-rabbit-20190319101258/src/grovel__grov
<pjb>
<liambrown[m]1> So I choose option 1, [USE-VALUE] Use another library instead.
<pjb> I would advise to avoid packages using FFI, and even nmore those using grovel.
<pjb> Groveling doesn't work, it's full of bugs.
<pjb> For example it doesn't support #pragma packed.
dyelar has joined #lisp
<liambrown[m]1> Is there an alternative for RabbitMQ? This is the one recommended in their official docs.
<pjb> You can implement a message broken in pure lisp.
<Bike> the cffi-libffi github has a commit "Add support for libffi.so.7" as of four days ago.
<Bike> if you get a newer version of cffi-libffi maybe it will work.
<liambrown[m]1> I can scour around for other options later, too. The wall I'm hitting is that I don't know how to provide the alternative value to the debugger.
<pjb> The error is that amqp.h is not found…
<liambrown[m]1> Oh, I just need development headers?
hhdave has quit [Ping timeout: 250 seconds]
<liambrown[m]1> I have the sinking feeling that talking to Rabbit is not going to be as simple as I thought.
<Bike> i don't know about that, but you can fix your particular problem here just by getting a newer version of cffi-libffi.
nowhere_man has joined #lisp
<asarch> vms14, I had to create symlinks for those
<asarch> libpango-1.0.so.0 -> libpango-1.0.so.3800.2
<liambrown[m]1> cffi-libffi, is that a library specific to the Lisp implementation, or are we talking about something like the libffi I have installed?
<asarch> libpangocairo-1.0.so.0 -> libpangocairo-1.0.so.3800.1
random-nick has quit [Remote host closed the connection]
<vms14> asarch: maybe this is why it fails
<vms14> the lisp image I mean
<vms14> maybe not xD
Jesin has quit [Quit: Leaving]
cage_ has quit [Remote host closed the connection]
<asarch> :-(
<Bike> liambrown[m]1: it is a lisp library that cl-rabbit depends on. it is the one looking for libffi.so.
random-nick has joined #lisp
Jesin has joined #lisp
vms14 has quit [Quit: WeeChat 2.3]
cosimone has joined #lisp
cosimone has quit [Client Quit]
pankajgodbole has quit [Ping timeout: 268 seconds]
catchme has joined #lisp
cosimone has joined #lisp
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
clothespin has joined #lisp
asarch has quit [Quit: Leaving]
Arcaelyx has joined #lisp
warweasle has quit [Quit: later...can finally work.]
adolby has quit [Ping timeout: 276 seconds]
lumm has joined #lisp
Bike has quit []
lavaflow has joined #lisp
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
orivej has joined #lisp
lumm_ has joined #lisp
maxxcan has joined #lisp
lumm has quit [Ping timeout: 246 seconds]
lumm_ is now known as lumm
maxxcan has quit [Client Quit]
TheWild has quit [Ping timeout: 245 seconds]
psqueak has joined #lisp
seok has joined #lisp
<seok> How do I run an exe file with a reletive directory?
<seok> (uiop:launch-program ....)
orivej has quit [Ping timeout: 250 seconds]
<sjl_> (uiop:run-program "../../bin/ls") ? not sure what exactly you're asking
<seok> hm, that's not working
<seok> (uiop:launch-program "chrome-win/chrome.exe")
<seok> doesn't open anything
nowhere_man has quit [Ping timeout: 246 seconds]
<sjl_> I'd try using run-program with :output and :error-output set to :string, instead of launch-program, until you debug what's going wrong. then switch back to launch-program if you want the asyncness
<seok> it is exiting with error code 1
<seok> o i see
<moldybits> (uiop:run-program "pwd" :output 'string)
<seok> guess windows is denying access
<seok> I got the error msg, ty
<seok> Error opening #P"c:/Users/Seok/Desktop/port/": Access is denied.
<moldybits> :o
<seok> Hm, how can I allow CL access?
nowhere_man has joined #lisp
warweasle has joined #lisp
<moldybits> try running it as administrator?
<seok> ya, I am running portacle
<seok> tried running portacle as admin, still error
<seok> Access is ddenied
notzmv has quit [Ping timeout: 255 seconds]
<moldybits> you're trying to run something inside the port/ directory? try putting it on desktop, since you seem to have access to that, at least, if that's what the error message is implying.
<moldybits> if it's portacle specific you could try asking in #shirakumo
<moldybits> maybe related to this?: https://github.com/portacle/portacle/issues/13
notzmv has joined #lisp
Bike has joined #lisp
nowhere_man has quit [Ping timeout: 244 seconds]
<seok> Hm ya, it does seem specific to portacle installation
teej has quit [Remote host closed the connection]
sauvin has quit [Ping timeout: 252 seconds]
teej has joined #lisp
Jesin has quit [Quit: Leaving]
charh has quit [Ping timeout: 268 seconds]
charh has joined #lisp
Jesin has joined #lisp
lumm has quit [Quit: lumm]
lumm_ has joined #lisp
lumm has joined #lisp
TheWild has joined #lisp
lumm_ has quit [Ping timeout: 250 seconds]
maxxcan has joined #lisp
maxxcan has quit [Remote host closed the connection]
vms14 has joined #lisp
p9fn has quit [Ping timeout: 276 seconds]
<vms14> I'm always having troubles with slime when I start
<vms14> I like to use emacs --daemon and then emacsclient -t
ioa has quit [Ping timeout: 268 seconds]
<vms14> but slime just gives me the inferior repl, I touched nothing and first days was working fine, giving me the slime-repl
Lord_of_Life has quit [Ping timeout: 255 seconds]
<vms14> it says ;pipelined request... (swank:connection-info)
khisanth_ has quit [Ping timeout: 255 seconds]
<vms14> if I type M-x slime-repl it gives me the CL-USER> repl, but it stills saying pipelined request at the minibuffer
warweasle has quit [Quit: later]
cosimone has quit [Quit: WeeChat 2.3]
<vms14> I kill emacs, M-x slime-reset, M-x slime-restart-inferior lisp
<vms14> sometimes works
Lord_of_Life has joined #lisp
<vms14> now it's solved, but it will happen again every time the pc starts
<sukaeto> vms14: I usually just start a Lisp image in its own console, and then (ql:quickload :swank) followed by something like (swank:create-server :port 4005 :style swank:*communication-style* :dont-close t)
<vms14> the only info I've found is something like emacs is waiting for some response
<sukaeto> vms14: and then M-x slime-connect in Emacs
<sukaeto> fwiw, I also do emacs --daemon on Linux
<vms14> hmm
gxt has quit [Quit: WeeChat 2.4]
<vms14> I guess it will solve the problem Xd
Arcaelyx has quit [Ping timeout: 255 seconds]
<vms14> tnx sukaeto
<sukaeto> this also allows you to do things like have multiple Lisp images running (e.g. if you're using stumpwm and want to be able to connect to it, but also have another REPL going for any other random junk you're doing that you don't want to pollute your WM with)
<sukaeto> vms14: no problem! :-)
<vms14> do you use stumpwm?
<sukaeto> I do
<vms14> I wanted to try, but waited until I learn a bit more
ricekrispie2 has joined #lisp
<vms14> I'm using cwm, but stumpwm is very interesting, even for learning lisp
<sukaeto> it's pretty handy to be able to modify the WM on the fly
<sukaeto> or just add your own customizations to it
<vms14> you'll change it for another wm or de?
ricekrispie has quit [Ping timeout: 258 seconds]
<sukaeto> yeah, I just use XFCE with xfwm replaced by stumpwm (and a few of the other XFCE services like xfdesktop turned off 'cause they don't play nice with WMs that aren't xfwm)
<vms14> I'll try it sooner or later
notzmv has quit [Ping timeout: 244 seconds]
khisanth_ has joined #lisp
lumm has quit [Quit: lumm]
varjag has joined #lisp
lumm has joined #lisp
random-nick has quit [Ping timeout: 246 seconds]
MichaelRaskin has joined #lisp
catchme has quit [Quit: Connection closed for inactivity]
vlatkoB has quit [Remote host closed the connection]
random-nick has joined #lisp
Nilby has quit [Ping timeout: 252 seconds]
lumm has quit [Quit: lumm]
lumm has joined #lisp
v88m has joined #lisp
Arcaelyx has joined #lisp
cosimone has joined #lisp
cosimone has quit [Client Quit]
gxt has joined #lisp
digash has quit [Remote host closed the connection]
digash has joined #lisp
lumm has quit [Quit: lumm]
lumm has joined #lisp
karlosz has joined #lisp
ggole has quit [Quit: Leaving]
emacsomancer has joined #lisp
cosimone has joined #lisp
cosimone has quit [Client Quit]
cosimone has joined #lisp
cosimone has quit [Client Quit]
cosimone has joined #lisp
cosimone has quit [Client Quit]
<vms14> (format t " class=\"~{~a ~}\"" (classes element)
<vms14> how can I avoid printing the last space when it ends the list?
<vms14> class="red button ">
scymtym has quit [Ping timeout: 276 seconds]
<vms14> It's not really a problem, but it's annoying
angavrilov has quit [Remote host closed the connection]
<sjl_> ~^
<dtw> ~{~a~^ ~}
<vms14> the ~^ directive; within the body of a ~{ directive, the ~^ causes the iteration to stop immediately, without processing the rest of the control string, when no elements remain in the list.
<vms14> tnx, I'll look for that
cosimone has joined #lisp
cosimone has quit [Client Quit]
<sjl_> there's also a section about it in Practical Common Lisp
<sjl_> if I remember right
<vms14> sjl_: this text is from pcl
<sjl_> Yep, and the third paragraph in http://www.gigamonkeys.com/book/a-few-format-recipes.html#iteration talks about ~^
<sjl_> The standard is a little hard to read for some of the format directives -- pcl is sometimes clearer
<vms14> thanks a lot sjl_
<vms14> every time I learn about format I like it more
<vms14> like with lisp
<vms14> xD
clothespin has quit [Ping timeout: 258 seconds]
digash has quit [Ping timeout: 246 seconds]
saravia_ has quit [Remote host closed the connection]
bars0 has joined #lisp
anamorphic has joined #lisp
anamorphic has quit [Client Quit]
keep_learning has quit [Ping timeout: 246 seconds]
p9fn has joined #lisp
lumm has quit [Quit: lumm]
lumm has joined #lisp
jprajzne_ has quit [Quit: jprajzne_]
lumm has quit [Client Quit]
lumm has joined #lisp
idlus_ has quit [Ping timeout: 256 seconds]
pierpal has quit [Ping timeout: 244 seconds]
gabbiel has joined #lisp
<gabbiel> hey guys, I need help
<gabbiel> is anyone here
cyberoctopi has joined #lisp
<gabbiel> hopefully one of you sees this later
<sjl_> people are here. if you ask a question, someone may see it and be able to help.
<gabbiel> but basically, I need for slime to open after I open a .lisp buffer
<gabbiel> the kick is, I want slime to open in a background buffer
<gabbiel> aka, to not open a window
<p_l> do you mean start a new slime session if there is none?
idlus_ has joined #lisp
karlosz has quit [Quit: karlosz]
<gabbiel> i assume all lisp buffers r connected to the same slime buffer?
<gabbiel> but yeah @p_l, if there is none, open a new one in the background
<p_l> you can have multiple slime sessions, but I never tested how the buffers are mapped
<gabbiel> if there is a slime buffer, do nothing
<gabbiel> I dont like how with just adding a hook to lisp-mode, it will also open a window for the slime buffer
<p_l> #emacs might know better - I do recall there's a hook for new file and there should be a hook that attaches SLIME as minor mode to Lisp-mode
<gabbiel> lol I was recommended to come here
<p_l> there definitely should be a method to override opening new windows
<p_l> gabbiel: I think it might depend on how the question is asked?
<gabbiel> I know it's possible to do this because geiser does it
<p_l> But I'm not SLIME hacker nor I am all that well versed in Elisp
<gabbiel> geiser, the scheme equivalent to slime, opens the geiser buffer and immediately closes it
<p_l> best option might be to check possible entrypoints to slime called by M-x slime
<p_l> and see if you can wrap it in something that won't create new window
<gabbiel> what do u mean it might depend on how the question was asked?
<p_l> gabbiel: if they smell SLIME in the question, they might decide to punt the question here in hopes you will talk to SLIME authors
<p_l> who, indeed, frequent here but aren't there all the time
<p_l> after all, question to source is best
<gabbiel> tru
<moldybits> there's #slime, but it's slow.
<gabbiel> but they aren't here are they
<p_l> I don't see anyone answering right now, so probably sleeping or busy with something else
<gabbiel> yeah there's barely anyone there
<gabbiel> ill still ask there though
<p_l> you can try temporarily advising pop-to-buffer?
<pjb> gabbiel: just put: (slime-setup '(slime-fancy slime-repl)) (slime-repl) in your ~/.emacs
<moldybits> what will that do?
<gabbiel> pjb: ill try that
<gabbiel> pjb: what if I have a slime-contribs var
<gabbiel> pjb: it gave an error
<gabbiel> I think slime has to be running, the error was: not connected
<moldybits> same error
nullman` has quit [Ping timeout: 245 seconds]
TheWild has quit [Ping timeout: 244 seconds]
TheWild has joined #lisp
aeth has quit [Ping timeout: 255 seconds]
aeth has joined #lisp
_ark_ has quit [Ping timeout: 276 seconds]
mihaiolteanu has joined #lisp
cdegroot has joined #lisp
mihaiolteanu has quit [Quit: rcirc on GNU Emacs 26.1]
Kaisyu has quit [*.net *.split]
postit has quit [*.net *.split]
hdurer[m] has quit [*.net *.split]
kqr has quit [*.net *.split]
p_l has quit [*.net *.split]
dtw has quit [*.net *.split]
drmeister has quit [*.net *.split]
buhman has quit [*.net *.split]
Grauwolf has quit [*.net *.split]
abbe has quit [*.net *.split]
dru1d has quit [*.net *.split]
LiamH has quit [Quit: Leaving.]
mihaiolteanu has joined #lisp
v88m has quit [Ping timeout: 246 seconds]
v88m has joined #lisp
<pjb> gabbiel: then replace (slime-repl) by (slime)
fowlduck has quit [*.net *.split]
asedeno has quit [*.net *.split]
stylewarning has quit [*.net *.split]
l1x has quit [*.net *.split]
wilfredh has quit [*.net *.split]
pacon has quit [*.net *.split]
dieggsy has quit [*.net *.split]
dim has quit [*.net *.split]
xristos has quit [*.net *.split]
physpi has quit [*.net *.split]
liambrown[m]1 has quit [*.net *.split]
no-defun-allowed has quit [*.net *.split]
koenig has quit [*.net *.split]
argoneus has quit [*.net *.split]
margaritamike has quit [*.net *.split]
CEnnis91 has quit [*.net *.split]
Grue` has quit [*.net *.split]
jgkamat has quit [*.net *.split]
keep_learning_M has quit [Ping timeout: 255 seconds]
TheWild has quit [Ping timeout: 255 seconds]
keep_learning_M has joined #lisp
mihaiolteanu has quit [Ping timeout: 252 seconds]
elderK has joined #lisp
dru1d has joined #lisp
abbe has joined #lisp
p_l has joined #lisp
drmeister has joined #lisp
buhman has joined #lisp
Grauwolf has joined #lisp
postit has joined #lisp
actuallybatman has joined #lisp
asedeno has joined #lisp
fowlduck has joined #lisp
Kaisyu has joined #lisp
dim has joined #lisp
wilfredh has joined #lisp
koenig has joined #lisp
xristos has joined #lisp
jgkamat has joined #lisp
stylewarning has joined #lisp
kqr has joined #lisp
argoneus has joined #lisp
CEnnis91 has joined #lisp
l1x has joined #lisp
adolby has joined #lisp
dieggsy has joined #lisp
Josh_2 has joined #lisp
Grue` has joined #lisp
sjl_ has quit [Ping timeout: 244 seconds]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
pacon has joined #lisp
Josh_2 has joined #lisp
no-defun-allowed has joined #lisp
femi has quit [Ping timeout: 250 seconds]
cosimone has joined #lisp
shka_ has quit [Ping timeout: 255 seconds]
<vms14> why format fails identing just because I'm writing to a buffer instead of stdin?
<vms14> I've just changed (format t ) for (format buffer)
<vms14> and now the formatting is not consistent
<vms14> tried with ~va and ~vt but they do the same
<vms14> at some point is like it looses one space of identation
<gabbiel> isnt format for output streams?
<vms14> but just because I'm formatting to a fill pointer array instead of stdin
<vms14> gabbiel: format accepts adjustable arrays with fillpointer
<vms14> (defparameter *html* (make-array 0 :adjustable t :fill-pointer t :element-type 'character))
<vms14> now you can format to *html*
<gabbiel> but *html* isn't a stream
<vms14> but is a valid object for format
<gabbiel> doesn't format only take streams?
<vms14> nope
<aeth> Apparently format accepts both streams and strings with fill pointers. I personally would use with-output-to-string for this, though.
<aeth> with-output-to-string is more flexible. Even when I use FORMAT, I probably use multiple FORMATs and maybe with a few TERPRIs thrown in so I don't have ugly format strings like "~%~%foo"
<LdBeth> vms14: it seems indent requires to know the screen width of out put and apparently an array don’t know what is the width
<gabbiel> vms14: try to make-string instead
varjag has quit [Ping timeout: 246 seconds]
<vms14> LdBeth: thanks, that's a thing I'll never discover by myself I guess
moei has quit [Quit: Leaving...]
<vms14> so there is no solution to that? it fails at some point but it looses only one space at the "identation level"
<vms14> the dirty fix is just put a space where I see it's not working
<vms14> but it's not a solution
<aeth> vms14: so your problem is that you're doing something like this, but only getting 4 spaces in from of "hello"? (let ((s (make-array 0 :adjustable t :fill-pointer t :element-type 'character))) (format s "~VT~A" 42 "hello") s)
femi has joined #lisp
Josh_2 has quit [Ping timeout: 250 seconds]
<vms14> this is the code
<aeth> For my example, I get the same output with that and (with-output-to-string (s) (format s "~VT~A" 5 "hello")) and (format nil "~VT~A" 5 "hello") and they all give me 5 spaces
<vms14> if you run it you'll see that it's not identing properly the body and html end tags
<vms14> but if you change buffer for t
<vms14> you'll have it right
<vms14> this code works, and it's just the same
<vms14> I've only changed buffer for t
<vms14> LdBeth: thanks for the link
<vms14> It explains it well
<vms14> it seems there is a fix
Josh_2 has joined #lisp
lumm_ has joined #lisp
lumm has quit [Ping timeout: 245 seconds]
lumm_ is now known as lumm
random-nick has quit [Ping timeout: 250 seconds]
<gabbiel> pjb: didnt work
<phoe> How do I check if a symbol is imported into a given package?
<Xach> phoe: if find-symbol on the symbol name reports it as anything but :internal, i believe.
<gabbiel> you can iterate through a package's symbols with loop
<Xach> no need
pierpal has joined #lisp
Josh_2 has quit [Remote host closed the connection]
<Xach> phoe: curious about why you might want that kind of info...can you elaborate?
<no-defun-allowed> second value of FIND-SYMBOL seems promising
<Xach> find-symbol is pretty powerful for finding a lot of the critical bits
<Xach> more powerful than i expected until i wrote a package system clone.
<no-defun-allowed> it'll be :inherited if the symbol is inherited (which sounds pretty similar to imported, haven't figured out all of CL packages)
<Xach> no-defun-allowed: it is :inherited if it is "accessible" by way of :use/use-package.
<Xach> "accessible" being precisely defined for CL symbols
<no-defun-allowed> gotcha
<Xach> a symbol is accessible in a package if find-symbol on its name in a package returns that symbol.
<Xach> it might be :inherited, :internal, or :external if it is accessible.
<Xach> inherited symbols cannot be exported - they are implicitly imported first if needed
pierpal has quit [Ping timeout: 250 seconds]
<no-defun-allowed> right
<no-defun-allowed> i think (eql (nth-value 1 (find-symbol the-symbol the-package)) :inherited) would test if the-symbol is imported in the-package though
* Xach is still curious about phoe
<phoe> Is it healthy and expected for DO-ALL-SYMBOLS to operate on a symbol which has no home-package?
<phoe> parenscript seems to define a few of those
<Xach> phoe: it is possible but not common that i've seen for a symbol to be imported and then uninterned.
<Xach> it remains accessible in a package but is uninterned from its original home.
* Xach looks up do-all-symbols
<Bike> wow, there's a "find-all-symbols" function. i have never heard of this
<Xach> Bike: dang
<Bike> i could think of a few times i'd want it, too... mostly just for "i forget what package this is in", but still
<Xach> you think you know all 978 and then this happens
Josh_2 has joined #lisp
<Xach> phoe: it is possible but not common for do-all-symbols to find symbols like that. if they exist do-all-symbols is doing the right thing.
<phoe> Xach: I know. But I suspect a bug.
<Xach> phoe: in what parenscript is doing packagewise?
<phoe> Xach: found the issue
<phoe> This package has no explicit :USE so implementations are free to use any packages
<phoe> but then SHADOWING-IMPORT is done on that package, which uninterns on conflict
<Xach> ah
<phoe> an edge case, but an interesting one
<vms14> lol I cannot fix the problem
<vms14> I even made a function to create spaces
<vms14> xD
<vms14> (defun spaces (spaces-number &optional (multiplier 1))
<vms14> (make-string (* spaces-number multiplier) :initial-element #\space))
orivej has joined #lisp
<phoe> why would you need to create padding like that
<vms14> but I have the same problem as with ~vt / ~va ""
<phoe> this doesn't seem right
<vms14> phoe: I'm writing html, so I try to ident the tags
Arcaelyx has quit [Read error: Connection reset by peer]
<vms14> if I write to stdin I have no problem
<vms14> but writing to a fill-array at some time it looses one space
Arcaelyx has joined #lisp
<phoe> I'd use an external program to prettify your XML since I don't think someone has written a Lisp util for that
<phoe> or just ignore it and display the HTML in a browser inspector for ultimate maneuverability
<phoe> since you are writing a part of a pretty-printer right now, the one responsible for indentation
<gabbiel> pjb: I GOT IT TO WORK
<vms14> I just want to fix this without being dirty
<vms14> even while making a function like that is being dirty yet
<vms14> but it does not work, so the last thing I can do is to put a space where it fails xD
Jesin has quit [Quit: Leaving]
cosimone has quit [Quit: WeeChat 2.3]
Jesin has joined #lisp
pierpal has joined #lisp
wxie has joined #lisp
<aeth> vms14: I usually just do something like (dotimes (i 4) (write-char #\Space stream))
<aeth> This requires changing your input into a with-output-to-string stream
karlosz has joined #lisp
<pjb> phoe: do-all-symbols will return only symbols that have a home package. The only thing is that between it providing the symbol, and you calling (symbol-package sym), another thread can unintern that symbol from its home! Importing a homeless symbol interns it in the package!
mooshmoosh has joined #lisp
<pjb> vms14: ~T depends on the notion the formatter has of the current column. This notion can be borked.
<vms14> pjb: yeah I don't find a way to solve it
<pjb> ~&~VT should be equivalent to ~VA ""
<vms14> writing spaces is the same as t
<vms14> tried ~va "" and the same
karlosz has quit [Quit: karlosz]
seok has quit [Ping timeout: 256 seconds]
lumm has quit [Quit: lumm]
vms14 has quit [Quit: WeeChat 2.3]