GithubHelp home page GithubHelp logo

dloscutoff / esolangs Goto Github PK

View Code? Open in Web Editor NEW
35.0 3.0 5.0 237 KB

Miscellaneous esoteric programming languages.

Home Page: https://dloscutoff.github.io/Esolangs/

Python 53.90% CSS 3.37% HTML 5.14% JavaScript 37.59%
interpreter esolang python javascript two-dimensional lisp turing-tarpit minimalist queue esoteric-language

esolangs's Introduction

DLosc's Esolangs

This repository is home to various esoteric programming languages that weren't big enough to get their own repositories.

Acc!!

A Turing tarpit with a looping construct, integer math, and a single accumulator.

Github | Try It Online | Origins

BitCycle

A 2D language that involves moving bits around a playfield: picture a cross between ><> and Bitwise Cyclic Tag.

Github | Esolangs wiki | Try It Online | JavaScript intepreter

Exceptionally

A language that uses exceptions for control flow, inspired by the ? operator from Whython.

Github | Attempt This Online | Origins

Ouroboros

Each line of code is a loop, which can be shortened or lengthened to achieve control flow.

Github | Esolangs wiki | JavaScript intepreter | Origins

Regenerate

Generate strings using regular expression syntax.

Github | Attempt This Online | Replit

Sisi

A toy language inspired by BASIC.

Github | Try It Online | Origins

tinylisp

A minimalist Lisp dialect with a fairly decent standard library.

Github | Try It Online | Origins

esolangs's People

Contributors

dloscutoff avatar mousetail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

esolangs's Issues

Regenerate: the `!` operator is undocumented

In Regenerate's documentation, ! is only listed as a metacharacter that needs to be escaped, but isn't documented any further than that.

In its source code, it is described as Like alternation, but stop trying other options as soon as we find one that works. But what does "one that works" mean? And what is the order of precedence when both | and ! are used?

I found a way to use ! successfully in Print all integers. But I don't quite understand exactly why it works. Why does 0|($2[0-9]!-?[1-9]())+ generate all integers, but neither 0|($2[0-9]|()-?[1-9])+ nor 0|([0-9]$2|-?[1-9]())+ nor 0|($4($3[0-9]![1-9]())!-?()){2,} do?

tinylisp interpreter improvements

This is a list of small improvements for the tinylisp interpreter. This issue will not be closed; instead, new improvements will be edited in and completed ones crossed off. Please use a separate issue for library improvements.

  • Suppress output of top-level d calls (but not in repl mode)
  • Add version of load that doesn't suppress output (maybe run?)
  • Convert REPL commands (help), (restart), and (quit) to builtin macros only available at top level
  • Make tail-call elimination work with any alias of i
  • Make tail-call elimination work with v (or any alias)
  • Experiment with implementing lists as nested 2-tuples instead of Python lists--may improve memory- and time-efficiency

tinylisp: improve library functions

This is a list of library functions whose efficiency or robustness could be improved. This issue will not be closed, at least in the short term; instead, new improvements will be edited in and completed ones crossed off.

  • Swap operands of mul2 to make the smaller one govern the loop count
  • Rewrite mul2 to use a binary-based algorithm instead of decreasing by 1 each time
  • Add type-checking, where this can replace unhelpful error messages with more helpful ones

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.