22 projects tagged "OS Independent"
Serveez is a server framework which provides routines and help for implementing IP-based servers (TCP, UDP, and ICMP). It is also possible to use named pipes for all connection-oriented protocols. The package includes a number of servers that work already: an HTTP server, an IRC server, a Gnutella spider, and some others. One of the highlights is that you can run all protocols on the same port. The application itself is single-threaded, but it uses helper processes for concurrent name resolution and ident lookups.
SISC is an extensible Java-based interpreter of the algorithmic language Scheme. It uses modern interpretation techniques and handily outperforms all existing Java interpreters (often by more than an order of magnitude). In addition, SISC is a complete implementation of the language. The entire R5RS Scheme standard is supported. This includes a full number tower including complex number support and arbitrary precision integers and floating point numbers, proper tail recursion, hygienic macros, and full support for first-class continuations (not just the escaping continuations found in many other systems).
TinyScheme is a lightweight Scheme interpreter that implements as large a subset of R5RS as possible without getting very large and complicated. It is meant to be used as an embedded scripting interpreter for other programs. As such, it does not offer IDEs or extensive toolkits although it does sport a small top-level loop, included conditionally. A lot of functionality in TinyScheme is included conditionally, and it allows multiple interpreter states to coexist in the same program without any interference between them. Foreign functions in C can also be added and values can be defined in the Scheme environment.
A practical lambda-calculator is a normal-order evaluator for the untyped lambda-calculus, extended with convenient commands and shortcuts to make programming in it more productive. Shortcuts are distinguished constants that represent terms. Commands define new shortcuts, activate tracing of all reductions, compare terms modulo alpha-conversion, print all defined shortcuts and evaluation flags, etc. Terms to evaluate and commands are entered at a read-eval-print-loop (REPL) "prompt" or "included" from a file by a special command. A Haskell branch is an embedding of the lambda calculator (as a domain-specific language) into Haskell. The calculator can be used interactively within Hugs or GHCi.
QuantLib is a cross-platform, quantitative finance C++ library for modeling, pricing, trading, and risk management in real-life. It is also wrapped as Python/Ruby/Scheme modules. Extensions for Excel, R, and Mathematica are available. Other such extensions are under consideration. QuantLib offers tools that are useful both for practical implementation and for advanced modeling. It features market conventions, yield curve models, solvers, PDEs, Monte Carlo (low-discrepancy included), exotic options, VAR, and so on.
The Yehia Framework provides plugin management for C++ programs. You can conveniently incorporate both compiled and interpreted-language plugins into C++ programs. The use of several scripting languages in a single program is possible, and each scripting language runs either in the main thread of the program or in a separate thread.
Speakhtml is an HTML generator written in Scheme. It provides easy to use hooks to make use of Scheme in preparing any type of static content with abitrary complexity. Although using the Scheme programming language gives developers great power in designing HTML, it is perfectly possible generating Websites with Speakhtml without using or even knowing Scheme.
CodeApplet is a Java-based client-server system that is meant to be used for teaching computer programming online. It may be used with any language for which an appropriate Java class is written, and adding a new interpreter requires no recompilation of the main binaries. Users connect to different coding sessions on the server. Every session has one editor at a time, elected by privileged operators or the current editor. This editor may control a shared language interpreter and edit source files while the other users watch in realtime. Some languages also support local interpreters for personal experiments.