#💽Programming Chat v2
1 messages · Page 34 of 1
defining a variable with that constant as its parent doesnt really make much sense if you won't change it
you cant initialize a variable in a crumb with a constant defined aside it, just one from the loaf (same with datatypes, define them in the loaf)
oh so this is literally basically a class file
yeah kinda
idk this sounds easy to optimize but also possibly hell to optimize
especially when you go to remove dead code
cause you can't optimize on a per-function basis you have to optimize the ENTIRE program
the goal is for a program written in it to be completely formally verifiable with ease
how so
well
oh yeah i should mention one thing i came up with the concept of this language while in the bathroom lol
-- loaf
x = 0
y = 0
function main is
begin
do_thing
do_other
-- crumb 1
function do_thing is
begin
x := 1 -- seemingly useless write
y := 2
return y
end
-- crumb 2
function do_other is
begin
x := x + 2
return x
end
illegal
you cannot set x within a crumb
x must be derived in a variable within that crumb
does that make y := 2 also invalid
yes
ok uhh
a crumb can only use variables defined within itself, and if it wants to get constant values or datatypes for those variables, it must derive them from the loaf
oh so you would have to pass x and y in as parameters
and because x isn't returned it would basically be useless
/illegal yeah
ok that's not too bad
i wonder how i wanna represent the concept of functions in this lang
and what restrictions ill put on them (e.g. disallow crumb-crumb calling, crumb-loaf-crumb only?)
void return types :3
i also like
don't wanna get the concept of a computer TOO disconnected from the lang
void return types confirmed
❌
since already as it is a crumb can basically be defined as it's own "unit"
which isn't how it actually works when compiled but yada yada
how would you formally verify something like writing to a pointer in memory
i haven't defined memory semantics yet so no idea
disallow memory ops :3
i was also thinking about exception mgmt
i kinda want something like rust
but a little... less machinery
naah
errors will not be any value
x := faulty_function | ok -> it
| e1 -> 0
| e2 -> 2
my brain my visualizing something like this (ofc not actually like this since binary but)
mmm
the errors themselves will not be an "object"
but they can carry data with them when they're propagated up
something like e1 -> it.reason
e1 can be thought of more as a goto label when an "exception" with its label is propagted up
well I think this violates your initial principle of the language not defining any data types
how so
because you're basically defining an exception type here
if you do errors as values, you can keep true to this by having users do that ^
and then have either a union return or multiple return values
i think errors as labels is a better idea
or have users write a type that encapsulates a success and an error value
a more troubling issue is the case of making a stdlib
but how are you going to get from a return value to a label
wdym
(oh yeah i need to write this conversation down later so i dont forget it all)
the actual impl?
yeah
push error_data
goto error_label
error_label:
pop error_data
act on error_data
this is basically just a fancy cover up for what is essentially a match-case
should note you have to handle every possible type of exception raised from whatever operation you're doing
and i'll probably make exceptions as pinpoint as possible since i really don't like the idea of a generic IO_Exception
honestly....don't
;3
yeah that's what i was thinking for an initial release
but having to write breadcrumbs for syscall mgmt for a simple hello world sounds rough
let your stdlib be some markdown docs of "this is how you do IO" "this is how you syscall" whatever
i'll probably do something like ada in that regard
higher-order loaf that defines an RTL for a breadcrumb project
😭
stroke of genius
DUDE
you have the loaf
loaf gets supported by the pan
loaf has crumbs
GENIUS
OH YEAH
one more thing
im not sure how ill do low level operations like syscalls in the first place since
determinability
i'll probably force it onto the programmer to define the full semantics of what they're trying to do
uh look at how spark does it
mov 1,5 | ok -> nil
| #GP -> 0
:3
Verifiability goes out the window
i'll figure something out when the time comes
that'll take a lot of reading on the linux kernel though
i don't like the idea of losing one of the biggest reasons of a language for an interface thats required by virutally every program
yall are nerds 🤓
(one possible issue of an RTL though is... that'll strain the compiler a ton if the stdlib is huge)
case and point
no.
yes.
unfortunate im not first language is english
why use big phrase when little word do trick
thats why you should learn chinese because all the characters are little
idk they're pretty fat though
no but u got a whole word in one
the i weighs a lot it takes the lamp like 4 jumps to squash it
true..
oh yeah
harry whats your thoughts on going to prison for $1m and 20 years by using deepseek
HUH
i mean since english isn't his first language he's already going to be sent to a camp
its like that one bill that lets trump stay in for a 3rd term
um
please god be real 🙏
no hes got a point
wait
english wasn't my first lang either 😭
wait huh
I thought you were as white as one can be
i was born speaking spanish as a child
and then cause i lived in ohio and cali for 7 years
sorry vro you're cooked idk what to say
i had to speak engli
HEY THATS JUST
thats gotta be cheating
hes cheating sir
SIR HES
HES CHEATING
😭
if I had the time u got to be doing all these things I think I would have more than 2 dollars to my name
😄
They did.
yeah
they rolled it out like
3 months ago to beta testers
amazed it took them this long to push it to prod
it's ass
old colors better
nah blue good
woah there just cause YOU'RE blue, doesn't mean the world HAS to be blue
wait im blue too
says the guy with a blue name
brah
thats a disaster
I didn't realize that
what even is your <@&1255534263600939149> role
what
@phyusicsis
i think thats for an admin
physicist?
it's an advanced corporate rank
it just means we're better than you and yeah
I should be at least equal level
umm
um what
bython
chill on python its goated
python with braces
ITS REAL?
tyeag
like ada
for you 2?
😎
😭
wait I hope I didn't ping whoever has this
I don't think I can
it just shows up
you can't
<@&585546266180714497> give me your money
no bruh im broke I need it
ye I got a raspberry pi
i do not care discrod1!!
#corp-critters
oh I can't see that one
ok high rank
just cause u rank above me
doesn't mean
its kyoto
probably idk i didnt watch it
<@&945386020155846718>
idiot
i don't have the papers on hand but whatever i have is bad enough to warrant my lenses being like
half an inch thick
ok go on
those people did some questionaire in anotehr server and got that rank cause they seemed cool
and they can send images n stuff cause of it
theres ranks aside it called physiicst and engnieer and its just being good at scripting or codnig or buiilding
because i write bad lua
they must've lowered the standards
If you're NOT in the Quantum Community Outreach Department:
Join https://discord.com/invite/6EeUPUVfGv and read the infoboard in its entirety.
Otherwise...
See #1204494038753878016 for how to apply.
-# You may need to read the infoboard if you can't access the channel above.
no bruh I ain't joining a whole nother server for this
😭
huh wait really
i could probably send ada code for hello world there on an alt account and win 💪
wait I have the perfect examples
too bad id immediately be the target cause im the only user in this entire server...
I broke but like not that broke
send the ID part
wait
yall cant be serious
LOL
ITS CODE I WROTE
in 2021
it got me a role somewhere
I forgot where
cause the name
idk bruh it was the most vile stuff
its ok though we win these
"please call a walmart associate" type deal
yeah
also no like
more than 4 emojis in a message, orrr
certain words being blocked cause they have something that itself would be bad
russian flag
🇷🇺🇷🇺🇷🇺
flag ru flag ru flag ru flag ru
wait
im genius
flag_ru flag_ru flag_ru flag_ru flag_ru
they can't stop me
until I realized it was needlessly overcomplicated
🙁
both
is it all automated
no
i wonder if i could send one of my raycasters and get accepted
wait if I have time this weekend I might try sending progressively fancier looking code until it gets accepted
gonna start with print("hi")
surely they won't know
Amperes
mmm is this jvm ii
thats my debugger
what terminal
u javac the file
yes
u forgot the lexer
and parser
and tokenizer
and ast builder
and compiler
btw
even a NONcoder could see that it reeks
- not grammatically correct
- lacking punctuation
you just sent that
good save
"GETTABLEKS" sounds like an alien word for destroying humanity
denied.
ADA CODED
truly disastrous
user count has been on a downwards trend ever since
take a guess
idk
ross
who tf ross
roblox oss
(or RobloxOS) RobloxOS is an open source project that I’ve been working on for the last 3 months and its now “complete enough” to show here. I will eventually make a documentation on how to make apps or games to RobloxOS because I’m planning this to be an community-ran operating system of sorts that isn’t trying to copy Windows or macOS. It is...
?
no i koined
oh ok
i dontt hink qsp lets you send them here anywaays
okay lets see this os
oh no
ah
they talk about nerd stuff there
its also super serious (most of the time)
send a meme and get banned kinda vibe
i dont really talk in servers like that 99% of the time
I occasionally say stuff but mostly its questions
kinda since this chat is the only
- "active" chat
- my "blog" ...
theres like 4 luau engineers there so its valuable info
and a bunch more roblox employees
that DOES sound nerdy
im out
okay let me just run one (1) lint
"I swear im relevant" @spare quartz
BRO RAN MY LNIT FOR ME 💔
LOL
so technically its true
they both use programming languages
so
its the same
really
me programming in lua (I am going to get hired by the military out of high school)
they're hiring
I bet u could be
program in ada 🥺
don't worry, I WONT be thinking about this while one is headed for my state
how to program in ada with makefile
yeah I took one look at taht and decided it was bad
no.
well they're pretty accurate
so
enjoy the craftsmanship
missiles are more than gps silly
yes they also have women in them
wait so ur saying the military is using the same tech as GOOGLE MAPS??
btw the one that will hit you isn't the missile itself but that one also has its own guidance system
pretty cool
fortnite uses it too
look in the minimap
wait
if its from the russians though itll use GLONASS
kek
thank god nyc fuck you
those are for hitting civilian airliners
run deepseek on it
not cities
we need to put chinese ai on our missiles
deepthink
no thanks
harry is horrible at driving missiles iirc..
which civilian airliner to kill
HUH what is this a reference to
good catch
it doesnt build itself
woah
bootstrapping is a fun concept
thats if you cant bootstrap it
but the existence of a gpr file implies you can build it with gprbuild if you had gprbuild
woah
anyways
general consensus
nobody in that server understands ada
not even one mention of the actual formal verification language SPARK
omg ada lovelace
hmm, it seems you have gpr in both the name and extension, deepseek r1 suggests renaming this to build.gpr or gprbuild or .buildgpr or .gpr
build.gpr implies the project name is Build
i think it needs to read ...
ohhhh why didn't I think of that
this is your chance
idk cause they're autistic js devs who moved to rust
alright let me do a simple lint
wanna know something funny
i did a surface level search on the orgs/contributors of these repos...
all of them at least touch js, ts, or a js-derivative (e.g. astro)
many such cases
welllllllllll
what did u expect
wheres the ada tooling
how about u
kotlin
don't you use ada
i use kotlin and ada
and roblox
there isn't a reason for me to use ada on roblox cause
there isn't a reason
kotlin is better
true
well actually
tbh if you ignore roblox being mid
and the mid parts of the typechecker
and the mid parts of lua (they can't change that)
luau is actually a really nice language
the hypixel devs are using it for their game I think
and that one game uses it too
alan wake 2
ye
hytale
thats what it was called
idk anything about it
Events.On_Init:Register (function ()
Events.On_Trigger_Enter:Register (On_Trigger_Enter)
end)
💪
thats worse
imma be real
i should mention
everything in ada is case-insensitive iirc so
PROCEDURE MAIN IS
BEGIN
ADA.TEXT_IO.PUT_LINE ("OK");
END MAIN;
if you wanna yell you can
(the compiler will complain about style though)
its mainly popular in embedded stuff
I just use c and cpp for that
also usable for desktop applications but you have to do many things yourself or get a library to do something for that
disaster
idk if I have a real usecase for it then
my embedded needs usually require c or cpp
as in the techstack is already on c or cpp
well wherever c is ada can go just fine
but if you find c/c++ fine as is don't switch
yea but its usually not just me working on stuff
so its not a "oh I can just rewrite"
it is always morally okay to rewrite other peoples code
TRUE
especially if they've left the company
also btw guys um
wait idt anyone else is listening
but if people are lurking
if yall used gitlens in vsc before
and you ONLY used the git blame functionality
you can get native git blame support in vsc now
and git rid of that bloat plugin that asks you to pay money every startup
"git.blame.editorDecoration.enabled": true,
"git.blame.editorDecoration.template": "${authorName}, ${authorDateAgo} • ${subject}",
"git.blame.statusBarItem.enabled": true,
"workbench.colorCustomizations": {
"git.blame.editorDecorationForeground": "#ffffff3b"
},```
thank me later
intellij for 7.5h 💪
still in Main.kt 😭
yep
thats a vibe
i just warmed up more ramen...
yumm
its heatingu pnow
i love boiling water in my microwave
in plastic thats close to melting
add tin foil and silverware for
extra magnetron focusing
trried that
it just gave the interior of my microwave a matte black finish
free seasoning though
I am conducting those activites at this very moment
yipp
ee
rfix it
I cant figure out how to even install edk2, gnu-efi is worth shit and posix-efi forces llvm on me which means I cant use fucking anything else
what about writing your own
fuck no
:<
its readable..
no its not
wdym how
im so bored
i should probably mod minecraft
nnnnno i should make a compiler
nooooooo... i should make ftp
ughhhhhhhhhhhhhh
yeah
just with a different subsystem
also you need to export your main func to efi_main
aaarrarrgrh
lemme get my makefile
what if I just wrote the efi bootloader in assembly
so I dont haved to deal with that
$(EFI_PATH): build #$(SHARED_PATH)
x86_64-w64-mingw32-gcc -nostdlib -Wl,-dll -shared -Wl,--subsystem,$(OBJCOPY_SUBSYSTEM) -e efi_main -o $@ $(shell find $(BUILD_PATH) -name '*.o')
mingw is crazy
damn that easier than I thought it was
does that come with libm uwu!?!?!
i dunno maybe
i dunno if efi gives you a C lib or not
well edk2 does
it gives like fuckin everything
but the tradeoff is that nobody fucking uses it because its too big
or whatever
i think im just gonna write more compilers
average behavior
im bored okay..
I think I only wrote bytecode compiler
its 12 am for me i should be asleep
wait I havent done my homework yet either
well my language virtually already IS bytecode so
hopefully dont have to do that much work
cant trust gcc 💔
😭
note start * sorry for ping
I saw that gcc uses avx instead of x86
.bcml - loaf
.bcms - symbol table
.bcmc - crumb
woah
now I wanna make a executable format and add it to binutils
man that is a terrifying idea
each breadcrumb can define a fixed size heap(?)
i dunno if making segmentation in my programming language is the best idea but whatever
just write inline functions with inline asm in them
yeah tahts what im gonan do
im reading on floating point operations rn
apparently avx is so fucking powerful the cpu slows down by a third when its being used
dont be like me tho and try and debug the same function and realize you're dividing by zero and a #DE isn't being shown cause interrupts are off
oh wow
damn
guess my renderer is only gonna be one thread
where tf did you even find that graph
oh okay
used to be a great site for CPU information including up to pinouts but
i gues they died
Xeon Gold 5220 is a 64-bit 18-core x86 high performance server microprocessor introduced by Intel in early 2019. The Gold 5220 is based on the Cascade Lake microarchitecture and is manufactured on a 14 nm process. This chip supports 4-way multiprocessing, sports one AVX-512 FMA units as well as two UPI links. This microprocessor supports up 1 Ti...
its not the same table but
mmmmmmmm
how would i define a symbol and link to it without it being a sequential list
because if
[a,b,c]
^
[a,d,b,c]
`b,c` refs become invalidated
id get scared and die
hm
okay so you can fit
about 6 characters in a single 32 bit integer
i dont think thats a great choice though
mm
ill probably just do a direct mapping instead of sequential list
this is file constraints, not memory/cpu
waah
man this is gonna be a heavy tooling-based lang
since you cannot refer to variables by their names, only indices
dyamn
Yknow you can turn the reply ping off
Is anyone here had an experience with SFML or SDL?
My bad
@spare quartz https://goaccess.io/
Bro who writes this kind of thing in C
Mrow
Oh my vision is so blurry I can’t read thy
That
doesnt seem that crazy
Omfg ask the question before I visit you
😭
leave us hanging, we'll get back to you in 5-10 business days dw
@spare quartz where's that twitter post of the language performance comparison
wait. maybe the question was if there was anyone experienced
no strings attached, that was it
considering your chronic addiction
I am not at all surprised
addiced to what
too far gone
@timid quartz https://fixupx.com/BenjDicken/status/1863977678690541570
Over the past 8 days, I received over 100 PRs on the languages repo with additions and improvements.
- A bunch of languages were added
- Some implementations got tweaks to modify performance
- The run script now uses hyperfine for timing
Thanks to all the contributors.
did minor keyword eng here it is
all languages made in the last 5-10 years
ZIG IS FIRST??
aka not important
funnily enough
i ran an ada program using equivelent code
ran faster than everything on that list (with some side effects included in so an optimization run wouldn't delete it all)
not a very good test methinks
not a very good test ithinks
slower than java
thats all I needed to know
nvm I can't even hate kt is just better
i feel like thats obvious if you write one line of kotlin
it is
anyways that feels more like a rating of the JVM they ran it on (assuming its kotlin/jvm) instead of the lang
show this to a typescript programmer to make them laugh at you
their type system is wacky
yeah show any luau types to a ts programmer and they'll be like
erm actually
I can do this in 1 expr
with
these 20 ts type gymnastics
terry has like
a weird obsession
for hating on kotlin (and java)
why
Cause he uses rust and JVM is slower
I would counter with “what does Kotlin do that rust doesn’t”
I think some of the Kotlin frameworks are nice but that’s abt it
runs on every machine possible without recompilation
and is also easier to write
thats why the jvm exists in the first place
anyways what is rofl typing
Drink once barf anywhere
write rust code once, wait for it to recompile in 5 decades
, i just wanted to know overall experience with those two, and which one is better to go with (in terms of developing a simple 2d game)
Me when compile-time penalties for run-time benefits
Besides we have incremental compilation
why not be like ada and have your cake while being able to eat it too
think about the 1 second compile times
i personally can't help with that cause i use neither BUT
take a look at both's examples and documentation
and take what you think looks better

ok but ada isn't doing proc macro expansion, inserting automatic malloc/free, and other things
i love this twitter community cause its just the drama central of programming
aera i've proven time and time again we literally do the second point
as for the first that's cause you just have something we don't
you literally don't cause all your stuff is done on the stack 😭
have you ever ran an ada program in valgrind
no
then what're you on about
i ran my http server multiple times and the alloc/free was symmetrical 😭
yeah and are thus easily freeable when they're done
but that's not really a free()
as for access types they're either internally freed, freed by a controlled type (basically first), or deferred to the programmer
rust does automatic heap allocation as well
and reminder
what ada does with access types or where things even are in the first place is totally implementation dependent
we don't really know what GNAT is doing, but it's freeing up all of the memory with little input from me
so it works
also even though ada also compiles all deps from source
using deps in rust is way more common from what I've seen of you writing ada
and they're ALL source compiled
difference in ecosystem i guess
I'm reading too that rust can suffer from generic bloat
wdym
also i wont ignore the fact that certain huge libraries in ada like GNATCOLL take forever to compile but thats because they're actually massive
like similar to templates in C++
like a second stdlib
really? that can happen in rust?
The style we promote in Rust is very hard on the compiler. In C, if you want to write a for loop you write something like
for (int i = 0; i < limit; ++i ) {}
This is great for the compiler, it knows every element of this code, and this is only built-in language features. There are no library calls. Even in debug mode, you will find that gcc and clang generate reasonably efficient assembly for this. If you want to write a for loop like this in Rust...
for i in 0..limit {}
This superficially looks the same but it is not at all the same. Stick it into godbolt.org or such and just look at the mountains of assembly that come out of the compiler in debug mode. This compiles into a standard library Range type which is converted into an iterator, and then driven by calling an iterator method on it. So this expands to a whole bunch of library code. The compiler doesn't understand any of this, it's just some functions calling some other functions and it is doing its best for you
Ever heard a C++ developer/hater complain about "template bloat"? Rust has exactly the same problem. Generic functions are monomorphized pretty early on. So if you call some_option.is_some() in two places where your Option is wrapping different types, you're actually calling two separate functions and they will be compiled and optimized separately. This gets pretty absurd, simple things like ptr::is_null are generic and generate a lot of totally redundant work for LLVM.
...huh
thats interesting
in ada a generic function only exists once, but
our generic typings are reeeally weird
scp sl time
nice desc from the wikibook
月
火
水
木
金
土
日
yeah i know them all already
ない
チガウ