Skip to main content

marcell mars's Library tagged lisp   View Popular

24 Feb 09

ecmascript for guile

"ECMAScript compiler for Guile"

wingolog.org/...ecmascript-for-guile - Preview

programming lisp ui

08 Sep 08

Clojure

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.

clojure.org - Preview

programming java lisp language floss


  • <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 -->



    Protected

    <!-- 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.
15 Oct 07

linux:devilspie [foosel.net]

  • A window-matching utility, inspired by Sawfish's “Matched Windows” option and the lack of the functionality in Metacity. Metacity lacking window matching is not a bad thing — Metacity is a lean window manager, and window matching does not have to be a window manager task. Devil's Pie can be configured to detect windows as they are created, and match the window to a set of rules. If the window matches the rules, it can perform a series of actions on that window. For example, I can make all windows created by X-Chat appear on all workspaces, and the main Gkrellm1 window does not appear in the pager or task list
1 - 4 of 4
Showing 20 items per page

Diigo is about better ways to research, share and collaborate on information. Learn more »

Join Diigo