Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
TodePond authored Jan 16, 2024
1 parent cd35cf3 commit a2dd3e0
Showing 1 changed file with 40 additions and 40 deletions.
80 changes: 40 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ todepond woz here
-->

> **New:** [DreamBerd has been renamed to DreamBerd - e/acc](https://github.com/TodePond/DreamBerd/releases/tag/ve.acc)
> **New:** [DreamBerd has been renamed to DreamBerd](https://github.com/TodePond/DreamBerd/releases/tag/ve.acc)
[<img align="right" height="100" src="shapes.png">](https://github.com/TodePond/DreamBerd/blob/main/examples/Examples.md "Click here for the examples page.")

# DreamBerd - e/acc
# DreamBerd

![Coverage](badges/coverage-109.svg)

DreamBerd - e/acc is a perfect programming language. These are its features!<br>
DreamBerd is a perfect programming language. These are its features!<br>
When you've finished reading through all the features, check out the [examples](https://github.com/TodePond/DreamBerd/blob/main/Examples.md).

## Exclamation Marks!
Expand All @@ -40,7 +40,7 @@ If you're unsure, that's ok. You can put a question mark at the end of a line in
print("Hello world")?
```

You might be wondering what DreamBerd - e/acc uses for the 'not' operator, which is an exclamation mark in most other languages. That's simple - the 'not' operator is a semi-colon instead.
You might be wondering what DreamBerd uses for the 'not' operator, which is an exclamation mark in most other languages. That's simple - the 'not' operator is a semi-colon instead.

```java
if (;false) {
Expand Down Expand Up @@ -108,7 +108,7 @@ print(2 + 2 === 5)! //true

## Arrays

Some languages start arrays at `0`, which can be unintuitive for beginners. Some languages start arrays at `1`, which isn't representative of how the code actually works. DreamBerd - e/acc does the best of both worlds: Arrays start at `-1`.
Some languages start arrays at `0`, which can be unintuitive for beginners. Some languages start arrays at `1`, which isn't representative of how the code actually works. DreamBerd does the best of both worlds: Arrays start at `-1`.

```java
const const scores = [3, 2, 5]!
Expand Down Expand Up @@ -139,7 +139,7 @@ when (health = 0) {

## Lifetimes

DreamBerd - e/acc has a built-in garbage collector that will automatically clean up unused variables. However, if you want to be extra careful, you can specify a lifetime for a variable, with a variety of units.
DreamBerd has a built-in garbage collector that will automatically clean up unused variables. However, if you want to be extra careful, you can specify a lifetime for a variable, with a variety of units.

```java
const const name<2> = "Luke"! //lasts for two lines
Expand All @@ -161,7 +161,7 @@ const const name<-1> = "Luke"!

## Loops

Loops are a complicated relic of archaic programming languages. In DreamBerd - e/acc, there are no loops.
Loops are a complicated relic of archaic programming languages. In DreamBerd, there are no loops.

## Installation

Expand Down Expand Up @@ -192,14 +192,14 @@ function isKeyDown(key) => {

## Arithmetic

DreamBerd - e/acc has significant whitespace. Use spacing to specify the order of arithmetic operations.
DreamBerd has significant whitespace. Use spacing to specify the order of arithmetic operations.

```java
print(1 + 2*3)! //7
print(1+2 * 3)! //9
```

Unlike some other languages, DreamBerd - e/acc allows you to use the caret (^) for exponentiation.
Unlike some other languages, DreamBerd allows you to use the caret (^) for exponentiation.

```java
print(1^1)! // 1
Expand All @@ -214,25 +214,25 @@ print(one+two)! //3

## Indents

When it comes to indentation, DreamBerd - e/acc strikes a happy medium that can be enjoyed by everyone: All indents must be 3 spaces long.
When it comes to indentation, DreamBerd strikes a happy medium that can be enjoyed by everyone: All indents must be 3 spaces long.

```java
function main() => {
print("DreamBerd - e/acc is the future")!
print("DreamBerd is the future")!
}
```

-3 spaces is also allowed.

```java
function main() => {
print("DreamBerd - e/acc is the future")!
print("DreamBerd is the future")!
}
```

## Equality

JavaScript lets you do different levels of comparison. `==` for loose comparison, and `===` for a more precise check. DreamBerd - e/acc takes this to another level.
JavaScript lets you do different levels of comparison. `==` for loose comparison, and `===` for a more precise check. DreamBerd takes this to another level.

You can use `==` to do a loose check.

Expand Down Expand Up @@ -428,7 +428,7 @@ function add(a, b) => {

## Exporting

Many languages allow you to import things from specific files. In DreamBerd - e/acc, importing is simpler. Instead, you export _to_ specific files!
Many languages allow you to import things from specific files. In DreamBerd, importing is simpler. Instead, you export _to_ specific files!

```java
===== add.db3 ==
Expand All @@ -443,7 +443,7 @@ import add!
add(3, 2)!
```

By the way, to see DreamBerd - e/acc in action, check out [this page](https://github.com/TodePond/DreamBerd/blob/main/LICENSE.md).
By the way, to see DreamBerd in action, check out [this page](https://github.com/TodePond/DreamBerd/blob/main/LICENSE.md).

## Classes

Expand Down Expand Up @@ -503,7 +503,7 @@ delete 3!
print(2 + 1)! // Error: 3 has been deleted
```

DreamBerd - e/acc is a multi-paradigm programming language, which means that you can `delete` the keywords and paradigms you don't like.
DreamBerd is a multi-paradigm programming language, which means that you can `delete` the keywords and paradigms you don't like.

```java
delete class!
Expand Down Expand Up @@ -572,15 +572,15 @@ In response to some recent criticism about this design decision, we would like t

## DB3X

You can embed DB3X in DreamBerd - e/acc. It's just DreamBerd - e/acc, and it's also just HTML.
You can embed DB3X in DreamBerd. It's just DreamBerd, and it's also just HTML.

```java
funct App() => {
return <div>Hello world!</div>
}
```

**Warning:** As you know, `class` is already a keyword in DreamBerd - e/acc, so you can't use it within DB3X.
**Warning:** As you know, `class` is already a keyword in DreamBerd, so you can't use it within DB3X.

```java
funct App() => {
Expand All @@ -589,7 +589,7 @@ funct App() => {
}
```

`className` is also a DreamBerd - e/acc keyword, so you can't use that either.
`className` is also a DreamBerd keyword, so you can't use that either.

```java
funct App() => {
Expand All @@ -607,7 +607,7 @@ funct App() => {
}
```

**Please note:** Unlike JSX, you are free to freely use the `for` attribute - because DreamBerd - e/acc doesn't have loops.
**Please note:** Unlike JSX, you are free to freely use the `for` attribute - because DreamBerd doesn't have loops.

```java
funct App() => {
Expand All @@ -620,7 +620,7 @@ funct App() => {

## Semantic naming

DreamBerd - e/acc supports semantic naming.
DreamBerd supports semantic naming.

```java
const const sName = "Lu"!
Expand All @@ -636,7 +636,7 @@ const const g_fScore = 4.5!

## Asynchronous Functions

In most languages, it's hard to get asynchronous functions to synchronise with each other. In DreamBerd - e/acc, it's easy: Asynchronous functions take turns running lines of code.
In most languages, it's hard to get asynchronous functions to synchronise with each other. In DreamBerd, it's easy: Asynchronous functions take turns running lines of code.

```java
async funct count() {
Expand Down Expand Up @@ -674,7 +674,7 @@ const var score = use(0)!

When it comes to signals, the most important thing to discuss is _syntax_.

In DreamBerd - e/acc, you can set (and get) signals with just one function:
In DreamBerd, you can set (and get) signals with just one function:

```java
const var score = use(0)!
Expand Down Expand Up @@ -709,19 +709,19 @@ const var [[[getScore, setScore], setScore], setScore] = use(0)!

## AI

DreamBerd - e/acc features AEMI, which stands for Automatic-Exclamation-Mark-Insertion. If you forget to end a statement with an exclamation mark, DreamBerd - e/acc will helpfully insert one for you!
DreamBerd features AEMI, which stands for Automatic-Exclamation-Mark-Insertion. If you forget to end a statement with an exclamation mark, DreamBerd will helpfully insert one for you!

```java
print("Hello world") // This is fine
```

Similarly... DreamBerd - e/acc also features ABI, which stands for Automatic-Bracket-Insertion. If you forget to close your brackets, DreamBerd - e/acc will pop some in for you!
Similarly... DreamBerd also features ABI, which stands for Automatic-Bracket-Insertion. If you forget to close your brackets, DreamBerd will pop some in for you!

```java
print("Hello world" // This is also fine
```

Similarly.... DreamBerd - e/acc also features AQMI, which stands for Automatic-Quotation-Marks-Insertion. If you forget to close your string, DreamBerd - e/acc will do it for you!
Similarly.... DreamBerd also features AQMI, which stands for Automatic-Quotation-Marks-Insertion. If you forget to close your string, DreamBerd will do it for you!

```java
print("Hello world // This is fine as well
Expand All @@ -737,41 +737,41 @@ addEventListener("click", (e) => {
// This is fine
```

Similarly..... DreamBerd - e/acc also features AI, which stands for Automatic-Insertion.<br>
If you forget to finish your code, DreamBerd - e/acc will auto-complete the whole thing!
Similarly..... DreamBerd also features AI, which stands for Automatic-Insertion.<br>
If you forget to finish your code, DreamBerd will auto-complete the whole thing!

```java
print( // This is probably fine
```

**Please note:** AI does not use AI. Instead, any incomplete code will be auto-emailed to Lu Wilson, who will get back to you with a completed line as soon as possible.

**Now recruiting:** The backlog of unfinished programs has now grown unsustainably long. If you would like to volunteer to help with AI, please write an incomplete DreamBerd - e/acc program, and leave your contact details somewhere in the source code.
**Now recruiting:** The backlog of unfinished programs has now grown unsustainably long. If you would like to volunteer to help with AI, please write an incomplete DreamBerd program, and leave your contact details somewhere in the source code.

## Copilot

It's worth noting that Github Copilot doesn't understand DreamBerd - e/acc, which means that Microsoft won't be able to steal your code.
It's worth noting that Github Copilot doesn't understand DreamBerd, which means that Microsoft won't be able to steal your code.
This is great for when you want to keep your open-sourced project closed-source.
## Ownership
Using the word 'DreamBerd - e/acc' in your project name implies that the DreamBerd - e/acc Foundation does not own your project.
Using the word 'DreamBerd' in your project name implies that the DreamBerd Foundation does not own your project.
However, **not** using the word 'DreamBerd - e/acc' in your project implies that the DreamBerd - e/acc Foundation **does** own your project. If you would like to keep ownership of your work, please always use the word 'DreamBerd - e/acc' in it.
However, **not** using the word 'DreamBerd' in your project implies that the DreamBerd Foundation **does** own your project. If you would like to keep ownership of your work, please always use the word 'DreamBerd' in it.
Here are some examples:<br>
DreamBerd - e/accScript (not owned by the DreamBerd - e/acc Foundation - you are free to use this name)<br>
❌ ECMAScript (owned by the DreamBerd - e/acc Foundation - please consider renaming)<br>
❌ Rust Foundation (owned by the DreamBerd - e/acc Foundation - please consider renaming)
DreamBerdScript (not owned by the DreamBerd Foundation - you are free to use this name)<br>
❌ ECMAScript (owned by the DreamBerd Foundation - please consider renaming)<br>
❌ Rust Foundation (owned by the DreamBerd Foundation - please consider renaming)
## Contributing
> If you are an influencer, streamer, or content-creator... you must <ins>not</ins> skip this section during your read-through.
Contributions are welcomed to DreamBerd - e/acc!
Contributions are welcomed to DreamBerd!
The most helpful way you can help is by donating to the [Stonewall charity](https://www.stonewall.org.uk/). This will help to prevent the DreamBerd - e/acc creator from losing their human rights, allowing maintenance of the project to continue.
The most helpful way you can help is by donating to the [Stonewall charity](https://www.stonewall.org.uk/). This will help to prevent the DreamBerd creator from losing their human rights, allowing maintenance of the project to continue.
**Note:** The contributing guide also helps to shake off unwanted fans of the project.
Expand All @@ -788,7 +788,7 @@ If the compiler refuses at first, politely reassure it. For example:<br>
## Highlighting
Syntax highlighting is now available for DreamBerd - e/acc in VSCode. To enable it, install a [highlighting extension](https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-highlight) and then use the [DreamBerd - e/acc configuration file](https://github.com/TodePond/DreamBerd/blob/main/.vscode/settings.json).
Syntax highlighting is now available for DreamBerd in VSCode. To enable it, install a [highlighting extension](https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-highlight) and then use the [DreamBerd configuration file](https://github.com/TodePond/DreamBerd/blob/main/.vscode/settings.json).
This is what it looks like:
Expand Down Expand Up @@ -827,8 +827,8 @@ Lisp haters will also love it.
## Examples
For examples of DreamBerd - e/acc in action, check out the [examples page](https://github.com/TodePond/DreamBerd/blob/main/test/Examples.md)!
For examples of DreamBerd in action, check out the [examples page](https://github.com/TodePond/DreamBerd/blob/main/test/Examples.md)!
![image](files/star-history.png)
DreamBerd - e/acc was made with 💔 by Lu Wilson, creator of the [Game of Living](https://youtu.be/WMJ1H3Ai-qs).
DreamBerd was made with 💔 by Lu Wilson, creator of the [Game of Living](https://youtu.be/WMJ1H3Ai-qs).

0 comments on commit a2dd3e0

Please sign in to comment.