GithubHelp home page GithubHelp logo

prtr's Introduction

prtr

A very minimal interpreter for a subset of Tcl, written in Rust.

Why Tcl-like?

  • If the scope is just to call native commands, the implementation can be minimal.
  • The minimal prefix-style syntax is friendly to creating domain specific languages. For example add Foo Bar is nicer to type than something like add("Foo Bar") or add("Foo", "Bar").

Status

What works:

  • You can register Rust functions and call them from the scripts. (puts, set are provided)
  • You can define and retrieve Tcl variables.

Example script:

puts Hello World
[puts Goodbye World]
set a 42
set b 256
puts $a $b

What is missing:

  • Quoting (string, block)
  • Helpful functions (e.g. if, for, gets)
  • A non-allocating lexer/parser (using Cow?) is desirable.
  • A rewrite that uses nom instead.

prtr's People

Contributors

kud1ing avatar

Watchers

 avatar  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.