pranav has quit [Remote host closed the connection]
pranav has joined #commonlisp
random-nick has quit [Ping timeout: 276 seconds]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
troojg has quit [Ping timeout: 248 seconds]
Akbar-Birbal has joined #commonlisp
shawnw has joined #commonlisp
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
shawnw has quit [Ping timeout: 246 seconds]
troojg has joined #commonlisp
Akbar-Birbal has left #commonlisp [#commonlisp]
Akbar-Birbal has joined #commonlisp
buffet has quit [Quit: Bye!]
buffet has joined #commonlisp
Akbar-Birbal has left #commonlisp [#commonlisp]
Akbar-Birbal has joined #commonlisp
rtypo has quit [Ping timeout: 252 seconds]
troojg has quit [Ping timeout: 260 seconds]
zlqrvx_ has quit [Ping timeout: 272 seconds]
Krystof has quit [Ping timeout: 246 seconds]
<beach>
owen: We are (slowly) working on something you might call an IDE, but it is still going to take some time before it is usable.
<beach>
owen: ... as scymtym said.
<beach>
scymtym: I see Second Climacs as only one component of an IDE. There also needs to be a backtrace inspector, a debugger, and Clouseau of course.
pranav has quit [Remote host closed the connection]
Lord_of_Life has quit [Ping timeout: 260 seconds]
<owen>
i have not tried second climacs yet, perhaps I will look into it some weekend
<beach>
owen: It is not usable at the moment.
Lord_of_Life has joined #commonlisp
<owen>
there is a clim frontend for lem btw
<owen>
lem sucks in it's own way though... fine for lisp, useless for anything else (imo)
<owen>
s/it's/its/
<owen>
too much of an emacs clone, might as well use emacs
<beach>
As far as I can tell, the main advantage of Lem is that it is written in Common Lisp. But that is useful only if you plan to work on it.
<beach>
With Second Climacs, I don't think it is reasonable to try to compete with Emacs for all possible editing tasks. All we can hope for is that it is going to be better for editing Common Lisp code.
<beach>
I mean, if things turn out as we plan, it *is* going to be better for that.
<beach>
scymtym: Oh, and possibly something like magit, but using CLIM and maybe more menus and buttons.
<owen>
well I might still check it out, unusable editors are fun to play with :), I recently got hooked on supercollider though so that will likely consume my next few weekends
<beach>
I believe Second Climacs will run, but it is lacking lots of features.
dtman34 has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
dtman34 has joined #commonlisp
shawnw has joined #commonlisp
amb007 has joined #commonlisp
wacki has joined #commonlisp
pve has joined #commonlisp
wacki_ has joined #commonlisp
wacki has quit [Ping timeout: 252 seconds]
pve has quit [Ping timeout: 252 seconds]
pve has joined #commonlisp
amb007 has quit [Ping timeout: 244 seconds]
amb007 has joined #commonlisp
shka has joined #commonlisp
treflip has joined #commonlisp
mgl has joined #commonlisp
tux0r has quit [Quit: ne praeteriverit priusquam obesa cantaverit]
mgl has quit [Ping timeout: 272 seconds]
gorignak has quit [Quit: quit]
gorignak has joined #commonlisp
mgl has joined #commonlisp
zlqrvx has joined #commonlisp
semarie has quit [Quit: WeeChat 4.4.2]
wacki_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tux0r has joined #commonlisp
varjag has joined #commonlisp
semarie has joined #commonlisp
pranav has quit [Remote host closed the connection]
skeemer has joined #commonlisp
mgl has quit [Ping timeout: 252 seconds]
bitspook has joined #commonlisp
<younder>
beach: You could look at the LispWorks editor. Perhaps a more realistic goal than making a emacs clone is trying to get that much functionality working.
pranav has joined #commonlisp
<beach>
I don't have as a goal to make an Emacs clone.
<beach>
scymtym: Oh, and a listener/REPL.
<beach>
Some of these components can be realized independently, in case someone feels like contributing.
synchromesh has quit [Read error: Connection reset by peer]
synchromesh has joined #commonlisp
donleo has joined #commonlisp
gorignak has quit [Ping timeout: 252 seconds]
gorignak has joined #commonlisp
supercode has joined #commonlisp
random-nick has joined #commonlisp
<scymtym>
beach: i agree, those components will be needed as well
meaty has quit [Ping timeout: 252 seconds]
<jackdaniel>
assuming that messages are processes as a whole batch at regular intervals, is it better to compress them when we add them to the queue, or rather when we drain it?
<jackdaniel>
technically the latter has better complexity O(n) vs O(n²), although if events go really fast, then the size of the queue puts a strain on the memory
<jackdaniel>
(between consecutive drains)
<scymtym>
i think the answer depends drastically on the frequency with which compression is possible
mwnaylor has quit [Ping timeout: 248 seconds]
<scymtym>
and on which part of the queue (if any) really has to be scanned repeatedly for the eager strategy
random-nick has quit [Ping timeout: 252 seconds]
<jackdaniel>
what do you mean by "parts of the queue"?
<scymtym>
i assume the quadratic complexity for the eager strategy comes from scanning the whole queue when an event is inserted. i meant that maybe scanning a smaller part of the queue, possibly just the previous event, may suffice depending on the semantics
<jackdaniel>
ah, I see; that's not the case I think
rainthree has joined #commonlisp
supercode has quit [Killed (NickServ (GHOST command used by supercode63))]
<jackdaniel>
thanks; that was my thought as well - that it depends on the pressure compared to how often we drain it
Demosthenex has joined #commonlisp
Demosthe1ex has quit [Ping timeout: 246 seconds]
rtypo has joined #commonlisp
rainthree has quit [Ping timeout: 265 seconds]
rainthree has joined #commonlisp
donleo has quit [Remote host closed the connection]
donleo has joined #commonlisp
edgar-rft_ has joined #commonlisp
donleo has quit [Ping timeout: 252 seconds]
decweb has joined #commonlisp
<beach>
younder: I am reading the LispWorks documentation, and it looks like you need to explicitly compile the buffer in order to then be able to do things like find definitions.
edgar-rft has quit [Ping timeout: 245 seconds]
<beach>
younder: But the LispWorks documentation does give ideas for other GUI-based tools that we might consider creating.
treflip has quit [Remote host closed the connection]
Guest6 has joined #commonlisp
drewjose has quit [Ping timeout: 248 seconds]
drewjose has joined #commonlisp
treflip has joined #commonlisp
Guest6 has quit [Quit: Client closed]
tux0r has quit [Quit: ne praeteriverit priusquam obesa cantaverit]
mountainman1312 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
mountainman1312 has joined #commonlisp
mgl has joined #commonlisp
mountainman1312 has quit [Client Quit]
mountainman1312 has joined #commonlisp
rijmkozijn has joined #commonlisp
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
<yottabyte>
kagevf: ooo, thanks for the package.lisp suggestion. I didn't know you could define a package elsewhere and export functions that aren't in the same file. I guess once you've loaded the functions they're available to export or something?
<beach>
yottabyte: Functions are not exported, symbols are. Your DEFPACKAGE form contains things like (:EXPORT <symbol-designator> <symbol-designator>...) and that's what causes the symbols to exist in the package and to be exported.
<beach>
yottabyte: Then when you write something like (DEFUN <name>) in a file that starts with (IN-PACKAGE <your-package>), <name> refers to one of those symbols.
<beach>
yottabyte: Try something like ,(defpackage "FOO" (:export "BAR")) then ,(find-symbol "BAR" "FOO")
<dnhester26>
If I'm writing a function which operates on an object of a certain class, but it's really never applicable to any other objects, is it preferable to define it as a regular function or as a generic and method specialized to that object?
<beach>
You can always change it later, so it's not a big deal.
<beach>
I would define it as an ordinary function to begin with, and then, if it needs to be generic in the future, change it.
<dnhester26>
ok, thanks, so basically just go with the simple defun and if there ever is a need I can change
<dnhester26>
great, thanks
<beach>
Exactly.
rainthree has quit [Read error: Connection reset by peer]
mgl has quit [Ping timeout: 265 seconds]
varjagg has joined #commonlisp
synchromesh has joined #commonlisp
triffid has quit [Remote host closed the connection]
<yottabyte>
what is `symbol-value`?
<beach>
It is the value of a dynamic variable, given its name.
<beach>
,(symbol-value '*standard-output*)
<ixelp>
=> #<#:LIMITING-STREAM #x144C8D26>
<beach>
I mean, it is the name of the function that returns that value.
mgl has joined #commonlisp
<paulapatience>
yottabyte: I think everyone reads it as such.
<paulapatience>
You could consider it a(n un)usual elision of e in some words, like inline and inlinable
<paulapatience>
It's not as bad as the creat system call
<yottabyte>
omg
<paulapatience>
Dennis Ritchie says he regrets calling it that
<paulapatience>
s/says/said/ sadly
King_julian has quit [Ping timeout: 244 seconds]
<yottabyte>
beach: I just saw some code using setf with symbol-value. is that unnecessary?
<beach>
yottabyte: It is necessary if you know the name of the variable at run time, and you want to change its value.
triffid has joined #commonlisp
triffid has quit [Client Quit]
triffid has joined #commonlisp
<yottabyte>
I see... because in functions I just do like (setf some-variable <value>)
<yottabyte>
but that some-variable is defined in a let
<beach>
Yes, if the variable is known at compile time, you usually don't need SYMBOL-VALUE or (SETF SYMBOL-VALUE).
mgl has quit [Ping timeout: 265 seconds]
<yottabyte>
should I call it a variable or a symbol?
<beach>
Let's see... a variable has a symbol as its name.
<beach>
So it depends on whether you refer to the variable or its name.
<yottabyte>
okay. I have no idea what that means but maybe that's okay. hahaha
<beach>
Well, SYMBOL-VALUE clearly takes a variable name as an argument, so that's a symbol. But the variable may not exist, like ,(symbol-value 'hello).
<beach>
But LET creates a lexical variable with the name given, or binds a special variable with the name given.
Lord_of_Life has quit [Remote host closed the connection]
Lord_of_Life has joined #commonlisp
<dnhester26>
I cannot believe how simple my program has become now that I am using the condition system instead of conditional statements. Why is the lisp condition system not emphasized so much when people talk about the great features of CL? in ANSI Common Lisp it's barely discussed, in On Lisp I couldn't find it on the table of contents, and in ClTl2 it's the last chapter which obviously I never got to
<dnhester26>
obviously because I haven't gone through everything, I know, I hope to be able to slowly read it along with the spec
<dnhester26>
I was just explaining what I meant by the "obviously" before in that previous statement
<dnhester26>
does anyone have any thoughts on cl-cron or any alternatives? recommendations?
attila_lendvai_ has joined #commonlisp
<beach>
dnhester26: I think the condition system is discussed properly in Practical Common Lisp.
<beach>
dnhester26: And there is a book about it.
skeemer has quit [Ping timeout: 252 seconds]
wacki has joined #commonlisp
dnhester26 has quit [Read error: Connection reset by peer]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<beach>
And yes, even more recent programming languages seem to get it wrong.
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
molson__ has joined #commonlisp
<beach>
The condition system was (maybe indirectly?) inspired by that of Multics PL/I.
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
molson_ has quit [Ping timeout: 248 seconds]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<beach>
But this is a general problem with our domain. Knowledge is forgotten, so new things don't take advantage of existing ones. Like "modern" operating systems for instance.
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<beach>
... and of course "modern" programming languages.
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<gilberth>
I dunno. First of all from what I hear I get the impression that education became much more focused on practical skills like e.g. learning SQL instead of learning about databases in general. And then the time at which there still was experimentation in how to design systems is long gone. And so I see no progress for decades. Which is rather disappointing and would I have had known this before I wouldn't have studied CS.
shawnw has joined #commonlisp
younder has quit [Remote host closed the connection]
younder has joined #commonlisp
dnhester26 has joined #commonlisp
disruptek has quit [Excess Flood]
cage has joined #commonlisp
cage has quit [Excess Flood]
varjagg is now known as varjag
cage has joined #commonlisp
dnhester26 has quit [Ping timeout: 252 seconds]
dnhester26 has joined #commonlisp
Akbar-Birbal has left #commonlisp [#commonlisp]
<dnhester26>
beach: yeah, thanks. I saw the book by phoe (here in the chat) if I remember correctly. I mostly learned to use it by asking here a couple of times and reading the spec (which for me at least was not as straight forward as I would've hoped, though with that said, the more I read it the more things click in, it's just that there are not many examples). I have a link open to the paper by kent pittman which I have skimmed a couple of t
<dnhester26>
imes and intend to read slowly. It's just that with the pressure to finish the first stage of the project I'm doing I haven't given myself the time to really read since "it works". With that said, whenever I have a chance in the coming weeks I will try to read it
<kagevf>
dnhester26: I'm on my 2nd re-read of phoe's book ... impression so far is that it's more geared for "how the CLCS works" than "how to use the CLCS" but you can glean the latter armed with knowledge of the former ... I found the online cookbook pretty helpful in figuring out how to use the CLCS ...
<aeth>
gilberth: It seems like the hot fields get new things and attention, and nothing else does. e.g. Machine Learning and "AI" (but just ML AI)
<aeth>
Maybe a bit of wearables (VR, AR, etc.) from people looking for the next smartphone still
<gilberth>
Question is: How much of this is really new instead of merely be feasible today because our machines got blazing fast?
<aeth>
Old CS seemed to be more aligned with applying "pure" (not applicable to physics) mathematics, while new CS seems to be more aligned to applied mathematics (using SIMD/etc. on CPUs and/or GPUs and/or similar linear algebra & vector & matrix & tensor oriented machines)
<aeth>
And statistics
<aeth>
Entirely driven by hardware, I think.
<aeth>
There was e.g. *Lisp on the Connection Machine, but you weren't going to program a Connection Machine.
<gilberth>
Yes, that's what I meant. Neuronal networks were invented when? 60s? 70s? Too lazy to look it up.
<tux0r>
50s, probably, given that lisp was written for AI ..
<aeth>
Even pure FP with immutable data structures (nearly) everywhere wasn't seen as feasible for decades. Lisps would probably be pure FP if we had 2010s machines in the 70s/80s.
<younder>
Well statistics and hardware
<gilberth>
I'm not into ML in any way. But I recently digged a bit into what algorithm get used. On that superficial glimpse looked very familiar to what I was taught in the 90s.
<younder>
The noble price committee to announced John Hilton as a Winner in Physics. He was one of the pioneers of those statistical methods. Though his students (from Toronto who formed OpenAI) get most of the credit.
<aeth>
gilberth: I have limited exposure to ML. e.g. about half of the AI CS class I took was ML at the time (probably taking over more and more of such classes)
<aeth>
(ML as in machine learning, to be clear because of the ambiguity)
<aeth>
gilberth: but it's all very familiar to me anyway from applied math and from graphics shaders and graphics and stuff.
<gilberth>
aeth: Let's move to #lispcafe people would complain otherwise for off-topic.
<aeth>
The place to be right now is probably getting more symbolic/functional/Lispy interfaces to this sort of vector machine (whether it's SIMD or a GPU or whatever else)
<aeth>
Yes, moving
pranav has quit [Remote host closed the connection]
gorignak has quit [Quit: quit]
gorignak has joined #commonlisp
treflip has quit [Ping timeout: 244 seconds]
elderK has joined #commonlisp
supercode has joined #commonlisp
pranav has joined #commonlisp
mwnaylor has joined #commonlisp
shawnw_ has joined #commonlisp
shawnw has quit [Ping timeout: 252 seconds]
cmack has quit [Remote host closed the connection]
supercode has quit [Quit: Client closed]
X-Scale has joined #commonlisp
Guest96 has joined #commonlisp
dlowe has joined #commonlisp
bjorkintosh has quit [Ping timeout: 276 seconds]
amb007 has quit [Ping timeout: 252 seconds]
<paulapatience>
dnhester26: I learned all the basics from Practical Common Lisp, for what it's worth. Especially the condition system and format.
kevingal has joined #commonlisp
<paulapatience>
I didn't even go through the exercise chapters, just picked and chose the relevant chapters and used them as a reference.
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
X-Scale has quit [Ping timeout: 256 seconds]
Guest96 has quit [Quit: Client closed]
ezakimak has quit [Read error: Connection reset by peer]
ezakimak_ has joined #commonlisp
amb007 has joined #commonlisp
tfeb has joined #commonlisp
pve has quit [Quit: leaving]
cage has quit [Quit: rcirc on GNU Emacs 29.4]
tfeb has quit [Quit: died]
skeemer has quit [Ping timeout: 252 seconds]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
ezakimak_ has quit []
ezakimak has joined #commonlisp
shka has quit [Ping timeout: 260 seconds]
amb007 has quit [Ping timeout: 248 seconds]
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
disruptek has joined #commonlisp
<paulapatience>
aeth: What is the purpose of zr-utils:define-accessor-macro?
<aeth>
paulapatience: structs
amb007 has joined #commonlisp
<aeth>
instead of exporting e.g. 5 accessor names * 5 structs (adds up quickly), define-accessor-macro can define a with-foo for those structs that uses with-accessors on those struct accessors
<paulapatience>
Oh, I see, that'd what the prefix is for.
<aeth>
yes, it uses the struct's package instead of the package you use the with-foo macro in, and if it has a struct prefix, it drops the prefix if you define it to do so
<aeth>
zr-utils isn't really usable by others in this sense, because it's a lot of different things grouped together, not documented well
<paulapatience>
I was looking through zr-utils for some ideas. I've changed my thoughts on my record library. I'm going to provide macros for users to decide how to use.
<paulapatience>
e.g., I will provide define-constructor, which parses the parameters to create a constructor and compiler macro which calls make-instance
<paulapatience>
I wanted to follow define-function's convention
<paulapatience>
Then I will provide a define-associative-operation which will allow users to define operations that act on the paired slots
<paulapatience>
And that will actually work on structs and classes
mgl has joined #commonlisp
Josh_2 has joined #commonlisp
mgl has quit [Ping timeout: 252 seconds]
<Josh_2>
Hi hi :wave:
amb007 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
<Bubblegumdrop>
Hello Josh_2
<Josh_2>
Hey :wave:
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]