Giter Club home page Giter Club logo

muse's Introduction

muSE - short for 'muvee Symbolic Expressions' - is a Scheme dialect intended for use as an embedded language. It has some unique language features such as first class macros, simple general read-time evaluation syntax, vectors and hashtables that can be used as functions, and extensive use of pattern matching bind.

Highlight: muSE is used as an embedded language to specify the "styles" in muvee Reveal, launched on 11 June 2008.

Language and library features

  • Provides lexically scoped closures as well as dynamically scoped blocks.
  • Expressive reader macro system where macros are first class citizens (i.e. can be passed around as arguments to functions, assigned to variables, etc.)
  • Uniform use of pattern matching for variable binding.
  • Generic functions (doc)
  • Many polymorphic primitives - including map, filter, reduce, get, put, and some others.
  • An extremely easy to use Objective-C bridge (only on MacOSX).
  • A simple module system.
  • Flexible exception handling
    • Resumable exceptions
    • Exception handler dispatch using pattern matching bind.
    • Simple cleanup mechanism
  • Reduce the need for local variables using TheAndIt.
  • Built-in support for JSON.
  • Built-in support for reading/writing a subset of XML.

Integration features

  • C-based, fairly well documented, simple embedding API. Can call as well as be called from C/C++ code.
  • Compact - Its easy to strip down the feature set to whatever subset of the core language you need.
  • Extensible notion of objects to add new kinds of things to muSE in native code. Vectors, hashtables and ports (for I/O) are provided using this mechanism.
  • Ability to add C/C++ based native functionality in the form of plugin DLLs.
  • Ability to create StandAloneExecutables
  • Supports multiple independent environments
  • Liberal license terms - can use in commercial applications without publishing source code.

License summary

The license agreement has been changed (13Nov2008) to "New BSD" with the requirement that contributions be made on the same terms.

Copyright

Copyright (c) 2006, Jointly owned by Srikumar K. S. and muvee Technologies Pte. Ltd.

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.