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/>
rgherdt has quit [Quit: Leaving]
semarie has quit [Ping timeout: 264 seconds]
semarie has joined #commonlisp
dnhester` has quit [Ping timeout: 260 seconds]
eddof13 has joined #commonlisp
Perflosopher has joined #commonlisp
eddof13 has quit [Client Quit]
green_ has joined #commonlisp
jonatack has joined #commonlisp
tyson2` has joined #commonlisp
nij- has joined #commonlisp
dnhester` has joined #commonlisp
tyson2 has quit [Ping timeout: 255 seconds]
eddof13 has joined #commonlisp
tyson2` has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
tyson2 has quit [Read error: Connection reset by peer]
tyson2 has joined #commonlisp
elderK has joined #commonlisp
johnjaye has quit [Ping timeout: 268 seconds]
varjag has quit [Ping timeout: 264 seconds]
johnjaye has joined #commonlisp
dnhester` has quit [Ping timeout: 264 seconds]
Stenotrophomonas has joined #commonlisp
brokkoli_origina has quit [Ping timeout: 246 seconds]
random-nick has quit [Ping timeout: 256 seconds]
eddof13 has quit [Quit: eddof13]
dnhester` has joined #commonlisp
dnhester` has quit [Ping timeout: 260 seconds]
FragmentedCurve has quit [Remote host closed the connection]
son0p has joined #commonlisp
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
dnhester` has joined #commonlisp
FragmentedCurve has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dnhester` has quit [Ping timeout: 255 seconds]
<paulapatience> beach: Also, possibly "two situations are mentioned in the sections Arguments and Values and Description that we think..." -> "the section Arguments and Values and the section Description mention situations that we think...".
szkl has quit [Quit: Connection closed for inactivity]
<paulapatience> I cannot seem to reproduce the current practice of unread-char-exceptional-situations. Perhaps I'm doing it wrong. When I call (one), it waits for my input, I type the character 1 and it just prints it back to me, without signaling an error. (I'm on SBCL 2.4.0, though.)
tyson2 has quit [Remote host closed the connection]
molson has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 264 seconds]
Lord_of_Life_ is now known as Lord_of_Life
ymir has quit [Ping timeout: 252 seconds]
NotThatRPG has joined #commonlisp
istewart has joined #commonlisp
NotThatRPG has quit [Client Quit]
igemnace has joined #commonlisp
<zyd> How do I install a quicklisp system from a specific dist? There is "3d-math" in both the Quicklisp and Shirakumo dists. I want the latter but Quicklisp installs the former. I don't see a key to specify this through ql:quickload.
mulk has quit [Ping timeout: 256 seconds]
mulk has joined #commonlisp
thuna` has quit [Remote host closed the connection]
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
josrr has quit [Remote host closed the connection]
ymir has joined #commonlisp
nij- has joined #commonlisp
<nij-> bike I spent a whole day reading src code of the bytecode machine
<Colleen> nij-: zyd said 7 hours, 21 minutes ago: As not-fun as it sounds, might be better off simply writing clones of emacs packages that you find useful for Lem. Would quickly come across what utility libraries Lem needs as well. Win-win.
<nij-> I think you are right..
<nij-> zyd - I'm not sure. The first thing I'd like to have is org mode. It has more than 40k lines of code.
<nij-> All elisp code ultimately got compiled to ByteCode, which is run by the VM defined in bytecode.el.
<nij-> Each bytecode corresponds to some operation on the emacs runtime. If all of these operations can find their equivalents in LEM runtime, we can port all elisp code to LEM.
<nij-> Here's a nice reference. https://rocky.github.io/elisp-bytecode.pdf The source code is good too. So far I've understood a few of the operations.
<nij-> I will look more into it. Any ideas - please lemme know :)
<zyd> nij-: By clone I mean user-level behavior and functionality. Have to wonder how much of that codebase is a result of working with emacs specific behavior rather than core functionality.
<nij-> org-mode really isn't, I think.
<nij-> It's just a monster that is so adorable. People have been trying to port it to other systems but failed hard.
<nij-> Also, if the compiler is done, LEM community can keep getting manpowers from the ELISP community. Why not?
<zyd> Seems to defeat the purpose of having a CL editor in CL is my initial response, I suppose. If you want elisp, why not just Emacs?
<nij-> Why does it seem to defeat? We can still develop in CL. We just gain strictly more.
<ymir> Wouldn't emulating elisp APIs end up less useful than building them from the ground up with CL in mind?
<zyd> Because instead of writing the functionality in CL, you'd just pull functionality from Elisp, right?
<nij-> ymir it is
<nij-> but it's better than nothing
<nij-> people can gradually rewrite them in CL if they want
<nij-> zyd we'll pull that here, and people can decide which part they will use for now, and which part will rewrite.
pranavats has left #commonlisp [Disconnected: Hibernating too long]
<bike> is absolutely everything in bytecode, or does the bytecode call out into C functions as well? if i follow enough M-. i can see, for example, completing-read does not seem to be implemented in bytecode. so you would need to implement those as well.
chsasank8 has joined #commonlisp
<zyd> I predict that if you give people the option to just pull anything from elisp, they wouldn't bother rewriting in CL. Much like your response to the idea of writing an implementation of Org in CL.
<zyd> I just don't get the point in that case, because you can just stick with Emacs. It just doesn't seem compelling. But I'm gonna stop there, rather not knock ideas too much before I see em in action.
chsasank has quit [Ping timeout: 272 seconds]
<nij-> bike, the bytecode does call other C functions.
chsasank has joined #commonlisp
<nij-> And those C functions control the emacs runtime.
<nij-> So the crux is to find a way to map those C functions into LEM.
<nij-> Some may be direct. For example, Fcurrent_buffer returns the current buffer.
<nij-> Some may be indirect - we may have to find equivalent implementation.
igemnace has quit [Read error: Connection reset by peer]
<nij-> And some.. I hope not, may be impossible. If this is the case, then the project fails immediately.
<bike> i mean it can't be "impossible" given that emacs does it.
<nij-> I think so :)
chsasank8 has quit [Ping timeout: 264 seconds]
<nij-> At worst it could be extremely awkward. I will see..
<nij-> zyd I get that purity is a good thing. And I agree with you.. I hope everyone can just work in CL. But I slowly buy into the idea of momentum.
dnhester` has joined #commonlisp
dnhester` has quit [Ping timeout: 252 seconds]
igemnace has joined #commonlisp
nij- has quit [Ping timeout: 264 seconds]
bilegeek has joined #commonlisp
ronald has quit [Ping timeout: 264 seconds]
ronald has joined #commonlisp
nij- has joined #commonlisp
<bike> You could also make a common lisp frontend for the bytecode compiler, probably
istewart has quit [Quit: Konversation terminated!]
<beach> paulapatience: Thanks!
waleee has quit [Ping timeout: 240 seconds]
istewart has joined #commonlisp
istewart has quit [Client Quit]
X-Scale has joined #commonlisp
pranavats has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Hibernating too long]
ymir has quit [Ping timeout: 264 seconds]
ymir has joined #commonlisp
varjag has joined #commonlisp
pranavats has joined #commonlisp
varjag has quit [Ping timeout: 264 seconds]
kevingal has quit [Ping timeout: 264 seconds]
<nij-> bike.. I think you are right. All of the byte operations in the emacs VM seems pretty straightforward, and I can imagine that LEM can do those.
<nij-> Except: pophandler, pushconditioncase, pushcatch(48, 49, 50).. syntax table: char-syntax (122), unwind-protect (142), and how to convert data types (e.g. floats) https://rocky.github.io/elisp-bytecode.pdf
<nij-> It seems that this is far more doable than I expected.
<nij-> I'm afraid that emacs may handle conditions differently, does unwind-protect differently. I'm also afraid that LEM does not have a syntax table.
<nij-> Ah.. bike, I just realized that it's not enough to only translate for the byte operations. There are many elisp primitives defined via the c macro DEFUN (defined in =lisp.h=). Running those elisp primitives will call the C function body. So one still has to translate those parts as well!
<nij-> :(
dnhester` has joined #commonlisp
<aeth> and if you write half of an editor you might as well write the other half instead of trying to glue it onto another emacs clone...
<nij-> half..? Emacs is huge. There are so many packages to use..
<nij-> OOPS :) `rg 'DEFUN\s' --glob '!ChangeLog.*' ./src | wc -l` => 1844
<nij-> Around 1800 primitives :D
dnhester` has quit [Ping timeout: 268 seconds]
wacki has joined #commonlisp
<ymir> Does CL have a standard way of looping or mapping across a single dimension of a multi-dimensional array?
<ymir> I've been experimenting and researching for 10 minutes now and I haven't found anything
<ymir> This language has *everything*, does it really not have easy support for this?
<aeth> row-major-aref?
<ymir> No, that flattens the array out
<Pixel_Outlaw> Looks like HRL Labs is looking for a compiler writer specializing in Common Lisp.
<nij-> ymir - loop across?
<nij-> (loop for i across #(1 2 3) do (print i))
<ixelp> Loop, iteration, mapping
<mfiano> What would it even mean to loop across the N axis of a multi-dimensional figure? I think you are looking for an array of arrays of ...
<ymir> (loop for a across #2A((8 1 6) (3 5 7) (4 9 2)) collect a) yields a type error of the array not being a vector
rtypo has joined #commonlisp
FragmentedCurve_ has joined #commonlisp
<beach> Yes, ACROSS is for vectors.
<ymir> mfiano: what I'm trying to do is pass each row of a two-dimensional grid to another function
<mfiano> Right. across is specified for vectors
<beach> ymir: There is not a way to do that.
<mfiano> An array may or may not be a vector. A multi-dimensional array is one such case
<ymir> A quick C-F of the hyperspec for loop doesn't show anything for arrays
<ymir> I see
<ymir> beach: seriously?
<Pixel_Outlaw> Ideally you want something like (doseq (x y z the-array) ... ) I'd imagine.
<Pixel_Outlaw> I wrote a macro similar a long time ago.
<nij-> ymir I think you can use ITERATE for that. But you need to write a driver by yourself.
<ixelp> Rolling Your Own - The Iterate Manual
<mfiano> clhs 6.1.2.1.5
<ixelp> CLHS: Section 6.1.2.1.5
<nij-> Also, it's not surprising. A 2d array doesn't have a clear direction. You need to tell CL how you should loop.
<beach> nij-: ymir is trying to treat a row of an array as an object to pass to another function.
FragmentedCurve has quit [Ping timeout: 255 seconds]
<beach> nij-: What do you mean by "doesn't have a clear direction"?
<beach> ymir: A Common Lisp array is just a sequence of elements in row-major order, so individual dimensions are not Common Lisp objects.
<beach> ymir: I suggest you represent your data as a vector of vectors instead. Then you can pass one of the vectors to your other function.
<beach> ymir: Does that make sense to you?
<beach> ymir: as in ,(loop for x across (aref #(#(1 2) #(3 4)) 1) collect (1+ x))
<ixelp> (loop for x across (aref #(#(1 2) #(3 4)) 1) collect (1+ x)) => (4 5)
<ymir> I see, I'll go with vectors instead
varjag has joined #commonlisp
msavoritias has joined #commonlisp
varjag has quit [Ping timeout: 246 seconds]
danza has joined #commonlisp
Lycurgus has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
nij- has quit [Ping timeout: 260 seconds]
X-Scale has quit [Quit: Client closed]
traidare has joined #commonlisp
chomwitt has joined #commonlisp
rtypo has quit [Read error: Connection reset by peer]
X-Scale has joined #commonlisp
pve has joined #commonlisp
ymir has quit [Ping timeout: 264 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
ymir has joined #commonlisp
robin_ has quit [Remote host closed the connection]
robin_ has joined #commonlisp
chomwitt has quit [Ping timeout: 260 seconds]
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
danza has quit [Ping timeout: 260 seconds]
zetef has joined #commonlisp
Cymew has joined #commonlisp
rgherdt has joined #commonlisp
zaymington has quit [Remote host closed the connection]
zaymington has joined #commonlisp
elderK has quit [Quit: WeeChat 4.1.1]
dnhester` has joined #commonlisp
mi6x3m has joined #commonlisp
dnhester` has quit [Ping timeout: 264 seconds]
varjag has joined #commonlisp
occ has joined #commonlisp
zetef has quit [Ping timeout: 255 seconds]
azimut has quit [Ping timeout: 260 seconds]
ymir has quit [Ping timeout: 264 seconds]
zetef has joined #commonlisp
phantomics_ has quit [Ping timeout: 268 seconds]
chomwitt has joined #commonlisp
danse-nr3 has joined #commonlisp
donleo has joined #commonlisp
ebrasca has joined #commonlisp
* adlai wonders who is ,(format () "~&~{~A~^ ~}~%" (mapcar 'funcall (apropos-list "IMPLEMENTATION" :CL))) today
<ixelp> (format () "~&~{~A~^ ~}~%" (mapcar 'funcall (apropos-list "IMPLEMENTATION" :CL))) => "Clozure Common Lisp Version 1.11.5/v1.11.5 (LinuxARM32) ↩ "
* adlai interrogates ,(symbol-plist 'cl:check-type)
<ixelp> (symbol-plist 'cl:check-type) => NIL
<ebrasca> Good morning!
dnhester` has joined #commonlisp
* adlai ignores ,(length (apropos-list "morning"))
<ixelp> (length (apropos-list "morning")) => 0
gxt_ has quit [Remote host closed the connection]
gxt_ has joined #commonlisp
shka has joined #commonlisp
* adlai dreams about ,(upgraded-array-element-type 'simple-array)
<ixelp> (upgraded-array-element-type 'simple-array) => T
<adlai> ::notify ymir standard ways from ANSI CL for control flow will rarely solve problems magically; what you want is probably the array displacement idiom
<Colleen> adlai: Got it. I'll let ymir know as soon as possible.
occ has quit [Read error: Connection reset by peer]
<mi6x3m> hey, what element-type to use in make-array for numbers?
<paulapatience> Which numbers did you have in mind? There are many options.
<mi6x3m> let's say rational
<mi6x3m> element-type 'ratio ?
notzmv has quit [Remote host closed the connection]
<paulapatience> ,(upgraded-array-element-type 'ratio)
<ixelp> => T
<paulapatience> That will result in an element type of T
<mi6x3m> you don't say
<mi6x3m> what the...
<paulapatience> Only some types can result in specialized arrays, and you can check them with u-a-e-t.
<mi6x3m> thanks!
<paulapatience> And it depends on the CL implementation
gxt_ has quit [Remote host closed the connection]
<gilberth> Even if it it didn't: ,(typep 1 'ratio) but ,(typep 1 'rational)
<ixelp> (typep 1 'ratio) => NIL, further (typep 1 'rational) => T
<paulapatience> However, usually you can get single-float, double-float, (un/signed-byte 8/16/32/64), fixnum
gxt_ has joined #commonlisp
occ has joined #commonlisp
<paulapatience> Oops
notzmv has joined #commonlisp
mgl has joined #commonlisp
jon_atack has joined #commonlisp
<paulapatience> ,(upgraded-array-element-type (complex single-float))
<ixelp> ERROR: Unbound variable: SINGLE-FLOAT
<adlai> mi6x3m: to not piss off humans who occasionally actually write this damn language, please choose between subtypes of reals and complexes rather than providing a useless subtype of number
<paulapatience> ,(upgraded-array-element-type '(complex single-float))
<ixelp> => (COMPLEX SINGLE-FLOAT)
<adlai> ,(upgraded-complex-part-type 'bit)
<ixelp> => REAL
jonatack has quit [Ping timeout: 264 seconds]
* adlai actually likes make-array although you gotta have a few financial quarters blocked off for suffering data climates before wrapping macros to make cl:make-array stink like old books
bilegeek_ has joined #commonlisp
<beach> mi6x3m: The specialized array types exist for reasons of performance, and not for reasons of type checking, so you can expect specialized arrays only for types that have a fixed length that will fit in a word of the computer. RATIO is not such a type.
<adlai> (upgraded-ratio-part-type 'bit) => TWIT
X-Scale has quit [Quit: Client closed]
<mi6x3m> beach, maybe not word but consecutive memory locations I thought
<mi6x3m> which still improves cache performance
<beach> mi6x3m: Fair enough. But RATIO is unbounded, so still not possible.
bilegeek has quit [Ping timeout: 268 seconds]
<adlai> mi6x3m: mapcar cl:/ on a plist is a symptom of severe data problems
<mi6x3m> yep, that was my mental mistake
<adlai> obviously sometimes you have things like precise ratios that were printed, and integers that got read in, and you need to run along dividing odds by evens ... still, that is part of skimming cream off the sump, not the kind of computations you want to do in your hobby code.
bilegeek_ has quit [Ping timeout: 256 seconds]
Krystof has joined #commonlisp
chomwitt has quit [Ping timeout: 240 seconds]
random-nick has joined #commonlisp
dnhester` has quit [Ping timeout: 255 seconds]
notzmv has quit [Read error: Connection reset by peer]
<aeth> based on how often people want make-array to support complicated types (though it may already support uncomplicated complex types! because those are just numbers!)...
<aeth> probably should be the #1 language extension candidate
<aeth> though you'd still want to be able to distinguish between actually/efficiently storing those types and merely checking (though the former would always imply the latter)
<paulapatience> Agreed
mi6x3m has quit [Quit: Leaving]
<aeth> bonus points if someone can get "array of structs" to semantically work compactly in memory... the now-trendier "struct of arrays" ofc already works.
<paulapatience> bike had some ideas for that for Clasp
notzmv has joined #commonlisp
danse-nr3 has quit [Ping timeout: 252 seconds]
bendersteed has joined #commonlisp
zetef has quit [Quit: No Ping reply in 180 seconds.]
phantomics has joined #commonlisp
<aeth> right now if you want ratios in an array, you can instead turn that into numerators in one array and denominators in another, or numerators and denominators in a 2D array as a row, or numerators and denominators alternating in a 1D array...
<aeth> ...but ratios are bignum/bignum for a reason and very quickly explode into very big bignums unless you round them
<aeth> e.g. much longer than any of the input numbers and it's only a handful (and a half a handful, I guess) of operations: ,(- (* (/ 4234 23567) (/ 587973 529659767)) (* (/ 5798 595817) (/ 9892138 87324)))
<ixelp> (- (* (/ 4234 23567) (/ 587973 529659767)) (* (/ 5798 595817) (/ 9892138 87324))) => -178949749009787148230345/162363276586613144600103
danse-nr3 has joined #commonlisp
<aeth> so you can do all that fanciness to try to manually store rationals and they're very quickly bignums anyway...
szkl has joined #commonlisp
danse-nr3 has quit [Read error: Connection reset by peer]
<aeth> oh, and it's all of that for roughly -1.1
danse-nr3 has joined #commonlisp
* adlai burps ,(remove-if 'boundp (apropos-list "code" :cl))
<ixelp> (remove-if 'boundp (apropos-list "code" :cl)) => (CHAR-CODE CODE-CHAR DECODE-FLOAT DECODE-UNIVERSAL-TIME ENCODE-UNIVERSAL-TIME GET-DECODED-TIME INTEGER-DECODE-FLOAT)
* adlai flares nostrils and ,(values)
<ixelp> (values) => No values
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 246 seconds]
zetef has joined #commonlisp
Stenotrophomonas is now known as brokkoli_origin
dcb has quit [Quit: Connection closed for inactivity]
zetef has quit [Read error: Connection reset by peer]
zetef has joined #commonlisp
dino_tutter has joined #commonlisp
[[PSYCHIATRIST has joined #commonlisp
pillton has quit [Remote host closed the connection]
tok has joined #commonlisp
synchromesh has quit [Ping timeout: 246 seconds]
[[PSYCHIATRIST has quit [Quit: Connection closed]
synchromesh has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
jon_atack has joined #commonlisp
amb007 has joined #commonlisp
jonatack has quit [Ping timeout: 246 seconds]
igemnace has quit [Read error: Connection reset by peer]
a51 has joined #commonlisp
nij- has joined #commonlisp
dnhester` has joined #commonlisp
X-Scale has joined #commonlisp
dnhester` has quit [Ping timeout: 260 seconds]
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
dnhester` has joined #commonlisp
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij- has left #commonlisp [#commonlisp]
nij_ has joined #commonlisp
nij_ has left #commonlisp [#commonlisp]
danse-nr3 has quit [Ping timeout: 264 seconds]
igemnace has joined #commonlisp
zetef has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
tyson2` has joined #commonlisp
tyson2` has quit [Remote host closed the connection]
tyson2` has joined #commonlisp
danse-nr3 has joined #commonlisp
tyson2 has quit [Ping timeout: 268 seconds]
tok has quit [Remote host closed the connection]
tok has joined #commonlisp
pfdietz has joined #commonlisp
amb007 has quit [Ping timeout: 246 seconds]
amb007 has joined #commonlisp
tok has quit [Remote host closed the connection]
tok has joined #commonlisp
yitzi has joined #commonlisp
tok has quit [Ping timeout: 260 seconds]
nij- has joined #commonlisp
traidare has quit [Ping timeout: 260 seconds]
chomwitt has joined #commonlisp
tok has joined #commonlisp
parens-user has joined #commonlisp
<parens-user> hello, is there a library in cl that is for programmatically generating videos (like manim and motion canvas)
tok has quit [Ping timeout: 272 seconds]
<notzmv> I don't think there is one yet but I'd be interested in working on one when I have the time
<notzmv> hopefully I'm mistaken though
<parens-user> I am interested as well but I have no idea how to even start I didn't do any big projects in any language let alone cl
vindarel has joined #commonlisp
<parens-user> there is a lack of variety in cl videos in youtube, they are informative but its either someone talking to the camera or coding. I wanted to use cl to make videos about cl with aesthetically pleasing visuals.
<notzmv> very nice.
tok has joined #commonlisp
<notzmv> I'm trying to mess around with similar stuff for work and part of it involves writing a manim-like library but we're using clojure(script) for it
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
<notzmv> inshaa7allah we get funding quickly and I can start doing work with Common Lisp
Oddity has quit [Ping timeout: 255 seconds]
tok has quit [Ping timeout: 255 seconds]
josrr has joined #commonlisp
ebrasca has quit [Remote host closed the connection]
ebrasca has joined #commonlisp
<younder> In C I've been writing images to disk and using ffmpeg to animate them. The same should work for Lisp.
tok has joined #commonlisp
tok has quit [Ping timeout: 268 seconds]
grawlinson has quit [Quit: SIGTERM]
grawlinson has joined #commonlisp
<scymtym> yeah, writing out an image for each frame is one way. here is an example which uses McCLIM: https://plaster.tymoon.eu/view/4176 (there may have been some API changes around MCCLIM-RASTER-IMAGE:WITH-OUTPUT-TO-RASTER-IMAGE-FILE but the idea should work)
amb007 has quit [Ping timeout: 255 seconds]
attila_lendvai has joined #commonlisp
tok has joined #commonlisp
tok has quit [Ping timeout: 260 seconds]
awlygj has joined #commonlisp
notzmv has quit [Read error: Connection reset by peer]
nij- has joined #commonlisp
vindarel has quit [Ping timeout: 255 seconds]
notzmv has joined #commonlisp
tok has joined #commonlisp
danse-nr3 has quit [Ping timeout: 252 seconds]
danse-nr3 has joined #commonlisp
tok has quit [Remote host closed the connection]
tok has joined #commonlisp
zetef has joined #commonlisp
cl-arthur has joined #commonlisp
Alfr has quit [Ping timeout: 260 seconds]
rainthree has joined #commonlisp
<dnhester`> ::notify nij- I would talk to the lem guys, they hang out in discord https://discord.com/channels/1103927220755517470/1103927221204303892 I suggested the same idea that you are proposing, and I was basically told that it's porbably better to port whatever package you want to lem, since you can do it with CL, it should end up being much easier and better than the original. They are currently working on porting magit called legit, and a
<dnhester`> bunch of other things. I'm sure they will be very welcoming and helpful if you are trying to port anything to lem
<Colleen> dnhester`: Got it. I'll let nij- know as soon as possible.
<ixelp> Discord
<nij-> dnhester` Thanks!
<Colleen> nij-: dnhester` said 4 minutes, 45 seconds ago: I would talk to the lem guys, they hang out in discord https://discord.com/channels/1103927220755517470/1103927221204303892 I suggested the same idea that you are proposing, and I was basically told that it's porbably better to port whatever package you want to lem, since you can do it with CL, it should end
<Colleen> up being much easier and better than the original. They are currently working on porting magit called legit, and a
<ixelp> Discord
cage has joined #commonlisp
<chsasank> any advice on generating LLVM IR in CL? Gonna generate the text ala llvmlite: https://llvmlite.readthedocs.io/
<ixelp> llvmlite — llvmlite 0.42.0dev0+76.ga6159f9 documentation
rainthree has quit [Ping timeout: 252 seconds]
cage has quit [Remote host closed the connection]
danse-nr3 has quit [Ping timeout: 268 seconds]
cage has joined #commonlisp
danse-nr3 has joined #commonlisp
eddof13 has joined #commonlisp
occ has quit [Ping timeout: 264 seconds]
pfdietz has quit [Quit: Client closed]
pfdietz has joined #commonlisp
samebchase has quit [Ping timeout: 240 seconds]
Alfr has joined #commonlisp
occ has joined #commonlisp
pfdietz has quit [Quit: Client closed]
pfdietz has joined #commonlisp
<dnhester`> chsasank: there's a project doing that for making CL with c++ compatible, I think the author or maintainer hangs out here sometimes
<beach> You must be referring to Clasp. And, yes, bike would be the one to ask. Not sure that's what they do, though.
vindarel has joined #commonlisp
X-Scale has quit [Quit: Client closed]
eddof13 has quit [Quit: eddof13]
NotThatRPG has joined #commonlisp
<chsasank> yes, I checked out clasp. tried it out too. I am not looking to do FFI/Bindings approach
<chsasank> looking to just generate textual representation of LLVM IR directly
<chsasank> kinda like how used to generate C code
ymir has joined #commonlisp
nij- has quit [Ping timeout: 260 seconds]
tok has quit [Remote host closed the connection]
azimut has joined #commonlisp
kevingal has joined #commonlisp
attila_lendvai has quit [Ping timeout: 264 seconds]
X-Scale has joined #commonlisp
amb007 has joined #commonlisp
mi6x3m has joined #commonlisp
<mi6x3m> hey, how can i format a ratio as float with 1 digit of precision?
<beach> mi6x3m: Convert it to a float first.
<mi6x3m> yes and then
<beach> Then use the FORMAT directive for floats.
<mi6x3m> yes but how to specify precision
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<dnhester`> beach: chsasank yeah, I was referring to clasp
<gilberth> ~F is fine with ratios, no need to convert first. ,(format nil "~,2F" 22/7)
<ixelp> (format nil "~,2F" 22/7) => "3.14"
<mi6x3m> thanks gilberth
<beach> gilberth: Thanks. I didn't know that.
NotThatRPG has joined #commonlisp
<dnhester`> chsasank: https://www.youtube.com/watch?v=mbdXeRBbgDM&ab_channel=LLVM I think they compile CL to LLVM's IR
<ixelp> 2018 LLVM Developers’ Meeting: C. Schafmeister “Lessons Learned Implementing Common Lisp with LLVM” - YouTube
attila_lendvai has joined #commonlisp
<dnhester`> chsasank: they use LLVM because they want be interoperable with cpp, but if you just want the LLVM you shouldn't have to do any FFI from what I understand
traidare has joined #commonlisp
cmack has quit [Ping timeout: 264 seconds]
yitzi has quit [Remote host closed the connection]
puke has quit [Remote host closed the connection]
puke has joined #commonlisp
thuna` has joined #commonlisp
pfdietz has quit [Quit: Client closed]
pfdietz has joined #commonlisp
dcb has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ymir has quit [Ping timeout: 255 seconds]
<mi6x3m> and how to format a number to a certain number of whitespaces in the front?
<mi6x3m> " 1.4", "21.4" or "121.4"
agm has joined #commonlisp
danse-nr3 has quit [Read error: Connection reset by peer]
danse-nr3 has joined #commonlisp
<younder> "~7,' F"
<younder> ,(format t "~7,' F" 3.14)
<ixelp> ERROR: The value #\ is not of the expected type NUMBER.
<younder> ,(format t "~7,2,,,' F" 3.14)
<ixelp> 3.14 => NIL
<younder> sorry
<edgar-rft> CLHS 22.3.3.1 Tilde F: Fixed-Format Floating-Point -> https://www.lispworks.com/documentation/HyperSpec/Body/22_cca.htm
<ixelp> CLHS: Section 22.3.3.1
yitzi has joined #commonlisp
traidare has quit [Ping timeout: 272 seconds]
igemnace has quit [Quit: WeeChat 4.2.1]
<josrr> ,(format nil "~5,1F" 1.4)
<ixelp> => " 1.4"
ronald has quit [Read error: Connection reset by peer]
<josrr> ,(format nil "~5,1F" 121.4)
<ixelp> => "121.4"
<chsasank> dnhester: iot
<mi6x3m> tnx josrr :)
<chsasank> dnhester`: it's an implementation of cl in LLVM. It's not the same as emitting LLVM IR.
attila_lendvai has quit [Ping timeout: 246 seconds]
<parens-user> format is too powerful
<chsasank> I have hacked it around and here's how you bind to a C++ library: https://chsasank.com/clasp-ffi-cpp.html
<ixelp> How Common Lisp Met C++ - Sasank's Blog
<chsasank> I am writing a compiler in CL. I need to generate LLVM IR. I have too options - bind to LLVM C++ library or generate the textual representation
<chsasank> (why is there no edit option in IRC :arghhh)
ronald has joined #commonlisp
<yitzi> Clasp generates LLVM IR when it is not using the bytecode compiler. It uses the LLVM compiler framework in that case.
awlygj has quit [Remote host closed the connection]
<chsasank> Correct! I want to generate LLVM IR directly myself.
<yitzi> And iclasp isn't separate from cclasp. the iclasp binary loads the compiled library every time you run clasp.
<chsasank> It's like this clang is C++ implementation in LLVM IR. Just because I use clang compiler doesn't mean I can write rust without LLVM library
azimut has quit [Ping timeout: 260 seconds]
azimut has joined #commonlisp
<josrr> mix6x3m: you can control the padding character, as younder show you ,(format nil "~5,1,,,'0F" 1.4)
<ixelp> (format nil "~5,1,,,'0F" 1.4) => "001.4"
eddof13 has joined #commonlisp
mi6x3m has quit [Quit: Leaving]
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
eddof13 has quit [Client Quit]
alcor has joined #commonlisp
ymir has joined #commonlisp
sjl has joined #commonlisp
eddof13 has joined #commonlisp
josrr has quit [Remote host closed the connection]
josrr has joined #commonlisp
Cymew has quit [Ping timeout: 268 seconds]
NotThatRPG has joined #commonlisp
ymir has quit [Read error: Connection reset by peer]
mi6x3m has joined #commonlisp
<mi6x3m> hey friends, just conceptually, what is a good idea to hold a buffer plus a current index into it plus its size in CL?
<mi6x3m> would a class be a good idea for this combo?
<mi6x3m> or just global vars
<beach> It is always a good idea to keep things together in (say) an instance of a standard class. That way you can have several instances of it.
<mi6x3m> but is inner state not at clash with the concept of "slots" ?
<beach> I don't understand what that means.
rtypo has joined #commonlisp
<mi6x3m> nothing, I'm just interpreting falsely I guess
<mi6x3m> should be exactly what I need, bundling state together
ymir has joined #commonlisp
<thuna`> mi6x3m: I hope this isn't bad advice but you can also treat the (say) :size slot as a hint (assuming it can be obtained from the (say) :data slot) and call it :size-hint.
<yitzi> The buffer size can be encoded with the fill-pointer if you insist on an array
<mi6x3m> ah, good ideas
<adlai> chsasank: it's not HFT Recreational Chatroom... you might be out of phase with the nuclear holocaust.
* adlai supposes someone less degenerate could equivalently consider the serifed I-shape to stand for HPC... still, it's Internet, not Hai-Tek
* adlai took way too long to notice what chsasank would've corrected; it is trivial for my Generative Pretrained Mathematician to hallucinate the word 'many' anywhere necessary
<younder> beach still thinking of the chicken egg problem of bootstrapping CICL. Clearly you need a CL compiler to compile it. Then it must compile itself. Cross compile to other architectures? At what point do I 'detach' and load the code.
danse-nr3 has quit [Ping timeout: 264 seconds]
<agm> macro expansion happen in the lexical environment where the macro was defined or the one in which it is expanded? that's not entirely clear to me by clhs 3.1.2.1.2.2, it just says "current"
manwithluck has quit [Ping timeout: 260 seconds]
<adlai> My understanding was that SICL -- if younder meant that ANSICL rather than some different research project!! -- is supposed to be as modular as the hunter's axe and the cowboy's coil.
zxcvz has joined #commonlisp
manwithluck has joined #commonlisp
zxcvz has quit [Client Quit]
notzmv has quit [Ping timeout: 260 seconds]
<beach> younder: The idea is to generate an executable file containing everything. It can be done on any architecture for any architecture.
<adlai> it's not supposed to be a wrench or screwdriver for repairing the SICL though, is it? at best, a few parallel instances for confirming deterministic self-compilation, although that graph does not recurse infinitely as younder seems to fear.
<younder> beach great plan. But I need to concoct a procedure for it. On I can believe in
<adlai> even the physicists all over that bloody Web care more about sharp knives than whether the next tower of babylon will support more mezzanones.
<adlai> mi6x3m: do you want premature optimisation?
amb007 has quit [Ping timeout: 260 seconds]
<beach> Why do you need to do that?
amb007 has joined #commonlisp
dnhester` has quit [Ping timeout: 264 seconds]
<younder> beach at the bottom is a C layer for the garbage collector and the loader.
<beach> In SICL? There is no C.
<beach> younder: But why are you contemplating this? Just for kicks?
* adlai not being born of the Unix philosophy has no preconception of what 'buffer' means, beyond "place on the heap for dumping basis elements and dissolving out the excess with matching closures"
<adlai> obviously, you could stack beakers arbitrarily, although eventually the word buffer becomes meaningless.
<younder> beach OK only Lisp what will be a challenge
adlai has left #commonlisp [word]
<beach> younder: For a "backend library", you don't need to consider any of that, which is why I am asking why you are contemplating SICL bootstrapping.
NotThatRPG has quit [Remote host closed the connection]
<beach> younder: I need to go fix dinner for my (admittedly small) family, and I'll be back tomorrow. If you ask questions in #sicl, I can try to answer them when I come back. Or maybe someone else there knows enough to answer.
<younder> beach ok
notzmv has joined #commonlisp
X-Scale has quit [Quit: Client closed]
eddof13 has quit [Quit: eddof13]
X-Scale has joined #commonlisp
eddof13 has joined #commonlisp
yitzi has quit [Remote host closed the connection]
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
vindarel has quit [Quit: Leaving]
dnhester` has joined #commonlisp
NotThatRPG has joined #commonlisp
samebchase has joined #commonlisp
equwal has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
glozzom has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
zetef has quit [Ping timeout: 272 seconds]
mgl has quit [Ping timeout: 268 seconds]
kevingal_ has joined #commonlisp
eddof13 has quit [Quit: eddof13]
tyson2` has quit [Read error: Connection reset by peer]
nij- has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
monospod has joined #commonlisp
<kevingal_> Does anyone have a fix for slime-company not picking up package local nicknames? I type in 'my-local-nickname:' and it doesn't suggest anything.
nij- has quit [Ping timeout: 260 seconds]
josrr has quit [Remote host closed the connection]
eddof13 has joined #commonlisp
josrr has joined #commonlisp
waleee has joined #commonlisp
mi6x3m has quit [Ping timeout: 256 seconds]
eddof13 has quit [Quit: eddof13]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #commonlisp
pfdietz has quit [Quit: Client closed]
NotThatRPG has joined #commonlisp
sjl has quit [Quit: leaving]
sjl_ has joined #commonlisp
sjl_ has quit [Client Quit]
sjl has joined #commonlisp
<parens-user> lem (empty init file) is better than I thought, it does suggest local nicknames but slime-company fails
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dnhester` has quit [Ping timeout: 256 seconds]
NotThatRPG has joined #commonlisp
tyson2 has joined #commonlisp
sjl has quit [Quit: connection reset by purr]
sjl has joined #commonlisp
kevingal has quit [Ping timeout: 252 seconds]
kevingal_ has quit [Ping timeout: 256 seconds]
ymir has quit [Ping timeout: 264 seconds]
msavoritias has quit [Remote host closed the connection]
dnhester` has joined #commonlisp
monospod has quit [Quit: Konversation terminated!]
dnhester` has quit [Ping timeout: 240 seconds]
traidare has joined #commonlisp
ldb has joined #commonlisp
ldb` has joined #commonlisp
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
tyson2 has quit [Remote host closed the connection]
Lord_Nightmare has joined #commonlisp
dnhester` has joined #commonlisp
eddof13 has quit [Quit: eddof13]
eddof13 has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.2]
dnhester` has quit [Ping timeout: 264 seconds]
eddof13 has quit [Client Quit]
mgl has joined #commonlisp
eddof13 has joined #commonlisp
jmdaemon has joined #commonlisp
varjag has joined #commonlisp
dnhester` has joined #commonlisp
mgl has quit [Ping timeout: 264 seconds]
dnhester` has quit [Ping timeout: 268 seconds]
awlygj has joined #commonlisp
pfdietz has joined #commonlisp
mark` has joined #commonlisp
dnhester` has joined #commonlisp
jmdaemon has quit [Ping timeout: 255 seconds]
attila_lendvai has joined #commonlisp
X-Scale has quit [Quit: Client closed]
parens-user has quit [Quit: WeeChat 2.8]
chiselfuse has quit [Ping timeout: 260 seconds]
chiselfuse has joined #commonlisp
mgl has joined #commonlisp
ymir has joined #commonlisp
ymir has quit [Ping timeout: 246 seconds]
chiselfuse has quit [Remote host closed the connection]
zetef has joined #commonlisp
chiselfuse has joined #commonlisp
ymir has joined #commonlisp
zetef_ has joined #commonlisp
zetef has quit [Ping timeout: 264 seconds]
rendar has quit [Ping timeout: 264 seconds]
Oddity has joined #commonlisp
awlygj has quit [Remote host closed the connection]
ymir has quit [Ping timeout: 264 seconds]
mgl has quit [Ping timeout: 264 seconds]
tyson2 has joined #commonlisp
pfdietz has quit [Quit: Client closed]
mark` has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
mgl has joined #commonlisp
traidare has quit [Ping timeout: 252 seconds]
chomwitt has quit [Ping timeout: 256 seconds]
eddof13 has quit [Quit: eddof13]
ldbeth has joined #commonlisp
ldbeth has quit [Client Quit]
NotThatRPG has quit [Ping timeout: 264 seconds]
shka has quit [Ping timeout: 255 seconds]
NotThatRPG has joined #commonlisp
ldb has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
ldb` has quit [Remote host closed the connection]
zetef_ has quit [Remote host closed the connection]
agm has quit [Ping timeout: 256 seconds]
calx has joined #commonlisp
calx has quit [Client Quit]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<Kingsy> can someone take a look at a function for me -> https://bpa.st/INXA <- the aim is to generate a hash-table key from a "snapshot" and pool snapshots together in the hash-table by adding them to a list. however this function is just creating 1300 keys, even though they are all the same "2245" <- is the generated hash-key, I am guessing its because the string is new each time? so the hash-table is
<ixelp> View paste INXA
waaron has quit [Ping timeout: 264 seconds]
<Kingsy> treating it as a new key.. how can I match the key by value rather than if its a new variable or not?
<Kingsy> hopefully that makes sense.
waaron has joined #commonlisp
<bike> you need to specify a sensible hash table test
pve has quit [Quit: leaving]
<bike> (make-hash-table :test #'equal) will give you a hash table where keys are the same if they are EQUAL, which for strings means having the same characters (case sensitively), which it sounds you want
<Kingsy> omg I do this every time. I keep forgetting about :test. this was the issue last time too.. its such a difference from using python or php etc
amb007 has quit [Ping timeout: 255 seconds]
BrokenCog has joined #commonlisp
NotThatRPG has quit [Ping timeout: 264 seconds]
<BrokenCog> hellos. I'm trying to figure out what this 'isys' system is in this repo: https://repo.or.cz/cl-v4l2.git. anyone have any suggestions?
<ixelp> Public Git Hosting - cl-v4l2.git/summary
NotThatRPG_ has joined #commonlisp
alcor has quit [Remote host closed the connection]
<bike> BrokenCog: the asd loads a system called iolib.syscalls. a little googling, aaaaand https://github.com/sionescu/iolib/blob/master/src/syscalls/pkgdcl.lisp
amb007 has joined #commonlisp
mgl has quit [Ping timeout: 256 seconds]
<BrokenCog> ah crap. I grep'd isys *.lisp. forgot to look in the .asd file. thanks!
waaron has quit [Ping timeout: 268 seconds]
NotThatRPG_ has quit [Ping timeout: 260 seconds]
waaron has joined #commonlisp
X-Scale has joined #commonlisp
thuna` has quit [Remote host closed the connection]
<Kingsy> bike: thanks for the help before. appreciate it
attila_lendvai has quit [Ping timeout: 264 seconds]
tyson2 has quit [Remote host closed the connection]
rendar has joined #commonlisp
<bike> no problem
X-Scale has quit [Quit: Client closed]
<Kingsy> https://bpa.st/H7WQ <- is there a better way to write this? I just want to specify a struct with some default values, but image if this struct got bigger and had say 30 slots.. this would be horrible to read.
<ixelp> View paste H7WQ
<bike> ::clhs defstruct
<ixelp> CLHS: Macro DEFSTRUCT
<bike> you should consider the slot syntax carefully