-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
83 lines (74 loc) · 3.04 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>nojsbe/index.md</title>
</head>
<body>
<link rel="stylesheet" href="/css/markdown.css"></link>
<h2 id="whats_the_buzz">What's The Buzz</h2>
<p>One of initial descriptions of the project, then hosted at
<a href="http://github.com/nojs">github.com/nojs</a> was</p>
<blockquote>
<p>Sane language to produce javascript code that works in browser and
on node.js</p>
</blockquote>
<p>Some time passed, more experiments followed, and it became obvious
that this no-js kind of approach applies to a variety of topics and has a
number of pleasant implications. That was the time when project was
killed and organization spawned at github under the same <a href="http://github.com/nojs/">url</a>.</p>
<p>Here are some in-progress experiments:</p>
<ul>
<li><a href="/clos">CLOS</a> CLOS-like object system for javascript</li>
</ul>
<p>Actually, it's prototype-based implementation of
<a href="http://en.wikipedia.org/wiki/C3_linearization">c3 linearization</a>
algorithm found in python or perl. It does allow to have multiple
inheritance in prototype-coherent javascriptish way.</p>
<ul>
<li><a href="/gg">gg</a> Simple Interactive Grammar Generator</li>
</ul>
<p>It's metalua's gg inspired, or, to be more precise, metalua's gg rip
implementation in javascript. It was so awesome to read all of
<a href="http://metalua.blogspot.com/">Fabien's posts</a> on it, and I wanted it so badly in
javascriptland, that I couldn't resist having it here ripped-off.</p>
<ul>
<li><a href="/jscc">jscc</a> Javascript compiler compiler</li>
</ul>
<p>I don't quite get what that title could stand for, but it's extensible processing
tool for js that allows you to have any and all of that fancy or not
syntax extensions and all AST-manipulation and macro-defining
facilities.</p>
<ul>
<li>Some interesting extensions:<ul>
<li>Structural pattern matching</li>
<li>Destructuring assignment</li>
<li>Destructuring properties access</li>
</ul>
</li>
<li>
<p><a href="/actor">Actor</a> Erlang-like message passing</p>
</li>
</ul>
<p>Allows erlang-line processes to run on nodes evenly in browser and on
server. Consumed well with syntax bindings.</p>
<h3 id="some_bookmarks_for_future_works">Some bookmarks for future works</h3>
<ul>
<li><a href="/ast-diff">ast diff</a> Diff algorithm applicable to AST</li>
<li>Minimal emacs for noder</li>
<li>Minimal linux for noder</li>
</ul>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-34696374-1']);
_gaq.push(['_setDomainName', 'nojs.github.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>