admich1 has quit [Remote host closed the connection]
admich1 has joined #commonlisp
Ruby has joined #commonlisp
rkazak has joined #commonlisp
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 255 seconds]
leeb_ has joined #commonlisp
jon_atack has joined #commonlisp
leeb has quit [Ping timeout: 244 seconds]
jonatack has quit [Ping timeout: 252 seconds]
rkazak has quit [Ping timeout: 244 seconds]
rkazak has joined #commonlisp
random-nick has quit [Ping timeout: 244 seconds]
rkazak has quit [Ping timeout: 244 seconds]
Posterdati has quit [Ping timeout: 252 seconds]
Posterdati has joined #commonlisp
rkazak has joined #commonlisp
jon_atack has quit [Ping timeout: 252 seconds]
Spawns_Carpeting has quit [Quit: ZNC 1.9.1 - https://znc.in]
Spawns_Carpeting has joined #commonlisp
rkazak has quit [Ping timeout: 244 seconds]
kyuvi has quit [Ping timeout: 250 seconds]
rkazak has joined #commonlisp
Catie has quit [Server closed connection]
Catie has joined #commonlisp
rkazak has quit [Ping timeout: 244 seconds]
pranav has quit [Remote host closed the connection]
pranav has joined #commonlisp
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 256 seconds]
stanrifkin has joined #commonlisp
rkazak has joined #commonlisp
decweb has quit [Quit: Konversation terminated!]
rkazak has quit [Ping timeout: 256 seconds]
zwr has quit [Read error: Connection reset by peer]
inline_ has joined #commonlisp
admich1 has quit [Ping timeout: 244 seconds]
inline has quit [Ping timeout: 244 seconds]
rkazak has joined #commonlisp
zwr has joined #commonlisp
rkazak has quit [Ping timeout: 244 seconds]
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 256 seconds]
admich1 has joined #commonlisp
rkazak has joined #commonlisp
edgar-rft` has joined #commonlisp
rkazak has quit [Ping timeout: 245 seconds]
edgar-rft has quit [Ping timeout: 248 seconds]
rkazak has joined #commonlisp
Pixel_Outlaw has quit [Quit: Leaving]
rkazak has quit [Ping timeout: 244 seconds]
istewart has quit [Quit: Konversation terminated!]
admich1 has quit [Remote host closed the connection]
admich1 has joined #commonlisp
_whitelogger has joined #commonlisp
skeemer has joined #commonlisp
rkazak has quit [Ping timeout: 256 seconds]
rgherdt has quit [Remote host closed the connection]
ingeniot has joined #commonlisp
rgherdt has joined #commonlisp
cage has joined #commonlisp
chomwitt has joined #commonlisp
chomwitt has quit [Client Quit]
rkazak has joined #commonlisp
ewig has joined #commonlisp
ingeniot has quit [Ping timeout: 245 seconds]
<beach>
skeemer: By the way, the operating-systems book by Tanenbaum and Bos claims that it is impossible to write an operating system in a language with automatic memory management.
<beach>
This shows that incompetent people can write books and get them published by publishing houses that are also incompetent in the domain that publish books in.
<beach>
*that they publish
<aeth>
Claims of impossibility in general seem rarely wise to make unless they're (rather shocking) mathematical results like the halting problem.
* semz
vaguely recalls a 2010s paper making the "groundbreaking" observation that you can write an OS with GC (using Go)
<semz>
and it's even reasonably fast! who knew!
rkazak has quit [Ping timeout: 260 seconds]
<beach>
And that paper was published, yes?
<semz>
pretty sure it was
<reb``>
Biscuit is the name of the OS written in Go.
pve has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
lcn_ has joined #commonlisp
rkazak has joined #commonlisp
<edgar-rft`>
herewith I claim that it's probably impossible to write something that nobody has anything to critisize about
ewig has quit [Ping timeout: 260 seconds]
Odin- has quit [Server closed connection]
Odin- has joined #commonlisp
bpanthi977 has quit [Ping timeout: 256 seconds]
<aeth>
edgar-rft`: I think that nobody will criticize that statement
<aeth>
Because everyone agrees with it, I think
<beach>
edgar-rft`: I think we need to find you a Common Lisp project.
rkazak has quit [Ping timeout: 252 seconds]
<skeemer>
beach ok but then how is it possible? Maybe they meant Operating systems as we intend them today and not exotic things?
<beach>
skeemer: It is just possible, and they were just wrong.
<aeth>
depending on how old the book was, performance would've been an issue; Microsoft had an issue with its C# OS in the early '00s, but it probably would work today
<aeth>
"impossible" is bad wording for "give it 10 years", though
<beach>
As I recall, they were referring to the "pauses" required by a language with automatic memory management.
Colleen has quit [Server closed connection]
Colleen has joined #commonlisp
<skeemer>
beach and yet we need assembly and C somewhere to write a CL OS ?
<beach>
No, we don't, and this was already discussed.
<beach>
It could be convenient to have a few lines, but it is not required.
<aeth>
C??
* edgar-rft`
critisizes Assembly and C needing pauses for deallocating memory
<aeth>
C is (sometimes) required by the OS and by low-level APIs like graphics APIs.
<aeth>
_For_ an OS, you wouldn't need it?
<aeth>
You'd probably have to have a C ABI and present some things as if they were C sometimes
<skeemer>
beach ok do you have any reference online explaining this? how is it done? It would be very interesting to me
<beach>
skeemer: I don't know what there is to explain. You add two operators to Common Lisp, reading a memory location and writing a memory location, and you have all you need.
<aeth>
skeemer: Low level stuff is just a bunch of 1s and 0s, or more likely a bunch of bytes/words/etc.
<aeth>
You can do whatever you want with them
<aeth>
Most of the things you can do with them are incorrect.
<aeth>
At the kernel level, this probably leads to crashing.
attila_lendvai has joined #commonlisp
<aeth>
Everything is just an abstraction on top of (unsigned-byte 8) or other uint sizes except floating points sometimes... and signed integers even more partially. But kernels don't really care about floats (at least traditionally). So I'm not sure why a kernel would ever need C.
<beach>
skeemer: Maybe we are misunderstanding each other. Can I assume you know that a typical Common Lisp compiler generates machine code?
gnoo has quit [Ping timeout: 276 seconds]
gnoo has joined #commonlisp
rkazak has joined #commonlisp
admich1 has quit [Ping timeout: 244 seconds]
admich1 has joined #commonlisp
<beach>
skeemer: So when the compiler translates the READ-MEMORY-LOCATION operator, it generates a single machine instruction to read memory at a particular address.
<skeemer>
beach yes i know about that, but what primitives can you give it to instruct it to do low level stuff... like specifying specific memory addresses... how do you do that?
<beach>
I think I just said that.
<skeemer>
if i want to write something at memory address 0x8000... or if i want to write a linker script that says that the code has to reside between address A and address B
<skeemer>
beach: ok how do you add those operators? what is the low level function that allows us to do that...
<skeemer>
how do we create linker scripts to precisely define in what areas of memory the code has to reside and where the stack goes...
<beach>
The person writing the Common Lisp system writes a compiler. That compiler must be able to translate operators such as CAR to machine code. The same person can add another operator and define some compiler code to translate it.
<beach>
skeemer: Why do you need a linker script. That's for languages like C and assembler.
admich1 has quit [Read error: Connection reset by peer]
<skeemer>
beach: what is that compiler code? beach you know what? it could be really beneficial to see a very small contained example...
<beach>
skeemer: An executable file that is a Common Lisp system is just a sequence of bytes. A Common Lisp program can create a file like that.
admich1 has joined #commonlisp
<skeemer>
yes in theory i think i understand where you are going... but why literature/blog-ature is so scarce on this...
<beach>
skeemer: I see. Our main problem is that you do not know how a Common Lisp compiler works.
<skeemer>
beach: indeed
<skeemer>
i would like to see a simple example...
<beach>
Common Lisp compilers are not simple.
<skeemer>
like not a full fledged OS but just a small thing booting from qemu with a program written in CL
<beach>
I am not sure it is possible to create a small example like that.
mgl has joined #commonlisp
<beach>
Also you wouldn't boot a "program written in Common Lisp", but you would boot an entire Common Lisp system (which, I admit, is a program written in Common Lisp, but a much bigger one).
ixelp has quit [Server closed connection]
<beach>
I think that initially you need to forget about the bootable part and concentrate on figuring out how a Common Lisp system (in particular the compiler) works and how it is written.
<beach>
Like I said before, making it bootable is relatively easy in comparison.
<ixelp>
maru/tests/test-elf.l at maru.10 · attila-lendvai/maru
<attila_lendvai>
it can compile to a freestanding executable that only needs the linux kernel. that's pretty close to running on the bare metal, minus all the complexity of dealing with hw initialization and whatnot
<attila_lendvai>
right now i'm working towards it being able to generate machine code on the fly (as opposed to emitting asm text). that will open up the path to a few more interesting features
rkazak has quit [Ping timeout: 255 seconds]
<skeemer>
beach where do i learn that?
<skeemer>
attila_lendvai: it would be cool if you wrote about the process of creating a minimalist common lisp kernel that can boot e.g., from qemu
<beach>
skeemer: I need to think about that and get back to you.
<attila_lendvai>
skeemer, i'm not planning to target the hw itself, but i may put together a qemu test that starts maru as the init process right on top of linux.
<beach>
skeemer: I guess Lisp in Small Pieces is a good one. But it will take you a while to read.
<attila_lendvai>
skeemer, theoretically everything is there. what's missing is hooking up a qemu setup that starts the maru binary as the init process (instead of e.g. systemd).
* attila_lendvai
is busy working on something else but may put this together for the heck of it
rkazak has joined #commonlisp
lusciouslover has quit [Read error: Connection reset by peer]
lusciouslover has joined #commonlisp
<attila_lendvai>
...not that there's a big difference between the above qemu setup and starting a static binary from a shell that doesn't need/use a dynamic linker.
famicom_guy has joined #commonlisp
rkazak has quit [Ping timeout: 256 seconds]
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
random-nick has joined #commonlisp
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 244 seconds]
rkazak has joined #commonlisp
LainIwakura has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 272 seconds]
Lord_of_Life has joined #commonlisp
<Shinmera>
Another brief explanation and summary of the infrastructure move from GitHub to Codeberg is now out on Patreon: https://www.patreon.com/posts/136678777
rkazak has quit [Ping timeout: 255 seconds]
decweb has joined #commonlisp
ewig has joined #commonlisp
cercopith has quit [Remote host closed the connection]
LainIwakura has quit [Quit: Client closed]
rkazak has joined #commonlisp
wacki has joined #commonlisp
cercopith has joined #commonlisp
garlic0x1 has quit [Read error: Connection reset by peer]
garlic0x1 has joined #commonlisp
cercopith has quit [Remote host closed the connection]
ym has joined #commonlisp
rkazak has quit [Ping timeout: 245 seconds]
cercopith has joined #commonlisp
antoszka has quit [Server closed connection]
antoszka has joined #commonlisp
wacki has quit [Ping timeout: 252 seconds]
inline_ is now known as inline
rtypo has joined #commonlisp
rkazak has joined #commonlisp
apa_c has joined #commonlisp
apa_c has quit [Ping timeout: 244 seconds]
rkazak has quit [Ping timeout: 256 seconds]
ia_ has quit [Remote host closed the connection]
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
stanrifkin has quit [Quit: Leaving]
apa_c has joined #commonlisp
jonatack has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
rkazak has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 245 seconds]
dra has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
veqq has quit [Ping timeout: 252 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 245 seconds]
rkazak has quit [Ping timeout: 256 seconds]
pabs3 has quit [Read error: Connection reset by peer]
pabs3 has joined #commonlisp
ewig has quit [Remote host closed the connection]
dra has quit [Ping timeout: 252 seconds]
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 256 seconds]
stanrifkin has joined #commonlisp
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 260 seconds]
admich1 has quit [Ping timeout: 245 seconds]
rkazak has joined #commonlisp
veqq has joined #commonlisp
rkazak has quit [Ping timeout: 244 seconds]
gko`` has quit [Server closed connection]
gko`` has joined #commonlisp
brokkoli_origin has quit [Ping timeout: 276 seconds]
jon_atack has joined #commonlisp
jonatack1 has joined #commonlisp
brokkoli_origin has joined #commonlisp
jonatack has quit [Ping timeout: 244 seconds]
bpanthi977 has joined #commonlisp
jon_atack has quit [Ping timeout: 248 seconds]
prokhor has quit [Ping timeout: 260 seconds]
prokhor has joined #commonlisp
rkazak has joined #commonlisp
jonatack has joined #commonlisp
jonatack1 has quit [Ping timeout: 245 seconds]
skeemer has quit [Ping timeout: 272 seconds]
Kyuvi has joined #commonlisp
Catie has quit [Ping timeout: 244 seconds]
rkazak has quit [Ping timeout: 252 seconds]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 255 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 252 seconds]
skeemer has joined #commonlisp
rkazak has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 244 seconds]
rtypo has quit [Ping timeout: 244 seconds]
wizard has quit [Server closed connection]
wizard has joined #commonlisp
Lycurgus has joined #commonlisp
rkazak has quit [Ping timeout: 256 seconds]
dra has joined #commonlisp
dra has quit [Changing host]
dra has joined #commonlisp
Catie has joined #commonlisp
rtypo has joined #commonlisp
gnoo has quit [Quit: WeeChat 4.6.3]
Catie has quit [Ping timeout: 252 seconds]
gnoo has joined #commonlisp
rkazak has joined #commonlisp
Catie has joined #commonlisp
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 255 seconds]
Lycurgus has quit [Quit: alsoknownas.renjuan.org ( juan@acm.org )]
rkazak has quit [Ping timeout: 244 seconds]
Guest1057 has quit [Server closed connection]
Guest2599 has joined #commonlisp
jon_atack has joined #commonlisp
attila_lendvai_ has joined #commonlisp
jonatack has quit [Ping timeout: 248 seconds]
jonatack1 has joined #commonlisp
rolling-lambda_ has quit [Read error: Connection reset by peer]
attila_lendvai has quit [Ping timeout: 252 seconds]
jon_atack has quit [Ping timeout: 245 seconds]
rolling-lambda has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 30.1]
jonatack1 has quit [Ping timeout: 245 seconds]
jon_atack has joined #commonlisp
ym has quit [Ping timeout: 244 seconds]
rkazak has joined #commonlisp
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 244 seconds]
ixelp has quit [Ping timeout: 244 seconds]
ixelp has joined #commonlisp
remexre has quit [Server closed connection]
remexre has joined #commonlisp
pve has quit [Quit: leaving]
rkazak has quit [Ping timeout: 256 seconds]
apa_c has quit [Ping timeout: 252 seconds]
jon_atack has joined #commonlisp
molson has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
rkazak has joined #commonlisp
tfeb has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
tfeb has quit [Quit: died]
mwnaylor has quit [Remote host closed the connection]
apac has joined #commonlisp
mwnaylor has joined #commonlisp
apac has quit [Remote host closed the connection]
apac has joined #commonlisp
rkazak has quit [Ping timeout: 272 seconds]
apac has quit [Quit: Konversation terminated!]
apac has joined #commonlisp
arpunk has quit [Remote host closed the connection]
jonatack has joined #commonlisp
arpunk has joined #commonlisp
jon_atack has quit [Ping timeout: 252 seconds]
rkazak has joined #commonlisp
yacin has quit [Server closed connection]
yacin has joined #commonlisp
rkazak has quit [Ping timeout: 255 seconds]
yaneko has quit [Quit: parting]
apac has quit [Quit: Konversation terminated!]
chkhd has quit [Quit: zzzZZZzzz]
yaneko has joined #commonlisp
chkhd has joined #commonlisp
chkhd has quit [Client Quit]
user has joined #commonlisp
jon_atack has joined #commonlisp
rkazak has joined #commonlisp
lcn_ has quit [Remote host closed the connection]
jonatack has quit [Ping timeout: 255 seconds]
chkhd has joined #commonlisp
chkhd is now known as hydandata`
stanrifkin has quit [Quit: Leaving]
hydandata` is now known as chkhd
rkazak has quit [Ping timeout: 256 seconds]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 244 seconds]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 255 seconds]
rgherdt has quit [Remote host closed the connection]
attila_lendvai_ has quit [Ping timeout: 244 seconds]