damke has joined #lisp
<jasom> aha, I found what is so slow with ABCL on Doppio: compiling DEFUNs takes a *long* time; I wonder if I could precompile the initialization lisp script to a .class
<whoman> why..
damke_ has quit [Ping timeout: 264 seconds]
heurist`_ has joined #lisp
heurist` has quit [Ping timeout: 240 seconds]
nirved has quit [Quit: Leaving]
karswell has quit [Remote host closed the connection]
karswell has joined #lisp
rumbler31 has joined #lisp
smurfrobot has joined #lisp
wxie has joined #lisp
shifty has joined #lisp
smurfrob_ has joined #lisp
smurfrobot has quit [Ping timeout: 260 seconds]
Baggers has left #lisp ["Killed buffer"]
foom has joined #lisp
wxie has quit [Ping timeout: 264 seconds]
__rumbler31 has joined #lisp
foom2 has quit [Ping timeout: 276 seconds]
arescorpio has joined #lisp
Bike has joined #lisp
smurfrob_ has quit [Remote host closed the connection]
__rumbler31 has quit [Ping timeout: 264 seconds]
smurfrobot has joined #lisp
<emaczen> how does restart-inferior-lisp work exactly? I would like to perform this function programmatically
<Xach> emaczen: i don't know, but if i wanted to find out, i'd look at the source of slime-restart-inferior-lisp
porky11 has quit [Quit: Leaving]
<Xach> emaczen: you are writing an emacs program?
<jasom> emaczen: (slime-restart-inferior-lisp)
<pjb> (slime-restart-inferior-lisp)
<emaczen> I would prefer to avoid emacs
markong has quit [Ping timeout: 256 seconds]
<Xach> emaczen: restart-inferior-lisp is an emacs function. it is not done on the CL side.
<whartung> then the question doesn’t make much sense since the “inferior lisp” is an emacs concept
<Xach> emaczen: but! maybe you could play games with re-execing argv or something.
<emaczen> Xach: Yes, my question is how do I perform this same function, preferably without emacs
<jasom> emaczen: that makes no sense; there is no inferior lisp if there is no emacs
<Bike> it stops the lisp program, then starts a new one
<whartung> you tell the lisp to die elegantly and restart it, or you kill it (politely or forcefully) and restart it
<pjb> emaczen: (uiop:exec-image "ccl")
nullniverse has quit [Ping timeout: 265 seconds]
<emaczen> jasom: Okay, let me try rephrasing I don't literally care about "inferior lisp"
<emaczen> I just want to restart lisp programmatically
<Xach> or tell it to exec into a new process!
<Bike> i g uess it's basically exec, then
<whartung> you restart programmaticlaly just like you start any program programatically (i.e. exec as mentioned)
<jasom> emaczen: then wrap lisp with a program that manages it and setup a way to signal it from lisp, or you can try exec hacks if you're on *nix as others have suggested
<pjb> oops, it's i swank: (swank/backend:exec-image "ccl")
<whartung> but it’s nice to be able to stop the existing process
<jasom> emaczen: in the inferior-lisp case, emacs is the external process manager.
<pjb> Now the thing is that exec is a little violent. Perhaps you would want to terminate gracefully the current process.
<jasom> pjb: not to mention it doesn't close FDs and stuff
<pjb> Then you could try something like: (if (zerop (fork)) (progn (sleep 3) (swank/backend:exec-image "ccl")) (quit))
x55v has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
<pjb> jasom: indeed. You need to specify what you want in those terms too.
<jasom> pjb: a GC during the sleep will crash the image as well...
<emaczen> Actually, I think I could use run-program in a loop, and use my lisp program as the executable
<jasom> emaczen: yes, that's the simplest process manager
deng_cn has quit [Read error: Connection reset by peer]
<jasom> wow. chrome is almost 3x faster than firefox on the doppio/abcl test I just ran
deng_cn has joined #lisp
<emaczen> Now, how do I build an executable that accepts command line arguments?
<pjb> All executable accept command line arguments.
<pjb> You just want to write a program that retrieve them.
<emaczen> pjb: How do I access it from lisp
<pjb> Depends on the implementation.
<jasom> emaczen: (uiop:command-line-arguments)
<pjb> or use trivial-arguments
<pjb> or command-line-arguments
<pjb> or utility-arguments
<jasom> or CLON
<pjb> ETOOCLIB
<jasom> evaluating a simple DEFUN on firefox: 258s same DEFUN on chrome under 1s... I'm thinking perhaps I found a GC corner case on firefox
<pjb> emaczen: notice: I typed: (quick-apropos "ARGUMENT") to find the systems.
<pjb> and of course, (apropos "EXEC") to find swank/backend:exec-image.
<jasom> and (apropos "ARGUMENTS") finds uiop/image:command-line-arguments
pierpa has joined #lisp
<Xach> I believe uiop/foo and asdf/foo are meant to be treated as implementation details, and you are supposed to use uiop:whatever instead.
<jasom> but honestly I check uiop for any system functionality that isn't in the hyperspec and alexandria for any algorithmic functionality that isn't in the hyperspec
pmc_ has quit [Quit: Leaving]
orivej has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 255 seconds]
msb has joined #lisp
smurfrobot has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has joined #lisp
fisxoj has quit [Quit: fisxoj]
fikka has quit [Ping timeout: 260 seconds]
Pixel_Outlaw has joined #lisp
fikka has joined #lisp
smurfrobot has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
smurfrobot has joined #lisp
<Pixel_Outlaw> lo all
<rumbler31> jasom: what is doppio
fds has left #lisp [#lisp]
fikka has joined #lisp
vtomole has joined #lisp
nowhere_man has joined #lisp
xrash has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
dim has quit [Ping timeout: 276 seconds]
nowhereman_ has quit [Ping timeout: 240 seconds]
dim has joined #lisp
fikka has joined #lisp
smurfrobot has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 256 seconds]
jameser has joined #lisp
<whoman> how is the general experience on mapping CLOS to C++ at a simple API kind of level ?
<Bike> RAII ain't gonna work
fikka has joined #lisp
smurfrobot has joined #lisp
<pjb> whoman: for very simple uses of CLOS, a direct mapping could work. If you declare all your methods virtual.
python476 has quit [Ping timeout: 256 seconds]
<pjb> whoman: but it is very easy to make sophisticated use of CLOS.
<pjb> whoman: :before, :after, :around methods, multiple inheritance, multiple dispatch, etc.
<pjb> whoman: you will have more difficulties translating that, (and even more, such as custom method combinations), into direct C++ code.
fikka has quit [Ping timeout: 276 seconds]
<pjb> whoman: notice that you could use the MOP in C++, cf. OpenC++ http://informatimago.com/articles/life-saver.html
<pjb> whoman: but it's a patch to an old gcc which hasn't been ported to more recent gcc, much less to clang.
<pjb> oh, right, it's also easy to find at least light use of the MOP in CLOS programs! Then you won't have a direct translation to C++. (unless you upgrade and use OpenC++ MOP).
lagagain has joined #lisp
lagagain[m] has joined #lisp
fikka has joined #lisp
<whoman> pjb, ah yes, sorry! meant especially , from C++ to CLOS
<whoman> some recent C++ features are quite neat. auto mem mgmt, etc
<Bike> the main problem would be destructors, i think
<rme> gc, wow, what an innovation
<whoman> hmmmmm
<Bike> overloading is different, but i don't think that would be super difficult
<Bike> also no copy constructors and whatever the other one is but that's obvious
<whoman> CLOS has no way to adhere some functioning upon ...hmm.
<Bike> even if it did, it wouldn't really work the same, since in C++ many objects are destructed upon leaving scope
<Bike> which is uh, not how it works in lisp
kobain has joined #lisp
smurfrobot has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 260 seconds]
<Bike> which is why i mentioned RAII particularly. that idiom is no good
deng_cn has quit [Read error: Connection reset by peer]
lagagain has quit []
<stacksmith> Is there an idiomatic way of 'unflattening' a list - that is turning a list like (a b c) into (a (b (c)))?
<whoman> (map #'cons .. ?
deng_cn has joined #lisp
<Bike> i have never had to do that before.
<stacksmith> cons needs 2 things...
<stacksmith> Yeah, first for me too.
<whoman> oops (reduce #'list .. ?
<whoman> *sum
<Bike> (defun unflatten (list) (cond ((null list) nil) ((null (rest list)) (list (car list))) (t (list (car list) (unflatten (rest list))))) is all i can think of.
<stacksmith> I know! mine was similar.
<whoman> whoa , actual?
<stacksmith> It seems like there has to be a better way.
damke_ has joined #lisp
<Bike> (reduce #'list list :from-end t) gets you (a (b c))
<Bike> honestly, it's a weird operation, i wouldn't worry too much about how you do it
<whoman> ah
<stacksmith> It's actually to convert a DSL that is linear to a functional notation. LIke ((fun1 a)(fun2 b)(fun3 c)) to (fun3 c (fun2 b (fun1 a)))...
<whoman> M-x ielm was giving me ENOENT after i moved sbcl src dir [???] so it took me a while
<Bike> so you also want to reverse it?
<stacksmith> yup
damke has quit [Ping timeout: 264 seconds]
ig88th has joined #lisp
<stacksmith> And insert the result of each function application as an extra argument into the next.
<ig88th> I am currently having issues having ASDF/quicklisp load projects. I wrote a better description of my problem here: https://stackoverflow.com/questions/48675274/when-installing-quicklisp-on-windows-10-where-should-i-put-config-common-lis
<whoman> insert operator between each list element, then eval them in-out =p
<ig88th> I don't know if anyone else uses Common Lisp on Windows, but I would really appreciate any suggestions
<stacksmith> whoman: could you expand on that? I am not following.
fikka has joined #lisp
lagagain[m] has left #lisp ["User left"]
d4ryus1 has joined #lisp
<Xach> ig88th: it's easier if you use ~/quicklisp/local-projects/
<Xach> ig88th: I don't configure the asdf registry any more because of it
Devon has quit [Ping timeout: 256 seconds]
<Xach> https://www.xach.com/tmp/quickstart.html has an updated tutorial
<ig88th> Xach: I get the same error when I just try to use ~/quicklisp/local-projects: https://gist.github.com/ig88th/4338184cec847f6eef6e01baa94b538e
<Xach> ig88th: ok. now we can make some progress!
d4ryus has quit [Ping timeout: 256 seconds]
<Xach> ig88th: can you try (ql:register-local-projects) and then quickload again?
fikka has quit [Ping timeout: 256 seconds]
<Xach> ig88th: what implementation are you using?
<Xach> the suspense it is killing me
<pjb> whoman: well, going from C++ to CLOS is another can of worm, sincee in C++ the methods are attached to the classes, while in CLOS they are attached to generic functions.
<pjb> whoman: however, it is possible to NOT use CLOS (or use it only as the basis to implement the following), but to implement an object system in CL that matches the C++ object system.
<ig88th> Xach: I am using the most recent version of Clozure CL, 1.11.5, and the 64-bit version
<pjb> whoman: if you have a lot of code to convert, this would be a good idea to do it that way.
<Xach> ig88th: how did register-local-projects go?
<pjb> whoman: in that case, you basically implement the C++ object system into CL, just like CLOS is implemented in CL.
<pjb> You can implement all the features, including RAII and destructors.
<ig88th> Xach: I am getting 'System "swatch" not found [Condition of type QUICKLISP-CLIENT:SYSTEM-NOT-FOUND]' after running (ql:register-local-projects) and then trying to quickload
<stacksmith> So (defun chain (list) (when list (append (car list) (list (chain (cdr list)))))) is the best I could do... after reversing...I can't believe there is not a tool for 'functionalizing' lists...
fikka has joined #lisp
smurfrobot has joined #lisp
<Bike> it doesn't come up much, and anyway it's a one liner
<pjb> (you may need to add some syntactic support, ie. define some with- macro to make it simple, otherwise you could have to implement a sophisticated code walker and compiler-like algorithms to implement RAII and destructors with the same semantics as in C++).
<Bike> thus making the raii pointless
<pjb> Notice that in most CL implementation, there's a finalizer mechanism that can be used for dynamic destructors.
<Xach> ig88th: ok! so can you tell me what you get from (directory "~/quicklisp/local-projects/**/*.asd")?
milanj has quit [Quit: This computer has gone to sleep]
<ig88th> Xach: I get '(#P"C:/Users/ig88t/quicklisp/local-projects/swatch/system.asd" #P"C:/Users/ig88t/quicklisp/local-projects/swatchblade/system.asd")'
<ig88th> Xach: thank you for taking your time to help me, I really appreciate it
<pjb> But yes, I would say that RAII is a bad abstraction. We have unwind-protect and with- macros.
<Xach> ig88th: Oh, I think I see the trouble. I think it could be a bug in quickproject! I think you might have better luck if you use a trailing slash on the pathname you give to make-project.
<Xach> Hmm, though I don't see the issue locally at first glance.
<ig88th> Xach: same error when I use a trailing slash such as (quickproject:make-project "~/quicklisp/local-projects/swatch2/" :depends-on '(vecto hunchentoot))
<Xach> ig88th: interesting. can you tell me what you see from the **/*.asd thing again?
<whoman> pjb, ah true! im really liking the sound of that idea. hmm
hel-io has quit [Remote host closed the connection]
<pjb> whoman: search the archives, we've already talked about that.
smurfrobot has quit [Ping timeout: 252 seconds]
<ig88th> Xach: now I get (#P"C:/Users/ig88t/quicklisp/local-projects/swatch/system.asd" #P"C:/Users/ig88t/quicklisp/local-projects/swatch2/system.asd" #P"C:/Users/ig88t/quicklisp/local-projects/swatchblade/system.asd")
fikka has quit [Ping timeout: 255 seconds]
<pjb> whoman: also, perhaps you could consider clasp, since it integrates C++ with CL natively.
<Xach> ig88th: Ok. I don't know why quickproject is creating system.asd instead of the proper name. The short-term fix is to rename system.asd to what it really should be, or to not use quickproject for now.
<whoman> yes i am on the page now, but i have no system to compile it. i also looked a bit at ECL
<Xach> ig88th: I will try to see if I can reproduce the problem here.
x55v has quit []
<pjb> whoman: ecl can be compiled using a C++ compiler instead of a C compiler, but I don't know what that brings in terms of C++ integration with CL. Ask in #ecl.
<Xach> It isn't happening here with sbcl and macos, I'll try with ccl and macos.
<Xach> ig88th: oh, one more question, what do you get from (ql:where-is-system "quickproject")?
<ig88th> Xach: sure. I get '#P"C:/Users/ig88t/quicklisp/dists/quicklisp/software/quickproject-1.3/"' when I run (ql:where-is-system "quickproject")
<Xach> ig88th: ok. i see that quickproject doesn't work properly in ccl, so I'll try to figure it out. Thanks for the info!
<ig88th> Xach: No problem. Thank you so much for creating such a wonderful library!
pillton has joined #lisp
<Xach> dang it, it looks like it's related to a recent PR
<ig88th> Xach: also I stumbled on this line of code and thought it might be related: https://github.com/quicklisp/quicklisp-controller/blob/master/asdf.lisp#L6247
<ig88th> Xach: which PR?
fikka has joined #lisp
hel-io has joined #lisp
<Xach> pathname-match-p behavior differs from SBCL to CCL.
Cymew has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
<ig88th> Xach: thanks for the link; wish I was smart enough to help you fix it.
broccolistem has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 240 seconds]
damke has joined #lisp
fikka has joined #lisp
Cymew has joined #lisp
<Xach> No problem. Sorry for the hassle.
jameser has quit [Max SendQ exceeded]
damke_ has quit [Ping timeout: 264 seconds]
hel-io has quit []
jameser has joined #lisp
<Xach> And thanks for the responsive troubleshooting.
<ig88th> Xach: happy to help!
fikka has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
dddddd has quit [Remote host closed the connection]
papachan has quit [Quit: WeeChat 2.0.1]
fikka has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 256 seconds]
aindilis has joined #lisp
JuanDaugherty has joined #lisp
Cymew has joined #lisp
fikka has joined #lisp
Cymew has quit [Ping timeout: 276 seconds]
arescorpio has quit [Excess Flood]
fikka has quit [Ping timeout: 256 seconds]
<ig88th> Xach: I am getting the same errors using SBCL 1.4.2 for 64-bit
<Xach> ig88th: You mean if you make a new project named "x" you can't quickload it?
<ig88th> Xach: wait, no it works! it works with sbcl!
<Xach> frabjous day!
<ig88th> Xach: but it took creating a project using quickproject with sbcl to be able to load it; the quickproject creations under ccl are unable to be loaded
fikka has joined #lisp
<Xach> ig88th: right. that's because the system files all have the wrong name.
iqubic has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
dieggsy has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
<ig88th> Xach: actually it looks sort of complicated. It seems I can only load projects created within that slime session with sbcl; when I restart emacs and slime I can no longer load that project.
<iqubic> What is the right way to get started with AI and neural Networks in LISP?
<Xach> ig88th: i wish i could help but it's time to sleep. interactive debugging will be required.
smurfrobot has joined #lisp
milanj has joined #lisp
dieggsy has joined #lisp
pierpa_ has joined #lisp
smurfrobot has quit [Ping timeout: 248 seconds]
<ig88th> Xach: okay, I'll try to be back tomorrow
smurfrobot has joined #lisp
pierpa has quit [Ping timeout: 260 seconds]
__rumbler31 has joined #lisp
<beach> Good morning everyone!
sjl has joined #lisp
smurfrobot has quit [Ping timeout: 248 seconds]
ig88th has quit [Ping timeout: 260 seconds]
ak5 has joined #lisp
__rumbler31 has quit [Ping timeout: 255 seconds]
sjl has quit [Ping timeout: 240 seconds]
<drmeister> Is there a function that takes a list of symbols and returns the list of unique symbols?
<drmeister> '(a b b b b b c) --> '(a b c)
<beach> clhs remove-duplicates
<drmeister> Thank you!
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
<iqubic> Is LISP still relevent for AI prgramming?
<Bike> programming language doesn't really matter for it
<beach> iqubic: When we write LISP, we usually mean some pre Common Lisp language. We have written in "Lisp" for several decades.
<White_Flame> for those using older-style symbolic AI, Lisp, Prolog, etc are still in vogue
<White_Flame> but yeah, the modern statistical AI is just math, doesn't need any special language support like symbols & metaprogramming
<iqubic> Really? The people in #emacs were telling me that I should use python, and then called me a troll for not knowing much about AI.
<White_Flame> python has a lot of strong & fast C libraries that crunch numbers very well
<pjb> iqubic: depends on what you mean by "AI programming".
<iqubic> Yes, I know. Do you need number crunching for AI.
<White_Flame> depends on which "AI" you're doing
<pjb> iqubic: for statistical methods, languages more optimized for the current hardware may be more indicated (eg. cuda if you use nvidia hardware).
<White_Flame> obviously things like computer vision are going to be crunching lots more numeric arrays than logical inference
<iqubic> pjb: What are the different types of AI?
<iqubic> What is computer vision?
<pjb> iqubic: however, statistical methods are not the be all-end all of AI methods. Currently, commercial ventures are totally losing sight of symbolic methods.
<White_Flame> ... having computers make sense of images & videos
<iqubic> I'm not going to try any computer vision.
<iqubic> I just want to create an AI for a game I created.
<pjb> iqubic: cf. the point of view about AI of people like Hofstadter https://www.youtube.com/results?search_query=Hofstadter+AI
<White_Flame> ok, then "game AI" is something completely different
<White_Flame> as it tends to be applied state machines
<iqubic> Yes. I know.
<pjb> iqubic: and then, even if you consider statistical methods, I would consider using lisp to compile high level system definitions and compose statistical modules, including at run-time.
<White_Flame> when people say "AI" unadornedly, they're usually talking about some variant of "machine learning" today
<iqubic> All I'm trying to do is write a program that works to get the highest score in the game 2048.
<White_Flame> what's your strategy that you think will work?
<iqubic> I have no idea how to start this.
<White_Flame> well, you need to get that idea first before you can do anything
<iqubic> I know.
schoppenhauer has quit [Ping timeout: 260 seconds]
<White_Flame> because any form of AI is taught or trained in the way you want it to solve
<iqubic> I'll do some research.
<White_Flame> (or programmed)
<iqubic> I know.
<White_Flame> there's a lot of "I know", so what's the original question again? :)
schoppenhauer has joined #lisp
<iqubic> The original question: "What stratergy do I think will wrok best for a program that plays 2048?"
<beach> That, I am afraid, is a bit too much off topic for #lisp.
<iqubic> Let me ask another question than. Is there a CL graphics library that works with SBCL.
<iqubic> Also, how would I get said library to work with SLIME?
<k-hos> cl-opengl works well
<iqubic> Does it work with SLIME? Also how do I get that installed, via quicklisp??
<White_Flame> cepl brings graphics more native to CL style, rather than just being raw opengl bindings
<White_Flame> there's a lot of cepl videos by baggers on youtube that are interesting
<iqubic> Do any of them work with SLIME?
<beach> That's a strange question.
<White_Flame> SLIME is kind of orthogonal to that I think.
rumbler31 has quit [Remote host closed the connection]
<White_Flame> I'd think you're usually opening up a separate opengl context GUI window, so it doesn't matter how you're talking to the lisp image
<White_Flame> and after all, why _wouldn't_ you be using SLIME?
<iqubic> Right, that makes sense.
<pierpa_> does anyone know a sokoban solver written in CL?
<iqubic> White_Flame: What I really want is emacs company completion and documentation via C-h f / C-h v for whatever library I use.
<iqubic> I have no idea if that is possible.
<White_Flame> that's normal
<White_Flame> and has nothing to do with what the library actually does
<White_Flame> whether it's a database connector library, or a graphics connector library, or soket connector library, all the same
<iqubic> Yes, but I have no idea how to tell emacs what libraries I'm using so that it can fetch the documentation I need.
<White_Flame> that's what SLIME does
<White_Flame> well, I haven't used documentation features, if you're talking about mor ethan docstrings
<iqubic> Oh. Where does SLIME get that info?
epony has joined #lisp
<iqubic> Also yeah, I just need docstrings.
<White_Flame> from the running image?
<iqubic> That's how C-h f and C-h v work.
<iqubic> So how do I install a library like cl-opengl or cepl?
<White_Flame> quicklisp
<iqubic> Good. I have that.
drewc has quit [Ping timeout: 276 seconds]
dieggsy has quit [Ping timeout: 265 seconds]
Arcaelyx_ has joined #lisp
Arcaelyx has quit [Ping timeout: 265 seconds]
rumbler31 has joined #lisp
<iqubic> Is LISP a compiled lanague or an interperted one?
<beach> *sigh*
<beach> iqubic: When we write LISP, we usually mean some pre Common Lisp language. We have written in "Lisp" for several decades.
<beach> iqubic: Languages are neither compiled nor interpreted.
Pixel_Outlaw has quit [Remote host closed the connection]
<beach> iqubic: It is an implementation strategy.
<White_Flame> given that there are C interpreters, is C a compiled or interpreted language?
<iqubic> Beach. Sorry to keep beating this to death,
<beach> iqubic: I see two reasonable definitions of "interpreted language". The first one is that the language CAN BE implemented by an interpreter, and the second is that it HAS TO BE implemented by an interpreter. The first definition implies that every language is interpreted, and the second definition that no language is interpreted.
<beach> iqubic: Well, you could try doing a little bit of research on your own. Terms like "computer vision" I am sure have Wikipedia entries.
rumbler31 has quit [Ping timeout: 256 seconds]
quazimodo has joined #lisp
<beach> "The term is somewhat vague. In principle, any language can be implemented with a compiler or with an interpreter"
<iqubic> Why is CLOS so hard to understand?
nika has joined #lisp
<beach> It isn't.
<iqubic> I don't understand it.
<White_Flame> Alternatively, why is it so hard for you to understand CLOS?
<White_Flame> you can see why such questions aren't very well formed
<beach> iqubic: I agree with White_Flame. This channel is about Common Lisp, not about you. Try to keep the question more Common Lisp related.
<iqubic> You know what. I think I'll be back later.
<White_Flame> but I think the real fundamental issue is you're probably trying to bite off more than you can chew at once
<White_Flame> you need to work with some simpler problems before jumping right into opengl + AI + CLOS + whatever else
<iqubic> I really should do that.
<pjb> CLOS is not complex. The MOP is a tad more complex.
<pjb> iqubic: you cannot understand OO if you know C++. You have to learn Smalltalk to understand OO. Smalltalk is simple. (It's made for children).
<pjb> iqubic: alternatively, you may learn Objective-C, which is C+Smalltalk, but it's more complicated because of the C part.
<pjb> iqubic: Sometimes, in universities, one learns OO by implementing it in lisp (or scheme), instead of learning Smalltalk. It's also a good way to do it.
<iqubic> I learned OO by writting a whole bunch of java.
<pjb> well, no. No Java, no C++.
<pjb> Smalltalk, or implement it yourself in lisp.
<iqubic> Why do you want me to do that?
<pjb> To learn OO, and not be afraid of CLOS or the MOP.
<iqubic> I don't really want to do that right now.
<pjb> C'est vous qui voyez.
<iqubic> Merci pour vos sages paroles
drewc has joined #lisp
ak5 has quit [Ping timeout: 256 seconds]
vtomole has quit [Ping timeout: 260 seconds]
rumbler31 has joined #lisp
deng_cn has quit [Read error: Connection reset by peer]
deng_cn has joined #lisp
rumbler31 has quit [Ping timeout: 268 seconds]
quazimodo has quit [Ping timeout: 256 seconds]
j0nd0e has joined #lisp
wigust has joined #lisp
j0nd0e` has joined #lisp
j0nd0e has quit [Read error: Connection reset by peer]
kobain has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
openthesky has quit [Ping timeout: 276 seconds]
oleo has quit [Quit: Leaving]
pierpa_ has quit [Quit: Page closed]
shifty has joined #lisp
smurfrobot has joined #lisp
Kyo91 has quit [Remote host closed the connection]
smurfrobot has quit [Ping timeout: 255 seconds]
jameser has quit [Remote host closed the connection]
damke has quit [Read error: Connection reset by peer]
damke has joined #lisp
jameser has joined #lisp
Lord_Nightmare has quit [Ping timeout: 248 seconds]
emaczen` has joined #lisp
emaczen has quit [Read error: Connection reset by peer]
Lord_Nightmare has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
LocaMocha has joined #lisp
fikka has joined #lisp
pagnol has joined #lisp
ahungry has joined #lisp
krwq has joined #lisp
JohnTalent has joined #lisp
<krwq> hello, does anyone know if there is a way to make swig generate valid fields from the header file which uses bitfields? it currently seems to be generating for 4 :unsigned-int fields instead of 29+1+1+1 bit numbers
eschatologist has quit [Quit: ZNC 1.6.5+deb2build2 - http://znc.in]
rumbler31 has joined #lisp
eschatologist has joined #lisp
smurfrobot has joined #lisp
rumbler31 has quit [Ping timeout: 252 seconds]
<krwq> I ended up with %ignore in swig file and redefining the struct by myself using a single uint - ifanyone knows a better way to handle that please let me know
pagnol has quit [Ping timeout: 256 seconds]
ahungry has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 268 seconds]
smurfrobot has quit [Remote host closed the connection]
krwq has quit [Remote host closed the connection]
fikka has joined #lisp
dec0n has joined #lisp
mishoo has joined #lisp
damke_ has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
damke has quit [Ping timeout: 264 seconds]
Tobbi has joined #lisp
Karl_Dscc has joined #lisp
damke__ has joined #lisp
shka has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
wxie has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 252 seconds]
impulse has quit [Ping timeout: 248 seconds]
damke has joined #lisp
impulse has joined #lisp
sjl has joined #lisp
rumbler31 has joined #lisp
damke__ has quit [Ping timeout: 264 seconds]
vlatkoB has joined #lisp
Arcaelyx_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sjl has quit [Ping timeout: 240 seconds]
rumbler31 has quit [Ping timeout: 255 seconds]
huzi has joined #lisp
wigust- has joined #lisp
smurfrobot has joined #lisp
scymtym has quit [Remote host closed the connection]
huzi has quit [Client Quit]
wigust has quit [Ping timeout: 248 seconds]
JohnTalent has quit [Quit: leaving]
solyd has quit [Quit: solyd]
smurfrobot has quit [Ping timeout: 255 seconds]
flamebeard has joined #lisp
flamebeard has quit [Remote host closed the connection]
flamebeard has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
smurfrobot has joined #lisp
heurist_ has joined #lisp
heurist`_ has quit [Ping timeout: 260 seconds]
smurfrobot has quit [Ping timeout: 248 seconds]
milanj has quit [Quit: This computer has gone to sleep]
fikka has joined #lisp
epony has quit [Remote host closed the connection]
smurfrobot has joined #lisp
wxie has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 264 seconds]
EvW has joined #lisp
drcode has quit [Ping timeout: 240 seconds]
mishoo has quit [Ping timeout: 268 seconds]
pchrist has quit [Quit: leaving]
solyd has joined #lisp
solyd has quit [Client Quit]
pchrist has joined #lisp
banjiewen has quit [Ping timeout: 256 seconds]
Kaisyu has quit [Read error: Connection reset by peer]
jyc has quit [Read error: Connection reset by peer]
rann has quit [Read error: Connection reset by peer]
Kaisyu has joined #lisp
Cymew has joined #lisp
banjiewen has joined #lisp
jyc has joined #lisp
rann has joined #lisp
dxtr has quit [Quit: leaving]
mlf has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
smurfrobot has quit [Remote host closed the connection]
fikka has joined #lisp
shka has quit [Ping timeout: 265 seconds]
mishoo has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
epony has joined #lisp
varjag has joined #lisp
rumbler31 has joined #lisp
drcode has joined #lisp
smurfrobot has joined #lisp
rumbler31 has quit [Ping timeout: 256 seconds]
damke_ has joined #lisp
milanj has joined #lisp
damke has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
dxtr has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
mishoo_ has joined #lisp
scymtym has joined #lisp
mishoo has quit [Ping timeout: 240 seconds]
EvW has quit [Ping timeout: 265 seconds]
damke has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
_cosmonaut_ has joined #lisp
fikka has joined #lisp
DeadTrickster has quit [Ping timeout: 255 seconds]
fikka has quit [Ping timeout: 260 seconds]
DeadTrickster has joined #lisp
damke_ has joined #lisp
fikka has joined #lisp
damke has quit [Ping timeout: 264 seconds]
deng_cn has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 240 seconds]
deng_cn has joined #lisp
drcode has quit [Ping timeout: 252 seconds]
BitPuffin has joined #lisp
antismap has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
Ven`` has joined #lisp
fikka has quit [Ping timeout: 252 seconds]
antismap has joined #lisp
Ven`` has quit [Ping timeout: 252 seconds]
hhdave has joined #lisp
fikka has joined #lisp
smurfrobot has joined #lisp
wxie has joined #lisp
smurfrobot has quit [Ping timeout: 240 seconds]
wxie has quit [Ping timeout: 260 seconds]
wxie has joined #lisp
x55v has joined #lisp
hiroaki has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
solyd has joined #lisp
markong has joined #lisp
smurfrobot has quit [Ping timeout: 264 seconds]
x55v has left #lisp [#lisp]
hiroaki has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
safe has joined #lisp
<flip214> I've got a GF with multiple methods which have EQL specializations on the first argument.
makomo has joined #lisp
<flip214> I can list them via GENERIC-FUNCTION-METHODS, but how would I selectively call one of them?
jameser has quit [Ping timeout: 264 seconds]
<jackdaniel> flip214: mop:method-function seems to fit the bill
<beach> flip214: That would not be a typical use case for generic functions and methods. It would be best to call the generic function with the EQL specializer in question.
zaquest has quit [Ping timeout: 256 seconds]
hajovonta has joined #lisp
<JuanDaugherty> iqubic, because a) it developed over a long time and b) it is the inherently most flexible OOP mechanism, a generic meta one in fact
<hajovonta> hello all
attila_lendvai has joined #lisp
<shrdlu68> hello
<hajovonta> is it possible for a function to determine the other function it was called from?
EvW has joined #lisp
<jackdaniel> hajovonta: in principle - no
<hajovonta> like when I call (fun1 param1 (fun2 param2 param3)) and inside fun2 I would need some information that it was called from fun1
fikka has quit [Ping timeout: 240 seconds]
<jackdaniel> you can check the backtrace on some implementations
<hajovonta> jackdaniel: what does that mean :)
<hajovonta> I'm on SBCL
<jackdaniel> (ql:quickload 'trivial-backtrace)
<jackdaniel> and call a function to print backtrace from inside your function
<jackdaniel> then you'll see the callstack. but that's a hack, not a solution
<jackdaniel> some functions may be inlined and backtraces are not portable CL
<flip214> beach: I'm trying to use CLOS as a mechanism to get a kind-of plug-in architecture...
<flip214> DEFMETHOD to register a "hook", so to say. but perhaps that's just a bad idea?!
<JuanDaugherty> also cl is the more baroque lisp, you might find the scheme oop, whatever it is more to your liking
<hajovonta> jackdaniel: thanks. portability is currently not a problem for me as I only have SBCL here
<flip214> I quite like the automatic documentation and availability of debugging via swank/slime etc.
fikka has joined #lisp
<Shinmera> hajovonta: Use Dissect instead
<jackdaniel> hajovonta: checking where function was called from is also wrong from the technical perspective
<flip214> so I should parse the EQL specifier and call the GF with the right first value, right?
<Shinmera> hajovonta: Dissect will give you an object representation for the stack rather than just a string like trivial-backtrace does
<jackdaniel> if you customize behavior based on that your program will be automatically unintelligible
<hajovonta> jackdaniel: I need it for logging.
<scymtym> flip214: for a certain style of pluggable implementations, you may find https://github.com/scymtym/architecture.service-provider useful
<Shinmera> Colleen: tell hajovonta look up dissect
<Colleen> hajovonta: About dissect https://shinmera.github.io/dissect#about_dissect_
<hajovonta> Shinmera: thanks
quazimodo has joined #lisp
<beach> flip214: I would just use a hash table instead if I understand your use case correctly.
<flip214> scymtym: beach: I'll look at various alternatives, thanks a lot!
zaquest has joined #lisp
<flip214> scymtym: «(See <a href=”*» if that is on purpose, it's too subtle for me
<hajovonta> Shinmera: that's pretty cool. Exactly what I wanted
<hajovonta> what I don't understand is where are the first two SBCL-CALLs in the environment-stack object
<hajovonta> it starts with number 3 :)
antgreen has quit [Ping timeout: 255 seconds]
<|3b|> flip214: looks like github's .org renderer got confused... makes a bit more sense in original
<hajovonta> aha, I guess those are restarts.
iqubic` has joined #lisp
iqubic has quit [Ping timeout: 260 seconds]
<Shinmera> hajovonta: No, that's due to the stack capping.
<Shinmera> it hides frames that are irrelevant (eg dissect internal things)
nika has quit []
damke_ has quit [Read error: Connection reset by peer]
damke_ has joined #lisp
kedorlaomer has joined #lisp
solyd has quit [Quit: solyd]
ebrasca has quit [Remote host closed the connection]
raynold has quit [Quit: Connection closed for inactivity]
karswell has quit [Read error: Connection reset by peer]
karswell_ has joined #lisp
damke has joined #lisp
ghard` has joined #lisp
ghard has quit [Ping timeout: 265 seconds]
damke_ has quit [Ping timeout: 264 seconds]
sjl has joined #lisp
wxie has joined #lisp
safe has quit [Read error: Connection reset by peer]
sjl has quit [Ping timeout: 264 seconds]
wxie has quit [Ping timeout: 248 seconds]
<scymtym> flip214: thanks, i think that's just github's org-mode renderer
python476 has joined #lisp
Ven`` has joined #lisp
<ecraven> jackdaniel: nice, my slime PR was just merged ;) thanks for pointing me to github
random-nick has joined #lisp
<jackdaniel> np, thanks for improving slime :)
<ecraven> well, I wouldn't call it an improvement ;) but it does make kawa work with slime, which is nice
Ven`` has quit [Ping timeout: 276 seconds]
scymtym_ has joined #lisp
<jackdaniel> I think that scope of change impact is a better metric than scope of changes wrt improvement
scymtym has quit [Ping timeout: 240 seconds]
m00natic has joined #lisp
nirved has joined #lisp
solyd has joined #lisp
dddddd has joined #lisp
lacedaemon is now known as fe[nl]ix
orivej has joined #lisp
HDurer has quit [Remote host closed the connection]
HDurer has joined #lisp
HDurer has joined #lisp
HDurer has quit [Changing host]
pjb has quit [Remote host closed the connection]
pjb has joined #lisp
kedorlaomer has quit [Ping timeout: 256 seconds]
red-dot has joined #lisp
solyd has quit [Quit: solyd]
fikka has quit [Ping timeout: 240 seconds]
EvW has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
jameser has joined #lisp
jameser has quit [Client Quit]
jameser has joined #lisp
solyd has joined #lisp
EvW1 has joined #lisp
JuanDaugherty has quit [Ping timeout: 268 seconds]
<Shinmera> Is initialize-instance called for condition objects? define-condition talks about initialize-instance in the :initarg option, but (on SBCL) initialize-instance does not seem to get called when I create a condition.
<Shinmera> Which is annoying as fuck, since I'd like to compute some slots based on an initarg.
python476 has quit [Remote host closed the connection]
<fe[nl]ix> the type condition is not mandated to be subtype of standard-object
mfiano has quit [Quit: WeeChat 2.0.1]
mfiano has joined #lisp
mfiano has quit [Client Quit]
<Shinmera> I'm aware of that.
<jackdaniel> if you call make-instance 'condition-type, then initialize-instance is called
<jackdaniel> if you call make-condition it isn't
<jackdaniel> (of course this is implementation-specific)
rumbler31 has joined #lisp
<Shinmera> So what's this about then in CLHS for define-condigion: "The :initarg slot option declares an initialization argument named by its symbol argument and specifies that this initialization argument initializes the given slot. If the initialization argument has a value in the call to initialize-instance, the value is stored into the given slot, and the slot's :initform slot option, if any, is not evaluated."
<Shinmera> Is that just another copypasta oversight or something?
smurfrobot has joined #lisp
<jackdaniel> this doesn't say anything whenever initialize-instance is automatically called (only how initialize-instance *behaves* when it's called)
<Shinmera> I guess, but it's weird to talk about it at all when it's not even specified that make-instance should work on condition types.
vaporatorius__ has quit [Remote host closed the connection]
<Shinmera> Or am I misremembering that part
rumbler31 has quit [Ping timeout: 268 seconds]
smurfrobot has quit [Ping timeout: 240 seconds]
heurist`_` has joined #lisp
heurist_ has quit [Ping timeout: 248 seconds]
ludston has joined #lisp
billitch has quit [Ping timeout: 260 seconds]
billitch has joined #lisp
mfiano has joined #lisp
billitch has quit [Quit: Lost terminal]
thodg has joined #lisp
<thodg> would someone have the ELS 2017 lightning talks online somewhere ?
<Shinmera> It doesn't look like those were recorded.
<Shinmera> Not that having them recorded would have been much better, since the quality of the 2017 recordings is really poor
solyd has quit [Quit: solyd]
<thodg> i'll bring a real camera next time =)
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<thodg> those really got cheap
solyd has joined #lisp
red-dot has joined #lisp
solyd has quit [Client Quit]
jmercouris has joined #lisp
<jmercouris> hey everyone, just made a post on /r/programming about programming next via hooks: https://www.reddit.com/r/programming/comments/7w4k5x/using_hooks_to_smart_program_your_browser/
python476 has joined #lisp
<jmercouris> much more technical than the last post
<jmercouris> perhaps too technical this time?
<thodg> just from the title it sounds like nodejs streams
d4ryus2 has joined #lisp
EvW1 has quit [Ping timeout: 255 seconds]
d4ryus1 has quit [Ping timeout: 256 seconds]
<jmercouris> I would never write something so blasphemous :D
<jackdaniel> how "smart programming" differs from "programming"?
<ludston> What's wrong with streams/
<jmercouris> jackdaniel: It doesn't it's just a "smart" browser rather than a dumb one, like the one's were used to
<jackdaniel> ludston: what do you mean?
<jmercouris> the title sucks, I'll admit
<jmercouris> maybe something like "Using hooks to program your browser smarter"
<ludston> jackdaniel: Why would anyone get upset about using nodejs streams. They're just going to be regular grey streams, right?
<Xach> jmercouris: probe-file already returns a truename.
<jackdaniel> I don't know what nodejs streams are, thought you have some problem with streams
<jmercouris> Xach: you mean in my download-notes function?
<Xach> in any context
<jackdaniel> btw, gray streams* not grey (it's from the proposal author name)
<jmercouris> Xach: No doubt that is true in any context, the question is, are you bringing it up because of that?
<ludston> til
<jmercouris> If connection dies, it is because I am on a train
<jmercouris> if any of you downvoted/don't like the article, I'd be interested to know why so that I may write better articles in the future
solyd has joined #lisp
<jackdaniel> I haven't, but I'd ramove word "smart" whatsoever (unless it is backed by something what makes it indeed "smart") ;-)
<jackdaniel> remove*
<flip214> Any idea when ELS registration opens?
<jmercouris> I think that's a valid point
<jmercouris> perhaps I didn't express what is becoming smarter better enough
<jmercouris> it is the browser that has the capability to be "smart", not clever just "more interactive", kind of how emacs macros can "smarten" your editing process
<jmercouris> I wasn't sure what word to use for that
<Xach> turbo-elegances
<flip214> Only 6 weeks until the _end_ of the early registration deadline
<jackdaniel> still don't see how that makes it smart (done with elaborating on "smart" word, I've got stuff to do):p
<ludston> jmercouris: "prorgammable"? "Event-driven"?
<jmercouris> ludston: I'm sorry, I don't understand
<jmercouris> can you elaborate on what you mean?
<jmercouris> What is the question?
<thodg> jackdaniel: unsmart programming, unlambda
damke_ has joined #lisp
<thodg> i would also say perl to some extent
<thodg> never got to read most of it
<ludston> jmercouris: If we're not done bikeshedding the title of your post, I'd go with "Using events in the Next browser"
<thodg> jmercouris: to me smart has a social implication
<thodg> but your text proposes more social interaction with the browser
<thodg> using hooks
<thodg> early on i wonder if it is http or system based hooks
damke has quit [Ping timeout: 264 seconds]
<jmercouris> thodg: after reading it, was it clear though?
<jmercouris> ludston: while a very accurate and succint title, I'm not sure it would make want to read such an article
rumbler31 has joined #lisp
<jackdaniel> misleading titles which are meant to increase reader count are colloquially called clickbaits
Denommus has joined #lisp
<jmercouris> That's true, that is called clickbait
random-nick has quit [Quit: quit]
random-nick has joined #lisp
<jmercouris> but interesting, AND factual titles are called good journalism
<jmercouris> and I don't think there is a lie in my title
rumbler31 has quit [Ping timeout: 260 seconds]
<jmercouris> jackdaniel: I don't get you, sometimes you are so helpful and nice, and sometimes so... mean
<jmercouris> why this huge dichotomy?
nowhereman_ has joined #lisp
<jackdaniel> I don't consider myself neither, I usually just speak my mind
<flip214> moon phase
<ludston> Speaking of dichotomy. I might be just drunk, but I'm looking at the source of next-browser and I'm not seeing any calls to 'run-hook'.
<jmercouris> ludston: shit, that means I didn't push :D
<jmercouris> ludston: thank you for pointing that out
<jmercouris> it's good to be honest, but it is also good to be considerate of other people's feelings
<jmercouris> they aren't mutually exclusive
<ludston> jmercouris: np.
deng_cn has quit [Read error: Connection reset by peer]
<ludston> jmercouris: Speaking of treading on feelings, I have *big opinion* on this topic
<jackdaniel> it's not like I've said your title is shit or something, I find word "smart" very much misplaced here, and when your argument is that "people wouldn't be so inclined to read it if the title were more accurate" it makes it only worse in my eyes
nowhere_man has quit [Ping timeout: 256 seconds]
<Shinmera> I don't think any of what jackdaniel said here recently counts as "mean"
JuanDaugherty has joined #lisp
<ludston> jmercouris: Basically what I am seeing you say here, is "please look after my ego", and in many parts of western culture cadres form with an unspoken agreement to avoid ego-bruising
deng_cn has joined #lisp
<jmercouris> an implication of writing clickbait is mean, it paints me as a dishonest person, but whatever, water under the bridge
<ludston> jmercouris: But the *big opinion* is that ego-ism is largely personally unhealthy, and the cause of a lot of personal unhappiness so it's better just to ditch it.
<jmercouris> ludston: This has nothing to do with egoism, and everything to do with how you treat others
antismap has quit [Ping timeout: 252 seconds]
<Shinmera> It has everything to do with how you interpret what is said, too.
<jmercouris> I interpret it as underhanded due to the manner of phrasing
<jmercouris> maybe it is because english isn't his first language
<ludston> jmercouris: 'How you treat others' is mostly, 'how people perceive that they are being treated'
<jmercouris> but in the US a comment like that wouldn't go unnoticed
<jmercouris> if his intention is not negative (which I have trouble believing), then it is okay, criticism is good, if not, then I don't really like it, but it is not my position to tell others what they can or cannot do
<jmercouris> at the same time though, I am free to express my opinion
<jackdaniel> 1) it is offtopic here, 2) I don't appreciate talking about me in third person [ignore 2), focus on 1)]
<ludston> jmercouris: Which basically comes down to some level of entitlement and expectation that is probably completely undue when it comes to which secret phrase damages your sense of identity and makes you feel bad inside.
<jmercouris> jackdaniel: I spoke of you in the third person not out of disrespect, but because I was replying to the other person
<jackdaniel> as I said, focus on 1), ignore 2)
<jmercouris> ludston: maybe you are correct, I will think about what you've said
* jonh adds more bourbon to coffee
<ludston> jmercouris: If it makes you feel better, I didn't vomit when I read the code :)
<jmercouris> lol nice
<Zhivago> It's an expensive habit not to get over, with the erosion of the molars and all.
smurfrobot has joined #lisp
<jmercouris> last thing I'd like to say, as always, sorry if I misunderstood or hurt anyone, or if I am being egotistical, I'm trying to be better
wxie has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
rumbler31 has joined #lisp
d4ryus2 is now known as d4ryus
antismap has joined #lisp
<thodg> jmercouris: after reading I would tend agree about smart
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<thodg> to*
<jmercouris> thodg: In which way? for or against?
<thodg> i'm adding next to repo
<thodg> is anyone using this : http://github.com/thodg/repo
<thodg> ?
wxie has quit [Ping timeout: 240 seconds]
nullman has quit [Ping timeout: 255 seconds]
nullman has joined #lisp
ak5 has joined #lisp
warweasle has joined #lisp
thodg has quit [Ping timeout: 260 seconds]
Tristam has quit [Remote host closed the connection]
thodg has joined #lisp
<thodg> jmercouris: in a good way
<jmercouris> Ah, I see
Tristam has joined #lisp
<thodg> yeah ludston is right about title too
thodg_ has joined #lisp
<thodg> title as our favourite prefetch cache index key
<kolb> If people think you are rude then you probably are
<kolb> Goes with the definition
<jackdaniel> hopefully not everyone things that! ;-)
<thodg> well smart defenitely evokes social complexes very present across programmer types
<jackdaniel> thinks*
<thodg> but a web browser also builds these social complexes so its on topic
<thodg> we basically build the tools the masses use to marginalize us
<thodg> but this is widely OT
<kolb> jmercouris: I think you are quite the opposite of rude
KongWubba has joined #lisp
<thodg> kolb: i'm a punk =)
<JuanDaugherty> think like machine
<JuanDaugherty> machine not offended
<thodg> good alchemists, punks
<thodg> a dying species
<White_Flame> idunno, error messages and sounds always seemed to sound offended & be offensive :-P
<thodg> JuanDaugherty: exactly
Tristam has quit [Quit: Leaving]
<thodg> is there a channel for non-lisp talk of lispers
<thodg> ?
Tristam has joined #lisp
<dlowe> thodg: #lispcafe
<jmercouris> kolb: It's hard to tell if via text you are being sarcastic or not, if you are not I appreciate the sentiment
<thodg> dlowe: awesome
<dlowe> JuanDaugherty: that's a bad strategy when deciding how to communicate with non-machines.
<dlowe> JuanDaugherty: unless you mean emit like a human, receive like a machine
<thodg> jmercouris: he's right the concept might be negatively correlated
<thodg> dlowe: not with me =)
<thodg> that's according to law of robustness
<kolb> jmercouris: if they can call it a smart phone you can very well call it a smart browser imho. Smart = programmable? That's honest imho. (Not sarcastic, tryna be supportive)
<thodg> accept any input, produce standard output
<JuanDaugherty> dlowe, i mean process animal emoting effectively
<jmercouris> kolb: That was exactly my line of thinking in regards to the title!
<thodg> oh yes thats a problem, and quite non-commercial too
<jmercouris> Perhaps I am not so crazy after all :D
<kolb> No #lisp is :-)
<kolb> (Sorry folks)
<jackdaniel> dlowe: sounds like a robustness principle[1] adapted to human interaction ;-) [1] https://en.wikipedia.org/wiki/Robustness_principle
<thodg_> well lisp defenitely gave me insight (and changed) the workings of mind
<thodg_> we do not teach cybernetics in france
Tristam has quit [Client Quit]
<JuanDaugherty> use dreamer, other lisp code sets, eventually get back on topic
<thodg_> but the free university is very good
<thodg_> caml is a real subject
Tristam has joined #lisp
<dlowe> yeah. I think the robustness principle is a terrible idea beyond a certain size.
<thodg_> i think we're mostly bored
<thodg_> as a species
<Zhivago> Just call it a 'cunning browser' instead.
<jmercouris> Zhivago: lol
sjl has joined #lisp
<thodg> dlowe: I know Open Music has developers in Paris
<thodg> never met them though
j0nd0e` has quit [Remote host closed the connection]
deng_cn1 has joined #lisp
deng_cn has quit [Ping timeout: 256 seconds]
deng_cn1 is now known as deng_cn
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
<flip214> Following https://common-lisp.net/project/cl-store/docs/cl-store_4.html#IDX35 (serializable-slots-using-class) works fine for storing...
iqubic` has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
<flip214> but later on the slot I "took out" comes up unbound.
<flip214> how can that happen, if there's an :INITFORM nil in the definition?
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
<flip214> wait, what? the slot got removed from the class!
FreeBirdLjj has joined #lisp
jmercouris has quit [Remote host closed the connection]
_cosmonaut_ has quit [Ping timeout: 264 seconds]
<flip214> hmmm, swank doesn't show the slot... but if I browse to the class definition it's still listed in the parent class as direct slot
<flip214> but not in the child class in effective-slots?!
<flip214> strange...
jmercouris has joined #lisp
<flip214> ARRRGH
<flip214> the example in CL-STORE is broken.
<flip214> DELETE modifies the list in-place, meaning that CLOS-internal data gets broken!
fikka has joined #lisp
<flip214> Using REMOVE instead makes it work
<Xach> Yikes!
zaquest has quit [Ping timeout: 240 seconds]
<flip214> PR already on the way
<flip214> yeah, a classical error.
<flip214> so much for following the documentation... doesn't save from thinking ;/
<attila_lendvai> if you're willing to patch things up, then I recommend hu.dwim.serializer instead. it's better quality than cl-store, but it's mostly tailored to our needs in the sense that it's not dealing much with backward compatibility and use-cases that we didn't bump into
<attila_lendvai> we used cl-store, rucksack for a while, but gave up on them
<jmercouris> attila_lendvai: who is "we"? do you have a business?
fikka has quit [Ping timeout: 256 seconds]
<attila_lendvai> kinda. it exists as a legal entity, but we don't have serious projects for a while now
<jmercouris> what were your serious projects? can you link them? explain your business model?
siwica has joined #lisp
papachan has joined #lisp
<attila_lendvai> google around, http://dwim.hu but that site has not much useful. just standard enterprise bullshit, but written in lisp
oleo has joined #lisp
<flip214> attila_lendvai: thanks for the reminder. I've already seen and used quite a few dwim.hu things, but, TBH, the site itself bugs me to no end.
<jmercouris> attila_lendvai: hu? are you a hungarian company?
<attila_lendvai> all the hu.dwim libs are the result of that work, most notably hu.dwim.perec
<flip214> attila_lendvai: clicking at projects/dwim/d.j.s for example gives me a page with the header and footer, and "none" as text. Ugh.
zaquest has joined #lisp
<attila_lendvai> flip214: that site is automatically generated from project metadata, that is not filled out. plus some bitrot, too, probably
<flip214> ah, that's the description... clicking on "content" lists some files.
hajovonta has quit [Quit: hajovonta]
<flip214> attila_lendvai: and having nice URLs that can be bookmarked would be SOOOO nice
<flip214> do you have a list of functional differences to cl-store somewhere?
smurfrobot has quit [Remote host closed the connection]
<attila_lendvai> I know. we stopped working on it a few years ago...
<flip214> grrr... the README has http://dwim.hu/project/hu.dwim.serializer which is a 404
fikka has joined #lisp
<flip214> yeah, that's a problem... do you recommend some other doc site for all your stuff?
<attila_lendvai> just get the repo and look into the tests and grep around the whole hu.dwim universe for usage examples, although for serializer it shouldn't hold many surprises...
<flip214> I understand that I can do that... but good docs would be a major plus.
<attila_lendvai> we rarely read docs, so we're somewhat reluctant to write them... :) or at least tests are a priority
milanj has quit [Quit: This computer has gone to sleep]
<flip214> for example, I need to exempt one or two slots from serialization... grepping through the source might take a bit longer than looking into an index
<attila_lendvai> I had no clue, it took me this long: write-object-slots
<attila_lendvai> its a small thing really...
* attila_lendvai is afk
fikka has quit [Ping timeout: 248 seconds]
Ven`` has joined #lisp
milanj has joined #lisp
<flip214> I'm not sure whether having NO documentation is better than WRONG documentation.
<shrdlu68> At least wrong/inaccurate docs can be improved.
zaquest has quit [Read error: Connection reset by peer]
mishoo_ has quit [Ping timeout: 268 seconds]
drcode has joined #lisp
drcode has quit [Remote host closed the connection]
zaquest has joined #lisp
fikka has joined #lisp
tlaxkit has joined #lisp
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
<jmercouris> how to go from string --> symbol? having issues in my macro (which I thought worked)
<jmercouris> (make-symbol) does do something, but not what I want
<jmercouris> maybe I'm using the wrong terms
<sjl> what do you want?
<jmercouris> I'd like to be able to input "fish" and emit fish in the macro
<sjl> what package is the second symbol interned in?
<sjl> if any
<jmercouris> none
<sjl> s/is/would you like it to be/
<jmercouris> keyword package
<jmercouris> I'd like to be able to take "salmon" and emit keyword:salmon
FreeBirdLjj has quit [Remote host closed the connection]
lonjil has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
<sjl> (intern "fish" :keyword)
<jackdaniel> (alexandria:make-keyword "fish") ; -> :|fish|
<sjl> yeah, you'll need to consider case
<jmercouris> case?
<sjl> uppercase/lowercase
<jmercouris> ah I see
<Zhivago> Lisp symbols are case sensitive. The reader does some insane case folding based on a dynamic variable to make it quasi-insensitive.
<Zhivago> I'm sure it seemed like a good idea at the time.
KongWubba has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
FreeBirdLjj has joined #lisp
Ven`` has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
jmercouris has quit [Ping timeout: 240 seconds]
rippa has joined #lisp
nika has joined #lisp
Arcaelyx has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
Cymew has quit [Remote host closed the connection]
Cymew has joined #lisp
flamebeard has quit [Quit: Leaving]
dieggsy has joined #lisp
solyd has quit [Ping timeout: 268 seconds]
<Shinmera> Zhivago: very rarely I get bug reports from people that use a readtable case other than :upcase
<jackdaniel> most useful readtable case is :invert
<Shinmera> Those bug reports get marked as wontfix by me though.
FreeBirdLjj has quit [Remote host closed the connection]
shrdlu68 has quit [Ping timeout: 268 seconds]
Cymew has quit [Ping timeout: 240 seconds]
<Shinmera> jackdaniel: actually the must useful case is still :upcase.
dec0n has quit [Read error: Connection reset by peer]
fikka has joined #lisp
shrdlu68 has joined #lisp
<jackdaniel> maybe my joke was lost in a wire transfer (I find :invert least useful from the possible values)
nika has quit [Ping timeout: 256 seconds]
<Shinmera> I wasn't sure whether you were serious or not because there's people that actually do try to use it
<Shinmera> (hence the aforementioned bug reports)
<Shinmera> Allegro's modern mode is another
<jackdaniel> I've nevert encountered :invert used in real code (only :downcase which arguably has aesthetic appeal)
<jackdaniel> (and :preserve for case sensivity)
Cymew has joined #lisp
ak5 has quit [Ping timeout: 240 seconds]
<jackdaniel> I have even written a test for all corner cases with readtable-case (when fixing bug in ECL)
vap1 has joined #lisp
shrdlu68 has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 260 seconds]
vaporatorius has joined #lisp
FreeBirdLjj has joined #lisp
dieggsy has quit [Ping timeout: 260 seconds]
vap1 has quit [Client Quit]
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
nika has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Cymew has quit [Ping timeout: 256 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
Cymew has joined #lisp
fikka has joined #lisp
FreeBirdLjj has joined #lisp
asarch has joined #lisp
scymtym_ has quit [Ping timeout: 255 seconds]
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
<_death> jackdaniel: actually :invert is deemed useful because you can use lowercase for standard symbols and mixed case is simple
nika has quit [Ping timeout: 260 seconds]
ak5 has joined #lisp
red-dot has joined #lisp
Cymew has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
siwica has quit [Ping timeout: 265 seconds]
scymtym has joined #lisp
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
nika has joined #lisp
mishoo_ has joined #lisp
pjb has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 252 seconds]
fikka has quit [Ping timeout: 256 seconds]
Jesin has joined #lisp
Cymew has joined #lisp
ak5 has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
nowhereman_ has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 252 seconds]
hiroaki has quit [Ping timeout: 248 seconds]
Cymew has quit [Ping timeout: 248 seconds]
Cymew has joined #lisp
makomo has quit [Ping timeout: 268 seconds]
Arcaelyx has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
smurfrobot has joined #lisp
Cymew has quit [Ping timeout: 248 seconds]
Chream_ has joined #lisp
Chream_ has quit [Read error: Connection reset by peer]
Cymew has joined #lisp
Chream_ has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
Chream_ has quit [Client Quit]
yoisushi has joined #lisp
Chream_ has joined #lisp
Chream_ has quit [Client Quit]
Chream_ has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
fikka has joined #lisp
yoisushi has quit [Quit: rcirc on GNU Emacs 25.3.1]
dddddd has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
daydayup has joined #lisp
dieggsy has joined #lisp
Cymew has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
SaganMan has joined #lisp
Cymew has joined #lisp
Karl_Dscc has joined #lisp
makomo has joined #lisp
raynold has joined #lisp
Cymew has quit [Ping timeout: 255 seconds]
Cymew has joined #lisp
Cymew has quit [Ping timeout: 248 seconds]
Karl_Dscc has quit [Remote host closed the connection]
Cymew has joined #lisp
dyelar has joined #lisp
al-damiri has joined #lisp
LiamH has joined #lisp
smurfrobot has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 240 seconds]
Murii has joined #lisp
Cymew has joined #lisp
fikka has joined #lisp
jmercouris has joined #lisp
thodg_ has left #lisp [#lisp]
Cymew has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 268 seconds]
nika has quit [Quit: Leaving...]
Cymew has joined #lisp
sunwukong has joined #lisp
makomo has quit [Ping timeout: 248 seconds]
sunwukong has quit [Quit: leaving]
sunwukong has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
Baggers has joined #lisp
<jmercouris> sjl: jackdaniel: thanks
AxelAlex has joined #lisp
dieggsy has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
varjag has joined #lisp
hhdave has quit [Ping timeout: 240 seconds]
<jmercouris> what does the "|" symbol mean?
m00natic has quit [Remote host closed the connection]
Cymew has quit [Ping timeout: 256 seconds]
mlf has joined #lisp
deng_cn has quit [Read error: Connection reset by peer]
Cymew has joined #lisp
deng_cn has joined #lisp
<stacksmith> jmercouris: have you considered taking a few days off to learn the basics of Lisp? It's not too hard.
smurfrobot has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Cymew has quit [Ping timeout: 256 seconds]
<jmercouris> stacksmith: no
<jmercouris> Never, never occurred to me
<Xach> in symbols | is used as a multiple escape character. anything between two | is taken literally without case folding.
Cymew has joined #lisp
<jmercouris> right, hence the comment about case earlier
<jmercouris> okay, thank you Xach
<Xach> #| starts a comment that ends with |#
<Xach> #| |# pairs may be nested so it can be used to comment out other comments
<jmercouris> Right okay
<sjl> e.g. (symbol-name '|hello world|)
smurfrobot has quit [Ping timeout: 256 seconds]
<Xach> \ in symbols will escape the next character and inhibit case conversion
<jmercouris> that's the context I was asking about |symbol lol|
<Xach> e.g. (symbol-name '\h\e\l\l\o\ \w\o\r\l\d)
<jmercouris> I was wondering why the pipes were appearing in the repl output
<stacksmith> The printer and the reader work together - things are printed in a way that can be read back in.
<jmercouris> so |hello world| === '\h\e\l\l\o\ \w\o\r\l\d
<jmercouris> yeah?
<Xach> no
<jmercouris> damn, I don't get it then
<Xach> the quote is important
<jmercouris> the quote means "take literally" yeah?
<jmercouris> or is this another concept that I think I understand but don't
<Xach> when evaluated, yes. when read, it is shorthand for (quote ...)
Cymew has quit [Ping timeout: 255 seconds]
<sjl> you said |x| === '\x
<sjl> which isn't right
<Xach> |hello world| reads as a symbol and '\h... reads as a list.
<sjl> '|x| === '\x
<jmercouris> aha okay
<jmercouris> okay I get it
<sjl> the | and \ chars are just used to escape characters in the name of the symbol
<rme> the printer might decide to use the |...| syntax rather than slashifying the output depending on what it thinks is more aesthetic
<jmercouris> and symbol-name which accepts a string makes them equal because it makes a symbol from a string
<sjl> quoting is orthogonal to that
<sjl> uh
<sjl> symbol-name returns the name of a symbol (which is a string)
<sjl> it doesn't accept a string
<jmercouris> I meant make-symbol
<jmercouris> I am looking at my repl while reading at the same time
<stacksmith> intern?
<jmercouris> is this wrong though?
<jmercouris> intern is to just register a made symbol right?
Cymew has joined #lisp
<stacksmith> intern enters a symbol named string into package.
<sjl> make symbol creates a new symbol, with the string you give it as its name. it always creates a new symbol, and never puts it into any package
<jmercouris> so, it registers a symbol to a package
smurfrobot has joined #lisp
<rme> jmercouris: you probably want something like (defun make-keyword (s) (intern (string-upcase s) :keyword))
fisxoj has joined #lisp
<jmercouris> rme: my code works already, I'm just trying to understand this part of lisp
<stacksmith> no, it interns a _symbol_ in a package
<sjl> (intern "name" package) first checks to see if there's already a symbol in the package with the given name. If so, it returns it. Otherwise it creates a symbol with that name, puts it in package, and returns it.
<jmercouris> I want to upcase it because the reader normally upcases everything, right?
<stacksmith> clhs intern
<stacksmith> How can one tell if the code 'works' without understanding it?
<sjl> without more context of what you're trying to do we can't know whether you want to upcase it or not
<jmercouris> it's okay, I'm sure that it works the way I've written it
<jmercouris> it emits the appropriate symbol in the macro
<jmercouris> I'm just trying to understand |asdf| which I think I now get
<jmercouris> it's just escaping
<jmercouris> intern'd means to register to some package, and a symbol is still a hazy concept
<stacksmith> That is the kind of talk that makes people lose respect... Lisp gives you the opportunity to write correct code, squandering it by not bothering to even know what it means is sad.
Cymew has quit [Ping timeout: 248 seconds]
<jmercouris> but I'm sure I'll understand it with time
sunwukong has quit [Quit: leaving]
<jmercouris> stacksmith: I don't think you've ever respected me, so were at the same spot as before
<jmercouris> I'm just interested in learning
Tobbi has quit [Ping timeout: 264 seconds]
<jmercouris> if I wasn't, I wouldn't have asked, as I said, my code already works
smurfrobot has quit [Ping timeout: 255 seconds]
<stacksmith> jmercouris: Believe it or not, I am trying to be helpful, as others were for me not long ago. I doubt your code works as you have no clue what the output of your code means.
Cymew has joined #lisp
dieggsy has joined #lisp
<stacksmith> jmercouris: you really should take a couple of days and read about Lisp. There is hardly any syntax, and you will feel much better and less confused about what things like |..| or <..> or #' mean. And your questions will be about more interesting things!
pjb has joined #lisp
<sjl> I think practical common lisp has a chapter on symbols and packages
<thodg> i don't really like nor see the point of this part of Common Lisp
<Xach> thodg: symbols?
<thodg> compatibility with 7bit systems probably ?
<thodg> upcasing by default
<thodg> and all CL symbols being upcase
<pjb> thodg: it's to provide the best of the two options.
<Xach> thodg: I think the goal was to not break existing large codebases managed by influential stakeholders
<thodg> not really a problem though
Cymew has quit [Ping timeout: 255 seconds]
<pjb> thodg: you can have case insensitivity, while still having case sensitivity.
<Xach> glad they managed to use base 10 by default though.
<pjb> |Foo| and |FOO| are distinct, but FOO and foo are the same.
<pjb> Xach: I don't think this gained us any programmer. But personnaly I prefer hexadecimal to octal, so, base ten is a good compromise.
attila_lendvai has quit [Read error: Connection reset by peer]
<thodg> Xach: lol
Cymew has joined #lisp
<rme> and "\" as the escape character instead of "/"
<pjb> thodg: (setf *read-base* 8. *print-base* 8.)
<Xach> I'm sure it's not too hard to get used to using octal by default, but still.
<pjb> thodg: put that in your rc file.
<thodg> might still work
<thodg> i don't print so many numbers
<pjb> In any case, when you look at old listings, you must be careful and check if it's not in octal. You can have surprises.
sunwukong has joined #lisp
fisxoj has quit [Ping timeout: 255 seconds]
attila_lendvai has joined #lisp
<thodg> but self synchronising codes are good yes
<thodg> I'm just not sure upcasing is adding any value
fisxoj has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
<thodg> taking fresh memory for every new symbol
<thodg> why not
smurfrobot has joined #lisp
shka has joined #lisp
<stacksmith> You can easily tell if you typed it or the system printed it by case?
deng_cn has quit [Read error: Connection reset by peer]
specbot has quit [Remote host closed the connection]
<stacksmith> Looking at REPL...
milanj has quit [Read error: Connection reset by peer]
<thodg> stacksmith: yeah thanks slime for the macroexpand-inline
<thodg> but i never want upcase anyway
milanj has joined #lisp
specbot has joined #lisp
<pjb> thodg: the great value in that, is that it allows CL to run old code! http://informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/wang.html
<thodg> except for debugging
<stacksmith> thodg: Yeah, I am kind of with you...
<pjb> thodg: further, just put (setf (readtable-case *readtable*) :preserve) and you get instant NON-upcasing !
<thodg> it seems like lisp has had an incredible life
deng_cn has joined #lisp
Jesin has quit [Quit: Leaving]
<stacksmith> And is still having
<thodg> pjb: does it work with large codebases though ?
<thodg> maybe tests would choke
<pjb> thodg: with well programmed libraries, yes.
<pjb> thodg: it's a good filter to eliminate bad libraries.
<pjb> thodg: change all the values of the *print- and *read- variables, and see the flies fall.
<thodg> when i see npm and rubygems i despair to think anyone will audit the code
smurfrobot has quit [Ping timeout: 256 seconds]
Tobbi has joined #lisp
<thodg> pjb: that should make nice 3D graphics
<thodg> for an art gallery
<thodg> conformant programming decay zone
fikka has joined #lisp
<_death> (setf *read-base* 36 *print-base* 36) and have fun
<thodg> base10 slangers off the government !
attila_lendvai has quit [Read error: Connection reset by peer]
<thodg> shorter code, better results
jmercouris has quit [Ping timeout: 252 seconds]
attila_lendvai has joined #lisp
jmercouris has joined #lisp
<jmercouris> stacksmith: we don't all learn the same way, for myself especially, it takes a lot of time for some concepts to make sense on intutitive level despite reading about them
attila_lendvai has quit [Read error: Connection reset by peer]
<jmercouris> stacksmith: I have to discuss the nuances of them, and this channel really helps
<jmercouris> based on my questions, you might conclude that I haven't spent a day learning lisp, but I've spent a lot of time, and things don't come for me incrementally as they may come for others
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
jfb4 has quit [Read error: Connection reset by peer]
Kaisyu has quit [Quit: Connection closed for inactivity]
<pjb> thodg: anyways, the point is that lisp is very flexible and adaptative, you can morph it into whatever you want.
smurfrobot has joined #lisp
<pjb> thodg: there are very few things you cannot change. For example, false is the symbol CL:NIL, and nothing else. The syntax for symbols (including qualified symbols), integers and floating points is hardwired in the reader, you cannot change it. But about all the rest, you can change it at will.
<whoman> _death, what!
<random-nick> afaik you can even change the character used for comments since it's just a reader macro
smurfrobot has quit [Ping timeout: 252 seconds]
<jmercouris> Changing it to the "(" characater would be hilarious
attila_lendvai has quit [Read error: Connection reset by peer]
<whoman> for a minute
Denommus has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
sunwukong has quit [Quit: leaving]
<whoman> or let's set ; to (
SaganMan has quit [Quit: WeeChat 1.6]
<stacksmith> jmercouris: no disrespect intended, seriously. I also know a whole lot about different ways of learning, having some issues myself. There is nothing wrong with going in headfirst, and there is nothing wrong with ignorance - as in not knowing. It is kind however to not flaunt it and at least make it look like you made an effort to learn the basics that are easily available :) Take it from one who's asked many a stupid questions h
<dlowe> I have a nice reader macro #; that comments out the next s-expression
fisxoj_ has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
fisxoj has quit [Read error: Connection reset by peer]
fisxoj_ is now known as fisxoj
<whoman> dlowe, ouu i like that
<stacksmith> dlowe: what, you don't like messing with #| or || and all the related Emacs fireworks?
<whoman> otherwise i've been doing C-SPC ... set mark... C-c C-c comment region ....
<whoman> err C-S-@ mark sexp
daydayup_ has joined #lisp
<stacksmith> Someday we will have a structure editor.
<dlowe> #-(and) is also popular
<whoman> paredit ?!
<_death> #++
<stacksmith> Guah
<stacksmith> A real structure editor, not emacs.
<whoman> you mean with the mouse and graphics...??
<whoman> there's one for Android
<stacksmith> Not at all
<whoman> well. paredit is structural sexp editor innit
<stacksmith> I mean something that edits Lisp, not a text editor that searches around the text for matching parens.
<whoman> virtually, got to use your imagination, its not clearly obvious on-screen of the visual actions
<jmercouris> stacksmith: I didn't get this far completely ignorant of the basics https://github.com/next-browser/next
<whoman> heh yeah, so graphics and mouse.
<jmercouris> it's not the pinnacle of engineering, but I'm not completely clueless
<whoman> "smalltalk" or squeak is quite structural. got to click around everywhere
<stacksmith> jmercouris: I could, but will not, show you some code from a few years ago that "works" too. Now that I know better, it doesn't.
<whoman> a lisp browser would be nice and helpful. on the form-level but not the class-level as in smalltalk
daydayup has quit [Ping timeout: 256 seconds]
<jmercouris> You've also been programming lisp for 4 years at least, I've been doing it for about 7 months
<stacksmith> whoman: something that is aware of structure and associated semantics - as expressed by lambda-lists of operator-position symbols.
<whoman> stacksmith, what
sunwukong has joined #lisp
quazimodo has quit [Ping timeout: 256 seconds]
daydayup_ has quit [Ping timeout: 256 seconds]
<stacksmith> An editor should know that when I enter (with-open-file - the next thing _must_ be a list. By looking at the lambda-list of with-open-file.
<stacksmith> Emacs just lets you type nonsense. There are very few valid forms in the infinity of invalid ones. Lambda-lists contained in the image describe valid forms.
<_death> (list '(with-open-file 42))
daydayup_ has joined #lisp
troydm has joined #lisp
Cymew has joined #lisp
<stacksmith> _death: Quote means anything goes
<jackdaniel> jmercouris: I believe you could use some hints from PCL (book is not long and well written)
<jackdaniel> minion: tell jmercouris about pcl
<minion> jmercouris: please see pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005).
<_death> ok, (something (with-open-file 42))
<random-nick> stacksmith: how will you know if a macro evaluates or doesn't evaluate a form you pass?
attila_lendvai has quit [Read error: Connection reset by peer]
<stacksmith> _death: something has the determining lambda-list, which may be a macro subform, or a parameter, in which chase with-open-file is looked at.
Rawriful has joined #lisp
<stacksmith> Lambda lists!
<_death> no, it's #1# in (some-other-thing #1#)
<jmercouris> jackdaniel: I've not only read it, I took notes on every chapter :D unfortunately it's not stuck in my head
<stacksmith> _death: again, please?
<jmercouris> maybe I'll give it a re-read now that I've been programming lisp for the past 6 months
<jackdaniel> doesn't sound plausible, but I'll give you a benefit of doubt
<_death> stacksmith: lisp syntax is malleable.. an editor cannot be smart enough to know everything
<jmercouris> jackdaniel: here's a small subset of my notes: https://gist.github.com/79c168a6d618a1ac14d78957e4b47e4c
<jmercouris> don't read it, but just look at it
<jmercouris> and you'll see that it is entirely original
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has quit [Read error: Connection reset by peer]
Cymew has quit [Ping timeout: 240 seconds]
<stacksmith> _death: agreed. But it does not have to be entirely ignorant of forms. I've actually given it a lot of thought.
Guest94110 has joined #lisp
<jmercouris> jackdaniel: those notes are a 1/1 with the chapters
daydayup has joined #lisp
<jmercouris> jackdaniel: are we done for today? I don't need another "you're a dishonest liar", this I can do without, especially since I've given you no reason to think this way
daydayup_ has quit [Ping timeout: 240 seconds]
<JuanDaugherty> so much streit on the irc
Guest94110 has quit [Read error: Connection reset by peer]
<jmercouris> JuanDaugherty: das ist kein englisch wort
daydayup_ has joined #lisp
<jackdaniel> jmercouris: right now you are rude to me. you have infered some things I didn't tell and pictured me publicly as a "bad guy" - I let it go of course, but please refrain for keeping doing that.
<JuanDaugherty> i had a controlled nuclear exchange yesterday that resulted in the slaking off of a whole set of volk
<JuanDaugherty> srsly, think like machine
<jmercouris> jackdaniel: That's not the case at all, I only said *exactly* what you said which was "doesn't sound plausible" - which is saying "you are a liar", if there is another interpretation, feel free to explain it
<thodg> yuck
<shka> good evening
<_death> /j #lispdrama
<jackdaniel> there is - I have even said that I give you a benefit of a doubt. you often ask very basic questions which are very basic, what shows, that you need to work a little on your basics
<thodg> op-amp is dead
<jmercouris> jackdaniel: I do need to work on my basics, but that doesn't make me a liar
<jackdaniel> never called you a liar, dishonest etc
<caffe> jmercouris: no one called you a liar
<thodg> he's in saturation mode of some #lispcafe
sunwukong has quit [Quit: WeeChat 0.4.2]
daydayup has quit [Ping timeout: 240 seconds]
<thodg> just like me
<stacksmith> jackdaniel: I am not sure it's worth it.
<jmercouris> jackdaniel: Okay, I will take this at face value then, I'm sorry for accusing you of calling me a liar
daydayup__ has joined #lisp
<jmercouris> It looks like this from my perspective, but I will take your word for it
<thodg> what is it, keep it simple ?
tlaxkit has quit [Quit: Saliendo...]
<stacksmith> jmercouris: from my perspective it looks like you have some kind of a thing about being an idiot savant. incapable of understanding basic things but cranking out Mozart-like code.
daydayup_ has quit [Ping timeout: 240 seconds]
<thodg> oh yes lisp sure does not prevent you from learning data structures
<jmercouris> stacksmith: What? Absolutely not
<stacksmith> That's what it looks like here.
<jmercouris> You need a new pair of glasses
milanj has quit [Quit: This computer has gone to sleep]
<jmercouris> I said: I learn different than others
<thodg> and then most lispers are still ignorant (including) about synchronisation primitives
<stacksmith> As in "I can't be bothered to look up 'intern' on chls", but look at my "working code"
<jackdaniel> this chapter is about packages and symbols: http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html
<jmercouris> there are many gaps in my knowledge, but it doesn't mean I'm completely ignorant
<thodg> because then they would be doing erlang
<thodg> or lfe
<jmercouris> stacksmith: You really need to take a step off of your high horse
<thodg> including me*
<stacksmith> This might help www.flownet.com/gat/packages.pdf
<stacksmith> jmercouris: It is not a horse, it is a donkey!
<jmercouris> stacksmith: That explains your nature.
<jackdaniel> and the donkey is high? :-)
<thodg> i like to think of APIs as roads
<thodg> some roads lead nowhere
<thodg> some are bumpy
<thodg> some are just not compatible
<stacksmith> jmercouris: you may not be completely ignorant, but close. And there is nothing wrong with that. Being proud of it is another thing.
<jmercouris> stacksmith: When did I say I was proud of being ignorant?
<caffe> no one said you said you were.
<pjb> stacksmith: but when you edit a lisp file, you are not editing code with any expected syntax! You are editing DATA! Why should anybody suppose that (with-open-file 42) is not a valid data list to be put in a lisp file? Who knows how this file will be loaded and interpreted?
<thodg> i could not talk about ignorance without being so lackluster
<jmercouris> caffe: Again, is there another interpretation to this statement?
<jackdaniel> OK, enough is enough, Im getting back to code – I think that offtopic should move to lispcafe, because it's not very productive to read backlog like that
<pjb> You're all forgetting that lisp is a META META META META META … META PROGRAMMING language !
<pjb> check the topic!
<pjb> If you want code completion use Java and AndroidStudio!
<thodg> beware humans have a difficult context switch as linear programming is not friendly talk at all
<thodg> please keep calm and move along
<stacksmith> pjb: who says anything about files? I am actually talking about editing lisp forms!
<pjb> stacksmith: but lisp forms are DATA!
<pjb> and any data can be passed to EVAL.
<pjb> (eval '(with-open-file 42)) #| ERROR: 42 can't be destructured against the lambda list (ccl::var ccl::filename . ccl::args), because it does not contain at least 2 elements. |#
<caffe> jmercouris: i interpret it as this: ignorance is part of the human condition. it's benign in itself. on the other hand, taking pride in it will only limit yourself. i guess i'd see it as 'well, you might be ignorant about some things' (not unusual for someone 6 months into lisp), 'but at least you don't take pride in being ignorant'
<thodg> pjb: yeah I like my data binary at some point too, a lisp form is not really data
<pjb> who are you to say that this wasn't the expected outcome?
<thodg> it is a linked list of data
<stacksmith> pjb: Yes! exactly. Lambda list, see?
<pjb> stacksmith: errors are not invalid in lisp!
<JuanDaugherty> in the nucular warre I had yesterday two individuals attacked me
<jmercouris> caffe: based on stacksmiths prior messages to me I read something along th elines of "you are ignorant as fuck, which is not a problem, but you are also proud of it- wow"
<pjb> (handler-case (eval '(with-open-file 42)) (error () 'good-result)) #| --> good-result |#
<caffe> the main thing here i see is this: no one is attacking you.
<thodg> JuanDaugherty: are you playing Fallout ?
<JuanDaugherty> i was super polite and everything was smoothed over
<stacksmith> pjb: no problem here.
<JuanDaugherty> thodg, no
<jmercouris> caffe: Maybe I'm just taking everything the wrong way :\
<caffe> but you seem to be going out of your way to try to find insults that no one made
<jmercouris> caffe: a consequence of my insecurities :\
<pjb> But foremost, when you have a form in a file (or elsewhere), you don't know in advance how it will be processed, to what it will be given and to what purpose.
<JuanDaugherty> but I hate them now and I will never participate in their community, it's not the first time it's happened and without cause
<thodg> JuanDaugherty: the whole game series is about post-nuclear war
<beach> random-nick: By feeding it to the compiler.
<JuanDaugherty> thodg, aye that and claiming the higher ground
<pjb> As a meta programming programming language, you can write interpreters and compilers trivially in lisp, so perhaps (with-open-file 42) as a perfectly good and intentional meaning. Only the human programmer can know it, not an editor!
<thodg> JuanDaugherty: is there still a ground ?
<thodg> good
<stacksmith> pjb: the context of the data decides how to see it. Outside of any context, the implied lambda-list of any list is (&rest rest); inside a defun, as an operator form, with-open-file is obviously a form that needs to follow a certain structure.
<pjb> stacksmith: there is no THE context!
<pjb> 1- a context is given externally. 2- it can be a different context at different times!
<_death> stacksmith: it does not
<JuanDaugherty> thodg, there's always a moral high ground
<thodg> but truly, I might sound like an old angry "blurby" C coder now, but Common Lisp does not specify even its LIST or SEQUENCE structures as data in the sense it does not provide for a possible binary serialization of it
<whoman> i believe it too, even if we die it is better to take the morally or ethically higher ground (selfless)
<thodg> except as ASCII text
<thodg> which is very slow data
<rme> thodg: that's called abstraction
<stacksmith> Ahem, gentlemen, please. If I start with something I know is a definition of a function in an image, I can know for certain that the forms inside follow lambda-lists as stored in the image. And if not, I can assume a generic list.
<pjb> Notice it doesn't contain an IN-PACKAGE form (so less context; but even with a IN-PACKAGE, it would still be interpreted in an a-priori unknown context!)
<JuanDaugherty> well list is intrinic, idunno how to say it, and sequence is whole thing
<thodg> rme: well why do we always open abstraction and close implementation ?
<_death> thodg: you think C specifies "binary serialization" for something?
<thodg> the two should be mutual
<pjb> this file is loaded actually in two different context, with different sets of defelement etc macros.
<thodg> macroexpand-inline is awesome
<pjb> one to generate a parser, and another to generate a html generator!
<pjb> So the meaning of this data depends on how it's loaded. (or of course, as a human, you can infer a generalized meaning, but the lisp system doesn't know it).
deng_cn has quit [Read error: Connection reset by peer]
<stacksmith> pjb: Assuming that a top form has a lambda-list, all inside it just follows rules like a machine. You are talking about files, I am not.
<thodg> duality of syntax
<pjb> stacksmith: you're not making the right assumption!
<pjb> You have to assume CL:LOAD or CL:COMPILE-FILE, and you have to assume some restricted setting of the *read-…* variables and of the *READTABLE* with all the reader macros!
jmercouris has left #lisp ["Exit."]
<stacksmith> pjb: I am, because that is a given. I am talking about an editor that edits forms, not files.
<pjb> You have to make a lot of assumption to restrict the interpretation of the data you write, as something related to the bare lisp defined by the standard.
<pjb> This is not a given at all.
<pjb> Again, read the fucking topic, it's infinitely meta programming language!
<whoman> whooaaa
<pjb> This means that anythign can be changed at any time. You cannot make assumption!
<_death> stacksmith: what use is it to editor forms for such a narrow definition of form
<pjb> You have to expect that it will be interpreted in some context and you have to learn about this context before making any assumption.
<pjb> And this is something that a mere editor cannot easily do.
deng_cn has joined #lisp
<thodg> my mother would be proud
<_death> *to have such a form editor
<pjb> This is why asdf is so important (and before it the preceding defsystem systems).
<stacksmith> pjb: If lisp can compile it using the lambda-lists of constituent forms, I can use these to figure out the structure.
<pjb> If you don't start reading a project by their asdf, you get it all wrong.
<thodg> so how are we standing on graphic libraries ?
<pjb> And who sais that it's "lisp" that will compile your data?
<thodg> is there no NIH love for MesaGL ?
<pjb> Perhaps I've set it up in the asd file so that the data is loaded and processed by my own interpreter of my own language!
<thodg> I tried (lisp "data") no success
<stacksmith> _death: it is no less restrictive than emacs. But it will not edit garbage or ever get lost in parentheses where it counts.
wigust- has quit [Ping timeout: 255 seconds]
LocaMocha has quit [Ping timeout: 264 seconds]
<_death> stacksmith: one man's garbage..
<pjb> (defun lisp (foo) (format nil "This is ~S" foo)) #| --> lisp |# (lisp "data") #| --> "This is \"data\"" |#
<random-nick> what if the user has a reader macro which randomly decides whenever to discard or read a form?
<pjb> thodg: this is also a method of development commonly practized, (and definitely supported by the REPL and lisp debuggers), to write data that cannot be interpreted by the current lisp image.
<jackdaniel> random-nick: sounds like a very reasonable macro for writing code ;-)
<thodg> multi agent garbage collectors, a real topic
<thodg> how does the ANSI spec let me go about that ?
<thodg> nope
<_death> stacksmith: the way I see it, the editor should stay out of my way, not tell me what char to insert or not
<thodg> because it is implementation
<thodg> they have closed their mind
<pjb> thodg: you enter it at the REPL, and you get an error. Then you use the debugger and restarts, to define what needs to be defined, and restart the computation; repeat until it does what you want it to do!
jameser has joined #lisp
<pjb> It's called wishful programming!
<pjb> see for eaxmple: https://groups.google.com/forum/#!msg/comp.lang.lisp/oGmha6PbAD4/kmpG51wjJ6gJ
gbyers has quit [Ping timeout: 256 seconds]
<stacksmith> pjb: _death: I think you are missing the point. It doesn't have to get in your way. But if you set out to edit a function, the editor can actually help, for instance.
<pjb> This is also a feature of lisp that makes it so powerful: You don't need to have language elements to implement a solution. You can write the solution to your problem first, and then extend the lisp language so that it becomes able to run your solution!
<thodg> pjb: yes but now you can quote data and you can quote (
<thodg> "("
<thodg> and now you need a filtering stack
al-damiri has quit [Ping timeout: 252 seconds]
<thodg> do we have a real stacksmith somewhere ?
<pjb> stacksmith: it could, but not emacs. Slime tries to help by communicating between emacs and the lisp image. But it's very limited and restricted.
fourier has joined #lisp
lnostdal has joined #lisp
pagnol has joined #lisp
fourier has quit [Changing host]
fourier has joined #lisp
<jackdaniel> having a structural editor could have other benefits - you could associate arbitrary information with the block of code without changing its textual representation ofr instance
<thodg> where is this CL OpenGL with KMS/DRM meta-compositor again ?
<stacksmith> pjb: exactly. Editing is not the same for different things. Editing Lisp code is a very specific task, and Slime is a feeble attempt to help. Paredit is a feeble attempt. There are better ways.
terrorjack has quit [Ping timeout: 276 seconds]
gbyers has joined #lisp
<thodg> we're not many lispers, we should be nice
<jackdaniel> or preserving older versions of the code in the structure holding the current block version
<shka> structural editor would require some sort of structural version control
<shka> well, unless you don't care about that at all
<fourier> I think there were structural editors for lisp already
<stacksmith> jackdaniel: thanks you! You could do things like associating comments with blocks of code, for god's sake.
<shka> which can be the case for jupyter like stuff
<thodg> so we're at a point where all code is a git repo on disk now
<thodg> except some weirdos
<_death> I prefer to edit text while thinking in structure
<jackdaniel> stacksmith: I thought even about diagrams and other documents
<thodg> think gzip understood your code patterns ?
<pjb> emacs+paredit is an ideal sweetpoint.
milanj has joined #lisp
al-damiri has joined #lisp
<pjb> The alternative is an environment more like INTERLISP.
<thodg> text, ascii, utf8, is awesome (but more and more difficult)
random-nick has quit [Remote host closed the connection]
<fourier> I believe it was in inderlisp-d yes
<shka> pjb: or like smalltalk
<thodg> interlisp must have been awesome
zooey has quit [Ping timeout: 255 seconds]
<thodg> truly structured programming
<whoman> i think text is good
<whoman> may as well work directly with the data format, no middle men
terrorjack has joined #lisp
<thodg> s/oo/o/
<thodg> s/o/lol/
xrash has quit [Remote host closed the connection]
<whoman> slime may not be required if say, emacs was written in common lisp; or if common lisp could understand the elisp.
zooey has joined #lisp
<dlowe> I think you'd still want to run an inferior lisp.
<thodg> are the common-lisp emacs replacement projects having any sort of progress ?
<fourier> its only beach who works on Climacs I believe?
<thodg> I wrote the slime shortcuts for emacs lisp once
<whoman> true. but, when the muscle memory is trained to do paredit for example, the structure is used as the elements, rather than the characters and lines and columns
<thodg> very useful
<jackdaniel> being written in a language and having a programming support are different things. if emacs were written in common lisp it wouldn't magically gain a debugger
<whoman> yes Second Climacs it is under active dev
<jackdaniel> or jump to source functionality
<whoman> jackdaniel, well considering CL impls have debuggers. ..
<thodg> i ditched paredit after a few weeks of it
<whoman> and else if we are using emacs or slime to debug, why are we complaining ?
<thodg> does nothing that 72 columns indented code cannot do
<jackdaniel> whoman: there is a reason slime has sldb (and doesn't just bring implementation-specific console-based debugger) - it is better
<thodg> yup, very nice but not faster
<whoman> i am happy and impressed with emacs, slime, paredit.
<fourier> I like LW's Stepper tool as an editor, it saved me tons of time
<thodg> especially if you have friends
<fourier> editor -> debugger
<thodg> so what if every intermediate step of compiling code was available in the VFS ?
<aeth> thodg: Ime manual paren balancing once the ) matches a ( that's off the screen is imo too hard (although perhaps the solution is monitors in portrait mode instead of paredit... or length limits for functions)
<whoman> didnt like it? do you move the cursor around with the arrow keys? backspace each letter of whole words? then dont worry about it.....
<stacksmith> I'show you! I'll show you all! (stacksmith stomps away)
<thodg> I never write anything beyond 72 columns, 50 lines
<thodg> never more than one loop per function
<whoman> you must have a lot of friends
<thodg> do you expect people to read so much parenthesis ?
* jackdaniel stomps away too, I can't keep at discussion pace sadly \o
<whoman> paredit is worlds beyond "match parens" -- see link above.
rme has left #lisp [#lisp]
<aeth> thodg: I often find that it's easier to write a gigantic mess with 120 column long lines in places and a function that can easily be 120+ lines long. As long as it's refactored later. Start with something that works, then make it beautiful.
<whoman> if you are "reading parens" then very much Doing It Wrong
<thodg> so visual cortex became very good at programming too
<thodg> aeth: i give a lot of long names
<whoman> if you keep a layer between you and the computer then you will always be fighting with it
<thodg> whoman: did you try TCL ?
<stacksmith> whoman: that layer is call SWANK. Then there is emacs.
<thodg> or smalltalk
<whoman> yep and yep
<thodg> they are very interesting IDE concerns from the smalltalk crowd
<whoman> and Self and also CLIM
<whoman> even GNUstep/OPENSTEP is nice
<stacksmith> CLIM, sadly renders text in such an awful way that it is not usable. And that is just the start of its ugliness.
<_death> aeth: start with something beautiful; make it work
<thodg> i really like dwm, emacs, terms
<whoman> using exwm now, emacs window manager =)
<whoman> and eshell and firefox thats it . and hexchat
<thodg> whoman: i'm looking for that sort of thing
<aeth> _death: It really depends on the problem
<thodg> one window per buffer ?
<whoman> exwm is beautiful =(
<whoman> yep C-x-b to switch around. s-[number] for workspace
<_death> aeth: right.. but with practice it gets easier
<thodg> you mean its a wm in elisp ?
<whoman> thodg, yep. starts X, starts emacs, loads exwm. so if emacs quits, X restarts
<thodg> that's not what i meant i have a tiling wm, so i would like emacs to not split buffers but make new windows
<whoman> aside from WindowMaker its my favorite. i wish i knew about it when it was fresh. i wish things were always this way..
<whoman> what did you not mean... ??
<aeth> _death: The part that's easier to start ugly and then fix it is usually the part that would be equivalent to main() in a language with that convention.
<whoman> X windows are emacs buffers. what else do you mean ? its a tiling wm
<whoman> it handles floating windows just fine, though.
<pjb> Nope. X windows are emacs frames.
<whoman> then why can i split them
<pjb> emacs buffers are open files.
<whoman> okay what
<pjb> and emacs buffers are displayed in emacs windows inside emacs frames.
<_death> aeth: I think it's the part where uncertainty is great ("exploration mode")
<whoman> C-x-2 now i've got 2 seperate X windows. those are each an emaccs window, in one emacs frame. dig ?
<thodg> aeth: top-down then i guess
* whoman sigh
<thodg> i'm more bottom-up
<aeth> thodg: I don't really think that either works when you get to a really large program. You kind of have to do both, simultaneously, and meet in the middle
<thodg> whoman: that's exactly what i want
<thodg> but it does not split terminals
<whoman> yeah i know. lets not get confused
<thodg> oh ok
<whoman> sure it does. wait what? what *does* split terminals ?
<whoman> other than a terminal app itself in tabs .. ??
<thodg> whoman: i don't know fork(1) ?
<thodg> should work ;)
<whoman> C-u M-x eshell then you have another shell. or run a bunch of xterms with s-& , etc
<whoman> what =)
<thodg> yeah i'll have a keyboard shortcut for that
<whoman> thats cool. i made my own emacs welcome screen to launch apps and other things
<_death> aeth: still I find wishful thinking very useful.. reminds me how oftentimes I wrote something top-down and others jump "but there's no definition for X".. yeah, that's what I'm going to write next.. both bottom-up and top-down are useful
<whoman> (from org too)
shifty has quit [Ping timeout: 256 seconds]
<thodg> yeah you cannot constrain time top down
<thodg> i start with what i have
<thodg> no limit up
<aeth> _death: On the other hand, it's very powerful to always have a working program... so a stub is probably better than undefined.
<whoman> i honestly cannot tell the difference or discern between time and space
<aeth> e.g. always return 42 in your RNG
<thodg> yeah the question is wether to rewrite it or not
rme has joined #lisp
<thodg> i tend to avoid copy pasting from large blocks of code
<whoman> at least its easier with pareidt
<thodg> demands energy but energy is better spent on naming indermediate values
<thodg> because you get readability that is
<whoman> hmm... and future energy from maintaining two [near-] exact pieces of code in multiple places
<thodg> and maybe more reusability
<thodg> there is nothing near equal code, everything is huffman coded
<whoman> got to know when to expand and fan out in complexity or pull in and compress into simplicity
<thodg> using macros when needed
<thodg> and a lot of defmethods
<thodg> so with multiple dispatch, lisp could become a pattern engine easily
<thodg> no more infix or suffix orders
<whoman> its all just trees. meaning only happens on eval
<thodg> whoman: yes but symbols give you way to graphs
<thodg> if you study graphs it is very interesting for code analysis
<thodg> young devs love graphs, and 3d
<whoman> graphing lisp would be nice
daydayup__ has quit [Remote host closed the connection]
daydayup__ has joined #lisp
JuanDaugherty has quit [Quit: Ex Chat]
vibs29 has quit [Ping timeout: 248 seconds]
vtomole has joined #lisp
vibs29 has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
fisxoj has quit [Quit: fisxoj]
fikka has quit [Ping timeout: 260 seconds]
damke has joined #lisp
AxelAlex has quit [Quit: AxelAlex]
damke_ has quit [Ping timeout: 264 seconds]
dieggsy has quit [Quit: brb]
dieggsy has joined #lisp
fikka has joined #lisp
EvW has joined #lisp
<warweasle> whoman: If you use cairo/pango you can do that pretty easily.
jmercouris has joined #lisp
fourier has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 256 seconds]
deng_cn has quit [Read error: Connection reset by peer]
random-nick has joined #lisp
deng_cn has joined #lisp
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
JuanDaugherty has joined #lisp
<whoman> CLIM does it
Poeticode is now known as Poeticold
bandrami has joined #lisp
fikka has joined #lisp
bandrami has quit [Remote host closed the connection]
JuanDaugherty has quit [Ping timeout: 240 seconds]
didi has joined #lisp
<didi> OK, this is interesting: I'm used to use 'function and #'function as synonyms (except when using FLET), until `complement' barfed at me.
<Bike> complement doesn't take function designators, huh?
<didi> Bike: Seems like it.
<didi> This is a little shocking.
<Bike> well, you should try to use functions directly unless you have a reason not to, though
<Bike> it's just cleaner avoiding those puns
<didi> Bike: Right, right.
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
shka has quit [Ping timeout: 268 seconds]
damke_ has joined #lisp
<dlowe> I kind of like my redefinitions to have effect
<Bike> that's a reason
<didi> dlowe: This is why I chose to use function designators. Makes it easier to program in an dynamic environment
<didi> But this error popped from the inner workings of my program. It scared me a little.
<dlowe> that is a bit surprising.
damke has quit [Ping timeout: 264 seconds]
<dlowe> the clhs contradicts itself on this - the argument list says it takes only a function
<dlowe> but the notes say (complement x) == #'(lambda (&rest arguments) (not (apply x arguments)))
<dlowe> and apply takes a function designator
* dlowe shrugs.
<Bike> notes aren't normative
<Bike> but yes, that's a mistake
<dlowe> the X3J13 cleanup note has a joke in it http://www.lispworks.com/documentation/HyperSpec/Issues/iss172_w.htm
<dlowe> but the examples there for adding COMPLEMENT both use #'
smurfrobot has joined #lisp
<dlowe> so that's probably its intended use
joast has quit [Quit: Leaving.]
scymtym has quit [Ping timeout: 255 seconds]
impulse has quit [Ping timeout: 265 seconds]
SamSkulls has quit [Ping timeout: 256 seconds]
impulse has joined #lisp
ikki has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
<stacksmith> Does anyone know of a CL function or a macro that uses &aux?
<Bike> you mean one in the standard?
<Bike> &aux isn't part of the external api, so
smurfrobot has quit [Remote host closed the connection]
<stacksmith> Bike: or any?
<pjb> stacksmith: find ~/quicklisp -type f -name \*.lisp -exec grep -nHi '&aux' {} +
fikka has joined #lisp
<dlowe> 127 in sbcl
<dlowe> it's not a common thing to use
<stacksmith> dlowe: could you point one out?
<stacksmith> Bike: what do you mean by
<stacksmith> 'external api'
<Bike> well, i mean, if a function lambda list is (foo bar) you know it takes two arguments, and you have to know that to call it.
<pjb> Basically the only case where it's necessary, is in defstruct for boa constructors, and the only case where it's easier to use is in macros, to avoid having to parse and re-generate declarations.
nirved has quit [Quit: Leaving]
<dlowe> (defun output-vector (vector stream &aux (readably *print-readably*)) ...)
<Bike> if it's (foo bar &aux baz) then it still takes two arguments and that's still how you call it; the &aux is irrelevant to the caller.
<pjb> On other cases, it can be admited when you hesitate between parameter and computed value…
random-nick has quit [Remote host closed the connection]
bigblind has joined #lisp
<stacksmith> dlowe: what package is output-vector?
terpri has quit [Ping timeout: 260 seconds]
<dlowe> stacksmith: you can easily find that out with (apropos "output-vector")
<Bike> (defun factorial (n &aux accum) (dotimes (i n accum) (setf accum (* (1+ i) accum)))) is a function using &aux, don't know if it's what you have in mind though
<stacksmith> dlowe: thanks, I was doing (apropos 'output-vector). My bad, as they say.
ikki has quit [Quit: Leaving]
<stacksmith> dlowe: I don't seem to have output-vector... Hmm.
<dlowe> SB-IMPL::OUTPUT-VECTOR (fbound)
bigblind has left #lisp ["The Lounge - https://thelounge.github.io"]
ig88th has joined #lisp
<stacksmith> dlowe: My SBCL does not have it ?!
<Bike> mine neither. might be a version difference.
<ig88th> Xach: is there anything I can do to help you fix the issues with quickproject on Windows?
<dlowe> stacksmith: are you using a packaged sbcl?
<stacksmith> dlowe: I've been using a roswell'ed sbcl lately.
<XachX> ig88th: hi!
<dlowe> oh, it's me who was looking at the old version :D
<didi> I have `SB-IMPL::OUTPUT-VECTOR".
<ig88th> XachX: I am a bit new to cl so not sure if I can be of that much help
<didi> Lambda list: (vector stream &aux (readably *print-readably*))
sunwukong has joined #lisp
<Bike> what do you want to know about aux, stacksmith?
impulse is now known as Guest14820
JuanDaugherty has joined #lisp
random-nick has joined #lisp
dddddd has joined #lisp
<Xach> ig88th: well, yesterday you listened and tried things for me, that is super-helpful
<Xach> ig88th: can you paste the contents of your ~/quicklisp/local-projects/system-index.txt file?
<Xach> (to gist or something)
<stacksmith> Bike: I am curious if &aux shows up in the lambda-lists stored by various implementations...
<ig88th> Xach: right now it's just 'test/system.asd test2/system.asd'
<ig88th> I got rid of a bunch I made last night trying to test variations
<Bike> probbly does, just cos it's easier to not remove it
<Bike> on sbcl if i do (defun foo (&aux x) x) and theN (describe 'foo) the lambda list with &aux comes up
<stacksmith> Bike: I imagine it does, as it introduces bindings inside the function/macro...
<ig88th> Xach: do you want me to test your queries using SBCL or CCL?
<Bike> yeah, but like i said, it doesn't really matter to the caller
<ig88th> SBCL seems to work for creating and reading quickproject created projects, ccl not so much. I updated my question on StackOverflow: https://stackoverflow.com/questions/48675274/when-installing-quicklisp-on-windows-10-where-should-i-put-config-common-lis
<stacksmith> Bike: agreed, as it is not an argument, but is a parameter.
<Bike> it's not even a parameter, really
<Bike> you can replace any &aux with a let form in the body
<stacksmith> Bike: it is a weird thing like :allow-other-keys argument, which is an argument but not a parameter?
<Xach> ig88th: oh, if sbcl works, there is nothing to explore today.
<Bike> errrr
<Xach> ig88th: i know the issue with ccl. last night it seemed like something in sbcl wasn't working as it should.
<Bike> i'm not sure what you mean, precisely
<Bike> all i'm saying is that whether or not there's &aux is irrelevant to, for example, how many arguments a function can validly receive, or the forms of those arguments
<ig88th> yeah SBCL can create a working project using quickproject, but after I restart slime I can't load the project
<ig88th> Xach: yeah SBCL can create a working project using quickproject, but after I restart slime I can't load the project
<stacksmith> Bike: assuming the terminology is argument is the thing in the invocation, and parameter is the thing that describes it in the lambda-list.
<Bike> right
<Xach> ig88th: oh right, that is not as it should be.
<Bike> but &aux doesn't describe any arguments
vlatkoB has quit [Remote host closed the connection]
voidlily has quit [Ping timeout: 240 seconds]
<Xach> ig88th: oh, I think I know the issue with that, too, maybe - I think it's differing line-ending conventions when running sbcl vs ccl on windows.
<ig88th> Xach: you mean CRLF?
<Xach> ig88th: so when ccl creates the index file, sbcl can't read it. and/or vice versa.
<stacksmith> Bike: right, but it is in the parameter list... while :allow-other-keys is not in the parameter list but is a valid argument if &key is enabled.
<Xach> ig88th: yes, sbcl uses unix line-endings on windows IIRC.
smurfrobot has joined #lisp
<Bike> it is in the lambda list, yes
<ig88th> Xach: I know ccl can't read what it creates, and SBCL can read what it creates (for that session), but I haven't tested them against each others quickprojects if you know what I mean
<stacksmith> Bike: anyway, it's not important. I just wanted to know if SBCL ever shows it in the lambda-lists it stores.
<Bike> ok, well, it does, so there you go
<Xach> ig88th: one quick way to test is to clear out quicklisp/local-projects/ and make a new project in there with sbcl, then restart and see if it's still loadable.
Murii has quit [Quit: WeeChat 1.4]
<stacksmith> Thanks!
<Xach> ig88th: without running ccl in between
<ig88th> Xach: one thing I have noticed is that sbcl creates ~\AppData\Roaming\quicklisp\local-projects as well as ~\quicklisp\local-projects
<ig88th> so I will clear both of those out
<ig88th> Xach: should I delete system-index as well?
<Xach> ig88th: why do you say that sbcl creates both?
<Xach> ig88th: what suggests to you that sbcl did it?
<ig88th> Xach: I am unsure in all honesty, it might have been CCL
<ig88th> but should I delete system-index in both?
<Xach> ig88th: what do you get in sbcl from (user-homedir-pathname)?
smurfrobot has quit [Ping timeout: 240 seconds]
<ig88th> Xach: #P"C:/Users/ig88t/"
dddddd has quit [Quit: Hasta otra..]
dddddd has joined #lisp
<Xach> that is the one to reference for this purpose. remove everything in the quicklisp/local-projects/ directory in there, including the index file.
<rumbler31> I'm pretty sure that ccl defaults to :unix line endings on all platforms
<rumbler31> unless that changed in the last few years
ikki has joined #lisp
<ig88th> Xach: okay I deleted everything and created another ~\quicklisp\local-projects\test project and it can't be loaded by sbcl after restarting the session
z3t0 has joined #lisp
<z3t0> hey all, I am trying to extract some information from a list
<z3t0> I am using (cdr (car (cdr (cadr e))))
nowhereman_ has joined #lisp
<didi> z3t0: Use abstractions.
<z3t0> Is there some way to make this neater? I thought of trying (caddar) but that didn't work
<z3t0> didi: how do you mean?
fikka has quit [Ping timeout: 240 seconds]
scymtym has joined #lisp
<didi> z3t0: Like, if I have a conceptual xy-point made of a cons cell, like (X . Y), I would use (point-x point) to retrieve X, and not (car point).
<z3t0> But wouldn't I end up moving the same code else where anyways? ie. the car/cdr calls
<didi> z3t0: Indeed. But it is neater. Also, you could change the representation later, and not have to change every call.
_death has left #lisp ["ERC (IRC client for Emacs 27.0.50)"]
<z3t0> Ah I see, thanks.
fikka has joined #lisp
python476 has quit [Ping timeout: 240 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
Karl_Dscc has joined #lisp
dieggsy has quit [Ping timeout: 276 seconds]
nowhereman_ has quit [Ping timeout: 256 seconds]
z3t0 has quit [Remote host closed the connection]
<sjl> it also plays more nicely with things like TRACE
z3t0 has joined #lisp
<ig88th> Xach: is there anything else I can do for you?
smurfrobot has joined #lisp
daydayup__ has quit [Ping timeout: 256 seconds]
z3t0 has quit [Ping timeout: 252 seconds]
smurfrobot has quit [Ping timeout: 256 seconds]
asarch has quit [Quit: Leaving]
daydayup__ has joined #lisp
aindilis has quit [Ping timeout: 260 seconds]
<Xach> ig88th: can you paste your system-index.txt?
<ig88th> Xach: after deleting everything and running (quickproject:make-project "~/quicklisp/local-projects/test/" :depends-on '(vecto)) it generated a folder called test in ~\AppData\Roaming\quicklisp\local-projects but not in ~\quicklisp\local-projects
hiroaki has joined #lisp
<ig88th> Xach: ~\AppData\Roaming\quicklisp\local-projects does not have a system-index.txt, and the one in ~\quicklisp\local-projects is empty (just an empty text file)
<Xach> ig88th: ok, that is surely a puzzler.
<ig88th> Xach: also it seems that SBCl uses \AppData\Roaming\quicklisp\local-projects
<ig88th> Xach: in case it was not clear
<Xach> ig88th: what do you mean by "uses"?
nowhereman_ has joined #lisp
<ig88th> Xach: I mean that SBCl creates projects inside of ~\AppData\Roaming\quicklisp\local-projects instead of ~/quicklisp/ocal-projects\
<ig88th> Xach: I mean that SBCl creates projects inside of ~\AppData\Roaming\quicklisp\local-projects instead of ~\quicklisp\local-projects\ (sorry, hit enter by accident)
<Xach> ig88th: For this most recent experiment, have you been using sbcl all along?
<ig88th> Xach: yes
hiroaki has quit [Ping timeout: 248 seconds]
nowhere_man has joined #lisp
<Xach> ig88th: what version of sbcl are you using? (lisp-implementation-version) will tell you...
<ig88th> Xach: 1.4.2
epony has quit [Quit: QUIT]
<Xach> ig88th: what do you get from (truename "~/quicklisp/local-projects/test/")?
<ig88th> Xach: I get #P"C:/Users/ig88t/AppData/Roaming/quicklisp/local-projects/test/"
<Xach> ig88th: what do you get from (user-homedir-pathname) again?
<ig88th> Xach: #P"C:/Users/ig88t/AppData/Roaming/"
<Xach> ig88th: that's different from what you wrote earlier - has it changed somehow?
<ig88th> Xach: I think the different one must have been from CCL... let me check
nowhereman_ has quit [Ping timeout: 248 seconds]
milanj has joined #lisp
sunwukong has quit [Ping timeout: 276 seconds]
sjl__ has joined #lisp
<ig88th> Xach: CCL is #P"C:/Users/ig88t/" but SBCl is #P"C:/Users/ig88t/AppData/Roaming/"
<Xach> ig88th: in sbcl, what do you have for ql:*local-project-directories*?
porky11 has joined #lisp
<ig88th> Xach: (#P"C:/Users/ig88t/quicklisp/local-projects/")
sjl has quit [Ping timeout: 260 seconds]
<Xach> ig88th: how do you load quicklisp into sbcl?
<ig88th> Xach: the ql:add-to-init-file which adds this: https://gist.github.com/ig88th/e8c618fbae7e02ef5726456886c46215
<Xach> things are getting a little clearer to me
<Xach> ok, now a little murkier
<Xach> what do you have for ql-setup:*quicklisp-home*?
<ig88th> Xach: #P"C:/Users/ig88t/quicklisp/"
<dim> after a day of Python and C (and make) hacking some lisp at night feels pretty good, just saying ;-)
quazimodo has joined #lisp
klltkr has joined #lisp
<Xach> ig88th: what do you get from (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)) ?
<ig88th> Xach: #P"C:/Users/ig88t/AppData/Roaming/quicklisp/setup.lisp"
<Xach> ig88th: does that file exist?
hiroaki has joined #lisp
lnostdal has quit [Ping timeout: 255 seconds]
zooey has quit [Ping timeout: 255 seconds]
dtornabene has joined #lisp
GuilOooo_ has quit [Ping timeout: 240 seconds]
GuilOooo has joined #lisp
lnostdal has joined #lisp
Baggers has quit [Quit: b]
zooey has joined #lisp
fourier has joined #lisp
jmercouris has quit [Ping timeout: 255 seconds]
sjl__ is now known as sjl
<ig88th> Xach: you are onto something; ~\AppData\Roaming\quicklisp\setup.lisp does not exist
<Xach> ig88th: it seems like the .sbclrc bit you paste is not actually getting used
<Xach> maybe quicklisp is loading some other way?
<Xach> (pasted)
smurfrobot has joined #lisp
daydayup_ has joined #lisp
daydayup__ has quit [Ping timeout: 240 seconds]
<ig88th> Xach: what else can I do to be of service?
<Xach> ig88th: well, quicklisp is (somehow) getting loaded from C:/users/ig88t/quicklisp/setup.lisp. It would help to dig around and see how.
<Xach> ig88th: do you use slime? is it maybe baked into your slime lisp command?
<rumbler31> windows and emacs disagree about where the home directory is, i've been bitten by that before
<Xach> Where is your .sbclrc? Is there more to it you didn't paste? Is there more than one .sbclrc? How did you get sbcl?
<ig88th> I am using slime provided by (load (expand-file-name (concat default-directory "/quicklisp/slime-helper.el"))) from quicklisp-slime-helper
<Xach> ig88th: what do you get from (probe-file "~/.sbclrc")?
<ig88th> #P"C:/Users/ig88t/AppData/Roaming/.sbclrc"
Cymew has joined #lisp
fourier has quit [Ping timeout: 256 seconds]
<Xach> What's in that file?
<ig88th> Xach: it also contains a file called .sbclrc that has these contents: https://gist.github.com/ig88th/1b6b058a1c05d08af04031ed4555436f
<Xach> Well, bob is like unto your uncle
<Xach> Mystery solved
<ig88th> Xach: I guess I missed something. How is it solved?
<Xach> ig88th: quicklisp's home is in /Users/ig88t/quicklisp/ which is not what sbcl thinks of as ~/quicklisp/. So when you work with ~/quicklisp/local-projects/ in sbcl it is not the one that is known to quicklisp automagically.
<Xach> ig88th: you would have better quickproject luck by using (quickproject:make-project "/Users/ig88t/quicklisp/local-projects/myproject/")
Cymew has quit [Ping timeout: 240 seconds]
rumbler31 has quit [Ping timeout: 268 seconds]
z3t0 has joined #lisp
<Xach> So there are some ways out of the hassle. If you stick with ccl (which is good) you could just not use quickproject until the fix is released later this month. It's not too hard to just make .asd and other files directly.
<Xach> If you switch to sbcl it would help to move the quicklisp installation into what quicklisp thinks of as ~/quicklisp/
<Xach> Not strictly necessary, but would make ~/quicklisp work more conveniently
<ig88th> Xach: that fix works! I can now load projects created previous to the current session
smurfrobot has quit [Remote host closed the connection]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
klltkr has quit [Ping timeout: 256 seconds]
<ig88th> Xach: thank you for your time in debugging this
Ukari has joined #lisp
damke has joined #lisp
Ukari has quit [Client Quit]
<Xach> I live to serve
damke_ has quit [Ping timeout: 264 seconds]
z3t0 has quit [Remote host closed the connection]
Karl_Dscc has quit [Remote host closed the connection]
makomo has joined #lisp
iqubic has joined #lisp
<drmeister> Hey folks - does anyone do Javascript programming for developing interactive web based apps? I'd like to talk to someone about developing the browser side (Javascript code) to implement some new jupyter widgets that would work with our cl-jupyter kernel.
<ig88th> Xach: thanks again for creating quicklisp, it is really helpful
zooey has quit [Ping timeout: 255 seconds]
<Shinmera> drmeister: I do, but I like to do as little of it as I possibly can, so probably not the right person for this.
lnostdal has quit [Ping timeout: 255 seconds]
<iqubic> What project should I start on to get better at lisp?
<Shinmera> One that interests you
<drmeister> Shinmera: Hi - well - you know the basics - wanna talk over in #clasp?
<Shinmera> Sure
<drmeister> I've got to go to dinner soon and shake my money maker - so 10 min or so.
<iqubic> Shinmera: the only things that interest me are rather complex.
<Shinmera> drmeister: Well it's past midnight for me, so let's do this tomorrow
<Shinmera> iqubic: Don't see the problem
<drmeister> Shinmera: Oh - sure - I'll talk to you tomorrow then.
<iqubic> Shinmera: I want to work on making a neural network with perceptrons and such, but that is too advanced
<Shinmera> Afaiu neural nets and perceptrons are well defined, so just implement the algorithms
<Bike> yeah, perceptrons are simple. teaching them is less simple, but it's still not too bad
<iqubic> I'll try that.
z3t0 has joined #lisp
<iqubic> why do you say teaching them is hard?
<Shinmera> As with anything in neural nets, getting them to actually learn anything useful is the hard part.
<Bike> it's not hard, it's just a more complicated algorithm
z3t0 has quit [Remote host closed the connection]
random-nick has quit [Read error: Connection reset by peer]
<iqubic> Also, do I need CLOS for storing the weights and inputs properly?
z3t0 has joined #lisp
<Bike> perceptrons themselves are just weighted sums through whatever function
<Shinmera> You don't "need" clos, but it would be an obvious choice
<iqubic> I have no idea how clos works.
<iqubic> Weighted sum.
<Shinmera> Just read the PCL chapters
<iqubic> I'll try that out.
z3t0 has quit [Remote host closed the connection]
<iqubic> Is there a difference between lispy and paredit?
<whoman> yes
Ukari has joined #lisp
<whoman> i wonder if there is a lisp diff. but diffing the source files will reveal the precise and accurate by science differences between the two, every byte of their existence
z3t0 has joined #lisp
<iqubic> Is one of them better than the other. I notice that lispy has evil bindings via evil-lispy. I use evil, so I am more inclined to use that,
<whoman> there is also "lisp at the speed of thought". i tried lispy and that one but, i returned to paredit because i didnt feel like learning somethuing new
<whoman> paredit might have evil bindings, but that would be a good criteria for choosing lispy
terpri has joined #lisp
<whoman> we will go insane if we try to learn everything. information overload
<Ukari> the symbol is weird, i use a temp variable in function but why the symbol could found in package
<whoman> setq lexical-binding t
<whoman> =P ?
<Ukari> (defun test1() (let ((temp 1)) (symbol-value (find-symbol "TEMP" "CL-USER"))))
zooey has joined #lisp
<iqubic> What is the point of Evil-Adjust? https://github.com/troyp/evil-adjust
<didi> Once the symbol is read, it is interned.
<Ukari> whoman, wangyin has made a diff for scheme
<Ukari> but temp don't hava a symbol-value
<Ukari> what is it meaning to alloc a symbol for variable temp
<didi> Ukari: This is an interesting question. Lexical variables are different than global ones. There is a cool excerpt about it in PAIP.
<Ukari> if a define a function test2 like test1, there still only one symbol "TEMP" but it don't tell any detail meaningful information
<Ukari> -> if I define
<didi> Ukari: I don't have the necessary skills to explain it to you, unfortunately. Maybe someone else can jump in.
Rawriful has quit [Quit: WeeChat 1.4]
hiroaki has quit [Ping timeout: 256 seconds]
* didi makes a note to re-read that excerpt
<Ukari> whoman, its name is ydiff, diff stuff in ast, support c++, js, lisp
joast has joined #lisp
vtomole has quit [Ping timeout: 260 seconds]
joast has quit [Client Quit]
fikka has quit [Ping timeout: 255 seconds]
vtomole has joined #lisp
daydayup_ has quit [Ping timeout: 240 seconds]
joast has joined #lisp
lnostdal has joined #lisp
z3t0 has quit [Remote host closed the connection]
fikka has joined #lisp
smurfrobot has joined #lisp
z3t0 has joined #lisp
z3t0 has quit [Remote host closed the connection]
smurfrobot has quit [Ping timeout: 260 seconds]
mishoo_ has quit [Ping timeout: 256 seconds]
z3t0 has joined #lisp
z3t0 has quit [Remote host closed the connection]
z3t0 has joined #lisp