Browsing projects by Tag(s)

Select a tag to browse associated projects and drill deeper into the tag cloud.

Showing page 1 of 2

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. It is also fully interoperable with Java.

4.81159
   
  0 reviews  |  178 users  |  298,240 lines of code  |  101 current contributors  |  Analyzed 7 days ago
 
 

JRuby is an 100% pure-Java implementation of the Ruby programming language. JRuby is the effort to recreate the Ruby interpreter in Java. JRuby is tightly integrated with Java to allow both to script any Java class and to embed the interpreter into any Java application.

4.58065
   
  1 review  |  82 users  |  1,210,912 lines of code  |  87 current contributors  |  Analyzed 3 days ago
 
 

Clojure is a dynamic programming language for the JVM. It is interactive, yet compiled, with a robust infrastructure for concurrency (STM). It is a functional dialect of Lisp, with a rich set of immutable, persistent data structures and a macro system.

4.76667
   
  0 reviews  |  61 users  |  62,424 lines of code  |  26 current contributors  |  Analyzed 3 days ago
 
 

Jython is a Java implementation of the Python programming language. It allows users to compile Python source code to Java byte codes, and run the resulting bytecodes on any Java Virtual Machine. It is a very seamless and smooth integration with Java: from Python you have complete access to all Java ... [More] libraries, can build applets, can integrate with Java beans, and can subclass Java classes in Python and vice versa. Like Python, and unlike Java, Jython can also be used interactively: just type some Jython code at the prompt and see the results immediately. [Less]

4.0
   
  1 review  |  55 users  |  1,118,379 lines of code  |  16 current contributors  |  Analyzed 6 days ago
 
 

IntroductionScalaLogic is a light-weight Prolog interpreter written in Scala. It can parse and execute Prolog code or it can write logic programs in a Prolog-like DSL language inside Scala. Emphasis is on simplicity, not performance. Most standard library predicates are not supported but can ... [More] easily be added. ExampleDefine the theory in the DSL language: val append = 'append val quicksort = 'quicksort val partition = 'partition val theory = scalog( //Quicksort quicksort(Nil, Nil), quicksort('HEAD ::'TAIL,'SORTED) := partition('HEAD,'TAIL,'LEFT,'RIGHT) & quicksort('LEFT,'SORTEDL) & quicksort('RIGHT,'SORTEDR) & append('SORTEDL,'HEAD ::'SORTEDR,'SORTED), //Partition partition('PIVOT, Nil, Nil, Nil), partition('PIVOT,'HEAD ::'TAIL,'HEAD::'LEFT,'RIGHT) :='HEAD < 'PIVOT & partition('PIVOT,'TAIL,'LEFT,'RIGHT), partition('PIVOT,'HEAD ::'TAIL,'LEFT,'HEAD ::'RIGHT) :='HEAD >= 'PIVOT & partition('PIVOT, 'TAIL, 'LEFT, 'RIGHT), //Append append(Nil, 'L, 'L), append('H ::'L1,'L2,'H ::'L3) := append('L1,'L2,'L3) )Execute a goal: val solutions = theory ?= quicksort(List(3,2,1,10,8,9,7,5,6,4,3,2,1,10,8,9,7,5,6,4,3), 'Sorted)Print each solution in the Stream: print(solutions) Sorted = [1,1,2,2,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10]. [Less]

5.0
 
  0 reviews  |  1 user  |  1,150 lines of code  |  0 current contributors  |  Analyzed 2 days ago
 
 

Streme (Scheme + stream) is a Scheme-inspired language with a concurrent interpreter. The main goal is to make effective use of multiple cores when evaluating programs. PropertiesInterpreter with queue-based concurrencyThe evaluator fetches continuations from a queue and posts back other ... [More] continuations. Other phases of the compiler (analysis, transformation, ...) can be made asynchronous as well. Interprocedural flow and dependence analysisStreme comes with tools that are capable of performing control and value flow analysis, environmental analysis, and interprocedural dependence analysis. Toolbox approachStreme is written in an open, extensible and accessible way. The idea is to use OO techniques and design patterns to make Streme modular, so that "stuff" (parsers, analyzers, rewriters, evaluators, ...) can be studied, used and modified in isolation, and can be assembled and rearranged as needed. Parallelizing compilerThe ultimate goal is automatic parallelization of Scheme programs, evaluating standard Scheme programs (i.e. programs without special annotations for parallelization) using multiple cores. Runs on Java VM and interoperable with JavaJava interop is not a primary concern, but something that will be added over time. StatusStreme is still very much work in progress. Influenced bySlip, Lisp in 100 lines; Theo D'Hondt site ORBIT: an optimizing compiler for scheme; Kranz et al. paper thesis The interprocedural analysis and automatic parallelization of Scheme programs; Williams L. Harrison III article Control-flow analysis of higher-order languages; Olin Shivers dissertation Embedding Scheme in Java; Brian D. Carlstrom dissertation Exploiting reachability and cardinality in higher-order flow analysis; Matthew Might and Olin Shivers paper Interprocedural dependence analysis of higher-order programs via stack reachability; Matthew Might and Tarun Prabhu paper [Less]

0
 
  0 reviews  |  0 users  |  40,324 lines of code  |  0 current contributors  |  Analyzed 7 days ago
 
 
Compare

The Akin programming language.

0
 
  0 reviews  |  0 users  |  5,490 lines of code  |  0 current contributors  |  Analyzed 2 days ago
 
 

Java based generic scripting engine with dynamic language features. Syntax is also based on the Java language and works transparent with Java VM in that it locates classes on the fly and can also compile .java files in runtime. Recently added prototype functionality (as known from ECMA based scriptlanguages such as Javascript/Actionscript).

0
 
  0 reviews  |  0 users  |  8,729 lines of code  |  0 current contributors  |  Analyzed 1 day ago
 
 

June is what ordinary Java would look like if it were simpler, more reliable, and disguised as a scripting language. Run from source - or compile to class files with no dependencies on June itself. Here's Hello World: out.println('Hello, world!')Or put a shebang in front for fun: ... [More] #!/usr/bin/env june out.println('Hello, world!')Simple summary: Statically typed. Really almost just Java on the inside. No checked exceptions. Simplified generics. Closures. Compiles to Java classes. Null and non-null handling. Simplified handling of autoboxing and primitives as objects. Hopefully possible to compile Java and June in one pass, allowing you to convert one file at a time. Uses '#' for comments to ease Unix-like scripting expectations. Very simple scripts work, but there's a long way to go on implementation. I'm releasing June code as public domain. [Less]

0
 
  0 reviews  |  0 users  |  2,289 lines of code  |  0 current contributors  |  Analyzed 7 days ago
 
 
Compare

Rita is a JVM-based language with a simple, concise and powerful syntax. The goal of the Rita project is to create a viable alternative to Java that incorporates some of the best features of other languages such as Ruby.

0
 
  0 reviews  |  0 users  |  0 current contributors
 
 
 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.