Hi all, I am unhappy to announce the un-launch of ...
# share-your-work
l
Hi all, I am unhappy to announce the un-launch of DreamBerd back into beta. Also introducing some new features like immutable data, significant whitespace, and lifetimes! Read the full release notes here: https://github.com/TodePond/DreamBerd/releases/tag/v0.9.9.9.9.9.9.9.9
g
Strings with the same symbol at the front and the back are so 1950s ASCII-think. PEG, unlike 1950s CFG ideas, can recursively match brackets more easily if the front and back symbols are different (e.g. unicode, at the very least).
l
That's a great point, thanks. I'll raise an issue.
w
More and more I do find myself writing
%{hello, world}
instead of
"hello, world"
.
g
Is
%{hello, world}
accepted syntax in some language? Pardon my ignorance… @wtaysom
w
@guitarvydas (been moving) Ruby https://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals#The_%_Notation borrows from Perl. Like Perl exact rules are a bit murky. You can use pretty much any ASCII symbol after the
%
so: •
%~hello, world~
%$hello, world$
%#hello, world#
— even though
#
usually marks comments. Some symbols pair as brackets though: •
%{hello, world}
%[hello, world]
%<hello, world>
Gnarly. And let's not start into Here Docs except to say they they're a fun exception to the rule that expressions in programming languages nest. Though less baroque, Lua has its own cute string literals with double bracket
[[hello, world]]
that you can put in a bigger literal by using equal signs,
[==[we want to bracket [[hello, world]] somehow]==]
and then
[=====[we can go deep when [==[we want to bracket [[hello, world]] somehow]==] by adding more and more equal signs]=====]
. The only rule is that the closing bracket has the same number of equal signs as the opening bracket. So it's not like these things are nesting or anything silly like that.