Skip to content

Releases: TodePond/DreamBerd

The Real Truth About DreamBerd

08 Nov 10:23
Compare
Choose a tag to compare

Last week, we revealed the truth about DreamBerd:

DreamBerd's true purpose is to make fun of JavaScript. Just look at this abomination:

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

That's the kind of high level satire you can expect from DreamBerd.

Except... That's not the truth. Here's the real truth:

The Real Truth About DreamBerd

DreamBerd's true purpose is to make fun of people who make fun of JavaScript. Just look at this abomination:

Just look at this abomination.

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number'. But 'not a number' is a 'number' as part of the IEFFFF spec. You probably didn't know this.

That's the kind of high level satire you can expect from DreamBerd.

Except... That's not the truth. Here's the real truth:

The Real Truth About DreamBerd

DreamBerd's true purpose is to make fun of people who make fun of people who make fun of JavaScript. Just look at this abomination:

Just look at this abomination:

Just look at this abomination.

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number'. But 'not a number' is a 'number' as part of the IEFFFF spec. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is a 'number'. But if you look closely at the name of 'not a number', you'll notice that it says 'not a number', not 'a number'. You probably didn't know this.

That's the kind of high level satire you can expect from DreamBerd.

Except... That's not the truth. Here's the real truth:

The Real Truth About DreamBerd

DreamBerd's true purpose is to make fun of people who make fun of people who make fun of people who make fun JavaScript. Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination.

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number'. But 'not a number' is a 'number' as part of the IEFFFF spec. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is a 'number'. But if you look closely at the name of 'not a number', you'll notice that it says 'not a number', not 'a number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number' as if any of this matters. When push comes to shove, our reality has no meaning, and there's no point in arguing about anything. You probably didn't know that.

That's the kind of high level satire you can expect from DreamBerd.

Except... That's not the truth. Here's the real truth:

The Real Truth About DreamBerd

DreamBerd's true purpose is to make fun of people who make fun of people who make fun of people who make fun of people who make fun of JavaScript. Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination.

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number'. But 'not a number' is a 'number' as part of the IEFFFF spec. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is a 'number'. But if you look closely at the name of 'not a number', you'll notice that it says 'not a number', not 'a number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number' as if any of this matters. When push comes to shove, our reality has no meaning, and there's no point in arguing about anything. You probably didn't know that.

Yeah, you read that right. They think that nothing matters. But they could just go outside and touch grass. If they went to the gym, or created a child as soon as possible, they'd find meaning in their life. You probably didn't know this.

That's the kind of high level satire you can expect from DreamBerd.

Except... That's not the truth. Here's the real truth:

The Real Truth About DreamBerd

DreamBerd's true purpose is to make fun of people who make fun of people who make fun of people who make fun of people who make fun of people who make fun of JavaScript. Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination.

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number'. But 'not a number' is a 'number' as part of the IEFFFF spec. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is a 'number'. But if you look closely at the name of 'not a number', you'll notice that it says 'not a number', not 'a number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number' as if any of this matters. When push comes to shove, our reality has no meaning, and there's no point in arguing about anything. You probably didn't know that.

Yeah, you read that right. They think that nothing matters. But they could just go outside and touch grass. If they went to the gym, or created a child as soon as possible, they'd find meaning in their life. You probably didn't know this.

Yeah, you read that right. They're trying to make out that they're not a nerd like everyone else reading this. (Also getting weird vibes from that child comment). Really, they shouldn't have kids. They should stay single, live in the dark, and work overtime all day to make their startup a success. Too many people don't want to work nowadays. You probably didn't know this.

That's the kind of high level satire you can expect from DreamBerd.

Except... That's not the truth. Here's the real truth:

The Real Truth About DreamBerd

DreamBerd's true purpose is to make fun of everyone. Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination.

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number'. But 'not a number' is a 'number' as part of the IEFFFF spec. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is a 'number'. But if you look closely at the name of 'not a number', you'll notice that it says 'not a number', not 'a number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number' as if any of this matters. When push comes to shove, our reality has no meaning, and there's no point in arguing about anything. You probably didn't know that.

Yeah, you read that right. They think that nothing matters. But they could just go outside and touch grass. If they went to the gym, or created a child as soon as possible, they'd find meaning in their life. You probably didn't know this.

Yeah, you read that right. They're trying to make out that they're not a nerd like everyone else reading this. (Also getting weird vibes from that child comment). Really, they shouldn't have kids. They should stay single, live in the dark, and work overtime all day to make their startup a success. Too many people don't want to work nowadays. You probably didn't know this.

Yeah, you read that right. Both sides are as bad as each other. But not me. I'm above all that. You probably didn't know this.

That's the kind of high level satire you can expect from DreamBerd.

Except... That's not the truth. Here's the real truth:

The Real Truth About DreamBerd

DreamBerd's true purpose is to make fun of people who make fun of everyone. Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination:

Just look at this abomination.

typeof NaN === "number"

Yeah, you read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Yeah, you read that right. They think that 'not a number' is 'not a number'. But 'not a number' is a 'number' as part of the IEFFFF spec. You probably didn't know this.

Yeah, ...

Read more

DreamBerd is winding down

25 Oct 10:09
c56dcd4
Compare
Choose a tag to compare

When we started a startup

When we started a startup,
we had one mission:

Amass billions of dollars of wealth.

Despite raising Β£500 in our pre-seed
(thanks to a last minute investment)
We weren't able to achieve our goal
and we've decided to wind down the company.

All DreamBerd employees have been fired.
They have little chance
of finding a new job in this market.

Many will have to sell their homes.
And skip meals.

A message to our users

Sorry to those of you relying on DreamBerd software.
We'll be transferring your accounts to Google Domains in the coming weeks.

Keep dreaming.

Lu Wilson
ex-CEO of the DreamBerd Foundation

The Truth About DreamBerd

30 Oct 12:51
c56dcd4
Compare
Choose a tag to compare

Last week, we shut down the company, so there's no need to stay in character anymore.

For the first time ever, these release notes will contain no jokes, no sarcasm, and no humour of any kind. Instead, it's time to answer all the questions you ask us most. Questions like...

β€’ Is DreamBerd a joke?
β€’ What is DreamBerd making fun of?
β€’ Will you accept my PR full of offensive jokes?

It's time to answer them all. No more lies! Here's the truth:

The Truth About DreamBerd

Is DreamBerd a joke?

Yes.

What is DreamBerd making fun of?

DreamBerd is making fun of JavaScript.

JavaScript is a terrible language, full of terrible design decisions. Just look at this abomination:

!!!!!!!true

Yeah... You read that right. JavaScript lets you put multiple exclamation marks at the start of a line. Dreamberd mocks this by allowing you to put multiple exclamation marks at the end of the line.

That's the kind of high-level satire you can expect from DreamBerd.

Here's another one:

typeof NaN === "number"

Yeah... You read that right. JavaScript thinks that 'not a number' is a 'number'. You probably didn't know this.

Not everyone will get these jokes. You have to be thinking quite laterally.

Will you accept my PR full of offensive jokes?

No.


Tune in next week for more DreamBerd release notes.

If you love anti-javascript humour, then you'll love my video about how bad it is. Watch (or re-watch) it here.

Announcing DreamBerd's Β£460 pre-seed

20 Oct 16:19
3b75464
Compare
Choose a tag to compare

Hello investors and stake-holders (and community).

Today on this very day we announce our highly successful pre-seed round.

We're the best! Please remember that.

The damage

A whopping 42 of you invested a total of Β£460.18 in the DreamBerd Foundation. As promised, all your money has gone towards fighting conversion therapy.

We're against conversion in all its forms, whether that's implicitly interpreting a number as a string, or making a trans person kill themselves.

As such, we've now donated Β£460.18 to the Stonewall charity. Thank you for making this possible!

For full transparency, we've posted up full anonymised info about the fundraise. Keep us honest by checking that your investment has been included! Unfortunately the sweet wrapper deal fell through due to logistical issues.

The moment

Did you miss a chance to invest? Don't worry! Nothing is stopping you from donating directly to Stonewall right now. Or if you prefer, simply find your nearest queer person, and ask for advice on how to help.

If you don't know any queer people then maybe you should.

The future

The internet is a strange place. It brings out the best and worst in people, myself included. What does it bring out in you?

See you next week,
Lu x

image

Investor email

10 Oct 10:17
c709ec4
Compare
Choose a tag to compare

In the true spirit of open source, this investor email is shared with everyone.

Hello DreamBerd investors (all 29 of you).

First of all, thank you for your money. As of today, we've raised Β£181.81 and also a sweet wrapper1.

And now, we're happy to announce what your money will be spent on.

But first... a community update!

Community update

DreamBerd's investment round went viral on micro-blogging network, mastodon. That's where the vast majority of fundraising & discussion happened.

As an after-thought, it was also cross-posted to Elon Musk's X on twitter dot com. A small number of people enjoyed the 'sloppy seconds' of the event over there.

What your money will be spent on

Your money will be donated to the Stonewall charity. This will help to prevent the DreamBerd creator from losing their human rights, allowing maintenance of the project to continue.

This has been part of the DreamBerd docs for a long time. Even so, most influencers suspiciously skip that section when doing their read-through.

In the past, we've tried several times to raise money for similar causes. Unfortunately, all of these attempts fell flat. Very few people in the tech world seem interested in donating to an LGBT+ charity.

But everyone seems keen to donate to an imaginary programming language.

Projected growth

Following this announcement, we expect a slight change in growth.

Some people will become more keen to invest, and will donate more money. Others will become disinterested, and will quietly slip away. A small number of people will become actively offended.

Whatever you decide to do β€” we fully support you. Please continue/stop promoting DreamBerd. We do/don't want your good/bad vibes in our community. We hope you have a lovely/awful day.

A message from our founder

Stonewall is currently campaigning to get conversion therapy banned. If you don't know what conversion therapy is... It's like JavaScript type coercion, except it happens to queer people instead of strings.

Unfortunately, my government refuses to do anything about it. Our prime minister prefers to go on anti-trans rants.

Banning conversion therapy would be the absolute bare minimum. It's a form of psychological torture and it happens to more people than you think. For example, it's how I ended up as NaN-binary.

So...

🎡 Invest in DreamBerd! have some fun! support esoteric programming! and fight conversion therapy! 🎡

Invest now at dreamberd.computer. All of your money will be given to the Stonewall charity.

Thanks for reading this week's release notes. See you next week.

  1. sweet wrapper by verbal agreement only ↩

DreamBerd is raising a pre-seed

03 Oct 10:34
b8f91de
Compare
Choose a tag to compare

We tried to keep this one under wraps but the hype is too strong.

The rumours are true! DreamBerd is raising a pre-seed round.

We already have some big players on the table.

β€’ Β£10 - Sunil Pai (creator of partykit)
β€’ Β£10 - Alex Dytrych (creator of infinite scroll)
β€’ $35 - David Sheldrick (creator of patch-package)
β€’ sweet wrapper1 - Steve Ruiz (creator of tldraw)
β€’ Β£1 - Lu Wilson (creator of DreamBerd)

If you're interested in investing in DreamBerd, feel free to book a call via my calendly. But move fast - it's likely to fill up quickly. That's how hot DreamBerd is right now! πŸ”₯

Or if you're already convinced, simply head over to dreamberd.computer, and pick an amount that works for you. Then enjoy your new life as a DreamBerd investor!

Remember: Being a good investor isn't about making money. It's about having the best portfolio. Add DreamBerd to your arsenal today!

A message from our founder

Hi, it's Lu Wilson here, CEO of the DreamBerd Foundation.

Your valuable investment will be used to ensure the continued development of DreamBerd, the perfect programming language.

Unfortunately, maintaining DreamBerd has become a costly task. The language has become so popular that I now receive thousands of incomplete DreamBerd programs by email everyday. This has become too much for me to handle alone.

With your investment money, I'll be able to tackle the growing backlog of emails by paying for Replit's child labour services!

Thanks, and thanks for tuning into this week's DreamBerd update.

  1. sweet wrapper by verbal agreement only ↩

(The (parentheses (update)))

27 Sep 16:46
5e65b4c
Compare
Choose a tag to compare

Today we are pleased to announce DreamBerd 3.

With it, we introduce a brand new feature...

Parentheses

Parentheses in DreamBerd do nothing. They get replaced with whitespace.
The following lines of code all do the same thing.

add(3, 2)!
add 3, 2!
(add (3, 2))!
add)3, 2(!

Lisp lovers will love this feature. Use as many parentheses as you want!

(add (3, (add (5, 6))))!

Lisp haters will also love it.

(add (3, (add (5, 6)!

Bounties £££

There's a growing number of people attempting to build a DreamBerd compiler. We imagine that this update will decrease that number.

If you really want to make a DreamBerd compiler, we highly recommend that you target a smaller subset of the language. Please consider the following features optional:

  • Multiplayer const const const server
    Feel free to use a local store instead.
  • AI
    If your code has a compile-time error... but could potentially be 'un-errored' by adding more code... it's supposed to email me ([email protected]). But this kind of 'partial' parsing can be tricky. So feel free to ignore this, or only do it in certain cases.
  • Implicit strings
    If your code has a compile-time error... but could potentially be 'un-errored' by interpreting a certain part of it as a string... it's supposed to interpret the shortest possible amount as code as such. Again, this kind of 'possibility parsing' can be tricky. So feel free to ignore this, or only do it in a small number of cases.
  • Optional parentheses
    As of today, all parentheses are optional. Their use can mostly be replaced by significant whitespace. For function calling, your parser now needs to figure out the signature of every function, so that it can figure out which arguments are being passed to it. This is quite hard! Feel free to require parentheses.
  • ECMAScript
    Unless otherwise stated, DreamBerd is the same as ECMAScript. But that can take a lot of work to parse and compile, especially when combined with the other tricky aspects. So I highly recommend just sticking to the functions and features that appear in the DreamBerd documentation.

Even when ignoring these, making a DreamBerd compiler can be hard!
Therefore, the DreamBerd Foundation will pay the following rewards for these accomplishments:

  • Β£99 to a charity* of your choice - if you're the first person to make a DreamBerd compiler (with the above exceptions)
  • Β£99 to a charity* of your choice - if you're the first person to make a DreamBerd compiler (with NO exceptions)

Or do both at once to win Β£198 outright!

Many thanks,
Lu Wilson, CEO of the DreamBerd Foundation, please pay me money so I can afford these bounties.

*no techbro charities

Announcing DreamBerd 2

21 Sep 10:20
053d264
Compare
Choose a tag to compare

It's finally here.

Today we're launching DreamBerd 2, the sequel to the perfect programming language. We think you'll enjoy the new powers and possibilities that it brings.

Note: DreamBerd 2 is a full re-write, so please let us know about any bugs or issues that you find.

Keep reading for its new features! When you've finished reading through all the new features, check out the new examples.

New features

Exclamation marks!

Be bold! End every statement with an exclamation mark!

print("Hello world")!

If you're feeling extra-bold, you can use even more!!!

print("Hello world")!!!

If you're unsure, that's ok. You can put a question mark at the end of a line instead. It prints debug info about that line to the console for you.

print("Hello world")?

You might be wondering what DreamBerd 2 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.

if (;false) {
   print("Hello world")!
}

Declarations

There are four types of declaration. Constant constants can't be changed in any way.

const const name = "Luke"!

Constant variables can be edited, but not re-assigned.

const var name = "Luke"!
name.pop()!
name.pop()!

Variable constants can be re-assigned, but not edited.

var const name = "Luke"!
name = "Lu"!

Variable variables can be re-assigned and edited.

var var name = "Luke"!
name = "Lu"!
name.push("k")!
name.push("e")!

Immutable data

New for 2023!

Mutable data is an anti-pattern. Use the const const const keyword to make a constant constant constant. Its value will become constant and immutable, and will never change. Please be careful with this keyword, as it is very powerful, and will affect all users globally forever.

const const const pi = 3.14!

Naming

Both variables and constants can be named with any Unicode character or string.

const const firstAlphabetLetter = 'A'!
var const πŸ‘ = True!
var var 1️⃣ = 1!

This includes numbers, and other language constructs.

const const 5 = 4!
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 2 does the best of both worlds: Arrays start at -1.

const const scores = [3, 2, 5]!
print(scores[-1])! //3
print(scores[0])!  //2
print(scores[1])!  //5

New for 2022!

You can now use floats for indexes too!

const var scores = [3, 2, 5]!
scores[0.5] = 4!
print(scores)! //[3, 2, 4, 5]

When

In case you really need to vary a variable, the when keyword lets you check a variable each time it mutates.

const var health = 10!
when (health = 0) {
   print("You lose")!
}

Lifetimes

DreamBerd 2 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.

const const name<2> = "Luke"! //lasts for two lines
const const name<20s> = "Luke"! //lasts for 20 seconds

By default, a variable will last until the end of the program. But you can make it last in between program-runs by specifying a longer lifetime.

const const name<Infinity> = "Luke"! //lasts forever

Variable hoisting can be achieved with this neat trick. Specify a negative lifetime to make a variable exist before its creation, and disappear after its creation.

print(name)! //Luke
const const name<-1> = "Luke"!

Loops

Loops are a complicated relic of archaic programming languages. In DreamBerd 2, there are no loops.

Installation

To install DreamBerd to your command line, first install the DreamBerd installer.

To install the DreamBerd installer, install the DreamBerd installer installer.

New for 2022!

Due to the complicated installation process, you can now install the 'Create DreamBerd App' app that installs everything for you!

Booleans

Booleans can be true, false or maybe.

const var keys = {}!
addEventListener("keydown", e => keys[e.key] = true)!
addEventListener("keyup", e => keys[e.key] = false)!

function isKeyDown(key) => {
   if (keys[key] = undefined) {
      return maybe!
   }
   return keys[key]!
}

Technical info: Booleans are stored as one-and-a-half bits.

Arithmetic

DreamBerd 2 has significant whitespace. Use spacing to specify the order of arithmetic operations.

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

Indents

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

function main() => {
   print("DreamBerd 2 is the future")!
}

-3 spaces is also allowed.

   function main() => {
print("DreamBerd 2 is the future")!
   }

Equality

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

You can use == to do a loose check.

3.14 == "3.14"! //true

You can use === to do a more precise check.

3.14 === "3.14"! //false

You can use ==== to be EVEN MORE precise!

const const pi = 3.14!
print(pi ==== pi)! //true
print(3.14 ==== 3.14)! //true
print(3.14 ==== pi)! //false

If you want to be much less precise, you can use =.

3 = 3.14! //true

Functions

To declare a function, you can use any letters from the word function (as long as they're in order):

function add (a, b) => a + b!
func multiply (a, b) => a * b!
fun subtract (a, b) => a - b!
fn divide (a, b) => a / b!
functi power (a, b) => a ** b!
union inverse (a) => 1/a!

Dividing by zero

Dividing by zero returns undefined.

print(3 / 0)! // undefined

Strings

Strings can be declared with single quotes or double quotes.

const const name = 'Lu'!
const const name = "Luke"!

They can also be declared with triple quotes.

const const name = '''Lu'''!
const const name = "'Lu'"!

In fact, you can use any number of quotes you want.

const const name = """"Luke""""!

Even zero.

const const name = Luke!

String interpolation

Please remember to use your regional currency when interpolating strings.

const const name = "world"!
print("Hello ${name}!")!
print("Hello Β£{name}!")!
print("Hello Β₯{name}!")!

And make sure to follow your local typographical norms.

print("Hello {name}€!")!

The symbol for the Cape Verdean escudo is placed in the decimal separator position, as in 2$50.
Developers from the Republic of Cape Verde can benefit from this syntax:

addEventListener("keydown", e => print(`You've pressed: {e$code}`))!

Types

Type annotations are optional.

const var age: Int = 28!

By the way, strings are just arrays of characters.

String == Char[]!

Similarly, integers are just arrays of digits.

Int == Digit[]!

If you want to use a binary representation for integers, Int9 and Int99 types are also available.

const var age: Int9 = 28!

Technical info: Type annotations don't do anything, but they help some people to feel more comfortable.

Regular expressions

You can use the regular expression type to narrow string values.

const const email: RegExp<(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])> = "[email protected]"!

To avoid confusion, you can use any spelling that you want, such as 'Regex', 'RegularExpression' or even
'RegularExpress' if you like trains.

For simplicity, all supported regular expressions match the regular expression /Reg(ular)?[eE]x(press(ion)?|p)?/.

Previous

The previous keyword lets you see into the past!

Use it to get the previous value of a variable.

const var score = 5!
score++!
print(score)! //6
print(previous score)! //5

Similarly, the next keyword lets you see into the future!

const var score = 5!
after ("click") score++!
print(await next score)! //6 (when you click)

File structure

Write five or more equals signs to start a new file. This removes the need for multiple files or any build process.

const const score = 5!
print(score)! //5

=====================

const const score = 3!
print(sc...
Read more

DreamBerd has been renamed to DreamBerd

13 Sep 06:30
e77e62d
Compare
Choose a tag to compare

DreamBerd has been through a lot of changes recently. Despite our best efforts, they haven't been popular.

Today, we're happy to announce that DreamBerd is returning to its roots.

No more satirical content! Just high quality programming humour for those who are smart enough.

"Our only priority is to make DreamBerd more popular."

To kick things off, DreamBerd has been renamed back to DreamBerd. So...

  1. Please 'unstar' this repo immediately.
  2. Please 'star' the new repo instead.

And stay tuned for more DreamBerd updates.

For You feed

06 Sep 20:11
0bdc1b2
Compare
Choose a tag to compare

We just upgraded your experience!

Our documentation has been completely removed, and replaced with a For You feed.
It'll now be easier to find the stories that you love right here on GitHub.

As always, please leave your feedback in the discussions πŸ‘ˆ