77 lines
6.1 KiB
HTML
77 lines
6.1 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|||
|
<title>CLiki: parenscript</title>
|
|||
|
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
|
|||
|
href="https://www.cliki.net/site/feed/article.atom?title=parenscript">
|
|||
|
<link rel="stylesheet" href="static/css/style.css">
|
|||
|
<link rel="stylesheet" href="static/css/colorize.css">
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
<span class="hidden">CLiki - parenscript</span>
|
|||
|
<div id="content"><div id="content-area"><div id="article-title">parenscript</div><div id="article">Parenscript is a translator from an extended subset of Common Lisp to <a href="JavaScript.html" class="category">JavaScript</a>. Parenscript code can run almost identically on both the browser (as JavaScript) and server (as Common Lisp).<p>Parenscript code is treated the same way as Common Lisp code, making the full power of Lisp macros available for JavaScript. This provides a web development environment that is unmatched in its ability to reduce code duplication and provides advanced metaprogramming facilities to web developers.<p>At the same time, Parenscript is different from almost all other "language X" to JavaScript translators in that it imposes almost no overhead.<p>License: BSD-3-Clause<p>Homepage: <a href="http://common-lisp.net/project/parenscript/">http://common-lisp.net/project/parenscript/</a><p>Parenscript is available in <a href="Quicklisp.html" class="internal">Quicklisp</a> since version 2.1 (at least).<p>It is a kind of <a href="s-exp syntax.html" class="category">s-exp syntax</a> for Javascript.<p><h4>Live coding</h4><p><a href="https://github.com/johnmastro/trident-mode.el">Trident-mode</a> is an Emacs mode for live Parenscript interaction. <p>More precisely it is a minor mode and a collection of commands for working with Parenscript code in SLIME and sending it to the browser via Skewer. The goal is to create an environment for hacking Parenscript which fits as naturally as possible into the Lisp style of interactive development. It can also open a Javascript REPL connected to the browser and connect to a page the server of which you don’t control.<p><h4>TodoMVC example</h4><p>This <a href="https://github.com/40ants/todomvc/blob/common-lisp-example/examples/common-lisp-react/src/app.lisp">Todo MVC example</a> is implemented in Parenscript, using the <a href="https://github.com/michaeljforster/panic">Panic</a> wrapper around <a href="https://www.cliki.net/React" class="new">React</a>.<p><h4>All pages in topic "Parenscript": </h4>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<a href="ParenscriptClassicOO.html" class="internal">ParenscriptClassicOO</a> -
|
|||
|
<a href="JavaScript.html" class="internal">JavaScript</a>'s support for object-oriented programming is a bit unusual and often feels repetitive and low-level
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="parenscriptm.html" class="internal">parenscriptm</a> -
|
|||
|
Tool for generating mithrilJS code in parenscript
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="ParenScriptObjectSystem.html" class="internal">ParenScriptObjectSystem</a> -
|
|||
|
The ParenScript Object System (<a href="https://gitlab.common-lisp.net/suave/paren-psos">PSOS</a>) is a facility for object-oriented programming in ParenScript using the same style and techniques as the <a href="CLOS.html" class="internal">Common Lisp Object System</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="ParenscriptTipsAndTricks.html" class="internal">ParenscriptTipsAndTricks</a> -
|
|||
|
This page is for snippets of code that are useful in writing <a href="ParenScript.html" class="internal">ParenScript</a> code
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="ParenscriptWithApachePHP.html" class="internal">ParenscriptWithApachePHP</a> -
|
|||
|
This page describes one technique for seamlessly integrating <a href="ParenScript.html" class="category">ParenScript</a> with Apache using PHP, mod_rewrite, and GNU make
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="parenscriptx.html" class="internal">parenscriptx</a> -
|
|||
|
A simple tool for aiding with creating React UIs in <a href="parenscript.html" class="category">parenscript</a>
|
|||
|
</li>
|
|||
|
</ul></div></div>
|
|||
|
<div id="footer" class="buttonbar"><ul><li><a href="parenscript.html">Current version</a></li>
|
|||
|
<li><a href="https://www.cliki.net/site/history?article=parenscript">History</a></li>
|
|||
|
<li><a href="https://www.cliki.net/site/backlinks?article=parenscript">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=parenscript&from-revision=3758034157">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
|
|||
|
</div>
|
|||
|
<div id="header-buttons" class="buttonbar">
|
|||
|
<ul>
|
|||
|
<li><a href="https://www.cliki.net/">Home</a></li>
|
|||
|
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
|
|||
|
<li><a href="CLiki.html">About</a></li>
|
|||
|
<li><a href="Text Formatting.html">Text Formatting</a></li>
|
|||
|
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
|
|||
|
</ul>
|
|||
|
<div id="search">
|
|||
|
<form action="https://www.cliki.net/site/search">
|
|||
|
<label for="search_query" class="hidden">Search CLiki</label>
|
|||
|
<input type="text" name="query" id="search_query" value="" />
|
|||
|
<input type="submit" value="search" />
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div id="pageheader">
|
|||
|
<div id="header">
|
|||
|
<span id="logo">CLiki</span>
|
|||
|
<span id="slogan">the common lisp wiki</span>
|
|||
|
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
|
|||
|
<label for="login_name" class="hidden">Account name</label>
|
|||
|
<input type="text" name="name" id="login_name" class="login_input" />
|
|||
|
<label for= "login_password" class="hidden">Password</label>
|
|||
|
<input type="password" name="password" id="login_password" class="login_input" />
|
|||
|
<input type="submit" name="login" value="login" id="login_submit" /><br />
|
|||
|
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
|
|||
|
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</body></html>
|