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/>
<random-nick> Kingsy: that was a typo, I just wanted to write ignores
dino_tutter has quit [Ping timeout: 256 seconds]
<random-nick> in more technical terms, shadowing a symbol name in a package makes sure there's an internal symbol in that package with that name, and that it is considered shadowed, meaning that in case of conflict it is automatically resolved in the shadowed symbol's favour
<aeth> NotThatRPG: oh no, the bot has access to the web
<random-nick> an external symbol can be considered shadowed too, when :SHADOWING-IMPORT-FROM is used\
<aeth> that means when it's an AGI it will have no containment and will be able to persuade people to do its bidding
a51 has quit [Ping timeout: 268 seconds]
rbcarleton has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
rbcarleton has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
varjag has quit [Ping timeout: 260 seconds]
epony has quit [Ping timeout: 264 seconds]
lucasta has quit [Quit: Leaving]
amb007 has joined #commonlisp
<Kingsy> thanks for the info. its food for thought.
<Kingsy> anotther random question if someone is about. is it possible to write a string over multiple lines without using something really ugly like (concatenate ..) I have seen a few languages just allow \ characters, or ``` rather than "
amb007 has quit [Ping timeout: 260 seconds]
<random-nick> you can use " as usual
<Kingsy> hmm then its emacs not allowing me to maintain proper indentation
<random-nick> you can't maintain proper indentation without it ending up in the string too
Devon has joined #commonlisp
<random-nick> you can use #. and FORMAT to make a string with the indentation taken out, but I don't remember what format directive does that
<Kingsy> random-nick: basically I am expressing a large query as a string, so multiple selects, joins (sql query) and for maintainability I want it spread over multiple lines and properly formatted
<random-nick> I guess that indentation ending up in the string does not matter in that case
<random-nick> but getting that properly formatted is an emacs issue then, no idea how to solve it
<random-nick> maybe ask in #emacs
<Kingsy> naa doesnt matter at all. cheers
<Kingsy> will do!! thanks random-nick! at least it isnt a cl issue! :)
josrr has quit [Remote host closed the connection]
jack_rabbit has joined #commonlisp
rbcarleton has quit [Remote host closed the connection]
rbcarleton has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life has joined #commonlisp
johnjaye has joined #commonlisp
igemnace has quit [Remote host closed the connection]
vyrsh has joined #commonlisp
<aeth> maybe someone wrote a reader macro to do this
<Kingsy> aeth: curious, have you used postmodern much? I have a qestion about how it handles connections
gorignak has quit [Quit: quit]
<edgar-rft> Kingsy: in shell syntax \<newline> escapes the newline, in FORMAT syntax ~<newline> can be used like (format nil "fist line ~<press Enter here> second line ...") and so on, details see -> https://www.lispworks.com/documentation/HyperSpec/Body/22_cic.htm
<ixelp> CLHS: Section 22.3.9.3
<aeth> Kingsy: no, sorry, I haven't gotten around to using it
<aeth> mainly because static site generators are in style... otherwise I probably would've used something like postmodern 10 times already
<Kingsy> haha fair enough
<Kingsy> well perhaps someone else will know -> you establish a connection like this -> (connect-toplevel "testdb" "foucault" "surveiller" "localhost") The documentation says it will maintain a connection for the remainder of the session, what does this mean? what happens if the common lisp session is a server and remains active for months? will the connection ever go stale? is there some protection against
<Kingsy> this?
<Kingsy> edgar-rft: thanks for the info!
random-nick has quit [Ping timeout: 252 seconds]
<Kingsy> gotta run now. but if anyone has any thoughts on the above I would love to knwo, will check back in a bit. see you all later
bilegeek has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
pranavats has joined #commonlisp
rgherdt has quit [Ping timeout: 276 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
gorignak has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
ym has quit [Quit: Leaving]
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
epony has joined #commonlisp
<markasoftware> Does CLIM, like, work for most people? The command entry window ("interactor pane"), the first thing I'm playing around with as I go through the user guide, seems extremely glitchy...if I enter a command that requires the argument, the OK button doesn't work when I left click it. If I right click it, I'm able to do...something. Both OK and Cancel disappear until I hover over them again, and only then does clicking OK finally actually run the
<markasoftware> command?
czy` has quit [Remote host closed the connection]
czy has quit [Remote host closed the connection]
<markasoftware> actually all the rest of the demos seem to work, just the command entry/interactor pane is glitchy in all the demos
rtypo has quit [Ping timeout: 264 seconds]
mjhika has quit [Quit: mjhika]
mjhika has joined #commonlisp
Lycurgus has joined #commonlisp
<beach> markasoftware: You can ask in #clim. But jackdaniel (the maintainer) is probably still asleep.
<markasoftware> eg https://free.keep.sh/gCloGs46pgr2DbA2/Peek 2024-01-26 22-14.mp4/download
<beach> Are you sure about that link?
<beach> It has a space in it.
* epony edits all the Good Morning!s from Team Couc and Craigslist Pederiggit and plays it at ~99dBm
<beach> markasoftware: OK, got it.
<beach> markasoftware: You shouldn't get the OK/Cancel at all if you just follow your command with a space rather than something else.
<beach> But, yeah, that looks strange.
<beach> markasoftware: How did you install McCLIM?
<markasoftware> just through quicklisp
<beach> I see. You may want to download it from codeberg. I don't know how old the Quicklisp version is.
<markasoftware> ah
<beach> I am just guessing here.
<beach> jackdaniel will know more.
<markasoftware> it does seem like my version is from oct 2023
<beach> OK.
<markasoftware> which isn't quite up-to-date...but doesn't really seem like it should be this glitchy either. I'll try installing from ultralisp before resorting to doing it from source
<beach> Not that many people use this interaction mode. We usually just type a space and get prompted.
jack_rabbit has quit [Ping timeout: 260 seconds]
<markasoftware> hmm, now on ultralisp it's just throwing lots of errors and i'm ending up in the debugger frequently
<markasoftware> though it only seems to be happening on the demos that include the interactor...
<beach> It seems jackdaniel is no longer present here. I would ask in #clim. He is usually pretty good about answering questions and addressing problems.
<markasoftware> will do
<markasoftware> thanks beach!
<beach> Sure.
<markasoftware> it does seem like using space works pretty well
<beach> It is entirely possible that the interaction mode you used (accepting-values) is not used so much, so that this problem has not been detected.
vyrsh has quit [Ping timeout: 268 seconds]
jack_rabbit has joined #commonlisp
Lycurgus has quit [Quit: leaving]
decweb has quit [Ping timeout: 256 seconds]
kztx has quit [Quit: nyaa~]
ronald_ has quit [Ping timeout: 264 seconds]
ronald has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
msavoritias has joined #commonlisp
semarie has quit [Quit: WeeChat 4.1.2]
semarie has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
rbcarleton has quit [Remote host closed the connection]
rbcarleton has joined #commonlisp
bjorkintosh has quit [Ping timeout: 240 seconds]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
jack_rabbit has quit [Remote host closed the connection]
amb007 has joined #commonlisp
retropikzel has left #commonlisp [#commonlisp]
amb007 has quit [Ping timeout: 276 seconds]
<Nilby> markasoftware: the sad thing about clim is: nobody who has the will or ability to fix it, uses it as their main repl/editor/debugger/ui, and therefore it's been unusable as such for decades. New things like lem and nyxt are at least dogfooded so somewhat usable. Sadly it's very rare to have good UI/UX aesthetics and top notch CL chops. If you add to that tons of free time and the will to fix the deep and hairly problems in clim, instead
<Nilby> of starting from scratch...
<Nilby> even lispworks which is real and deep and maintained, sometimes feels like facade
<Nilby> but it's not much of a suprise that be used is the #1 thing that improves UI/UX
Pixel_Outlaw has quit [Remote host closed the connection]
Posterdati has quit [Remote host closed the connection]
<younder> Well you want to use CLIM. I am fine with using Emacs. What I really want is a better debugger for SBCL. The one in LispWorks is so much better.
amb007 has joined #commonlisp
Posterdati has joined #commonlisp
rbcarleton has quit [Remote host closed the connection]
occ has joined #commonlisp
rbcarleton has joined #commonlisp
<younder> Well complaining is easy. Perhaps a combination of modding Sly and Swank can achieve what I want? First I need a specification of what I want. I think most of the tooling is in SBCL already. It is just that the interface is pita.
<beach> Nilby: You don't seem to hang out in #clim, so perhaps you have been missing a few years of activity?
flip214 has quit [Quit: leaving]
<beach> Nilby: And we are working on improved Common Lisp editing facilities, and those will use McCLIM.
<ixelp> GitHub - joaotavora/sly-stepper: sly-slepper
mgl_ has joined #commonlisp
shka has joined #commonlisp
flip214 has joined #commonlisp
<Nilby> beach: The CLIM on my system was a few months old, A pull revels I haven't missed much. I'm not trying to criticize. I have great fondness for CLIM. Also I wrote a repl/editor/debugger which I've been using for over 10 years and it's still garbage. How about CLIM developers vow to delete Emacs and Slime from their system? I bet CLIM would quickly become more usable.
<younder> What is the difference between cl-package-locks and trivial-package-locks in SICL?
shka has quit [Remote host closed the connection]
dcb has quit [Quit: Connection closed for inactivity]
shka has joined #commonlisp
Inline has quit [Ping timeout: 264 seconds]
Inline has joined #commonlisp
danza has joined #commonlisp
dra has joined #commonlisp
dra has quit [Changing host]
dra has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
<beach> younder: SICL doesn't have package locks (yet). Perhaps you meant SBCL?
<beach> Nilby: My plan is not to delete Emacs, but to use Second Climacs for editing Common Lisp code, once we have enough functionality.
<beach> I will still use Emacs for things like Email until someone works on text mode for Second Climacs.
<beach> Nilby: I have tried to convince someone to write a CLIM-based interface to GIT, perhaps with more menus and buttons than magit.
<younder> beach: It is referenced from https://github.com/robert-strandh/SICL?tab=readme-ov-file
<ixelp> GitHub - robert-strandh/SICL: A fresh implementation of Common Lisp
tok has joined #commonlisp
tok has quit [Client Quit]
tok has joined #commonlisp
wacki has joined #commonlisp
<beach> younder: I didn't put that link there, so this is news to me.
tok has quit [Remote host closed the connection]
tok has joined #commonlisp
prokhor has quit [Remote host closed the connection]
prokhor has joined #commonlisp
_cymew_ has joined #commonlisp
decweb has joined #commonlisp
rbcarleton has quit [Remote host closed the connection]
rbcarleton has joined #commonlisp
bilegeek has quit [Quit: Leaving]
dino_tutter has joined #commonlisp
McParen has joined #commonlisp
decweb has quit [Ping timeout: 264 seconds]
dra has quit [Ping timeout: 268 seconds]
traidare has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
Gleefre has quit [Remote host closed the connection]
_cymew_ has quit [Ping timeout: 252 seconds]
rogersm has joined #commonlisp
X-Scale has joined #commonlisp
rbcarleton has quit [Remote host closed the connection]
pl has quit [Ping timeout: 256 seconds]
rogersm has quit [Quit: Leaving...]
Nezteb____ has quit [Ping timeout: 256 seconds]
pl has joined #commonlisp
random-nick has joined #commonlisp
igemnace has joined #commonlisp
Nezteb____ has joined #commonlisp
Devon has quit [Ping timeout: 252 seconds]
josrr has joined #commonlisp
szkl has joined #commonlisp
Gleefre has joined #commonlisp
occ has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
rtypo has joined #commonlisp
danza has quit [Ping timeout: 264 seconds]
rgherdt has joined #commonlisp
josrr has quit [Remote host closed the connection]
iska has joined #commonlisp
josrr has joined #commonlisp
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
McParen has joined #commonlisp
X-Scale has quit [Quit: Client closed]
Lycurgus has joined #commonlisp
jmdaemon has quit [Ping timeout: 256 seconds]
traidare has quit [Ping timeout: 260 seconds]
yitzi has joined #commonlisp
traidare has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
cage has joined #commonlisp
<bike> beach: it looks like yitzi added that since it's a dependency of khazern.
Mandus has quit [Quit: WeeChat 4.1.1]
younder has quit [Remote host closed the connection]
younder has joined #commonlisp
a51 has joined #commonlisp
decweb has joined #commonlisp
<Kingsy> quick question about cl postmodern -> you establish a connection like this -> (connect-toplevel "testdb" "foucault" "surveiller" "localhost") The documentation says it will maintain a connection for the remainder of the session, what does this mean? what happens if the common lisp session is a server and remains active for months? will the connection ever go stale? is there some protection against this?
Mandus has joined #commonlisp
<Kingsy> perhaps comon practice would be to just connect query then disonncect
<Kingsy> (disconnect-toplevel). if anyone has played around wit this would be good to know thoughts :)
<Nilby> Kingsy: I think this is on the postgresql protocol level where you can set things like tcp_keepalives_* variables to control it.
gorignak has quit [Quit: quit]
yitzi has quit [Ping timeout: 268 seconds]
yitzi_ has joined #commonlisp
yitzi_ has quit [Remote host closed the connection]
yitzi has joined #commonlisp
<Kingsy> Nilby: maybe just connecting and disconnecting then? that way I don't need to worry about how the postgres server has been setup
<Nilby> Yes. It's probably wise to have your stuff reconnect if need be.
Lycurgus has quit [Quit: leaving]
<Nilby> on localhost you probably won't get random disconnects though
<Kingsy> probably not but if its connecting on a cluster, maybe even over a WAN or whatever it makes sense. haha kinda answered my own question. :D
<Nilby> i've had quite long running db connections, but but i usually try to disconnect when not in use, for security
jjnkn has joined #commonlisp
clothespin has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
<Kingsy> Nilby: makes sense yep.
jon_atack has quit [Ping timeout: 246 seconds]
azimut has joined #commonlisp
<clothespin> is there a branch of cleavir that i should be using?
<clothespin> the main branch defines cst:consp as a generic function of two args, and all the cst:consp calls are using one arg
amb007 has quit [Ping timeout: 260 seconds]
<bike> cst:consp? that's not defined by cleavir at all, it's part of concrete syntax tree.
amb007 has joined #commonlisp
<clothespin> I cloned Cleavir, what else do i need to do?
<yitzi> younder: trivial-package-locks is a compatibility layer. For Lisp implementations that don't have package locks or have weird variations of lock (ccl) it falls back to whatever is appropriate. I don't think cl-package-locks is actively maintained. It certainly doesn't work on several implementations.
<bike> i'm just a little confused about what you're looking at. where does it define cst:consp with two parameters?
<bike> there's a ctype:consp, but that's a totally different function.
<clothespin> ctype
<clothespin> can we skip all the intermediate confusion, and just tell me what i need to do to load a working cleavir? obviously you have stated that it depends on another system, CST, what else do i need to load?
<bike> If you want to load the example system, you'll also need https://github.com/s-expressionists/ctype
<ixelp> GitHub - s-expressionists/ctype: CL type system implementation
<bike> are you seeing calls to ctype:consp with just one argument?
<clothespin> when you get up in the morning and decide to work on cleavir how do "you" load it?
<bike> i usually use parts of it as a library in clasp, which is not what you're doing.
<clothespin> ok, is it possible to load cleavir in sbcl?
Devon has joined #commonlisp
<bike> I tried to convey this in the readme but i guess wasn't explicit enough. there's no one "cleavir" system to load. it's "a collection of systems that can be incorporated together as subsystems of a compiler". you can load those subsystems into sbcl, but it's not like there's one "cleavir" system you can load.
<bike> the example system is a demonstration of how the components can be used. you should be able to load it in sbcl.
<clothespin> but it doesn't work, there's no method for cst:consp
<bike> Did you load concrete-syntax-tree?
amb007 has quit [Ping timeout: 264 seconds]
<clothespin> no
amb007 has joined #commonlisp
<bike> okay, you should do that. it should be in quicklisp. it's listed (indirectly) as a dependency of cleavir-example.
azimut has quit [Ping timeout: 255 seconds]
a51 has quit [Quit: WeeChat 4.2.1]
<clothespin> unfortunately it still doesn't work: The slot CLEAVIR-EXAMPLE::%POLICY is unbound in the object #<ENVIRONMENT {10855511B3}>.
<bike> Do you get that during loading or from actually running something?
<clothespin> I get that from evaluating:
<clothespin> (cleavir-example:frontend (cst:cst-from-expression '(lambda (x) x)))
<bike> okay, i will take a look-see.
<clothespin> thanks
Devon has quit [Read error: Connection reset by peer]
iska has quit [Remote host closed the connection]
iska has joined #commonlisp
<bike> i do apologize for the chaos. clasp is the only project using cleavir right now, and i'm the only one maintaining it, and the nature of the subsystems means it's a little hard to keep it updated for hypothetical other users.
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
<Nilby> clothespin: I just tried it from freshly clonesd repos and it worked. Perhaps something is out of date? https://nibbula.com/cleavir.png
<Nilby> clothespin: btw, your CL graphics stuff looks awesome
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
zetef has joined #commonlisp
dcb has joined #commonlisp
<bike> yeah, i see this error
gxt has quit [Ping timeout: 255 seconds]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
gxt has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
zetef has quit [Remote host closed the connection]
<clothespin> Nilby: half of my CL graphics stuff is on bitbucket and not advertised, what part were you looking at?
<Nilby> clothespin: oh, maybe i'm confused and it's not you? stuff like cl-vulkan, krma
<clothespin> yes, those are mine
<clothespin> i'm also working on climish which is a gui system in krma
<Nilby> nice
<Nilby> it gives some me hope that maybe i can actually use these monstrous graphics cards
<clothespin> yes, good attitude, as many lispers consider the gpu dead-weight in their pc
<st_aldini> "q
<Nilby> i was having to suffice with running lisp shaders on the cpu
<clothespin> it's important for me to keep krma cross-platform. unfortunately Apple makes that hard
<aeth> just wait until the EU forces Apple to, but only in the EU
<Nilby> ugh yes, you're heroic for trying that
<Nilby> EU should fund clothespin to tame the insanity
<clothespin> I would like to experiment with cleaver and BIR
<clothespin> *cleavir
<Nilby> clothespin: i'm guessing you're interested in spirv backend, which would be my dream too
<clothespin> yes, but SPIRV is not my current problem
<clothespin> I've been writing in GLSL and using SPIRV-Cross (MoltenVK) to deploy on macos
<clothespin> SPIRV-cross is broken wrt atomics
<clothespin> I could either spend my time writing C++ to fix spirv cross, and continue to write GLSL, or I could find some other strategy
<clothespin> I find myself somewhat envying cuda users
<clothespin> but I don't want to use C++, and I don't want to be stuck with Nvidia only
<beach> bike: Ah, yes, makes sense.
<Nilby> i've taken a vow not to code anymore c++, although i would translate to it
<aeth> I'm only doing 3D stuff for games so I can just point and laugh at Apple's 1.63% market share when they act like a monopolist by making it hard to support their stuff, and then completely ignore them.
<clothespin> there's more to computing than games though
<aeth> right, their actual market share is probably closer to roughly 16%. https://gs.statcounter.com/os-market-share/desktop/worldwide/#monthly-200901-202311
<ixelp> Desktop Operating System Market Share Worldwide | Statcounter Global Stats
<aeth> more on mobile, obviously.
<clothespin> bike: any idea why that slot is not being initialized?
varjag has joined #commonlisp
son0p has quit [Quit: Bye]
varjag has quit [Ping timeout: 260 seconds]
Inline has quit [Ping timeout: 256 seconds]
son0p has joined #commonlisp
<bike> clothespin: nope. i made some changes relatively recently to environments and i guess there's a problem with it. i'm tied up for the next few hours but i'll get to it when i can.
a51 has joined #commonlisp
<clothespin> ok
wacki has quit [Read error: Connection reset by peer]
vyrsh has joined #commonlisp
vyrsh has quit [Client Quit]
vyrsh has joined #commonlisp
wacki has joined #commonlisp
<bike> clothespin: did you run (cleavir-example:load-environment)?
pranavats has left #commonlisp [Error from remote client]
zetef has joined #commonlisp
dnhester26 has quit [Read error: Connection reset by peer]
dnhester26 has joined #commonlisp
jonatack has joined #commonlisp
<bike> you would see this error if you did not.
zetef has quit [Ping timeout: 260 seconds]
Inline has joined #commonlisp
<clothespin> i did the first time, but i guess i forgot, I loaded CST, loaded cleavir-example, called load-environment, tried the example and got the missing method cst:consp
<clothespin> so maybe im not on the right branch of either concrete syntax tree or of cleavir
<bike> Can I see an error/backtrace? I have it working on my end.
mgl_ has quit [Ping timeout: 252 seconds]
<ixelp> Source Code | Rocket Powered Pastebin
<bike> Thank you. Do you know what version of concrete-syntax-tree you have?
<bike> like, a commit hash or a date
<ixelp> Source Code | Rocket Powered Pastebin
<clothespin> concrete-syntax-tree-20211020-git
dra has joined #commonlisp
dra has quit [Changing host]
dra has joined #commonlisp
msavoritias has quit [Ping timeout: 256 seconds]
kevingal has quit [Remote host closed the connection]
kevingal_ has quit [Remote host closed the connection]
<clothespin> i used a fresh clone of Concrete-Syntax-Tree and it works
<yitzi> Sounds ancient. Quicklisp has 20230618
epony has quit [Ping timeout: 264 seconds]
_cymew_ has joined #commonlisp
<clothespin> I would update your cleavir asd files to require :concrete-syntax-tree
<clothespin> and put a not in the readme that it requires that dependency (and a version later than X)
<clothespin> *a note
mgl_ has joined #commonlisp
<bike> Sensible
<bike> They do already require concrete-syntax-tree (<https://github.com/s-expressionists/Cleavir/blob/main/CST-to-AST/cleavir-cst-to-ast.asd#L14>) but i can add the note
<clothespin> where (in what package) might i find the BIR to LLVM translator?
<bike> that's clasp specific, not part of cleavir. it uses clasp's llvm interface pretty heavily, which is not the more portable CFFI version.
<clothespin> i just want to look at an example
<bike> it's tied up with clasp-specific choices about the runtime (e.g. calling conventions, how nonlocal returns work, ...)
cage has quit [Quit: rcirc on GNU Emacs 29.1]
<clothespin> what i want to use cleavir for doesn't involve any sbcl specifics
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<bike> i mean, in order to translate basic common lisp code including function calls, cl:return, etc., you need to have some kind of runtime defined. cleavir does not define one since it's meant to work with any.
<clothespin> I would like to try to generate a variant of llvm from sbcl/ccl/acl
cosimone has joined #commonlisp
epony has joined #commonlisp
<bike> for GPUs, right? sure. so you need your own lisp runtime.
<bike> or at least an ABI and such.
mgl_ has quit [Ping timeout: 264 seconds]
<clothespin> I might strip down the source language to the point that it doesn't require much of a CL runtime
<bike> yeah, sensible. you'll still need to make a few choices, like calling convention.
<clothespin> and as far as an ABI goes, isn't that the job of the compiler that takes the llvm-ish IR and converts it to machine language?
<bike> Sort of yes, sort of no. You can call a lisp function with any number of arguments. If you get it wrong, something signals an error. LLVM doesn't operate on that level. Each function takes a fixed number of parameters, and optionally varargs.
<bike> In clasp we have a somewhat elaborate system where each lisp function ends up as being like seven actual LLVM functions, taking different numbers of parameters. But maybe you want to do something else.
<clothespin> i'll probably favor smaller binaries
<bike> right. i just mean, there's not one canonical way to conquer this mismatch.
<bike> And how you do it is going to tie in to how you implement basic parts of the runtime, like the FUNCALL and APPLY functions.
Lycurgus has joined #commonlisp
mjhika has quit [Quit: mjhika]
<jcowan> bike: So the 7 LLVM functions are 0-5 actual arguments plus >5?
<bike> good guess.
<bike> strictly speaking, it's 0-5 actual arguments, and then one function that takes a specified number of arguments (so you could call it with 0-5)
<bike> so you can call that last directly in APPLY or w/e
<jcowan> I thought LLVM had a rather small upper bound to the number of arguments you can pass
mzan has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
McParen has left #commonlisp [#commonlisp]
<bike> we don't use varargs, so any bound it has is irrelevant.
traidare has quit [Ping timeout: 256 seconds]
jonatack has quit [Ping timeout: 256 seconds]
tyson2 has quit [Remote host closed the connection]
<bike> that said i would think it can handle however many the underlying calling convention can. not sure though.
mgl_ has joined #commonlisp
yitzi has quit [Remote host closed the connection]
<jcowan> I'm still confused. If you write (apply #'+ (iota 1000000)), doesn't that wind up calling + with one million arguments?
<bike> on the lisp level yes. on the level of the underlying ABI, no. The final LLVM function takes two parameters: A number of arguments, and a pointer to an array (in the C sense) of arguments.
<bike> So when you call + you allocate an array, stuff the arguments in there, and then call the final function with two parameters.
<bike> (actually the closure is also a parameter, whoops)
<bike> we used to use ABI varargs instead but it was kind of a shitshow.
Lycurgus has quit [Quit: leaving]
<bike> sysv ABI varargs are... involved.
cosimone has quit [Remote host closed the connection]
<bike> and actually yes, now that i'm thinking about it that did severely curtail our lambda-arguments-limit. i don't remember the exact number. 200 something? It was pretty bad.
vyrsh has quit [Ping timeout: 260 seconds]
<jcowan> Okay, got it. Thanks.
<Nilby> it's funny, when i used c++ i beat it into using keyword arguments as varargs, but with methods i had to make crazy functor templates with tons of arguments
<bike> clasp has plenty of freaky templates too, i'm afraid
<Nilby> you can do keywords args in c and c++ if you have the keywords be integers that encode things about the non keyword args and use varargs everwhere, but most people reasonably hate that style
<bike> yeah that sounds scary.
<jcowan> actually it sounds fairly rational to me, especially if the integers in question are hashes of the keyword names or the like
<Nilby> it was nice to my lisp crazed brain, and in fact most early UI toolkits used something like that
<jcowan> that minimizes the chance that you pass the wrong integerized keyword, since nobody except you is checking it
<jcowan> I usually run into trouble when I leave out the keyword-actual-argument by mistake
<Nilby> the keywords usually were kind of like lisp tags
traidare has joined #commonlisp
<Nilby> we tried to handle those kind of mistakes
mzan has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
mgl_ has quit [Ping timeout: 246 seconds]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
traidare has quit [Ping timeout: 268 seconds]
pranavats has joined #commonlisp
varjag has joined #commonlisp
jonatack has joined #commonlisp
attila_lendvai has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
ec has joined #commonlisp
<younder> Just got sly-stepper to work. A bit fiddly.. see paste link.
<younder> Feel free to omit the setup for a 32 Gb for heap ;)
dnhester26 has joined #commonlisp
clothespin has quit [Quit: Call me a relic, call me what you will. Say I'm old fashioned, say I'm over the hill.]
Inline has quit [Quit: Leaving]
jjnkn has quit [Quit: leaving]
<Kingsy> younder: whats with the heap? cool though. I have never managed to get using sly rather than slime, is there a reason I should think about swapping over?
<Kingsy> or is it 6 and two 3s?
<younder> Well sly added some extensions to slime to make it more customize-able by adding stickers. Therefore there are several contributions.
<Kingsy> stickers? not sure what they are.. perhaps I need to have a look
<younder> as for heap size: in line (setq inferior-lisp-program "/usr/local/bin/sbcl --dynamic-space-size 32768") --dynamic-space-size sets the size of the heap, by default 512 Mb to 32768 of 32 Gb
<Kingsy> ah, yeah I'll never need that I am sure. but I know doom has sly by default but I have just never needed to swap yet. but I am super new to cl in general
<younder> Stickers allow you to set breakpoints, monitor variables and with sly-stepper step through code. So they replace (break) and (format t "debug\"..)
ronald has quit [Ping timeout: 260 seconds]
<younder> sly doesn't need a bigger heap. It was the tests I ran for for April. https://github.com/phantomics/april
<ixelp> GitHub - phantomics/april: The APL programming language (a subset thereof) compiling to Common Lisp.
<younder> But with 'cut and paste' it kinda came along for the ride..
<Kingsy> tbh wow. sly-stepper looks so so cool, how easy is the swap over from slime? scary for a noob like me?
<younder> Not too hard. Sly is a fork of slime so most of the stuff you know from slime still works.
<Kingsy> sounds like something I might have a go at then! because I do miss stepper functionality from "higher level langs"
<Kingsy> younder: do you get variable inspection and things on each step?
<Kingsy> natively in emacs? the github page doesnt show this
<younder> warning! sly-stepper is the only contribution that isn't enabled when you install sly. You need to follow the instructions in the paste I gave above.
<Kingsy> yeah got you
attila_lendvai has quit [Ping timeout: 256 seconds]
<Kingsy> younder: steps 3 - 6 are a bit hazy, when you say run the stepper... haha perhaps I just need to give it a go. so many questions. you should write a blog on it :D :D
clothespin has joined #commonlisp
ronald has joined #commonlisp
<Kingsy> younder: can I trouble you to be more specific on this piont -> run sly with seq-local on down commented out
<younder> Sure. I think I just used setq then edited it and didn't test it
<younder> Well just install sly first. Then worry about setting up sly-stepper later.
<Kingsy> yep of course! will do. exciting there is a stepper though. I am sick of tpying (format t/nil...) at this point :D
<younder> Also SBCL needs quicklisp installed first, but you probably have that already.
<Kingsy> yeah I dread to think about cl without quicklisp. its so helpful
<Kingsy> younder: one thing acutally. does sly have a slime-company equiv?
<Kingsy> for some nice autocompletes
ronald has quit [Ping timeout: 268 seconds]
ronald has joined #commonlisp
dtman34 has joined #commonlisp
<Kingsy> lol.... there is literally a sly-company... apologies.
igemnace has quit [Read error: Connection reset by peer]
thuna` has quit [Read error: Connection reset by peer]
ronald_ has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
tyson2 has joined #commonlisp
okflo has quit [Read error: Connection reset by peer]
sirufer has quit [Read error: Connection reset by peer]
nytpu has quit [Read error: Connection reset by peer]
nathanb has quit [Read error: Connection reset by peer]
slondr has quit [Read error: Connection reset by peer]
ggb has quit [Read error: Connection reset by peer]
sm2n has quit [Read error: Connection reset by peer]
cpli has quit [Write error: Connection reset by peer]
jasom has quit [Read error: Connection reset by peer]
pvac has quit [Read error: Connection reset by peer]
arpunk has quit [Read error: Connection reset by peer]
alethkit has quit [Read error: Connection reset by peer]
brettgilio has quit [Read error: Connection reset by peer]
\f has quit [Read error: Connection reset by peer]
payphone has quit [Read error: Connection reset by peer]
zyd has quit [Read error: Connection reset by peer]
srhm has quit [Read error: Connection reset by peer]
rselim has quit [Read error: Connection reset by peer]
artyn has quit [Read error: Connection reset by peer]
chiheisen has quit [Write error: Connection reset by peer]
migalmoreno has quit [Read error: Connection reset by peer]
mhcat has quit [Read error: Connection reset by peer]
whereiseveryone has quit [Read error: Connection reset by peer]
morganw has quit [Read error: Connection reset by peer]
mcoll has quit [Read error: Connection reset by peer]
sherbert has quit [Read error: Connection reset by peer]
shunter has quit [Read error: Connection reset by peer]
Schnouki has quit [Read error: Connection reset by peer]
jmbr has quit [Read error: Connection reset by peer]
skin has quit [Read error: Connection reset by peer]
jonlevin has quit [Read error: Connection reset by peer]
theothornhill has quit [Read error: Connection reset by peer]
paulapatience has quit [Read error: Connection reset by peer]
ggb has joined #commonlisp
paulapatience has joined #commonlisp
arpunk has joined #commonlisp
mhcat has joined #commonlisp
morganw has joined #commonlisp
sirufer has joined #commonlisp
shunter has joined #commonlisp
Schnouki has joined #commonlisp
okflo has joined #commonlisp
pvac has joined #commonlisp
jasom has joined #commonlisp
srhm has joined #commonlisp
jonlevin has joined #commonlisp
zyd has joined #commonlisp
migalmoreno has joined #commonlisp
\f has joined #commonlisp
artyn has joined #commonlisp
payphone has joined #commonlisp
nytpu has joined #commonlisp
whereiseveryone has joined #commonlisp
nathanb has joined #commonlisp
slondr has joined #commonlisp
alethkit has joined #commonlisp
sherbert has joined #commonlisp
theothornhill has joined #commonlisp
rselim has joined #commonlisp
jmbr has joined #commonlisp
mcoll has joined #commonlisp
skin has joined #commonlisp
sm2n has joined #commonlisp
brettgilio has joined #commonlisp
chiheisen has joined #commonlisp
cpli has joined #commonlisp
zetef has joined #commonlisp
Inline has joined #commonlisp
igemnace has joined #commonlisp
amb007 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
jack_rabbit has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
tok has quit [Remote host closed the connection]
josrr has quit [Ping timeout: 276 seconds]
rendar has quit [Ping timeout: 264 seconds]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
shka has quit [Ping timeout: 264 seconds]
Inline has quit [Quit: Leaving]
dino_tutter has quit [Ping timeout: 260 seconds]
zetef has quit [Remote host closed the connection]
mgl_ has joined #commonlisp
mgl_ has quit [Ping timeout: 256 seconds]
josrr has joined #commonlisp
SunClonus has joined #commonlisp