phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.14, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
<aeth> pjb, verisimilitude: The thing about optimizing CL, though, is that you can easily remove it later to simplify your code if compilers improve... and you can even wrap things in macros if they're particularly tricky and you'd have to completely change the implementation of the logic.
<verisimilitude> I'm not the one arguing this would ever become an issue in practice, aeth.
<jcowan> you get bytecodes from CLISP and ECL and ABCL
<verisimilitude> I agree with you.
<aeth> e.g. Is CHECK-TYPE or DECLARE (TYPE better? Doesn't matter, just write a macro that generates both.
<aeth> (In SBCL, DECLARE is much better unless you need the ability to correct a type error at runtime)
<aeth> (And in some implementations, DECLARE is completely ignored.)
makomo has quit [Ping timeout: 246 seconds]
<verisimilitude> I just use DECLARE.
<aeth> I used to, before I wrote my own macro family
<verisimilitude> I've considered modifying some macros to add it, but haven't yet.
<aeth> DEFINE-FUNCTION (DEFUN with DECLARE or CHECK-TYPE) was easy. WITH-BINDINGS/WITH-BINDINGS* (LET/LET* with DECLARE or CHECK-TYPE) is much harder and not yet complete.
<aeth> I also need to figure out how to handle &AUX in lambda lists. I could handle them as in the standard, I could error with them (really niche feature), or I could use WITH-BINDINGS* semantics with them (and just implicitly generate a WITH-BINDINGS* if &AUX is used)
<aeth> The third approach means you could use fully type declared FLETs in your &AUX of your lambda list
<aeth> It seems pretty evil to me
<aeth> A clever person would write an empty body function that does everything through side-effects in &AUX
<verisimilitude> That's something I wouldn't mind doing, yes.
<verisimilitude> I'd suggest supporting &AUX as in the standard.
wanz has quit [Quit: wanz]
wanz has joined #lisp
notzmv has joined #lisp
<jcowan> A classic on C programming, by not quite Paul Simon: https://www.netfunny.com/rhf/jokes/92q2/hosecode.html
dale has quit [Quit: dale]
khisanth_ has quit [Ping timeout: 246 seconds]
iovec has quit [Quit: Connection closed for inactivity]
isBEKaml has quit [Quit: WeeChat 2.3]
Lycurgus has quit [Quit: Exeunt]
notzmv has quit [Ping timeout: 244 seconds]
notzmv has joined #lisp
khisanth_ has joined #lisp
logicmoo is now known as dmiles
orivej has quit [Read error: Connection reset by peer]
orivej has joined #lisp
akoana has left #lisp ["Leaving"]
dale has joined #lisp
libertyprime has joined #lisp
sjl has joined #lisp
SaganMan has joined #lisp
Moosef has joined #lisp
<Moosef> Anyone have any advice for working with the ltk gui lib? I am trying to animate elements on a canvas and the action always waits until the end of the loop I am trying to have run the update function.
_whitelogger has joined #lisp
esrse has joined #lisp
<Moosef> Nevermind
Moosef has left #lisp ["Using Circe, the loveliest of all IRC clients"]
_whitelogger has joined #lisp
kajo has quit [Ping timeout: 260 seconds]
kajo has joined #lisp
<sjl> huh, TIL that string output streams are cleared when you get their results with (get-output-stream-string ...), and that it's significantly less consing to reuse the same stream rather than using a new one each time, at least on SBCL
<sjl> neat
kajo has quit [Ping timeout: 252 seconds]
<aeth> sjl: That's an old Java trick, object pooling. Basically, preallocate and reuse objects.
rumbler31 has joined #lisp
kajo has joined #lisp
<sjl> Yeah, it makes sense. Always happy to get 1/3 the consing for minimally-invasive changes.
<sjl> Also changed a find-if to some and went from 80mb consed to 0mb consed.
<sjl> Profiling is fun.
<aeth> I wish it was as easy to catch consing in other implementations.
<sjl> Yeah SBCL's profiler is... okay. It's unfortunate that it's the best one around.
<sjl> Though... can you use e.g. jvisualvm with ABCL? I've never tried.
<sjl> I remember using it to profile Clojure and it was pretty good.
Lord_of_Life has quit [Ping timeout: 244 seconds]
<aeth> I don't think many people here are familiar with ABCL
Necktwi has quit [Ping timeout: 250 seconds]
<loke> sjl: You should be able to use it
<loke> After all, it's just normal Java classes and methods (alebeit constructed in an unusual way)
<sjl> loke: yeah, I just hadn't even thought to try. maybe I will next week
Lord_of_Life has joined #lisp
robotoad has quit [Quit: robotoad]
moei has joined #lisp
<aeth> Let us know
robotoad has joined #lisp
_whitelogger has joined #lisp
rumbler31 has quit [Remote host closed the connection]
wanz has quit [Remote host closed the connection]
<beach> Good morning everyone!
<aeth> Good morning beach
<beach> jcowan: Thanks for the praise about the "reverse order" paper!
<beach> jcowan: Most days I think that, even if I don't have time to finish SICL within my remaining life expectancy, I have still produced a sufficient number of published research results and documentation that can help implementers or other systems.
<beach> jcowan: I also think there is enough material for someone to continue the work on SICL.
sjl has quit [Ping timeout: 250 seconds]
<beach> jcowan: Right now, Bike is doing work on Cleavir, heisig is working on HIR hoisting and on the sequence functions, and scymtym is maintaining Eclector and doing dispatch work. That's fantastic. But I think I could use more help. Not sure in what form and from whom yet.
<beach> s/or other systems/of other systems/
<beach> I would also like to spend more time on my book projects at some point. Oh well.
robotoad has quit [Read error: Connection reset by peer]
robotoad has joined #lisp
kajo has quit [Ping timeout: 252 seconds]
kajo has joined #lisp
<jcowan> That's pretty much how I feel about the R7RS-large effort, where I am (in large part, though not in all) writing both spec and sample code to implement it.
keep_learning_M has quit [Quit: Leaving]
keep_learning_M has joined #lisp
<beach> I see.
thodg has joined #lisp
amerlyq has joined #lisp
rumbler31 has joined #lisp
kajo has quit [Ping timeout: 264 seconds]
orivej has quit [Ping timeout: 246 seconds]
kajo has joined #lisp
orivej has joined #lisp
SaganMan has quit [Ping timeout: 250 seconds]
vlatkoB has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
rippa has joined #lisp
amerlyq has quit [Quit: amerlyq]
cranes has quit [Ping timeout: 250 seconds]
cranes has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
orivej has quit [Ping timeout: 250 seconds]
Necktwi has joined #lisp
kajo has quit [Ping timeout: 250 seconds]
atgreen has quit [Ping timeout: 240 seconds]
kajo has joined #lisp
kushal has quit [Remote host closed the connection]
kushal has joined #lisp
atgreen has joined #lisp
<nitrix-mas> Is it possible to define a macro on top of an existing macro to perform further modification to the code?
<beach> "on top of"?
<nitrix-mas> As in, someone provides a macro that duplicates whatever it receives, then I define the same macro, but it replaces the last term by something.
<no-defun-allowed> you can write a macro that generates code with another macro, yes
<beach> nitrix-mas: A macro can expand to code that contains macro calls and a macro expander can call a macro to do the expansion, so all combinations are possible, as no-defun-allowed is pointing out.
<no-defun-allowed> for example, defun is a macro usually, and you can write macros that generate defuns
<no-defun-allowed> eg: define-easy-handler in hunchentoot does a defun, then assigns the function into a table of some kind.
<beach> nitrix-mas: You can't define "the same macro" as someone else and still have the previous one be around, unless you save the macro function of the old one under a different name.
<nitrix-mas> beach: That sounds great when you're in control of the top-most macro, but what if it was defined by someone else in some other library?
<nitrix-mas> beach: Because then I'd be forced to use the new name instead to get the kind of "layered" transformations that I'm expecting.
rumbler31 has quit [Remote host closed the connection]
<beach> nitrix-mas: I think you need to give examples, because your terminology doesn't make any sense. There is no "top-most" macro.
<no-defun-allowed> yes, i don't quite understand that either
<nitrix-mas> beach: Alright. Hypothetical situation then: you implement macro `foo` that does wonders, everybody loves it, it makes it into pretty much every codebases. I, at some point, decides that `foo` is great but would be better if it did something just a tiny bit different or extra, so I write a macro `bar` that either uses `foo` with additional logic or re-implements `foo`, but either ways, now I have to replace the
<nitrix-mas> existing codebases that were using your `foo` to use my `bar`.
<nitrix-mas> Isn't there a way to avoid this?
<beach> I don't see a solution to that problem. If you have the source code of all those client code bases, you can of course redefine the macro before you compile them, but if you don't, then the expanded macro is already in their compiled code.
<nitrix-mas> Oh I'm not worried about the linkage problem. I'm going with the assumption I have access to all those code bases. What bothers me is the unability to tweak an existing macro.
<beach> So, if you have the source code. Just do a DEFMACRO with the same name and your improved macro and then compile the client code.
<nitrix-mas> It seems like the only option is to redefine a macro, you can't "supplement" it.
<beach> You can tweak any macro you like.
<nitrix-mas> Oh?
<beach> Sure, just do a DEFMACRO with the same name.
<beach> If you want to reuse the old one, move its macro function first.
<nitrix-mas> Oh!
<nitrix-mas> So you can actually chain them by moving the existing one to another name then redefining it while using the other name.
<nitrix-mas> I didn't think of that.
<beach> (setf (macro-function 'old-foo) (macro-function 'foo))
<nitrix-mas> That seems like what I'm after :)
<beach> Then (defmacro foo (..) (old-foo ...))
<beach> But again, you need to make sure the client code is compiled AFTER your redefinition.
<nitrix-mas> Curiously, do you think someone could also ever conceive some sort of macro that lets you "register" more macros to run?
<no-defun-allowed> doesn't sound impossible
<nitrix-mas> Without redefining it.
<beach> I think I will refrain from speculating.
<Bike> i don't understand the earlier hypothetical situation. all of these libraries have their own definition of this macro?
<beach> That's not how I understand it.
<nitrix-mas> Bike: Maybe focus on the rephrased one. I did a poor job the first time.
<beach> I understand that there is ONE macro in some code base, and tons of client code using it.
<nitrix-mas> Bike: Yeah. Single macro, lot of uses, and you want to tweak the macro's behavior, but you're not the author, just a user of the macro.
<beach> But then, I am notorious for not understanding what people describe.
<Bike> practically speaking i would get the author to make a change, but i guess the alternative is redefining it first
<nitrix-mas> Bike: Yeah, so redefining was also what we arrived to :)
<Bike> mm
<Bike> i'm trying to understand the "register" thing building off that
<Bike> it sounds... complicated
<nitrix-mas> The gotcha was the ability to "layed" the behaviors so that you wouldn't lose the old macro behavior while adding yours.
<nitrix-mas> *layer
<nitrix-mas> So that's all about that. Now there's my curiosity taking me elsewhere and wondering if it's possible to accomplish without ever redefining the existing macro.
<nitrix-mas> Perhaps by planning ahead and designing the macro so that it somehow lets you specify other macros it should use internally, but it wont know until it's invoked, I suppose.
<nitrix-mas> *chokes* Is there such thing as compile-time globals?
<Bike> well, yeah, you can just define a global variable at compile time.
<nitrix-mas> Maybe we shouldn't go there, haha. I was perfectly happy with our `redefining` conclusion :P
<Bike> it's also not uncommon to have a macro take operators as arguments
seok has joined #lisp
<nitrix-mas> Bike: As-in the global exists only during compilation though?
<Bike> sure, if you want.
<nitrix-mas> How?!
<Bike> (eval-when (:compile-toplevel) (defvar *whatever*))
<Bike> this is enormously weird to do, mind
<Bike> also, whether the variable exists after the compile-file depends on what your implementation is doing
<nitrix-mas> I know fairly well that I'm in muddy waters, I'm just kind of amazed by how far one can stretch Lisp.
<nitrix-mas> Oh wow. :compile-toplevel, :load-toplevel, that's crazy :o
<nitrix-mas> Looks like eval-when superseeds eval, compile and load also.
<Bike> "supersedes"?
<Bike> er
<Bike> i mean, what do you mean.
<nitrix-mas> s/seed/sede/
<nitrix-mas> This seems to say they've been deprecated.
<beach> No, just the old names of the situations.
<beach> And EVAL-WHEN is not a replacement for EVAL. It just controls when EVAL is called.
<verisimilitude> I can blow your mind, nitrix-mas: A library I wrote exports 324 symbols, half of which refer to the same function in pairs; I don't write a single function, though, because I have a single macro that delegates to four other macros to do this for me and I use a reader macro to generate all of the calls when the library's loaded.
<verisimilitude> Lisp is a fun language, nitrix-mas.
<nitrix-mas> verisimilitude: This feels like receiving twice the gifts because your parents are divorced :)
<Bike> ...bittersweet?
<verisimilitude> You refer to the function pairs I mentioned?
<nitrix-mas> To "Lisp is a fun language" :P
<verisimilitude> I don't understand the phrasing, then, but alright.
<nitrix-mas> Must be a language barrier thing on my end. All good.
<nitrix-mas> I really appreciate the thinkering with you, Bike, beach and verisimilitude :)
<verisimilitude> It's no issue.
<nitrix-mas> Hope you guys had a great xmas, I'm headed to bed. Cheers~
<Bike> good night.
<verisimilitude> Good night, then.
meepdeew has joined #lisp
notzmv has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
notzmv has joined #lisp
makomo has joined #lisp
ebrasca has joined #lisp
Bike has quit [Ping timeout: 256 seconds]
smokeink has joined #lisp
krwq has quit [Remote host closed the connection]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
meepdeew has quit [Remote host closed the connection]
notzmv has quit [Ping timeout: 250 seconds]
atgreen has quit [Ping timeout: 245 seconds]
smokeink has quit [Quit: peace]
rozenglass has quit [Remote host closed the connection]
mrcom has quit [Read error: Connection reset by peer]
<ogamita> nitrix-mas: a macro can do whatever it wants with the data ("code") it's passed as argument. Notably, it can "code walk" it, and call macroexpand (including passing it's environment).
<ogamita> nitrix-mas: therefore you can consider a macro that would see that another macro is called in the code it's passed, and call macroexpand on it, and then process the result of this macroexpansion.
dtornabene has joined #lisp
<ogamita> nitrix-mas: however, I would consider it very bad, because this breaks the scoping implied by the parentheses and the independence of the operators.
<ogamita> nitrix-mas: instread, you can define your macro to expand to a macrolet or flet/labels form, so that in the scope of the "body" you have those other local operators defined, to expand or evaluate to what you want.
<ogamita> nitrix-mas: in that case, lexical shadowing would occur naturally, instead of with the ugly hack of code-walking, macroexpanding and patching some expansion.
<ogamita> nitrix-mas: you should also consider, when writing, or maintaining macros, that they're functions like any other functions, and that they can call functions. Therefore if you want to "refactorize" a macro so you can easily write variants or improvement, just move their code to functions and call those functions from your various macros.
mrcom has joined #lisp
isBEKaml has joined #lisp
Lycurgus has joined #lisp
shifty has joined #lisp
iovec has joined #lisp
shka_ has joined #lisp
isBEKaml has quit [Quit: WeeChat 2.3]
ravndal has joined #lisp
elderK has quit [Quit: WeeChat 1.9]
scymtym has joined #lisp
dtornabene has quit [Remote host closed the connection]
heisig has joined #lisp
heisig has quit [Quit: Leaving]
shifty has quit [Ping timeout: 244 seconds]
milanj has joined #lisp
libertyprime has quit [Ping timeout: 250 seconds]
zotan has quit [Quit: ZNC 1.6.5+deb1+deb9u1 - http://znc.in]
Zaab1t has joined #lisp
zotan has joined #lisp
atgreen has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
scymtym has quit [Ping timeout: 250 seconds]
esrse has quit [Ping timeout: 272 seconds]
marvin2 has quit [Ping timeout: 250 seconds]
Zaab1t has quit [Ping timeout: 246 seconds]
milanj has joined #lisp
marvin2 has joined #lisp
<Inline> why do i have to have (baseAndCount uint \[2\])) and not just (baseAndCount uint [2])) in order for opengl/gl/funcs-gl-glcore-gles2.lisp to compile ?
<Inline> it tells me unmatched parenthesis otherwise and compilation just puts me into the debugger
<TMA> Inline: you can have |[2]| too
<Inline> hmmm
<Inline> that's not the point
Essadon has joined #lisp
<Inline> why do i have to escape ?
<TMA> [ and ] are not symbol characters by default, iirc
<Inline> hmmm
<Inline> ok
<Inline> so it's the opengl developers responsibility to declare them as such ?
<TMA> sorry, they are. maybe there is some different readtable present at the moment
<Inline> ah
robdog has quit [Remote host closed the connection]
<Inline> i didn't change anything, maybe some of the packages i loaded have, like mcclim or so....
<Inline> but i had that same problem in mcclim actually too
<Inline> like in prolog syntax etc or some other syntax
Zaab1t has joined #lisp
<TMA> what does (get-macro-character #\[) return? in bare sbcl it returns (values nil nil)
Lycurgus has quit [Quit: Exeunt]
<TMA> maybe you can deduce what installed the #\[ from the result
<ogamita> [] and constituent character in the default readtable.
<ogamita> While nothing is said about reader macros for them, notice that for the dispatching reader macro #\#, []{}!? are reserved to the end-user. By contamination, one could consider that those characters are also reserved to the end-user for reader macros.
<ogamita> But it's not necessary: you can set reader macros (and dispatching reader macros) as you want, in your readtables.
<Inline> i get nil nil as well both in the bare sbcl repl as well as in my clim-listener
<ogamita> Also you can always reset the readtable to the standard readtable with (setf *readtable* (copy-readtable nil)).
<ogamita> Inline: of course.
<ogamita> There are some reader macros from libraries that use {} or []. Eg. to parse C or Python, or Objective-C, etc. Or just as alternate parentheses.
<ogamita> (mapcar 'symbol-name (quote ([foo }bar{ baz]))) #| --> ("[FOO" "}BAR{" "BAZ]") |#
SaganMan has joined #lisp
atgreen has quit [Remote host closed the connection]
orivej has joined #lisp
Zelmin has joined #lisp
atgreen has joined #lisp
<jcowan> Well. You can reset the readtable if you have not changed the definitions of (, lower-case letters, hyphen, or asterisk.
jochens has joined #lisp
jochens has quit [Remote host closed the connection]
jochens has joined #lisp
seok_ has joined #lisp
zotan has quit [Quit: ZNC 1.6.5+deb1+deb9u1 - http://znc.in]
<ogamita> jcowan: indeed. If you do that, you should be forward thinking ;-)
zotan has joined #lisp
makomo has quit [Ping timeout: 244 seconds]
<ogamita> For example, you could prepare something like: (defun reset () (setf *readtable* (copy-readtable nil))) (define-symbol-macro ! (reset)) (set-macro-character #\! (lambda (stream ch) (declare (ignore stream ch) (reset) 'nil)))
LiamH has joined #lisp
FreeBirdLjj has joined #lisp
jochens has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 250 seconds]
hiroaki has joined #lisp
FreeBirdLjj has joined #lisp
<jcowan> Nice. That belongs in every adventurous Lisper's .lisprc
jochens has joined #lisp
jochens has quit [Remote host closed the connection]
seok has quit [Quit: Page closed]
<pierpal> the code pasted at 14:09:28 contains an extra ) and the error you get says unmatched parenthesis. You are just overthinking the whole thing
msb has quit [Ping timeout: 246 seconds]
<pierpal> oops. sorry, 14:09:28 is my local time...
msb has joined #lisp
<pierpal> it would be about two hours ago in relative time
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
sjl has joined #lisp
varjag has joined #lisp
keep_learning_M has quit [Quit: This computer has gone to sleep]
rumbler31 has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
rumbler31 has quit [Ping timeout: 244 seconds]
Necktwi has quit [Ping timeout: 246 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 250 seconds]
Lord_of_Life_ is now known as Lord_of_Life
makomo has joined #lisp
Necktwi has joined #lisp
keep_learning_M has joined #lisp
keep_learning_M has left #lisp ["Leaving"]
keep_learning_M has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
aindilis has quit [Ping timeout: 246 seconds]
kajo has quit [Ping timeout: 252 seconds]
kajo has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
bzp has joined #lisp
<bzp> hi all
wigust- has joined #lisp
orivej has quit [Ping timeout: 250 seconds]
<beach> Hello bzp.
hiroaki has quit [Ping timeout: 244 seconds]
wigust has quit [Ping timeout: 272 seconds]
<beach> bzp: Are you new here? I don't recognize your nick.
<bzp> yes
<beach> So what brings you to #lisp?
<bzp> I am a newbie in programming, I want to learn to program in lisp, but it seems to be very complicatedI am a newbie in programming, I want to learn to program in lisp, but it seems to be very complicated
<beach> It is less complicated than some of the more traditional languages.
<beach> Common Lisp has much simpler semantics than, say, C. Certainly much simpler than C++.
<bzp> in lisp?
<bzp> how would it be in lisp?
<beach> Very similar.
<beach> Do you want me to write it for you?
<beach> Give me a sec...
<bzp> please
<beach> Untested, but you get the idea.
<bzp> :O
<pfdietz> Could also use if instead of cond.
<beach> Sure.
<bzp> thank you very much I hope to learn this wonderful language
<beach> Great! You can come here, or better, to #clschool with your question.
<beach> Especially when it comes to choosing your tools, your Common Lisp implementation, etc.
<bzp> the following functions are not known to be defined: incf, decf
<beach> Yes, they are.
<beach> bzp: Well, they are macros, not functions.
<beach> bzp: What implementation are you trying to use it on?
<bzp> emacs
<beach> bzp: Well, this channel is dedicated to Common Lisp so I wrote the program in Common Lisp.
<beach> Perhaps Emacs Lisp doesn't have those functions.
<beach> bzp: Emacs Lisp is not Common Lisp.
<beach> Or perhaps you are tying to execute it in a way that it doesn't understand.
<beach> It works in Emacs Lisp too.
pierpal has quit [Quit: Poof]
<beach> You must be doing something wrong.
pierpal has joined #lisp
<bzp> x: 5 y: 12
<bzp> NIL
<beach> Is that the right answer?
<dim> when using (make-array capacity :element-type '(integer 0 9) :adjustable t) is there any way to know what kind of representation is used by the implementation, as in, how many bytes per array element?
<beach> bzp: Looks like you are using Common Lisp via SLIME. Excellent.
<beach> clhs a-u-e-t
<specbot> Couldn't find anything for a-u-e-t.
rumbler31 has joined #lisp
<beach> Bah.
<beach> clhs u-a-e-t
<beach> dim: ↑
<dim> (upgraded-array-element-type '(integer 0 9)) is (UNSIGNED-BYTE 8) in CCL, not too bad!
rumbler31 has quit [Read error: Connection reset by peer]
<dim> it could be half that, but well, it's a good way to do it already
<bzp> I'll do another exercise later and hope you help me please
<bzp> :D
<beach> bzp: Well, I am not that much into writing code for other people, but I am willing to answer questions.
<bzp> ;)
bzp has quit [Remote host closed the connection]
orivej has joined #lisp
<jcowan> dim: It's a tradeoff: storing nybbles, unless you have a lot of them, involves much higher processing costs on standard hardware than storing bytes.
<jcowan> I am now debating whether to implement ordered sets as bitvectors or bytevectors: 8:1 looks bad for storage, but I think 100 domain elements would be huge for this thype of set, so I lean towards bytevectors.
<jcowan> Of course, your code might have zillions of such sets, which would add up.
<dim> yeah it's having lots of them in a giant vector where manually using '(unsigned-byte 64) to store 16 digits (4-bits) at a time might be worth it
<dim> context: Advent of Code again, nothing serious
marvin3 has joined #lisp
Bike has joined #lisp
marvin2 has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #lisp
hiroaki has joined #lisp
FreeBirdLjj has quit [Ping timeout: 245 seconds]
notzmv has joined #lisp
krwq has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 244 seconds]
yvy has joined #lisp
<_death> which day
orivej has joined #lisp
_whitelogger has joined #lisp
FreeBirdLjj has joined #lisp
didoerpl has joined #lisp
<didoerpl> I have a UNIX doubt
sauvin has quit [Ping timeout: 245 seconds]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
<pjb> didoerpl: ok.
makomo has quit [Ping timeout: 246 seconds]
<didoerpl> I wish to dd a file to a sector- low level location I did it, but don't want to remember all that, final ending byte. so Let's say the file is 12 M and I want to just know the "approximate" file size like it's less than 100MB can I choose the blocksizes or some trick in such a way that I need only remember the begining byte, and not the exact file size. or the exact ending byte.
<shka_> go to #lispcafe with that please
<pjb> didoerpl: when you use dd on a device, you're working with the whole device.
<pjb> shka_: it will lead to lisp code!
<didoerpl> chat me on #lispcafe
<pjb> ok.
<shka_> that remains to be seen
vlatkoB has quit [Remote host closed the connection]
yvy has quit [Ping timeout: 244 seconds]
vlatkoB has joined #lisp
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
anamorphic has joined #lisp
makomo has joined #lisp
orivej has quit [Ping timeout: 244 seconds]
slyrus1 has quit [Ping timeout: 272 seconds]
<shka_> pjb: glorious
makomo has quit [Ping timeout: 246 seconds]
verisimilitude has quit [Remote host closed the connection]
makomo has joined #lisp
anamorphic has quit [Ping timeout: 245 seconds]
kushal has quit [Remote host closed the connection]
kushal has joined #lisp
Zaab1t has quit [Quit: bye bye friends]
atgreen has quit [Ping timeout: 250 seconds]
isBEKaml has joined #lisp
<phoe> helloooo
FreeBirdLjj has joined #lisp
<shka_> oh gosh it is that guy again ;-)
cranes has quit [Ping timeout: 240 seconds]
<_death> any gifts from Santa CLOS
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<phoe> sure, on the first day of Lispmas Santa CLOS gave to me
<phoe> a brand new ten gig heap
<phoe> on the second day of Lispmas Santa CLOS gave to me: two garbage collectors, and a brand new ten gig heap~
<phoe> and so on, and so on
Lycurgus has joined #lisp
<MichaelRaskin> But can you use these heaps together!
didoerpl has left #lisp [#lisp]
milanj has quit [Quit: This computer has gone to sleep]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 245 seconds]
vlatkoB has quit [Remote host closed the connection]
libertyprime has joined #lisp
cranes has joined #lisp
didoerpl has joined #lisp
<didoerpl> hey guys what's up
<didoerpl> pjb: hi again
<didoerpl> pjb: I am telling you singularity is going to be here by 2040
<didoerpl> shka_: _death phoe AI takeover WILL happen
<didoerpl> ok this is offtopic but on #lispcafe I am ther
<didoerpl> guys I am not interested in lisp
<didoerpl> to be frank I don't lisp at all , I am more into singularity
<didoerpl> and AI
didoerpl has left #lisp [#lisp]
Inline has quit [Read error: Connection reset by peer]
Inline has joined #lisp
orivej has joined #lisp
<_death> human intelligence is artificial intelligence, since humans create humans
isBEKaml has quit [Quit: WeeChat 2.3]
<aeth> Does anyone here actually do AI? (And most game AI doesn't count, that's #lispgames not #lispai)
<_death> computer vision
<_death> at least partly..
<aeth> The community seems mostly like web stuff, language implementations, and games to me, with the occasional GUI application (e.g. someone wants to do a CAD).
<aeth> So it's kind of strange when someone comes in here with a 30-years-out-of-date view on Lisp.
<aeth> _death: Do you do it in Lisp?
<_death> aeth: I have some internal tools in Lisp, but mostly C++
<_death> aeth: I have used CL to some extent throughout all my jobs
FreeBirdLjj has joined #lisp
anamorphic has joined #lisp
<_death> and between jobs, for personal projects, I use it almost exclusively...
<anamorphic> Hi, can one reasonably expect a LOOP impl to extract invariants for you?
<ebrasca> Does CL have atomic operations?
<anamorphic> ebrasca: think you'll have to arrange that for yourself.
<antoszka> Any Lispers attending the 35c3?
<phoe> not me
<phoe> ebrasca: depends
<phoe> standard CL does not, but some implementations do
<phoe> what kind of atomic operations do you want?
<anamorphic> antoszka: Always wanted to go. Are there Lisp topics?
FreeBirdLjj has quit [Ping timeout: 250 seconds]
<ebrasca> I am implementeing better FS for mezzano and I like to don't use locks.
<antoszka> anamorphic: Not that I've seen over the last few years
<phoe> ebrasca: ask froggey if he implemented any atomic operations in Mezzano; if he didn't, maybe you guys could steal some code from SBCL.
<antoszka> anamorphic: haven't really gone through this year's schedule, though
<antoszka> sbcl has some built-in atomic ops in the SB-EXT package
Inline has quit [Read error: Connection reset by peer]
<aeth> ebrasca: any progress on Mezzano as a server?
<anamorphic> ebrasca: That sounds awesome. When you say better FS do you mean "butter fs" like BTFS in Linux?
<ebrasca> aeth: Yes I have some suport for ext 2 and 3. ( for now you can't read from ext4 )
<ebrasca> anamorphic: I like to add btrfs but for now I mean add page cache , less duplication of code ...
milanj has joined #lisp
Inline has joined #lisp
<anamorphic> What did old systems like genera and ti explorers use for FS?
<ebrasca> aeth: You can host web pages in mezzano.
<Inline> is there any other way to create the vmdk ?
<Inline> i don't have vbox
<Inline> as it seems it's gonna be left-off of new distros...
<ebrasca> Inline: Use qemu
<Inline> ya but how do i create the image for it ?
<Inline> qemu is already installed
<Inline> tried kvm but i don't have the necessary cpu flags....
<Inline> erm
<anamorphic> Why qemu for mezzano vs. virtualbox?
<ebrasca> Inline: You make image with "make cold-image" if you are talking about mezzano.
<ebrasca> anamorphic: Qemu is libre software
<ebrasca> anamorphic: It can run in terminal , sdl , and others.
<aeth> ebrasca: That's TCP, any UDP support? If you support both you'd in theory be able to host most content.
<ebrasca> aeth: I have not read UDP , UDP is probably working.
<ebrasca> aeth: I like to add arp expiration but for some reason it can disconect long connections.
masterdonx has quit [Quit: ZNC - http://znc.in]
masterdonx has joined #lisp
Zelmin has quit [Ping timeout: 250 seconds]
robotoad_ has joined #lisp
robotoad has quit [Ping timeout: 250 seconds]
holycow has joined #lisp
FreeBirdLjj has joined #lisp
seok_ has quit [Quit: Page closed]
shka_ has quit [Ping timeout: 268 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
akoana has joined #lisp
milanj has quit [Ping timeout: 244 seconds]
LiamH has quit [Ping timeout: 245 seconds]
LiamH has joined #lisp
Gnuxie[m] has joined #lisp
LiamH has quit [Ping timeout: 250 seconds]
impulse has joined #lisp
shifty has joined #lisp
LiamH has joined #lisp
omilu has quit [Quit: Lost terminal]
anamorphic has quit [Quit: anamorphic]
anamorphic has joined #lisp
kajo has quit [Ping timeout: 264 seconds]
kajo has joined #lisp
thodg has quit [Ping timeout: 250 seconds]
Xach has quit [Ping timeout: 268 seconds]
Xach has joined #lisp
kajo has quit [Ping timeout: 250 seconds]
kajo has joined #lisp
sjl has quit [Ping timeout: 272 seconds]
akoana has quit [Ping timeout: 268 seconds]
_whitelogger has joined #lisp
seok has joined #lisp
<seok> Anyone seen this error?
<seok> Component "trivial-features" not found, required by NIL [Condition of type ASDF/FIND-COMPONENT:MISSING-DEPENDENCY]
<seok> trying (asdf:load-asd *asd file path*)
<seok> (asdf:load-asd "/home/seok/next/next.asd")
<anamorphic> Have you tried (ql:quickload "somesystem")?
<seok> what is "somesystem"?
<seok> (ql:quickload :alexandria) this works
sjl has joined #lisp
aindilis has joined #lisp
<phoe> seok: (ql:quickload :trivial-features)
<phoe> basically, your ASDF tries to load your system but fails because there is an unresolved dependency
<phoe> try using QL:QUICKLOAD to load it instead; Quicklisp pulls missing dependencies from the Internet
<phoe> and put your project in quicklisp's local-projects folder
Lycurgus has quit [Quit: Exeunt]
<seok> Hm, ql can't find trivial features
<seok> wait
<seok> ok got it
anamorphic has quit [Quit: anamorphic]
atgreen has joined #lisp
LiamH has quit [Quit: Leaving.]
<Inline> hoooo kayyyyy
<Inline> got mezzano build working again....it failed because of old asdf version style *central-registry* config
<Inline> heh
<Inline> foo ya
<Inline> lol
zotan has quit [Ping timeout: 250 seconds]
zotan has joined #lisp
<Inline> oh, i was called from the uk today wth
<Inline> oh man
<pjb> Inline: head hunters.
<pjb> The only question is whether you're ready to live in a muslim country or not.
<pjb> Is UK more or less muslim than France???
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
<dim> separation of church and state is a thing, and freedom of religion in the United Kingdom is provided for (https://en.wikipedia.org/wiki/Freedom_of_religion_in_the_United_Kingdom), and in France too (guaranteed by the constitutional rights)
<dim> pjb: I don't know what you're trying to say, what I know is please refrain from saying it or kickban yourself from here
<Inline> ok got up mezzano i think
<Inline> tells me starting system
<pjb> dim: I'm saying that the number of "terrorist attacks" is a factor in considering moving to a new country. Head hunters may not realize it.
FreeBirdLjj has joined #lisp
<pjb> dim: so stop being an idiot.
<Gnuxie[m]> This isnt on topic
<Gnuxie[m]> This is #lisp not right wing training grounds
Arcaelyx has quit [Quit: Textual IRC Client: www.textualapp.com]
<pjb> Furthermore, it has been said by our heads of state. Namely the several past French presidents said we had to live with terrorism. So this is something that must be discussed and taken into account indecisions.
<dim> pjb: you're off topic again, and resorting to insults. please see yourselt out, or at least AFK until your head is clear again, if ever.
<pjb> You're attacking me. I'm not insulting anybody.
<dim> “idiot” is an insult, I believe.
<pjb> No, it's a diagnostic.
FreeBirdLjj has quit [Ping timeout: 244 seconds]
<jcowan> There is about an equal percentage of Muslims in the UK and France, but France doesn't ask about religion in its census (nor does the US), so the figure may be hugely off.
<jcowan> say 3%-10% vs. 5% in the UK. In either case minimal.
<Inline> loading instructions ....
<Inline> duh, it takes long, but anyway, i'm curious now how the desktop looks lol
<Inline> i hope i have left enough ram
hiroaki has quit [Ping timeout: 252 seconds]
<Inline> ok i killed firefox, cause i only have 4Gb ....
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
<Inline> loading simd, now that takes really long
Lycurgus has joined #lisp
<Inline> ahh progresses again
<p_l> pjb: there's one country where I had included terrorism in "not wanna go there" metric, and it's USA. (the biggest Muslim country has its issues but it's nowhere close)
<Inline> ok xp-printers takes a while again
<Inline> but i saw codegen-arm64 and stuff like that
<Inline> what does that mean ?
<Inline> is it built for running everywhere ?
<no-defun-allowed> probably compiler backend stuff for arm64
<Inline> yes but why would it get loaded with a qemu-system-x86-64 ?
<no-defun-allowed> probably won't
<Inline> never mind
<p_l> There might not be optional code building much on that
ckonstanski has joined #lisp
<jcowan> In any case, terrorism never achieves its strategic objectives. The French terrorists of 1940-45 were abject failures, taken by themselves.
<pjb> :-)
<pjb> Note how I used double quotes around "terrorist attacks".
<p_l> Not much terrorism there (there's a list of things guerrilla fighters can do to not be marked terrorists, usually, worked with nazis even)
<Inline> ok, loading intel-hda
<Inline> i suppose it's up in a few minutes
<p_l> Though I don't know that much about French actions there other than nunber of resistance members suddenly increasing post 45 ;-)
<holycow> whois p_l
<holycow> just curious if you are french :)
<holycow> you clearly have no clue about the states
<p_l> No, but I'm considerong moving there (France)
<p_l> holycow: I won't claim to have a deep understanding of USAZ
<p_l> *USA
<holycow> *nod* :)
<p_l> but as migration target 8t scores multiple fact-based demerits for me that make it a bad choice
<p_l> (this is graded subjectively)
<p_l> Widespread, if inefficient, "terrorism" (aka "mass shooting pretty much every day") , is pretty down the list, way under "commercial death panels" aka the nonexistent healthcare system
<p_l> (excuse my hijacking of right wing talking points, it's in jest)
<holycow> you do know that
<holycow> the only reason aus, ca and eu have any social programs INCLUDING medicare
<holycow> is because america spends all their money on the military so we don't have to?
Bike has quit [Ping timeout: 256 seconds]
<holycow> the spending differential is so vast
<holycow> that even a simple 25% reduction in military spending by the us will re-align the power structure around the worlds that us on the edges of the us protectorate will have to dump social programs (all of them) and re-militarize?
<holycow> you are absolutely correct about your critique 100%
<Inline> bah, network-setup takes long again....
FreeBirdLjj has joined #lisp
<holycow> the reality of the western worls is that we either spend on military infrastructure now or our enemies will force us to spend on it later
<holycow> whether we go to war is not decided by us but by our enemies
<holycow> the interesting thing about the entire conversation is that the whole political ecosystem is so vast that both the left, right and middle perspectives are all 100% correct.
<holycow> depending on perspective and you desired outcomes
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<p_l> holycow: sorry, but that's mostly BS. Yes, we need some more military spending in EU, but it's not because we could cut back due to USA, and in fact many EU countries had such system *without any defense from USA*
<p_l> In fact, Poland used to be preprogrammed in some of the warhead sponge bases in USA
<holycow> it literally a fact
<p_l> Mainly cities, under SIOP of "kill as many civilians in first 30 minutes"
<holycow> the use spends more than all of the western world armies combined
<holycow> the only reason that we have free shipping lanes and you guys spend so little on your protection is because of the us
<p_l> It does spend. It also spends a fuckton more on healthcare for much less in benefits
<holycow> the MOMENT the use cuts back on spending we are in deep deep trouble
<p_l> holycow: which is why EU is building up mutual defense provisions for some time, since USA is known not to honor any defence pact
<holycow> also, the position that the us gets less benefits from its medical system is wrong
<holycow> almost 100% of all drug patents inthe world are by us companies
<p_l> But it's literally not why pretty much every other country has better medical system than USA
<holycow> the only reason us companies invest in drug research is because of the free market economics.
<p_l> holycow: some of them with HQ in Germany actually
<holycow> you and everyone in the west is getting their drugs from the states
<holycow> the eu is weak
<holycow> the eu is full of weak men with no vision, no pride and no willingness to fight
<p_l> And majority of US drug research is publicly funded (through NSF)
<holycow> france has been a breath of fresh air
<holycow> p_l: it actually isn't
<holycow> well i take that back
<holycow> i actually don't know that for a fact, that i am not sure about
<p_l> holycow: France riots with regularity
<holycow> we in the west are living on borrowed time
<p_l> And has policy of nuking you as "warning"
<jcowan> What, from the Pyrenees to the Atlantic shore?
robotoad_ has quit [Quit: robotoad_]
Bike has joined #lisp