Progress
This commit is contained in:
parent
03a521319a
commit
20d23497d5
|
@ -3,6 +3,7 @@
|
||||||
<link rel="stylesheet" type="text/css" href="{{ site.baseurl }}/style.css" title="stylesheet" media="screen">
|
<link rel="stylesheet" type="text/css" href="{{ site.baseurl }}/style.css" title="stylesheet" media="screen">
|
||||||
<link href="//fonts.googleapis.com/css?family=Bree+Serif" rel="stylesheet" type="text/css">
|
<link href="//fonts.googleapis.com/css?family=Bree+Serif" rel="stylesheet" type="text/css">
|
||||||
<link href="//fonts.googleapis.com/css?family=Lora" rel="stylesheet" type="text/css">
|
<link href="//fonts.googleapis.com/css?family=Lora" rel="stylesheet" type="text/css">
|
||||||
|
<link href="//fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css">
|
||||||
<meta name="author" content="Tony Garnock-Jones">
|
<meta name="author" content="Tony Garnock-Jones">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
{% if page.feed %}
|
{% if page.feed %}
|
||||||
|
|
|
@ -1,8 +1 @@
|
||||||
<!-- -*- html -*- -->
|
<!-- -*- html -*- -->
|
||||||
<div class="mainmenu">
|
|
||||||
<ul>
|
|
||||||
<li><a href="{{ site.baseurl }}">home</a></li>
|
|
||||||
<li><a href="{{ site.baseurl }}/code.html">code</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
<title>{{ site.title }}: {{ page.title }}</title>
|
<title>{{ site.title }}: {{ page.title }}</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="page">
|
<div id="page" class="{{ page.class }}">
|
||||||
{% include common_nav %}
|
{% include common_nav %}
|
||||||
{% include common_header %}
|
{% include common_header %}
|
||||||
<div id="content">
|
<div class="content">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
</div>
|
</div>
|
||||||
{% include common_footer %}
|
{% include common_footer %}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
67
index.md
67
index.md
|
@ -1,18 +1,67 @@
|
||||||
---
|
---
|
||||||
title: Home
|
title: Home
|
||||||
layout: page
|
layout: page
|
||||||
|
class: frontpage
|
||||||
|
link:
|
||||||
|
ghrepo: 'https://github.com/tonyg/syndicate'
|
||||||
---
|
---
|
||||||
|
|
||||||
# syn·di·cate
|
> # syn·di·cate
|
||||||
|
>
|
||||||
|
> ## a language for interactive programs
|
||||||
|
>
|
||||||
|
> **noun**
|
||||||
|
> /ˈsindikit/
|
||||||
|
>
|
||||||
|
> 1. a self-organizing group of individuals, companies, corporations or
|
||||||
|
> entities formed to transact some specific business, to pursue or
|
||||||
|
> promote a shared interest. <small>—[Wikipedia](https://en.wikipedia.org/wiki/Syndicate)</small>
|
||||||
|
>
|
||||||
|
> <div class="linkbuttons"><a href="{{ page.link.ghrepo }}"><img alt="Link to Syndicate github repo" src="{{ site.baseurl }}/img/GitHub-Mark-64px.png"></a></div>
|
||||||
|
|
||||||
**noun**
|
# Motivation
|
||||||
/ˈsindikit/
|
|
||||||
|
|
||||||
1. a self-organizing group of individuals, companies, corporations or
|
Syndicate is an Actor-based language with features specifically
|
||||||
entities formed to transact some specific business, to pursue or
|
designed to help programmers organise their interactive programs.
|
||||||
promote a shared interest. <small>—[Wikipedia](https://en.wikipedia.org/wiki/Syndicate)</small>
|
|
||||||
|
|
||||||
---
|
# Trying it out
|
||||||
|
|
||||||
Syndicate is an Actor-based language with multicast, features for
|
The [Syndicate github repository](https://github.com/tonyg/syndicate)
|
||||||
managing shared state, and grouping of actors.
|
contains Syndicate implementations for both
|
||||||
|
[Racket](http://racket-lang.org/) and
|
||||||
|
[ES5](https://en.wikipedia.org/wiki/ECMAScript).
|
||||||
|
|
||||||
|
...
|
||||||
|
which includes
|
||||||
|
|
||||||
|
- the implementation of the `#lang syndicate` language, in the
|
||||||
|
[`syndicate` directory](https://github.com/tonyg/syndicate/tree/master/syndicate/).
|
||||||
|
|
||||||
|
- a TCP echo server example, which listens for connections on port
|
||||||
|
5999 by default, in
|
||||||
|
[`syndicate/examples/echo.rkt`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/echo.rkt).
|
||||||
|
Connect to it using, for example, `telnet localhost 5999`.
|
||||||
|
|
||||||
|
- a handful of other examples, in
|
||||||
|
[`syndicate/examples/`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/).
|
||||||
|
|
||||||
|
## Compiling and running the code
|
||||||
|
|
||||||
|
You will need Racket version 6.3 or later.
|
||||||
|
|
||||||
|
Once you have Racket installed, run
|
||||||
|
|
||||||
|
raco pkg install syndicate
|
||||||
|
|
||||||
|
to install the package from the Racket package repository, or
|
||||||
|
|
||||||
|
raco pkg install
|
||||||
|
|
||||||
|
from the root directory of the Git checkout to install the package
|
||||||
|
from a local snapshot. (Alternatively, `make link` does the same thing.)
|
||||||
|
This will make `#lang syndicate` available to programs.
|
||||||
|
|
||||||
|
At this point, you may load and run any of the example `*.rkt` files
|
||||||
|
in the
|
||||||
|
[`syndicate/examples/`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/)
|
||||||
|
directory.
|
||||||
|
|
155
style.css
155
style.css
|
@ -1,10 +1,19 @@
|
||||||
---
|
---
|
||||||
layout:
|
layout:
|
||||||
color1: "#4B4B61"
|
|
||||||
color2: "#0ac"
|
bodybackground: "#bbb"
|
||||||
linkcolor: "#28b"
|
pagebackground: "#fff"
|
||||||
|
herobackground: "#eee"
|
||||||
|
textcolor: "#000"
|
||||||
|
codecolor: "#000"
|
||||||
|
headercolor: "#BD1550"
|
||||||
|
heroheadercolor: "#E97F02"
|
||||||
|
herotextcolor: "#000"
|
||||||
|
linkcolor: "#5D008F"
|
||||||
|
|
||||||
textfonts: "'Lora', Georgia"
|
textfonts: "'Lora', Georgia"
|
||||||
headerfonts: "'Bree Serif', Georgia"
|
headerfonts: "'Bree Serif', Georgia"
|
||||||
|
codefonts: "'Inconsolata', monospace"
|
||||||
---
|
---
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
@ -59,43 +68,40 @@ table {
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: #eee;
|
background: {{ page.bodybackground }};
|
||||||
|
color: {{ page.textcolor }};
|
||||||
}
|
}
|
||||||
|
|
||||||
body, th, td, input, textarea {
|
body, th, td, input, textarea {
|
||||||
font-family: {{ page.textfonts }};
|
font-family: {{ page.textfonts }};
|
||||||
font-size: 10pt;
|
font-size: 12pt;
|
||||||
color: {{ page.color1 }};
|
color: {{ page.textcolor }};
|
||||||
}
|
}
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
h1, h2, h3, h4, h5, h6 {
|
||||||
font-family: {{ page.headerfonts }};
|
font-family: {{ page.headerfonts }};
|
||||||
}
|
}
|
||||||
|
|
||||||
#page.frontpage h1 {
|
|
||||||
font-size: 56pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3 {
|
h1, h2, h3 {
|
||||||
margin-top: 0.5em;
|
margin-top: 0.5em;
|
||||||
color: {{ page.color2 }};
|
color: {{ page.headercolor }};
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 a, h2 a, h3 a {
|
h1 a, h2 a, h3 a {
|
||||||
color: {{ page.color2 }};
|
color: {{ page.headercolor }};
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 3em;
|
font-size: 2.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 1.5em;
|
font-size: 2.1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 1.1em;
|
font-size: 1.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
p, ul, ol {
|
p, ul, ol {
|
||||||
|
@ -139,13 +145,13 @@ hr {
|
||||||
#page {
|
#page {
|
||||||
max-width: 800px;
|
max-width: 800px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background: #FFFFFF;
|
background: {{ page.pagebackground }};
|
||||||
padding: 0 1em;
|
padding: 0 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#header {
|
#header {
|
||||||
padding-bottom: 2px;
|
padding-bottom: 2px;
|
||||||
border-bottom: solid {{ page.color1 }} 1px;
|
border-bottom: solid {{ page.textcolor }} 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#header h2 {
|
#header h2 {
|
||||||
|
@ -165,84 +171,31 @@ hr {
|
||||||
}
|
}
|
||||||
|
|
||||||
.footnotes {
|
.footnotes {
|
||||||
border-top: dashed {{ page.color1 }} 1px;
|
border-top: dashed {{ page.textcolor }} 1px;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
margin-top: 2em;
|
margin-top: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
margin-left: 199px;
|
padding: 0 3em;
|
||||||
padding-top: 0;
|
|
||||||
padding-right: 15px;
|
|
||||||
padding-left: 15px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
min-height: 400px;
|
min-height: 400px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content h1 {
|
|
||||||
margin: 0;
|
|
||||||
padding-top: 10px;
|
|
||||||
padding-bottom: 5px;
|
|
||||||
text-align: left;
|
|
||||||
font-size: 24pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content h1,
|
.content h1,
|
||||||
.content h2,
|
.content h2,
|
||||||
.content h3 {
|
.content h3 {
|
||||||
margin-left: -30px;
|
margin-left: -3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content .entry_footer {
|
.content .entry_footer {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar {
|
|
||||||
float: left;
|
|
||||||
width: 150px;
|
|
||||||
padding-top: 30px;
|
|
||||||
padding-right: 10px;
|
|
||||||
padding-bottom: 0px;
|
|
||||||
padding-left: 10px;
|
|
||||||
text-align: left;
|
|
||||||
|
|
||||||
border-left: solid #A5A5AF 1px;
|
|
||||||
margin-left: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar ul {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
list-style: none;
|
|
||||||
font-size: 1.5em;
|
|
||||||
color: {{ page.color2 }};
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li {
|
|
||||||
padding-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li ul {
|
|
||||||
padding-top: 0.5em;
|
|
||||||
padding-left: 10px;
|
|
||||||
font-size: 0.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li li {
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li a { color: {{ page.linkcolor }}; }
|
|
||||||
.sidebar li li a { color: {{ page.color2 }}; }
|
|
||||||
|
|
||||||
.sidebar a:hover {
|
|
||||||
}
|
|
||||||
|
|
||||||
.clear { clear: both; }
|
.clear { clear: both; }
|
||||||
.clearright { clear: right; }
|
.clearright { clear: right; }
|
||||||
|
|
||||||
#footer {
|
#footer {
|
||||||
background: #FFFFFF;
|
|
||||||
padding: 0.5em 0;
|
padding: 0.5em 0;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
@ -250,7 +203,7 @@ hr {
|
||||||
#footer p {
|
#footer p {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 8pt;
|
font-size: 8pt;
|
||||||
color: {{ page.color2 }};
|
color: {{ page.linkcolor }};
|
||||||
}
|
}
|
||||||
|
|
||||||
div.sitemap_subcategory {
|
div.sitemap_subcategory {
|
||||||
|
@ -265,11 +218,6 @@ div.sitemap_subcategory {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pinkborder {
|
|
||||||
border: solid {{ page.color2 }} 1px;
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
img.sitelogo {
|
img.sitelogo {
|
||||||
float: left;
|
float: left;
|
||||||
margin: 15px;
|
margin: 15px;
|
||||||
|
@ -323,7 +271,7 @@ th, td {
|
||||||
|
|
||||||
th {
|
th {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
color: {{ page.color2 }};
|
color: {{ page.headercolor }};
|
||||||
text-align: right;
|
text-align: right;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
@ -352,11 +300,52 @@ td {
|
||||||
pre {
|
pre {
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
margin-top: 0.5em;
|
margin-top: 0.5em;
|
||||||
background-color: #eeeeee;
|
color: {{ page.codecolor }};
|
||||||
color: black;
|
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pre, code {
|
||||||
|
font-family: {{ page.codefonts }};
|
||||||
|
font-size: 110%;
|
||||||
|
}
|
||||||
|
|
||||||
sup {
|
sup {
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#page.frontpage blockquote h1,
|
||||||
|
#page.frontpage blockquote h2 {
|
||||||
|
text-align: center;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
color: {{ page.heroheadercolor }};
|
||||||
|
}
|
||||||
|
|
||||||
|
#page.frontpage blockquote h1 {
|
||||||
|
font-size: 5.6em;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-top: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page.frontpage blockquote h2 {
|
||||||
|
font-size: 2.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page.frontpage blockquote {
|
||||||
|
/* width: 75%; */
|
||||||
|
margin: 0 -2em;
|
||||||
|
background: {{ page.herobackground }};
|
||||||
|
color: {{ page.herotextcolor }};
|
||||||
|
padding: 1em 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.linkbuttons {
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 1em;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue