EWagon

eWagon is a queue- and stack-based language written by User:Timtomtoaster. Its name stands for Esolang Without A Good Name. What makes it unique is that you can switch between a Queue Mode and a Stack Mode. It's also got a few features I "borrowed" from Befunge, especially using quotes to push the ASCII values of strings.

Command list
Note: All commands will push their results to the stack/queue (depending on mode) and take their arguments from the argument queue, except,   and.

Some important info:
 * Nested loops are supported, nested if-statements are not.
 * Multi-line comments are supported.
 * All whitespace (spaces, tabs, and linebreaks) are supported.
 * Any character that's not listed above is treated as a comment.

eWagon2
eWagon2 is mostly the same as eWagon, but it uses a double-ended queue (deque) for storage. The  command switches to "front mode", and   "back mode" (enabled by default). Front mode will enqueue, dequeue, and peek from the front of the deque, and vice versa for back mode. It doesn't include any performance enhancements, though the interpreter is 21 lines shorter than eWagon1.

Sample programs (both versions)
It seems that there isn't much of a difference in length or the actual code between the eWagon1 and 2 example programs, even though they store things rather differently. Weird.

Hello world
`"!dlrow ,olleH"{%!"!"^^_^}'0'^@.

Cat (numerical input only)
{&^$'1'^}

Fibonacci sequence
'0''1'{~%$^%+`'1'^}

Truth-machine
&^[{%$'1'^}]'0'^$.

Hello world
`"Hello, world!"'0'~{%!^}'0'^@.

Cat (string input)
{`?'0'~{%!^}'0'^@'1'^}

Fibonacci sequence
'0''1'{~%$^%`+'1'^}

Truth-machine
&%[{%$%}]'0'^$.

Using the interpreter (both versions)
As of writing this page, only one interpreter exists for eWagon. To use it, either execute  in the terminal or go to the GitHub page below and download the .zip file, then extract it. Then, execute  from the terminal. The extension for eWagon files is  or , depending on which version of eWagon you're using.

Evil plans (again, both versions)
What I plan to implement (feel free to help!): THESE CHANGES AREN'T GUARANTEED!
 * Modules & Add-ons
 * Modules will be  (eWagon Module) files, containing pieces of eWagon code. You can call these pieces from within the main program.
 * Add-ons will be  files, and the interpreter will probably have to be modified to allow new modules to be supported.
 * Subroutines

External resources
eWagon on GitHub eWagon2 on GitHub