#💽Programming Chat v2

1 messages · Page 34 of 1

spare quartz
#

remember all constants must be defined in the loaf/root/whatever you want

#

defining a variable with that constant as its parent doesnt really make much sense if you won't change it

timid quartz
#

but you said no constants

#

so

#

everything has to be variable

spare quartz
#

i said no constants in crumbs

#

only the loaf

timid quartz
#

ohh

#

ic ic ic

#

well considering how you can't even define variables in the crumb

spare quartz
#

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)

timid quartz
#

oh so this is literally basically a class file

spare quartz
#

yeah kinda

timid quartz
#

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

spare quartz
#

the goal is for a program written in it to be completely formally verifiable with ease

timid quartz
#

well

spare quartz
#

oh yeah i should mention one thing i came up with the concept of this language while in the bathroom lol

timid quartz
#
-- 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
spare quartz
#

you cannot set x within a crumb

#

x must be derived in a variable within that crumb

timid quartz
#

does that make y := 2 also invalid

spare quartz
#

yes

timid quartz
#

ok uhh

spare quartz
#

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

timid quartz
#

oh so you would have to pass x and y in as parameters

#

and because x isn't returned it would basically be useless

spare quartz
#

/illegal yeah

timid quartz
#

ok that's not too bad

spare quartz
#

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?)

timid quartz
#

void return types :3

spare quartz
#

i also like

#

don't wanna get the concept of a computer TOO disconnected from the lang

timid quartz
#

void return types confirmed

spare quartz
#

spare quartz
#

which isn't how it actually works when compiled but yada yada

timid quartz
#

how would you formally verify something like writing to a pointer in memory

spare quartz
#

i haven't defined memory semantics yet so no idea

timid quartz
#

disallow memory ops :3

spare quartz
#

i was also thinking about exception mgmt

#

i kinda want something like rust

#

but a little... less machinery

timid quartz
#

please please do errors as values

#

dont do throw-try-catch

spare quartz
#

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

timid quartz
#

well I think this violates your initial principle of the language not defining any data types

spare quartz
#

how so

timid quartz
#

because you're basically defining an exception type here

spare quartz
#

simple solution to that

#

define the exception type in the loaf

timid quartz
#

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

spare quartz
#

i think errors as labels is a better idea

timid quartz
#

or have users write a type that encapsulates a success and an error value

spare quartz
#

a more troubling issue is the case of making a stdlib

timid quartz
#

but how are you going to get from a return value to a label

spare quartz
#

(oh yeah i need to write this conversation down later so i dont forget it all)

timid quartz
#

idk it just feels weird

#

like in the underlying

spare quartz
#

the actual impl?

timid quartz
#

yeah

spare quartz
#

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

timid quartz
#

;3

spare quartz
#

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

timid quartz
#

let your stdlib be some markdown docs of "this is how you do IO" "this is how you syscall" whatever

spare quartz
#

i'll probably do something like ada in that regard

#

higher-order loaf that defines an RTL for a breadcrumb project

timid quartz
#

CALL IT A PAN

#

!!!

spare quartz
#

😭

timid quartz
#

stroke of genius

#

DUDE

#

you have the loaf

#

loaf gets supported by the pan

#

loaf has crumbs

#

GENIUS

spare quartz
#

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

timid quartz
#

uh look at how spark does it

spare quartz
#

they don't let you use Asm

#

at least iirc

timid quartz
#

honestly

#

Make it where

#

If you pull in anything that needs a syscall interface

spare quartz
#

:3

timid quartz
#

Verifiability goes out the window

spare quartz
#

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

rustic vine
#

yall are nerds 🤓

spare quartz
#

(one possible issue of an RTL though is... that'll strain the compiler a ton if the stdlib is huge)

rustic vine
#

case and point

spare quartz
rustic vine
#

oh, sorry, apparently its

#

case in point

spare quartz
#

yes.

rustic vine
#

unfortunate im not first language is english

spare quartz
#

why use big phrase when little word do trick

rustic vine
#

thats why you should learn chinese because all the characters are little

spare quartz
#

idk they're pretty fat though

rustic vine
#

no but u got a whole word in one

spare quartz
#

at the cost of a character that weighs like 900 pounds vs like

#

an i

rustic vine
#

the i weighs a lot it takes the lamp like 4 jumps to squash it

spare quartz
#

true..

#

oh yeah

#

harry whats your thoughts on going to prison for $1m and 20 years by using deepseek

rustic vine
#

HUH

spare quartz
rustic vine
#

please don't be real

#

LOL

#

its ok its another stupid bill that surely won't pass

timid quartz
#

i mean since english isn't his first language he's already going to be sent to a camp

rustic vine
#

its like that one bill that lets trump stay in for a 3rd term

spare quartz
#

please god be real 🙏

rustic vine
#

no hes got a point

spare quartz
#

english wasn't my first lang either 😭

rustic vine
#

wait huh

timid quartz
#

welp

#

you're cooked

rustic vine
#

I thought you were as white as one can be

spare quartz
#

i was born speaking spanish as a child

#

and then cause i lived in ohio and cali for 7 years

timid quartz
#

sorry vro you're cooked idk what to say

spare quartz
#

i had to speak engli

rustic vine
#

thats my car when I pull up to the dealers

#

suddenly everything is broken

spare quartz
rustic vine
#

HEY THATS JUST

#

thats gotta be cheating

#

hes cheating sir

#

SIR HES

#

HES CHEATING

spare quartz
#

mmmmmmmmmmmmmmmmmmmm

#

right i need to fix my sql parseer

rustic vine
#

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

spare quartz
#

yeah well i got $0

#

💪

rustic vine
timid quartz
#

did roblox change the ui colors

#

I think they did

hybrid hornet
#

They did.

pastel tinsel
#

they rolled it out like

#

3 months ago to beta testers

#

amazed it took them this long to push it to prod

timid quartz
#

old colors better

pastel tinsel
#

nah blue good

rustic vine
#

wait im blue too

spare quartz
#

says the guy with a blue name

rustic vine
#

brah

#

thats a disaster

#

I didn't realize that

#

what even is your <@&1255534263600939149> role

#

what

#

@phyusicsis

spare quartz
#

i think thats for an admin

rustic vine
#

@physisics

#

brah

#

idk how to speel that

lyric mesa
#

physicist?

rustic vine
#

ye

#

does that make them better than me

spare quartz
lyric mesa
#

it's an advanced corporate rank

rustic vine
#

I think it does

#

yea I got no clue what that means

#

wth is advanced corporate

rustic vine
#

oh

#

wait

#

oh

#

um

spare quartz
rustic vine
#

thx

rustic vine
#

atp uses ada and has it

#

so

#

and I don't

#

so

spare quartz
#

idk

#

dont you code in like

rustic vine
#

I should be at least equal level

spare quartz
#

umm

rustic vine
#

um what

spare quartz
#

bython

rustic vine
#

chill on python its goated

spare quartz
#

nah

#

bython

rustic vine
#

for scripting purposes

#

wth is bython

spare quartz
#

python with braces

rustic vine
#

ITS REAL?

spare quartz
#

tyeag

rustic vine
#

NOOOOOOOO THATS DISGUSTING

#

JUST USE A REAL LANGUAGE

spare quartz
#

like ada

rustic vine
#

real languages require more than 2 users

#

btw

spare quartz
#

okay well umm

#

explain the existence of a wikibook just for us

#

😎

rustic vine
#

for you 2?

spare quartz
#

😎

rustic vine
#

I suppose one of em wrote it

#

thats the only possibility

spare quartz
#

😭

rustic vine
#

I don't think I can

#

it just shows up

spare quartz
#

you can't

rustic vine
#

win

#

@physicst

#

@Physisct

#

BRAH

#

HOW DO YOU SPELL THAT

spare quartz
#

<@&945386020847894568> just like how this wont work

#

<@&945385997519159376>

#

win

rustic vine
#

HUH

#

oh

spare quartz
#

<@&585546266180714497> give me your money

rustic vine
#

ye

#

sponsor a NAS for me

#

thx

spare quartz
#

ew

#

you probably have a server at home..

rustic vine
#

no bruh im broke I need it

rustic vine
spare quartz
#

😬

#

rich..

rustic vine
#

#rich

#

fr

#

living that good life

spare quartz
#

i do not care discrod1!!

rustic vine
#

#corp-critters

#

oh I can't see that one

#

ok high rank

#

just cause u rank above me

#

doesn't mean

spare quartz
#

its kyoto

rustic vine
#

anything

#

tokyo but they reorganized the letters??

spare quartz
#

probably idk i didnt watch it

rustic vine
#

wait but what is advanced corporate

#

nobody explained

spare quartz
#

okay so

#

you see the guys with the really blue rank

rustic vine
#

no

#

thats purple

spare quartz
#

<@&945386020155846718>

rustic vine
#

you're blind as hell

#

thats purple

#

wait

#

oh

spare quartz
#

idiot

rustic vine
#

ok look

#

its 12

spare quartz
#

i dont care im literally blind irl 😭

#

anyways

rustic vine
#

wait

#

what prescription

spare quartz
#

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

rustic vine
#

ultra thick??

#

oh

#

that cant be good

rustic vine
spare quartz
#

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

rustic vine
#

oh im not good at that

#

damn

#

wait how'd they let you in

spare quartz
#

because i write bad lua

rustic vine
#

they must've lowered the standards

spare quartz
#

and the reviewers cant read lua

#

win

rustic vine
#

oh ok win

#

I'll submit my worst examples

spare quartz
#

anyways if you want it for whatever reason uhh lemme get it

#

how corp

upbeat badgeBOT
#
❓How 2 Corporate/Engineer/Physicist

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.

pastel tinsel
#

like a lot

rustic vine
#

no bruh I ain't joining a whole nother server for this

pastel tinsel
#

😭

rustic vine
spare quartz
#

i could probably send ada code for hello world there on an alt account and win 💪

rustic vine
#

wait I have the perfect examples

spare quartz
#

too bad id immediately be the target cause im the only user in this entire server...

rustic vine
#

really

#

I can't share no google docs now

#

damn bro

spare quartz
#

😭

#

uhh

rustic vine
#

I broke but like not that broke

spare quartz
#

send the ID part

rustic vine
#

10ZIobOipN-5iDSNMnpuor68GcX2WMuwsQjLBUcW4TZ8

spare quartz
rustic vine
#

wait

spare quartz
#

this sucks ass

#

fired

rustic vine
#

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

spare quartz
rustic vine
#

wait is that a custom message

#

for this server

#

I think I can send docs

spare quartz
#

yeah

rustic vine
#

normally

#

brah

#

seriously

#

they got this stuff censored to the brim

spare quartz
#

also no like

spare quartz
#

more than 4 emojis in a message, orrr

#

certain words being blocked cause they have something that itself would be bad

rustic vine
#

russian flag

spare quartz
#

🇷🇺🇷🇺🇷🇺

rustic vine
#

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

spare quartz
#

\🇷\🇺

#

😭

rustic vine
#

LOL

#

metatable arc

#

that went crazy

spare quartz
#

== nil

#

;

rustic vine
#

until I realized it was needlessly overcomplicated

spare quartz
#

🙁

rustic vine
#

LOL wait wth was I cooking

#

onto something or on something?

spare quartz
#

both

rustic vine
#

true

spare quartz
#

honestly

#

yaeh

rustic vine
#

is it all automated

spare quartz
#

no

rustic vine
#

or do I have to wait for a guy to

#

lock in

spare quartz
#

i wonder if i could send one of my raycasters and get accepted

rustic vine
#

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

spare quartz
rustic vine
#

editable mesh

#

that vexes u

spare quartz
#

sir this was before that existed

#

rustic vine
#

Amperes

spare quartz
rustic vine
#

Amperes

#

I don't remember the last time I wrote amperes

rustic vine
#

what did that terminal do

spare quartz
#

thats my debugger

rustic vine
#

wha

#

no

#

the terminal

spare quartz
#

what terminal

rustic vine
#

u javac the file

spare quartz
#

yes i ran javac on the file

#

it compiled it into a .class

rustic vine
#

oh does it read the jar

#

or the class file or whatever

#

oh ok

spare quartz
#

yes

rustic vine
#

u forgot the lexer

#

and parser

#

and tokenizer

#

and ast builder

#

and compiler

#

btw

spare quartz
#

mmm no

#

that javac was actually my design written in ada

#

try again...

rustic vine
#

oh

spare quartz
#

nah

#

that one suicks

rustic vine
#

brah

#

I think you're a hater

spare quartz
#

even a NONcoder could see that it reeks

rustic vine
#

HUH

#

how

spare quartz
#
  • not grammatically correct
  • lacking punctuation
rustic vine
#

oh u got me

spare quartz
#

you just sent that

rustic vine
#

PLEASE

#

IM BEGGING

spare quartz
#

woahhh

#

i nearly uploaded that videeo

rustic vine
#

good save

spare quartz
rustic vine
#

wait

#

I have just the code

#

wow thats disgusting

spare quartz
#

"GETTABLEKS" sounds like an alien word for destroying humanity

rustic vine
#

thats cause it is

#

just you wait

spare quartz
#

denied.

rustic vine
#

also set my vertical rule to 80 down from 120 recently

#

and all my code goes over

spare quartz
#

ADA CODED

rustic vine
#

truly disastrous

spare quartz
#

(our default limit is 79 characters)

#

💪

rustic vine
#

wth

#

NOOOO PLEASE DONT TAKE ME

#

PLEASE

spare quartz
#

oop??? in ada??

#

🤢

#

lu**

#

LUA*

rustic vine
#

it couldn't be

spare quartz
#

lua *******************

#

(oop was added to ada in 1995)

rustic vine
#

user count has been on a downwards trend ever since

spare quartz
#

#

what server is that btrw

rustic vine
spare quartz
#

idk

rustic vine
#

ross

spare quartz
#

who tf ross

rustic vine
#

roblox oss

spare quartz
#
#

?

rustic vine
#

no lol

#

do you want an invite link

spare quartz
#

no i koined

rustic vine
#

oh ok

spare quartz
#

i dontt hink qsp lets you send them here anywaays

rustic vine
rustic vine
#

😢

rustic vine
#

its also super serious (most of the time)

#

send a meme and get banned kinda vibe

spare quartz
#

i dont really talk in servers like that 99% of the time

rustic vine
spare quartz
#

kinda since this chat is the only

  • "active" chat
  • my "blog" ...
rustic vine
#

theres like 4 luau engineers there so its valuable info

#

and a bunch more roblox employees

spare quartz
#

that DOES sound nerdy

rustic vine
#

it does

#

they also really like rust

#

I think

spare quartz
#

im out

rustic vine
#

or some of them

#

do

spare quartz
#

okay let me just run one (1) lint

rustic vine
#

"I swear im relevant" @spare quartz

spare quartz
#

BRO RAN MY LNIT FOR ME 💔

rustic vine
#

LOL

spare quartz
#

no way

#

im sorry what

#

you dont do this

#

you cant do that

#

this isnt true,,

rustic vine
#

they both use programming languages

#

so

#

its the same

#

really

lavish dove
spare quartz
#

many nuclear missiles are more mechanically driven

#

or transistor-transistor

rustic vine
#

I bet u could be

rustic vine
lavish dove
#

how to program in ada with makefile

spare quartz
#

dont

#

GPR exists

lavish dove
#

yeah I took one look at taht and decided it was bad

spare quartz
#

no.

rustic vine
#

good decisions

#

all around

spare quartz
#

so

#

enjoy the craftsmanship

lavish dove
#

they use gps

#

the missile knows where it is because it knows where it istn

spare quartz
#

missiles are more than gps silly

lavish dove
#

yes they also have women in them

rustic vine
spare quartz
#

btw the one that will hit you isn't the missile itself but that one also has its own guidance system

#

pretty cool

lavish dove
#

look in the minimap

rustic vine
#

wait

spare quartz
#

if its from the russians though itll use GLONASS

rustic vine
#

thats crazy

#

why don't they just put a camera in the tip

#

and ask it to find

#

nyc

spare quartz
#

but

lavish dove
#

thank god nyc fuck you

spare quartz
#

those are for hitting civilian airliners

rustic vine
#

run deepseek on it

spare quartz
#

not cities

rustic vine
#

oh ok

#

of course

lavish dove
#

we need to put chinese ai on our missiles

rustic vine
#

deepthink

spare quartz
#

no thanks

rustic vine
#

its gonna think a long time about

#

which target to choose

spare quartz
#

harry is horrible at driving missiles iirc..

lavish dove
#

which civilian airliner to kill

rustic vine
lavish dove
#

to build gpr you use makefile

#

hahahhahhahahahah

spare quartz
#

you use gprbuild

#

stupid

lavish dove
#

it doesnt build itself

spare quartz
#

🤨

lavish dove
#

woah

spare quartz
#

bootstrapping is a fun concept

lavish dove
spare quartz
#

thats if you cant bootstrap it

#

but the existence of a gpr file implies you can build it with gprbuild if you had gprbuild

lavish dove
#

woah

spare quartz
#

general consensus

#

nobody in that server understands ada

#

not even one mention of the actual formal verification language SPARK

lavish dove
rustic vine
spare quartz
#

i think it needs to read ...

rustic vine
rustic vine
spare quartz
#

naw i left

#

you said a lot of people in there like rust...

#

its my kryptonite 💔

rustic vine
#

LOL

#

why do you think all of the tooling is built in rust

spare quartz
#

idk cause they're autistic js devs who moved to rust

rustic vine
#

wait, it's all rust?

spare quartz
#

alright let me do a simple lint

rustic vine
#

LOL even here

spare quartz
#

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

rustic vine
#

what did u expect

spare quartz
#

i already knew

rustic vine
#

LOL

spare quartz
rustic vine
#

wheres the ada tooling

spare quartz
#

💔

#

its all in adacore

#

and gcc

#

and the us military..

rustic vine
#

no

#

wheres the tooling for roblox

#

written in ada

#

lock in

spare quartz
#

nobody who uses ada is also a roblox dev

#

clearly

rustic vine
spare quartz
#

kotlin

rustic vine
#

don't you use ada

spare quartz
#

i use kotlin and ada

rustic vine
#

and roblox

spare quartz
#

there isn't a reason for me to use ada on roblox cause

#

there isn't a reason

#

kotlin is better

rustic vine
#

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

spare quartz
#

never argued against it

#

i find it great

#

its alllways just roblox...

rustic vine
#

the hypixel devs are using it for their game I think

#

and that one game uses it too

#

alan wake 2

spare quartz
#

neat

rustic vine
#

ye

rustic vine
#

thats what it was called

#

idk anything about it

spare quartz
#

all i've heard about that game is bad so

#

i wouldn't expect much from it

spare quartz
#

Events.On_Init:Register (function ()
Events.On_Trigger_Enter:Register (On_Trigger_Enter)
end)

#

💪

spare quartz
#

naw

#

take the koolaid

rustic vine
#

no

#

maybe one day I'll write an ada program

#

until that day

spare quartz
#

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)

rustic vine
#

snake case ada it is

#

idk what I'd make in it

#

whats ada good at

spare quartz
#

its mainly popular in embedded stuff

rustic vine
#

I just use c and cpp for that

spare quartz
#

also usable for desktop applications but you have to do many things yourself or get a library to do something for that

rustic vine
#

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

spare quartz
#

well wherever c is ada can go just fine

#

but if you find c/c++ fine as is don't switch

rustic vine
#

yea but its usually not just me working on stuff

#

so its not a "oh I can just rewrite"

spare quartz
#

it is always morally okay to rewrite other peoples code

rustic vine
#

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

spare quartz
#

neat

#

im gona go make food now im hungry and its tomorrow now

rustic vine
#
    "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

timid quartz
rustic vine
timid quartz
#

yep

rustic vine
#

thats a vibe

spare quartz
timid quartz
#

yumm

spare quartz
#

its heatingu pnow

#

i love boiling water in my microwave

#

in plastic thats close to melting

rustic vine
#

extra magnetron focusing

spare quartz
#

trried that

#

it just gave the interior of my microwave a matte black finish

#

free seasoning though

rustic vine
#

🥲

#

time for sleep btw yall are past your bedtimes

timid quartz
#

shush

#

you are too

spare quartz
rustic vine
spare quartz
#

oh yeah

#

im finally getting it to ship now :3

pastel tinsel
#

yipp

timid quartz
#

ee

spare quartz
#

and YOU will be translating it

#

:3c

timid quartz
#

what

#

you have ocr and jisho

spare quartz
#

marow

#

good idea i should write my own CV program

proud creek
#

very cool seeing it being used outside of roblox

lavish dove
#

bruh

#

I somehow broke posix-uefi for my whole fucking computer

#

I just want libm 😭

spare quartz
#

rfix it

lavish dove
#

idk how

#

it just says error 1

#

lmao

#

uefi is so shit man 😭

spare quartz
#

right

#

i need to get back to taking notes

lavish dove
#

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

spare quartz
#

what about writing your own

lavish dove
#

fuck no

spare quartz
#

:<

lavish dove
#

bro if I try to do that

#

all I will have to go off of is the spec

spare quartz
#

its readable..

lavish dove
#

no its not

spare quartz
lavish dove
#

wait so hold on

#

how

spare quartz
#

wdym how

lavish dove
#

bro im too tired to think

#

im just mad that I cant get libm working

spare quartz
#

im so bored

#

i should probably mod minecraft

#

nnnnno i should make a compiler

#

nooooooo... i should make ftp

#

ughhhhhhhhhhhhhh

lavish dove
#

wait so

#

is efi just normal elf file

#

not elf

#

pe

spare quartz
#

yeah

#

just with a different subsystem

#

also you need to export your main func to efi_main

lavish dove
#

aaarrarrgrh

spare quartz
#

lemme get my makefile

lavish dove
#

what if I just wrote the efi bootloader in assembly

#

so I dont haved to deal with that

spare quartz
#
$(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')
lavish dove
#

mingw is crazy

#

damn that easier than I thought it was

#

does that come with libm uwu!?!?!

spare quartz
spare quartz
#

i dunno if efi gives you a C lib or not

lavish dove
#

well edk2 does

#

it gives like fuckin everything

#

but the tradeoff is that nobody fucking uses it because its too big

#

or whatever

spare quartz
lavish dove
#

yeah edk2 even has its own build system

#

too complicated

lavish dove
spare quartz
#

im bored okay..

lavish dove
#

I think I only wrote bytecode compiler

#

its 12 am for me i should be asleep

#

wait I havent done my homework yet either

spare quartz
#

hopefully dont have to do that much work

lavish dove
#

gaming

#

convert to assembly and get gcc to do the assembling for you fr fr

spare quartz
#

cant trust gcc 💔

lavish dove
#

😭

spare quartz
lavish dove
#

I saw that gcc uses avx instead of x86

spare quartz
#
.bcml - loaf
.bcms - symbol table
.bcmc - crumb
lavish dove
#

now I wanna make a executable format and add it to binutils

spare quartz
#

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

lavish dove
#

true

#

agghh

#

I dont wanna write floating point functions 😭

spare quartz
#

just write inline functions with inline asm in them

lavish dove
#

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

spare quartz
#

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

lavish dove
#

lmao

#

bruhhhhhh my fuckinggggggg earwax is red

lavish dove
#

damn

#

guess my renderer is only gonna be one thread

#

where tf did you even find that graph

spare quartz
#

lemme find it--

#

oh wikichip is down

lavish dove
#

lol

#

wtf is wikichip

spare quartz
#

oh okay

lavish dove
#

apparently its been down for a few days

#

oh damn

spare quartz
#

i gues they died

lavish dove
#

waah

#

aw man most of it doesnt work though

spare quartz
#

its not the same table but

lavish dove
#

oh thats only for intel

#

coo

spare quartz
#

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
lavish dove
#

id get scared and die

spare quartz
#

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

lavish dove
#

use avx512 and store

#

uh

#

64 characters

#

fr

spare quartz
#

this is file constraints, not memory/cpu

lavish dove
#

waah

spare quartz
#

man this is gonna be a heavy tooling-based lang

#

since you cannot refer to variables by their names, only indices

lavish dove
#

dyamn

timid quartz
tidal wave
#

Is anyone here had an experience with SFML or SDL?

tidal wave
timid quartz
#

Bro who writes this kind of thing in C

spare quartz
spare quartz
#

That

lavish dove
rustic vine
spare quartz
#

leave us hanging, we'll get back to you in 5-10 business days dw

timid quartz
#

@spare quartz where's that twitter post of the language performance comparison

rustic vine
#

no strings attached, that was it

spare quartz
#

psh i dunno.. i could find it for you now

#

i think i have a lead to it

rustic vine
#

I am not at all surprised

spare quartz
#

addiced to what

rustic vine
spare quartz
#

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.

▶ Play video
#

did minor keyword eng here it is

rustic vine
#

what da hell is Nim

#

Crystal

#

these are all some

#

irrelevant languages

spare quartz
#

all languages made in the last 5-10 years

rustic vine
#

ZIG IS FIRST??

spare quartz
#

aka not important

rustic vine
#

didn't even include cpp

#

disastrous

spare quartz
#

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

rustic vine
#

not a very good test ithinks

spare quartz
#

wonder what ver of kotlin they tested

rustic vine
#

slower than java

#

thats all I needed to know

#

nvm I can't even hate kt is just better

spare quartz
#

i feel like thats obvious if you write one line of kotlin

rustic vine
#

it is

spare quartz
#

anyways that feels more like a rating of the JVM they ran it on (assuming its kotlin/jvm) instead of the lang

rustic vine
spare quartz
#

show this to a typescript programmer to make them laugh at you

#

their type system is wacky

rustic vine
#

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

spare quartz
timid quartz
#

a weird obsession

#

for hating on kotlin (and java)

spare quartz
timid quartz
spare quartz
#

sounds nerdy

#

be versatile

#

hunger

timid quartz
#

I think some of the Kotlin frameworks are nice but that’s abt it

spare quartz
#

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

timid quartz
spare quartz
#

write rust code once, wait for it to recompile in 5 decades

tidal wave
timid quartz
#

Besides we have incremental compilation

spare quartz
#

why not be like ada and have your cake while being able to eat it too

#

think about the 1 second compile times

spare quartz
#

take a look at both's examples and documentation

#

and take what you think looks better

tidal wave
spare quartz
timid quartz
spare quartz
#

i love this twitter community cause its just the drama central of programming

spare quartz
#

as for the first that's cause you just have something we don't

timid quartz
spare quartz
#

have you ever ran an ada program in valgrind

timid quartz
#

no

spare quartz
#

then what're you on about

timid quartz
#

you said it yourself

#

things that arent access types are on the stack

spare quartz
#

i ran my http server multiple times and the alloc/free was symmetrical 😭

spare quartz
timid quartz
#

but that's not really a free()

spare quartz
#

as for access types they're either internally freed, freed by a controlled type (basically first), or deferred to the programmer

timid quartz
#

rust does automatic heap allocation as well

spare quartz
#

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

timid quartz
#

using deps in rust is way more common from what I've seen of you writing ada

#

and they're ALL source compiled

spare quartz
#

difference in ecosystem i guess

timid quartz
#

I'm reading too that rust can suffer from generic bloat

spare quartz
#

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

timid quartz
#

like similar to templates in C++

spare quartz
#

like a second stdlib

spare quartz
timid quartz
#
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
timid quartz
# spare quartz really? that can happen in rust?
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.
spare quartz
#

...huh

#

thats interesting

#

in ada a generic function only exists once, but

#

our generic typings are reeeally weird

#

scp sl time

spare quartz
#

nice desc from the wikibook

wraith scarab
#

ah yes node has a memory leak and crashes my pc

#

nothing fucking running too

spare quartz
#

lemme see what fridays gonna look like

#

oh it IS friday

#

i got one day off

timid quartz
spare quartz
#

yeah i know them all already

timid quartz
#

ない

spare quartz
#

just got mixed with friday/thursday

#

:<

timid quartz
spare quartz
#

何故

#

:<<<<<<<

timid quartz
#

I have never seen なぜ written in kanji

#

smh