Xach changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/>
oxum has joined #lisp
random-nick has quit [Ping timeout: 240 seconds]
AnimalCl` has joined #lisp
AnimalCl` has quit [Ping timeout: 260 seconds]
pfdietz has left #lisp [#lisp]
pfdietz has joined #lisp
shka_ has quit [Ping timeout: 268 seconds]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
AnimalCl` has joined #lisp
vap1 has quit [Ping timeout: 265 seconds]
smokeink has joined #lisp
AnimalCl` has quit [Read error: Connection reset by peer]
AnimalCl` has joined #lisp
anewuser has quit [Quit: anewuser]
oxum has quit [Ping timeout: 268 seconds]
AnimalCl` has quit [Ping timeout: 260 seconds]
Kundry_Wag has quit [Remote host closed the connection]
varjag has quit [Ping timeout: 268 seconds]
wsinatra_ has joined #lisp
Fare has joined #lisp
libertyprime has joined #lisp
hsaziz has quit [Ping timeout: 268 seconds]
efm has quit [Remote host closed the connection]
efm has joined #lisp
stepnem_ has joined #lisp
oxum has joined #lisp
stepnem has quit [Ping timeout: 268 seconds]
<Xach> hmm, i can also link paths in backtraces, i think
Kundry_Wag has joined #lisp
shifty has joined #lisp
AnimalCl` has joined #lisp
Kundry_Wag has quit [Ping timeout: 265 seconds]
buffergn0me has joined #lisp
AnimalCl` has quit [Ping timeout: 260 seconds]
lowryder has quit [Quit: WeeChat 2.6-dev]
bitmapper has quit [Ping timeout: 268 seconds]
oxum has quit [Ping timeout: 260 seconds]
oxum has joined #lisp
PuercoPope has joined #lisp
torbo has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 248 seconds]
oxum has quit [Ping timeout: 268 seconds]
oxum has joined #lisp
Fare has quit [Ping timeout: 260 seconds]
oxum has quit [Ping timeout: 265 seconds]
wsinatra_ has quit [Quit: WeeChat 2.7]
Lord_of_Life_ has joined #lisp
oxum has joined #lisp
Lord_of_Life has quit [Ping timeout: 258 seconds]
Lord_of_Life_ is now known as Lord_of_Life
AnimalCl` has joined #lisp
oxum has quit [Ping timeout: 258 seconds]
Kundry_Wag has joined #lisp
AnimalCl` has quit [Ping timeout: 260 seconds]
oxford is now known as cantstanya
ahungry has joined #lisp
smokeink has quit [Ping timeout: 268 seconds]
vs has joined #lisp
ahungry has left #lisp ["ERC (IRC client for Emacs 27.0.50)"]
smokeink has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
visage_ has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
oxum has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
akoana has joined #lisp
dale has joined #lisp
AnimalCl` has joined #lisp
<beach> Good morning everyone!
atgreen has quit [Remote host closed the connection]
oxum has quit [Ping timeout: 265 seconds]
Kundry_Wag has joined #lisp
space_otter has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
AnimalCl` has quit [Ping timeout: 268 seconds]
PuercoPope has quit [Remote host closed the connection]
karlosz has joined #lisp
q-u-a-n2 has quit [Ping timeout: 268 seconds]
whiteline has quit [Ping timeout: 260 seconds]
smokeink has quit [Ping timeout: 258 seconds]
Nilby has joined #lisp
elderK has joined #lisp
clothespin_ has joined #lisp
vs has quit [Ping timeout: 265 seconds]
oxum has joined #lisp
davisr_ has joined #lisp
amerlyq has joined #lisp
davisr has quit [Ping timeout: 260 seconds]
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
gravicappa has joined #lisp
AnimalCl` has joined #lisp
amerlyq has quit [Quit: amerlyq]
orivej has joined #lisp
AnimalCl` has quit [Ping timeout: 268 seconds]
<stylewarning> Sc
<stylewarning> oops
<beach> stylewarning: Hello. Xach said you praised the work of jackdaniel. What work were you referring to then?
<stylewarning> He’s improved ECL in various ways for our quantum simulator, like specialized arrays of complex DF’s
<beach> Got it. Thanks!
<stylewarning> Easy to work with, etc
shangul has joined #lisp
Bike has quit [Quit: Lost terminal]
shangul has quit [Ping timeout: 260 seconds]
smokeink has joined #lisp
buffergn0me has quit [Ping timeout: 260 seconds]
AnimalCl` has joined #lisp
wsinatra_ has joined #lisp
quazimod1 has quit [Ping timeout: 260 seconds]
vms14 has joined #lisp
<vms14> I've just started, but what's wrong?
<vms14> should I go for a different approach?
<vms14> have you some hints about?
<vms14> I have no idea about what I should be aware
<vms14> well, that (setf body) is wrong xD
<White_Flame> ?INSUFFICIENT PROBLEM DESCRIPTION ERROR
<White_Flame> READY.
<vms14> :O
<White_Flame> it's much easier to tell you what's wrong if you tell us what error you're getting and what you're hoping to do with the code
<beach> vms14: It is usually a bad idea to assign to parameters. It can screw up your backtrace when you need to debug things.
<vms14> White_Flame: I have no errors
<vms14> I mean about design
<vms14> I'm trying to make some sort of js transpiler
<White_Flame> js-var should definitely output "var foo=3;", not "foo=3;"
<vms14> beach: I suppose you mean that setf body, I'll remove it, idk why I was setting that if body is a rest parameter, so I won't put a list inside it
<vms14> White_Flame: got it, I'll change that
<White_Flame> presumably your name & values parameters have already been rendered to strings
<vms14> nope, it's a very dirty approach
<vms14> for example console-log
<vms14> (console-log "meh" "oh" "'ohh'")
<White_Flame> (let ((body (if (listp (car body))....)) is how you would scope your newly fixed up dependent body value
<vms14> "console.log(meh,oh,'ohh');"
<vms14> White_Flame: I don't really need that, since body will be always a list and it has no sense to put (js-function "name" "parameters" '("statement1" "statement2"))
<White_Flame> I mean to avoid the setf body
<vms14> since is a rest parameter, will be always a list
<White_Flame> (car body) is not always a list, which is what is being checked
AnimalCl` has quit [Ping timeout: 258 seconds]
<vms14> yeah, because I was checking for that "use", but idk why the heck I did that
<White_Flame> ah, k
<vms14> (js-function "name" "parameters" '("statement1" "statement2")) I'll never do that, and it was what I was checking
<vms14> I'll directly do (js-function "name" "parameters" "statement1" "statement2")
<vms14> but idk if I should be doing that, or better to have some kind of interpreter
<White_Flame> it all depends on what your input form is
<vms14> that for example when you define a variable it maintains a list of defined variables or alike
<White_Flame> but if you have anything AST-like, you can just do recursive descent to stringify all the statements & value expression
<vms14> I did something with html, but since html is just a markup language and has a very straightforward syntax, it was easier, so I made a bad written macro that creates tags
<vms14> now I'd like to do the same for js, but js is a programming language and won't be as easy
dev_ has quit [Quit: leaving]
<White_Flame> it's still just a datastructure, just holding more stuff. Scopes, functions, parameters, etc
<vms14> I feel it will be a mess, that's why I asked for hints
<vms14> I'd like them to be individual functions, not a macro that looks for symbols, so I can use stuff like mapcar and so on
<White_Flame> yeah, that's basically what I said. It's just a nested datastructure, where a function is a node in there
ebzzry_ has quit [Read error: Connection reset by peer]
<White_Flame> and "function foo() {...}" as far as I know is equivalent to "var foo = function() {...}" so you might want to normalize on one or the other
<vms14> I'll stick with function name()
<vms14> I don't see the point in saving a function in a variable, even knowing js let's you do that
<vms14> unless you want to use let
AnimalCl` has joined #lisp
ebzzry has joined #lisp
<vms14> (format t "~{~A~}" (list (js-var "meh" "['oh','my','cat']") (foreach "meh" (arrow "x" (console-log "x")))))
AnimalCl` has quit [Ping timeout: 260 seconds]
nika has joined #lisp
dddddd has quit [Ping timeout: 265 seconds]
vms14 has quit [Remote host closed the connection]
buffergn0me has joined #lisp
AnimalCl` has joined #lisp
AnimalCl` has quit [Ping timeout: 268 seconds]
<boeg> I have an asdf system set up with two packages. In one package I have some helper functions. In the other package I can do `helper::function` to use a helper function form the first package, but is it possible to do something so the helper functions comes in to scope so I just can do `function` instead to reach it?
<beach> boeg: First of all, you should export the names that you want client code to use.
<beach> Using :: is a bad sign.
<boeg> beach: oh, okay, didn't know that
<beach> Then, you can :USE the helper package in the other package.
<beach> Better, you can selectively import the symbols you need.
<beach> But I think the best solution is to keep the package prefix, so that a person reading your code knows what package the symbol came from.
<boeg> beach: ah, it works, I was missing the export, already had ":use"'d set up in my package config
<boeg> just exporting and everything works as intended, thanks!
<boeg> > But I think the best solution is to keep the package prefix, so that a person reading your code knows what package the symbol came from
<boeg> It's a very good point! But I guess ... These functions are helper (debug) functions that are used everywhere in the other packages, so i think it makes sense leaving out the package. If it was used rarely, I'd agree
<beach> Whatever.
vlatkoB has joined #lisp
buffergn0me has quit [Ping timeout: 260 seconds]
william1_ has joined #lisp
AnimalCl` has joined #lisp
ggole has joined #lisp
fookara has joined #lisp
trittweiler has joined #lisp
AnimalCl` has quit [Ping timeout: 258 seconds]
akoana has quit [Quit: leaving]
MidAutumnMoon has quit [Quit: Ping timeout (120 seconds)]
vaporatorius has joined #lisp
MidAutumnMoon has joined #lisp
brown121408 has quit [Ping timeout: 258 seconds]
dale has quit [Quit: My computer has gone to sleep]
brown121408 has joined #lisp
visage_ has quit [Quit: visage_]
quazimodo has joined #lisp
nika has quit []
quazimodo has quit [Ping timeout: 265 seconds]
outerpasta has joined #lisp
ArthurStrong has joined #lisp
shka_ has joined #lisp
AnimalCl` has joined #lisp
<pjb> minion: memo for vms14: have you considered using parenscript?
<minion> Remembered. I'll tell vms14 when he/she/it next speaks.
<pjb> beach: in the case of boeg, you have a single system, and the fact that there are two packages is an implementation detail (one of them is a "helper" package). In that case, it should not matter and clients should not be concerned by how the authors use the symbols across the internal packages. :use'ing the package internal is a perfectly valid, internald choice.
AnimalCl` has quit [Ping timeout: 265 seconds]
outerpasta has quit [Quit: ERC (IRC client for Emacs 26.1)]
outerpasta has joined #lisp
xkapastel has joined #lisp
outerpasta has quit [Quit: ERC (IRC client for Emacs 26.1)]
scymtym has quit [Remote host closed the connection]
_paul0 has joined #lisp
paul0 has quit [Ping timeout: 252 seconds]
``Erik has quit [Ping timeout: 265 seconds]
``Erik has joined #lisp
cosimone has joined #lisp
william1_ has quit [Ping timeout: 240 seconds]
fookara has quit [Remote host closed the connection]
jello_pudding has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
AnimalCl` has joined #lisp
pnp has joined #lisp
pnp has quit [Remote host closed the connection]
je4i has joined #lisp
AnimalCl` has quit [Ping timeout: 260 seconds]
random-nick has joined #lisp
elderK has quit [Quit: WeeChat 1.9]
orivej has quit [Ping timeout: 265 seconds]
luna_is_here has joined #lisp
cosimone has quit [Quit: Terminated!]
jonatack has quit [Ping timeout: 260 seconds]
cosimone has joined #lisp
karlosz has quit [Quit: karlosz]
atgreen has joined #lisp
outerpasta has joined #lisp
AnimalCl` has joined #lisp
q-u-a-n2 has joined #lisp
davisr__ has joined #lisp
cosimone has quit [Remote host closed the connection]
davisr_ has quit [Ping timeout: 260 seconds]
cosimone has joined #lisp
varjag has joined #lisp
AnimalCl` has quit [Ping timeout: 260 seconds]
mathrick has joined #lisp
jello_pudding has quit [Read error: Connection reset by peer]
cosimone has quit [Quit: Quit.]
gabot has quit [Ping timeout: 252 seconds]
gabot has joined #lisp
jonatack has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
jonatack has quit [Ping timeout: 265 seconds]
jonatack has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
AnimalCl` has joined #lisp
ArthurStrong has quit [Remote host closed the connection]
je4i has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
je4i has joined #lisp
FreeBirdLjj has joined #lisp
AnimalCl` has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
vs has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
je4i has quit [Read error: No route to host]
je4i has joined #lisp
stepnem_ has quit [Ping timeout: 260 seconds]
wxie has joined #lisp
slyrus_ has joined #lisp
stepnem has joined #lisp
Necktwi has quit [Read error: Connection reset by peer]
slyrus__ has quit [Ping timeout: 268 seconds]
ebrasca has joined #lisp
william1_ has joined #lisp
pioneer42 has joined #lisp
AnimalCl` has joined #lisp
Nilby has quit [Ping timeout: 258 seconds]
AnimalCl` has quit [Ping timeout: 240 seconds]
whiteline has joined #lisp
atgreen has quit [Ping timeout: 258 seconds]
Kundry_Wag has joined #lisp
space_otter has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 240 seconds]
libertyprime has quit [Quit: leaving]
<Xach> merry lispmas, one and all
jonatack has quit [Excess Flood]
wxie has quit [Ping timeout: 260 seconds]
jonatack has joined #lisp
anewuser has joined #lisp
smokeink has quit [Ping timeout: 258 seconds]
jonatack has quit [Ping timeout: 268 seconds]
jonatack has joined #lisp
<phoe> merry lispmas to you too
AnimalCl` has joined #lisp
atgreen has joined #lisp
je4i` has joined #lisp
AnimalCl` has quit [Read error: Connection reset by peer]
je4i has quit [Ping timeout: 264 seconds]
loutine has joined #lisp
loutine has left #lisp [#lisp]
Kundry_Wag has joined #lisp
cosimone has joined #lisp
william1_ has quit [Ping timeout: 265 seconds]
dra has joined #lisp
bitmapper has joined #lisp
shifty has joined #lisp
hsaziz has joined #lisp
<hsaziz> What does Portacle use for code completion? I am trying to customize my Emacs setup rather than accept the entirety of Portacle.
v0|d has quit [Ping timeout: 248 seconds]
pioneer42 has left #lisp [#lisp]
<ebrasca> Xach: What is lispmas?
jonatack has quit [Read error: Connection reset by peer]
<ebrasca> hsaziz: I think portable uses slime for code completion.
<pjb> ebrasca: https://termbin.com/h16k there are parens in there!
<phoe> hsaziz: slime-company I guess
<hsaziz> ebrasca: It is certainly themed differently. Looks quite different from my vanilla Emacs with Slime/fancy.
<hsaziz> And how do I allow free editing of parentheses within Portacle? I find the forced matching of parentheses a bit irritating at times.
<ebrasca> hsaziz: Here portacle config files https://github.com/portacle/emacsd
<Xach> ebrasca: it is the day we celebrate lisp and try to hack as best we can
<Xach> ebrasca: i should mention that *every* day is lispmas, i just forget to say "merry lispmas" sometimes.
orivej has joined #lisp
william1_ has joined #lisp
ArthurStrong has joined #lisp
dra has quit [Quit: Leaving]
orivej has quit [Ping timeout: 265 seconds]
<hsaziz> ebrasca: Thanks.
ZeNEX has joined #lisp
<ZeNEX> Hello, is there an extensive common lisp reference manual online? Something like https://en.cppreference.com/w/ for CL?
<ZeNEX> I've found a few but they are not updated or user friendly.
<ArthurStrong> People pointing to HyperSpec often
<ArthurStrong> IDK if it's fresh enough
<ZeNEX> So I looked for make-instance in there and it did not appear, is it not part of CL?
<ebrasca> ZeNEX: Do you mean someting like this http://clqr.boundp.org/clqr-letter-consec.pdf ?
EvW has joined #lisp
<Xach> ZeNEX: when i want to look up known symbols, i use http://l1sp.org/cl/make-instance
<ZeNEX> That's helpful, but I'd rather have an exhaustive HTML doc for CL.
<Xach> make-instance is in the hyperspec.
<Xach> the hyperspec is an exhaustive html doc for cl.
gareppa has joined #lisp
<ZeNEX> OK I just found it, looks like I was searching for something else...
<ZeNEX> Thanks guys.
<pfdietz> clhs make-instance
<hsaziz> How do I make free editing of parentheses the default behavior in Portacle? I do not want it (at least for the moment) to automatically generate [and enforce] matched parentheses.
wsinatra has quit [Quit: WeeChat 2.7]
william1_ has quit [Ping timeout: 268 seconds]
<Xach> hsaziz: I think that is due to paredit-mode, so toggling paredit-mode might help you.
<Xach> I don't use portacle so I am not 100% certain
ebzzry has joined #lisp
ZeNEX has quit [Quit: Leaving]
william1_ has joined #lisp
izh_ has joined #lisp
fitzsim has quit [Ping timeout: 268 seconds]
Kundry_Wag has quit [Ping timeout: 260 seconds]
decent-username has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
rippa has joined #lisp
vs has quit [Ping timeout: 258 seconds]
hsaziz1 has joined #lisp
Lord_of_Life_ has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
william1_ has quit [Ping timeout: 240 seconds]
vs has joined #lisp
hsaziz1 has quit [Ping timeout: 258 seconds]
srji has joined #lisp
vs has quit [Ping timeout: 265 seconds]
EuAndreh[m] has quit [Quit: authenticating]
phlim has joined #lisp
izh_ has quit [Quit: Leaving]
EvW has quit [Ping timeout: 248 seconds]
jonatack has joined #lisp
<beach> clothespin_: You can talk about your stuff on #sicl. I am usually on from around 06:00 to around 18:00 UTC+1, but today I have had guests over for lunch, and I am a bit busy cleaning up.
xkapastel has joined #lisp
wsinatra_ has quit [Quit: WeeChat 2.7]
gareppa has quit [Quit: Leaving]
dddddd has joined #lisp
je4i` has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
bitmapper has quit [Remote host closed the connection]
bitmapper has joined #lisp
william1_ has joined #lisp
cosimone has quit [Quit: Terminated!]
Fare has joined #lisp
<hsaziz> (car '((Happy Festivus!) 13)
<decent-username> happy winter holiday!
<hsaziz> Oops wrong parenthesisation!
<hsaziz> (car '((Happy Festivus!) 13))
FreeBirdLjj has joined #lisp
EvW has joined #lisp
<pfdietz> For the (rest of-us)
fortitude has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
Fare has quit [Ping timeout: 260 seconds]
_whitelogger has joined #lisp
clothespin_ has quit [Ping timeout: 260 seconds]
slyrus has joined #lisp
slyrus__ has joined #lisp
slyrus_ has quit [Ping timeout: 258 seconds]
slyrus has quit [Ping timeout: 258 seconds]
outerpasta has quit [Ping timeout: 260 seconds]
outerpasta has joined #lisp
william1_ has joined #lisp
earl-ducaine has joined #lisp
zaquest has joined #lisp
outerpasta has quit [Quit: ERC (IRC client for Emacs 26.1)]
clothespin has joined #lisp
william1_ has quit [Ping timeout: 258 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
outerpasta has joined #lisp
outerpasta has quit [Remote host closed the connection]
shifty has quit [Ping timeout: 260 seconds]
outerpasta has joined #lisp
outerpasta has left #lisp [#lisp]
fortitude has quit [Ping timeout: 258 seconds]
Fare has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 245 seconds]
william1_ has joined #lisp
xkapastel has joined #lisp
wsinatra has joined #lisp
hsaziz has quit [Ping timeout: 265 seconds]
mathrick has quit [Ping timeout: 265 seconds]
je4i has joined #lisp
random-nick has quit [Ping timeout: 260 seconds]
clothespin__ has joined #lisp
william1_ has quit [Ping timeout: 260 seconds]
clothespin has quit [Ping timeout: 260 seconds]
FareTower has joined #lisp
je4i` has joined #lisp
orivej has joined #lisp
je4i has quit [Ping timeout: 264 seconds]
je4i` has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
longshi has joined #lisp
mathrick has joined #lisp
FareTower has quit [Ping timeout: 260 seconds]
random-nick has joined #lisp
ggole has quit [Quit: Leaving]
buffergn0me has joined #lisp
william1_ has joined #lisp
Fare has joined #lisp
Fare has quit [Ping timeout: 260 seconds]
<phoe> Is the NAMED-READTABLES repository at https://github.com/melisgl/named-readtables abandoned?
<phoe> An issue I've made one and half a year ago was still not resolved, and the maintainer seemd inactive on GitHub.
<pfdietz> I wonder how to arrange a better way to support these things. It would have to involve a group of people, and a subset of the available packages. Perhaps this could be a way of establishing a de facto standard library?
Kundry_Wag has joined #lisp
<Shinmera> pfdietz: If I understand you correctly Sharplispers is such a thing?
karlosz has joined #lisp
<phoe> pfdietz: sharplispers
<pfdietz> Ok then
<Shinmera> It's not /quite/ the same thing, as, if I understand, it's supposed to be a fallback for important projects that are no longer maintained by the original authors
<Shinmera> rather than a proactive group that takes up maintenance of projects that have established themselves ahead of time.
<phoe> Shinmera: sharplispers is a group of people who take care of abandoned projects that belong to the de facto standard library
<phoe> that's my definition of it
cosimone has joined #lisp
<Shinmera> so pretty much what I said
<phoe> ayup
<phoe> except I've tried to tie my words into what pfdietz said
<Shinmera> A more proactive approach could be good too, I think.
<phoe> like, alexandria isn't under sharplispers since it has active maintainers
<phoe> even though I can't imagine a more belongs-to-the-standard-library codebase than alexandria
fortitude has joined #lisp
EvW1 has joined #lisp
gravicappa has quit [Ping timeout: 260 seconds]
cosimone has quit [Quit: Terminated!]
cosimone has joined #lisp
bitmapper has quit [Remote host closed the connection]
bitmapper has joined #lisp
cosimone has quit [Quit: Terminated!]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
gareppa has joined #lisp
hsaziz has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
hsaziz has quit [Client Quit]
Kundry_Wag has quit [Ping timeout: 260 seconds]
gravicappa has joined #lisp
<pfdietz> There, the question becomes how to add things to it, and who decides what goes in.
<phoe> pfdietz: no idea, one could ask fe[nl]ix or Xach perhaps
william1_ has quit [Quit: WeeChat 1.9.1]
william1 has joined #lisp
william1 has quit [Client Quit]
clothespin__ has quit [Ping timeout: 245 seconds]
ArthurStrong has quit [Quit: leaving]
Fare has joined #lisp
slyrus has joined #lisp
slyrus__ has quit [Ping timeout: 258 seconds]
ym has joined #lisp
<ym> Hi. macrolet defined in top unquoted part of defmacro won't work in it's quoted part, right?
wsinatra has quit [Quit: WeeChat 2.7]
Kundry_Wag has joined #lisp
<decent-username> ym: Do you want to use macrolet to make the macro code easier to read/maintain?
karlosz has quit [Quit: karlosz]
<earl-ducaine> RE: proactive approach to the CL core library. common-lisp.net, seems like a logical registry for projects, maintainers, official source locations, etc.
X-Scale has quit [Ping timeout: 265 seconds]
cosimone has joined #lisp
<earl-ducaine> But, it suffers the same problem that many CL projects do, much of the info is woefully out of date.
<ym> decent-username, I'm want to write xlib wrapper to make xlib's functions easier to work with. with-x macro takes body and should convert for example (xlib:draw-arc drawable gc x y ...) into (circle x y r). So circle should be available from with-x only.
<decent-username> hm...
clothespin_ has joined #lisp
X-Scale` has joined #lisp
<MichaelRaskin> You just need to insert the macrolet into the expansion (quoted part, so to say)
<ym> Hmm. Got it, gonna try, thanks.
<decent-username> the expanded code would have the macrolet and it should be accessible from within.
buffergn0me has quit [Ping timeout: 260 seconds]
gareppa has quit [Quit: Leaving]
<decent-username> you will be able to use the macro if the expanded code has the macrolet.
<decent-username> It shouldn't be too hard.
<ym> I thought it's not good idea to nest `-code.
<pfdietz> It would be interesting to trawl through quicklisp to find functions that lots of people have copied, and move them into Alexandria.
<decent-username> scroll to the very bottom.
<decent-username> There's a box, which contains a macro with nested `-forms.
<decent-username> if PCL does it, it can't be wrong. haha
gravicappa has quit [Ping timeout: 265 seconds]
<MichaelRaskin> pfdietz: probably with variable-renaming detection
<ym> Yep, it works. Thanks again.
<decent-username> nice to hear.
<MichaelRaskin> pfdietz: Actually, maybe you should just look for repeating AST subtrees?
buffergn0me has joined #lisp
<MichaelRaskin> ym: `-nesting definitely has some cost in terms of ease of reasoning. There are quite a few cases where it is still the cheapest approach
<phoe> earl-ducaine: I've heard voices that gitlab.cl.net is not a good place because of it being hard to reach from the outside - invitations and so on
<phoe> but then again, I can't see how it can be fought differently unless one hires a spam-fighting person
<phoe> and this discussion might belong better on #common-lisp.net
<phoe> pfdietz: alexandria has yet another issue due to being widespread
<phoe> if alexandria introduces an exported symbol named FOO, how many people who :use :alexandria will get symbol conflicts due to alexandria being used along with other packages?
<phoe> its export list is pretty much frozen in stone due to that, since it introducing new exported symbols might (and will) break user code
<earl-ducaine> I'm trying to create a macro, defreplace, that emits a macro such that (defreplace name newname) would create the macro (defmacro name (&body body) `(newname ,@body))
<earl-ducaine> I can't believe I'm totally stuck on such a simple macro.
<phoe> whose fault is it? I say no one's, since there was no good solution for nicknames before PLNs (and even PLNs aren't all the best that we could possibly get)
<phoe> what do we do about it? I'm happy to hear answers about this one
<phoe> s/about/for/
cosimone has quit [Remote host closed the connection]
<pfdietz> phoe: trawling quicklisp will also tell you which symbols would collide, at least with everything in quicklisp that uses Alexandria.
xkapastel has quit [Quit: Connection closed for inactivity]
cosimone has joined #lisp
<pfdietz> But it does suggest that :USE has problems. :IMPORT-FROM doesn't suffer from that issue.
<phoe> pfdietz: hmm. That is a workable approach.
<phoe> pfdietz: or PLNs.
<phoe> Again though, :USE is convenient, whereas :IMPORT-FROM is not.
<pfdietz> Wanted: tool that automatically produces the IMPORT-FROM list.
<MichaelRaskin> Hmm, that doesn't even require code-walking
<pfdietz> earl-ducaine: macros that create macros tempt one to use nested backquote forms. Resist this temptation. Use unnested backquoutes with separate helper functions.
<MichaelRaskin> But then you need to maintain the list
<_death> earl-ducaine: start at "Consider this set of sample values:" in https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node367.html#SECTION003600000000000000000
<pfdietz> Once you're using IMPORT-FROM, you just add names as needed.
buffergn0me has quit [Ping timeout: 260 seconds]
shka_ has quit [Ping timeout: 240 seconds]
brettgilio has quit [Quit: Quit]
bendersteed has joined #lisp
longshi has quit [Quit: WeeChat 2.6]
Kundry_Wag has quit []
karlosz has joined #lisp
Fare has quit [Ping timeout: 260 seconds]
<earl-ducaine> _death: I hadn't looked at the CLTL appendix on macros. Sadly, it didn't help. The only solution I could find was to manipulate the defmacro form as a list. https://gist.github.com/earl-ducaine/3151a85c5b2a0ee6888ccab306cd28da
<pfdietz> The book On Lisp goes heavily into macros-that-produce-macros, as I recall.
<_death> earl-ducaine: since you want to use newname's value (an arbitrary object, not a form to be evaluated, that's available when the outer backquote is evaluated) you want to use ,',newname, i.e. (defmacro defreplace (name newname) `(defmacro ,name (&body body) `(,',newname ,@body)))
decent-username has quit [Ping timeout: 258 seconds]
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
<pfdietz> Or, you can use a helper function and not nest the backquotes. I find that approach much less confusing.
<phoe> ^
<phoe> you can do double backquotes, the question is whether it's worth it
<phoe> it's been a while since I answered this question for myself with a "no, not at all"
vs has joined #lisp
<earl-ducaine> _death: Yes, that's exactly what I was looking for. Thanks!
luna_is_here has quit [Ping timeout: 260 seconds]
slyrus_ has joined #lisp
random-nick has quit [Ping timeout: 265 seconds]
slyrus has quit [Ping timeout: 268 seconds]
buffergn0me has joined #lisp
<flip214> phoe: I've started a call for ideas for a ALEXANDRIA-2 package... merge requests welcome, or just push to the branch
<_death> perhaps it would be a good idea to improve the implementation of operators already defined
phoe has quit [Ping timeout: 250 seconds]
phlim has quit [Quit: WeeChat 2.4]
cosimone has quit [Quit: Quit.]
<aeth> As far as going beyond PLNs, CL needs hierarchical packages. Right now you can kind of sort of fake it with uiop:define-package's use-reexport or at least one other library that does something similar, but it's not ideal sicne they're still all top level packages, just with / to fake a hierarchy that's not there.
<aeth> s/sicne/since/
phoe has joined #lisp
<pfdietz> Hierarchical packages solve the problem of "export to my neighbors, but not to the outside world"?
<aeth> pfdietz: Sort of. They solve the problem of controlling what goes to the outside world.
<aeth> pfdietz: So e.g. you can use-reexport 7 of 9 packages, and juse use 2 packages (in addition to CL, obviously), keeping them essentially 'private'
<aeth> s/juse use/just use/
<aeth> Hierarchical packages could enforce this a bit more because if it's not a public package then it would be restricted to the other subpackages (although there might have to be some escape hatch for testing packages)
<aeth> So I guess exactly what you said, then.
<aeth> It's "export to my neighbors [and parent], but not to the outside world [unless the parent says so]" with the addition of a use-reexport for convenience.
random-nick has joined #lisp
Arcaelyx has joined #lisp
quazimodo has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
slyrus__ has joined #lisp
luna_is_here has joined #lisp
sauvin has quit [Ping timeout: 265 seconds]
sauvin_ has joined #lisp
slyrus_ has quit [Ping timeout: 265 seconds]
karlosz has quit [Client Quit]
karlosz has joined #lisp
<pfdietz> Cool, ty
anewuser has quit [Ping timeout: 258 seconds]
karlosz has quit [Client Quit]
karlosz has joined #lisp
<no-defun-allowed> Can I invoke the Lisp compiler with a form like `(funcall #<function> values...)`, with a function object directly provided to it?
ebrasca has quit [Remote host closed the connection]
anewuser has joined #lisp
karlosz has quit [Client Quit]
karlosz has joined #lisp
<Shinmera> as long as you don't dump it, sure.
<Shinmera> objects, unless otherwise specified, are self-evaluating.
karlosz has quit [Client Quit]
karlosz has joined #lisp
misterwhatever has joined #lisp
william1 has joined #lisp
pest-ctrl has joined #lisp
<no-defun-allowed> Alright, thanks.
lnostdal has quit [Remote host closed the connection]
grewal has quit [Remote host closed the connection]
grewal_ has quit [Remote host closed the connection]
pest-ctrl has quit [Client Quit]
buffergn0me has quit [Ping timeout: 260 seconds]
pest-ctrl has joined #lisp
Guest73624 has quit [Read error: Connection reset by peer]
Guest73624 has joined #lisp
mooch has joined #lisp
mooch has quit [Remote host closed the connection]
scymtym has joined #lisp
mooch has joined #lisp
mooch has quit [Client Quit]
anewuser has quit [Ping timeout: 268 seconds]
space_otter has joined #lisp
random-nick has quit [Ping timeout: 260 seconds]
akoana has joined #lisp
EvW1 has quit [Ping timeout: 260 seconds]
mooch has joined #lisp
hiroaki_ has quit [Remote host closed the connection]
bitmapper has quit []
bitmapper has joined #lisp
<ym> Is there a library for implementation portable time and schedulers handling?
<fe[nl]ix> ym: try trivial-timers
<phoe> or confusingly-similarly-named trivial-timer
<pfdietz> trivial-timers was last updated 9 years ago, the other just recently.
<phoe> seriously, both are in quicklisp and it seems that the plural version was last updated in 2010 while th--
<phoe> this
<pfdietz> jinx!
<pfdietz> This question was answered by having the entire quicklisp dist downloaded, and ls -ld *time* in quicklisp/dist/quicklisp/software/
<pfdietz> dists
<ym> Thanks. Strange that https://cliki.net/time doesn't has it in list.
<phoe> pfdietz: (ql:system-apropos "timer")
<phoe> no need to download the whole dist
dale has joined #lisp
<phoe> ym: cliki tends to be outdated. Everyone and no one maintains it.