charcoal-lang / charcoal Goto Github PK
View Code? Open in Web Editor NEWA concise language for sketching ASCII art.
License: MIT License
A concise language for sketching ASCII art.
License: MIT License
I dislike having Grave mode and Verbose mode. Verbose takes the entire fun out of the language, and Grave mode could have been replaced with the backticks followed by character combinations making more characters. For now I use Grave mode, but I NEED each thing being 1 character. Please fix this.
For example, the program θ
doesn't print the first line of the input, and Iθ
does not return the first input if it is a number.
I'm feeling lazy. Do I have to install it?
Both Travis and AppVeyor, use unit tests for CI
Just tried to experiment with this unusual language. When the interpreter encounters opening quote «
character, it crashes with a stack trace:
$ ./charcoal
Charcoal> «
Traceback (most recent call last):
File "./charcoal", line 4670, in <module>
normal_encoding=argv.normalencoding
File "./charcoal", line 4082, in Run
)(charcoal)
File "/tmp/Charcoal/interpreterprocessor.py", line 358, in <lambda>
lambda r: lambda c: ((r[0](c) or True) and r[2](c)),
File "/tmp/Charcoal/interpreterprocessor.py", line 370, in <lambda>
lambda r: lambda c: c.Print(r[0](c)),
File "./charcoal", line 987, in Print
lines = re.split("[\n\r]", string)
File "/usr/lib/python3.6/re.py", line 212, in split
return _compile(pattern, flags).split(string, maxsplit)
TypeError: expected string or bytes-like object
When encounters closing quote »
, it just does nothing.
This issue can be closed when a unit test system is up and running, even though it doesn't have full code coverage yet. Adding new tests can be the subject of new issues.
RotateCopy
is passed an odd number of rotations (currently errors)The wiki currently says ++
is an alias for Incremented
, Decremented
, Doubled
and Halved
. (copy-paste error, I'm presuming :P)
Operator Verbose Returns ... ... ... ⊕ Incremented
/++
x+1
if it is a number, ... if it is a string. Vectorizes.⊖ Decremented
/++
x-1
if it is a number, ... if it is a string. Vectorizes.⊗ Doubled
/++
x*2
if it is a number, ... if it is a string. Vectorizes.⊘ Halved
/++
x/2
if it is a number, ... if it is a string. Vectorizes.
According to line 131 to 132 of verbosegrammars.py, these should be ++
, --
, ***
and \\
respectively.
Why isn't the wiki public? And why does Github have no sane way of reporting errors in the wiki?
UB
leaves old background characters in areas of canvas left of printed contentCharcoal.__str__
CleanExecute
should take varargs←abc↓def
has problems¶
should move the cursor up, not downA declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.