jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
<euouae> This works. thanks again!
euouae has quit []
Alfr has joined #commonlisp
causal has joined #commonlisp
random-nick has quit [Ping timeout: 256 seconds]
perrierjouet has quit [Quit: WeeChat 3.7.1]
attila_lendvai has quit [Ping timeout: 240 seconds]
perrierjouet has joined #commonlisp
dipper has joined #commonlisp
pjb has quit [Read error: Connection reset by peer]
pdietz has joined #commonlisp
pdietz has quit [Client Quit]
igemnace has joined #commonlisp
Oddity has joined #commonlisp
dtman34 has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
dtman34 has joined #commonlisp
chipxxx has joined #commonlisp
<jeosol> euouae: Is this a graph library (and algorithms) you are developing from scratch as a school project or DSA class? Or as part of tools for another library/project?
igemnace has quit [Remote host closed the connection]
nij- has joined #commonlisp
chipxxx has quit [Ping timeout: 256 seconds]
thuna` has quit [Read error: Connection reset by peer]
rainthree has joined #commonlisp
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
waleee has joined #commonlisp
Lord_Nightmare has joined #commonlisp
rainthree has quit [Ping timeout: 256 seconds]
NotThatRPG is now known as NotThatRPG_away
epony has quit [Ping timeout: 268 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
Brucio-61 has joined #commonlisp
jmes has quit [Ping timeout: 252 seconds]
Josh_2 has quit [Quit: Gotta go fast!]
karlosz has quit [Quit: karlosz]
Oddity has quit [Ping timeout: 256 seconds]
nij- has quit [Ping timeout: 260 seconds]
euandreh has quit [Remote host closed the connection]
cowboy8625 has quit [Quit: WeeChat 3.5]
eddof13 has quit [Ping timeout: 256 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
beach` is now known as beach
euandreh has joined #commonlisp
euandreh has quit [Remote host closed the connection]
euandreh has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
azimut has joined #commonlisp
waleee has quit [Ping timeout: 260 seconds]
waleee has joined #commonlisp
<mfiano> Using the MOP, would it be possible to "disable" EQL specialization for a new generic function in a supplier library, such that consumer code only using class name specialization does not need to change (no new qualifiers in defmethod forms, etc)
<mfiano> That was indeed a ? :)
dnaeon has joined #commonlisp
<beach> Why on earth would you want to do such a thing?
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
<mfiano> That's quite irrelevant.
mmk2410 has quit [Ping timeout: 260 seconds]
mmk2410 has joined #commonlisp
fiddlerwoaroof has quit [Ping timeout: 260 seconds]
fe[nl]ix has quit [Ping timeout: 260 seconds]
fe[nl]ix has joined #commonlisp
fiddlerwoaroof has joined #commonlisp
waleee has quit [Ping timeout: 256 seconds]
rainthree has joined #commonlisp
rainthree3 has joined #commonlisp
rainthree has quit [Ping timeout: 268 seconds]
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
rgherdt has joined #commonlisp
<jackdaniel> mfiano: perhaps a befire method on add-method that check the defined method for illegal specializers
<jackdaniel> before*
<jackdaniel> s/defined/added/
<mfiano> Ok, thank you. That might work. I'm just expanding on my new project idea notes on [digital] paper and exploring different designs. No real reason.
dnaeon has quit [Read error: Connection reset by peer]
mingus has joined #commonlisp
kaskal has quit [Ping timeout: 240 seconds]
Major_Biscuit has joined #commonlisp
Cymew has joined #commonlisp
shka has joined #commonlisp
pve has joined #commonlisp
aartaka has joined #commonlisp
enzuru has quit [Quit: ZNC 1.8.2 - https://znc.in]
enzuru has joined #commonlisp
ttree has quit [Ping timeout: 260 seconds]
shka has quit [Read error: Connection reset by peer]
shka has joined #commonlisp
rainthree33 has joined #commonlisp
rainthree3 has quit [Ping timeout: 268 seconds]
Lycurgus has joined #commonlisp
rainthree has joined #commonlisp
rainthree33 has quit [Ping timeout: 260 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
Brucio-61 has joined #commonlisp
scymtym has joined #commonlisp
Dynom_ has joined #commonlisp
Dynom_ is now known as Guest5267
Lycurgus has quit [Quit: Exeunt https://tinyurl.com/4m8d4kd5]
Guest268987 has joined #commonlisp
euouae has joined #commonlisp
<euouae> Hello
<euouae> On Emacs with SLIME, I've noticed that `items' inside docstrings such as `car' show up in bold
<euouae> Is there anything that can be done with them? and how is Common Lisp documentation navigated in general?
<euouae> I'm trying to think whether a Markdown reader macro with a few extra features (cross-link, etc) would make sense
szkl has quit [Quit: Connection closed for inactivity]
Mandus has quit [Quit: WeeChat 3.6]
Mandus has joined #commonlisp
<scymtym> what would the reader macro do? you can (if you really want to) just use markdown in the documentation string as it is
<euouae> scymtym: Maybe some processing of the string
<phoe> like what?
<euouae> What I want is cross links for example, or images from an asset directory.
<euouae> phoe: One thing would be to allow docstrings to sit aligned, not having the first sentence intended and the rest left-aligned
<scymtym> euouae: i mean you apply some sort of validity check, maybe, but the object returned by the reader macro has to be a string if you want to use it in docstring position
<phoe> there are two questions that you need to ask in this case - what do you want to write your source code in, and what sort of output you want to get after the processing
mingus1 has joined #commonlisp
Mandus has quit [Client Quit]
<euouae> scymtym: yeah it'll be a string, but it'll be in a format that will be fed into the HTML producing engine
<euouae> Ideally the reader macro behaves differently depending on some dynamic variable so that I can turn that on/off so the normal user can read the docstring normally too
<euouae> I don't think this is necessarily a reader macro thing either. It could be done without the reader macro. But the alignment -- I think the reader macro should definitely do that.
mingus has quit [Ping timeout: 256 seconds]
mingus1 is now known as mingus
<euouae> phoe, I've thought of markup and org-mode as options
<scymtym> right, doesn't sound like a reader macro except for the changed alignment and whitespace processing
<phoe> this doesn't sound like a docstring problem yet, but a documentation problem
<phoe> s/yet/already/
<euouae> I mean, is noone else bothered by the alignment in docstrings? :D
<phoe> 1) I got used to it, 2) some of my stuff uses the "store docstrings externally" style
<euouae> ah nice I'll look at that
<euouae> As for the `car' question, is that an Emacs thing? Are docstrings supposed to have it?
Mandus has joined #commonlisp
<euouae> I tend to do FOO for function parameters and `foo' for symbols. Is that valid or nonsense? I can't tell
<scymtym> that is a convention for emacs lisp that happens to be inherit by some (all?) lisp modes
* scymtym uses the same convention
<euouae> Alright thank you
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
jmdaemon has quit [Ping timeout: 260 seconds]
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
morganw has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
jeosol has quit [Ping timeout: 260 seconds]
dipper has quit [Client Quit]
dipper has joined #commonlisp
Guest268987 has quit [Ping timeout: 256 seconds]
rainthree3 has joined #commonlisp
Guest268987 has joined #commonlisp
rainthree has quit [Read error: Connection reset by peer]
<euouae> apart from cl-graph, are there any other graph libraries?
* euouae searches cliki
<euouae> there's a few actually
Guest5267 has quit [Quit: WeeChat 3.7.1]
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
ec has joined #commonlisp
rainthree has joined #commonlisp
rainthree33 has joined #commonlisp
jello_pudding has quit [Ping timeout: 256 seconds]
rainthree3 has quit [Ping timeout: 256 seconds]
rainthree has quit [Ping timeout: 248 seconds]
Oddity has joined #commonlisp
<euouae> Packages are given long names for uniqueness
<euouae> what about asdf systems? same idea?
rainthree33 has quit [Ping timeout: 248 seconds]
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
jello_pudding has joined #commonlisp
szkl has joined #commonlisp
prokhor__ has quit [Ping timeout: 260 seconds]
Josh_2 has joined #commonlisp
random-nick has joined #commonlisp
<phoe> yes
jello_pudding has quit [Ping timeout: 256 seconds]
Major_Biscuit has quit [Ping timeout: 260 seconds]
jello_pudding has joined #commonlisp
rainthree has joined #commonlisp
pjb has joined #commonlisp
<AadVersteden[m]> Logic programming: any commonly used libraries? I once built a hacked prolog library so I suspect something exists that I'm missing.
<AadVersteden[m]> I have a problem in which I want to distribute information through a network of objects. Most of the rules for distribution are known up front. The entities to attach information to and their relationships are only known at runtime, as is the starting information. Cycles may exist.
<AadVersteden[m]> Perhaps it makes most sense to build something ad-hoc to get a better feel for this.
euouae has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
<pjb> AadVersteden[m]: consider Cells. https://www.cliki.net/cells
<AadVersteden[m]> Thank you
Major_Biscuit has joined #commonlisp
euouae has joined #commonlisp
euouae has left #commonlisp [#commonlisp]
euouae has joined #commonlisp
Major_Biscuit has quit [Ping timeout: 256 seconds]
epolanski has joined #commonlisp
Major_Biscuit has joined #commonlisp
Krystof has quit [Ping timeout: 240 seconds]
igemnace has joined #commonlisp
<euouae> phoe, but the silly system name has to be part of the asd file and the directory too?
thuna` has joined #commonlisp
<phoe> euouae: directory, nah; asd file name, yes
<euouae> got it! thank you
<phoe> the directory containing the system can be named foo/ but then you'll need to have foo/org.phoe.foo.asd containing (DEFSYSTEM #:ORG.PHOE.FOO ...)
bitmapper has joined #commonlisp
<euouae> Yes, that's how I do it
<phoe> sounds pretty idiomatic then
<euouae> That's good, I just started doing it
<euouae> I wrote my little toy graph library and now I want to try the other goodies -- unit tests, benchmarking & profiling
<euouae> I got twice side-tracked... I was writing a random package utility but now I'm doing that :P
<phoe> for unit tests, (ql:quickload :parachute) and stick to it
<euouae> nice
<phoe> and, unless you really know what you're doing, don't look elsewhere
Krystof has joined #commonlisp
<euouae> crazy how much work shinmera has
<phoe> and please write your own testing framework as a training exercise, but for the love of whatever gods you worship please do not have anyone use it in practice
<phoe> yeah, he's a really busy bee
<beach> ... and while you're at it, write a toy interpreter for a Lisp-like language.
<Shinmera> I am busy rewriting my vector library into a huge mess of macros :v
<phoe> yeah, getting to the stage where you have your own EVAL with lexical variables is really fun to figure out how Lisp can work under the hood
<phoe> Shinmera: my condolences
<beach> euouae: Oh, and write a game engine, but no game that uses it.
<Shinmera> phoe: it's an interesting design problem at least
<phoe> and a json parsing library, this one is a classic too
<Shinmera> beach: and a UI toolkit, of course :)
<euouae> I don't know, I'm not so interested in any of that stuff
<euouae> I'm more about the low level things
<beach> Shinmera: Sure.
Bung has joined #commonlisp
<euouae> which is why I want to try the benchmarking
<phoe> euouae: we're 70%-kidding here, just FYI :D
<euouae> ah alright :P
Everything has joined #commonlisp
cage has joined #commonlisp
<euouae> What's the usual license most projects have in common lisp? bsd?
<dipper> there is so many game engine in market, I don't think use lisp make one can earn money.
<phoe> the usual answer is "depends on what you want others to do with your code"
<euouae> I tend to use GPL but I think CL has very of those projects and I don't want it to just be in the way of it
<phoe> LLGPL is one popular choice; it's essentially LGPL with a little bit of Lisp-specific preamble
<phoe> BSD/MIT is another
<Shinmera> phoe: I don't think LLGPL is very popular actually.
<Shinmera> BSD and MIT far outstrip all others.
<beach> euouae: I wouldn't hesitate using GPL for end-user applications. I am afraid many people frown upon xGPL, so I use BSD for libraries and such.
<phoe> Shinmera: sure
<phoe> for bigger applications that you'd rather not have others reuse without sharing the code-- yes, what beach said
<phoe> I actually have one or two unfinished projects that are GPLed for that reason
<euouae> Alright, thank you
<thuna`> In docstrings, when you need to quote multiple words in `', do people put \ before each space? The highlighting doesn't work for me unless I do that so I tend to do it but I can't imagine that's a normal thing to do.
<phoe> I only put \ between a newline and opening parentheses because otherwise slime/sly gets god damn confused
<phoe> and only in docstrings
<phoe> ...but then again, I do not use `' in docstrings and instead prefer to use SCREAM-CASE for symbol names
Bung has quit [Quit: Leaving]
<thuna`> So for example instead of `pathname designator' I do `pathname\ designator'
<thuna`> phoe: Yeah, I do that for variables, functions, etc. too but I quote type names and such
<phoe> thuna`: that's really weird to me tbh, I wouldn't do any of this just to get slime highlighting inside docstrings themselves
<thuna`> Yeah, I know, but it's really annoying seeing some quotes highlighted and some not
<euouae> just turn it off then
<euouae> no highlighting :P
<thuna`> But I like highlighting :(
insolarion has quit [Quit: Connection closed for inactivity]
<euouae> thuna`, you might be able to modify emacs then
<thuna`> Modifying font-lock is really annoying
<euouae> I've never done ti
<thuna`> Let's hope you'll never have to
jeffrey has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
<thuna`> Alright, figured it out. In the file `lisp/emacs-lisp/lisp-mode.el', you change (rx-define lisp-mode-symbol (+ (| (syntax word) (syntax symbol) (: "\\" nonl)))) to (rx-define lisp-mode-symbol (+ (| (syntax word) (syntax symbol) (: "\\" nonl) " ")))
scymtym has quit [Ping timeout: 256 seconds]
<phoe> hm, maybe that's worth a patch upstream?
<thuna`> I guess I could send it, although I think I'm over the 15-line limit
<phoe> limit?
<Mrtn[m]> Ulimit?
Cymew has quit [Ping timeout: 256 seconds]
<thuna`> If you send more than 15 lines of code in patches in total, you need to assign with the fsf
<thuna`> I'm currently in the process but it's taking a while
<thuna`> It's a hit or miss wheter this gets delayed by a month or so
<Mrtn[m]> Can't you can't change that with ```ulimit``` ?
<phoe> yes, I see; I guess you could also send a mail to the devel list and ask someone to commit on your behalf since this is a trivial change
<phoe> Mrtn[m]: this isn't a programming matter but emacs/FSF bylaws
<Mrtn[m]> I know many limits can be changed with ulimit. I guess this is the exception.
<thuna`> Hm, should tabs and newlines be allowed in `'?
<thuna`> I'm going to say "yes"
<pjb> ulimit -a | wc -l --> 11
<thuna`> Wait no, this patch is bad
<morganw> I've always assumed that what gets quoted should be valid as a name, so it wouldn't be possible to have a space in it. If it is meant to imply a quoted string I think it would use double quotes.
<thuna`> Yeah, that's true for symbols but quoting CL glossary entry names is a valid use of the `' quotes I think
<phoe> at that point, sure, if it can contain whitespace then it should be able to contain newlines
<phoe> tabs, though, yuck
<thuna`> And since CL doesn't link the quoted strings like emacs does for elisp, it shouldn't be too big of an issue
aartaka has quit [Ping timeout: 260 seconds]
<pjb> thuna`: it would be a trivial extensions to slime lisp-mode to follow such links.
<thuna`> Yeah but it wouldn't break anything immediately, is my point
<pjb> M-. already works.
<pjb> (in strings).
<thuna`> But that doesn't depend on the `' quoting, no?
aartaka has joined #commonlisp
<pjb> Indeed, independently of `'.
<thuna`> Then it's not an issue
<euouae> thuna`: I couldn't complete the copyright transfer process with the fsf
<pjb> Anyways, I don't like `'. It works for ASCII, but we have unicode nowadays. Use “ and ”.
<thuna`> euouae: Really? WhY?
<pjb> or ‘ and ’.
<euouae> thuna`, for the contract to be enforceable, they pay you $1, but I can't technically be paid, I'm in the US on a tourist visa
<euouae> I thought it was funny
<pjb> euouae: paypal?
<thuna`> Huh? Really?
<euouae> pjb: any receival of goods for work is not permitted under the visa conditions
<euouae> IANAL
<thuna`> How long does a tourist visa allow you to stay in the US anyway?
<euouae> 90 days
<euouae> I'm nearing it. I'll sign the thing soon
* Nilby prefers ‘these’ aka #\LEFT_SINGLE_QUOTATION_MARK and #\RIGHT_SINGLE_QUOTATION_MARK, which are less likely to be mistaken for unmatched punctuation such as #\APOSTROPHE
<Nilby> and emacs also font-locks them
<pjb> euouae: if you're not US resident, you don't have to declare it to US IRS, so nobody will know if you got money from the US to your home country.
<thuna`> My keyboard has those bound to AltGr (imagine left alt) + Shift + {b,n}. I'm NOT typing those on a regular basis.
<thuna`> s/left/right/
Brucio-61 has joined #commonlisp
<euouae> pjb, that's true
<Nilby> my keyboard has them bound to M-`
<Nilby> or you could turn on magic-quote-mode
tyson2 has quit [Remote host closed the connection]
rainthree has quit [Remote host closed the connection]
rainthree has joined #commonlisp
<euouae> is it possible to pass :report 'quiet somehow to asdf:test-system?
<euouae> I'd like it to go to the underlying parachute:test
<_death> better to tell asdf to call your own test function, rather than directly to parachute's
<phoe> euouae: ^
<phoe> adapt as necessary
<euouae> nice, thank you
Lycurgus has joined #commonlisp
<euouae> do you speak japanese?
<Lycurgus> me? no.
<Lycurgus> (and that was the english no)
<euouae> not you, but strange coincidence
scymtym has joined #commonlisp
azimut_ has joined #commonlisp
Cymew has joined #commonlisp
<euouae> if I define a variable with defparameter like (defparameter *x* 1) and then in parachute use :fix (*x*) it doesn't restore its value to 1
<euouae> modifications persist
<euouae> if *x* is (cons 1 2) and I do (setf (car *x*) 3), isn't it supposed to be restored to (cons 1 2) after the test?
azimut has quit [Ping timeout: 255 seconds]
<Shinmera> it'll restore it to whatever it was before the test was entered.
<Shinmera> and no it can't do that
<NotThatRPG_away> euouae: But you are side-effecting onto the original value when you set the car
NotThatRPG_away is now known as NotThatRPG
<Shinmera> you're modifying the structure, not the binding. the fixture only fixes the binding in place.
<euouae> do you have any dynamic form evaluation for fixtures?
<Shinmera> I don't know what that means.
<euouae> me neither, nevermind
<Shinmera> Anyway, it cannot fix the entire structure in place, because it cannot transparently copy structures to preserve their state.
<euouae> what's the point of fixing the binding?
<Shinmera> uh. when you change it in the test and want it to restore to the original value afterwards?
<euouae> how would you change it?
<Shinmera> (setf *x* :whatever)
<euouae> ah I see
Cymew has quit [Ping timeout: 260 seconds]
azimut_ has quit [Ping timeout: 255 seconds]
djuber has joined #commonlisp
azimut has joined #commonlisp
aartaka has quit [Ping timeout: 260 seconds]
seletz has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
Cymew has joined #commonlisp
Major_Biscuit has quit [Quit: WeeChat 3.6]
<euouae> does stuff like do* work inside define-test in parachute?
aartaka has quit [Ping timeout: 268 seconds]
szkl has quit [Quit: Connection closed for inactivity]
<euouae> hmm... I was getting strange errors. now it works
<euouae> or does it? not sure. > is unbound :S
justGrit has quit [Quit: ZNC 1.8.2 - https://znc.in]
<euouae> dang I'm writing the do* wrong
justache has joined #commonlisp
aartaka has joined #commonlisp
Cymew has quit [Ping timeout: 268 seconds]
Guest268987 has quit [Ping timeout: 240 seconds]
Guest268987 has joined #commonlisp
justache has quit [Remote host closed the connection]
justache has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
<Shinmera> why wouldn't it, and also why would you use do/do* when loop exists
prokhor__ has joined #commonlisp
<jackdaniel> perhaps they have a strong sense of aesthetics :)
<kakuhen> some people have a strong opposition to LOOP for some odd reason
<Shinmera> yes but at least usually those people also admit that do/do* sucks real bad and use something like iterate instead.
<jackdaniel> kakuhen: this may be a knee-jerk reaction to people who seem compelled to teach them that the loop is teh wai
<jackdaniel> (or that do/do* is bad™)
<thuna`> I hate that LOOP is effectively indented by 5
<thuna`> (or 1, not sure which is worse)
<jackdaniel> loop is fine for what its designed for, even if a bit obscure (specification and extensibility wise)
Lycurgus has quit [Quit: Exeunt https://tinyurl.com/4m8d4kd5]
<NotThatRPG> kakuhen: I'm one of the ones that Shinmera is talking about. I *never* use do/do* and I *do* use iterate. If you are interested, I could say why, but otherwise won't...
pranavats has left #commonlisp [Error from remote client]
dlowe has joined #commonlisp
erickisos has quit [Ping timeout: 260 seconds]
<euouae> NotThatRPG: are you up for a challenge? I can give you a function with do* that I like better than loop
<kakuhen> at one point in time I was also an iterate fanboy but then caved in to the (relative) portability of loop
<kakuhen> as long as im dealing with code that isnt defining custom stuff into iterate or using e.g. the NEXT-ITERATION form, then I generally refactor into a LOOP
<NotThatRPG> I prefer iterate for it's better integration with multiple values and because the LOOP conditionals are awful
<euouae> You can write it with iterate if you'd like
<euouae> I don't think it's _that_ challenging, but I struggled with loop and I found do* nicer
<thuna`> euouae: This should be a working version of that code in LOOP: https://0x0.st/olrN.txt
<pjb> You may prefer DO or DO* if compilation time is important to you.
<thuna`> pjb: How significant is that anyway?
<Shinmera> very if you live in the 1980s.
<pjb> thuna`: not very much: I don't care too much for compilation time, as fast as it is currently.
<pjb> But you may be trying to compile at run-time on a micro-controller, so it may be important.
<Shinmera> it really may not.
<Mrtn[m]> thuna`: If you're building a huge binary, and the code you're working with is the dependency of a lot of modules, you might worry about compile time. However, in this case, it's most likely not noticable.
<Shinmera> the codegen and optimisation passes will far outstrip the time to expand loop or do
<thuna`> Maintainability is probably the most important factor
<thuna`> Not "maintaining" specifically, but you get the point
thuna` has quit [Quit: uhh]
<jackdaniel> people should just use prog and go [change my mind meme] ^_^
<Mrtn[m]> thuna`: Then do not include too much ```black magic```.
<Mrtn[m]> jackdani1l: What is ```prog and go``` ?
<NotThatRPG> euouae: OK, put a comment up there, but I'm not sure I fully understood the original code, since I never use DO
* ski idly wonders whether there was any `loopy-loop'- (by foof) or `foof-loop'- (by Riastradh) alike (or at least one inspired by Olin Shivers' "The Anatomy of a Loop: A Story of Scope and Control" (2005-09) paper <https://www.ccs.neu.edu/home/shivers/citations.html#loop>) for CL
liveuser has joined #commonlisp
<jackdaniel> Mrtn[m]: CL:PROG works as a combination of let, block and tagbody
<euouae> thuna`, I thought loop cannot use 'collecting' together with 'do'
<Mrtn[m]> jackdaniel: *
<pjb> (prog ((x 0)) (go test) loop (prin1 x) (princ " ") (incf x) test (if (< x 10) (go loop))) #| 0 1 2 3 4 5 6 7 8 9 --> nil |#
<Bike> loop can use different clauses like collect and do just fine.
<Mrtn[m]> I don't know block nor tagbody.
<pjb> so prog go if is all you need to write lisp program (as assembler programs).
<pjb> Mrtn[m]: you know the hyperspec right?
<jackdaniel> Mrtn[m]: block gives you a scope you may RETURN from, and tagbody gives you labels you may GO to
<jackdaniel> if I recall correctly it was added to encite algol programmers ;] that said, if you write a state machine then prog is probably the right choice
<Mrtn[m]> Pjb: Yeah, but I'm not on my laptop. I read it with eww, which I do not have on mobile.
defaultxr has quit [Quit: bbl]
<pjb> Mrtn[m]: gcl includes an info(1) version of the Hyperspec for local consultation.
<jackdaniel> that said I've mentioned prog only as a joke; iteration is one of these zeal-attracting topics in lisp
<Mrtn[m]> jackdaniel: That sounds useful for iterative programming.
<Mrtn[m]> pjb: That's pretty cool. Esp. if the 🗝️ binding can be setup to open that instead of eww.
<Mrtn[m]> jackdaniel: I thought iterative programming was encouraged in common lisp (unlike other schemes).
<Mrtn[m]> (pun intended).
<Bike> zeal as in people arguing about how to do it.
<Bike> loop versus iterate mostly.
<Mrtn[m]> Bicycle: oh ok.
<Mrtn[m]> Hehe, that explains a series of complicated answers I got about iteration at one point I guess, Bike:
<Bike> i would also be interested in seeing what a shivers-based loop macro would look like, incidentally
<Mrtn[m]> Bike: I assume your nick is in reference to bicycle 🚲?
<Bike> i don't think i totally understood that paper. probably i need to look at the code.
<Bike> Nope
<Mrtn[m]> What is it then? A name?
<Bike> Yep
<Mrtn[m]> Oh cool. I'm sure it has an interesting history, if it's unrelated to 🚲.
dlowe has quit [Ping timeout: 256 seconds]
dlowe has joined #commonlisp
Alfr has quit [Quit: Leaving]
aartaka has quit [Ping timeout: 256 seconds]
mingus1 has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
rogersm has joined #commonlisp
rogersm has quit [Remote host closed the connection]
aartaka has joined #commonlisp
mingus has quit [Ping timeout: 256 seconds]
mingus1 is now known as mingus
morganw has quit [Remote host closed the connection]
rogersm has joined #commonlisp
karlosz has joined #commonlisp
seletz has joined #commonlisp
ttree has joined #commonlisp
Alfr has joined #commonlisp
dipper has quit [Remote host closed the connection]
<euouae> chicken loopy loop is an outdated egg
seletz has quit [Ping timeout: 248 seconds]
dipper has joined #commonlisp
<contrapunctus> I hope these can be of use to someone. (Common Lisp templates for the Tempel template package for Emacs.) https://codeberg.org/contrapunctus/dotemacs/src/branch/production/templates#L14
seletz has joined #commonlisp
djuber has quit [Ping timeout: 268 seconds]
<ski> yes, euouae
dipper has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 256 seconds]
dipper has joined #commonlisp
aartaka has joined #commonlisp
seletz has quit [Ping timeout: 260 seconds]
<Josh_2> contrapunctus: that is pretty cool
djuber has joined #commonlisp
<contrapunctus> Josh_2: thanks :)
<Josh_2> So what do you type for the lambda?
dipper has quit [Remote host closed the connection]
<Shinmera> And I'm pretty much done with my vector library rewrite. If someone's curious: https://github.com/Shinmera/3d-vectors/tree/rewrite
<Josh_2> Have you done any tests to compare v1 to this one?
dipper has joined #commonlisp
<Shinmera> Only cursory ones at the repl
<Shinmera> The API should be compatible, so I'll run the test suite tomorrow.
djuber has quit [Ping timeout: 260 seconds]
<Shinmera> I can't merge for a while though since 3d-matrices/etc depend on some internal bits that have changed, so I'll have to rewrite those next.
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
djuber has joined #commonlisp
<euouae> Shinmera: what do you mean "boxing"?
<euouae> single-floats do not require boxing
<jackdaniel> on 32bit architecture they do
<Shinmera> euouae: uh, where do I mean that? what are you talking about
<Shinmera> uh. that's what I said.
<Shinmera> "as they do NOT require value boxing"
<jackdaniel> he writes that they do not require value boxing [on most compilers], so sounds correct
<euouae> What does it mean?
<Shinmera> it means they can be immediate in registers, rather than needing to be stored on the heap.
<euouae> Hm... Why wouldn't a 32bit arch be able to have them in registers?
<Shinmera> well, immediate in registers and values.
<Shinmera> you need type tags in a lot of situations.
<Shinmera> which you can't do if all 32 bits are required for the data
<euouae> Ah I see.
<jackdaniel> euouae: in dynamically typed languages objects have associated type at runtime, so either you have a struct {type, value}, however some values have less bits than the pointer
<Shinmera> this is also why the fixnum type is pretty much always less than the word size
<jackdaniel> and then you may encode the value in a pointer and add a tag at the last two or three bits (depending on the architecture)
<euouae> the [SRC] links in the .io page are pointing at the wrong place by the way Shinmera
<Shinmera> oh well.
<contrapunctus> Josh_2: to be honest, I don't use the lambda template...I prefer to use the readtable provided by the `fn` system, so I can write `(mapcar λ(my-function _ arg) seq)`
rogersm has quit [Quit: Leaving...]
dipper has quit [Remote host closed the connection]
azimut has quit [Quit: ZNC - https://znc.in]
<euouae> What about V> for example? What does that do?
<euouae> It says the test is simultaneous?
<Shinmera> What does > do
dipper has joined #commonlisp
<euouae> What is the meaning of simultaneous?
aartaka has quit [Ping timeout: 268 seconds]
azimut has joined #commonlisp
<Shinmera> element-wise in this case
<euouae> so true if they're all >?
<Shinmera> you know, I don't particularly enjoy being treated as a human REPL
aartaka has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
Inline has joined #commonlisp
<jackdaniel> ,(* 4 5)
dipper has quit [Remote host closed the connection]
<euouae> Well, V> and V< are not orders. Maybe the docstring could use "component-wise" instead
<euouae> I think the typical order applied here could be lexicographic
mzan has quit [Quit: No Ping reply in 180 seconds.]
epony has joined #commonlisp
pranavats has joined #commonlisp
dipper has joined #commonlisp
mzan has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
dipper has quit [Remote host closed the connection]
<ski> if it checks respective ordering for each component, i think it's often called the "product ordering" (for partial orders) (as opposed to lexicographic ordering, which is a total order)
<euouae> yeah
<ski> (for a two-dim. coordinate system, this would be the "below and to the left of" ordering)
<euouae> good point, it's a product of relationships
<euouae> "Simultaneous" made me think of concurrency so I was confused
dipper has joined #commonlisp
prokhor_ has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
jmdaemon has joined #commonlisp
prokhor__ has quit [Ping timeout: 252 seconds]
<ski> hm .. i guess the product ordering of strict orderings `<' wouldn't be the strict order corresponding to the product ordering of the corresponding non-strict orderings `=<'. iow `(and (and (<= x0 y0) (<= x1 y1)) (not (and (= x0 y0) (= x1 y1))))' is not the same as `(and (< x0 y0) (< x1 y1))'
epolanski has quit [Quit: Connection closed for inactivity]
dipper has quit [Remote host closed the connection]
<ski> (.. so, one might naïvely assume that `(v< u v)' would be equivalent to `(and (v<= u v) (not (v= u v)))', but that's not the case, assuming both `v<=' and `v<' just check all the respective components)
kaskal has joined #commonlisp
AdonisExberger has joined #commonlisp
AdonisExberger has quit [Excess Flood]
dipper has joined #commonlisp
thuna` has joined #commonlisp
AdonisExberger has joined #commonlisp
dipper has quit [Remote host closed the connection]
<euouae> it's a tricky function
dipper has joined #commonlisp
jolby has joined #commonlisp
jolby has quit [Client Quit]
jolby has joined #commonlisp
azimut has quit [Remote host closed the connection]
<jackdaniel> my form is still not evaluated :( I'll better use a machine repl
azimut has joined #commonlisp
waleee has joined #commonlisp
seletz has joined #commonlisp
<_death> jackdaniel: please wait, still counting
seletz has quit [Ping timeout: 256 seconds]
tasty has quit [Quit: rebooting for kernel updates]
dipper has quit [Remote host closed the connection]
tibfulv has quit [Remote host closed the connection]
dipper has joined #commonlisp
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
tibfulv has joined #commonlisp
dipper has quit [Remote host closed the connection]
Oladon has joined #commonlisp
tyson2 has joined #commonlisp
dipper has joined #commonlisp
Guest268987 has quit [Quit: Leaving.]
Lycurgus has joined #commonlisp
jeosol has joined #commonlisp
dipper has quit [Remote host closed the connection]
<phoe> we might consider writing something to speed up all that church arithmetic
dipper has joined #commonlisp
<Josh_2> contrapunctus: Thanks for the response
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
Lycurgus has quit [Quit: Exeunt https://tinyurl.com/4m8d4kd5]
dipper has quit [Remote host closed the connection]
rainthree has quit [Ping timeout: 260 seconds]
dipper has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
n1to has joined #commonlisp
igemnace has quit [Ping timeout: 260 seconds]
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
dipper has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 260 seconds]
dipper has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
euandreh2 has joined #commonlisp
euandreh has quit [Ping timeout: 256 seconds]
euandreh2 is now known as euandreh
Oladon has quit [Quit: Leaving.]
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
dlowe has quit [Remote host closed the connection]
dlowe has joined #commonlisp
dipper_ has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp
NotThatRPG is now known as NotThatRPG_away
goober has quit [Remote host closed the connection]
goober has joined #commonlisp
dlowe has quit [Remote host closed the connection]
Oladon has joined #commonlisp
Everything has quit [Quit: leaving]
cage has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 255 seconds]
AdonisExberger has quit [Quit: Going offline, see ya! (www.adiirc.com)]
seletz has joined #commonlisp
seletz has quit [Ping timeout: 256 seconds]
Inline has quit [Quit: Leaving]
shka has quit [Ping timeout: 256 seconds]
Inline has joined #commonlisp
akoana has joined #commonlisp
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp
Inline has quit [Remote host closed the connection]
euandreh has quit [Ping timeout: 268 seconds]
euandreh2 has joined #commonlisp
euandreh2 is now known as euandreh
seletz has joined #commonlisp
seletz has quit [Ping timeout: 256 seconds]
cosimone has quit [Remote host closed the connection]
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp
djuber has quit [Remote host closed the connection]
jeffrey has quit [Quit: Client quit]
mingus has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #commonlisp
random-nick has quit [Ping timeout: 260 seconds]
m5zs7k has quit [Ping timeout: 260 seconds]
m5zs7k has joined #commonlisp
euouae has quit [Remote host closed the connection]
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp
dipper_ has quit [Remote host closed the connection]
dipper_ has joined #commonlisp