<?xml version='1.0' encoding='iso-8859-1'?><?xml-stylesheet type='text/xsl' href='https://w3future.com/w3f/w3f.xsl' ?>
<html xmlns="http://www.w3.org/2002/06/xhtml2" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xf="http://www.w3.org/2002/xforms/cr" xml:lang="en" xml:base="https://w3future.com/weblog/2002/11/07.xml">
<head>
<title>Thursday, November 07, 2002 - Sjoerd Visscher's weblog</title>
<link rel="meta" type="application/rdf+xml" title="FOAF" href="https://w3future.com/people/sjoerd_visscher/foaf.rdf" />
</head>
<body>
<section id="content">
	<h>Sjoerd Visscher's weblog</h>
	<p>Pondering those web technologies that may change the future of the world wide web.</p>
	<section id="note">
		<h>Last Update</h>
		<p>10/16/2005; 1:24:12 AM</p>
		<p id="alternates" class="buttons">
			<l href="https://w3future.com/weblog/2002/11/07.xml?notransform" rel="alternate" type="application/xml" title="See this web page with XHTML 2.0 technology."><span>Try</span> XHTML 2.0</l>
			<l href="view-source:https://w3future.com/weblog/2002/11/07.xml?notransform" title="View the XHTML 2.0 source of this page."><span>Src</span> XHTML 2.0</l>
			<l href="https://w3future.com/tools/xr.pl?xr=https://w3future.com/xr/w3f.xml&amp;xml=https://w3future.com/weblog/2002/11/07.xml%3Fnotransform" rel="meta" type="application/rdf+xml" title="RDF metadata"><span>RDF</span> Metadata</l>
		</p>
		<xi:include href="https://w3future.com/w3f/buttons.xml" />
	</section><section>
  <h><a rel='prev' href='https://w3future.com/weblog/2002/10/28.xml#a138' title='Monday, October 28, 2002'>&lt;&#160;</a><a href="https://w3future.com/weblog/2002/11/07.xml">Thursday, November 07, 2002</a><a rel='next' href='https://w3future.com/weblog/2002/11/08.txt#a140' title='Friday, November 08, 2002'>&#160;&gt;</a></h>
<a name="a139"></a>
<section id="a139">
<h id='loellANewProgrammingLanguage'><a href="https://w3future.com/weblog/2002/11/07.xml#a139" class="weblogItemTitle">Loell, a new programming language</a></h>
<p>When Dan Shappir and I were working on <a href="https://w3future.com/html/beyondJS/">Beyond JS</a> we agreed that Javascript is a powerful language. But we couldn't do all the tricks we wanted to do. One problem is the lack of control over the scope. And to keep the story short, I have created a language that gives full controle over scope:
<a href="https://w3future.com/html/loell/">Loell</a>.</p>
<p>Traditional languages either have static or dynamic scoping. With Loell you can have both. When a closure is created, the scope it is created in is stored in the scope property of the closure. When you use that scope when evaluating the closure (<code>closure.scope#closure</code>) you have static scoping. But when you use the current scope (<code>$#closure</code>) you get dynamic scoping. But you can use any object as scope.</p>
<p>It turns out that this is powerful enough to implement <code>if</code>, while the language has no actual branching built in. Even <code>while</code> is implementable which I had never anticipated.</p>
<p>I've got the parser running for just 3 days now, so Loell is nowhere near finished.
There's no precedence and it's slow, but if you are interested in programming languages I hope you'll like to <a href="https://w3future.com/html/loell/">experiment with Loell</a> already. If you know other languages that have special scope control, or research in scope control, I'd like to hear from you.</p>
</section>
</section>
<xi:include href='https://w3future.com/tools/rdf.php?about=https://w3future.com/weblog/2002/11/07.xml' /></section>
<section id="navigation"><xi:include href="https://w3future.com/w3f/sections.xml" /></section>
<section id="sidebar"><xi:include href="https://w3future.com/weblog/sidebars/weblog.opml" /></section>
</body>
</html>
