Coco/R combines the functionality of the well-known UNIX tools lex and yacc,
to form an extremely easy to use compiler generator that generates recursive
descent parsers, their associated scanners, and (in some versions) a driver
program, from attributed grammars (written using EBNF syntax with attributes
and semantic actions) which conform to the restrictions imposed by LL(1)
parsing (rather than LALR parsing, as allowed by yacc). The user has to add
modules for symbol table handling, optimization, and code generation in
order to get a running compiler. Coco/R can also be used to construct other
syntax-based applications that have less of a "compiler" flavour.
Coco/R is available in Oberon, Modula-2, Pascal, Delphi, C, Java and C#
versions. This port only builds the C/C++ version.
Seed7 is an extensible general purpose programming language designed by Thomas
Mertes. It is a higher level language compared to Ada, C/C++ and Java.
In Seed7 new statements and operators can be declared easily. Functions with
type results and type parameters are more elegant than a template or generics
concept. Object orientation is used where it brings advantages and not in
places where other solutions are more obvious. Although Seed7 contains several
concepts from other programming languages, it is generally not considered a
direct descendant of any other programming language.
Major features include:
- user defined statements and operators,
- abstract data types,
- templates without special syntax,
- OO with interfaces and multiple dispatch,
- statically typed,
- interpreted or compiled,
- portable,
- runs under Linux/Unix/Windows.
The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and
interactive environment for the functional language Haskell. Highlights:
* Supports the entire Haskell 2010 language plus a wide variety of
extensions.
* Has particularly good support for concurrency and parallelism, including
support for Software Transactional Memory (STM).
* Generates fast code, particularly for concurrent programs.
* Works on several platforms including FreeBSD, Windows, Mac, Linux, most
varieties of Unix, and several different processor architectures.
* Has extensive optimisation capabilities, including inter-module optimisation.
* Compiles Haskell code either directly to native code or using LLVM as a
back-end. It can also generate C code as an intermediate target for porting
to new platforms. The interactive environment compiles Haskell to bytecode,
and supports execution of mixed bytecode/compiled programs.
* Profiling is supported, both by time/allocation and various kinds of heap
profiling.
* Comes with several libraries, and thousands more are available on Hackage.
The libjit library implements Just-In-Time compilation functionality. Unlike
other JIT's, this one is designed to be independent of any particular virtual
machine bytecode format or language. The hope is that Free Software projects
can get a leg-up on proprietry VM vendors by using this library rather than
spending large amounts of time writing their own JIT from scratch.
This JIT is also designed to be portable to multiple archictures. If you run
libjit on a machine for which a native code generator is not yet available,
then libjit will fall back to interpreting the code. This way, you don't need
to write your own interpreter for your bytecode format if you don't want to.
Scm conforms to Revised^5 Report on the Algorithmic Language Scheme and
the IEEE P1178 specification.
SLIB is a portable Scheme library which SCM uses.
SLIB-PSD is a portable debugger for Scheme (requires emacs editor).
The init file is hard-coded as /usr/local/lib/scm/Init.scm.
Alternatively, one can set the environment variable SCM_INIT_PATH to the
pathname of Init.scm.
The library files are in /usr/local/lib/scm/slib. Alternatively, one can
set the environment variable SCHEME_LIBRARY_PATH to the slib directory.
Remember to use a trailing / on the pathname.
By default -DSICP is turned on, with the expectation that this is the
major reason for this port. This means test.scm will fail on three tests
in section 6.1. Where strict R4S compliance is important, recompile
without the SICP flag.
Yorick is an interpreted programming language for:
* Scientific simulations or calculations
* Postprocessing or steering large simulation codes
* Interactive scientific graphics
* Reading, writing, and translating large files of numbers
The language features a compact syntax for many common array operations,
so it processes large arrays of numbers very quickly and efficiently.
Superficially, yorick code resembles C code, but yorick variables are
never explicitly declared and have a dynamic scoping similar to many Lisp
dialects. The yorick language is designed to be typed interactively at a
keyboard, as well as stored in files for later use.
This package includes an emacs-based development environment, which one
can launch by typing M-x yorick in emacs, if installed `yorick.el' have
been loaded into one's ~/.emacs file.
The Cyrus IMAP (Internet Message Access Protocol) server provides access to
personal mail and system-wide bulletin boards through the IMAP protocol.
The Cyrus IMAP server is a scaleable enterprise mail system designed for use
from small to large enterprise environments using standards-based
technologies.
A full Cyrus IMAP implementation allows a seamless mail and bulletin board
environment to be set up across multiple servers. It differs from other
IMAP server implementations in that it is run on "sealed" servers, where
users are not normally permitted to log in. The mailbox database is stored
in parts of the filesystem that are private to the Cyrus IMAP system. All
user access to mail is through software using the IMAP, POP3, or KPOP
protocols.
The private mailbox database design gives the server large advantages in
efficiency, scalability, and administratability. Multiple concurrent
read/write connections to the same mailbox are permitted. The server
supports access control lists on mailboxes and storage quotas on mailbox
hierarchies.
The Cyrus IMAP (Internet Message Access Protocol) server provides access to
personal mail and system-wide bulletin boards through the IMAP protocol.
The Cyrus IMAP server is a scaleable enterprise mail system designed for use
from small to large enterprise environments using standards-based
technologies.
A full Cyrus IMAP implementation allows a seamless mail and bulletin board
environment to be set up across multiple servers. It differs from other
IMAP server implementations in that it is run on "sealed" servers, where
users are not normally permitted to log in. The mailbox database is stored
in parts of the filesystem that are private to the Cyrus IMAP system. All
user access to mail is through software using the IMAP, POP3, or KPOP
protocols.
The private mailbox database design gives the server large advantages in
efficiency, scalability, and administratability. Multiple concurrent
read/write connections to the same mailbox are permitted. The server
supports access control lists on mailboxes and storage quotas on mailbox
hierarchies.
GBuffy will poll multiple mailboxes for new mail. It will list the
number of new messages in each mailbox you configure. It will also
highlight the mailboxes which have new mail. Pressing the left mouse
button on a mailbox with new mail will display the Sender and Subject
of each new message. Additionally, GBuffy will display the X-Face
header for messages which have them. Pressing the middle mouse button
on a mailbox will launch the configured command, generally a command
to read the mailbox with your favorite mailreader. Pressing the right
mouse button will bring up the configure menu.
GBuffy is currently capable of watching MBOX, MMDF, Maildir and MH
Folders. This version also supports IMAP4rev1 and NNTP with XOVER.
Support for an external program for notification is planned.
msmtp -- An SMTP client
msmtp is an SMTP client that can be used as an "SMTP plugin" for Mutt and
probably other MUAs (mail user agents). It forwards mails to an SMTP server
(for example at a free mail provider) which does the delivery.
To use this program, create a configuration file with your mail account(s) and
tell your MUA to call msmtp instead of /usr/sbin/sendmail.
Features include:
* SMTP AUTH methods PLAIN, LOGIN and CRAM-MD5
(and DIGEST-MD5 and NTLM when compiled with GSASL support)
* TLS encrypted connections
(including server certificate verification and the possibility to send
a client certificate)
* DSN (Delivery Status Notification) support
* IPv6 support (on systems that support it)
* support for multiple accounts
* sendmail compatible exit codes (which most MUAs understand).
Note: you may want to install mail/msmtpqueue - queuing support for msmtp.