dogescript
This is an implementation of the best new compile-to-JS language, dogescript. Wow.
And yes, I am very aware I went about a very, er, non-conventional, way of parsing a language, and is probably riddled with bugs and edge-cases. However, this is dogescript, so anything goes!
wow
such dogescript
very compiled
next-generation
npm wow
Installation
npm install -g dogescript
Usage
Command Line
dogescript
without a file launches a REPL.
dogescript location/to/dogescript.djs
pipes the result to stdout. Use a command like dogescript dogescript.djs > compiled.js
to save to a file.
Options:
--beautify
- Runs the code through a beautifier.--true-doge
- Implements "true doge" mode, which splits lines by 3 spaces, instead of by newlines. This stays behind a flag until the spacing it exports is identical to non-true-doge mode. Deprecated in 2.4.0, to be removed in 3.0.0--run
- Runs the dogescript code
Javascript
dogescript(file, beauty, trueDoge)
file
- A string of Dogescript.beauty
- A boolean, set to true if you want the output to be ran through a beautifier.trueDoge
- A boolean, set to true if you want to enable true-doge mode. Deprecated in 2.4.0, to be removed in 3.0.0
REPL Commands
.plz-load [path_to_doge]
: loads dogescript code in the given file and adds it to the REPL environment. For this example, iota is a function that produces a series from 0 to n, ie: iota 5 => [0,1,2,3,4]
, and is defined in repl-test/iota.djs
..plz-exit
: exits the REPL environment and terminates the process. An alternative to .exit
.
iota.djs
such iota much n
very series is Array dose apply with null {length:n}&
dose map with Number.call Number
wow series
Loaded and execute
DOGE> .plz-load repl-test/iota.djs
DOGE> undefined
DOGE> plz iota with 5
[ 0, 1, 2, 3, 4 ]
DOGE>
Language documentation
Projects using dogescript
Utilities
Syntax highlighting
Build plugins
Contributors
Dogescript was originally created by Zach Bruggeman, and is now maintained by the @dogescript/core team. Thank you to every contributor who's helped along the way!
$ git log --format='%aN' | sort -u
Alistair Mersereau
Bart van der Schoor
Bartvds
Ben Atkin
Cassidy Bridges
Chad Engler
Chris Wheatley
Christina Liu
Daniel Lockhart
Elan Shanker
Erik Erwitt
Jacob Groundwater
Jan Monterrubio (AnEmortalKid)
Joe Dailey
Johann Philipp Strathausen
Joseph Dailey
Mario Nachbaur
Nicholas Scheurich
Patrick Piemonte
Peter Carnesciali
Ray Toal
Zach Bruggeman
achesak
alehander42
alistair.mersereau
dogejs
jasdev
noformnocontent
Join us at dogescript.slack.com. Since it is slack, you'll need an invite to the channel. Visit this site to get invited. The invite site is built with slack-invite-automation and is deployed to heroku. Since we are on the free tier, dyno's take a bit to load so give it at least 30 seconds to load the first time.