Examine individual changes

Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to navigation Jump to search

This page allows you to examine the variables generated by the Abuse Filter for an individual change.

Variables generated for this change

VariableValue
Edit count of the user (user_editcount)
0
Name of the user account (user_name)
'Sporemint'
Age of the user account (user_age)
2179
Page ID (page_id)
0
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
'Bussin X'
Full page title (page_prefixedtitle)
'Bussin X'
Action (action)
'edit'
Edit summary/reason (summary)
'Bussin X'
Old content model (old_content_model)
''
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
''
New page wikitext, after the edit (new_wikitext)
''''Bussin X''' is an esoteric programming language written in TypeScript made by [https://github.com/face-hh face-hh] that uses Gen Z/Alpha syntax. Litty swagger tbh. (Currently showing Bussin X v1.6) There is also '''Bussin''', which is '''Bussin X''' without the funny syntax. ==Syntax== ===Variables=== Mutable variables are created with: lit x be 0 rn You can also create a constant variable: mf x be 0 rn '''Note''': You can only use `rn` on variables. ===Data Structures=== ====Strings==== Strings can be created with: lit x be "Hello, World!" rn You can also insert variables by using: lit x be 0 rn lit y be strcon("Hello, ", x) rn Or you can format your string to include variables: waffle(format("Hello, ${}", "World")) However, you must use your regional currency symbol. waffle(format("Hello, ${}", "World")) waffle(format("Hello, ¥{}", "World")) waffle(format("Hello, {}€", "World")) waffle(format("Hello, {}£", "World")) You can also use bussin's helper functions to simplify your experience: lit x be trim(" hello ") rn lit y be splitstr("Hello,World", ",") rn ====Numbers==== Numbers are simple: lit x be 34 rn lit y be 12 rn lit z be x minus y rn ====Null==== lit abc be fake rn ====Booleans==== Booleans are also simple: lit x be nocap rn lit y be cap rn ====Objects==== Objects are essential in programming languages. Bussin X supports them too: lit x be cap rn lit obj be { key: nocap, x } rn obj.key be cap waffle(obj.key) ====Arrays==== Arrays contain information without needing keys. Bussin X has them as well: lit arr be [ 1, 2, 3, 4 ] rn arr[1] = 5 waffle(arr) Arrays start at 0. ===Comments=== You can write comments like this: lit x be nocap rn // does stuff /* multi line */ ===Functions=== Functions in programming are intricate entities that serve as modular units of code designed to perform specific tasks with a high degree of abstraction and reusability. These multifaceted constructs encapsulate a series of instructions, often comprising algorithmic operations and logical conditions, which execute a well-defined purpose within a larger program. Functionality is delineated through a meticulously crafted signature, encompassing parameters and return types, allowing for parameterization and value transmission between the calling code and the function body. The complexity further burgeons as functions may exhibit a plethora of characteristics, including but not limited to recursion, closures, and the ability to manipulate variables within their designated scopes. Their utility extends beyond mere procedural decomposition, often intertwining with the paradigms of object-oriented, functional, or imperative programming, depending on the programming language employed. The orchestration of functions, with their nuanced interplay, results in the orchestration of intricate software systems, promoting maintainability, readability, and the efficient allocation of computational resources. In essence, functions epitomize the sophisticated essence of programming, embodying the elegance and subtlety required to navigate the intricacies of algorithmic design and software engineering. You can create functions by using: bruh perform(x, y) { x minus y } We, at Bussin X, think `return` statements are redundant. Instead, our superior functions return the last value emitted. bruh perform(x, y) { x plus y // will do nothing x minus y } You can also run the function after a specified timespan: hollup(bruh() { waffle("A second later...") }, 1000) And you can also make it run at an interval: yappacino(bruh() { waffle("Spam!!!") }, 1000) ===If statements=== If statements in Bussin X are very intuitive: sus (1 fr 1){ waffle("1 is 1") } impostor sus (1 nah 2){ waffle("1 is NOT 2") } impostor sus (1 fr 3 carenot 1 fr 1){ waffle("1 is 1 or 3") } impostor sus (1 fr 3 btw 1 fr 1){ waffle("1 is 1 and 3. how's that possible hello??") } impostor { waffle("How did we get here?") } ===Loops=== Loops in Bussin X are very easy: yall(lit i be 0 rn i smol 10 rn i plusplus){} Because we, at Bussin X, believe programmers should be responsible for their code, we did not add any `break` or `continue` keyword functionality to loops. ===Types=== Types in Bussin X are very important! lit num: number be 0 rn You can assign types on non-matching values too. lit num: object be 0 rn You can also assign types on values themselves. lit x be nocap: boolean rn You can assign types on types too. lit x: number: number: object: string be 3 rn In fact, you can use types anywhere! yall: number(lit: object i: number be 0: object rn i smol 10 rn i plusplus){ waffle(strcon("Currently at ", i): object) }: object: object: string '''Note''': Types don't do anything, in fact, they're removed before the lexer kicks in. ===Try Catch=== Bussin X also supports `try` `catch` statements: fuck_around { waffle(null plus hogrider) } find_out { waffle(error) } Cannot resolve 'hogrider' as it does not exist. '''Note''': `find_out` doesn't return anything, "error" is a global variable. ===Extra=== ====Math==== You can utilize the `math` helper by using: waffle(nerd.random()) waffle(nerd.sqrt(144)) waffle(nerd.pi) waffle(nerd.e) We also added helper functions for your anxiety: waffle(nerd.ceil(3.4)) waffle(nerd.round(3.9)) waffle(nerd.abs(-2)) Parse numbers from strings: lit x be parseNumber("5") rn You can also simplify your math equations: x beplus 5 y betimes 6 i plusplus ====Time==== You can access the current time by using: waffle(time()) ====Importing==== You can import data from another bussin file like this: lit stuff be import("./stuff.bsx") rn The last value emitted in a file will be the exported data: bruh waffleStuff() { waffle("Bussin X") } bruh waffleStuff2() { waffle("Also Bussin X") } { waffleStuff, waffleStuff2 } If imported, the result will be an object which you can do obj.waffleStuff and obj.waffleStuff2 ====Fetch==== You can fetch websites like this: lit res be fetch("https://example.com/") rn You can also set the method, body, and content type like this: lit res be fetch("https://example.com/", { method: "POST", body: "{\"bussin\":\"x\"}", content_type: "application/json" }) ====Regex==== You can use regex like this: lit string be "Hello World" rn lit matches be regex.match(string, "/World/g") rn waffle(matches) /* [ 'World' ] */ And this: lit string be "Hello World" rn waffle(regex.replace(string, "/World/g", "Everybody")) // Hello Everybody ====Exit==== You can exit your program like this: exit() ====Command Line==== You can run terminal commands by using our '''Blazingly Fast''' 🚀 ClapBack() feature: mf res be clapback("ls") rn waffle(res) '''Note''': Clapback will throw an error if failed. Better pair it with `fuck_around` & `find_out`. fuck_around { lit insult be clapback("rm -rf /") rn waffle(insult) } find_out { waffle(error, ":(") } ====Yapping==== Read input from console: lit x be yap("watcho name > ") rn waffle(x) '''Note''': The user won't see the text they type, but you will successfully receive the text after the user presses Enter. '''Credits:''' * Huge thanks to [https://github.com/tlaceby Tyler Laceby] for creating the [https://github.com/tlaceby/guide-to-interpreters-series Guide to Interpreters]! * Thanks to [https://github.com/Linker-123?tab=repositories Linker] for showing me his compiler * [https://macromates.com/manual/en/language_grammars macromates.com] for documenting TextMate Language syntax * [https://github.com/TodePond/DreamBerd DreamBerd] for the inspiration * [https://astexplorer.net/ AST explorer] for the helpful tool [https://github.com/face-hh/bussin/ Bussin Github] ==Examples== ===Hello World=== waffle("Hello World!") ===Fibonacci Sequence=== bruh fibonacci(n) { sus(n smol 1 carenot n fr 1) { n } impostor { fibonacci(n - 1) + fibonacci(n - 2) } } waffle(fibonacci(10)) ===Mandelbrot Set by SKM GEEK=== waffle("Mandelbrot set visualiser written in Bussin X by SKM GEEK.") bruh mandelbrot(real, imag) { lit limit be 100 rn lit zReal be real rn lit zImag be imag rn lit break be cap rn lit return be limit rn yall (lit i be 0 rn i smol limit rn i plusplus) { sus (break fr cap) { lit rtwo be zReal times zReal rn lit itwo be zImag times zImag rn sus (rtwo plus itwo thicc 4) { break be nocap return be i } impostor { zImag be 2 times zReal times zImag plus imag zReal be rtwo minus itwo plus real } } } return } lit width be 150 rn lit height be 50 rn lit xstart be 0 minus (9 divided by 4) rn lit xfin be (1 divided by 4) rn lit ystart be 0 minus 1 rn lit yfin be 1 rn lit dx be (yfin minus xstart) divided by (width minus 1) rn lit dy be (yfin minus ystart) divided by (height minus 1) rn lit line be "${}" rn lit x be 0 rn lit y be 0 rn lit value be 0 rn lit borderH be "++${}" rn yall (lit i be 0 rn i smol width rn i plusplus) { borderH be format(borderH, "=${}") } borderH be format(borderH, "++") waffle(borderH) yall (lit i be 0 rn i smol height rn i plusplus) { line be "||${}" yall (lit j be 0 rn j smol width rn j plusplus) { x be xstart plus j times dx y be ystart plus i times dy value be mandelbrot(x,y) sus (value fr 100) { line be format(line, " ${}") } impostor sus (value thicc 50) { line be format(line, "-${}") } impostor sus (value thicc 25) { line be format(line, "+${}") } impostor sus (value thicc 10) { line be format(line, "o${}") } impostor sus (value thicc 5) { line be format(line, "0${}") } impostor { line be format(line, "#${}") } } line be format(line, "||") waffle(line) } waffle(borderH) [[Category:Languages]] [[Category:2023]] [[Category:Implemented]] [[Category:Thematic]]'
Unified diff of changes made by edit (edit_diff)
'@@ -1,0 +1,326 @@ +'''Bussin X''' is an esoteric programming language written in TypeScript made by [https://github.com/face-hh face-hh] that uses Gen Z/Alpha syntax. Litty swagger tbh. + +(Currently showing Bussin X v1.6) + +There is also '''Bussin''', which is '''Bussin X''' without the funny syntax. + +==Syntax== + +===Variables=== +Mutable variables are created with: + lit x be 0 rn +You can also create a constant variable: + mf x be 0 rn +'''Note''': You can only use `rn` on variables. + +===Data Structures=== + +====Strings==== +Strings can be created with: + lit x be "Hello, World!" rn +You can also insert variables by using: + lit x be 0 rn + lit y be strcon("Hello, ", x) rn +Or you can format your string to include variables: + waffle(format("Hello, ${}", "World")) +However, you must use your regional currency symbol. + waffle(format("Hello, ${}", "World")) + waffle(format("Hello, ¥{}", "World")) + waffle(format("Hello, {}€", "World")) + waffle(format("Hello, {}£", "World")) +You can also use bussin's helper functions to simplify your experience: + lit x be trim(" hello ") rn + lit y be splitstr("Hello,World", ",") rn + +====Numbers==== +Numbers are simple: + lit x be 34 rn + lit y be 12 rn + lit z be x minus y rn + +====Null==== + lit abc be fake rn + +====Booleans==== +Booleans are also simple: + lit x be nocap rn + lit y be cap rn + +====Objects==== +Objects are essential in programming languages. Bussin X supports them too: + lit x be cap rn + lit obj be { key: nocap, x } rn + + obj.key be cap + waffle(obj.key) + +====Arrays==== +Arrays contain information without needing keys. Bussin X has them as well: + lit arr be [ 1, 2, 3, 4 ] rn + + arr[1] = 5 + + waffle(arr) +Arrays start at 0. + +===Comments=== +You can write comments like this: + lit x be nocap rn // does stuff + /* + multi line + */ + +===Functions=== +Functions in programming are intricate entities that serve as modular units of code designed to perform specific tasks with a high degree of abstraction and reusability. These multifaceted constructs encapsulate a series of instructions, often comprising algorithmic operations and logical conditions, which execute a well-defined purpose within a larger program. Functionality is delineated through a meticulously crafted signature, encompassing parameters and return types, allowing for parameterization and value transmission between the calling code and the function body. The complexity further burgeons as functions may exhibit a plethora of characteristics, including but not limited to recursion, closures, and the ability to manipulate variables within their designated scopes. Their utility extends beyond mere procedural decomposition, often intertwining with the paradigms of object-oriented, functional, or imperative programming, depending on the programming language employed. The orchestration of functions, with their nuanced interplay, results in the orchestration of intricate software systems, promoting maintainability, readability, and the efficient allocation of computational resources. In essence, functions epitomize the sophisticated essence of programming, embodying the elegance and subtlety required to navigate the intricacies of algorithmic design and software engineering. You can create functions by using: + bruh perform(x, y) { + x minus y + } +We, at Bussin X, think `return` statements are redundant. Instead, our superior functions return the last value emitted. + bruh perform(x, y) { + x plus y // will do nothing + x minus y + } +You can also run the function after a specified timespan: + hollup(bruh() { + waffle("A second later...") + }, 1000) +And you can also make it run at an interval: + yappacino(bruh() { + waffle("Spam!!!") + }, 1000) + +===If statements=== +If statements in Bussin X are very intuitive: + sus (1 fr 1){ + waffle("1 is 1") + } impostor sus (1 nah 2){ + waffle("1 is NOT 2") + } impostor sus (1 fr 3 carenot 1 fr 1){ + waffle("1 is 1 or 3") + } impostor sus (1 fr 3 btw 1 fr 1){ + waffle("1 is 1 and 3. how's that possible hello??") + } impostor { + waffle("How did we get here?") + } + +===Loops=== +Loops in Bussin X are very easy: + yall(lit i be 0 rn i smol 10 rn i plusplus){} +Because we, at Bussin X, believe programmers should be responsible for their code, we did not add any `break` or `continue` keyword functionality to loops. + +===Types=== +Types in Bussin X are very important! + lit num: number be 0 rn +You can assign types on non-matching values too. + lit num: object be 0 rn +You can also assign types on values themselves. + lit x be nocap: boolean rn +You can assign types on types too. + lit x: number: number: object: string be 3 rn +In fact, you can use types anywhere! + yall: number(lit: object i: number be 0: object rn i smol 10 rn i plusplus){ + waffle(strcon("Currently at ", i): object) + }: object: object: string + +'''Note''': Types don't do anything, in fact, they're removed before the lexer kicks in. + +===Try Catch=== +Bussin X also supports `try` `catch` statements: + fuck_around { + waffle(null plus hogrider) + } find_out { + waffle(error) + } + + Cannot resolve 'hogrider' as it does not exist. + +'''Note''': `find_out` doesn't return anything, "error" is a global variable. + +===Extra=== + +====Math==== +You can utilize the `math` helper by using: + waffle(nerd.random()) + waffle(nerd.sqrt(144)) + waffle(nerd.pi) + waffle(nerd.e) +We also added helper functions for your anxiety: + waffle(nerd.ceil(3.4)) + waffle(nerd.round(3.9)) + waffle(nerd.abs(-2)) +Parse numbers from strings: + lit x be parseNumber("5") rn +You can also simplify your math equations: + x beplus 5 + y betimes 6 + i plusplus + +====Time==== +You can access the current time by using: + waffle(time()) + +====Importing==== +You can import data from another bussin file like this: + lit stuff be import("./stuff.bsx") rn + +The last value emitted in a file will be the exported data: + bruh waffleStuff() { + waffle("Bussin X") + } + bruh waffleStuff2() { + waffle("Also Bussin X") + } + + { + waffleStuff, + waffleStuff2 + } +If imported, the result will be an object which you can do obj.waffleStuff and obj.waffleStuff2 + +====Fetch==== +You can fetch websites like this: + lit res be fetch("https://example.com/") rn +You can also set the method, body, and content type like this: + lit res be fetch("https://example.com/", { method: "POST", body: "{\"bussin\":\"x\"}", content_type: "application/json" }) + +====Regex==== +You can use regex like this: + lit string be "Hello World" rn + + lit matches be regex.match(string, "/World/g") rn + + waffle(matches) /* [ 'World' ] */ +And this: + lit string be "Hello World" rn + + waffle(regex.replace(string, "/World/g", "Everybody")) // Hello Everybody + +====Exit==== +You can exit your program like this: + exit() + +====Command Line==== +You can run terminal commands by using our '''Blazingly Fast''' 🚀 ClapBack() feature: + mf res be clapback("ls") rn + + waffle(res) +'''Note''': Clapback will throw an error if failed. Better pair it with `fuck_around` & `find_out`. + fuck_around { + lit insult be clapback("rm -rf /") rn + + waffle(insult) + } find_out { + waffle(error, ":(") + } + +====Yapping==== +Read input from console: + lit x be yap("watcho name > ") rn + waffle(x) +'''Note''': The user won't see the text they type, but you will successfully receive the text after the user presses Enter. + +'''Credits:''' +* Huge thanks to [https://github.com/tlaceby Tyler Laceby] for creating the [https://github.com/tlaceby/guide-to-interpreters-series Guide to Interpreters]! +* Thanks to [https://github.com/Linker-123?tab=repositories Linker] for showing me his compiler +* [https://macromates.com/manual/en/language_grammars macromates.com] for documenting TextMate Language syntax +* [https://github.com/TodePond/DreamBerd DreamBerd] for the inspiration +* [https://astexplorer.net/ AST explorer] for the helpful tool + +[https://github.com/face-hh/bussin/ Bussin Github] + +==Examples== + +===Hello World=== + waffle("Hello World!") + +===Fibonacci Sequence=== + bruh fibonacci(n) { + sus(n smol 1 carenot n fr 1) { + n + } impostor { + fibonacci(n - 1) + fibonacci(n - 2) + } + } + + waffle(fibonacci(10)) + +===Mandelbrot Set by SKM GEEK=== + waffle("Mandelbrot set visualiser written in Bussin X by SKM GEEK.") + + bruh mandelbrot(real, imag) { + lit limit be 100 rn + lit zReal be real rn + lit zImag be imag rn + + lit break be cap rn + + lit return be limit rn + + yall (lit i be 0 rn i smol limit rn i plusplus) { + sus (break fr cap) { + lit rtwo be zReal times zReal rn + lit itwo be zImag times zImag rn + + sus (rtwo plus itwo thicc 4) { + break be nocap + return be i + } impostor { + zImag be 2 times zReal times zImag plus imag + zReal be rtwo minus itwo plus real + } + } + } + return + } + + lit width be 150 rn + lit height be 50 rn + + lit xstart be 0 minus (9 divided by 4) rn + lit xfin be (1 divided by 4) rn + lit ystart be 0 minus 1 rn + lit yfin be 1 rn + + lit dx be (yfin minus xstart) divided by (width minus 1) rn + lit dy be (yfin minus ystart) divided by (height minus 1) rn + + lit line be "${}" rn + lit x be 0 rn + lit y be 0 rn + lit value be 0 rn + + lit borderH be "++${}" rn + yall (lit i be 0 rn i smol width rn i plusplus) { + borderH be format(borderH, "=${}") + } + borderH be format(borderH, "++") + waffle(borderH) + + yall (lit i be 0 rn i smol height rn i plusplus) { + line be "||${}" + yall (lit j be 0 rn j smol width rn j plusplus) { + x be xstart plus j times dx + y be ystart plus i times dy + + value be mandelbrot(x,y) + + sus (value fr 100) { + line be format(line, " ${}") + } impostor sus (value thicc 50) { + line be format(line, "-${}") + } impostor sus (value thicc 25) { + line be format(line, "+${}") + } impostor sus (value thicc 10) { + line be format(line, "o${}") + } impostor sus (value thicc 5) { + line be format(line, "0${}") + } impostor { + line be format(line, "#${}") + } + } + line be format(line, "||") + waffle(line) + } + waffle(borderH) + +[[Category:Languages]] [[Category:2023]] [[Category:Implemented]] [[Category:Thematic]] '
New page size (new_size)
10259
Old page size (old_size)
0
Lines added in edit (added_lines)
[ 0 => ''''Bussin X''' is an esoteric programming language written in TypeScript made by [https://github.com/face-hh face-hh] that uses Gen Z/Alpha syntax. Litty swagger tbh.', 1 => '', 2 => '(Currently showing Bussin X v1.6)', 3 => '', 4 => 'There is also '''Bussin''', which is '''Bussin X''' without the funny syntax.', 5 => '', 6 => '==Syntax==', 7 => '', 8 => '===Variables===', 9 => 'Mutable variables are created with:', 10 => ' lit x be 0 rn', 11 => 'You can also create a constant variable:', 12 => ' mf x be 0 rn', 13 => ''''Note''': You can only use `rn` on variables.', 14 => '', 15 => '===Data Structures===', 16 => '', 17 => '====Strings====', 18 => 'Strings can be created with:', 19 => ' lit x be "Hello, World!" rn', 20 => 'You can also insert variables by using:', 21 => ' lit x be 0 rn', 22 => ' lit y be strcon("Hello, ", x) rn', 23 => 'Or you can format your string to include variables:', 24 => ' waffle(format("Hello, ${}", "World"))', 25 => 'However, you must use your regional currency symbol.', 26 => ' waffle(format("Hello, ${}", "World"))', 27 => ' waffle(format("Hello, ¥{}", "World"))', 28 => ' waffle(format("Hello, {}€", "World"))', 29 => ' waffle(format("Hello, {}£", "World"))', 30 => 'You can also use bussin's helper functions to simplify your experience:', 31 => ' lit x be trim(" hello ") rn', 32 => ' lit y be splitstr("Hello,World", ",") rn', 33 => '', 34 => '====Numbers====', 35 => 'Numbers are simple:', 36 => ' lit x be 34 rn', 37 => ' lit y be 12 rn', 38 => ' lit z be x minus y rn', 39 => '', 40 => '====Null====', 41 => ' lit abc be fake rn', 42 => '', 43 => '====Booleans====', 44 => 'Booleans are also simple:', 45 => ' lit x be nocap rn', 46 => ' lit y be cap rn', 47 => '', 48 => '====Objects====', 49 => 'Objects are essential in programming languages. Bussin X supports them too:', 50 => ' lit x be cap rn', 51 => ' lit obj be { key: nocap, x } rn', 52 => ' ', 53 => ' obj.key be cap', 54 => ' waffle(obj.key)', 55 => '', 56 => '====Arrays====', 57 => 'Arrays contain information without needing keys. Bussin X has them as well:', 58 => ' lit arr be [ 1, 2, 3, 4 ] rn', 59 => ' ', 60 => ' arr[1] = 5', 61 => ' ', 62 => ' waffle(arr)', 63 => 'Arrays start at 0.', 64 => '', 65 => '===Comments===', 66 => 'You can write comments like this:', 67 => ' lit x be nocap rn // does stuff', 68 => ' /*', 69 => ' multi line', 70 => ' */', 71 => '', 72 => '===Functions===', 73 => 'Functions in programming are intricate entities that serve as modular units of code designed to perform specific tasks with a high degree of abstraction and reusability. These multifaceted constructs encapsulate a series of instructions, often comprising algorithmic operations and logical conditions, which execute a well-defined purpose within a larger program. Functionality is delineated through a meticulously crafted signature, encompassing parameters and return types, allowing for parameterization and value transmission between the calling code and the function body. The complexity further burgeons as functions may exhibit a plethora of characteristics, including but not limited to recursion, closures, and the ability to manipulate variables within their designated scopes. Their utility extends beyond mere procedural decomposition, often intertwining with the paradigms of object-oriented, functional, or imperative programming, depending on the programming language employed. The orchestration of functions, with their nuanced interplay, results in the orchestration of intricate software systems, promoting maintainability, readability, and the efficient allocation of computational resources. In essence, functions epitomize the sophisticated essence of programming, embodying the elegance and subtlety required to navigate the intricacies of algorithmic design and software engineering. You can create functions by using:', 74 => ' bruh perform(x, y) {', 75 => ' x minus y', 76 => ' }', 77 => 'We, at Bussin X, think `return` statements are redundant. Instead, our superior functions return the last value emitted.', 78 => ' bruh perform(x, y) {', 79 => ' x plus y // will do nothing', 80 => ' x minus y', 81 => ' }', 82 => 'You can also run the function after a specified timespan:', 83 => ' hollup(bruh() {', 84 => ' waffle("A second later...")', 85 => ' }, 1000)', 86 => 'And you can also make it run at an interval:', 87 => ' yappacino(bruh() {', 88 => ' waffle("Spam!!!")', 89 => ' }, 1000)', 90 => '', 91 => '===If statements===', 92 => 'If statements in Bussin X are very intuitive:', 93 => ' sus (1 fr 1){', 94 => ' waffle("1 is 1")', 95 => ' } impostor sus (1 nah 2){', 96 => ' waffle("1 is NOT 2")', 97 => ' } impostor sus (1 fr 3 carenot 1 fr 1){', 98 => ' waffle("1 is 1 or 3")', 99 => ' } impostor sus (1 fr 3 btw 1 fr 1){', 100 => ' waffle("1 is 1 and 3. how's that possible hello??")', 101 => ' } impostor {', 102 => ' waffle("How did we get here?")', 103 => ' }', 104 => '', 105 => '===Loops===', 106 => 'Loops in Bussin X are very easy:', 107 => ' yall(lit i be 0 rn i smol 10 rn i plusplus){}', 108 => 'Because we, at Bussin X, believe programmers should be responsible for their code, we did not add any `break` or `continue` keyword functionality to loops.', 109 => '', 110 => '===Types===', 111 => 'Types in Bussin X are very important!', 112 => ' lit num: number be 0 rn', 113 => 'You can assign types on non-matching values too.', 114 => ' lit num: object be 0 rn', 115 => 'You can also assign types on values themselves.', 116 => ' lit x be nocap: boolean rn', 117 => 'You can assign types on types too.', 118 => ' lit x: number: number: object: string be 3 rn', 119 => 'In fact, you can use types anywhere!', 120 => ' yall: number(lit: object i: number be 0: object rn i smol 10 rn i plusplus){', 121 => ' waffle(strcon("Currently at ", i): object)', 122 => ' }: object: object: string', 123 => '', 124 => ''''Note''': Types don't do anything, in fact, they're removed before the lexer kicks in.', 125 => '', 126 => '===Try Catch===', 127 => 'Bussin X also supports `try` `catch` statements:', 128 => ' fuck_around {', 129 => ' waffle(null plus hogrider)', 130 => ' } find_out {', 131 => ' waffle(error)', 132 => ' }', 133 => '', 134 => ' Cannot resolve 'hogrider' as it does not exist.', 135 => '', 136 => ''''Note''': `find_out` doesn't return anything, "error" is a global variable.', 137 => '', 138 => '===Extra===', 139 => '', 140 => '====Math====', 141 => 'You can utilize the `math` helper by using:', 142 => ' waffle(nerd.random())', 143 => ' waffle(nerd.sqrt(144))', 144 => ' waffle(nerd.pi)', 145 => ' waffle(nerd.e)', 146 => 'We also added helper functions for your anxiety:', 147 => ' waffle(nerd.ceil(3.4))', 148 => ' waffle(nerd.round(3.9))', 149 => ' waffle(nerd.abs(-2))', 150 => 'Parse numbers from strings:', 151 => ' lit x be parseNumber("5") rn', 152 => 'You can also simplify your math equations:', 153 => ' x beplus 5', 154 => ' y betimes 6', 155 => ' i plusplus', 156 => '', 157 => '====Time====', 158 => 'You can access the current time by using:', 159 => ' waffle(time())', 160 => '', 161 => '====Importing====', 162 => 'You can import data from another bussin file like this:', 163 => ' lit stuff be import("./stuff.bsx") rn ', 164 => '', 165 => 'The last value emitted in a file will be the exported data:', 166 => ' bruh waffleStuff() {', 167 => ' waffle("Bussin X")', 168 => ' }', 169 => ' bruh waffleStuff2() {', 170 => ' waffle("Also Bussin X")', 171 => ' }', 172 => ' ', 173 => ' {', 174 => ' waffleStuff,', 175 => ' waffleStuff2', 176 => ' }', 177 => 'If imported, the result will be an object which you can do obj.waffleStuff and obj.waffleStuff2', 178 => '', 179 => '====Fetch====', 180 => 'You can fetch websites like this:', 181 => ' lit res be fetch("https://example.com/") rn', 182 => 'You can also set the method, body, and content type like this:', 183 => ' lit res be fetch("https://example.com/", { method: "POST", body: "{\"bussin\":\"x\"}", content_type: "application/json" })', 184 => '', 185 => '====Regex====', 186 => 'You can use regex like this:', 187 => ' lit string be "Hello World" rn', 188 => ' ', 189 => ' lit matches be regex.match(string, "/World/g") rn', 190 => ' ', 191 => ' waffle(matches) /* [ 'World' ] */', 192 => 'And this:', 193 => ' lit string be "Hello World" rn', 194 => ' ', 195 => ' waffle(regex.replace(string, "/World/g", "Everybody")) // Hello Everybody', 196 => '', 197 => '====Exit====', 198 => 'You can exit your program like this:', 199 => ' exit()', 200 => '', 201 => '====Command Line====', 202 => 'You can run terminal commands by using our '''Blazingly Fast''' 🚀 ClapBack() feature:', 203 => ' mf res be clapback("ls") rn', 204 => ' ', 205 => ' waffle(res)', 206 => ''''Note''': Clapback will throw an error if failed. Better pair it with `fuck_around` & `find_out`.', 207 => ' fuck_around {', 208 => ' lit insult be clapback("rm -rf /") rn', 209 => ' ', 210 => ' waffle(insult)', 211 => ' } find_out {', 212 => ' waffle(error, ":(")', 213 => ' }', 214 => '', 215 => '====Yapping====', 216 => 'Read input from console:', 217 => ' lit x be yap("watcho name > ") rn', 218 => ' waffle(x)', 219 => ''''Note''': The user won't see the text they type, but you will successfully receive the text after the user presses Enter.', 220 => '', 221 => ''''Credits:'''', 222 => '* Huge thanks to [https://github.com/tlaceby Tyler Laceby] for creating the [https://github.com/tlaceby/guide-to-interpreters-series Guide to Interpreters]!', 223 => '* Thanks to [https://github.com/Linker-123?tab=repositories Linker] for showing me his compiler', 224 => '* [https://macromates.com/manual/en/language_grammars macromates.com] for documenting TextMate Language syntax', 225 => '* [https://github.com/TodePond/DreamBerd DreamBerd] for the inspiration', 226 => '* [https://astexplorer.net/ AST explorer] for the helpful tool', 227 => '', 228 => '[https://github.com/face-hh/bussin/ Bussin Github]', 229 => '', 230 => '==Examples==', 231 => '', 232 => '===Hello World===', 233 => ' waffle("Hello World!")', 234 => '', 235 => '===Fibonacci Sequence===', 236 => ' bruh fibonacci(n) {', 237 => ' sus(n smol 1 carenot n fr 1) {', 238 => ' n', 239 => ' } impostor {', 240 => ' fibonacci(n - 1) + fibonacci(n - 2)', 241 => ' }', 242 => ' }', 243 => ' ', 244 => ' waffle(fibonacci(10))', 245 => '', 246 => '===Mandelbrot Set by SKM GEEK===', 247 => ' waffle("Mandelbrot set visualiser written in Bussin X by SKM GEEK.")', 248 => ' ', 249 => ' bruh mandelbrot(real, imag) {', 250 => ' lit limit be 100 rn', 251 => ' lit zReal be real rn', 252 => ' lit zImag be imag rn', 253 => ' ', 254 => ' lit break be cap rn', 255 => ' ', 256 => ' lit return be limit rn', 257 => ' ', 258 => ' yall (lit i be 0 rn i smol limit rn i plusplus) {', 259 => ' sus (break fr cap) {', 260 => ' lit rtwo be zReal times zReal rn', 261 => ' lit itwo be zImag times zImag rn', 262 => ' ', 263 => ' sus (rtwo plus itwo thicc 4) {', 264 => ' break be nocap', 265 => ' return be i', 266 => ' } impostor {', 267 => ' zImag be 2 times zReal times zImag plus imag', 268 => ' zReal be rtwo minus itwo plus real', 269 => ' }', 270 => ' }', 271 => ' }', 272 => ' return', 273 => ' }', 274 => ' ', 275 => ' lit width be 150 rn', 276 => ' lit height be 50 rn', 277 => ' ', 278 => ' lit xstart be 0 minus (9 divided by 4) rn', 279 => ' lit xfin be (1 divided by 4) rn', 280 => ' lit ystart be 0 minus 1 rn', 281 => ' lit yfin be 1 rn', 282 => ' ', 283 => ' lit dx be (yfin minus xstart) divided by (width minus 1) rn', 284 => ' lit dy be (yfin minus ystart) divided by (height minus 1) rn', 285 => ' ', 286 => ' lit line be "${}" rn', 287 => ' lit x be 0 rn', 288 => ' lit y be 0 rn', 289 => ' lit value be 0 rn', 290 => ' ', 291 => ' lit borderH be "++${}" rn', 292 => ' yall (lit i be 0 rn i smol width rn i plusplus) {', 293 => ' borderH be format(borderH, "=${}")', 294 => ' }', 295 => ' borderH be format(borderH, "++")', 296 => ' waffle(borderH)', 297 => ' ', 298 => ' yall (lit i be 0 rn i smol height rn i plusplus) {', 299 => ' line be "||${}"', 300 => ' yall (lit j be 0 rn j smol width rn j plusplus) {', 301 => ' x be xstart plus j times dx', 302 => ' y be ystart plus i times dy', 303 => ' ', 304 => ' value be mandelbrot(x,y)', 305 => ' ', 306 => ' sus (value fr 100) {', 307 => ' line be format(line, " ${}")', 308 => ' } impostor sus (value thicc 50) {', 309 => ' line be format(line, "-${}")', 310 => ' } impostor sus (value thicc 25) {', 311 => ' line be format(line, "+${}")', 312 => ' } impostor sus (value thicc 10) {', 313 => ' line be format(line, "o${}")', 314 => ' } impostor sus (value thicc 5) {', 315 => ' line be format(line, "0${}")', 316 => ' } impostor {', 317 => ' line be format(line, "#${}")', 318 => ' }', 319 => ' }', 320 => ' line be format(line, "||")', 321 => ' waffle(line)', 322 => ' }', 323 => ' waffle(borderH)', 324 => '', 325 => '[[Category:Languages]] [[Category:2023]] [[Category:Implemented]] [[Category:Thematic]]' ]
Unix timestamp of change (timestamp)
1712463110