last day (958 days later) » 

10:44 AM
room topic changed to PPCG semi-collaborative scripting language: (no tags)
 
 
7 hours later…
6:03 PM
@ASCII-only will have implicit type?
 
For functions I suggest a thing like this:
 
func name(args) {
    body
}
:P
 
name(args[: type])[: type] {
    body
}
Example:
 
so like no function keyword?
 
f(x: int, y: int): int {
    x * y;
}
 
6:05 PM
what about type: name(args: type) { body }
 
@Downgoat If functions are only top-level, this should not be a problem
 
e.g.
int: f(int: a, int: b) {
    a * b
}
 
But in a scripting language, effectively, fucntions can also be nested
 
^
 
@Downgoat Look really weird
 
6:06 PM
also lambdas
 
f: int(a: int, b: int) {
    a * b
}
 
@TheveryevilROFLcopter :/ it's basically C functions with :s
 
@TheveryevilROFLcopter I think first suggestion was better
perhaps also:
f(a: int, b: int) -> int {
    body
}
btw are we gonna make in C++?
 
¯\_(ツ)_/¯
 
6:08 PM
lets make with flex/bison :D
@ASCII-only gh org/repo pls so we can start werk
 
Flex/Bison don't want to build on my computer :/
 
;_;
install linux pls
 
I discovered this neat parser combinator for C: github.com/orangeduck/mpc
It works on my machine :D
But working with it is a pain
 
> Recursive Descent
 
@Downgoat What is the problem?
 
6:09 PM
say no to mpc
 
recursive descent is k = 0 i believe
 
Left-associative parsers can be made easily
Precedence is achieved with nested rules
 
yes, we shuold really be using LR parser for such a language
 
6:10 PM
recursive decent is practical for language's with a hell ton of properties
i.e. langs like:
var_name {
    keyword args
    keyword2 args
}
i.e. languages with different prefixes
since this is desined to be high-levelish
We'll probably have complex expression syntax
 
Recursive decent is not a problem with complex syntax
 
it will have killer time complexity
 
... not false
This is a list of notable lexer generators and parser generators for various language classes. == Regular languages == == Deterministic context-free languages == == Parsing expression grammars, deterministic boolean grammars == == General context-free, conjunctive or boolean languages == == Context-sensitive == == See also == Compiler-compiler List of lexer generators == References == == Notes == == External links == The Catalog of Compiler Construction Tools Open Source Parser Generators in Java...
 
idea: use VM for complication
Flex Bison is also super rapid fast
and easy debug
 
JIT compiling the language to a VM is actually a good idea
 
6:13 PM
though I'm not sure about speed
 
Script -> VM -> Machine code -> SPEED
 
we dont want all slowness of JVM
I think we should compile to LLVM
that way we can use LLVM optimizer
I have no idea how to properly perform code generation though
though everyone likes interpreted language
 
code generation is not too complicated
 
perhaps we could have both?
 
Lemme find one of my repos
 
6:15 PM
@TheveryevilROFLcopter No I mean like real code generation, not outputCode += "if ("
 
It's a mathematica-like thing compiling to a VM
 
hm :/
@TheveryevilROFLcopter halp what should we call language
"Ches++"?
 
@Downgoat ಠ_ಠ no
 
:O "GoatChes++"
 
6:18 PM
BEST NAEM EVR
 
PScript
'PPCG semi-collaborative scripting language' -> 'PPCG' -> 'P' -> 'PScript'
 
-1 can be used for bathroom humor
we have to avoid name ridicule from TNB as much as possible
 
okay, how about "VSL" :P
 
It's an acronym for something?
 
6:20 PM
oh
originally in very early planning stages of cheddar it was called "VSL"
it stood for "Versatile Scripting Language"
 
Possible CC: ANTLR3
LL(*) parser generator with EBNF syntax
(code/grammar separated, generated lexer)
 
LL still? :/
LL parser are usually created by amateurs tho
 
There is also Lemon: LALR(1), grammar/code mixed, external parser, only works with C
 
are we not using flex bison because it doesn't work on your computer?
you can run flex/bison in linux VM if thats the case
 
@Downgoat For some reason VirtualBox don't like my internet card
 
6:25 PM
;_;
y everything bork on ROFLCopter computer
 
his compter bork so ours dont
 
Flex/bison is not really borked
Just my linker don't want to link because flex generate it own main
 
did you install correct libraries too?
 
So it's more finally
 
oh
you need to do flex externally
 
6:26 PM
But TBH I only tried to compile a flex/bison code with CMake
 
idk how to cmake
have you tri Makefile/Makefile.in
 
No, I haven't tried automake
 
@betseg ;_;
@betseg btw do you hvae language naem suggesiton?
 
in The Nineteenth Byte, Aug 16 at 22:46, by Helka Homba
@ReleasingHeliumNuclei Please don't speak like this. It lowers the tone of one of the few (usually) civilized places on the internet.
 
plsae spkea ni corcret englhs
 
6:29 PM
i got my lesson ;_;
 
;_; but dis no TNB
we can spaek howevr we want
;_; @HelkaHomba y u sai dis
and no reprecussion :D
 
so dis r a uncivilizd plaec
 
yes
 
naem suggetoin: uncivlz'd
 
USL: USL Scripting Language
no one needs to know what the first U stands for
 
6:32 PM
:O backronym
 
@TheveryevilROFLcopter this is nother example
if we wanted to parse our own language name we need LR parser
otherwise infinite left recursion bork
 
@betseg recursive acronym*
 
what is this for?
 
a new scripting language
 
:D:D:D Flex/Bison work on my machine
@Downgoat <value> (('+' | '-') <value>)*
problem fixed
But anyway Flex/Bison work :D:D:D
 
6:38 PM
@Downgoat what happened to cheddar?
 
A mouse ate the cheese?
CSL -> Collaborative Scripting Language
Hey?
 
what lang is the interpreter
 
Ah we will probably do it in C/C++
 
@TheveryevilROFLcopter +1
 
6:50 PM
if we use c csl iz nice naem
 
@ConorO'Brien cheddar will still be a thing but this is more of a colaborative fast language
 
@Downgoat ah
 
PLZ SPAEK IN RIHGT ENGLIHS
 
nu
 
6:51 PM
@TheveryevilROFLcopter \o/ \o////// \\\\\oooo///// :::::::::DDDDDDDDDDDDDDDDDDD
 
if u spaek in rigth englihs i wil giv u cookie
 
^
 
i haev cookie rite next 2 me
 
75% of this looks like it was run through a shredder then glued back together
2
 
6:53 PM
of what?
 
this chat
 
ok lol
So what will be the name of the language?
 
so, lets assume we completed the spec. how do we build the interpreter?
 
With a compiler and a linker
 
@TheveryevilROFLcopter CSL is nice since we will use C/C++
@TheveryevilROFLcopter ಠ_ಠ
 
6:57 PM
@betseg @Downgoat @ConorO'Brien
 
I don't need to be pinged when I'm actively following the chat.
 
So the majority choose VSL
 
How dare swiss ches even be considered
 
Obviously a joke :P
But what do you don't like is swiss cheese?
 
Bcoz cheddar is better
Amirite
 
7:04 PM
So the thing will be named VSL
Now we need the syntax
And the paradigm
 
Python syntax /s
 
Ping me with the paradigm(s) you want for VSL
@TheveryevilROFLcopter Functional and imperative
gtg
 
@TheveryevilROFLcopter functional
 
7:28 PM
@TheveryevilROFLcopter OO & Functional
ಠ_ಠ for imperative
@betseg ಠ_ಠ
if we use python syntax then it is appropriate to name swiss
@TheveryevilROFLcopter pls maek GH repo
 
maek organization and add us
 
remind me what imperative is again
 
adjective
1.
absolutely necessary or required; unavoidable:
It is imperative that we leave.
2.
of the nature of or expressing a command; commanding.
3.
Grammar. noting or pertaining to the mood of the verb used in commands, requests, etc., as in Listen! Go!
Compare indicative (def 2), subjunctive (def 1).
noun
4.
a command.
5.
something that demands attention or action; an unavoidable obligation or requirement; necessity:
It is an imperative that we help defend friendly nations.
6.
Grammar.
the imperative mood.
 
thanks, that did not help
 
@ConorO'Brien its start at first line and then next line etc.
But not in good way
Its like python
 
7:32 PM
oh, like looping with gotos?
 
no one wants lang like python
 
> Many imperative programming languages (such as Fortran, BASIC, and C) are abstractions of assembly language.
C is an imperative lang?
 
I don't think that makes Python imperative, then
 
@betseg not really
i mean in strictest sense but idk
 
7:36 PM
imperative programming relies on changing the programs state
(from wikipedia)
 
Wait wat
ok i know nothin about anything please ignore the gaot
 
somebody who knows these stuff inform the gaot and me plz
 
^^^^^
 
Front
 
@Downgoat ಠ_ಠ
 
@TheveryevilROFLcopter yes
 
Y U DO DIS ;_;
 
;_; y u do dis, gaot sai y u do dos
 
@ConorO'Brien do you think they can create a lang ;_;
 
7:40 PM
I know we can
 
(Downgoat and I)
I know ROFL can, he's made neoscript
 
Pls lets maek cool logo
 
no.
we should actually work on the language :P
 
;_;
 
7:41 PM
i can be the logo :P
 
@TheveryevilROFLcopter owner / admin pls
@betseg ಠ_ಠ
@TheveryevilROFLcopter ;_; y u fergit inviet dragin
 
@Downgoat u r now owner
 
@TheveryevilROFLcopter :D thx
 
#include <stdio.h>
i begin code
 
7:43 PM
ಠ_ಠ
 
@Downgoat I invited Conor and ASCII-only
 
clearly first line should be folder
 
They just don't accepted the invite yet
 
ah
I did now
 
7:44 PM
btw what license?
MIT?
 
> 1,001 contributions in the last year
woah dragin
 
Apache-2 is good license
 
TBH I prefer GPL
 
@betseg yes
 
7:44 PM
@TheveryevilROFLcopter ;____; Y U LIE TO GAOT Q____Q
 
@Downgoat huh weird
Done
For some reason it wasn't saved
 
i can gimp i can inkscape i can logo
 
so agree we maek in C++?
 
Is tehre a legitimate use to a quaternion library?
 
this is going to be... interesting.
 
7:45 PM
@Downgoat C
 
WTFPL linscence ftw
 
FOR THE LOVE OF ANYTHING HOLY TYPE LIKE YOU LEARNED ENGLISH
>_<
 
@betseg well first we need to decide if we will have picture for logo or just fancy text?
 
(caps were accidental but I'll keep them there)
 
picture: gimp
text: inkscape
i can both
 
7:46 PM
C++ is hardly interfacable with C, and I think we want VSL to be interfacable with C
 
but this is a scripting language..
 
Python/Lua/Ruby are all interfacable with C
 
(FFI, native libraries)
 
VSL \o/ \o/
btw first, should we decide on commit format/verified/2FA/sign-off?
 
7:48 PM
git commit -S -am "lol"
 
I am working on the Makefile
 
@Downgoat something easy to remember
 
I can make an alias
git commit -S -s for commit?
and should use master/release/develop/feature branching format?
ok, you should be able to use git co to commit
 
how? o-O
do I need to do anything on my part to make this work?
 
actually idk
can you clone the repo and tell me the contents of .git/config
 
7:55 PM
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = github.com/vsl-lang/VSL
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
 
:(
ok run git config --global alias.co 'commit -S -s'
 
now, if i edit a file, i just git co?
 
yeah
 
cool
 
git co -a and all still works too
 

  last day (958 days later) »