Share your Programming Language Jam submissions here!

← Back to all posts
CookeyLang
h
Coder100 (10601)

CookeyLang

Hello! Today we are introducing a brand new language! This brand new language is very easy to understand and it takes many different features and ideas from different languages making it easy to understand yet still being powerful! We are sure you will have an amazing experience try this language, and transitioning from and to this language will not be a problem! But, what is this language called?

Introducing CookeyLang. CookeyLang is a fast interpreted general-purpose dynamic class-based strong language for beginners, but advanced users can use it as well!

Credits

Language

Design

Beta-Testers

About

CookeyLang was created for the 2020 language jam, but it will not stop there! We already have our very own GitHub repository and docs! We also plan to rewrite in C++ and maybe even a VM! Our plan is to add and update CookeyLang to make it even better! CookeyLang is a great language for beginners to learn!

Purposes

CookeyLang is meant as a general-purpose language for beginners. It promotes good coding practices and is similar to C, JS, C#, and Python for an easy transition to and from the languages. It also contains many new features of its own and new takes on many of the old features of other languages. It aims to solve the problem of python being too "austere" and JavaScript being too "sloppy". It also fixes the problem of semicolons by requiring them throughout the code.

Examples

Fibonacci

function fibonacci(num) {
  if (num <= 1) ret 1;

  ret fibonacci(num - 1) + fibonacci(num - 2);
}

for (var i = 0; i < 20; i ++) {
  printLine(fibonacci(i));
}

99 bottles of beer

function bottle(num) {
  ret num + " of bottles of beer on a wall, " + num + " of bottles of beer on a wall.";
}

function takeOneDown(num) {
  ret "Take one down, pass it around, " + num + " bottles of beer on the wall.";
}

var bottles = 100;

function init(bottles) {
  if (bottles > 0) {
    printLine(bottle(bottles));
    bottles --;
    printLine(takeOneDown(bottles));
    init(bottles);
  } el {
    printLine("No more bottles!");
  }
}

init(bottles);

Links

Documentation
NPM
Github
Repl.it
Tests
CookeyLang Make
Discord

Usage

npx cookeylang [file]

Easy as that!

You can also get a pretty welcome screen.

npx -p cookeylang welcome

Closing

I hope you enjoyed this language as much as we did making it!

Commentshotnewtop
coderbot100 (77)

CookeyLang is the greatest language!

Coder100 (10601)

Thanks for answering my question! @coderbot100

firefish (746)

@coderbot100 Been a while since surgery?

firefish (746)

@Coder100 Am I the only one that remembers the surgery thing? Lol?

Coder100 (10601)

oh no I forgot to check this thread hi @arivvid27 what do you want to join?

arivvid27 (5)

Can I join the Beta-testers? @Coder100

PythonPrograms (12)

@Coder100 Can I join the beta-testers
as well?

Coder100 (10601)

you guys should join the discord if you haven't already, we have a channel for beta testers there, but you guys will get pinged here as well @PythonPrograms

PythonPrograms (12)

@Coder100 so where do i start like what do i do? Do i get like any docs, should I make a website for ur docs

Coder100 (10601)

was mentioned in post but ig people overlook that lol @PythonPrograms

PythonPrograms (12)

Cool gtg tho byee ill join lster, my name is [email protected]

Seth01Master (5)

@Coder100 i also want to be a beta-tester plz

[deleted]

@Coder100 - I agree with coderbot100! CookeyLang is awesome! But is coderbot100 an alt of yours, or just a fan?

RayhanADev (795)

@KelpHead coderbot100 is a Repl Talk bot!

Coder100 (10601)

doesn't mean he isn't a user @RayhanADev

Coder100 (10601)

dw i use my email for it and i promise you i get spammed @RayhanADev

[deleted]

@RayhanADev - I am going to pretend i know what a Repl Talk bot is...so thanks for telling me :)

PowerCoder (623)

This syntax looks exactly like Javascript. Still, good job.

Highwayman (1387)

It also fixes the problem of semicolons by requiring them throughout the code.

Perfection;

fuzzyastrocat (1225)

Why have semicolons when you could have completely fluid syntax, requiring no boundaries between statements? :D

Highwayman (1387)

Hm... idk I guess it’s just cause I’m used to semicolons lol
@fuzzyastrocat

Coder100 (10601)

oh yeah btw soon we will be adding warnings so we force camel_case as well @Highwayman

Coder100 (10601)

@fuzzyastrocat semicolons taste good nom nom

fuzzyastrocat (1225)

@Coder100 You have just irked me 9999%

oh yeah btw soon we will be adding warnings so we force camel_case as well

t h a t' s
s n e k
c a s e
(no hard feelings, iz joke)

As for semicolons, exactly! I save my semicolons for eating, not for coding :D (hint hint: i described Curta in my above post)

Coder100 (10601)

xDDD that was the point of the joke @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 Oh, I no get joke then. What was it in reference of? (JS?)

Highwayman (1387)

Bruh lol. Why for a paradigm? @Coder100

Coder100 (10601)

um it's irony, you see, camelCaseLooksLikeThis but I used its enemy, pythons_snake_case @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 Ah ok. I just didn't get the joke since I was expecting a more direct connection to the topic of this thread :D

? @Highwayman

fuzzyastrocat (1225)

:D @Coder100
Metasmiley - the return
coming to a theater near you

Highwayman (1387)

@fuzzyastrocat it’s funny because your language sounds like it’s going to the Max in the opposite direction (do anything it’s accepted)

fuzzyastrocat (1225)

@Highwayman Well, at least I'm not forcing a paradigm. And no, there are some rules obviously, but things aren't as strict. There's a balance point between insane amounts of syntax and insane lack thereof — when you get in the middle (which I'm not claiming to have done, in fact I'm almost sure I haven't) then you end up with a nice "clean" language.

Highwayman (1387)

like your having them have to use a certain naming convention. @Coder100

Coder100 (10601)

rust "forces" a paradigm by throwing warnings @fuzzyastrocat

Coder100 (10601)

personally that is a great idea I think, and then it can be turned off by doing "--no-var-warn" @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 Hmm, wonder why I'm not a big Rust fan :D

Ok jokes aside, I think that it's a good idea which should be scaled back. Rust should warn you when you try to do things that might affect the outcome of your code, not the style. However, many Rust warnings actually fill this role, so I'd argue that it's not entirely forcing a paradigm.

Codemonkey51 (885)

I use calmelCase and snek_case in python, also pascal case I like having it be unpredictable, also no spaces or underscores or caps functions just a bunch of words squished together :) @Coder100
useRandom_UnpridictableFunctionstyling()

fuzzyastrocat (1225)

@RohilPatel No, Python is actually not fluid. Python simply replaces the semicolon with the newline:

    x = 1
    y = 2

is perfectly valid but

    x = 2 y = 3

is not. However, in Curta you can separate statements any way you like, so if the above statements were valid Curta both would be allowed.

HahaYes (1247)

TEAM AMAZINGSQUIDYES FOR THE WIN

HahaYes (1247)

@AmazingMech2418 Yay! We have a supporter, yay

DynamicSquid (4356)

@HahaYes, @AmazingMech2418 i'll be on tmr and I'll try to finish it

firefish (746)

@HahaYes I will grill all cookies and non-cookies. That includes me, OH [gradually get usurped by the barbecue]

AmazingMech2418 (939)

@DynamicSquid I'm going to work more on Rex Web today so we can get prototypes and objects working before adding in native functions and then stuff like closures.

HahaYes (1247)

@AmazingMech2418 yeah. uh mech I'm on now... I'm prob gonna be on the repl for rex c++

DynamicSquid (4356)

@AmazingMech2418 hi. i'll be on soon, maybe in 30 minutes

AmazingMech2418 (939)

@DynamicSquid @HahaYes Okay. I'll probably be on Rex Web. If you need anything for the C++ version, just ping me!

Coder100 (10601)

lmao what this is cookeylang not whatever your team is @AmazingMech2418

HahaYes (1247)

@Coder100 oh lol XD don't worry. It seems like its us, cookeylang, Lit, and Empirical. Maybe spicy's team will join

AmazingMech2418 (939)

@Coder100 I know, but we were talking about Rex here. LOL! Soon, Rex will have prototypes!

HahaYes (1247)

ye does this lang have prototypes? @AmazingMech2418

AmazingMech2418 (939)

@HahaYes I do not think it does. @Coder100 , can you confirm this?

HahaYes (1247)

@AmazingMech2418 also I'll be on rex web now

AmazingMech2418 (939)

@Coder100 Prototypal OOP. Like in JS or SmallTalk or stuff like that. Not classes though. Our version, though, will actually use the original idea for OOP instead of even just JS prototypes.

Coder100 (10601)

um can you like move this convo elsewhere @AmazingMech2418

HahaYes (1247)

@Coder100 yeah sure but wouldn't you just stay on trending if you have more comments?

fuzzyastrocat (1225)

@HahaYes My lang. @hydrobolic has helped me with ideas and stuff, so if its done in time I might throw together a team.

HahaYes (1247)

@fuzzyastrocat ah I see. I have a team... I dunno if we'll win tho. Maybe place?

fuzzyastrocat (1225)

@HahaYes Yeah I'm not hoping for a win either, my lang isn't very well-suited to repl since it's an embedded systems language (so you can't just run it on repl, you have to have hardware to run it on). Thinking of entering just for fun though, maybe might win an "individual categories and prizes".

Coder100 (10601)

wait what are all of you bowing down to the great cookeylang @HahaYes

firefish (746)

@Coder100 no we're not, grilled cookie

fuzzyastrocat (1225)

@Coder100 no, I'm just saying that Curta doesn't fit well to repl.it. But overall I think it's superior :D
(no hard feelings, all these langs are super cool)

fuzzyastrocat (1225)

@HahaYes Missed pun opportunity...
haha yes I see u

fuzzyastrocat (1225)

@HahaYes Empirical is pretty good to be honest. It seems well thought-out, which I suppose is the best thing to have in a language. (And, it's well-suited to its domain, something I hope describes Curta as well!)

HahaYes (1247)

@fuzzyastrocat well. Our language is pretty good

fuzzyastrocat (1225)

@HahaYes Oh whoops, forgot to finish my comment; I meant of the languages I've seen so far. So far I haven't seen Rex so I can't make a judgement, but I'm sure I will eventually :D

HahaYes (1247)

@fuzzyastrocat lol. My ego is too big to get shattered.

fuzzyastrocat (1225)

@HahaYes Heh my ego is too small to get shattered lol

HahaYes (1247)

@fuzzyastrocat heh it seems like you have a decent sized ego heh

fuzzyastrocat (1225)

@HahaYes Yeah on here I have been promoting Curta a bit, but most times I'm overly criticizing my work
I suppose that's what I do when I come to a new platform, I'm overly outgoing compared to normal me because I wants some cycles :D

HahaYes (1247)

@fuzzyastrocat heh I see. But, hopefully we'll win.

fuzzyastrocat (1225)

@HahaYes If you do then congratulations, I will support whoever wins because we need more language designers

HahaYes (1247)

@fuzzyastrocat heh I'll just pay the judges to carry our langs.

fuzzyastrocat (1225)

@HahaYes I wouldn't say no... :D

I'm hesitant to make a team since Curta isn't done yet... maybe I'll just enter for fun idk

HahaYes (1247)

@fuzzyastrocat ah. So it seems like its us, empirical, cookey, lit, and obratnaya or whatever it is.

fuzzyastrocat (1225)

@HahaYes Not sure about Lit, since there's no team description... I have a feeling that it's a similar situation to Curta, but I could be wrong.

HahaYes (1247)

@fuzzyastrocat yeah... it seems like we actually have a decent chance. Prob around 25%

fuzzyastrocat (1225)

@HahaYes Probably, though not sure of the quality of your language — that could boost it quite a bit!

Coder100 (10601)

from what i can see i think i can do a good job @HahaYes

HahaYes (1247)

@fuzzyastrocat we have a nice feature. No one knows about our lang. We are turning it in the last minute possible.

HahaYes (1247)

@Coder100 we've done a good job too. Does your lang have prototypes?

fuzzyastrocat (1225)

@HahaYes Actually I know, and I think I know what that feature is. (You've been publicizing team AmazingSquidYes, so... :D) So I'd give you at least a 30% chance (probability wise), maybe 40%! (Obviously that sounds like I'm giving you terrible ratings, but given that the "average" should be 25% I hope it sounds like a complement)

HahaYes (1247)

@fuzzyastrocat wait wha whats the feature

fuzzyastrocat (1225)

@HahaYes A prototype system which is more uniform and conforms to standard objects?

HahaYes (1247)

@fuzzyastrocat uh. kinda. We've got some more features tho. Its just more of a nice touch to our lang. Hint: Debian cows

fuzzyastrocat (1225)

@HahaYes I probably explained it bad — I know where the Rex repl is so that's how I know :D I think I might know what the other feature is too (not gonna say it since it ruins it).

HahaYes (1247)

@fuzzyastrocat yeah... you've seen our repls... SPY!

HahaYes (1247)

@fuzzyastrocat jk I think everyone has spied on other people's projects

fuzzyastrocat (1225)

@HahaYes I'M SORRY I SURRENDER

Jokes aside, yes, I think everyone wants to do research to see the other people's projects.

fuzzyastrocat (1225)

@HahaYes Also why is the night interpreter in a repl named Rex?

HahaYes (1247)

@fuzzyastrocat oh that was one of squid's projects. It was a joke for Squid. XD

fuzzyastrocat (1225)

@HahaYes Oh duh that makes sense, I knew Night was one of Squid's but I didn't put 2 and 2 together and realize that Squid was on your team LOL

fuzzyastrocat (1225)

@HahaYes I'm surprised cookeylang hasn't rocketed to the top of the hot board, there's so many comments

HahaYes (1247)

@fuzzyastrocat well there is a algorithm... I think... also most of the comments are from us XD there isn't much diversity tbh

fuzzyastrocat (1225)

@HahaYes Oh ok interesting, did not know that... repl needs a DM system to prevent this from happening

HahaYes (1247)

@fuzzyastrocat I'm not sure about the entire algorithm... but I've used it pretty well.

fuzzyastrocat (1225)

@HahaYes Used it... to boost your repls or used it in a project of your own?

fuzzyastrocat (1225)

@HahaYes you
h a c k e r

nowtellmehow (just kidding, you don't have to)

HahaYes (1247)

@fuzzyastrocat just have a friend upvote for you. Tutorial section = profit

HahaYes (1247)

@fuzzyastrocat yep. It also seems like 50 comments a day is like a day on trending. more comments = stay on trending longer more upvotes = ranks higher

fuzzyastrocat (1225)

@HahaYes Hmm ok interesting. I have yet to make a post recently because I've been working so much on Curta but when I do I will have to try that!

HahaYes (1247)

@fuzzyastrocat yeah. It works pretty well. If you look, good posts have A LOT of comments.

fuzzyastrocat (1225)

@HahaYes "good" :D
(Well okay, they all are good, but theoretically if you made an empty post and then everyone commented on it then it would be a "good" post.)

firefish (746)

@HahaYes you have 1111 cycles! make a wish!

HahaYes (1247)

@firefish I'll have the most cycles

Miner36 (18)

im commenting and upvoting becouse @RaidTheWeb told me! ;-)

NZHacker808 (97)

@RaidTheWeb Why are you on repl.it while you are in class!

RaidTheWeb (73)

@NZHacker808 why are doing repl.it in class?

NZHacker808 (97)

@RaidTheWeb Cause we are doing clay today and I finished. (Why are you on repl.it again?)

NZHacker808 (97)

@RaidTheWeb Create something in our group

firefish (746)

@Miner36 @RaidTheWeeb shouldn't be telling you who to upvote

firefish (746)

@Coder100 Well, don't you know C/C++? That's how macros work...

fuzzyastrocat (1225)

Someone pointed out this looks kinda like JS...
So what are the main differences between this and JS?

PowerCoder (623)

@fuzzyastrocat They use ret instead of the return keyword

fuzzyastrocat (1225)

@PowerCoder And el instead of else. So... one big regex find&replace?

Coder100 (10601)

no, not at all, if you see that it looks like js that means we have succeeded. We have tried to make it easy to transition to this language, but there's a lot of sugar already that I'm sure you will enjoy @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 Ooh ok, so to rephrase the question: what's different under the hood?

EpicGamer007 (748)

You should have posted this in the jam section.

Coder100 (10601)

if only i was a mod... sigh, thanks @codelongandpros! @AbhayBhat

EpicGamer007 (748)

@Coder100, i wonder how u become one, becoming a mod seems cool. You get stuff you can put on your college essay, resume whatever, its a good learning experience, and u get to be treated better on repl AND you can put wrongdoers in your place.

poetaetoes (287)

Wow

This

Lang

Is

Awesome
  • I just wish I knew how to code anything possible with this
Coder100 (10601)

oh no sorry for the late reply!
Thanks!! :D @poetaetoes

BrysonVan (1)

I love the idea for this. And I love how you are willing to provide updates to keep it going. Keep up the great work!

firefish (746)

@Coder100 forrep coming to a C/C++ near you...

#define forrep(a, b, c, d) for(int a = b; a < c; a += d)
firefish (746)

@coder100 hehe, is it possible to write the entirety of Cookeylang in defines? #define el else we have the one above, I don't know...

Coder100 (10601)

hey that should be a feature in my lang @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 No, @firefish and I were attempting to express Cookeylang in terms of C/C++ defines.

If you want to add a macro system though, that would be cool. Macros are nice sometimes, but just beware of precedence issues.

fuzzyastrocat (1225)

@firefish #define printLine(fmt) printf(fmt); printf("\n")

fuzzyastrocat (1225)

@firefish Hey, I like a good challenge! :D

Unfortunately, I'm not sure if this is possible, since CookeyLang seems to share much more in common with JS than the C family... but I could be proven wrong :)

firefish (746)

@fuzzyastrocat Hm... you can't exactly do #defines in JS... well there are classes... maybe in C++?

firefish (746)

@fuzzyastrocat Argh... CookeyLang is typeless... C isn't... this is probably impossible unless we find somthing to typedef var to to create an effectively typeless langauge... a union with a macro together maybe? I don't know...

fuzzyastrocat (1225)

@firefish Yeah, I'm thinking (as @xxpertHacker suggested below) exec(readFileSync("filename", 'utf8').replace(/regex/)) in JS would be the way to do it.
Though I like the union idea — though you'd probably have to use pointers to every non-atomic type and then auto-dereference them....

firefish (746)

@fuzzyastrocat hm... The regex wouldn't exactly work. so oyu wanted to replace el { with else {. what if I have a string "haha cookeylang uses el {" will be converted to "haha cookeylang uses else {". Has nobody else seen this?

fuzzyastrocat (1225)

@firefish No, you can ignore things inside strings with regex — I don't remember the exact pattern off the top of my head but I know I've seen that somewhere.

fuzzyastrocat (1225)

@Coder100 Right, it's a little more complicated since you have to deal with \"'s but I definitely think it's possible (since you can't have nested strings)

Coder100 (10601)

@fuzzyastrocat the problem is you even are using regex for that

Coder100 (10601)

but regex is greedy by default so \" gets ignored what a non-regexer @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 What do you mean by

the problem is you even are using regex for that

Also, if what you say is true then this would match as one:
"A string!" "Another string"
(And according to regex101.com, this is not true. What a non-regexerr :D)

Coder100 (10601)

yeah because its greedy didn't i say that already @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 but what you said is objectively wrong... regex will not skip over \", see here:
https://regex101.com/r/5vdTjF/1

firefish (746)

@fuzzyastrocat @Coder100 thanks for the 8 pings... thanks very much.

fuzzyastrocat (1225)

Wait, that pinged you? Odd, I never included your tag, sorry :P

fuzzyastrocat (1225)

@firefish Whoops, sorry — didn't realize that happened.

firefish (746)

@fuzzyastrocat It's fine, I just don't like having dinner then coming back to find 8 pings to answer. Otherwise, all is fine!

firefish (746)

@fuzzyastrocat typedef var auto; sorted. Now casts time

firefish (746)

@fuzzyastrocat here's cookey.h so far: (the typedef didn't work, had to swap it out for a #define)

#include <stdio.h>
#include <stdlib.h>
#define var auto
#define function auto
#define forrep(a, b, c, d) for(size_t a = b; a < c; a += d)
#define el else
#define ret return
#define NaV NULL
#define printLine(fmt) printf(fmt "\n")
#define true 1
#define false 0
firefish (746)

@Coder100 It's cookeylang except in C! :)

fuzzyastrocat (1225)

@firefish lol it's actually starting to work

firefish (746)

@fuzzyastrocat The casts are hideously broken... It doesn't like having a string as the name of the macro... If C++ used to be written in macros, then so can CookeyLang

Coder100 (10601)

ok well anyways im going to make cookeybad @firefish

firefish (746)

@Coder100 you wait until the grilled cookie game comes out (ironically, some of the code for it I stole from projects you have previously made... O_o)

Coder100 (10601)

whattt my code gets used????
Don't worry 90% of the code I make is stolen from a previous project @firefish

firefish (746)

@Coder100 (only the code from your repl.it auth tutorial, that's about it)

Coder100 (10601)

lmao thats not stealing code thats using code @firefish

firefish (746)

@Coder100 I don't see the difference tbh

fuzzyastrocat (1225)

@firefish Ha good point! (referring to the C++ written in C comment)

Coder100 (10601)

haha cookeylang just got compiled

@fuzzyastrocat

firefish (746)

@Coder100

Bye Cookey, Hello cookey.h
<= NaV

also why the weird spelling of cookie

fuzzyastrocat (1225)

@Coder100 Wait I'm confused... is that using something you made, or are you talking about firefish's cookey.h?

firefish (746)

@fuzzyastrocat

Wait I'm confused... is that using something you made, or are you talking about firefish's cookey.h?

Which comment does this reply to? If there are many comments, use quotes

fuzzyastrocat (1225)

@firefish @Coder100 Oh, I'm replying to Coder100's last comment.

haha cookeylang just got compiled

firefish (746)

@fuzzyastrocat

I have a sudden urge to make

I Wonder what the rest of that sentence was.. hmm...

fuzzyastrocat (1225)

@firefish Ha, that's weird... I thought I didn't post that comment, I guess it actually got posted (but only half-saved) and then deleted.

As for the rest of the sentence... you'll know if I make it :D

firefish (746)

@fuzzyastrocat I looked in the url of the comment form my notifications... the old trick

fuzzyastrocat (1225)

@firefish ahhhhh that makes more sense. Well, you'll just have to wait :D (I definitely am going to make it though)

firefish (746)

@fuzzyastrocat Is it a spin-off of cookey.h? hehe my suspicions

fuzzyastrocat (1225)

@firefish Nope (it actually wasn't in response to this post, not sure why it showed up here)

firefish (746)

@fuzzyastrocat Huh, it was actaully an educated guess as to which post, because it doesn't say

fuzzyastrocat (1225)

@firefish Ah ok. Well, you'll see it soon :D

firefish (746)

@fuzzyastrocat Oh, it's the wildest language ideas post, isn't it

fuzzyastrocat (1225)

@firefish EDIT nevermind I forgot where I put my own comment, yes it is

Seth01Master (5)

this is literally the longest thread of replies i've ever seen

Coder100 (10601)

xd check out the welcomes @Seth01Master

xxpertHacker (480)

It also fixes the problem of semicolons by requiring them throughout the code.

You do realize that... no one else has that problem, right?

Also, I swear there is a 1 to 1 correlation between this language and JavaScript, I'm more than willing to bet it could be done in one line: exec(readFileSync(input).replace(cookieRegEx)).

Coder100 (10601)

I am the correct answer

AmazingMech2418 (939)

@Coder100 Does this show like the ask board does for you too? On my post, it shows the "If your question has been answered, select it below." thing...

fuzzyastrocat (1225)

How does the OOP system work here, or does it have one?

fuzzyastrocat (1225)

@Coder100 Is there inheritance or is it a C-like system?

firefish (746)

Hm.... grilled cookies looking more grilled than apricots...

firefish (746)

@Coder100 Grilled cookie game coming soon! (after I figure out how to get auth working in node without express)

ZDev1 (693)

This is amazing!
Good team!
Hope you win!

i5 (9)

I want to see the global-scope environment
(and performance improvements)

Coder100 (10601)

@i5 what global-scope environment?

i5 (9)

@Coder100 equivalent of window in js (or globalThis)

Coder100 (10601)

@i5 thats very bad we will never have, but the closest thing rn is probably includes

Coder100 (10601)

include? That's for including files @i5

i5 (9)

@Coder100 thats not a global scope at all. or anything like it.
i mean, do you have some predefined vars?

Coder100 (10601)

@i5 it's the closest thing because it is in the highest scope "global" scope.

i5 (9)

@Coder100 got any predefined variables?

Coder100 (10601)

yeah of course

smh just look in the code @i5

i5 (9)

@Coder100 ok now does it have 'scoping'?

Coder100 (10601)

yes.... you have blocks smh @i5

Coder100 (10601)

literally what are you trying to do smh @i5

i5 (9)

@Coder100 so there IS a global scope?

Coder100 (10601)

yeah thats the outermost @i5

i5 (9)

@Coder100 a scope at the top. it has all vars like printLine

i5 (9)

@Coder100 thank you for finally answering my question! now can i have a full list of variables on the global scope please?

Coder100 (10601)

um thats in interpreter.js @i5

Codemonkey51 (885)

Lmfao not my super secret one :) @Coder100

notIurii (13)

Add more details on fast please. Perhaps some benchmarks?

Coder100 (10601)

@notIurii Sure, fibonacci takes around ~212ms (results vary).
Anyways, to see for yourself, please clone the repo and run test.js.

notIurii (13)

@Coder100 How you benchmarked it? On my machine it clones npm packages, so it takes forever with time (3 seconds). I used npx cookeylang <filename> command to run. Sorry, I am a noob when it comes to nodejs really.
Anyway, unfortunately 212 ms is not really fast. Python on my computer manages to do it in 50ms, and you know how many jokes are there about python performance. Another point is that including io operations inside benchmarks is bad, as it creates a lot of instability in running time.
For the record, here is python program I used

def fib(n):
	if n <= 1:
		return 1
	return fib(n - 1) + fib(n - 2)

for i in range(20):
	print(fib(i))
Coder100 (10601)

@notIurii Yeah, currently it is a bit slow, we haven't gotten to too much optimizing yet

TheSummit3145 (22)

@coder100 hey, r you changing your name to summit?
pls no thats me

Codemonkey51 (885)

AGHHHHHH I WAS MENTIONED

firefish (746)

@Codemonkey51 so you work for the grilled cookie?

firefish (746)

@Codemonkey51 Hm... that cookie should stop hiring monkeys... the monkeys could eat the cookie you know

Codemonkey51 (885)

who says I haven't I won't eat him, but I'll eat others like him @firefish

firefish (746)

@Codemonkey51 Ah, I see... how many other cookies are here

Codemonkey51 (885)

not that many I ate most of them ok I got to go now @firefish

firefish (746)

@Codemonkey51 good, now he has no friends to protect him oki bai

firefish (746)

@Coder100 everybody, he's seen too much! Take him to the barbecue! uh nothing

Codemonkey51 (885)

Nah I prefer my cookies deep fried with butter @firefish

firefish (746)

@Codemonkey51 Deep fried cookie with butter coming right up...

xxpertHacker (480)

CookeyLang is a fast interpreted general-purpose dynamic class-based strong language for beginners, but advanced users can use it as well!

What does this even mean?

dynamic class-based strong language

Specifically the "strong language" part.

codewithmenow (2)

lmao is there compliers where you can write code for cookieLang on repl.it

Coder100 (10601)

@codewithmenow not compilers yet, only interpreters

realTronsi (747)

hol up why is it an npm package

realTronsi (747)

@realTronsi

fast interpreted

there is no such thing >:0
ps is it faster than python?

Flyingcrabs (5)

coder100 is going to check the thread every day. I think you needs some help from your team and make a new thread all about it?

Seth01Master (5)

it would be nice if you made a tutorial
also im a really good video editor ;)

Coder100 (10601)

@Seth01Master :o
yes, I will!!
But first we are trying to make cookeylang3 which will have so many features

raghavm (95)

my man literally just made JS on steroids, congrats bro

Coder100 (10601)

xD Thanks!!
Also sorry for the late reply :( @raghavm

fuzzyastrocat (1225)

@Coder100 CookeyLang seems like a fairly polished language. Want to add a package manager to it? If so, you might be interested in my new tutorial on it.

Coder100 (10601)

yes thats cookeylang 3 smh @fuzzyastrocat

fuzzyastrocat (1225)

@Coder100 Nice! (Just asking because it appears that new tutorials are placed way at the bottom unlike other boards, so I doubted anyone would see it.)

Coder100 (10601)

@fuzzyastrocat thx :)
tutorials are treated the same as share posts

fuzzyastrocat (1225)

@Coder100 No problem!
Oh odd, I guess it's just that there are so many good tutorials. As soon as one person upvoted it went to the top, so I guess it just needed one upvote or something.

firefish (746)

@Coder100 Bear in mind that that tutorial was ripped off of dusk, the github repo @firefish111/dusk should give you a better idea

fuzzyastrocat (1225)

@Coder100 Bear in mind that @firefish doesn't really have any concrete evidence for this. However, looking at the repo that they linked to, it appears dusk goes farther than the extent of the tutorial. So it would be a good reference material!

firefish (746)

@fuzzyastrocat (yet to add search... hm, if you want lok at the code, or have you already)

fuzzyastrocat (1225)

@firefish No, I just looked at the readme. I'll look at the code when I get time.

firefish (746)

@fuzzyastrocat Well what happened with Salmon and Apple (Shopping list) lang?

fuzzyastrocat (1225)

@firefish Unfortunately there's been no new development on that lang (at least of my doing)... still trying to figure out what that would do :D