Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

PL syntax theorizing

Name: Anonymous 2014-10-28 12:57

I'd just like to theorize for a moment.

1. What is the point of having 3 or 4 different braces in your language? In my opinion, if you have to use so much different symbols, your grammar is shit and you must be ashamed. The only valid reason I see for it is to differentiate between literals of different collection types (lists, arrays, dicts, sets etc). However, there is simply no reason to differentiate between operator() for functions and operator[] for collections. Just assume that function cannot be indexed and collection cannot be called.

2. Why can't we have multiword function names? Does getElementsByClassName(x) really more readable than ``get elements by class name (x)''? Also, how come so many languages still use case-sensitive identifiers? I thought case sensitivity was an artifact of olden days where you could not spare computational resources to normalize case of your identifiers. It is an antipattern and it gives you nothing whatsoever. Why keep it, C? Python? Javascript? Haskell? OCaml? (OK Haskell differentiating on first letter is cool, but keeping track of case of the remaining letters is fucking silly)

Name: OP 2014-10-28 13:10

Not a fucking lisp troll if anything

Name: Comment Syntax 2014-10-28 13:15

IMHO ;; is better than //, much easier to type. -- is about equal. # and % in perl and prolog are a fucking joke

As for multiline: Ocaml's (* *) is horrible, horrible horrible.. C's /* */ is the standard but kinda shitty. don't get me started on #ifdef

Name: Cudder !MhMRSATORI 2014-10-28 13:29

1. what is the point of having 3 or 4 different types of punctuation and capitalisation in your language. in my opinion. if you have to use so much different symbols. your grammar is shit and you must be ashamed. the only valid reason i see for it is to differentiate between literals of different collection types .lists. arrays. dicts. sets etc.. however. there is simply no reason to differentiate between operator.. for functions and operator.. for collections. just assume that function cannot be indexed and collection cannot be called.

2.
DO5I=1,10
DO5I=1.10


See also: http://c2.com/cgi/wiki?SyntacticallySignificantWhitespaceConsideredHarmful

And case-sensitivity is for both simplicity and readability.

Name: Anonymous 2014-10-28 14:46

>>4
Was going to rage until I realized that
And case-sensitivity is for both simplicity and readability.
IHBT

Name: Anonymous 2014-10-29 1:06

Ada is case insensitive.

Name: Anonymous 2014-10-29 8:53

>>6
Ada is an overall great language.

Name: Anonymous 2014-10-31 11:06

All arguments are named keyword arguments (like in Python and OCaml). You can use abbreviated versions, e. g. int shitfunc(int dick = 0, int shits, int pumpkins = 3) which can be called like int a = shitfunc(d=0, s=1, p=10)

Name: Anonymous 2014-10-31 18:14

>>1
1. You are right. Even in Racket, I use only the round braces. Clojure is fucking non-Lisp piece of shit, by the way, because of its ugly and unusable parenthetical zoo.
2. Already available. E.g. in Racket you can name your function |hax anus|.
You're right about case sensitivity though. It's one of the biggest things I hate about Linux. And you're right about Haskell too. I wish Racket was case-insensitive. It's probably possible to do with some renaming transformers, too.

Name: Anonymous 2014-10-31 19:57

>>9
2. But typing |some function| is fucking tedious. When I proposed true multi-word identifiers, I wanted to make typing readable identifiers with less effort (no shift pressing and no underscores).

Name: Anonymous 2014-11-01 0:28

Common Lisp
Scheme
Clojure

That is all.

Name: Carl H Programming 2014-11-01 0:43

>>11
Clojure has too much

Name: Anonymous 2014-11-01 6:21

>>10
Then how can you tell if (+ x y) isn't a call to the function + x or a call to the function + x y? Whitespace is too valuable to waste it in function names.

Name: Anonymous 2014-11-01 7:36

In 1976, still back in the USSR, I got a very serious case
of food poisoning from eating raw fish. While in the hospital, in the state
of delirium, I suddenly realized that the ability to add numbers in parallel
depends on the fact that addition is associative. (So, putting it simply,
STL is the result of a bacterial infection.)

Name: Anonymous 2014-11-01 7:51

>>14
Then systemd is probably the result of a Veneric disease because it spreads so fucking quickly.
Mac OS is the result of AIDS - ostensibly full of shit, but actually not very dangerous as it spreads only among gays.

Name: Anonymous 2014-11-08 16:24

I would fucking forbid octal. Leading zero octal literals are fucking nasty and treacherous shits.

>>> 08
File "<stdin>", line 1
08
^
SyntaxError: invalid token

Name: Anonymous 2014-11-09 3:56

>>16
go away pythonista

Name: Anonymous 2014-11-09 6:37

>>13
Here is an idea:
(+ x y) calls + on x and y
("+ x y") calls + x y
("+ x" y) calls + x on y

Name: Anonymous 2014-11-09 7:53

>>18
In Racket that would be

(+ x y)
(|+ x y|)
(|+ x| y)


A whole lot of fucking difference there, aye. In fact, Racket's variant is better because it doesn't make functions confusable with strings.

Name: Anonymous 2014-11-09 8:48

>>19
That wouldn't be a big problem because LISP type systems are a joke anyway.

Name: Anonymous 2014-11-09 9:08

>>18-19
Pig disgusting. Do you really like typing in those "s and |s?
Lose the sex-p notation altogether. It is trivial to convert expressions such as

suck metadick factory(config(param one), param two)

to your beloved application form like

(|suck metadick factory| (getitem 'config |param one|) |param two|)

Lisp has little to do with parsing. Lisp is an approach to evaluation. You can have decent syntax with lisp. Or a shitty language with lispy paren syntax (NewLisp).

Name: Anonymous 2014-11-09 9:10

check 'em dubz

Name: Anonymous 2014-11-09 9:11

>>21
Have an idea, structures such as keyvalues and lists can be implemented as functions that yield a desired element on application to a key (or set of keys). Since in a good language structures are locally immutable, linear types or otherwise, you can avoid implementing code that modifies them in place.

Name: Anonymous 2014-11-09 9:13

>>22
While checking your dubs I realized that I want to play an artillery game which features ammunition that leaps upon hitting flat ground. Any suggestions?
Or should we write our own /prog/ one, perhaps in Symta or BBCode?

Name: Anonymous 2014-11-09 9:16

>>21
You can have decent syntax with lisp
Yep, all Lisps have decent syntax. Because s-exps rule and anyone who says otherwise just has a shitty text editor.

Name: Anonymous 2014-11-09 19:42

>>21
pig-disgusting parentheses around arguments
Even Haskell and SML don't require that shit. Go back to Algol and its clones, faggot.

Name: Anonymous 2014-11-09 20:13

>>26
While I do too consider parens around arguments in function application pig disgusting, to me having it and multiword identifiers beats not having MWI and no PD parens.
I. e. I would prefer Haskell to have parens and MWI to the current unsafeThrowOSRuntimeErrorIfNot1.

Name: Anonymous 2014-11-09 20:24

>>27
The thing is, even if you put parentheses around arguments, you still have to separate them with spaces. And if there are spaces in the function name and between the arguments, they get visually confusing. The current scheme is more function-centric: make the function tight and monolith, and the arguments shall cluster behind it loosely. See, in functional programming functions should be the elite, and all the rest should be their servants.

Name: Anonymous 2014-11-10 1:24

|this notation| came from common lisp which predates racket.

Name: Anonymous 2014-11-10 1:50

>>1
Complexity with parsing

Name: Anonymous 2014-11-12 5:06

Complexity with Parsee!

Name: Anonymous 2014-11-16 16:56

>>28
Just use PD commas then?

Name: Anonymous 2014-11-20 0:40

Damn, it is for real.

Prototype is written in C, while primary implementation will be written in ATS.

ATS, the language compared to which C is a rapid prototyping language.

https://github.com/bbarker/M-N-K-Tic-Tac-Toe

Name: Anonymous 2014-11-20 5:50

>>33
Little to no type checking? Check. REPL? Check. Opinionated? Check.

Sounds like a prototyping language to me.

I'm just making stuff up, but the first two are srs.

Name: Anonymous 2014-11-20 7:51

sounds like you want forth OP

Name: Anonymous 2014-11-21 4:22

>>34
REPL? Check.

How could that be a bad thing?

Name: Anonymous 2014-11-21 5:37

>>36
that isn't a list of "bad things"

Don't change these.
Name: Email:
Entire Thread Thread List