Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New project ideas #2

Open
chicoxyzzy opened this issue Dec 1, 2016 · 6 comments
Open

New project ideas #2

chicoxyzzy opened this issue Dec 1, 2016 · 6 comments

Comments

@chicoxyzzy
Copy link

Lets collect good ideas here

@chicoxyzzy
Copy link
Author

chicoxyzzy commented Dec 1, 2016

  • @shit decorator (let's await for stage 3 first and drink vodka!)
  • ShitScript
  • twitter account @shitunderhood
  • eslint styleguide

@vyorkin
Copy link

vyorkin commented Dec 2, 2016

ShitScript ideas:

informal description

  1. written in JavaScript
  2. no statements, only expressions
  3. no var (variables are always declared in a global scope by default)
  4. no return – ShitScript returns the last evaluated expression
  5. no floating point numbers (only integers)
  6. no unary operators (?)
  7. no classes, no array's, no object's (except for console and window)

shitty ideas

  • allow using -, ?, ! in function names (no-camel-case)
  • super weird type coercions (or just some non-obvious implicit coercions result in string 'shit')
  • ; -> )))
  • === -> ====, !== -> !===
  • (...) -> [...]
  • function -> shit / fuck
  • try -> why-the-fuck-not
  • catch -> fucked-up
  • finally -> dont-fucking-care
  • say please to enable lexical scoping
  • you can't use a couple of numbers (e.g. 4 and 2) for no reason
  • x / 0 = Math.random()
  • if -> o-rly?
  • then -> ya-rly
  • else -> no-way
  • o-rly?-ya-rly-no-way for one-liners (without brackets)
  • . -> -> (works only for console and window)

an example program:

fuck wat[] {
  calculate!!![2, 0])))
}

shit calculate!!![y, x] please {
  z = 5)))
  why-the-fuck-not {
    o-rly? z % 2 ==== 0 {
      y / x)))
    } no-way {
      x / y)))
    }
  } fucked-up[e] {
    console.lol[e])))
  } dont-fucking-care {
    0)))
  }
}

P.S.: Not sure about using words fuck and shit everywhere (may be considered offensive)

To Be Continued...

@chicoxyzzy
Copy link
Author

chicoxyzzy commented Dec 2, 2016

There are some inconsistencies, lexical and semantic conflicts in your ideas but who gives the fuck anyway!

We can just ignore patch and minor versions and do breaking changes all the time! We should create the Committee, have irregular meetings and release new versions randomly. We can even create pseudorandom spec generator!

@chicoxyzzy
Copy link
Author

Lets discuss ShitScript design here https://github.com/shitjs/ShitScript

@bniwredyc
Copy link

eslint semicolons indent rule

Example:
function f(a, b) {
;;;;if (a + b > 0) {
;;;;;;;;return a;
;;;;} else {
;;;;;;;;return b;
;;;;}
}

@chicoxyzzy
Copy link
Author

image deoptimizer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants