#RedditLang ( PHL )
1 messages · Page 2 of 1
You don’t have rust STD installed
I’ll send the command when I get home in like five minutes
@unreal obsidian run rustup toolchain list
and rustup component list --installed
then send output
oh ur on windows
run cargo clean in the project dir
Then?
try cargo b again
Same
hmm
Exact same thing
Ah, I'll go to school to take exams first, I'll solve it when I get back
ill do some intense googling
I will make a nightmare of a fork in honor of this denial
@hot verge I uninstalled rust and reinstalled the entire toolchain, but it returned a compilation error
Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Running `target\debug\redditlang.exe`
--> 38:29
|
38 | callmeonmycellphone cooK(x) {
| ^
|
= expected FunctionArgs
Oh
Wait
That's the actual program running?
Ok
Created pr, do I pr to main or dev?
i change that no to god please no
one sec let me make dev
( the answer is dev )
Too late i pred to main
I'll close it then create a new one
Hmm i can't find dev
git kekw
I want to die
ok merging if i can login to gh
creating pr
sees 'dev'
i should pr to dev
prs to main automatically anyways
I now have 1 more pr under my belt
u are aware
its trivial to change target branch
how
gh cli
That's possible?
yes
It didn't give me the option
when you make pr accross forks
So i closed and new
set base:main to base:dev
Yes, i know
But by the time i realised i clicked main instead of dev, i already opened it
You can't really change it once it's been opened, right?
double kill
Yes
My spec writing was terrible
I just pushed more LLVM
use RedditLang today
redditlang hello world works
Compiles to llvm then use gcc to link the standard library
And boom redditlang is .9% functional
what the hell
Yes the hell
Redditlang -> lexer -> parser -> inkwell -> LLVM IR -> object file ( llc with inkwell ) -> gcc+libstd.so -> executable
?
does llvm not link
calls are done for llvm-dev branch
will merge to dev and delete llvm-dev tomorrow
then I'll merge to main
I placed redditlang as the template lang for the submission template in #1122515833223123045
YAY
I haven't been following so like what's the current state of the lang?
Also @blissful nymph go to sleep I have never seen you offline
my pc is always online
cuz im too lazy to close the tab
He could be invis
Maybe
we have LLVM 1% done
it can compile to an executable
( with gcc )
and im working on the walter cli
Where do i start with the docs?
Rewriting the specifications?
yes
Damn
read the grammar.pest file
I'll start tomorrow afternoon (school)
Huh?
but most of it is the same
Are you sure the current code is not outdated?
Ok
grammar.pest is the actual language syntax
I think it'd be fun to write some things in a language you created
that is 100% up to date
Huh?
very bottom
Standard library
it says that
Standard library
The standard library is imported by default. No need to add it manually. If you for some reason want too, weneed "std/[module]"
Standard Library Modules
- io
- time
- sys
IO Functions
coitusinterruptus
standard print function
Signaturecoitusinterruptus(text damn String)pulloutnt
standard readline function
SignatureString pulloutnt()
Reads a line from stdin and returns it with no newline at the end
Sys functions
exit
standard exit function
Signature:(code damn Number)
Time Functions
zzzstandard sleep function Signaturecall zzz(timeMs damn Number)Stops the current thread fortimeMsseconds
i just pasted it
Is the weneed thing an actual module system
Or just a c copy and paste?
you just use them
So it's a copy and paste?
but thats only standard library
for other things you weneed "path/to/file.rl" or weneed "ModuleName"
all files besides main.rl must have subreddit r/name
I feel worse for you, since you need to write the stl
And that'll probably require using the operatrs
subreddit r/ProgammerHumor
# These statements have identical meanings
weneed "ProgrammerHumor"
bringme "memes.rl"
repeatdatshid {
}
sthu
debug bar callmeonmycellphone split damn String[](x damn String, splitter damn String,) {
}
call coitusinterruptus("Hello, World",)
test {} wall {}
shoot dang
bar meth value damn Number ∑ wat
value ∑ 70
value ∑ value - 1
is value ⅀ 69 {
} but value ⅀ 70 {
} isnt {
}
school Lab {
bar meth prop damn Number ∑ wat
callmeonmycellphone cooK() {
# Constructor
}
callmeonmycellphone snoRt() {
# Destructor
}
}
spez 80085
bar meth name damn a ∑ a[1]
#*
Multiline also works
*#
Does damn mean like a type?
i made it so abstract that you could change the grammar.pest and everything still works
yes
in like ts its the :
Oh
variable_name damn type
c 🤮
I agree, but i'm still more used to it than anything else
?
I just realised advanced role unlocks a channel
What have us intermediates and newbies been missing out on?
I was being arrogant and picked intermediate when i joined
Is that where you disappear off to when the server's seemingly dead?
A problem has appeared!
What language did you write the .pest file in?
It looks like a more programming languagey version of regex
Nevermind, it's pest
Need to learn a new dsl again
@hot verge Are loops statements or expressions?
@hot verge Do * s represent that it's optional?
@unreal obsidian loops are statements
OK
see pest.grammar it is inside of Statement = { ... }
repeatdatshid is a keyword
OK, I was asking for the keyword
?
oh in the grammar
Does the * here mean that it's an optional thing?
oh there, yeah
but in that case i changed the grammar
is this calls or functions @unreal obsidian
It's under document conventions
DECLARATION
<IDENT> damn <TYPE>, or
<IDENT>(Without type annotations)
Where type is<IDENT>(<IDENT*>)?where the paranthesised<IDENT>is a generic parameter. Everything in parantheses are optional and the list is separated and terminated by commas.
Example:
oh declarations
I noticed a trend in other parts of the docs, where things are optional
ohh types
ok yeah
MainType(Generic,Generic2...)
and the parenthises are optional
? means 1 or 0
* in this case should be a + ( 1 or infinite )
Then should I follow the C template syntax and use ... instead?
Also, is it an error where commas are required even when there's no further arguments?
Also, can you explain what modifiers are?
bar is pub
Like, debug prints all variables when they are mutated
But what other things are there?
Oh
only works in classes and top-level of non-main modules
So *s just represent ...s?
yes
but what does this mean precisely?
so
callmeonmycellphone a {
bar callmeonmycellphone b {
...
}
}
should error
0 or 1 of the preceeding token
like in this example its the ( and ) and its content
<IDENT>? means OPTIONAL ident
(<IDENT>...)? means list of <IDENT> inside of optional parentheses
?
Constructors?
wdym
brackets are not optional?
variables dont have brackets
classes do
brackets are only used in Block, see grammar.pest
Yea, but by adding brackets, it's calling a constructor
parenthases call constructor
Oh
So it's just calling a constructor?
call is an expression or a statement
OK
call as an expression is the return value
call as a statement calls and doesnt use return value
@hot verge Call is used to call a function, while callmeonmycellphone is used to define an argument, right?
Because the stress test feels like it's giving me mixed signals
Nevermind
callmeonmycellphone defines a function
Are try-catch blocks the same as every other language?
Syntactically, too, right?
test {} wall {}
I'll add a standard form to it, then
It's
test {
} wall ( <whatever exception> ) {
}
``` right?
How do you tell it what exception to catch, otherwise?
@hot verge
you dont
exceptions are anything
strings, variables, numbers, null
Yea, so how do you access the exception in case it's shot?
Do you just
Know that an exception occured?
So, it's just there to tell you something screwed up?
wait let me add that
@unreal obsidian Catch = { "wall" ~ Ident? ~ Block }
this is catch now
wall optional_ident {}
so
wall hi {} and
wall {}
are both valid
ima add it to the parser
Wait
You throw by value
You can't use an identifier, I think
You need to check by type instead
And you'll need to provide the ability to chain multiple catches
shoot SomeExpression
wall IdentWithValueOfSomeExpression
@unreal obsidian
test {} wall this_error {} wall that_error {}
added multiple
- Statement > TryCatch
- Try > Block: "{}"
- Catch
- Ident: "this_error"
- Block: "{}"
- Catch
- Ident: "that_error"
- Block: "{}"
- EOI: ""
AST is this
So it just catches it by value?
yes
yed
*yes
you can't throw a class
also why did I do chains?
you only get one
remove chains I need to aswell
@unreal obsidian
change values to expressions
- There shall only be one wall statement i would write - A try-catch is composed of one test and one wall
change standard test-wall form to Example:
otherwise its good
wait
the <EXPR> in the last code block should be <IDENT>
It's not an example, it's a standard form
It's there to show the syntax, and not to provide an example code
oh
These would be examples
This sort of things, I'll call standard forms
I guess?
What's the difference between weneed and bringme?
@hot verge
for the memes
RedditLang++ aka PHL++
Oh wait…we need to make a debloated fork named PHL—
And with debloated I mean: remove all features like “and” and print. You want to print or do anything normal? Code it yourself in redditlang dumbass
POV: MicroPython
The truncate function doesn’t even exist 😭
Anyways @hot verge this needs to happen
what did i just enter into
what war has been happening
Idk
2/3 hates windows, windows sucks
we have no and operator @hollow sigil
This
holy roller
ok i implemented the new try/catch @unreal obsidian
test {} wall optional_ident {}
where optional_ident is the value of the bullet
Walter do this shit
Walter is done
...almost
but its on gh so get it nowwwww
also it can only compile calls rn
and thats only half done
This is a level of efficiency that makes me question if you have a life
lmao
https://lists.llvm.org/pipermail/llvm-dev/2014-May/072668.html i hate people who say "fixed" with no explanation
especially on 9 year old forums
Initialising variables are not required, right @hot verge
? @unreal obsidian
You don't need to use meth <var> ∑ <expr>, right?
you have to @unreal obsidian
can be should be must
Oh
and remove the first one
and say "Uninitialized variables can use wat"
or something like that
suggestion: use crack to declare constants, which also increments or decrements a random variable
I'll leave them to figure it out themselves
suggestion: if a variable is uninitialized, it uses the same memory location as a random other variable
@hot verge possible solution: instead of break, use goto statements
?
nullptr + math random
remove loop statement and add goto
it's guaranteed to be an existing variable, you just don't know which one
......
works
proposal: elevator is goto
you add a number that specifies # of statements to move up to
it can be negative for down
or I could do labels
anyways just pushed loops to gh
also I have decided that walter and RedditLang are separate parts but same project ( walter is build tool RedditLang is compiler )
this has 0 effect on end users or developers, nothing should be changed
@unreal obsidian keep loop and break in the docs, I'll implement it somehow
Labels please
keyword vote for proposal:labels reply to this with ideas, start your message with proposal:labels to make this easily searchable
proposal:labels venue
The point of this is for the language to be horrible right? Elevator seems much worse than labels
Fuck you shouldn't have mentioned this
Consider tho, elevator working between functions
Or, between files altogether
RedditLang is meant to be a usable ( mostly ) language
Oh well if it's meant to be usable then elevator is a terrible idea
it should be able to transpile to C
and I have that half working
I have no idea how to implement elevator
It would have to like devide all positions referenced by elevator into thier own basic blocks
which in return will cause alot of subdivisions
If the number it moves is constant then the compiler could just replace it with the correct goto and labels
If it's adjustable at run time thennnnnn
Edit execution memory jump statements
jump statements don't work without basic block in llvm
the blocks would have to span the entire file
wait goto needs this too
elevator would need the entire AST to be passed to every parse function @cyan gale
and every compiler function
proposal:labels
sitdown
@hot verge this part is the typedef thing that you're removing, right?
So I'll just ignore this part and continue with the other primitives
@hot verge Numbers can store any value means it can only store ints, right?
Then what's the difference between it and decimal?
number = Int | Decimal
Oh
decimal must have fraction part
int is sign then numbers
decimal = Int ~ "." ~ UInt
Int = UnaryOperator? ~ UInt
uint is just ASCII_NUMBER
Oh
Do we really need to explain this, though?
no
So I'll just remove it?
just say number and uint
OR do I add it to confuse people?
uint is array indexes
array indexes can also be String
ie. props
no
Oh
Integers and floats are not types, right?
The only type is number?
@hot verge You can not use both ints and floats as types, right?
Oh
Gooodmorning
So I'll include int and floats under number, then add uint as a separate primitive?
yes
I managed to get my OG account back. I’m very happy. This will be a great day
Thanks sir 🎩
@exotic token @exotic token
@hot verge when will I be able to use RL?
And when will I be able to use RL++?
only loops and calls work atm
Installer.bin?
clone gh repo
I’ll wait until this language is kind of working
and run cargo r -r -- help
you'll get a complete working cli
only thing that needs work is compiler
And I don’t know rust so I can’t help 🙂
What I can do though is write an installer in python that may also be a Russian roulette in disguise. Why else would I need admin privileges? Windows I’m looking at you….
add -r to cook for release build
Okay
it goes in build/{debug or release}/projectname
@hot verge do you run iOS or android
ios
Same
17b3
yes
Was thinking about installing it
it's cool
But I’m afraid that my banking apps won’t be functional
And I can’t bother to downgrade since I dunno how to do it 🙂
everything worked fine for me
Then I just reboot my phone?
it should show 16 to downgrade
Oh ok
just update to it
I’ll put mine on update then
ok
Will be interesting to see if my banking apps gets fucked up
gl
alr bye
@hot verge https://ninja-build.org/manual.html#_build_statements This is the ninja syntax you mean, right?
ohh remove that
that was old stuff
also change walter cook <target> to just walter cook
remove default build target
and add "walter clean" to be remove build dir
also specify that walter.yml is
name: name
version: 0.69.320
they are both strings
also if you can, describe the project structure ( examples/project-structure on GH )
Why don't you just add a walter init command
So that I just have to explain walter.yml and that source code goes in the src folder
yeah do that
I'll move the example to its own repo
so I can clone then rm.git then git init for a new project
main.rl is the main build file, right?
If you have more than 1 src file, they are just compiled along, right?
grammar.pest doesn't have anything to do with the project itself, only the code syntax
yes
in theory but I haven't implemented multiple modules yet
@hot verge What's the version?
Then i'm done
woo!
PR is out
thank you!
Err, you might want to look through it to see if anything's missing
Wait no fuck
Contents page
oh yeah
ok
I set it as specs2 so that you can simply delete the specs then rename it later once you confirm the specs are good enough
merging to main
already did that
they are good
ok
I rearranged a few things, too to make more sense
it has been I forgot to change it in spec
My grammar.pest must be outdated
just updated my fork
Whoever wrote the spec can't spell.
"initialise"? really?
Also, why are code examples written in R? Don't you mean redditlang?
@hot verge
THAT'S YOUR FAULT!
yes, it works fine in my vscode
nope doesnt work
wait really?
time to make a pull request to markdown?
lmao
initialise is bri'ish english
cspell says no
imagine using english a version behind main
embrace tradition
@unreal obsidian did it
@pallid ridge we have recently had an update to the spec, you have written the GenZ spec, I am informing you that it is outdated, action is not required immediately
@hot verge I extracted the size information for numeric types into an annex at the bottom of the file
Is this good, or should I just revert this change?
The expanding one
Has the expanding size been removed?
This was what I meant
@hot verge
Did this change before I wrote the specs?
Damn, how could I have known that something that's so standard is outdated kekw
but keep the table and comment it
Huh?
i might add that back
Uints are still uints, right?
yes
also i was changing how numbers worked because rust's str.parse::<f64> doesnt support the crazy sign symbols that redditlang has
so it now has a sign as seperate token information
uints are u64?
u64, right?
uints are u64
im also changing how indexes work
IndexExpr = { Term ~ "[" ~ Index ~ "]" }
Index = { BinaryExpr | UInt | String | Ident | "(" ~ Index ~ ")" }```
wait not uint
Number
i forgor about fractional indexes
*forgot
Oh
Negatives?
oh
UNumber
wait syntax doesnt ever use UInt
im removing it
Number and UNumber
are the new ones
but they are both f64's
just error where they are used incorrectly
So if you try to store a negative number into a unumber, it throws?
yes
At this point, create a new floating point number that doesn't have a sign bit
You now have 1 more bit to put in the mantissa or exponent
syntax error if it is constant, compile if it is a constant variable, and runtime if it is a normal variable
uf64?
how does that even work
thats not a rust type
llvm has it though
but cant do it because parser cant hold a uf64 in a Number variant
@unreal obsidian
Number = ${ UnaryOperator? ~ UNumber }
UNumber = ${ (ASCII_DIGIT+ ~ ".")? ~ ASCII_DIGIT+ }
$ is atomic ( no whitespace ) but shows children nodes instead of just string
adding UUNumber, dont add it to the spec
@unreal obsidian
because UNumber can have an optional ( useless ) positive sign
UUNumber is just (ASCII_DIGIT+ ~ ".")? ~ ASCII_DIGIT+
I think it'd be better if we use a useless positive sign to denote it's an unumber
Because type annotations are optional
but that makes it strict?
UUNumber = @{ (ASCII_DIGIT+ ~ ".")? ~ ASCII_DIGIT+ }
Number = ${ UnaryOperator? ~ UUNumber }
UNumber = ${ Add? ~ UUNumber }
you are saying that a + denotes a type
Oh
pretend + is the weird Add symbol
and that a Number can only be make a UNumber from that +
therefore you need type annotations to specify a type
also types are just comments that should be static-checked
Oh
- Expr > Number
- UnaryOperator > Subtract: "–"
- UUNumber: "2.3"```
But only uunumbers can be used in array indexes?
this is better
*UNumbers
[+2.3] is fine
hence why i said dont document it
So unumber can have a + sign, uunumber is just the magnitude
UNumber can ONLY have a positive sign
Ok
Can't you call it magnitude instead, then?
Magnitude = @{ (ASCII_DIGIT+ ~ ".")? ~ ASCII_DIGIT+ }
Number = ${ UnaryOperator? ~ Magnitude }
UNumber = ${ Add? ~ Magnitude }
Nice
Hmm, but how are we supposed to tell if something is a unumber or a number
Is it just using the compiler?
you dont
Huh?
types are static analysis remember
Yes, but variables
Runtime may need them to be a number, but at compile time, it may not be clear
variables can only have 1 type?
??
i dont understand you
It depends when you declare a unumber
But if you declare a unumber because the initialiser is positive
Let's say there's this pseudo code
X = 1 // a uint is declared because 1 is positive
X = input() // insert some negative int here
Then it throws an error
Yea, but how does it tell that it's a unumber and not a number
Huh?
it depends on the case
-2 # Number
7 # Number
3.1415 # Number
a[3.3] # UNumber
a[-3] # UNumber
That feels cursed, seeing -3 being called unsigned
So only when it's in subscript is it a unumber?
oh wait
why did i do that
-2 # Number
7 # Number
3.1415 # Number
a[3.3] # UNumber
a[3] # UNumber
this is correct now
only in array index as of now
So it's just when it's in the subscript operator
So question
How do you declare a unumber?
Do you have to use explicit type annotation?
you cant
again, they are comments
Then how do you make sure they only pass positive numbers as array indices
it is a syntax error
Do you only take the magnitude?
Then how does the user make sure it doesn't?
Do they have to check if it's >0?
Or catch something?
they can do both
also not at compile time
ima pull a JS on this one so only at runtime @unreal obsidian
UNumber is only syntax
it gets converted to Term::Number in the AST
Sigh
i made my own number parser
Rule::Number => {
let mut inner = pair.into_inner();
let has_sign = inner.len() == 2;
let sign = if has_sign { inner.next() } else { None };
let is_negative = sign
.map(|x| match x.as_rule() {
Rule::Add => false,
Rule::Subtract => true,
_ => panic!(
"{}. Additional Information: INVALID_SIGN({:?})",
ERR_BUG,
x.as_rule()
),
})
.unwrap();
let magnitude: Number = inner.next().unwrap().as_str().parse().unwrap();
let value = if is_negative { -magnitude } else { magnitude };
Some(Self::Number(value))
}
now supports the irregular ops
@hot verge why do we have bitwise operators when we don't have ints?
Also, doubles lose precision as the magnitude increases
Rounding can also be problematic at large enough values because at some point, the difference between 2 adjacent numbers is >1
stop using string parsing
use regex like a man
I'm not a man I'm a web browser
this is an even more toy language than js
therefore we can do everything js does
yes
try 69.420 ^ Math.PI it works
What the fuck
The reason why the difference is so small I think is because they are of roughly equal magnitudes, thus the exponent is just slightly different
regarded
k
ill do something
Add native support for using jpegs as variable names
😭
?
My cat walked across my keyboard
everyone cargo install walter-redditlang. Command is walter when installed.
gonna add walter new soon
can we have a list type that's more like a stack? (similar to python iterators)
once you use a value it disappears, etc, etc.
I'm getting an error about llvm even after sudo apt install llvm.
show me
i put a thing on the repo if you got an llvm error
but this might be different @solemn dove
no, how do I get a newer version?
the newest is 16.x
but apt gives me 14.x
but inkwell doesnt support it yet so you need 15
OH
one sec
more specifically bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
@solemn dove
yw
.?
implement it yourself
for now
ok
but i could add that
Iterationering(A) maybe
it would be a "primitive"
should change that to built-in
This does not work.
W: GPG error: https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F
E: The repository 'https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
cinnamon mint
it is ubuntu
ohhh
i have never used mint
so it is based on jammy
deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main
deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main
run this
deb is not a command
oh wait
add this to apt sources
echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main" | sudo tee -a /etc/apt/sources.list
@solemn dove
that broke permissions on apt, lol
?
$ apt-get update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
🤦
lmao
still no signiture
?
W: GPG error: https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F
E: The repository 'https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
aaaaaaaa
ok 1 sec
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F
try this
then update again
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.pE1xygbnaO/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27
gpg: "1E9377A2BA9EF27" not a key ID: skipping
weird i copied that from this
ima try something brb
ok
go to additional repositories
doen
sudo apt install llvm-15 try this
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 26656 (synaWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 26656 (synaptic)
I'm sorry, I have to go
snap is always annoying
ok
yes
@solemn dove restart and run this when you come back
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt install libllvm-15-ocaml-dev libllvm15 llvm-15 llvm-15-dev llvm-15-doc llvm-15-examples llvm-15-runtime clang-15 clang-tools-15 clang-15-doc libclang-common-15-dev libclang-15-dev libclang1-15 clang-format-15 python3-clang-15 clangd-15 clang-tidy-15 libclang-rt-15-dev libpolly-15-dev libfuzzer-15-dev lldb-15 lld-15 libc++-15-dev libc++abi-15-dev libomp-15-dev libclc-15-dev libunwind-15-dev libmlir-15-dev mlir-15-tools libbolt-15-dev bolt-15 flang-15 libclang-rt-15-dev-wasm32 libclang-rt-15-dev-wasm64 libc++-15-dev-wasm32 libc++abi-15-dev-wasm32 libclang-rt-15-dev-wasm32 libclang-rt-15-dev-wasm64
it installs all the packages manually
thank you, all works now
yw
no
add a b to the 9 and it's fine
0.1.9b means doesn't work
why the bg isnt transparent
@hot verge put them in the repo
If you haven’t already
@hot verge has anyone created the vscode/code-oss extension yet?
Like intellisense?
?
Yeah
There are hundreds of community made extensions
That are intelkisense
I’ll try to make one I guess
And if I fail I’ll just get someone else to do it
@hot verge
I’ll also install redditlang so I have something to work with
cargo install walter-redditlang
thanks
cant find the repo btw
wdym
when i search fro redditlang on githb; 0 results
wha?
foudn it on your profile
show me
yeah I pinned it
ok
if it needs regex or stuff look at the vscode ext repo
I painstakingly wrote the regex for RedditLang
make an lsp
whats a lsp @pallid ridge
anyways im making a new file
sane_grammar.pest
it makes the code look normal
and no more copy-pasting operators
example sane code
if 2 - 2 {
call coitusinterruptus("1!",)
} else if 2 + 2 {
call coitusinterruptus("2!",)
}
SHOULD ONLY BE USED IN DEV, PRODUCTION WILL USE THE UNSANE VERSION
skill issue
write a transpiler
no
Make your own os in redditlang
Make redditlang in redditlang
redditlang will not be bootstrapped @unreal obsidian
technically possible
But it depends on rust, which means you first have to create the base in rust.
make redditlang bootstrapped for redditlang
redditlang will not be bootstrapped - chromium 2023
What if I bootstrapped it?
Hmm
Not saying I'l l do it
congratulations
@hot verge port redditlang to #1127693751041675335
hmmmmmmmmmmmmmmmmmm
it supports msdos executables
but not the ABI
Language Server Protocol documentation and specification page.
ooooooooohhhhhhhh
basically a standarized intellisense/extension
i thought it was a language
so you can use in any lsp compliant ide
wait no thats lisp
such as vim, neovim, emacs, sublime text, etc...
and as an emacs user
i need this amazing language
no
? @verbal patio
but you won't have syntax highlighting cuz he hasn't made a treesitter extension either
lua 🤮
i made a vscode extension
treesitter is how you do syntax higlighting without the weird regex of VSCode
and since vscode is best you will not have problem