<an_origamian[m]>
I want to use a proportional font but it messes up indentation.
Inline has quit [Ping timeout: 260 seconds]
halting has joined #commonlisp
halting has quit [Max SendQ exceeded]
tyson2 has joined #commonlisp
Lycurgus has joined #commonlisp
arthur_lemmens has joined #commonlisp
Inline has joined #commonlisp
<Shinmera>
NotoMono
<edgar-rft>
misc-fixed 6x13
arthur_lemmens has quit [Ping timeout: 265 seconds]
nij- has joined #commonlisp
<nij->
Hi! I wonder if there's any program that lets me start a CL project in a way similar to what nodejs does (namely, to pull down specified dependencies under the directory)?
akoana has joined #commonlisp
<White_Flame>
copec: I'm good with Liberation Mono
<beach>
So the GUI relies on the functionality of the browser?
rgherdt has joined #commonlisp
<nij->
seems so
<nij->
i only know that it's a gui that recently got popularity
<beach>
Then that is not an option for CLOSOS until we have a browser entirely written in Common Lisp.
<nij->
got it
<nij->
Seems that the bottleneck of CLOSOS is "A Lisp system with first-class global environments". Is it fair to say that?
<beach>
Sort of. Lots of things can be done separately as CLIM applications.
<beach>
But to get an OS that runs on bare metal, yes, you are right. But I am working on such a Lisp system.
<nij->
Fingers crossed for it to be implemented with the highest priority.
<nij->
1st class GE will enable several things
<nij->
it unlocks our future!
<beach>
Again, lots of things can be done in parallel, and they will be independently useful.
aartaka has quit [Ping timeout: 256 seconds]
<edgar-rft>
great, now everybody can steal our future
aartaka has joined #commonlisp
<beach>
End-user applications using CLIM for instance.
<nij->
not sure if those will really be useful if we don't have a bare CLOSOS with 1CGE already..
<beach>
Of course they will.
<beach>
Like an editor for music scores is useful without the operating system.
<beach>
Calendar, figure editor, ...
<nij->
We have those already, just not written in CL.
mingus1 has joined #commonlisp
<beach>
I think I am not expressing myself very well :(
_cymew_ has joined #commonlisp
<contrapunctus>
beach: is Clovetree simply the new name of GSharp, or a new project? The GSharp repository is still around and seems to have more files at a cursory glance than Clovetree...
<beach>
contrapunctus: New project. New ideas.
pve has joined #commonlisp
<contrapunctus>
Right.
mingus has quit [Ping timeout: 256 seconds]
mingus1 is now known as mingus
<beach>
nij-: The core of the plan is to avoid applications that are written in languages that give the programmer access to the full address space of the process, because such application will then have access to everything, given that CLOSOS has a single address space.
<beach>
nij-: To run such applications in CLOSOS, you would have to remap the address space just like you do on the current operating system using 1960s technology. And then you need to communicate with them using byte streams. So you lose everything.
<beach>
nij-: So "We have those already, just not written in CL" means that they are pretty much useless. And, as we know, they are collectively a huge source of security problems on those current operating systems.
* beach
hopes that he managed to express himself a bit better.
<beach>
I said: "Then that is not an option for CLOSOS until we have a browser entirely written in Common Lisp.", but when we have such a browser, we no longer need for it to communicate with the Lisp system using websockets or any other kind of byte stream.
<ixelp>
#8 - IDE for Common Lisp - projects - Codeberg.org
<contrapunctus>
(Perhaps "IDE" is inaccurate...)
<beach>
That's a stretch though. Second Climacs is "just" the editor part.
<beach>
Yeah.
shka has joined #commonlisp
_cymew_ has quit [Ping timeout: 260 seconds]
<beach>
nij-: Does it make more sense now?
arthur_lemmens has joined #commonlisp
Krystof has joined #commonlisp
arthur_lemmens has quit [Ping timeout: 255 seconds]
arthur_lemmens has joined #commonlisp
thewaves has quit [Quit: You have been kicked for being idle]
Cymew has joined #commonlisp
OlCe has quit [Ping timeout: 248 seconds]
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 252 seconds]
mingus1 is now known as mingus
anticomputer has quit [Quit: quit]
anticomputer has joined #commonlisp
OlCe` has joined #commonlisp
<louis77>
beach: I don't know much about CLIM, but it is like a predecessor of CAPI but for X11 only right?
* jackdaniel
opens popcorn
<jackdaniel>
louis77: more seriously though, there are a few implementations of clim
<jackdaniel>
the one that capi is based on worked for numerous display servers (and mcclim will soon-ish gain sdl2 backend)
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
<louis77>
so mcclim is actively worked on? that's great
<jackdaniel>
indeed it is, you may join #clim channel to chat and ask questions
<louis77>
done - thanks!
<jackdaniel>
:)
attila_lendvai has joined #commonlisp
<beach>
louis77: What jackdaniel said.
<beach>
jackdaniel: I didn't know that CAPI was based on CLIM. I thought it was a different thing from scratch. Where did you find that information?
<jackdaniel>
beach: I don't, it was a conjecture
<jackdaniel>
(on my part at least)
<lieven>
I had a paid lispworks version at one time and I had the impression they were separate.
arthur_lemmens has quit [Ping timeout: 256 seconds]
<jackdaniel>
after some reading it is probably a wrong conjecture
<beach>
louis77: And I suspect CAPI was a result of LispWorks wanting to lock in their customers. With CLIM, they could have moved to Allegro.
<lieven>
more charitably, CAPI is a very nice more traditional framework. I've written applications in CAPI and I was up and running fairly soon. I still have no clue how to write an application in CLIM.
<ixelp>
Why did LispWorks abandon its CLIM implementation in favour of CAPI? : lisp
waleee has quit [Ping timeout: 256 seconds]
<jackdaniel>
(basically it did not abandon clim, clim was always a portability shim beside their own tooling)
<lieven>
Allegra has its own proprietary GUI toolkit alongside CLIM BTW
arthur_lemmens has joined #commonlisp
<jackdaniel>
is, common-graphics or something
<jackdaniel>
they've recently ported it so it can run as a web application
<louis77>
jackdaniel: but that is really crappy
<louis77>
I've tried it... it takes like 2 minutes to load in the browser
<jackdaniel>
I can't tell, I don't own neither lw nor acl
<louis77>
and when you click too fast it hangs up
<louis77>
I've tried the ACL Express edition and it was really not great
<louis77>
btw. CAPI seems also to work well in connection with Cocoa apps, so you can mix CAPI and Cocoa components (for those Mac users here)
<jackdaniel>
mac is another thing I don't own :)
nij- has quit [Ping timeout: 252 seconds]
perrierjouet has quit [Quit: WeeChat 3.8]
perrierjouet has joined #commonlisp
scymtym has joined #commonlisp
OlCe has joined #commonlisp
OlCe has quit [Remote host closed the connection]
OlCe` has quit []
OlCe has joined #commonlisp
random-nick has joined #commonlisp
arthur_lemmens has quit [Ping timeout: 264 seconds]
anticomputer has quit [Ping timeout: 255 seconds]
anticomputer has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
morganw has joined #commonlisp
<hayley>
Is there much of a possibility that someone working on a free Lisp implementation could get in trouble for poking around too much in a proprietary implementation?
<phoe>
that's a very poorly defined question
<phoe>
what do you mean by "poking around too much"?
<hayley>
You're quite right that it's not well defined. In one article I recall Aleksey Shipilëv didn't show the assembly generated by a proprietary JVM, arguing that it would not be legal to show the assembly.
<Duuqnd>
If you're not yoinking straight from it and nobody in a position to sue knows you've poked around, it should be fine
<phoe>
it's getting kinda offtopic but for C++ godbolt compiler explorer shows MSVC and ICC output just fine though
<phoe>
that's kind of a different debate though
<phoe>
I'd assume it would take someone determined enough to make a lawsuit for something well-defined enough to contribute something patented or some other sort of secret sauce
aartaka has quit [Ping timeout: 246 seconds]
<phoe>
hard to answer without more concrete data though
<phoe>
...or even try to try to answer because it's so vague right now
<hayley>
Fortunately I think the question I have of a proprietary Lisp implementation is implicitly answered by its manual; Franz uses a mark-sweep GC with occasional compaction (though they use something closer to Steele's name for it, "compactification").
<hayley>
Yeah, don't worry about it. Just a random thought I had.
<jackdaniel>
the whole notion is ridiculus, but it doesn't mean that you can't get sued for it
<phoe>
questions about such general ideas for GC techniques can't really get you sued I think
<jackdaniel>
n.b the law is so much detached from the original intent (i.e organizing everyday life) that it does not cease to amaze; with many things you can't even tell beforehand whether doing something is legal or not - even with help of people who devote their life to study law(s)
<hayley>
I still doubt my current strategy for triggering compaction, admittedly. Perhaps shouldn't read the manual too deeply to get ideas.
<hayley>
Not much to go off in free Lisp implementations; seems they either always compact, or never compact, and neither is desirable for me.
arthur_lemmens has joined #commonlisp
<jackdaniel>
inflating garbage collector
<hayley>
The idea is to compact when fragmentation gets bad, but I am at a loss as to how to define "fragmentation" and "bad".
<beach>
Fragmentation is hard to define because it depends on future allocation patterns.
<jackdaniel>
you may gather statistics, each allocation says "it was fine" or "it was bad", after reaching the threshold of "fine" / "all" > X you could attempt at compacting -- that's a mere loose tought
<jackdaniel>
"fine"/"all" < X *
<jackdaniel>
and reset counters
<beach>
What is a "fine" and a "bad" allocation?
<hayley>
My current heuristic is to compute how many pages are being wasted; I know how many (128 byte) lines are used for small objects, and how many (32 kibibyte) pages are used. If there are too many more pages than necessary to store the lines, I start compaction.
<jackdaniel>
that's up to the allocator, i.e if you were looking for a big enough hole and rejected N holes as too small, then it is bad
prokhor has joined #commonlisp
arthur_lemmens has quit [Ping timeout: 260 seconds]
<hayley>
Right, the Immix paper suggests an approach like that. Compaction occurs when the allocator cannot fit a N-byte object on a page, despite there being more than N free bytes on the page.
<hayley>
It might be better to relax that rule a bit, and only compact after several pages were unusable. But in an operating system with separate address spaces for processes, it seems polite to try to not use too many pages.
<hayley>
So I think fragmentation for the process is less of a concern than fragmentation for the operating system. Not sure if that sentence makes much sense.
OlCe has quit [Ping timeout: 256 seconds]
<hayley>
beach: Suppose, after a collection, about 20% of some pages contain live data. We expect the free space to occur as large clumps which the allocator can use just fine, so the heap is not very fragmented to the application. But (at least in my experience) such clumps are not large enough to produce many free pages, and so we use more pages than necessary.
<beach>
I think I see.
arthur_lemmens has joined #commonlisp
<hayley>
Another bad case occurs when saving a core file; any holes in pages contribute to file size. Some waste might be excusable, but my sbcl.core is about 10x as large as that generated by a stock SBCL. Another full compaction algorithm might be better still, as we don't care (as much) about latency when saving a core file.
tyson2 has joined #commonlisp
<hayley>
There are also second-order effects on locality of reference, and how much metadata some passes need to scan, but I have no way to measure those yet.
<hayley>
(With regards to metadata, bitmap sweeping might run out of memory bandwidth, especially as I took care to make sure the C compiler auto-vectorises. So reducing the number of pages reduces the amount of memory sweeping has to pull in.)
arthur_lemmens has quit [Ping timeout: 265 seconds]
<jackdaniel>
probably the latter, since that signature looks different from restart-case
anticomputer has joined #commonlisp
_cymew_ has quit [Ping timeout: 268 seconds]
gxt has joined #commonlisp
arthur_lemmens has joined #commonlisp
<_death>
I would say the latter.. but maybe it's an oversight
OlCe has joined #commonlisp
<jackdaniel>
oh, I have a funny glitches in ccl when using &whole args in the method combination when the number of required arguments do not match generic functions
<jackdaniel>
it is not that bad, because &whole args doesn't seem to work at all anywhere else
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
OlCe has quit [Ping timeout: 256 seconds]
jeosol has quit [Quit: Client closed]
OlCe has joined #commonlisp
OlCe has quit [Ping timeout: 256 seconds]
OlCe has joined #commonlisp
<scymtym>
it seems the arguments and values section should have a separate entry for the NAME part of METHOD-GROUP-SPECIFIER. the entry "name---a symbol. Non-keyword, non-nil symbols are usually used." is not appropriate since "The car of each method-group-specifier is a symbol which names a variable." requires the name to be valid variable name
arthur_lemmens has quit [Ping timeout: 246 seconds]
<jackdaniel>
also I'm not sure when I've subscribed to a 'closos community' -- is it a separate entity from sexpressionists? I may be a treasoner^Wtreasurer!
<jackdaniel>
and I'd like to have something I can annotate - I'll wait and see if someone does that ;)
<phoe>
yeah, it's unfinished; I never saw a claim that this is a complete project yet
<jackdaniel>
well, you've said "done properly", and 'done' seems to indicate that it is somewhat finished, so I saw such a claim, um, 7 lines above
<contrapunctus>
jackdaniel: -_-
mingus has quit [Ping timeout: 252 seconds]
<beach>
Isn't scymtym's parser and renderer doing all that already?
<jackdaniel>
also I've missed the rule saying 'no critical remarks towards unfinished projects' -- I did not say anything bad really, just pointed out things I saw immedietely
<jackdaniel>
and since I've brought the project up with a rather positive reaction that it seems 'fun' is rather an indicator that I'm not saying that it is bad. but they say that only guilty people defend themselves ,)
<jackdaniel>
beach: yeah, I'm waiting for scymtym to announce that it is ready
notzmv has joined #commonlisp
<phoe>
jackdaniel: should have said "started properly" :D
arthur_lemmens has joined #commonlisp
azimut has joined #commonlisp
arthurlemmens has joined #commonlisp
arthur_lemmens has quit [Ping timeout: 256 seconds]
seletz_ has joined #commonlisp
seletz has quit [Ping timeout: 256 seconds]
seletz_ has quit [Ping timeout: 256 seconds]
arthur_lemmens has joined #commonlisp
arthurlemmens has quit [Ping timeout: 260 seconds]
notzmv has quit [Remote host closed the connection]
jonlevin has joined #commonlisp
karlosz has quit [Remote host closed the connection]