This link has been bookmarked by 52 people . It was first bookmarked on 01 Jul 2008, by someone privately.
-
Eugene ZamriyClojure is a dynamic programming language that targets the Java Virtual Machine (and the CLR ).
-
almClojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
-
m ka lisp dialect running on the jvm
-
Navneet KumarClojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic
-
Bill AndersonThere's no end to the development of programming languages: imperative, functional, object-oriented, scripting, procedural .... Sometimes I feel like I'm converging on some understanding.
-
Johannes ÖhlinEtt funktionellt parallelliserbart språk som kör på JVMen
-
Chris Lasher[via behindtherabbit and ynse] Clojure is a dynamic functional programming language (in the vein of Lisp) built atop the Java Virtual Machine. Despite being dynamic, Clojure compiles to Java bytecode. It has access to Java libraries. It allows for type hi
-
Alan StebbensYet another Lisp clone -- but this one is based on Java, JVM, and incorporates functional programming -- like function signature matching -- and some features of OO languages, like class inheritance.
-
PJ CabreraClojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. -
Brent SordylClojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure
-
mongolito 404Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure
-
-
Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.
-
-
Mamoud KassemClojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure
-
marcell marsClojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.
-
<script type="text/javascript">
<!--
var autosaveDetected = false;
var checkoutStatus = '';
var checkoutUser = '';
var checkoutMessage = '';
function disableEditButton(element) {
if (element.className == 'WikiPageMenuEditButton') {
element.className='WikiPageMenuEditButtonDisabled';
}
jQuery(element).unbind("click");
element.style.cursor='default';
element.href='#';
return true;
}
function enableEditButton(element) {
log('enabledEditButton');
if (element.className == 'WikiPageMenuEditButtonDisabled') {
element.className='WikiPageMenuEditButton';
}
jQuery(element).click(function() {
jQuery('.WikiNotice').remove();
jQuery('.WikiBanner').remove();
try {
disableEditButton(element);
showFiles();
editorEnable();
return false;
} catch (e) {
element.href = '/page/edit/' + encodeURIComponent(wikispaces_page);
redirectToEditPage(false);
return true;
}
});
element.style.cursor='pointer';
element.href='/page/edit/' + encodeURIComponent(wikispaces_page);
return true;
}
function editorEnable() {
if (navigator.userAgent.toLowerCase().indexOf('safari') + 1 ||
navigator.userAgent.toLowerCase().indexOf('opera') + 1) {
redirectToEditPage(true);
exit();
}
try {
var url = '/page/dump/' + encodeURIComponent(wikispaces_page) + '?format=Wikispaces2';
jQuery.ajax({ url: url, type: "GET", timeout: 2000, global: false, error: redirectToEditPageCallback, success: editorEnableCallback });
} catch (e) {
redirectToEditPage(false);
}
}
function redirectToEditPageCallback(request, errorString, errorException) {
log('redirectToEditPageCallback');
redirectToEditPage(false);
}
function redirectToEditPage(textEditor) {
log('redirectToEditPage');
document.location = '/page/edit/' + encodeURIComponent(wikispaces_page) + (textEditor ? '?texteditor=1' : '');
}
function editorEnableCallback(xml) {
log('editorEnableCallback');
// Load the fetched XML and set it up for the editor
if (loadXMLData(xml)) {
if (checkoutStatus == 'locked' && (!wikispaces_isUserLoggedIn || checkoutUser != wikispaces_username)) {
alert(checkoutMessage);
enableEditButton(document.getElementById('editButton'));
return false;
}
// Fade before autosave or editor starts, so that we don't fade the popup windows
fadeEditor();
// Setup autosave
if (autosaveDetected) {
log('autosaveDetected');
if (typeof(Dialog) != 'undefined') {
if (typeof(showAutosavePopup) != 'undefined') {
log('showAutosavePopup');
showAutosavePopup();
} else {
log('ERROR: undefined showAutosavePopup');
redirectToEditPage(false);
return false;
}
} else {
log('ERROR: undefined Dialog');
redirectToEditPage(false);
return false;
}
} else {
//Only start the autosave loop after the modal autosave popup has closed or if it wasn't displayed
log('autosaveLoop setTimeout');
setTimeout("autosaveLoop()", 1000);
}
jQuery('#editor_wrap').show();
if (customEditorStart('WikispacesEditorContentHidden')) {
jQuery('#WikiTags').hide();
jQuery('#content_view').hide();
jQuery('#WikiAds').hide();
o = jQuery('#WikiAdMargin');
if (o) {
o.css('marginRight', 0);
}
return true;
} else {
log('customEditorStart failed');
}
}
// Something failed, and we're in a callback, so we have to change the page location to the edit page like this
redirectToEditPage(false);
}
function loadXMLData(xml) {
log('loadXMLData');
try {
var contentBlock = xml.getElementsByTagName('dump')[0].getElementsByTagName('content')[0];
var wikiPageData = '';
if (contentBlock && contentBlock.childNodes.length > 0) {
for (var i = 0; i < contentBlock.childNodes.length; i++) {
wikiPageData += contentBlock.childNodes[i].nodeValue;
}
}
var versionBlock = xml.getElementsByTagName('dump')[0].getElementsByTagName('version')[0]
if (versionBlock && versionBlock.firstChild) {
version = versionBlock.firstChild.nodeValue;
}
// If we got back a version, but not any data
if (!wikiPageData && version != 0) {
return false;
}
// Store loaded page data in the same place that the edit page would have it
if (wikiPageData) {
document.getElementById('WikispacesEditorContentHidden').innerHTML = wikiPageData;
}
checkoutStatus = xml.getElementsByTagName('checkout')[0].getElementsByTagName('checkoutStatus')[0].firstChild.nodeValue;
if (checkoutStatus == 'locked') {
checkoutUser = xml.getElementsByTagName('checkout')[0].getElementsByTagName('checkoutUser')[0].firstChild.nodeValue;
var checkoutDate = xml.getElementsByTagName('checkout')[0].getElementsByTagName('checkoutDate')[0].firstChild.nodeValue;
var checkoutRefreshDate = xml.getElementsByTagName('checkout')[0].getElementsByTagName('checkoutRefreshDate')[0].firstChild.nodeValue;
checkoutMessage = 'This page was locked for editing by ' + checkoutUser + ' on ' + checkoutDate + '. The page will be available for editing after the changes have been saved.';
}
if (xml.getElementsByTagName('dump')[0].getElementsByTagName('autosave').length > 0) {
var autosaveRoot = xml.getElementsByTagName('dump')[0].getElementsByTagName('autosave')[0];
var autosaveContentBlock = autosaveRoot.getElementsByTagName('autosaveContent')[0];
var autosaveContent = '';
if (autosaveContentBlock && autosaveContentBlock.childNodes.length > 0) {
for (var i = 0; i < autosaveContentBlock.childNodes.length; i++) {
autosaveContent += autosaveContentBlock.childNodes[i].nodeValue;
}
}
var autosaveDate = autosaveRoot.getElementsByTagName('autosaveDate')[0].firstChild.nodeValue;
autosaveVersion = autosaveRoot.getElementsByTagName('autosaveVersion')[0].firstChild.nodeValue;
document.getElementById('autosavePrompt').innerHTML = '<h1>Draft Recovered</h1><p class="wikispaces_p">We have recovered an unsaved draft of this page, created ' + autosaveDate + '.</p>' +
(autosaveVersion != version ? '<p class="wikispaces_p">However, another person has edited this page since your last draft. If you continue, their changes will be overwritten. To view these changes, <a href="/page/diff/' + encodeURIComponent(wikispaces_page) + '?v1=' + autosaveVersion + '&v2=' + version + '">click here</a>.</p>' : '');
jQuery('#autosaveContent').val(autosaveContent);
autosaveDetected = true;
}
return true;
} catch (e) {
return false;
}
}
// Link the edit button to the dynamic in-page editor and remove the href to the standalone editor
jQuery(document).ready(function() {
if (document.getElementById('editButton')) {
enableEditButton(document.getElementById('editButton'));
}
} );
//-->
</script>
<!-- The wiki div is styled in the customizable stylesheet -->

<!-- google_ad_section_start -->
Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.
-
-
Derek MaharClojure is highly impressive!
Page Comments
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.