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/>
Lord_of_Life has quit [Ping timeout: 240 seconds]
morganw has quit [Remote host closed the connection]
Lord_of_Life has joined #commonlisp
NotThatRPG has joined #commonlisp
occ has joined #commonlisp
<cpli> how would you expand a loop into a progn?
<cpli> (DEFMACRO MARCO (&REST ARGS) `(PROGN ,@(LOOP FOR ARG IN ARGS COLLECT (MAKE-FORM ARG))))
<cpli> doesn't quite work
NicknameJohn has quit [Ping timeout: 255 seconds]
<cpli> oh
JonBoone[m] has joined #commonlisp
azimut has joined #commonlisp
glaucon has quit [Read error: Connection reset by peer]
random-nick has quit [Ping timeout: 265 seconds]
Gleefre has joined #commonlisp
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
makomo has quit [Ping timeout: 252 seconds]
mariari has quit [Ping timeout: 252 seconds]
dcb has quit [Remote host closed the connection]
epolanski has quit [Quit: Connection closed for inactivity]
mariari has joined #commonlisp
jeosol has quit [Quit: Client closed]
jeosol has joined #commonlisp
kevingal_ has quit [Ping timeout: 276 seconds]
kevingal has quit [Ping timeout: 255 seconds]
dcb has joined #commonlisp
dcb has quit [Client Quit]
jeosol has quit [Quit: Client closed]
<contrapunctus> cpli: why are you reading kmonad configurations, instead of letting the configuration be Common Lisp code? That would be vastly more powerful 🤔️
avocadoist has joined #commonlisp
euandreh has quit [Ping timeout: 240 seconds]
azimut has quit [Ping timeout: 255 seconds]
jon_atack has joined #commonlisp
azimut has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
Brucio-61 has quit [Read error: Connection reset by peer]
lucasta has quit [Remote host closed the connection]
lucasta has joined #commonlisp
scymtym has quit [Ping timeout: 276 seconds]
Brucio-61 has joined #commonlisp
<cpli> ...
<cpli> contrapunctus: i already have the common lisp code..
<cpli> it would just be fun if it wasn't only "vastly more powerful"
<cpli> but people could start using it, without having to change, but the package that's installed and the binary that's executed.
shka has joined #commonlisp
lucasta has quit [Read error: Connection reset by peer]
Josh_2 has joined #commonlisp
<Josh_2> :trumpet:
beach has quit [Quit: ERC (IRC client for Emacs 26.3)]
jonatack1 has joined #commonlisp
jon_atack has quit [Read error: Connection reset by peer]
son0p has quit [Ping timeout: 276 seconds]
rgherdt has joined #commonlisp
Cymew has joined #commonlisp
pve has joined #commonlisp
soundmodel has joined #commonlisp
<soundmodel> any tips about a list of arguments to convert Pythonists to CL?
<soundmodel> assuming that CL and Python are exclusive
<Josh_2> Show them some code?
<soundmodel> but then they say "hey no libraries"
<soundmodel> or they say "hey this does the same thing, just syntactic nuance"
<Josh_2> :shrug:
<Josh_2> Just show them code
<soundmodel> "no big deal, both are scripting languages and get the job done"
<Josh_2> CL isn't a scripting language
<soundmodel> I thought it is its main market, because it's a high-level and dynamic language originally
makomo has joined #commonlisp
<soundmodel> or maybe half of what Java does and half of what Python does
<Josh_2> CL isnt a scripting language, in fact its a right faff to make it work (nicely) as one
<soundmodel> so you mean another Lisp is of the scripting type?
<soundmodel> although I am not sure about where you draw the line between scripting and something else
<soundmodel> maybe that a scripting DSL has less constructs
<Josh_2> Well CL is normally compiled
<soundmodel> yes, but I don't understand why a scripting language must be interpreted
<soundmodel> heck, even Java is used as a scripting language in some tools
<Josh_2> I think writing "scripts" is antithetical to the intended purpose of CL
<Josh_2> CL is a large but elegant system for solving large and complicated problems
<soundmodel> so is there some other Lisp for this use case then?
<Josh_2> Probably Guile or another scheme
<soundmodel> so why aren't these the same language
<phoe> because lisp history is complicated and people behind Guile wanted a different set of ideas and tradeoffs than the one offered by CL
<phoe> in particular, Guile is a dialect of Scheme
<soundmodel> I originally was wishing to find more uniformity in Lisps compared to C-languages
<Josh_2> If you want an argument for CL then you can point out that it is an image based language, the entire language is available at runtime
<soundmodel> because I'm not finding that JavaScript is a dialect of C or something
<Josh_2> well they have () :joy:
<Josh_2> But even some lisps like clojure ruin this by introducing [] :sob:
<phoe> soundmodel: uniformity in C languages? you mean C, C++, D, Rust, Zig, Pony, Crystal, Nim, and so on?
<soundmodel> Java too
<soundmodel> but to me they don't have much in common
<phoe> oh so we add managed languages to the mix too
<Josh_2> Lisps treat code as data etc
<soundmodel> so I thought that Lisps were more "family-like"
<soundmodel> I originally wanted languages that are easy to link together
<soundmodel> i.e. embedded to each other etc.
<phoe> lisps are different just like everything else out there
<phoe> even parentheses are optional, as Dylan sort of proves
<Josh_2> ^
<phoe> though that's already a #lisp discussion since it's not about just CL anymore
<soundmodel> but I mean, if I associate CL with Java
<soundmodel> then now I a wondering what's the C of CL and what's the JS of CL
<Josh_2> CL is the C of CL
<phoe> it's CL and CL, respectively
<soundmodel> or what is the Python of CL
<Josh_2> CL is the python is CL :joy:
<phoe> CL is able to swallow a lot of other languages' job because of its ability to write domain-specific sublanguages in CL and then write domain-specific code in these DSLs
<soundmodel> but this is said to be true for C++ also
<phoe> ...except it has a decent macro system instead of C++ templates
<phoe> and decent error messages that don't fill up your screen with sharp brackets and class names
<phoe> and, yeah, it's interactive unlike C++
Josh_2 has quit [Ping timeout: 255 seconds]
LW has joined #commonlisp
LW has quit [Client Quit]
varjag has joined #commonlisp
Josh_2 has joined #commonlisp
mooseball has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
occ has quit [Read error: Connection reset by peer]
Devon has quit [Ping timeout: 240 seconds]
soundmodel has quit [Quit: Client closed]
occ has joined #commonlisp
MajorBiscuit has joined #commonlisp
jathd has joined #commonlisp
scymtym has joined #commonlisp
Brucio-61 has joined #commonlisp
Gleefre has joined #commonlisp
mgl has joined #commonlisp
son0p has joined #commonlisp
nicm[m] has quit [Quit: You have been kicked for being idle]
<Josh_2> What sort of performance impact is there to calling sort on an already sorted list?
<Josh_2> I gotta maintain the order of a sequence while adding and removing elements
<Josh_2> The sequence will never be greater than 260 (or so) so guess it doesn't really matter :shrug:
<Alfr> Josh_2, you may want to look at MERGE.
<Josh_2> Spot on
<Josh_2> Thanks :)
_cymew_ has joined #commonlisp
occ has quit [Ping timeout: 256 seconds]
pve has quit [Ping timeout: 255 seconds]
euandreh has joined #commonlisp
euandreh has quit [Remote host closed the connection]
euandreh has joined #commonlisp
jmdaemon has quit [Ping timeout: 255 seconds]
euandreh has quit [Quit: euandreh]
attila_lendvai has joined #commonlisp
pve has joined #commonlisp
X-Scale has joined #commonlisp
bjorkintosh has quit [Ping timeout: 248 seconds]
mgl has quit [Quit: Client closed]
minion has quit [Remote host closed the connection]
specbot has quit [Remote host closed the connection]
NotThatRPG_ has joined #commonlisp
samebchase7 has joined #commonlisp
NotThatRPG has quit [Ping timeout: 252 seconds]
jfb4_ has joined #commonlisp
buffet has quit [Ping timeout: 252 seconds]
MetaYan has quit [Ping timeout: 252 seconds]
pok has quit [Ping timeout: 252 seconds]
pok has joined #commonlisp
pok has quit [Changing host]
pok has joined #commonlisp
jfb4 has quit [Read error: Connection reset by peer]
MetaYan has joined #commonlisp
mariari has quit [Ping timeout: 252 seconds]
samebchase has quit [Ping timeout: 252 seconds]
samebchase7 is now known as samebchase
jfb4_ is now known as jfb4
buffet has joined #commonlisp
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
random-nick has joined #commonlisp
minion has joined #commonlisp
msavoritias has quit [Ping timeout: 248 seconds]
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
msavoritias has joined #commonlisp
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
minion has quit [Remote host closed the connection]
minion has joined #commonlisp
specbot has joined #commonlisp
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
euandreh has joined #commonlisp
mariari has joined #commonlisp
cage has joined #commonlisp
euandreh has quit [Remote host closed the connection]
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
euandreh has joined #commonlisp
edgar-rft has quit [Quit: Leaving]
easye has quit [Ping timeout: 264 seconds]
tyson2 has joined #commonlisp
easye has joined #commonlisp
kenran has joined #commonlisp
easye has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)]
easye has joined #commonlisp
mooseball has quit [Ping timeout: 240 seconds]
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
mooseball has joined #commonlisp
kenran has quit [Remote host closed the connection]
jonatack1 has quit [Ping timeout: 246 seconds]
Gleefre has quit [Remote host closed the connection]
euandreh has quit [Quit: euandreh]
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 246 seconds]
attila_lendvai has quit [Quit: Leaving]
attila_lendvai has joined #commonlisp
Brucio-61 has joined #commonlisp
jonatack1 has joined #commonlisp
kevingal_ has quit [Ping timeout: 240 seconds]
kevingal has quit [Ping timeout: 240 seconds]
Josh_2 has quit [Ping timeout: 240 seconds]
scymtym has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
treflip has joined #commonlisp
jonatack1 has quit [Ping timeout: 240 seconds]
Devon has joined #commonlisp
jmdaemon has joined #commonlisp
jonatack1 has joined #commonlisp
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
jonatack1 has quit [Quit: WeeChat 3.8]
jonatack has joined #commonlisp
jmdaemon has quit [Quit: ZNC 1.8.2 - https://znc.in]
Cymew has quit [Ping timeout: 252 seconds]
jmdaemon has joined #commonlisp
mooseball has quit [Quit: Leaving]
morganw has joined #commonlisp
chipxxx has quit [Ping timeout: 265 seconds]
treflip has quit [Ping timeout: 260 seconds]
jmdaemon has quit [Ping timeout: 264 seconds]
cage has quit [Quit: rcirc on GNU Emacs 28.2]
jeosol has joined #commonlisp
johnjaye has quit [Ping timeout: 260 seconds]
zxcvz has joined #commonlisp
dcb has joined #commonlisp
_cymew_ has quit [Ping timeout: 260 seconds]
mooseball has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
gleefre_ has joined #commonlisp
edgar-rft has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
skin has joined #commonlisp
tane has quit [Quit: Leaving]
MajorBiscuit has quit [Quit: WeeChat 3.6]
tyson2 has joined #commonlisp
tyson2 has quit [Ping timeout: 248 seconds]
jeosol has quit [Quit: Client closed]
mooseball has quit [Quit: Leaving]
skin has quit [Read error: Connection reset by peer]
lucasta has joined #commonlisp
Gleefre has joined #commonlisp
Devon has quit [Read error: Connection reset by peer]
skin has joined #commonlisp
gleefre_ has quit [Quit: Connection closed for inactivity]
jmdaemon has joined #commonlisp
jmdaemon has quit [Ping timeout: 250 seconds]
boogsbunny has joined #commonlisp
<boogsbunny> How do I use template literals in Parenscript? I'd like to store a variable foo that holds `bar`
<pjb> (setf foo 'bar) ; or do I fail to understand what you want?
<boogsbunny> the value needs to be wrapped in backtick characters
avocadoist has quit [Read error: Connection reset by peer]
<boogsbunny> foo = `bar`
avocadoist has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
<pjb> boogsbunny: this doesn't mean anything.
<pjb> boogsbunny: in Common Lisp, "backtick" is a character bound to a reader macro, that reads a certain syntax and returns an expression that builds a S-expressions following that template.
<Bike> a "template literal" is a javscript thing.
<pjb> In that case, you need to identify what lisp form parenscript transcribes into `bar` and use that.
<pjb> It's possible that it doesn't exist, parenscript doesn't try to provide a lisp form for each javascript syntax.
jeosol has joined #commonlisp
<pjb> boogsbunny: in the worst case, you can use js: (ps:js "foo = `bar`") to insert inline javascript.
<boogsbunny> yeah, I'm writing JavaScript using Parenscript for that purpose. I'm not sure how to accomplish that in Parenscript or Common Lisp yet which is why I'm asking around here. For example, (setf foo (format nil "`~a`" "bar")) here wraps it in backticks but it's a string
<boogsbunny> mhmm, isn't that macro deprecated?
<pjb> well, as the name indicates, they're template LITERALS, not template expressions, so you cannot build them at run-time.
<edwlan[m]> template literals are irrelevant in parenscript because they’re part of the syntax of JavaScript that parenscript hides from you
<pjb> (in javascript).
<pjb> But you could write a macro to compute the string at lisp macroexpand-time, and expand into the ps:js form.
<pjb> But note that you still need to know "bar" at compilation-time (macroexpansion-time).
<pjb> I guess you could use: (setf foo (ps:js "`bar`"))
X-Scale has quit [Ping timeout: 260 seconds]
boogsbunny has quit [Ping timeout: 248 seconds]
boogsbunny has joined #commonlisp
NotThatRPG_ has quit [Ping timeout: 248 seconds]
akoana has joined #commonlisp
makomo has quit [Quit: WeeChat 3.6]
zxcvz has quit [Quit: zxcvz]
attila_lendvai_ has joined #commonlisp
attila_lendvai has quit [Ping timeout: 240 seconds]
boogsbunny has quit [Remote host closed the connection]
chrcav has quit [Ping timeout: 276 seconds]
chrcav has joined #commonlisp
NotThatRPG has joined #commonlisp
Krystof has joined #commonlisp
<kagev> parenscript is meant to be used with ES5 ... there are other libraries that build on parenscript for ES6+ features, though
<kagev> I would just embrace parenscript as a subset of CL and use it as a Lisp and let parenscript worry about getting your code into JS
<kagev> for putting strings together I would lean toward doing it the CL way as much as possible and forget about using a template literal
jmdaemon has joined #commonlisp
boogsbunny has joined #commonlisp
boogsbunny has quit [Ping timeout: 248 seconds]
boogsbunny has joined #commonlisp
boogsbunny has quit [Ping timeout: 240 seconds]
shka has quit [Ping timeout: 240 seconds]
lucasta has quit [Remote host closed the connection]
akoana has quit [Quit: leaving]
jathd has quit [Ping timeout: 264 seconds]
son0p has quit [Read error: Connection reset by peer]
rgherdt has quit [Remote host closed the connection]
NotThatRPG_ has joined #commonlisp
pve has quit [Quit: leaving]
NotThatRPG has quit [Ping timeout: 252 seconds]
NotThatRPG_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
X-Scale has joined #commonlisp
morganw has quit [Remote host closed the connection]
boogsbunny has joined #commonlisp
<prxq> how do i print a symbol including the package name? like (<magic> 'symbol) => "PACKAGE::SYMBOL"
<boogsbunny> ah, I didn't realize that template literals are part of ES6. Thanks for all the advice!
boogsbunny has quit [Remote host closed the connection]
X-Scale has quit [Ping timeout: 260 seconds]
NotThatRPG has joined #commonlisp
son0p has joined #commonlisp
skin has quit [Quit: Leaving.]
X-Scale has joined #commonlisp
<prxq> got this but it feels hacky, (defun symbol-full-name (symbol) (let ((*package* (find-package :keyword))) (write-to-string symbol)))
boogsbunny has joined #commonlisp
<kagev> prxq: maybe something like this: (format t "~a ~a~%" (package-name (symbol-package 'my-var)) 'my-var)
<prxq> kagev: that's explicit. thank you.
szkl has quit [Quit: Connection closed for inactivity]
<kagev> prxq: not sure if it's the *best* way, but it's *a* way :D
boogsbunny has quit [Ping timeout: 248 seconds]
<pjb> prxq: this doesn't work: (symbol-full-name :foo)
<prxq> pjb: right
azimut has joined #commonlisp
<pjb> prxq: try: (defun symbol-qualified-name (symbol) (concatenate 'string (package-name (symbol-package symbol)) "::" (symbol-name symbol))) (mapcar 'symbol-qualified-name '(:foo bar car)) #| --> ("KEYWORD::FOO" "COMMON-LISP-USER::BAR" "COMMON-LISP::CAR") |#
<prxq> pjb: thanks!
NicknameJohn has joined #commonlisp
attila_lendvai_ has quit [Ping timeout: 264 seconds]
boogsbunny has joined #commonlisp
X-Scale has quit [Ping timeout: 260 seconds]
boogsbunny has quit [Ping timeout: 255 seconds]
random-nick has quit [Ping timeout: 248 seconds]