last day (958 days later) » 

9:00 PM
I prefer cheddar syntax.
 
Also btw for GC we should use this
@noɥʇʎPʎzɐɹC If you can find it in the PyPy repository, sure, we can try using PyPy
 
A GC is simple: keep state of the scope, if the scope is exited and no resource reference a resource, call the destructor of the resource
 
Yeah, but we need a fast GC
 
^
 
9:03 PM
v8 is fast we should do whatever it does
including stealing idea of snapshots and all
 
OK I'm in for the challenge.
To build such a language with such huge goals is only possible with a team of developers.
GitHub repo.
 
We are actually 5
 
@TheveryevilROFLcopter well can I join?
 
What is your GH username?
 
No more advocating PyPy. That was playing devil's advocate.
@TheveryevilROFLcopter CrazyPython
Motivations
1. Looks good on resume
2. That euphoria of being in a team and succeeding
 
Requested to join both
I might just be an observer in the design team though, I'm good at graphic design, but I came here to code
 
@ASCII-only You don't accepted the GH invite?
 
Oh no D:
 
What will it be written in?
 
9:10 PM
@noɥʇʎPʎzɐɹC cheddar was made by one developer primarially (and big help form ASCII & Conor)
 
I made Neoscript alone
 
@Downgoat I know, but the huge goals make it muuuch harder. And more practical with so many devs.
 
@TheveryevilROFLcopter D: D: C
 
@TheveryevilROFLcopter AHHHHHHH
No C No C No C abort
 
@noɥʇʎPʎzɐɹC @ASCII-only ;_;
@noɥʇʎPʎzɐɹC What lang then?
 
9:11 PM
@noɥʇʎPʎzɐɹC no C++
 
I guess it's fine if you can do it quickly and with no memory leaks
 
Interpreted or compiled?
 
I'd prefer C++ because I just can't do C because malloc and free
 
@noɥʇʎPʎzɐɹC Interpreter
 
Interpreted first
Compilation comes later
 
9:11 PM
@ASCII-only Very easy to understand
malloc allocate memory and free free it
You need to free malloced memory
That's it
 
Well if we can make it compiled, the speed of the compiler is irrelevant, and so is the speed of the languages.
 
BTW we should write a VSL interpreter/compiler alongside the C one
 
C++ is hard to program in. D:
 
C++ is easy
No malloc and free needed at all
 
C++ is a pain to work with
 
@TheveryevilROFLcopter But like how much to allocate for strings
 
Kotlin?
PyPy?
 
PyPy is almost as fast as C++/C
 
@ASCII-only Predict the length (usually easy), or use a linked list, or allocate a buffer and reallocate if the string is bigger
@StackExchange Plz add me owner too
 
@Downgoat hey, rename development-team to development, that way the ping name is "/development"
 
how about just dev team?
 
just dev
 
9:14 PM
^
 
@noɥʇʎPʎzɐɹC maybe make Performance team called "Optimization Team" or "Optimizers"?
 
@Downgoat OK
 
No make it Optimization
 
9:16 PM
How about the slick "optimum"
@Downgoat
 
wtf
Bison say me $1 don't have a type
 
Optimization is the only one that makes sense in a ping
 
if everyone is a room owner then what's the point :P
 
idea: ^^ for xor short-circut
 
9:17 PM
@TheveryevilROFLcopter Yeah you didn't assign it a type
 
Or optimzers
 
@ASCII-only How do I do
 
Performance, maybe?
 
@Downgoat good idea
 
%token <std::string> INTEGER DECIMAL SINGLE_QUOTED_STRING_CONTENTS DOUBLE_QUOTED_STRING_CONTENTS REGEX_CONTENTS IDENTIFIER BOOLEAN NIL
%type <CheddarNode> Integer Decimal String Boolean Nil Regex Literal Expression Expressions Identifier Identifiers Extends Implements With Type Initial Parameter Parameters Initializer Class Program Operator FunctionizedOperator Function Generic
 
9:17 PM
Who specifically wants to yell about performance?
 
No way
You don't go @/optimizers do this, you go @/optimization do this
 
I mean I wanna code, but also wanna yell about performance
 
@ASCII-only oic
 
@ASCII-only I think @/performance is best
 
Bruh I hate that bison error messages are in french
 
9:19 PM
What
 
I am in France
 
Waaaaaaaat
 
So Bison is configured with french error messages
 
do u not speak french? O_o
 
But if your computer's language is English wouldn't it error in English?
 
9:20 PM
I speak french
I am a native french
 
@Downgoat He's probably used to English programming terminology, I guess?
 
But I hate french error messages
^^
 
github.com/orgs/vsl-lang/teams/maintenance - I don't want to actually be a part of it, I just made it
 
src/parser.y:20:14: error: expected identifier before 'int'
      | INT ADD expr { $$ = $1 + $3; };
              ^
src/parser.y:20:62: error: expected identifier before 'int'
      | INT ADD expr { $$ = $1 + $3; };
                                                              ^
 
do we really need maintenence team
 
9:20 PM
lolwut
 
@Downgoat some people don't want to do maintenance :/
 
Can you show where that is
 
@ASCII-only Yes I will shot the grammar
%union {
    int i;
    char *s;
}

%token <i> INT
%token ADD
%token PRINT

%type <int> expr
%%
expr : INT
     | INT ADD expr { $$ = $1 + $3; };
stmt : PRINT expr { printf("%d\n", $2); };
Some basic test grammar
 
@TheveryevilROFLcopter You mean: Yes, I wll shoot the grammar
 
9:21 PM
@TheveryevilROFLcopter ;_; y u shoot grammar
 
Also 0/10 that is bad grammar you don't calculate during parse step
Oh yeah
 
> Some basic test grammar
 
@TheveryevilROFLcopter this is bad grammar :P
 
it should be:
expr : int { $$ = $1; }
 
Who wants to optimize!? Join nao!!!!! -> github.com/orgs/vsl-lang/teams/performance
 
9:23 PM
@ASCII-only Don't work ;_;
 
@noɥʇʎPʎzɐɹC why are you making all these teams
 
@noɥʇʎPʎzɐɹC Please stop advertising things
 
@noɥʇʎPʎzɐɹC pls stop advertising team
 
@Downgoat why is @noɥʇʎPʎzɐɹC a team member? o-o
 
People who like performance need to join performance. I am doing maintenance.
 
9:23 PM
He said he will help
I added him
 
If you have {this thing} on one of the lexemes you need one on all of them for each derivation or something
 
@noɥʇʎPʎzɐɹC that is not what teams are for
they are for managing who has access to what repos
 
@TheveryevilROFLcopter I mean INT not int
 
@Downgoat But sometimes you just want to ping the optimizers
 
@ASCII-only Still the same cryptic error message
 
9:24 PM
when we make a website we'll consider a website team but right now they aren't applicable
 
src/parser.y:19:14: error: expected identifier before 'int'
 expr : INT { $$ = $1; }
              ^
src/parser.y:20:14: error: expected identifier before 'int'
      | INT ADD expr { $$ = $1 + $3; };
              ^
src/parser.y:20:62: error: expected identifier before 'int'
      | INT ADD expr { $$ = $1 + $3; };
                                                              ^
 
OK
Yo, push to a branch, let's see each other's code
 
plz halp the roflcopter ;_;
 
@noɥʇʎPʎzɐɹC we should really be using forks in this case
 
@Downgoat Correct.
 
9:27 PM
or maybe branch is applicable
we can submit branch through PR process
I wish github had strategy rebae
 
@Downgoat strategy rebase? like "So you go in from the left, the hostage comes out through the front door after the helicopter blows the roof..."
it has normal rebase
 
XD
 
star it
 
no not relevant
 
Well humor on the starboard is good too, cheers team members up
Argue for which language you want the interpreter here! -> github.com/vsl-lang/VSL/issues/1
 
9:30 PM
...
We already decided
 
^
 
Let's use Yacc.
 
@noɥʇʎPʎzɐɹC lol
Bison is a open source fork of Yacc
 
It's the most popular choice and has a super simple syntax.
 
flex/bison is essentially new version of lex/yacc
 
9:32 PM
bison == yacc
 
@Downgoat oh ok
 
@TheveryevilROFLcopter wait wat
ok
if u sai so
 
But, do we use C or C++ finally?
@Downgoat Bison is functionally equivalent to Yacc
 
Doesn't matter but IMO C++ is easier, if you think you can get it faster and equally readable with C it's fine with me
 
Haha, we can use Bison with PyPy. freenet.mcnabhosting.com/python/pybison
 
9:34 PM
I prefer C because interfacing interfacing and because I am more experienced with C
 
i will sabatoge this project if we use python TBH
 
And C++'s name mangling is stupid to work with C
 
@noɥʇʎPʎzɐɹC ಠ__ಠ
 
My failed attempt at cheddar parser
 
9:34 PM
'Night folks
 
@Downgoat why do you hate python!?
 
@noɥʇʎPʎzɐɹC Because it's ugly
And writing production code in python is a Very Bad Idea™
 
Also it's way slower than C/C++
 
Very Very Very Bad Idea™
Hey @HelkaHomba
 
Plus we should be self-hosting sometime after we get a compiler anyway
 
9:36 PM
Let's write it in VSL.
 
1 min ago, by The very evil ROFLcopter
'Night folks
 
@TheveryevilROFLcopter OK, so you are telling me C++ is less ugly than Python!?
 
@noɥʇʎPʎzɐɹC Yeah, but we need an interpreter first before VSL will even work
@noɥʇʎPʎzɐɹC Yes it is actually
 
@ASCII-only why?
 
9:37 PM
@HelkaHomba Hi :D
 
@ASCII-only CFront, the original C++ compiler was written in c++
 
@noɥʇʎPʎzɐɹC Because C++ has braces
@noɥʇʎPʎzɐɹC Yeah
Maybe
 
@ASCII-only so you're telling me no braces cancels out all of the ugliness of C++!?
 
Or it was self-hosted before its first release
But then that's because it had an interpreter
@noɥʇʎPʎzɐɹC C++ has no ugliness
 
@ASCII-only Can you say it is an easier language?
Can you say programming in it is a bit harder?
 
9:38 PM
@noɥʇʎPʎzɐɹC Hmm, no, it's a bit harder
But the speed boost is really worth that extra effort
 
Why do Ruby, Python, Lisp, VSL, and Haskell exist?
 
@noɥʇʎPʎzɐɹC to be blunt. Python is a scripting language which promotes bad practice and ureadable, unmaintainable code. It's module system is difficult to manage making it impractical for large, open-source projects. While it may be easy to use, it lacks real namespaces, or a way to hierarchically order objects, classes are a mess... I could go on and on
 
For quick programs
 
^
 
@ASCII-only PyPy is fast
OK Ruby then
What about Ruby?
 
9:39 PM
we are not going to make a full-scale programming language in a scripting language
 
Scripting languages aren't meant to be for prod
 
@Downgoat aye, reddit mate.
 
Why the don't we just write it in bash?
 
@Downgoat ;_;
 
?
 
9:40 PM
Reddit and instagram are prod. They are written in "a scripting language". @Downgoat
 
@Downgoat but I want this to be full-scale as well
@noɥʇʎPʎzɐɹC Wait really? Proof?
 
@noɥʇʎPʎzɐɹC who said reddit and instagram were great
 
@ASCII-only here's the source code for reddit: github.com/reddit/reddit
 
anyway, python is OK for backends but this is not a backend
 
What about Ruby?
GitHub is written in Ruby.
 
9:41 PM
...
pls stahp arguing this
 
Yeah, Python/Node/Ruby are fine for webservers
You don't need fast code
 
we've descided a language and now we're juts going in a loop
 
so you're arguing over which language to write it in?
 
But when we want fast code we need a fast interpreter
 
backends and scripting are pretty much the only uses of python/node/ruby/etc.
 
9:42 PM
I'm playing devil's advocate.
Woah dude, Idea, mate!
We use RPython, a lang specifically designed for parsers. It made PyPy. It is statically typed
 
@HelkaHomba would you like to join the org to halp contribute?
 
Statically typed.
 
1 min ago, by Downgoat
pls stahp arguing this
pls
 
@ConorO'Brien You are confused, aren't you...
 
@Downgoat I'd agree. That compounds the slowness of interpreting
 
9:43 PM
pls, hear me out, pls
@HelkaHomba PyPy.
Or RPython. PyPy is written in that.
RPython is python but statically typed and faaaaaaaaast
And for interpreters
 
@ASCII-only do i have permission to kick-mute :/
 
Yeah why not just don't abuse RO powers
 
kthx
 
What will make this scripting language better/different than all the others out there? (other that it's made by PPGC and a useful learning experience which I agree are valid points)
 
Performance and readability
Ruby is weird, JS is pretty slow plus no fast arbitrary precision, Python doesn't have proper classes etc
 
9:46 PM
^
 
imo Python is already pretty readable (and outperforming it seems unlikely for a casual internet project like this, no offence :3)
 
slightly different from cheddar that this focuses on readability over features
8 mins ago, by Downgoat
@noɥʇʎPʎzɐɹC to be blunt. Python is a scripting language which promotes bad practice and ureadable, unmaintainable code. It's module system is difficult to manage making it impractical for large, open-source projects. While it may be easy to use, it lacks real namespaces, or a way to hierarchically order objects, classes are a mess... I could go on and on
 
@ASCII-only why not proper classes? We use classes all the time. We even have metaclasses, multiple inheritance, super methods
Brainf**k

Pros

A huge library & community
Easy to write in
Production apps like nothing EVERYTHING
Free + open source
Tastes like bacon
Non-GMO, 100% Organic, and free-range
Cons
There are none.
 
@noɥʇʎPʎzɐɹC no proper getters/setters, operator overloading syntax is ugly
Pretty much the reason Pytek and Cheddar are in progress
 
Though I've always wanted a select...case in python...
 
9:48 PM
ok @noɥʇʎPʎzɐɹC this is getting annyoing, pls stahp
 
@HelkaHomba Performance will be a bonus, readability will be the primary goal
 
is it C-style?
 
@ASCII-only getters and setters do exist. They are property().
 
Hmm
 
9:49 PM
getters + setters exist in python
 
Took server offline, can put it back up if anyone wants but need to do soething
 
@ASCII-only here's an example:
class A(object):
   @property
   def var_name(self):
      return value
   @var_name.setter
   def this_name_is_private(self):...
 
@ConorO'Brien VSL?
 
@ConorO'Brien C-derived? Yes
@noɥʇʎPʎzɐɹC That is ew
 
@Downgoat yes
 
9:52 PM
partially
 
@ASCII-only Better than C++.
 
My request - Add this handy syntax to for loops:
for x, y, z in range(10), range(20), range(30):
	#loop code

#Is the same as writing:

for x in range(10):
	for y in range(20):
		for z in range(30):
			#loop code
 
D: Python syntax
@HelkaHomba Okay
 
Y U PPL H8 PYTHON, M8!?
 
@HelkaHomba what if range(20) was replaced with a dictionary
 
9:54 PM
@HelkaHomba BTW you can add it yourself here
 
how would you get both key and value?
 
@Downgoat Wouldn't it be myDict[y] like normal?
 
I'd think y would be (k, v)
 
@HelkaHomba oh
i thought like:
 
Still, why not PyPy? Whitespace. Deal with it. Ugly operator overloading syntax. Deal with it, that's still better than C++ syntax. Back-ends only? Who said that! PyPy's performance is almost equal to that of C++'s.
 
9:55 PM
for k,v in dict {
}
@noɥʇʎPʎzɐɹC We are not using PyPy and are using C++, that is the end of it, please.
 
@noɥʇʎPʎzɐɹC Oh, why we aren't using PyPy? Because most people here are not familiar with Python/don't like Python
 
Why not Rust, then?
 
What be this
 
@noɥʇʎPʎzɐɹC If you want to try to do it in RPython/PyPy, sure, but I doubt many of us are going to help because Python
@noɥʇʎPʎzɐɹC Because hardly anyone is familiar with rust
 
@ASCII-only still easier than using c++
 
9:57 PM
@quartata basic spec
@noɥʇʎPʎzɐɹC For many it isn't easier
 
@noɥʇʎPʎzɐɹC Do you even know C++?
I mean it is pretty simple
take 15 minutes to understand basic memory functions and you're good
it's not like it's coding an executable in hex editor
 
@Downgoat I've spent way more than 15 minutes trying to figure C++ out
 
@Downgoat idk, I'm thinking python syntax where you (can) just loop over the key. But tweak the syntax to your needs
 
i guess we could do for (k, v) in dict
the dict's iterator could return a tuple
and that would destructure it
@ASCII-only generator syntax idea?
 
@Downgoat -1. I've taken multiple C/C++ college classes and still get tripped up by memory management. But yes, much faster for something serious.
 
9:59 PM
OK C++ it is then
 

  last day (958 days later) »