« first day (3759 days earlier)      last day (1070 days later) » 
00:00 - 23:0023:00 - 00:00

11:00 PM
if (condition){stuff; moreStuff; joeMama; return 69;}
That is the superior way
No newlines
Just one line
 
Not JoeMama, a rickroll link.
@user I know, right!
 
Wzl
but in all seriousness, I hate curly braces and indentation because I hate statements. The only time you need (;) or (,) is statements and tuples/lists in SML
 
What's the alternative to statements?
 
Expressions
 
Wzl
expressions, recursion, and parameter passing
 
11:02 PM
Ninja'd
1/3
 
I like how Rust does it
 
Wzl
the implicit return?
 
You can write code as if things are statements, but things like if/else are actually expressions
Implicit return is gross, not that part
 
Wzl
yeah ruby did a surprisingly large amount right, minus newlines and keywords
 
11:03 PM
@RedwolfPrograms Why is it gross?
 
What is this, TI-BASIC? Should I use the Ans variable to get the result? :p
 
@user How is that not one of Java's many SyntaxErrors
 
@RedwolfPrograms To me, val foo = if (something) { return x } else { return y } just looks awkward
@Ausername It's a label
Try it in JS and C too
 
@user What on earth is that
 
Wzl
having return at all is gross. I disagree with trailing semicolons meaning anything though
 
11:05 PM
Why is there both return and val foo =
Is this a function or not
 
@Ausername The stuff after // is a comment, that's ignored. The statement System.out.println is considered has the label https
@RedwolfPrograms That's what I was saying, it looks gross
 
@user Oh.
 
@RedwolfPrograms val foo = if (something) x else y makes much more sense
 
But...yeah. I agree with that.
 
"Implicit return" or whatever it's called makes sense
 
11:06 PM
You shouldn't need to return from an if/else statement
 
val foo = something ? x : y
 
What were you talking about, then?
 
Functions
 
def foo(bar: Int) = {
  //some computations
  baz(bar, food)
}
What about that is gross?
 
Wzl
@user line comments are gross :)
 
11:08 PM
Idk, maybe just lots of time using JS _/(.-.)\_
 
What is that emoticon?
 
Upside down shrugging
 
lol
 
Wzl
@user I see you used my indent style :(
 
@Wzl Lisp has line comments
 
Wzl
11:09 PM
so I'm fixing that
lisp made other mistakes like string escapes too
 
@Wzl I think I need therapy now
@Wzl What's wrong with escapes? They're very useful. Allowiong raw literals in addition to that is important, though
 
String escapes are bad now?!
 
Wzl
(actually I'm considering abandoning all string literals because they cause problems)
@RedwolfPrograms YES
 
How???
@Wzl "Actually, I'm considering abandoning all food because it causes problems" :P
 
"Allowing my interpreter to run arbitrary code is causing issues"
 
Wzl
11:12 PM
@user say you make a new regex flavor that supports one extra character class like \w, now you have to use double backslashes or, slightly better, use a different escape character too, which you now have to double to include verbatim
 
@Wzl This is why you also allow raw string literals
 
Wzl
whereas with APL/smalltalk/SQL literals you can just have a function that does escaping
 
So "foo\"\nbar" for normal stuff, and raw"foo\w\n" for regex and stuff
 
What if you want the string "'
 
@Wzl I find that extremely annoying
 
11:13 PM
^
 
Wzl
@user yes, except for
 
Wzl
@user and I find backslashes annoying
 
How do those cause problems?
@Wzl Use another character, then
 
Wzl
@RedwolfPrograms they remove greppability and the ability to parse (easily) with regex
 
11:14 PM
I find people annoying. That doesn't mean I'm going to eliminate them all
 
@Wzl So you're moving the burden onto the user instead of the interpreter
 
@Wzl Parsing with regex isn't an important thing
 
That's not good design
 
Wzl
@RedwolfPrograms that's why I'm still thinking about it.
 
Any moderately complex language probably can't be parsed with regex, that's not what it was made for
 
11:15 PM
It was designed explicitly for HTML
 
Wzl
but with raw literals and a regex function, it's moveing the burden to the standard library, not the user
 
If you really want to make parsing easier, make regex better. Maybe mix it with BNF
 
Wzl
@user I hate moderately complex languages btw
 
@RedwolfPrograms I can't tell if you're joking you were making a joke
@Wzl I can't tell if you were making a joke either
 
Wzl
@user regexes are already not regular expressions anymore, but i do think grammars are important, in a library
 
11:17 PM
@Wzl The user still has to deal with annoying stdlib functions instead of having native support
 
I like my regexp like thing where you could use (name:abc.+) to define things for recursion
 
Wzl
@user I'm laughing at myself, but I'm not joking
 
A language's syntax should be designed to be easy to use and understand. That does mean it should be simple, but not that you can validate/match it with a regex flavor
 
And there's a balance between simple to interpret and simple to write
 
Wzl
11:18 PM
@user you have to use functions to use regex anyway (outside of perl). So replace and match automatically convert to regex. simple.
 
Brainfuck is pretty simple, but not to use
 
Wzl
@user debatable :P
 
Even if you have a grammar that regex could be used on, why use it when you could parse it properly? (maybe tokenize it first)
@Wzl Simple for the implementor (hau two spel?), not the user
@Wzl Everything's debatable if you're brave enough
 
JS has regexp literals, maybe we should all just write languages with those :p
 
Wzl
@user '.*' match is not any harder than .match(/.*/)
 
11:20 PM
CMP: Who thinks all syntaxes (syntices??) should be made as complex as possible so that Wzl gets annoyed? :P
3
@Wzl Okay?
It looks simpler, but I don't see how that helps your point
 
Wzl
that's the syntax I'm proposing
 
Oh ok
 
What about regexes with \b and friends?
 
Still don't see how this is easier for people, though
^^
 
Or with ' in them?
 
11:23 PM
You're always going to have to use some form of escape characters, unless you decide to do 'foo' + chr(32) + 'bar' to represent the string foo'bar (no idea what the ASCII actually is :) )
 
Wzl
@RedwolfPrograms '/\b''' match versus .match(/\/\b'/)
 
So '' for a '? That's still escaping.
 
^
 
Wzl
yes, but without taking any more characters, or hardcoding any shortcuts
 
Plus I'd argue \' is more readable
 
11:24 PM
It's just a very limited, very annoying form of escaping
 
And using \ makes adding things like \n convenient
 
I'm getting too involved in this debate, so I'm going to leave now. o/
 
Wzl
@RedwolfPrograms newline is more readable :)
 
You're not getting too involved in this debate, so I'm going to leave now. o/, you're user!
Misspelt Java:
 
Wzl
11:29 PM
I probably shouldn't have started this chat/argument/debate in the first place :/, but I like to rant
 
What is the debate?
 
Wzl
see above link
 
ah
 
pablik claz man{
    tatik man(stwig[] argz){
      siztem.owt.pritLin('Hello, world!')
    }
}
Misspelt Java
 
Wzl
*subscribes*
 
11:32 PM
Misspelt Python?
 
*Pithon
 
Yes
 
public class Foo {
   public @NotNull String @Nullable [] @NotNull [] foo(String[]... a[]) @Nullable [] { return null; }
}
I'm actually not sure if that's syntactically valid, but I'm like 70% sure it is, and that it fulfills its method contract
 
You're not actually not sure if that's syntactically valid, but I'm like 70% sure it is, and that it fulfills its method contract, you're user!
Permission to make a bot that does that automatically so I don't have to?
 
PLEASE DON'T
 
11:36 PM
Awwww....
 
Wzl
@ hyperneutrino please delete this username as a sock of lyxal
 
:P
 
Is this the troll that I heard about on MSE?
 
@Wzl Don't blame A username, it's just that they have lyxalitis
 
@Wzl Hey!
 
11:37 PM
@forest No, Wzl was kidding
 
oh lol
 
@user Oh no...
 
The troll doesn't seem to have come back again after that
@forest Lyxal is a user who started saying "No, you're not JoKing, you're <insert name>" whenever someone said "I'm joking, ..."
(context: JoKing is a mod here)
 
@user Lyxal started that?
 
11:38 PM
I think so. That's why lyxalitis was named after them
 
GRT seems to be working
 
GRT?
 
I'll wait for one more suggested edit task, then I'll release it :p
@Ausername Generic Review Tool
An alternative to Review Stalker Reloaded
 
There are never any reviews :P
 
And a much better one, IMO :p
 
Wzl
 
@Ausername That's why sniping them is so important
 
@Wzl Um...
@RedwolfPrograms Use NMP!
 
CMQ: Feature suggestions for GRT?
 
11:44 PM
Waits a minute for everyone but you so you always get them?
I don't really care.
 
Wzl
@RedwolfPrograms I've always thought goats needed wheels for practicality
and style
 
I'm thinking an option to ignore certain review types would be nice, that was a request I saw for RSR
For 1.0 I'll keep it very minimal though.
false == undefined and false == null are some of the dumbest parts of JS
Same with false == 0 and undefined == 0 (and null == 0)
 
It turns out you can't use the legacy array notation with varargs, but you can still do some crazy stuff
@Wzl Me too. Mountain goats might need some modifications, but even so, a couple wheels would look very chic
 
Would the wheels replace the legs, or just be at the bottom of them?
Wheels on legs would look bad.
 
Nah, they'd be attached on the sides
 
11:49 PM
Okay good
 
The things attaching the wheels to the goats would be able to be moved by the goats so they could climb and stuff
Also, there should be functionality to let the goats spin around and make them transcend to Downgoats
 
Wzl
@RedwolfPrograms both
*doesn't clarify*
 
Legs on wheels, duh
 
@user I'm thiking of naming this "Java by a drunk C programmer who dropped out of college"
@Wzl Hmm, so there'd be wheels on wheels? Sounds really interesting
 
CMQ: -> or => (or both, with different purposes?)
 
11:53 PM
-> for value lambdas, => for type lambdas
 
Type lambdas?
 
Wzl
@RedwolfPrograms configurable by the user :P
 
@RedwolfPrograms Yeah, lambdas, but for types
I guess that's not very helpful, let me find a link
 
Wzl
like a list is a function from a type to a type (int to a list of ints)?
 
Type Lambdas (this page is also not very helpful, but whatever)
@Wzl Pretty much, yeah. Type lambdas would allow you to define new type constructors (and higher-kinded types) inline
 
11:55 PM
I'll just make them synonyms
I want this to be mostly compatible with JS, aside from adding and removing what's obviously necessary
 
Scala 3 uses the syntax [K] =>> Map[K, String], but I think =>> looks ugly
@RedwolfPrograms Then just keep a fat arraow, and leave the thin arrow for maps or something
 
I like thin arrows though :p
 
Then screw JS and use just a thin arrow. Screw JS no matter what you do :P
 
Wzl
@Wzl I seriously think this is the best solution (ask me why and I'll tell you, but it'll take an hour)
 
@Wzl If different people use different arrows, they'll be confused when they see another person's code base. Configuring arrows should be okay, but I think some amount of standardization is necessary
 
11:57 PM
Should function x() { ... } also be allowed, or should I just get rid of that altogether?
 
I think just doing let x = (foo, args) => ...would be cool
As long as you let variables to refer to themselves in definitions, to allow recursion
What's this language for, btw?
 
But also less readable, IMO
 
I think some people prefer function/def, though.
@user A practical language that transpiles to JS
 
Then fn would be nicer because it's short and clear
@RedwolfPrograms Is that it or do you have any more goals?
 
Somewhat similar to JS where possible, and intuitive
 
00:00 - 23:0023:00 - 00:00

« first day (3759 days earlier)      last day (1070 days later) »