Main > Free Download Search >

Free language lessons software for linux

language lessons

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2675
X Language 0.7.1

X Language 0.7.1


X Language is a programming language. more>>
X Language is a new multi-syntax programming including a portable set of APIs to create console or graphical applications runnable on many platforms (UNIX/X11, Win32, ...). X Language comes with an interpreter, a compiler and a debugger.
X Language is publicly available under the GPL.
Installation
- tar -xzf xlang-0.7.1.tar.gz
- cd xlang-0.7.1
- ./configure
- make
- make install
- ./xlc calc.xc
Enhancements:
- Adding LANG/MATH specifications
- Adding SYS (basic) specifications
- Start implementing the SCR API
<<less
Download (0.35MB)
Added: 2005-04-22 License: GPL (GNU General Public License) Price:
1646 downloads
V language 0.004

V language 0.004


V language is a tiny concatenative language implemented for experimentation. more>>
V language is a tiny concatenative language implemented for experimentation.
The source is under Public Domain (un-copyrighted.)
The full featured language is on top of JVM, A native version (in alpha state) is also there in the codebase.
To run it, extract the distribution in any directory and do #gmake run.
gmake
gmake run
V
|
The language is a close relative of postscript, forth and joy. and is stack based. ie:
|2 3 *
=6
|2 3 * 5 +
=11
See status for a tutorial and more info.
The Functions available in V are available in this page: functions
(The releases are out of date and multiple fixes have gone in. Please check out and build rather than use them.)
Example functions in V. getting the roots (with out using the stack shuffling word view)
[quad-formula
[a b c] let
[minisub 0 b -].
[radical b b * 4 a * c * - sqrt].
[divisor 2 a *].
[root1 minisub radical + divisor /].
[root2 minisub radical - divisor /].
root1 root2
].
|2 4 -30 quad-formula ??
=(-5.0 3.0)
using view
[quad-root
[a b c : [0 b - b b * 4 a * c * - sqrt + 2 a * /]] view i
].
|2 4 -30 quad-root ??
=(3)
contrast this with the definition in scheme here
(define quadratic-formula
(lambda (a b c)
(let ([minusb (- 0 b)]
[radical (sqrt (- (* b b) (* 4 ( * a c))))]
[divisor (* 2 a)] )
let ([root1 (/ (+ minusb radical) divisor)]
[root2 (/ (- minusb radical) divisor)])
(cons root1 root2)))))
Definition of Qsort.
[qsort
#definitions
[joinparts [pivot [*list1] [*list2] : [*list1 pivot *list2]] view].
[split_on_first_element uncons [>] split&].
#args starts for binrec. notice that 2 arguments (termination condition
#and its result) are on first line.
[small?] []
[split_on_first_element]
#binrec recurses on the result of split_on_first_element before applying joinparts.
[joinparts]
binrec].
Some explanations.
The first and second lines (terminated by .) are internal function definitions
(Notice how qsort is also terminated by .) . is the definition syntax in V.
The first function joinparts
============================
The function joinpart contains just an application of the operator view.
view is list translator. It takes a list of the form [template : result]
then it tries to apply the template to the current stack. If it can be applied on the
stack, then the arguments named in the template are bound to values in stack. The result is then processed, and all the bound elements in result are replaced by their values.
[pivot [*list1] [*list2] : [*list1 pivot *list2]] view expects 3 arguments on the stack,
the first a single element pivot, then two lists list1 and list2.
It returns a list that is composed of elements of list1 followed by pivot
followed by elements of list2 (as defined in result - RHS of :).
ie:
44 [1 2 3] [5 6 7] [pivot [*list1] [*list2] : [*list1 pivot *list2]] view ??
=> [1 2 3 44 5 6 7]
(The function ?? is used to print out the elements in the stack now.)
The second function split_on_first_element
==========================================
The definition is [uncons [>] split&]
The uncons splits a list into the first element and the rest of the list.
ie:
[1 2 3 4 5] uncons ??
=1 [2 3 4 5]
split& takes two arguments, the first is the function F to split a list with,
and the second the list itself. All elements in the list that passes the function F
is put into the first list, and all that do not are put into the second list.
ie:
[1 2 3 4 5 6 7] [4 >] split& ??
=[5 6 7] [1 2 3 4]
The function F can also take an argument from the stack. so this also works.
4 [1 2 3 4 5 6 7] [>] split& ??
=[5 6 7] [1 2 3 4]
Thus the split_on_first_element takes the first element of a list, and split that
list based on that element as a filter.
binrec
=======
binrec expects 4 arguments,
Arg1 is the terminating condition,
Arg2 is the result if the terminating condition is met.
Arg3 is an executable statement that returns two entities.
The entire binrec statement is performed on each of the
two entities until the terminating condition is met.
Arg4 is what to do with the result of the previous statement.
Algorithm.
Here, the small? checks if the list is empty or contains just one element.
if it is, then the result is arg2 - []
ie:
[] small? ??
=true
[1] small? ??
=true
[1 2 3 4] small? ??
=false
split_on_first_element takes is executed on all lists that are larger than size 1
and as explained above, splits them into two based on the first element.
on the resultent lists, the entire qsort is performed again due to binrec.
The last joinparts takes these elements (pivot list1 list2) which are present now
on the stack, and combines them to produce a single sorted list.
A slightly friendlier function (with out the binrec.)
[qsort
[joinparts [pivot [*list1] [*list2] : [*list1 pivot *list2]] view].
[split_on_first_element uncons [>] split&].
[small?]
[]
[split_on_first_element [list1 list2 : [list1 qsort list2 qsort joinparts]] view i]
ifte].
The binrec and friends are more powerful than the explicit recursion done above, but for people new to concatenative languages, this kind of recursion may look more intuitive.
Enhancements:
- The language has become relatively stable.
- Lots of bugfixes were made in scope handling.
- Tree operations were added.
- Generic combinators were moved out into a separate library.
<<less
Download (0.10MB)
Added: 2007-07-25 License: MIT/X Consortium License Price:
824 downloads
Language::Logo 1.000

Language::Logo 1.000


Language::Logo Perl module is an implementation of the Logo programming language. more>>
Language::Logo Perl module is an implementation of the Logo programming language.

SYNOPSIS

use Language::Logo;

my $lo = new Logo(update => 20);

$lo->command("setxy 250 256");
$lo->command("color yellow");
$lo->command("pendown");

# Draw a circle
for (my $i = 0; $i < 360; $i += 10) {
$lo->command("forward 10; right 10");
}

$lo->disconnect("Finished...")

This module provides an implementation of the Logo programming language, with all of the necessary drawing primitives in a Tk Canvas. The Canvas object is also referred to as the "screen".

The first construction of a Language::Logo object causes a server to be created in a separate process; this server then creates a Tk GUI with a Tk::Canvas for use by the clients "turtle", and responds to all requests from the clients commands. In this way, multiple clients may be constructed simultaneously -- each one with its own "turtle".

In this first release, not all of the Logo language is implemented. Rather, the primary commands available are those which directly affect the turtle, and are related to drawing on the screen. The intent is to use the Logo in conjunction with Perl as a sort of "hybrid" language; Perl us used as the higher-level language layer through which all loop constructs, conditionals, and data-manipulation is done. This allows for a substantial level of programming power.

<<less
Download (0.016MB)
Added: 2007-07-30 License: Perl Artistic License Price:
830 downloads
Language::Basic::Expression 1.44

Language::Basic::Expression 1.44


Language::Basic::Expression is a Perl package to handle string, numeric, and boolean expressions. more>>
Language::Basic::Expression is a Perl package to handle string, numeric, and boolean expressions.

SYNOPSIS

See Language::Basic for the overview of how the Language::Basic module works. This pod page is more technical.
# Given an LB::Token::Group, create an expression I parse it
my $exp = new LB::Expression::Arithmetic $token_group;
# Whats the value of the expression?
print $exp->evaluate;
# Perl equivalent of the BASIC expression
print $exp->output_perl;

Expressions are basically the building blocks of Statements, in that every BASIC statement is made up of keywords (like GOTO, TO, STEP) and expressions. So expressions include not just the standard arithmetic and boolean expressions (like 1 + 2), but also lvalues (scalar variables or arrays), functions, and constants. See Language::Basic::Syntax for details on the way expressions are built.

BASIC expressions are represented by various objects of subclasses of Language::Basic::Expression. Most LB::Expressions are in turn made up of other LB::Expressions. For example an LBE::Arithmetic may be made up of two LBE::Multiplicative and a "plus". "Atoms" (indivisible LBEs) include things like LBE::Constants and LBE::Lvalues (variables).

<<less
Download (0.051MB)
Added: 2006-09-29 License: Perl Artistic License Price:
1121 downloads
Language::XSB 0.14

Language::XSB 0.14


Language::XSB is a Perl module that allows you to use XSB from Perl. more>>
Language::XSB is a Perl module that allows you to use XSB from Perl.

SYNOPSIS

use Language::XSB :query;
use Language::Prolog::Types::overload;
use Language::Prolog::Sugar vars=>[qw(X Y Z)],
functors=>{equal => =},
functors=>[qw(is)],
chains=>{plus => +,
orn => ;};

xsb_set_query( equal(X, 34),
equal(Y, -12),
is(Z, plus( X,
Y,
1000 )));

while(xsb_next()) {
printf("X=%d, Y=%d, Z=%dn",
xsb_var(X), xsb_var(Y), xsb_var(Z))
}

print join("n", xsb_find_all(orn(equal(X, 27),
equal(X, 45)), X)), "n";

ABSTRACT

Language::XSB provides a bidirectional interface to XSB (http://xsb.sourceforge.net/).

From the XSB manual:

XSB is a research-oriented Logic Programming and Deductive
Database System developed at SUNY Stony Brook. In addition to
providing all the functionality of Prolog, it contains
features not usually found in Logic Programming Systems such
as evaluation according to the Well Founded Semantics through
full SLG resolution, constraint handling for tabled programs,
a compiled HiLog implementation, unification factoring and
interfaces to other systems such as ODBC, C, Java, Perl, and
Oracle

This package implements a bidirectional interface to XSB, thats means that Perl can call XSB that can call Perl back that can call XSB again, etc.:

Perl -> XSB -> Perl -> XSB -> ...

(Unfortunately, you have to start from Perl, XSB->Perl->... is not possible.)
The interface to XSB is based on the objects created by the package Language::Prolog::Types. You can also use Language::Prolog::Sugar package, a front end for the types package to improve the look of your source (just some syntactic sugar).

To make queries to XSB you have to set first the query term with the function xsb_set_query, and then use xsb_next and xsb_result to iterate over it and get the results back.

Only one query can be open at any time, unless when Perl is called back from XSB, but then the old query is not visible.

<<less
Download (0.014MB)
Added: 2007-06-12 License: Perl Artistic License Price:
867 downloads
ADML language 1.1.4

ADML language 1.1.4


ADML language is a server-side scripting language with Mysql database suport. more>>
ADML language is a server-side scripting language with Mysql database suport.

About Apache:

Apache HTTP Server is a free software/open source HTTP web server for Unix-like systems (BSD, Linux, and UNIX systems), Microsoft Windows, Novell NetWare and other platforms. Apache is notable for playing a key role in the initial growth of the World Wide Web, and continues to be the most popular web server in use, serving as the reference platform against which other web servers are designed and judged.

Apache features highly configurable error messages, DBMS-based authentication databases, and content negotiation. It is also supported by several graphical user interfaces (GUIs) which permit easier, more intuitive configuration of the server.
The Apache HTTP Server is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.

<<less
Download (0.060MB)
Added: 2006-04-04 License: GPL (GNU General Public License) Price:
1299 downloads
Plone Language Tool 1.5

Plone Language Tool 1.5


Plone Language Tool is a product which allows you to set the available languages in your Plone site. more>>
Plone Language Tool is a product which allows you to set the available languages in your Plone site.
PloneLanguageTool allows you to set the available languages in your Plone site, select various fallback mechanisms, and control the use of flags for language selection and translations.
When installed, a new Plone control panel action will allow you to select various language options, such as the default and list of allowed languages.
PloneLanguageTool is shipped with Plone beginning in version 2.1 and up.
Enhancements:
- Bug fix release included in Plone 2.5.2.
<<less
Download (0.10MB)
Added: 2007-03-28 License: GPL (GNU General Public License) Price:
942 downloads
Russian Language Learning 1.0.1

Russian Language Learning 1.0.1


Russian Language Learning is a Java application that helps you to learn Russian using the Leitner system. more>>
Russian Language Learning is a Java application that helps you to learn Russian using the Leitner system.

Memorizing words and phrases will not only be more efficient, but the system is a joy to use. Each card also has the phrase spoken by a native russian speaker, to help with pronunciation.

The Leitner system is a way of progressively learning words by placing them in stacks. The words you know are placed in stacks seperate from the words that are still troubling you, for more efficient learning.

And there is one other thing about Tanooshka.com language learning. Each set of cards, are the words to a movie, so when youve learned the set of words, you can watch the movie, and understand it! In Russian!

<<less
Download (10.7MB)
Added: 2006-01-16 License: Freeware Price:
1673 downloads
Fawlty Language 0.70

Fawlty Language 0.70


Fawlty Language is an array-oriented interactive programming language for scientific data processing and visualization. more>>
. Its syntax is almost identical to that of the Interactive Data Language (IDL).
Main features:
- all language elements are supported
- multithreaded operators
- array operations use MMX/SSE/SSE2, if available
- module profiling
- line profiling
- about 300 library functions (more or less usable)
- true-color (24 bit) direct graphics devices: X, WIN, PS, PDF, Z
- run-time performance: for many programs, FL is faster than IDL (eg. the empty loop is three times faster in FL :-)
Installation:
- create a directory (INSTDIR), where you want to install FL
- unpack the archive into this directory
- create an FL_DIR environment variable, which points to INSTDIR/fl/fl_0.61
- run FL_DIR/bin/fl
Enhancements:
- This release introduces Distributed FL, and can be started as a TCP/IP daemon (Linux only), waiting for requests from other hosts (masters) and working for them as a slave.
<<less
Download (3.5MB)
Added: 2007-06-14 License: Free To Use But Restricted Price:
866 downloads
Language::Functional 0.03

Language::Functional 0.03


Language::Functional is a Perl module which makes Perl slightly more functional. more>>
Language::Functional is a Perl module which makes Perl slightly more functional.

SYNOPSIS

use Language::Functional :all;
print The first ten primes are: ,
show(take(10, filter { prime(shift) } integers)), "n";

Perl already contains some functional-like functions, such as map and grep. The purpose of this module is to add other functional-like functions to Perl, such as foldl and foldr, as well as the use of infinite lists.

Think as to how you would express the first ten prime numbers in a simple way in your favourite programming language? So the example in the synopsis is a killer app, if you will (until I think up a better one.

The idea is mostly based on Haskell, from which most of the functions are taken. There are a couple of major omissions: currying and types. Lists (and tuples) are simply Perl list references, none of this cons business, and strings are simple strings, not lists of characters.

The idea is to make Perl slightly more functional, rather than completely replace it. Hence, this slots in very well with whatever else your program may be doing, and is very Perl-ish. Other modules are expected to try a much more functional approach.

<<less
Download (0.016MB)
Added: 2007-06-28 License: Perl Artistic License Price:
848 downloads
Apache::Language 0.14

Apache::Language 0.14


Apache::Language is a Perl transparent language support for Apache modules and mod_perl scripts. more>>
Apache::Language is a Perl transparent language support for Apache modules and mod_perl scripts.

SYNOPSIS

In YourModule.pm:

sub handler {
my $r = shift;
use Apache::Language;
my $lang = Apache::Language->new($extra_args);
#$lang is now a hash ref that will automacigally pick the right language

print $lang->{Error01} if exists $lang->{Error01};

foreach ( keys %$lang ){
print "$_ is " . $lang->{$_};
}

[...]
}

The goal of this module is to provide a simple way for mod_perl module writers to include support for multiple language requests.

This is version 0.03, and its a complete rewrite from the ground-up of the previous release. Its still backward-compatible with the other releases, but now its much more advanced.

An Apache::Language object acts like a language-aware hash. It stores key/language/values triplets. Using the Accept-Language: field sent by the web-client, it can pick the best fit language for that specific client. Its usage is transparent and should prove to be quite convenient (and hopefully, efficient).

The method used to store/fetch information is now completely modular and will allow easy creation of new storage methods thru a simple API (see the API section).

<<less
Download (0.015MB)
Added: 2006-10-12 License: Perl Artistic License Price:
1108 downloads
The Language Machine 0.2.3

The Language Machine 0.2.3


The Language Machine is a free software toolkit for language and grammar. more>>
The Language Machine is a free software toolkit for language and grammar. It includes a shared library, a main program, and several metalanguage compilers with one frontend. The system is easy to use on its own or as a component.
The Language Machine directly implements unrestricted rule-based grammars with actions and external interfaces. A unique diagram shows rulesets in action.
Main features:
- rules describe how to recognise and transform grammatical input
- the left-side of a rule describes a pattern
- the right-side of a rule describes how the pattern is treated
- the left- and right- sides are unrestricted pattern generators
- the system is a kind of symbolic engine for grammar
- the metalanguage is very simple and very concise
- multiple grammars, rule priorities, left-recursion, right-recursion ...
- variables and associative arrays, a subset of javascript
- transformed representations can include actions and side-effects
- transformed representations can themselves be analysed as input
- can be used as a free-standing engine or as a shared library
- can be packaged together with precompiled rules
- very simple interface to external procedures in C and D languages
- built-in diagnostics with lm-diagram generator
- several self-hosted metalanguage compilers with a single front end
- compiled rules can be wrapped as shell scripts, or as C or D programs
- rules can be compiled to C or D code
- metalanguage source can be treated as wiki text in the Mediawiki format
Enhancements:
- modifications for compatibility with gdc-0.22 and dmd-1.010
- element.d - wrong indices to non-keyword array literal cells
- add src/dmd/Makefile for building with dmd compiler
<<less
Download (1.3MB)
Added: 2007-06-05 License: GPL (GNU General Public License) Price:
874 downloads
Open Dice Language 1.5

Open Dice Language 1.5


Open Dice Language project is a language for describing dice rolls. more>>
Open Dice Language project is a language for describing dice rolls.

Open Dice Language is a language for describing dice rolls.

The language is nearly identical to what you see in most role-playing game texts (e.g., "1d20"). It provides several interfaces to the language.

To run in CLI interface mode:

# pushd $ODL_HOME
# java -jar ODL.jar

To run as Widget:

build using `ant widget`
widget is now installed in users widget directory

<<less
Download (0.49MB)
Added: 2007-01-08 License: BSD License Price:
1019 downloads
Language::Zcode::Parser 0.8

Language::Zcode::Parser 0.8


Language::Zcode::Parser is a Perl module that reads and parses a Z-code file into a big Perl hash. more>>
Language::Zcode::Parser is a Perl module that reads and parses a Z-code file into a big Perl hash.

SYNOPSIS

# Create a Pure Perl Parser
my $pParser = new Language::Zcode::Parser "Perl";

# If they didnt put ".z5" at the end, find it anyway
$infile = $pParser->find_zfile($infile) || exit;

# Read in the file, store it in memory
$pParser->read_memory($infile);

# Parse header of the Z-file
$pParser->parse_header();

# Get the subroutines in the file (LZ::Parser::Routine objects)
my @subs = $pParser->find_subs($infile);

For finding where the subroutines start and end, you can either depend on an external call to txd, a 1992 C program available at ifarchive.org, or a pure Perl version.

Everything else is done in pure Perl.

new (class, how to find subs, args...)

This is a factory method. Called with Perl or TXD (or txd) as arguments, it will create Parsers of LZ::Parser::Perl or LZ::Parser::TXD, which are subclasses of LZ::Parser::Generic.

That class new method will be called with any other passed-in args.

<<less
Download (0.29MB)
Added: 2007-07-05 License: Perl Artistic License Price:
845 downloads
Natural Language Toolkit 0.8

Natural Language Toolkit 0.8


Natural Language Toolkit is a suite of Python libraries and programs for symbolic and statistical natural language processing. more>>
Natural Language Toolkit is a suite of Python libraries and programs for symbolic and statistical natural language processing. NLTK includes graphical demonstrations and sample data.
It is accompanied by extensive documentation, including tutorials that explain the underlying concepts behind the language processing tasks supported by the toolkit.
Documentation:
A substantial amount of documentation about how to use NLTK is available from the nltk home page:
< http://nltk.sourceforge.net >
In particular, the NLTK home page contains three types of documentation:
- Tutorials teach students how to use the toolkit, in the context of performing specific tasks. They are appropriate for anyone who wishes to learn how to use the toolkit.
< http://nltk.sourceforge.net/tutorial/ >
- The toolkits reference documentation describes every module, interface, class, method, function, and variable in the toolkit. This documentation should be useful to both users and developers.
< http://nltk.sourceforge.net/ref/nltk.html >
- A number of technical reports are available. These reports explain and justify the toolkits design and implementation. They are used by the developers of the toolkit to guide and document the toolkits construction. Students can consult these reports if they would like further information about how the toolkit is designed and why it is designed that way.
< http://nltk.sourceforge.net/tech/ >
Enhancements:
Code (major):
- changed package name to nltk
- import all top-level modules into nltk, reducing need for import statements
- reorganization of sub-package structures to simplify imports
- new featstruct module, unifying old featurelite and featurestructure modules
- FreqDist now inherits from dict, fd.count(sample) becomes fd[sample]
- FreqDist initializer permits: fd = FreqDist(len(token) for token in text)
- made numpy optional
Code (minor):
- changed GrammarFile initializer to accept filename
- consistent tree display format
- fixed loading process for WordNet and TIMIT that prevented code installation if data not installed
- taken more care with unicode types
- incorporated pcfg code into cfg module
- moved cfg, tree, featstruct to top level
- new filebroker module to make handling of example grammar files more transparent
- more corpus readers (webtext, abc)
- added cfg.covers() to check that a grammar covers a sentence
- simple text-based wordnet browser
- known bug: parse/featurechart.py uses incorrect apply() function
Corpora:
- csv data file to document NLTK corpora
Contrib:
- added Glue semantics code (contrib.glue, by Dan Garrette)
- Punkt sentence segmenter port (contrib.punkt, by Willy)
- added LPath interpreter (contrib.lpath, by Haejoong Lee)
- extensive work on classifiers (contrib.classifier*, Sumukh Ghodke)
Tutorials:
- polishing on parts I, II
- more illustrations, data plots, summaries, exercises
- continuing to make prose more accessible to non-linguistic audience
- new default import that all chapters presume: from nltk.book import *
Distributions:
- updated to latest version of numpy
- removed WordNet installation instructions as WordNet is now included in corpus distribution
- added pylab (matplotlib)
Enhancements:
Code:
- changed nltk.__init__ imports to explicitly import names from top-level modules
- changed corpus.util to use the rb flag for opening files, to fix problems reading corpora under MSWindows
- updated stale examples in engineering.txt
- extended feature stucture interface to permit chained features, e.g. fs[F,G]
- further misc improvements to test code plus some bugfixes
Tutorials:
- rewritten opening section of tagging chapter
- reorganized some exercises
<<less
Download (MB)
Added: 2007-07-03 License: GPL (GNU General Public License) Price:
850 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5