#🪅-progaming

1 messages · Page 66 of 1

median root
#

but its

#

not

fleet cedar
#

The window shows what's behind it

#

That's what transparency means

lavish frigate
#

you need a compatible theme

leaden crater
median root
leaden crater
#

it says inside the theme

median root
#

welp

#

bro PLEASE I NEED neovim keybindings in quickcss editor

#

ive grown dependent

jade stone
median root
#

alr imma search around then

dawn ledge
#

you do know that you can just open the quickcss file in neovim itself right

median root
#

idk

#

might do that

hoary sluice
#

@valid jetty do u love

#

17 or so long ugly cut open dicks

#

i need to be banned from sushicraft

median root
hoary sluice
#

maybe the camera

#

shiny side down

#

@valid jetty you will visit and teach me how to sushi

lucid trail
hoary sluice
lucid trail
valid jetty
#

inline functions

valid jetty
deep mulch
#

@valid jetty

valid jetty
#

hii

deep mulch
valid jetty
#

why is it so hard to make a hover diagnostic 😭

ionic lake
#

are you using a crate for lsp?

#

there's tower lsp service

valid jetty
#

im using tower yeah

#

but exporting the symbol table from the compiler is whats hard

#

like if i do rs fn main() { x := 1; $println(x); } and i hover over the x in the println

fleet cedar
#

Why would that be an issue

valid jetty
#

because i dont have any other info than the location where the user hovered and i simply call the compiler recursively

deep mulch
#

@valid jetty Elle will have built in cryptocurrency stuff

#

Elle will be used for crypto mining

#

and blockchain

valid jetty
#

i have to find a way to export a symbol map with the locations of identifiers and then do like scope resolution lol

deep mulch
#

@valid jetty bestie!!!

valid jetty
#

because you can do this ```rs
fn main() {
x := 1;
x := "a";
{
x = "b";
x := 3;
}

x; // we have to do scope resolution here and figure out to return `x: string` PURELY FROM A LOCATION

}

deep mulch
#

@valid jetty Elle risc v when

valid jetty
#

when qbe supports it i guess

deep mulch
#

drop qbe for your own implementation when

valid jetty
#

sounds like hell

deep mulch
#

Rosie is masochistic programmer

jade stone
#

vencord jumpscare

#

time to fix

leaden crater
#

@valid jetty @valid jetty @valid jetty @valid jetty

#

do you...watch vtubers (gura)

valid jetty
#

not really lol

valid jetty
leaden crater
valid jetty
#

HIIIIII

#

HIIIIIIIIIIII

#

IT WORKS

#

HOLY SHIT

#

oh my fucking god i cant believe this works

hoary sluice
#

rosie keeps insulting me every day

fleet cedar
valid jetty
fleet cedar
#

Oh okay

jade stone
#

@valid jetty make jump to definition

valid jetty
#

thats what i wanna try to do next

#

after i get this working

hoary sluice
#
fn history() {
    let mut year = 1900;
    loop {
        year += 1;
        if year % 100 >= 20 && year % 100 <= 50 {
            fascism();
        }
        else {
            overcomplicated_peace();
        }
    }
}
hoary sluice
#

i promise i wont beat you if you teach me sushi

#

while you teach me sushi*

#

i woke up today and my ear was broken

#

i have built in noise cancelling in my left ear now

#

it feels like i always have an earbud in

valid jetty
#

i cant believe this works 😭

#

but i think i did this in the last hacky way possible

deep mulch
#

Elle will have built in js runtime

valid jetty
#

the lsp gives you a single position (row + col), so in the lexer i tag the token which is within that position, and prevent tagging any other token for the rest of tokenization

dawn ledge
valid jetty
#

then at compilation, when compiling a Literal node, if that node is tagged, instead of passing the type forwards i throw an error with it

#

and then its displayed

dawn ledge
#

go-to definition next

valid jetty
#

(soon)

#

i wanna implement hover for variable declarations (like hovering INSIDE of a declaration) and things like numbers first

#

right now you can only hover over variables

hoary sluice
valid jetty
#

zed eats all my ram

hoary sluice
#

nvim requires sooo much config to get a proper ui

valid jetty
#

tbh the elle zed extension is really tiny its mostly just the lsp built-in to the compiler

hoary sluice
#

like those hover bubble things are terrible by default in nvim and really hard to configure

valid jetty
#

making a vscode extension for it shouldnt be too hard

hoary sluice
#

vscode is evil

valid jetty
#

the whole extension

use zed_extension_api::{self as zed, Result};

struct ElleExtension;

impl zed::Extension for ElleExtension {
    fn new() -> Self {
        Self
    }

    fn language_server_command(
        &mut self,
        _language_server_id: &zed::LanguageServerId,
        worktree: &zed::Worktree,
    ) -> Result<zed::Command> {
        let elle_lsp_cmd = worktree.which("ellec");
        let path = elle_lsp_cmd.ok_or_else(|| "ellec must be in your path".to_string())?;

        Ok(zed::Command {
            command: path,
            args: vec!["--lsp".into()],
            env: Default::default(),
        })
    }
}

zed::register_extension!(ElleExtension);
hoary sluice
#

rosie can your mom calculate binary

valid jetty
#

idk

#

why

hoary sluice
#

its been a running joke in our class for a few years to randomly ask but can your mom do binary

#

omg i keep losing more and more hearing in my left ear

jade stone
#

also if you're doing it via LSP it should be really easy

spark warren
#

hi guys I just joined

#

is there any new solution

#

to bring the old UI back

#

because this new UI tortures my eyes

jade stone
#

vns

elder yarrowBOT
spark warren
#

I can't get used to it no matter what

spark tiger
#

so called programming

valid jetty
#

the entirety of the lsp is like 200 loc lol

jade stone
#

afaik vscode can just work with LSP over stdio

valid jetty
#

but dont i need an extension to register the lsp

deep mulch
#

Elle will take 5 years to compile

jade stone
valid jetty
#

ill look into that at some point later because i dont really wanna open vscode right now

jade stone
# valid jetty ill look into that at some point later because i dont really wanna open vscode r...
import * as path from 'path';
import { workspace, ExtensionContext } from 'vscode';

import {
  LanguageClient,
  LanguageClientOptions,
  ServerOptions,
  TransportKind
} from 'vscode-languageclient/node';

let client: LanguageClient;

export function activate(context: ExtensionContext) {
  // The server is implemented in node
  let serverModule = context.asAbsolutePath(path.join('server', 'out', 'server.js'));
  // The debug options for the server
  // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging
  let debugOptions = { execArgv: ['--nolazy', '--inspect=6009'] };

  // If the extension is launched in debug mode then the debug server options are used
  // Otherwise the run options are used
  let serverOptions: ServerOptions = {
    run: { module: serverModule, transport: TransportKind.ipc },
    debug: {
      module: serverModule,
      transport: TransportKind.ipc,
      options: debugOptions
    }
  };

  // Options to control the language client
  let clientOptions: LanguageClientOptions = {
    // Register the server for plain text documents
    documentSelector: [{ scheme: 'file', language: 'plaintext' }],
    synchronize: {
      // Notify the server about file changes to '.clientrc files contained in the workspace
      fileEvents: workspace.createFileSystemWatcher('**/.clientrc')
    }
  };

  // Create the language client and start the client.
  client = new LanguageClient(
    'languageServerExample',
    'Language Server Example',
    serverOptions,
    clientOptions
  );

  // Start the client. This will also launch the server
  client.start();
}

export function deactivate(): Thenable<void> | undefined {
  if (!client) {
    return undefined;
  }
  return client.stop();
}
#

you would also want to register your lang and add some syntax highlighting, icon, etc...

hoary sluice
#

rosie when will you bootstrap elle

valid jetty
valid jetty
jade stone
valid jetty
#

i only really need a language client in vscode land

#

you can simply ellec --lsp and it should work with jsonrpc requests, tower abstracts that away

supple whale
#

yes vscode, i agree

jade stone
supple whale
#

yeah i have no clue what causes it

#

like it cant be a chromium bug can it?

jade stone
#

highly doubt it

supple whale
#

but then....

#

they use just normal DOM text to render it

#

so...

jade stone
#

if i had to guess, they're printing some wrong ANSI escape

supple whale
#

like what?

#

the thing is if you select the text

#

it corrects itsefl

#

so it feels like a rendering bug

jade stone
#

i highly doubt it's a bug with chromium

#

but who knows

supple whale
#

yeah i honestly have no clue what it could be

jade stone
#

you can always bisect and find out blobcatcozy

supple whale
#

then again, i've found so many chromium rendering bugs i wouldnt be surprised if it is

jade stone
#

@supple whale just took a quick look, and it might be this

supple whale
#

Screen cheese in the debug consol

#

AGREED

#

nah its a different thing

#

mine is a render artifact for sure

#

his is just overlapping elements

#

me when i havent cleaned the screen cheese

valid jetty
#

@lucid trail love?

lucid trail
valid jetty
#

you can hover over the things now

#

the variable declarations

#

oh and you can do this in loops now

#

:3

#

and buffers but im not sure how to print these

valid jetty
#

hiiiiiiiiiiiiiiii

deep mulch
#

hiiii

#

@valid jetty add autocompletewhen

valid jetty
#

idk about that one

jade stone
#

HOW IS THERE 600ms OF GARBAGE COLLECTION FOR AN ENUM EXPORT

#

HOW THE FUCK

jade stone
eternal wigeon
leaden crater
#

why?

eternal wigeon
# leaden crater why?

its a webhook, reloading the page makes the webhook do 2 GETs and return html/css/js data in raw text. since it can take a while this is required for decent UX 🙂

#

but my first time making a fake loading bar lol

leaden crater
#

mmm

#

i dont get it , but looks cool

pearl stagBOT
# jade stone How cursed is this https://github.com/sadan4/VencordCompanion/blob/re-export-wor...

WebpackAstParser.ts: Lines 911-933

ret = (function nestLoop(curName: string | symbol, obj: ExportMap | ExportRange):
    ExportMap | ExportRange {
    if (Array.isArray(obj)) {
        return obj;
    }

    const keys = allEntries(obj);

    if (keys.length === 1) {
        if (obj[curName]) {
            return nestLoop(curName, obj[curName]);
        }

        const key = keys[0][0];

        obj[key] = nestLoop(key, obj[key]);
        return obj;
    }
    for (const [k] of keys) {
        obj[k] = nestLoop(k, obj[k]);
    }
    return obj;
})(x.name.getText(), ret);
inner bone
#

Can I disable synchronization for one setting in the plugin?

elder yarrowBOT
inner bone
#

No, I'm asking as a plugin "developer", not a user.

jade stone
inner bone
jade stone
#

Also you can just use DataStore

inner bone
placid cape
inner bone
#

how to fix DataStore.get() returns promise Object, how to get string ?

valid jetty
#

i might do a tiny write up on how i got the hover thing to work because i think it’s cool

valid jetty
nimble bone
#

Notion clone in Elle

dense sand
#

We just need jsx in elle

spark ridge
#

i just noticed that elle has a std libs
thats so good

dawn ledge
#

why would it not

#

damn ngl vee was right, too much elle in here

lavish frigate
#

ill make the vee programming language

#

.v

valid jetty
#

i will rewrite vencord in veescript

valid jetty
#

if you look theres like several hour gaps between messages lol

hoary sluice
valid jetty
hoary sluice
valid jetty
#

spioniro golubiro

hoary sluice
valid jetty
#

tung tung tung tung tung tung tung tung tung sahur ALL THE WAY

hoary sluice
#

youre evil

#

at least we can both agree that trippi troppi is the best

valid jetty
#

i prefer tung tung tung tung tung tung tung tung tung sahur

hoary sluice
#

tung tung tung tung tung tung tung tung tung sahur is almost as bad as bombardino crocodilo

lucid trail
#

i hate how i know what that is

hoary sluice
#

@valid jetty i have spent so much time switching between different languages now i can more or less understand romanian. arabic, polish (and therefore czech/slovak and a bit of some other slavic languages), and a bit of esperanto but i can speak none of these

#

and now im tryna get kazakh involved too

#

its too hard

#

i have to learn all of these

valid jetty
#

hmmmmm

fleet cedar
#

Wtf is up with that aℓℓ ligature

#

What kind of font does that

valid jetty
#

my fav font

valid jetty
fleet cedar
#

Less cringe than the -ᗆ ligature though

valid jetty
#

idk i like how it looks lol

fleet cedar
#

I kinda just hate ligatures on principle so

valid jetty
#

fair enough not everyone likes them

#

if anything i think it’s more 50/50

fleet cedar
lavish frigate
# balmy lintel

French Brainrot Speedrun… This Shouldn’t Be Possible 💀🇫🇷

Bienvenue to the "wildest" French brainrot speedrun you've ever seen 💀⚡ In this video, we’re diving deep into chaotic French memes, obscure references, and peak internet humor—all in record time. Blink and you’ll miss it.

What you’ll see in this video:
...

▶ Play video
valid jetty
fleet cedar
#

I kinda only skimmed it, but why would variable-resolution-for-hover be any different from variable-resolution-for-compiling?

valid jetty
#

i just use the value from compilation but instead of returning it to the compiler i extract it as a diagnostic

fleet cedar
#

Parse tree, resolve scopes, look up token and find its scope

valid jetty
#

nope i don’t do any of that for hover diagnostics

#

the compiler itself already does that because compiling literals (ie identifiers) is done via token, so it propagates the tagged thing, when it resolves a variable with some name i get back a type and value, so i can just return the type instead of continuing compilation

balmy lintel
#

whats wrong with bcrypt

valid jetty
valid jetty
unkempt shuttle
lavish frigate
# valid jetty LMAO

these videos like suck you in once you start watching you cannot stop until youve watched all of them like 5 times its insane

unkempt shuttle
#

use argon2

winged mantle
#

but why

shrewd canopy
#

I mean a lot of batteries is very good

fleet cedar
#

No

#

Large batteries is bad

#

Easy extensibility is good

shrewd canopy
#

I would prefer large batteries over pulling 700 dependencies

winged mantle
#

people often pull dependencies for things that they could write themselves

#

my discord bot with rest api only has 9 direct dependencies blobcatcozy

fleet cedar
#

And how many indirect

winged mantle
#

it's hard to see when multiple dependencies reference the same dependency

fleet cedar
#

cargo tree | wc

winged mantle
#

this is node.js based

fleet cedar
#

My decompiler has 12, of which 5 are for the cli frontend only

shrewd canopy
#

My bot uses python and iirc it has less than direct 10 deps, and its <20 deps total

dawn ledge
#

you either end up with 500 micro-dependencies
or a bloated ass stdlib
only few settle with the middleground

winged mantle
#

my whole tree looks like this

#

for backend

dawn ledge
winged mantle
#

but some are duplicated

dawn ledge
#

🤝

winged mantle
#

and some types packages are in the dependencies instead of devdependencies

#

as well as typescript

#

which makes no sense

#

(at runtime i am not using typescript compiler, just node's built in type stripping)

fleet cedar
#

cargo tree | wc gives 94 transitive dependencies

winged mantle
#

what does it decompile

fleet cedar
#

Trails through Daybreak scripts

dawn ledge
#

i feel like a lot of lsp performance could be improved by emitting an intermediate tree representation with types

#

and then recompiling it on change

#

inotify or soemthing

winged mantle
dawn ledge
#

@valid jetty does elle accept shebang

fleet cedar
dawn ledge
#

eh im fine with it

#

it would suck if you use bun stdlib in a library

#

but for applications using bun stdlib is fine

#

its equivalent to deno's stdlib

#

execept deno does it better

nimble bone
#

bun stdlib locks you/other contributors to that specific runtime

#

vs bcrypt which you can install anywhere

#

this is why bun and similar are a cancer to the js ecosystem

#

He knows

winged mantle
#

bun

#

🐇

lavish frigate
#

this new dm wallpaper experiment really isnt that well designed 😭

#

instead of just having like asset_blurred: they just copy over everything except the asset..........

#

insanity

shrewd canopy
dawn ledge
#

i mean, its a user-facing api, no one cares

#

will complain when its officially documented for bots

shrewd canopy
dawn ledge
#

well if you could see

#

i do agree there are better ways to structure this

lavish frigate
#

or better yet... just use filter in a style...

fleet cedar
#

Dm wallpaper, is that another nitro nuisance like those name plates?

dawn ledge
#

yes

#

gotta pump out every dollar

lavish frigate
#

im making a plugin that makes them clientsided

#

shrug

fleet cedar
#

Probably nothing a few lines of css can't fix

lavish frigate
dawn ledge
#

we had a thing for this

#

it is called css themes

lavish frigate
#

the floating widget they have for this is really cool tho

#

you can move it around and stuff

wispy kernel
wispy kernel
lavish frigate
#

yes

nimble quail
#

i write my math notes in a sort of pseudocode form, like so

#
TO FIND VERTEX...
GIVEN: f(x) = -0.02x^2 + 1.4x + 5.7
FIND X
x = (-1.4) / (2(-0.02))
x = 35
COMPUTE f(35):
    f(35) = -0.02(35)^2 + 1.4(35) + 5.7
    f(35) = -24.5 + 49 + 5.7
    f(35) = 30.2
VERTEX = (35, 30.2)
MAXIMUM HEIGHT = 30.2 at DISTANCE of 35
#

at the beginning of the documents, i always put a recall block, for stuff i have to memorize like formulas and such

#
---- BEGIN RECALL

QUADRATIC FORMULA
x = ( -b +- sqrt(b^2 - 4ac) ) / 2a
    where sqrt is "SQuare RooT"
    
TO FIND X from FORM f(x) = ax^2 + bx + c
-b / 2(a)

---- END RECALL
#

but now i'm getting into shit involving Long Division.
dividing polynomials with long division
i never learned how to do long division. i just straight up never did the assignments/problems and passed through anyway. the introduction of calculators saved my stupid ass later on

#

so now my document on dividing polynomials through long division begins with

#
---- RECALL

SUICIDE IS NOT WORTH IT

---- END RECALL
lavish frigate
#

whelp i now have a half broken plugin that allows me to set wallpapers blobcatcozy

dawn ledge
#

slowly refining the grammar for hana lang

lavish frigate
lavish frigate
dawn ledge
#

which is too similar to rust

#

and i hate that

lavish frigate
#

😭

dawn ledge
#

trying to make it not similar to rust

#

i am too rust pilled

#

i dont dislike rust

#

but if my lang is too similar to it there really is no point working on it

winged mantle
#

my lang will be blua

#

bluey but lua

valid jetty
#

everyone is making languages now blobcatcozystars

valid jetty
shrewd canopy
dawn ledge
#

for now i just have an "example" file in which im writing stuff according the the syntax i like
and then i will write ebnf grammar

#

it makes it really simple to write parsers

#

i was studing about glr(1) parsers prior to this

#

even before i decided to write a lang

nimble quail
#

big walls of text scare me
boiling it down into concise keywords makes me happy

pseudo sierra
#

I kinda wanna make a language but it'd just end up being functional rust

dawn ledge
#

i would like to interject for a moment to introduce you to the modern, blazing fast, and awesome markup language called TYPST

dawn ledge
#

the syntax is too similar to rust its uncanny

nimble quail
#

you see this? this is how to reduce someone's will to live

#

never do this

dawn ledge
#

there are some zig influences (like comptime and variable length integers) but its way way too similar to rust

nimble quail
#

zag, inspired by zig

dawn ledge
pseudo sierra
#

inb4 zig-rs trolley

dawn ledge
#

i am a weird person
i like the minimalism of c and zig
but i love the safety "features" (more like torture) provided by rust

#

and im having a hard time almagamating this into a format i would like to actively use

valid jetty
nimble quail
#
//////// CASE 1: CHECK PASS ////////

DETERMINE IF f IS POLYNOMIAL FUNC
GIVEN: f(x) = 9x^8 + 7x^5
    EXP^s 8, 5 ARE POSITIVE INTEGERS
    COEFFs 9, 7 ARE REAL NUMBERS
TRUE; f is POLYNOMIAL FUNC

//////// CASE 2: CHECK FAIL ////////

DETERMINE IF f IS POLYNOMIAL FUNC
GIVEN: h(x) = 2x^5 + 3x^2 + 7/x
    TERM 2x^5 PASSES
    TERM 3x^2 PASSES
    7/x = 7x^-1
        EXP^ IS NEGATIVE
    TERM 7/x FAILS
FALSE; f IS NOT POLYNOMIAL FUNC
dawn ledge
nimble quail
#

see this? this is concise. and sexy

nimble quail
dawn ledge
valid jetty
#

plain text code is unreadable for me

dawn ledge
valid jetty
#

thank ouu

dawn ledge
#

hl breaks halfway through after raw strings

valid jetty
#

lmao horror

#

let me put it in zed

nimble quail
#

maybe explode in hellfire

#

it's in a thing it won't do the big text

#

stupid automaton

dawn ledge
#

the # is for macros

valid jetty
dawn ledge
#

yes

#

i have been too borrow-checker pilled

#

cant live without

nimble quail
#

what the hell is a borrow checker

#

am i too python-pilled to comprehend this

dawn ledge
#

like i can do manual mem management no problem
but i like the convenience of not having to maintain a mental model of the memory flow

dawn ledge
visual shellBOT
valid jetty
nimble quail
dawn ledge
#

i was just putting it there so i remember that ()s are valid tokens for delimiting expressions

#

(i am kinda stupid)

valid jetty
#

ok no basically @nimble quail instead of something like C where you manually manage the ownership of memory

#

or java where you never manage the ownership of memory (gc)

#

in rust memory's ownership is predictably passed around

dawn ledge
#

||and is a pain in the ass||

#

i might make the borrow checker optional

nimble quail
#

memory ownership by a program/thread?

valid jetty
#

because someone needs to but only 1 thing can

dawn ledge
#

in manual memoory management
you, as the developer have the responsibility to allocate and free memory accordingly
in a borrow-checker system the compiler uses rules and heurestics to determine when an allocated memory is to be freed

#

and you as the developer only have to nudge it a little

#

i swear just a little

nimble quail
#

but so long as you're aware of the rules and heuristics. you can predict its behavior and work with it, right?

#

in theory. right?

dawn ledge
# dawn ledge

currently writing a revised version that isnt a balant copy of rust

valid jetty
#

please ?? punctuation

#

orelse feels cursed

nimble quail
#

orelse???

#

that's just... else, right?

dawn ledge
#

stole that one from zig

valid jetty
#

also does this imply you want to break the C abi?

dawn ledge
#

wdym

valid jetty
#

elle doesnt need extern C because it directly interfaces with C

#

all elle code is usable from C

#

having extern C means you want to make changes which breaks that

dawn ledge
#

the entire extern and unsafe part is very much a draft

valid jetty
#

i see

dawn ledge
#

might not necessarily be just for C

#

maybe some other abi

valid jetty
#

idk

#

C++ has that because it does name mangling

#

rust has that because they have their own abi

dawn ledge
#

isnt rust abi solely because of monomorphisation issues

valid jetty
#

yes lol

dawn ledge
#

or atleast the reason why its unstable

valid jetty
#

and no variadics

dawn ledge
#

i want varargs

#

they are nice

valid jetty
#

yeah

#

elle has the same problem as c++ which is that you cant use an external generic function

#

because how do you compile a type T into an object file

nimble quail
#

is a vararg like passing a variable as an arg for a function?
i.e.
rnd(variable)

dawn ledge
#

pull a swift, resolve genrics at runtime :^)

valid jetty
#

nope its variable number of args

nimble quail
#

oh what the fuck

valid jetty
#

like, foo(1) and foo(1, 2) and foo(1, 2, 3)

nimble quail
#

WHAT

dawn ledge
#

its like the *args in python

valid jetty
#

rust doesnt have that, only available via macros

nimble quail
#

ARBITRARY?

#

insane

valid jetty
#

thats a really common language feature lol

dawn ledge
#

lc.gemini write a function in python using *args, only the code, dont explain

visual shellBOT
# dawn ledge lc.gemini write a function in python using *args, only the code, dont explain
write a function in python using *args, only the…
def process_arguments(*args):
    """
    Processes an arbitrary number of arguments.
    """
    # You can implement your logic here to work with the *args tuple
    for arg in args:
        print(f"Argument: {arg}")

if __name__ == '__main__':
    process_arguments(1, "hello", 3.14, True)
    process_arguments("a", "b", "c")
    process_arguments()
valid jetty
#

C has a really shitty way to do it

#

like really shitty

nimble quail
#

i haven't found a need for this but i'll keep it in mind

dawn ledge
#

(i dont)

nimble quail
#

kinda just learning things as i need them

dawn ledge
#

thats what we all do dont we

nimble quail
#

i started my star navigator project with little code experience. it has taught me a lot about programming

valid jetty
#
int sum(int count, ...) {
    va_list args;
    va_start(args, count);

    int total = 0;
    for (int i = 0; i < count; i++) {
        total += va_arg(args, int);
    }

    va_end(args);
    return total;
}
int main() {
    printf("%d\n", sum(5, 1, 2, 3, 4, 5);
    return 0;
}

you have no way to get the number of arguments so you have to pass them to the function lol

dawn ledge
#

fortunately we have better ways to do thsi

#

ElleMeta!

valid jetty
#

elle way

fn sum(ElleMeta meta, ...args) {
    total := 0;

    for i in 0..meta.arity {
        total += args.yield(i32);
    }

    return total;
}
fn main() {
    $println(sum(1, 2, 3, 4, 5);
}
``` loveeee runtime function call introspection
dawn ledge
#

this is a really good api design

#

i quite like it

nimble quail
#

is an SQLite table good for storing save game data, or are there better systems for this
in a game where multiplayer doesn't exist (so cheating doesn't matter)

valid jetty
#

tbh it would have been better to put arity inside of args in some way but there are cases when you want arity without vargargs so idk

#

and args also doesnt really exist

dawn ledge
#

sqlite is definitely great, its like the best embedded and minimal database

valid jetty
#

better than a csv file or something

dawn ledge
#

dont be valve, dont roll out your own shitty json dialect

nimble quail
#

at first for a smaller project i tried using a text file and using the line numbers for their index.

and it worked but man did it suck

dawn ledge
# dawn ledge dont be valve, dont roll out your own shitty json dialect

Special thanks to Displate for sponsoring the video!
Discount code: SAVEWALLSFROMSADNESS
Discount link: https://displate.com/f4mi

This is the story of a txt file, and how it almost ruined Team Fortress 2's economy, a few times over. No, really, this is a 17 minutes video about a txt file. This is not clickbait, this is straight up what the vide...

▶ Play video
elder scaffold
#

depends on what you wanna save

dawn ledge
#

sqlite has minimal overhead and gives you leeway for future additions

lavish frigate
#

make your own binary format :^)

nimble quail
#

i wrote a basic table manager for python to store and sort my characters
it was a good exercise in working with sqlite

#

it has a terrible search function but it does work

dawn ledge
nimble quail
#

binary format?

lavish frigate
#

i mean most games just use a binary format

valid jetty
#

@dawn ledge do you love how printf finds the number of arguments based on the number of format arguments in the fmt string

#

because theres no other way to do it

nimble quail
#

what do you mean "your own binary format"

lavish frigate
dawn ledge
#

writting a db helps you understand how dbs work and with that knowledge if you use a real db you'll have cool ways to optimize your app

nimble quail
#

writing a db sounds interesting and fun but not right now

dawn ledge
nimble quail
#

but i'll keep it in mind

#

i did have something of a db going but it used text files

lavish frigate
dawn ledge
#

nah its fine

nimble quail
#

i understand what you mean

lavish frigate
#

but sql just isnt the best for storing game data

nimble quail
#

i mean yeah. but it is good at storing data

dawn ledge
#

debatable

nimble quail
#

y'all know Uplink/Onlink?

#

Uplink uses an SQL table for its savegame data and it works fine

dawn ledge
#

(in the end you're probably gonna be putting json into the columns LOL)

nimble quail
lavish frigate
# dawn ledge debatable

a lot of overhead for minimal value, if you have a bunch of upgrades storing bools in an upgrade table is stupid also stupid if you just store a json array lol

velvet fog
valid jetty
elder scaffold
# nimble quail

but if you just have to store that type of data why not just store it in json

lavish frigate
#

not just storing data

nimble quail
#

is it worth it?

lavish frigate
#

thats also why you dont store files in sql

nimble quail
#

it's not storing FILES, it's just storing data
numbers, strings, that kinda stuff

#

i don't expect to store images in an SQL table

lavish frigate
#

im explaining what sql is good for

nimble quail
#

you could store an image. if you're brave

#

just convert it to text and back

#

surely nothing terrible will happen

hazy pine
#

its possible with data uris

lavish frigate
# lavish frigate idk how to explain it

basically if you have a binary save file, you as the developer know exactly how its laid out
so imagine you reserve the first 11 bytes for a character name, then upgrade1, upgrade2, upgrade3 (storing them as boolean values so 0 or 1) and then some currency (coins i guess?) as a 64 bit int it would look roughly like this

elder scaffold
lavish frigate
#
  1. the bytes for the name
  2. first upgrade
  3. second upgrade
  4. third upgrade
  5. the integer
    etc.
dawn ledge
lavish frigate
#

hxd my beloved

elder scaffold
dawn ledge
#

pro tip, whenever you write a binary format ALWAYS, i repeat ALWAYS, make sure to reserve bytes for version

dawn ledge
dawn ledge
lavish frigate
dawn ledge
#

this is what formats do

hoary sluice
#

@valid jetty no matter what i always go back to kde

lavish frigate
#

or that

#

sure

dawn ledge
lavish frigate
#

your biggest enemy with binary is variable length, have fun storing arrays

dawn ledge
#

if youre like sending this over the wire reserving extra bytes is kinda suck

hoary sluice
dawn ledge
#

hop on hyprland

hoary sluice
#

you have to do so much work to get anythin gto work

hoary sluice
#

hyprland has the same issue just on a smaller scale

lavish frigate
#

for an offiline game both methods are fine though

dawn ledge
#

thw solution is to never configure

pseudo sierra
dawn ledge
#

rock default config

lavish frigate
#

the solution is to use windows

hoary sluice
#

wrong reply

dawn ledge
valid jetty
winged mantle
valid jetty
#

this is so cool 😭

#

omg

dawn ledge
lavish frigate
#

all formats are binary...

#

its all binary??

dawn ledge
#

true...

#

always has been

valid jetty
#

i will write the first enby file format

dawn ledge
#

i cant decide whether i want lifetimes or not
if i do idk how to do them without screaming rust

#

i need more minimalism

winged mantle
dawn ledge
#

can never be minimalistic enough

winged mantle
dawn ledge
#

one of these days im gonna strip away all gui and live in the tty

dawn ledge
#

winged mantle
#

do you call std::shared_ptr gc

dawn ledge
#

ong i though you were mantika cause of the duke

elder scaffold
#

make it so nothing is ever removed from memory

dawn ledge
winged mantle
dawn ledge
#

forever

winged mantle
#

dsrghxiufio8aegsiuhd978egs^YIUSET ^&*(Gy78diughx

lavish frigate
#

make it so you dont ever store anything in memory in the first place

winged mantle
#

the kode tode

elder scaffold
lavish frigate
dawn ledge
#

unless im interacting with them every other minute

pseudo sierra
#

I pretty much exclusively go off of pfp trolley

winged mantle
#

imagine if you see somebody you think is mantika

dawn ledge
#

i used to recognize people off of their usernames but ever since pomelo every turned into random things and i cant recognize half of my friend list now

winged mantle
#

and you see she/it in profil

elder scaffold
dawn ledge
#

sorry kode, confusing people with mantika is indeed a great sin

winged mantle
#

i don't actually have she/it in my profil,e

valid jetty
# dawn ledge i cant decide whether i want lifetimes or not if i do idk how to do them without...

imo you only really have 5 choices

  • manual memory management (what you will probably do when first starting to make the language, ownership hell)
  • garbage collection (can be made relatively easily out of manual, worse perf than manual, not a bad option for cleaner syntax)
  • arena allocation (there is one global allocator which has everything allocated into it, the developer can choose to make new arena allocators, put things in them and free them all at once, etc)
  • reference counting (same as gc in terms that it can be made easily out of manual mm, potentially less bloat than a gc, might be worse for the developer, slightly worse perf, slightly worse code)
  • borrow checking (same perf as manual, HORRIBLE to write for the developer, if written correctly will look almost as clean as a gc ((once you get rid of all the compilation errors)))
elder scaffold
#

or

  • dont store anything
  • dont bother removing anything from memory
dawn ledge
#

yeah im leaning towards going from manual to borrow checking slowly

winged mantle
#

why not create a language based on a combination of sql php and assembly

valid jetty
#

manual memory management + no freeing ever

dawn ledge
#

i dont wanna force a single allocator like arena, cause i want the apis to be allocator agnostic similar to zig

valid jetty
#

elle has custom allocator support too yeah

dawn ledge
#

ref counting is just gc in denial

valid jetty
#

not really

#

at least if it’s manual ref counting

#

if you’ve ever seen objc code it’s full of [obj retain] [obj release]

dawn ledge
#

😭

#

i can actually not read obj c at all

nimble quail
#

isn't c's thing that it doesnt use objects. or am i misremembering

dawn ledge
#

objective c is apple's C

elder scaffold
valid jetty
#

structs are basically objects lol

dawn ledge
#

yeah

#

but the obj c in this context is https://en.wikipedia.org/wiki/Objective-C

Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP, Ob...

nimble quail
#

OH ok

valid jetty
#

tbf objc doesn’t need retain release anymore because it has automatic reference counting

#

the retain release are inserted for you by the compiler

nimble quail
#

wrote some python on linux and then it failed to run on windows. for reasons i couldn't comprehend
i refuse to make support for macos in anything i write

#

supporting two os's is enough

dawn ledge
#

you dont have to worry about os support on python unless youre doing something os specific

nimble quail
#

tell that to my program that works on linux but doesn't on windows

winged mantle
#

what does your program do

valid jetty
#

also macos is unix compliant, if anything it’s more likely to run on macos than windows

nimble quail
#

i tried to set up multithreading
the part i was trying to multithread makes a metric fuckton of objects and it took a while

#

so i wanted to split it up

jade stone
#

does python even do multithreading?

nimble quail
#

it has a library for it

winged mantle
#

can you write postgres fuinctions in c?

valid jetty
#

import threading blobcatcozystars

pseudo sierra
#

if you're getting into multithreadding in python you want to reconsider your language choices

winged mantle
#

awesome

dawn ledge
#

rosie
im thinking of merging union and enum syntax

union Foo {
  Bar(u8) // becomes a tagged union aka enum
}

// normal union
union Baz {
  a: [u8; 4]
  b: u64
}
nimble quail
#

i could make the data but for whatever reason it wasn't collecting the data it made

#

i knew it was making the data because it would occupy a massive chunk of my RAM

#

wasn't collecting it in the way i wanted, anyway

valid jetty
supple whale
#

and its magically multithreaded

dawn ledge
#

golang

supple whale
#

rust probs has that too

dawn ledge
#

idts

pseudo sierra
#

ish

nimble quail
#

does threading work in gdscript

dawn ledge
#

i HATE the distinction of unix and posix
make them one bro i cba to remember what goes where

valid jetty
nimble quail
#

supposedly threading is supported in godot but there's a difference between it working well and working but sucking

valid jetty
elder scaffold
#

why would you need to do multithreading in godot

nimble quail
#

world generation

dawn ledge
#

those are 2 different unions

nimble quail
#

basically im trying to procedurally generate a small galaxy

#

and each of those stars and the things orbitting them are meant to be interactable

elder scaffold
dawn ledge
#

starfield by vencord member

pseudo sierra
#

I looked it up cuz it started to bother me and macos is unix v3 compliant but not unix v7 compliant and it's for the most part posix compliant (and uses zsh as the default shell which is posix compliant)

nimble quail
elder scaffold
nimble quail
#

i just want points in space with simple sprites and some info attached to them

#

it's just that there are a LOT of them

#

i think i got to around 2 million objects on python before running out of RAM

dawn ledge
nimble quail
dawn ledge
#

i assume thats what you meant by not chaning the syntax completely

spark ridge
valid jetty
#

@dawn ledge

nimble quail
valid jetty
#

implement

dawn ledge
#

😭

elder scaffold
dawn ledge
#

ia m not writing brainrot lang

nimble quail
spark ridge
nimble quail
valid jetty
spark ridge
valid jetty
#

yes lol

nimble quail
#

i'm thinking i generate all the ones with stations and interactables on startup, then load the useless or less interesting ones by chunk

valid jetty
dawn ledge
#

kinda funny that all my software i use is not my native lang and rather english

valid jetty
#

oh you replied

spark ridge
#

thx
i replied too lol

nimble quail
spark ridge
dawn ledge
#

hold up i got something

dawn ledge
valid jetty
spark ridge
# valid jetty sure!!!

ask me on dm or on this guild and I'll answer

it might take me a while to answer because of the time difference

spark ridge
nimble quail
#

is learning another programming language easier once you've learned one?

valid jetty
valid jetty
nimble quail
#

ok good

nimble quail
dawn ledge
#

there are some languages that are easier to learn depending on what you already know

valid jetty
#

once you learn 3+ you realize there’s a huge pattern and that’s when you know you’ve learnt programming in general and not programming in a specific language

#

because there is a big difference

nimble quail
#

javascript feels a little... silly

pseudo sierra
#

correct

lavish frigate
#

try except sucks so much

dawn ledge
#

cjk languages are pretty close so if you learn one learning others will be relatively easy compared to like starting off from english

lavish frigate
#

one of the worst inventions in programming history

nimble quail
nimble quail
lavish frigate
#

"yeah let me just throw and exception and hope to god something up above catches it 🙏 " statements dreamed up by the utterly derranged

dawn ledge
#

chole likes writing match for every function call ||/j||

valid jetty
spark ridge
valid jetty
#

japanese is just different to english, but it’s not hard once you understand the patterns, java just sucks

nimble quail
lavish frigate
# nimble quail why? /gen

its very unintuitive, it teaches you bad habits, but basically it quite literally is just "i hope something up above catches my exception", it doesnt make any sense

#

at all enterprise level code i worked on we just didnt care about exceptions, something throws an exception? try catch is fucking ugly, just make the global exception handler do shit

nimble quail
#

try/except definitely doesn't seem necessary

#

i have worked without it

lavish frigate
spark ridge
dawn ledge
#

i imagined the most horrible api ever
println returning an error and having to handle it

lavish frigate
#

rust results are a good alternative, they try to make you handle every single exception case

nimble quail
nimble quail
#

catching unexpected behavior/input without crashing

elder scaffold
#

Error#getError() has a 20% chance to error

nimble quail
#

e.g. taking an input, checking if it's the right type before trying to use it

valid jetty
nimble quail
#

let me grab an example of what i mean

valid jetty
dawn ledge
#

go "tries" to make this better by the if err != nil for every fallible call but that too ends up as a return err
analogus to catching and rethrowing

spark ridge
valid jetty
#

there is no “good” way to do error handling

dawn ledge
valid jetty
#

i love the way element does errors but maybe that’s just me

dawn ledge
#

love zig
love making vtables manually

nimble quail
valid jetty
elder scaffold
#

what if python but negative tabs

    if ...:
  if ...:
...
dawn ledge
#

python users have made every horror possible with python

#

even python with braces

elder scaffold
#

bython

valid jetty
spark ridge
dawn ledge
#

yes

valid jetty
#

do you love

関数 メイン()『
    整数 値 = 乗算(
        加算(
            乗算(13、2)、
            減算(23、10)
        )、
        乗算(5、2)
    )。

    整数 ミクの数 = 除算(値、剰余(100、90))。
    プリント(「%d\n」、ミクの数)。
』
elder scaffold
dawn ledge
#

that is one visual basic looking ahh translation

spark ridge
valid jetty
#

lol i’ve been learning for a little while now

#

there’s a lot you can do with time and a dictionary

dawn ledge
#

jp spreads far and wide
too many weebs around :^) /lh

#

oh damn zig has exactly what i wasn trying to do

valid jetty
#

i swear zig and odin have EVERYTHING

#

and jai

nimble quail
#
secSinceMidnight = None
while secSinceMidnight is None:
    try:
        secSinceMidnight = int(input('Enter time in seconds since midnight: \n'))
    except:
        print('INVALID VALUE; TRY AGAIN\n')

trying to rewrite this to suck less and also not need try/except
i do still want to catch invalid inputs though
i'm thinking i keep the while none loop intact but instead of try/excepting i use an if to check the type and only let it break when i get what i want
thoughts?

spark ridge
lavish frigate
#

for how rust does error handling

#

ps: code wont run

#

borrow checker moment

spark ridge
valid jetty
lavish frigate
#

right

#

if you have a question mark at the end you just pass through the error if there is one

nimble quail
lavish frigate
#

though your functions return type must also match

valid jetty
valid jetty
dawn ledge
valid jetty
#

if you return an Option and you have a Result and you use ? the operator would return a Result even though the function returns Option

#

it just doesn’t make any sense

lavish frigate
wheat kernel
frosty obsidian
#

windows >>>

wheat kernel
#

keep linux to servers and android

valid jetty
dawn ledge
#

i meant if you have func_a -> Result<(), Foo> and func_b -> Result<(), Bar> you can use func_a()? in func_b if Bar implements From<Foo>

lavish frigate
#

yeah exactly but thats tedious

frosty obsidian
#

linux doesn't even have ads built in, so lame

wheat kernel
#

ikr i need something to complain abt

dawn ledge
wheat kernel
#

whats the point othjerwise

dawn ledge
#

more haters than lovers (0)

wheat kernel
spark ridge
frosty obsidian
#

linux lets me use my pc but windows makes me feel alive

nimble quail
dawn ledge
#

i dont wanna know

wheat kernel
#

❤️

#

ru gonna dual boot ur new laptop

dawn ledge
#

no

wheat kernel
#

wtf bros staying on win

dawn ledge
#

i am not on a laptop

nimble quail
#

laptop gaming

lavish frigate
#

use my options 👹

dawn ledge
#

my laptop (which was my primary device) is waiting for me to get it a new charger

#

and im desperately waiting to move back to linux

valid jetty
#

@dawn ledge one feature that i wanted to implement (but i dont know how) is runtime type-based contracts for function signatures

fn add(0 <= i32 <= 5 x, 500 <= i32 y) {
    return x + y;
}

fn main() {
    add(1, 600); // success
    add(-1, 500); // ERROR: x's contract `0 <= i32 <= 5` was not upheld
}
``` maybe you wanna try to implement it?
dawn ledge
#

comptime?

spark ridge
valid jetty
#

runtime, otherwise it means the function itself must also be constexpr

lavish frigate
valid jetty
dawn ledge
#

this feels like syntax sugar for just
fn add(i64 x, i32 y) { if 0 > x || x > 5 { throw error } }

valid jetty
lavish frigate
valid jetty
lavish frigate
#

it was horrible realising js cannot pass values by reference

lavish frigate
#

see

valid jetty
#

lmaooo

hoary sluice
#

me when i update my qml file, clean, rebuild, delete build dir, reboot and it still doesnt update the ui

valid jetty
#

oh

#

i see

lavish frigate
#

you create a ref which is a proxy and yea 😭

#

typescript doesnt have macros!!! annoying!

dawn ledge
#

chloe when
when
when
not writing insane code

valid jetty
#

yeah you cant even do this

lavish frigate
valid jetty
#

same

#

@lavish frigate blobcatcozystars ```ts

function callableArray<T>(...array: T[]) {
const _closure: (index: number) => T = (() => {}) as any;
const typedClosure = _closure as unknown as typeof _closure & typeof array;

array.toString = function() {
    return `[${array.map(element => JSON.stringify(element, null, 2))}]`;
}

const proxy = new Proxy(typedClosure, {
    get(_, prop: string, __) {
        return !isNaN(+prop) ? array[+prop] : Reflect.get(array, prop, array);
    },

    set(_, prop: string, handler) {
        !isNaN(+prop) && (array[+prop] = handler)
        return true;
    },

    apply(_, __, [index]) {
        if (typeof index === 'number') {
            return array[index];
        }

        return null;
    }
});

return proxy;

}

const arr = callableArray("a", "b", "c");
console.log(arr[0] === arr(0)); // true

dawn ledge
spark ridge
#

i'll sleep
good night bros

valid jetty
#

gn !!

lavish frigate
hoary sluice
#

nah this is actually crazy

dawn ledge
lavish frigate
#

MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 101 POPOUT_SHOW listeners added. Use emitter.setMaxListeners() to increase limit

lavish frigate
dawn ledge
hoary sluice
#

i did everything stack overflow and claude said and everything you could possibly do

  1. verify i changed the right file
  2. make the build depend on qml files in .pro file
  3. clean & rebuild
  4. delete build dir
  5. delete any cached files
  6. reboot
  7. add engine.clearComponentCache();
    IT STILL DOES NOT REFLECT MY CHANGES
lavish frigate
#

have you tried using claude + chatgpt + gemini + deepseek together

hoary sluice
#

qt is awesome sometimes but feels like 1970 most of the time

hoary sluice
#

i could be on haikuos itd be the same

lavish frigate
valid jetty
hoary sluice
#

also have fun doing Qt on macos i think youre gonna have a really hard time

lavish frigate
#

ah!

#

qt is funny

#

i made a project on my windows desktop everything worked perfectly fine

#

i transfered it to my old surface

#

and it just constantly segfaulted there

#

0 code changes

hoary sluice
#

I FIXED IT

lavish frigate
#

the joy in that message transcends the internet and screen barrier

hoary sluice
#

i had to grab the qml directly from the file system to make it reload at all

    #ifdef QT_DEBUG
        const QString qmlPath = QCoreApplication::applicationDirPath() + "/../../qml/Main.qml";
        engine.load(QUrl::fromLocalFile(qmlPath));
    #else
        engine.load(QUrl("qrc:/qml/Main.qml"));
    #endif
#

also for the record idk if theres a method to append to dir path you have to append /path not just path because its direct string manipulation

dawn ledge
#

@valid jetty i feel like im getting somewhere with the non-rustification

#

that was insanely rude and offensize @solid gazelle smh ||/j||

lavish frigate
#

@solid gazelle

solid gazelle
#

:)

valid jetty
lavish frigate
valid jetty
dawn ledge
valid jetty
hazy pine
#

ive tried rust a little and honestly i dont get the appeal

dawn ledge
lavish frigate
lavish frigate
dawn ledge
#

💔

valid jetty
valid jetty
dawn ledge
#

will see

solid gazelle
elder scaffold
dawn ledge
#

this is like the best thing zig has
it makes bitsets so much more egonomic

valid jetty
#

@dawn ledge add this feature

fn foo(x: i32) -> i32 {
    if x == 1 {
        panic!("i HATE the number 1");
    }

    x
}

fn main() {
    foo(1);
    foo(3);
}

this code wont actually compile, youll get this error

ERRROR: main.ha:3:9
It looks like you used "panic!" in your code. 

Are you okay? How are you feeling? Are you feeling stressed? Do you wanna talk about it? 

I'm here for you 💖
jade stone
#

@valid jetty add cargo-mommy to elle

dawn ledge
#

maybe a compiler config for that

dawn ledge
valid jetty
#

yeah they are

#

implementing them into your compiler though.................

hazy pine
#

whats the use

lavish frigate
dawn ledge
#

elle-mommy

lavish frigate
#

to make it not rust like instead make it INSULT you

valid jetty
#

do you need another reason

hazy pine
#

honestly

#

based

lavish frigate
valid jetty
#

YEARS of char x[28] yet no real use found

hoary sluice
dawn ledge
#

make a new branch and push broken commits

#

what i would do is make a new file for the new implementation and slowly stub it out

// a.rs
fn foo() { ... /* old code */ }
fn bar() { ... /* old code */ }

// a_new.rs
fn foo() { ... /* new code */ }

// a.rs (again)
fn foo() { a_new::foo() }
hoary sluice
dawn ledge
#

or do it in the same file

#
// a.rs
fn foo() { new::foo() }
fn bar() { ... /* old code */ }

mod new {
  fn foo() { ... /* new code */ }
}
hoary sluice
#

thats more horror than pushing a broken commit

dawn ledge
#

idk what language youre using

dawn ledge
hoary sluice
#

#ifdef RETARDED

dawn ledge
#

this is how its done

#

alright fuck off

hoary sluice
valid jetty
hoary sluice
#

@valid jetty theyre killing cve

median root
#

I swear they changed that last min

hoary sluice
#

elon is taking down cve

#

this is a good thing

#

the usa will collapse

#

in sha Allah

supple whale
#

gj discord, you forgot to implement game invites!

valid jetty
hoary sluice
balmy lintel
#

i think thats under apps

#

lol

supple whale
#

nope it aint

#

oh great, the name field for RPC is no longer modififable?

#

so now, only oauth activities can change the name dynamically

#

awfull

shrewd canopy
#

I think you can through gw, although it breaks some stuff

valid jetty
deep mulch
#

@valid jetty hiii

#

one day Elle will have millions of haters

valid jetty
#

there are so many issues with it that i could see that happening

valid jetty
#

we are SO back

dawn ledge
#

what would the most basic language look like
i mean no abstractions types or whatever
what is like the core for any language

#

arithmetic and function calls?

#

hmm ig jumps too

fleet cedar
nimble bone
#

Elle in C

dawn ledge
valid jetty
#

if youre making a procedural and not functional language

lavish frigate
valid jetty
#

i added a few more important ones but i THINK this is as far as i will be going...

#

the one for monomorphized generic fn Foo::x<i32>(i32 x) -> i32 is funny because i got it completely for free lol

#

like i just added info for function calls and this just works out of the box

native spruce
#

worst thing ever

deep mulch
#

pleasee do like kdoc blobcatcozy

deep mulch
#

do you eat crayons

valid jetty
#

yes

#

open the website

balmy lintel
vast mesa
vast mesa
#

If you see this as a scam link, don't use it.

vague dew
#

okie dokie ch_yes

#

ill wait for it to be verified or whatever

nimble bone
#

i'm deleting this

  • this will inevitably break quickly
  • just get used to the old UI
  • shady domain (why would anyone load CSS from some random domain)
  • here isn't the place
royal nymph