Git Product home page Git Product logo

chef-rs-tr's Introduction

chef-rs

An implementation of the esoteric language Chef in Rust.

Language

This implementation tries to follow the specification as close as possible.

Limitations

Due to the way the parser is implemented, it is quite complicated to differentiate between a loop begin and an auxiliary recipe. That means that often auxiliary recipes need some clear delimiter above them. Choices are:

  • Using a standard Serves statement.
  • Using a non-standard break line. These are defined as three or more dashes, underscores or equal signs and mark the end of a recipe.

Takeing liquid ingredients

This implementation extends the Take syntax:

Takeing an ingredient from a refrigerator will now read a single Unicode character code if the ingredient is liquid.

Checking the refrigerator

There is a new syntax that allows you to check ahead a bit in the input buffer:

Check the refrigerator for <ingredient name>.

  • If the ingredient is dry, it will be checked if the next character in the input buffer belongs to a number. When the buffer is empty, the user will be prompted.
  • If the ingredient is liquid, if there is anything left in the input buffer. The user will not be prompted.

Depending on the outcome, the ingredient will either contain 1.0 or 0.0.

Shakeing the bowl

Shaking the bowl will spill all liquid ingredients out and let the biggest dry ingredients float up.

So, it filters out the liquids and sorts the rest from top to bottom (the biggest ingredient will be on the top).

Examineing stuff

You can Examine ingredients or mixing bowls, which will display their current status.

This is intended for debugging.

chef-rs-tr's People

Contributors

siphalor avatar

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.