Email or username:

Password:

Forgot your password?
Top-level
blake shaw ๐Ÿ‡ต๐Ÿ‡ธ

my compiler is just as fast as your super strong and manly systems programming language compiler, and smaller than your compiler's documentation.

10 comments
Ekaitz Zรกrraga ๐Ÿ‘น

@rml i don't know about the rest but GCC's codebase is obscenely large.
Also, something many people doesn't know, the CC in gcc means compiler COLLECTION, which means it's not just one compiler but many.

It's insane.

It's still kind of easier to read than badly written smaller projects :)

blake shaw ๐Ÿ‡ต๐Ÿ‡ธ

@ekaitz_zarraga yeah, I started diggin in when I was considering getting involved in #gccrust, but dear lord is it gnarly. I think thats where the gn- may actually originate.

Ekaitz Zรกrraga ๐Ÿ‘น

@rml I am backporting gcc 4.6 to RISCV. I managed to make it output RV binaries but there's still work to do... It was way easier than I thought it would be. But it was still difficult :)

blake shaw ๐Ÿ‡ต๐Ÿ‡ธ

@ekaitz_zarraga yeah, thats one of things, any problem you allow yourself to bang your head against and figure out how to do it right rather than just deciding on a strategy and then proceeding to conquer the problem by brute force, duck taping your way through, winds up with a clear solution. thats when the magic happens, and you then you have a rare trick up your sleeve.

my boss at my current gig has been very understanding of this, and as a result we're delivering before deadlines with maintainable code, and far less lines of it. not being expected to show constant progress is so much more productive.

@ekaitz_zarraga yeah, thats one of things, any problem you allow yourself to bang your head against and figure out how to do it right rather than just deciding on a strategy and then proceeding to conquer the problem by brute force, duck taping your way through, winds up with a clear solution. thats when the magic happens, and you then you have a rare trick up your sleeve.

blake shaw ๐Ÿ‡ต๐Ÿ‡ธ

bootstraps itself in less than a minute. produces statically linked binaries. makes up the core foundation of many of todays most innovative programming languages, and everyone who uses it has a blast. but yeah I guess working with heavy duty infrastructure that can't feasibly be forked has its merits.

blake shaw ๐Ÿ‡ต๐Ÿ‡ธ

not that chez would be particularly easy to maintain, but I already spend a good deal of free time studying the source just because its one of the coolest code bases I've ever seen (much like guix, except a totally different philosophy), and i'm eager to learn the concepts. I'll take a 70k LoC over a million+ any day.

blake shaw ๐Ÿ‡ต๐Ÿ‡ธ

did you ever wish you had the freedom to walk through every continuation involved in a function call as its transformed into various intermediate representations, with such fidelity that can you inspect the internals of any character in the process, and even mutate them and continue to run the program from a specific stack frame, dynamically at the repl? its very minimal and takes some learning to be effective with, but if that degree of introspection is your thing, what you want is #chez

just make sure to take the time to learn scheme pattern matching, which makes the language like quantum glue, and then I think you won't be so bothered by its lack of "features"

did you ever wish you had the freedom to walk through every continuation involved in a function call as its transformed into various intermediate representations, with such fidelity that can you inspect the internals of any character in the process, and even mutate them and continue to run the program from a specific stack frame, dynamically at the repl? its very minimal and takes some learning to be effective with, but if that degree of introspection is your thing, what you want is #chez

Panicz Maciej Godek

@rml yes but will you make a series of blog posts out of it

Niclas Hedhman

@rml

I am currently using Mecrisp Forth on a STM32WLE5 (64kB RAM, 256kB Flash) target.

Compiler (to machine code) built-in and running on target, has a disassembler on target. REPL-over-serialport on target. All in ~40-50kB of the Flash. FreeRTOS + LoraWAN stack in C occupies ~130-140kB of Flash.

Back in the days; GEM was a Windowing system running in 1MB RAM computers. Nowadays, few websites are less than 10x that.

Are we doomed?

Go Up