GithubHelp home page GithubHelp logo

docs's Introduction

docs

Documentation, examples, etc.

docs's People

Contributors

es1024 avatar jonatjano avatar m-ender avatar mbuettner avatar rik-degraaff avatar tckmn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Bounded comments

I think it would be neat if one had bounded comments, which could be put somewhere inside the board like a plaque. The simplest thing would be to have # actually toggle comment mode, then you could just embed # some comment # anywhere in a board. Or one could use a separate syntax.

STDOUT device

It would be nice to have [[ in addition to ]]. [[ could print a marble to STDOUT without consuming it. Possible implementation in Marbelous:

:[[
}0
..
{0
}0

Board/program directives

es1024's implementation comes with a few options that seem useful, most notably

  • cylindrical boards
  • printing integers instead of character codes

We can probably think of a few others...

I'm thinking, it doesn't really make sense for these things to be parameters of the interpreter. They should be tied to the code. A cylindrical board usually won't make sense if marbles are pushed off the edges instead and vice versa. So I'd say these belong into the code, and we can probably add them with directives similar to #include. And while we're at it, I was wondering if we couldn't actually make these per-board directives (and each board defaults to the main board's options).

Lock/Release device pair

An asymmetric version of the synchronisers could be useful. Say we call them Rn and Ln. The Ln hold a marble like a synchroniser and stall. The Rn let all marbles pass through. But if a marble goes through an Rn, all marbles in the corresponding Ln are released.

(This would be a device which cannot be implemented within Marbelous, so would be an actual language addition.)

Half-sided cloners

Should we add |\ and /| as devices which clone the input marble below and to one side? Having the copies at both sides is sometimes a bit unwieldy as it needs 3 columns, and you get a useless column below the cloner.

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.